首页 / 专利库 / 计算机网络 / 对等网络 / 基于区块链的公平性文件分发方法、系统及存储介质

基于链的公平性文件分发方法、系统及存储介质

阅读:759发布:2020-05-13

专利汇可以提供基于链的公平性文件分发方法、系统及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了基于 区 块 链 的公平性文件分发方法、系统及存储介质,方法包括:基于预设的信誉度 阈值 ,将存储 节点 加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;根据待存储的文件得到文件碎片数;根据文件碎片数,通过公平性文件分发 算法 确定若干个碎片存储节点;将文件碎片分发至所述若干个碎片存储节点。本发明基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,使得待存储文件不会分发到信誉度低的隔离池中,提高了文件分发的公平性;另外,本发明通过公平性文件分发算法进行文件分发,提高了 对等网络 中存储节点的利用率以及文件分发效率,可广泛应用于区块链技术领域。,下面是基于链的公平性文件分发方法、系统及存储介质专利的具体信息内容。

1.基于区块链的公平性文件分发方法,其特征在于:包括以下步骤:
基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
根据待存储的文件得到文件碎片数;
根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
将文件碎片分发至所述若干个碎片存储节点。
2.根据权利要求1所述的基于区块链的公平性文件分发方法,其特征在于:所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,包括以下步骤:
获取存储节点的加入请求;
对于未加入过存储网络,将存储节点添加到分布式存储网络的处理池;
将存储节点的加入信息记录到区块链中;
通过周期性调用智能合约,获取处理池中存储节点的信誉度;
若存储节点的信誉度低于预设的信誉度阈值,则将该存储节点移出处理池并将该存储节点加入隔离池。
3.根据权利要求2所述的基于区块链的公平性文件分发方法,其特征在于:所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,还包括以下步骤:
判断隔离池中的存储节点是否满足分布式存储网络的信誉度阈值要求,若是,则将所述存储节点移出隔离池并将该存储节点加入处理池;反之,则不做处理。
4.根据权利要求1所述的基于区块链的公平性文件分发方法,其特征在于:所述根据待存储的文件得到文件碎片数这一步骤,包括以下步骤:
基于预设的文件分割大小,对待存储的文件进行分割;
根据分割得到的文件碎片,构造待存储文件的唯一标识;
通过调用区块链的智能合约,将待存储文件的唯一标识存储至区块链中;
将分割得到的文件碎片进行冗余复制,得到若干份文件碎片。
5.根据权利要求4所述的基于区块链的公平性文件分发方法,其特征在于:所述根据待存储的文件得到文件碎片数这一步骤,还包括以下步骤:
对待存储文件进行加密处理后,基于预设的文件分割大小,对加密处理后的待存储的文件进行分割。
6.根据权利要求1所述的基于区块链的公平性文件分发方法,其特征在于:所述根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点这一步骤,包括以下步骤:
根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点;
根据确定的碎片存储节点信息,将文件碎片按序分发至各个碎片存储节点;
将文件碎片的分发信息存储至区块链,所述分发信息包括文件碎片与存储节点之间的映射关系。
7.根据权利要求6所述的基于区块链的公平性文件分发方法,其特征在于:所述根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点这一步骤,包括以下步骤:
获取处理池中每个存储节点的评估时间;其中,所述评估时间为各个节点的文件处理时间和等待时间的总和;
对每个存储节点的评估时间进行排序;
根据文件碎片数,从排序结果中选取对应文件碎片数的存储节点作为碎片存储节点。
8.基于区块链的公平性文件分发系统,其特征在于:包括:
加入模块,用于基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
分割模块,用于根据待存储的文件得到文件碎片数;
公平性确定模块,用于根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
分发模块,用于将文件碎片分发至所述若干个碎片存储节点。
9.基于区块链的公平性文件分发系统,其特征在于:包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7中任一项所述的基于区块链的公平性文件分发方法。
10.一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-7中任一项所述的基于区块链的公平性文件分发方法。

说明书全文

基于链的公平性文件分发方法、系统及存储介质

技术领域

[0001] 本发明涉及区块链技术领域,尤其是基于区块链的公平性文件分发方法、系统及存储介质。

背景技术

