改变监测跨图查询制造技术

技术编号:21958967 阅读:44 留言:0更新日期:2019-08-24 22:16
近似成员资格查询(AMQ)过滤器与对关系图的图查询结合使用,以提供跨越与查询相关联的视图的改变监视。来自由图查询跨越的关系图的每个节点和视图的索引结构被添加为AMQ过滤器的成员。当对关系图进行改变时,将针对AMQ过滤器查询改变的节点。当改变的节点被注释为AMQ过滤器的候选成员时,可以重新运行图查询以更新与查询相关联的视图。否则,不会重新运行图查询,从而节省计算资源并改进托管和查询关系图的系统。

Change Monitoring Cross-graph Query

【技术实现步骤摘要】
【国外来华专利技术】改变监测跨图查询
技术介绍
在图数据库中,实体被呈现为节点,并且这些实体之间的关系被呈现为由图数据库维护的关系图的视图中的边。用户可以经由图查询周期性地查询关系图,以了解实体之间的关系。例如,用户可以发出图查询以查找社交网络内的朋友或联系人、给定用户已经与之交互的文档、已经访问给定文档的用户、满足各种搜索标准的实体等。可以理解,关系图随着数据的添加、改变和删除而改变,并且图查询的结果可以因此而改变。然而,由于运行图查询的计算成本昂贵,因此根据底层关系图的改变而保持图查询的结果是最新的可能需要访问或托管图数据库的计算设备耗费大量处理或存储资源用于运行重复的图查询或在每个节点上运行改变监视器。
技术实现思路
提供本
技术实现思路
是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式部分中进一步描述。本
技术实现思路
不旨在确定所要求保护的主题的所有关键或必要特征,也不旨在帮助确定所要求保护的主题的范围。本文提供了用于监视关系图的改变的计算上较不密集的方法,以及采用所述方法的系统。提供关系图的改变的流以与一个或多个近似成员查询(AMQ)过滤器进行比较,而不是周期性地重新运行图查询或者监视各个节点的改变(可能错过新节点的添加)。改变的流包括受节点改变影响的节点的标识符、连接到受改变影响的边的节点的标识符、和/或包含关系图的全部或部分的节点集的搜索索引树或其他标识符。AMQ过滤器由针对要监视的已运行图查询满足或考虑的节点的节点标识符集构成。AMQ过滤器(包括但不限于布隆过滤器、布谷鸟过滤器和商过滤器)提供针对以下的概率检查:元素是否是不提供假否定的集合的成员;对于给定的比较,过滤器返回“可能在集合中”或“不在集合中”的结果。当返回“不在集合中”的结果时,确定该改变未影响图查询的结果。当返回“可能在集合中”的结果时,可以重新运行图查询并将其与先前的运行进行比较以确定是否已经发生了改变,在这种情况下,可以将改变暴露给查询用户。除了能够防止不必要的图查询重新运行之外,AMQ过滤器还提供减少需要存储在计算机存储器中的数据量的能力,检测节点的添加/删除作为图查询的潜在改变的能力,并提高决定重新运行图查询的速度。示例被实现为计算机进程、计算系统或诸如设备、计算机程序产品或计算机可读介质的制品。根据一个方面,该计算机程序产品是计算机系统可读并且编码有包括用于执行计算机过程的指令的计算机程序的计算机存储介质。在下面的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述和对相关附图的回顾,其他特征和优点将是显而易见的。应理解,以下详细描述仅是解释性的,而不是对权利要求的限制。附图说明包含在本公开中并构成本公开的一部分的附图示出了各个方面。在图中:图1示出了可以实践本公开的示例环境;图2是示出用于提高图服务器的计算效率的示例方法中涉及的一般阶段的流程图,该图服务器的任务是使图查询保持最新;图3是示出计算设备的示例物理组件的框图;以及图4是分布式计算系统的框图。具体实施方式以下详细描述参考附图。只要可能,在附图中使用相同的附图标记,并且以下描述涉及相同或相似的元件。虽然可以描述示例,但是修改、改编和其他实现是可能的。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过将阶段替换、重新排序或添加到所公开的方法来修改本文描述的方法。因此,以下详细描述不是限制性的,而是由所附权利要求限定适当的范围。示例可以采用硬件实现或完全软件实现或者结合软件和硬件方面的实现的形式,。因此,以下详细描述不应被视为具有限制意义。本文提供了用于监视关系图的改变的计算上较不密集的方法,以及采用所述方法的系统。近似成员资格查询(AMQ)过滤器与对关系图的图查询结合使用,以提供跨越与查询关联的视图的改变监视。来自由图查询跨越的关系图的每个节点以及视图的索引结构被添加为AMQ过滤器的成员。当对关系图进行改变时,将针对AMQ过滤器查询改变的节点。当改变的节点被注释为AMQ过滤器的候选成员时,可以重新运行图查询以更新与查询相关联的视图。否则,不会重新运行图查询,从而节省计算资源并改进托管和查询关系图的系统以及AMQ过滤器提供的其他好处,这包括改进的存储器存储空间要求。图1示出了可以实践本公开的示例环境100。客户端设备110与图服务器120通信,图服务器120在图数据库130中维护关系图。关系图将若干实体维护为节点,并将这些节点之间的关系维护为连接相关节点的边,并且图数据库130是可操作地存储一个或多个关系图及其子图,供客户端设备110查询。图服务器120还维护与先前运行的查询相关联的一个或多个AMQ过滤器140(近似成员查询过滤器),以减少用于在图数据库130上重新运行那些查询的调用的数量。客户端设备110和图服务器120中的每一个都说明了多个计算系统,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板电脑或平板型计算机、笔记本电脑和笔膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、打印机和大型计算机。关于图3和4更详细地讨论这些计算系统的硬件。客户端设备110由用户操作,用户可以是人或自动化系统(例如,“机器人”)。在各个方面,客户端设备110和图服务器120可以由用户访问或彼此本地地和/或通过网络访问,该网络可以包括因特网、局域网(LAN)、用于实体(例如,公司、大学、政府机构)的专用分布式网络、无线自组织网络、虚拟专用网络(VPN)或其他直接数据链路(例如,蓝牙连接、直接有线链路)。图服务器120托管关系图的图数据库130,关系图具有描述实体和那些实体的一组伴随属性的节点,例如,名称、头衔、年龄、地址等。每个属性可以被视为键/值对——属性的名称及其值。在其他示例中,实体表示为包括文档、会议、通信等的节点,而边表示这些实体之间的关系,例如,人节点与文档节点之间的边表示该人对该文档的作者身份、修改或查看。图服务器120执行由各种用户提交的图查询。图服务器120还可操作以访问图结构描述,该图结构描述驻留在图数据库130中,图数据库130可以包括各种方面:关系数据库,NoSQL数据库或任何其他数据库。关系图的子图或视图存储在图数据库130中,用于以后分析或在各个方面中后续图查询相同度量。在一些方面,当图服务器120响应于图查询而产生子图时,图服务器120检查将满足图查询的子图是否存在于图数据库130中,并且将通过从图数据库130中取回它来产生该子图,否则图服务器120将通过执行图查询来产生子图,并且可以可选地存储所得到的子图以供以后取回。客户端设备110请求的图查询跨越图结构的当前状态,但是随着图数据库130被更新或改变,对关系图(或其子图)的各种查询的结果可能受到该更新影响或者不受该更新影响。例如,当给定人员创建新文档时,可能会影响对给定人员周围流行的文档的图的查询,但当不同的人员创建新文档或将表示新人员的节点添加到图结构时,该图表不会受到影响。进而,提交这些查询的用户可能对影响他们的查询的图数据库130的改变感兴趣或不感兴趣。例如,期望图数据库130的“快照”视图的用户(例如,时间t处的视图)可能对将在稍后影响查询的任何更新不感兴趣。在另一示例中,期望图数据库130的“实本文档来自技高网...

