CN111818124B - 数据存储方法、装置、电子设备及介质 - Google Patents
数据存储方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111818124B CN111818124B CN202010479118.2A CN202010479118A CN111818124B CN 111818124 B CN111818124 B CN 111818124B CN 202010479118 A CN202010479118 A CN 202010479118A CN 111818124 B CN111818124 B CN 111818124B
- Authority
- CN
- China
- Prior art keywords
- storage node
- data
- target
- storage
- target storage
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据存储方法、装置、电子设备及计算机可读介质。其中,所述方法包括:获取本存储节点与各目标存储节点之间的网络连接状态信息;获取待存储的目标数据;采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点。通过上述方法能够保障用户数据在上传时,可以成功写入,提高了用户体验,同时采用区块链的方式存储数据,进一步保证了用户的数据安全。
Description
技术领域
本申请涉及计算机应用技术领域,具体涉及一种数据存储方法及装置、一种电子设备以及一种计算机可读介质。
背景技术
纠删码(Erasure Code,简称EC)技术主要是通过纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。基于纠删码的方法与多副本方法相比具有冗余度低、磁盘利用率高等优点,成为分布式存储系统的一大主流。
全局纠删(GlobalEC)技术,是纠删码技术的扩展应用。图1所示为Global EC的过程。如图1所示,GlobalEC是将一个用户上传的数据分成2个数据块,并使用纠删码算法根据这2个数据块计算生成1个校验块;同时,将这2个数据块和1个校验块分别存入到3个不同的数据中心(标记为AZ,如图1所示的AZ1、AZ2、AZ3)的对象存储集群中。这样,当单个AZ出现故障时,还可以从剩余的两个AZ中取出数据块,生成用户的源数据,并返回给用户。用户通过图中的服务调用入口上传和下载数据。
上述过程中,3个AZ(即,AZ1、AZ2、AZ3)之间通过专线通讯,但因为相互距离比较远(同城或者跨地域),很容易出现网络状态不好,甚至网络断开的情况(例如,网线被施工队挖断)。此时,当用户上传数据,数据将不能同时写到3个AZ中;并且,由于网络异常,将使得写到异常AZ的请求出现超时,但需要一段时间后才会被发现。如此一来,将明显降低上传Global EC对象存储服务的可靠性,同时要经过很长时间才被发现异常,也大大降低了用户体验。
发明内容
本申请的目的是提供一种数据存储方法及装置、一种电子设备以及一种计算机可读介质。
本申请第一方面提供一种数据存储方法,包括:
获取本存储节点与各目标存储节点之间的网络连接状态信息;
获取待存储的目标数据;
采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;
根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点。
本申请第二方面提供一种数据存储装置,包括:
网络探测模块,用于获取本存储节点与各目标存储节点之间的网络连接状态信息;
获取模块,用于获取待存储的目标数据;
处理模块,用于采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;
存储模块,用于根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点。
本申请第三方面提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现本申请第一方面所述的方法。
本申请第四方面提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。
相较于现有技术,本申请提供的数据存储方法、装置、电子设备及介质,获取待存储的目标数据,采用纠删码算法对目标数据进行分块处理,得到对应数据块和校验块,然后根据本存储节点与各目标存储节点之间的网络连接状态信息,存储所述数据块和校验块至对应的存储节点。由于是根据各存储节点之间的网络连接状态信息制定的存储策略,因此,通过上述方法可以保障用户数据在上传时,无论存储节点间网络发生什么异常,都可以成功写入,不会出现写入失败及写入等待超时等现象,相较于现有技术,明显地提高了数据存储服务的可靠性,提高了用户体验。同时采用区块链的方式存储数据,进一步保证了用户的数据安全。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有的基于全局纠删技术的数据存储过程;
图2示出了本申请的一些实施方式所提供的一种数据存储方法的流程图;
图3示出了本申请的一些实施方式所提供的一种数据存储装置的示意图;
图4示出了本申请的另一些实施方式所提供的一种数据存储装置的示意图;
图5示出了本申请的一些实施方式所提供的一种电子设备的示意图;
图6示出了本申请的一些实施方式所提供的一种计算机可读介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,参照图1,对现有的基于Global EC的数据存储过程进一步介绍如下:
第一步,用户往AZ1发送文件上传请求,上传文件file1;
第二步,AZ1的Global EC会使用纠删码算法将文件file1拆分成数据块file1-data-part1,数据块file1-data-part2和校验块file1-checksum;并将file1-data-part1存往AZ1的对象存储集群,发出网络请求将file1-data-part2存往AZ2的对象存储集群,发出网络请求将file1-checksum存往AZ3的对象存储集群;
第三步,一旦AZ1、AZ2和AZ3的对象存储集群都写成功,AZ1的Global EC返回给用户上传成功的消息;
此时,实际存入底层对象存储集群的只有1.5倍源文件,但任意一个AZ不可用,都可以通过剩余的两个AZ中的数据恢复成完整的源文件返回给用户。
为了解决上述过程中出现的AZ间网络异常而造成数据存储服务可靠性低,用户体验差的问题,本申请实施例提供一种数据存储方法及装置、一种电子设备以及计算机可读介质,下面结合附图进行说明。
请参考图2,其示出了本申请的一些实施方式所提供的一种数据存储方法的流程图,如图所示,所述数据存储方法,可以应用于分布式存储系统中的任一存储节点,或者其它存储系统中,可以包括以下步骤:
步骤S101:获取本存储节点与各目标存储节点之间的网络连接状态信息。
其中,所述目标存储节点可以为分布式存储系统中除了本存储节点之外的存储节点。
其中,网络连接状态信息可以分为正常和异常,存储节点可以是数据中心AZ,例如本存储节点为AZ1,目标存储节点为AZ2和AZ3。可选的,可以通过以下方法判断本存储节点与各目标存储节点之间的网络连接状态:
按照预设周期,由本存储节点向各目标存储节点发送信号包,对于本存储节点与任一目标存储节点,若连续预设次数出现信号包发送失败,则判断本存储节点与相应目标存储节点之间的网络连接状态为异常;反之,则判断为正常。
例如,AZ1的“Global EC”组件定期(假设每隔5秒)向AZ2和AZ3的“对象存储集群”的指定端口发送信号包。正常网络情况下的信号包发送成功,异常网络情况下的信号包发送失败。网络异常判断规则:若20秒内连续出现2次信号包发送失败,则认为两个AZ之间的网络异常。
步骤S102:获取待存储的目标数据。
步骤S103:采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块。
例如,用户上传目标数据(例如文件file1)到AZ1,AZ1的“Global EC”组件获取到了用户上传的目标数据,AZ1的“Global EC”组件使用纠删码算法将文件file1拆分成数据块file1-data-part1、数据块file1-data-part2和校验块file1-checksum,即两个数据块和一个校验块。
步骤S104:根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点。
根据本申请的一个实施方式中,目标存储节点的数量为两个,可以是第一目标存储节点和第二目标存储节点;采用纠删码方式对目标数据进行分块处理得到处理结果为两个数据块和一个校验块。
具体的,步骤S104可以实现如下:
若本存储节点与第一目标存储节点之间的网络连接状态为正常,且与第二目标存储节点之间的网络连接状态为异常,则将一个数据块和所述校验块存储于本存储节点,将另一个数据块和所述校验块存储于第一目标存储节点。
例如,若本存储节点AZ1与目标存储节点AZ2之间的网络连接状态为正常,且与目标存储节点AZ3之间的网络连接状态为异常,AZ1的“Global EC”将数据块file1-data-part1、校验块file1-checksum写往AZ1的对象存储集群,将数据块file1-data-part2、校验块file1-checksum写往AZ2,并且在AZ1、AZ2中记录:file1-checksum为临时写入。当file1-data-part1、file1-data-part2、file1-checksum都写成功后,返回用户数据存储成功的消息。
当探测到AZ1与AZ3之间的网络恢复正常后,再将file1-checksum写入到AZ3,因此,根据本申请的一个实施方式中,上述数据存储方法还包括以下步骤:
当本存储节点与第二目标存储节点之间的网络连接状态恢复为正常时,将所述校验块存储于所述第二目标存储节点,并删除本存储节点和所述第一目标存储节点中存储的校验块。
也就是,当AZ1与AZ3之间的网络恢复正常后,将file1-data-checksum写入到AZ3,同时删除AZ1和AZ2中的file1-data-checksum,恢复成正常的数据存储模式。
具体的,步骤S104还可以实现如下:
若本存储节点与各目标存储节点之间的网络连接状态均为异常,则将所述两个数据块和一个校验块都存储于本存储节点。
例如,若本存储节点AZ1与各目标存储节点AZ2和AZ3之间的网络连接状态均为异常,AZ1的“Global EC”将file1-data-part1、file1-data-part2、file1-checksum同时写入AZ1。
当探测到AZ1与AZ2和AZ3之间的网络恢复正常后,再恢复成正常的数据存储模式,因此,根据本申请的一个实施方式中,上述数据存储方法还包括以下步骤:
当本存储节点与各目标存储节点之间的网络连接状态恢复为正常时,则将所述两个数据块中的一个存储于第一目标存储节点,将所述校验块存储于第二目标存储节点。
也就是,此时,file1-data-part1、file1-data-part2、file1-checksum都存储在AZ1的对象存储集群中,并且AZ1和AZ2、AZ3之间的网络恢复正常,AZ1会将file1-data-part2数据复制到AZ2的对象存储集群中,再删掉AZ1中的file1-data-part2。同时将file1-checksum数据复制到AZ3的对象存储集群中,再删掉AZ1中的file1-checksum。
可见,本申请的数据存储方法的整个过程中,数据仍然保持AZ级安全,并最终使用1.5倍的存储容量;而且,整个过程中,用户上传数据请求不会出现异常,也不会等待服务超时后,才告知失败。
根据本申请的一个实施方式中,本申请中的各存储节点均为区块链节点,各处理结果均存储在区块链中,也就是将处理结果中的各部分数据按照区块的方式存储于区块链中。由于区块链去中心化、不可篡改、可回溯等特性,进一步保证了用户的数据安全。
本申请实施例中,上述方法可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
相较于现有技术,本申请实施例提供的上述数据存储方法,获取待存储的目标数据,采用纠删码算法对目标数据进行分块处理,得到对应数据块和校验块,然后根据本存储节点与各目标存储节点之间的网络连接状态信息,存储所述数据块和校验块至对应的存储节点。由于是根据各存储节点之间的网络连接状态信息制定的存储策略,因此,通过上述方法可以保障用户数据在上传时,无论存储节点间网络发生什么异常,都可以成功写入,不会出现写入失败及写入等待超时等现象,相较于现有技术,明显地提高了数据存储服务的可靠性,提高了用户体验。同时采用区块链的方式存储数据,进一步保证了用户的数据安全。
在上述的实施例中,提供了一种数据存储方法,与之相对应的,本申请还提供一种数据存储装置。本申请实施例提供的数据存储装置可以实施上述数据存储方法,该数据存储装置可以通过软件、硬件或软硬结合的方式来实现。例如,该数据存储装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。请参考图3,其示出了本申请的一些实施方式所提供的一种数据存储装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图3所示,所述数据存储装置10,可以包括:
网络探测模块101,用于获取本存储节点与各目标存储节点之间的网络连接状态信息;
获取模块102,用于获取待存储的目标数据;
处理模块103,用于采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;
存储模块104,用于根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点。
在本申请实施例的一些实施方式中,所述网络探测模块101,具体用于:
按照预设周期,由本存储节点向各目标存储节点发送信号包;
对于本存储节点与任一目标存储节点,若连续预设次数出现信号包发送失败,则判断本存储节点与相应目标存储节点之间的网络连接状态为异常;反之,则正常。
在本申请实施例的一些实施方式中,所述目标存储节点的数量为两个;所述处理结果包括两个数据块和一个校验块。
在本申请实施例的一些实施方式中,所述存储模块104,具体用于:
若本存储节点与第一目标存储节点之间的网络连接状态为正常,且与第二目标存储节点之间的网络连接状态为异常,则将一个数据块和所述校验块存储于本存储节点,将另一个数据块和所述校验块存储于第一目标存储节点。
请参考图4,其示出了本申请的另一些实施方式所提供的一种数据存储装置的示意图,如图所示,所述数据存储装置10还可以包括:
数据补偿模块105,用于当本存储节点与所述第二目标存储节点之间的网络连接状态恢复为正常时,则将所述校验块存储于所述第二目标存储节点,并删除本存储节点和所述第一目标存储节点中存储的校验块。
在本申请实施例的一些实施方式中,所述存储模块104,具体用于:
若本存储节点与各目标存储节点之间的网络连接状态均为异常,则将所述两个数据块和一个校验块都存储于本存储节点。
在本申请实施例的一些实施方式中,所述数据补偿模块105,具体用于:
当本存储节点与各目标存储节点之间的网络连接状态恢复为正常,则将所述两个数据块中的一个存储于第一目标存储节点,将所述校验块存储于第二目标存储节点。
为了解决出现AZ间网络异常而造成服务可靠性低,用户体验差的问题,相较于现有技术,本申请数据存储装置10中增加了网络探测模块101、数据补偿模块105,并优化了文件存储方式。
根据本申请的一个实施方式中,本申请中的各存储节点均为区块链节点,各处理结果均存储在区块链中。由于区块链去中心化、不可篡改、可回溯等特性,进一步保证了用户的数据安全。
本申请实施例提供的数据存储装置10,与本申请前述实施例提供的数据存储方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的数据存储方法对应的电子设备,所述电子设备可以是手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述数据存储方法。
请参考图5,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图5所示,所述电子设备20包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的数据存储方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述数据存储方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的数据存储方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的数据存储方法对应的计算机可读介质,请参考图6,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的数据存储方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的数据存储方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (7)
1.一种数据存储方法,其特征在于,包括:
获取本存储节点与各目标存储节点之间的网络连接状态信息;所述目标存储节点为分布式存储系统中除了本存储节点之外的存储节点;
获取待存储的目标数据;
采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;
根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点;
所述目标存储节点的数量为两个,分别为第一目标存储节点和第二目标存储节点;所述处理结果包括两个数据块和一个校验块;
所述根据所述网络连接状态信息,确定对所述处理结果的存储策略,包括:
若本存储节点与第一目标存储节点之间的网络连接状态为正常,且与第二目标存储节点之间的网络连接状态为异常,则将一个数据块和所述校验块存储于本存储节点,将另一个数据块和所述校验块存储于第一目标存储节点;当本存储节点与所述第二目标存储节点之间的网络连接状态恢复为正常时,将所述校验块存储于所述第二目标存储节点,并删除本存储节点和所述第一目标存储节点中存储的校验块;
若本存储节点与各目标存储节点之间的网络连接状态均为异常,则将所述两个数据块和一个校验块都存储于本存储节点;当本存储节点与各目标存储节点之间的网络连接状态恢复为正常,则将所述两个数据块中的一个存储于第一目标存储节点,将所述校验块存储于第二目标存储节点。
2.根据权利要求1所述的方法,其特征在于,所述获取本存储节点与各目标存储节点之间的网络连接状态信息,包括:
按照预设周期,由本存储节点向各目标存储节点发送信号包;
对于本存储节点与任一目标存储节点,若连续预设次数出现信号包发送失败,则判断本存储节点与相应目标存储节点之间的网络连接状态为异常;反之,则正常。
3.根据权利要求1或2所述的方法,其特征在于,各存储节点为区块链节点,所述处理结果存储在区块链中。
4.一种数据存储装置,其特征在于,包括:
网络探测模块,用于获取本存储节点与各目标存储节点之间的网络连接状态信息;所述目标存储节点为分布式存储系统中除了本存储节点之外的存储节点;
获取模块,用于获取待存储的目标数据;
处理模块,用于采用纠删码方式对所述目标数据进行分块处理,以得到所述目标数据对应的处理结果,所述处理结果包括至少两个数据块和至少一个校验块;
存储模块,用于根据所述网络连接状态信息,确定对所述处理结果的存储策略,并按照所述存储策略存储所述处理结果,所述存储策略指示了所述至少两个数据块和至少一个校验块对应的存储节点;
所述目标存储节点的数量为两个,分别为第一目标存储节点和第二目标存储节点;所述处理结果包括两个数据块和一个校验块;
所述存储模块,具体用于:
若本存储节点与第一目标存储节点之间的网络连接状态为正常,且与第二目标存储节点之间的网络连接状态为异常,则将一个数据块和所述校验块存储于本存储节点,将另一个数据块和所述校验块存储于第一目标存储节点;
所述装置还包括:数据补偿模块,用于当本存储节点与所述第二目标存储节点之间的网络连接状态恢复为正常时,将所述校验块存储于所述第二目标存储节点,并删除本存储节点和所述第一目标存储节点中存储的校验块;
所述存储模块,还具体用于:
若本存储节点与各目标存储节点之间的网络连接状态均为异常,则将所述两个数据块和一个校验块都存储于本存储节点;
所述数据补偿模块,还用于当本存储节点与各目标存储节点之间的网络连接状态恢复为正常,则将所述两个数据块中的一个存储于第一目标存储节点,将所述校验块存储于第二目标存储节点。
5.根据权利要求4所述的装置,其特征在于,所述网络探测模块,具体用于:
按照预设周期,由本存储节点向各目标存储节点发送信号包;
对于本存储节点与任一目标存储节点,若连续预设次数出现信号包发送失败,则判断本存储节点与相应目标存储节点之间的网络连接状态为异常;反之,则正常。
6.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现如权利要求1至3任一项所述的方法。
7.一种计算机可读介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至3任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479118.2A CN111818124B (zh) | 2020-05-29 | 2020-05-29 | 数据存储方法、装置、电子设备及介质 |
PCT/CN2020/099380 WO2021120585A1 (zh) | 2020-05-29 | 2020-06-30 | 数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479118.2A CN111818124B (zh) | 2020-05-29 | 2020-05-29 | 数据存储方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111818124A CN111818124A (zh) | 2020-10-23 |
CN111818124B true CN111818124B (zh) | 2022-09-02 |
Family
ID=72847815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479118.2A Active CN111818124B (zh) | 2020-05-29 | 2020-05-29 | 数据存储方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111818124B (zh) |
WO (1) | WO2021120585A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296695A (zh) * | 2021-02-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 多az环境下纠删码数据的写入方法以及装置 |
CN112783688B (zh) * | 2021-02-10 | 2022-06-03 | 上海交通大学 | 一种基于可用分区级的纠删码数据恢复方法及装置 |
CN113419684B (zh) * | 2021-07-09 | 2023-02-24 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN113590041B (zh) * | 2021-07-29 | 2024-05-17 | 杭州宏杉科技股份有限公司 | 一种数据保护存储方法、装置及设备 |
CN113626649A (zh) * | 2021-08-02 | 2021-11-09 | Oppo广东移动通信有限公司 | 数据存储方法、装置、存储介质以及电子设备 |
CN114860167A (zh) * | 2022-04-29 | 2022-08-05 | 重庆紫光华山智安科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN110753198A (zh) * | 2018-07-24 | 2020-02-04 | 杭州海康威视数字技术股份有限公司 | 存储图像数据的方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160062832A1 (en) * | 2014-09-02 | 2016-03-03 | Netapp. Inc. | Wide spreading data storage architecture |
US10003357B2 (en) * | 2015-08-28 | 2018-06-19 | Qualcomm Incorporated | Systems and methods for verification of code resiliency for data storage |
WO2017113276A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 分布式存储系统中的数据重建的方法、装置和系统 |
CN109491968B (zh) * | 2018-11-13 | 2021-01-22 | 恒生电子股份有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN109885256B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
CN110502365B (zh) * | 2019-07-11 | 2024-03-01 | 平安科技(深圳)有限公司 | 数据存储及恢复的方法、装置及计算机设备 |
CN110535965A (zh) * | 2019-09-03 | 2019-12-03 | 北京元安物联技术有限公司 | 一种数据处理方法及装置、存储介质 |
-
2020
- 2020-05-29 CN CN202010479118.2A patent/CN111818124B/zh active Active
- 2020-06-30 WO PCT/CN2020/099380 patent/WO2021120585A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753198A (zh) * | 2018-07-24 | 2020-02-04 | 杭州海康威视数字技术股份有限公司 | 存储图像数据的方法和装置 |
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111818124A (zh) | 2020-10-23 |
WO2021120585A1 (zh) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818124B (zh) | 数据存储方法、装置、电子设备及介质 | |
US10013325B1 (en) | Providing resiliency to a raid group of storage devices | |
JP6452712B2 (ja) | 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム | |
US11307776B2 (en) | Method for accessing distributed storage system, related apparatus, and related system | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN106463179A (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
CN106933843B (zh) | 数据库心跳检测方法以及装置 | |
CN109783014B (zh) | 一种存储数据的方法及装置 | |
WO2018121456A1 (zh) | 一种数据存储方法、服务器以及存储系统 | |
CN115562594B (zh) | 一种raid卡的构建方法、系统及相关装置 | |
CN110825698A (zh) | 元数据管理方法及相关装置 | |
CN108133034B (zh) | 共享存储访问方法及相关装置 | |
CN110737716A (zh) | 一种数据写入的方法和装置 | |
CN112600690B (zh) | 一种配置数据同步方法、装置、设备及存储介质 | |
US9037948B2 (en) | Error correction for memory systems | |
CN113419901A (zh) | 数据灾备方法、装置及服务器 | |
CN111273862A (zh) | 数据存储方法及其装置、可读介质和系统 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN115470041A (zh) | 一种数据灾备管理方法及装置 | |
CN106020975B (zh) | 数据操作方法、装置和系统 | |
CN113656215B (zh) | 一种基于集中配置的自动化容灾方法、系统、介质和设备 | |
CN115827590A (zh) | 数据迁移、上云方法、计算设备及计算机存储介质 | |
JP2016059012A (ja) | 受信装置、送信装置およびデータ転送システム | |
JP3434735B2 (ja) | 情報処理システム及びそれに用いる障害処理方式 | |
CN108599982B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |