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

基于P2P和隐私计算的数据节点结构及数据管理方法

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



技术领域

本发明涉及计算机软件领域,尤其涉及的是一种基于P2P和隐私计算的数据节点结构和一种基于P2P和隐私计算的数据管理方法。

背景技术

现实应用中,如何保证在数据不出私域的前提下实现数据流通和价值化。

现阶段隐私计算系统对数据提供方的管理和源数据的元数据的管理一般都是以集中化的注册管理中心的方式,新增的数据提供方直接将ip和port注册到注册中心,并将数据元数据上传到一个集中化的地方用于后续的发布。然而,对于一个分布式隐私计算系统来说,这种中心化的操作是不合理的;容易因中心化服务故障而导致整个系统不可用。

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

发明内容

本发明所要解决的技术问题是:提供一种保护源数据不出私域、强数据安全、去中心化、资源消耗低、实时性强、易于扩展,侧重考虑了商业化的实际使用场景的基于P2P和隐私计算的数据节点结构及数据管理方法。

本发明的技术方案如下:一种基于P2P和隐私计算的数据节点结构,包括:libp2p模块,用于P2P网络中数据节点的发现;鉴权模块ValidatorManager,提供数据授权和数据准入,用于数据节点和其他节点间的身份验证和权限验证以及任务资源审核;对外接口模块ApiServer,用于与外部进行数据通信;存储层接口抽象Store Interface,用于对接各类数据源;数据格式转换引擎DataConvertEngine,对读取写入的数据的数据格式自由互转。

应用于上述技术方案,所述的基于P2P和隐私计算的数据节点结构中,所述对外接口模块ApiServer提供对外的rpc和api接口。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据节点结构中,所述存储层接口抽象Store Interface采用可插拔式对接各类数据源。

并且,本发明还通过了一种采用以上所述数据节点结构的基于P2P和隐私计算的数据管理方法,包括:数据节点的加入,其具体包括:步骤A1:在隐私网络中搭建种子节点,使种子节点之间直连;步骤A2:新的数据节点与一种子节点连接,并且,通过其libp2p模块发现与各种子节点连接的其他数据节点,并将对方的路由信息更新到自己的DHT中;元数据的发布,其具体包括:步骤B1:添加源数据的元信息,并上传源数据及其元信息到一数据节点;步骤B2:该数据节点将元数据进行全网P2P广播;全网其他数据节点在接收到该元数据后,记录元数据,并将元数据追加到各自本地,然后回复该数据节点其元数据的接收状态信息。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,还包括元数据的撤销,其具体包括:步骤C1:向一数据节点发起元数据撤销请求,步骤C2:该数据节点接受请求后,向全网其他数据节点P2P广播元数据撤销请求;步骤C3:其他数据节点接受元数据撤销请求,撤销元数据并对其元数据信息变更,并将变更信息刷新到各自本地后,回复该数据节点其元数据的撤销状态信息。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,还包括任务源数据使用授权;其具体包括:步骤D1:在做隐私计算时,需要使用对方源数据的需求方数据节点向源数据提供的提供方数据节点发出源数据授权申请;步骤D2:提供方数据节点收到源数据授权申请后,选择同意则给需求方数据节点颁发凭据Credential;步骤D3:需求方数据节点携带凭据Credential向提供方数据节点申请源数据获取;步骤D4:提供方数据节点校验凭据Credential的合法性;校验通过则将源数据发送给需求方数据节点。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,还包括计算任务的执行,其具体包括:步骤E1:发起一个计算任务请求给一数据节点,该数据节点对该计算任务请求进行鉴权;如通过则执行步骤E2;步骤E2:该数据节点对其源数据加密,并将加密后的数据发送到作为计算节点的数据节点中,完成数据加密阶段;步骤E3:发送启动计算任务的请求到各计算节点,计算节点开始执行计算,完成数据计算阶段。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,数据加密阶段完成后,设置自动触发数据计算阶段,或者手动触发数据计算阶段。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,步骤E2中:数据节点对其源数据加密是通过数据分片或数据同态加密对其源数据加密。

应用于上述各个技术方案,所述的基于P2P和隐私计算的数据管理方法中,步骤E1中:对该计算任务请求进行鉴权是对其身份校验和权限校验。

本发明的有益效果为:

本发明提出使用P2P的方式来管理数据提供方,即数据节点的加入,使用P2P的方式来进行元数据的发布和撤销,并使用隐私计算的技术管理数据提供方的源数据,严控数据流向,保证在数据不出私域的前提下实现数据流通和价值化。另外,本发明将数据分片阶段和计算阶段分离,有利于将数据加密或数据分片阶段提前进行预处理,提升计算阶段的实时性,更贴合实际商用场景的实时性要求。

