CN111464258B - 一种数据校验方法、装置、计算设备及介质 - Google Patents
一种数据校验方法、装置、计算设备及介质 Download PDFInfo
- Publication number
- CN111464258B CN111464258B CN201910047832.1A CN201910047832A CN111464258B CN 111464258 B CN111464258 B CN 111464258B CN 201910047832 A CN201910047832 A CN 201910047832A CN 111464258 B CN111464258 B CN 111464258B
- Authority
- CN
- China
- Prior art keywords
- data
- check code
- organization unit
- data block
- check
- 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
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据校验方法、装置、计算设备及介质,该方法包括:当向数据组织单元写入数据时,计算各写入的数据块和数据组织单元的校验码;根据数据组织单元中各数据块的校验码,对各数据块进行校验;将数据组织单元中有效数据的长度及其校验码发送至元数据服务器,以指示元数据服务器对数据组织单元进行校验,并根据校验结果返回对应消息;若数据组织单元中的各数据块均校验成功,且接收到元数据服务器返回的校验成功消息,则确定数据校验成功。
Description
技术领域
本发明涉及分布式技术领域,特别涉及一种数据校验方法、装置、计算设备及介质。
背景技术
分布式文件系统作为云操作系统的核心组件,负责系统中数据的持久化,因此要求分布式文件系统可保证数据的可靠性、可用性及安全性。为了支持各种业务,分布式文件系统通常采用多副本的方式来提高数据的可靠性,从多个维度提供了数据校验服务,以检测单副本是否存在数据静默错误。
目前,分布式文件系统一般采用E2E(End to End,端对端)数据校验、单机校验和分布式校验这三类方式。其中,E2E数据校验由用户提供写入数据和对应的校验码,通过对数据和校验码进行匹配验证来确定是否同意写入,对同意写入的数据,在读数据时再次进行数据和校验码的匹配验证,确保了每次读写操作时数据的可靠性,但对校验码的依赖性较大,一旦用户这一端出现校验码错误,将造成严重的数据问题。
而单机校验是通过服务器后台实现的校验操作,不需要且条件上也不允许高频操作,因此完成一次全盘扫描需要周余的时间,不具备实时性。分布式校验是在分布式文件系统中,通过部署一个单独的后台校验服务,读取多副本中的每一个副本进行交叉校验,进而完成整个文件系统的一致性检查,开销较高,且增加了网络的额外消耗,完成一个集群级别的扫描可能需要数周到数月的时间。因此,需要一种新的数据校验方法来优化上述处理过程。
发明内容
为此,本发明提供一种数据校验方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种数据校验方法,该方法包括如下步骤:首先,当向数据组织单元写入数据时,计算各写入的数据块和数据组织单元的校验码;根据数据组织单元中各数据块的校验码,对各数据块进行校验;将数据组织单元中有效数据的长度及其校验码发送至元数据服务器,以指示元数据服务器对数据组织单元进行校验,并根据校验结果返回对应消息;若数据组织单元中的各数据块均校验成功,且接收到元数据服务器返回的校验成功消息,则确定数据校验成功。
可选地,在根据本发明的数据校验方法中,计算各写入的数据块和数据组织单元的校验码包括:对各写入的数据块,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码计算该数据块的校验码,并以最后一个数据块的校验码作为数据组织单元的校验码。
可选地,在根据本发明的数据校验方法中,根据初始校验码计算数据块的校验码包括:根据初始校验码,通过循环冗余校验算法计算数据块的校验码;或者根据初始校验码,通过MD5消息摘要算法计算数据块的校验码;或者根据初始校验码,通过安全散列算法计算数据块的校验码。
可选地,在根据本发明的数据校验方法中,还包括:响应于客户端发送的写请求,确定待写入数据的数据组织单元,写请求中包含待写入的数据;向该数据组织单元写入待写入的数据。
可选地,在根据本发明的数据校验方法中,确定待写入数据的数据组织单元包括:若数据服务器中存在存储量未满的数据组织单元,则根据写请求从中选择出相应的数据组织单元,作为待写入数据的数据组织单元;若数据服务器中不存在存储量未满的数据组织单元,则创建新的数据组织单元,作为待写入数据的数据组织单元。
可选地,在根据本发明的数据校验方法中,还包括:生成新的数据组织单元的校验码,将该校验码作为写入新的数据组织单元的第一个数据块的初始校验码。
可选地,在根据本发明的数据校验方法中,生成新的数据组织单元的校验码包括:根据预设的消息摘要算法,对新的数据组织单元的标识和/或文件名进行处理,以生成对应的校验码。
可选地,在根据本发明的数据校验方法中,根据数据组织单元中各数据块的校验码,对各数据块进行校验包括:读取数据组织单元中的各数据块,数据块关联有对应的校验码;以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码重新计算该数据块的校验码,并将重新计算出的校验码与该数据块关联的校验码进行比较。
可选地,在根据本发明的数据校验方法中,指示元数据服务器对数据组织单元进行校验,并根据校验结果返回对应消息包括:指示元数据服务器从记录信息中获取数据组织单元的有效长度及真实校验码;将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较;若有效长度与数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同,则向对应的数据服务器返回校验成功消息。
可选地,在根据本发明的数据校验方法中,指示元数据服务器对数据组织单元进行校验,并根据校验结果返回对应消息包括:若有效长度与数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同,则向数据服务器返回校验失败消息,并触发数据复制操作,以向数据服务器重新写入数据。
可选地,在根据本发明的数据校验方法中,还包括:若数据组织单元中存在未校验成功的数据块,则删除数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
根据本发明的又一个方面,提供一种数据校验装置,该装置包括计算模块、校验模块、发送模块和确定模块。其中,计算模块适于当向数据组织单元写入数据时,计算各写入的数据块和数据组织单元的校验码;校验模块适于根据数据组织单元中各数据块的校验码,对各数据块进行校验;发送模块适于将数据组织单元中有效数据的长度及其校验码发送至元数据服务器,以指示元数据服务器对数据组织单元进行校验,并根据校验结果返回对应消息;确定模块适于当数据组织单元中的各数据块均校验成功,且接收到元数据服务器返回的校验成功消息时,确定数据校验成功。
可选地,在根据本发明的数据校验装置中,计算模块进一步适于对各写入的数据块,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码计算该数据块的校验码,并以最后一个数据块的校验码作为数据组织单元的校验码。
可选地,在根据本发明的数据校验装置中,计算模块进一步适于根据初始校验码,通过循环冗余校验算法计算数据块的校验码;或者根据初始校验码,通过MD5消息摘要算法计算数据块的校验码;或者根据初始校验码,通过安全散列算法计算数据块的校验码。
可选地,在根据本发明的数据校验装置中,计算模块还适于响应于客户端发送的写请求,确定待写入数据的数据组织单元,写请求中包含待写入的数据;向该数据组织单元写入待写入的数据。
可选地,在根据本发明的数据校验装置中,计算模块进一步适于当数据服务器中存在存储量未满的数据组织单元时,根据写请求从中选择出相应的数据组织单元,作为待写入数据的数据组织单元;当数据服务器中不存在存储量未满的数据组织单元时,创建新的数据组织单元,作为待写入数据的数据组织单元。
可选地,在根据本发明的数据校验装置中,计算模块还适于生成新的数据组织单元的校验码,将该校验码作为写入新的数据组织单元的第一个数据块的初始校验码。
可选地,在根据本发明的数据校验装置中,计算模块进一步适于根据预设的消息摘要算法,对新的数据组织单元的标识和/或文件名进行处理,以生成对应的校验码。
可选地,在根据本发明的数据校验装置中,校验模块进一步适于读取数据组织单元中的各数据块,数据块关联有对应的校验码;以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码重新计算该数据块的校验码,并将重新计算出的校验码与该数据块关联的校验码进行比较。
可选地,在根据本发明的数据校验装置中,发送模块进一步适于指示元数据服务器从记录信息中获取数据组织单元的有效长度及真实校验码;将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较;当有效长度与数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同时,向对应的数据服务器返回校验成功消息。
可选地,在根据本发明的数据校验装置中,发送模块进一步适于指示元数据服务器当有效长度与数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同时,向数据服务器返回校验失败消息,并触发数据复制操作,以向数据服务器重新写入数据。
可选地,在根据本发明的数据校验装置中,确定模块还适于当数据组织单元中存在未校验成功的数据块时,删除数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
根据本发明的又一个方面,提供一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的数据校验方法的指令。
根据本发明的又一个方面,还提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据本发明的数据校验方法。
根据本发明的数据校验的技术方案,将数据校验通过单个数据块的校验和整个数据组织单元的校验来完成。一方面,利用各数据块的校验码,分别校验各数据块的数据是否一致,对于每个数据块和数据组织单元的数据校验,可以由一次读写操作及一次校验码计算完成,减少了单机校验服务的工作量,从而节省用于校验的计算资源。另一方面,不再需要额外的分布式校验服务完成多个数据组织单元,即多副本的数据校验,单机校验及元数据比对即可实现多副本间的数据一致性校验,简化了数据校验过程,进一步节省了网络和读写资源。其中,在计算连续数据块的校验码时,后一个数据块的校验码依赖于前一个数据块的校验码,首尾相连,并将最后一个数据块的校验码作为整个数据组织单位的校验码,提升了校验码之间的耦合程度和数据可靠性。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的分布式文件系统100的示意图;
图2示出了根据本发明的一个实施例的计算设备200的结构框图;
图3示出了根据本发明的一个实施例的数据校验方法300的流程图;
图4示出了根据本发明的一个实施例的校验码计算过程的示意图;以及图5示出了根据本发明的一个实施例的数据校验装置500的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的分布式文件系统100的示意图。应当指出,图1中的分布式文件系统100仅是示例性的,在具体的实际情况中,分布式文件系统100中可以有不同数量的数据服务器和元数据服务器,本发明对此并不进行限定。
如图1所示,分布式文件系统100中包括数据服务器110、数据服务器120和元数据服务器130。数据服务器110和120中分别驻留有数据校验装置(图中未示出)。在数据服务器110和120中,存储有一个或多个数据组织单元,每个数据组织单元包括一个或多个数据块,当分布式文件系统100的客户端(图中未示出)向数据服务器110和120写入数据时,数据服务器110和120可通过数据校验装置,向数据组织单元写入的数据块进行一致性校验,以确定数据的可靠性。
为便于理解,下面以数据服务器110为例,对数据校验的处理过程进行说明。此时,在数据服务器110中,计算各写入的数据块和数据组织单元的校验码。具体的,对各写入的数据块,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码计算该数据块的校验码,并以最后一个数据块的校验码作为数据组织单元的校验码。在向数据组织单元写完数据之后,根据数据组织单元中各数据块的校验码,对各数据块进行校验,将数据组织单元中有效数据的长度及其校验码发送至元数据服务器130。
元数据服务器130在接收到数据服务器110发送的数据组织单元中有效数据的长度及其校验码后,对数据组织单元进行校验。具体而言,从记录信息中获取数据组织单元的有效长度及真实校验码,将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较,若有效长度与数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同,则向数据服务器110返回校验成功消息。若有效长度与数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同,则向数据服务器110返回校验失败消息,并触发数据复制操作,以向数据服务器110重新写入数据。
在数据服务器110中,若数据组织单元中的各数据块均校验成功,且接收到元数据服务器130返回的校验成功消息,则确定数据校验成功,若数据组织单元中存在未校验成功的数据块,则删除数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
根据本发明的一个实施例,上述分布式文件系统100中的数据服务器110、数据服务器120和元数据服务器130,可以通过如下所述的计算设备200来实现。图2示出了根据本发明的一个实施例的计算设备200的结构框图
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及数据224。在一些实施方式中,程序222可以布置为在操作系统上由一个或多个处理器204利用数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备200还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
在一些实施例中,计算设备200被实现为数据服务器110,并被配置为执行根据本发明的数据校验方法300。其中,计算设备200的程序222中包含执行根据本发明的数据校验方法300多条程序指令,而数据224还可以存储分布式文件系统100的配置信息等。
图3示出了根据本发明的一个实施例的数据校验方法300的流程图。如图3所示,方法300始于步骤S310。在步骤S310中,当向数据组织单元写入数据时,计算各写入的数据块和数据组织单元的校验码。根据本发明的一个实施例,可通过如下方式计算各写入的数据块和数据组织单元的校验码。在该实施方式中,对各写入的数据块,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码计算该数据块的校验码,并以最后一个数据块的校验码作为数据组织单元的校验码。
图4示出了根据本发明的一个实施例的校验码计算过程的示意图。如图4所示,在本次数据写入完成后,数据组织单元包括5个数据块,分别是数据块1、数据块2、数据块3、数据块4和数据块5,其中,在本次数据写入时,写入该数据组织单元的数据块为数据块2、数据块3、数据块4和数据块5。当数据块1的校验码为校验码1时,对数据块2而言,以数据块1的校验码为其初始校验码,根据该初始校验码计算数据块2的校验码,得到数据块2的校验码为校验码2。以此类推,可以计算得出数据块3、数据块4和数据块5的校验码分别是校验码3、校验码4和校验码5。对图4中的数据组织单元来说,数据块5即为其所包括的最后一个数据块,则以校验码5作为数据组织单元的校验码。
根据本发明的一个实施例,在根据初始校验码计算数据块的校验码时,可通过循环冗余校验算法计算数据块的校验码,或者通过MD5消息摘要算法计算数据块的校验码,或者通过安全散列算法计算数据块的校验码。其中,循环冗余校验(Cyclic RedundancyCheck,CRC)算法的检验原理,实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码序列,从而构成一个总长为n=p+r位的二进制序列,附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。如果因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏,则通过检查这一关系,就可以实现对数据正确性的检验。
MD5消息摘要算法(Message Digest Algorithm 5)可以简述为以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
安全散列算法(Secure Hash Algorithm,SHA)的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单地理解为取一串输入码,把它们转化为长度较短、位数固定的输出序列即散列值(称为信息摘要)的过程,对长度不超过2的64次方的消息产生160位的消息摘要输出,输入按512位的分组进行处理。
在实际计算时,可按照4K(KB,千字节)对齐的方式计算各数据块的校验码,即数据块的大小预设为4K。当然,在根据初始校验码计算数据块的校验码时,还可以采用其他数据加密、验证等算法来进行处理,本发明对所使用的具体算法并不限制,可根据实际应用场景、系统配置和性能要求等进行选择,这些对于了解本发明方案的技术人员来说是可以容易想到的,并且也在本发明的保护范围之内,此处不予以赘述。
当然,数据服务器110通常是在接收到相应客户端发送的写请求后,再响应于这一写请求进行后续的数据写入及校验。进而,根据本发明的一个实施例,在步骤S310之前,响应于客户端发送的写请求,确定待写入数据的数据组织单元,写请求中包含待写入的数据,向该数据组织单元写入待写入的数据。
在该实施方式中,可通过如下方式确定待写入数据的数据组织单元。首先,判断数据服务器110中是否存在存储量未满的数据组织单元。若数据服务器110中存在存储量未满的数据组织单元,则根据写请求从中选择出相应的数据组织单元,作为待写入数据的数据组织单元,若数据服务器110中不存在存储量未满的数据组织单元,则创建新的数据组织单元,作为待写入数据的数据组织单元。
显然,对于新创建的数据组织单元,应生成新的数据组织单元的校验码,将该校验码作为写入新的数据组织单元的第一个数据块的初始校验码。根据本发明的一个实施例,可根据预设的消息摘要算法,对新的数据组织单元的标识和/或文件名进行处理,以生成对应的校验码。例如,若分布式文件系统100对应为GFS(Google File System,Google文件系统),则数据组织单元成为Chunk块,此时可通过如MD5一类的消息摘要算法,对Chunk块的ID标识进行处理,以生成新的数据组织单元的校验码。若分布式文件系统100在单机上对应为常规的磁盘文件系统,则数据组织单元为File(文件),则可利用如MD5一类的消息摘要算法对File的名称,即文件名进行处理,以生成对应的校验码。
在该实施方式中,当新创建出如图4所示的数据组织单元时,由于该数据组织单元为Chunk块,则根据MD5消息摘要算法,对该数据组织单元的ID标识进行处理,以生成对应的校验码,将该校验码作为写入该数据组织单元的第一个数据块的初始校验码,并记为校验码0。由图4可知,写入该数据组织单元的第一个数据块为数据块1,则通过步骤S310计算数据块1的校验码时,以校验码0为数据块1的初始校验码,根据校验码0计算得出数据块1的校验码为校验码1。
需要说明的是,新创建的数据组织单元的校验码的生成策略,可综合考虑业务的特点后灵活选择,不限于基于如标识、文件名一类的信息并采用某种消息摘要算法生成初始校验码,这样在元数据损坏的情况下,能快速对数据进行恢复,减少不必要的损失。而且,此处所采用的消息摘要算法除MD5消息摘要算法以外,其他如安全散列算法、消息认证码算法亦可,本发明对此并无限制。
在向数据组织单元写完数据之后,各写入的数据块和数据组织单元的校验码也相应计算完成,此后,进入步骤S320,根据数据组织单元中各数据块的校验码,对各数据块进行校验。根据本发明的一个实施例,可通过如下方式根据数据组织单元中各数据块的校验码,对各数据块进行校验。在该实施方式中,先读取数据组织单元中的各数据块,数据块关联有对应的校验码,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码重新计算该数据块的校验码,并将重新计算出的校验码与该数据块关联的校验码进行比较。
例如,在完成本次数据写入后,图4所示的数据组织单元包括5个数据块,分别是数据块1、数据块2、数据块3、数据块4和数据块5。在对这5个数据块进行校验时,先读取数据组织单元中的各数据块,数据块1、数据块2、数据块3、数据块4和数据块5分别关联有校验1、校验码2、校验码3、校验码4和校验码5。
对数据块1而言,由于该数据块为数据组织单元中第一个数据块,因此并不存在该数据块的前一个数据块,则数据块1的初始校验码为新创建该数据组织单元时,所生成的数据组织单元的校验码。将数据块1的初始校验码记为校验码C0,根据校验码C0计算得出数据块1的校验码为校验码C1。数据块2的前一个数据块为数据块1,则以校验码C1为数据块2的初始校验码,计算出数据块2的校验码为数据块C2。以此类推,最终得到重新计算后的数据块3、数据块4和数据块5的校验码分别是校验码C3、校验码C4和校验码C5。
将校验码C1、校验码C2、校验码C3、校验码C4和校验码C5分别与校验码1、校验码2、校验码3、校验码4和校验码5进行比较,若校验码C1与校验码1相同,则判定数据块1校验成功,若校验码C2与校验码2相同,则判定数据块2校验成功,若校验码C3与校验码3相同,则判定数据块3校验成功,若校验码C4与校验码4相同,则判定数据块4校验成功,若校验码C5与校验码5相同,则判定数据块5校验成功。应注意的是,在完成数据写入后重新计算各数据块的校验码时,所采用的算法需要与数据写入时计算各数据块校验码的算法保持一致。
接下来,在步骤S330中,将数据组织单元中有效数据的长度及其校验码发送至元数据服务器130,以指示元数据服务器130对数据组织单元进行校验,并根据校验结果返回对应消息。根据本发明的一个实施例,将数据组织单元中有效数据的长度及其校验码发送至元数据服务器130,指示元数据服务器130先从记录信息中获取数据组织单元的有效长度及真实校验码,再将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较,若有效长度与数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同,则向对应的数据服务器110返回校验成功消息,若有效长度与数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同,则向该数据服务器110返回校验失败消息,并触发数据复制操作,以向数据服务器110重新写入数据。
在该实施方式中,数据组织单元中有效数据的长度为L1,该数据组织单元的校验码为校验码5,将有效数据的长度L1和校验码5发送至元数据服务器130。元数据服务器130接收到数据服务器110发送的上述信息后,从记录信息中获取该数据组织单元的有效长度及真实校验码,然后,将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较。若有效长度与该数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同,则向数据服务器110返回校验成功消息。若有效长度与该数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同,则向数据服务器110返回校验失败消息,并触发数据复制操作,以向数据服务器110重新写入数据。
元数据服务器130中存储有大量的元数据,元数据包含有描述数据属性的记录信息,如数据的长度、校验码、存储位置、历史记录等。通过查找元数据,从元数据的记录信息中获取到该数据组织单元的有效长度为L2,真实校验码为C6,将有效长度为L2与有效数据的长度L1进行比较,并将真实校验码C6与校验码5进行比较,得到有效长度为L2与有效数据的长度L1相同,且真实校验码C6与校验码5相同的结果。基于这一结果,向数据服务器110返回校验成功消息。
最后,执行步骤S340,若数据组织单元中的各数据块均校验成功,且接收到元数据服务器130返回的校验成功消息,则确定数据校验成功。根据本发明的一个实施例,数据组织单元中的数据1、数据块2、数据块3、数据块4和数据块5均校验成功,且数据服务器110接收到元数据服务器130返回的校验成功消息,进而可以确定数据校验成功。
进一步地,若数据组织单元中的各数据块均校验成功,但接收到元数据服务器130返回的校验失败消息,则很明显,数据校验失败。此前元数据服务器130在向数据服务器110返回校验失败消息时,已触发数据复制操作,以向数据服务器110重新写入数据。而若数据组织单元中存在未校验成功的数据块,则不论元数据服务器130返回的是校验成功消息或是校验失败消息,均删除该数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
换言之,只有数据组织单元中各数据块的校验结果与元数据服务器返回消息的内容均为成功,才能确定数据校验成功,否则这两者中任意一个为失败,即可断定数据校验失败,需要触发数据复制操作,以重新写入数据。
上述示例性的分布式文件系统100只包含有2个数据服务器,而实际应用中的分布式文件系统通常包含数量众多的数据服务器,对于这样的分布式文件系统,若需要将一个分布式文件系统(相当于源集群)中的数据迁移到另一个分布式文件系统(相当于目标集群)中,通常需要对写入多个数据服务器中的同一批数据(通常称为副本)进行交叉数据校验,造成了网络和读写时带宽的浪费。而如今,只需要由提供迁移服务的设备(如迁移服务器)从源集群读取任何一个副本或同时读取多个副本的不同数据,直接正常按多副本的方式写入到目标集群中,在写入的过程中,按照方法300的方式计算数据的校验码并进行数据校验,并待完成全部数据的写入后,和元数据服务器中记录的数据进行比较,如果匹配,则可以确保数据的可靠性和一致性,简化了数据校验过程。
图5示出了根据本发明的一个实施例的数据校验装置500的示意图。如图5所示,装置500包括计算模块510、校验模块520、发送模块520和确定模块540。
计算模块510适于当向数据组织单元写入数据时,计算各写入的数据块和数据组织单元的校验码。
根据本发明的一个实施例,计算模块510进一步适于对各写入的数据块,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码计算该数据块的校验码,并以最后一个数据块的校验码作为数据组织单元的校验码。
在该实施方式中,计算模块510进一步适于根据初始校验码,通过循环冗余校验算法计算数据块的校验码,或者根据初始校验码,通过MD5消息摘要算法计算数据块的校验码,或者根据初始校验码,通过安全散列算法计算数据块的校验码。
对图4中的数据组织单元来说,本次数据写入时,写入数据组织单元的数据块为数据块2、数据块3、数据块4和数据块5。当数据块1的校验码为校验码1时,对数据块2而言,计算模块510以数据块1的校验码为其初始校验码,根据该初始校验码计算数据块2的校验码,得到数据块2的校验码为校验码2。以此类推,可以计算得出数据块3、数据块4和数据块5的校验码分别是校验码3、校验码4和校验码5。由于数据块5为该数据组织单元中的最后一个数据块,则以校验码5作为该数据组织单元的校验码。
根据本发明的一个实施例,计算模块510还适于响应于客户端发送的写请求,确定待写入数据的数据组织单元,写请求中包含待写入的数据,向该数据组织单元写入待写入的数据。
在该实施方式中,计算模块510进一步适于当数据服务器110中存在存储量未满的数据组织单元时,根据写请求从中选择出相应的数据组织单元,作为待写入数据的数据组织单元,而当数据服务器110中不存在存储量未满的数据组织单元时,创建新的数据组织单元,作为待写入数据的数据组织单元。
计算模块510还适于生成新的数据组织单元的校验码,将该校验码作为写入新的数据组织单元的第一个数据块的初始校验码。计算模块510进一步适于根据预设的消息摘要算法,对新的数据组织单元的标识和/或文件名进行处理,以生成对应的校验码。
校验模块520适于根据数据组织单元中各数据块的校验码,对各数据块进行校验。
根据本发明的一个实施例,校验模块520进一步适于读取数据组织单元中的各数据块,数据块关联有对应的校验码,以该数据块前一个数据块的校验码为其初始校验码,根据初始校验码重新计算该数据块的校验码,并将重新计算出的校验码与该数据块关联的校验码进行比较。
在该实施方式中,完成本次数据写入后,如图4所示的数据组织单元包括5个数据块,分别是数据块1、数据块2、数据块3、数据块4和数据块5。校验模块520在对这5个数据块进行校验时,先读取数据组织单元中的各数据块,数据块1、数据块2、数据块3、数据块4和数据块5分别关联有校验1、校验码2、校验码3、校验码4和校验码5。
对数据块1而言,由于该数据块为数据组织单元中第一个数据块,因此并不存在该数据块的前一个数据块,则数据块1的初始校验码为新创建该数据组织单元时,所生成的数据组织单元的校验码。将数据块1的初始校验码记为校验码C0,校验模块520根据校验码C0计算得出数据块1的校验码为校验码C1。数据块2的前一个数据块为数据块1,则校验模块520以校验码C1为数据块2的初始校验码,计算出数据块2的校验码为数据块C2。以此类推,最终得到重新计算后的数据块3、数据块4和数据块5的校验码分别是校验码C3、校验码C4和校验码C5。
校验模块520将校验码C1、校验码C2、校验码C3、校验码C4和校验码C5分别与校验码1、校验码2、校验码3、校验码4和校验码5进行比较,若校验码C1与校验码1相同,则判定数据块1校验成功,若校验码C2与校验码2相同,则判定数据块2校验成功,若校验码C3与校验码3相同,则判定数据块3校验成功,若校验码C4与校验码4相同,则判定数据块4校验成功,若校验码C5与校验码5相同,则判定数据块5校验成功。
发送模块530适于将数据组织单元中有效数据的长度及其校验码发送至元数据服务器130,以指示元数据服务器130对数据组织单元进行校验,并根据校验结果返回对应消息。
根据本发明的一个实施例,发送模块530进一步适于指示元数据服务器130从记录信息中获取数据组织单元的有效长度及真实校验码,将有效长度和真实校验码,分别与数据组织单元中有效数据的长度和校验码进行比较,当有效长度与数据组织单元中有效数据的长度相同,且真实校验码与该校验码相同时,向对应的数据服务器110返回校验成功消息,当有效长度与数据组织单元中有效数据的长度不同,或真实校验码与该校验码不同时,向数据服务器110返回校验失败消息,并触发数据复制操作,以向数据服务器110重新写入数据。
在该实施方式中,数据组织单元中有效数据的长度为L1,该数据组织单元的校验码为校验码5,发送模块530将有效数据的长度L1和校验码5发送至元数据服务器130。发送模块530指示元数据服务器130从记录信息中获取到该数据组织单元的有效长度为L2,真实校验码为C6,将有效长度为L2与有效数据的长度L1进行比较,并将真实校验码C6与校验码5进行比较,得到有效长度为L2与有效数据的长度L1相同,且真实校验码C6与校验码5相同的结果。基于这一结果,向数据服务器110返回校验成功消息。
确定模块540适于当数据组织单元中的各数据块均校验成功,且接收到元数据服务器130返回的校验成功消息时,确定数据校验成功。
根据本发明的一个实施例,数据组织单元中的数据1、数据块2、数据块3、数据块4和数据块5均校验成功,且数据服务器110接收到元数据服务器130返回的校验成功消息,进而确定模块540可以确定数据校验成功。
根据本发明的一个实施例,确定模块540还适于当数据组织单元中存在未校验成功的数据块时,删除数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
关于数据校验的具体步骤以及实施例,在基于图3~4的描述中已经详细公开,此处不再赘述。
现有的数据校验方法,在用于分布式文件系统的数据校验时,在保证校验流程完整和结果准确可靠的前提下,通常存在对校验码的依赖性较大、不具备实时性、校验时间过慢过长、网络开销和浪费严重等一系列问题。根据本发明实施例的数据校验方案,将数据校验通过单个数据块的校验和整个数据组织单元的校验来完成。一方面,利用各数据块的校验码,分别校验各数据块的数据是否一致,对于每个数据块和数据组织单元的数据校验,可以由一次读写操作及一次校验码计算完成,减少了单机校验服务的工作量,从而节省用于校验的计算资源。另一方面,不再需要额外的分布式校验服务完成多个数据组织单元,即多副本的数据校验,单机校验及元数据比对即可实现多副本间的数据一致性校验,简化了数据校验过程,进一步节省了网络和读写资源。其中,在计算连续数据块的校验码时,后一个数据块的校验码依赖于前一个数据块的校验码,首尾相连,并将最后一个数据块的校验码作为整个数据组织单位的校验码,提升了校验码之间的耦合程度和数据可靠性。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的数据校验方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (13)
1.一种数据校验方法,包括:
当向数据组织单元写入数据时,计算各写入的数据块和所述数据组织单元的校验码;
根据所述数据组织单元中各数据块的校验码,对各数据块进行校验;
将所述数据组织单元中有效数据的长度及其校验码发送至元数据服务器,以指示所述元数据服务器对所述数据组织单元进行校验,并根据校验结果返回对应消息;
若所述数据组织单元中的各数据块均校验成功,且接收到所述元数据服务器返回的校验成功消息,则确定数据校验成功,
其中,所述计算各写入的数据块和所述数据组织单元的校验码包括:
对各写入的数据块,以所述数据块前一个数据块的校验码为其初始校验码,根据所述初始校验码计算所述数据块的校验码,并以最后一个数据块的校验码作为所述数据组织单元的校验码。
2. 如权利要求1所述的方法,其中,所述根据所述初始校验码计算所述数据块的校验码包括:
根据所述初始校验码,通过循环冗余校验算法计算所述数据块的校验码;或者
根据所述初始校验码,通过MD5消息摘要算法计算所述数据块的校验码;或者
根据所述初始校验码,通过安全散列算法计算所述数据块的校验码。
3.如权利要求1所述的方法,其中,还包括:
响应于客户端发送的写请求,确定待写入数据的数据组织单元,所述写请求中包含待写入的数据;
向所述数据组织单元写入所述待写入的数据。
4.如权利要求3所述的方法,其中,所述确定待写入数据的数据组织单元包括:
若数据服务器中存在存储量未满的数据组织单元,则根据所述写请求从中选择出相应的数据组织单元,作为待写入数据的数据组织单元;
若数据服务器中不存在存储量未满的数据组织单元,则创建新的数据组织单元,作为待写入数据的数据组织单元。
5.如权利要求4所述的方法,其中,还包括:
生成新的数据组织单元的校验码,将所述校验码作为写入所述新的数据组织单元的第一个数据块的初始校验码。
6.如权利要求5所述的方法,其中,所述生成新的数据组织单元的校验码包括:
根据预设的消息摘要算法,对新的数据组织单元的标识和/或文件名进行处理,以生成对应的校验码。
7.如权利要求1或5所述的方法,其中,所述根据所述数据组织单元中各数据块的校验码,对各数据块进行校验包括:
读取所述数据组织单元中的各数据块,所述数据块关联有对应的校验码;
以所述数据块前一个数据块的校验码为其初始校验码,根据所述初始校验码重新计算所述数据块的校验码,并将重新计算出的校验码与所述数据块关联的校验码进行比较。
8.如权利要求1所述的方法,其中,所述指示所述元数据服务器对所述数据组织单元进行校验,并根据校验结果返回对应消息包括:
指示所述元数据服务器从记录信息中获取所述数据组织单元的有效长度及真实校验码;
将所述有效长度和真实校验码,分别与所述数据组织单元中有效数据的长度和校验码进行比较;
若所述有效长度与所述数据组织单元中有效数据的长度相同,且所述真实校验码与所述校验码相同,则向对应的数据服务器返回校验成功消息。
9.如权利要求8所述的方法,其中,所述指示所述元数据服务器对所述数据组织单元进行校验,并根据校验结果返回对应消息包括:
若所述有效长度与所述数据组织单元中有效数据的长度不同,或所述真实校验码与所述校验码不同,则向所述数据服务器返回校验失败消息,并触发数据复制操作,以向所述数据服务器重新写入数据。
10.如权利要求1所述的方法,其中,还包括:
若所述数据组织单元中存在未校验成功的数据块,则删除所述数据组织单元中写入的数据块,并触发数据复制操作,以重新写入数据。
11.一种数据校验装置,包括:
计算模块,适于当向数据组织单元写入数据时,对各写入的数据块,以所述数据块前一个数据块的校验码为其初始校验码,根据所述初始校验码计算所述数据块的校验码,并以最后一个数据块的校验码作为所述数据组织单元的校验码;
校验模块,适于根据所述数据组织单元中各数据块的校验码,对各数据块进行校验;
发送模块,适于将所述数据组织单元中有效数据的长度及其校验码发送至元数据服务器,以指示所述元数据服务器对所述数据组织单元进行校验,并根据校验结果返回对应消息;
确定模块,适于当所述数据组织单元中的各数据块均校验成功,且接收到所述元数据服务器返回的校验成功消息时,确定数据校验成功。
12.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-10所述的方法中的任一方法的指令。
13.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-10所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910047832.1A CN111464258B (zh) | 2019-01-18 | 2019-01-18 | 一种数据校验方法、装置、计算设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910047832.1A CN111464258B (zh) | 2019-01-18 | 2019-01-18 | 一种数据校验方法、装置、计算设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464258A CN111464258A (zh) | 2020-07-28 |
CN111464258B true CN111464258B (zh) | 2022-10-11 |
Family
ID=71679761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910047832.1A Active CN111464258B (zh) | 2019-01-18 | 2019-01-18 | 一种数据校验方法、装置、计算设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464258B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463454B (zh) * | 2020-12-04 | 2021-11-05 | 北京深思数盾科技股份有限公司 | 数据恢复方法、服务器、终端设备及存储介质 |
CN112558875B (zh) * | 2020-12-14 | 2024-07-23 | 北京百度网讯科技有限公司 | 数据校验方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344906A (zh) * | 2008-05-19 | 2009-01-14 | 北京深思洛克数据保护中心 | 一种分块式的远程更新方法 |
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
CN104967497A (zh) * | 2015-06-09 | 2015-10-07 | 武汉数字派特科技有限公司 | 一种基于网络通信协议的数据可靠传输方法及升级方法 |
CN106850188A (zh) * | 2017-01-24 | 2017-06-13 | 中国航天系统科学与工程研究院 | 一种基于多路异构单向传输通道的数据传输系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006070443A1 (ja) * | 2004-12-27 | 2006-07-06 | Fujitsu Limited | 転送データの正当性を判定する装置及び方法 |
-
2019
- 2019-01-18 CN CN201910047832.1A patent/CN111464258B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344906A (zh) * | 2008-05-19 | 2009-01-14 | 北京深思洛克数据保护中心 | 一种分块式的远程更新方法 |
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
CN104967497A (zh) * | 2015-06-09 | 2015-10-07 | 武汉数字派特科技有限公司 | 一种基于网络通信协议的数据可靠传输方法及升级方法 |
CN106850188A (zh) * | 2017-01-24 | 2017-06-13 | 中国航天系统科学与工程研究院 | 一种基于多路异构单向传输通道的数据传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111464258A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9436722B1 (en) | Parallel checksumming of data chunks of a shared data object using a log-structured file system | |
US10951236B2 (en) | Hierarchical data integrity verification of erasure coded data in a distributed computing system | |
US8601358B2 (en) | Buffer transfer check on variable length data | |
US8407478B2 (en) | Control message signature for device control | |
US9430648B2 (en) | Method and apparatus for near field communication | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
US11275835B2 (en) | Method of speeding up a full antivirus scan of files on a mobile device | |
CN111464258B (zh) | 一种数据校验方法、装置、计算设备及介质 | |
WO2020192343A1 (zh) | 基于硬件的端对端数据保护方法、装置及计算机设备 | |
US10778769B2 (en) | Elastic cloud storage on multiple locations | |
CN115248919A (zh) | 一种函数接口的调用方法、装置、电子设备及存储介质 | |
CN110955545B (zh) | 一种数据完整性校验方法、系统及相关设备 | |
US20180052633A1 (en) | Slice migration in a dispersed storage network | |
US10528282B2 (en) | Modifying and utilizing a file structure in a dispersed storage network | |
CN115129509B (zh) | 一种数据传输方法、装置、介质 | |
CN110955916B (zh) | 一种数据完整性保护方法、系统及相关设备 | |
CN114388053B (zh) | Ssd数据测试方法、装置、存储介质及测试设备 | |
US20100325519A1 (en) | CRC For Error Correction | |
US20180107430A1 (en) | Coordinating arrival times of data slices in a dispersed storage network | |
CN112688905B (zh) | 数据传输方法、装置、客户端、服务器及存储介质 | |
US10838660B2 (en) | Identifying and processing predefined dispersed storage network workflows | |
CN111949738A (zh) | 基于区块链的数据存储去重方法、终端设备和存储介质 | |
US11340988B2 (en) | Generating integrity information in a vast storage system | |
US11182249B1 (en) | Block ID encoding in an erasure coded storage system | |
US10956292B1 (en) | Utilizing integrity information for data retrieval in a vast storage system |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034090 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |