CN110058968A - 去中心化存储的控制方法、系统及相关设备 - Google Patents
去中心化存储的控制方法、系统及相关设备 Download PDFInfo
- Publication number
- CN110058968A CN110058968A CN201910310195.2A CN201910310195A CN110058968A CN 110058968 A CN110058968 A CN 110058968A CN 201910310195 A CN201910310195 A CN 201910310195A CN 110058968 A CN110058968 A CN 110058968A
- Authority
- CN
- China
- Prior art keywords
- block chain
- chain node
- file
- migration
- migrated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000005012 migration Effects 0.000 claims abstract description 99
- 238000013508 migration Methods 0.000 claims abstract description 99
- 230000002159 abnormal effect Effects 0.000 claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims abstract description 14
- 238000013507 mapping Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 13
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种去中心化存储的控制方法、系统及相关设备,该方法包括:第一区块链节点监测硬件是否存在异常或者存在异常风险;当监测到硬件存在异常或者存在异常风险,则与至少一个目标区块链节点协商以获得迁移协议;基于迁移协议,将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点。上述技术方案,提供了一种具有主动迁移数据机制的控制方法,能够完善去中心化存储网络,提高网络协作效率。
Description
技术领域
本申请涉及区块链领域,特别是涉及一种去中心化存储的控制方法、系统及相关设备。
背景技术
在区块链网络的抵押机制中,存储矿工为用户提供数据存储。存储矿工通过提供他们的存储空间和响应put请求来参与区块链网络。要想成为存储矿工,矿工必须用与其承诺的存储空间成比例的抵押品来抵押,存储矿工通过在特定时间存储数据来响应用户请求,在此过程中生成存储证明并提供至区块链网络中来证明他们的在特定时间内存储了客户的目标数据。但是实际的运行过程中,当硬件出现故障或损坏时,矿工所存储的目标数据也就会随之丢失,这样就会因目标数据丢失会产负向激励故需要一种可以解决上述技术问题的方案。
发明内容
本申请主要解决的技术问题是提供一种去中心化存储的控制方法、系统及相关设备,能够主动迁移数据,进而完善去中心化存储网络,提高网络协作效率。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种去中心化存储的控制方法,所述方法包括:
第一区块链节点监测硬件是否存在异常或者存在异常风险;
当监测到所述硬件存在异常或者存在异常风险,则与至少一个目标区块链节点协商以获得迁移协议;
基于所述迁移协议,将所述第一区块链节点所存储的待迁移文件迁移至所述至少一个目标区块链节点。
为解决上述技术问题,本申请采用的另一个技术方案是,提供一种去中心化存储的控制方法,所述方法包括:
目标区块链节点响应第一区块链节点的迁移协商请求,与所述第一区块链节点协商获得迁移协议;
根据所述迁移协议接收所述第一区块链节点所存储待迁移文件的原始数据并存储。
为解决上述技术问题,本申请采用的另一个技术方案是,提供一种区块链节点设备,所述区块链节点设备包括处理器、存储器和通信电路,所述处理器与所述存储器和所述通信电路连接;
其中,所述存储器用于存储程序数据;
所述通信电路用于在所述处理器控制下与其他所述区块链节点设备进行通讯;
所述处理器用于运行所述存储器存储的所述程序数据,以执行如上所述的去中心化存储的控制方法。
为解决上述技术问题,本申请采用的又一个技术方案是,提供一种去中心化存储系统,其特征在于,所述系统包括至少多个区块链节点设备,所述区块链节点设备可运行至少一个区块链节点,所述多个区块链节点设备间可进行点对点通信,所述区块链节点设备为如上所述的设备。
为解决上述技术问题,本申请采用的又一个技术方案是,提供一种存储介质,所述存储介质存储有程序数据,所述程序数据被执行时实现如上所述的去中心化存储的控制方法。
以上方案,第一区块链节点监测是否存在异常或者存在异常风险;当监测到硬件存在异常或者存在异常风险,则与至少一个目标区块链节点协商以获得迁移协议,并基于迁移协议将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点,本申请所提供的技术方案提供了一种在硬件存在异常或者是存在异常风险时,可主动迁移数据的控制方法,能够完善去中心化存储网络,提高网络协作效率。
附图说明
图1是本申请一种区块链节点设备一实施例的结构示意图;
图2a是本申请一种去中心化存储系统一实施例的结构示意图;
图2b是本申请一种去中心化存储系统另一实施例的结构示意图;
图3是本申请一种去中心化存储的控制方法一实施例的流程示意图;
图4是本申请一种去中心化存储的控制方法另一实施例的流程示意图;
图5是本申请一种去中心化存储的控制方法又一实施例的流程示意图;
图6是本申请一种去中心化存储的控制方法一实施例的流程示意图;
图7是本申请所提出的抵押层单元间的继承关系的结构示意图;
图8是本申请所提出的抵押层单元与封装层目标文件间的映射关系示意图;
图9为本申请一种去中心化存储的控制方法再一实施例的数据修复示意图;
图10是本申请一种存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先需要说明的是,本申请所提供的一种去中心化存储的控制方法实施例可以应用于区块链网络。下面以区块链网络包括多个区块链节点(下文会简称为节点)、每个区块链节点对应为一个矿工为例进行说明。当然,本申请实施例也可以应用于其他形式的区块链节点。
请参见图1,图1为本申请一种区块链节点设备一实施例的结构示意图。在当前实施例中,本申请所提供的区块链节点设备100包括处理器101、存储器102和通信电路103,处理器101与存储器102和通信电路103连接。
其中,存储器102用于存储程序数据,所存储的程序数据被执行时可实现如下文图3至图9及其所对应的任一实施例所述的一种去中心化存储的控制方法。
通信电路103用于在处理器101的控制下与外部区块链节点设备进行通讯,用于对外发送数据或者接收数据。
处理器101用于运行存储器102存储的程序数据,以执行如下图3至图9对应的任一实施例所述的去中心化存储的控制方法。
进一步地,区块链节点设备100为可运行至少一个区块链节点的终端设备,如可以是计算机和服务器等。可以理解地,每一台区块链节点设备100可运行的区块链节点的数量可以是基于区块链节点设备的配置参数进行确定,具体在此不做任何限定。请同时参见图2a和图2b,图2a为本申请一种去中心化存储系统另一实施例的结构示意图,图2b为本申请一种去中心化存储系统另一实施例的结构示意图。在图2a所示实施例中,本申请所提供的去中心化存储系统200包括多个区块链节点设备,具体包括区块链节点设备201、区块链节点设备202和区块链节点设备203,多个区块链节点设备201、202和203间可进行点对点通信。由于每台区块链节点设备可运行至少一个挖矿程序对应的账号,即每台区块链节点设备可运行至少一个区块链节点,故对应的当基于区块链节点角度看,图2b所示意的去中心化存储系统可包括多个区块链节点A、B、C和D,其中,多个区块链节点A、B、C和D可以是由同一台区块链节点设备运行,也可以是不同的区块链节点设备运行,故在其他实施例中去中心化存储系统中包括多个区块链节点设备。运行区块链节点的区块链节点设备均可以与系统中其他所有区块链节点设备直接进行通信,对应的,系统中任意一个区块链节点均可以与其他区块链节点直接进行通信交互。其中,当前实施例中运行区块链节点的区块链节点设备为如图1所对应的实施例所述的区块链节点设备,每台区块链节点设备至少可以运行一个区块链节点。
其中,需要说明的是,在本申请至少一个实施例中区块链节点设备中运行的区块链节点在其他实施例中还可以称之为矿工,即也可以将区块链节点简称为矿工。去中心化存储系统中所包括的所有区块链节点在级别上为平级,即所有的区块链节点均可以执行存储任务,所有的区块链节点均可以依据智能合约监测除去自身以外其他区块链节点执行存储任务的情况。本申请所提供的去中心化存储系统中,可以是由区块竞价胜出的区块链节点执行抵押扣除任务,在其他实施例中还可以预先设定由一个特定的区块链节点执行抵押扣除任务。在又一实施例中,本申请所提供的去中心化存储系统中,抵押扣除任务也可以是由除去当前被监测的区块链节点外,其他所有节点均可以执行抵押扣除任务。
在阐述本申请所提供方法的细节前,首先说明第一区块链节点是指主动发起数据迁移的区块链节点,第二区块链节点是指与第一区块链节点直接或间接具有链接关系的区块链节点。本申请做提供的技术方案中,只是基于当前技术方案对区块链节点进行命名,在不同的情形下,第一区块链节点与第二区块链节点是可以发生改变的,即在去中心化存储系统(区块链网络,下文简称系统)中,所有的区块链节点均有可能成为第一区块链节点,对应的,所有的区块链节点也均有可能成为第二区块链节点。
且本申请所提供的技术方案中,对于区块链节点与抵押层的映射关系、或者是区块链节点中所存储的文件所映射的抵押层单元之间的映射关系,均可以根据需要进行调整,即本申请技术方案是建立在抵押层和数据封装层是解耦的基础上。
请参见图3,图3为本申请一种去中心化存储的控制方法一实施例的流程示意图。在当前实施例中,是以数据迁移发起方作为执行主体进行阐述的。具体地,该方法包括:
S301:第一区块链节点监测硬件是否存在异常或者存在异常风险。第一区块链节点在运行过程中会监测其对应的硬件,以判断硬件是否存在异常或者存在异常风险。在一实施例中,硬件异常或者硬件存在异常风险的体现为硬件运行迟缓,硬件的使用周期即将到达最大使用期限,另一实施例中,硬件存在异常的风险的体现为,硬件出错频率的超出预设阈值,则判断硬件存在异常风险。
进一步地,在一实施例中,第一区块链节点监测的硬件至少包括硬盘。
进一步地,区块链节点对于硬件是否存在异常或者存在异常风险的监测途径可以是利用区块链节点自带的监测功能,也可以是基于外部程序反馈给区块链节点的对于硬件监测的数据,又或者可以是对硬件的参数进行实时监测,具体在此不做特别限定。
当监测到硬件存在异常或者存在异常风险时,则会执行步骤S302,否则不执行步骤S302并继续进行监测硬件是否存在异常或存在异常风险。
S302:与至少一个目标区块链节点协商以获得迁移协议。
当监测到硬件存在异常或者存在异常风险时,第一区块链节点会与至少一个目标区块链节点协商以获得迁移协议。其中,目标区块链节点是执行存储第一区块链节点待迁移文件的节点。在不同的实施例中,根据第一区块链节点所存储的待迁移文件的大小,以及目标区块链节点的可利用存储空间大小,目标区块链节点可以为一个,也可以为多个,具体在此不做限定。
其中,迁移协议至少包括待迁移文件的ID号、待迁移文件所映射的抵押层单元的ID号,目标区块链节点的ID号。在其他实施例中,迁移协议还可以包括:目标区块链节点中用于存储待迁移文件的存储区域的信息。
S303:基于迁移协议,将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点。
其中,当前实施例中,待迁移文件包括第一区块链节点存储的所有文件。在另一实施例中,为区块链节点所存储的文件划分重要等级,当系统中的区块链节点存储空间较为紧张时,则待迁移文件至少包括重要级别高于预设阈值的文件。
基于步骤S302协商获得的迁移协议,将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点中。具体地,将待迁移文件迁移至至少一个目标区块链节点中时,是将待迁移文件的原始数据迁移至目标区块链节点。
图3所对应的技术方案,通过第一区块链节点监测是否存在异常或者存在异常风险;当监测到硬件存在异常或者存在异常风险,则与至少一个目标区块链节点协商以获得迁移协议,并基于迁移协议将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点,本申请所提供的技术方案提供了一种在硬件存在异常或者是存在异常风险时,可主动迁移数据的控制方法,能够完善去中心化存储网络,提高网络协作效率。
请参见图4,图4为本申请一种去中心化存储的控制方法另一实施例的流程示意图。在当前实施例中,本申请提供的方法包括:
S401:第一区块链节点监测硬件是否存在异常或者存在异常风险。
步骤S401与图3所示意的步骤S301一样,可参见图3对应的阐述,具体在此不再赘述。
在图4所对应的实施例中,图3中的步骤S302当监测到硬件存在异常或者存在异常风险时,与至少一个目标区块链节点协商以获得迁移协议包括步骤S402和步骤S403。
当监测到硬件存在异常时,执行步骤S402
S402:第一区块链节点发送迁移协商请求至至少一个第二区块链节点。其中,迁移协商请求至少包括待迁移文件的大小,第二区块链节点是指与第一区块链节点直接链接或者是间接链接的区块链节点。第一区块链节点会将迁移协商请求发送至其自身所链接的所有的第二区块链节点,第二区块链节点接收到协商请求后判断不响应该请求时,第二区块链节点可以进一步转发该迁移协商请求。
S403:第一区块链节点与响应迁移协商请求的第二区块链节点协商获得迁移协议。其中,响应迁移协商请求的第二区块链节点为上述的目标区块链节点。当响应迁移协商请求的第二区块链节点数量为多个时,则会对应的从多个响应迁移协商请求的第二区块链节点中确定一个或几个为目标区块链节点。
在另一实施例中,在第一区块链节点发送迁移协商请求至至少一个第二区块链节点后,一个第二区块链节点在接收到迁移协商请求后,则会判断自身是否可以完成文件迁移的任务,是否有足够的存储空间和稳定的硬件环境,如果有足够的存储空间和稳定的硬件环境则会响应迁移协商请求,并通知其他区块链节点自身响应迁移协商请求,以使得其他区块链节点不要再响应当前的迁移协商请求。反之,如果当前第二区块链节点不具备足够的存储空间和稳定的硬件环境,则不会响应迁移协商请求,并将第一区块链节点的迁移协商请求发送至与当前第二区块链节点链接的区块链节点。
当某一第二区块链节点响应迁移协商请求时,则会将自身的可利用存储空间以及节点ID号发送给第一区块链节点,并与第一区块链节点达成迁移协议。
当获得迁移协议之后,基于迁移协议将第一区块链节点所存储的待迁移文件迁移至至少一个目标区块链节点。其中,迁移协议至少包括:待迁移文件ID号。图3所示意的步骤S303则进一步包括步骤S404。
S404:按照迁移协议,将待迁移文件的原始数据迁移至至少一个目标区块链节点,以使得目标区块链节点存储目标文件。在当前实施例中,文件的迁移是将待迁移文件的原始数据迁移至目标区块链节点,由目标区块链节点获得待迁移文件的原始数据后,进一步对原始数据进行数据封装之后获得目标文件。故目标文件是由原始数据封装获得。
进一步地,在目标区块链节点存储目标文件之后,本申请所提供的方法还包括:第三区块链节点上报目标文件的存储证明和ID号,以使得目标文件与待迁移文件所映射的抵押层单元建立映射关系,具体可以参见下文对应部分的阐述。
请参见图5,图5为本申请一种去中心化存储的控制方法又一实施例的流程示意图。在当前实施例中,第一区块链节点所存储的待迁移文件内存较大,或者是数量较多,则可以进一步对待迁移文件进行分组,具体地,该方法包括:
S501:第一区块链节点监测硬件是否存在异常或者存在异常风险。
S502:按照预设的分组规则,对多个待迁移文件进行分组,获得多个待迁移文件组。
其中,预设规则可以按照待迁移文件的ID号进行分类,也可以是将所有的待迁移文件分为多个等大小的待迁移文件组,又或者也可以是按照待迁移文件的数量直接分为包括相同数量的文件的待迁移文件组。需要说明的是,在其他实施例中也可以根据需求,按照其他的方式对待迁移文件进行分组,具体在此不做限定。
S503:根据待迁移文件组,生成对应待迁移文件组的迁移协商请求。
当分组获得多组待迁移文件组后,会基于每个待迁移文件组的属性信息生成对应待迁移文件组的迁移协商请求。如:当分组所得待迁移文件的总的大小为512MB,则会在迁移协商请求中声明所需的迁移的文件大小为512MB。
S504:第一区块链节点发送各个迁移协商请求至对应的多个第二区块链节点。在获得迁移协商请求,第一区块链节点可以依次或者是同时发出所得的各个迁移协商请求。对应的,当第一区块链节点发出的多个迁移协商请求时,会对每个发出的迁移协商请求进行设置标识信息,以区别不同的迁移协商请求。
S505:第一区块链节点与响应迁移协商请求的第二区块链节点协商获得迁移协议。
S506:按照迁移协议,将待迁移文件的原始数据迁移至至少一个目标区块链节点,以使得目标区块链节点存储目标文件。
在图5所示意的实施例中,步骤S501、步骤S505和步骤S506与图4所示意的实施例中步骤S401、步骤S402和步骤S403相同,可参见上文对应部分的阐述,在此不赘述。
请参见图6,图6为本申请一种去中心化存储的控制方法一实施例的流程示意图。在当前实施例中,是以目标区块链节点为执行主体进行阐述,需要说明的是,目标区块链节点为响应第一区块链节点的迁移协商请求并执行存储待迁移文件的节点。在当前实施例中,该方法包括:
S601:目标区块链节点响应第一区块链节点的迁移协商请求,与第一区块链节点协商获得迁移协议。目标区块链节点在接收到第一区块链节点发送的迁移协商请求时,基于判断得到可响应该请求,则会与第一区块链节点协商获得迁移协议。其中,迁移协议可包括:第一区块链节点所需迁移至目标区块链节点的待迁移文件的ID号、待迁移文件的总计占用内存大小、目标区块链节点的可利用存储空间。
进一步地,在步骤S601目标区块链节点响应第一区块链节点的迁移协商请求,与第一区块链节点协商获得迁移协议之前,本申请所提供的方法包括:判断可利用存储空间大小是否大于或等于待迁移文件的大小,当判断可利用存储空间大小大于或等于待迁移文件的大小时,响应迁移协商请求。
S602:根据迁移协议接收第一区块链节点所存储待迁移文件的原始数据并存储。在目标区块链节点与第一区块链节点达成迁移协议后,接收第一区块链节点所存储的待迁移文件的原始数据并存储。在另一实施例中,请继续参见图6,本申请所提供的技术方案还包括:步骤S603至步骤S605。
S603:封装原始数据获得目标文件。
进一步地,在获得原始数据之后,目标区块链节点会进一步对原始数据进行封装,封装后获得目标文件。其中需要说明的是,本申请所提供的技术方案中,待迁移文件自第一区块链节点迁移至目标区块链节点,并不会改变待迁移文件的内容,故对所接收到的原始数据进行封装之后获得的目标文件的内容与待迁移文件内容相同。
进一步地,在另一实施例中,在上述步骤S602之后还可以包括:根据待迁移文件的ID号验证原始数据是否存在误传,若原始数据不存在误传,则会执行步骤S603。当验证得到原始数据存在误传则会反馈给第一区块链节点,使得第一区块链节点重新发送正确的待迁移文件的原始数据至目标区块链节点。
S604:为目标文件设定ID号。目标区块链节点在封装得到目标文件后,按照设定的规则为目标文件设定ID号。
S605:将目标文件的ID号上传至抵押层单元,以使得目标文件与待迁移文件映射的抵押层单元进行映射。为避免第一区块链节点所存储的待迁移文件所映射的抵押层单元被扣除,会上传目标文件的ID号上传至抵押层单元,以建立目标文件与待迁移文件映射的抵押层单元之间的映射关系。具体地,在本申请中是将目标文件的ID号上传至抵押层单元。
其中,需要说明的是,本申请提出一种具有继承关系的第一抵押层单元和第二抵押层单元。
请参见图7,图7为本申请所提出的抵押层单元继承关系示意图,抵押层单元是指区块链节点在加入区块链网络时所提供的抵押,具体可以体现为智能合约中数字,当抵押层具有多层时,也可以理解为具有不通过级别的智能合约,其中级别较高的智能合约可以管理低级别的智能合约,或者为低级别的智能合约进行分配任务。在当前实施例中,可将具有继承关系的抵押层单元称之为父子抵押层单元,图7所示的图中,父抵押层单元Actor可以继承出子抵押层单元Actor1、子抵押层单元Actor2和子抵押层单元Actor3,子抵押层单元Actor1继承出第一抵押层单元m1、m2和m3,子抵押层单元Actor2继承出第一抵押层单元n1和n2。
在本申请中将具有管理和资源调配功能的抵押层单元定义为第二抵押层单元,对应图7所示的图中,第一抵押层单元m1、m2和m3的上级抵押层单元Actor1为第二抵押层单元。但是在本申请所提供的技术方案中,可以具有多个直接管理或间接管理某第一抵押层单元m1的上级抵押层单元,故会对应有不同的级别的第二抵押层单元。如第二抵押层单元Actor1的上级抵押层单元Actor也是第二抵押层单元,虽然抵押层单元Actor1和抵押层单元Actor均是第二抵押层单元,但是抵押层单元Actor的管理和分配的级别要高于抵押层单元Actor1,即抵押层单元Actor1可以管理抵押层单元Actor1。
需要说明的是,抵押层单元这种集成关系理论上可以集成很多层,图7所示意的是三层继承关系的抵押层单元,可以理解的,在其他实施例中抵押层单元的可以包括多层继承关系,如可以包括4层、5层或者更多层,在此并不做限定。
在当前实施例中,第一抵押层单元是指不可以再继承出子抵押层单元,也不具备管理和分配功能的抵押层单元,同时也是级别最低的抵押层单元。每个第一抵押层单元与每个目标文件会是一一对应的,且是由至少一个第二抵押层单元分配第一抵押层单元和目标文件建立映射关系任务至一个第一抵押层单元。在每个区块链节点完成存储目标文件后,会对应给每个目标文件赋予一标记身份的ID号,至少将ID号上传至第二抵押层单元,第二抵押层单元在收到目标文件的ID号后,会将ID号对应的目标文件与一个没有分配的第一抵押层单元建立映射关系。
具体地,建立映射关系的流程是,由第二抵押层单元获取到目标文件的属性信息和建立映射关系任务,获取到目标修复文件的属性信息和调整第一抵押层单元映射关系任务后,将任务分配至对应的第一抵押层单元,由第一抵押层单元将任务分配至某一区块链节点,由该区块链节点执行调整第一映射单元映射关系的任务。其中,第一抵押层单元可以将调整第一映射单元映射关系或建立某一目标文件与该抵押层单元映射关系的任务分配至执行抵押扣除的区块链节点。可以理解的,在其他实施例中,也可以根据预先设定将任务分配至其他的区块链节点。
具体地,请参见图8,图8为本申请所提出的抵押层单元与封装层之间的映射关系示意图。在当前实施例中,将区块链节点存储封装所得目标文件的存储区定义为封装层,在当前实施例中,封装层的结构可对应所提出的抵押层单元的结构,其中由图8可以得知,目标文件S1与第一抵押层单元m1对应,目标文件S2与第一抵押层单元m3对应,目标文件S3与第一抵押层单元m2对应,第一抵押层单元m4为没有分配的第一抵押层单元,D1、D2和D3为目标文件S1、S2和S3的原始数据备份或者是文件的备份。在当前实施例中所提供的技术方案中,通过将每个目标文件与一个第一抵押层单元一一对应,较好地实现了对于各个区块链节点中所存储目标文件的抵押扣除的精准控制,也为在出现损坏文件时、或者文件迁移时,快速将损坏文件或待迁移文件对应的抵押层单元与和目标文件或目标修复文件建立映射关系提供了基础。其中,目标修复文件是对损坏文件进行修复、重建或迁移重新封装后所得的,内容与损坏文件或待迁移文件内容相同的文件。
进一步地,可参见图9,图9为本申请一种去中心化存储的控制方法一实施例的流程示意图。在当前实施例中,阐述了调整映射关系的交互流程,其中,第三区块链节点是执行抵押扣除和调整映射关系的区块链节点,第四区块链节点是指上传调整第一抵押层单元映射关系请求的区块链节点,第四区块链节点可以和第一区块链节点或目标区块链节点是同一节点。
在当前实施例中,本申请所提供的方法包括:
1.第四区块链节点获取目标文件的属性信息。
2.上传调整第一抵押层单元映射关系请求和目标文件的属性信息至第一抵押层单元对应的第二抵押层单元。
3.第二抵押层单元获取第四区块链节点发送的目标文件的属性信息和调整第一抵押层单元映射关系请求。
4.第二抵押层单元响应调整第一抵押层单元映射关系请求。
5.将调整第一抵押层单元映射关系的任务分配至第一抵押层单元。
6.第一抵押层单元分配调整映射关系的任务分配至第三区块链节点。
7.第三区块链节点执行调整映射关系的任务,取消第一抵押层单元与目标文件映射关系,并建立第一抵押层单元与目标修复文件的映射关系。
本申请还提供一种存储介质。请参见图10,图10为本申请一种存储介质一实施例中的结构示意图,在当前实施例中,存储介质1000存储有程序数据1001,所存储的程序数据1001被执行时可实现如上图3至图9及其各个实施例所述的一种去中心化存储的控制方法。具体地,上述具有存储功能的存储介质1000可以是存储器、个人计算机、服务器、网络设备或者U盘等其中的一种。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种去中心化网络的控制方法,其特征在于,所述方法包括:
第一区块链节点监测硬件是否存在异常或者存在异常风险;
当监测到所述硬件存在异常或者存在异常风险,则与至少一个目标区块链节点协商以获得迁移协议;
基于所述迁移协议,将所述第一区块链节点所存储的待迁移文件迁移至所述至少一个目标区块链节点。
2.根据权利要求1所述的方法,其特征在于,所述当监测到所述硬件存在异常,则与至少一个目标区块链节点协商以获得迁移协议包括:
当监测到所述硬件存在异常时,所述第一区块链节点发送迁移协商请求至至少一个第二区块链节点,其中,所述迁移协商请求至少包括所述待迁移文件的大小;
所述第一区块链节点与响应所述迁移协商请求的所述第二区块链节点协商获得所述迁移协议,其中,所述响应所述迁移协商请求的所述第二区块链节点为至少一个所述目标区块链节点。
3.根据权利要求2所述的方法,其特征在于,所述第一区块链节点发送迁移协商请求至至少一个第二区块链节点之前,所述方法还包括:
按照预设的分组规则,对多个所述待迁移文件进行分组,获得多个待迁移文件组;
根据所述待迁移文件组,生成对应所述待迁移文件组的迁移协商请求;
所述第一区块链节点发送迁移协商请求至至少一个第二区块链节点包括:
所述第一区块链节点发送各个所述迁移协商请求至对应的多个所述第二区块链节点。
4.根据权利要求3所述的方法,其特征在于,所述迁移协议包括:待迁移文件ID号,所述将所述第一区块链节点所存储的待迁移文件迁移至所述至少一个目标区块链节点包括:
按照所述迁移协议,将所述待迁移文件的原始数据迁移至所述至少一个目标区块链节点,以使得所述目标区块链节点存储目标文件,使得所述目标文件与所述待迁移文件所映射的抵押层单元建立映射关系,其中,所述目标文件是由所述原始数据封装获得。
5.一种去中心化存储的控制方法,其特征在于,所述方法包括:
目标区块链节点响应第一区块链节点的迁移协商请求,与所述第一区块链节点协商获得迁移协议;
根据所述迁移协议接收所述第一区块链节点所存储待迁移文件的原始数据并存储。
6.根据权利要求5所述的方法,其特征在于,所述迁移协商请求包括所述待迁移文件的大小;
所述响应第一区块链节点的迁移协商请求之前,所述方法包括:
判断可利用存储空间大小是否大于或等于所述待迁移文件的大小,当判断所述可利用存储空间大小大于或等于所述待迁移文件的大小时,响应所述迁移协商请求。
7.根据权利要求5所述的方法,其特征在于,所述迁移协议包括:所述第一区块链节点所需迁移至目标区块链节点的待迁移文件的ID号;
所述根据所述迁移协议接收所述第一区块链节点所存储待迁移文件的原始数据并存储之后,所述方法包括:
根据所述待迁移文件的ID号验证所述原始数据是否存在误传;
若所述原始数据不存在误传,则封装所述原始数据获得目标文件,所述目标文件内容与所述待迁移文件内容相同;
所述封装所述原始数据获得目标文件之后,所述方法还包括:
为所述目标文件设定ID号;
将所述目标文件的ID号上传至抵押层单元,以使得所述目标文件与所述待迁移文件映射的抵押层单元进行映射。
8.一种区块链节点设备,其特征在于,所述区块链节点设备包括处理器、存储器和通信电路,所述处理器与所述存储器和所述通信电路连接;
其中,所述存储器用于存储程序数据;
所述通信电路用于在所述处理器控制下与其他所述区块链节点设备进行通讯;
所述处理器用于运行所述存储器存储的所述程序数据,以执行如权利要求1至7任一项所述的方法。
9.一种去中心化存储系统,其特征在于,所述系统包括多个区块链节点设备,所述区块链节点设备可运行至少一个区块链节点,所述多个区块链节点设备间可进行点对点通信,所述区块链节点设备为如权利要求8所述的设备。
10.一种存储介质,其特征在于,所述存储介质存储有程序数据,所述程序数据被执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310195.2A CN110058968A (zh) | 2019-04-17 | 2019-04-17 | 去中心化存储的控制方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310195.2A CN110058968A (zh) | 2019-04-17 | 2019-04-17 | 去中心化存储的控制方法、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110058968A true CN110058968A (zh) | 2019-07-26 |
Family
ID=67319276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910310195.2A Pending CN110058968A (zh) | 2019-04-17 | 2019-04-17 | 去中心化存储的控制方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058968A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159195A (zh) * | 2019-12-31 | 2020-05-15 | 余俊龙 | 区块链系统中的数据存储控制方法及设备 |
WO2023207077A1 (zh) * | 2022-04-29 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链节点的迁移方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145521A (zh) * | 2017-04-10 | 2017-09-08 | 杭州趣链科技有限公司 | 一种面向区块链多级智能合约的数据迁移方法 |
US20180101455A1 (en) * | 2016-10-10 | 2018-04-12 | AlphaPoint | Immediate order book failover |
CN108829350A (zh) * | 2018-05-31 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
CN109194506A (zh) * | 2018-08-16 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 区块链网络部署方法、平台及计算机存储介质 |
-
2019
- 2019-04-17 CN CN201910310195.2A patent/CN110058968A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180101455A1 (en) * | 2016-10-10 | 2018-04-12 | AlphaPoint | Immediate order book failover |
CN107145521A (zh) * | 2017-04-10 | 2017-09-08 | 杭州趣链科技有限公司 | 一种面向区块链多级智能合约的数据迁移方法 |
CN108829350A (zh) * | 2018-05-31 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
CN109194506A (zh) * | 2018-08-16 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 区块链网络部署方法、平台及计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159195A (zh) * | 2019-12-31 | 2020-05-15 | 余俊龙 | 区块链系统中的数据存储控制方法及设备 |
WO2023207077A1 (zh) * | 2022-04-29 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链节点的迁移方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205060B (zh) | 提供用于ha集群的管理程序的基于应用的监控及恢复 | |
US8645745B2 (en) | Distributed job scheduling in a multi-nodal environment | |
US20170180469A1 (en) | Method and system for forming compute clusters using block chains | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
US20160203235A1 (en) | Striping of directed graphs and nodes with improved functionality | |
CN109857334A (zh) | 存储系统及其控制方法 | |
US20190238338A1 (en) | Cloning drones using blockchain | |
US20120297056A1 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
CN108632063B (zh) | 管理网络切片实例的方法、装置和系统 | |
CN101271382A (zh) | 存储系统及存储系统的运用方法 | |
CN104158826B (zh) | 一种面向虚拟机迁移的调度方法及其系统 | |
CN103180840A (zh) | 动态允许和禁止写xfr_rdy | |
CN110058968A (zh) | 去中心化存储的控制方法、系统及相关设备 | |
US9996397B1 (en) | Flexible device function aggregation | |
CN103763363A (zh) | 一种云存储系统及基于该系统的文件副本部署方法 | |
CN109376011A (zh) | 虚拟化系统中管理资源的方法和装置 | |
CN110244901A (zh) | 任务分配方法及装置、分布式存储系统 | |
CN105764097A (zh) | 资源分配方法及装置 | |
CN114374692A (zh) | 一种多容器集群管理的实现方法及系统 | |
US20180188792A1 (en) | Reconfigurable caching and backup for devices | |
CN109388589A (zh) | 一种调整缓存分区比例的方法、设备及存储介质 | |
CN105450679A (zh) | 进行数据云存储的方法及系统 | |
CN109800211B (zh) | 去中心化存储的控制方法、系统及相关设备 | |
CN113806076B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |
|
RJ01 | Rejection of invention patent application after publication |