【技术保护点】
1.一种用于提高监视关系图的改变的计算效率的方法,包括:在托管所述关系图的图服务器处从客户端设备接收图查询;运行所述图查询以跨越所述关系图而生成所述关系图的视图;将由所述图查询所跨越的节点的标识记录在与所述图查询相关联的成员资格集中;在所述图服务器处接收影响所述关系图的改变流,所述改变流包括已经改变的给定节点;确定所述给定节点是否被记录在所述成员资格集中;响应于确定所述给定节点被记录在所述成员资格集中:重新运行所述图查询以跨越所述关系图并产生新视图;确定所述新视图是否等同于所述视图;并且响应于确定所述新视图不等同于所述视图,将所述关系图的改变暴露给所述客户端设备。

【技术特征摘要】
【国外来华专利技术】2016.10.28 US 15/338,2901.一种用于提高监视关系图的改变的计算效率的方法,包括:在托管所述关系图的图服务器处从客户端设备接收图查询;运行所述图查询以跨越所述关系图而生成所述关系图的视图;将由所述图查询所跨越的节点的标识记录在与所述图查询相关联的成员资格集中;在所述图服务器处接收影响所述关系图的改变流,所述改变流包括已经改变的给定节点;确定所述给定节点是否被记录在所述成员资格集中;响应于确定所述给定节点被记录在所述成员资格集中:重新运行所述图查询以跨越所述关系图并产生新视图;确定所述新视图是否等同于所述视图;并且响应于确定所述新视图不等同于所述视图,将所述关系图的改变暴露给所述客户端设备。2.如权利要求1所述的方法,还包括:其中,将由所述图查询跨越的节点的标识记录在与所述图查询相关联的所述成员资格集中包括在AMQ过滤器中,其包括:初始化所述AMQ滤波器的成员资格数组,所述成员资格数组包括多个比特,其中,每个比特被设置为第一状态;接收所述图查询所跨越的节点的标识符;对所述标识符进行散列以产生所述标识符中的每个的位置值;以及通过将位于所述成员资格数组中的每个位置值处的、所述多个比特中的一个比特设置为第二状态,来将所述节点记录在所述成员资格数组中;其中,确定所述给定节点是否被记录在所述成员资格集中包括用所述给定节点查询所述AMQ过滤器,其包括:接收所述给定节点的给定标识符;对所述给定标识符进行散列以产生所述成员资格数组中所述给定节点的候选位置;以及确定所述成员资格数组中所述候选位置处的每个比特被设置的状态;以及响应于确定所述成员资格数组中所述候选位置处的每个比特被设置为所述第二状态,概率性地确定所述给定节点被记录在所述成员资格集中。3.如权利要求2所述的方法,还包括:响应于确定所述成员资格数组中所述候选位置处的至少一个比特被设置为所述第一状态,返回对查询所述AMQ过滤器的否定响应并且不将所述改变暴露给所述客户端设备。4.如权利要求1所述的方法,其中,所述关系图的所述改变影响多个节点,所述多个节点包括所述给定节点。5.如权利要求1所述的方法,还包括:接收所述视图的索引结构;以及将所述索引结构记录在所述成员资格集中。6.如权利要求5所述的方法,其中,所述索引结构包括在展平树结构中由所述图查询所跨越的节点的标识符。7.如权利要求1所述的方法,其中,将所述改变暴露给所述客户端设备包括将所述新视图发送到所述客户端设备。8.如权利要求1所述的方法,其中,将所述改变暴露给所述客户端设备包括向所述客户端设备发送所述新视图可用的通知。9.一种用于提高监视关系图的改变的计算效率的系统,包括:处理器;以及存储器存储设备,其包括在被执行时可操作以实现以下操作的指令:维护成员资格数组;接收成员节点标识符,并作为响应将所述成员节点标识符记录在所述成员资格数组中;接收候选节点标识符,并作为响应确定所述候选节点标识符是否被记录在所述成员资格数组中;响应于确定所述候选节点标识符被记录在所述成员资格数组中:运行图查询以产生所述关系图的视图;将所述视图与所述图查询产生的所述关系图的先前视图进行比较,以确定所述查询是否受到所述关系图的改变的影响;以及响应于所述视图和所述先前视图不匹配,将所述关系图的所述改变...

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

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

1