CN108804671B - 物理文件重组的方法和装置 - Google Patents

物理文件重组的方法和装置 Download PDF

Info

Publication number
CN108804671B
CN108804671B CN201810594874.2A CN201810594874A CN108804671B CN 108804671 B CN108804671 B CN 108804671B CN 201810594874 A CN201810594874 A CN 201810594874A CN 108804671 B CN108804671 B CN 108804671B
Authority
CN
China
Prior art keywords
file
data records
physical file
source
temporary
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
CN201810594874.2A
Other languages
English (en)
Other versions
CN108804671A (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.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group Co Ltd
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 Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201810594874.2A priority Critical patent/CN108804671B/zh
Publication of CN108804671A publication Critical patent/CN108804671A/zh
Application granted granted Critical
Publication of CN108804671B publication Critical patent/CN108804671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种物理文件重组的方法和装置,该方法包括:获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;M条数据记录包括有效数据记录和空数据记录;采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。本申请的物理文件重组的方法和装置,提高了物理文件重组的效率。

Description

物理文件重组的方法和装置
技术领域
本申请实施例涉及计算机技术,尤其涉及一种物理文件重组的方法和装置。
背景技术
当物理文件包括的数据记录的数量达到预设值时,需要将物理文件中满足一定条件的数据记录进行归档,在归档后,物理文件中原始存放被归档的数据记录的存储空间无法释放,需要对物理文件进行重组;此外,业务进行带来的对物理文件中数据记录的删除,也会造成物理文件中原始存放被删除的数据记录的数据空间无法释放,需要对物理文件进行重组。
现有技术中物理文件重组的方法,可以将物理文件中所有删除数据记录的存储空间释放,重排物理文件中的数据记录,从而有效降低存储使用率,提高数据访问效率,且稳定可靠。但是现有技术中物理文件重组的方法,重组效率低,影响了其它业务的进行。
发明内容
本申请实施例提供一种物理文件重组的方法和装置,以克服现有技术中物理文件重组效率低的技术问题。
第一方面,本申请实施例提供一种物理文件重组的方法,包括:
获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块,其中,所述M条数据记录包括有效数据记录和空数据记录,M、N为正整数;
采用并行进程将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,所述将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
按照临时文件的编号指示的顺序,依次将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,若所述源物理文件的第一存放路径名和所述目标物理文件的第二存放路径名相同,且所述源物理文件的第一名称和所述目标物理文件的第二名称相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
清除所述源物理文件中的M条数据记录,得到目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,若所述源物理文件的第一存放路径名和所述目标物理文件的第二存放路径名不相同,和/或,所述源物理文件第一名称和所述目标物理文件的第二名称不相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
创建名称为第二名称的目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,若所述第一名称和第二名称不相同,将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,还包括:
将所述源物理文件的第一名称更新为第三名称;
将所述目标物理文件的第二名称更新为第一名称。
在一种可能的设计中,在所述将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件后,还包括:
删除所述源物理文件。
在一种可能的设计中,所述采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,包括:
创建总控制信息,所述总控制信息包括每个数据块包括的起始数据记录的标识;
根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中。
在一种可能的设计中,所述总控制信息还包括进度指示信息;
所述将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
获取进度指示信息;
若所述进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,所述方法还包括:
获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份所述源物理文件对应的各源逻辑文件;
若所述逻辑文件的指示信息指示备份所述源物理文件对应的各源逻辑文件,则创建备份文件;
将源物理文件对应的各源逻辑文件保存至备份文件中;
删除各源逻辑文件。
第二方面,本申请实施例提供一种物理文件重组的装置,包括:
获取模块,用于获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;所述M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;
拷贝模块,用于采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
重组模块,用于将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,在所述计算机程序被处理器执行时,执行第一方面以及第一方面任一可能设计中的方法。
第三方面,本申请实施例提供一种物理文件重组的装置,包括处理器和存储器,其中,
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行第一方面以及第一方面任一可能设计中的方法。
本申请的物理文件重组的方法,将待重组的物理文件包括的数据记录拆分成N个数据块,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,可以大大节省将源物理文件中的数据记录拷贝出来的时间,从来提高了物理文件重组的效率;若包含有效数据记录的各临时文件中的有效数据记录拷贝至重新创建的目标物理文件中,在完成物理文件重组的过程中,没有删除源物理文件的过程,也没有清除源物理文件原有的数据记录的过程,重组所需时间进一步降低,进一步提高了重组的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的物理文件重组的方法的流程图一;
图2为本申请实施例提供的物理文件重组的方法的流程图二;
图3为本申请实施例提供的物理文件重组的方法的流程图三;
图4为本申请实施例提供的物理文件重组的装置的结构示意图一;
图5为本申请实施例提供的物理文件重组的装置的结构示意图二。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请涉及到的技术名词进行解释。
数据记录:比如,对于一份成交的保单,该保单的受益人信息为一条数据记录。
物理文件:对于保单而言,多个保单各自对应的受益人信息组成了一个物理文件,多个保单各自对应的承保人信息组成了一个物理文件,等等,也就是说一个物理文件包含多张保单的同一类数据。
图1为本申请实施例提供的物理文件重组的方法的流程图一;参见图1,本实施例的方法包括:
步骤S101、获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;M条数据记录包括M1条有效数据记录和M2条空数据记录,M、N、M1、M2均为正整数;
步骤S102、采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
步骤S103、将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,目标物理文件为清除M条数据记录后的源物理文件,或者,目标物理文件为重新创建的物理文件。
具体地,本实施例的执行主体可为服务器。
对于步骤S101、在获取待重组的源物理文件中数据记录的总条数M之前,可对待重组的源物理文件添加排他可读锁(*EXCLRD),这样其它的进程或进程就无法访问待重组的源物理文件,保证重组过程的顺利进行。
其中,获取待重组的源物理文件中数据记录的总条数M,包括:
a1、获取源物理文件包括的有效数据记录的条数;
a2、获取源物理文件包括的空数据记录的条数;
a3、根据源物理文件包括的有效数据记录的条数和空数据记录的条数之和,得到源物理文件中数据记录的总条数M。
具体地,有效数据记录为具有数据的记录,空数据记录为不具有数据的记录。空数据记录存在的原因为,空数据记录对应的存储空间原始存储的数据被归档或者被删除(其中,被归档也可理解为删除),但是空数据记录对应的存储空间并没有删除,就好比Excel表格中某一行的内容被删除后,这一行仍然存在在Excel表格中。
服务器是不能获取到哪条数据记录是有效数据记录,哪条数据记录是空数据记录的,但是可获取源物理文件包括的有效数据记录的条数M1,也就是可获取源物理文件当前包括的有效数据记录的条数M1;也可获取到源物理文件中空数据记录的条数M2,也就是可获取到源物理文件中被删除数据对应的数据记录的条数M2。
其中,可通过DSPFD命令获取源物理文件包括的有效数据记录的条数,源物理文件包括的空数据记录的条数。
源物理文件的有效数据数据记录的条数和源物理文件中空数据记录的条数的和,即为源物理文件包括的数据记录的总条数M。
为了加快重组的速度,本实施例中将M条数据记录拆分成N个数据块,N可为8、16、32、64,或者N可为2~99中的任意值。其中,N的取值可为用户通过服务器对应的用户输入界面输入的。在一个实施例中,M条数据记录被平均拆分成N个数据块,比如源物理文件中包括1600条数据记录,可将1600条数据记录分成32个数据块,每个数据块包括50条数据记录。
每个数据块中的数据记录可能全为有效数据记录,可以既包括有效数据记录,又包括空数据记录,还可能全是空数据记录。
对于步骤S102、采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,包括:
b1、创建总控制信息,总控制信息包括每个数据块包括的起始数据记录的标识;
b2、根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中。
对于b1、源物理文件中的每条数据记录均具有一个标识,比如源物理文件中的每条数据记录均具有一个编号。
若如上所述,源物理文件中包括1600条数据记录,可将1600条数据记录分成32个数据块,每个数据块包括50条数据记录。第一个数据块可为编号为0~49的数据记录,第二个数据块可为编号为50~99的数据记录,依次类推,第32个数据块可为编号为1549~1599的数据记录。
那么,总控制信息可包括每个数据块的起始数据记录的标识(例如起始数据记录的编号),以记录每个数据块包括哪几条数据记录。
对于b2、根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中。
具体地,根据总控制信息包括的每个数据块的起始数据记录的编号,确定每个数据块包括哪几条数据记录,采用并行进程,将每个数据块中的有效数据记录拷贝至相应的临时文件中。拷贝过程可使用CPYF命令。
其中,可选地,并行进程的个数可为N个,与N个数据块相对应,即采用N个并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中。
比如,若源物理文件包括32个数据块,则并行进程的数量可为32个;总控制信息包括的第1个数据块的起始数据记录的编号为0,第2个数据块的起始数据记录的编号为50,可知第1个数据块包括编号为0~编号为49的50个数据记录,若该50个数据记录中具有5条空数据记录,也就是没有数据,那么该没有数据的5条空数据记录是无法拷贝到第1个临时文件中的,即第1个进程将该45个有效数据记录拷贝至第1个临时文件,依次类推,总控制信息包括的第32个数据块的起始数据记录的编号为1550,源物理文件包括的最后一个数据记录的编号为1599,可知第32个数据块包括编号为1550~编号为1599的50个数据记录,若该50个数据记录中具有10条空数据记录,也就是没有数据,那么该没有数据的10条空数据记录是无法拷贝到第32个临时文件中的,第32个进程将该40个有效数据记录拷贝至第32个临时文件。这32个进程是并行的进程。
可以理解的是,将源物理文件中的数据记录拷贝至临时文件,其实是将源物理文件中的有效数据记录拷贝至临时文件,因为源物理文件中的空数据记录因为没有数据而无法拷贝。且若存在包括的数据记录全是空数据记录的数据块,则包括有效数据记录的临时文件的个数小于N个。
本实施例中,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,可以大大节省将源物理文件中的数据记录拷贝出来的时间,从来提高了物理文件重组的效率。
进一步地,为了获知源物理文件中的有效数据记录是否已完全拷贝到临时文件中,则总控制信息还包括进度指示信息;
当进度指示信息为第一信息时,进度指示信息指示N个数据块中的有效数据记录未完全拷贝至N个临时文件中;比如,第一信息可为标识“S”等等。
当进度指示信息为第二信息时,进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中;比如,第二信息可为标识“E”等等。
也就是说,当N个数据块中的有效数据记录完全拷贝至N个临时文件中后,进度指示信息会由第一信息变更为第二信息。
对于步骤S103、将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。其中,拷贝过程可使用CPYF命令。
具体地,在步骤S101之前,服务器获取待重组的源物理文件的第一存放路径名和目标物理文件的第二存放路径名;待重组的源物理文件的第一存放路径名和目标物理文件的第二存放路径名可为用户通过服务器的用户界面输入的。
获取用户输入的待重组的源物理文件的第一名称和目标物理文件的第二名称。第一名称和第二名称可为用户通过服务器的用户界面输入的。
若第一存放路径名和第二存放路径名相同,且第一名称和第二名称相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
清除源物理文件中的M条数据记录,得到目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
具体地,在一个实施例中,临时文件可设置有编号(例如临时文件的名称中包含编号,且临时文件的编号与数据块的编号相对应),通过临时文件的编号指示的顺序,依次将各临时文件中的有效数据记录拷贝至目标物理文件中,目标物理文件中的有效数据记录的编号连续。
具体地,若用户通过用户输入界面输入的输出方式指示信息指示顺序输出,则通过临时文件的编号指示的顺序,依次将各临时文件中的有效数据记录拷贝至目标物理文件中,目标物理文件中的有效数据记录的编号连续。
比如:按照临时文件的编号从小到大的顺序依次将各临时文件中的有效数据记录拷贝至目标物理文件中,此时,在为数据块编号时,若数据块1包含的数据记录的编号均小于数据块2,则数据块1的编号需小于数据块2的编号,且数据块的编号和相应的临时文件的编号相对应。当然,对于一个数据块而言,该数据块中的有效数据记录也可按照各自编号指示的顺序被拷贝至物理文件中,比如,按照编号从小到大的顺序拷贝至目标物理文件中。
其中,目标物理文件中的有效数据记录的编号连续是指,若编号为1的临时文件包括的有效数据记录的编号为1~30,编号为2的临时文件中的有效数据记录为31~50,56~60(中间间断的为源物理文件中空数据记录的编号),编号为3的临时文件中有效数据记录的编号为61~90,编号1、编号2、编号3的临时文件包括的有效数据记录依次被拷贝至目标物理文件中;则编号为2的临时文件包括的有效数据记录在拷贝至目标物理文件中后,编号56~60的数据记录的编号会更新为51~55,编号为3的临时文件包括的有效数据记录的编号会更新为56~85。
在另一个实施例中,采用并行进程,将包含有效数据记录的各临时文件拷贝至目标物理文件中。
具体地,若用户通过用户输入界面输入的输出方式指示信息指示非顺序输出,则采用并行进程,将包含有效数据记录的各临时文件拷贝至目标物理文件中。具体可将所有临时文件的数据通过SQL的insert语句“insert into libname/pfname select*fromtemplib/tmpfile**”并行插入到目标物理文件中。
虽然该实施方式无法保证目标物理文件数据记录的编号顺序,但SQL的insert语句保证了所有有效数据记录正确写入的完整性,在对于数据记录的顺序要求不高的物理文件,该方法可以大幅提高输出效率。
可以理解的是,此处,将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:将包含有效数据记录的各临时文件中的有效数据记录拷贝至清除掉M条数据记录的源物理文件中。
若第一存放路径名和第二存放路径名不相同,和/或,第一名称和第二名称不相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,还包括:
创建名称为第二名称的目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
具体地,将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件的具体实现参照“若第一存放路径名和第二存放路径名相同,且第一名称和第二名称相同”的方案中的介绍,此处不再赘述。
可以理解的是,此处,将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:将包含有效数据记录的各临时文件中的有效数据记录拷贝至创建的名称为第二名称的目标物理文件中。
进一步地,若第一名称和第二名称不相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,还包括:
将源物理文件的第一名称更新为第三名称;
将目标物理文件的第二名称更新为第一名称。
即目标物理文件或者包括源物理文件的有效数据记录的目标物理文件的名称变更为源物理文件的名称。
对于将包含有效数据记录的各临时文件中的有效数据记录拷贝至重新创建的目标物理文件中这一方式,在完成物理文件重组的过程中,没有删除源物理文件的过程,也没有清除源物理文件原有的数据记录的过程,重组所需时间进一步降低,进一步提高了重组的效率。
经过上述步骤,源物理文件的有效数据记录被拷贝到临时文件中,再从临时文件拷贝至目标物理文件中,得到了不包括空数据记录的重组后的物理文件。
可以理解的是,在源物理文件重组完毕后,可解除排他可读锁。
本实施例的物理文件重组的方法,包括:获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
下面采用更详细的实施例说明本申请的物理文件重组的方法。
图2为本申请实施例提供的物理文件重组的方法的流程图二;参见图2,本实施例的方法包括:
步骤S201、获取待重组的源物理文件的第一存放路径名和目标物理文件的第二存放路径名,获取待重组的源物理文件的第一名称和目标物理文件的第二名称,获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份源物理文件对应的各源逻辑文件;
步骤S202、获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;
步骤S203、创建总控制信息;根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
步骤S204、若逻辑文件的指示信息指示备份源物理文件对应的各源逻辑文件,则创建备份文件,并将源物理文件对应的各源逻辑文件保存至备份文件中;
步骤S205、删除各源逻辑文件;
步骤S206、获取总控制信息包括的进度指示信息;
步骤S207、若进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中,且第一存放路径名和第二存放路径名不相同,和/或,第一名称和第二名称不相同,则创建名称为第二名称的目标物理文件;
步骤S208、若第一名称和第二名称不相同,将源物理文件的第一名称更新为第三名称,将目标物理文件的第二名称更新为第一名称;
步骤S209、将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件;
步骤S210、恢复备份文件中的各源逻辑文件;
步骤S211、删除源物理文件,包含有效数据记录的各临时文件,总控制信息。
具体地,对于步骤S201、获取用户通过用户输入界面输入的待重组的源物理文件的第一存放路径名和目标物理文件的第二存放路径名,待重组的源物理文件的第一名称和目标物理文件的第二名称,逻辑文件的指示信息,逻辑文件的指示信息指示是否备份源物理文件对应的各源逻辑文件。
对于步骤S202~步骤S203,参见上一实施例,本实施例中不再赘述。
对于步骤S204~步骤S205,若逻辑文件的指示信息指示备份源物理文件对应的各源逻辑文件,则创建备份文件,并将源物理文件对应的各源逻辑文件保存至备份文件中;
在源物理文件对应的各源逻辑文件保存成功后,删除各源逻辑文件。
对于步骤S206~步骤S209,参见上一实施例,本实施例中不再赘述。
步骤S210~步骤S211、恢复备份文件中的各源逻辑文件;
各源逻辑文件恢复完成后,重组后的物理文件便可以被其它的进程或线程访问。此时,可解除源物理文件可读排他锁。
接着,将源物理文件,包含有效数据记录的各临时文件,总控制信息删除。
步骤S211可在重组后的物理文件可以访问后进行,不影响重组的效率。
本实施例的物理文件重组的方法,提高了物理文件重组的效率。
图3为本申请实施例提供的物理文件重组的方法的流程图三;参见图3,本实施例的方法包括:
步骤S301、获取待重组的源物理文件的第一存放路径名和目标物理文件的第二存放路径名,获取待重组的源物理文件的第一名称和目标物理文件的第二名称,获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份源物理文件对应的各源逻辑文件;
步骤S302、获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;
步骤S303、创建总控制信息;根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
步骤S304、若逻辑文件的指示信息指示备份源物理文件对应的各源逻辑文件,则创建备份文件,并将源物理文件对应的各源逻辑文件保存至备份文件中;
步骤S305、删除各源逻辑文件;
步骤S306、获取总控制信息包括的进度指示信息;
步骤S307、若进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中,且第一存放路径名和第二存放路径名相同,第一名称和第二名称相同,则清除源物理文件中的M条数据记录,得到目标物理文件;
步骤S308、将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件;
步骤S309、恢复备份文件中的各源逻辑文件;
步骤S310、删除包含有效数据记录的各临时文件,总控制信息。
具体地,本实施例中的各步骤可参照上述实施例,本实施例中不再赘述。
本实施例的物理文件重组的方法,提高了物理文件重组的效率。
图4为本申请实施例提供的物理文件重组的装置的结构示意图一,如图4所示,本实施例的装置可以包括:获取模块11、拷贝模块12和重组模块13;
其中,所述获取模块11,用于获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;所述M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;
所述拷贝模块12,用于采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件;
所述重组模块13,用于将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在一种可能的设计中,所述获取模块11具体用于:
获取所述源物理文件包括的有效数据记录的条数;
获取所述源物理文件包括的空数据记录的条数;
根据所述有效数据记录的条数和所述空数据记录的条数之和,得到所述源物理文件中数据记录的总条数M。
在一种可能的设计中,所述重组模块13具体用于:
按照临时文件的编号指示的顺序,依次将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,所述获取模块11还用于:获取所述源物理文件的第一存放路径名和目标物理文件的第二存放路径名;
获取所述源物理文件的第一名称和所述目标物理文件的第二名称。
若所述第一存放路径名和第二存放路径名相同,且所述第一名称和所述第二名称相同,则所述重组模块13具体用于:清除所述源物理文件中的M条数据记录,得到目标物理文件;将包含有效数据记录的各临时文件中的有效数据记录拷贝至所述目标物理文件,得到重组后的物理文件。
若所述第一存放路径名和第二存放路径名不相同,和/或,第一名称和第二名称不相同,则所述重组模块具体用于:创建名称为第二名称的目标物理文件;将包含有效数据记录的各临时文件中的有效数据记录拷贝至所述目标物理文件,得到重组后的物理文件。
若所述第一名称和所述第二名称不相同,则所述重组模块还具体用于:将所述源物理文件的第一名称更新为第三名称;将所述目标物理文件的第二名称更新为第一名称。
在一种可能的设计中,在所述将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件之后,所述重组模块13还用于,删除所述源物理文件。
在一种可能的设计中,所述拷贝模块12具体用于创建总控制信息,所述总控制信息包括每个数据块包括的起始数据记录的标识;
根据总控制信息,采用并行进程,将N个数据块中的有效数据记录拷贝至N个临时文件中。
所述总控制信息还包括进度指示信息;
当所述进度指示信息为第一信息时,所述进度指示信息指示N个数据块中的有效数据记录未完全拷贝至N个临时文件中;
当所述进度指示信息为第二信息时,所述进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中;
则所述重组模块13具体用于:若所述进度指示信息为第二信息,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
在一种可能的设计中,所述获取模块,还用于获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份源所述源物理文件对应的各源逻辑文件;
拷贝模块12还用于:若所述逻辑文件的指示信息指示备份源所述源物理文件对应的各源逻辑文件,则创建备份文件;
将源物理文件对应的各源逻辑文件保存至备份文件中;
删除各源逻辑文件。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,在所述计算机程序被处理器执行时,执行上述方法实施例中的方法。
图5为本申请实施例提供的物理文件重组的装置的结构示意图二,包括处理器21和存储器22,其中,
存储器21,用于存储程序;
处理器22,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述方法实施例中的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (6)

1.一种物理文件重组的方法,其特征在于,包括:
对待重组的源物理文件添加排他可读锁,以使其它进程无法访问所述待重组的源物理文件;
获取所述待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块,其中,所述M条数据记录包括有效数据记录和空数据记录,M、N为正整数;
创建总控制信息,所述总控制信息包括每个数据块包括的起始数据记录的标识;
根据总控制信息,采用并行进程将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件,所述总控制信息还包括进度指示信息;
获取进度指示信息;
若所述进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件;
所述将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
按照临时文件的编号指示的顺序,依次将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,所述目标物理文件中的有效数据记录的编号连续;
获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份所述源物理文件对应的各源逻辑文件;
若所述逻辑文件的指示信息指示备份所述源物理文件对应的各源逻辑文件,则创建备份文件;
将所述源物理文件对应的各源逻辑文件保存至备份文件中;
删除所述各源逻辑文件。
2.根据权利要求1所述的方法,其特征在于:
若所述源物理文件的第一存放路径名和所述目标物理文件的第二存放路径名相同,且所述源物理文件的第一名称和所述目标物理文件的第二名称相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
清除所述源物理文件中的M条数据记录,得到目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
3.根据权利要求1所述的方法,其特征在于,
若所述源物理文件的第一存放路径名和所述目标物理文件的第二存放路径名不相同,和/或,所述源物理文件第一名称和所述目标物理文件的第二名称不相同,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,包括:
创建名称为第二名称的目标物理文件;
将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件。
4.一种物理文件重组的装置,其特征在于,包括:
获取模块,用于对待重组的源物理文件添加排他可读锁,以使其它进程无法访问所述待重组的源物理文件,获取待重组的源物理文件中数据记录的总条数M,并将M条数据记录拆分成N个数据块;所述M条数据记录包括有效数据记录和空数据记录,M、N均为正整数;
拷贝模块,用于创建总控制信息,所述总控制信息包括每个数据块包括的起始数据记录的标识,根据总控制信息,采用并行进程将N个数据块中的有效数据记录拷贝至N个临时文件中,每个数据块对应一个临时文件,所述总控制信息还包括进度指示信息;
重组模块,用于获取进度指示信息,若所述进度指示信息指示N个数据块中的有效数据记录完全拷贝至N个临时文件中,则将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件;
所述重组模块,具体用于按照临时文件的编号指示的顺序,依次将包含有效数据记录的各临时文件中的有效数据记录拷贝至目标物理文件,得到重组后的物理文件,所述目标物理文件中的有效数据记录的编号连续;
所述获取模块,还用于获取逻辑文件的指示信息,逻辑文件的指示信息指示是否备份所述源物理文件对应的各源逻辑文件;
所述拷贝模块还用于:若所述逻辑文件的指示信息指示备份所述源物理文件对应的各源逻辑文件,则创建备份文件;
将所述源物理文件对应的各源逻辑文件保存至备份文件中;
删除所述各源逻辑文件。
5.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,在所述计算机程序被处理器执行时,执行权利要求1至3中任一项所述的方法。
6.一种物理文件重组的装置,其特征在于,包括处理器和存储器,其中,
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行权利要求1至3中任一所述的方法。
CN201810594874.2A 2018-06-11 2018-06-11 物理文件重组的方法和装置 Active CN108804671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810594874.2A CN108804671B (zh) 2018-06-11 2018-06-11 物理文件重组的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810594874.2A CN108804671B (zh) 2018-06-11 2018-06-11 物理文件重组的方法和装置

Publications (2)

Publication Number Publication Date
CN108804671A CN108804671A (zh) 2018-11-13
CN108804671B true CN108804671B (zh) 2021-03-09

Family

ID=64088459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810594874.2A Active CN108804671B (zh) 2018-06-11 2018-06-11 物理文件重组的方法和装置

Country Status (1)

Country Link
CN (1) CN108804671B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902498A (zh) * 2010-07-02 2010-12-01 广州鼎甲计算机科技有限公司 一种基于网络技术的存储云备份方法
CN103997514A (zh) * 2014-04-23 2014-08-20 汉柏科技有限公司 一种文件并行传输的方法及系统
US9165001B1 (en) * 2012-12-19 2015-10-20 Emc Corporation Multi stream deduplicated backup of collaboration server data
CN105740091A (zh) * 2014-12-10 2016-07-06 华为技术有限公司 数据备份、恢复方法和设备
CN107229468A (zh) * 2017-05-22 2017-10-03 努比亚技术有限公司 一种文件备份方法和移动终端
CN107766374A (zh) * 2016-08-19 2018-03-06 上海凯翔信息科技有限公司 一种海量小文件存储读取的优化方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941464B2 (en) * 2005-09-19 2011-05-10 Polytechnic Institute Of New York University Reassembling fragmented files or documents in a file order-independent manner
US9081792B1 (en) * 2014-12-19 2015-07-14 Storagecraft Technology Corporation Optimizing backup of whitelisted files
CN105138429B (zh) * 2015-08-21 2018-11-02 浪潮(北京)电子信息产业有限公司 一种写时拷贝快照方法和系统
CN106339473A (zh) * 2016-08-29 2017-01-18 北京百度网讯科技有限公司 文件复制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902498A (zh) * 2010-07-02 2010-12-01 广州鼎甲计算机科技有限公司 一种基于网络技术的存储云备份方法
US9165001B1 (en) * 2012-12-19 2015-10-20 Emc Corporation Multi stream deduplicated backup of collaboration server data
CN103997514A (zh) * 2014-04-23 2014-08-20 汉柏科技有限公司 一种文件并行传输的方法及系统
CN105740091A (zh) * 2014-12-10 2016-07-06 华为技术有限公司 数据备份、恢复方法和设备
CN107766374A (zh) * 2016-08-19 2018-03-06 上海凯翔信息科技有限公司 一种海量小文件存储读取的优化方法和系统
CN107229468A (zh) * 2017-05-22 2017-10-03 努比亚技术有限公司 一种文件备份方法和移动终端

Also Published As

Publication number Publication date
CN108804671A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US11537659B2 (en) Method for reading and writing data and distributed storage system
US9239761B2 (en) Storage system format for transaction safe file system
US10628378B2 (en) Replication of snapshots and clones
EP3575968A1 (en) Method and device for synchronizing active transaction lists
US10169358B2 (en) Data deduplication using a small hash table
CN110941514B (zh) 一种数据备份方法、恢复方法、计算机设备和存储介质
JP7189965B2 (ja) ホスト認識更新書き込みの方法、システム、およびコンピュータ・プログラム
CN111935211A (zh) 基于区块链的采用侧链提升主链性能的方法及设备、介质
CN110618974A (zh) 一种数据存储方法、装置、设备及存储介质
US10671572B2 (en) Storage of log-structured data
CN108804671B (zh) 物理文件重组的方法和装置
US11620056B2 (en) Snapshots for any point in time replication
CN112965939A (zh) 一种文件合并方法、装置和设备
CN112631826B (zh) 一种备份处理方法、装置及计算机可读存储介质
CN110196786B (zh) 数据库回滚同步中内存的控制方法及设备
US20080320252A1 (en) Optimized and robust in-place data transformation
CN107145501B (zh) 文件更新方法、文件复制方法以及相应的系统
US10452496B2 (en) System and method for managing storage transaction requests
US9575679B2 (en) Storage system in which connected data is divided
CN116383161A (zh) 一种文件同步方法、装置以及介质
CN109964217A (zh) 去重数据装置和方法
US9843636B2 (en) Computer-readable medium storing data editing program
CN112596959A (zh) 分布式存储集群数据备份方法及装置
JP2010191903A (ja) 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム
CN106155837B (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