[0002] 区块链是一个分布式账本,是一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。
[0003] 哈希函数是一个把任意长度的数据映射成固定长度数据的函数。
[0004] Jain公平性指标:系统公平性算法是Jain et.al在1984年提出的,他提出Jain公平性指标来计算一个系统中用户获得的资源的公平性,具体的指标定义如下:假设了一个分布式系统中有n个用户在共享某一个网络资源,而xi作为系统中第i个用户所获得的系统吞吐量,那么Jain公平性指标就定义为:
[0005]
[0006] 上述系统公平性指标能够解决在一个对等网络环境下的资源公平共享问题。
[0007] 智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。
[0008] 点对点网络是指网络中两个系统或者进程之间的专用通信链路,这两个系统或者进程之间不存在一个中心化的服务器,因此经常会将P2P作为一个去中心化的网络的代称,点对点通信是基于OSI协议栈的物理和数据链路层和网络层中定义的。
[0009] 随着区块链技术进入到大众视,大众发现将分布式存储系统技术与区块链结合起来能够解决用户对数据分布式存储并且元数据不可篡改、可追溯的特点。目前一些基于区块链的分布式存储系统的文件存储过程主要是:
[0010] (1)对明文文件f使用加密算法进行加密处理,得到一个密文文件F;
[0011] (2)将步骤1加密的文件分割成n份文件块x1、x2、x3…,这些文件块称为文件碎片,这里的碎片都是对密文进行固定大小切割的,每个碎片块的大小为s,如果文件切割后有碎片的大小不够s,则用二进制0填充;
[0012] (3)对于每一个文件碎片xi进行复制,得到碎片副本为xij,之所以需要进行文件碎片的复制,是因为之后将文件碎片随机存储在不同的节点中之后,如果某一个节点出现故障或者恶意行为发生,这个节点上的碎片丢失了或损坏了就无法得到恢复,进而导致没有办法还原碎片为一个完整的文件;
[0013] (4)将不同的文件碎片随机分发到不同的匿名存储节点中。每个碎片文件都有各自的副本,每个副本都会随机选择对应的节点进行存储。这类的这些存储节点一般是指加入到存储网络的匿名节点,它们可以是简单的存储设备,也可以是存储服务商;
[0014] (5)对文件碎片信息构建元数据,将这些元数据信息记录在了区块链上面,由区块链来保证这一信息的不可篡改、不可抵赖。
[0015] 目前基于区块链构建的分布式存储系统中,系统使用了随机文件分发的手段,文件的分发存在不公平分发的现象,在现在基于区块链的分布式存储方案中,例如基于公链技术的Storj、Sia等,都没有提供对于文件分散存储在一个点对点的网络中文件分发的公平性问题。文件分发到点对点网络中的时候如果不进行公平性处理,会将原本基于区块链构建的分布式存储系统的去中心化的程度弱化,文件有可能会出现集中存储在某一些节点上的情况。

发明内容

