基于区块链文件的处理方法和装置、处理器及电子设备与流程

文档序号:30563292发布日期:2022-06-29 04:12阅读:79来源:国知局
基于区块链文件的处理方法和装置、处理器及电子设备与流程

1.本技术涉及区块链技术领域,具体而言,涉及一种基于区块链文件的处理方法和装置、处理器及电子设备。


背景技术:

2.区块链技术具有防篡改和去中心化的特性,因此区块链技术已经被广泛应用于金融、银行、供应链等多个领域,相比传统的中心化解决方案,区块链可以有效保障数据安全和系统架构的去中心化,解决了机构间合作的信任和效率问题。在分布式存储系统中引入区块链技术,可以提高存储系统的安全性和可扩展性,节省设备资源的同时,提高远距离传输效率。然而,将区块链应用到存储系统中,也带来了新的挑战,分散式文件存储技术将分件分割成彼此不关联的文件片断,然后通过并发方式传输文件片断,这种方式在文件追踪和溯源存在一定的困难,这也导致了数据安全存在一定的风险性。
3.针对相关技术中采用分散式文件存储技术存储文件信息,难以对文件信息进行内容跟踪和溯源,导致数据安全性比较低的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术的主要目的在于提供一种基于区块链文件的处理方法和装置、处理器及电子设备,以解决相关技术中采用分散式文件存储技术存储文件信息,难以对文件信息进行内容跟踪和溯源,导致数据安全性比较低的问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种基于区块链文件的处理方法。该方法包括:获取目标文件上传的交易请求一,其中,所述交易请求一中至少包括:所述目标文件和目标智能合约的id;通过分散式存储节点一将所述交易请求一进行处理,得到目标交易报文一,并将所述目标交易报文一上传至区块链节点,其中,通过所述区块链节点进行处理,并返回具有所述目标文件访问权限的参与方的数字身份id至所述分散式存储节点一;依据所述参与方的数字身份id,通过预设算法一对所述目标文件进行签名处理,得到目标签名;对所述目标文件进行处理,得到目标数据区块,其中,所述目标数据区块中至少包括:所述参与方的数字身份id,所述目标文件的上传者的数字身份id,所述目标签名和所述目标文件的存储地址信息;将所述目标数据区块传送至至少一个分散式存储节点二,以实现对所述目标数据区块的存储,其中,所述分散式存储节点二是所述分散式存储节点中除所述分散式存储节点一之外的其它分散式存储节点。
6.进一步地,所述预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为所述目标签名,m为所述目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。
7.进一步地,所述目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为所述目标文件的数据信息。
8.进一步地,对所述目标文件进行处理,得到目标数据区块包括:通过预设算法二对所述目标文件进行分块处理,得到多个初始数据区块;通过预设算法三对所述初始数据区块进行处理,得到所述目标数据区块。
9.进一步地,所述目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为所述目标数据区块,m是所述初始数据区块,didr为所述目标文件的上传者的数字身份id,cid为所述目标文件的存储地址信息,chksum为安全参数。
10.进一步地,所述目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为所述初始数据区块的哈希值。
11.进一步地,在发起所述目标文件上传的交易请求之前,所述方法还包括:获取所述目标智能合约部署的交易请求二,其中,所述目标智能合约用于处理所述目标交易报文一;通过所述区块链节点的交易处理模块生成所述交易请求二的id和所述目标智能合约的id,并将所述交易请求二的id、所述目标智能合约的id和所述目标智能合约的代码组装成目标交易报文二;通过所述区块链节点的通讯模块将所述目标交易报文二广播至区块链系统中的其它区块链节点,其中,所述区块链节点对所述目标交易报文二进行解析,以部署所述目标智能合约;将所述目标智能合约已部署完成的信号一反馈至目标对象。
12.进一步地,在将所述目标数据区块传送至至少一个目标分散式存储节点,以实现对所述目标数据区块的存储之后,所述方法还包括:通过所述区块链节点对所述目标数据区块的存储行为信息进行校验与共识;若对所述目标数据区块的存储行为信息的校验与共识通过,则将所述目标数据区块已存储完成的信号二反馈至目标对象。
13.进一步地,在将所述目标数据区块传送至至少一个目标分散式存储节点,以实现对所述目标数据区块的存储之后,所述方法还包括:获取所述目标文件查询的交易请求三,其中,所述交易请求三中至少包括:所述交易请求三的发起者的数字身份id,所述目标文件的存储地址信息;通过所述区块链节点对所述交易请求三进行验证,以确定所述交易请求三的发起者是否具有所述目标文件的访问权限;若所述发起者具有所述目标文件的访问权限,则依据所述目标文件的存储地址信息,获取所述目标文件;对所述目标文件进行校验,以确定所述目标文件是否完整;若所述目标文件进行校验通过,则将所述目标文件反馈至所述发起者。
14.为了实现上述目的,根据本技术的另一方面,提供了一种基于区块链文件的处理装置。该装置包括:第一获取单元,用于获取目标文件上传的交易请求一,其中,所述交易请求一中至少包括:所述目标文件和目标智能合约的id;第一处理单元,用于通过分散式存储节点一将所述交易请求一进行处理,得到目标交易报文一,并将所述目标交易报文一上传至区块链节点,其中,通过所述区块链节点进行处理,并返回具有所述目标文件访问权限的参与方的数字身份id至所述分散式存储节点一;第二处理单元,用于依据所述参与方的数字身份id,通过预设算法一对所述目标文件进行签名处理,得到目标签名;第三处理单元,用于对所述目标文件进行处理,得到目标数据区块,其中,所述目标数据区块中至少包括:所述参与方的数字身份id,所述目标文件的上传者的数字身份id,所述目标签名和所述目标文件的存储地址信息;发送单元,用于将所述目标数据区块传送至至少一个分散式存储节点二,以实现对所述目标数据区块的存储,其中,所述分散式存储节点二是所述分散式存储节点中除所述分散式存储节点一之外的其它分散式存储节点。
15.进一步地,所述预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为所述目标签名,m为所述目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。
16.进一步地,所述目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为所述目标文件的数据信息。
17.进一步地,所述第三处理单元包括:第一处理模块,用于通过预设算法二对所述目标文件进行分块处理,得到多个初始数据区块;第二处理模块,用于通过预设算法三对所述初始数据区块进行处理,得到所述目标数据区块。发送单元,用于将所述目标数据区块传送至至少一个分散式存储节点二,以实现对所述目标数据区块的存储,其中,所述分散式存储节点二是所述分散式存储节点中除所述分散式存储节点一之外的其它分散式存储节点。
18.进一步地,所述目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为所述目标数据区块,m是所述初始数据区块,didr为所述目标文件的上传者的数字身份id,cid为所述目标文件的存储地址信息,chksum为安全参数。
19.进一步地,所述目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为所述初始数据区块的哈希值。
20.进一步地,所述装置还包括:第二获取单元,用于在发起所述目标文件上传的交易请求之前,获取所述目标智能合约部署的交易请求二,其中,所述目标智能合约用于处理所述目标交易报文一;组装单元,用于通过所述区块链节点的交易处理模块生成所述交易请求二的id和所述目标智能合约的id,并将所述交易请求二的id、所述目标智能合约的id和所述目标智能合约的代码组装成目标交易报文二;广播单元,用于通过所述区块链节点的通讯模块将所述目标交易报文二广播至区块链系统中的其它区块链节点,其中,所述区块链节点对所述目标交易报文二进行解析,以部署所述目标智能合约;第一反馈单元,用于将所述目标智能合约已部署完成的信号一反馈至目标对象。
21.进一步地,所述装置还包括:第一校验单元,用于在将所述目标数据区块传送至至少一个目标分散式存储节点,以实现对所述目标数据区块的存储之后,通过所述区块链节点对所述目标数据区块的存储行为信息进行校验与共识;第二反馈单元,用于若对所述目标数据区块的存储行为信息的校验与共识通过,则将所述目标数据区块已存储完成的信号二反馈至目标对象。
22.进一步地,所述装置还包括:第三获取单元,用于在将所述目标数据区块传送至至少一个目标分散式存储节点,以实现对所述目标数据区块的存储之后,获取所述目标文件查询的交易请求三,其中,所述交易请求三中至少包括:所述交易请求三的发起者的数字身份id,所述目标文件的存储地址信息;验证单元,用于通过所述区块链节点对所述交易请求三进行验证,以确定所述交易请求三的发起者是否具有所述目标文件的访问权限;第四获取单元,用于若所述发起者具有所述目标文件的访问权限,则依据所述目标文件的存储地址信息,获取所述目标文件;第二校验单元,用于对所述目标文件进行校验,以确定所述目标文件是否完整;第三反馈单元,用于若所述目标文件进行校验通过,则将所述目标文件反馈至所述发起者。
23.为了实现上述目的,根据本技术的一个方面,提供了一种处理器,处理器用于运行
程序,其中,所述程序运行时执行上述任意一项所述的基于区块链文件的处理方法。
24.为了实现上述目的,根据本技术的一个方面,提供了一种电子设备,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个处理器实现上述任意一项所述的基于区块链文件的处理方法。
25.通过本技术,采用以下步骤:获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点,解决了相关技术中采用分散式文件存储技术存储文件信息,难以对文件信息进行内容跟踪和溯源,导致数据安全性比较低的问题。通过预设算法一根据具有目标文件访问权限的参与方的数字身份id对目标文件进行签名处理,得到目标签名,然后将目标签名添加到目标数据区块之后,再将目标数据区块传送至分散式存储节点二,使得能够对目标文件跟踪与溯源,进而达到了提高数据安全性的效果。
附图说明
26.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
27.图1是根据本技术实施例提供的基于区块链文件的处理方法的流程图;
28.图2是根据本技术实施例提供的可选的目标数据区块格式示意图;
29.图3是根据本技术实施例提供的可选的基于区块链文件的处理方法的流程图;
30.图4是根据本技术实施例提供的基于区块链文件的处理装置的示意图;
31.图5是根据本技术实施例提供的可选的基于区块链文件的处理系统的示意图;
32.图6是根据本技术实施例提供的可选的分散式存储节点的示意图;
33.图7是根据本技术实施例提供的可选的区块链节点的示意图;
34.图8是根据本技术实施例提供的电子设备的示意图。
具体实施方式
35.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
36.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
37.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的基于区块链文件的处理方法的流程图,如图1所示,该方法包括如下步骤:
39.步骤s101,获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id。
40.具体地,用户可以根据实际需求发起目标文件的上传请求(即上述交易请求一),在交易请求一中需要包括本次上传的目标文件,目标智能合约的id以及相关的配置参数等。交易请求一被发送至分散式存储节点一。
41.步骤s102,通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一。
42.具体地,分散式存储节点一接收到交易请求一后,对交易请求一进行处理得到目标交易报文一,分散式存储节点一将目标交易报文一发送至区块链节点,区块链节点接收到目标交易报文一,对目标交易报文一进行解析,获取目标智能合约的id,然后调用对应的目标智能合约,目标智能合约进行处理,得到具有目标文件访问权限的参与方的数字身份id并将具有目标文件访问权限的参与方的数字身份id返回至分散式存储节点一。同时分散式存储节点一会将目标文件进行备份存储至本地。分散式存储节点是用于存储目标文件的节点。
43.步骤s103,依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名。
44.具体地,根据参与方数字身份id,采用预设算法一对目标文件进行签名处理,得到目标签名。采用的预设算法一的形式是se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),se为目标签名,m为目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。得到的目标签名的形式为se=ge.r
ef(t,c)
(modn),ge≡did
a1
did
a2
...did
an
(modn)。
45.步骤s104,对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息。
46.具体地,在得到目标签名之后,对目标文件进行处理,得到目标数据区块。目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为目标数据区块,m是初始数据区块,didr为目标文件的上传者的数字身份id,cid为目标文件的存储地址信息,chksum为安全参数。
47.步骤s105,将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数
据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点。
48.具体地,将目标数据区块分散存储到对应的分散式存储节点二上。
49.综上所示,通过预设算法一根据具有目标文件访问权限的参与方的数字身份id对目标文件进行签名处理,得到目标签名,然后将目标签名添加到目标数据区块之后,再将目标数据区块传送至分散式存储节点二,使得能够对目标文件跟踪与溯源,提高了数据安全性。
50.可选地,在本技术实施例提供的基于区块链文件的处理方法中,预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为目标签名,m为目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。
51.具体地,预设算法一是以rsa算法作为基础的算法,采用预设算法一对目标文件进行签名处理,得到的目标签名不会被轻易篡改,保证了目标文件的安全性,同时可以根据目标签名对目标文件进行准确跟踪和溯源。
52.可选地,在本技术实施例提供的基于区块链文件的处理方法中,目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为目标文件的数据信息。
53.具体地,目标签名的形式为se=ger
ef(t,c)
(modn),针对当前的形式可以对目标签名进一步地化简得到s≡g.r
f(t,c)
(modn)。上述的目标签名形式不会被轻易篡改,保证
54.了数据的安全性。
55.可选地,在本技术实施例提供的基于区块链文件的处理方法中,对目标文件进行处理,得到目标数据区块包括:通过预设算法二对目标文件进行分块处理,得到多个初始数据区块;通过预设算法三对初始数据区块进行处理,得到目标数据区块。
56.具体地,根据目标文件分块的策略,对目标文件进行分块处理。可以采用的rabin分块算法(即上述预设算法二)对目标文件进行分块处理,rabin分块算法为:m(parent)=m(child1)||m(child2)||...||m(childn)||did
a1
||did
a2
||....||did
ak
,其中,m(parent)表示文件分片的rabin指纹信息,m(childi)表示子节点文件分片的rabin指纹信息。然后调用哈希聚合算法(即上述预设算法二)将各子节点文件分块哈希、目标签名等信息进行聚合,得到目标数据区块。通过上述两种算法能够对目标文件进行灵活分块处理,得到目标数据区块。
57.可选地,在本技术实施例提供的基于区块链文件的处理方法中,目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为目标数据区块,m是初始数据区块,didr为目标文件的上传者的数字身份id,cid为目标文件的存储地址信息,chksum为安全参数。
58.具体地,通过上述两种算法得到的目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),例如,如图2所示的目标数据区块的数据格式图。
59.可选地,在本技术实施例提供的基于区块链文件的处理方法中,目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为初始数据区块的哈希值。
60.具体地,在目标数据区块中的目标文件的存储地址信息的形式为:通过上述的存储地址信息能够将目标数据区块准确存储到对应的分散式存储节点二,并在后续需要读取目标文件时,能够根据存储地址信息将各个目标数据区块读取并组合得到目标文件。
61.可选地,在本技术实施例提供的基于区块链文件的处理方法中,在发起目标文件上传的交易请求之前,该方法还包括:获取目标智能合约部署的交易请求二,其中,目标智能合约用于处理目标交易报文一;通过区块链节点的交易处理模块生成交易请求二的id和目标智能合约的id,并将交易请求二的id、目标智能合约的id和目标智能合约的代码组装成目标交易报文二;通过区块链节点的通讯模块将目标交易报文二广播至区块链系统中的其它区块链节点,其中,区块链节点对目标交易报文二进行解析,以部署目标智能合约;将目标智能合约已部署完成的信号一反馈至目标对象。
62.具体地,在上传目标文件之前,需要提前部署目标智能合约,用户根据需求发起目标智能合约部署的交易请求二,并将交易请求二上传至区块链节点,区块链节点的交易处理模块生成交易请求二的id以及目标智能合约的id,并将交易请求二的id、目标智能合约的id和目标智能合约的代码组装成目标交易报文二,通过区块链节点的通讯模块将目标交易报文二广播至区块链系统中的其它区块链节点。各区块链节点接收到目标交易报文二,解析目标交易报文二,如果涉及本节点的,则开始在本节点编译目标智能合约代码,启动目标智能合约执行环境,最后区块链节点将目标智能合约已部署完成的信号一反馈至目标对象。通过上述步骤,实现目标智能合约的部署工作,保证了后续目标文件的存储工作。
63.可选地,在本技术实施例提供的基于区块链文件的处理方法中,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,该方法还包括:通过区块链节点对目标数据区块的存储行为信息进行校验与共识;若对目标数据区块的存储行为信息的校验与共识通过,则将目标数据区块已存储完成的信号二反馈至目标对象。
64.具体地,区块链节点会对目标数据区块的存储行为信息进行校验与共识,当目标数据区块的存储行为信息的校验与共识通过说明目标文件存储合法,也意味着目标文件的存储工作已完成。通过上述步骤,保证了目标文件存储工作的合法性。
65.可选地,在本技术实施例提供的基于区块链文件的处理方法中,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,该方法还包括:获取目标文件查询的交易请求三,其中,交易请求三中至少包括:交易请求三的发起者的数字身份id,目标文件的存储地址信息;通过区块链节点对交易请求三进行验证,以确定交易请求三的发起者是否具有目标文件的访问权限;若发起者具有目标文件的访问权限,则依据目标文件的存储地址信息,获取目标文件;对目标文件进行校验,以确定目标文件是否完整;若目标文件进行校验通过,则将目标文件反馈至发起者。
66.具体地,用户可以根据需求读取目标文件,用户发起目标文件查询的交易请求三,区块链节点对交易请求三进行验证,确定交易请求三的发起者是否具有目标文件的访问权限。如果发起者具有目标文件的访问权限,那根据目标文件的存储地址信息,读取目标数据区块并组装成目标文件,得到目标文件后,对目标文件进行校验,以确定目标文件是否完整。如果目标文件进行校验通过,也就是目标文件完成时,将目标文件反馈至发起者。
67.本技术实施例提供的基于区块链文件的处理方法,通过获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点,解决了相关技术中采用分散式文件存储技术存储文件信息,难以对文件信息进行内容跟踪和溯源,导致数据安全性比较低的问题。通过预设算法一根据具有目标文件访问权限的参与方的数字身份id对目标文件进行签名处理,得到目标签名,然后将目标签名添加到目标数据区块之后,再将目标数据区块传送至分散式存储节点二,使得能够对目标文件跟踪与溯源,进而达到了提高数据安全性的效果。
68.如图3所示,为根据本技术实施例提供的可选的基于区块链文件的处理方法的流程图。阶段一目标部署智能合约:步骤s301:任意一个用户发起分散式存储的目标智能合约部署请求,区块链节点的交易处理模块会收到该部署请求;步骤s302:交易处理模块接收到智能合约部署请求后,生成部署合约交易的id以及目标智能合约的id,然后将交易的id,目标智能合约的id、目标智能合约代码以及相关参数等组装成报文。步骤s303:区块链节点的交易处理模块调用通讯模块,把步骤s302组装的报文广播到区块链系统中的其它区块链节点;步骤s304:各节点接收到合约部署请求报文,开始解析请求报文,如涉及本节点的,则开始在本节点编译智能合约代码,启动智能合约执行环境;步骤s305:区块链节点将部署成功状态返回给用户。
69.阶段二目标文件的分散式存储交易:步骤s306:在交易中涉及到的节点部署完目标智能合约后,发起目标文件上传的交易请求一;步骤s307:分散式存储节点一接收交易请求一并对交易请求一进行处理,得到目标交易报文;步骤s308:将目标交易报文上传至区块链节点;步骤s309:区块链节点接收到分散式存储交易请求,对目标交易报文进行解析,获取目标智能合约的id,目标智能合约从区块链节点数据库中获取本次分散式存储交易所需要的具有目标文件访问权限的参与方的数字身份id,然后将参与方的数字身份id交给分散式存储节点;步骤s310:接收参与方的数字身份id,根据参与方的数字身份id,通过预设算法一对目标文件进行签名,得到目标签名;步骤s311:通过预设算法二和预设算法三对所述目标文件进行处理,得到目标数据区块;步骤s312:将目标数据区块存储至分散式存储节点二;步骤s313:区块链节点对目标文件的分散式存储行为信息进行校验和共识;步骤s314:校验和共识通过后,向用户返回已存储完成的信号。
70.阶段三查询目标文件:步骤s315:用户发起目标文件查询请求;步骤s316:获取目标数据区块,并组装得到目标文件;步骤s317:对目标文件进行验证,若验证通过则将目标文件反馈至用户。
71.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不
同于此处的顺序执行所示出或描述的步骤。
72.本技术实施例还提供了一种基于区块链文件的处理装置,需要说明的是,本技术实施例的基于区块链文件的处理装置可以用于执行本技术实施例所提供的用于基于区块链文件的处理方法。以下对本技术实施例提供的基于区块链文件的处理装置进行介绍。
73.图4是根据本技术实施例的基于区块链文件的处理装置的示意图。如图4所示,该装置包括:第一获取单元401,第一处理单元402,第二处理单元403,第三处理单元404和发送单元405。
74.第一获取单元401,用于获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;
75.第一处理单元402,用于通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;
76.第二处理单元403,用于依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;
77.第三处理单元404,用于对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;
78.发送单元405,用于将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点。
79.本技术实施例提供的基于区块链文件的处理装置,通过第一获取单元401获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;第一处理单元402通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;第二处理单元403依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;第三处理单元404对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;发送单元405将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点,解决了相关技术中采用分散式文件存储技术存储文件信息,难以对文件信息进行内容跟踪和溯源,导致数据安全性比较低的问题。通过预设算法一根据具有目标文件访问权限的参与方的数字身份id对目标文件进行签名处理,得到目标签名,然后将目标签名添加到目标数据区块之后,再将目标数据区块传送至分散式存储节点二,使得能够对目标文件跟踪与溯源,进而达到了提高数据安全性的效果。
80.可选地,在本技术实施例提供的基于区块链文件的处理装置中,预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为目标签名,m为目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且
e与n的阶互为质数。
81.可选地,在本技术实施例提供的基于区块链文件的处理装置中,目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为目标文件的数据信息。
82.可选地,在本技术实施例提供的基于区块链文件的处理装置中,第三处理单元404包括:第一处理模块,用于通过预设算法二对目标文件进行分块处理,得到多个初始数据区块;第二处理模块,用于通过预设算法三对初始数据区块进行处理,得到目标数据区块。发送单元,用于将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点。
83.可选地,在本技术实施例提供的基于区块链文件的处理装置中,目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为目标数据区块,m是初始数据区块,didr为目标文件的上传者的数字身份id,cid为目标文件的存储地址信息,chksum为安全参数。
84.可选地,在本技术实施例提供的基于区块链文件的处理装置中,目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为初始数据区块的哈希值。
85.可选地,在本技术实施例提供的基于区块链文件的处理装置中,该装置还包括:第二获取单元,用于在发起目标文件上传的交易请求之前,获取目标智能合约部署的交易请求二,其中,目标智能合约用于处理目标交易报文一;组装单元,用于通过区块链节点的交易处理模块生成交易请求二的id和目标智能合约的id,并将交易请求二的id、目标智能合约的id和目标智能合约的代码组装成目标交易报文二;广播单元,用于通过区块链节点的通讯模块将目标交易报文二广播至区块链系统中的其它区块链节点,其中,区块链节点对目标交易报文二进行解析,以部署目标智能合约;第一反馈单元,用于将目标智能合约已部署完成的信号一反馈至目标对象。
86.可选地,在本技术实施例提供的基于区块链文件的处理装置中,该装置还包括:第一校验单元,用于在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,通过区块链节点对目标数据区块的存储行为信息进行校验与共识;第二反馈单元,用于若对目标数据区块的存储行为信息的校验与共识通过,则将目标数据区块已存储完成的信号二反馈至目标对象。
87.可选地,在本技术实施例提供的基于区块链文件的处理装置中,该装置还包括:第三获取单元,用于在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,获取目标文件查询的交易请求三,其中,交易请求三中至少包括:交易请求三的发起者的数字身份id,目标文件的存储地址信息;验证单元,用于通过区块链节点对交易请求三进行验证,以确定交易请求三的发起者是否具有目标文件的访问权限;第四获取单元,用于若发起者具有目标文件的访问权限,则依据目标文件的存储地址信息,获取目标文件;第二校验单元,用于对目标文件进行校验,以确定目标文件是否完整;第三反馈单元,用于若目标文件进行校验通过,则将目标文件反馈至发起者。
88.基于区块链文件的处理装置包括处理器和存储器,上述第一获取单元401,第一处理单元402,第二处理单元403,第三处理单元404和发送单元405等均作为程序单元存储在
存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
89.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对文件的存储工作。
90.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
91.如图5所示,根据本技术实施例提供的可选的基于区块链文件的处理系统的结构图,该处理系统包括客户端1、分散式存储节点2和区块链节点3。客户端1:主要负责发起智能合约部署请求、文件分散式存储交易请求、文件查询请求等。分散式存储节点2:即去中心化存储节点,负责接收客户端1的文件上传和查询请求,进行分散式文件读写工作以及将交易信息存证到区块链节点3。区块链节点3,完成交易广播、交易执行、交易验证、共识和存储等功能的节点,具有区块链的一般特性。
92.如图6所示,根据本技术实施例提供的可选的分散式存储节点的示意图。该分散式存储节点包括通讯模块21,密文处理模块22、dag模块23和chunk模块24。通讯模块21:负责为分散式存储节点2建立安全通道,实现分散式存储报文收发。密文处理模块22:负责对分散式存储报文进行加密和解密处理,为文件执行签名处理的主体模块。dag模块23:对文件进行分块处理,得到初始数据区块。chunk模块24:对初始数据进行处理,得到目标数据区块。
93.如图7所示,根据本技术实施例提供的可选的区块链节点的结构图,区块链节点3包括:通讯模块31,交易处理模块32,智能合约模块33和共识验证模块34。通讯模块31:负责各节点间的通信交互,完成一般区块链节点通讯信息,包括交易信息广播、共识相关信息、区块同步信息、网络状态信息等。交易处理模块32:负责接收交易请求,生成交易唯一标识,将交易唯一标识、合约唯一标识以及调用参数组装成交易报文,并将交易报文广播到区块链的其它节点。智能合约模块33:负责从通讯模块22接收交易请求,根据预设的业务逻辑对交易请求进行处理。共识验证模块34:负责对接收到交易请求进行共识处理,当达成共识时,调用智能合约模块23执行智能合约,并最终形成记录在案,供日后审计追溯或验证。
94.本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行基于区块链文件的处理方法。
95.如图8所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;将目标数据区块传送至至少一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点。
96.可选地,预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为目标签名,m为目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。
97.可选地,目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为目标文件的数据信息。
98.可选地,对目标文件进行处理,得到目标数据区块包括:通过预设算法二对目标文件进行分块处理,得到多个初始数据区块;通过预设算法三对初始数据区块进行处理,得到目标数据区块。
99.可选地,目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为目标数据区块,m是初始数据区块,didr为目标文件的上传者的数字身份id,cid为目标文件的存储地址信息,chksum为安全参数。
100.可选地,目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为初始数据区块的哈希值。
101.可选地,在发起目标文件上传的交易请求之前,该方法还包括:获取目标智能合约部署的交易请求二,其中,目标智能合约用于处理目标交易报文一;通过区块链节点的交易处理模块生成交易请求二的id和目标智能合约的id,并将交易请求二的id、目标智能合约的id和目标智能合约的代码组装成目标交易报文二;通过区块链节点的通讯模块将目标交易报文二广播至区块链系统中的其它区块链节点,其中,区块链节点对目标交易报文二进行解析,以部署目标智能合约;将目标智能合约已部署完成的信号一反馈至目标对象。
102.可选地,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,该方法还包括:通过区块链节点对目标数据区块的存储行为信息进行校验与共识;若对目标数据区块的存储行为信息的校验与共识通过,则将目标数据区块已存储完成的信号二反馈至目标对象。
103.可选地,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,该方法还包括:获取目标文件查询的交易请求三,其中,交易请求三中至少包括:交易请求三的发起者的数字身份id,目标文件的存储地址信息;通过区块链节点对交易请求三进行验证,以确定交易请求三的发起者是否具有目标文件的访问权限;若发起者具有目标文件的访问权限,则依据目标文件的存储地址信息,获取目标文件;对目标文件进行校验,以确定目标文件是否完整;若目标文件进行校验通过,则将目标文件反馈至发起者。本文中的设备可以是服务器、pc、pad、手机等。
104.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取目标文件上传的交易请求一,其中,交易请求一中至少包括:目标文件和目标智能合约的id;通过分散式存储节点一将交易请求一进行处理,得到目标交易报文一,并将目标交易报文一上传至区块链节点,其中,通过区块链节点进行处理,并返回具有目标文件访问权限的参与方的数字身份id至分散式存储节点一;依据参与方的数字身份id,通过预设算法一对目标文件进行签名处理,得到目标签名;对目标文件进行处理,得到目标数据区块,其中,目标数据区块中至少包括:参与方的数字身份id,目标文件的上传者的数字身份id,目标签名和目标文件的存储地址信息;将目标数据区块传送至至少
一个分散式存储节点二,以实现对目标数据区块的存储,其中,分散式存储节点二是分散式存储节点中除分散式存储节点一之外的其它分散式存储节点。
105.可选地,预设算法一的形式为:se=did
a1
did
a2
...did
ak
t
f(t,m)
(modn),其中,se为目标签名,m为目标文件的哈希值,t=re(modn),r为随机选取的整数,did
ai
(1≤i≤k)为具有访问权限的k个参与方的数字身份id,n=pq,p,q为随机选取的256位的素数,f为门限函数,e为随机选取的256位的素数,并且e与n的阶互为质数。
106.可选地,目标签名的形式为:se=ger
ef(t,c)
(modn),其中,ge≡did
a1
did
a2
...did
ak
(modn),c为目标文件的数据信息。
107.可选地,对目标文件进行处理,得到目标数据区块包括:通过预设算法二对目标文件进行分块处理,得到多个初始数据区块;通过预设算法三对初始数据区块进行处理,得到目标数据区块。
108.可选地,目标数据区块的形式为:blockm=(did
a1
,...,did
ak
,m,cid,didr,se,...,chksum),其中,blockm为目标数据区块,m是初始数据区块,didr为目标文件的上传者的数字身份id,cid为目标文件的存储地址信息,chksum为安全参数。
109.可选地,目标文件的存储地址信息的形式为:其中,h为哈希函数,cid
children
为初始数据区块的哈希值。
110.可选地,在发起目标文件上传的交易请求之前,该方法还包括:获取目标智能合约部署的交易请求二,其中,目标智能合约用于处理目标交易报文一;通过区块链节点的交易处理模块生成交易请求二的id和目标智能合约的id,并将交易请求二的id、目标智能合约的id和目标智能合约的代码组装成目标交易报文二;通过区块链节点的通讯模块将目标交易报文二广播至区块链系统中的其它区块链节点,其中,区块链节点对目标交易报文二进行解析,以部署目标智能合约;将目标智能合约已部署完成的信号一反馈至目标对象。
111.可选地,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,该方法还包括:通过区块链节点对目标数据区块的存储行为信息进行校验与共识;若对目标数据区块的存储行为信息的校验与共识通过,则将目标数据区块已存储完成的信号二反馈至目标对象。
112.可选地,在将目标数据区块传送至至少一个目标分散式存储节点,以实现对目标数据区块的存储之后,方法还包括:获取目标文件查询的交易请求三,其中,交易请求三中至少包括:交易请求三的发起者的数字身份id,目标文件的存储地址信息;通过区块链节点对交易请求三进行验证,以确定交易请求三的发起者是否具有目标文件的访问权限;若发起者具有目标文件的访问权限,则依据目标文件的存储地址信息,获取目标文件;对目标文件进行校验,以确定目标文件是否完整;若目标文件进行校验通过,则将目标文件反馈至发起者。
113.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
114.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
115.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
116.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
117.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
118.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
119.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
120.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
121.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
122.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1