掌桥专利:专业的专利平台
掌桥专利
首页

一种动态构建分布式隐私网络拓扑的P2P引擎

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及计算机软件领域,尤其涉及的是一种动态构建分布式隐私网络拓扑的P2P引擎。

背景技术

在现实应用中,如何保证在不泄露自己的数据前提下实现数据流通和价值化。

在隐私体系的相关应用中,如何灵活的将网络中的节点串连起来,且参与方能动态的加入与退出是支撑整个系统的重要组成部分。隐私计算主要是指在不暴露原始数据的前提下实现数据计算分析的实现方式,而成功的实现对多方数据的计算分析,需要一个强大的底层网络体系将各方进行联系起来。

常规的网络拓扑多数使用全连接的方式将各个参与方连接在一起,在复杂的网络拓扑中,数据可能流经非当前计算参与方中,存在数据泄露的可能。同时结构化网络拓扑在实际应用时比较僵硬、固化、不宜维护、不能灵活的进行计算方的匹配和数据的高效传递。

目前业界广泛使用的主要直接使用通信协议进行数据传递或将所有参与方进行全连接后通信。以下是对各实现的评述:

基于GRPC协议实现的任务计算:

说明:该种方式并没有网络拓扑的构建,主要依赖于无状态网络的数据通信。

优点:无需复杂的网络拓扑构建,能精准发送数据。

缺点:缺乏灵活性,一旦网络节点不可用或间歇性中断将无法进行数据传输。

基于P2P结构化网络实现的任务计算:

优点:具备一定的抗攻击性,网络比较健壮。

缺点:扩展性差,网络拓扑过于复杂,在较大的计算场景下,效率存在一定影响,同时结构化网络的Gossip消息模式会造成数据泄露,存在一定的安全隐患。

因此,现有技术存在缺陷,需要改进。

发明内容

本发明所要解决的技术问题是:提供一种实现在隐私计算网络中动态组网,其目标是更加快速精准、低资源消耗、强数据安全、易扩展,更符合在商业化的实际使用场景的动态构建分布式隐私网络拓扑的P2P引擎。

本发明的技术方案如下:一种动态构建分布式隐私网络拓扑的P2P引擎,包括:任务预执行程序:任务发起方创建一个计算任务,根据该计算任务的任务信息生成一个任务主题,并使用计算任务中的各任务参与方节点的公钥对任务主题进行加密后,将加密的任务主题发送到隐私计算网络的各个节点;计算任务的各任务参与方节点解密所述任务主题,得到任务主题数据,保存并订阅所述任务主题;动态组网程序:在加密任务主题发送完毕后,任务发起方启用节点发现协议,根据节点发现协议中任务参与方节点信息在全隐私计算网络中进行目标节点查找,获取到每个目标节点链接信息,同时与目标节点建立网络连接;任务发起方根据订阅任务主题路由发送任务核心数据给建立网络连接的各任务参与方节点,各任务参与方节点收到所述任务核心数据后,启用节点发现协议,根据任务核心数据查找所有任务参与方节点,并建立网络连接,动态组建网络完毕。

应用于上述技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,还包括动态组网取消程序:计算任务执行完毕后,各任务参与方节点收到任务执行完毕通知,并且,同时任务发起方向各任务参与方节点发送一消息通知各个参与方此次任务计算已经结束;各任务参与方节点收到任务执行完毕通知或消息后,将此次计算任务建立的网络断开,各任务参与方节点恢复为隐私计算网络的常规节点。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,任务预执行程序中,将加密的任务主题发送到隐私计算网络的各个节点时,是使用Gossip广播的方式,使加密的任务主题数据抵达到隐私计算网络的每一个节点。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,任务预执行程序中,各任务参与方节点的公钥为各任务参与方节点的节点ID。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,动态组网程序中,当任务发起方与目标节点建立网络连接后,将各目标节点保存在当前节点邻居节点列表中,任务发起方根据订阅任务主题路由将当前节点邻居节点列表发送给建立网络连接的各任务参与方节点。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,动态组网程序中,各任务参与方节点收到所述任务核心数据后,还对所述任务核心数据的有效性进行核验,核验任务核心数据为有效数据后,启用节点发现协议。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,所述任务发起方为任务参与方节点之一。

应用于上述各个技术方案,所述的动态构建分布式隐私网络拓扑的P2P引擎中,当动态网络组建完毕后,计算任务将进入任务共识阶段,相关共识消息都会经过当前组建的动态网络拓扑中传递,该动态网络与隐私计算网络之间消息数据隔离;当共识成功后,计算任务进入执行阶段。

