数据存储方法、设备及计算机可读存储介质

阅读: 评论:0

著录项
  • CN201910627887.X
  • 20190712
  • CN110347689A
  • 20191018
  • 全链通有限公司
  • 路成业;王凌
  • G06F16/22
  • G06F16/22 G06F16/27 G06F16/901 G06F11/14 H04L29/08

  • 北京市海淀区知春路1号学院国际大厦11层1107C
  • 北京(11)
摘要
本发明实施例提供一种数据存储方法、设备及计算机可读存储介质。本发明实施例通过用户节点在区块链网络中广播数据存储申请,当该区块链网络中的多个云存储节点接收到该数据存储申请后进行响应,并根据响应的时间戳进行自动排序,排序中除前N个云存储节点之外的云存储节点用于对前N个云存储节点中存储的数据进行查询,并在前N个云存储节点中的云存储节点出现故障时,由排序中除前N个云存储节点之外的云存储节点替换故障的云存储节点,从而避免用户节点定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,降低了该用户节点的运算量,同时实现了基于区块链网络的数据查询机制,提高了数据存储的安全性和可靠性。
权利要求

1.一种数据存储方法,其特征在于,包括:

用户节点在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量;

所述用户节点接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序;

所述用户节点将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量;

所述用户节点接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

所述用户节点采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值;

当所述用户节点确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识;

其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当所述前N个云存储节点中任一个云存储节点将所述待存储数据转移给第N+1个云存储节点时,所述用户节点接收所述第N+1个云存储节点在所述区块链网络中广播的第三广播消息,所述第三广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

所述用户节点采用所述用户节点的私钥对所述第三广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;

当所述用户节点确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第四广播消息,所述第四广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当第N+1个云存储节点监测到所述前N个云存储节点中的任一个云存储节点出现故障时,所述用户节点接收所述第N+1个云存储节点发送的故障信息,所述故障信息包括所述第N+1个云存储节点确定的故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识;

所述用户节点对所述故障信息进行验证;

当所述用户节点对所述故障信息验证通过时,所述用户节点在所述区块链网络中广播第五广播消息,所述第五广播消息包括所述故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识。

4.根据权利要求3所述的方法,其特征在于,所述用户节点在所述区块链网络中广播第五广播消息之后,所述方法还包括:

所述用户节点接收所述第N+1个云存储节点在所述区块链网络中广播的第六广播消息,所述第六广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

所述用户节点采用所述用户节点的私钥对所述第六广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;

当所述用户节点确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第七广播消息,所述第七广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

5.根据权利要求3或4所述的方法,其特征在于,所述用户节点对所述故障信息进行验证,包括:

所述用户节点向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;

所述用户节点接收所述第N+1个云存储节点确定的故障的云存储节点发送的所述标识信息对应的数据片段;

若所述用户节点确定所述故障的云存储节点反馈的数据片段与所述用户节点原始上传的所述待存储数据中所述标识信息对应的数据片段不一致,则所述用户节点确定对所述故障信息验证通过。

6.根据权利要求3或4所述的方法,其特征在于,所述用户节点对所述故障信息进行验证,包括:

所述用户节点向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;

若在预设时间内所述用户节点未接收到所述故障的云存储节点发送的数据片段,则所述用户节点确定对所述故障信息验证通过。

7.根据权利要求1所述的方法,其特征在于,所述用户节点在所述区块链网络中广播第二广播消息之后,所述方法还包括:

所述用户节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

8.根据权利要求1所述的方法,其特征在于,所述用户节点和所述区块链网络中的云存储节点预先签署智能合约;

所述用户节点在所述区块链网络中广播第二广播消息之后,所述方法还包括:

所述用户节点通过所述区块链网络中的第三方节点执行所述智能合约,由所述第三方节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

9.一种用户节点,其特征在于,包括:

存储器;

处理器;

通讯接口;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:

通过所述通讯接口在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量;

通过所述通讯接口接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序;

通过所述通讯接口将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量;

通过所述通讯接口接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值;

当确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,通过所述通讯接口在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识;

其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

10.根据权利要求9所述的用户节点,其特征在于,所述处理器还用于:

