CN113568786B - 一种数据恢复方法、装置、设备及存储介质 - Google Patents

一种数据恢复方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113568786B
CN113568786B CN202111110656.5A CN202111110656A CN113568786B CN 113568786 B CN113568786 B CN 113568786B CN 202111110656 A CN202111110656 A CN 202111110656A CN 113568786 B CN113568786 B CN 113568786B
Authority
CN
China
Prior art keywords
data
cloud storage
block
real
original
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
Application number
CN202111110656.5A
Other languages
English (en)
Other versions
CN113568786A (zh
Inventor
徐彦斌
李贝贝
李涛
黄翰媛
刘翱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN202111110656.5A priority Critical patent/CN113568786B/zh
Publication of CN113568786A publication Critical patent/CN113568786A/zh
Application granted granted Critical
Publication of CN113568786B publication Critical patent/CN113568786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates

Abstract

本发明公开了一种数据恢复方法、装置、设备及存储介质,该方法包括:发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括数据块和所述冗余块,所述编码块由所述原始数据编码生成,第一云存储数据由所述数据块解码生成;发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。通过获取冗余块和区块链网络中的原始数据长度,对数据块和冗余块进行解码,获得第二云存储数据,提高了数据恢复能力。

Description

一种数据恢复方法、装置、设备及存储介质
技术领域
本发明涉及数据恢复技术领域,尤其涉及一种数据恢复方法、装置、设备及存储介质。
背景技术
随着云计算和大数据技术的不断发展,国家积极鼓励企业、政府上云,各大企业也纷纷针对云存储平台推出存储灾备、专属企业存储等相关服务。云存储平台采用数据集中存储的方式,当数据被意外破坏或丢失时,通常采用多副本机制对数据进行恢复。多副本机制虽然能保证某个副本被破坏时的数据恢复,但是多副本机制在云存储平台的集群中直接存储原始数据的副本,在占据庞大存储开销的同时,对于数据的恢复也限制于副本的数量,若要提高这种方法恢复数据的能力,就会占据更大的存储开销,导致存储利用率低,这显然是不经济的,因此,这种数据恢复方式难以提高数据恢复能力。
由此可见,现有技术对云存储数据的恢复方法存在难以提高数据恢复能力的问题。
发明内容
本发明的主要目的在于提供一种数据恢复方法、装置、设备及存储介质,旨在解决现有技术对云存储数据的恢复方法存在难以提高数据恢复能力的技术问题。
根据本发明的第一方面,提供了一种数据恢复方法,所述方法包括以下步骤:
发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。
可选地,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
所述基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据的步骤之后,所述方法还包括:
基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
可选地,所述基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息的步骤,包括:
计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度;
通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
可选地,所述将所述实时完整性信息发送至所述服务器的步骤之后,所述方法还包括:
接收所述服务器发送的所述查找结果;
基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
若所述第二云存储数据完整性不正确,则输出错误信息。
根据本发明的第二方面,提供了一种数据恢复装置,包括:
第一发送模块,用于发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
第二发送模块,用于发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
第一获取模块,用于基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。
可选地,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
所述装置还包括:
第二获取模块,用于基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
第三发送模块,用于将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
可选地,所述装置还包括:
第三获取模块,用于计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
第四获取模块,用于计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度;
第五获取模块,用于通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
第六获取模块,用于基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
可选地,所述装置还包括:
接收模块,用于接收所述服务器发送的所述查找结果;
判断模块,用于基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
输出模块,用于若所述第二云存储数据完整性不正确,则输出错误信息。
根据本发明的第三方面,提供了一种数据恢复设备,包括:存储器、处理器以及存储在所述存储器并可在所述处理器上运行的数据恢复程序,所述数据恢复程序在被所述处理器执行时实现第一方面的实现方式中的任一种可能的实现方式中所述的各个步骤。
根据本发明的第四方面,提供了一种存储介质,其上存储有数据恢复程序,所述数据恢复程序被处理器执行时实现第一方面的实现方式中的任一种可能的实现方式中所述的各个步骤。
本发明实施例提出的一种数据恢复方法、装置、设备及存储介质,该方法包括:发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。通过获取冗余块和区块链网络中的原始数据长度,对数据块和冗余块进行解码,获得第二云存储数据,提高了数据恢复能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例方案涉及的硬件运行环境的数据恢复设备结构示意图;
图2为本发明数据恢复方法第一实施例的流程示意图;
图3为本发明数据恢复装置第一实施例的流程示意图;
图4为本发明数据恢复装置第二实施例的流程示意图;
图5为本发明数据恢复装置第三实施例的流程示意图;
图6为本发明数据恢复装置第四实施例的流程示意图;
图7为本发明实施例方案涉及的场景第一实施例的示意图;
图8为本发明实施例方案涉及的场景第二实施例的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。
由于现有技术对云存储数据的恢复方法存在难以提高数据恢复能力的问题。
本发明提供一种解决方案,通过获取冗余块和区块链网络中的原始数据长度,对数据块和冗余块进行解码,获得第二云存储数据,提高了数据恢复能力。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的说明书和权利要求书中的“第一”、“第二”用于区别类似的对象,而不必用于描述特定的顺序或者先后次序,应该理解这样的数据在适当的情况下可以互换,以便这里描述的实施例能够以除了这里图示或者描述的那些以外的顺序实施。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据恢复设备结构示意图;
通常,数据恢复设备包括:至少一个处理器1001、存储器1002以及存储在所述存储器上并可在所述处理器上运行的数据恢复程序,所述数据恢复程序配置为实现如前所述的数据恢复方法的步骤。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关数据恢复方法的操作,使得数据恢复方法模型可以自主训练学习,提高效率和准确度。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的数据恢复方法。
在一些实施例中,终端还可选包括有:通信接口1003和至少一个外围设备。处理器1001、存储器1002和通信接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005和电源1006中的至少一种。
通信接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和通信接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和通信接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,电子设备的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在一些实施例中,显示屏1005可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源1006用于为电子设备中的各个组件进行供电。电源1006可以是交流电、直流电、一次性电池或可充电电池。当电源1006包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。本领域技术人员可以理解,图1中示出的结构并不构成对数据恢复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述硬件结构,提出本发明数据恢复方法的实施例。
参照图2,图2为本发明数据恢复方法第一实施例的流程示意图,方法用于用户端,所述用户端存储有第一云存储数据对应的数据块;
所述方法包括以下步骤:
S100,发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
需要说明的是,本实施例的执行主体为用户端,用户端可以是具有通信功能的终端设备,例如:手机、电脑、平板等。用户端存储有第一云存储数据对应的数据块,其中,第一云存储数据由数据块解码生成,数据块与冗余块合称为编码块,编码块存储在云存储平台,编码块由原始数据编码生成。
原始数据可为用户需要存储到云存储平台的数据,具体地,用户端通过用户的输入获取原始数据。用户端获取到原始数据后,可以对原始数据进行编码,以获取编码块。
需要说明的是,用户端可采用纠删码算法对原始数据进行编码,根据纠删码算法预设数据块的份数和计算生成冗余块的份数,用户端对原始数据编码以生成编码块,进一步地,将编码块存储到云存储平台,再通过云存储平台获取到编码块,由于,云存储平台中的编码块可能被篡改或丢失,对从云存储平台获取到的编码块进行解码,可以获得云存储数据。
在本实施例中,可选择柯西RS(Reed-Solomon)编码作为纠删码技术方案,使用JErasure库中实现的编解码函数作为调用的方法来对用户的数据进行编解码,JErasure库提供一般的RS编码方式,是基于C语言的纠删码的类库。其中,柯西RS编码使用柯西矩阵代替范德蒙RS编码中的范德蒙行列式,能够更简单地生成矩阵,提高计算效率。
应当理解的是,编码块包括数据块和冗余块,柯西RS编码方案中,可以选择原始数据分割成数据块的份数以及计算生成冗余块的份数。通过柯西RS编码,只需要数据块份数的编码块就可以解码生成云存储数据,同时可以容忍不超过冗余块份数的编码块出错。
在具体实现中,用户端根据预设的数据块份数,计算原始数据长度是否能够按照数据块份数进行平均分割,从而判断原始数据是否能够平均分割,若原始数据不能平均分割,在原始数据末尾填充数据,以使原始数据能够平均分割。其中,填充数据可以是数字0。
可以理解的是,若原始数据能够平均分割,则平均分割原始数据,并且将平均分割得到的数据块表示为列向量,构造柯西矩阵与该列向量相乘以生成新的列向量,该新列向量以数据的形式体现就是数据块和冗余块。
在本实施例中,预设的数据块份数和冗余块份数可以是(5,3),即用户端可以选择使用RS(5,3)纠删编码,通过该编码,可以将原始数据平均分割为5份数据块,并计算生成3份数据冗余块。理论上通过该编码的运算,生成的编码块需要使用原始数据的160%的空间开销,并且任意不大于3份编码块的损坏都不会使原始数据彻底失去可用性。这种纠删编码备份方式比起现有技术中常用的多副本备份方式,具有更小的空间开销和更高的容错能力。
用户端将编码块发送至云存储平台,以使云存储平台存储编码块。可以理解,当用户端再次使用原始数据时,需要从云存储平台获取全部的数据块,并对全部数据块进行解码,以获取第一云存储数据。
由于,原始数据编码生成的编码块最末块可能填充有无关数据,因此用户端对数据块进行编码需要获取原始数据的原始长度信息,以指定数据长度进行解码,从而获取到正确的第一云存储数据。其中,原始数据长度由用户端发送给服务器并存储在服务器的区块链网络中。
需要说明的是,用户端通过网络与服务器进行交互,服务器是计算机的一种,在网络中为其他终端设备提供计算或应用服务。本实施例中的服务器包含区块链网络,服务器可通过区块链网络为用户端提供区块链服务。
在具体实现中,用户端与服务器之间的网络交互运行模式可为C/S模式,服务器可采用RPC(Remote Procedure Call,远程过程调用)通信协议与用户端进行通信,RPC调用是面向服务的封装,服务器通过RPC在通信上封装服务,以使用户端可以通过RPC调用来获取服务器所提供服务的细节,并与服务器之间传输数据。例如,服务器通过RPC将区块链以服务的形式封装起来,以使用户端可以通过RPC调用区块链服务的接口以及使用区块链服务。
在用户端与服务器进行交互之前,用户端需要向服务器申请区块链服务的账户。具体地,用户端发送第四请求至服务器,从而通过服务器申请区块链账户并保存账户的公私钥,可以理解,第四请求为申请区块链账户的请求。其中,账户的公私钥由服务器发送给申请区块链账户的用户端。需要说明的是,服务器可提供CA(Certificate Authority,电子认证)服务,采用ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名)算法生成公私钥对。当服务器接收到用户申请区块链账户的请求时,通过ECDSA算法生成公私钥对并发送给用户端,以使用户端保存该公私钥对,并利用私玥计算数据ID和进行数字签名以及利用公钥作为账户的身份标识。
需要说明的是,用户端获取到原始数据后,基于预设数据处理规则计算原始数据的原始完整性信息,原始完整性信息包括原始数据ID、原始数据长度及原始数据Hash。用户端将原始完整性信息发送至服务器,以使服务器将原始完整性信息存储到区块链网络中。
应当理解的是,服务器中的区块链网络可用于存放原始数据的原始完整性信息。区块链以时间顺序构造了以区块为基本单元的链式结构,每个区块由区块头和区块体两部分组成,其中,区块体中存放由大量数据构成的Merkle树(默尔克树);区块头中主要存放协议版本、前块Hash、Merkle根、时间戳、随机数等。在区块链中,所有区块以Hash指针的形式串联形成一种特殊的链表。区块链基于Merkle树和区块链表这两种数据结构保障了数据的不可篡改性。通过Merkle树,树内所有数据的篡改都可被检测到,根据Merkle树的节点到Merkle根路径上的直接分支,可以判断本区块中是否存在指定数据;通过区块链表,所有区块环环相扣,依靠前块Hash指针,任一区块的改变都会引发其后所有区块Hash指针的连锁改变,当从区块链网络中获取区块链表时,基于块Hash可以验证链上各块是否被修改过,其中,前块Hash中存放了前一区块的块Hash。通过区块链技术构造出的特殊的链式数据结构,具有去中心化、防篡改、防删除等安全特性。
服务器使用联盟链作为区块链技术的实施方案,联盟链中的用户只有经过授权才能对数据进行验证等操作。此外,为了保存用户的数字资产信息以便于管理,可将属于一个用户的数据完整性信息单独存放在一个区块中,相应地,在区块结构体中增加消息字段,用于保存用户的相关信息。
在具体实现中,该消息字段与用户端获取到的公钥存在对应关系,在用户端获取到服务器发送的公私钥对后,用户端以公钥作为账户的身份标识,以私钥进行数字签名。可以理解,服务器通过用户端的公钥验证用户端的数字签名,同时可以通过公钥查询区块链网络中对应的消息字段,从而获取到该消息字段所在区块的数字资产信息,可以理解,该数字资产信息为持有该公钥用户端的部分或全部数字资产。
需要说明的是,在云存储平台的集群中,用户端可以是集群外部的设备,也可以是构成集群的一个存储节点。当用户端为集群外部的设备时,参照图7,服务器运行在云存储平台外,用户端的用户为集群外的普通用户,用户使用云存储平台提供的至少一个存储节点存放数据的编码块,同时使用服务器中的区块链网络存放数据的原始完整性信息,并在使用数据前从区块链网络中获取原始数据长度以及验证数据完整性;当用户端为构成集群的一个存储节点时,参照图8,服务器运行在云存储平台的集群内,云存储平台包括多个存储节点,用户端的用户既是集群的一个用户又是构成集群的一个存储节点,为了保证必要的计算能力,服务器可被部署在计算能力更强的控制节点,此时,集群内的存储节点将数据的原始完整性信息存储到服务器中的区块链网络,以使数据的完整性信息不被篡改和删除。
当服务器的区块链网络中存储有原始数据长度并且云存储平台存储有原始数据的编码块后,用户端可向云存储平台发送第一请求,以获取原始数据的编码块,以及向服务器发送第二请求,以获取原始数据长度。
第一请求可以是向云存储平台获取原始数据的编码块的请求。
在具体实现中,第一请求中可以包括原始数据名称,也即用户端以原始数据名称作为数据的交互凭证,从而向云存储平台获取原始数据名称对应的编码块。当然,也可以其他数据属性作为数据交互凭证,在此不做限定。
用户端从云存储平台获取到编码块以及从服务器获取到原始数据长度后,通过纠删码技术对编码块进行解码,应当理解,用户端获取到的编码块为全部的数据块。在本实施例中,用户端基于原始数据长度,对全部数据块进行解码,以获取第一云存储数据。
用户端获取到第一云存储数据后,可基于预设数据处理规则计算第一云存储数据的实时完整性信息,并将计算得到的实时完整性信息发送到服务器,以使所述服务器查找区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果。
由于,编码块在云存储平台中存在被篡改的风险,通过验证实时完整性信息是否与原始完整性信息一致,可以验证原始数据的编码块是否被篡改。在本实施例中,服务器将原始数据的原始完整性信息存储到区块链网络中,当用户使用服务器的数据完整性验证服务时,需要通过私钥对实时完整性信息进行数字签名,用户端发送实时完整性信息、数字签名至服务器,以使服务器通过用户端的公钥验证用户端的数字签名,若验证不通过,则返回错误信息至用户端;若验证通过,则在区块链网络中查找是否存在与实时完整性信息一致的原始完整性信息,从而进行数据完整性验证。
在具体实现中,服务器遍历整个区块链网络,以查找每一个区块的区块体中是否存在与实时完整性信息一致的原始完整性信息,进一步地,遍历区块体中的Merkle树,以查找树内是否存在与实时完整性信息一致的原始完整性信息。
由于,完整性信息包括数据ID、数据长度及数据Hash,可以理解,当实时完整性信息中的实时数据ID、实时数据长度及实时数据Hash与原始完整性信息中的原始数据ID、原始数据长度及原始数据Hash一一对应时,可以得出实时完整性信息与原始完整性信息一致的结果,也即云存储数据完整性正确,其数据内容未被篡改;若在实时完整性信息与原始完整性信息的验证中,数据ID、数据长度及数据Hash这三种数据属性至少有一种属性不一致,则说明实时完整性信息与原始完整性信息不一致,也即云存储数据完整性不正确,其数据内容已被篡改,此时云存储数据不可用,需要在用户端进行数据恢复。
需要说明的是,用户端接收到服务器返回的验证结果,若结果表明云存储数据完整性正确时,用户端可直接使用该云存储数据;若结果表明云存储数据完整性不正确时,用户端需要进行数据恢复。由于,云存储数据由编码块解码获得,当进行数据恢复时,需要重新获取云存储数据对应的编码块。
应当理解的是,在数据完整性验证之前,用户端从云存储平台获取到的编码块为全部的数据块,当进行数据恢复时,需要向云存储平台获取全部的冗余块。
在本实施例中,用户端向云存储平台发送第三请求,以获取原始数据对应的全部冗余块。其中,第三请求可以是向云存储平台获取原始数据对应的冗余块的请求。在具体实现中,第三请求可以包括原始数据名称,也即用户端以原始数据名称作为数据的交互凭证,从而向云存储平台获取原始数据名称对应的冗余块,当然,也可以其他数据属性作为数据交互凭证,在此不做限定。
S300,发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
在本实施例中,用户端向服务器发送第二请求以获取原始数据的原始数据长度。第二请求可以是用户端获取原始数据长度的请求,原始数据的原始数据长度存储在服务器的区块链网络中。
在具体实现中,第二请求中可以包括原始数据ID,也即用户端以原始数据ID作为数据的交互凭证,从而向服务器获取原始数据ID对应的原始数据长度,当然也可以其他数据属性作为数据交互凭证,在此不做限定。
可以理解的是,服务器可包括区块链网络,该区块链网络用于存放原始数据的原始完整性信息,该原始完整性信息包括原始数据的原始数据长度和原始数据ID,原始数据ID与原始数据长度存在对应关系。
服务器接收到第二请求后,可从区块链网络中直接获取原始数据长度。具体地,服务器中可提供直接获取原始数据长度的接口,通过该接口可以根据第二请求中的原始数据ID返回对应的原始数据长度。
S500,基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。
在本实施例中,基于原始数据长度,通过纠删码技术,将全部冗余块和数据块进行解码,以获取第二云存储数据。
需要说明的是,冗余块用于对原始数据进行恢复,当验证得到第一云存储数据的完整性不正确时,可以理解,数据块可能已被损坏,从云存储平台获取原始数据对应的冗余块,通过对数据块和冗余块进行解码,以获得第二云存储数据。当使用RS(5,3)对原始数据进行纠删编码时,可以获得五份数据块和3份冗余块,应当理解,只要数据块或冗余块的损坏份数不超过3块,恢复数据就可以成功,也即第二云存储数据与原始数据是一致的。与现有技术中的多副本技术相比,三副本技术带来原始数据300%的存储开销,同时至多能容忍2个副本的损坏,若要提高多副本技术的数据恢复能力,就需要增加副本的数量,每增加一个副本会增加100%的存储开销;而RS(5,3)纠删编码在带来原始数据160%的存储开销的同时,至多能够容忍3个编码块的损坏,并且每增加一个冗余块,在将原始数据分割成5份数据块的前提下,仅带来20%的存储开销,也就是说,本实施例的方法在提高数据恢复能力的同时,存储利用率比多副本技术高。
进一步地,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
步骤S500之后,所述方法还包括:
S700,基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
可以理解的是,实时完整性信息由第二云存储数据基于预设数据处理规则生成,可用于表征第二云存储数据的完整性,其中,预设数据处理规则包括计算待处理数据的数据长度、数据Hash及数据ID。当待处理数据为第二云存储数据时,计算第二云存储数据的实时数据长度、实时数据Hash及实时数据ID。
进一步地,步骤S700的具体实施过程包括:
S702,计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
在一种实现方式中,可通过私钥计算通用唯一识别码UUID,然后将该UUID和第二云存储数据名称组合起来得到第一计算结果,并将该第一计算结果作为实时数据ID。具体地,用户端将私钥编码为字节数组并通过该字节数组计算出UUID,该UUID中存在连接符“-”,删除UUID中的连接符“-”可以得到一个字符串,将该字符串和第二云存储数据名称连接就可以得到第一计算结果,最后将该第一计算结果作为实时数据ID。这种方式计算得到的实时数据ID能够保证实时数据ID的唯一性。
在另一种实现方式中,用户端可以将私钥编码为字节数组并且转换为第一字符串,然后将第一字符串与第二云存储数据名称连接以组合成第二字符串,通过第二字符串计算出UUID,该UUID中存在连接符“-”,删除UUID中的连接符“-”就可以得到第一计算结果,最后将该第一计算结果作为实时数据ID。这种方式计算得到的实时数据ID长度更短,而且也能保证唯一性。
可以理解,标准的UUID格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (长度分别为8-4-4-4-12)”,因此删除连接符后可以得到一个32位的字符串。
S704,计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度预设数据处理规则;
具体地,可以字节为单位计算第二云存储数据的长度得到第二计算结果,并将该第二计算结果确定为实时数据长度。
S706,通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
具体地,可通过Hash函数SHA-256(Secure Hash Algorithm 256)计算第二云存储数据得到第三计算结果,并将该第三计算结果确定为实时数据Hash。
S708,基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
将计算得到的实时数据ID、实时数据长度及实时数据Hash打包,即可获得第二云存储数据的实时完整性信息。
S900,将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
可以理解的是,用户端获得第二云存储数据的实时完整性信息之后,将实时完整性信息发送至服务器,以使服务器按照前述步骤重新验证数据的完整性,从而获得验证结果。
进一步地,步骤S900之后,所述方法还包括:
S920,接收所述服务器发送的所述查找结果;
S940,基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
需要说明的是,用户端接收到服务器返回的查找结果,若结果表明第二云存储数据完整性正确时,说明数据恢复成功,用户可使用第二云存储数据;若结果表明第二云存储数据完整性不正确时,说明数据无法恢复。
S960,若所述第二云存储数据完整性不正确,则输出错误信息。
可以理解的是,当第二云存储数据完整性不正确时,则数据无法恢复,用户端向用户输出错误信息,以使用户得知该数据已被损坏。
此外,对于不同存储类型的云存储平台:文件级云存储、对象级云存储及块级云存储,都可以集成本实施例的方法。在集成本实施例方法的过程中,云存储平台无需任何额外设置,只需在云存储客户端集成本实施例方法的用户端代码。应当理解,用户端进行编码或解码时,所采用的纠删码算法对于不同存储类型的云存储平台所处理的数据对象不同:对于文件级云存储,处理的数据对象为文件系统中的文件;对于对象级云存储,处理的数据对象为对象存储系统中的对象。
对于不同服务范围的云存储平台:公有云、私有云、混合云,本实施例的方法可以独立运行。在公有云中,将本实施方法的服务器运行于单独的云服务器中,用户端采用独立的网络分别与云存储平台和服务器通信和交互;在私有云中,本实施例方法的服务器可运行在本地私有云中高可用的服务器中,部署方式和公有云类似,只是网络连接由互联网变成了质量更佳的本地局域网;混合云中具有公私两个云中心,为保护用户数据的隐私,可将服务器运行于本地私有云中心,部署方式和私有云类似
通过以上实施例,发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。通过获取冗余块和区块链网络中的原始数据长度,对数据块和冗余块进行解码,获得第二云存储数据,从而在有效提高存储利用率的同时,提高了数据恢复能力。
参照图3,图3为本发明数据恢复装置第一实施例的流程示意图,装置用于用户端,所述用户端存储有第一云存储数据对应的数据块;
所述装置包括:
第一发送模块100,用于发送第三请求至云存储平台,获取原始数据对应的冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
第二发送模块300,用于发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
第一获取模块500,用于基于所述原始数据长度,对所述数据块和冗余块进行解码,以获取第二云存储数据。
进一步地,参照图4,图4为本发明数据恢复装置第二实施例的流程示意图,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
所述装置还包括:
第二获取模块700,用于基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
第三发送模块900,用于将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
进一步地,参照图5,图5为本发明数据恢复装置第三实施例的流程示意图,所述装置还包括:
第三获取模块702,用于计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
第四获取模块704,用于计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度;
第五获取模块706,用于通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
第六获取模块708,用于基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
进一步地,参照图6,图6为本发明数据恢复装置第四实施例的流程示意图,所述装置还包括:
接收模块920,用于接收所述服务器发送的所述查找结果;
判断模块940,用于基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
输出模块960,用于若所述第二云存储数据完整性不正确,则输出错误信息。
数据恢复装置的具体执行步骤,参照上文描述,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据恢复程序,所述数据恢复程序被处理器执行时实现如上文方法实施例所述的数据恢复方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个数据恢复设备上执行,或者在位于一个地点的多个数据恢复设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个数据恢复设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据恢复方法,其特征在于,用于用户端,所述用户端存储有第一云存储数据对应的数据块;
所述方法包括以下步骤:
当验证得到所述第一云存储数据的完整性不正确时,发送第三请求至云存储平台,获取原始数据对应的全部冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
基于所述原始数据长度,对所述数据块和全部冗余块进行解码,以获取第二云存储数据,其中,若数据恢复成功,则所述第二云存储数据与所述原始数据一致。
2.如权利要求1所述的方法,其特征在于,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
所述基于所述原始数据长度,对所述数据块和全部冗余块进行解码,以获取第二云存储数据的步骤之后,所述方法还包括:
基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
3.如权利要求2所述的方法,其特征在于,所述基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息的步骤,包括:
计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度;
通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
4.如权利要求2所述的方法,其特征在于,所述将所述实时完整性信息发送至所述服务器的步骤之后,所述方法还包括:
接收所述服务器发送的所述查找结果;
基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
若所述第二云存储数据完整性不正确,则输出错误信息。
5.一种数据恢复装置,其特征在于,用于用户端,所述用户端存储有第一云存储数据对应的数据块;
所述装置包括:
第一发送模块,用于当验证得到所述第一云存储数据的完整性不正确时,发送第三请求至云存储平台,获取原始数据对应的全部冗余块;其中,所述云存储平台存储有编码块,所述编码块包括所述数据块和所述冗余块,所述编码块由所述原始数据编码生成,所述第一云存储数据由所述数据块解码生成;
第二发送模块,用于发送第二请求至服务器,获取所述原始数据的原始数据长度;其中,所述服务器包含区块链网络,所述区块链网络中存储有所述原始数据长度;
第一获取模块,用于基于所述原始数据长度,对所述数据块和全部冗余块进行解码,以获取第二云存储数据,其中,若数据恢复成功,则所述第二云存储数据与所述原始数据一致。
6.如权利要求5所述的装置,其特征在于,所述服务器存储有原始完整性信息,所述原始完整性信息存储在所述区块链网络中;
所述装置还包括:
第二获取模块,用于基于预设数据处理规则对所述第二云存储数据进行处理,以获取实时完整性信息;
第三发送模块,用于将所述实时完整性信息发送至所述服务器,以使所述服务器查找所述区块链网络中是否存在与所述实时完整性信息一致的原始完整性信息,以获得查找结果;其中,所述原始完整性信息由所述原始数据基于所述预设数据处理规则生成。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于计算所述第二云存储数据的通用唯一识别码UUID得到第一计算结果,并将所述第一计算结果确定为实时数据ID;
第四获取模块,用于计算所述第二云存储数据的长度得到第二计算结果,并将所述第二计算结果确定为实时数据长度;
第五获取模块,用于通过Hash函数计算所述第二云存储数据得到第三计算结果,并将所述第三计算结果确定为实时数据Hash;
第六获取模块,用于基于所述实时数据ID、实时数据长度及实时数据Hash,获取所述实时完整性信息。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述服务器发送的所述查找结果;
判断模块,用于基于所述查找结果,判断所述第二云存储数据的完整性是否正确;
输出模块,用于若所述第二云存储数据完整性不正确,则输出错误信息。
9.一种数据恢复设备,其特征在于,用于用户端,所述设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的数据恢复程序,所述数据恢复程序在被所述处理器执行时实现如权利要求1-4中任一项所述方法的各个步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有数据恢复程序,所述数据恢复程序被处理器执行时实现如权利要求1-4中任一项所述方法的各个步骤。
CN202111110656.5A 2021-09-23 2021-09-23 一种数据恢复方法、装置、设备及存储介质 Active CN113568786B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111110656.5A CN113568786B (zh) 2021-09-23 2021-09-23 一种数据恢复方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111110656.5A CN113568786B (zh) 2021-09-23 2021-09-23 一种数据恢复方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113568786A CN113568786A (zh) 2021-10-29
CN113568786B true CN113568786B (zh) 2021-12-31

