当前位置: 首页 > 专利查询>英特尔公司专利>正文

针对演进图形分配全局边缘ID制造技术

技术编号:15919347 阅读:35 留言:0更新日期:2017-08-02 04:33
本文描述了用于针对演进图形分配全局边缘ID的方法、计算系统、以及计算机可读介质。该方法包括针对演进图形选择块大小,并且当将新的顶点被添加到演进图形时,针对演进图形计算块ID。计算块ID包括创建表示演进图形的表,并且当新的顶点被添加到演进图形时,在针对表的新行中的单元格计算块ID之前针对表的新列中的单元格计算块ID。该方法还包括针对演进图形基于源顶点ID、目标顶点ID、以及每个边缘所位于的块的块ID来计算全局边缘ID。该方法还可以包括针对演进图形计算增量页面排序。

【技术实现步骤摘要】
【国外来华专利技术】针对演进图形分配全局边缘ID相关申请的交叉引用本申请要求享有于2014年12月23日提交的美国专利申请No.14/581,112的提交日的权益,其通过引用并入本文中。
本技术总体上涉及管理图形处理平台的演进图形。更具体地,本技术涉及针对演进图形分配全局边缘ID。
技术介绍
在“大数据”时代,许多应用(举例来说,例如,与电子商务、社交网络、以及在线服务有关的应用)使用快速增长的庞大的图形。在许多情况下,这些应用每天必须处理数百万到数十亿的新事件。例如,平均每天在Twitter上产生5.6亿个推文,并且平均每天在Facebook上产生45亿个“喜欢”。作为另一个示例,亚马逊在2013年圣诞季期间每天销售2.82亿件商品。新事件产生新关系,例如用户与产品的关系、朋友关系、以及用户与广告的关系。应用使用以这些新关系为基础的关系数据以用于各种目的。例如,这样的关系数据可以用于做出智能商业决策或者向用户提供快速且准确的建议。为了使应用能够使用这种关系数据,使用图形分析来处理数据以创建大的图形。这样的图形由大量的顶点和边缘组成。顶点是表示例如不同用户的节点,而边缘是表示将不同用户彼此连接的关系数据的线。在大数据时代,随着数据量增加,这些图形非常快速地增长。然而,用于处理这些类型的图形的当前技术一般涉及具有固定数量的顶点和边缘的静态图形。当前技术不能提供高效方法以随着新的顶点和边缘随时间被添加到图形而对这些图形进行更新。附图说明图1是根据一个实施例的示意图,其示出了用于处理关系数据的图;图2是根据一个实施例的过程流程图,其示出了用于计算全局边缘ID的方法;图3是根据一个实施例的表,其示出了用于在将块ID分配给增加的行之前将块ID分配给增加的列的技术;图4是根据一个实施例的表,其示出了用于在将块ID分配给增加的列之前将块ID分配给增加的行的技术;图5是根据一个实施例的过程流程图,其示出了用于以递归函数计算块ID的方法;图6A是根据一个实施例的表,其示出了用于基于最后的对角线单元格和源块ID将块ID分配给新添加的列中的单元格的技术;图6B是具有新添加的行的图6的表;图7是根据一个实施例的表,其示出了基于本文所描述的计算顺序来进行高速缓存的关键块ID;图8是根据一个实施例的过程流程图,其示出了用于针对演进图形增量地计算页面排序的方法;图9是表示本文所描述的用于针对演进图形计算增量页面排序的技术的一个实施例的伪代码的屏幕截图;图10是表示本文所描述的用于针对演进图形计算增量页面排序的技术的另一个实施例的伪代码的屏幕截图;图11是示出根据本文所描述的实施例的被配置为针对演进图形提供全局边缘ID分配和/或增量页面排序计算的计算设备的框图;以及图12是示出根据本文所描述的实施例的被配置为针对演进图形提供全局边缘ID分配和/或增量页面排序计算的计算机可读介质的框图。在整个公开内容和附图中使用相同的附图标记来指代同样的组件和特征。100系列中的附图标记是指最初出现在图1中的特征;200系列中的数字是指最初出现在图2中的特征;以此类推。具体实施方式如上面所描述的,通常使用大的图形将关系数据表示为具有多个相互连接的顶点和边缘。然而,用于处理这些类型的图形的当前技术不能提供高效方式以随着图形随时间演进而对图形进行更新。更具体地,在处理关系数据时,图形分析通常作用于(sourceId,targetId,edgeValue)格式的数据上,其中“sourceId”是源顶点ID,“targetId”是目标顶点ID,而“edgeValue”是边缘的值。全局边缘ID(其被定义为sourceId和targetId的函数)对于高效边缘值存储和关于边缘的快速计算(举例来说,例如,连接具有重叠的顶点的两个图形)两者而言都很重要。在静态图形的情况下,sourceId和targetId二者的上边界是图形中顶点的数量。全局边缘ID可以容易地分配为sourceId×numVertices+targetId。然而,当图形正在演进时,最终的顶点数量在每个处理窗口处是未知的。因此,最终的顶点数不能用于取得全局边缘ID。因此,本文所描述的实施例提供了一种用于针对演进图形根据sourceId和targetId来分配全局边缘ID的方法。在以下描述和权利要求中,可以使用术语“耦合”和“连接”以及其衍生词。应当理解,这些术语并非旨在作为彼此的同义词。相反,在特定实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理接触或电接触。“耦合”可以表示两个或更多个元件直接物理接触或电接触。然而,“耦合”也可以表示两个或更多个元件并非彼此直接接触,但是仍然彼此协作或交互。一些实施例可以以硬件、固件、以及软件中的一个或组合来实现。一些实施例还可以被实现为存储在机器可读介质上的指令,该指令可以由计算平台读取并执行以执行本文所描述的操作。机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或发送信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器设备;或电、光、声或其它形式的传播信号,例如,载波、红外信号、数字信号、或发送和/或接收信号的接口,以及其它。实施例是实现方式或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”、“各种实施例”、或“其它实施例”的引用表示结合实施例描述的特定特征、结构或特性包括在本技术的至少一些实施例中,但不一定是本技术的所有实施例。“实施例”、“一个实施例”、或“一些实施例”的各种出现不一定全部指代相同的实施例。可以对来自实施例的元素或方面与另一实施例的元素或方面进行组合。并非在本文中描述并示出的所有组件、特征、结构、特性等都需要包括在特定的实施例或多个实施例中。例如,如果说明书陈述了“可以”、“可能”、“能够”、或“能”包括组件、特征、结构、或特性,则不一定需要包括特定的组件、特征、结构或特性。如果说明书或权利要求书提及“一”或“一个”元素,则并不表示只有元素中的一个元素。如果说明书或权利要求书提及“附加”元素,则不排除存在附加元素中的多于一个附加元素。应当注意,虽然已经参考特定实现方式描述了一些实施例,但是根据一些实施例,其它实现方式也是可能的。附加地,附图中所示的和/或本文所描述的电路元件或其它特征的布置和/或顺序并非必须以所示出和所描述的特定方式来布置。根据一些实施例,许多其它布置是可能的。在附图所示的每个系统中,在某些情况下,元件可以每个均具有相同的附图标记或不同的附图标记,以表明所表示的元件可以是不同的和/或类似的。然而,元件可以是足够灵活的以具有不同的实现方式并且与本文所示出或所描述的系统中的一些或全部一起工作。附图中所示的各种元件可以是相同的或不同的。哪一个元件被称为第一元件以及哪一个元件被称为第二元件是任意的。图1是根据一个实施例的示意图,其示出了用于处理关系数据的图形100。如图1所示,图形100包括多个顶点102A-102C和多个边缘104A-D。顶点102A-102C表示社交网络中的特定实体,举例来说,例如,分别为用户A、用户B、以及用户C。边缘104A-D(其被示为如图1中的线)表示顶点102A-C之间的关系的强度和方向。换言之,边缘1本文档来自技高网...
针对演进图形分配全局边缘ID

