基于区块链的计算作业处理方法、装置及系统与流程

文档序号:25032632发布日期:2021-05-11 17:03阅读:89来源:国知局
基于区块链的计算作业处理方法、装置及系统与流程

本发明涉及区块链技术领域,具体涉及一种基于区块链的计算作业处理方法、装置及系统。



背景技术:

随着区块链技术的发展和网络规模的扩大,业务场景逐渐增多,出现各种各样的应用。然而,在金融、政务等注重数据安全的业务系统中,数据割裂、数据壁垒和数据孤岛的问题长久存在。数据跨场景跨系统流转时效性不佳,导致跨场景运营难以开展,不利于客户服务和体验;同时基于中心化运营的数据服务成本较高,难以支持平台规模的持续扩大。尤其是在数据时效性方面,客户体验较差,目前行业内也在广泛探索借助“区块链+隐私”的技术组合,探索去中心化运营,提升数据运营效率,降低运营成本,同时保障各方数据安全的业务模式。使得多个非互信数据源之间在数据加密下进行高效数据计算与整合,做到既能分享数据,又能保证被分享的数据不泄露,实现数据“可用不可见”的目标。

目前业内处理数据隐私计算服务的技术主要分为两种:一种是依赖现有的云资源服务,数据提供方和计算节点松耦合,即数据提供方不需要参与算力的贡献。另一种是借助传统的隐私保护技术,例如,通过mpc(multi-partycomputation,多方计算)协议来实现数据的分片计算,数据提供方和计算节点紧耦合。即数据提供方不仅贡献参与计算的数据源也提供基础算力。对于模式一,现有的云资源服务,虽然能够在一定程度上满足中高频的数据交互需求,但依旧面临着中心化程度高、稳定性与安全性无法得到保障的问题。对于模式二,计算任务集中化处理,计算资源受限于参与方的算力提供,使得计算任务并发处理的效率低下,不能满足高并发金融应用的需求。

由于隐私计算涉及到的数据参与方多,不同系统的数据结构差异大。各方数据需要经过预处理、加密、混淆后,才能参与计算,并且,计算任务不能灵活调度,因而导致了计算性能较差。



技术实现要素:

有鉴于此,本发明提供一种基于区块链的计算作业处理方法、装置及系统,以解决上述提及的至少一个问题。

根据本发明的第一方面,提供一种基于区块链的计算作业处理方法,所述方法包括:

接收作业发起方广播的作业执行请求,所述作业执行请求包括:作业标识;

根据所述作业执行请求中的作业标识获取与该作业执行请求对应的作业脚本信息,所述作业脚本信息由所述作业发起方预先设置,所述作业脚本信息包括:计算操作信息、数据源信息、作业结果接收方信息;

响应于接受所述作业执行请求,根据所述作业脚本信息中的数据源信息获取加密数据源;

将所述加密数据源发送至计算节点,以使计算节点根据所述作业脚本信息中的计算操作信息对所述加密数据源执行计算操作;

接收计算节点的计算作业结果,并将所述计算作业结果发送给验证节点进行验证,以便于在验证结果成功时,所述验证节点根据所述作业结果接收方信息将所述计算作业结果发送给作业结果接收方。

根据本发明的第二方面,提供一种基于区块链的作业脚本信息处理方法,所述方法包括:

接收计算作业请求,并根据所述计算作业请求设置作业脚本信息,所述作业脚本信息包括:计算操作信息、数据源信息、作业结果接收方信息;

将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息;

响应于所述数据源提供方审核所述作业脚本信息通过,将所述作业脚本信息发送至区块链进行存储。

根据本发明的第三方面,提供一种基于区块链的计算作业处理装置,所述装置包括:

作业执行请求接收单元,用于接收作业发起方广播的作业执行请求,所述作业执行请求包括:作业标识;

作业脚本获取单元,用于根据所述作业执行请求中的作业标识获取与该作业执行请求对应的作业脚本信息,所述作业脚本信息由所述作业发起方预先设置,所述作业脚本信息包括:计算操作信息、数据源信息、作业结果接收方信息;

数据源获取单元,用于响应于接受所述作业执行请求,根据所述作业脚本信息中的数据源信息获取加密数据源;

数据源发送单元,用于将所述加密数据源发送至计算节点,以使计算节点根据所述作业脚本信息中的计算操作信息对所述加密数据源执行计算操作;

