基于区块链的文件共享方法、区块链节点和计算节点技术

技术编号:38596415 阅读:12 留言:0更新日期:2023-08-26 23:32
一种基于区块链的文件共享方法、区块链节点和计算节点,区块链中部署的智能合约的合约状态包括目标文件的授权信息和第一共享分组的分组信息,授权信息包括目标文件的文件标识和第一共享分组的分组标识,分组信息包括分组标识和若干第一计算节点的身份标识。第二计算节点响应于来自第三计算节点的查询请求,向区块链发送第一交易;区块链根据第一交易执行智能合约的第一函数,实现根据期望查询的目标文件的文件标识从授权信息获取分组标识,根据分组标识查询分组信息是否包括第三计算节点的身份标识,向第二计算节点返回第一查询结果;第二计算节点在第一查询结果指示分组信息包括第三计算节点的身份标识的情况下,向第三计算节点发送目标文件。算节点发送目标文件。算节点发送目标文件。

【技术实现步骤摘要】
基于区块链的文件共享方法、区块链节点和计算节点


[0001]本说明书实施例属于区块链领域,尤其涉及一种基于区块链的文件共享方法、区块链节点和计算节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。

技术实现思路

[0003]本专利技术的目的在于提供一种基于区块链的文件共享方法、区块链节点和计算节点。
[0004]第一方面,提供了一种基于区块链的文件共享方法,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识;所述方法包括:第二计算节点从第三计算节点接收查询请求,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,所述第二计算节点属于所述若干第一计算节点;所述第二计算节点向所述区块链发送第一交易,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识;所述区块链根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识;所述第二计算节点在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。
[0005]第二方面,提供了一种基于区块链的文件共享方法,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识;所述方法由所述区块链中的区块链节点执行,所述方法包括:从第二计算节点接收第一交易,所述第二计算节点属于所述若干第一计算节点,所述第一交易是所述第二计算节点基于来自第三计算节点的查询请求发起的,所述查询请求和所述第一交易中包括所述目标文件的文件标识和所述第三计算节点的身份标识;根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返
回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识,使得所述第二计算节点在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。
[0006]第三方面,提供了一种基于区块链的文件共享方法,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识;所述方法由属于所述若干第一计算节点的第二计算节点执行,所述方法包括:从第三计算节点接收查询请求,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,所述第二计算节点属于所述若干第一计算节点;向所述区块链发送第一交易,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,使得所述区块链根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识;在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。
[0007]第四方面,提供了一种区块链节点,所述区块链节点所属区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识;其中,所述区块链节点包括:交易接收单元,配置为从属于所属若干第一计算节点的第二计算节点接收第一交易,所述第一交易是所述第二计算节点基于来自第三计算节点的查询请求发起的,所述查询请求和所述第一交易中包括所述目标文件的文件标识和所述第三计算节点的身份标识;交易执行单元,配置为根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识,使得所述第二计算节点在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。
[0008]第五方面,提供了一种第二计算节点,所述第二计算节点属于与区块链连接的若干第一计算节点,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的所述若干第一计算节点的身份标识;其中,所述第二计算节点包括:请求接收单元,配置为从第三计算节点接收查询请求,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,所述第二计算节点属于所述若干第一计算节点;交易发送单元,配置为向所述区块链发送第一交易,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,使得所述区块链根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组
信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识;请求响应单元,配置为在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。
[0009]第六方面,提供了一种计算机可读存储介质,存储有计算机程序/指令,当所述计算机程序/指令在计算机中执行时,令计算机执行第二或第三方面中所述的方法。
[0010]第七方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序/指令时,实现第二或第三方面中所述的方法。
[0011]在本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的文件共享方法,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识,所述方法包括:第二计算节点从第三计算节点接收查询请求,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识,所述第二计算节点属于所述若干第一计算节点;所述第二计算节点向所述区块链发送第一交易,其中包括所述目标文件的文件标识和所述第三计算节点的身份标识;所述区块链根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所述分组信息中是否包括所述第三计算节点的身份标识;所述第二计算节点在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。2.根据权利要求1所述的方法,所述方法还包括:第四计算节点向所述区块链发送第二交易,其中包括所述分组标识和所述若干第一计算节点的身份标识,所述第四计算节点属于所述若干第一计算节点;所述区块链根据所述第二交易执行所述智能合约中的第二函数,实现:在所述智能合约的合约状态中创建所述分组信息。3.根据权利要求2所述的方法,所述方法还包括:所述第二计算节点向所述区块链发送第三交易,其中包括所述目标文件的文件标识和所述分组标识;所述区块链根据所述第三交易执行所述智能合约中的第三函数,实现:在所述智能合约的合约状态中创建所述授权信息。4.根据权利要求3所述的方法,所述第三交易中还包括所述第二计算节点的身份标识;其中,所述区块链根据所述第三交易执行所述智能合约中的第三函数时还实现:根据所述分组标识查询所述分组信息中是否包括所述第二计算节点的身份标识,如果是则执行所述在所述智能合约的合约状态中创建所述授权信息。5.根据权利要求3所述的方法,所述区块链根据所述第二交易执行所述智能合约中的第二函数时还实现:在所述智能合约的合约状态中创建所述分组信息的第一生效信息;其中,所述方法还包括:所述第一计算节点向所述区块链发送第四交易,其中包括所述分组标识和第一投票信息;所述区块链根据所述第四交易执行所述智能合约中的第四函数,实现:在所述第一生效信息中记录所述第一投票信息,并基于来自所述若干第一计算节点的第一投票信息在所述第一生效信息中记录第一投票结果,所述第一投票结果用于指示所述分组信息是否生效;所述区块链根据所述第三交易执行所述智能合约中的第三函数时还实现:根据所述分组标识从所述第一生效信息中查询所述第一投票结果,并根据所述第一投票结果确定所述
分组信息是否已生效,如果是则执行所述在所述智能合约的合约状态中创建所述授权信息。6.根据权利要求1所述的方法,所述方法还包括:第五计算节点向所述区块链节点发送第五交易,其中包括所述分组标识和变更信息,所述第五计算节点属于所述若干第一计算节点;所述区块链根据所述第五交易执行所述智能合约中的第五函数,实现:确定所述变更信息的变更标识,根据所述分组标识在所述智能合约的合约状态中关联存储所述分组标识、所述变更标识、所述变更信息和第二生效信息;所述第一计算节点向所述区块链发送第六交易,其中包括所述分组标识、所述变更标识和第二投票信息;所述区块链根据所述第六交易执行所述智能合约中的第六函数,实现:根据所述分组标识和所述变更标识在所述第二生效信息中记录所述第二投票信息,基于来自所述若干第一计算节点的第二投票信息在所述第二生效信息中记录第二投票结果,在所述第二投票结果指示允许所述变更信息生效的情况下,根据所述分组标识和所述变更信息更新所述分组信息。7.根据权利要求1所述的方法,所述方法还包括:所述第三计算节点向所述区块链发送第七交易,其中包括所述目标文件的文件标识;所述区块链根据所述第七交易执行所述智能合约中的第七函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识从所述分组信息中获取所述若干第一计算节点的身份标识,并向所述第三计算节点返回第二查询结果,其中包括所述若干第一计算节点的身份标识;所述第三计算节点从所述若干第一计算节点的身份标识中选择所述第二计算节点的身份标识,并根据所述第二计算节点的身份标识向所述第二计算节点发送所述查询请求。8.根据权利要求1

7中任一项所述的方法,所述若干第一计算节点和所述第三计算节点对应星际文件系统IPFS中的IPFS节点,所述目标文件的文件标识包括所述目标文件对应在所述IPFS中的内容标识符CID。9.根据权利要求8所述的方法,所述身份标识包括对应的IPFS节点在所述IPFS中的标识;或者,所述身份标识包括对应的计算节点所属参与方在所述区块链中的标识。10.一种基于区块链的文件共享方法,所述区块链中部署有智能合约,所述智能合约的合约状态中包括目标文件的授权信息和第一共享分组的分组信息,所述授权信息包括所述目标文件的文件标识和所述第一共享分组的分组标识,所述分组信息包括所述分组标识和属于所述第一共享分组的若干第一计算节点的身份标识,所述方法由所述区块链中的区块链节点执行,包括:从第二计算节点接收第一交易,所述第二计算节点属于所述若干第一计算节点,所述第一交易是所述第二计算节点基于来自第三计算节点的查询请求发起的,所述查询请求和所述第一交易中包括所述目标文件的文件标识和所述第三计算节点的身份标识;根据所述第一交易执行所述智能合约中的第一函数,实现:根据所述目标文件的文件标识从所述授权信息中获取所述分组标识,根据所述分组标识查询所述分组信息中是否包括所述第三计算节点的身份标识,并向所述第二计算节点返回第一查询结果,用于指示所
述分组信息中是否包括所述第三计算节点的身份标识,使得所述第二计算节点在所述分组信息中包括所述第三计算节点的身份标识的情况下,向所述第三计算节点发送所述目标文件。11.根据权利要求10所述的方法,所述方法还包括:从第四计算节点接收第二交易,所述第四计算节点属于所述若干第一计算节点,所述第二交易中包括所述分组标识和所述若干第一计算节点的身份标识;根据所述第二交易执行所述智能合约中的第二函数,实现:在所述智能合约的合约状态中创建所述分组信息。12.根据权利要求11所述的方法,所述方法还包括:从所述第二计算节点接收第三交易,其中包括所述目标文件的文件标识和所述分组标识;根据所述第三交易执行所述智能合约中的第三函数,实现:在所述智能合约的合约状态中创建所述授权信息。13.根据权利要求12所述的方法,所述第三交易中还包括所述第二计算节点的身份标识;其中,所述区块链节点根据所述第三交易执行所述智能合约中的第三函数时还实现:根据所述分组标识查询所述分组信息中是否包括所述第二计算节点的身份标识,如果是则执行所述在所述智能合约的合约状态中创建所述授权信息。14.根据权利要求12所述的方法,所述区块链节点根据所述第二交易执行所述智能合约中的第二函数时还实现:在所述智能合约的合约状态中创建所述分组信息的第一生效信息;其中,所述方法还包括:从所述第一计算节点接收第四交易,其中包括所述分组标识和第一投票信息;根据所述第四交易执行所述智能合约中的第四函数,实现:在所述第一生效信息...

【专利技术属性】
技术研发人员:朱志辉
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1