一种基于数据加密的分布式计算方法及系统技术方案

技术编号:23771507 阅读:51 留言:0更新日期:2020-04-12 00:08
本发明专利技术公开一种基于数据加密的分布式计算方法及系统,需求终端向任务管理模块发起计算任务请求后,任务管理模块分配和管理计算任务请求,将计算任务分配给计算终端,由计算终端完成计算任务。需求终端对原始数据样本加密,计算终端基于加密的原始数据样本提供计算服务,保证了需求终端的信息安全,任务管理模块通过调用区块链智能合约完成计算任务的服务费用转账交易,确保了全流程信息的公开、透明、可追溯,各环节均具有良好的安全性。采用标准计算模型和输入输出格式的工作模式,计算终端可以根据自身系统配置情况安装注册其中的计算模型,具有良好的功能通用性,可适用于多种计算任务的分布式计算。

A distributed computing method and system based on data encryption

【技术实现步骤摘要】
一种基于数据加密的分布式计算方法及系统
本专利技术涉及计算机
,特别涉及一种基于数据加密的分布式计算方法及系统。
技术介绍
随着各种计算终端的普及和硬件算力的不断提升,终端硬件逐渐具备了相当强大的计算能力,利用分散的计算终端协同完成原始数据样本计算任务,对大数据的发展有重要的现实意义。在计算过程中,由于原始数据是计算任务发起方的私有资源,可能涉及隐私等敏感信息,在开展计算任务时需要避免计算终端获得原始数据,并且不同计算终端的硬件能力、软件能力、在线率等方面可能存在差异,分布计算系统的任务管理模块需要在不同的计算终端之间合理分配计算任务,因此,需要一个安全的分布计算系统在不泄露原始数据及处理结果信息的前提下完成数据处理,并向需求终端提供其所期望的结果。
技术实现思路
本专利技术提出一种基于数据加密的分布式计算方法及系统,旨在不泄露需求终端原始数据的基础上,根据任务类型特点匹配计算终端,并调用区块链智能合约完成计算服务的交易转账。为实现上述目的,本专利技术提出的基于数据加密的分布式计算方法,包括如下步骤:步骤S1:任务管理模块定义一标准计算模型集合,并对集合中的每个标准计算模型支持的数据输入输出格式定义,同时,任务管理模块在区块链上创建区块链智能合约;计算终端安装与之适配的标准计算模型并向任务管理模块注册;步骤S2:需求终端发起计算任务请求,定义本次计算任务的数据样本个数,并对每个数据样本dj依次进行二次加密分别得到初始加密数据样本d`j和第一中转加密数据样本D`j;步骤S3:任务管理模块获取需求终端的计算任务请求信息添加到任务队列中,并解密第一中转加密数据样本D`j得到初始加密数据样本d`j;步骤S4:计算终端检查其安装的标准计算模型,从任务队列中选择其可以满足的一个或多个计算任务,上报任务管理模块,任务管理模块按照预设的分配原则,将计算任务以及d`j加密后分配给匹配的计算终端;步骤S5:计算终端解密所述步骤S4中加密的d`j并验证成功后获得d`j,按照计算任务中要求的标准计算模型处理d`j得到处理结果r`j,并将处理结果r`j按照数据输入输出格式要求反馈给任务管理模块;步骤S6:任务管理模块通知需求终端确认处理结果r`j并获取确认信息后,将计算任务的服务费用从需求终端区块链的地址转移到计算终端的区块链地址,完成计算任务;步骤S7:打包本次计算任务的相关信息存储于区块链智能合约。优选地,所述步骤S1中,任务管理模块在区块链上创建区块链智能合约,智能合约主要功能函数包括执行计算任务服务费用支付的功能函数和计算任务信息上链的功能函数;计算任务服务费用支付的功能函数为:Payment(addrreq,addrsrv,amount)其中:addrreq为需求终端的区块链地址;addrsrv为计算终端的区块链地址;amount为计算任务的服务费用;计算任务的信息上链功能函数为:Record(srvInfo)其中,srvInfo包含计算任务需求信息、区块链地址信息、需求终端确认签名信息、区块链交易信息。优选地,所述步骤S1中,任务管理模块为每一计算终端分配一随机识别id,每一计算终端将其安装的标准计算模型安装信息发送给任务管理模块进行注册,注册内容包括:计算终端识别id、计算终端区块链地址、计算终端安装的标准计算模型合集。优选地,所述步骤S1中,任务管理模块定义标准计算模型集合为{m(1),m(2),…,m(K)},标准计算模型支持的数据输入输出格式个数合集为{n(1),n(2),…,n(K)}。其中,K为任务管理模块支持的标准计算模型个数,第k个标准计算模型为m(k),该模型的数据输入输出格式个数为n(k),k=1,2,…,K。优选地,所述步骤S2中,需求终端向任务管理模块发起计算任务请求过程为:S21:选择计算任务请求所采用的标准计算模型mreq=m(k)S22:选择步骤S21中标准计算模型采用的数据输入输出格式freq=i其中,i的取值可以为1、2、…,n(k);S23:确定计算任务所需处理的数据样本个数N和最高服务单价PriceLimit,根据数据样本个数N和最高服务单价PriceLimit,需求终端授权任务管理模块在计算服务费用支付时最高的转账额度为:N*PriceLimit;S24:根据计算任务运算特点和计算量选择同态加密函数对每个数据样本dj进行同态加密得到初始加密数据样本d`j,d`j=HE(dj)其中:j=1,2,…,N;HE()为同态加密函数;S25:计算初始加密数据样本d`j的摘要H,并签名Sig,H=digest(d`j)Sig=f(H,PrivKeyreq)其中:digest()为摘要计算函数;f()为非对称加密函数;PrivKeyreq为需求终端非对称加密的私钥;S26:利用任务管理模块的公钥对原始数据样本d`j非对称加密,得到第一中转加密数据样本D`j;D`j=f`(d`j,PubKeytaskmgt)其中:f`()为非对称加密函数;PubKeytaskmgt为任务管理模块非对称加密公钥;S27:将mreq、freq、N、PriceLimit、D`j、Sig、H计算任务请求信息全部发送给任务管理模块。优选地,所述步骤S3中,任务管理模块利用其私钥PrivKeytaskmgt解密D`j得到d`j,并计算d`j的摘要H`,通过Sig和需求终端的公钥PubKeyreq解出d`j的摘要H;如果H`=H,则数据验证通过,d`j方可传递至计算终端,否则数据验证失败。优选地,所述步骤S4和S5中,任务管理模块按照“服务价格优先、申请时间优先”的原则进行任务分配;针对同一计算任务,如果多个计算终端的服务价格报价和申请时间均相同,任务管理模块则选择服务在线率、系统配置高的计算终端执计算任务行;计算终端执行计算任务具体方式为:S51:任务管理模块利用被选择的计算终端公钥将d`j加密、计算d`j对应的摘要H并签名Sig`后发送给被选择的计算终端;被选择的计算终端利用其私钥解密再次得到d`j,并计算d`j的摘要H``,通过Sig`和任务管理模块的公钥解出d`j的摘要H,若H``=H,则数据验证通过,否则数据验证失败,即d`j传递失败;S52:计算终端获取d`j,按照计算任务中要求的标准计算模型计算函数mreq,处理计算任务中N个初始加密数据样本d`j,得到处理结果r`j:r`j=mreq(d`j)其中:j=1、2、3、…、N;S53:按照标准计算模型支持的数据输入输出格式要求将r`j反馈给任务管理模块,任务管理模块通知需求终端对处理结果r`j进行确认:S54:需求终端利用本文档来自技高网...