[0016] 有鉴于此,本发明实施例提供一种公平性高且分发效率高的,基于区块链的公平性文件分发方法、系统及存储介质。
[0017] 一方面,本发明实施例提供了一种基于区块链的公平性文件分发方法,包括以下步骤:
[0018] 基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
[0019] 根据待存储的文件得到文件碎片数;
[0020] 根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
[0021] 将文件碎片分发至所述若干个碎片存储节点。
[0022] 进一步,所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,包括以下步骤:
[0023] 获取存储节点的加入请求
[0024] 对于未加入过存储网络,将存储节点添加到分布式存储网络的处理池;
[0025] 将存储节点的加入信息记录到区块链中;
[0026] 通过周期性调用智能合约,获取处理池中存储节点的信誉度;
[0027] 若存储节点的信誉度低于预设的信誉度阈值,则将该存储节点移出处理池并将该存储节点加入隔离池。
[0028] 进一步,所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,还包括以下步骤:
[0029] 判断隔离池中的存储节点是否满足分布式存储网络的信誉度阈值要求,若是,则将所述存储节点移出隔离池并将该存储节点加入处理池;反之,则不做处理。
[0030] 进一步,所述根据待存储的文件得到文件碎片数这一步骤,包括以下步骤:
[0031] 基于预设的文件分割大小,对待存储的文件进行分割;
[0032] 根据分割得到的文件碎片,构造待存储文件的唯一标识;
[0033] 通过调用区块链的智能合约,将待存储文件的唯一标识存储至区块链中;
[0034] 将分割得到的文件碎片进行冗余复制,得到若干份文件碎片。
[0035] 进一步,所述根据待存储的文件得到文件碎片数这一步骤,还包括以下步骤:
[0036] 对待存储文件进行加密处理后,基于预设的文件分割大小,对加密处理后的待存储的文件进行分割。
[0037] 进一步,所述根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点这一步骤,包括以下步骤:
[0038] 根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点;
[0039] 根据确定的碎片存储节点信息,将文件碎片按序分发至各个碎片存储节点;
[0040] 将文件碎片的分发信息存储至区块链,所述分发信息包括文件碎片与存储节点之间的映射关系。
[0041] 进一步,所述根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点这一步骤,包括以下步骤:
[0042] 获取处理池中每个存储节点的评估时间;其中,所述评估时间为各个节点的文件处理时间和等待时间的总和;
[0043] 对每个存储节点的评估时间进行排序;
[0044] 根据文件碎片数,从排序结果中选取对应文件碎片数的存储节点作为碎片存储节点。
[0045] 第二方面,本发明实施例还提供了一种基于区块链的公平性文件分发系统,包括:
[0046] 加入模块,用于基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
[0047] 分割模块,用于根据待存储的文件得到文件碎片数;
[0048] 公平性确定模块,用于根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
[0049] 分发模块,用于将文件碎片分发至所述若干个碎片存储节点。
[0050] 第三方面,本发明实施例还提供了一种基于区块链的公平性文件分发系统,包括:至少一个处理器;
[0051] 至少一个存储器,用于存储至少一个程序;
[0052] 当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的基于区块链的公平性文件分发方法。
[0053] 第四方面,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的基于区块链的公平性文件分发方法。
[0054] 上述本发明实施例中的一个或多个技术方案具有如下优点:本发明的实施例首先基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,使得待存储文件不会分发到信誉度低的隔离池中,提高了文件分发的公平性;另外,本发明在基于区块链的分布式管理存储中,通过公平性文件分发算法公平公正地进行文件分发,提高了对等网络中存储节点的利用率以及文件分发效率。附图说明
[0055] 图1为本发明实施例的整体步骤流程图
[0056] 图2为本发明实施例中存储节点加入分布式存储网络的步骤流程图;
[0057] 图3为本发明实施例中文件公平分发过程的步骤流程图;
[0058] 图4为本发明实施例中Top-m-Select算法的步骤流程图。

具体实施方式