当所述前N个云存储节点中任一个云存储节点将所述待存储数据转移给第N+1个云存储节点时,通过所述通讯接口接收所述第N+1个云存储节点在所述区块链网络中广播的第三广播消息,所述第三广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

采用所述用户节点的私钥对所述第三广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;

当确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,通过所述通讯接口在所述区块链网络中广播第四广播消息,所述第四广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

11.根据权利要求9所述的用户节点,其特征在于,所述处理器还用于:

当第N+1个云存储节点监测到所述前N个云存储节点中的任一个云存储节点出现故障时,通过所述通讯接口接收所述第N+1个云存储节点发送的故障信息,所述故障信息包括所述第N+1个云存储节点确定的故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识;

对所述故障信息进行验证;

当对所述故障信息验证通过时,通过所述通讯接口在所述区块链网络中广播第五广播消息,所述第五广播消息包括所述故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识。

12.根据权利要求11所述的用户节点,其特征在于,所述处理器通过所述通讯接口在所述区块链网络中广播第五广播消息之后,还用于:

通过所述通讯接口接收所述第N+1个云存储节点在所述区块链网络中广播的第六广播消息,所述第六广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

采用所述用户节点的私钥对所述第六广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;

当确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,通过所述通讯接口在所述区块链网络中广播第七广播消息,所述第七广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

13.根据权利要求11或12所述的用户节点,其特征在于,所述处理器对所述故障信息进行验证时,具体用于:

通过所述通讯接口向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;

通过所述通讯接口接收所述第N+1个云存储节点确定的故障的云存储节点发送的所述标识信息对应的数据片段;

若确定所述故障的云存储节点反馈的数据片段与所述用户节点原始上传的所述待存储数据中所述标识信息对应的数据片段不一致,则确定对所述故障信息验证通过。

14.根据权利要求11或12所述的用户节点,其特征在于,所述处理器对所述故障信息进行验证时,具体用于:

通过所述通讯接口向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;

若在预设时间内未接收到所述故障的云存储节点发送的数据片段,则确定对所述故障信息验证通过。

15.根据权利要求9所述的用户节点,其特征在于,所述处理器通过所述通讯接口在所述区块链网络中广播第二广播消息之后,还用于:

通过所述通讯接口向所述前N个云存储节点中的每个云存储节点发送转账信息。

16.根据权利要求9所述的用户节点,其特征在于,所述用户节点和所述区块链网络中的云存储节点预先签署智能合约;

所述处理器通过所述通讯接口在所述区块链网络中广播第二广播消息之后,还用于:

通过所述区块链网络中的第三方节点执行所述智能合约,由所述第三方节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。

说明书
技术领域

本发明实施例涉及通信技术领域,尤其涉及一种数据存储方法、设备及计算机可读存储介质。

云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则透过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据用户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。

现有技术中,为了实现数据备份,用户节点可能会将其待存储数据存储到多个云存储节点中。但是,该用户节点需要定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,例如,是否被云存储节点丢弃或篡改等。当该用户节点对应的云存储节点的个数较多时,将会导致该用户节点的运算量较大,同时,查询多个云存储节点中每个云存储节点中存储的数据是否正常应该是基于区块链网络的存储机制本身应该具备的,不应该依赖于用户节点定期或不定期的查询。

本发明实施例提供一种数据存储方法、设备及计算机可读存储介质,以降低该用户节点的运算量,同时实现基于区块链网络的数据查询机制,提高数据存储的安全性和可靠性。

第一方面,本发明实施例提供一种数据存储方法,包括:

用户节点在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量;

所述用户节点接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序;

所述用户节点将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量;

所述用户节点接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

所述用户节点采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值;

当所述用户节点确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识;

其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

第二方面,本发明实施例提供一种用户节点,包括:

存储器;

处理器;

通讯接口;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:

通过所述通讯接口在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量;

通过所述通讯接口接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序;

通过所述通讯接口将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量;

通过所述通讯接口接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;

采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值;

当确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,通过所述通讯接口在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识;

其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。

本发明实施例提供的数据存储方法、设备及计算机可读存储介质,通过用户节点在区块链网络中广播数据存储申请,当该区块链网络中的多个云存储节点接收到该数据存储申请后进行响应,并根据响应的时间戳进行自动排序,该用户节点将待存储数据发送给该排序中前N个云存储节点中的目标云存储节点,由该目标云存储节点将该待存储数据同步发送给其他的云存储节点,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点,从而避免用户节点定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,降低了该用户节点的运算量,同时实现了基于区块链网络的数据查询机制,提高了数据存储的安全性和可靠性。

图1为本发明实施例提供的一种应用场景的示意图;

图2为本发明实施例提供的数据存储方法流程图;

图3为本发明另一实施例提供的数据存储方法流程图;

图4为本发明另一实施例提供的数据存储方法流程图;

图5为本发明实施例提供的用户节点的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明实施例提供的数据存储方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:用户节点、记账节点、云存储节点1、云存储节点2、云存储节点3、云存储节点4、云存储节点5。其中,用户节点、记账节点、云存储节点1、云存储节点2、云存储节点3、云存储节点4、云存储节点5是区块链网络中的参与节点。可以理解,此处只是示意性说明,并不限定该区块链网络中的节点个数和种类。其中,云存储节点可以是一个或者是多个云端服务器,云端服务器也就是云服务器,是一个服务器集,有很多服务器,和通用的计算机架构类似,云端服务器的构成包括处理器、硬盘、内存、系统总线等。用户节点具体可以是用户终端,例如,智能手机、平板电脑、个人计算机等。

本发明实施例提供的数据存储方法,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图2为本发明实施例提供的数据存储方法流程图。本发明实施例针对现有技术的如上技术问题,提供了数据存储方法,该方法具体步骤如下:

步骤201、用户节点在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量。

在本实施例中,当用户节点有数据需要存储到多个云存储节点时,该用户节点在区块链网络中广播数据存储申请,具体的,该用户节点采用自己的私钥对该数据存储申请进行签名,并将签名后的数据存储申请广播到该区块链网络中。具体的,该数据存储申请包括该用户节点的待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量。例如,该待存储数据需要备份的数量为N个。该用户节点可支付的服务费用需要处于冻结状态,等到该区块链网络中有N个云存储节点都正常存储有该待存储数据后,该用户节点才可以将该服务费用转账给该N个云存储节点。也就是说,该待存储数据需要备份多少个,则需要从该区块链网络中选出多少个云存储节点来存储该待存储数据。

步骤202、所述用户节点接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序。

当该区块链网络中的云存储节点,例如,云存储节点1-云存储节点5接收到该数据存储申请时,分别查询自己的空闲存储空间的大小是否满足该待存储数据的大小,以及该用户节点可支付的服务费用是否满足自己的费用标准阈值,如果这两个条件都满足,则云存储节点1-云存储节点5分别发送响应信息,该响应信息具体可以是存储服务排队信息。具体的,云存储节点1-云存储节点5分别采用各自的私钥对自己的存储服务排队信息进行签名,并将该签名后的存储服务排队信息广播到该区块链网络中。具体的,该存储服务排队信息包括云存储节点的区块链标识、云存储节点的IP地址、该用户节点的区块链标识和时间戳信息。该时间戳信息具体可以是云存储节点响应该数据存储申请的时间信息。具体的,当云存储节点1-云存储节点5分别在该区块链网络中广播各自的存储服务排队信息后,云存储节点1-云存储节点5可根据各自的时间戳信息的先后顺序进行排序。相应的,该用户节点可以在一定的时间阈值范围内接收云存储节点1-云存储节点5分别在该区块链网络中广播的存储服务排队信息。

步骤203、所述用户节点将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量。

