CN101441639A - 一种映像文件的生成方法 - Google Patents
一种映像文件的生成方法 Download PDFInfo
- Publication number
- CN101441639A CN101441639A CNA2007101875373A CN200710187537A CN101441639A CN 101441639 A CN101441639 A CN 101441639A CN A2007101875373 A CNA2007101875373 A CN A2007101875373A CN 200710187537 A CN200710187537 A CN 200710187537A CN 101441639 A CN101441639 A CN 101441639A
- Authority
- CN
- China
- Prior art keywords
- data
- image file
- storage device
- file
- generation method
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种映像文件的生成方法,可将来源端的第一储存装置中的数据单元生成相应的映像文件。映像文件的生成方法,包括下列步骤:根据第一储存装置的硬件参数信息产生映像文件头;将第一储存装置划分成数个容量大小相同的数据单元;进行压缩处理,将数据单元分别进行数据压缩,使得产生相应的已压缩数据区块;将已压缩数据区块依序的储存于映像文件的数据区中;建立索引表,利用指针值用以记录数据单元在第一储存装置中的起始位置,以及已压缩数据区块在数据区中的所在位置至索引表中;建立文件尾信息,用以标记映像文件的文件长度。
Description
技术领域
本发明涉及一种映像文件的生成方法,特别涉及一种用于生成具有改进的数据结构的映像文件的方法。
背景技术
对于一般使用者而言,安装计算机系统及其应用程序是件繁杂的事情,因为使用者需要熟知对周边装置及计算机系统的设定。而且每次安装需要耗费掉许多的时间,若是发生错误的话还得重新安装一次。为了能节省安装的时间,所以有人提出了计算机系统的备份方法。
所谓计算机系统的备份是将来源端的计算机系统的储存设备进行数据的备份,其中备份的项目包括了系统信息或应用程序。若是以后计算机系统发生了任何错误或毁损的话,使用者只要将备份数据回复至计算机系统中,就可以将计算机系统回复成数据备份前的样貌。使用者不需在额外的费心设定计算机系统与安装应用程序,而且回复的时间远比安装计算机系统的时间更为短少。
目前的个人计算机(例如笔记型计算机)生产厂商,通常会在个人计算机出厂前就预装有操作系统(Operation System)如微软的窗口操作系统(MicrosoftWindows System),由于这类操作系统的数据量庞大且安装费时,所以通常会利用映像文件(image file)还原技术对将厂的个人计算机进行操作系统及/或其它应用程序的预安装(pre-installation),以达到快速安装操作系统的目的,进而提高生产线的生产效能。
现有的映像文件的生成方式,请参考图1所示,其为现有映像文件生成示意图。读取来源端的储存装置(在此指的是个人计算机中用以安装操作系统及/或其它应用程序的硬盘机)的相关信息(步骤S110),其中相关信息例如储存装置的扇区数量、文件位置、及文件数量等。再根据储存装置的相关信息进行映像文件处理(步骤S120),将上述的相关信息把储存装置中的文件进行压缩处理并且将压缩后的文件重新排放。
一般而言,现有的映像文件备份方法对于储存装置间的直接备份确实能达到其备份的优点,例如将来源端的映像文件利用光盘或其它不同的储存媒体来还原至目的端的储存装置。但传输过程若是以因特网由来源端传送至目的端的话,则会出现下列问题:1.映像文件只能从头依序接收;2.传输过程中数据有遗失,需要重头在传送一次。所以在传输过程需要耗费许多的时间。
其中,主要的原因在于映像文件的数据结构组成。一般映像文件的数据结构根据储存装置中的文件存放位置来进行排列压缩等动作。若要重建映像文件的话,则需要映像文件的重组信息,举例来说,重组信息可能放置于映像文件的文件头(file head)或文件尾(file tail)里。对于其它的目的端而言需要将映像文件完全接收完后,才能根据重组信息来对映像文件做数据还原(restore)的动作。
而且,根据各种不同操作系统所提供的磁盘存放机制也会对映像文件的存放大小有所限制。例如,对于微软公司所提供的FAT磁盘存放机制而言,FAT-16具有单一文件2GBBytes的限制,而FAT-32则具有单一文件4GByte的限制。若是来源端的第一储存装置超过其存放文件的限制的话,则无法对其进行映像文件的处理。
发明内容
鉴于以上的问题,本发明的主要目的在于提供一种映像文件的生成方法,可将来源端的第一储存装置中的数据单元生成相应的映像文件并储存于另一储存装置中。
为实现上述目的,本发明所揭露的映像文件的较佳生成方法,包括下列步骤:根据第一储存装置的硬件参数信息产生映像文件头;将第一储存装置划分成数个容量大小相同的数据单元;进行压缩处理,将数据单元分别进行数据压缩,使得产生相应的已压缩数据区块;将已压缩数据区块依序的储存于映像文件的数据区中;建立索引表,利用指针值用以记录数据单元在第一储存装置中的起始位置,以及已压缩数据区块在数据区中的所在位置至索引表中;建立文件尾信息,用以标记映像文件的文件长度。
根据本发明映像文件,使得映像文件在传输过程中可以不需要依照接收顺序,即可进行映像文件的还原动作。在网络传输过程中目的端若是有遗漏部分的已压缩数据区块的话,目的端可以先对已接收到的部分数据进行数据还原的动作。并且本发明可以依据文件存放机制的不同,进而调整其中的数据单元大小,使得本发明的映像文件的大小可以不受EXT、NTFS、FAT16或FAT32等文件容量限制。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有映像文件生成示意图;
图2为本发明生成映像文件的流程图;
图3a为本发明的映像文件数据结构示意图;
图3b为本发明的索引表示意图;
图3c为已压缩数据区块数据结构示意图;
图3d为生成已压缩数据区块的流程图;
图4为本发明利用网络对目的端进行还原的流程示意图;
图5为本发明利用群播传输技术的传输时程图。
其中,附图标记
400 映像文件
410 映像文件头
420 索引表
430 资料区
431 已压缩数据区块
440 文件尾信息
451 原始数据长度字段
452 已压缩数据区块长度字段
453 检查码字段
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
本发明根据来源端的储存装置的磁盘结构来产生相应的映像文件。其中来源端可以是个人计算机、笔记型计算机(notebook)、平版计算机(tablet pc)或行动运算装置。在本实施例中设定来源端包括第一储存装置,其中第一储存装置可以是硬盘(hard disk)、磁盘冗余数组(RAID)或记忆卡(memory card)。
请参考图2所示,其为本发明生成映像文件的流程图。对于第一储存装置的映像文件的生成方法通过计算机运行下列的程序:根据第一储存装置的硬件参数信息产生映像文件头(步骤S210),其中第一储存装置若为硬盘的话,则硬件参数信息为磁头(head)、磁柱(cylinder)及扇区(sector)。
将第一储存装置划分成数个容量大小相同的数据单元(步骤S220)。其中,可以根据当前欲进行映像文件处理的磁盘储存机制进行数据单元大小的设定。以本发明的较佳实施例而言,数据单元在理想状况下应该会储存有2MB的数据。
进行压缩处理(步骤S230),将数据单元分别进行数据压缩,使得产生相应的已压缩数据区块。储存已压缩数据区块(步骤S240),将所生成的已压缩数据区块依序的储存在映像文件的数据区中。建立索引表(步骤S250),利用指针值用以记录数据单元在第一储存装置中的起始位置,以及把已压缩数据区块在数据区中的所在位置至索引表中。建立文件尾信息(步骤S260),文件尾信息用以标记映像文件的文件长度,使得其它计算机装置在接收完成后可以用以确认映像文件的实际数据长度。
请参考图3a与图3b所示,其分别为本发明的映像文件数据结构示意图与本发明的索引表示意图。在本发明的较佳实施例中将第一储存装置以2MB(Mega Bytes)来划分成一个数据单元,所以以一个20GB(Giga Bytes)的储存装置而言,其中具有10240个数据单元,所以在经过压缩处理的步骤后也会产生10240个已压缩数据区块431。在索引表420中利用指针值将已压缩数据区块在第一储存装置中的所在位置记录至索引表420中。
其中,记录已压缩数据区块431的文件信息更包括下列步骤,并请参考图3c与图3d所示,其分别为已压缩数据区块数据结构示意图与生成已压缩数据区块的流程图:
记录数据单元中存放的有效数据的数据大小(步骤S310),而所称的有效数据可以通过查找如NTFS或是Linux EXT文件系统中的bit map信息得知哪些是有效数据。换句话说,就是提供一原始数据长度字段451,此一记录数据域位的大小根据数据单元大小所决定。以本发明的较佳实施例而言,每一个数据单元在理想状况下应该会储存有2MB的数据。但是以实际文件的存放机制而言,文件数据的放置并不一定是被存放在连续的区块中,使得数据单元并不会都存放有2MB的数据。假设数据单元中所存放的数据大小为2MB的话,那记录数据域位可以利用4Bytes的长度来记录。
所以在已压缩数据区块431中会记录数据单元所实际存放的数据大小,以在进行数据还原时可以检查已压缩数据区块431所具有的数据大小是否与压缩前的数据大小一致。
记录已压缩数据区块的数据大小(步骤S320),换句话说就是记录数据单元所实际存放的数据在进行压缩后的数据大小。建立检查码(步骤S330),检查码用以提供已压缩数据区块431的识别检查。其中,可以利用循环冗余校验(Cyclic Redundancy Check,CRC)、MD5或低密度同位检查(Low-DensityParity-Check,LDPC)来产生相应的检查码,以提供将映像文件400还原后可以根据检查码来验证已压缩数据区块431的数据完整性。对于记录已压缩数据区块长度字段452与检查码字段453的字段长度同样的也是根据数据单元的大小所决定,在本实施例中分别是以4Bytes作为其记录字段长度。
来源端所产生的映像文件除了可以提供来源端进行计算机系统的数据还原之用外,也可以提供给不同的目的端来进行计算机系统的还原动作,例如:计算机制造厂商可以通过主从架构(Client-Server),利用储存于来源端的映像文件,来对一个以上的目的端的个人计算机或笔记型计算机进行预安装的作业。请参考图4所示,其为本发明利用网络对目的端进行还原的流程示意图。网络传输步骤包括下列步骤:
提供目的端(步骤S410),目的端中具有第二储存装置。传送第一储存装置所产生的映像文件的映像文件头与索引文件至目的端(步骤S420)。加入传输序号至已压缩数据区块(步骤S430)。判断来源端当前是否正在发送已压缩数据区块(步骤S440)。若来源端当前正在发送已压缩数据区块的话,目的端接收当前所传输的已压缩数据区块(步骤S441)。
根据传输序号将与索引文件将已压缩数据区块存放至第二储存装置中相应的位置,并检查码来校验已压缩数据区块的数据(步骤S442)。值得注意的是,之前所述及的指针值记录着已压缩数据区块431在第一储存装置中的原始起始位置。所以目的端接收到索引文件420后,目的端可以根据索引文件420在第二储存装置进行数据还原的动作。此时目的端将接收到的已压缩数据区块431与其索引文件420进行存放位置的比对后,即可得知已压缩数据区块431在第一储存装置中的储存位置,之后目的端再将已压缩数据区块431解压缩的后写入第二储存装置中相应的位置。
判断是否接收到所有的已压缩数据区块(步骤S443)。来源端当前并未发送已压缩数据区块的话,目的端向来源端发出发送请求(步骤S451),令来源端开始发送已压缩数据区块。最后目的端通过索引表420与文件尾信息440来检查所接收的已压缩数据区块431是否都有被完整接收。
本发明所产生的映像文件400除了可以利用复制来进行对其它储存装置的还原数据外,更可以通过因特网传输来对其它储存装置进行数据还原或是预安装的作业。其较佳的实施例是利用群播(multicasting)传输技术来进行对不同的目的端进行传输。所谓群播是指一计算机主机可通过群播路由器(Multicasting Router)同时对多部主机传送相同的数据。
群播传输的传输特点,来源端只需传送一次就可以传达到各目的端中,故多点群播可以降低在网络上的信息传送量。当传输映像文件400时,若目的端漏接一个数据单元的话,目的端就得要在重新接收映像文件400。为了能克服网络传输遗漏的缺失,本发明将第一储存装置划分为多个数据单元,并将这些数据单元进行压缩处理。目的端只要通过映像文件头410及索引表420的内容就可以确认已压缩数据区块431在还原之后的确实存放位置,如此一来目的端不用依序的接收已压缩数据区块431就可以将数据还原并储存至正确的位置。
请参考图5所示,其为本发明利用群播传输技术的传输时程图。在图5上方所代表的是,来源端利用群播传输技术来传送映像文件400的每一回合的时间长度,在此假设每次传送完后会进行次一回合的传送,直至来源端停止映像文件400的传送为止。而图5中的每一个目的端均会在不同的时间点开始接收来源端所传送的映像文件400。举例来说,对于第一目的端从一开始就接收到来源端所传送的映像文件400,并且在接收的过程并无任何的中断。所以当第一回合结束后,第一目的端也完成映像文件400的接收程序。
第二目的端则是从第一回合中才开始进行接收映像文件400,此时第二客户端根据映像文件400的索引文件420,就可以将当前所接收的数据单元存放在第二储存装置相应的位置上。所以第二目的端只要在第二回合中接收所未接收到的数据单元,即可完成映像文件400的接收程序。然而第三目的端在第一回合的传输过程中,并未接收到第一回合的起迄的部分映像文件400,但是第三目的端可以根据映像文件头410先排放所接收到的数据单元。在第二回合的映像文件400传输时,第三目的端再对所缺失的映像文件400部分进行接收即可。
本发明提供一种映像文件生成方法,用以生成来源端的储存装置的相应的映像文件400。根据储存装置的硬件参数信息来产生一映像文件头410;将储存装置划分为数个数据单元,将这接数据单元的起始位置记录于索引文件中,再将这些数据单元进行一压缩处理。最后建立映像文件的文件尾信息,其用以标记映像文件的文件长度。
本发明映像文件在传输过程中可以不需要依照接收顺序,即可进行映像文件的还原动作。在网络传输过程中目的端若是有遗漏部分的已压缩数据区块,目的端仍然可以先对已接收到的数据压缩区块进行数据的还原的动作。并且本发明可以依据文件存放机制的不同,进而调整其中的数据单元大小,使得本发明的映像文件的大小可以不受EXT、NTFS、FAT16或FAT32等文件系统,单一文件容量的限制。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1、一种映像文件的生成方法,通过计算机运行下列的程序用以生成一来源端的一第一储存装置的映像文件,其特征在于,该生成方法包括下列步骤:
根据该第一储存装置的硬件参数信息产生一映像文件头;
将该第一储存装置划分成数个容量大小相同的数据单元;
进行一压缩处理,将该些数据单元分别进行数据压缩,使得产生相应的一已压缩数据区块;
将该些已压缩数据区块依序的储存于该映像文件的一数据区中;
建立一索引表,利用一指针值用以记录该些数据单元在该第一储存装置中的起始位置,以及该些已压缩数据区块在该数据区中的所在位置至该索引表中;以及
建立一文件尾信息,用以标记该映像文件的文件长度。
2、根据权利要求1所述的映像文件的生成方法,其特征在于,每一该数据单元大小为2MB。
3、根据权利要求1所述的映像文件的生成方法,其特征在于,记录该已压缩数据区块的文件信息更包括下列步骤:
记录该数据单元中存放的有效数据的数据大小;
记录该已压缩数据区块的数据大小;以及
建立一检查码,用以提供该已压缩数据区块的识别检查。
4、根据权利要求3所述的映像文件的生成方法,其特征在于,该检查码利用一循环冗余校验所产生。
5、根据权利要求3所述的映像文件的生成方法,其特征在于,该检查码利用MD5所产生。
6、根据权利要求3所述的映像文件的生成方法,其特征在于,该检查码利用低密度同为检查码所产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101875373A CN101441639A (zh) | 2007-11-21 | 2007-11-21 | 一种映像文件的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101875373A CN101441639A (zh) | 2007-11-21 | 2007-11-21 | 一种映像文件的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101441639A true CN101441639A (zh) | 2009-05-27 |
Family
ID=40726076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101875373A Pending CN101441639A (zh) | 2007-11-21 | 2007-11-21 | 一种映像文件的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101441639A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650692B (zh) * | 2009-07-02 | 2011-01-05 | 北京飞天诚信科技有限公司 | 一种在存储设备中修改数据的方法和装置 |
CN101977231A (zh) * | 2010-10-21 | 2011-02-16 | 英业达集团(天津)电子技术有限公司 | 映像文件的下载方法 |
US20120143490A1 (en) * | 2010-12-06 | 2012-06-07 | Chia-Chun Hung | Vehicle recording apparatus and video recording method |
CN103455345A (zh) * | 2013-08-15 | 2013-12-18 | 京信通信系统(中国)有限公司 | 一种压缩和引导嵌入式操作系统镜像文件的方法及装置 |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
CN106169020A (zh) * | 2016-06-27 | 2016-11-30 | 臻和(北京)科技有限公司 | 一种数据处理方法和基于基因分型的肿瘤伴随诊断系统 |
-
2007
- 2007-11-21 CN CNA2007101875373A patent/CN101441639A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650692B (zh) * | 2009-07-02 | 2011-01-05 | 北京飞天诚信科技有限公司 | 一种在存储设备中修改数据的方法和装置 |
CN101977231A (zh) * | 2010-10-21 | 2011-02-16 | 英业达集团(天津)电子技术有限公司 | 映像文件的下载方法 |
US20120143490A1 (en) * | 2010-12-06 | 2012-06-07 | Chia-Chun Hung | Vehicle recording apparatus and video recording method |
CN103455345A (zh) * | 2013-08-15 | 2013-12-18 | 京信通信系统(中国)有限公司 | 一种压缩和引导嵌入式操作系统镜像文件的方法及装置 |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
CN106169020A (zh) * | 2016-06-27 | 2016-11-30 | 臻和(北京)科技有限公司 | 一种数据处理方法和基于基因分型的肿瘤伴随诊断系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101582920B (zh) | 一种分布式文件系统中校验和同步数据块的方法及装置 | |
US9330137B2 (en) | Cloud data backup storage manager | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
US7266716B2 (en) | Method and recovery of data using erasure coded data from stripe blocks | |
CN101441639A (zh) | 一种映像文件的生成方法 | |
US8839031B2 (en) | Data consistency between virtual machines | |
CN102622185B (zh) | 在多个存储单元中存储文件的方法以及存储分配方法 | |
US7310703B2 (en) | Methods of reading and writing data | |
EP2702502A1 (en) | Archival storage and retrieval system | |
CN103098035A (zh) | 存储系统 | |
CN102378973A (zh) | 用于数据重复删除的系统及方法 | |
CN101027668A (zh) | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 | |
CN104541251A (zh) | 在存储群集中的擦除编码和复制 | |
CN102469142A (zh) | 重复数据删除程序的数据传输方法 | |
US10268374B2 (en) | Redundant array of independent discs and dispersed storage network system re-director | |
CN105893169A (zh) | 一种基于纠删码的文件存储方法和系统 | |
CN101727298B (zh) | 实现独立磁盘冗余阵列的方法和装置 | |
CN102479118A (zh) | 数据块的增量备份方法 | |
CN101441638A (zh) | 映像文件的数据结构 | |
CN101630332B (zh) | 数据存储管理方法、数据存储管理装置和系统 | |
CN104079600A (zh) | 文件存储方法、装置、访问客户端及元数据服务器系统 | |
US8099549B1 (en) | System and method for erasure encoding | |
CN102622184A (zh) | 数据存储系统和方法 | |
US20090185762A1 (en) | Data structure for image file | |
JPWO2020081512A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090527 |