本发明具有:保护数据隐私:保证源数据不出私域,实现多方数据融合,实现联合训练、联合预测和联合计算等。去中心化:对非敏感数据也采用分布式的方式,去除中心化,使系统不过于依赖某些特殊参与节点。资源消耗降低:P2P的方式能有效减小多个参与方寻址浪费资源问题。通讯加快:数据加密阶段或数据分片阶段和计算阶段分离,有利于将数据加密阶段提前进行预处理,提升计算阶段的实时性,更贴合实际商用场景的实时性要求。

附图说明

图1为本发明中数据节点结构的流程示意图;

图2为本发明中数据节点加入的流程示意图;

图3为本发明中元数据发布的流程示意图;

图4为本发明中元数据撤销的流程示意图;

图5为本发明中任务源数据使用授权的流程图;

图6为本发明中计算任务执行的流程示意图。

具体实施方式

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

本实施例提供了一种基于P2P和隐私计算的数据节点结构,如图1所示,该数据节点机构包括:libp2p模块,用于P2P网络中数据节点的发现;鉴权模块ValidatorManager,提供数据授权和数据准入,用于数据节点和其他节点间的身份验证和权限验证以及任务资源审核;对外接口模块ApiServer,用于与外部进行数据通信,其中,对外接口模块ApiServer可以提供对外的rpc和api接口;存储层接口抽象Store Interface,用于对接各类数据源,其中,存储层接口抽象Store Interface采用可插拔式对接各类数据源,例如:DB、Cloud、Redis、Local store;数据格式转换引擎DataConvertEngine,对读取写入的数据的数据格式自由互转。

本实施例数据节点将服务发布到P2P网络,以供其他节点,如其他数据节点、计算节点、发起方节点等查找和使用,通过P2P的方式互相节点发现及元数据发现。就算某个节点出现故障,也不影响没有该节点参与的其他任务的正常进行。

另外,本发明还提供了基于P2P和隐私计算的数据管理方法,该数据管理方法中的数据节点是采用基于P2P和隐私计算的数据节点结构;其中,该数据管理方法包括有数据节点的加入,其具体包括:步骤A1:在隐私网络中搭建种子节点,使种子节点之间直连;步骤A2:新的数据节点与一种子节点连接,并且,通过其libp2p模块发现与各种子节点连接的其他数据节点,并将对方的路由信息更新到自己的DHT中。

例如图2所示,各个数据节点的连接主要通过P2P实现。隐私网络首先搭建种子节点,种子节点之间是直连的。新节点在加入隐私计算网络时,首先连接种子节点,然后通过P2P去发现对方,并将对方的路由信息更新到自己的DHT中。例如新加入数据节点D,首先连接种子节点,然后通过种子节点来交换路由信息做到P2P发现,在P2P发现后与节点E发送互连。

并且,基于P2P和隐私计算的数据管理方法还包括元数据的发布,该元数据的发布是基于数据节点的加入的基础上进行,其具体包括:步骤B1:添加源数据的元信息,并上传源数据及其元信息到一数据节点;步骤B2:该数据节点将元数据进行全网P2P广播;全网其他数据节点在接收到该元数据后,记录元数据,并将元数据追加到各自本地,然后回复该数据节点其元数据的接收状态信息。

其中,如图3所示,首先在控制台(console)添加源数据的元信息,然后通过控制台并上传源数据及其元信息到数据节点,上传成功后;数据节点将元数据进行全网P2P广播;全网其他数据节点在接收到该元数据后,记录元数据,将元数据追加到各自本地,然后回复发起数据节点该元数据的接收状态信息;如果其他数据节点接收元数据失败,则数据节点会重复广播,直到其他数据节点接收元数据成功,然后将元数据发布成功消息返回控制台。

并且,基于P2P和隐私计算的数据管理方法还包括元数据的撤销,其具体包括:步骤C1:向一数据节点发起元数据撤销请求,步骤C2:该数据节点接受请求后,向全网其他数据节点P2P广播元数据撤销请求;步骤C3:其他数据节点接受元数据撤销请求,撤销元数据并对其元数据信息变更,并将变更信息刷新到各自本地后,回复该数据节点其元数据的撤销状态信息。

例如,如图4所示,控制台(console)向数据节点发起元数据撤销请求。数据节点接受请求后,向全网其他数据节点P2P广播元数据撤销请求;其他节点接受元数据撤销请求,撤销元数据,对该数据节点的元数据变更信息并刷新各自本地,并回复发起数据节点该元数据的撤销状态信息;如果撤销失败,会尝试再次发起撤销请求,直到撤销成功后,数据节点返回元数据撤销成功的消息到控制台。