当该用户节点接收到云存储节点1-云存储节点5分别在该区块链网络中广播的存储服务排队信息后,如果该云存储节点1-云存储节点5分别在该区块链网络中广播的存储服务排队信息还包括各自云存储节点的私钥签名,则该用户节点需要对该云存储节点1-云存储节点5中每个云存储节点的私钥签名进行验证,验证通过后,该用户节点可以根据云存储节点1-云存储节点5分别在该区块链网络中广播的存储服务排队信息中的时间戳信息对该云存储节点1-云存储节点5进行排序,例如,排序后的顺序是云存储节点1、云存储节点3、云存储节点2、云存储节点4、云存储节点5。假设该用户节点需要将该待存储数据备份3个,则该用户节点需要从该排序中选择前3个云存储节点,即云存储节点1、云存储节点3、云存储节点2,并将该待存储数据发送给该云存储节点1、云存储节点3、云存储节点2中的任意一个节点。可选的,将云存储节点1、云存储节点3、云存储节点2中接收到该待存储数据的那个节点记为目标云存储节点,例如,该目标云存储节点为云存储节点2。具体的,该用户节点可以根据云存储节点2的IP地址,采用点对点(peer to peer lending,P2P)的方式将该待存储数据发送给云存储节点2。当该云存储节点2接收到该待存储数据后,该云存储节点2可以将该待存储数据同步发送给云存储节点1和云存储节点3。也就是说,只要前3个云存储节点中有一个云存储节点接收到了用户节点上传的待存储数据,则该云存储节点就可以将该待存储数据同步发送给其他的云存储节点。

步骤204、所述用户节点接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值。

当该前3个云存储节点都接收到该待存储数据后,该前3个云存储节点中的每个云存储节点分别计算该待存储数据的哈希值,并采用该用户节点的公钥按照预先约定的加密算法对该待存储数据的哈希值进行加密,得到加密后的待存储数据的哈希值。进一步,该前3个云存储节点中的每个云存储节点在该区块链网络中广播第一广播消息,每个云存储节点广播的第一广播消息包括该云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值。在一些实施例中,每个云存储节点还可以采用自己的私钥对该第一广播消息进行签名,并将签名后的第一广播消息广播到该区块链网络中。相应的,该用户节点接收该前3个云存储节点中的每个云存储节点在该区块链网络中广播的第一广播消息。

步骤205、所述用户节点采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值。

当该用户节点接收到该前3个云存储节点中的每个云存储节点在该区块链网络中广播的第一广播消息后,如果每个云存储节点在该区块链网络中广播的第一广播消息还对应有私钥签名,则该用户节点对每个云存储节点的私钥签名进行验证,验证通过后,该用户节点采用自己的私钥按照预先约定的解密算法对该前3个云存储节点中每个云存储节点广播的第一广播消息中包括的加密后的所述待存储数据的哈希值进行解密,得到该前3个云存储节点中每个云存储节点计算得到的该待存储数据的哈希值。

步骤206、当所述用户节点确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识。

如果该用户节点确定该前3个云存储节点中每个云存储节点即云存储节点1-云存储节点3计算得到的该待存储数据的哈希值都正确,则该用户节点在该区块链网络中广播第二广播消息,该第二广播消息包括该用户节点对该每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及该前3个云存储节点中每个云存储节点的区块链标识,即云存储节点1-云存储节点3的区块链标识。在一些实施例中,该用户节点还可以采用自己的私钥对该第二广播消息进行签名,并将签名后的第二广播消息广播到该区块链网络中。

在一些实施例中,所述用户节点在所述区块链网络中广播第二广播消息之后,所述方法还包括:所述用户节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

例如,该用户节点在该区块链网络中广播第二广播消息后,该用户节点可直接向该前3个云存储节点中每个云存储节点即云存储节点1-云存储节点3分别发送转账信息,即由该用户节点直接给云存储节点1-云存储节点3转账。

或者,所述用户节点和所述区块链网络中的云存储节点预先签署智能合约;所述用户节点在所述区块链网络中广播第二广播消息之后,所述方法还包括:所述用户节点通过所述区块链网络中的第三方节点执行所述智能合约,由所述第三方节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

例如,该用户节点和该区块链网络中的云存储节点1-云存储节点5预先签署有智能合约,该智能合约规定当该用户节点需要进行转账时,由该用户节点对应的第三方节点执行相应的转账操作,即由该第三方节点代替该用户节点给云存储节点1-云存储节点3转账。

其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

