CN115412568A - 分布式数据传输方法、装置及系统 - Google Patents
分布式数据传输方法、装置及系统 Download PDFInfo
- Publication number
- CN115412568A CN115412568A CN202211034975.7A CN202211034975A CN115412568A CN 115412568 A CN115412568 A CN 115412568A CN 202211034975 A CN202211034975 A CN 202211034975A CN 115412568 A CN115412568 A CN 115412568A
- Authority
- CN
- China
- Prior art keywords
- file
- data transmission
- request
- data
- transmission request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000013467 fragmentation Methods 0.000 claims description 45
- 238000006062 fragmentation reaction Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 abstract description 28
- 239000008186 active pharmaceutical agent Substances 0.000 description 26
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 206010010099 Combined immunodeficiency Diseases 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种分布式数据传输方法、装置及系统,可用于区块链技术领域,方法包括:接收用户的数据传输请求,数据传输请求包括数据上传请求以及数据访问请求;当数据传输请求为数据上传请求时,根据数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;当数据传输请求为数据访问请求时,转发数据访问请求至去中心化存储节点,接收去中心化存储节点响应于数据访问请求所发送的加密文件,并解密加密文件。有效解决去中心化分散式数字文件存取的安全访问和身份验证难题。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及区块链技术领域,尤其涉及一种分布式数据传输方法、装置及系统。
背景技术
随着web3.0时代的到来,各界对数据的使用安全越来越重视,数据的版权和安全管理已经成为互联网最为关注的课题。近年来,区块链应用的发展促使链上数据规模呈几何指数级增长,传统区块链技术由于链上存储瓶颈的限制,一般采用去中心化存储技术实行链下存储,有效解决了数据多副本备份和共享问题,实现一份数据,去中心化多副本存储和分片存储,但也给数据文件的访问安全和版权管理提出了更高的要求。
去中心化存储技术是一种点对点的分布式文件传输系统,通过将文件分片存储和多点并发传输,节约内容存储空间,提高分布式文件系统的传输效率。但在访问安全方面也带来了新的挑战,如在去中心化环境下,用户的数据文件被分片保存在不同存储节点,给文件的安全存取与身份验证带来难题,如何保证在去中心化环境下的数据文件的安全存取和数字版权管理尚无成熟解决方案。当前在分散式文件存储访问控制方面,主要采用PKI技术进行加密认证,并建立认证机制,但针对特定目标用户的目录权限控制研究还不多,为实现企业级可信的文件存证和共享功能,在分散式文件目录树的权限管理、访问控制等服务能力仍有较大提升空间。
发明内容
本发明提供一种分布式数据传输方法,利用区块链多方共享、可信存证的特点,在区块链网络上存证文件目录访问权限表,确保权限表能够被最近的存储节点获取和访问。本发明创新引入了DPKI和分布式用户身份,并将数字身份嵌入到目录访问权限表中,有效解决去中心化分散式数字文件存取的安全访问和身份验证难题,可广泛应用在安全数据分享、金融业务等业务场景中。
为了达到以上目的,本发明一方面公开了一种适用于客户端的分布式数据传输方法,包括:
接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
一实施例中,所述根据所述数据传输请求加密欲传输的文件,以生成密态文件包括:
根据预设的对称密钥生成函数以及所述数字身份生成对称密钥;
根据对称密钥加密所述欲传输的文件,以生成所述密态文件。
一实施例中,分布式数据传输方法还包括:
根据数据传输请求数量进行交易限流以及熔断控制。
本发明还公开了一种适用于去中心化存储节点的分布式数据传输方法,包括:
接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
一实施例中,分布式数据传输方法还包括:
确定所述分片操作后的密态文件的数量以及长度;
根据所述密态文件的数量以及长度建立文件对象树,以对所述密态文件进行查询。
一实施例中,在分布式数据传输方法中,在将合片后的文件发送至客户端之前,还包括:
根据所述用户数字身份对所述合片后的文件进行完整性校验。
对应地,本发明还公开了一种适用于客户端的分布式数据传输装置,包括:
传输请求第一接收模块,用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第一模块,用于当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
数据访问第一模块,用于当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
一实施例中,数据上传第一模块包括:
对称密钥生成单元,用于根据预设的对称密钥生成函数以及所述数字身份生成对称密钥;
密态文件生成单元,用于根据对称密钥加密所述欲传输的文件,以生成所述密态文件。
一实施例中,分布式数据传输装置还包括:
限流模块,用于根据数据传输请求数量进行交易限流以及熔断控制。
对应地,本发明还公开了一种适用于去中心化存储节点的分布式数据传输装置,包括:
传输请求第二接收模块,用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第二模块,用于当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
数据访问第二模块,用于当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
一实施例中,分布式数据传输装置还包括:
长度确定模块,用于确定所述分片操作后的密态文件的数量以及长度;
对象树建立模块,用于根据所述密态文件的数量以及长度建立文件对象树,以对所述密态文件进行查询。
一实施例中,分布式数据传输装置还包括:
完整性校验模块,用于根据所述用户数字身份对所述合片后的文件进行完整性校验。
本发明还公开了一种去中心化存储节点,被配置为接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;以及当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
本发明还公开了一种客户端,被配置为接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
本发明还公开了一种分布式数据传输系统,包括客户端、去中心化存储网络以及区块链,其中:
客户端用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;以及当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
去中心化存储网络包括多个去中心化存储节点;所述去中心化存储节点用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;以及当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
本发明还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现如上所述方法。
本发明还公开了一种计算机可读介质,其上存储有计算机程序,
该程序被处理器执行时实现如上所述方法。
从上述描述可知,首先,本发明实施例提供一种适用于客户端的分布式数据传输方法,包括:接收用户的数据传输请求,数据传输请求包括数据上传请求以及数据访问请求;当数据传输请求为数据上传请求时,根据数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;当数据传输请求为数据访问请求时,转发数据访问请求至去中心化存储节点,接收去中心化存储节点响应于数据访问请求所发送的加密文件,并解密加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
接着,本发明实施例还提供一种适用于去中心化存储节点的分布式数据传输方法,包括:接收客户端所发送的数据传输请求;数据传输请求包括数据上传请求以及数据访问请求;当数据传输请求为数据上传请求时,对客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;当数据传输请求为数据访问请求时,对客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
本发明较好地解决去中心化分散式文件存储系统中安全存储和身份验证问题,建立了一套去中心化数据安全存取和身份验证框架,并基于区块链技术引入去中心化公钥体系(DPKI)和分布式数字身份(DID),当用户存取文件时,调用区块链智能合约进行权限控制和身份校验,并与区块链上的文件访问目录树进行权限核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证的特点,在区块链网络上存证文件目录访问权限表,以确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了DPKI和分布式用户身份,并将数字身份嵌入到目录访问权限表中,有效解决去中心化分散式数字文件存取的安全访问和身份验证难题,可广泛应用在安全数据分享、金融业务等业务场景中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中分布式数据传输方法的流程示意图一(适用于客户端);
图2为本发明的实施例中基于区块链的文件传输方法的步骤300的流程示意图;
图3为本发明的实施例中分布式数据传输方法的流程示意图二(适用于客户端);
图4为本发明的实施例中分布式数据传输方法的流程示意图一(适用于去中心化存储节点);
图5为本发明的实施例中分布式数据传输方法的流程示意图二(适用于去中心化存储节点);
图6为本发明的实施例中分布式数据传输方法的流程示意图三(适用于去中心化存储节点);
图7为本发明的具体实施方式中分布式数据传输系统的方块图;
图8为本发明的具体实施方式中分布式数据传输系统的分层结构示意图;
图9为本发明的具体实施方式中服务网关节点3的方块图;
图10为本发明的具体实施方式中去中心化存储节点4的方块图;
图11为本发明的具体实施方式中区块链节点5的方块图;
图12为本发明的具体实施方式中分布式数据传输方法的流程示意图;
图13为本发明的实施例中分布式数据传输装置图一(适用于客户端);
图14为本发明的实施例中数据上传第一模块10的方块图;
图15为本发明的实施例中分布式数据传输装置图二(适用于客户端);
图16为本发明的实施例中分布式数据传输装置图一(适用于去中心化存储节点);
图17为本发明的实施例中分布式数据传输装置图二(适用于去中心化存储节点);
图18为本发明的实施例中分布式数据传输装置图三(适用于去中心化存储节点);
图19为本发明的实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请公开的一种分布式数据传输方法、装置及系统可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,本申请公开的一种分布式数据传输方法、装置及系统的应用领域不做限定。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
根据本发明的一个方面,本实施例公开了一种适用于客户端的分布式数据传输方法。如图1所示,本实施例中,所述方法包括:
步骤100:接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
可以理解的是,这里的数据传输包括两个方面,数据上传以及数据访问(数据下载)。
步骤200:当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
需要指出的是,在本发明所涉及的区块链网络中,所有节点、用户、文件实体(片断)具有全局唯一数字身份标识符DID,DID符合W3C DID规范,形式化表示为:
DID={id|id="did":"method-name":"{0,1}*"}
其中,method-name表示DID所在的域,{0,1}*表示256位的标识号,标明数字身份在域中的地址。DID是节点及用户在区块链网络的数字身份ID,通过区块链网络同步到共识记账节点,并存储在区块中。区块链网络提供智能合约,为访问者提供交互服务。
步骤300:当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
可以理解的是,客户端还负责保管用户的私钥和对称密钥,管理用户的数字身份DID;负责调用区块链网络提供的安全接口API,实现用户身份注册、认证,以及密态文件的加密解密等。
在优选的实施方式中,如图2所示,步骤200中的根据所述数据传输请求加密欲传输的文件,以生成密态文件的这一步骤包括:
步骤201:根据预设的对称密钥生成函数以及所述数字身份生成对称密钥;
具体地,执行密钥处理智能合约,生成数字身份DID和对称密钥skb,形式上:
skb=GenSymKey(Did,P(1k))
其中,GenSymKey为对称密钥生成函数,Did表示用户分布式数字身份,P(1k)表示安全参数。
步骤202:根据对称密钥加密所述欲传输的文件,以生成所述密态文件。
用对称密钥对文件加密,以生成密态文件,并用用户私钥对文件M进行签名,将签名、密态文件与DID一起上传服务网关。具体地:
将解密还原为对称密钥skb:用对称密钥加密文件M,产生密文CM:CM=SymEncry(M,skb);用用户私钥sku对CM进行签名,产生签名形成上传服务网关的报文:调用去中心化文件存储API,上传报文PM。
在优选的实施方式中,如图3所示,用于客户端的分布式数据传输方法还包括:
步骤400:根据数据传输请求数量进行交易限流以及熔断控制。
具体地,根据交易吞吐量配置进行交易限流和熔断控制。熔断一般是由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施。服务熔断一般是某个服务(下游服务)故障引起,更为具体地,熔断一般有以下三个状态:
Closed(关闭):熔断器关闭状态,调用失败次数积累,到了阈值(或一定比例)则启动熔断机制。
Open(断开):熔断器打开状态,此时对下游的调用都内部直接返回错误,不经过网络,设计了一个时钟选项,默认的时钟达到了一定时间(一般设置成平均故障处理时间),到了这个时间,进入半熔断状态。
Half-Open(半开):半熔断状态,允许定量的服务请求,如果调用都成功(或一定比例)则认为恢复了,关闭熔断器,否则认为还没恢复,又回到熔断器打开状态。
根据本发明的一个方面,本实施例公开了一种适用于去中心化存储节点的分布式数据传输方法。如图4所示,本实施例中,所述方法包括:
步骤A:接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
可以理解的是,步骤A中的数据传输请求本质上是由用户所发起的,由客户端所转发,同样地,类似于步骤100,步骤A中的数据传输包括两个方面,数据上传以及数据访问(数据下载)。
步骤B:当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
首先对去中心化文件内容生成CID处理。设FileLinkM表示文件M链接的数据格式,形式上:
FileLinkM=(Cid,Size,FileObj{Links,dataM},chksum)
其中,Size表示文件M的大小,FileObj表示文件对象结构,Links表示文件分片的链接数组,dataM表示M的数据内容,CID表示内容地址信息,形式上:
Cid=h(M,Did1,...,Didn)
其中h是Hash函数,Did1,Did2,....,Didn表示拥有文件M的数字身份群组。文件分块的数据格式参见表1:
表1
步骤C:当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
从多个存储节点收集文件的分片数据,汇总形成密态文件,并检查文件的完整性。
一实施例中,参见图5,适用于去中心化存储节点的分布式数据传输方法还包括:
步骤D:确定所述分片操作后的密态文件的数量以及长度;
步骤E:根据所述密态文件的数量以及长度建立文件对象树,以对所述密态文件进行查询。
在步骤D以及步骤E中,首先对文件对象数据内容进行分片,并同时确保分片后的数据彼此连接,最终形成文件对象树。具体地,用内容哈希链接构建目录树结构,目录树的节点由连接数组和长度构成,连接数组存储内容哈希,满足DAG Merkle Tree的验证条件。
一实施例中,参见图6,在在将合片后的文件发送至客户端之前还包括:
步骤F:根据所述用户数字身份对所述合片后的文件进行完整性校验。
具体地,对密态文件进行完整性校验和签名验证,输入用户公钥pku,执行如下验签名函数:
从上述描述可知,首先,本发明实施例提供一种适用于客户端的分布式数据传输方法,包括:接收用户的数据传输请求,数据传输请求包括数据上传请求以及数据访问请求;当数据传输请求为数据上传请求时,根据数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;当数据传输请求为数据访问请求时,转发数据访问请求至去中心化存储节点,接收去中心化存储节点响应于数据访问请求所发送的加密文件,并解密加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
接着,本发明实施例还提供一种适用于去中心化存储节点的分布式数据传输方法,包括:接收客户端所发送的数据传输请求;数据传输请求包括数据上传请求以及数据访问请求;当数据传输请求为数据上传请求时,对客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;当数据传输请求为数据访问请求时,对客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。具体地,本发明具有以下有益效果:
1、提出了一种基于区块链的可信存储数据保管箱系统框架,该框架结合区块链网络,支持数据所有者发起用户的分布式身份注册、数据文件上传及文件访问交易,为用户提供文件安全上传和访问的托管机制。
2、提出一种去中心化文件安全上传的算法,该算法为数据所有者提供安全加密和身份认证等服务,实现数字身份DID,内容哈希(Cid)的上链绑定,构建出密态内容哈希上链存储。
3、提出一种去中心化文件安全访问的算法,该算法为数据所有者提供安全访问的服务,首先根据目标用户DID上链验证,然后根据用户密钥、对称密钥对密态文件分别进行验签和解密,具有安全度高,响应速度快的特点。
4、提出一种基于分散式文件目录授权的凭证及报文格式,实现DS存储节点信息共享,区块链接点目录访问权限更新等。
在一种具体实施方式中,本发明还提供一种分布式数据传输方法的具体实施方式,具体包括以下内容。
术语简介:
数字身份(Digital Identity):是指通过数字化信息将个体可识别的刻画出来,将真实的身份信息浓缩为数字代码形式的公/私钥,以便对个体的行为信息进行绑定、查询和验证。
分散式存储(Decentralized storage):是指在分散、不可信的网络环境中,将数据分散存储在多台独立的设备上,打破中心化存储垄断,解决存储服务器单点成为系统性能的瓶颈,满足更加安全、可信、可控的存储需求。
区块链(Blockchain):一种利用密码学保证访问安全、利用P2P通讯技术实现对等通信、利用共识机制实现记账合法性,利用链式结构存储数据实现不可篡改的共同记账解决方案。
DAG Merkle Tree:一种利用有向无环图(DAG)性质产生的的Merkle Tree,父节点的哈希等于所有子节点的哈希,其子节点可能来源于不同的低层,但不会出现在同层和高层,因此DAG Merkle Tree的节点可能有多个父亲,但不会出现环路。
参见图7,本发明具体实施方式首先提供一种分布式数据传输系统,该系统包括:客户端0、服务网关1、DS节点2、区块链节点3、用户4、签发者5。
客户端0:主要负责发起智能合约部署请求、分散式存储交易请求、分散式存储查询请求等。
服务网关1:主要负责提供智能合约API,实现限流熔断,安全检测,文件存储和访问,身份验证和安全参数设置等。
DS节点2:即去中心化存储节点,负责接收服务网关1的文件读写请求,进行分散式文件读写,交易信息存证到区块链节点。本发明客户端A和客户端B分别通过服务网关1接入DS节点,将通过DS节点发布文件读取请求,接收安文件读取结果。
区块链节点3,完成交易广播、交易执行、交易验证、共识和存储等功能的节点。具有区块链的一般特性。通过客户端发起文件读取指令,同时经过文件读写存证的智能合约执行后的交易记录也会保存在区块链上。
用户4:发起安全参数初始化,接收签发者5颁发的数字证书,在区块链网络注册数字身份DID,作为文件所有者上传文件和访问文件。
签发者5:对用户4进行身份证明,同时向用户4颁发数字证书。
接着,分布式数据传输系统的分层结构如图8所示,其包括客户端访问层20,网关服务层21,去中心化文件存储网络22,区块链网络23。
客户端访问层20:用于提供运营商访问的客户端软件,便于发起分散式存储请求,接收分散式存储结果。客户端可在区块链平台上发布链码,客户产生上传或下载的行为数据后,可调用链码发起交易请求,将行为数据上链,根据客户使用场景,提交到各个场景对应的通道上(客户端可以直接上送客户行为数据,无需加工处理,具体数据处理逻辑可交由场景提供商执行)。供应商也可以发布链码,可以查询属于自己通道的数据,可以对自己通道的数据进行处理分析。
网关服务层21:用于面向客户端提供区块链智能合约服务API,实现交易的限流熔断、DS节点的文件上传、下载,CID生成,实现DID注册、校验、目录查询更新等智能合约功能调用。
去中心化文件存储网络22:用于根据客户端提交的上传(下载)、查询等请求,通过分散式存储逻辑配置参数、数据、业务逻辑等,同时加密形成文件分块数据,其哈希值广播给区块链网络23。场景提供商还可以发布联合运营链码,通过链码调用DS节点服务,每个区块链节点都有对应的DS节点服务,链码可以指定需要哪些DS服务进行联合计算。场景提供商通过链码发起联合计算请求,原本其它通道的提供商数据相互之间是无法访问的,通过DS可以在不泄漏各自数据的情况进行分散式数据存储。
区块链网络23:用于接收和解密文件分散式存储报文,触发预设的智能合约逻辑,形成分散式存储的日志结果。区块链网络可提供托管节点,对于有能力的提供商也可提供本地节点部署。每个场景提供商在区块链上有各自的通道,场景提供商无法获取其它通道也即其它提供商的数据信息。
参见图9,服务网关节点3包括通讯模块31,限流熔断模块32,安全认证模块33、API服务接口34。
通讯模块31:负责为服务网关节点建立安全通道,实现去中心化文件存储请求、初始化安全参数等报文收发。
限流熔断模块32:负责根据交易吞吐量配置进行交易限流和熔断控制。
安全认证模块33:负责保管用户的私钥和对称密钥,管理用户的数字身份DID;负责调用区块链网络提供的安全接口API,实现用户身份注册、认证,以及密态文件的加密解密等。
API服务接口34:负责提供区块链DS存储、身份处理等一系列智能合约API接口服务。
接着,参见图10,去中心化存储节点4包括通讯模块41,内容生成模块42、DAG模块43、Chunk模块44。
通讯模块41:负责为DS节点2建立安全通道,实现分散式存储报文收发。
内容生成模块42:负责对去中心化文件内容生成CID处理。
DAG模块43:负责对内容地址CID执行默克尔(Merkle)校验,保证根节点的CID与计算出来的摘要哈希相等。
Chunk模块44:对文件对象数据内容进行分片,同时确保分片后的数据彼此连接,形成文件对象树。
参见图11,区块链节点5包括:通讯模块51,交易处理模块52,智能合约模块53,共识验证模块54。
通讯模块51:负责各节点间的通信交互,完成一般区块链节点通讯信息,包括交易信息广播、共识相关信息、区块同步信息、网络状态信息等。
交易处理模块52:负责接收交易请求,生成交易唯一标识,将交易唯一标识、合约唯一标识以及调用参数组装成交易,广播到区块链的其它节点。
智能合约模块53:责从通讯模块52接收交易请求,通过分散式存储得出计算结果,根据预设的业务逻辑进行判断,并把最终交易指令通过通讯模块51提交到交易处理模块52进行执行。本发明DS节点调用智能合约交易,将交易处理模块52接收信息并存证到区块链网络。
共识验证模块54:负责对接收到交易请求进行共识处理,如达成共识,调用智能合约模块53,执行智能合约,并最终形成记录在案,可供日后审计追溯或验证。
参见图12,基于上述的分布式数据传输系统以及其子构建的结构,本发明具体实施方式所提供的分布式数据传输方法包括以下内容,这里将其分为三个阶段,但阶段二和阶段三没有先后顺序。
阶段一:初始化安全参数。具体地,阶段一包括以下步骤:
步骤S601:客户端接收用户所提交初始化安全参数请求;
步骤S602:客户端接收请求后,调用密钥生成sdk,生成不对称用户公钥和私钥(pku,sku),私钥sku存储在客户端本地保管,公钥pku上传服务网关,并经由服务网关进行上链处理。
步骤S603:输入用户公钥pku,分布式数字身份DID,调用区块链智能合约接口初始化安全参数。
步骤S604:交易处理模块接收和检查初始化安全参数请求。
步骤S605:执行密钥处理智能合约,生成数字身份DID和对称密钥skb,形式上:
skb=GenSymKey(Did,P(1k))
其中,GenSymKey为对称密钥生成函数,Did表示用户分布式数字身份,P(1k)表示安全参数。
步骤S607:将安全参数返传给客户端。
步骤S609:返回初始化安全参数成功消息。
阶段二:上传文件数据,具体地,阶段二包括以下步骤:
步骤S701:用户通过客户端发起文件上传请求。
步骤S702:用对称密钥对文件加密,用用户私钥对文件M进行签名,将签名、密态文件与DID一起上传服务网关。处理流程如下:
(2)用对称密钥加密文件M,产生密文CM:CM=SymEncry(M,skb);
步骤S703:调用去中心化文件存储API,上传报文PM。
步骤S704:解析报文PM,将密态文件CM上传存储到DS存储节点,同时生成文件内容CID。CID表示文件M的内容地址信息,形式上:
Cid=h(M,Did1,...,Didn)
其中h是Hash函数,Did1,Did2,....,Didn表示拥有文件M的数字身份群组。
步骤S705:服务网关检查检查上传文件和生成CID是否成功。
步骤S706:如果失败,则向客户端发出返回失败信息。
步骤S707:如果成功,执行区块链智能合约将CID与用户DID对应关系进行上链存证。
步骤S708:向客户端发送文件上传成功的返回结果。
阶段三:访问文件数据,具体地,阶段三包括以下步骤:
步骤S801:客户端接收用户所提交文件目录查询访问请求。
步骤S802:客户端接到用户请求后,首先读取用户DID,并向服务网关发送文件目录列表查询申请。
步骤S803:服务网关调用区块链智能合约API接口,输入Did查询文件目录列表。
步骤S804:执行智能合约,根据送入的用户Did,查询与DID的链上对应记录,如果记录存在则检查成功。
步骤S805:查询与用户DID相关的文件目录列表,返回客户端。
步骤S806:将文件目录列表在客户端进行展现。
步骤S807:用户根据客户端展现的文件目录,挑选即将访问的文件,同时向服务网关提交文件访问请求。
步骤S808:提取文件CID后,客户端向服务网关提交文件访问请求。
步骤S809:输入文件CID和DID调用区块链存储智能合约API,以便获取密态文件。
步骤S810:执行智能合约,从存储节点DS收集文件M的分片数据,汇总形成密态文件CM,检查文件的完整性。
步骤S811:调用区块链智能合约,查询获取链上用户DID的对应公钥pku。
步骤S812:对密态文件进行完整性校验和签名验证,具体地,输入用户公钥pku,执行如下验签名函数:
步骤S813:根据对称钥skb对密态文件CM进行解密,生成明文M,形式如下:
M=Decry(CM,skb)
步骤S814:客户端接收成功返回文件信息。
本发明较好地解决去中心化分散式文件存储系统中安全存储和身份验证问题,建立了一套去中心化数据安全存取和身份验证框架,并基于区块链技术引入去中心化公钥体系(DPKI)和分布式数字身份(DID),当用户存取文件时,调用区块链智能合约进行权限控制和身份校验,并与区块链上的文件访问目录树进行权限核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证的特点,在区块链网络上存证文件目录访问权限表,以确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了DPKI和分布式用户身份,并将数字身份嵌入到目录访问权限表中,有效解决去中心化分散式数字文件存取的安全访问和身份验证难题,可广泛应用在安全数据分享、金融业务等业务场景中。
基于相同原理,参见图13,本实施例还公开一种适用于客户端的分布式数据传输装置,包括:
传输请求第一接收模块10,用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第一模块20,用于当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
数据访问第一模块30,用于当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
一实施例中,参见图14,数据上传第一模块10包括:
对称密钥生成单元101,用于根据预设的对称密钥生成函数以及所述数字身份生成对称密钥;
密态文件生成单元102,用于根据对称密钥加密所述欲传输的文件,以生成所述密态文件。
一实施例中,参见图15,分布式数据传输装置还包括:
限流模块40,用于根据数据传输请求数量进行交易限流以及熔断控制。
对应地,参见图16,本发明还公开了一种适用于去中心化存储节点的分布式数据传输装置,包括:
传输请求第二接收模块A,用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第二模块B,用于当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
数据访问第二模块C,用于当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
一实施例中,参见图17,分布式数据传输装置还包括:
长度确定模块D,用于确定所述分片操作后的密态文件的数量以及长度;
对象树建立模块E,用于根据所述密态文件的数量以及长度建立文件对象树,以对所述密态文件进行查询。
一实施例中,参见图18,分布式数据传输装置还包括:
完整性校验模块F,用于根据所述用户数字身份对所述合片后的文件进行完整性校验。
由于该装置解决问题的原理与以上方法类似,因此本装置的实施可以参见方法的实施,在此不再赘述。
基于相同原理,本实施例还公开了一种分布式数据传输系统。分布式数据传输系统包括客户端、去中心化存储网络以及区块链,其中:
客户端用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;以及当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
去中心化存储网络包括多个去中心化存储节点;所述去中心化存储节点用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;以及当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
由于该系统解决问题的原理与以上方法类似,因此本系统的实施可以参见方法的实施,在此不再赘述。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。
下面参考图19,其示出了适于用来实现本申请实施例的计算机设备的结构示意图。
如图19所示,计算机设备包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶反馈器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种分布式数据传输方法,其特征在于,包括:
接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
2.根据权利要求1所述的分布式数据传输方法,其特征在于,所述根据所述数据传输请求加密欲传输的文件,以生成密态文件包括:
根据预设的对称密钥生成函数以及所述数字身份生成对称密钥;
根据对称密钥加密所述欲传输的文件,以生成所述密态文件。
3.根据权利要求1所述的分布式数据传输方法,其特征在于,还包括:
根据数据传输请求数量进行交易限流以及熔断控制。
4.一种分布式数据传输方法,其特征在于,包括:
接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
5.根据权利要求4所述的分布式数据传输方法,其特征在于,还包括:
确定所述分片操作后的密态文件的数量以及长度;
根据所述密态文件的数量以及长度建立文件对象树,以对所述密态文件进行查询。
6.根据权利要求4所述的分布式数据传输方法,其特征在于,在将合片后的文件发送至客户端之前,还包括:
根据所述用户数字身份对所述合片后的文件进行完整性校验。
7.一种分布式数据传输装置,其特征在于,包括:
传输请求第一接收模块,用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第一模块,用于当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;
数据访问第一模块,用于当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
8.一种分布式数据传输方法,其特征在于,包括:
传输请求第二接收模块,用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;
数据上传第二模块,用于当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;
数据访问第二模块,用于当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
9.一种分布式数据传输系统,其特征在于,包括客户端、去中心化存储网络以及区块链,其中:
客户端用于接收用户的数据传输请求,所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,根据所述数据传输请求加密欲传输的文件,以生成密态文件,并将密态文件发送至去中心化存储节点,并将所述密态文件对应的内容地址信息以及用户的数字身份上传至区块链中;以及当所述数据传输请求为所述数据访问请求时,转发所述数据访问请求至所述去中心化存储节点,接收所述去中心化存储节点响应于所述数据访问请求所发送的加密文件,并解密所述加密文件,以及将解密后的加密文件对应的内容地址信息以及用户的数字身份上传至区块链中。
去中心化存储网络包括多个去中心化存储节点;所述去中心化存储节点用于接收客户端所发送的数据传输请求;所述数据传输请求包括数据上传请求以及数据访问请求;以及当所述数据传输请求为所述数据上传请求时,对所述客户端所发送的密态文件进行分片操作,并将分片操作后的密态文件进行分片存储,以及将分片后的密态文件的内容地址信息以及用户数字身份上传至区块链;以及当所述数据传输请求为所述数据访问请求时,对所述客户端欲访问的文件进行合片操作,以及将合片后的文件发送至客户端,并将合片后的文件的内容地址信息以及用户数字身份上传至区块链。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述分布式数据传输方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述分布式数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211034975.7A CN115412568A (zh) | 2022-08-26 | 2022-08-26 | 分布式数据传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211034975.7A CN115412568A (zh) | 2022-08-26 | 2022-08-26 | 分布式数据传输方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115412568A true CN115412568A (zh) | 2022-11-29 |
Family
ID=84160941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211034975.7A Pending CN115412568A (zh) | 2022-08-26 | 2022-08-26 | 分布式数据传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115412568A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952527A (zh) * | 2023-03-09 | 2023-04-11 | 北京百度网讯科技有限公司 | 数据授权、提取、验证方法及其装置、设备和介质 |
CN117834164A (zh) * | 2022-12-07 | 2024-04-05 | 魏利 | 基于分布式存储系统的区块链安全存储系统 |
CN118074920A (zh) * | 2024-04-18 | 2024-05-24 | 中微半导体设备(上海)股份有限公司 | 基于分布式数字身份的功能应用模组、可信did功能芯片及分布式数据交换系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114491455A (zh) * | 2022-03-16 | 2022-05-13 | 中国工商银行股份有限公司 | 目录授权的方法和装置、处理器及电子设备 |
CN114650144A (zh) * | 2022-03-29 | 2022-06-21 | 中国工商银行股份有限公司 | 基于区块链的文件分享方法及系统、电子设备及存储介质 |
CN114676460A (zh) * | 2022-04-19 | 2022-06-28 | 中国工商银行股份有限公司 | 基于区块链文件的处理方法和装置、处理器及电子设备 |
CN114697077A (zh) * | 2022-02-24 | 2022-07-01 | 国网江西省电力有限公司供电服务管理中心 | 电能数据的传输方法、装置、存储介质及计算机设备 |
-
2022
- 2022-08-26 CN CN202211034975.7A patent/CN115412568A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697077A (zh) * | 2022-02-24 | 2022-07-01 | 国网江西省电力有限公司供电服务管理中心 | 电能数据的传输方法、装置、存储介质及计算机设备 |
CN114491455A (zh) * | 2022-03-16 | 2022-05-13 | 中国工商银行股份有限公司 | 目录授权的方法和装置、处理器及电子设备 |
CN114650144A (zh) * | 2022-03-29 | 2022-06-21 | 中国工商银行股份有限公司 | 基于区块链的文件分享方法及系统、电子设备及存储介质 |
CN114676460A (zh) * | 2022-04-19 | 2022-06-28 | 中国工商银行股份有限公司 | 基于区块链文件的处理方法和装置、处理器及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834164A (zh) * | 2022-12-07 | 2024-04-05 | 魏利 | 基于分布式存储系统的区块链安全存储系统 |
CN115952527A (zh) * | 2023-03-09 | 2023-04-11 | 北京百度网讯科技有限公司 | 数据授权、提取、验证方法及其装置、设备和介质 |
CN118074920A (zh) * | 2024-04-18 | 2024-05-24 | 中微半导体设备(上海)股份有限公司 | 基于分布式数字身份的功能应用模组、可信did功能芯片及分布式数据交换系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
KR102392420B1 (ko) | 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계 | |
US11283627B2 (en) | Method and apparatus for generating blockchain transaction | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
WO2019237796A1 (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
CN111047324B (zh) | 用于更新区块链节点处的公钥集合的方法及装置 | |
CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN114329529A (zh) | 一种基于区块链的资产数据管理方法及系统 | |
Li et al. | A Blockchain‐Based Public Auditing Scheme for Cloud Storage Environment without Trusted Auditors | |
US12034868B2 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN111683090A (zh) | 一种基于分布式存储的区块链数字签名方法及装置 | |
CN114430326B (zh) | 基于区块链的信息确认方法及装置、电子设备及存储介质 | |
CN115086337B (zh) | 文件处理方法、装置、存储介质以及电子设备 | |
US20230246817A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN116304265A (zh) | 一种基于区块链的电子档案管理方法及系统 | |
CN116032613A (zh) | 区块链数字凭证交换方法、文件存储访问方法和系统 | |
CN110602132A (zh) | 一种数据加解密处理方法 | |
CN110827034B (zh) | 用于发起区块链交易的方法及装置 | |
CN117675216A (zh) | 一种数据处理方法及相关设备 | |
CN114615279B (zh) | 一种基于区块链技术的可信多方数据协同方法及系统 | |
US20230421396A1 (en) | Systems and methods for performing two-tiered multi-party computation signing procedures to perform blockchain operations | |
US20230421540A1 (en) | Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications | |
CN118353606B (zh) | 基于区块链的网络威胁情报共享方法、系统、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |