CN106569752A - 一种快速合并磁盘分区的系统及方法 - Google Patents

一种快速合并磁盘分区的系统及方法 Download PDF

Info

Publication number
CN106569752A
CN106569752A CN201611228798.0A CN201611228798A CN106569752A CN 106569752 A CN106569752 A CN 106569752A CN 201611228798 A CN201611228798 A CN 201611228798A CN 106569752 A CN106569752 A CN 106569752A
Authority
CN
China
Prior art keywords
subregion
partition
file
filename
allocation table
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
Application number
CN201611228798.0A
Other languages
English (en)
Other versions
CN106569752B (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.)
Antiy Technology Group Co Ltd
Original Assignee
Harbin Antiy Technology 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 Harbin Antiy Technology Co Ltd filed Critical Harbin Antiy Technology Co Ltd
Priority to CN201611228798.0A priority Critical patent/CN106569752B/zh
Publication of CN106569752A publication Critical patent/CN106569752A/zh
Application granted granted Critical
Publication of CN106569752B publication Critical patent/CN106569752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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

本发明公开了一种快速合并磁盘分区的系统及方法,包括:分区表解析模块,解析出任意磁盘分区的物理地址;分区解析模块,基于所述物理地址判断任意两个磁盘分区是否连接,若不连接报错退出,若连接则分别对连接的第一分区和第二分区解析,获取文件分配表位置1和文件分配表位置2;文件分配表提取模块,基于所述文件分配表位置2提取所述第二分区文件分配记录;冲突解决模块,比对所述第一分区和第二分区文件名,相同则对所述第二分区的文件名修改;文件分配表写入模块,基于文件分配表位置1将所述第二分区文件分配记录写入所述第一分区;分区表写入模块,删除所述第二分区,将被写入的所述第一分区长度记录信息延长到所述第二分区结束点。

Description