也就是说,云存储节点4和云存储节点5可以对前3个云存储节点中存储的数据进行查询,也就是说,云存储节点4和云存储节点5可以获得对前3个云存储节点中存储的数据的访问权限,并随时准备替换前3个云存储节点中出现故障的云存储节点。由于云存储节点4在该排序中的位置在该云存储节点5的前面,因此,该云存储节点4可以优先于该云存储节点5替换该前3个云存储节点中出现故障的云存储节点。例如,当该前3个云存储节点中一旦出现故障的云存储节点时,该云存储节点4可以主动替换该故障的云存储节点,或者,该故障的云存储节点可以被动的被该云存储节点4所替换,从而使得后续的存储服务费用由该云存储节点4来获得。

本发明实施例通过用户节点在区块链网络中广播数据存储申请,当该区块链网络中的多个云存储节点接收到该数据存储申请后进行响应,并根据响应的时间戳进行自动排序,该用户节点将待存储数据发送给该排序中前N个云存储节点中的目标云存储节点,由该目标云存储节点将该待存储数据同步发送给其他的云存储节点,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点,从而避免用户节点定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,降低了该用户节点的运算量,同时实现了基于区块链网络的数据查询机制,提高了数据存储的安全性和可靠性。

图3为本发明另一实施例提供的数据存储方法流程图。在上述实施例的基础上,本实施例提供的数据存储方法还包括如下步骤:

步骤301、当所述前N个云存储节点中任一个云存储节点将所述待存储数据转移给第N+1个云存储节点时,所述用户节点接收所述第N+1个云存储节点在所述区块链网络中广播的第三广播消息,所述第三广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值。

在本实施例中,假设前3个云存储节点中有一个云存储节点例如云存储节点3想主动被云存储节点4替换,此时,该云存储节点3可以在该区块链网络中发布广播消息表示该云存储节点3需要将该待存储数据转移给云存储节点4,该广播消息可包括该待存储数据的大小、该用户节点的区块链标识等信息。在一些实施例中,该云存储节点3还可以采用自己的私钥对该广播消息进行签名,并将签名后的广播消息发布到该区块链网络中。若云存储节点4同意接收该云存储节点3转移的该待存储数据,则该云存储节点4可以在该区块链网络中以发布广播消息的方式表示自己同意接收该待存储数据,在一些实施例中,该云存储节点4还可以对该广播消息进行私钥签名。进一步,该云存储节点3可以根据云存储节点4的IP地址并通过P2P的方式将该待存储数据发送给云存储节点4。

当该云存储节点4接收到该云存储节点3转移的该待存储数据时,该云存储节点4可计算该待存储数据的哈希值,并采用该用户节点的公钥并按照预先约定的加密算法对该待存储数据的哈希值进行加密,得到加密后的该待存储数据的哈希值。进一步,该云存储节点4可以在该区块链网络中发布第三广播消息,该第三广播消息包括该云存储节点4采用该用户节点的公钥加密后的所述待存储数据的哈希值。在一些实施例中,该云存储节点4还可以采用自己的私钥对该第三广播消息进行签名。相应的,该用户节点接收该云存储节点4在该区块链网络中广播的第三广播消息。

步骤302、所述用户节点采用所述用户节点的私钥对所述第三广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值。

当该用户节点接收到该云存储节点4在该区块链网络中广播的第三广播消息后,该用户节点采用自己的私钥并按照预先约定的解密算法对该第三广播消息中包括的加密后的所述待存储数据的哈希值进行解密,得到云存储节点4计算得到的所述待存储数据的哈希值。其中,该解密算法可以和上述实施例所述的加密算法对应。

步骤303、当所述用户节点确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第四广播消息,所述第四广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

进一步,该用户节点判断该云存储节点4计算得到的所述待存储数据的哈希值是否正确,如果该用户节点确定该云存储节点4计算得到的所述待存储数据的哈希值正确,则该用户节点可以在该区块链网络中广播第四广播消息,该第四广播消息包括该用户节点对该云存储节点4计算得到的所述待存储数据的哈希值的确认信息、以及该云存储节点4的区块链标识。相应的,该用户节点可以给该云存储节点4进行存储服务转账。

