对子图的缓存以及将缓存的子图集成到图查询结果中制造技术

技术编号:21958977 阅读:16 留言:0更新日期:2019-08-24 22:17
本发明专利技术提供了用于通过缓存子图并且实现其的利用,在遍历存储在关系图中的数据时减少延迟和/或提高计算效率的系统、方法、以及体现指令的计算机可读设备。具体而言,在用户执行图查询之后,以可重用形式对获得的图查询的子图进行缓存。后续的图查询能够基于图查询来识别缓存的子图。此外,后续的图查询可用于将缓存的子图集成为后续图查询的结果的一部分,后续图查询的结果可以包括由缓存的子图组成的后续图查询的一部分或整个结果,从而提高查询关系图的计算效率和性能,减少遍历关系图所需的查询执行代价,并且提供托管关系图和运行查询的计算设备的功能。

Caching of subgraphs and integrating cached subgraphs into graph query results

【技术实现步骤摘要】
【国外来华专利技术】对子图的缓存以及将缓存的子图集成到图查询结果中
技术介绍
在图数据库中,将实体表示为节点,并且将这些实体之间的关系表示为图数据库所维护的关系图的视图中的边。用户可以经由图查询周期性地查询关系图,以了解实体之间的关系。例如,用户可以发出图查询以查找社交网络内的朋友或联系人、给定用户与之交互过的文档、访问过给定文档的用户、满足各种搜索准则的实体等等。图查询产生被查询图数据库中满足查询条件的子图。此外,并不少见的是,图查询在节点处开始,然后遵循针对一组新节点的一些关系集合,然后再沿着一组新关系扩展到另一组节点。扩展层级的数量是开放的,并且随着查询的复杂性和图数据库的大小的增加,每个查询必须跨越整个子图的代价可能变得非常大。
技术实现思路
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本专利技术的关键特征或本质特征,也不是用于限制本专利技术的保护范围。本专利技术提供了用于通过缓存子图和实现缓存子图的利用,在遍历存储在关系图中的数据时减少延迟和/或提高计算效率的系统、方法、以及体现指令的计算机可读设备。具体而言,在用户执行图查询之后,以可重用形式对获得的图查询的子图进行缓存。后续的图查询能够基于图查询来识别缓存的子图。此外,后续的图查询可用于将缓存的子图集成为后续图查询的结果的一部分,后续图查询的结果可以包括由缓存的子图组成的后续图查询的一部分或整个结果,从而允许系统将图查询执行直接跳到所缓存的子图的边缘(fringe)。因此,缓存子图并且将缓存的子图集成到图查询结果中,提供了查询关系图的计算效率和性能的改进,减少了遍历关系图所需的查询执行代价,从而提高了托管关系图和运行查询的计算设备的功能。示例实现成计算机进程、计算系统或诸如设备、计算机程序产品或计算机可读介质之类的制品。根据一个方面,该计算机程序产品是计算机系统可读的、并且对包括有用于执行计算机进程的指令的计算机程序进行编码的计算机存储介质。在下面的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述并查看相关的附图,其它特征和优点将变得显而易见。应当理解,以下的详细描述仅仅是解释性的,而不是对权利要求的限制。附图说明包含在本公开内容中并构成本公开内容的一部分的附图示出了各个方面。在附图中:图1示出了可以实现本公开内容的示例性环境;图2是示出用于实现缓存子图的示例方法中所涉及的通常阶段的流程图;图3是示出用于将缓存的子图集成到图查询结果中的示例方法中所涉及的通常阶段的流程图;图4是示出用于将缓存的子图集成到图查询结果中的示例方法中所涉及的通常阶段的流程图;图5是示出计算设备的示例性物理部件的框图;图6A和图6B是一种移动计算设备的框图;以及图7是一种分布式计算系统的框图。具体实施方式下面的详细描述参照附图。在可以时,在附图和下面的描述中使用相同的附图标记来指代相同或者类似的元素。虽然描述了一些示例,但针对其的修改、调整和其它实现方式也是可能的。例如,可以对附图中所示出的组成部分进行替代、增加或者修改,可以通过对所公开的方法进行替代、重新排序或者增加阶段来修改本专利技术所描述的方法。因此,以下的详细描述并非是对本专利技术进行限制,相反,本专利技术的适当保护范围由所附权利要求书进行界定。示例可以采用硬件实施方式、或整个软件实施方式、或者组合软件和硬件方面的实施方式。因此,下面的详细描述不应采用限制性的意义。本专利技术提供了用于通过缓存子图和实现缓存子图的利用,在遍历存储在关系图中的数据时减少延迟和/或提高计算效率的系统、方法、以及体现指令的计算机可读设备。具体而言,在用户执行图查询之后,以可重用形式对获得的图查询的子图进行缓存。后续的图查询能够基于图查询来识别缓存的子图。此外,后续的图查询可用于将缓存的子图集成为后续图查询的结果的一部分,后续图查询的结果可以包括由缓存的子图组成的后续图查询的一部分或整个结果,从而允许系统将图查询直接执行到所缓存的子图的边缘(fringe)。因此,缓存子图并且将缓存的子图集成到图查询结果中,提供了查询关系图的计算效率和性能的改进,减少了遍历关系图所需的查询执行代价,从而提高了托管关系图和运行查询的计算设备的功能。图1示出了可以实现本公开内容的示例性环境100。用户设备110与图服务器120进行通信,图服务器120在图数据库130中维护关系图。关系图将一些实体维持为节点,将这些节点之间的关系维持为连接相关节点的边,图数据库130可用于存储一个或多个关系图以及其子图以便用户设备110进行查询。此外,对来自先前图查询的子图进行缓存以供后续获取。响应于接收图查询,基于查询信息识别相关的缓存子图,并且将相关的缓存子图集成到图查询的结果中。然后,将请求的结果发送回用户设备110。用户设备110和图服务器120是包括但不限于以下的多个计算系统的示例:桌面型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板设备或平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、微型计算机、打印机和大型计算机。关于图5、6A和6B以及图7更详细地讨论这些计算系统的硬件。用户设备110由用户操作,用户可以是人或者自动系统(例如,“机器人”)。在各个方面,用户设备110和图服务器120可以由用户访问、或彼此本地访问和/或通过网络访问,该网络可以包括互联网、局域网(LAN)、用于某个实体(例如,公司、大学、政府机构)的专有分布式网络、无线自组织网络、虚拟专用网络(VPN)或者其它直接数据链路(例如,蓝牙连接、直接有线链路)。图服务器120托管关系图的图数据库130,其中节点描述实体和这些实体的一组伴随属性(例如,名称、标题、年龄、地址等)。可以认为每个属性是一个键/值对:属性的名称以及其值。在其它例子中,将实体表示为包括文档、会议、通信等的节点、以及表示这些实体之间的关系的边(例如,人员节点和文档节点之间的边,其表示该人员对该文档的著作、修改或视图)。图服务器120执行由各个用户提交的图查询。图服务器120还可操作以访问驻留在图数据库130中的图形结构描述,在各个方面,图数据库130可以包括:关系数据库、NoSQL数据库或任何其它数据库。在各个方面,关系图的子图或视图存储在图数据库130中,以用于针对相同度量的后续图查询。在一些方面,当图服务器120响应于图查询产生子图时,图服务器120检查在图数据库130中是否存在将满足该图查询的缓存子图,并且将通过从图数据库130中对其进行获取来生成该子图形,否则图服务器120将通过执行图查询来产生子图,并且缓存获得的子图以供以后获取。图2是示出用于实现缓存子图的示例方法200中所涉及的通常阶段的流程图。方法200开始于操作210,其中图服务器120接收对托管的关系图的视图的请求。在各个方面,该请求是关系图的查询。例如,用户设备110的用户可以向托管关系图的图服务器120发送请求,其中关系图描述包括以下的组织结构:对应于“用户”、“建筑物”和“项目”的节点、用户之间的关系(例如,“其管理者”)、用户和建筑物之间的关系(例如,“工作场所”)、以及用户和项目之间的关系(例如,“工作于”)。这些节点具有诸如名称、标题、地址本文档来自技高网...

