CN103853802B - 用于索引电子内容的装置和方法 - Google Patents
用于索引电子内容的装置和方法 Download PDFInfo
- Publication number
- CN103853802B CN103853802B CN201310245365.6A CN201310245365A CN103853802B CN 103853802 B CN103853802 B CN 103853802B CN 201310245365 A CN201310245365 A CN 201310245365A CN 103853802 B CN103853802 B CN 103853802B
- Authority
- CN
- China
- Prior art keywords
- attribute
- entry
- fragment
- index
- digital content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了将服务于操作移动和/或固定通信和移动装置的用户的电子内容进行索引的装置和方法。索引由多个分片组成,每个分片能够存储多个条目,并且每个条目代表一个内容项目。用代表内容项目的目标受众的属性/值的对的整数值来填充内容项目的索引条目。用代表用户的属性/值的对来类似地格式化针对标识用于服务特定用户的内容项目的查询或请求。然后,在任意或全部的分片内,可跨任意或全部的索引条目快速地执行查询。在分片内,可通过值或分数来对条目进行分类,并且可对单个条目内的整数分量进行分类,以促进与查询的快速比较。
Description
技术领域
本发明涉及计算机系统和数据处理。具体地,提供了用于有效地索引大量数据的方法和装置。
背景技术
提供电子内容的计算机系统和服务通常使用特定于被提供的内容的类型的索引来索引内容。因此,用于网络服务器的索引将被设计,并且被优化以定位和提供网页(例如,html文件),用于广告服务器的索引将被优化,以选择和提供广告(例如,图片),文件服务器可被优化以定位并提供文件等。针对一种类型的内容而设计的索引不能用于其它类型的内容。
专门的索引通常不允许同时读和写。因此,每当必须维护索引时(例如,添加或去除条目),全部索引可被暂时地锁定或离线,并且在维护中不能被用于定位和提供内容。根据用于写入的锁定时间,搜索可被延迟不可接收的时段。
另外,当索引中的条目包括必须被读、解析并且与一些目标参数相比较以确定那些索引条目相关的一些或全部语义内容(例如,以文本格式存在)时,扫描和搜索专门的索引可相对地慢。具体地,代表网页、广告、新闻故事或其他类型的项目的索引条目可包括项目的文本内容或关于该项目的元数据。当对索引执行查询时,文本内容或元数据必须与查询相比较,可涉及用于比较文本的相对慢的模式匹配算法的执行。
更进一步,用于提供仅一种类型的内容的专门的索引可能不被优化以首先发现最优或最有价值的内容。相反,这样的索引可被组织,以使全部索引可能需要被搜索,以确保最有价值的内容被定位。
发明内容
在本发明的一些实施方式中,提供了用于通过电子系统(例如,在线服务)有效地索引将用于用户的内容的方法和装置。服务可包括社交网络服务、网络服务、门户和/或其它类型的服务,并且内容可为多种类型(例如,广告、简历、更新状态、招聘启事)。
在这些实施方式中,索引由多个“分片(slice)”组成,每个被格式化成包括多个索引条目,每个条目对应于内容的项目。在其它分片持续被读取并用于标识或选择内容以被提供的同时,一个分片可经维护(例如,添加新条目、改变或去除条目)。
用于特定内容项目的条目包括列表、数组或代表内容项目的属性或特性的整数值的其它集。每个唯一的整数针对属性(例如,年龄、性别、位置)和对应值(例如,21~25,女性,北加利福尼亚)而映射到唯一的名称/值对。
相似地,针对内容的查询或请求的目标属性或特性被格式化为整数。因此,当应用查询于索引时,它的整数值可与索引条目的整数值迅速比较。然后,对应于匹配索引条目的内容项目可被排序,以减小结果的数目(如果必要的话),并且获得提供的内容项目。
在本发明的一些实施方式中,在每个条目内,排列代表对应于内容项目的属性的整数,以便应用查询时,代表最有区别的属性(匹配的可能性最小的属性)的整数首先被扫描。因此,如果给定条目的内容项目与查询的项目不相匹配,则将迅速地检测到不匹配,并且查询可跳到下一个条目。
此外,在分片内,索引条目可根据它们对应于内容项目的值被排序。在一些实施方式中,内容项目的值反映当提供内容项目时被系统获得的收益(或预计获得)、内容项目的观察到的或估计的性能(例如,用户作用于内容项目的频率)和/或对有效性的其它测量。
附图说明
图1为描绘根据本发明的一些实施方式的用于索引电子内容的装置的框图。
图2为描绘根据本发明的一些实施方式的用于索引电子内容的装置的框图。
图3为说明根据本发明的一些实施方式维护电子内容的索引的方法的流程图。
图4为说明根据本发明的一些实施方式使用电子内容的索引的方法的流程图。
图5为根据本发明的一些实施方式用于索引电子内容的系统。
具体实施方式
呈现下面的说明以使本领域技术人员能够做出和使用本发明。对公开的实施方式的各种修改对被本领域技术人员来说是很显然的,并且文中定义的一般原理可应用于其它实施方式和应用,而不背离本发明的范围。因此,本发明不旨在限于显示的实施方式。
在本发明的一些实施方式中,提供了用于索引电子内容的方法和装置。内容可为用于通过浏览器、应用程序或其它用户界面呈现的任何类型的格式化的电子数据。索引的内容可包括单独呈现的完整构成,例如网页、文档或视频,或可为可作为网页或其它成分呈现的组分,例如广告、招聘启事、通知、更新状态、新闻、文档、体育信息、图像、视频等。简言之,本发明的实施方式中索引的电子内容项目可包括可在通信装置或计算机装置上呈现给用户的任何类型的内容。
因为文中提供的索引可包括多种类型的内容,每种类型不必需单独地索引。本发明的实施方式实现可为事实上提供数据的任何在线服务的一部分,无论是社交网络服务、网页服务器、门户网站、收缩引擎等。内容可在一个或多个计算机系统的集合上索引,并且可呈现给操作便携式和/或固定设备的用户。
引言
在提供用于呈现给用户的电子内容的系统中,关于内容项目提供给的目标用户的一些信息经常作为查询或内容请求的一部分提供。例如,当社交网络服务的用户连接至服务网站并导航到网页时,网络浏览器或其它显示引擎可生成对网站操作的数据服务的查询,以标识和/或获得呈现给用户的内容。内容查询可包括或伴随一个或多个用户的属性或特性(例如,性别、年龄、位置、就业状况)。
相似地,已经被存储并将提供给电子服务和应用的用户的内容项目可具有标识内容项目的目标受众的相关联属性。例如,设计用于促进特定商品的销售的广告、或关于新的职位空缺的招聘启示,用与标识项目应被呈现给的用户类型的信息(例如性别、年龄、位置、就业状态)来接收。
响应于对将提供特定用户的内容的查询或请求,通过比较用户已知的属性与存储的内容项目的目标受众的记录的属性,数据服务器搜索合适的内容。标识一些数目的合适内容项目,并且为呈现给用户而传送。
用于促进电子内容的提供的索引
在本发明的一些实施方式中,用于表征内容项目和/或为表征内容项目的目标受众的属性作为整数(或整数标记)而非文本存储在索引中。例如,可用于选择针对提供给目标用户的内容项目的一个属性为年龄,并且内容项目的提供者可指定内容项目目标的人的年龄(或年龄范围)。当索引内容项目时,在索引中的内容条目中,存储特定的整数以表明年龄(或年龄范围)。
因此,如果内容项目为针对年龄在21和25之间的人的广告,则年龄属性可存储为第一整数,例如“2045”。对于针对年龄在46和50之间的人的另一个内容项目,年龄属性可存储为第二整数,例如“8749”。另一个整数,例如“8”可代表具有“求职者”的值的“目的”属性,并且可在对应于提供者希望提供给找工作的人的内容项目的条目存储器储。
这些实施方式中,索引中的内容项目的条目包括任何数目的代表具体的属性和针对这些属性的值的名字/值的对的整数。在一些实施中,每个独特的属性/值的对映射到独特的整数,并且反之亦然,这意味着在索引条目中给定的整数仅相当于具有一个特定值的具体的属性。
然而,在本发明的其它实施方式中,给定的整数对于特定类型的内容(例如广告、订购计划、状态更新、新闻动态)可以是唯一。在这些实施方式中,存储在内容项目的条目中的具体整数的意义依赖于内容项目的类型,并且在针对两个不同类型的内容项目的索引条目中发现的相同整数可以或不可以映射到相同的属性/值的对。
在本发明的一些实施方式中,整数可代表多个属性和它们相关联的值。例如,如“24”的整数可代表在26至30的范围内的年龄,与具有“北加利福尼亚”值的地理位置属性组合。同样,整数可表示负的或“否”的值。例如,整数“19452”可相当于目标用户的行业,值为“非农业”的情况下,具有这个值的条目将与针对目标产业为非农业的内容项目的查询相匹配。
通过使用在文中说明的发明的实施方式中提供的用于编码属性的基于整数的方案,索引条目可被非常快速地检索,以发现适合于具有针对这些属性的特定值的目标用户的内容项目。当接收用户的特征时(例如,他的年龄、他的地理区域、它的在线服务中的状态),它们被转变成相应的整数(如果没有被这样接收),并且一些或所有的索引条目可被快速地扫描匹配的整数。
因为搜索主要或仅包括比较整数–一组整数代表目标用户的属性/值的对,与索引的条目内发现的并且代表对应的内容项目的属性/值的对的整数的集–它可被完成,而不需要与语义满载(semantic-laden)的文本检索相关联的费用。换句话说,彼此比较整数值本身比针对文本字符的特定方式来解析和搜索文本更简单和更快。
图1为根据本发明的一些实施方式的用于索引电子内容项目的装置图。在这些实施方式中,存储器102为单个计算装置(例如计算机服务器)的固态存储器(例如随机访问存储器或RAM),虽然它的一些或全部内容可跨多个系统被复制)。
在存储器102内,索引104包括多个分片110(即分片110a~110m),每个存储索引104的全部索引条目的子集。当填充时,分片中的每个条目114(例如,分片110b的条目114b-1至114b-n)输入时,相当于一个内容项目。内容项目可存储在存储器102为其一部分的相同的装置上,或在一个或多个不同的装置上。
虽然图1中每个分片110描述为具有相同数目的条目114,这在全部的实施方式中并不必要。不同的分片能够储存不同数目的条目。
在一些实施方式中,新的内容项(或内容项目的一些分片)以某些方式被散列(hash),以标识项目将被存储的分片。相同类型的内容项目(例如,广告、招聘启事)可映射到相同的分片或不同的分片,并且相似地,涉及相同事物(例如,产品、服务、人、公司)的内容项目可映射到相同的分片或不同的分片。
每个分片包括元数据112(例如,对于分片110b的元数据112b)。如展开图显示,分片110a的元数据112a包括分片标识符150a、锁152a和状态154a。标识符150唯一地标识分片110a,而锁152a被阅读器和作者实体使用,以便如果需要则锁住分片。
分片110a的元数据112a的状态154a提供状态信息,其可包括关于分片是在线(可被搜索)或离线(不能用于新的搜素)的指示,可指示或标识自由(或不自由)的条目,可标识分片中的数个条目等。说明地,当它被维护时,可使分片离线线(如下说明)。在填充的条目向分片之前装入的实现中,状态154a可标识分片110a中第一个自由的条目,并且当存储新的条目并清空旧的条目时,可更新这个指针或参考。
如在分片110m的说明性条目114m-1中所示,并如上述,条目可包括代表对应于条目的内容项目的目标受众的属性的整数的集。因此,条目114m-1的整数的数组中所列出的每个整数可映射到唯一的属性/值的对。
在本发明的示例性实施方式中,索引104可具有大约10个分片,并且每个分片可存储大约100,000个整数,每个的长度可为16位、32位、64位或一些其它长度。为了维护索引的目的(下面说明),索引104和存储器102可包括另外的或备用的分片,或者说明的分片的一个可用作备用。
图2为根据本发明的一些实施方式的用于索引电子内容的装置的图。在这些实施方式中,索引可增加至容纳几十万个条目,而仍为事实上的每次内容请求和查询提供令人满意的执行(例如最快存取)。
在这些实施方式中,与图1中的反映的实施方式相似,存储器202存储索引204,包括多个分片210,并且每个分片包括元数据212和多个条目214。然而,在图2的实施方式中,如条目214a-1的展开图例示,条目可结构上不同。
条目214a-1包括条目元数据250a-1,起存储关于对应于条目214a-1并在下面进一步说明的内容项目的信息。元数据250a-1不需要被存储在条目的前面。
在图2反映的发明的实施方式中,对应于条目214的内容项目的属性存储为析取的结合。析取的结合可逻辑地表示为:
(X0∨X1)∧(X2∨X3)∧...∧(Xy∨Xz)
每个析取(disjunction)由一个或多个被OR运算符(∨)连接的项(Xn),全部的析取被AND运算符(∧)连接,并在在结合中可有一个或多个析取。每个析取表示为计数字段260及一个或多个整数字段262。计数字段260标识析取中项目的数目(即整数的数目),并且对应的整数字段存储析取的整数项。
条目214a-1中显示的三个析取的结合可文本地表示为:
(2045)AND(59 OR 74)AND(873402 OR 193)
用说明的属性/它们可表示的值的对替换整数,这个析取的结合可相当于它的目标受众包括人的内容项目,所述人:
21至25之间的年龄[2045];和
在通信产业工作[59]OR在信息技术产业工作[74];和
居住在北加利福尼亚[193]OR居住在马萨诸塞州的波士顿[873402]。
单个析取中的项不需要对应于相同的属性。例如,析取(59 OR 74)可替代地映射属性/值,例如婚姻状态=已婚[59]OR教育=学士学位[74]。
已知关于一个人或可用于说明内容项目的目标,及对于特定的人(例如在线服务的用户)或特定的内容项目(例如对于软件工程师的工作招聘)的任何属性或特征可表示为或存储为整数。用于映射属性/值的对到整数及反之的数据库、表格或其它数据结构可在与文中说明的索引相同的存储器中维护,或可存储在别处。
因为它们标识内容项目的目标,条目214a-1的填充计数字段260和整数字段262可共同指目标数据或条目的目标分片或对应的内容分片的目标分片。
条目的元数据分段(例如,条目214a-1的条目元数据250a-1)可存储信息,例如但不限于:对应于条目214a-1的内容项目的标识符、内容项目的存储位置、内容项目的类型(例如广告、招聘启事、视频、状态通知)、内容项目的分数(或等级、值或有效性的其它测量)、条目中析取的数目、用于服务内容项目的预算(例如,针对时段的预算、针对时段的剩余的未使用的预算)等。
内容项目的分数、等级或内容项目的性能或有效性的其它测量可表明提供项目的频率及它有多成功(例如,接收内容项目的用户作用于它的频率),对于提供内容项目的系统或服务器的价值等。分数可涵盖项目的所有服务,这意味着它可表明相对于全部这些服务,不考虑不同类型的用户(例如具有不同属性值的用户),用户作用于项目的次数。
另外,或替代地,对应于一个或多个类型用户的分数或等级可存储在元数据250a-1中或其它地方。例如,关于共享共同属性的单个用户和/或用户的组的内容项目等级可储存在相同的计算机系统或不同的计算机系统中。
因此,可快速地确定给定的内容项目相对于它服务的所有类型用户,和/或具有特定属性的用户的有效性。说明地,可为所有相关的整数–即与至少一个内容项目服务的用户的每个整数(即每个属性/值的对)相匹配而维持有效性的测量,可追踪内容项目的性能。
在本发明的一些实施方式中,当针对索引204执行查询时,内容项目的分数或有效性的测量可用于排列或过滤所标识的内容项目。查询的执行可产生许多个(例如数百、数千)相匹配的内容项目,但是通过考虑这些项目(和/或其它信息)的分数,可标识最高的X个(例如一个、三个)内容项目,它们可为基于项目的历史性能,最可能对目标用户的部分引起行动的那些。
条目元数据250a-1中的一些或全部元数据可表示为整数,如同处理条目的剩余分片的信息。具体地,作为查询执行的一部分的需要被搜索的元数据(例如,内容项目标识符、内容项目类型、针对内容项目的剩余预算、分数)可存储为整数。一个特定的证据可跨条目的条目元数据字段和整数字段,或者用在条目元数据字段的整数可映射到不同于条目的目标分片的整数的名称/值的对的集合。
同样显示在图2中的为队列220。队列220接收并存储对索引204的更新,其可包括新的条目(或针对新的条目必须被生成的新的内容项目)、对现有条目的更新(例如修改的目标数据、更新的预算信息)、删除或抑制条目的指示(例如,因为它的内容项目已经失效、因为它的内容项目应暂时地不提供)、和/或对索引的其他改变。如下面说明,在单个分片维护的过程中,可应用更新。
索引204和一个或多个队列220及可能其它数据结构(例如,一个或多个将整数映射到属性/值的对的表)可驻留在一个计算机系统的存储器内,从而促进索引的快速操作。然而,为提供分布处理、负载均衡、冗余度和/或其它益处,这些结构可跨不同的计算机系统而被复制,.
在本发明的一些实施方式中,除了使用整数来表示属性/值的对以外,可使用另外的优化用于索引。一个这样的优化涉及排序条目的整数标记,以使这些代表最具区别或最窄的属性,或者这些代表最不可能匹配查询的属性,首先被列出(或扫描)。
通过该优化,当接收到针对内容的内容查询或请求时,为了匹配条目,代表目标受众的整数被用于搜索索引,对每个条目的扫描将开始于最不可能与查询相匹配的整数。因此,一旦因为索引条目包括与查询相矛盾的整数(属性/值的对)而比对失败,对条目的扫描可呗终止,并且搜索可移到下一条条目。
换句话说,如果确定了特定组的属性提供了最有效或最快的靶定(targeting),代表这些属性的整数可放置索引条目内,以使当搜索提供给用户的内容项目时,它们首先被扫描。代表可能匹配许多查询(例如语言=英语)的属性的整数可被放在接近索引条目的末端,因为它们最不可能提供不同内容项目之间的有意义的差异,并且更可能匹配许多查询。
在内容项目的属性存储为析取的结合(例如,如图2中显示)的本发明的实施方式中,析取由一个计数字段和一个或多个整数字段表示。在应用关于排列条目的整数标记的这个优化中,根据它们的项与针对内容的请求相匹配的项的特异性、广度或可能性,来对条目的析取进行排序。析取可以以它们与未来的查询相匹配的可能性相反的顺序布置。当针对包括析取的结合的条目执行查询时,并且特别是如果查询的属性表达为析取的结合,一旦发现析取与查询矛盾,则可跳过剩余的条目。
条目的目标数据(即整数标记)存储的方式可依赖于条目所代表的内容项目的类型。具体地,对于一种类型的内容(例如广告),属性的一个集可尤其有区别,但较小地可能与未来的查询相匹配,因而可被放置在目标分片之前。对于另一个类型的内容(例如,招聘广告),不同的属性集可能更有区别,等等。条目所表的内容的类型可在条目的元数据字段和/或其它地方被标识。
可应用在本发明的一些实施方式中的另一个优化包括:在分片内排序索引条目。具体地,可根据它们对应内容项目的值存储条目到提供内容项目的系统或服务器。例如,对于由广告或其它支付系统以提供的其它发起的内容组成的内容项目(例如,招聘启事、公司通告、更新状态),对于这些可产生做多收益(或估计产生最多收益)的项目的索引条目可比其它条目在索引中放置的更早。
在本发明的一些实施方式中,在预定的时段(例如25毫秒)后,可默认终止索引分片的搜索,即使不是索引中全部的条目被检索也如此。在那个时间中,只有对应于所发现的匹配条目的内容项目被考虑用于提供。这允许系统迅速地标识和提供内容项目,具有从接收到对内容项目的请求的时间的最少延迟。通过根据内容项目的价值在分片内组织索引条目,系统还可促进高收益。
图3为示出了根据本发明的一些实施方式维护提供电子项目的索引的方法的流程图。说明的方法可应用于索引,例如图2的索引204和/或图1的索引104。
操作302中,接收和队列对索引的更新。说明地,执行索引的计算机系统存储器可宿主用于存储更新的一个或多个队列。对索引的更新可为存储新接收的内容项目的新的索引条目,对现有的索引条目的目标属性的修改(例如,因为对应内容项目的提供者重新定义了目标受众)、用于在分片中排列索引条目的指令或标准和/或对索引的其它变化。
操作304中,开始维护周期。在一些实施方式中,以定期的基础(例如每数秒、每数分钟)开始新的周期。开始维护周期越频繁,每个周期用于执行的时间越少,并且,如果有的话,对内容提供过程的中断更短。例如,如果每7秒钟开始新的周期,则整个循环可以以一秒钟(或更少)的数量级持续。
操作306中,标记或标签索引的一个分片为离线。说明地,可设置在分片中的元数据分片中的标志(例如图1的索引104的分片110a的元数据112a的状态字段154a)。当设置这个标志时,没有更多的阅读实体(reader entity)能够开始读取分片。阅读实体为响应于对内容的查询或请求而读取分片的进程(或其它代码块),以发现相应的内容项目关于或响应于查询的索引条目。进程中已经有的读入操作不需要被中止,但是新的一个操作将开始。
操作308中,分片的内容被拷贝到备用的分片(例如用时间点拷贝操作)。在一些实现中,索引包括一些数目(例如,10个)的活动分片,并且一个或多个备用的分片用于协助索引的维护。
操作310中,从更新的对列接收影响现在的分片的更新,并应用于拷贝。对于修改现有条目的更新(例如,改变目标、更新内容项目分数或有效性的测量、调节项目的预算),定位受影响的条目并相应地改变。清除将被去除的条目(例如,因为对应的内容项目已经被清除)。
一些更新可包括将存储在分片中的新的条目。在一些实施中,可在完全形成的排列中(即易于写入分片)接收新的条目。在其它实现中,可需要一些处理以从需要产生新的条目的更新中产生条目。
例如,可接收新的内容项目或关于新的内容项目的信息,其包括对它的目标受众的定义。可文本地表述目标数据,并且需要转变成用于存储在条目的目标分片中的相应的整数,并且如果合适,可能需要元数据的分片(例如每天预算、分数、内容项目标识符)转变成整数,用于在条目的元数据字段存储。
其它类型的更新可包括对分片的条目进行分类或排序,和/或对一个或多个条目的目标分片的内容进行排序或重排序。在一些实施中,可在操作310的结束自动存储分片的条目(根据默认或具体的标准),压缩它们,放在分片最有价值的顶部等。
操作312中,分片拷贝被联机,设定它的身份以与操作306中离线的分片相匹配。分片原来为备用,并且接收到被维护分片的拷贝内容,因而代替离线的分片。
分片上线后,维护周期可暂停(例如,需要读分片的时间的平均长度的1倍或两倍),以使任何正读分片的阅读实体离线时有时间完成他们的操作。操作306中离线的分片可用作用于索引的下一个分片的维护的备用的分片,因而有利地确保在离线分片用于维持另一个分片前,读者已经完成他们的搜索。
操作314中,确定在目前的维护循环中是否全部的分片已经被维护。如果如此,说明的方法终止。否则,方法返回操作306以选择将被维护的下一个分片。
应注意,贯穿它的操作和维护可持续地接收和查询对索引的更新。图3的操作302不意味着表明只在某些时间接受或接收更新。在本发明的一些实施方式中,在索引维护中,全部对索引的更新存储在一个排列中,以等待应用。在其它一些实施方式中,可使用多个对列,例如对于每个分片一个对列。
在一些实施方式中,当在使用索引的内容提供系统上接收更新时,与更新相关联的内容项目(或正被递送内容项目与更新)散列,以标识它应存储的分片。当通过更新修改内容项目时,这可能或不可能引起它被移动到不同的分片(例如,通过在更新的排列中放置合适的条目)。在其它实施中,索引中内容项目的对应条目从它第一次被索引直到去除存在于相同的分片中为止。
图4为示出了根据本发明的一些实施方式的用文中提供的索引提供内容的方法的流程图。
在发明的说明的实施方式中可被提供的内容项目包括通过便携的或固定的通信或计算装置(例如智能手机、平板电脑、笔记本电脑、台式机),在浏览器或其它程序中,可电子地提供给用户的内容。可为提供而被索引的内容项目的说明的类型包括但不限于:广告、订阅订单(例如订阅提高的对系统和服务器的使用权)、更新状态(例如关于个人、产品、公司、其它组织)、工作公告或招聘启事、简历、用户预置文件或用户预置文件的成分等。
在图4反映的发明的实施方式中,内容项目而非单个内容项目的活动(活动)被索引。每个活动涉及一个产品、服务或其它事物,及许多涵盖任何数目的相关的内容项目(即一个或多个)。例如,关于新的笔记本电脑的活动可涉及任意数目的产品的广告,每个内容项目以不同的图形或创造性为特征;关于职位空缺的活动可涉及对于职位的多个通告,每个内容项目以不同的形式通告工作。指定的发起人可提交任何数目的具有相同或不同主题或重点的活动。使用单一索引而索引涵盖不同类型内容项目的活动。
每个活动具有可用属性和对应值来标识的目标受众。可用于限定它的一个或多个目标的为活动或内容项目来源的说明性的属性可包括当不限于:年龄、性别、个人工作的产业、雇主、教育水平、一个或多个教育机构、居住的地理区域、工作的地理区域、工作头衔、工作说明、职衔、资历、工龄、收入、婚姻状态、工作状态(例如失业、寻找)、技能、业绩、资格、证书、组织中的身份、宗教、政治立场和更多。
如上述,这些属性/值的对被转变成用在活动查询(或针对活动的查询)中的唯一的整数,以标识请求的活动的内容项目将呈现给的目标用户。整数还可用在表示单个活动的索引条目中,以表示这些活动的目标受众。
操作402中,接收并索引活动。可使用如上述的索引或相似的结构。对应于索引的活动的内容项目可存储在与索引相同的系统或机器上,或另一个系统或机器上。
执行说明的方法的系统或服务器可涵盖或操作与索引响应于请求活动并提供内容项目相关联的全部计算装置,或替代地,仅仅包括在索引活动中的装置。
操作404中,在索引系统接收对一个或多个活动的请求或查询。为了描述本发明说明的方法的目的,术语“请求”和“查询”可交换地使用。
在一些实施方式中,操作索引的系统或服务器执行说明的方法,但是不维护或提供相关的内容项目(即,响应于请求,通过索引系统标识与活动相关的内容项目)。在这些实施中,索引系统仅仅接收对匹配具体组的属性/值的对的活动的请求,如上述可表述为整数或转变成整数,并返回零个或更多活动(或零个或更多活动的标识符)。
在这些实施方式中对索引系统的请求可来自聚合器、内容服务器、网络服务器或接收对内容项目的请求以提供个用户的其它实体(例如,从在用户操作装置上执行的网页浏览器和应用程序)。虽然索引系统独立于内容提供系统运转,但是它们可被共同的实体管理或操作。索引系统和内容提供系统的硬件实体(例如计算机系统)和/或软件实体(例如计算机程序模块)可完全分离或重叠至某种程度。
在其它实施中,索引系统和内容提供系统可共存,或一个是另一个的一部分。在这些实施中,组合的系统从网站、门户、应用、网页浏览器、通信服务供应商或将从系统接收响应的内容项目并将它们提供给用户的其它实体,接收对一些数目的内容项目的请求。
例如,当用户连接至社交网站时,网站的一个页面将开始装载到用户的装置。作为组成网页的一部分,一些数目(例如3个)的内容项目需要在网页内呈现,因此对3个内容项目的请求被发布给组合的系统,并且组合的系统查询索引系统以标识合适的活动。由标识的活动,三个内容项目将由组合的系统提供,用于呈现给目标用户。
操作406中,请求的结果提供给的目标用户的属性将被提供并从查询提取。如果没有已经为整数形式,使用被索引系统或发出对索引系统(例如内容提供系统)的请求的实体维护的映射表或其它数据结构,转变属性成它的整数当量。
当在内容提供系统上或组合的内容提供系统与索引系统上接收内容请求时,它可包括提供的内容项目将呈现给的目标用户的一个或多个属性。内容请求还可包括关于内容项目将在其中呈现的页、框架或其它构造的信息。这样的信息可表明页或网站(例如社交网络服务、搜索引擎、职业运动队的网站、就业招聘员)的性质、将被呈现在页(例如招聘启事、新闻文章)中的其它内容的特性、和/或内容项目将在其中呈现的页或网站的其它属性。
一些或全部目标用户和/或内容项目将在其中呈现的环境的属性可以整数的形式接收,或一旦接到请求即可被转变成整数形式。属性/值的对的这些整数表示的若干或全部可用于搜索索引。
在操作408中,优选以整数形式将查询的属性提供给设置读取索引的分片的阅读实体。阅读实体可被配置为搜索分片的条目的硬件或软件模块,以发现针对查询的匹配。一个阅读器可连接至具体的分片,或可维护阅读者的池,以用于读任何分片中。
操作410中,在每个在线的分片,启动计时器,并且至少一个阅读器开始扫描分片,以发现具有匹配查询的那些分片的属性的条目。当针对查询的属性搜索每个条目时,一旦遇到与查询的属性矛盾的整数标记,搜索前进到下一个条目。
操作412中,当到达临界的持续时间(例如25毫米)时,只要它标识临界数目的条目(例如10个),则终止每个分片的搜索。如果在时间临界点还未标识临界数目的条目,继续搜索直至(a)全部的条目被搜索,(b)已经标识临界数目的条目或(c)达到第二个时间临界点。对于每个标识的条目,标识相应的活动和/或它的存储位置(例如从条目的元数据字段)。
可以注意到,可忽略搜索中针对索引开始执行查询的同时离线的分片。因为在维护周期中一次只有一个分片离线,由于它们的分片离线而未搜索的活动的数目可保持最小。同样,如上述,迅速地进行单个分片的维护。并且在标记分片离线前开始的任何搜索能够正常完成。
在操作414中,返回搜索分片的结果。结果可包括活动(或活动的标识符)的集,并且可被索引系统或提交对索引系统的请求的实体集合。
在本发明的一些实施方式中,排列或过滤搜索的结果以减少匹配的数目。例如,可基于活动(例如,在相应的条目的元数据中记录)的分数、有效性的测量(例如关于全部用户或关于匹配目标用户的属性的全部用户)等,来对结果进行排序。
图5为根据本发明的一些实施方式用于索引电子内容的系统框图。
图5的索引系统500包括一个或多个处理器502、存储器504及可包括一个或多个光存储组件和/或磁存储元件的贮存器506。索引系统500可被(长久地或短暂地)耦合至键盘512、定点设备514和显示器516。
存储器504存储一个或多个电子内容的索引;内容可存储在索引系统500上,并由索引系统500提供,或可存储在一个或多个连接至索引系统500的其它系统上并由它提供。
索引系统的贮存器506存储可装载入存储器504并用于被处理器502执行的逻辑。这样的逻辑包括属性/整数转化逻辑522、阅读逻辑524、维护逻辑526以及可选择地内容项目/活动528。在本发明的其它实施方式中,如期望,这些逻辑模块或其它内容的任意或全部可被组合或分开,以聚合或分离它们的功能。
属性/整数转化逻辑522包括用于(例如目标受众的、目标用户的)属性/值的对与对应的整数标记之间映射的处理器可执行的指令。逻辑522可包括或伴随一个或多个用于指定的整数和它的对应的属性/值的对之间映射的表或索引。
阅读逻辑524包括用于搜索索引条目以发现匹配查询的处理器可执行指令。因此,逻辑524可被设计,以执行查询的整数标记和存储在索引条目中的整数标记之间的比较。
维护逻辑526包括用于更新维护存储在存储器504中的索引的处理器可执行指令。具体地,逻辑526将针对索引应用排列的更新,并依次维护多个分片的每个分片。如前面说明,更新索引可包括去除条目、更新元数据和/或条目的目标数据、以及将新的条目写入到索引中。
内容项目和活动528包括内容项目和/或活动说明。如果他们未存储在系统500上,则可存储在耦合至索引系统500的系统上。
本发明的一些实施方式执行的环境可包括通用计算机或专用设备,例如掌上型电脑或通信装置。为清楚起见,这样装置(例如处理器、存储器、数据贮存器、显示器)的详情被省略。
本详细的说明书中所描述的数据结构和编码通常存储在可存储被计算机系统使用的编目和/或数据的任何装置或介质的非暂时性的计算机可读存储介质上。非暂时性的计算机可读存储介质包括但不限于非易失性存储器、非易失性存储器、磁的和光存储装置,例如磁盘驱动器、磁带、CD(光盘)、DVD(数字式激光视盘或数字视频光盘)或其它现在已知或后来开发的非暂时性的计算机可读存储介质。
在详细的说明书中所描述的方法和进程可体现为可存储在如上的非暂时性的计算机可读存储介质中的代码和/或数据。当处理器或计算机系统读取和执行存储在介质上的代码和/或数据时,处理器或计算机系统执行为体现为数据结构和编码并存储在介质内的方法和进程。
此外,下面说明的方法和进程可被包括在硬件模块中。例如,硬件模块可包括,但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)和其它现在已知或后来开发的可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块中的方法和进程。
提出本发明实施方式的上述说明仅用于说明和描述的目的。它们不旨在穷尽或限制本发明为公开的形式。因此,许多修改和变化对本领域普通技术人员来说是显然的。本发明的范围由所附权利要求限定,而非前述公开所限定。
Claims (19)
1.一种操作内容索引的方法,所述方法包括:
对计算机系统存储器中的多个电子内容的集合进行索引,其中,通过在所述索引中存储对应的条目来索引每个电子内容的集合,所述条目包括:
与所述电子内容的集合相关的元数据;以及
一个或多个整数标记,每个整数标记代表所述电子内容的集合的目标受众的属性和所述属性的对应值;
接收针对将用于目标用户的内容的请求,所述目标用户具有属性的集合和对应值;
搜索所述索引中包括整数标记的条目,所述整数标记代表所述属性的集合的子集和所述目标受众的对应值;以及
响应于针对内容的所述请求,传送一个或多个电子内容的集合的身份,所述一个或多个电子内容的集合具有与所述属性的集合的子集和所述目标用户的对应值相匹配的属性和对应值。
2.根据权利要求1所述的方法,其中,所述索引包括:
接收将有选择地用于目标用户的第一电子内容的集合;
接收所述第一电子内容的集合的目标受众的第一属性集合和所述属性的对应值;
将所述第一属性集合中的每个属性和所述对应值映射到整数标记,以产生代表所述第一电子内容的集合的目标受众的整数标记的集合;
对所述第一电子内容的集合进行散列运算,以生成所述索引的第一分片的标识符,其中,所述索引包括多个分片;
将第一条目写入到所述第一分片,以代表所述第一电子内容的集合,其中,所述第一条目包括所述整数标记的集合。
3.根据权利要求2所述的方法,在将所述第一条目写入到所述第一分片后,还包括:
分析来自所述第一电子内容的集合的多个服务的反馈,以计算所述第一电子内容的集合的分数;以及
根据它们的分数,对包括所述第一条目的所述第一分片的条目进行排序。
4.根据权利要求3所述的方法,其中,所述分数代表所述第一电子内容的集合的货币值。
5.根据权利要求3所述的方法,其中,所述分数代表所述第一电子内容的集合的性能。
6.根据权利要求2所述的方法,在将所述第一条目写入到所述第一分片后,还包括:
使所述第一分片离线,其中,在离线后,在所述第一分片上不会发起新的读入;
当所述第一分片离线时,在所述多个分片中的其它分片上发起新的读入;
在所述第一分片离线时,维护所述第一分片;以及
在所述维护后,使得所述第一分片在线。
7.根据权利要求1所述的方法,对于所述索引中的一个或多个条目,还包括:
对所述条目的所述整数标记进行排序,使得以由所述多个整数标记所代表的所述属性和对应值将与针对内容的未知的将来请求的目标用户的属性集合和对应值的概率逆序来存储整数标记。
8.根据权利要求1所述的方法,其中:
所述多个电子内容的集合中的每个电子内容为活动;以及
每个活动包括一个或多个可服务的内容项目。
9.根据权利要求1所述的方法,其中,所述多个电子内容的集合中的每个电子内容包括一个可服务的内容项目。
10.一种操作内容索引的装置,所述装置被配置为:
对计算机系统存储器中的多个电子内容的集合进行索引,其中,通过在所述索引中存储对应的条目来索引每个电子内容的集合,所述条目包括:
与所述电子内容的集合相关的元数据;以及
一个或多个整数标记,每个整数标记代表所述电子内容的集合的目标受众的属性和所述属性的对应值;
接收针对将用于目标用户的内容的请求,所述目标用户具有一组属性和对应值;
搜索所述索引中包括整数标记的条目,所述整数标记代表所述属性的集合的子集和所述目标受众的对应值;以及
响应于针对内容的所述请求,传送一个或多个电子内容的集合的身份,所述一个或多个电子内容的集合具有与所述属性的集合的子集和所述目标用户的对应值相匹配的属性和对应值。
11.一种计算装置,包括用于响应于内容请求项目而对用于服务的电子内容项目进行索引的数据结构,所述数据结构包括:
多个独立的分片,每个分片包括:
元数据,用于:
标识所述分片;以及
控制对所述分片的访问;以及
多个条目,每个条目对应于电子内容的项目,并且包括:
与所述对应的项目有关的元数据;以及
多个整数标记,每个整数标记代表所述电子内容的项目的目标受众的属性和所述属性的值。
12.根据权利要求11所述的装置,其中:
根据它们的电子内容的对应项目的值,以从高位值到低位值的次序,对给定的分片的多个条目进行排序;以及
高位值条目对应于当服务时比对应于低位值条目的电子内容的项目产生更多收益的电子内容的项目。
13.根据权利要求11所述的装置,其中:
根据由所述多个整数标记所代表的所述属性和属性值将与针对所述数据结构执行的未知的将来查询的属性和属性值相匹配的概率的逆序,来对给定条目的所述多个整数标记进行排序。
14.根据权利要求11所述的装置,其中,所述数据结构还包括:
所述多个整数标记到由所述整数标记所代表的所述属性和属性值的映射。
15.根据权利要求11所述的装置,其中,所述数据结构还包括:
用于存储对于所述数据结构的更新的队列。
16.根据权利要求11所述的装置,其中,当其它分片保持在线时,给定的分片能被置为离线。
17.一种用于操作内容索引的系统,所述系统包括:
存储器,包括:
电子内容的索引,其中,所述索引中的每个条目:
对应于电子内容的集合;以及
包括整数标记的集合,所述整数标记的集合代表所述电子内容的集合的目标受众的属性和所述属性的对应值;以及
用于存储对于所述索引的更新的队列;
将所述更新存储至所述索引的队列;
其中,所述索引包括多个独立的分片,每个分片包括多个索引条目;以及
阅读器逻辑,用于响应于针对内容的请求,搜索所述索引中的具有与目标用户相匹配的目标受众的条目,所请求的内容将被呈现给所述目标用户。
18.根据权利要求17所述的系统,还包括:
整数标记到由所述整数标记所代表的所述属性和值的映射;以及
维护逻辑,用于周期性地更新所述索引,其中,对所述索引的每个周期性更新包括一次使所述多个分片中的一个分片离线。
19.根据权利要求17所述的系统,还包括:
贮存设备,用于存储经索引的电子内容;以及
服务软件,被配置为将所述电子内容服务于目标用户。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/705,115 | 2012-12-04 | ||
US13/705,115 US20140156668A1 (en) | 2012-12-04 | 2012-12-04 | Apparatus and method for indexing electronic content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103853802A CN103853802A (zh) | 2014-06-11 |
CN103853802B true CN103853802B (zh) | 2018-07-31 |
Family
ID=48699535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310245365.6A Expired - Fee Related CN103853802B (zh) | 2012-12-04 | 2013-06-17 | 用于索引电子内容的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140156668A1 (zh) |
EP (1) | EP2741220A1 (zh) |
CN (1) | CN103853802B (zh) |
BR (1) | BR102013016901A2 (zh) |
DE (1) | DE202013005812U1 (zh) |
WO (1) | WO2014088636A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649607B2 (en) * | 2012-12-28 | 2020-05-12 | Facebook, Inc. | Re-ranking story content |
US9135318B2 (en) * | 2013-08-20 | 2015-09-15 | Intelligent Medical Objects, Inc. | System and method for implementing a 64 bit data searching and delivery portal |
US9767159B2 (en) | 2014-06-13 | 2017-09-19 | Google Inc. | Ranking search results |
US10013496B2 (en) | 2014-06-24 | 2018-07-03 | Google Llc | Indexing actions for resources |
CN105844532A (zh) * | 2016-03-23 | 2016-08-10 | 努比亚技术有限公司 | 一种处理订阅信息的方法及服务器 |
US10896178B2 (en) * | 2016-03-30 | 2021-01-19 | Microsoft Technology Licensing, Llc | High performance query processing and data analytics |
US10878036B2 (en) * | 2018-01-17 | 2020-12-29 | Actian Corporation | Maintaining character set compatibility in database systems |
CN109800354B (zh) * | 2019-01-09 | 2021-06-08 | 考拉征信服务有限公司 | 一种基于区块链存储的简历修改意图识别方法及系统 |
US11803599B2 (en) * | 2022-03-15 | 2023-10-31 | My Job Matcher, Inc. | Apparatus and method for attribute data table matching |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169507A (zh) * | 2011-05-26 | 2011-08-31 | 厦门雅迅网络股份有限公司 | 一种分布式实时搜索引擎 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606819B2 (en) * | 2001-10-15 | 2009-10-20 | Maya-Systems Inc. | Multi-dimensional locating system and method |
US7158996B2 (en) * | 2003-01-27 | 2007-01-02 | International Business Machines Corporation | Method, system, and program for managing database operations with respect to a database table |
US7818720B2 (en) * | 2006-01-24 | 2010-10-19 | Freescale Semiconductor, Inc. | System and method for control logic code reordering based on stochastic execution time information |
US8055664B2 (en) * | 2007-05-01 | 2011-11-08 | Google Inc. | Inferring user interests |
US20090216619A1 (en) * | 2008-02-21 | 2009-08-27 | Tavernier Pierre | Method for determining fair market values of multimedia advertising spaces |
US8364663B2 (en) * | 2008-09-05 | 2013-01-29 | Microsoft Corporation | Tokenized javascript indexing system |
US9176963B2 (en) * | 2008-10-30 | 2015-11-03 | Hewlett-Packard Development Company, L.P. | Managing counters in a distributed file system |
US20100114696A1 (en) * | 2008-10-31 | 2010-05-06 | Yahoo! Inc. | Method of programmed allocation of advertising opportunities for conformance with goals |
US20110119128A1 (en) * | 2009-11-16 | 2011-05-19 | Fang Fang | Advertising Exchange System to Share Online Audiences |
WO2011123090A1 (en) * | 2010-03-29 | 2011-10-06 | Carbonite, Inc. | Discovery of non-standard folders for backup |
US8566354B2 (en) * | 2010-04-26 | 2013-10-22 | Cleversafe, Inc. | Storage and retrieval of required slices in a dispersed storage network |
-
2012
- 2012-12-04 US US13/705,115 patent/US20140156668A1/en not_active Abandoned
-
2013
- 2013-06-06 WO PCT/US2013/044548 patent/WO2014088636A1/en active Application Filing
- 2013-06-10 EP EP13171279.6A patent/EP2741220A1/en not_active Withdrawn
- 2013-06-17 CN CN201310245365.6A patent/CN103853802B/zh not_active Expired - Fee Related
- 2013-06-28 BR BR102013016901-3A patent/BR102013016901A2/pt not_active Application Discontinuation
- 2013-06-28 DE DE202013005812U patent/DE202013005812U1/de not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169507A (zh) * | 2011-05-26 | 2011-08-31 | 厦门雅迅网络股份有限公司 | 一种分布式实时搜索引擎 |
Also Published As
Publication number | Publication date |
---|---|
DE202013005812U8 (de) | 2014-01-30 |
EP2741220A1 (en) | 2014-06-11 |
BR102013016901A2 (pt) | 2014-09-23 |
US20140156668A1 (en) | 2014-06-05 |
CN103853802A (zh) | 2014-06-11 |
WO2014088636A1 (en) | 2014-06-12 |
DE202013005812U1 (de) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103853802B (zh) | 用于索引电子内容的装置和方法 | |
US9779122B2 (en) | Optimizing a content index for target audience queries | |
US8140512B2 (en) | Consolidated information retrieval results | |
US10025904B2 (en) | Systems and methods for managing a master patient index including duplicate record detection | |
AU2022201654A1 (en) | System and engine for seeded clustering of news events | |
Lee et al. | Information gain and divergence-based feature selection for machine learning-based text categorization | |
US10198460B2 (en) | Systems and methods for management of data platforms | |
US20150356094A1 (en) | Systems and methods for management of data platforms | |
CN111767716B (zh) | 企业多级行业信息的确定方法、装置及计算机设备 | |
Beel et al. | The architecture and datasets of Docear's Research paper recommender system | |
JP2017518570A (ja) | 視覚的対話型検索 | |
US12008047B2 (en) | Providing an object-based response to a natural language query | |
CN103309869A (zh) | 数据对象的展示关键词推荐方法及系统 | |
WO2012115965A1 (en) | Entity fingerprints | |
CA2956627A1 (en) | System and engine for seeded clustering of news events | |
CN107451280B (zh) | 数据打通方法、装置及电子设备 | |
US20210042363A1 (en) | Search pattern suggestions for large datasets | |
JP2013041385A (ja) | 文献検索方法、文献検索装置及び文献検索プログラム | |
EP3152678A1 (en) | Systems and methods for management of data platforms | |
AU2018313274B2 (en) | Diversity evaluation in genealogy search | |
CN111915414B (zh) | 向目标用户展示目标对象序列的方法和装置 | |
JP7418781B2 (ja) | 企業類似度算出サーバ及び企業類似度算出方法 | |
JP2018060379A (ja) | 検索手段選択プログラム、検索手段選択方法及び検索手段選択装置 | |
Schnell | Record-linkage from a technical point of view | |
CN110851517A (zh) | 一种源数据抽取方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180514 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: American California Applicant before: LINKEDIN CORPORATION |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180731 Termination date: 20200617 |