本发明实施例通过用户节点在区块链网络中广播数据存储申请,当该区块链网络中的多个云存储节点接收到该数据存储申请后进行响应,并根据响应的时间戳进行自动排序,该用户节点将待存储数据发送给该排序中前N个云存储节点中的目标云存储节点,由该目标云存储节点将该待存储数据同步发送给其他的云存储节点,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点,从而避免用户节点定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,降低了该用户节点的运算量,同时实现了基于区块链网络的数据查询机制,提高了数据存储的安全性和可靠性。

图4为本发明另一实施例提供的数据存储方法流程图。在上述实施例的基础上,本实施例提供的数据存储方法还包括如下步骤:

步骤401、当第N+1个云存储节点监测到所述前N个云存储节点中的任一个云存储节点出现故障时,所述用户节点接收所述第N+1个云存储节点发送的故障信息,所述故障信息包括所述第N+1个云存储节点确定的故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识。

在本实施例中,假设前3个云存储节点中有一个云存储节点例如云存储节点3被动被云存储节点4所替换。具体的,该云存储节点4实时监测该前3个云存储节点中每个云存储节点的服务状态。例如,该云存储节点4可以定期或不定期的向该前3个云存储节点中每个云存储节点发送查询请求,以查询该待存储数据中的某一个数据片段,例如,查询该待存储数据中第M个字节对应的数据片段。当云存储节点4确定云存储节点3不在线,或者,云存储节点3反馈的第M个字节对应的数据片段不正确,则该云存储节点4即可确定云存储节点3出现故障。此时,该云存储节点4可以在该区块链网络中广播故障信息,该故障信息包括云存储节点3的区块链标识和云存储节点4的区块链标识。在一些实施例中,该云存储节点4还可以采用自己的私钥对该故障信息进行签名,并将签名后的故障信息广播到该区块链网络中,另外,该故障信息中还可以进一步包括云存储节点3的IP地址。

步骤402、所述用户节点对所述故障信息进行验证。

当该用户节点接收到该故障信息后,对该故障信息进行验证。

作为一种可行的实现方式,所述用户节点对所述故障信息进行验证,包括:所述用户节点向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;所述用户节点接收所述第N+1个云存储节点确定的故障的云存储节点发送的所述标识信息对应的数据片段;若所述用户节点确定所述故障的云存储节点反馈的数据片段与所述用户节点原始上传的所述待存储数据中所述标识信息对应的数据片段不一致,则所述用户节点确定对所述故障信息验证通过。

例如,该用户节点可以向云存储节点3发送查询信息,该查询信息包括该待存储数据的第M个字节的标识信息。当该云存储节点3接收到该待存储数据的第M个字节的标识信息时,获取该第M个字节对应的数据片段,该云存储节点3可以将该第M个字节对应的数据片段以P2P的方式发送给该用户节点。当该用户节点接收到该云存储节点3反馈的第M个字节对应的数据片段后,判断该云存储节点3反馈的第M个字节对应的数据片段和该用户节点原始上传的待存储数据中的第M个字节对应的数据片段是否一致,如果一致,则该用户节点确定该故障信息不正确;如果不一致,则该用户节点确定该故障信息正确,即该用户节点确定对该故障信息验证通过。

作为另一种可行的实现方式,所述用户节点对所述故障信息进行验证,包括:所述用户节点向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;若在预设时间内所述用户节点未接收到所述故障的云存储节点发送的数据片段,则所述用户节点确定对所述故障信息验证通过。

例如,该用户节点可以向云存储节点3发送查询信息,该查询信息包括该待存储数据的第M个字节的标识信息。若在预设时间内该云存储节点3均未对该查询信息进行反馈,则说明该云存储节点3不在线,此时,该用户节点确定对该故障信息验证通过。

步骤403、当所述用户节点对所述故障信息验证通过时,所述用户节点在所述区块链网络中广播第五广播消息,所述第五广播消息包括所述故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识。

在本实施例中,当该用户节点对该故障信息验证通过时,该用户节点可以在该区块链网络中广播第五广播消息,该第五广播消息可包括该故障的云存储节点3的区块链标识和替换后的云存储节点4的区块链标识。在一些实施例中,该用户节点还可以采用自己的私钥对该第五广播消息进行签名,并将签名后的第五广播消息广播到该区块链网络中。另外,该第五广播消息还可以包括该替换后的云存储节点4的IP地址。