【技术保护点】
1.一种用于通过缓存子图并且将所缓存的子图集成到图查询结果中来减少计算资源消耗的方法,包括:在托管图数据库的图服务器处接收图查询;根据所述图查询来查询所述图数据库;对查询所述图数据库产生的子图进行缓存,其中,所缓存的子图能通过与所述图查询相关联的特征进行识别,使得所缓存的子图能进行获得以便集成到与所述特征相关联的后续图查询的结果中;以及发送所缓存的子图。

【技术特征摘要】
【国外来华专利技术】2016.12.15 US 62/435,068;2017.01.06 US 15/399,9891.一种用于通过缓存子图并且将所缓存的子图集成到图查询结果中来减少计算资源消耗的方法,包括:在托管图数据库的图服务器处接收图查询;根据所述图查询来查询所述图数据库;对查询所述图数据库产生的子图进行缓存,其中,所缓存的子图能通过与所述图查询相关联的特征进行识别,使得所缓存的子图能进行获得以便集成到与所述特征相关联的后续图查询的结果中;以及发送所缓存的子图。2.根据权利要求1所述的方法,还包括:接收所述后续图查询。3.根据权利要求2所述的方法,还包括:针对与所述后续图查询相关联的后续特征,分析所述后续图查询。4.根据权利要求3所述的方法,还包括:基于所述后续特征来识别所缓存的子图。5.根据权利要求4所述的方法,其中,所缓存的子图是针对所述后续图查询的精确匹配。6.根据权利要求4所述的方法,还包括:响应于所述后续图查询,发送所缓存的子图。7.根据权利要求2所述的方法,其中,接收所述后续图查询还包括:第一元素和第二元素。8.根据权利要求7所述的方法,其中,所缓存的子图是针对所述后续图查询的部分匹配。9.根据权利要求7所述的方法,还包括:针对与所述第一元素相关联的第一特征,分析所述后续图查询。10.根据权利要求9所述的方法,还包括:基于所述第一特征来识别所缓存的子图。11.根据权利要求10所述的方法,还包括:基于所述后续图查询...

【专利技术属性】
技术研发人员:T·克勒策A·克瓦尔内斯S·维肯瓦尔瓦格A·K·约翰森D·S·埃德森P·D·亨JO·A·卡尔伯格
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1