作业结果接收单元,用于接收计算节点的计算作业结果;

作业结果发送单元,用于将所述计算作业结果发送给验证节点进行验证,以便于在验证结果成功时,所述验证节点根据所述作业结果接收方信息将所述计算作业结果发送给作业结果接收方。

根据本发明的第四方面,提供一种基于区块链的作业脚本信息处理装置,所述装置包括:

作业请求接收单元,用于接收计算作业请求;

作业脚本信息设置单元,用于根据所述计算作业请求设置作业脚本信息,所述作业脚本信息包括:计算操作信息、数据源信息、作业结果接收方信息;

作业脚本信息发送单元,用于将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息;

作业脚本信息存储单元,用于响应于所述数据源提供方审核所述作业脚本信息通过,将所述作业脚本信息发送至区块链进行存储。

根据本发明的第五方面,提供一种基于区块链的计算作业处理系统,所述系统包括:上述的基于区块链的计算作业处理装置、上述的基于区块链的作业脚本信息处理装置、验证节点、计算节点,其中,所述计算作业处理装置位于协同节点,所述协同节点与所述计算节点处于同一私有链,所述作业脚本信息处理装置位于作业发起方。

根据本发明的第六方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

根据本发明的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

由上述技术方案可知,通过根据接收到的作业执行请求中的作业标识获取作业脚本信息,在接受所述作业执行请求时,根据所述作业脚本信息中的数据源信息获取加密数据源,并将加密数据源发送至计算节点,计算节点可以根据作业脚本信息中的计算操作信息对加密数据源执行计算操作,在接收到计算节点的计算作业结果时,将所述计算作业结果发送给验证节点进行验证,在验证结果成功时,验证节点根据作业结果接收方信息将所述计算作业结果发送给作业结果接收方。本发明实施例的协同节点可以根据各自的计算能力,来选择是否接受作业执行请求,如此,各协同节点贡献自有计算资源,不仅保障了计算结果的准确性、安全性和隐私性,还提高了算力资源的灵活调度,提高了隐私计算性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的基于区块链的计算作业处理系统的结构框图;

图2是根据本发明实施例的作业脚本信息处理装置10的结构框图;

图3是根据本发明实施例的计算作业处理装置20的结构框图;

图4是根据本发明实施例的计算作业处理系统的示例结构框图;

图5是根据本发明实施例的图4所示系统的工作流程示意图;

图6是根据本发明实施例的隐私计算网络24的结构示意图;

图7是根据本发明实施例的数据拆分的示意图;

图8是根据本发明实施例的基于图4所示系统的隐私计算服务调度的流程图;

图9是根据本发明实施例的作业脚本信息处理方法的流程图;

图10是根据本发明实施例的计算作业处理方法的流程图;

图11为本发明实施例的电子设备600的系统构成的示意框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于现有的隐私计算任务无法灵活调度,因而导致了计算性能较差,本发明实施例提供一种基于区块链的计算作业(该作业可以称为任务)处理方案,该方案借助区块链技术,根据各协同节点下的私有链算力配置情况,智能部署隐私计算任务,实现算力资源的灵活调度,提高隐私计算性能。以下结合附图来详细描述本发明实施例。

图1是根据本发明实施例的基于区块链的计算作业处理系统的结构框图,如图1所示,该系统主要包括:作业脚本信息处理装置10、计算作业处理装置20、验证节点30和计算节点40。其中:作业脚本信息处理装置位于作业发起方,作业脚本信息处理装置为隐私计算作业的发起端,用于指定隐私计算算法、作业执行脚本、数据提供方地址等信息;计算作业处理装置位于区块链中的协同节点,协同节点与计算节点处于同一私有链。

为了更好地理解本发明实施例,以下分别描述作业脚本信息处理装置10和计算作业处理装置20。

图2是作业脚本信息处理装置10的结构框图,如图2所示,该计算作业处理装置10:作业请求接收单元101、作业脚本信息设置单元102、作业脚本信息发送单元103和作业脚本信息存储单元104,其中:

作业请求接收单元101,用于接收计算作业请求;

作业脚本信息设置单元102,用于根据所述计算作业请求设置作业脚本信息,所述作业脚本信息包括:计算操作信息(可以具体包括计算算法和计算公式)、数据源信息、作业结果接收方信息;

作业脚本信息发送单元103,用于将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息;

作业脚本信息存储单元104,用于响应于所述数据源提供方审核所述作业脚本信息通过,将所述作业脚本信息发送至区块链进行存储。

通过作业脚本信息设置单元102根据作业请求接收单元101接收的计算作业请求设置作业脚本信息,作业脚本信息发送单元103将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息,当所述数据源提供方审核所述作业脚本信息通过时,作业脚本信息存储单元104将所述作业脚本信息发送至区块链进行存储。通过预先设置作业脚本信息,可以方便后续计算节点根据该作业脚本信息执行计算任务。

在一个实施例中,作业脚本信息处理装置10还包括:作业标识生成单元和标识及公钥存储单元,其中:

作业标识生成单元,用于对所述作业脚本信息进行哈希操作,以生成作业标识(id);

标识及公钥存储单元,用于将所述作业标识和本地公钥地址发送至区块链进行存储,这里的作业标识和本地公钥地址关联存储。

在一个实施例中,作业脚本信息处理装置10还包括:作业执行请求广播单元,用于将包含所述作业标识的作业执行请求广播至区块链中的协同节点,以使协同节点端的计算作业处理装置20接收到作业执行请求。

图3是计算作业处理装置20的结构框图,如图3所示,该计算作业处理装置20包括:作业执行请求接收单元201、作业脚本获取单元202、数据源获取单元203、数据源发送单元204、作业结果接收单元205和作业结果发送单元206,其中:

作业执行请求接收单元201,用于接收作业发起方广播的作业执行请求,所述作业执行请求包括:作业标识(id);

作业脚本获取单元202,用于根据所述作业执行请求中的作业标识获取与该作业执行请求对应的作业脚本信息,所述作业脚本信息由所述作业发起方预先设置,所述作业脚本信息包括:计算操作信息(可以包括具体的计算算法和计算公式)、数据源信息、作业结果接收方信息;

数据源获取单元203,用于响应于接受所述作业执行请求,根据所述作业脚本信息中的数据源信息获取加密数据源;

数据源发送单元204,用于将所述加密数据源发送至计算节点,以使计算节点根据所述作业脚本信息中的计算操作信息对所述加密数据源执行计算操作;

作业结果接收单元205,用于接收计算节点的计算作业结果;

作业结果发送单元206,用于将所述计算作业结果发送给验证节点进行验证,以便于在验证结果成功时,所述验证节点根据所述作业结果接收方信息将所述计算作业结果发送给作业结果接收方。

通过作业脚本获取单元202根据作业执行请求接收单元201接收到的作业执行请求中的作业标识获取作业脚本信息,在接受所述作业执行请求时,数据源获取单元203根据所述作业脚本信息中的数据源信息获取加密数据源,数据源发送单元204将加密数据源发送至计算节点,计算节点可以根据作业脚本信息中的计算操作信息对加密数据源执行计算操作,在作业结果接收单元205接收到计算节点的计算作业结果时,作业结果发送单元206将所述计算作业结果发送给验证节点进行验证,在验证结果成功时,验证节点根据作业结果接收方信息将所述计算作业结果发送给作业结果接收方。本发明实施例的协同节点可以根据各自的计算能力,来选择是否接受作业执行请求,如此,各协同节点可以贡献自有计算资源,不仅保障了计算结果的准确性、安全性和隐私性,还提高了算力资源的灵活调度,提高了隐私计算性能。

在实际操作中,计算作业处理装置20位于协同节点端,协同节点可以有相应的多个计算节点,协同节点与这多个计算节点处于同一私有链。

在一个实施例中,计算作业处理装置20还可以包括:数据源拆分单元,用于基于秘密分享协议对加密数据源进行拆分处理,得到多个数据分片。相应地,数据源发送单元204将所述多个数据分片分别分发给多个计算节点,以使各计算节点根据所述计算操作信息对所属的数据分片执行计算操作。当各计算节点根据作业脚本获取单元202获取的作业脚本信息中的计算操作信息对接收到的数据分片执行计算操作,得到计算结果之后,各计算节点将各自的计算结果发送给作业结果接收单元205。

作业结果接收单元205具体包括:计算结果接收模块和汇总模块,其中:

计算结果接收模块,用于接收各计算节点的计算结果;

汇总模块,用于基于拉格朗提插值算法将各计算节点的计算结果汇总成计算作业结果。