并且,基于P2P和隐私计算的数据管理方法还包括还包括任务源数据使用授权;其具体包括:步骤D1:在做隐私计算时,需要使用对方源数据的需求方数据节点向源数据提供的提供方数据节点发出源数据授权申请;步骤D2:提供方数据节点收到源数据授权申请后,选择同意则给需求方数据节点颁发凭据Credential;步骤D3:需求方数据节点携带凭据Credential向提供方数据节点申请源数据获取;步骤D4:提供方数据节点校验凭据Credential的合法性;校验通过则将源数据发送给需求方数据节点。

其中,如图5所示,在做隐私计算时,数据参与方互相间需要做数据授权。需要使用对方数据的数据需求方向数据提供方发出数据授权申请;数据提供方可以选择是否同意授权,拒绝则流程结束。同意授权则数据提供方为数据需求方颁发凭据Credential;数据需求方携带Credential向数据提供方申请数据获取;数据提供方校验Credential合法性;Credential校验是否通过,不通过则结束;通过则数据提供方发放数据需求方所需数据。

另外,并且,基于P2P和隐私计算的数据管理方法还包括还包括还包括计算任务的执行,其具体包括:步骤E1:发起一个计算任务请求给一数据节点,该数据节点对该计算任务请求进行鉴权;如通过则执行步骤E2;步骤E2:该数据节点对其源数据加密,并将加密后的数据发送到作为计算节点的数据节点中,完成数据加密阶段;步骤E3:发送启动计算任务的请求到各计算节点,计算节点开始执行计算,完成数据计算阶段。并且,数据加密阶段完成后,设置自动触发数据计算阶段,或者手动触发数据计算阶段。步骤E2中:数据节点对其源数据加密是通过数据分片或数据同态加密对其源数据加密,并且,步骤E1中:对该计算任务请求进行鉴权是对其身份校验和权限校验。

其中,如图6所示,为了达到商业上实时性的要求,任务分两阶段执行,即数据加密阶段和计算阶段。首先提前进行预处理,数据阶段将加密后的数据(或者数据分片)发给计算节点,计算节点存储加密数据;待计算阶段将加密数据拿来计算,可加快商业使用时的实时性,较少获取结果的耗时。

具体步骤如下:

1、Actor通过client发起一个数据使用请求,数据节点会对该请求进行鉴权(身份校验和权限校验),如果校验不通过,则返回错误。流程结束。

2、如果校验通过,数据节点对源数据加密(对MPC来说就是数据分片,对HE来说就是数据同态加密),然后将加密后的数据发送到计算节点。如果数据发送失败,则返回错误给数据节点,数据节点触发重发机制,再次发送加密数据到计算节点,直到发送成功。数据节点收到发送成功的消息后,返回发送加密数据成功的消息给client。由此数据加密阶段完成。

3、数据加密阶段完成后,可设置自动触发计算阶段,或者手动触发计算阶段。手动触发计算阶段可多次重复触发,如此设计的目的,是在商业使用上,可持续多次调用该计算阶段,而该计算阶段的耗时已大大减少,利于达到商业实时性的要求。

4、client给计算节点发送启动计算任务的请求,计算节点开始执行计算,如果计算失败,会重试,直到计算成功为止。计算节点返回计算成功消息给client。如此一次任务调用完成。

5、下次任务来临,可重复触发计算阶段的任务。

在隐私计算产品的数据管理系统中实用性比较高。

如此,通过将数据加密阶段(或数据分片阶段)和计算阶段是分离的方案,数据预处理阶段,数据加密(或分片)后,数据节点将加密数据(或分片数据)分发给各个参与方,先预存于各个参与方,待计算阶段直接拿加密数据(或分片数据)进行计算,这样可以加快计算速度。实际商业使用时,可提前执行一次数据预处理,后续业务多次调用时,只需进行计算阶段,这耗时少,满足实时性的要求。

本实施例基于P2P和隐私计算的数据管理方法主要用于安全多方计算(MPC)、联邦学习(FL)、差分隐私(DP)等隐私计算平台,在保障数据不出私域的前提下完成多方数据联合训练、联合预测、联合计算。

本发明的技术方案基于libp2p和分段式隐私计算进行改进,使隐私计算平台能更好适用商业化场景。对于每一个隐私计算任务,多个数据提供方之间、数据提供方与其他参与方之间都通过P2P的方式进行互相发现,元数据发布和撤销也采用P2P的方式。为隐私计算平台更好满足商业化的实时性要求,将数据加密阶段和计算阶段进行分段处理,减少实际业务使用时的调用的耗时,更具实用性。

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

相关技术
  • 基于P2P和隐私计算的数据节点结构及数据管理方法
  • 数据结构管理装置、数据结构管理系统、数据结构管理方法以及用于记录数据结构管理程序的计算机可读介质
技术分类

06120114699487