【技术保护点】
一种用于针对演进图形计算全局边缘ID的方法,包括:针对包括多个顶点和多个边缘的演进图形选择块大小;针对所述演进图形计算块ID,其中,计算所述块ID包括:创建表示所述演进图形的表,其中,所述表包括所选择的块大小的单元格、表示源顶点ID的y轴、以及表示目标顶点ID的x轴;以及当新的顶点被添加到所述演进图形时,在针对所述表的新行中的单元格计算块ID之前针对所述表的新列中的单元格计算块ID;以及针对所述演进图形基于所述源顶点ID、所述目标顶点ID、以及针对每个边缘所位于的块的所述块ID来计算全局边缘ID。

【技术特征摘要】
【国外来华专利技术】2014.12.23 US 14/581,1121.一种用于针对演进图形计算全局边缘ID的方法,包括:针对包括多个顶点和多个边缘的演进图形选择块大小;针对所述演进图形计算块ID,其中,计算所述块ID包括:创建表示所述演进图形的表,其中,所述表包括所选择的块大小的单元格、表示源顶点ID的y轴、以及表示目标顶点ID的x轴;以及当新的顶点被添加到所述演进图形时,在针对所述表的新行中的单元格计算块ID之前针对所述表的新列中的单元格计算块ID;以及针对所述演进图形基于所述源顶点ID、所述目标顶点ID、以及针对每个边缘所位于的块的所述块ID来计算全局边缘ID。2.根据权利要求1所述的方法,其中,在针对所述表的新行中的单元格计算块ID之前针对所述表的新列中的单元格计算块ID包括:当新的顶点被添加到所述演进图形时添加新列;针对所述新列中的单元格计算块ID;一旦已经针对所述新列中的所述单元格计算块ID,则添加新行;以及针对所述新行中的单元格计算块ID。3.根据权利要求2所述的方法,包括当新的顶点被不断地添加到所述演进图形时重复权利要求2所述的方法。4.根据权利要求1或2中任一项所述的方法,包括在递归函数中计算所述块ID。5.根据权利要求4所述的方法,其中,在所述递归函数中计算所述块ID包括,基于每个单元格的源顶点ID和针对所述表中的最后的对角线单元格所计算的块ID,针对所述表的新列中的每个单元格计算所述块ID。6.根据权利要求4所述的方法,其中,在所述递归函数中计算所述块ID包括,基于每个单元格的目标顶点ID和针对所述表中的最后的对角线单元格右侧的单元格所计算的块ID,针对所述表的新行中的每个单元格计算所述块ID。7.根据权利要求1所述的方法,包括在针对所述表的新列中的单元格计算块ID之前针对所述表的新行中的单元格计算块ID。8.根据权利要求7所述的方法,其中,在针对所述表的新列中的单元格计算块ID之前针对所述表的新行中的单元格计算块ID包括:当新的顶点被添加到所述演进图形时添加新行;针对所述新行中的单元格计算块ID;一旦已经针对所述新行中的所述单元格计算块ID,则添加新列;以及针对所述新列中的单元格计算块ID。9.根据权利要求8所述的方法,包括当新的顶点被不断地添加到所述演进图形时重复权利要求8所述的方法。10.根据权利要求1或7中任一项所述的方法,包括高速缓存针对每个对角线单元格和所述表中每个对角线单元格右侧的单元格的块ID。11.根据权利要求1或7中任一项所述的方法,包括将所述块大小选择为2n。12.根据权利要求1或7中任一项所述的方法,包括通过以下操作针对所述演进图形计算增量页面排序:使用静态算法在第一处理窗口中计算页面排序值;将所计算的页面排序值保存为所述第一处理窗口的图形状态;利用先前处理窗口的页面排序值来初始化每个处理窗口处的顶点值;如果新的边缘被添加而所述新的边缘的源顶点值在先前处理窗口中已经存在,则在当前处理窗口的第一次迭代中,将从所述先前处理窗口接收的所述源顶点的所有更新快速转发到目标顶点;对于所有其它类型的边缘,如果所述边缘的源顶点值不存在,则计算所述源顶点值在当前迭代与先前迭代之间的变化,并将所述源顶点值的变化发送到目标顶点;继续此过程,直到已经针对所有顶点计算顶点值;以及针对所述演进图形将所述顶点值保存为增量页面排序值。13.一种用于针对演进图形计算全局边缘ID的计算系统,包括:处理器;以及全局边缘ID分配应用,其至少部分地包括硬件逻辑,其中,所述全局边缘ID分配应用的所述硬件逻辑用于:针对所述演进图形计算块ID,其中,计算所述块ID包括:创建表示所述演进图形的表,其中,所述表包括固定块大小的单元格、表示源顶点ID的y轴、以及表示目标顶点ID的x轴;以及当新的顶点被添加到所述演进图形时,在针对所述表的新行中的单元格计算块ID之前针对所述表的新列中的单元格计算块ID;以及针对所述演进图形基于所述源顶点ID、所述目标顶点ID、以及针对每个边缘所位于的块的所述块ID来计算全局边缘ID。14.根据权利要求13所述的计算系统,其中,所述全局边缘ID分配应用的所述硬件逻辑通过以下操作在针对所述表的新行中的单元格计算块ID之前针对所述表的新列中的单元格计算块ID:当新的顶点被添加到所述演进图形时添加新列;针对所述新列中的单元格计算块ID;一旦已经针对所述新列中的所述单元格计算块ID,则添加新行;以及针对所述新行中的单元格计算块ID。15.根据权利要求14所述的计算系统,其中,所述全局边缘ID分配应用的所述硬件逻辑当新的顶点被添加到所述演进图形时重复权利要求14所述的方法。16.根据权利要求13或14中任一项所述的计算系统,其中,所述全局边缘ID分配应用的所述硬件逻辑通过以下操作在递归函数中计算所述块ID:基于每个单元格的源顶点ID和针对所述表中的最后的对角线单元格所计算的块ID,针对所述表的新列中的每个单元格计算...

【专利技术属性】
技术研发人员:X·朱T·L·维尔克B·凯勒SC·陈K·达塔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1