本发明的有益效果为:

本发明通过引入了任务主题的概念,针对每一个计算任务都会产生特殊的任务主题,当前计算任务中的所有计算任务参与方都需要对该主题进行订阅。然后由网络引擎管理器通过节点发现机制,将订阅了同一个任务主题的节点进行组网连接,形成一个针对该任务的网络拓扑结构。在后续任务计算过程中,数据的传递仅在这个小范围的网络中进行传递;当任务结束后,该拓扑结构就会被删除,回归到正常的拓扑结构中;其目标是更加快速精准、低资源消耗、强数据安全、易扩展,更符合在商业化的实际使用场景;在相关隐私计算产品中的实用性比较高;主要涉及到可信执行环境、安全多方计算、联邦学习、差分隐私等隐私计算平台,在保障数据隐私及安全前提下完成多方数据联合分析、联合训练、联合预测、实现数据价值的流通,助力企业业务增长。

附图说明

图1为本发明中动态构建分布式隐私网络拓扑的结构示意图;

图2为本发明中任务预执行程序的流程示意图;

图3为本发明中动态组网程序的流程示意图;

图4为本发明中动态构建分布式隐私网络的流程示意图。

具体实施方式

以下结合附图和具体实施例,对本发明进行详细说明。

本实施例提供了一种动态构建分布式隐私网络拓扑的P2P引擎,如图1所示,本实施例是应用在隐私计算网络中进行动态组网,即动态构建分布式隐私网络拓扑,该动态构建分布式隐私网络拓扑的P2P引擎包括有任务预执行程序和动态组网程序。

其中,如图2所示,任务预执行程序为:任务发起方创建一个计算任务,然后根据该计算任务的任务信息生成一个任务主题,该任务主题为一个特殊的任务主题,具体确定由计算任务的任务信息得到,其中,任务信息包括各计算任务参与方节点的节点信息和计算任务的任务内容信息等;任务发起方在生成任务主题之后,使用计算任务中的各任务参与方节点的公钥对任务主题进行加密,其中,各任务参与方节点的公钥为各任务参与方的节点ID,多个任务参与方节点ID可以形成多个加密点数据。

加密完成后,任务发起方将加密的任务主题发送到隐私计算网络的各个节点,其中,将加密的任务主题发送到隐私计算网络的各个节点时,是使用Gossip广播的方式,使加密的任务主题数据抵达到隐私计算网络的每一个节点;各节点收到加密的任务主题时,只有计算任务的各任务参与方节点能对该任务主题进行解密,如此,计算任务的各任务参与方节点解密所述任务主题,得到任务主题数据,保存并订阅所述任务主题,完成任务预执行程序。

然后,执行动态组网程序,在加密任务主题发送完毕后,进行组网阶段,即任务发起方首先启用节点发现协议,根据节点发现协议中任务参与方节点信息在全隐私计算网络中进行目标节点查找,获取到每个目标节点链接信息,同时与目标节点建立网络连接;在与目标节点建立网络连接后,将各目标节点保存在当前节点邻居节点列表中,任务发起方根据订阅任务主题路由将当前节点邻居节点列表发送给建立网络连接的各任务参与方节点;即任务发起方将当前节点邻居节点列表作为任务核心数据发送给各任务参与方节点,其中,在发送时,是通过订阅任务主题路由进行发送,如此,只有订阅了任务主题的任务参与方节点才能收到所述任务核心数据,隐私计算网络的其它节点无法收到该任务核心数据消息。

如图3所示,各任务参与方节点中的每一任务参与方节点收到所述任务核心数据后,先对所述任务核心数据的有效性进行核验,该核验可以采用现有技术手段实现,并且,核验任务核心数据为有效数据后,启用节点发现协议,根据任务核心数据查找所有任务参与方节点,并建立网络连接,如此,所有任务参与方和任务发起方两两相互建立网络连接,如此,动态组建网络完成。

如图4所示,当动态网络组建完毕后,计算任务将进入任务共识阶段,相关共识消息都会经过当前组建的动态网络拓扑中传递,该动态网络与隐私计算网络之间消息数据隔离;当共识成功后,计算任务进入执行阶段;其中,所述任务发起方为任务参与方节点之一,即任务发起方也参与计算任务的执行。