一种快速合并磁盘分区的系统及方法
技术领域
本发明涉及计算机技术领域,更具体地涉及一种快速合并磁盘分区的系统及方法。
背景技术
当目前系统进行磁盘分区管理时,通常涉及到对分区进行合并。之前的系统在进行分区合并时,通常是将旧的,处于磁盘末尾分区的文件,拷贝到首个分区中,然后将删除处于磁盘末尾分区的文件。当首个分区空间不够时,将磁盘末尾分区的文件分配表和分区相关标志向后移动,直到移动到首个未移动的文件处为止。调整文件分配表和分区相关记录,直到符合当前系统状况。重复上面的动作,直到末尾分区的文件分配表为空为止。目前的合并分区的方法需要拷贝文件,在合并相邻分区时需要大量的时间,拷贝大量的文件并进行随机寻道,效率较低。
发明内容
为了解决上述技术问题,提供了根据本发明的一种快速合并磁盘分区的系统及方法。
根据本发明的第一方面,提供了一种快速合并磁盘分区的系统。该系统包括:分区表解析模块,用于解析出任意磁盘分区的物理地址,所述磁盘分区不少于两个;分区解析模块,用于基于所述物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出,若相互连接,则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2;文件分配表提取模块,用于基于所述文件分配表位置2提取所述第二分区的文件分配记录;冲突解决模块,用于比对所述第一分区和所述第二分区中的文件名,若有文件名相同,则对所述第二分区的文件名进行修改;文件分配表写入模块,用于基于文件分配表位置1将所述第二分区的文件分配记录写入所述第一分区;分区表写入模块,用于删除所述第二分区,并将被写入的所述第一分区的长度记录信息延长到所述第二分区的结束点。
在一些实施例中,系统包括:信息修正模块,用于修正被写入的所述第一分区的信息,使之符合实际分区数据情况。
在一些实施例中,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
在一些实施例中,所述对所述第二分区的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。
在一些实施例中,所述用于修正被写入的所述第一分区的信息包括空余区块记录、大小记录、日志信息。
根据本发明的第二方面,提供一种快速合并磁盘分区的方法,该方法包括:解析出任意磁盘分区的物理地址,所述磁盘分区不少于两个;基于所述物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出,若相互连接,则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2;基于所述文件分配表位置2提取所述第二分区的文件分配记录;比对所述第一分区和所述第二分区中的文件名,若有文件名相同,则对所述第二分区的文件名进行修改;将所述第二分区的文件分配记录写入所述第一分区;删除所述第二分区,并将被写入的所述第一分区的长度记录信息延长到所述第二分区的结束点。
在一些实施例中,所述方法包括:修正被写入的所述第一分区的信息,使之符合实际分区数据情况。
在一些实施例中,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
在一些实施例中,所述对所述第二分区的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。
在一些实施例中,所述用于修正被写入的所述第一分区的信息包括空余区块记录、大小记录、日志信息。
本发明所提供的技术方案,直接解析第二分区的内容,并获取第二个分区每个文件的物理位置,然后移除第二分区的分区表等分区记录信息,在第一个分区的文件分配表中新增项,写入第二分区的全部文件的文件名等信息,将两个分区合并成一个分区。本发明只需批量扫描磁盘文件分配记录,并批量添加磁盘文件分配记录,无需移动原始文件内容,由于文件分配记录的聚集性,可以批量获取写入,极大的减少IO次数,提高速度。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种快速合并磁盘分区的系统的框图;
图2为根据本发明实施例的一种快速合并磁盘分区的方法的流程图。
具体实施方式
下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。虽然附图中显示了示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明提供的方法是当分区相邻,且分区内所有文件均按原样存在,即分区未加密时,直接解析在磁盘尾部分区的磁盘文件分配表和文件所在的区块,计算该区块在按照在磁盘头部分区的相对位置,并在磁盘头部分区上新增磁盘文件分配表项指向该区块。移除第二个分区的全部磁盘分配表记录,并将第二个分区未能拆解的部分作为空白块处理,修改区块分配记录和日志系统等内容,使其与系统一致,同时修改分区表,抹去尾部分区的记录,并扩充头部分区记录的分配空间,使其与系统一致。
图1为根据本发明实施例的一种快速合并磁盘分区的系统的框图。如图1所述,系统可以包括:分区表解析模块110、分区解析模块120、文件分配表提取模块130、冲突解决模块140、文件分配表写入模块150、分区表写入模块160、信息修正模块170。
分区表解析模块110,用于解析出任意磁盘分区的物理地址,磁盘分区不少于两个。
分区解析模块120,用于基于物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出,若相互连接,则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2。
分区解析模块110和分区表解析模块120可使用fdisk、sfdisk等开源工具的相关模块,其本质为对磁盘分区表的解析和修改。
文件分配表提取模块130,用于基于文件分配表位置2提取第二分区的文件分配记录。
文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
冲突解决模块140,用于比对第一分区和第二分区中的文件名,若有文件名相同,则对第二分区的文件名进行修改。
冲突解决模块140本质上是一个用户逻辑模块,该模块起当文件名重复时给出新的文件名的作用,通常的解决方法是在文件名后加一些随机字符,主要是对第二分区的文件名进行修改。
文件分配表写入模块150,用于基于文件分配表位置1将第二分区的文件分配记录写入第一分区。
文件分配表提取模块130和文件分配表写入模块150可参考linux kernel和相关磁盘开源代码中对对应文件系统的目录、文件读取和写入相关信息。
分区表写入模块160,用于删除第二分区,并将被写入的第一分区的长度记录信息延长到第二分区的结束点。
一些实施例中,系统还包括:
信息修正模块170,用于修正被写入的第一分区的信息,使之符合实际分区数据情况。
用于修正被写入的第一分区的信息包括空余区块记录、大小记录、日志信息等。
具体的,首先,使用分区表解析模块110解析出第一分区、第二分区的物理地址范围,并判断两个分区是否相互连接,若不相互连接,则报错退出。若相互连接,使用分区解析模块120对第二分区进行解析,得到第二分区的文件分配表位置,然后使用文件分配表提取模块130提取出第二分区的文件分配记录。
其次,使用分区解析模块120对第一分区进行解析,得到第一分区的文件分配表位置,然后使用文件分配表写入模块150,将第二分区的文件分配记录写入第一分区。若有文件名的冲突,则使用冲突解决模块140进行解决,并将解决后的内容写入第一分区。
最后,使用分区表写入模块160删除第二分区,并将第一分区的长度记录信息延长到第二分区的末尾。使用信息修正模块170修正分区的空余区块记录、大小记录、日志信息等内容。
图2示出了根据本发明实施例的一种快速合并磁盘分区的方法的流程图。如图2所示,方法包括如下步骤:
S210,解析出任意磁盘分区的物理地址。
本实施例中磁盘分区不少于两个,通过本方法可以对任意相邻的磁盘分区进行合并处理。
S220,基于物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出。
S230,若相互连接则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2。
S240,基于文件分配表位置2提取第二分区的文件分配记录。
文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
S250,比对第一分区和第二分区中的文件名,若有文件名相同,则对第二分区的文件名进行修改。
对第二分区的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符等方式。
S260,将第二分区的文件分配记录写入第一分区。
在第一个分区的文件分配表中新增项,写入第二分区的全部文件的文件分配记录等信息。
S270,删除第二分区,并将被写入的第一分区的长度记录信息延长到第二分区的结束点。
删除第二分区的分区表等分区补记任务,第二个分区相当于不存在。最后将第一分区的分区表中的分区结束信息修改为第二分区的分区结束点。
一些实施例中,还包括下面的步骤:
S280,修正被写入的第一分区的信息,使之符合实际分区数据情况。
修正被写入的第一分区的信息包括空余区块记录、大小记录、日志信息。
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。

