一种数据协同方法、装置及通信设备与流程

文档序号:33458102发布日期:2023-03-15 02:59阅读:28来源:国知局
一种数据协同方法、装置及通信设备与流程

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.图1是本技术实施例提供的一种数据协同方法的流程示意图;
34.图2是本技术实施例提供的一种异步双网络架构的结构示意图;
35.图3是本技术实施例提供的另一种数据协同方法的流程示意图;
36.图4是本技术实施例提供的一种协同计算会话的流程示意图;
37.图5是本技术实施例提供的一种数据协同装置的结构示意图;
38.图6是本技术实施例提供的另一种数据协同装置的结构示意图;
39.图7是本技术实施例提供的另一种数据协同装置的结构示意图;
40.图8是本技术实施例提供的另一种数据协同装置的结构示意图;
41.图9是本技术实施例提供的另一种数据协同装置的结构示意图;
42.图10是本技术实施例提供的另一种数据协同装置的结构示意图;
43.图11是本技术实施例提供的另一种数据协同装置的结构示意图;
44.图12是本技术实施例提供的另一种数据协同装置的结构示意图;
45.图13是本技术实施例提供的另一种数据协同装置的结构示意图;
46.图14是本技术实施例提供的一种通信设备的结构示意图;
47.图15是本技术实施例提供的另一种通信设备的结构示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本技术保护的范围。
49.本技术实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本技术中使用“和/或”表示所连接对象的至少其中之一,例如a和/或b和/或c,表示包含单独a,单独b,单独c,以及a和b都存在,b和c都存在,a和c都存在,以及a、b和c都存在的7种情况。
50.请参阅图1,图1是本技术实施例提供的一种数据协同方法的流程示意图,如图1所示,包括以下步骤:
51.步骤101、第一联邦学习节点向第二联邦学习节点发送协同计算会话请求消息,以及向第一区块链节点发送第一消息摘要,所述第一消息摘要基于所述协同计算会话请求消息确定。
52.其中,上述第一联邦学习节点通过上述第一区块链节点将上述第一消息摘要在区块链中广播和记账,上述联邦学习节点及其对应的区块链节点可以位于同一物理设备,也可以分别位于两个物理设备,例如:如图2所示,上述各节点中的客户对应为上述联邦学习节点,上述各节点中的协同者对应为上述区块链节点,上述各节点中的客户节点和协同者节点可以位于同一物理实体,也可以分别位于两个物理实体,上述各节点中的客户构成平等地位的联邦学习网络,上述各节点中的协同者构成平等地位的区块链网络。
53.可以理解,上述第一消息摘要为上述协同计算会话请求消息以消息摘要形式发送给上述第一区块链节点的消息,具体的,可以通过哈希函数将上述协同计算会话请求消息变成固定长度的短消息,通过将上述协同计算会话请求消息以上述第一消息摘要的形式在上述区块链中广播和记账,从而在上述区块链网络中形成可信区块存储。并且,不同消息的消息摘要也不同,同样消息的消息摘要一致,因而将上述第一消息摘要在上述区块链网络中形成可信区块存储后,可以通过上述第一消息摘要验证上述协同计算会话请求消息。
54.步骤102、所述第一联邦学习节点接收所述第二联邦学习节点发送的协同计算会话应答消息。
55.可以理解,上述协同计算会话应答消息与上述协同计算会话请求消息对应,上述第一联邦学习节点可以通过上述协同计算会话应答消息确定上述第二联邦学习节点是否同意进行协同计算会话。
56.步骤103、在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,所述第一联邦学习节点与所述第二联邦学习节点进行协同交互。
57.上述协同交互过程中,上述第一联邦学习节点和上述第二联邦学习节点交互的消息均为加密后的消息,以防止各节点本地数据的泄露,加强数据的隐私性和安全性。
58.步骤104、所述第一联邦学习节点向所述第一区块链节点发送第二消息摘要,所述第二消息摘要基于所述协同交互的过程中所述第一联邦学习节点发送的第一协同计算消息确定;
59.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,所述第一消息摘要和所述第二消息摘要用于所述第一区块链节点在所述区块链中区块广
播和记账。
60.在上述第一联邦学习节点与上述第二联邦学习节点进行协同交互的过程中,上述第一联邦学习节点向上述第二联邦学习节点发送上述第一协同计算消息时,向上述第一区块链节点发送上述第二消息摘要,上述第二消息摘要为上述第一协同计算消息以消息摘要形式发送给第一区块链节点的消息;若上述第一联邦学习节点与上述第二联邦学习节点之间进行了多次交互,在每一次上述第一联邦学习节点向上述第二联邦学习节点发送协同计算消息时,也会向上述第一区块链节点发送对应的消息摘要,在上述协同交互完成后,发起协同计算会话的上述第一联邦学习节点可以获取其期望的协同计算会话的计算结果。
61.可以理解,在上述步骤101至步骤104中,上述第一联邦学习节点向上述第二联邦学习节点发送的消息,都会以消息摘要的形式向上述第一区块链节点发送,从而实现对图1中上述第一联邦学习节点执行每一步骤的区块链存证。
62.在一些实施例中,上述协同计算会话过程结束后,若上述第二联邦学习节点需要安全审计,可以通过提取上述区块链中存证的上述协同计算会话过程的相应数据进行校验,确定上述协同计算会话过程是否合规和安全。
63.另外,上述第一联邦学习节点都是以消息摘要的形式向上述第一区块链节点发送消息,这样上述第一区块链节点将对应的消息摘要进行区块链区块广播和上链即可,即区块信息中仅仅记录消息摘要形式的消息,上述区块链中区块信息的记录数据量减少,可以减少生成区块的代价,提高区块生成的效率,以更好地适应对上述联邦学习网络中的会话过程中交互消息的实时存证需求。
64.本技术实施例中,通过第一联邦学习节点向第二联邦学习节点发送协同计算会话请求消息,以及向第一区块链节点发送第一消息摘要;所述第一联邦学习节点接收所述第二联邦学习节点发送的协同计算会话应答消息;在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,所述第一联邦学习节点与所述第二联邦学习节点进行协同交互;所述第一联邦学习节点向所述第一区块链节点发送第二消息摘要;其中,所述第一消息摘要和所述第二消息摘要用于所述第一区块链节点在所述区块链中区块广播和记账。相对于现有技术将联邦学习中所有的交互数据均通过区块链节点进行区块广播和记账,本技术中所述第一联邦学习节点基于向所述第二联邦学习节点发送的每一消息确定对应的消息摘要,将消息摘要发送至所述第一区块链节点,并通过所述第一区块链节点将消息摘要在区块链中区块广播和记账,实现所述区块链对联邦学习中交互数据的可信化存证,减少了联邦学习节点向区块链节点发送的数据量,从而提高联邦学习过程的效率。
65.另外,所述第一联邦学习节点通过与所述第二联邦学习节点的协同交互可以实现所述联邦学习网络的协同计算需求,并通过所述第一区块链节点将所述第一联邦学习节点的执行步骤进行区块链区块广播和记账,可以实现所述联邦学习网络中节点执行步骤的可信化存证和审计。
66.可选的,步骤101中所述第一联邦学习节点向第二联邦学习节点发送协同计算会话请求消息之前,所述方法还可以包括以下步骤:
67.所述第一联邦学习节点向所述第一区块链节点发送查询请求,所述查询请求用于所述第一区块链节点获取节点数据集合,以及所述第一区块链节点在所述区块链中区块广播和记账,所述节点数据集合包括所述联邦学习网络内所有联邦学习节点可共享数据的元
数据以及支持的协同计算协议;
68.所述第一联邦学习节点接收所述第一区块链节点响应于所述查询请求发送的所述节点数据集合;
69.所述第一联邦学习节点基于所述节点数据集合确定所述第二联邦学习节点。
70.其中,上述联邦学习网络内所有联邦学习节点可共享数据的元数据,可以具体包括数据快照id、标签(tag)和字段信息等,每一联邦学习节点可共享数据保存在本地,并通过区块链中存储的元数据描述对应的可共享数据,避免联邦学习节点数据的泄露。
71.可以理解,上述区块链网络中可以记录上述节点数据集合,上述节点数据集合具体可以包括上述联邦学习网络内所有联邦学习节点可共享数据的元数据以及支持的协同计算协议。在上述第一联邦学习节点发起上述协同计算会话之前,可以通过查询上述区块链网络中记录的上述节点数据集合,根据本次协同计算会话的实际需要选定参与本次协同计算会话的另一方,即上述第二联邦学习节点。选定上述第二联邦学习节点作为参与协同计算会话的另一方之后,向上述第二联邦学习节点发送上述协同计算会话请求消息,以请求上述第二联邦学习节点参与上述协议计算会话,若上述第二联邦学习节点同意参与,上述第一联邦学习节点即可与上述第二联邦学习节点进行协同交互,实现所述联邦学习网络的协同计算需求。
72.可选的,所述第一联邦学习节点向所述第一区块链节点发送查询请求之前,所述方法还包括:
73.所述第一联邦学习节点向所述第一区块链节点发送第一注册信息,所述第一注册信息包括所述第一联邦学习节点可共享数据的第一元数据以及支持的第一协同计算协议集合,所述第一注册信息用于所述第一区块链节点在所述区块链中区块广播和记账。
74.该实施方式中,通过所述第一联邦学习节点向所述第一区块链节点发送第一注册信息,所述第一注册信息包括所述第一联邦学习节点可共享数据的第一元数据以及支持的第一协同计算协议集合,所述第一注册信息用于所述第一区块链节点在所述区块链中区块广播和记账,可以实现所述区块链对所述第一联邦学习节点可共享数据的第一元数据以及支持的第一协同计算协议集合的分布式存储。
75.另外,通过将所述第一联邦学习节点可共享数据的第一元数据发送至所述第一区块链节点,所述第一区块链节点通过将所述第一元数据进行区块广播和记账,记录所述第一联邦学习节点可共享数据,避免所述联邦学习节点可共享数据的泄露的同时,可以减少区块链中区块信息的记录数据量,减少生成区块的代价,提高区块生成的效率,从而使所述区块链网络可以适应所述联邦学习网络中协同计算会话中交互的实时存证需求。
76.可选的,步骤101中所述第一联邦学习节点向第二联邦学习节点发送协同计算会话请求消息之前,所述方法还可以包括以下步骤:
77.所述第一联邦学习节点基于所述节点数据集合获取所述第二联邦学习节点可共享的第二元数据和支持的第二协同计算协议集合;
78.所述第一联邦学习节点与所述第二联邦学习节点协商确定目标协同计算协议;
79.其中,所述目标协同计算协议用于所述第一联邦学习节点和所述第二联邦学习节点执行所述协同交互,所述第一协同计算协议集合和所述第二协同计算协议集合均包含所述目标协同计算协议。
80.可以理解,上述目标协同计算协议属于上述第一协同计算协议集合与上述第二协同计算协议集合的交集,即上述目标协同计算协议为上述第一联邦学习节点和上述第二联邦学习节点均支持的协同计算协议,这样,在上述协同交互的过程中,上述第一联邦学习节点与上述第二联邦学习节点可以通过双方均支持的上述目标协同计算协议进行交互。
81.具体的,上述第一联邦学习节点与上述第二联邦学习节点协商确定目标协同计算协议可以包括,确定上述目标协同计算协议以及确定上述协同交互过程中使用上述目标协同计算协议的具体参数等细节。
82.该实施方式中,通过所述第一联邦学习节点基于所述节点数据集合获取所述第二联邦学习节点可共享的第二元数据和支持的第二协同计算协议集合,并与所述第二联邦学习节点协商确定目标协同计算协议,且所述第一协同计算协议集合和所述第二协同计算协议集合均包含所述目标协同计算协议,从而所述第一联邦学习节点与所述第二联邦学习节点均可以通过所述目标协同计算协议执行所述协同交互。
83.可选的,步骤101中所述第一联邦学习节点向第二联邦学习节点发送协同计算会话请求消息,以及向第一区块链节点发送第一消息摘要,具体可以包括:
84.所述第一联邦学习节点使用第一线程在第一时刻向第二联邦学习节点发送协同计算会话请求消息,并使用第二线程在所述第一时刻向第一区块链节点发送第一消息摘要,所述第一线程和所述第二线程属于同一进程;
85.所述第一联邦学习节点向所述第一区块链节点发送第二消息摘要,包括:
86.所述第一联邦学习节点使用第三线程在第二时刻向所述第一区块链节点发送第二消息摘要,所述第二时刻为所述第一联邦学习节点使用第四线程与所述第二联邦学习节点进行协同交互的时刻,所述第三线程和所述第四线程属于同一进程。
87.上述第一联邦学习节点向上述第二联邦学习节点发送上述协同计算会话请求消息,可以理解为上述第一联邦学习节点在上述联邦学习网络中发起协同计算会话;上述第一联邦学习节点向上述第一区块链节点发送第一消息摘要,可以理解为通过上述第一区块链节点将上述第一联邦学习节点发起协同计算会话的动作进行区块链广播和记账。上述第一联邦学习节点通过使用第一线程在第一时刻向第二联邦学习节点发送协同计算会话请求消息,并使用第二线程在所述第一时刻向第一区块链节点发送第一消息摘要,即上述第一联邦学习节点向上述第二联邦学习节点发送协同计算会话请求消息的同时,向上述第一区块链节点发送上述第一消息摘要,并且可以将上述第一联邦学习节点在上述联邦学习网络中发起协同计算会话的过程与上述第一区块链节点在上述区块链网络中进行区块广播和记账的过程异步执行,避免上述区块链网络的引入对现有的联邦学习过程效率的影响。
88.上述第一联邦学习节点与上述第二联邦学习节点进行协同交互,可以理解为上述第一联邦学习节点与上述第二联邦学习节点在上述联邦学习网络中进行协同计算会话;上述第一联邦学习节点向上述第一区块链节点发送第二消息摘要,可以理解为通过上述第一区块链节点将上述第一联邦学习节点执行协同交互的动作进行区块链广播和记账。上述第一联邦学习节点使用第三线程在第二时刻向上述第一区块链节点发送第二消息摘要,并且上述第二时刻为上述第一联邦学习节点使用第四线程与所述第二联邦学习节点进行协同交互的时刻,即上述第一联邦学习节点与上述第二联邦学习节点进行协同交互的同时,向上述第一区块链节点发送上述第二消息摘要,并且可以将上述第一联邦学习节点在上述联
邦学习网络中进行协同计算会话的过程与上述第一区块链节点在上述区块链网络中进行区块广播和记账的过程异步执行,避免上述区块链网络的引入对现有的联邦学习过程效率的影响。
89.该实施方式中,所述第一联邦学习节点使用第一线程在第一时刻向第二联邦学习节点发送协同计算会话请求消息,并使用第二线程在所述第一时刻向第一区块链节点发送第一消息摘要,所述第一线程和所述第二线程属于同一进程;所述第一联邦学习节点使用第三线程在第二时刻向所述第一区块链节点发送第二消息摘要,所述第二时刻为所述第一联邦学习节点使用第四线程与所述第二联邦学习节点进行协同交互的时刻,所述第三线程和所述第四线程属于同一进程。所述第一联邦学习节点与所述第二联邦学习节点在所述联邦学习网络中的交互过程,均可以通过所述第一区块链节点在所述区块链网络中进行区块广播和记账,并且所述联邦学习网络中的交互过程与所述区块链网络中的区块广播和记账过程是异步的,可以避免区块链的引入对现有的联邦学习训练过程效率的负面影响。
90.可选的,所述第二消息摘要用于所述第一区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
91.在一些实施例中,上述第一联邦学习节点与上述第二联邦学习节点进行上述协同交互的过程中,双方交互次数较多,即交互消息的实时存证需求较大,在上述第一区块链节点中,通过数据缓冲机制将上述协同交互过程中第二协同计算消息对应的第二消息摘要在上述区块链中区块广播和记账,例如:上述第一区块链节点可以将上述第一联邦学习网络发送的上述第二消息摘要放入消息队列中,可以避免由于双方处理速度不同导致的消息丢失可能。
92.该实施方式中,所述第二消息摘要用于所述第一区块链节点通过数据缓冲机制在所述区块链中区块广播和记账,所述第一区块链节点可以通过数据缓冲机制将所述第一联邦学习节点发送的所述第二消息摘要在所述区块链中区块广播和记账,在所述第一联邦学习节点在所述协同交互的过程中交互次数较多的情况下,所述第一区块链节点接收所述第二消息摘要数据较多,避免对所述第二消息摘要进行区块广播和记账的处理速度较慢导致的消息丢失可能。
93.需要说明的是,本技术实施例中介绍的多种可选的实施方式,彼此可以相互结合实现,也可以单独实现,对此本技术实施例不作限定。
94.请参阅图3,图3是本技术实施例提供的另一种数据协同方法的流程示意图,如图3所示,包括以下步骤:
95.步骤301、第二联邦学习节点接收第一联邦学习节点发送的协同计算会话请求消息。
96.步骤302、所述第二联邦学习节点向所述第一联邦学习节点发送协同计算会话应答消息,以及向第二区块链节点发送第三消息摘要,所述第三消息摘要基于所述协同计算会话应答消息确定。
97.步骤303、在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,所述第二联邦学习节点与所述第一联邦学习节点进行协同交互。
98.步骤304、所述第二联邦学习节点向所述第二区块链节点发送第四消息摘要,所述第四消息摘要基于所述协同交互的过程中所述第二联邦学习节点发送的第二协同计算消
息确定;
99.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,所述第三消息摘要和所述第四消息摘要用于所述第二区块链节点在区块链中区块广播和记账。
100.上述步骤的实现方式可以参见图1中方法实施例的描述,为避免重复,此处不再赘述。
101.可选的,所述第二联邦学习节点接收第一联邦学习节点发送的协同计算会话请求消息之前,所述方法还包括:
102.所述第二联邦学习节点向所述第二区块链节点发送第二注册信息,所述第二注册信息包括所述第二联邦学习节点可共享数据的第二元数据以及支持的第二协同计算协议集合,所述第二注册信息用于所述第二区块链节点在所述区块链中进行区块广播和记账。
103.可选的,所述第二联邦学习节点接收第一联邦学习节点发送的协同计算会话请求消息之前,所述方法还包括:
104.所述第二联邦学习节点与所述第一联邦学习节点协商确定目标协同计算协议;
105.其中,所述目标协同计算协议用于所述第二联邦学习节点与所述第一联邦学习节点执行所述协同交互,所述第二协同计算协议集合包括所述目标协同计算协议。
106.可选的,所述第二联邦学习节点向所述第一联邦学习节点发送协同计算会话应答消息,以及向第二区块链节点发送第三消息摘要,包括:
107.所述第二联邦学习节点使用第五线程在第三时刻向所述第一联邦学习节点发送协同计算会话应答消息,并使用第六线程在所述第三时刻向第二区块链节点发送所述第三消息摘要,所述第五线程和所述第六线程属于同一进程;
108.所述第二联邦学习节点向所述第二区块链节点发送第四消息摘要,包括:
109.所述第二联邦学习节点使用第七线程在第四时刻向所述第二区块链节点发送所述第四消息摘要,所述第四时刻为所述第二联邦学习节点使用第八线程与所述第一联邦学习节点进行协同交互的时刻,所述第七线程和所述第八线程属于同一进程。
110.可选的,所述第四消息摘要用于所述第二区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
111.需要说明的是,本实施例作为与图1所示实施例对应的第二联邦学习节点的实施方式,其具体实施方式可以参见图1所示实施例中的相关介绍,为避免重复,此处不再赘述。
112.需要说明的是,本技术实施例中介绍的多种可选的实施方式,在彼此不冲突的情况下可以相互结合实现,也可以单独实现,对此本技术实施例不作限定。
113.为方便理解,具体示例如下:
114.本技术还提供一种协同计算会话的交互过程,应用于一种异步双网络架构中,如图2所示,上述异步双网络架构包括多个联邦学习参与节点以平等地位相互连接组成一个多方协同计算网络,每个联邦学习参与节点分为客户(client)以及协同者(coordinator)两个逻辑节点,所有联邦学习参与节点的客户组成一个去中心化联邦学习网络,负责联邦学习会话的发起,训练执行以及应用等管理任务;所有联邦学习参与节点的协同者组成一个去中心化联盟链网络,负责联邦学习共享数据及节点能力的分布式账本的管理,以及联邦学习会话的可信存证及审计。
115.如图3所示,以两个联邦学习参与节点进行协同计算会话为例,联邦学习过程中,参与方在不共享数据的前提下通过交换加密的数据进行协同交互,上述协同计算会话的交互具体可以包括以下过程:
116.步骤1,联邦学习参与节点客户a和客户b分别向其对应的协同者进行注册登记,告知协同者本节点可共享数据的元数据消息(数据快照id、标签和字段信息等),以及本节点可支持的协同计算协议等情况;
117.步骤2,对应的协同者收到注册登记消息后执行区块广播以及记账过程,即在联盟链网络广播,并通过相应竞争机制形成区块进行记录,从而生成针对全网共享数据以及节点的协议支持能力(节点可支持协议)的分布式管理信息;
118.步骤3,联邦学习参与节点客户a作为协同计算的发起方,通过相应的协同者a查询网络中可共享数据及其拥有者节点的协议支持能力信息;
119.步骤4,协同者a收到查询请求后返回网络中可共享数据及其拥有者节点的协议支持能力信息,并执行区块广播以及记账过程,记录联邦学习参与节点客户a的查询动作;
120.步骤5,客户a根据特定协同计算目标选定客户b作为协同计算参与另一方,生成隐私会话请求消息(包括双方的参与数据快照id,采用的协议及参数等信息)向客户b请求开始会话;
121.步骤6,联邦学习参与节点客户a向客户b发送会话请求消息的同时,将会话请求消息以消息摘要形式发送给相应协同者a;协同者a执行区块广播以及记账过程,记录联邦学习参与节点客户a请求b建立会话的动作;
122.步骤7,联邦学习参与节点客户b作为协同计算的参与方,收到客户a的会话请求后,发送隐私会话应答消息给客户a表示是否允许,允许的情况下双方协商协同会话的交互协议及协议具体参数等细节;
123.步骤8,联邦学习参与节点客户b发送隐私会话应答消息给客户a的同时,将隐私会话应答消息以消息摘要形式发送给相应协同者b;协同者b执行区块广播以及记账过程,记录联邦学习参与节点客户b回应a会话请求的动作;
124.步骤9,联邦学习参与节点客户a在收到客户b允许会话的隐私会话应答消息,并就会话交互协议达成一致后开始协同交互过程,客户a发送隐私计算协议消息给客户b,同时将该隐私计算协议消息以消息摘要形式发送给相应协同者a;协同者a执行区块广播以及记账过程,记录联邦学习参与节点客户a和b的交互动作;
125.步骤10,同样的,联邦学习参与节点客户b发送隐私计算协议消息给客户a,同时将该隐私计算协议消息以消息摘要形式发送给相应协同者b;协同者b执行区块广播以及记账过程,记录联邦学习参与节点客户b和a的交互动作;
126.步骤11,重复步骤9和步骤10直到整个隐私会话的协同交互结束,客户a得到其期望的隐私计算结果,同时联盟链网络记录了整个a和b间隐私会话的双方参与数据,协议以及协同交互消息内容的摘要消息。
127.其中,联邦学习网络中各个节点客户之间的协议交互过程和联盟链网络各个节点协同者之间的区块广播记账过程是完全异步的,具体的,联邦学习参与节点的客户通过协同者得知其他参与节点客户可用数据及其支持的交互协议列表,根据协同计算任务目标发起和其他客户端的协同计算会话,在执行会话任务的同时会异步地将其任务内容以消息摘
要的形式发送给相应协同者,协同者将该消息摘要发送给联盟链网络中其他协同者并通过竞争记录形成可信区块存储。
128.节点协同者在接受客户消息时采用缓冲机制,可以避免联邦学习过程和区块链安全存证过程由于双方处理速度不同导致的消息丢失可能,同时可以避免联盟链的引入对现有的联邦学习训练过程效率的任何负面影响。
129.本技术实施例中,所述联邦学习网络中的所述第一联邦学习节点和所述第二联邦学习节点进行协同计算会话过程中,通过所述联盟链网络实现所述联邦学习网络中各节点可共享数据以及节点能力的分布式存储,以及实现协同计算会话过程的可信化存证和审计;所述联盟链网络中的区块信息仅仅记录联邦学习节点参与数据情况、协同计算的协议以及协同交互中消息内容的摘要消息,减少了生成区块的代价,提高了区块生成的效率,可以适应联邦学习模型训练会话过程中双方迭代交互上万次的实时存证需求。
130.请参阅图5,图5是本技术实施例提供的一种数据协同装置的结构示意图,应用于第一联邦学习节点,如图5所示,数据协同装置500包括:
131.第一发送模块501,用于向第二联邦学习节点发送协同计算会话请求消息,以及向第一区块链节点发送第一消息摘要,所述第一消息摘要基于所述协同计算会话请求消息确定;
132.第一接收模块502,用于接收所述第二联邦学习节点发送的协同计算会话应答消息;
133.第一交互模块503,用于在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,与所述第二联邦学习节点进行协同交互;
134.第二发送模块504,用于向所述第一区块链节点发送第二消息摘要,所述第二消息摘要基于所述协同交互的过程中所述第一联邦学习节点发送的第一协同计算消息确定;
135.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,所述第一消息摘要和所述第二消息摘要用于所述第一区块链节点在所述区块链中区块广播和记账。
136.可选的,如图6所示,数据协同装置500还可以包括:
137.第五发送模块505,用于向所述第一区块链节点发送查询请求,所述查询请求用于所述第一区块链节点获取节点数据集合,以及所述第一区块链节点在所述区块链中区块广播和记账,所述节点数据集合包括所述联邦学习网络内所有联邦学习节点可共享数据的元数据以及支持的协同计算协议;
138.第三接收模块506,用于接收所述第一区块链节点响应于所述查询请求发送的所述节点数据集合;
139.第一确定模块507,用于基于所述节点数据集合确定所述第二联邦学习节点。
140.可选的,如图7所示,数据协同装置500还可以包括:
141.第六发送模块508,用于向所述第一区块链节点发送第一注册信息,所述第一注册信息包括所述第一联邦学习节点可共享数据的第一元数据以及支持的第一协同计算协议集合,所述第一注册信息用于所述第一区块链节点在所述区块链中区块广播和记账。
142.可选的,如图8所示,数据协同装置500还可以包括:
143.第一获取模块509,用于基于所述节点数据集合获取所述第二联邦学习节点可共
享的第二元数据和支持的第二协同计算协议集合;
144.第一协商模块510,用于与所述第二联邦学习节点协商确定目标协同计算协议;
145.其中,所述目标协同计算协议用于所述第一联邦学习节点和所述第二联邦学习节点执行所述协同交互,所述第一协同计算协议集合和所述第二协同计算协议集合均包含所述目标协同计算协议。
146.可选的,如图9所示,所述第一发送模块501具体可以包括:
147.第一发送单元5011,用于使用第一线程在第一时刻向第二联邦学习节点发送协同计算会话请求消息,并使用第二线程在所述第一时刻向第一区块链节点发送第一消息摘要,所述第一线程和所述第二线程属于同一进程;
148.所述第二发送模块504具体可以包括:
149.第二发送单元5041,用于使用第三线程在第二时刻向所述第一区块链节点发送第二消息摘要,所述第二时刻为所述第一联邦学习节点使用第四线程与所述第二联邦学习节点进行协同交互的时刻,所述第三线程和所述第四线程属于同一进程。
150.可选的,所述第二消息摘要用于所述第一区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
151.数据协同装置500能够实现本技术实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
152.请参阅图10,图10是本技术实施例提供的另一种数据协同装置的结构示意图,应用于第二联邦学习节点,如图10所示,数据协同装置1000包括:
153.第二接收模块1001,用于接收第一联邦学习节点发送的协同计算会话请求消息;
154.第三发送模块1002,用于向所述第一联邦学习节点发送协同计算会话应答消息,以及向第二区块链节点发送第三消息摘要,所述第三消息摘要基于所述协同计算会话应答消息确定;
155.第二交互模块1003,用于在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,与所述第一联邦学习节点进行协同交互;
156.第四发送模块1004,用于向所述第二区块链节点发送第四消息摘要,所述第四消息摘要基于所述协同交互的过程中所述第二联邦学习节点发送的第二协同计算消息确定;
157.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,所述第三消息摘要和所述第四消息摘要用于第二区块链节点在区块链中区块广播和记账。
158.可选的,如图11所示,数据协同装置1000还可以包括:
159.第二注册模块1005,用于向所述第二区块链节点发送第二注册信息,所述第二注册信息包括所述第二联邦学习节点可共享数据的第二元数据以及支持的第二协同计算协议集合,所述第二注册信息用于所述第二区块链节点在所述区块链中进行区块广播和记账。
160.可选的,如图12所示,数据协同装置1000还可以包括:
161.第二协商模块1006,用于与所述第一联邦学习节点协商确定目标协同计算协议;
162.其中,所述目标协同计算协议用于所述第二联邦学习节点与所述第一联邦学习节点执行所述协同交互,所述第二协同计算协议集合包括所述目标协同计算协议。
163.可选的,如图13所示,所述第三发送模块1002具体可以包括:
164.第三发送单元10021,用于使用第五线程在第三时刻向所述第一联邦学习节点发送协同计算会话应答消息,并使用第六线程在所述第三时刻向第二区块链节点发送所述第三消息摘要,所述第五线程和所述第六线程属于同一进程;
165.所述第四发送模块1004具体可以包括:
166.第四发送单元10041,用于使用第七线程在第四时刻向所述第二区块链节点发送所述第四消息摘要,所述第四时刻为所述第二联邦学习节点使用第八线程与所述第一联邦学习节点进行协同交互的时刻,所述第七线程和所述第八线程属于同一进程。
167.可选的,所述第四消息摘要用于所述第二区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
168.数据协同装置1000能够实现本技术实施例中图3方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
169.本技术实施例还提供了一种通信设备,应用于第一联邦学习节点。由于通信设备解决问题的原理与本技术实施例中图1所示的数据协同方法相似,因此该通信设备的实施可以参见方法的实施,重复之处不再赘述。如图14所示,本技术实施例的通信设备,包括:第一处理器1400,用于读取第一存储器1420中的程序,执行下列过程:
170.通过第一收发机1410向第二联邦学习节点发送协同计算会话请求消息,以及向第一区块链节点发送第一消息摘要,所述第一消息摘要基于所述协同计算会话请求消息确定;
171.通过第一收发机1410接收所述第二联邦学习节点发送的协同计算会话应答消息;
172.在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,通过第一收发机1410与所述第二联邦学习节点进行协同交互;
173.通过第一收发机1410向所述第一区块链节点发送第二消息摘要,所述第二消息摘要基于所述协同交互的过程中所述第一联邦学习节点发送的第一协同计算消息确定;
174.第一收发机1410,由于在处理器1400的控制下接收和发送数据;
175.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,所述第一消息摘要和所述第二消息摘要用于所述第一区块链节点在所述区块链中区块广播和记账。
176.其中,在图14中,总线架构可以包括任意数量的互联的总线和桥,具体由第一处理器1400代表的一个或多个处理器和第一存储器1420代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。第一收发机1410可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。第一处理器1400负责管理总线架构和通常的处理,第一存储器1420可以存储第一处理器1400在执行操作时所使用的数据。
177.可选的,第一处理器1400还用于读取第一存储器1420中的程序,执行如下步骤:
178.通过第一收发机1410向所述第一区块链节点发送查询请求,所述查询请求用于所述第一区块链节点获取节点数据集合,以及所述第一区块链节点在所述区块链中区块广播和记账,所述节点数据集合包括所述联邦学习网络内所有联邦学习节点可共享数据的元数据以及支持的协同计算协议;
179.通过第一收发机1410接收所述第一区块链节点响应于所述查询请求发送的所述节点数据集合;
180.基于所述节点数据集合确定所述第二联邦学习节点。
181.可选的,第一处理器1400还用于读取第一存储器1420中的程序,执行如下步骤:
182.通过第一收发机1410向所述第一区块链节点发送第一注册信息,所述第一注册信息包括所述第一联邦学习节点可共享数据的第一元数据以及支持的第一协同计算协议集合,所述第一注册信息用于所述第一区块链节点在所述区块链中区块广播和记账。
183.可选的,第一处理器1400还用于读取第一存储器1420中的程序,执行如下步骤:
184.基于所述节点数据集合获取所述第二联邦学习节点可共享的第二元数据和支持的第二协同计算协议集合;
185.与所述第二联邦学习节点协商确定目标协同计算协议;
186.其中,所述目标协同计算协议用于所述第一联邦学习节点和所述第二联邦学习节点执行所述协同交互,所述第一协同计算协议集合和所述第二协同计算协议集合均包含所述目标协同计算协议。
187.可选的,第一处理器1400用于读取第一存储器1420中的程序,具体执行如下步骤:
188.通过第一收发机1410使用第一线程在第一时刻向第二联邦学习节点发送协同计算会话请求消息,并使用第二线程在所述第一时刻向第一区块链节点发送第一消息摘要,所述第一线程和所述第二线程属于同一进程;
189.通过第一收发机1410使用第三线程在第二时刻向所述第一区块链节点发送第二消息摘要,所述第二时刻为所述第一联邦学习节点使用第四线程与所述第二联邦学习节点进行协同交互的时刻,所述第三线程和所述第四线程属于同一进程。
190.可选的,所述第二消息摘要用于所述第一区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
191.本技术实施例提供的通信设备,可以执行上述图1所示的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
192.本技术实施例还提供了一种通信设备,应用于第二联邦学习节点。由于通信设备解决问题的原理与本技术实施例中图3所示的数据协同方法相似,因此该通信设备的实施可以参见方法的实施,重复之处不再赘述。如图15所示,本技术实施例的通信设备,包括:第二处理器1500,用于读取第二存储器1520中的程序,执行下列过程:
193.通过第二收发机1510接收第一联邦学习节点发送的协同计算会话请求消息;
194.通过第二收发机1510向所述第一联邦学习节点发送协同计算会话应答消息,以及向第二区块链节点发送第三消息摘要,所述第三消息摘要基于所述协同计算会话应答消息确定;
195.在所述协同计算会话应答消息表示同意进行协同计算会话的情况下,通过第二收发机1510与所述第一联邦学习节点进行协同交互;
196.通过第二收发机1510向所述第二区块链节点发送第四消息摘要,所述第四消息摘要基于所述协同交互的过程中所述第二联邦学习节点发送的第二协同计算消息确定;
197.第二收发机1510,由于在处理器1500的控制下接收和发送数据;
198.其中,所述第一联邦学习节点与所述第二联邦学习节点属于同一联邦学习网络,
所述第三消息摘要和所述第四消息摘要用于第二区块链节点在区块链中区块广播和记账。
199.其中,在图15中,总线架构可以包括任意数量的互联的总线和桥,具体由第二处理器1500代表的一个或多个处理器和第二存储器1520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。第二收发机1510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。第二处理器1500负责管理总线架构和通常的处理,第二存储器1520可以存储第二处理器1500在执行操作时所使用的数据。
200.可选的,第二处理器1500还用于读取第二存储器1520中的程序,执行如下步骤:
201.通过第二收发机1510向所述第二区块链节点发送第二注册信息,所述第二注册信息包括所述第二联邦学习节点可共享数据的第二元数据以及支持的第二协同计算协议集合,所述第二注册信息用于所述第二区块链节点在所述区块链中进行区块广播和记账。
202.可选的,第二处理器1500还用于读取第二存储器1520中的程序,执行如下步骤:
203.与所述第一联邦学习节点协商确定目标协同计算协议;
204.其中,所述目标协同计算协议用于所述第二联邦学习节点与所述第一联邦学习节点执行所述协同交互,所述第二协同计算协议集合包括所述目标协同计算协议。
205.可选的,第二处理器1500用于读取第二存储器1520中的程序,具体执行如下步骤:
206.通过第二收发机1510使用第五线程在第三时刻向所述第一联邦学习节点发送协同计算会话应答消息,并使用第六线程在所述第三时刻向第二区块链节点发送所述第三消息摘要,所述第五线程和所述第六线程属于同一进程;
207.通过第二收发机1510使用第七线程在第四时刻向所述第二区块链节点发送所述第四消息摘要,所述第四时刻为所述第二联邦学习节点使用第八线程与所述第一联邦学习节点进行协同交互的时刻,所述第七线程和所述第八线程属于同一进程。
208.可选的,所述第四消息摘要用于所述第二区块链节点通过数据缓冲机制在所述区块链中区块广播和记账。
209.本技术实施例提供的通信设备,可以执行上述图3所示的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
210.本技术明实施例还提供一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如图1或图3中任一方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
211.在本技术所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
212.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
213.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述收发方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
214.以上所述是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1