一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

联邦图计算方法、联邦图计算配置方法、装置及电子设备与流程

2022-11-16 17:09:02 来源:中国专利 TAG:


1.本发明实施例涉及数据处理技术领域,尤其涉及联邦图计算方法、联邦图计算配置方法、装置及电子设备。


背景技术:

2.随着人工智能和大数据领域的发展,对数据量的需求越来越大,在社交网络、知识图谱、信息推荐、金融风控等领域,图计算具有不可比拟的优势。
3.目前,企业之间通过联邦学习打破企业之间的数据孤岛,联邦学习算法主要集中在传统的机器学习上,然而,基于关联关系上的多步计算,在传统机器学习上效率低下;并且,目前针对关联关系的建模,不同企业之间形成不同的图数据,而将不同图数据聚合在一起的方法十分繁琐,使得图计算在应用于联邦学习时效率低下。


技术实现要素:

4.本发明实施例提供联邦图计算方法、联邦图计算配置方法、装置及电子设备,用以解决图计算在应用于联邦学习时效率低下的问题。
5.第一方面,本发明实施例提供了一种联邦图计算方法,应用于联邦图计算系统中的联邦节点,所述联邦图计算系统中包括至少两个联邦节点,包括:
6.当前联邦节点加载图数据,其中,所述图数据中包括顶点和边,具有关联关系的顶点通过边连接;
7.所述当前联邦节点接收上一超步中活跃顶点的消息,并基于预设处理函数对所述上一超步的消息进行处理,基于处理结果更新当前超步中对应活跃顶点的顶点状态,其中,所述上一超步中的活跃顶点与所述当前超步中对应活跃顶点存在关联关系;
8.所述当前联邦节点基于所述图数据中的所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息;
9.其中,在当前超步满足停止条件的情况下,完成迭代计算过程。
10.进一步的,所述方法还包括:
11.在所述当前联邦节点的图数据中任一边的顶点为远程顶点的情况下,创建所述当前联邦节点与所述远程顶点所属关联联邦节点的状态路由表;
12.相应的,所述向所述出射边对应顶点所属关联联邦节点发送消息,包括:
13.在所述当前超步中活跃顶点的出射边的终点顶点为远程顶点的情况下,基于所述状态路由表向所述出射边对应顶点所属关联联邦节点发送消息。
14.进一步的,所述创建所述当前联邦节点与关联联邦节点的状态路由表,包括:
15.基于远程顶点与各关联联邦节点确定顶点交集,基于所述顶点交集形成状态路由表。
16.进一步的,基于预设处理函数对所述上一超步的消息进行处理,包括:
17.基于聚合函数对接收的至少一个消息进行聚合处理,得到聚合结果;
18.基于顶点更新函数对所述当前超步中对应活跃顶点的当前状态信息和所述聚合结果进行处理,得到处理结果。
19.进一步的,所述聚合函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数;
20.所述顶点更新函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数。
21.进一步的,在所述当前联邦节点基于所述图数据中所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之前,所述方法还包括:
22.基于所述图数据中所述当前超步中活跃顶点的出射边,以及所述出射边对应的起始顶点和终止顶点生成三元组数据,并基于所述三元组数据生成待发送消息;
23.相应的,向所述出射边对应顶点所属关联联邦节点发送消息,包括:
24.将所述待发送消息发送至所述出射边对应顶点所属关联联邦节点。
25.进一步的,所述联邦图计算系统中的至少两个联邦节点包括任务发起节点;
26.在所述当前联邦节点基于所述图数据中所述目标顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之后,所述方法还包括:
27.向所述任务发起节点发送信息发送统计信息,以使任务发起节点统计迭代次数和/或确定当前次信息发送量,并确定当前超步是否满足停止条件。
28.进一步的,所述停止条件包括迭代次数达到预设迭代阈值,或者,当前次信息发送量为零。
29.进一步的,各顶点之间的消息为经过加密处理后的消息。
30.进一步的,联邦图计算系统的计算任务为确定单源最短路径;所述图数据中包括多个对象和各对象之间的关联关系,所述上一超步中活跃顶点的消息包括所述上一超步中活跃顶点与源对象之间的最短距离,所述当前超步中对应活跃顶点的顶点状态包括当前超步中对应活跃顶点与源对象之间的最短距离。
31.第二方面,本发明实施例提供了一种联邦图计算的配置方法,包括:
32.获取计算规则模板与配置文件,其中,所述计算规则模板中预设处理函数字段为空;所述配置文件中包括预设处理函数;
33.基于所述配置文件对所述计算规则模板进行更新,得到图计算规则,并配置在各联邦节点,所述图计算规则应用在当前场景下,用于执行本发明任意实施例所述的联邦图计算方法。
34.第三方面,本发明实施例还提供了一种联邦图计算装置,应用于联邦图计算系统中的联邦节点,所述联邦图计算系统中包括至少两个联邦节点,该装置包括:
35.图数据加载模块用于当前联邦节点加载图数据,其中,所述图数据中包括顶点和边,具有关联关系的顶点通过边连接;
36.消息处理模块用于所述当前联邦节点接收上一超步中活跃顶点的消息,并基于预设处理函数对所述上一超步的消息进行处理,基于处理结果更新当前超步中对应活跃顶点的顶点状态,其中,所述上一超步中的活跃顶点与所述当前超步中对应活跃顶点存在关联关系;
37.消息发送模块用于所述当前联邦节点基于所述图数据中的所述当前超步中活跃
顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息;
38.迭代停止模块用于在当前超步满足停止条件的情况下,完成迭代计算过程。
39.第四方面,本发明实施例还提供了一种联邦图计算的配置装置,该装置包括:
40.获取模块用于获取计算规则模板与配置文件,其中,所述计算规则模板中预设处理函数字段为空;所述配置文件中包括预设处理函数;
41.计算规则模板更新模块用于基于所述配置文件对所述计算规则模板进行更新,得到图计算规则,并配置在各联邦节点,所述图计算规则应用在当前场景下,用于执行本发明任意实施例所述的联邦图计算方法。
42.第五方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的联邦图计算方法和/或联邦图计算的配置方法。
43.第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的联邦图计算方法和/或联邦图计算的配置方法。
44.第七方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本发明任意实施例所述的联邦图计算方法和/或联邦图计算的配置方法。
45.本发明实施例中,通过在将联邦学习与图计算结合,实现在联邦学习架构下进行图计算,解决了图计算在应用于联邦学习时效率低下的问题,在联邦学习架构下,各联邦节点形成的图数据相同,无需对图数据进行聚合,提高了图计算在联邦学习架构下的效率;同时,联邦图计算系统中各联邦节点在发送消息之前对消息进行加密处理,避免了数据泄露的问题,加强了对数据的保护。
附图说明
46.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
47.图1为本发明实施例提供的一种联邦图计算方法的流程图;
48.图2为本发明实施例提供的一种联邦节点的关联关系图;
49.图3为本发明实施例提供的一种联邦图计算的配置方法的流程图;
50.图4为本发明实施例提供的一种联邦图计算装置的结构示意图;
51.图5为本发明实施例提供的一种联邦图计算的配置装置的结构示意图;
52.图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
53.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
54.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
55.图1为本发明实施例提供的一种联邦图计算方法的流程图,本实施例可适用于将图计算应用于联邦学习的情况,该方法可以由联邦图计算装置来执行,该联邦图计算装置可以采用硬件和/或软件的形式实现,该联邦图计算装置可配置于本发明实施例提供的电子设备中。该方法应用于联邦图计算系统中的联邦节点,联邦图计算系统中包括至少两个联邦节点,如图1所示,该方法包括:
56.s110、当前联邦节点加载图数据,其中,所述图数据中包括顶点和边,具有关联关系的顶点通过边连接。
57.s120、所述当前联邦节点接收上一超步中活跃顶点的消息,并基于预设处理函数对所述上一超步的消息进行处理,基于处理结果更新当前超步中对应活跃顶点的顶点状态,其中,所述上一超步中的活跃顶点与所述当前超步中对应活跃顶点存在关联关系。
58.s130、所述当前联邦节点基于所述图数据中的所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息。
59.s140、在当前超步满足停止条件的情况下,完成迭代计算过程。
60.本实施例中,联邦图计算系统中包括至少两个联邦节点,每一联邦节点可以分别为不同数据提供方的电子设备或电子设备集合,即每一联邦节点存储有图数据,此处不限定联邦节点存储的图数据的类型,且不限定所属数据提供方的类型。联邦图计算系统中的各联邦节点之间可进行信息传输,例如可通过通信连接的方式进行信息传输。通过联邦图计算系统中多个联邦节点之间进行信息传输,并在各联邦节点处基于本地数据对信息进行处理,在无需将各联邦节点的数据进行汇总或传输实现对多个联邦节点中数据的处理,保证了数据的安全性。联邦节点是联邦图计算系统中的图数据提供方,在不同的数据处理场景下,联邦节点不同,示例性的,在金融风控领域,以每一金融机构可以为图数据提供方,相应的,在联邦图计算系统中的每个金融机构就是一个联邦节点。
61.其中,当前联邦节点可以是联邦图计算系统中的任一联邦节点,在联邦计算启动的情况下,每一联邦节点加载本地图数据,即对于当前联邦节点加载本地图数据。需要说明的是,每一联邦节点可存储有不同类型的图数据,相应的,可根据联邦计算的计算任务或应用场景,各联邦节点读取所需类型的图数据。以金融机构为例,图数据可包括但不限于存在金融交易的账户图数据、资金流转图数据等。
62.本实施例中,图数据中包括顶点和边,其中,具有关联关系的顶点之间通过边连接。具体的,图数据是指可以用图描述的数据,图是表示对象之间关联关系的一种抽象数据结构,顶点表示对象,边表示对象之间的关系,以对象为顶点,对象之间的关联关系为边构成图。不同应用场景下,作为顶点的对象以及对象之间的关系不同,示例性的,以通讯软件的好友推荐场景为例,以通讯软件的用户为对象,用户之间的关系为边构成图,其中,用户之间的关系可以是朋友、亲人等;相应的,通讯软件的用户为顶点,用户之间为朋友、亲人等关系的用户用边连接,顶点与边构成图。
63.在联邦计算的过程中,迭代执行步骤s120和步骤s130,每次迭代完成一个超步的
处理。其中,每一超步中进行计算处理的联邦节点可以是联邦图计算系统中的一个或多个联邦节点。其中,在每次迭代过程中,当前联邦节点可以是当前超步中存在数据处理的联邦节点,即对应的顶点所属的联邦节点。
64.活跃顶点是指每个超步中顶点状态更新的顶点,上一超步的活跃顶点为在上一超步中进行顶点状态更新的顶点,当前超步中对应活跃顶点为当前超步中进行顶点更新的顶点。相邻两个超步对应的活跃顶点之间存在关联关系,也就是说,相邻两个超步的活跃顶点之间通过边连接。其中,上一超步的活跃顶点与当前超步中对应活跃顶点的关系可以是一对一,多对一或者一对多等,对此不作限定,根据图数据中顶点之间的连接关系确定。
65.在每一迭代处理过程中,当前联邦节点中的活跃顶点在接收到上一超步中活跃顶点发送的消息后,读取上一超步的消息并执行相应的处理操作,根据处理结果更新当前超步对应的活跃顶点的顶点状态,其中,预设处理函数根据计算任务或计算场景需求预先设置的,这里不做限定;当前联邦节点沿着当前超步中活跃顶点的出射边向出射边对应的顶点所属的关联联邦节点发送消息,其中,出射边对应的顶点所属的联邦节点为下一超步对应的联邦节点,在下一超步中,下一超步的联邦节点对应的活跃顶点接收当前超步沿着出射边发送的消息;上述迭代过程中,在当前超步满足停止条件的情况下,完成迭代计算过程,否则,继续上述迭代计算过程。
66.需要说明的是,当前超步为第0超步时,当前联邦节点中所有顶点都为活跃顶点,对所有顶点定义初始消息,同时定义初始预设处理函数,初始消息与初始预设处理函数由本领域技术人员根据经验和需求设定,这里不做限定。
67.在上述实施例的基础上,可选的,在当前联邦节点加载图数据之后,在所述当前联邦节点的图数据中任一边的顶点为远程顶点的情况下,创建所述当前联邦节点与所述远程顶点所属关联联邦节点的状态路由表;相应的,所述向所述出射边对应顶点所属关联联邦节点发送消息,包括:在所述当前超步中活跃顶点的出射边的终点顶点为远程顶点的情况下,基于所述状态路由表向所述出射边对应顶点所属关联联邦节点发送消息。
68.图2为本发明实施例提供的一种联邦节点的关联关系图。本实施例中,当前联邦节点遍历图数据中的边,以区分边两端顶点的顶点类型,其中,顶点类型包括本地顶点和远程顶点,本地顶点是指所属联邦节点为当前联邦节点的顶点,相应的,远程顶点是指非本地顶点的顶点,即所属联邦节点与当前联邦节点不同的顶点。示例性的,如图2所示,以联邦节点x为当前联邦节点,遍历联邦节点x的边,边(a,e)中顶点a为本地顶点,而顶点e属于联邦节点y,为非本地顶点,即远程顶点;边(b,c)中顶点b与顶点c都为本地顶点,同样的,边(a,c)中顶点a与顶点c都为本地顶点。
69.其中,关联联邦节点是指远程节点所属的联邦节点,当前联邦节点中的顶点与关联联邦节点中的顶点之间存在关联关系,即关联联邦节点中存在顶点作为当前联邦节点的远程顶点,示例性的,若将图2中的联邦节点x作为当前联邦节点,那么远程顶点e所属的联邦节点y就是关联联邦节点。本实施例中,在当前联邦节点的图数据中任意一条边的顶点为远程顶点的情况下,建立当前联邦节点与远程顶点所属关联联邦节点的状态路由表。示例性的,如图2所示,已知联邦节点x中边(a,e)中顶点e为远程顶点,满足当前联邦节点的图数据中任一边的顶点为远程顶点,则建立联邦节点x与联邦节点y之间的状态路由表。相应的,本实施例中,在当前超步中活跃顶点的出射边的终点顶点为远程顶点的情况下,当前联邦
节点基于当前联邦节点与终点顶点对应的联邦节点创建的状态路由表向终点顶点所属关联联邦节点发送消息。示例性的,如图2所示,以顶点a为当前超步的活跃顶点,活跃顶点a的出射边包括边(a,e)与边(a,c),相应的,终点顶点分别为顶点e与顶点c,已知顶点e为远程顶点,满足在当前超步中活跃顶点的出射边的终点顶点为远程顶点这一条件,则联邦节点x根据与联邦节点y建立的状态路由表向联邦节点y发送消息。
70.在一些实施例中,消息经过多条边的传递发送到出射边对应的终点顶点,通过状态路由表来规划消息从当前联邦节点发送至终点顶点所属的关联联邦节点的线路。
71.在上述实施例的基础上,可选的,所述创建所述当前联邦节点与关联联邦节点的状态路由表,包括:基于远程顶点与各关联联邦节点确定顶点交集,基于所述顶点交集形成状态路由表。
72.本实施例中,遍历当前联邦节点图数据中的边,确定远程顶点,将远程顶点与各关联联邦节点进行求交得到顶点交集,将顶点交集作为状态路由表,当前联邦节点根据状态路由表沿着当前超步中顶点的出射边向远程顶点对应的关联联邦节点发送消息;在当前联邦节点需要远程顶点对应的关联联邦节点的信息时,远程顶点对应的关联联邦节点根据状态路由表向当前联邦节点发送消息。
73.在上述实施例的基础上,可选的,基于预设处理函数对所述上一超步的消息进行处理,包括:基于聚合函数对接收的至少一个消息进行聚合处理,得到聚合结果;基于顶点更新函数对所述当前超步中对应活跃顶点的当前状态信息和所述聚合结果进行处理,得到处理结果。
74.本实施例中,在接收到上一超步发送的消息后,基于聚合函数对接收的消息进行聚合处理,得到聚合结果;基于顶点更新函数对当前超步中活跃顶点的当前状态信息进行更新得到更新状态信息,并基于顶点更新函数对聚合结果进一步处理得到消息接收总表。本实施例中,上一超步在发送消息之前,通过聚合函数对待发送消息进行本地聚合,以减少全局通讯量,提高消息发送的效率。
75.在上述实施例的基础上,可选的,所述聚合函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数;所述顶点更新函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数。
76.本实施例中,聚合函数可以是比对函数、代数运算函数、逻辑运算函数中的一项或者多项,这里不做限定;同样的,顶点更新函数可以是比对函数、代数运算函数、逻辑运算函数等函数中的一项或者多项,这里不做限定。其中,代数运算函数包括但不限于指数函数、对数函数、加法函数等,对此不做限定;逻辑运算函数包括但不限于与运算函数、或运算函数等,这里不做限定。
77.在上述实施例的基础上,可选的,在所述当前联邦节点基于所述图数据中所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之前,所述方法还包括:基于所述图数据中所述当前超步中活跃顶点的出射边,以及所述出射边对应的起始顶点和终止顶点生成三元组数据,并基于所述三元组数据生成待发送消息;相应的,向所述出射边对应顶点所属关联联邦节点发送消息,包括:将所述待发送消息发送至所述出射边对应顶点所属关联联邦节点。
78.其中,起始顶点是指当前超步中的活跃顶点,相应的,终止顶点是指当前超步中的
活跃顶点的出射边对应顶点,本实施例中,以当前超步中活跃顶点的信息为起始顶点信息,活跃顶点的出射边信息为出射边信息,活跃顶点出射边对应顶点信息为终止顶点信息组成三元组数据,并基于三元组数据与发送函数生成待发送消息,当前联邦节点基于状态路由表沿着当前超步中活跃顶点的出射边,将待发送消息发送至出射边对应顶点所属关联联邦节点;其中,三元组数据中的起始顶点信息、出射边信息以及终止顶点信息与具体计算任务相关,且信息值皆可为空;待发送消息是指向出射边对应顶点所属关联联邦节点发送的消息。
79.在上述实施例的基础上,可选的,所述联邦图计算系统中的至少两个联邦节点包括任务发起节点;在所述当前联邦节点基于所述图数据中所述目标顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之后,所述方法还包括:向所述任务发起节点发送信息发送统计信息,以使任务发起节点统计迭代次数和/或确定当前次信息发送量,并确定当前超步是否满足停止条件。
80.其中,任务发起节点是指发起当前任务的联邦节点,联邦图计算系统中任一联邦节点都可作为任务发起节点,各联邦节点之间为平等的关系,当有联邦节点发起任务时,该联邦节点作为任务发起节点,其余联邦节点仅作为图数据提供方。本实施例中,在步骤s130之后,通过聚合函数对发送消息进行聚合,得到信息发送统计信息,并向任务发起节点发送信息发送统计信息,以使任务发起节点统计迭代次数和/或确定当前次信息发送量,并根据当前超步的迭代次数和/或当前次信息发送量确定当前超步是否满足停止条件。其中,当前次信息发送量是指当前超步的信息发送量。
81.在上述实施例的基础上,可选的,所述停止条件包括迭代次数达到预设迭代阈值,或者,当前次信息发送量为零。
82.本实施例中,根据当前超步的迭代次数和/或当前次信息发送量确定当前超步是否满足停止条件,当当前超步的迭代次数达到预设迭代阈值时,停止迭代,完成迭代计算过程;或者,当当前次信息发送量为零时,停止迭代,完成迭代计算过程。
83.在上述实施例的基础上,可选的,各顶点之间的消息为经过加密处理后的消息。
84.本实施例中,在各个顶点之间发送消息之前,联邦节点对消息进行加密处理,各顶点之间发送的消息为加密后的消息,可选的,可以通过安全多方计算技术(multi-party computation,mpc)实现消息的加密处理,也可以通过混淆电路实现消息的加密处理,这里不做限定。
85.本实施例的技术方案,通过在将联邦学习与图计算结合,实现在联邦学习架构下进行图计算,解决了图计算在应用于联邦学习时效率低下的问题,在联邦学习架构下,各联邦节点形成的图数据相同,无需对图数据进行聚合,提高了图计算在联邦学习架构下的效率;同时,联邦图计算系统中各联邦节点在发送消息之前对消息进行加密处理,避免了数据泄露的问题,加强了对数据的保护。
86.在上述实施例的基础上,可选的,联邦图计算系统的计算任务为确定单源最短路径;所述图数据中包括多个对象和各对象之间的关联关系,所述上一超步中活跃顶点的消息包括所述上一超步中活跃顶点与源对象之间的最短距离,所述当前超步中对应活跃顶点的顶点状态包括当前超步中对应活跃顶点与源对象之间的最短距离。
87.本实施例中,以确定单源最短路径为联邦图计算系统的计算任务,在联邦图计算
系统的联邦节点加载图数据,以对象作为顶点,加载对象之间的关联关系作为边,并在加载的对象中确定源对象,当前联邦节点接收上一超步中活跃顶点与源对象之间的最短距离,基于预设处理函数、上一超步中活跃顶点与源对象之间的最短距离以及上一超步活跃顶点与当前超步活跃顶点之间的距离计算得到当前超步活跃顶点与源对象之间的距离,并将计算得到的当前超步活跃顶点与源对象之间的距离与当前超步中对应活跃顶点的顶点状态进行比较,当计算得到的当前超步活跃顶点与源对象之间的距离小于当前超步中对应活跃顶点的顶点状态时,以计算得到的当前超步中活跃顶点与源对象之间的距离更新当前超步中对应活跃顶点的顶点状态,当前联邦节点沿着当前超步中活跃顶点的出射边向出射边对应的顶点发送所属的联邦节点发送当前超步中对应活跃顶点与源对象之间的最短距离,在当前超步的信息发送量为零的情况下,停止迭代,完成迭代计算过程,每个对象对应顶点的顶点状态即为该对象与源对象之间的最短距离。其中,将第0超步对应活跃顶点与源对象之间的最短距离定义为零,并初始化预设处理函数,可选的,预设处理函数可以代数函数中的加法函数,用于计算上一超步中活跃顶点与源对象之间的最短距离与上一超步活跃顶点与当前超步活跃顶点之间的距离之和,得到当前超步中活跃顶点与源对象之间的距离。
88.图3为本发明实施例提供的一种联邦图计算的配置方法的流程图,本实施例是对上述实施例中联邦图计算方法的应用,该方法适用于任意图计算应用场景。如图3所示,该方法包括:
89.s210、获取计算规则模板与配置文件,其中,所述计算规则模板中预设处理函数字段为空;所述配置文件中包括预设处理函数。
90.s220、基于所述配置文件对所述计算规则模板进行更新,得到图计算规则,并配置在各联邦节点,所述图计算规则应用在当前场景下,用于执行本发明任意实施例提供的联邦图计算方法。
91.其中,计算规则模板是指生成图计算规则的模板,该计算规则模板中预设处理函数字段为空,基于当前应用场景设置与当前应用场景相应的配置文件,配置文件中包括用于更新计算规则模板的预设处理函数,将预设处理函数添加到计算规则模板的预设处理函数字段,得到与当前应用场景相应的图计算规则。
92.配置文件是指根据当前场景得到的预设处理函数,该预设处理函数配置于计算规则模板的预设处理函数字段。其中,预设处理函数包括但不限于用于对至少一个消息进行聚合处理的聚合函数、用于对活跃顶点进行状态更新的顶点更新函数、基于三元组数据生成待发送消息的发送函数等。需要说明的是,不同顶点处的上述函数可以不同,可通过配置文件预先设置。
93.本实施例中,分别获取计算规则模板与配置文件,将配置文件中的预设处理函数添加到计算规则模块中的预设处理函数字段,更新计算规则模板得到图计算规则,并将图计算规则配置在当前应用场景对应的联邦图计算系统的联邦节点中,基于图计算规则处理任意任务发起节点发起的计算任务。
94.本实施例的技术方案,通过设置计算规则模板,作为联邦图计算框架,可通过配置文件形成不同计算任务或不同计算场景下的联邦图计算规则,提高了联邦图计算框架的复用率,简化了联邦图计算规则的生成过程。在计算规则模板中配置相应的预处理函数,生成应用于当前场景的图计算规则,使得联邦图计算在实际场景中的应用简单化,仅需更新预
处理函数就能够得到与当前场景相适应的图计算规则,提高了联邦图计算开发的效率。
95.图4为本发明实施例提供的一种联邦图计算装置的结构示意图。该装置应用于联邦图计算系统中的联邦节点,所述联邦图计算系统中包括至少两个联邦节点,如图4所示,该装置包括:
96.图数据加载模块310用于当前联邦节点加载图数据,其中,所述图数据中包括顶点和边,具有关联关系的顶点通过边连接;
97.消息处理模320块用于所述当前联邦节点接收上一超步中活跃顶点的消息,并基于预设处理函数对所述上一超步的消息进行处理,基于处理结果更新当前超步中对应活跃顶点的顶点状态,其中,所述上一超步中的活跃顶点与所述当前超步中对应活跃顶点存在关联关系;
98.消息发送模块330用于所述当前联邦节点基于所述图数据中的所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息;
99.迭代停止模块340用于在当前超步满足停止条件的情况下,完成迭代计算过程。
100.可选的,该装置还包括:状态路由表创建模块用于在所述当前联邦节点的图数据中任一边的顶点为远程顶点的情况下,创建所述当前联邦节点与所述远程顶点所属关联联邦节点的状态路由表;相应的,消息发送模块330还用于在所述当前超步中活跃顶点的出射边的终点顶点为远程顶点的情况下,基于所述状态路由表向所述出射边对应顶点所属关联联邦节点发送消息。
101.可选的,状态路由表创建模块还用于基于远程顶点与各关联联邦节点确定顶点交集,基于所述顶点交集形成状态路由表。
102.可选的,消息处理模320还用于基于聚合函数对接收的至少一个消息进行聚合处理,得到聚合结果;基于顶点更新函数对所述当前超步中对应活跃顶点的当前状态信息和所述聚合结果进行处理,得到处理结果。
103.可选的,所述聚合函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数;所述顶点更新函数包括如下的一项或多项:比对函数、代数运算函数、逻辑运算函数。
104.可选的,在所述当前联邦节点基于所述图数据中所述当前超步中活跃顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之前,该装置还包括:待发送消息生成模块用于基于所述图数据中所述当前超步中活跃顶点的出射边,以及所述出射边对应的起始顶点和终止顶点生成三元组数据,并基于所述三元组数据生成待发送消息;相应的,消息发送模块330还用于将所述待发送消息发送至所述出射边对应顶点所属关联联邦节点。
105.可选的,述联邦图计算系统中的至少两个联邦节点包括任务发起节点;在所述当前联邦节点基于所述图数据中所述目标顶点的出射边,向所述出射边对应顶点所属关联联邦节点发送消息之后,该装置还包括:统计信息发送模块用于向所述任务发起节点发送信息发送统计信息,以使任务发起节点统计迭代次数和/或确定当前次信息发送量,并确定当前超步是否满足停止条件。
106.可选的,所述停止条件包括迭代次数达到预设迭代阈值,或者,当前次信息发送量为零。
107.可选的,各顶点之间的消息为经过加密处理后的消息。
108.可选的,联邦图计算系统的计算任务为确定单源最短路径;所述图数据中包括多个对象和各对象之间的关联关系,所述上一超步中活跃顶点的消息包括所述上一超步中活跃顶点与源对象之间的最短距离,所述当前超步中对应活跃顶点的顶点状态包括当前超步中对应活跃顶点与源对象之间的最短距离。
109.本发明实施例所提供的联邦图计算装置可执行本发明任意实施例所提供的联邦图计算方法,具备执行方法相应的功能模块和有益效果。
110.图5为本发明实施例提供的一种联邦图计算的配置装置的结构示意图。如图5所示,该装置包括:
111.获取模块410用于获取计算规则模板与配置文件,其中,所述计算规则模板中预设处理函数字段为空;所述配置文件中包括预设处理函数。
112.计算规则模板更新模块420用于基于所述配置文件对所述计算规则模板进行更新,得到图计算规则,并配置在各联邦节点,所述图计算规则应用在当前场景下,用于执行本发明任意实施例提供的联邦图计算方法。
113.本发明实施例所提供的联邦图计算的配置装置可执行本发明任意实施例所提供的联邦图计算的配置方法,具备执行方法相应的功能模块和有益效果。
114.图6是本发明实施例提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
115.如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
116.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
117.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如联邦图计算方法和/或联邦图计算的配置方法。
118.在一些实施例中,联邦图计算方法和/或联邦图计算的配置方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备
10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的联邦图计算方法和/或联邦图计算的配置方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行联邦图计算方法和/或联邦图计算的配置方法。
119.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
120.用于实施本发明的联邦图计算方法和/或联邦图计算的配置方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
121.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行一种联邦图计算方法,应用于联邦图计算系统中的联邦节点,所述联邦图计算系统中包括至少两个联邦节点,该方法包括:
122.当前联邦节点加载图数据,其中,图数据中包括顶点和边,具有关联关系的顶点通过边连接;当前联邦节点接收上一超步中活跃顶点的消息,并基于预设处理函数对上一超步的消息进行处理,基于处理结果更新当前超步中对应活跃顶点的顶点状态,其中,上一超步中的活跃顶点与当前超步中对应活跃顶点存在关联关系;当前联邦节点基于图数据中的当前超步中活跃顶点的出射边,向出射边对应顶点所属关联联邦节点发送消息;其中,在当前超步满足停止条件的情况下,完成迭代计算过程。
123.和/或,执行一种联邦图计算的配置方法,该方法包括:
124.获取计算规则模板与配置文件,其中,计算规则模板中预设处理函数字段为空;配置文件中包括预设处理函数;基于配置文件对计算规则模板进行更新,得到图计算规则,并配置在各联邦节点,图计算规则用于执行本发明实施例中任一的联邦图计算方法。
125.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
126.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
127.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
128.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
129.本发明实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现如本发明任一实施例所提供的联邦图计算方法和/或联邦图计算的配置方法。
130.计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
131.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献