用于批量和实时数据处理的设备、系统和方法

文档序号:9769192阅读:254来源:国知局
用于批量和实时数据处理的设备、系统和方法
【专利说明】用于批量和实时数据处理的设备、系统和方法
[0001]与相关申请的交叉引用
[0002]根据35U.S.C.§119(e),本申请要求享有以下申请的在先申请日:
[0003].美国临时专利申请,序列号61/799,986,申请日为2013年3月15日,发明名称为“用于分析和使用基于位置的行为的系统”;
[0004].美国临时专利申请,序列号61/800,036,申请日为2013年3月15日,发明名称为“地理位置描述符和链接符”;
[0005].美国临时专利申请,序列号61/799,131,申请日为2013年3月15日,发明名称为“用于众包领域特定情报的系统和方法”;
[0006].美国临时专利申请,序列号61/799,846,申请日为2013年3月15日,发明名称为“具有批量处理和实时数据处理的系统”;以及
[0007].美国临时专利申请,序列号61/799,817,申请日为2013年3月15日,发明名称为“用于向位置实体分配分数的系统”。
[0008]本申请还与以下申请有关:
[0009].美国专利申请,序列号14/214,208,申请日与本申请的申请日相同,发明名称为“用于分析对象实体的移动的设备、系统和方法”;
[0010].美国专利申请,序列号14/214,296,申请日与本申请的申请日相同,发明名称为“用于提供位置信息的设备、系统和方法”;
[0011].美国专利申请,序列号14/214,213,申请日与本申请的申请日相同,发明名称为“用于众包领域特定情报的设备、系统和方法”;
[0012].美国专利申请,序列号14/214,219,申请日与本申请的申请日相同,发明名称为“用于批量处理和实时数据处理的设备、系统和方法”;
[0013].美国专利申请,序列号14/214,309,申请日与本申请的申请日相同,发明名称为“用于分析受关注实体特性的设备、系统和方法”;以及
[0014].美国专利申请,序列号14/214,231,申请日与本申请的申请日相同,发明名称为“用于分组数据记录的设备、系统和方法”。
[0015]上述所引用的每个申请的全部内容(包括临时申请和正式申请)通过引用包含在本文中。
技术领域
[0016]本发明总体涉及数据处理系统,以及特别地,涉及可以使用批量(batch)处理和实时处理来处理数据的数据处理系统。
【背景技术】
[0017]本文所公开的系统涉及接收、处理以及存储来自许多源的数据,表示从数据中而来的事实和观点的最“正确的”概要,包括能够将此实时重新计算,以及随后使用结果来响应查询。作为示例,当用户向基于web的系统、移动电话或车载导航系统输入查询搜索“在格林威治村中的有代客泊车服务的对儿童友好的(Ch i I d fr i end I y)中餐馆”时,系统可以非常迅速地用匹配例如以下参数的餐馆列表来响应:{ “kid_friendly”: true,” category”:”Restaurant>Chinese,,, “valet_parking”: true, “neighborhood,,:,,Greenwich Village,,}。移动电话于是可以提供呼叫每一个餐馆的按钮。描述每一个餐馆的此信息可以遍布许多网站,来源于许多数据存储器(store),以及由系统用户直接提供。
[0018]现有技术中的问题是存储在任何数据存储器中的关于美国所有已知商业的所有网页、引用和数据可以是如此巨大以致于无法实时地理解和查询。更新和维护这样巨大容量的信息可以很难。例如,描述美国商业的信息具有多于数十亿行的输入数据、数百亿的事实以及数十万亿字节的web内容。
[0019]与此同时,新信息不断变得可用并且希望将这些信息包括在查询结果的产出中。作为示例,系统可以学习到餐馆不再提供代客泊车服务、餐馆不接待儿童或者餐馆的电话号码已经中断。
[0020]照此,希望能够既基于持续性(例如考虑新写的评论)也基于整体(例如重新评估整体数据并使用其中所包含的先前不能使用的信息)来更新产生搜索结果的系统。

【发明内容】

