一种微件数据及时更新的方法和装置
技术领域
本发明涉及一种计算机领域的方法和装置,具体讲涉及一种微件数据及时更新的方法和装置。
背景技术
微件(Web widget,简称Widget)是一种Web2.0的衍生物,它好像是一个小型的应用程式,它可以是一个时钟,一个日记簿,一段视频,天气预报,一个Flash游戏等等。以往Widget只可以通过本身的嵌入代码添加到网页当中,如今可以将这些Widget直接添加到自己的电脑桌面来使用,从而增加桌面的功能性。很多网站现在已经有了自己的Widget,你可以直接从这些网站中获取Widget的嵌入代码,然后直接将他们添加到你的桌面或者博客上。
第三代搜索结果页(简称搜索结果页,英文缩写SRP)由各种不同的微件构成,微件负责数据展示,其数据由微件数据更新系统(英文缩写WDUS)提供。微件的数据来源于中搜的各个垂直搜索和部分知识库,每个微件对可以对应一个url地址,该地址称为微件源(WSRC),包括用户检索串和检索条件参数。通过管理后台,将微件源注册至微件数据更新后台,由微件数据更新系统负责周期调度微件源,并将更新数据推送至前端页面展示系统。
在原有的微件数据更新系统中,采用类似RSS订阅的方式。WDUS通过不停地周期调度微件源来获取源对应的数据,通过解析抽取需要内容,然后排重等将新内容推送至前端系统。并根据其更新情况修改其调度周期。该方案简单易行,缺点也很明显:数据更新周期无法准确预测,往往去下载数据时源没有更新或者早已更新,自适应的方式调整周期也会带来大量无效的下载,对目标网站造成压力。如何有效的快速的更新数据至SRP是个巨大的挑战。
发明内容
为了克服上述现有技术的不足,本发明提供本发明实现了一种基于检索串索引查询的主动式更新方法;当一篇文章被推送至索引检索系统时,数据分发模块同步发送数据至本装置。装置通过检索方式查询该文档符合哪些用户检索串,每个检索串至少对应一个微件,将该数据推送至微件展示数据。该方案无需预测数据更新周期,更新数据及时,同时节省网络资源。
实现上述目的所采用的解决方案为:
一种微件数据及时更新的方法,其改进之处在于:所述方法包括以下步骤:
I、注册微件源至微件数据更新系统;
II、微件数据更新系统检索索引检索系统;
III、数据分发模块分发更新文档至索引检索系统和微件数据更新系统;
IV、微件数据更新系统分析更新文档;
V、微件数据更新系统传输数据至微件显示。
进一步的,所述步骤I包括:管理后台注册微件源至微件数据更新系统;所述微件数据更新系统接收并分析微件源,建立检索串的内存倒排索引结构。
进一步的,所述步骤III中数据分发模块根据源操作模块对微件数据更新系统的源操作向所述索引检索系统和所述微件数据更新系统同时发送文档。
进一步的,所述步骤IV包括:
1)、所述微件数据更新系统接收文档,建立文档的词的post对照信息结构;
2)、将词在所述检索串倒排索引中检索,得到查询的检索串,检索结果作并集计算,获取查询的检索串的集合;
3)、根据检索串的源ID对应的词的与或非计算信息,判断文档是否匹配,并根据词的post对照信息结构判断是否符合域和时间的条件;均符,根据排序的方式计算排序权重。
进一步的,所述步骤V包括:微件数据更新系统根据所述步骤IV中的判断数据是否向微件系统推送的结果,传输数据至微件显示。
进一步的,所述微件源为所述微件对应的url地址;所述微件源包括检索串及其查询参数的检索条件;
所述微件数据更新系统支持的所述检索条件的格式包括url格式和二进制协议格式;
所述检索串包括源ID、词计算信息、命中域检索信息Field、排序信息Rank、时间范围Time及其他参数OthereInfo。
一种微件数据及时更新的装置,所述装置包括相连的数据分发模块和索引检索系统,其改进之处在于:所述数据分发模块输出端和源操作模块的输出端与微件数据更新系统输入端连接,所述微件数据更新系统的输出端连接微件。
进一步的,所述微件数据更新系统包括以下处理模块:
1)、接收并分析管理后台注册的微件源,建立检索串的内存倒排索引结构,检索索引检索系统;
2)、接收更新文档,建立文档的词的post对照信息;
3)、对所有词在检索串倒排索引中检索,得到查询的检索串,检索结果作并集计算,获取查询的检索串的集合;
4)、根据检索串的源ID对应的词的与或非计算信息,判断文档是否匹配,并根据词id到域post的对照信息表判断是否符合域和时间的条件;均符,根据排序的方式计算排序权重,将数据推送至微件展示数据。
进一步的,所述微件源为所述微件对应的url地址;所述微件源为包括检索串及其查询参数的检索条件;
所述微件数据更新系统支持的所述检索条件的格式包括url格式和二进制协议格式。
进一步的,所述检索串包括源ID、词计算信息、命中域检索信息Field、排序信息Rank、时间范围Time及其他参数OthereInfo。
与现有技术相比,本发明具有以下有益效果:
(1)本发明的方法对用户检索串建立索引,当有符合用户检索条件的数据时,自动更新微件信息非常及时准确,节约时间,减少目标网站的压力,从而达到节约资源的效果。
(2)本发明方法无需预测数据更新周期,无需复杂的调度算法分析数据更新周期,节省对目标网站的大量下载压力,节省网络资源。
(3)本发明的装置结构简单,方法明确,与方法结合可以达到5分钟内更新资讯微件内容的效果。
(4)本发明中,数据分发模块直接发送数据至微件数据更新系统,微件数据更新系统无需定期向检索系统检索,微件数据更新系统根据接收的文档判定数据是否向微件系统推送;无需预测数据更新周期,使得数据更新及时,减少网络资源,同时,使得本发明可扩展性高,可以满足不同的微件更新需要。
(5)本发明的微件数据更新系统的刷新机制可以及时响应用户数据需求。
附图说明
图1为本发明的系统框架图;
图2为现有技术的系统框架图;
图3为微件更新系统流程图;
图4为检索串的倒排结构图;
图5为检索串QID指向的节点信息图;
图6为文档词WID到post信息结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的详细说明。
如图1所示,图1为本发明的系统框架图;
一种微件数据及时更新的装置包括数据分发模块、索引检索系统、微件数据更新系统、源操作模块和微件;所述微件分发模块的输出端分别连接索引检索系统和微件数据更新系统;当微件分发模块推送一篇文章至索引检索系统时同时推送至微件数据更新系统;所述源操作模块的输出端连接所述微件数据更新系统的输入端,所述微件数据更新系统的输出端与所述微件的输入端连接;所述微件位于前端,显示数据信息。
管理后台(源操作模块)对每个微件对应设置一个微件源;数据分发模块推送数据至索引检索系统和微件数据更新系统;所述源操作模块对微件数据更新系统进行源操作;用户通过源操作进行包括添加(注册)、删除、刷新等操作;所述微件数据更新系统将操作后所得的数据推送至微件显示。
其中,微件源为所述微件对应的url地址;所述微件源包括用户检索串和检索条件参数;所述微件数据更新系统支持的所述检索条件的格式包括url格式和二进制协议格式。所述检索串包括检索串的ID(简称源ID)、词计算信息、命中域检索信息Field、排序信息Rank、时间范围Time及其他参数OthereInfo,如图5所述。
数据分发模块,用于发送数据至所述微件数据更新系统;源操作模块,用于操作所述微件数据更新系统;微件,位于前端,用于显示从所述微件数据更新系统接收的数据。
微件数据更新系统,用于接收注册信息和源操作,并根据所接收的信息分析;如图3所示,图3微件更新系统流程图,图中,当用户初次注册时,微件数据更新系统向索引检索系统请求一次数据,除此之外不再向索引检索系统请求数据。微件更新系统接收注册数据,则分析数据源ID,获得检索串,对检索串分词,获得词到检索串的倒排索引QIDX。
当微件数据更新系统接收更新数据(文档DOC),根据接收的文档建立DOC正排,即文档的词id到post的对照信息,根据词的id检索QIDX,对检索结果做并集处理,获得Query集合;验证DOC是否满足Query集合,若满足则计算其排序权重。
其中,每个检索串记录了检索串的ID(简称源ID),词计算信息(检索串的与或非计算表达式),命中域检索信息,排序信息,时间范围等;如图4所示,图4为检索串的倒排索引;其中WID表示词的ID;所述QID为源ID;所述QID指向的节点信息如图5所示,图中,QID表示源ID,WID OP表示词的与或非计算表达式(例A|B&-C),Field表示命中域检索信息(包括全文,标题等,)Rank表示排序方式(包括信息的相关性,时间顺序),Time表示时间范围信息(包括发送时间,更新时间),OtherInfo表示其他参数信息(包括单次请求条目数,翻页数等)。文档的词id到post的对照信息如图6所示,图6为文档词的post信息结构图,图中,WID表示接受文档中的词的ID,Pos表示词在文档中的位置,依据位置判定词在哪个域中。
索引检索系统为垂直搜索的索引检索系统,如资讯搜索的索引检索系统;微件数据更新系统对索引检索系统的检索,依据查询词及条件做检索,得到词条对应的更新内容,例如检索最近一天“微件”的信息。
一种微件数据及时更新的方法包括以下步骤:
步骤1、管理后台(源操作模块)注册微件源至微件数据更新系统;微件数据更新系统接收到微件源的数据,建立检索串,将所述检索串切词,形成检索串的内存倒排索引结构,以便快速检索。
步骤2、若上述注册为用户初次注册,微件数据更新系统向索引检索系统请求一次数据,除此之外不再向索引检索系统请求数据。
步骤3、微件数据更新系统接收源操作,分析数据;
微件数据更新系统接收人工编辑管理后台(源操作模块)的有关微件源操作的内容,源操作包括微件源的添加,删除,预览,刷新等;数据分发模块同时分发数据至索引检索系统和微件数据更新系统;
本实施例中,以添加(注册)操作为例;所述步骤3还包括:
1)、微件数据更新系统接收数据分发模块发送的文档DOC,建立DOC正排,即建立文档DOC的所有词的ID(即WID)到post的信息结构对照信息。
2)、检索倒排索引,对检索结果做并集处理,获取查询集合;具体来说:
根据文档中所有词的ID,即WID1,…,WIDn,将所有词在检索串倒排索引中检索,得到查询的检索串,对检索结果作并集计算,获取查询的检索串的集合;
3)、根据集合中的检索串的ID(即源ID)对应的词与或非计算信息,判断文档是否命中,并根据文档的词的WID到post的对照信息表判断是否符合命中域检索信息,依据文档的时间查看其是否符合时间范围信息的条件;均符,根据排序的方式计算排序权重,将数据推送至微件显示。
本实施例中,以删除操作为例,当微件删除时,告知微件数据更新系统前端(微件)已经不需该微件源的数据更新(可称之为注销),此时微件数据更新系统将删除相应的微件源;或者当用户更改一个微件的相关配置时,涉及的检索串和检索条件可能发生了变化,微件数据更新系统首先删除旧的微件源,然后根据注册流程新增加一个微件源。
本实施例中,以刷新操作为例,对微件源的数据做及时响应的更新称之为刷新,即按照微件源中的检索条件去中搜相应的检索系统做实时检索,对返回数据加工后反馈给微件展示。若用户对更新数据及时性不满意,可以走刷新流程。达到了数据及时响应前端(微件)需求的效果。
步骤4、微件数据更新系统判定数据是否向微件系统推送后,将所获得的数据提供给微件显示,供用户检索。
最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。