CN110321322A - 数据重建方法、装置、设备及计算机可读存储介质 - Google Patents
数据重建方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110321322A CN110321322A CN201910593028.3A CN201910593028A CN110321322A CN 110321322 A CN110321322 A CN 110321322A CN 201910593028 A CN201910593028 A CN 201910593028A CN 110321322 A CN110321322 A CN 110321322A
- Authority
- CN
- China
- Prior art keywords
- file fragmentation
- reconstruction
- data
- copy
- file
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据重建方法,包括以下步骤:扫描故障存储设备中存在副本的文件分片;生成所述文件分片对应的重建任务;根据所述重建任务,对所述文件分片的文件分片路由进行更新;根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。本发明实施例还公开了一种数据重建装置、数据重建设备及计算机可读存储介质。本发明实施例不仅降低了数据重建的性能开销,而且也提高了存储设备空间利用率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据重建方法、装置、设备及计算机可读存储介质。
背景技术
在当前分布式存储系统中,磁盘故障后,一般有两种方式处理:(一)通过替换故障磁盘,然后触发数据同步,最终达成数据的一致状态;(二)对存放于故障磁盘中的文件,进行数据迁移到其它正常的复制组。
上述两种方式虽然都可以实现数据重建,但是也存在缺陷:对于方式(一),磁盘发生故障后,需要找一块与复制组内另一块磁盘容量相同的磁盘替换故障磁盘,不仅对新磁盘型号有约束,而且对故障磁盘内所有数据同步一次,性能开销比较大,如果故障磁盘只是一部分区间损坏,也需要替换整块磁盘,无法充分利用磁盘空间;对于方式(二),利用复制组间的迁移实现数据重建,复制组迁移过程中,业务数据需要同时写两份,性能开销大,并且迁移结束后,故障磁盘的复制组无法再存放数据。综上所述,目前数据重建的性能开销大,磁盘空间利用率低。
发明内容
本发明实施例的主要目的在于提供一种数据重建方法、装置、设备及计算机可读存储介质,旨在解决现有技术中数据重建的性能开销大,存储设备空间利用率低的技术问题。
为实现上述目的,本发明实施例提供一种数据重建方法,所述数据重建方法包括以下步骤:
扫描故障存储设备中存在副本的文件分片;
生成所述文件分片对应的重建任务;
根据所述重建任务,对所述文件分片的文件分片路由进行更新;
根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
可选地,所述生成所述文件分片对应的重建任务的步骤包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务。
可选地,所述根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务的步骤包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的多批次重建任务;其中,各批次重建任务对应的重建源与重建目的不同,所述生成所述文件分片对应的多批次重建任务包括同一批次生成或者分批次生成。
可选地,所述扫描故障存储设备中存在副本的文件分片的步骤之后,还包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的当前批次重建任务;
根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新;
所述根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作的步骤之后,还包括:
判断生成所述文件分片对应的重建任务是否完成;
若否,则根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的下一批次重建任务,并将所述下一批次重建任务作为当前批次重建任务,返回所述根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新的步骤,直至生成所述文件分片对应的重建任务完成。
可选地,所述对所述文件分片的副本执行数据同步操作的步骤包括:
对所述文件分片的副本执行副本全量数据同步操作。
可选地,所述数据重建方法还包括:
当数据同步操作失败时,记录数据同步操作失败对应的文件分片;
根据记录的所述文件分片,生成对应的单个副本删除任务;
根据所述单个副本删除任务,执行单个副本删除操作。
可选地,述数据重建方法还包括:
数据同步操作成功后,当所述故障存储设备重新上线时,根据所述故障存储设备中的文件分片,创建多个副本删除任务;
根据所述多个副本删除任务,执行多个副本删除操作。
可选地,所述根据所述多个副本删除任务,执行多个副本删除操作的步骤包括:
依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,判断所述当前副本所在存储设备是否在所述文件分片路由中;
若否,则删除所述当前副本。
进一步地,为实现上述目的,本发明实施例还提供一种数据重建装置,所述数据重建装置包括:
处理模块,用于扫描故障存储设备中存在副本的文件分片,生成所述文件分片对应的重建任务;
更新模块,用于根据所述重建任务,对所述文件分片的文件分片路由进行更新;
同步模块,用于根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
进一步地,为实现上述目的,本发明实施例还提供一种数据重建设备,所述数据重建设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的数据重建程序,所述数据重建程序被所述处理器执行时实现如上述任一项所述的数据重建方法的步骤。
进一步地,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据重建程序,所述数据重建程序被处理器执行时实现如上述任一项所述的数据重建方法的步骤。
本发明实施例在进行数据重建时,通过扫描故障存储设备中存在副本的文件分片,生成文件分片对应的重建任务,进而对文件分片的文件分片路由进行更新,然后根据更新后的文件分片路由,对文件分片的副本执行数据同步操作,既不需要对文件所有数据都进行同步,也不需要替换整块故障存储设备,因此,不仅降低了数据重建的性能开销,而且也提高了存储设备空间利用率。
附图说明
图1为本发明实施例数据重建设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明实施例数据重建方法的流程示意图;
图3为本发明实施例数据重建方法的又一流程示意图;
图4为本发明实施例涉及的一个可选的数据重建的流程示意图;
图5为本发明实施例数据重建方法的再一流程示意图;
图6为本发明实施例涉及的一个可选的副本删除的流程示意图;
图7为本发明实施例数据重建装置的功能模块示意图;
图8为本发明实施例数据重建装置的又一功能模块示意图。
本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明实施例,并不用于限定本发明实施例。
本发明实施例提供一种数据重建设备。
参照图1,图1为本发明实施例数据重建设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该数据重建设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的数据重建设备的硬件结构并不构成对数据重建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据重建程序。其中,操作系统是管理和控制数据重建设备与软件资源的程序,支持网络通信模块、用户接口模块、数据重建程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的数据重建设备硬件结构中,网络接口1004主要用于连接系统后台,与系统后台进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序,并执行以下操作:
扫描故障存储设备中存在副本的文件分片;
生成所述文件分片对应的重建任务;
根据所述重建任务,对所述文件分片的文件分片路由进行更新;
根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的多批次重建任务;其中,各批次重建任务对应的重建源与重建目的不同,所述生成所述文件分片对应的多批次重建任务包括同一批次生成或者分批次生成。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的当前批次重建任务;
根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新;
所述根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作的步骤之后,还包括:
判断生成所述文件分片对应的重建任务是否完成;
若否,则根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的下一批次重建任务,并将所述下一批次重建任务作为当前批次重建任务,返回所述根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新的步骤,直至生成所述文件分片对应的重建任务完成。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
对所述文件分片的副本执行副本全量数据同步操作。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
当数据同步操作失败时,记录数据同步操作失败对应的文件分片;
根据记录的所述文件分片,生成对应的单个副本删除任务;
根据所述单个副本删除任务,执行单个副本删除操作。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
数据同步操作成功后,当所述故障存储设备重新上线时,根据所述故障存储设备中的文件分片,创建多个副本删除任务;
根据所述多个副本删除任务,执行多个副本删除操作。
进一步地,数据重建设备通过处理器1001调用存储器1005中存储的数据重建程序还执行以下操作:
依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,判断所述当前副本所在存储设备是否在所述文件分片路由中;
若否,则删除所述当前副本。
本发明实施例提出在进行数据重建时,通过扫描故障存储设备中存在副本的文件分片,生成文件分片对应的重建任务,进而对文件分片的文件分片路由进行更新,然后根据更新后的文件分片路由,对文件分片的副本执行数据同步操作,既不需要对文件所有数据都进行同步,也不需要替换整块故障存储设备,因此,不仅降低了数据重建的性能开销,而且也提高了存储设备空间利用率。
本发明实施例还提供一种数据重建方法。
参照图2,图2为本发明实施例数据重建方法一实施例的流程示意图。
在该实施例中,所述数据重建方法包括以下步骤:
步骤S10,扫描故障存储设备中存在副本的文件分片,生成所述文件分片对应的重建任务;
本发明实施例中,存储设备包括但不限于磁盘、移动硬盘等存储设备,为了降低数据重建的性能开销,以及提升存储设备空间利用率,本实施例中,基于文件的分片技术,将文件切分为多个文件分片,当存储设备发生故障后,通过故障盘中的每个文件分片的其它正常副本,并发执行数据重建操作。具体地,当存储设备发生故障要进行数据重建时,通过重建的任务中心扫描故障存储设备中存在副本的文件分片,并基于扫描获取到的文件分片,生成文件分片对应的重建任务。
可选地,所述步骤S10包括:
步骤a,根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务。
可选地,为了实现数据重建,文件分片对应有相应存储设备的重建源与重建目的,其中,重建源是指文件分片数据对应的源存储地址,重建目的是指文件分片数据对应的目标存储地址。在一实施方式中,根据扫描到的故障存储设备中存在副本的文件分片所对应的重建源与重建目的,生成文件分片对应的重建任务。
可选地,在另一实施方式中,文件分片对应的重建任务包括多批次。具体地,所述步骤S10包括:
步骤b,根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的多批次重建任务;其中,各批次重建任务对应的重建源与重建目的不同,所述生成所述文件分片对应的多批次重建任务包括同一批次生成或者分批次生成。
由于文件分片对应相应存储设备的重建源与重建目的,其中,不同文件分片所对应的重建源与重建目的可能是相同的,也可能是不同的,在该实施方式中,根据不同文件分片所对应的重建源与目的的不同,同一批次生成生成或者分批次生成文件分片对应的多批次重建任务。
步骤S20,根据所述重建任务,对所述文件分片的文件分片路由进行更新;
在生成文件分片对应的重建任务之后,基于该重建任务,对文件分片的文件分片路由进行更新。可选地,在进行路由更新时,先更新文件分片所在元数据命名空间中的路由,再更新本地缓存路由,然后通知集群中其它缓存该文件路由的主机更新路由。
步骤S30,根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
在对文件分片的文件分片路由进行更新后,根据该更新后的文件分片路由,对文件分片的副本执行数据同步操作。可选地,对文件分片的副本执行副本全量数据同步操作,也即,对对文件分片的副本执行一次性同步副本全部数据的操作。
本实施例的方案中,支持文件以一个文件分片一个副本的粒度执行数据重建;并且,对于不同重建源与重建目的的文件既可以同时执行重建操作,也可以根据业务需要灵活配制,可以指定特定文件或文件分片进行重建,满足不同的故障场景,如存储设备故障、网络故障、主机故障、存储设备出现坏道、存储设备寿命到期等故障场景下的业务数据重建。
本实施例中,在进行数据重建时,通过扫描故障存储设备中存在副本的文件分片,生成文件分片对应的重建任务,进而对文件分片的文件分片路由进行更新,然后根据更新后的文件分片路由,对文件分片的副本执行数据同步操作,既不需要对文件所有数据都进行同步,也不需要替换整块故障存储设备,因此,不仅降低了数据重建的性能开销,而且也提高了存储设备空间利用率。
参照图3,图3为本发明实施例数据重建方法又一实施例的流程示意图。基于上述一实施例,本实施例中,所述步骤S10包括:
步骤S11,扫描故障存储设备中存在副本的文件分片,根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的当前批次重建任务;
所述步骤S20包括:
步骤S21,根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新;
所述步骤S30之后,还包括:
步骤S40,判断生成所述文件分片对应的重建任务是否完成;若是,则执行步骤S50;若否,则执行步骤S60;
步骤S50,结束操作;
步骤S60,根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的下一批次重建任务,并将所述下一批次重建任务作为当前批次重建任务,返回执行步骤S21。
本实施例中,在生成重建任务时,根据扫描获取到的文件分片对应的重建源与重建目的的不同,分批次生成文件分片对应的多批次重建任务。具体地,如图4所示,首先,根据扫描获取到的文件分片对应的重建源与重建目的,基于文件分片对应的第一重建源与第一重建目的,生成文件分片对应的首批次重建任务。然后,根据该首批次重建任务,对文件分片路由进行更新,具体更新操作可参考第一实施例中所述,在此不再赘述。文件分片路由更新完成后,基于更新的文件分片路由,对文件分片的副本执行数据同步操作。
之后,判断生成文件分片对应的重建任务是否完成,也即判断重建是否完成。若生成文件分片对应的重建任务已经完成,则结束操作;反之,若生成文件分片对应的重建任务还未完成,则继续返回执行分批次生成重建任务的操作,基于扫描获取到的文件分片对应的第二重建源与第二重建目的,生成文件分片对应的下一批次重建任务。然后,根据该下一批次重建任务,对文件分片路由进行更新,文件分片路由更新完成后,基于更新的文件分片路由,对文件分片的副本执行数据同步操作。之后,再次判断生成文件分片对应的重建任务是否完成,重复上述操作,直至生成文件分片对应的重建任务完成,结束操作。
本实施例中,根据扫描获取到的文件分片对应的重建源与重建目的的不同,分批次生成文件分片对应的多批次重建任务,然后针对于每一批次重建任务,执行副本的数据同步操作,从而提高了数据重建的可靠性。
参照图5,图5为本发明实施例数据重建方法再一实施例的流程示意图。基于上述任一实施例,本实施例中,所述数据重建方法还包括:
步骤S70,当数据同步操作失败时,记录数据同步操作失败对应的文件分片;
步骤S80,根据记录的所述文件分片,生成对应的单个副本删除任务;
步骤S90,根据所述单个副本删除任务,执行单个副本删除操作。
本实施例中,对于重建过程中产生的垃圾副本,及时进行回收。具体地,在一实施方式中,当数据同步操作失败时,记录数据同步操作失败的文件分片。然后根据记录的数据同步操作失败的文件分片,生成该文件分片对应的单个副本删除任务。根据所生成的单个副本删除任务,执行相应的单个副本删除操作。
可选地,当数据同步操作失败时,通过重建的任务中心记录数据同步操作失败的文件分片,根据记录的数据同步操作失败的文件分片,生成该文件分片对应的单个副本删除任务,并下发该单个副本删除任务至文件系统。文件系统接收到该单个副本删除任务后,执行相应的单个副本删除操作。
可选地,在另一实施方式中,所述数据重建方法还包括:
步骤c,数据同步操作成功后,当所述故障存储设备重新上线时,根据所述故障存储设备中的文件分片,创建多个副本删除任务;
步骤d,根据所述多个副本删除任务,执行多个副本删除操作。
进一步地,另一实施方式中,在数据同步操作成功的情况下,当故障存储设备重新上线时,根据故障存储设备中的文件分片,创建多个副本删除任务。可选地,当故障存储设备重新上线时,通过任务中心创建恢复的故障存储设备中的文件分片对应的多个副本删除任务,并将该多个副本删除任务下发至文件系统。
可选地,所述步骤d包括:
步骤d1,依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,判断所述当前副本所在存储设备是否在所述文件分片路由中;
步骤d2,若否,则删除所述当前副本。
可选地,在创建多个副本删除任务后,依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,也即根据更新的最新的文件分片路由,判断当前副本所在存储设备是否在该最新的文件分片路由中。若当前副本所在存储设备在该最新的文件分片路由中,则不执行响应操作,也即不删除当前副本。若当前副本所在存储设备不在该最新的文件分片路由中,则删除当前副本。可选地,文件分片路由为一路由表,根据该路由表,判断当前副本所在存储设备是否在该路由表中,若当前副本所在存储设备不在该路由表中,则删除当前副本。
例如,如图6所示,通过任务中心创建恢复的故障存储设备中的文件分片对应的多个副本删除任务,并将该多个副本删除任务下发至文件系统,当文件系统接收到任务中心下发的多个副本删除任务时,根据最新的文件分片路由,依次分别判断每个副本所在存储设备是否在路由表中,对于其中任意单个副本,若副本所在存储设备在该路由表中,则不删除该副本;反之,若副本所在存储设备不在该路由表中,则删除该单个副本。
本实施例中,对于重建过程中产生的垃圾副本,及时进行单个副本或多个副本的删除操作,节省出存储设备空间,从而进一步提高了存储设备空间利用率。
本发明实施例还提供一种数据重建装置。
参照图7,图7为本发明实施例数据重建装置一实施例的功能模块示意图。本实施例中,所述数据重建装置包括:
处理模块10,用于扫描故障存储设备中存在副本的文件分片,生成所述文件分片对应的重建任务;
本发明实施例中,存储设备包括但不限于磁盘、移动硬盘等存储设备,为了降低数据重建的性能开销,以及提升存储设备空间利用率,本实施例中,基于文件的分片技术,将文件切分为多个文件分片,当存储设备发生故障后,通过故障盘中的每个文件分片的其它正常副本,并发执行数据重建操作。具体地,当存储设备发生故障要进行数据重建时,通过处理模块10扫描故障存储设备中存在副本的文件分片,并基于扫描获取到的文件分片,生成文件分片对应的重建任务。
可选地,所述处理模块10用于:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务。
可选地,为了实现数据重建,文件分片对应有相应存储设备的重建源与重建目的,其中,重建源是指文件分片数据对应的源存储地址,重建目的是指文件分片数据对应的目标存储地址。在一实施方式中,处理模块10根据扫描到的故障存储设备中存在副本的文件分片所对应的重建源与重建目的,生成文件分片对应的重建任务。
可选地,在另一实施方式中,文件分片对应的重建任务包括多批次。具体地,所述处理模块10用于:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的多批次重建任务;其中,各批次重建任务对应的重建源与重建目的不同,所述生成所述文件分片对应的多批次重建任务包括同一批次生成或者分批次生成。
由于文件分片对应相应存储设备的重建源与重建目的,其中,不同文件分片所对应的重建源与重建目的可能是相同的,也可能是不同的,在该实施方式中,处理模块10根据不同文件分片所对应的重建源与目的的不同,同一批次生成生成或者分批次生成文件分片对应的多批次重建任务。
更新模块20,用于根据所述重建任务,对所述文件分片的文件分片路由进行更新;
在生成文件分片对应的重建任务之后,更新模块20基于该重建任务,对文件分片的文件分片路由进行更新。可选地,在进行路由更新时,先更新文件分片所在元数据命名空间中的路由,再更新本地缓存路由,然后通知集群中其它缓存该文件路由的主机更新路由。
同步模块30,用于根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
在对文件分片的文件分片路由进行更新后,同步模块30根据该更新后的文件分片路由,对文件分片的副本执行数据同步操作。可选地,对文件分片的副本执行副本全量数据同步操作,也即,对对文件分片的副本执行一次性同步副本全部数据的操作。
本实施例的方案中,支持文件以一个文件分片一个副本的粒度执行数据重建;并且,对于不同重建源与重建目的的文件既可以同时执行重建操作,也可以根据业务需要灵活配制,可以指定特定文件或文件分片进行重建,满足不同的故障场景,如存储设备故障、网络故障、主机故障、存储设备出现坏道、存储设备寿命到期等故障场景下的业务数据重建。
本实施例中,在进行数据重建时,通过扫描故障存储设备中存在副本的文件分片,生成文件分片对应的重建任务,进而对文件分片的文件分片路由进行更新,然后根据更新后的文件分片路由,对文件分片的副本执行数据同步操作,既不需要对文件所有数据都进行同步,也不需要替换整块故障存储设备,因此,不仅降低了数据重建的性能开销,而且也提高了存储设备空间利用率。
进一步地,提出本发明实施例数据重建装置又一实施例,基于上述装置实施例,本实施例中,所述处理模块10用于:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的当前批次重建任务;
所述更新模块20用于:
根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新;
所述处理模块10还用于:
判断生成所述文件分片对应的重建任务是否完成,若否,则根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的下一批次重建任务。
本实施例中,在生成重建任务时,处理模块10根据扫描获取到的文件分片对应的重建源与重建目的的不同,分批次生成文件分片对应的多批次重建任务。具体地,首先,根据扫描获取到的文件分片对应的重建源与重建目的,基于文件分片对应的第一重建源与第一重建目的,生成文件分片对应的首批次重建任务。然后,更新模块20根据该首批次重建任务,对文件分片路由进行更新,具体更新操作可参考第一实施例中所述,在此不再赘述。文件分片路由更新完成后,同步模块30基于更新的文件分片路由,对文件分片的副本执行数据同步操作。
之后,处理模块10判断生成文件分片对应的重建任务是否完成,也即判断重建是否完成。若生成文件分片对应的重建任务已经完成,则结束操作;反之,若生成文件分片对应的重建任务还未完成,则继续返回执行分批次生成重建任务的操作,基于扫描获取到的文件分片对应的第二重建源与第二重建目的,生成文件分片对应的下一批次重建任务。然后,更新模块20根据该下一批次重建任务,对文件分片路由进行更新,文件分片路由更新完成后,同步模块30基于更新的文件分片路由,对文件分片的副本执行数据同步操作。之后,处理模块10再次判断生成文件分片对应的重建任务是否完成,重复上述操作,直至生成文件分片对应的重建任务完成,结束操作。
本实施例中,根据扫描获取到的文件分片对应的重建源与重建目的的不同,分批次生成文件分片对应的多批次重建任务,然后针对于每一批次重建任务,执行副本的数据同步操作,从而提高了数据重建的可靠性。
参照图8,图8为本发明实施例数据重建装置再一实施例的功能模块示意图。基于上述装置任一实施例,本实施例中,所述数据重建装置还包括:
记录模块40,用于当数据同步操作失败时,记录数据同步操作失败对应的文件分片;
生成模块50,用于根据记录的所述文件分片,生成对应的单个副本删除任务;
删除模块60,用于根据所述单个副本删除任务,执行单个副本删除操作。
本实施例中,对于重建过程中产生的垃圾副本,及时进行回收。具体地,在一实施方式中,当数据同步操作失败时,记录模块40记录数据同步操作失败的文件分片。然后生成模块50根据记录的数据同步操作失败的文件分片,生成该文件分片对应的单个副本删除任务。删除模块60根据所生成的单个副本删除任务,执行相应的单个副本删除操作。
可选地,在另一实施方式中,所述生成模块50还用于:
数据同步操作成功后,当所述故障存储设备重新上线时,根据所述故障存储设备中的文件分片,创建多个副本删除任务;
所述删除模块60还用于:
根据所述多个副本删除任务,执行多个副本删除操作。
可选地,另一实施方式中,在数据同步操作成功的情况下,当故障存储设备重新上线时,生成模块50根据故障存储设备中的文件分片,创建多个副本删除任务。可选地,所述删除模块60具体用于:
依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,判断所述当前副本所在存储设备是否在所述文件分片路由中;
若否,则删除所述当前副本。
可选地,在创建多个副本删除任务后,删除模块60依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,也即根据更新的最新的文件分片路由,判断当前副本所在存储设备是否在该最新的文件分片路由中。若当前副本所在存储设备在该最新的文件分片路由中,则不执行响应操作,也即不删除当前副本。若当前副本所在存储设备不在该最新的文件分片路由中,则删除当前副本。可选地,文件分片路由为一路由表,根据该路由表,判断当前副本所在存储设备是否在该路由表中,若当前副本所在存储设备不在该路由表中,则删除当前副本。
本实施例中,对于重建过程中产生的垃圾副本,及时进行单个副本或多个副本的删除操作,节省出存储设备空间,从而进一步提高了存储设备空间利用率。
本发明实施例还提供一种计算机可读存储介质。
本发明实施例计算机可读存储介质上存储有数据重建程序,所述数据重建程序被处理器执行时实现如上述任一项实施例中所述的数据重建方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明实施例各个实施例所述的方法。
上面结合附图对本发明实施例的实施例进行了描述,但是本发明实施例并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明实施例的启示下,在不脱离本发明实施例宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明实施例的保护之内。
Claims (11)
1.一种数据重建方法,其特征在于,所述数据重建方法包括以下步骤:
扫描故障存储设备中存在副本的文件分片;
生成所述文件分片对应的重建任务;
根据所述重建任务,对所述文件分片的文件分片路由进行更新;
根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
2.如权利要求1所述的数据重建方法,其特征在于,所述生成所述文件分片对应的重建任务的步骤包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务。
3.如权利要求2所述的数据重建方法,其特征在于,所述根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的重建任务的步骤包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的多批次重建任务;其中,各批次重建任务对应的重建源与重建目的不同,所述生成所述文件分片对应的多批次重建任务包括同一批次生成或者分批次生成。
4.如权利要求1所述的数据重建方法,其特征在于,所述扫描故障存储设备中存在副本的文件分片的步骤之后,还包括:
根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的当前批次重建任务;
根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新;
所述根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作的步骤之后,还包括:
判断生成所述文件分片对应的重建任务是否完成;
若否,则根据所述文件分片对应的重建源与重建目的,生成所述文件分片对应的下一批次重建任务,并将所述下一批次重建任务作为当前批次重建任务,返回所述根据所述当前批次重建任务,对所述文件分片的文件分片路由进行更新的步骤,直至生成所述文件分片对应的重建任务完成。
5.如权利要求1所述的数据重建方法,其特征在于,所述对所述文件分片的副本执行数据同步操作的步骤包括:
对所述文件分片的副本执行副本全量数据同步操作。
6.如权利要求1所述的数据重建方法,其特征在于,所述数据重建方法还包括:
当数据同步操作失败时,记录数据同步操作失败对应的文件分片;
根据记录的所述文件分片,生成对应的单个副本删除任务;
根据所述单个副本删除任务,执行单个副本删除操作。
7.如权利要求1-6任一项所述的数据重建方法,其特征在于,所述数据重建方法还包括:
数据同步操作成功后,当所述故障存储设备重新上线时,根据所述故障存储设备中的文件分片,创建多个副本删除任务;
根据所述多个副本删除任务,执行多个副本删除操作。
8.如权利要求7所述的数据重建方法,其特征在于,所述根据所述多个副本删除任务,执行多个副本删除操作的步骤包括:
依次将每个副本删除任务对应的副本作为当前副本,根据当前的文件分片路由,判断所述当前副本所在存储设备是否在所述文件分片路由中;
若否,则删除所述当前副本。
9.一种数据重建装置,其特征在于,所述数据重建装置包括:
处理模块,用于扫描故障存储设备中存在副本的文件分片,生成所述文件分片对应的重建任务;
更新模块,用于根据所述重建任务,对所述文件分片的文件分片路由进行更新;
同步模块,用于根据更新后的所述文件分片路由,对所述文件分片的副本执行数据同步操作。
10.一种数据重建设备,其特征在于,所述数据重建设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的数据重建程序,所述数据重建程序被所述处理器执行时实现如权利要求1-8中任一项所述的数据重建方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据重建程序,所述数据重建程序被处理器执行时实现如权利要求1-8中任一项所述的数据重建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593028.3A CN110321322B (zh) | 2019-07-02 | 2019-07-02 | 数据重建方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593028.3A CN110321322B (zh) | 2019-07-02 | 2019-07-02 | 数据重建方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321322A true CN110321322A (zh) | 2019-10-11 |
CN110321322B CN110321322B (zh) | 2023-07-14 |
Family
ID=68122403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910593028.3A Active CN110321322B (zh) | 2019-07-02 | 2019-07-02 | 数据重建方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321322B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400241A (zh) * | 2019-11-14 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据重构方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172572A1 (en) * | 2007-01-12 | 2008-07-17 | International Business Machines Corporation | Using virtual copies in a failover and failback environment |
US20150378832A1 (en) * | 2014-06-25 | 2015-12-31 | International Business Machines Corporation | Performing a remote point-in-time copy to a source and target storages in further mirror copy relationships |
US20160004601A1 (en) * | 2014-07-01 | 2016-01-07 | Commvault Systems, Inc. | Lightweight data reconstruction based on backup data |
WO2016120884A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Failure atomic update of a single application data file |
CN106407376A (zh) * | 2016-09-12 | 2017-02-15 | 杭州数梦工场科技有限公司 | 重建索引方法及装置 |
CN108810565A (zh) * | 2017-04-28 | 2018-11-13 | 华为技术有限公司 | 存储、调度媒体资源的方法、装置及分布式存储系统 |
-
2019
- 2019-07-02 CN CN201910593028.3A patent/CN110321322B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172572A1 (en) * | 2007-01-12 | 2008-07-17 | International Business Machines Corporation | Using virtual copies in a failover and failback environment |
US20150378832A1 (en) * | 2014-06-25 | 2015-12-31 | International Business Machines Corporation | Performing a remote point-in-time copy to a source and target storages in further mirror copy relationships |
US20160004601A1 (en) * | 2014-07-01 | 2016-01-07 | Commvault Systems, Inc. | Lightweight data reconstruction based on backup data |
WO2016120884A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Failure atomic update of a single application data file |
CN106407376A (zh) * | 2016-09-12 | 2017-02-15 | 杭州数梦工场科技有限公司 | 重建索引方法及装置 |
CN108810565A (zh) * | 2017-04-28 | 2018-11-13 | 华为技术有限公司 | 存储、调度媒体资源的方法、装置及分布式存储系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400241A (zh) * | 2019-11-14 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据重构方法和装置 |
CN111400241B (zh) * | 2019-11-14 | 2024-04-05 | 杭州海康威视系统技术有限公司 | 数据重构方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110321322B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210064476A1 (en) | Backup of partitioned database tables | |
US11036591B2 (en) | Restoring partitioned database tables from backup | |
US11461296B2 (en) | Systems and methods for database management using append-only storage devices | |
US11513708B2 (en) | Optimized deduplication based on backup frequency in a distributed data storage system | |
US11327949B2 (en) | Verification of database table partitions during backup | |
US20240020038A1 (en) | Distributed Storage Method and Device | |
US9031910B2 (en) | System and method for maintaining a cluster setup | |
JP5727020B2 (ja) | クラウドコンピューティングシステム及びそのデータ同期化方法 | |
JP5607059B2 (ja) | パーティション化した拡張可能で可用性の高い構造化ストレージにおけるパーティション管理 | |
US7788303B2 (en) | Systems and methods for distributed system scanning | |
WO2018014650A1 (zh) | 分布式数据库数据同步方法、相关装置及系统 | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
JP2016508349A (ja) | クラスタ境界にわたるサービス移行 | |
JP6405255B2 (ja) | 通信システム、キュー管理サーバ、及び、通信方法 | |
CN110321322A (zh) | 数据重建方法、装置、设备及计算机可读存储介质 | |
CN107291579A (zh) | 一种基于静态子树分区的元数据集群文件快照方法 | |
US20230237043A1 (en) | Accelerating change data capture determination using row bitsets | |
CN113965582A (zh) | 一种模式转换方法和系统,及存储介质 | |
CN110083584A (zh) | 文件重建方法、装置、设备及计算机可读存储介质 | |
CN109324931A (zh) | 在重复数据删除系统中实现vmware挂载恢复的方法 | |
CN111666338B (zh) | 数据复制方法、控制节点及电子设备 | |
US11593368B1 (en) | Maintenance of clustered materialized views on a database system | |
CN114722027A (zh) | 一种基于云硬盘的数据库扩容方法和装置 | |
CN115017153A (zh) | 数据重建方法及装置、数据存储系统、存储介质 | |
WO2024078677A1 (en) | Mapping identifiers to maintain name and location coherency in file system objects |
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 |