[0021]所公开的系统配置为接收新数据(例如实时更新)和旧数据(例如经过很长时间收集的数据),并且配置为基于对新数据和旧数据的重新评估来周期性更新系统。
[0022]与仅能搜索网页并返回至匹配网页的链接的系统不同,所公开的系统可以维护关于每一实体的参数信息并且直接返回信息。在常规系统中,例如,针对“有代客泊车服务的中餐馆”的web搜索可以返回至具有词“中餐(Chinese)”、“餐馆”、“代客”和“泊车”的网页的链接。这一般来说将包括具有像“发现没有代客泊车服务”陈述的网页,因为词“代客”和“泊车”出现在文本中并且因此被索引为针对网页的关键字。相反,所公开的系统具有例如餐馆类别的参数和指示餐馆是否提供代客泊车服务的值,这有益地允许系统用更有意义的结果来响应。此外,在所公开的系统中,用户可以作为纠正数据的贡献方来操作。而且,所公开的系统可以解释跨许多网页的事实并且得到共识回答,该共识回答则是可查询的从而进一步改进结果。
[0023]在所公开系统的实施例中,用户可以作为向系统贡献数据的贡献方操作。例如,用户可以向系统提供直接反馈来纠正事实。多个这样的提交可以被所公开的系统与网站上的信息(例如关于对儿童友好的餐馆的博客)一起考虑,并且被概括到可以迅速响应查询的快速演进数据存储器中。由此,所公开的系统的用户可以访问新纠正的电话号码和对其儿童友好性的更准确的评价。
[0024]在一些实施例中,所公开的系统可以改进或扩展用来理解网页或反馈中的信息的分析方法。可以持续改进或扩展分析方法。例如,与上个月的方法相比,今天的方法可以能够从数据源提取更多信息。如果一个网页包括作为简单文本的事实而另一个有使用复杂散文表述的观点,则所公开的系统使用上个月的方法可以已经能够处理例如“代客泊车服务:是”的简单文本,但是还不能处理例如“没有地方可以停车,更别提代客泊车服务了”的散文。然而,所公开的系统,使用今天的方法,可以已经扩展了能力并且能够处理更微妙的散文数据。
[0025]大体上,一方面,所公开的主题的实施例可以包括一种用于生成一组数据的概要数据的计算系统。计算系统可以包括一个或多个处理器,配置为运行存储在无形计算机可读介质中的一个或多个模块。一个或多个模块可操作以接收第一组数据和第二组数据,其中,所述第一组数据与所述第二组数据相比包括更大量的数据项;处理所述第一组数据从而将所述第一组数据格式化为第一组结构化数据;通过用于概括所述第一组结构化数据的操作规则使用所述第一组结构化数据生成第一概要数据,并且将所述第一概要数据存储在数据存储器中;处理所述第二组数据从而将所述第二组数据格式化为第二组结构化数据;通过用于概括所述第一组结构化数据和所述第二组结构化数据的操作规则,基于所述第一组结构化数据和所述第二组结构化数据生成第二概要数据;确定所述第一概要数据和所述第二概要数据之间的差异;以及基于所述第一概要数据和所述第二概要数据之间的所述差异更新所述数据存储器。
[0026]大体上,一方面,所公开的主题的实施例可以包括一种用于生成一组数据的概要数据的方法。方法可以包括:在操作在计算系统的处理器上的输入模块处,接收第一组数据和第二组数据,其中,所述第一组数据与所述第二组数据相比包括更大量的数据项;在所述计算系统的第一输入处理模块处,处理所述第一组数据从而将所述第一组数据格式化为第一组结构化数据;在所述计算系统的第一概要生成模块处,通过用于概括所述第一组结构化数据的操作规则使用所述第一组结构化数据生成第一概要数据;将所述第一概要数据维护在所述计算系统的数据存储器中;在所述计算系统的第二输入处理模块处,处理所述第二组数据从而将所述第二组数据格式化为第二组结构化数据;在所述计算系统的第二概要生成模块处,通过用于概括所述第一组结构化数据和所述第二组结构化数据的操作规则使用所述第一组结构化数据和所述第二组结构化数据生成第二概要数据;在所述计算系统的差异生成模块处,确定所述第一概要数据和所述第二概要数据之间的差异;以及由所述计算系统基于所述第一概要数据和所述第二概要数据之间的所述差异更新所述数据存储器。
[0027]大体上,一方面,所公开的主题的实施例可以包括一种有形包含在非瞬时计算机可读存储介质中的计算机程序产品。计算机程序产品包括可操作以引起数据处理系统执行以下的指令:接收第一组数据和第二组数据,其中,所述第一组数据与所述第二组数据相比包括更大量的数据项;处理所述第一组数据从而将所述第一组数据格式化为第一组结构化数据;通过用于概括所述第一组结构化数据的操作规则使用所述第一组结构化数据生成第一概要数据,并且将所述第一概要数据存储在数据存储器中;处理所述第二组数据从而将所述第二组数据格式化为第二组结构化数据;通过用于概括所述第一组结构化数据和所述第二组结构化数据的操作规则基于所述第一组结构化数据和所述第二组结构化数据生成第二概要数据;确定所述第一概要数据和所述第二概要数据之间的差异;以及基于所述第一概要数据和所述第二概要数据之间的所述差异更新所述数据存储器。
[0028]在本文所公开的实施例的任意一个中,所述第二组数据包括实时数据提交,以及所述一个或多个模块可操作以响应于接收到所述第二组数据来处理所述第二组数据从而将所述第二组数据格式化为所述第二组结构化数据。
[0029]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:每隔第一时间间隔处理所述第一组数据从而将所述第一组数据格式化为所述第一组结构化数据,所述第一时间间隔基本上比第二时间间隔更长,每隔所述第二时间间隔所述第二组数据被格式化为所述第二组结构化数据。
[0030]在本文所公开的实施例的任意一个中,所述第一概要数据和所述第二概要数据中的每一个都包括实体标识符和与所述实体标识符相关联的值,以及其中计算系统、方法或计算机程序产品可以进一步包括用于以下的模块、步骤或可执行指令:通过以下来确定所述第一概要数据和所述第二概要数据之间的差异:确定所述第一概要数据和所述第二概要数据包括相同的实体标识符,以及比较在所述第一概要数据和所述第二概要数据中与所述相同的实体标识符相关联的值。
[0031]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:向其它被授权计算系统提供所述第一概要数据和所述第二概要数据之间的所述差异。
[0032]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:经由应用编程接口向其它被授权计算系统提供所述差异。
[0033]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:将所述差异作为文件提供给其它被授权计算系统。
[0034]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:将至少所述第一组数据和所述第二组数据结合以生成第三组数据;处理所述第三组数据从而基于用于格式化一组数据的新规则将所述第三组数据格式化为第三组结构化数据;以及使用所述第三组结构化数据生成第三概要数据。
[0035]在本文所公开的实施例的任意一个中,所述第一组数据和所述第三组数据的每一个都包括第一数据元素,以及其中所述第一数据元素与由第一实体标识符识别的所述第一概要数据中的第一实体相关联,其中,所述第一数据元素与所述第三概要数据中的第二实体相关联,以及其中计算系统、方法或计算机程序产品可以进一步包括用于以下的模块、步骤或可执行指令:将所述第一实体标识符与所述第三概要数据中的所述第二实体相关联从而使得在所述第三概要数据中所述第一数据元素维持其与所述第一实体标识符的关联。
[0036]在本文所公开的实施例的任意一个中,所述第一组结构化数据包括数据项的分组(grouping),所述数据项的分组基于与所述数据项相关联的实体标识符。
[0037]在本文所公开的实施例的任意一个中,计算系统包括在数据中心中的至少一个服务器。
[0038]在本文所公开的实施例的任意一个中,数据存储器包括多个数据存储系统,所述多个数据存储系统中的每一个都与视图相关联,以及其中所述一个或多个模块可操作以响应于查询、基于与所述查询相关联的视图来选择所述多个数据存储系统中的一个。
[0039]在本文所公开的实施例的任意一个中,计算系统、方法或计算机程序产品可以包括用于以下的模块、步骤或可执行指令:识别在生成第二概要数据以后接收的第三组数据;基于所述第三组数据、所述第一组结构化数据和所述第二组结构化数据通过用于概括所述第一组结构化数据、所述第二组结构化数据和第三概要数据的操作规则生成所述第三概要数据;确定所述第二概要数据和所述第三概要数据之间的差异;以及基于所述第二概要数据和所述第三概要数据之间的所述差异更新所述数据存储器。
【附图说明】
[0040]参考以下与附图一起考虑的详细描述可以更全面理解本公开的多种目标、特征和优点,在附图中,相似的参考编号识别相似元素。附图仅供演示目的并且不旨在限制所公开的主题,所公开的主题的范围在下文的权利要求中记载。
[0041]图1示出根据一些实施例的所公开的系统的通用处理框架;
[0042]图2A-2C示出图1的部分的放大图;
[0043]图3示出根据一些实施例的赶上(“Catchup”)过程。
【具体实施方式】
[0044]传统的数据处理系统配置为要么批量处理输入数据要么实时处理输入数据。一方面,批量数据处理系统是有限制性的,因为批量数据处理不能考虑任何在批量数据处理期间所接收的额外数据。另一方面,实时数据处理系统是有限制性的,因为实时系统不能扩展。实时数据处理系统
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1