之后,作业结果发送单元206就可以将汇总后的计算作业结果发送给验证节点进行验证,在验证结果成功时,验证节点根据作业结果接收方信息将计算作业结果发送给作业结果接收方。

为了进一步理解本发明实施例,以下给出计算作业处理系统的示例。图4是计算作业处理系统的示例结构框图,如图4所示,该示例系统包括:发起方11(即,任务发起方)、数据提供方12、算力提供方13、验证者模块14、数据库模块15和智能合约16,其中:

任务发起方,是隐私计算任务的发起端,需要指定隐私计算算法、任务执行脚本、数据提供方地址。

数据提供方,是隐私计算任务的数据源方,提供参与隐私计算的密文数据。

算力提供方(具有上述计算作业处理装置20和计算节点的功能),是计算资源提供方,参与计算任务的执行和计算任务的调度。

验证者模块,是计算结果校验方,由区块链网络验证节点负责。

数据库模块,是存储计算任务哈希id(即,上述的作业标识)及用户的公钥地址。

智能合约模块,可以通过程序代码来约定以下功能,具体地,根据不同功能可以分为如下几种合约:

权限合约:约定读取数据源节点密文数据的次数及时间,对数据的用法用量进行管理;

计算任务分发合约:将计算任务打包发送至区块链网络的协同节点,同一任务可以广播至不同的协同节点,每个节点可以并发执行多任务。

计算任务调度合约:根据区块链协同节点的算力配置来调度任务。

计算结果校验合约:校验结果的准确性,确保任务执行过程的安全性和隐私性。

激励合约:约定激励机制,对于数据提供方和算力提供方、校验方提供一定的奖励,以保证系统的稳定运行。

图5是图4所示系统的工作流程示意图,如图5所示,任务发起方通过客户端21编写隐私计算任务合约(即,上述的作业脚本信息)。在实际操作中,任务合约内容具体包括:任务涉及的隐私计算算法(例如,秘密分享算法、同态加密算法、不经意传输算法等)、任务执行脚本,指定数据源节点的公钥哈希地址(数据提供方)、结果接收方公钥哈希地址等。编写完毕后,将任务合约提交给各指定的数据源提供方审核,确保执行脚本无代码安全风险,向区块链系统部署并安装智能合约。智能合约安装成功后,任务执行请求广播至区块链网络22,区块链网络的各协同节点23接收到该任务执行请求后,按照权限合约里规定的数据用法、用量在有限时间内、有限次数的读取数据源节点提供的数据。该数据经过加密模块处理,因而能够保证数据源节点的数据隐私,在不泄漏原始数据的情况下提供数据源,实现数据的可用不可见。协同节点通过对应的隐私计算网络24执行计算任务,隐私计算网络是由若干个计算节点组成的集群,各计算节点仅有部分碎片数据(即,数据分片),计算节点根据任务执行脚本触发计算引擎,通过引擎指定的隐私算法进行各方数据的汇总处理。优先得出计算结果的算力提供方(即,协同节点及其隐私计算网络)提交结果给验证节点25,验证节点与协同节点进行身份验证,确认协同节点为区块链网络中的可信节点,在对其身份认证无误后,将该密文结果共识并上链存储。任务发起方指定的结果接收方可以解密查看此结果。

图6是隐私计算网络24的结构示意图,如图6所示,隐私计算网络24由若干个计算节点组成,每个计算节点由两层服务组成,分别是协议层和计算层。每个协同节点都对应一个私有链网络,私有链网络内各计算节点可以自主加入和退出,根据计算任务的规模自由配置计算资源并争取奖励。

其中,协议层是私有链网络内各节点根据协议,共同选择计算节点并记录节点行为到区块链中,保证计算执行的安全性;计算层用于私有链网路中各计算节点共同执行隐私计算引擎。隐私计算引擎中的算法协议本身能够在计算过程中保证安全性和隐私性。

在一个实施例中,上述秘密分享协议是将数据拆分成多份,分发给多个计算节点,每个计算节点独立持有一部分数据,协作完成计算的协议。在本发明实施例中,隐私计算网络中的计算节点都持有分片数据。

例如,一个协同节点对应w个计算节点,三方数据源方的秘密数据分别是s1,s2,s3,则协同计算的步骤如下:

(1)通过构造多项式,将秘密数据拆分

s(1,2,3)∈zq={0,1...,q-1},

其中,zq为整数加群,在zq上随机选取a1,a2,...at-1,q为大于2的正整数,a1,a2,...at-1为随机数。

