1.一种基于点对点网络的数据存储方法,其特征在于,包括:接收终端设备上传的待存储数据,所述终端设备为所述点对点网络中的任意一个节点;
将所述待存储数据划分为各个数据分片,并使用预设的第一哈希函数分别计算各个数据分片的哈希值;
根据各个数据分片的哈希值在所述点对点网络中确定与各个数据分片分别对应的目标节点;
分别构造各个数据分片的授权信息,并向各个目标节点分别发送所述授权信息,其中,第s个数据分片的授权信息被发送至与第s个数据分片对应的目标节点,1≤s≤SN,SN为数据分片的数目;
分别接收各个目标节点在对所述授权信息进行验证后发送的反馈信息,若与第s个数据分片对应的目标节点对第s个数据分片的授权信息的反馈信息为确认信息,则将第s个数据分片发送至与第s个数据分片对应的目标节点进行存储;
所述分别构造各个数据分片的授权信息包括:将第s个数据分片的分片标识、哈希值、目标节点标识、授权时效信息、证书哈希值封装为第s个数据分片的授权内容,所述证书哈希值为对所述点对点网络的电子证书进行哈希运算得到的哈希值;
使用预设的第三哈希函数对第s个数据分片的授权内容进行哈希计算,得到第s个数据分片的授权摘要;
使用预设的数据加密算法对第s个数据分片的授权摘要进行加密,得到第s个数据分片的数字签名;
将第s个数据分片的授权内容、所述数字签名、所述电子证书构造为第s个数据分片的授权信息。
2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述待存储数据划分为各个数据分片包括:
根据下式计算数据分片的数目:其中,DataBytes为所述待存储数据的字节数,MaxShard为数据分片的最大字节数,Ceil为向上取整函数;
将所述待存储数据划分为满足以下条件的SN个数据分片:其中,ShdBytess为第s个数据分片的字节数,Max为求最大值函数,Min为求最小值函数,Thresh为预设的比例阈值。
3.根据权利要求1所述的数据存储方法,其特征在于,所述根据各个数据分片的哈希值在所述点对点网络中确定与各个数据分片分别对应的目标节点包括:将预设的哈希环上与第s个数据分片的哈希值对应的位置点确定目标位置点,所述哈希环为由所述第一哈希函数的所有函数值按照从小到大的顺序顺时针或者逆时针依次连接所构成的圆环,即所述哈希环上的每个位置点均对应于所述第一哈希函数的一个函数值;
获取所述哈希环上的各个基准位置点,其中,每个基准位置点均为与所述点对点网络中的一个节点对应的位置点;
从所述目标位置点开始顺时针或者逆时针查找所述基准位置点,并将查找到的第一个基准位置点所对应的节点确定为与第s个数据分片对应的目标节点。
4.根据权利要求3所述的数据存储方法,其特征在于,所述基准位置点的设置过程包括:
获取所述点对点网络中的各个节点的身份标识;
使用预设的第二哈希函数分别对所述点对点网络中的各个节点的身份标识进行哈希运算,得到各个节点的哈希值,所述第二哈希函数的值域与所述第一哈希函数的值域一致;
将所述哈希环上与第m个节点的哈希值对应的位置点确定为与第m个节点对应的基准位置点,1≤m≤M,M为所述点对点网络中的节点数目。
5.一种数据存储装置,其特征在于,包括:数据接收模块,用于接收终端设备上传的待存储数据,所述终端设备为点对点网络中的任意一个节点;
数据划分模块,用于将所述待存储数据划分为各个数据分片;
分片哈希值计算模块,用于使用预设的第一哈希函数分别计算各个数据分片的哈希值;
目标节点确定模块,用于根据各个数据分片的哈希值在所述点对点网络中确定与各个数据分片分别对应的目标节点;
授权信息构造模块,用于分别构造各个数据分片的授权信息;
授权信息发送模块,用于向各个目标节点分别发送所述授权信息,其中,第s个数据分片的授权信息被发送至与第s个数据分片对应的目标节点,1≤s≤SN,SN为数据分片的数目;
反馈信息接收模块,用于分别接收各个目标节点在对所述授权信息进行验证后发送的反馈信息;
数据分片发送模块,用于若与第s个数据分片对应的目标节点对第s个数据分片的授权信息的反馈信息为确认信息,则将第s个数据分片发送至与第s个数据分片对应的目标节点进行存储;
所述授权信息构造模块包括:
授权内容封装单元,用于将第s个数据分片的分片标识、哈希值、目标节点标识、授权时效信息、证书哈希值封装为第s个数据分片的授权内容,所述证书哈希值为对所述点对点网络的电子证书进行哈希运算得到的哈希值;
授权摘要计算单元,用于使用预设的第三哈希函数对第s个数据分片的授权内容进行哈希计算,得到第s个数据分片的授权摘要;
数据加密单元,用于使用预设的数据加密算法对第s个数据分片的授权摘要进行加密,得到第s个数据分片的数字签名;
授权信息构造单元,用于将第s个数据分片的授权内容、所述数字签名、所述电子证书构造为第s个数据分片的授权信息。
6.根据权利要求5所述的数据存储装置,其特征在于,所述数据划分模块包括:分片数目计算单元,用于根据下式计算数据分片的数目:其中,DataBytes为所述待存储数据的字节数,MaxShard为数据分片的最大字节数,Ceil为向上取整函数;
数据划分单元,用于将所述待存储数据划分为满足以下条件的SN个数据分片:其中,ShdBytess为第s个数据分片的字节数,Max为求最大值函数,Min为求最小值函数,Thresh为预设的比例阈值。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至4中任一项所述的数据存储方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至4中任一项所述的数据存储方法的步骤。