【技术保护点】
1.一种基于数据加密的分布式计算方法,其特征在于,包括如下步骤:/n步骤S1:任务管理模块定义一标准计算模型集合,并对集合中的每个标准计算模型支持的数据输入输出格式定义,同时,任务管理模块在区块链上创建区块链智能合约;计算终端安装与之适配的标准计算模型并向任务管理模块注册;/n步骤S2:需求终端发起计算任务请求,定义本次计算任务的数据样本个数,并对每个数据样本d

【技术特征摘要】
1.一种基于数据加密的分布式计算方法,其特征在于,包括如下步骤:
步骤S1:任务管理模块定义一标准计算模型集合,并对集合中的每个标准计算模型支持的数据输入输出格式定义,同时,任务管理模块在区块链上创建区块链智能合约;计算终端安装与之适配的标准计算模型并向任务管理模块注册;
步骤S2:需求终端发起计算任务请求,定义本次计算任务的数据样本个数,并对每个数据样本dj依次进行二次加密分别得到初始加密数据样本d`j和第一中转加密数据样本D`j;
步骤S3:任务管理模块获取需求终端的计算任务请求信息添加到任务队列中,并解密第一中转加密数据样本D`j得到初始加密数据样本d`j;
步骤S4:计算终端检查其安装的标准计算模型,从任务队列中选择其可以满足的一个或多个计算任务,上报任务管理模块,任务管理模块按照预设的分配原则,将计算任务以及d`j加密后分配给匹配的计算终端;
步骤S5:计算终端解密所述步骤S4中加密的d`j并验证成功后获得d`j,按照计算任务中要求的标准计算模型处理d`j得到处理结果r`j,并将处理结果r`j按照数据输入输出格式要求反馈给任务管理模块;
步骤S6:任务管理模块通知需求终端确认处理结果r`j并获取确认信息后,将计算任务的服务费用从需求终端区块链的地址转移到计算终端的区块链地址,完成计算任务;
步骤S7:打包本次计算任务的相关信息存储于区块链智能合约。


2.如权利要求1所述的基于数据加密的分布式计算方法,其特征在于,所述步骤S1中,
任务管理模块在区块链上创建区块链智能合约,智能合约主要功能函数包括执行计算任务服务费用支付的功能函数和计算任务信息上链的功能函数;
计算任务服务费用支付的功能函数为:
Payment(addrreq,addrsrv,amount)
其中:
addrreq为需求终端的区块链地址;
addrsrv为计算终端的区块链地址;
amount为计算任务的服务费用;
计算任务的信息上链功能函数为:
Record(srvInfo)
其中,srvInfo包含计算任务需求信息、区块链地址信息、需求终端确认签名信息、区块链交易信息。


3.如权利要求1所述的基于数据加密的分布式计算方法,其特征在于,所述步骤S1中,任务管理模块为每一计算终端分配一随机识别id,每一计算终端将其安装的标准计算模型安装信息发送给任务管理模块进行注册,注册内容包括:计算终端识别id、计算终端区块链地址、计算终端安装的标准计算模型合集。


4.如权利要求1所述的基于数据加密的分布式计算方法,其特征在于,所述步骤S1中,
任务管理模块定义标准计算模型集合为{m(1),m(2),…,m(K)},标准计算模型支持的数据输入输出格式个数合集为{n(1),n(2),…,n(K)}。
其中,K为任务管理模块支持的标准计算模型个数,第k个标准计算模型为m(k),该模型的数据输入输出格式个数为n(k),k=1,2,…,K。


5.如权利要求4所述的分布式计算方法,其特征在于,所述步骤S2中,需求终端向任务管理模块发起计算任务请求过程为:
S21:选择计算任务请求所采用的标准计算模型
mreq=m(k)
S22:选择步骤S21中标准计算模型采用的数据输入输出格式
freq=i
其中,i的取值可以为1,2,…,n(k);
S23:确定计算任务所需处理的数据样本个数N和最高服务单价PriceLimit,根据数据样本个数N和最高服务单价PriceLimit,需求终端授权任务管理模块在计算服务费用支付时最高的转账额度为:N*PriceLimit;
S24:根据计算任务运算特点和计算量选择同态加密函数对每个数据样本dj进行同态加密得到初始加密数据样本d`j,
d`j=HE...

【专利技术属性】
技术研发人员:郑坤杨忠勋
申请(专利权)人:深圳市超算科技开发有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1