构造多项式p是一个大素数,满足si<p。

根据秘密分享协议,如图7所示,三方数据源s会被随机拆分成w个不等的x,且满足si=x1+x2+x3...xw。基于现有的计算方式(本发明对此不作限制),求值对应的多项式,得到w组(xw,p(xw))。随后分发给w个计算节点,每个计算节点负责保密自己的(xw,p(xw))。

(2)各计算节点完成计算后,通过重构方式汇总计算结果

使用拉格朗日插值法汇总计算结果,其中,t≤w,f(0)=s。具体的汇总方法,参考现有的相关技术,本发明对此不作限制。

如此,最终三个数据源的秘密数据s,均会被随机的分发给t(t≤w)个计算节点进行计算,并得到汇总计算结果,在半诚实模型下,能够保证隐私数据安全不被泄漏。

图8是基于图4所示系统的隐私计算服务调度的流程图,如图8所示,该流程包括如下步骤:

步骤801:任务发起阶段

任务发起方在客户端配置任务相关信息,包括:指定数据源、配置元数据、编辑计算脚本等。通过权限合约来配置此次需要使用的各方数据源的数量级、使用时间、使用次数。元数据是指参与计算的数据源节点的本地原始数据的数据结构,不含具体的数据内容,可以保护数据源节点数据的安全性。计算脚本需要定义使用的隐私计算算法、计算公式、数据源地址、结果是否公开等信息。如下述脚本所示:

importp

a=p.ss('http://ip:port/simplea/s1')

b=p.ss('http://ip:port/simpleb/s2')

c=p.ss('http://ip:port/simplec/s3')

c=a+b+c

print(c)

result=p.reveal(c,'result')

print("计算结果c的明文:")

print(result)

在上述脚本中,a+b+c是指本次计算是基于密文的三方求和运算。a、b、c分别是加密后的三方数据,密码算法为sharesecret(ss),reveal为解密接口。任务发起方可以选择是否公开最后计算结果,若不公开则由指定接收方调用reveal接口获取明文结果。

步骤802:任务提交阶段

上述信息配置完毕后,任务发起方在客户端点击脚本审核。脚本会发送给数据源方审核,避免出现代码漏洞,侵害数据源方的数据安全。数据源方审核无误后,即可提交任务,发布智能合约。

步骤803:打包任务

任务id为计算任务的哈希值,作为该任务的唯一标识,将任务id与任务发起方地址及具体的任务脚本关联后存储至数据库task(任务)表中。并将包含任务id的任务请求广播至区块链网络中。

步骤804:任务分发及领取

任务广播后,同一任务可以分发至不同的协同节点,多个协同节点之间可以并发执行。各协同节点接收到广播的计算任务后,根据任务id可以检索到任务的发起方地址以及任务脚本。

协同节点根据各自私链的算力配置情况,决定是否领取任务。成功领取后,按照权限合约里规定的数据用法用量在有限时间内、有限次数的读取数据源节点提供的数据。该数据经过加密模块处理,因而能够保证数据源节点的数据隐私,在不泄漏原始数据的情况下提供数据源,实现数据的可用不可见。

步骤805:任务执行

协同节点锚定各自的隐私计算网络执行计算任务,隐私计算网络由若干个计算节点组成的集群,各计算节点仅有部分碎片数据,计算节点根据任务执行脚本触发计算引擎,通过引擎指定的隐私算法进行各方数据的密文协同处理,具体过程由秘密分享两阶段组成,其中,一阶段通过构造多项式,将密文数据拆分后分发给各计算节点,二阶段通过重构汇总出最终的计算结果。

步骤806:结果校验

验证节点与协同节点进行身份验证,确认协同节点为区块链网络中的可信节点,对其身份认证无误后,将该密文结果共识并上链存储。如果任务接收方在收到最终计算结果后,对结果提出异议,则由验证节点审计最终结果。验证节点通过各参与方提供的明文数据集,根据任务发起方定义的计算脚本在明文下进行多方数据的协同计算,并将最终结果同解密后的结果进行对比,若无误,则判定该结果正确。若存在错误,则追究相应协同节点的责任。

步骤807:获取结果

验证节点根据任务发起方的任务脚本,获取接收方的地址,将计算结果分享至指定的接收方。保证非交易参与方不能获取计算结果,从而保证计算的隐私性。