Claims (10)

1.一种快速合并磁盘分区的系统,其特征在于,包括:
分区表解析模块,用于解析出任意磁盘分区的物理地址,所述磁盘分区不少于两个;
分区解析模块,用于基于所述物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出,若相互连接,则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2;
文件分配表提取模块,用于基于所述文件分配表位置2提取所述第二分区的文件分配记录;
冲突解决模块,用于比对所述第一分区和所述第二分区中的文件名,若有文件名相同,则对所述第二分区的文件名进行修改;
文件分配表写入模块,用于基于文件分配表位置1将所述第二分区的文件分配记录写入所述第一分区;
分区表写入模块,用于删除所述第二分区,并将被写入的所述第一分区的长度记录信息延长到所述第二分区的结束点。
2.根据权利要求1所述的系统,其特征在于,包括:
信息修正模块,用于修正被写入的所述第一分区的信息,使之符合实际分区数据情况。
3.根据权利要求1所述的系统,其特征在于,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
4.根据权利要求1所述的系统,其特征在于,所述对所述第二分区的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。
5.根据权利要求2所述的系统,其特征在于,所述用于修正被写入的所述第一分区的信息包括空余区块记录、大小记录、日志信息。
6.一种快速合并磁盘分区的方法,其特征在于,包括:
解析出任意磁盘分区的物理地址,所述磁盘分区不少于两个;
基于所述物理地址判断任意两个磁盘分区是否相互连接,若不相互连接,则报错退出,若相互连接,则分别对相互连接的磁盘分区的第一分区和第二分区进行解析,获取文件分配表位置1和文件分配表位置2;
基于所述文件分配表位置2提取所述第二分区的文件分配记录;
比对所述第一分区和所述第二分区中的文件名,若有文件名相同,则对所述第二分区的文件名进行修改;
将所述第二分区的文件分配记录写入所述第一分区;
删除所述第二分区,并将被写入的所述第一分区的长度记录信息延长到所述第二分区的结束点。
7.根据权利要求6所述的方法,其特征在于,包括:修正被写入的所述第一分区的信息,使之符合实际分区数据情况。
8.根据权利要求6所述的方法,其特征在于,所述文件分配记录包括文件名、文件开始点、结束点、分配区块物理地址。
9.根据权利要求6所述的方法,其特征在于,所述对所述第二分区的文件名进行修改包括给出新的文件名、在文件名后加一些随机字符。
10.根据权利要求7所述的方法,其特征在于,所述用于修正被写入的所述第一分区的信息包括空余区块记录、大小记录、日志信息。
CN201611228798.0A 2016-12-27 2016-12-27 一种快速合并磁盘分区的系统及方法 Active CN106569752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611228798.0A CN106569752B (zh) 2016-12-27 2016-12-27 一种快速合并磁盘分区的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611228798.0A CN106569752B (zh) 2016-12-27 2016-12-27 一种快速合并磁盘分区的系统及方法

Publications (2)

Publication Number Publication Date
CN106569752A true CN106569752A (zh) 2017-04-19
CN106569752B CN106569752B (zh) 2019-07-02

Family

ID=58543007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611228798.0A Active CN106569752B (zh) 2016-12-27 2016-12-27 一种快速合并磁盘分区的系统及方法

Country Status (1)

Country Link
CN (1) CN106569752B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185666B1 (en) * 1999-09-11 2001-02-06 Powerquest Corporation Merging computer partitions
CN1485797A (zh) * 2002-09-29 2004-03-31 上海乐金广电电子有限公司 适用于数字播放器的存储卡及其文件写入/读取方法
CN1728075A (zh) * 2004-07-28 2006-02-01 三星电子株式会社 在多功能设备中自动切换存储卡的方法和装置
CN104794024A (zh) * 2015-04-15 2015-07-22 四川神琥科技有限公司 一种数据恢复方法
CN105718377A (zh) * 2014-12-05 2016-06-29 华为技术有限公司 虚拟化应用中拷贝磁盘数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185666B1 (en) * 1999-09-11 2001-02-06 Powerquest Corporation Merging computer partitions
CN1485797A (zh) * 2002-09-29 2004-03-31 上海乐金广电电子有限公司 适用于数字播放器的存储卡及其文件写入/读取方法
CN1728075A (zh) * 2004-07-28 2006-02-01 三星电子株式会社 在多功能设备中自动切换存储卡的方法和装置
CN105718377A (zh) * 2014-12-05 2016-06-29 华为技术有限公司 虚拟化应用中拷贝磁盘数据的方法及装置
CN104794024A (zh) * 2015-04-15 2015-07-22 四川神琥科技有限公司 一种数据恢复方法

Also Published As

Publication number Publication date
CN106569752B (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
US20200356624A1 (en) Collaborative document editing system and method
CN103440201A (zh) 动态污点分析装置及其在文件格式逆向解析中的应用
CN108205560B (zh) 一种数据同步方法以及装置
CN104965879A (zh) 修改数据表的表结构的方法及装置
US9684664B2 (en) Elimination of fragmentation of files in storage medium by utilizing head movement time
US10789226B2 (en) Method and apparatus for data processing
CN103218428B (zh) 一种动态链接方法及系统
CN106919624B (zh) 提高网页加载速度的方法及装置
CN102479245A (zh) 数据区块的切分方法
US20170160940A1 (en) Data processing method and apparatus of solid state disk
CN105512017A (zh) 一种数据库兼容性检测方法及设备
CN105160018A (zh) 一种复制/粘贴图片的方法、装置和系统
US11030162B2 (en) Distributed processing management method and distributed processing management apparatus
CN104462036A (zh) 一种同步编辑文档的格式信息的方法及系统
CN114942863A (zh) 一种级联快照处理方法、装置、设备及存储介质
US10769105B2 (en) Modifying Lucene index file
CN108279905B (zh) 一种组件中引入库文件的方法及装置
CN104360953A (zh) 数据拷贝方法及装置
CN102841894A (zh) 一种文件分配表的数据存储方法
CN103092955B (zh) 检查点操作方法、装置及系统
CN106569752A (zh) 一种快速合并磁盘分区的系统及方法
CN110750496A (zh) 一种文件拷贝方法、系统、设备及计算机可读存储介质
CN110597823A (zh) 一种支持MySQL数据库在线DDL操作的方法
CN106777288B (zh) 一种快速拆分虚拟化磁盘镜像的系统及方法
CN107329807B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 150028 Building 7, Innovation Plaza, Science and Technology Innovation City, Harbin Hi-tech Industrial Development Zone, Harbin, Heilongjiang Province (838 Shikun Road)

Patentee after: Harbin antiy Technology Group Limited by Share Ltd

Address before: 150090 Room 506, No. 162 Hongqi Street, Nangang District, Harbin Development Zone, Heilongjiang Province

Patentee before: Harbin Antiy Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road)

Patentee after: Antan Technology Group Co.,Ltd.

Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road)

Patentee before: Harbin Antian Science and Technology Group Co.,Ltd.