CN101977231A - 映像文件的下载方法 - Google Patents
映像文件的下载方法 Download PDFInfo
- Publication number
- CN101977231A CN101977231A CN2010105268583A CN201010526858A CN101977231A CN 101977231 A CN101977231 A CN 101977231A CN 2010105268583 A CN2010105268583 A CN 2010105268583A CN 201010526858 A CN201010526858 A CN 201010526858A CN 101977231 A CN101977231 A CN 101977231A
- Authority
- CN
- China
- Prior art keywords
- image file
- data
- data block
- piece
- magnetic disk
- 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
本发明公开了一种映像文件的下载方法适用于由映像文件服务器(server)下载映像文件至目标磁盘(disk)。映像文件的下载方法包括:由映像文件服务器读取映像文件的文件头信息(header);读取目标磁盘的多个磁盘数据块中的起始数据块;当起始数据块具有进度信息时,依据该进度信息得到目前数据块;由映像文件的多个映像文件数据块之中,将与目前数据块对应的映像文件数据块下载至目前数据块;更新进度信息;当下载完成的目前数据块为目标磁盘的结尾数据块时,将与起始数据块对应的映像文件数据块下载至起始数据块,并更新目标磁盘的分区表信息;以及重复以上步骤直到将所有的映像文件数据块下载至磁盘数据块。
Description
技术领域
本发明关于一种映像文件的下载方式,特别是一种具有断点续传功能的映像文件的下载方式。
背景技术
不论是个人计算机、大型服务器或是笔记型计算机,计算器在提供给使用者之前可能需安装好操作系统以便使用者使用,或是提供具有操作系统的导航光盘或维护光盘给使用者。因此生产计算器的厂商在出货前,需要大批量地对这些计算器灌装操作系统。传统上,先将可能需要的操作系统的映像文件配置于至少一个映像文件服务器中。计算器向映像文件服务器送出下载映像文件的请求,而映像文件服务器再回应并提供计算器所需的映像文件。
然而在下载映像文件的过程之中,难免会发生因为意外停电、计算器或映像文件服务器断电、系统当机或是网络线脱落等等各种意外情况造成下载被中断的情形。一般的映像文件的格式是基于计算器的磁盘分区(disk zone,或称为磁盘分割)以及文件配置的方式储存。因此在下载映像文件的过程中,需要依磁盘分区的顺序下载数据,且整个下载过程中的数据之间都是彼此相关的。由于后面的下载数据相依于前面的数据,一但发生中断,只能从映像文件最前头的地方开始重新下载。
也就是说,在传统的映像文件下载方法中,不论何种原因,一但下载被中断,计算器都得要重新从头在下载一次。不论在前次被中断的下载过程中已经传输多少数据,这些数据都会被废弃,整个映像文件都需要从零开始再传一次。
因此传统的下载方法显然有遇到中断时会非常浪费时间与频宽等资源,且下载效率低下的问题。再加上映像文件的文件大小通常都相当大,更是加剧了时间与频宽等资源被无谓耗费的情形。
发明内容
为了解决上述问题,提出一种映像文件(image file)的下载方法,其适用于由一映像文件服务器下载一映像文件至一目标磁盘(di sk)。映像文件的下载方法包括:由映像文件服务器读取映像文件的一文件头信息(header);读取目标磁盘的多个磁盘数据块(data block)中的一起始数据块,其中磁盘数据块的大小相同;当起始数据块具有一进度信息时,依据进度信息得到一目前数据块;由映像文件的多个映像文件数据块之中,将与目前数据块对应的映像文件数据块下载至目前数据块,其中映像文件数据块分别对应于磁盘数据块;更新进度信息;当下载完成的目前数据块为目标磁盘的一结尾数据块时,将与起始数据块对应的映像文件数据块下载至起始数据块,并更新目标磁盘的一分区表信息;以及重复以上步骤直到将所有的映像文件数据块下载至磁盘数据块。
而当起始数据块不具有进度信息时,可将起始数据块的下一个磁盘数据块作为目前数据块,并于起始数据块建立进度信息。在读取目标磁盘的多个磁盘数据块中的一起始数据块,其中磁盘数据块的大小相同的步骤之前,映像文件的下载方法另可包括:当目标磁盘的一磁盘容量小于映像文件的一映像文件容量时,结束映像文件的下载。
其中文件头信息可包括一映像文件名称、一映像文件大小、一源磁盘大小、一数据块大小、一数据块数量或是这些映像文件数据块在映像文件中的多个映像文件数据块地址。而映像文件可包括一磁盘数据块索引信息,以记录与这些映像文件数据块分别对应的磁盘数据块的多个索引位置。映像文件并可包括一文件尾(end of file,EOF,文件尾信息)。
此外,进度信息可包括目前数据块的一索引位置、一数据块下载表、映像文件的一认证信息或是一程序参数信息。而每一个映像文件数据块可分别包括一元数据(metadata)以及一内容数据。其中每一个元数据可包括所属的映像文件数据块的一数据块标示、一数据块大小或是一压缩旗标。
综上所述,映像文件的下载方法避免数据彼此之间的相依性,并在目标磁盘中维护进度信息,以达成断点续传的功能。因此目标计算机不必再重复之前下载过的数据,而大幅提高下载效率。且进度信息中维护有映像文件的认置信息等信息,而能够确保续传时映像文件的一致性。
附图说明
图1为一实施范例的映像文件的示意图;
图2为一实施范例的目标磁盘的示意图;
图3为一实施范例的映像文件的下载方法的流程图。
其中,附图标记:
20映像文件 22文件头信息
24磁盘数据块索引信息
26,26a,26b,26c映像文件数据块28文件尾
30目标计算机
31目标磁盘
32,32a,32b,32c磁盘数据块
40映像文件服务器
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域的技术人员了解本发明的技术内容并据以实施,且根据本说明书所公开的内容、权利要求保护范围及附图,任何本领域的技术人员可轻易地理解本发明相关的目的及优点。
本发明关于一种映像文件(image file)的下载方法,适用于由一映像文件服务器(server)下载一映像文件至一目标计算机的一目标磁盘(target disk)。
请同时参照图1以及图2,其分别为一实施范例的映像文件以及目标磁盘的示意图。
映像文件20可以是国际标准组织(international organisation for standardisation,ISO)9660文件系统(俗称为ISO文件),或是微软(microsoft)的Windows Imaging(WIM)的文件类型。映像文件20又例如是对应于各种操作系统的系统文件或核心(kernel)程序,例如窗口7(Windows7)系统的系统文件。
映像文件20至少包括一文件头信息22以及多个映像文件数据块(data block)26,其中文件头信息22用以记录映像文件20的全体信息。各个映像文件数据块26的大小相同,且映像文件数据块26之间都是彼此独立的。文件头信息22可包括一映像文件名称、一映像文件大小、一源磁盘大小、一数据块大小、一数据块数量或是映像文件数据块26在映像文件20中的多个映像文件数据块地址。
每个映像文件数据块26则可分别包括一元数据(metadata)以及一内容数据。其中每一个元数据可包括所属的映像文件数据块26的一数据块标示、一数据块大小或是一压缩旗标。映像文件20的第一个映像文件数据块26可包括目标磁盘31的一磁盘分区表(partition table)。此外,映像文件20并可包括一文件尾信息(end of file,EOF)28。
目标计算机30可以是桌上型计算机(台式机)、笔记型计算机(笔记本计算机)、服务器、个人数字助理(Personal Digital Assistant,PDA)或者智能型手机。而目标磁盘31可以例如是各种大容量的硬盘(hard disk,硬盘)、磁盘阵列(redundant array of inexpensive disk,RAID,磁盘数组)系统或是可携式装置内建的硬盘。除了目标磁盘31之外,目标计算机30另可包括中央处理器(central processor unit,CPU)或是内存等其它硬件(hardware,硬件)。且目标计算机30可透过网络与映像文件服务器40联机,以下载映像文件服务器40的映像文件20。
目标磁盘31包括多个磁盘数据块32以储存下载的映像文件数据块26,故磁盘数据块32分别与映像文件数据块26对应。以图1的实施方式为例,磁盘数据块32a、32b以及32c分别与映像文件数据块26a、26b以及26c对应。故这些磁盘数据块32以及映像文件数据块26的大小都相同。需注意的是,目标磁盘31另可包括其它非用以下载映像文件20的磁盘数据块32。但以下为了说明方便,仅说明下载映像文件20时相关的这些磁盘数据块32的动作。
首先目标计算机30由映像文件服务器40读取映像文件20的文件头信息22(步骤S100);并可由文件头22中记录的映像文件名称或是映像文件大小等信息确认此映像文件20是否为所需的。目标计算机30读取目标磁盘31的磁盘数据块32中的一起始数据块(步骤S110),其中起始数据块为用以下载映像文件20的这些磁盘数据块32中的第一个。以图2的实施范例而言,磁盘数据块32a就是起始数据块。此外,映像文件20可包括一磁盘数据块索引信息24,以记录与映像文件数据块26分别对应的磁盘数据块32的多个索引位置。目标计算机30可依据磁盘数据块索引信息24在目标磁盘31中找到所需的磁盘数据块32的地址。
根据一实施范例,在步骤S110之前,映像文件的下载方法另可包括:当目标磁盘31的一磁盘容量小于映像文件20的一映像文件容量时,结束映像文件20的下载。也就是说,在真正开始下载映像文件20之前,可以先判断目标磁盘31的磁盘容量是否足够,以避免下载途中才发现无法完成映像文件20的窘境。
接着判断起始数据块是否具有一进度信息(步骤S120)。进度信息用以记录此映像文件20在此目标磁盘31的下载进度,若在初始数据块中有找到下载进度,表示之前目标磁盘31有下载过部分的映像文件20。当起始数据块具有进度信息时,依据进度信息得到一目前数据块(步骤S130)。也就是说,进度信息中记录有之前下载中断的断点。而当起始数据块不具有进度信息时,将起始数据块(也就是磁盘数据块32a)的下一个磁盘数据块32(32b)作为目前数据块,并于起始数据块建立进度信息(步骤S140)。
进度信息中可以包括目前数据块的一索引位置、一数据块下载表、映像文件20的一认证信息或是一程序参数信息。其中数据块下载表可以用位映像(bit map)的方法记录所有磁盘数据块32的下载情形。例如可以以“1”表示此磁盘数据块32已完成下载;以“0”表示此磁盘数据块32尚未完成下载。认证信息则可以是校验和码(checksum code)或是信息摘要算法5码(Message-Digest Algorithm 5code,MD5code),以确保断点续传的前后映像文件20的一致性。程序参数信息则用以记录下载时需要的相关参数,例如程序操作类型、待操作的目标磁盘31的设备识别码(identifier,ID)、映像文件20的文件路径的全路径名,或是磁盘分区的扩展参数(extend parameter)等。其中映像文件20的文件路径可以是网络路径,也可以是映像文件服务器40中的本地路径。上述这些进度信息的内容都可以在目标计算机30的一次下载映像文件20时建立于初始数据块,以便需要断点续传时沿用。
得到目前数据块之后,由映像文件20的映像文件数据块26之中,将与目前数据块对应的映像文件数据块26下载至目前数据块(步骤S150)。延续前述实施范例,将与磁盘数据块32b对应的映像数据块26b下载到磁盘数据块32b之中。需注意的是,由于每个磁盘数据块32都是互相独立的,而每个映像文件数据块26都会被下载并还原到目标磁盘31的绝对位置上。因此一个磁盘数据块32的下载动作不会影响到其它的磁盘数据块32。
当与目前数据块对应的映像文件数据块26下载成功完成时,目标计算机30根据目前数据块更新进度信息(步骤S160)。此时原本的目前数据块的下一个磁盘数据块32会被设为新的目前数据块。目标计算机30并判断下载完成的目前数据块(也就是在步骤S160更新之前的目前数据块)是否为目标磁盘31的一结尾数据块(步骤S170)。结尾数据块为用以下载映像文件20的这些磁盘数据块32中的最后一个。以图2的实施范例而言,磁盘数据块32c就是起始数据块。
当下载完成的目前数据块为目标磁盘31的结尾数据块时,将与起始数据块对应的映像文件数据块26下载至起始数据块,并更新目标磁盘31的一分区表信息(步骤S180)。也就是说,与起始数据块对应的映像文件数据块26会是整个映像文件20之中最后被下载的映像文件数据块26。此时下载的映像文件数据块26会覆盖掉原本写入的进度信息。且由于各个磁盘数据块32之间彼此独立,目标磁盘31可维护分区信息表以记录这些磁盘数据块32与目标磁盘31的至少一磁盘分区(disk zone,亦称为磁盘分割)的关系。
而当下载完成的目前数据块不是结尾数据块时,则可重复步骤S150、S160以及S170直到将所有的映像文件数据块26下载至对应的磁盘数据块32。
综上所述,映像文件的下载方法在将映像文件以及目标磁盘分割成大小相同且彼此独立的数据块,以避免数据彼此之间的相依性。映像文件的下载方法并在目标磁盘中维护进度信息,以记录下载的进度,进而达到断点续传的功能。如此一来,目标计算机不必再重复之前下载过的数据,而大幅减轻了下载的时间与频宽等资源,提高了下载的效率。且进度信息中维护有映像文件的认置信息等信息,而能够确保续传时映像文件的一致性。故本方法亦能避免因人为操作失误等原因而由不同的映像文件下载错误数据的情形,而确保了下载的数据的正确性与唯一性。
以上较佳具体实施范例的详述,是希望藉此更加清楚描述本发明的特征与精神,并非以上述公开的较佳具体实施范例对本发明的范畴加以限制。相反地,其目的是希望将各种改变及具相等性的变型方案涵盖于本发明所欲申请的专利保护范围的范畴内。
Claims (9)
1.一种映像文件的下载方法,适用于由一映像文件服务器下载一映像文件至一目标磁盘,其特征在于,该映像文件的下载方法包括:
由该映像文件服务器读取该映像文件的一文件头信息;
读取该目标磁盘的多个磁盘数据块中的一起始数据块,其中该些磁盘数据块的大小相同;
当该起始数据块具有一进度信息时,依据该进度信息得到一目前数据块;
由该映像文件的多个映像文件数据块之中,将与该目前数据块对应的该映像文件数据块下载至该目前数据块,其中该些映像文件数据块分别对应于该些磁盘数据块;
更新该进度信息;
当下载完成的该目前数据块为该目标磁盘的一结尾数据块时,将与该起始数据块对应的该映像文件数据块下载至该起始数据块,并更新该目标磁盘的一分区表信息;以及
重复以上步骤直到将所有的该些映像文件数据块下载至该些磁盘数据块。
2.如权利要求1所述的映像文件的下载方法,其特征在于,还包括:
当该起始数据块不具有该进度信息时,将该起始数据块的下一个该磁盘数据块作为该目前数据块,并于该起始数据块建立该进度信息。
3.如权利要求1所述的映像文件的下载方法,其特征在于,在该读取该目标磁盘的多个磁盘数据块中的一起始数据块,其中该些磁盘数据块的大小相同的步骤之前还包括:
当该目标磁盘的一磁盘容量小于该映像文件的一映像文件容量时,结束该映像文件的下载。
4.如权利要求1所述的映像文件的下载方法,其特征在于,该文件头信息包括一映像文件名称、一映像文件大小、一源磁盘大小、一数据块大小、一数据块数量或是该些映像文件数据块在该映像文件中的多个映像文件数据块地址。
5.如权利要求1所述的映像文件的下载方法,其特征在于,该映像文件包括一磁盘数据块索引信息,以记录与该些映像文件数据块分别对应的该些磁盘数据块的多个索引位置。
6.如权利要求1所述的映像文件的下载方法,其特征在于,该进度信息包括该目前数据块的一索引位置、一数据块下载表、该映像文件的一认证信息或是一程序参数信息。
7.如权利要求1所述的映像文件的下载方法,其特征在于,该些映像文件数据块分别包括一元数据以及一内容数据。
8.如权利要求7所述的映像文件的下载方法,其特征在于,每一该元数据包括所属的该映像文件数据块的一数据块标示、一数据块大小或是一压缩旗标。
9.如权利要求1所述的映像文件的下载方法,其特征在于,该映像文件还包括一文件尾信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105268583A CN101977231A (zh) | 2010-10-21 | 2010-10-21 | 映像文件的下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105268583A CN101977231A (zh) | 2010-10-21 | 2010-10-21 | 映像文件的下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101977231A true CN101977231A (zh) | 2011-02-16 |
Family
ID=43577075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105268583A Pending CN101977231A (zh) | 2010-10-21 | 2010-10-21 | 映像文件的下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101977231A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844260A (zh) * | 2016-09-19 | 2018-03-27 | 深圳市深信服电子科技有限公司 | 一种虚拟机磁盘空间扩容的方法及装置 |
CN108513169A (zh) * | 2018-04-04 | 2018-09-07 | 青岛海信电器股份有限公司 | 一种芯片下载启动程序的方法、芯片及液晶电视 |
CN110888647A (zh) * | 2018-09-07 | 2020-03-17 | 宏碁股份有限公司 | 还原映像文件的部署方法与使用此方法的电子装置 |
CN111104387A (zh) * | 2019-11-22 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 在服务器上获取数据集的方法和装置 |
CN111506415A (zh) * | 2019-01-31 | 2020-08-07 | 佛山市顺德区顺达电脑厂有限公司 | 用于多个硬盘的作业系统布署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326141A (zh) * | 2000-05-25 | 2001-12-12 | 英业达股份有限公司 | 用点阵格式文件复制视窗网络操作系统文件系统的方法 |
CN101441639A (zh) * | 2007-11-21 | 2009-05-27 | 英业达股份有限公司 | 一种映像文件的生成方法 |
CN101441638A (zh) * | 2007-11-21 | 2009-05-27 | 英业达股份有限公司 | 映像文件的数据结构 |
CN101635742A (zh) * | 2009-08-24 | 2010-01-27 | 腾讯科技(深圳)有限公司 | 下载方法和装置 |
-
2010
- 2010-10-21 CN CN2010105268583A patent/CN101977231A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326141A (zh) * | 2000-05-25 | 2001-12-12 | 英业达股份有限公司 | 用点阵格式文件复制视窗网络操作系统文件系统的方法 |
CN101441639A (zh) * | 2007-11-21 | 2009-05-27 | 英业达股份有限公司 | 一种映像文件的生成方法 |
CN101441638A (zh) * | 2007-11-21 | 2009-05-27 | 英业达股份有限公司 | 映像文件的数据结构 |
CN101635742A (zh) * | 2009-08-24 | 2010-01-27 | 腾讯科技(深圳)有限公司 | 下载方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844260A (zh) * | 2016-09-19 | 2018-03-27 | 深圳市深信服电子科技有限公司 | 一种虚拟机磁盘空间扩容的方法及装置 |
CN108513169A (zh) * | 2018-04-04 | 2018-09-07 | 青岛海信电器股份有限公司 | 一种芯片下载启动程序的方法、芯片及液晶电视 |
CN110888647A (zh) * | 2018-09-07 | 2020-03-17 | 宏碁股份有限公司 | 还原映像文件的部署方法与使用此方法的电子装置 |
CN111506415A (zh) * | 2019-01-31 | 2020-08-07 | 佛山市顺德区顺达电脑厂有限公司 | 用于多个硬盘的作业系统布署方法 |
CN111506415B (zh) * | 2019-01-31 | 2022-04-05 | 佛山市顺德区顺达电脑厂有限公司 | 用于多个硬盘的作业系统布署方法 |
CN111104387A (zh) * | 2019-11-22 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 在服务器上获取数据集的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843978B (zh) | 一种sdk接入方法及系统 | |
US20090019223A1 (en) | Method and systems for providing remote strage via a removable memory device | |
US20150161155A1 (en) | Accessing data in a compressed container through dynamic redirection | |
CN111868705B (zh) | 记录装置、读取装置、记录方法、读取方法及磁带 | |
WO2009089426A1 (en) | Selecting storage location for file storage based on storage longevity and speed | |
CN103136243A (zh) | 基于云存储的文件系统去重方法及装置 | |
CN102904878A (zh) | 用于数据包的高效下载的方法及系统 | |
CN101977231A (zh) | 映像文件的下载方法 | |
CN112612417B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN110716845B (zh) | 一种Android系统的日志信息读取的方法 | |
CN103036948A (zh) | 网络文件处理方法、执行节点、软件即服务SaaS平台 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CN111803917A (zh) | 资源的处理方法和装置 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
US20120151005A1 (en) | Image file download method | |
US10311026B2 (en) | Compressed data layout for optimizing data transactions | |
CN107944010B (zh) | 一种分布式文件系统中读写文件的方法和装置 | |
CN115098297B (zh) | 一种云原生存储数据卷的一致性快照生成方法和系统 | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
CN115599299A (zh) | 一种存储桶管理方法、装置及电子设备和存储介质 | |
US9804968B2 (en) | Storage system and data writing method | |
CN114661243A (zh) | 一种适ssd的可见容量调整的方法、装置、设备及介质 | |
CN112395256B (zh) | 一种数据读取方法、电子设备及计算机存储介质 | |
CN106998355B (zh) | 电子设备间的数据传输方法、电子设备及数据传输系统 | |
CN112036133A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110216 |