本发明实施例提出的基于区块链的隐私计算服务调度方案,通过改进和优化计算任务并发调度的流程,引入区块链技术,实现快速并行处理隐私计算交易。通过链上协同、链下计算的处理模式,实现计算任务快速调度、计算结果异步提交,优化执行过程,提高了隐私计算性能及任务并发量,具体优点如下:

(1)计算任务并发处理:引入区块链技术后,由区块链网络中的协同节点进行单一任务或者多任务的分发、调度。根据各协同节点下的私有链算力配置情况,智能部署隐私计算任务,实现了算力资源的灵活调度,解决了现有隐私计算系统,数据提供方和计算节点深度绑定,算力资源受限、计算性能低、并发量小的痛点问题。各私有计算网络同步执行同一任务,避免了传统云服务中心化程度高、稳定性与安全性无法保障的问题。

(2)多协同节点:该协同节点作为区块链网络同隐私计算网络的交互节点,主要用于计算任务请求的监听与转发。协同节点监听到计算任务请求后通过远程过程调用要求隐私计算网络启动安全计算,同时接受返回结果,并向区块链发布计算开始或者结束的信息,同时等待成功发布的反馈。

(3)稳定性好:对于多任务、数据量级大、并发量大的隐私数据,该模式下的计算稳定性更强,单一协同节点的故障,不影响计算任务的调度及执行。

在实际操作中,本发明实施例中的各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。

基于相似的发明构思,本发明实施例还提供一种基于区块链的作业脚本信息处理方法,优选地,该方法可以应用于上述的作业脚本信息处理装置10。

图9是根据本发明实施例的作业脚本信息处理方法的流程图,如图9所示,该方法包括:

步骤901,接收计算作业请求,并根据所述计算作业请求设置作业脚本信息,所述作业脚本信息包括:计算操作信息(具体包括计算算法和计算公式)、数据源信息、作业结果接收方信息;

步骤902,将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息;

步骤903,响应于所述数据源提供方审核所述作业脚本信息通过,将所述作业脚本信息发送至区块链进行存储。

通过根据接收的计算作业请求设置作业脚本信息,并将所述作业脚本信息发送至数据源提供方,以便所述数据源提供方审核所述作业脚本信息,当所述数据源提供方审核所述作业脚本信息通过时,将所述作业脚本信息发送至区块链进行存储。通过预先设置作业脚本信息,可以方便后续计算节点根据该作业脚本信息执行计算任务。

在实际操作中,可以对所述作业脚本信息进行哈希操作,生成作业标识(即,上述的任务id);之后将所述作业标识和本地公钥地址关联后发送至区块链进行存储。

随后,就可以将包含所述作业标识的作业执行请求广播至区块链中的协同节点。协同节点可以根据自身的算力来选择是否接受该计算作业。

本发明实施例还提供一种基于区块链的计算作业处理方法,该方法优选地可应用于上述的计算作业处理装置20。

图10是根据本发明实施例的计算作业处理方法的流程图,如图10所示,该方法包括:

步骤1001,接收作业发起方广播的作业执行请求,所述作业执行请求包括:作业标识;

步骤1002,根据所述作业执行请求中的作业标识获取与该作业执行请求对应的作业脚本信息,所述作业脚本信息由所述作业发起方预先设置,所述作业脚本信息包括:计算操作信息(具体包括计算算法和计算公式)、数据源信息、作业结果接收方信息;

步骤1003,响应于接受所述作业执行请求,根据所述作业脚本信息中的数据源信息获取加密数据源;

步骤1004,将所述加密数据源发送至计算节点,以使计算节点根据所述作业脚本信息中的计算操作信息对所述加密数据源执行计算操作;

步骤1005,接收计算节点的计算作业结果,并将所述计算作业结果发送给验证节点进行验证,以便于在验证结果成功时,所述验证节点根据所述作业结果接收方信息将所述计算作业结果发送给作业结果接收方。

通过根据接收到的作业执行请求中的作业标识获取作业脚本信息,在接受所述作业执行请求时,根据所述作业脚本信息中的数据源信息获取加密数据源,并将加密数据源发送至计算节点,计算节点可以根据作业脚本信息中的计算操作信息对加密数据源执行计算操作,在接收到计算节点的计算作业结果时,将所述计算作业结果发送给验证节点进行验证,在验证结果成功时,验证节点根据作业结果接收方信息将所述计算作业结果发送给作业结果接收方。本发明实施例的协同节点可以根据各自的计算能力,来选择是否接受作业执行请求,如此,各协同节点贡献自有计算资源,不仅保障了计算结果的准确性、安全性和隐私性,还提高了算力资源的灵活调度,提高了隐私计算性能。