Family

ID=78173984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111110656.5A Active CN113568786B (zh) 2021-09-23 2021-09-23 一种数据恢复方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113568786B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662335A (zh) * 2009-09-15 2010-03-03 中国人民解放军国防科学技术大学 前向纠错编码方法、前向纠错译码方法及其装置
CN101840366A (zh) * 2010-05-13 2010-09-22 上海交通大学 环链式n+1位奇偶校验码的存储方法
CN103810061A (zh) * 2014-01-28 2014-05-21 河南科技大学 一种高可用云存储方法
CN106612272A (zh) * 2016-07-12 2017-05-03 四川用联信息技术有限公司 云存储中一种数据篡改的验证和恢复算法
CN111339572A (zh) * 2020-03-04 2020-06-26 鹏城实验室 云数据完整性的验证方法、系统、终端设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5397700B2 (ja) * 2010-04-09 2014-01-22 ソニー株式会社 情報処理装置および方法
US9098691B2 (en) * 2011-02-25 2015-08-04 Vasco Data Security, Inc. Method and apparatus for encoding and decoding data transmitted to an authentication token
CN102364472A (zh) * 2011-10-25 2012-02-29 中兴通讯股份有限公司 数据存储方法及系统
US9483657B2 (en) * 2013-01-14 2016-11-01 Accenture Global Services Limited Secure online distributed data storage services
US9645885B2 (en) * 2015-05-14 2017-05-09 Amplidata Nv Hybrid distributed storage system
US10310736B1 (en) * 2016-12-22 2019-06-04 Veritas Technologies Llc Systems and methods for storing data
CN108614749B (zh) * 2018-04-23 2020-11-03 北京搜狐新媒体信息技术有限公司 一种数据处理方法及装置
CN111625394B (zh) * 2020-05-27 2023-03-21 成都信息工程大学 基于纠删码的数据恢复方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662335A (zh) * 2009-09-15 2010-03-03 中国人民解放军国防科学技术大学 前向纠错编码方法、前向纠错译码方法及其装置
CN101840366A (zh) * 2010-05-13 2010-09-22 上海交通大学 环链式n+1位奇偶校验码的存储方法
CN103810061A (zh) * 2014-01-28 2014-05-21 河南科技大学 一种高可用云存储方法
CN106612272A (zh) * 2016-07-12 2017-05-03 四川用联信息技术有限公司 云存储中一种数据篡改的验证和恢复算法
CN111339572A (zh) * 2020-03-04 2020-06-26 鹏城实验室 云数据完整性的验证方法、系统、终端设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Android的文件多云存储系统的设计与实现;张敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20210615(第6期);第2.3、5.3.6节 *
基于RS Erasure Code的数据编码和容错恢复工具设计;刘腾龙;《中国优秀硕士学位论文全文数据库 信息科技辑》;20210615(第6期);I138-993 *

