一种隐私数据处理方法及装置与流程

未命名 08-02 阅读:78 评论:0


1.本技术属于区块链技术领域,尤其涉及一种隐私数据处理方法及装置。


背景技术:

2.区块链技术构建在传输网络(例如点对点网络)之上,传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。随着区块链技术的发展,其在诸多应用场景已经逐渐落地实现。尤其,在区块链2.0时代中出现的智能合约使得区块链除了单一的转账交易之外,还可以调用一段代码,而这段代码可以由用户自定义。但区块链技术的特点是多副本冗余模式,在链上处理的事务请求会由所有节点进行验证和存储,该模式会导致链上的隐私数据被非事务参与方获得,同样,智能合约的数据也会被泄露。为了在区块链的使用中,隐藏交易内容,可以在区块链中使用隐私技术。目前,可以在区块链中使用链下节点进行隐私计算,从而保护交易过程中的数据不被公开。
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.图1是本技术一实施例提供的隐私数据处理方法的实现流程图;
30.图2是本技术一实施例提供的获取隐私计算请求对应的预设信息,根据预设信息执行隐私计算业务模型的一种方法实现流程图;
31.图3是本技术一实施例提供响应于隐私计算结果,恢复对隐私计算业务模型的执行的一种方法实现流程图;
32.图4是本技术另一实施例提供的隐私数据处理方法的实现流程图;
33.图5是本技术一实施例提供的隐私数据处理方法的时序图;
34.图6是本技术一实施例提供的隐私数据处理装置的示意图;
35.图7是本技术一实施例提供的终端设备的结构示意图。
具体实施方式
36.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
37.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
38.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
39.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0040]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0041]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0042]
在现有的隐私计算平台中,链上链下协同的流程主要包括:任务发起方编写隐私计算业务模型(下文简称模型),创建隐私计算任务,将模型、任务元信息、各个参与方数据的元信息上传存证到区块链;任务发起方开始执行任务,发起方和各个参与方在链下执行由模型定义的隐私计算任务;任务发起方获取任务输出数据,更新区块链上的任务相关信息。隐私计算业务模型的执行只发生在链下计算节点中,区块链节点只负责存证模型内容和模型结果,并不具备执行模型的能力。换句话说,区块链和隐私计算是“解耦”的,区块链只能感知到隐私计算任务的模型内容和执行结果,但无法判断这个执行结果是不是正确按
照模型内容执行而得到的。因此,如果有某个链下计算节点因为各种原因,在实际执行流程中执行了错误的模型内容(例如,忽略了模型中的某些业务逻辑),那么区块链上存证的任务结果自然是错误的。从而,在追溯审计验证计算结果正确性时,验证者不仅要考虑各方是否遵守隐私计算协议,还要考虑发起方是否正确执行了模型。
[0043]
有鉴于此,本技术的隐私数据处理方法的改进主要在于链上链下协同的流程上,在保留链上链下协同的架构的基础上,使得区块链节点不仅具有隐私计算任务的存证能力,还具有模型的执行能力,这增强了区块链对隐私计算任务的管理能力,提高了区块链的整体安全性。
[0044]
请参阅图1,图1是本技术一实施例提供的隐私数据处理方法的实现流程图。本技术实施例中所提出的隐私数据处理方法可应用于终端设备,该终端设备可以是个人计算机,也可以是与个人计算机建立通讯连接的服务器,还可以是与个人计算机建立通讯连接且能够进行数据处理操作的其它设备,本技术实施例对终端设备的具体类型不作任何限制。
[0045]
如图1所示,本技术一实施例提供的隐私数据处理方法可以包括步骤s101至步骤s104,详述如下:
[0046]
步骤s101:获取隐私计算请求对应的预设信息,根据预设信息执行隐私计算业务模型,隐私计算业务模型包括隐私计算算子。
[0047]
在一个实施例中,区块链网络中的节点可以称为区块链节点,其中区块链网络基于对等网络(peer to peer,p2p)网络,每个参与交易和区块存储、验证、转发的p2p网络节点都是一个区块链网络中的节点。
[0048]
可以理解的是,为了实现本技术的隐私数据处理方法,可以对区块链节点进行定制化改造,改造的内容包括:在区块链节点上新增隐私计算引擎和隐私计算虚拟机,在区块链虚拟机中新增一种合约内置函数。隐私计算引擎负责区块链节点上模型的全生命周期管理;隐私计算虚拟机用于解析执行模型,但不执行隐私计算协议;合约内置函数使得用户在编写合约时可以直接使用这个函数声明一次隐私计算调用事件,合约内置函数的入参列表包括隐私计算业务模型的链上存储索引、任务发起方元信息、任务的各个输入数据元信息。
[0049]
作为示例而非限定的,隐私计算引擎获取隐私计算请求对应的预设信息,从而调用隐私计算虚拟机,利用隐私计算虚拟机根据预设信息执行隐私计算业务模型。
[0050]
在一个实施例中,预设信息包括隐私计算请求的模型存储索引、任务发起方元信息、输入数据元信息、隐私计算业务模型的文本、任务发起方的节点链下地址、数据提供方的节点链下地址等。
[0051]
可以理解的是,隐私计算业务模型描述了隐私计算任务的总体流程,一个模型可以包含多次不同隐私计算协议的调用。具体的,隐私计算业务模型通常可以用一段程序来表示,模型包括隐私计算算子、算子的输入数据和模型的总体输出数据。其中,隐私计算算子包括数值类算子(例如多方求和、多方中位数)和集合类算子(例如多方求交),每个算子的执行过程就是一次隐私计算协议的调用过程;算子的输入数据可以来自多个不同参与方,一个算子的输出数据可以作为另一个算子的输入数据;模型的总体输出数据为模型执行的最后结果。
[0052]
在一些具体的实施例中,请参阅图2,图2为本技术实施例提供的隐私数据处理方
法中获取隐私计算请求对应的预设信息,根据预设信息执行隐私计算业务模型的一种方法实现流程图。如图2所示,具体可以包括步骤s201至步骤s203。
[0053]
步骤s201:获取数据使用方基于智能合约发起的数据计算事务请求,数据计算事务请求包括隐私计算请求。
[0054]
可以理解的是,智能合约实际上是存储在区块链上的可执行代码。用户可以使用经授权的链上账户和证书向一个区块链节点发送事务请求,区块链节点接收到事务请求后,可以根据智能合约确定执行该事务请求需要经过的数据计算事务请求。一个数据计算事务请求可以相当于对事务请求的过程进行分解得到的一个计算步骤。
[0055]
步骤s202:在数据计算事务请求为隐私计算请求的情况下,暂停对数据计算事务请求的执行,从隐私计算请求的请求参数列表中获取隐私计算调用事件对应的预设信息。
[0056]
作为示例而非限定的,区块链节点的运行时采用的是golang的程序(golang是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言);区块链虚拟机是支持java(java是一种用于互联网的分布式环境的编程语言)程序的java虚拟机,隐私计算虚拟机是支持lua(lua是一种轻量级的的脚本语言)程序的lua虚拟机。在上述区块链节点中,用户可以用java编写智能合约,用lua编写隐私计算业务模型,从而能够实现智能合约中隐私计算业务模型的识别。
[0057]
在一个实施例中,区块链虚拟机在解释执行java编写的智能合约时,遇到由合约内置函数声明的隐私计算调用,则暂停当前执行流,请求隐私计算引擎处理当前的隐私计算调用事件。
[0058]
可以理解的是,隐私计算引擎可以从合约内置函数的请求参数列表获取隐私计算调用任务的模型存储索引、任务发起方元信息、各个输入数据元信息,并且,隐私计算引擎通过和区块链账本数据库交互,可以获取模型的文本、任务发起方的详细信息(如发起方的节点链下地址、可用状态、安全参数设定等)、每个输入数据的详细信息(如数据提供方的节点链下地址、数据权限、数据类型、数据访问方式等)。
[0059]
步骤s203:根据预设信息调用隐私计算虚拟机,采用隐私计算虚拟机执行隐私计算业务模型。
[0060]
作为一种可能的实施方式,隐私计算引擎将获得的预设信息作为隐私计算虚拟机的系统全局变量,从而调用隐私计算虚拟机,隐私计算虚拟机执行上述隐私计算业务模型。
[0061]
步骤s102:在发现隐私计算算子被调用的情况下,打包隐私计算算子的当次调用参数作为目标事件。
[0062]
可以理解的是,每个隐私计算算子的调用过程对应一次隐私计算协议的执行过程,因此可以根据隐私计算业务模型中的隐私计算算子调用函数,确定对应的隐私计算协议。隐私计算虚拟机在执行隐私计算业务模型时,遇到隐私计算算子调用函数,则将隐私计算算子的当次调用参数进行打包。
[0063]
在一个实施例中,打包隐私计算算子的当次调用参数作为目标事件的方法实现流程,包括以下两个步骤:
[0064]
(1)打包隐私计算算子的当次调用参数,生成隐私计算算子的参数集。
[0065]
可以理解的是,隐私计算算子调用函数的参数列表是根据其对应的隐私计算协议确定的,不同的隐私计算算子调用函数对应不同的隐私计算底层协议,具有不同的调用参
数列表,也即不同的当次调用参数。则将隐私计算协议中对应的调用参数进行打包,可生成隐私计算算子的参数集。
[0066]
(2)生成与参数集对应的特定标识符,将参数集和特定标识符作为目标事件。
[0067]
在一个实施例中,生成与参数集对应的特定标识符采用的是序列化方法,也即将数据结构或者对象转换成二进制串。
[0068]
可以理解的是,一个java对象要能序列化,必须实现一个特殊的序列化(java.io.serializable)接口。需要说明的是,序列化接口没有定义任何方法,它是一个空接口。这样的空接口称为“标记接口”(marker interface),实现了标记接口的类仅仅是给自身贴了个“标记”,并没有增加任何方法。因此,在序列化的过程中,上述参数集就有了一个对应的特定标识符,从而成为目标事件。
[0069]
示例性的,本实施例中采用的为golang的序列化,golang序列化方法包括利用gob(gobject builder,是一个用来创建对象的预处理器)包管理gob流,或是利用js对象简谱的(javascript object notation,json)包来实现json编码和解码。
[0070]
步骤s103:将目标事件发送至链下计算节点,以获取目标事件的隐私计算结果;暂停对隐私计算业务模型的执行。
[0071]
在一个实施例中,由隐私计算引擎将目标事件转发链下计算节点,该链下计算节点是根据预设信息中的任务发起方的节点链下地址确认的。进一步地,作为发起方的链下计算节点从目标事件中解析任务参数,根据数据提供方的节点链下地址等信息确认作为参与方的节点,链下计算节点间完成隐私计算协议的执行,最终由发起方获取执行结果,也即目标事件的隐私计算结果。
[0072]
可以理解的是,在隐私计算引擎将目标事件发送成功后,隐私计算虚拟机即暂停执行流,直到当次隐私算子执行完成触发回调。
[0073]
步骤s104:响应于隐私计算结果,恢复对隐私计算业务模型的执行,直至隐私计算业务模型执行完毕,获得模型执行结果。
[0074]
在一个实施例中,由隐私计算引擎接收链下计算节点发送的隐私计算结果,隐私计算引擎根据隐私计算结果触发隐私计算虚拟机的回调函数,由此恢复隐私计算虚拟机的执行流。然后隐私计算虚拟机重复步骤s102至步骤s104,直到模型执行完毕,获得最终的模型执行结果。
[0075]
在一些具体的实施例中,请参阅图3,图3为本技术实施例提供的隐私数据处理方法中响应于隐私计算结果,恢复对隐私计算业务模型的执行的一种方法实现流程图。如图3所示,具体可以包括步骤s301至步骤s302。
[0076]
步骤s301:接收隐私计算结果和特定的标识符,对隐私计算结果和特定的标识符进行反序列化,得到隐私计算算子当次调用的调用结果。
[0077]
在一种可能的实现方式中,链下计算节点在执行完每个隐私计算事件之后,作为发起方的链下计算节点在执行结果中附带与目标事件相匹配的标识符,因此,隐私计算引擎接收到带有特定的标识符的隐私计算结果,通过反序列化处理后,得到隐私计算算子当次调用的调用结果。
[0078]
可以理解的是,反序列化就是将序列化过程中生成的二进制串转回成数据结构或对象的过程。
[0079]
步骤s302:根据调用结果回调隐私计算算子,恢复对隐私计算业务模型的执行。
[0080]
在一种可能的实现方式中,隐私计算虚拟机采用栈式虚拟机,隐私计算引擎触发隐私计算虚拟机的回调函数,将接收到的隐私算子执行结果压入隐私计算虚拟机栈顶,即可恢复隐私计算虚拟机执行流。
[0081]
在本技术的另一个实施例中,在隐私计算业务模型执行完毕,获得模型执行结果之后,考虑到对整个智能合约中隐私数据处理的完整性,本技术实施例中提供的一种隐私数据处理方法还包括如下步骤:
[0082]
(1)响应于模型执行结果,获取隐私计算请求的返回值;
[0083]
(2)根据返回值继续执行数据计算事务请求,直至智能合约执行完毕,获得合约执行结果。
[0084]
本实施例中,采用了链下计算节点对目标事件进行处理,在保障了隐私计算事件的保密性的同时,可以减轻链上节点的负担,提高隐私计算的执行效率。
[0085]
参照图4,示出了本技术实施例提供的另一种隐私数据处理方法的步骤流程示意图,具体可以包括如下步骤:
[0086]
步骤s401:解析区块链节点发送的目标事件,得到目标事件对应的任务参数,目标事件由区块链节点执行隐私计算业务模型时获得。
[0087]
在本实施例中,执行主体为链下计算节点,链下计算节点用于为链上节点提供隐私计算服务。
[0088]
上述目标事件可以由区块链节点中的隐私计算引擎发送至链下计算节点,具体的,隐私计算引擎根据区块链节点执行隐私计算业务模型时获得的预设信息,预设信息中包括任务发起方的节点链下地址,因此,将任务发起方的节点链下地址确认为链下计算节点。
[0089]
链下计算节点接收到目标事件之后,对目标事件进行解析执行,得到目标事件对应的任务参数。
[0090]
步骤s402:根据任务参数执行隐私计算协议,获得目标事件对应的隐私计算结果。
[0091]
可以理解的是,目标事件的任务参数也就是隐私计算算子的当次调用参数,目标事件的执行就是隐私计算协议的一次调用执行,因此,可以根据任务参数中数据提供方的节点链下地址等信息确认作为参与方的链下计算节点,链下计算节点间完成隐私计算协议的执行,最终由发起方获取执行结果,也即目标事件的隐私计算结果。
[0092]
步骤s403:将目标事件的特定标识符和隐私计算结果返回至区块链节点。
[0093]
在一种可能的实现方式中,链下计算节点在执行完每个隐私计算事件之后,作为发起方的链下计算节点在执行结果中附带与目标事件相匹配的标识符,将目标事件的特定标识符和隐私计算结果返回至隐私计算引擎。
[0094]
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
[0095]
图5示出了该具体实施例中的隐私数据处理方法的时序图。如图5所示,
[0096]
首先,区块链虚拟机在解释执行智能合约时,遇到合约内置函数调用,则暂停当前执行流,请求隐私计算引擎处理当前的隐私计算调用事件;
[0097]
然后,隐私计算引擎从合约内置函数中的请求参数列表获取隐私计算调用任务的
模型存储索引、任务发起方元信息、各个输入数据元信息,并通过和区块链账本数据库交互,获取模型的文本、任务发起方的详细信息(如发起方的节点链下地址、可用状态、安全参数设定等)、每个输入数据的详细信息(如数据提供方的节点链下地址、数据权限、数据类型、数据访问方式等);
[0098]
隐私计算引擎将这些参数作为预置设定(即隐私计算虚拟机的系统全局变量),调用隐私计算虚拟机执行模型;
[0099]
隐私计算虚拟机解释执行模型,执行时遇到隐私算子调用,则将当次调用的参数列表打包到一个隐私计算调用事件mpcevent内,每个mpcevent有唯一的标识符。mpcevent通过隐私计算引擎转发到第3步中设定的发起方链下节点,发送成功后,隐私计算虚拟机即暂停执行流,直到当次隐私算子执行完成触发回调;
[0100]
链下计算节点从mpcevent内解析任务参数,节点间完成隐私计算协议的执行,发起方获取执行结果;
[0101]
发起方将执行结果附带mpcevent的标识符,返回区块链节点,隐私计算引擎接收并反序列化;
[0102]
隐私计算引擎触发隐私计算虚拟机的回调函数,将接收到的隐私算子执行结果压入隐私计算虚拟机栈顶,恢复隐私计算虚拟机执行流。然后,隐私计算虚拟机解释执行模型,直到模型执行完毕;
[0103]
隐私计算虚拟机将模型执行结果返回给区块链虚拟机,区块链虚拟机获取到合约内置函数调用的返回值,继续执行合约的剩余逻辑。
[0104]
对应于上文实施例的隐私数据处理方法,图6示出了本技术实施例提供的隐私数据处理装置的示意图,为了便于说明,仅示出了与本技术实施例相关的部分。参照图6,该装置包括:
[0105]
获取模块,获取隐私计算请求对应的预设信息,根据预设信息执行隐私计算业务模型,隐私计算业务模型包括隐私计算算子;
[0106]
第一执行模块,在发现隐私计算算子被调用的情况下,打包隐私计算算子的当次调用参数作为目标事件;
[0107]
第二执行模块,将目标事件发送至链下计算节点,以获取目标事件的隐私计算结果;暂停对隐私计算业务模型的执行;
[0108]
应答模块,响应于隐私计算结果,恢复对隐私计算业务模型的执行,直至隐私计算业务模型执行完毕,获得模型执行结果。
[0109]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0110]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模
块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0111]
图7为本技术一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在存储器71中并可在至少一个处理器70上运行的计算机程序72,处理器70执行计算机程序72时实现上述任意各个隐私数据处理方法实施例中的步骤。
[0112]
该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0113]
所称处理器70可以是中央处理单元(central processing unit,cpu),该处理器70还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0114]
存储器71在一些实施例中可以是终端设备7的内部存储单元,例如终端设备7的内存。存储器71在另一些实施例中也可以是终端设备7的外部存储设备,例如终端设备7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器71还可以既包括终端设备7的内部存储单元也包括外部存储设备。存储器71用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0115]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0116]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0117]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0118]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0119]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0120]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0121]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0122]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种隐私数据处理方法,其特征在于,应用于区块链节点,所述方法包括:获取隐私计算请求对应的预设信息,根据所述预设信息执行隐私计算业务模型,所述隐私计算业务模型包括隐私计算算子;在发现所述隐私计算算子被调用的情况下,打包所述隐私计算算子的当次调用参数作为目标事件;将所述目标事件发送至链下计算节点,以获取所述目标事件的隐私计算结果;暂停对所述隐私计算业务模型的执行;响应于所述隐私计算结果,恢复对所述隐私计算业务模型的执行,直至所述隐私计算业务模型执行完毕,获得模型执行结果。2.如权利要求1所述的隐私数据处理方法,其特征在于,所述获取隐私计算请求对应的预设信息,根据所述预设信息执行隐私计算业务模型的步骤,包括:获取数据使用方基于智能合约发起的数据计算事务请求,所述数据计算事务请求包括隐私计算请求;在所述数据计算事务请求为隐私计算请求的情况下,暂停对所述数据计算事务请求的执行,从所述隐私计算请求的请求参数列表中获取所述隐私计算调用事件对应的预设信息;根据所述预设信息调用隐私计算虚拟机,采用所述隐私计算虚拟机执行所述隐私计算业务模型。3.如权利要求2所述的隐私数据处理方法,其特征在于,所述隐私计算业务模型执行完毕,获得模型执行结果之后,还包括:响应于所述模型执行结果,获取所述隐私计算请求的返回值;根据所述返回值继续执行所述数据计算事务请求,直至智能合约执行完毕,获得合约执行结果。4.如权利要求1所述的隐私数据处理方法,其特征在于,所述预设信息包括所述隐私计算请求的模型存储索引、任务发起方元信息、输入数据元信息、隐私计算业务模型的文本、任务发起方的节点链下地址、数据提供方的节点链下地址等。5.如权利要求1所述的隐私数据处理方法,其特征在于,所述打包所述隐私计算算子的当次调用参数作为目标事件的步骤,包括:打包所述隐私计算算子的当次调用参数,生成所述隐私计算算子的参数集;生成与所述参数集对应的特定标识符,将所述参数集和所述特定标识符作为目标事件。6.如权利要求5所述的隐私数据处理方法,其特征在于,所述响应于所述隐私计算结果,恢复对所述隐私计算业务模型的执行的步骤,包括:接收所述隐私计算结果和所述特定的标识符,对所述隐私计算结果和所述特定的标识符进行反序列化,得到所述隐私计算算子当次调用的调用结果;根据所述调用结果回调隐私计算算子,恢复对所述隐私计算业务模型的执行。7.一种隐私数据处理方法,其特征在于,应用于链下计算节点,所述方法包括:解析区块链节点发送的目标事件,得到所述目标事件对应的任务参数,所述目标事件由所述区块链节点执行隐私计算业务模型时获得;
根据所述任务参数执行隐私计算协议,获得所述目标事件对应的隐私计算结果;将所述目标事件的特定标识符和所述隐私计算结果返回至所述区块链节点。8.一种隐私数据处理装置,其特征在于,包括:获取模块,获取隐私计算请求对应的预设信息,根据所述预设信息执行隐私计算业务模型,所述隐私计算业务模型包括隐私计算算子;第一执行模块,在发现所述隐私计算算子被调用的情况下,打包所述隐私计算算子的当次调用参数作为目标事件;第二执行模块,将所述目标事件发送至链下计算节点,以获取所述目标事件的隐私计算结果;暂停对所述隐私计算业务模型的执行;应答模块,响应于所述隐私计算结果,恢复对所述隐私计算业务模型的执行,直至所述隐私计算业务模型执行完毕,获得模型执行结果。9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。

技术总结
本申请适用于区块链技术领域,提供一种隐私数据处理方法及装置,包括:获取隐私计算请求对应的预设信息,根据所述预设信息执行隐私计算业务模型,所述隐私计算业务模型包括隐私计算算子;在发现所述隐私计算算子被调用的情况下,打包所述隐私计算算子的当次调用参数作为目标事件;将所述目标事件发送至链下计算节点,以获取所述目标事件的隐私计算结果;暂停对所述隐私计算业务模型的执行;响应于所述隐私计算结果,恢复对所述隐私计算业务模型的执行,直至所述隐私计算业务模型执行完毕,获得模型执行结果。本申请的隐私数据处理方法提高区块链对隐私计算任务的管理能力,降低了链下隐私计算节点的作恶可能,提高了系统的整体安全性。全性。全性。


技术研发人员:邱炜伟 汪小益 张启锐 姚文豪 刘敬
受保护的技术使用者:杭州趣链科技有限公司
技术研发日:2023.04.11
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