相应的,当该云存储节点4接收到该用户节点在区块链网络中发布的第五广播消息后,该云存储节点4可以从其他无故障的云存储节点中获取该待存储数据,例如,云存储节点1或云存储节点2可以P2P的方式将该待存储数据发送给云存储节点4。

步骤404、所述用户节点接收所述第N+1个云存储节点在所述区块链网络中广播的第六广播消息,所述第六广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值。

进一步,当该云存储节点4接收到云存储节点1或云存储节点2发送的该待存储数据时,该云存储节点4可计算该待存储数据的哈希值,并采用该用户节点的公钥并按照预先约定的加密算法对该待存储数据的哈希值进行加密,得到加密后的该待存储数据的哈希值。进一步,该云存储节点4可以在该区块链网络中发布第六广播消息,该第六广播消息包括该云存储节点4采用该用户节点的公钥加密后的所述待存储数据的哈希值。在一些实施例中,该云存储节点4还可以采用自己的私钥对该第六广播消息进行签名。相应的,该用户节点接收该云存储节点4在该区块链网络中广播的第六广播消息。

步骤405、所述用户节点采用所述用户节点的私钥对所述第六广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值。

当该用户节点接收到该云存储节点4在该区块链网络中广播的第六广播消息后,该用户节点采用自己的私钥并按照预先约定的解密算法对该第六广播消息中包括的加密后的所述待存储数据的哈希值进行解密,得到云存储节点4计算得到的所述待存储数据的哈希值。其中,该解密算法可以和上述实施例所述的加密算法对应。

步骤406、当所述用户节点确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,所述用户节点在所述区块链网络中广播第七广播消息,所述第七广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

进一步,该用户节点判断该云存储节点4计算得到的所述待存储数据的哈希值是否正确,如果该用户节点确定该云存储节点4计算得到的所述待存储数据的哈希值正确,则该用户节点可以在该区块链网络中广播第七广播消息,该第七广播消息包括该用户节点对该云存储节点4计算得到的所述待存储数据的哈希值的确认信息、以及该云存储节点4的区块链标识。相应的,该用户节点可以给该云存储节点4进行存储服务转账。

此外,如果该待存储数据的存储时间到期后,该用户节点不续费,则存储有该数据的云存储节点可以释放该哈希值和该哈希值对应的数据,并在该区块链网络中广播释放信息。

本发明实施例通过用户节点在区块链网络中广播数据存储申请,当该区块链网络中的多个云存储节点接收到该数据存储申请后进行响应,并根据响应的时间戳进行自动排序,该用户节点将待存储数据发送给该排序中前N个云存储节点中的目标云存储节点,由该目标云存储节点将该待存储数据同步发送给其他的云存储节点,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点,从而避免用户节点定期或不定期的查询多个云存储节点中每个云存储节点中存储的数据是否正常,降低了该用户节点的运算量,同时实现了基于区块链网络的数据查询机制,提高了数据存储的安全性和可靠性。

图5为本发明实施例提供的用户节点的结构示意图。本发明实施例提供的用户节点可以执行数据存储方法实施例提供的处理流程,如图5所示,用户节点50包括:存储器51、处理器52、计算机程序和通讯接口53;其中,计算机程序存储在存储器51中,并被配置为由处理器52执行以下操作:通过通讯接口53在区块链网络中广播数据存储申请,所述数据存储申请包括待存储数据的大小、所述用户节点可支付的服务费用、所述待存储数据的哈希值、所述待存储数据需要备份的数量;通过通讯接口53接收所述区块链网络中多个云存储节点的响应信息,所述多个云存储节点满足所述用户节点的数据存储要求,所述响应信息包括时间戳信息,所述多个云存储节点按照各自的所述时间戳信息进行排序;通过通讯接口53将所述待存储数据发送给所述排序中前N个云存储节点中的目标云存储节点,以使所述目标云存储节点将所述待存储数据同步发送给所述前N个云存储节点中的其他云存储节点,N等于所述待存储数据需要备份的数量;通过通讯接口53接收所述前N个云存储节点中每个云存储节点发送的第一广播消息,所述第一广播消息包括所述云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;采用所述用户节点的私钥对所述每个云存储节点发送的加密后的所述待存储数据的哈希值进行解密,得到所述每个云存储节点计算得到的所述待存储数据的哈希值;当确定所述每个云存储节点计算得到的所述待存储数据的哈希值正确时,通过通讯接口53在所述区块链网络中广播第二广播消息,所述第二广播消息包括所述用户节点对所述每个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述前N个云存储节点中所述每个云存储节点的区块链标识;其中,所述排序中除所述前N个云存储节点之外的云存储节点用于对所述前N个云存储节点中存储的数据进行查询,并在所述前N个云存储节点中的云存储节点出现故障时,由所述排序中除所述前N个云存储节点之外的云存储节点替换所述故障的云存储节点。

可选的,处理器52还用于:当所述前N个云存储节点中任一个云存储节点将所述待存储数据转移给第N+1个云存储节点时,通过通讯接口53接收所述第N+1个云存储节点在所述区块链网络中广播的第三广播消息,所述第三广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;采用所述用户节点的私钥对所述第三广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;当确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,通过通讯接口53在所述区块链网络中广播第四广播消息,所述第四广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

可选的,处理器52还用于:当第N+1个云存储节点监测到所述前N个云存储节点中的任一个云存储节点出现故障时,通过通讯接口53接收所述第N+1个云存储节点发送的故障信息,所述故障信息包括所述第N+1个云存储节点确定的故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识;对所述故障信息进行验证;当对所述故障信息验证通过时,通过通讯接口53在所述区块链网络中广播第五广播消息,所述第五广播消息包括所述故障的云存储节点的区块链标识和所述第N+1个云存储节点的区块链标识。

可选的,处理器52通过通讯接口53在所述区块链网络中广播第五广播消息之后,还用于:通过通讯接口53接收所述第N+1个云存储节点在所述区块链网络中广播的第六广播消息,所述第六广播消息包括所述第N+1个云存储节点采用所述用户节点的公钥加密后的所述待存储数据的哈希值;采用所述用户节点的私钥对所述第六广播消息中的加密后的所述待存储数据的哈希值进行解密,得到所述第N+1个云存储节点计算得到的所述待存储数据的哈希值;当确定所述第N+1个云存储节点计算得到的所述待存储数据的哈希值正确时,通过通讯接口53在所述区块链网络中广播第七广播消息,所述第七广播消息包括所述用户节点对所述第N+1个云存储节点计算得到的所述待存储数据的哈希值的确认信息、以及所述第N+1个云存储节点的区块链标识。

可选的,处理器52对所述故障信息进行验证时,具体用于:通过通讯接口53向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;通过通讯接口53接收所述第N+1个云存储节点确定的故障的云存储节点发送的所述标识信息对应的数据片段;若确定所述故障的云存储节点反馈的数据片段与所述用户节点原始上传的所述待存储数据中所述标识信息对应的数据片段不一致,则确定对所述故障信息验证通过。

可选的,处理器52对所述故障信息进行验证时,具体用于:通过通讯接口53向所述第N+1个云存储节点确定的故障的云存储节点发送查询信息,所述查询信息包括所述待存储数据中的数据片段的标识信息;若在预设时间内未接收到所述故障的云存储节点发送的数据片段,则确定对所述故障信息验证通过。

可选的,处理器52通过通讯接口53在所述区块链网络中广播第二广播消息之后,还用于:通过通讯接口53向所述前N个云存储节点中的每个云存储节点发送转账信息。

可选的,所述用户节点和所述区块链网络中的云存储节点预先签署智能合约;处理器52通过通讯接口53在所述区块链网络中广播第二广播消息之后,还用于:通过所述区块链网络中的第三方节点执行所述智能合约,由所述第三方节点向所述前N个云存储节点中的每个云存储节点发送转账信息。

图5所示实施例的用户节点可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

另外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据存储方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

本文发布于:2023-04-15 10:23:36,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/87220.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图