并且,所述的动态构建分布式隐私网络拓扑的P2P引擎还包括动态组网取消程序:即计算任务执行完毕后,各任务参与方节点收到任务执行完毕通知,改任务执行完毕通知可以写入计算任务中,或者,也可以通过系统发送,并且,同时任务发起方向各任务参与方节点发送一消息通知各个参与方此次任务计算已经结束;各任务参与方节点收到任务执行完毕通知或消息后,将此次计算任务建立的网络断开,各任务参与方节点恢复为隐私计算网络的常规节点。

如此,对于每一个计算任务,都涉及到多个任务参与方节点(隐私计算网络中的各个节点),且能进行计算任务执行的参与方必定是已经接入到整个拓扑网络结构中。当一个计算任务发布后,会动态产生一个新的特殊主题,该任务主题会扩散到整个网络中,主题信息会被任务中指定的参与方进行加密,网络中的节点收到加密后的主题(简称:topic)信息后进行解密数据,能成功解出数据的则只有实际指定的参与方。在各个参与方明确获取到主题信息后,会对该主题进行订阅,只有成功订阅主题的节点,在后续中才能收到对应任务的相关数据。

启动的任务会先开启预准备阶段,在这个阶段,任务接收者(接收任务的节点或任务发起者)会启动特定节点发现功能,通过节点发现协议去寻找任务参与方,同时建立连接,与所有参与方进行直连。然后发起节点会向所有参与方发送其它参与方的标识信息,同时在参与方收到信息后都会启动节点发现协议,去检索相关参与方,并建立连接。当所有参与方完成连接建立后,整个小型网络拓扑构建成功。

小型网络拓扑构建成功后,任务就会进入下一个阶段,任务需要的相关数据都只会在这个网络拓扑中传输,保证了数据的安全性。当任务结束后,该网络拓扑就会被销毁,各参与方就会重新以一种随机的状态存在于整个网络拓扑中。

其中,在任务预执行时

1、任务发起方创建一个计算任务,任务发起方首先会根据任务信息产生一个特定的Topic,然后使用任务中的参与方的公钥(节点ID)进行加密(此处分别加密产生多个加密数据)。

2、被加密后的Topic会经过网络传递到各个节点,使用Gossip广播的方式,数据会抵达到网络中的每一个节点。收到消息的节点如果能解密出对应的消息数据,则暂时保存该数据信息,记录后的数据为下一个环节做准备。

在动态组网时:

1、任务发起方在加密数据发送完毕后,会启动节点发现协议,根据参与方的节点信息在全网络进行目标节点查找,获取到每个节点链接信息,同时与节点建立网络连接。

2、当任务发起方与所有参与方建立连接后,各节点会存在于当前节点邻居节点列表中,此时将任务的核心数据(所有参与方信息)直接发送给各个参与方。当前消息只会路由给订阅了该任务主题的节点,其它节点无法收到该消息。

3、当参与方节点收到来自任务发起方发送的消息后,会根据预定义规则启用各自的节点发现机制。在找寻到各个节点后进行连接,当所有参与方完成该动作后,则基于任务的小范围网络组建完毕。后续任务的执行则通过该网络拓扑进行数据传输。

动态组网取消时:

1、当动态网络组建完毕后,计算任务将进入任务共识阶段,相关共识消息都回经过当前组建的小型网络拓扑中传递,该网络与大网络之间消息数据是隔离。当共识成功后,任务就会进入执行阶段。

2、当整个任务执行结束后,各个参与方会收到对应的通知,同时任务发起方会发送一个特殊消息通知各个参与方此次任务计算已经结束。

3、收到通知的各个参与方就会主动将此任务的特定网络拓扑连接进行断开,从而恢复为常规节点。

如此,通过引入了任务主题的概念,针对每一个计算任务都会产生特殊的任务主题,当前计算任务中的所有计算任务参与方都需要对该主题进行订阅。然后由网络引擎管理器通过节点发现机制,将订阅了同一个任务主题的节点进行组网连接,形成一个针对该任务的网络拓扑结构。在后续任务计算过程中,数据的传递仅在这个小范围的网络中进行传递;当任务结束后,该拓扑结构就会被删除,回归到正常的拓扑结构中;其目标是更加快速精准、低资源消耗、强数据安全、易扩展,更符合在商业化的实际使用场景;在相关隐私计算产品中的实用性比较高;主要可设计到可信执行环境、安全多放计算、联邦学习、差分隐私等隐私计算平台,在保障数据隐私及安全前提下完成多方数据联合分析、联合训练、联合预测、实现数据价值的流通,助力企业业务增长。

以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种动态构建分布式隐私网络拓扑的P2P引擎
  • 一种基于p2p的分布式实时搜索引擎
技术分类

06120114696020