[0059] 下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0060] 参照图1,本发明实施例提供了一种基于区块链的公平性文件分发方法,包括以下步骤:
[0061] 基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
[0062] 根据待存储的文件得到文件碎片数;
[0063] 根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
[0064] 将文件碎片分发至所述若干个碎片存储节点。
[0065] 进一步作为优选的实施方式,所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,包括以下步骤:
[0066] 获取存储节点的加入请求;
[0067] 对于未加入过存储网络,将存储节点添加到分布式存储网络的处理池;
[0068] 将存储节点的加入信息记录到区块链中;
[0069] 通过周期性调用智能合约,获取处理池中存储节点的信誉度;
[0070] 若存储节点的信誉度低于预设的信誉度阈值,则将该存储节点移出处理池并将该存储节点加入隔离池。
[0071] 进一步作为优选的实施方式,所述基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链这一步骤,还包括以下步骤:
[0072] 判断隔离池中的存储节点是否满足分布式存储网络的信誉度阈值要求,若是,则将所述存储节点移出隔离池并将该存储节点加入处理池;反之,则不做处理。
[0073] 进一步作为优选的实施方式,所述根据待存储的文件得到文件碎片数这一步骤,包括以下步骤:
[0074] 基于预设的文件分割大小,对待存储的文件进行分割;
[0075] 根据分割得到的文件碎片,构造待存储文件的唯一标识;
[0076] 通过调用区块链的智能合约,将待存储文件的唯一标识存储至区块链中;
[0077] 将分割得到的文件碎片进行冗余复制,得到若干份文件碎片。
[0078] 进一步作为优选的实施方式,所述根据待存储的文件得到文件碎片数这一步骤,还包括以下步骤:
[0079] 对待存储文件进行加密处理后,基于预设的文件分割大小,对加密处理后的待存储的文件进行分割。
[0080] 进一步作为优选的实施方式,所述根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点这一步骤,包括以下步骤:
[0081] 根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点;
[0082] 根据确定的碎片存储节点信息,将文件碎片按序分发至各个碎片存储节点;
[0083] 将文件碎片的分发信息存储至区块链,所述分发信息包括文件碎片与存储节点之间的映射关系。
[0084] 进一步作为优选的实施方式,所述根据文件碎片数,通过Top-m-Select方法确定若干个碎片存储节点这一步骤,包括以下步骤:
[0085] 获取处理池中每个存储节点的评估时间;其中,所述评估时间为各个节点的文件处理时间和等待时间的总和;
[0086] 对每个存储节点的评估时间进行排序;
[0087] 根据文件碎片数,从排序结果中选取对应文件碎片数的存储节点作为碎片存储节点。
[0088] 与图1的方法相对应,本发明实施例还提供了一种基于区块链的公平性文件分发系统,包括:
[0089] 加入模块,用于基于预设的信誉度阈值,将存储节点加入分布式存储网络的处理池或隔离池,并将存储节点的加入信息记录至区块链;
[0090] 分割模块,用于根据待存储的文件得到文件碎片数;
[0091] 公平性确定模块,用于根据文件碎片数,通过公平性文件分发算法确定若干个碎片存储节点;
[0092] 分发模块,用于将文件碎片分发至所述若干个碎片存储节点。
[0093] 与图1的方法相对应,本发明实施例还提供了一种基于区块链的公平性文件分发系统,包括:
[0094] 至少一个处理器;
[0095] 至少一个存储器,用于存储至少一个程序;
[0096] 当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的基于区块链的公平性文件分发方法。
[0097] 与图1的方法相对应,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的基于区块链的公平性文件分发方法。
[0098] 下面详细描述本发明基于区块链的公平性文件分发方法的具体实施步骤:
[0099] 在背景技术中描述了基于区块链构建的分布式存储网络,在文件分发的时候,系统使用了随机文件分发的手段,随机文件分发方法简单、方便,但是这种随机性会带来一些不利,以下通过一个情景来说明随机文件分发方法带来的影响。
[0100] 现假设在一个分布式点对点的存储网络中有p个存储节点,他们的信誉度(这些节点存储了文件碎片,他们的存储行为有一定的信誉度评分)分别为T1、T2、…、Tp,根据这些节点的信誉度从高到低进行排序,例如为T1>T2>T3…>Tp,那么意味着节点1的信誉度最高,节点p的信誉度最低。
[0101] 如果说采用随机文件分发方法进行文件碎片分发,那么存在一种可能性,文件碎片落在各个节点上面的概率是随机的,那么会带来一些比较不乐观的情况。如表1是随机文件分发方法导致的碎片分布情景表。
[0102] 表1
[0103]
[0104] 根据表1中的几种情况得知如果采用随机文件分发的方法来分发文件碎片,会导致文件碎片分布的合理性大大降低,而对于存储节点来说,存储的文件碎片没有体现他们的公平性,也就是说高信誉度的节点碎片命中率低,这样会导致系统的灵活性差。
[0105] 为了设计并实现基于公平的文件分发机制,本发明对基于区块链的分布式文件存储网络中的一些公平性指标进行定义。系统公平性算法是Jainet.al提出的,他提出Jain公平性指标来计算一个系统中用户获得的资源的公平性。文章假设了一个系统中有n个用户在共享网络资源,而xi作为系统中第i个用户所获得的系统吞吐量,那么Jain公平性指标就定义为
[0106]
[0107] 本法明同样对基于区块链的分布式存储网络中的公平性指标进行如下定义:
[0108] 定义1:假设在一个分布式存储网络中,一共有p个存储节点,则一个文件碎片x在时刻si被发送到存储节点yi,在时刻ei时刻被处理完成,那么定义存储节点yi的文件碎片处理时间为:ti=ei-si;
[0109] 定义2:在分布式存储网络下,假设一个存储节点yi在时刻ei将文件碎片处理完成,那么在处理完成之后一段时间内等候下一个文件碎片请求到来的过程中的每一个时刻为tc,那么定义碎片等待时间wi为wi=tc-ei;
[0110] 定义3:在分布式存储网络中有p个存储节点{y1,y2,y3,…,yp}在处理文件碎片的存储,它们的文件碎片处理时间分别为{t1,t2,t3,…,tp},等待时间分别为{w1,w2,w3,…,wp},那么分布式存储网络中文件碎片分发的公平性定义为:
[0111]
[0112] 为分布式存储网络定义好公平性指标之后,便可以提出公平性最大化的Top-m-Select文件分发机制。本发明提出一个基于公平的文件分发机制Top-m-Select。该机制具体做法如下:在一个分布式存储网络中,p个存储节点都加入存储任务,而每一个存储节点的等待时间wi都不一样(即使是一样,为了方便进行数学证明,也可以因为不同节点的不同特点进行划分得到不同的等待时间,例如不同节点的网络延时不一样),同时假设这些节点的处理时间ti是一样的(现实中可能会不太一样,为了方便分析假设它们都是一个接近值)。
[0113] 为此给出如下定理:
[0114] Top-m-Select定理:在分布式存储网络中有p个存储节点{y1,y2,y3,…,yp}在处理文件碎片的存储,它们的文件碎片处理时间分别为{ti;i∈[1,p]},等待碎片时间为{wi;i∈[1,p]},假设碎片处理时间与等待碎片时间的和按照一个从大到小的排序为t1+w1,t2+w2,t3+w3,…,tp+wp,而其中m个节点需要被选中作为某一个碎片的存储节点,那么选择碎片处理时间与等待碎片时间的和为前m个作为存储碎片节点能够实现最大化的公平,这个定理称之为Top-m-Select。
[0115] 为了将信誉度也引入作为衡量系统公平性的指标,需要对信誉度低的节点进行一定的隔离处理。在前面Top-m-Select策略中将存储节点等待碎片请求的时间与处理时间作为公平性的一项指标,而信誉度作为系统公平性的另一项,需要对系统的处理进行影响处理。
[0116] 当信誉度低于某一个阈值的时候,这个存储节点将不再加入到公平性存储节点的行列,也就是说这个节点会暂时从分布式存储节点中移除,移除之后区块链会记录这个节点被移除的记录。因此总结起来,在分布式存储网络中,每一个存储节点的等待时间wi、处理时间、信誉度Ti会实时更新到区块链中,存储节点加入到分布式存储网络之后,会形成一个处理池,这个处理池也会实时更新到区块链中,作为一个在分布式存储网络中共享的处理缓冲池;而对于那些信誉度低于某一个阈值的节点则会被剔除处理池到一个信誉度偏低的集合中,这个集合称为隔离池,同时这个信息也交给区块链维护。
[0117] 本实施例引入信誉度处理之后,能够实现系统文件碎片分发的最大化公平,同时还能够保证用户的文件数据的安全可靠。分布式存储网路借助区块链来记录公平性文件分发的关键信息,让区块链为这个公平文件分发机制进行强信任背书。
[0118] 确定好隔离池之后,便可以设计基于公平的文件分发机制。结合的处理池和信誉度隔离池的概念,设计文件碎片分发的时候公平选择节点的流程。
[0119] 参照图1,本实施例中基于公平的文件分发机制的处理流程主要包含以下几个步骤:
[0120] S1、存储节点yi加入到存储网络的处理池中,并结合超级账本区块链的接口访问智能合约,将自己加入到网络中的信息记录到区块链中;
[0121] S2、用户通过调用区块链的智能合约来访问区块链上面记录的处理池的内容,采用基于公平的文件分发算法Top-m-Select选取m个碎片存储节点,然后对文件进行处理和分发,同时将文件分发的信息记录到区块中;
[0122] S3、对于信誉度降低到一个阈值t的节点将会被区块链智能合约处理,隔离到一个信誉度低的隔离池中,不再参与文件碎片存储,同时将这个隔离池记录到区块链中以备查阅,隔离池的节点只有通过一定的审核申请、承诺等手段之后,这些节点才能够重新加入到处理池中参与存储。
[0123] 具体地,如图2所示,存储节点加入存储网络的流程包括以下步骤:
[0124] 步骤一:存储节点发出请求加入存储网络;
[0125] 步骤二:根据区块链网络中存储的信息,确定发出请求的节点是否已经加入过存储网络,若节点之前已经加入过存储系统,执行步骤五;若节点是第一次请求加入存储网络,执行步骤三。
[0126] 步骤三:将节点添加到处理池,同时把节点信息提交到区块链中记录。
[0127] 步骤四:通过调用智能合约周期性获取节点的信誉度,若信誉度低于阈值t,则将该节点踢出处理池并加入隔离池。
[0128] 步骤五:判断节点是否已经存在隔离池中,若不存在隔离池中,说明该节点已经加入到存储网络中了。若节点存在隔离池中,执行步骤六。
[0129] 步骤六:判断节点是否已经通过审核并拿到再次进入存储网络的权限,若拥有再次加入网络的权限则执行步骤三;否则拒绝节点加入。
[0130] 如图3所示,本实施例的文件公平分发的流程包括以下步骤:
[0131] 步骤一:用户选择需要存储的文件P;
[0132] 步骤二:用户文件存储前是否需要加密,若需要文件加密,转步骤三,否则,执行步 骤四。
[0133]
[0134] 步骤三:将用户选择文件进行加密,这里的加密可以使用常用的对称加密方法,也可以采用基于属性的加密方法。加密完成输出对应密文C。
[0135] 步骤四:将上一步骤中输出的文件或者文件密文进行分割,将文件按照用户指定大小分割成一定数量碎片,接着执行步骤五和步骤七。
[0136] 步骤五:利用步骤四中切割的文件碎片构造文件的唯一标识。
[0137] 步骤六:将构造的文件唯一标识通过调用区块链智能合约记录到区块链中,到此文件信息记录到区块链完成。
[0138] 步骤七:将文件碎片进行冗余复制,每个碎片复制一定份数,总共得到m份文件碎片副本。
[0139] 步骤八:根据Top-m-Select选取m个存储节点。
[0140] 步骤九:将文件碎片和存储节点信息作为启动因子启动文件分发模块,文件分发模块根据获取到的存储节点信息和文件碎片对文件碎片按序分发。
[0141] 步骤十:将文件分发信息上链,其中文件分发信息包括文件碎片与存储节点的映射关系。
[0142] 如图4所示,本实施例的Top-m-Select算法的主要流程包括以下步骤:
[0143] 步骤一:获取处理池中节点的评估时间列表Tlist,其中评估时间列表中的数据为各个节点的文件处理时间和等待时间的总和。每个总和会与每个节点标识相关联。
[0144] 步骤二:对获取到的评估时间列表的数据进行降序排序,因为获取到的数据是无序的,而最终需要获取最大的前若干项,因此先进行降序排序。
[0145] 步骤三:获取文件碎片数m,根据文件处理部分可以获取总共的文件碎片数为m。
[0146] 步骤四:从步骤二中排序完成的评估时间列表中选出前m项,并获取前m项数据所对应的存储节点信息。
[0147] 步骤五:将步骤四中最终获得的m想存储节点信息输出。
[0148] 综上所述,本发明所涉及的基于公平的文件分发机制是申请专利保护的内容。本发明依赖的理论基础是Jain公平性指标及其公平性最大化的数学证明支撑,本发明将这个公平性指标引入到公平性文件分发机制中,设计了基于公平的文件分发机制。
[0149] 本发明提出基于区块链的去中心化分布式存储中文件公平分发的方法,结合区块链本身不可篡改、去中心化等具备强信任背书能的特点,将公平文件分发的关键内容存储在区块链中,提高公平性证明的可靠性,使得基于区块链的去中心化分布式存储系统能够达到:
[0150] 1.在基于区块链的分布式管理存储中,文件分发公平公正,提高对等网络中存储节点的利用率;
[0151] 2.本发明提出的公平文件分发方法能够对于影响公平性存储的节点进行下线处理,对于系统的公平性具备自治能力。
[0152] 在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0153] 此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0154] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0155] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0156] 计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0157] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0158] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0159] 以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