Also Published As

Publication number Publication date
CN113568786A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN109491968B (zh) 一种文件处理方法、装置、设备及计算机可读存储介质
CN113568785B (zh) 一种基于区块链的数据备份方法、装置、设备及存储介质
CN108647230B (zh) 分布式存储方法、电子装置及存储介质
CN113553627B (zh) 基于区块链的数据完整性验证方法、系统、设备及介质
CN110119643A (zh) 二维码生成方法及装置、二维码识别方法及装置
US20210051024A1 (en) Two-dimensional code generation method, apparatus, data processing method, apparatus, and server
US20220271924A1 (en) Method and apparatus for processing data request
US9231927B2 (en) Information processing apparatus, data generation method, information processing method, and information processing system for updating and verifying software programs
CN111639080A (zh) 一种数据处理方法、装置、节点设备及存储介质
CN108632020A (zh) 数据发送方法、接收方法及装置
CN113568786B (zh) 一种数据恢复方法、装置、设备及存储介质
JP2006252470A (ja) 電子価値交換システム、及び、電子価値交換方法
US10949645B2 (en) Method, apparatus, and storage medium for data verification
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
CN114362961B (zh) 基于区块链的账户恢复方法、装置、设备及存储介质
KR102375144B1 (ko) 블록체인을 이용하여 개인키를 관리하는 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
CN105809051A (zh) 基于加密卡的企业密钥分发方法以及基于加密卡的报税方法
CN109407974B (zh) 电子装置、基于混肴二进制码的图片删除方法及存储介质
CN111818526B (zh) 一种数据同步方法及装置
CN111949738A (zh) 基于区块链的数据存储去重方法、终端设备和存储介质
CN111339571A (zh) 一种区块链密钥管理方法、装置、设备和存储介质
CN111832042A (zh) 一种公寓学生数据安全管理方法及装置
CN115955362B (zh) 基于区块链的数据存储及通信方法、装置、设备和介质
CN115858246B (zh) 一种容灾演练方法、装置、设备及存储介质
CN111723153A (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