在一个实施例中,计算节点可以为多个,因此,可以基于秘密分享协议对所述加密数据源进行拆分处理,得到多个数据分片。之后,将多个数据分片分别分发给多个计算节点,各计算节点根据所述计算操作信息对所属的数据分片执行计算操作。

在各计算节点完成计算后,会接收到各计算节点的计算结果;之后,基于拉格朗提插值算法将各计算节点的计算结果汇总成计算作业结果。

为了在保证隐私计算服务安全性的基础上,本发明实施例根据计算资源灵活调度计算任务,提高了隐私计算任务的性能及并发处理能力,本发明实施例通过借助区块链技术优化计算任务处理流程,加快计算任务批量处理速度,提高了计算性能,具体的实现过程包括:一、通过智能合约编写隐私计算任务脚本,由任务哈希作为任务id来标识不同的计算任务;二、绑定任务发起方公钥地址及任务id作为交易信息,并上链存储;三、广播交易,各区块链协同节点均能接收广播的计算任务请求,各协同节点能同步执行同一任务,优先算出结果的节点提交任务结果;四、任务结果验证,由区块链网络中验证节点验证最终结果,若结果无误,任务执行节点及验证节点均能获得一定的激励。五、计算结果按需分配,最终通过验证的结果可发送至任务发起方指定的节点。

上述各步骤的具体执行流程,可以参见上述装置/系统实施例中的描述,此处不再赘述。

本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及基于区块链的计算作业处理装置/系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图11为本发明实施例的电子设备600的系统构成的示意框图。如图11所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

一实施例中,基于区块链的计算作业处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:

步骤1001,接收作业发起方广播的作业执行请求,所述作业执行请求包括:作业标识;

步骤1002,根据所述作业执行请求中的作业标识获取与该作业执行请求对应的作业脚本信息,所述作业脚本信息由所述作业发起方预先设置,所述作业脚本信息包括:计算操作信息(具体包括计算算法和计算公式)、数据源信息、作业结果接收方信息;

步骤1003,响应于接受所述作业执行请求,根据所述作业脚本信息中的数据源信息获取加密数据源;

步骤1004,将所述加密数据源发送至计算节点,以使计算节点根据所述作业脚本信息中的计算操作信息对所述加密数据源执行计算操作;

步骤1005,接收计算节点的计算作业结果,并将所述计算作业结果发送给验证节点进行验证,以便于在验证结果成功时,所述验证节点根据所述作业结果接收方信息将所述计算作业结果发送给作业结果接收方。

从上述描述可知,本申请实施例提供的电子设备,通过根据接收到的作业执行请求中的作业标识获取作业脚本信息,在接受所述作业执行请求时,根据所述作业脚本信息中的数据源信息获取加密数据源,并将加密数据源发送至计算节点,计算节点可以根据作业脚本信息中的计算操作信息对加密数据源执行计算操作,在接收到计算节点的计算作业结果时,将所述计算作业结果发送给验证节点进行验证,在验证结果成功时,验证节点根据作业结果接收方信息将所述计算作业结果发送给作业结果接收方。本发明实施例的协同节点可以根据各自的计算能力,来选择是否接受作业执行请求,如此,各协同节点贡献自有计算资源,不仅保障了计算结果的准确性、安全性和隐私性,还提高了算力资源的灵活调度,提高了隐私计算性能。

在另一个实施方式中,基于区块链的计算作业处理装置/系统可以与中央处理器100分开配置,例如可以将基于区块链的计算作业处理装置/系统配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现基于区块链的计算作业处理功能。

如图11所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图11中所示的所有部件;此外,电子设备600还可以包括图11中没有示出的部件,可以参考现有技术。

如图11所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述基于区块链的计算作业处理方法、的步骤。

综上所述,本发明实施例的基于区块链的隐私计算服务调度方案,通过借助区块链技术,解决了现有隐私计算平台任务中心化调度并发量小、性能慢、计算节点扩展性差等瓶颈问题。同时结合区块链系统原生的激励机制,激励各节点贡献自有计算资源,保障计算结果的准确性、安全性和隐私性。

以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1