一种海量文件并行刻录方法及装置制造方法

文档序号:6619708阅读:168来源:国知局
一种海量文件并行刻录方法及装置制造方法
【专利摘要】本发明适用于数据存储【技术领域】,提供一种海量文件并行刻录方法及装置,所述方法包括文件分割步骤、子文件添加步骤、阈值判断步骤以及数据刻录步骤。本发明提供一种基于光盘存储系统的文件管理和并行刻录方案,本方案中,光盘存储系统中的文件可自动组织以及分配,并且为每张光盘分配文件集,实现多光驱同时工作并行刻录数据。
【专利说明】一种海量文件并行刻录方法及装置

【技术领域】
[0001]本发明属于数据存储【技术领域】,尤其涉及一种海量文件并行刻录方法及装置。

【背景技术】
[0002]大数据时代数据量增长速度不断提升,进而对于存储系统容量和性能产生巨大压力。考虑到越来越多重要数据需要长期保存,而光盘存储是一种廉价的数据长期保存方式。光盘存储系统是通过光盘驱动器存取光盘数据的计算机设备。光盘驱动器能够存取光盘介质上的数据,并通过数据接口和主机系统实现数据通讯。而光盘驱动器中具有光盘刻录功能驱动器称之为光盘刻录驱动器。数据文件需要通过光盘刻录驱动器把数据刻录到可刻录光盘中,实现数据保存。
[0003]现有光盘具有多种类型。⑶光盘的最大容量大约是700M,DVD盘片单面4.7GB,最多能刻录约4.59G的数据(因为DVD的IGB = 1000ΜΒ,而硬盘的IGB = 1024MB)(双面
8.5GB,最多约能刻8.3GB的数据),蓝光(BD)的则比较大,其中HD DVD单面单层15GB、双层30GB ;BD单面单层25GB、双面50GB、三层75GB、四层100GB。日本东京大学的研究团队已经发现一种材料,可以用来制造更便宜、容量更大得多的超级光盘,可以储存的容量是一般DVD的5千倍。
[0004]利用光盘存储系统存储数据时,文件写入的并行度受系统中的光盘刻录驱动器(后面简称光驱)数目限制。在使用现有光盘存储系统写文件时,按照主机系统传入的文件顺序依次刻录入光盘中。由于光盘容量的限制,可能需要对文件进行分割操作。由于文件是依次刻录入光盘中,则可能造成不必要的文件分割操作,即某文件大小小于光盘总可用容量,但此时光盘可用剩余容量小于文件大小,此时需要对文件进行分割操作,增加了文件刻录管理的复杂性。由于文件是依次刻录入光盘中,这也降低了光盘存储系统的写入速度。
[0005]因此,迫切的需要一种面向多光盘刻录驱动器的大量文件集合分配方法以及在此基础上实现并行刻录,减少不必要的文件分割,保持文件原有的数据特性,提高光盘存储系统的并行写速度。


【发明内容】

[0006]鉴于上述问题,本发明的目的在于提供一种海量文件并行刻录方法及装置,旨在提闻光盘存储系统的并行与速度。
[0007]—方面,所述海量文件并行刻录方法包括下述步骤:
[0008]获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集;
[0009]获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕;
[0010]将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号;
[0011]取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。。
[0012]另一方面,所述海量文件并行刻录装置包括:
[0013]文件分割单元,用于获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集;
[0014]子文件添加单元,用于获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕;
[0015]阈值判断单元,用于将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号;
[0016]数据刻录单元,用于取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
[0017]本发明的有益效果是:本发明提供了一种文件并行刻录方案,包括文件分割、排序、子文件添加等,实现文件的管理以及分割,避免了不必要的文件分割,最大可能性的保持文件原有的数据属性,提高了并行刻录速度。

【专利附图】

【附图说明】
[0018]图1是光盘存储系统结构图;
[0019]图2是本发明第一实施例提供的海量文件并行刻录方法的流程图;
[0020]图3是本发明第二实施例提供的海量文件并行刻录方法的流程图;
[0021]图4是文件集在全局目录树中的层次结构图;
[0022]图5是分割完成后的文件分割表;
[0023]图6是分割后子文件排序表;
[0024]图7是已分配光盘集CD_ASSIGN中光盘属性表;
[0025]图8是子文件添加到CD_SASSIGN中的结果表;
[0026]图9是待刻录光盘集CD_WAIT中的光盘属性表;
[0027]图10是本发明第三实施例提供的海量文件并行刻录装置的结构方框图。

【具体实施方式】
[0028]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0029]本发明实施例提供的技术方案基于光盘存储系统实现,如图1所示,所述光盘存储系统包括前端主机、控制器、存取缓冲器、一组光盘驱动器、批量光盘组成。一组光盘驱动器通过后端数据通道和控制器相连,控制器通过前端数据通道和主机系统相连,一组光盘可以通过自动或者手工的方式装载到光盘驱动器组中。
[0030]所述光盘驱动器,在本实施实例中,假设光盘驱动器的数目为6,并行最低限值为
2。即在本实施实例中,最大可达的并行度为6,必须保证的最低并行度为2。
[0031]每张光盘的容量属性包括:光盘的总容量大小T_SIZE、光盘的兀数据区容量M_SIZE、光盘的剩余可用容量R_SIZE。每张光盘存在文件属性即每张光盘上记录的文件集合为CD_FSET。一张未使用过的光盘CD_FSET为空集。在本实施实例中,所有光盘的容量相等,并记光盘的可用容量为 V_SIZE = T_SIZE-M_SIZE,并假设 T_SIZE = 40GB, M_SIZE = 1GB,则 V_SIZE = 39GB, R_SIZE< = V_SIZE。
[0032]所述海量光盘,在本实施实例中,共分为4个子集,分别为已经刻录过的光盘集(即已刻录光盘集CD_USED)、等待刻录的光盘集合(即待刻录光盘集CD_WAIT)、已经为光盘分配文件的光盘集(即已分配光盘集CD_ASSIGN)、未为光盘分配分配文件的光盘集(即未分配光盘集CD_NU)。在本实施实例中,为每张光盘分配唯一的光盘ID标识光盘身份。分配光盘ID的时间为光盘加入CD_WAIT子集中。因此在本实施实例中,小于CD_WAIT子集中光盘元素最小ID的光盘均属于CD_USED子集。
[0033]基于上述描述,下面通过具体实施例来进行说明。
[0034]实施例一:
[0035]图2示出了本发明实施例提供的海量文件并行刻录方法的流程,为了便于说明仅不出了与本发明实施例相关的部分。
[0036]本实施例提供的海量文件并行刻录方法包括:
[0037]步骤S201、获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集。
[0038]本步骤实现文件分割。在光盘存储系统中,前端主机将要准备刻录的文件通过控制器写入存取缓冲器,本步骤中,首先从存取缓冲器中取出文件集,然后按照要求对文件集中的文件进行分割,得到子文件。然后对子文件进行排序生成新文件集。
[0039]步骤S202、获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕。
[0040]本步骤实现子文件添加。在文件分割排序完毕后,结合子文件的大小以及已分配光盘集中光盘的剩余可用容量,将各个子文件添加到对应光盘中,必要时,还可以增加未分配光盘到已分配光盘中,以实现完成添加所有子文件。
[0041]步骤S203、将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号。
[0042]在已分配光盘集中,若光盘的剩余可用容量小于或等于容量阈值或者时间上大于时间阈值,则将该光盘转至待刻录光盘集,并为该光盘分配一个新的编号。
[0043]步骤S204、取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
[0044]最后,取待刻录光盘集中光盘,从存取缓冲器中读取相应数据以及元数据信息,完成光盘刻录。
[0045]本实施例提供了一种文件分割方法、子文件添加方法完成并行数据刻录,本方法能够实现光盘存储系统中的文件的自动组织以及分配,为每张光盘分配文件集,多光驱同时工作并行刻录数据。
[0046]实施例二:
[0047]图3示出了本发明实施例提供的海量文件并行刻录方法的流程,为了便于说明仅不出了与本发明实施例相关的部分。
[0048]本实施例提供的海量文件并行刻录方法包括:
[0049]步骤S301、从存取缓冲器中获取文件集,为其中的文件分配唯一文件编号并记录文件在全局目录树中的位置,将位置关系加入全局目录表中.
[0050]所述存取缓冲器中保保存有从前端主机传入的文件,构成文件集FSET。在本实施实例中,文件集FSET在全局目录树中的层次结构如图4所示。为FSET中的文件分配唯一的文件ID并记录文件在全局目录树中的位置,将其关系加入全局目录表中。每个文件具有唯一 ID用于标识文件身份,文件具有属性信息,具体包括文件的大小、文件是否被分割、各部分文件的写入光盘的位置等。假设第一个文件(即filel)的ID编号为10000。
[0051]步骤S302、将文件按照大小降序排列,按照光盘的可用容量对文件进行分割得到子文件,并对子文件进行标号,加入到文件分割表中.
[0052]所述文件集FSET中的文件,在分配ID并建立文件层级关系之后,将FSET中的文件扁平化放置,并且根据文件大小降序排列。文件集FSET排序后的文件,若存在文件大于V_SIZE的文件,对文件进行分割,分割后子文件的大小不大于V_SIZE,并且对分割后所有子文件进行局域内编号,记录原文件与子文件之间的对应关系,加入文件分割表中。根据本实施实例的FSET,分割完成后的文件分割表如图5所示。
[0053]步骤S303、对子文件按照大小降序排列,生成新文件集。
[0054]完成分割后,对所有的子文件按照大小降序排序,形成新文件集FSET_NEW。本实施实例中,FSET分割后子文件排序前后的排列如图6所示。上述步骤S301-S303是实施例一中步骤S201的一种具体优选实施方式。
[0055]步骤S304、当新文件集不为空时,获取已分配光盘集的属性信息。
[0056]所述已分配光盘集CD_ASSIGN中的光盘具有容量属性,还具有时间属性--ΜΕ。当光盘加入CD_ASSIGN时,将当时时间赋值给时间属性TIME。
[0057]步骤S305、按照已分配光盘集中的光盘的剩余可用容量进行升序排列,并为排序好的光盘分配临时编号。
[0058]如图7所示,假设已分配光盘集中有四张光盘,按剩余可用容量R_SIZE进行升序排列,并为排序好的光盘分配临时编号,图示中,这四张光盘的编号CD_N0分别为1-4,剩余可用容量分别为5GB、10GB、25GB、36GB,时间信息分别为50分钟、40分钟、30分钟、10分钟,已经包含的文件集合分别为34GB、29GB、14GB、3GB。
[0059]步骤S306、从已分配光盘集按顺序取一张光盘,获取剩余可用容量。
[0060]从已分配光盘集中取第一张光盘,获取剩余可用容量为5GB。
[0061]步骤S307、遍历新文件集中的子文件,判断是否存在不大于当前光盘可用剩余容量的子文件;
[0062]步骤S308、若存在,则将该子文件从新文件集中添加到该光盘的文件集合中,并更新该光盘的剩余可用容量,继续遍历判断;若不存在,当已分配光盘集未取完时,取下一张光盘,继续在新文件集中选择子文件。
[0063]按照图6所示的排序表,从大大小在FSET_NEW中寻找容量大小不大于为5GB的文件,找到文件编号为3的文件,且文件大小为3GB,将该子文件转移至编号为I的光盘中,并更新编号该光盘的剩余可用容量为5-3 = 2GB,继续寻找容量大小不大于2GB的文件,未找到,此轮遍历完毕,选取下一张光盘,即编号为2的光盘,其剩余可用容量为10GB,从大到小继续遍历子文件,发现编号为6的子文件体积不大于10GB,因此将该子文件转移至编号为2的光盘中,依次类推,继续遍历。
[0064]步骤S309、当已分配光盘集已取完且新文件集中还有子文件时,从未分配光盘集中取一张光盘并临时编号,并设置时间和容量属性,将新取的光盘转至已分配光盘集中,继续添加子文件。
[0065]在添加子文件的过程中,若CD_ASSIGN中的所有光盘的R_SIZE都小于剩余子文件大小,则从CD_UN集合中,选出新的光盘加入CD_ASSIGN中,继续上述选择子文件过程。比如,将编号为10的子文件添加到编号为4的光盘后,剩余可用容量为21GB,剩余的子文件中体积都是38GB或以上,因此找不到体积不大于21GB的子文件,此时从CD_UN集合中选出一张新光盘加入CD_ASSIGN中,且编号为5,则编号为5的光盘其R_SIZE = 39GB, time_gap=0,继续从大到小向该光盘添加子文件,最终子文件添加到光盘中的结果如图8所示。
[0066]上述步骤S304-S309是实施例一中步骤S202的一种具体优选实施方式,提供了一种子文件分配方案,首先对CD_ASSIG中的光盘按R_SIZE容量属性进行升序排列,并为排序好的光盘分配临时编号;然后按照顺序取CD_ASSIGN中的光盘的R_SIZE,记为EXCEPT_SIZE,判断在FSET_NEW中是否存在不大于EXCEPT_SIZE的文件,若存在,则将该文件从FSET_NEff中转移到该光盘的CD_FSET集合中,该光盘的R_SIZE更新为原R_SIZE减去子文件大小;若不存在,则取CD_ASSIGN中的下一个光盘,继续在FSET_NEW中选择文件;若CD_ASSIGN中的所有光盘的R_SIZE都小于文件大小,则从CD_UN集合中,选出新的光盘加入CD_ASSIGN中,继续上述选择子文件过程。
[0067]步骤S310、判断已分配光盘集中是否存在剩余可用容量小于容量阈值或者时间大于时间阈值的光盘;
[0068]步骤S311、若存在则为该光盘分配一个新的标号,并且根据光盘文件集合生成对应元数据,将该光盘转至待刻录光盘集。
[0069]在添加子文件过程中,当CD_ASSIGN中的某光盘的时间属性--ΜΕ与当前时间的时间间隔超过时间阈值或容量属性R_SIZE不大于容量阈值时,将该光盘从CD_ASSIGN中转移到CD_WAIT中,并为光盘分配唯一的光盘ID。在本实施实例中,时间阈值TME_THRESH0LD为I小时,容量阈值V0LUME_THRESH0LD为1GB。本实施实例中,假设CD_USED中最大的光盘IDUSED_MAX = 10090, CD_WAIT在此时为空集,则根据容量阈值以及时间阈值,子文件装入后,CD_WAIT的内容以及光盘属性如图9所示。图示中,对于编号为10091的光盘,其剩余可用容量为2GB,在超过I小时后,若剩余可用容量仍为2GB,满足时间阈值条件,那么将该光盘转入CD_WAIT ;对于编号为10091的光盘,其剩余可容为0GB,小于时间阈值IGBdi足容量阈值条件,因此将该光盘转入CD_WAIT ;依次类类推,完成将所有CD_ASSIGN中的光盘转入CD_WAIT中。上述步骤S110、Slll为实施例一中步骤S203的一种优选实施方式。
[0070]步骤S312、取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
[0071 ] 所述CD_WAIT中的光盘具有文件属性CD_FSET,根据CD_FSET中的文件以及文件分割表来获取文件的位置属性信息,即文件是否被分割,若文件被分割,记录在本光盘上的文件的位置以及偏移地址等信息,写入文件属性信息区域。所述CD_WAIT中的光盘数目大于最低并行度且光盘存储系统存在空闲光驱时,从CD_WAIT中选择相应的光盘元素并根据其CD_FSET属性,从存取缓冲器中读取相应的数据信息以及元数据信息,通过光盘驱动器并行刻录入光盘中。刻录完成后,将存取缓冲器中的数据删除,并在文件分割表中删除对应的项。由此,实现文件的并行刻录。
[0072]文件刻录完毕后,当前端主机需要读取数据时,首先前端主机发送读数据的请求,获取文件ID,然后读取全局目录表,获取文件元数据位置;接着读取文件元数据位置,获取文件元数据信息,获取文件写入光盘的ID以及地址;然后读相应的光盘ID以及地址,获取文件内容。
[0073]实施例三:
[0074]图10示出了本发明实施例提供的海量文件并行刻录装置的结构,为了便于说明仅不出了与本发明实施例相关的部分。
[0075]本实施例提供的海量文件并行刻录装置包括:
[0076]文件分割单元101,用于获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集;
[0077]子文件添加单元102,用于获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕;
[0078]阈值判断单元103,用于将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号;
[0079]数据刻录单元104,用于取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
[0080]上述功能单元101-104对应实现了实施例一中步骤S201-S204,具体的,文件分割单元101完成文件分割并排序,子文件添加单元102将排序后的子文件添加到对应的光盘文件集合中,阈值判断单元103判断已分配光盘集中是否存在剩余可用容量小于容量阈值或者时间大于时间阈值的光盘,并对满足条件的光盘分配一个新的标号,并且根据光盘文件集合生成对应元数据,将该光盘转至待刻录光盘集;最后数据刻录单元104完成光盘刻录。
[0081]作为一种优选实施方式,所述文件分割单元101包括:
[0082]位置记录模块,用于文件从存取缓冲器中获取文件集,为其中的文件分配唯一文件编号并记录文件在全局目录树中的位置,将位置关系加入全局目录表中;
[0083]文件分割模块,用于将文件按照大小降序排列,按照光盘的可用容量对文件进行分割得到子文件,并对子文件进行标号,加入到文件分割表中;
[0084]排序模块,用于对子文件按照大小降序排列,生成新文件集。
[0085]作为一种优选实施方式,所述子文件添加单元102包括:
[0086]信息获取模块,用于用于当新文件集不为空时,获取已分配光盘集的属性信息;
[0087]容量排序模块,用于按照已分配光盘集中的光盘的剩余可用容量进行升序排列,并为排序好的光盘分配临时编号;
[0088]光盘获取模块,用于从已分配光盘集按顺序取一张光盘,获取剩余可用容量;
[0089]遍历判断模块,用于遍历新文件集中的子文件,判断是否存在不大于当前光盘可用剩余容量的子文件;
[0090]子文件处理模块,用于当遍历判断模块判断是时,将该子文件从新文件集中添加到该光盘的文件集合中,并更新该光盘的剩余可用容量,继续遍历判断;以及用于当遍历判断模块判断否时,若已分配光盘集未取完,取下一张光盘,继续在新文件集中选择子文件。
[0091]作为一种优选实施方式,所述子文件添加单元102还包括:
[0092]再分配模块,用于当已分配光盘集已取完且新文件集中还有子文件时,从未分配光盘集中取一张光盘并临时编号,并设置时间和容量属性,将新取的光盘转至已分配光盘集中,继续添加子文件。
[0093]作为一种优选实施方式,所述阈值判断单元103包括:
[0094]阈值判断模块,用于阈值判断判断已分配光盘集中是否存在剩余可用容量小于容量阈值或者时间大于时间阈值的光盘;
[0095]元数据生成模块,用于阈值判断模块判断是时,为该光盘分配一个新的标号,并且根据光盘文件集合生成对应元数据,将该光盘转至待刻录光盘集。
[0096]综上,本发明提供一种基于光盘存储系统的文件管理和并行刻录方案,本方案中,光盘存储系统中的文件可自动组织以及分配,并且为每张光盘分配文件集,实现多光驱同时工作并行刻录数据。
[0097]本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0098]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种海量文件并行刻录方法,其特征在于,所述方法包括: 获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集; 获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕; 将已分配光 盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号; 取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
2.如权利要求1所述方法,其特征在于,所述获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集步骤,具体包括: 从存取缓冲器中获取文件集,为其中的文件分配唯一文件编号并记录文件在全局目录树中的位置,将位置关系加入全局目录表中; 将文件按照大小降序排列,按照光盘的可用容量对文件进行分割得到子文件,并对子文件进行标号,加入到文件分割表中; 对子文件按照大小降序排列,生成新文件集。
3.如权利要求2所述方法,其特征在于,所述获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕步骤,具体包括: 当新文件集不为空时,获取已分配光盘集的属性信息; 按照已分配光盘集中的光盘的剩余可用容量进行升序排列,并为排序好的光盘分配临时编号; 从已分配光盘集按顺序取一张光盘,获取剩余可用容量; 遍历新文件集中的子文件,判断是否存在不大于当前光盘可用剩余容量的子文件; 若存在,则将该子文件从新文件集中添加到该光盘的文件集合中,并更新该光盘的剩余可用容量,继续遍历判断; 若不存在,当已分配光盘集未取完时,取下一张光盘,继续在新文件集中选择子文件。
4.如权利要求3所述方法,其特征在于,所述获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕步骤,还包括: 当已分配光盘集已取完且新文件集中还有子文件时,从未分配光盘集中取一张光盘并临时编号,并设置时间和容量属性,将新取的光盘转至已分配光盘集中,继续添加子文件。
5.如权利要求4所述方法,其特征在于,所述将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号步骤,具体包括: 判断已分配光盘集中是否存在剩余可用容量小于容量阈值或者时间大于时间阈值的光盘;若存在则为该光盘分配一个新的标号,并且根据光盘文件集合生成对应元数据,将该光盘转至待刻录光盘集。
6.一种海量文件并行刻录装置,其特征在于,所述装置包括: 文件分割单元,用于获取存取缓冲器中的文件集并按照文件大小进行排序分割得到子文件,对子文件进行降序排列生成新文件集; 子文件添加单元, 用于获取已分配光盘集的属性信息,从大到小依次读取已分配光盘集中光盘剩余可用容量,并将不大于所述剩余可用容量的子文件添加到对应的光盘文件集合中,并更新光盘的剩余可用容量,直至将所有子文件添加完毕; 阈值判断单元,用于将已分配光盘集中达到容量阈值或者时间阈值的光盘转到待刻录光盘集,并为该光盘分配一个新的编号; 数据刻录单元,用于取待刻录光盘集中光盘,并按照光盘文件集属性从存取缓冲器中读取相应数据以及元数据信息,刻录至光盘中,并将光盘转入已刻录光盘集。
7.如权利要求6所述装置,其特征在于,所述文件分割单元包括: 位置记录模块,用于文件从存取缓冲器中获取文件集,为其中的文件分配唯一文件编号并记录文件在全局目录树中的位置,将位置关系加入全局目录表中; 文件分割模块,用于将文件按照大小降序排列,按照光盘的可用容量对文件进行分割得到子文件,并对子文件进行标号,加入到文件分割表中; 排序模块,用于对子文件按照大小降序排列,生成新文件集。
8.如权利要求7所述装置,其特征在于,所述子文件添加单元包括: 信息获取模块,用于用于当新文件集不为空时,获取已分配光盘集的属性信息; 容量排序模块,用于按照已分配光盘集中的光盘的剩余可用容量进行升序排列,并为排序好的光盘分配临时编号; 光盘获取模块,用于从已分配光盘集按顺序取一张光盘,获取剩余可用容量; 遍历判断模块,用于遍历新文件集中的子文件,判断是否存在不大于当前光盘可用剩余容量的子文件; 子文件处理模块,用于当遍历判断模块判断是时,将该子文件从新文件集中添加到该光盘的文件集合中,并更新该光盘的剩余可用容量,继续遍历判断;以及用于当遍历判断模块判断否时,若已分配光盘集未取完,取下一张光盘,继续在新文件集中选择子文件。
9.如权利要求8所述装置,其特征在于,所述子文件添加单元还包括: 再分配模块,用于当已分配光盘集已取完且新文件集中还有子文件时,从未分配光盘集中取一张光盘并临时编号,并设置时间和容量属性,将新取的光盘转至已分配光盘集中,继续添加子文件。
10.如权利要求9所述装置,其特征在于,所述阈值判断单元包括: 阈值判断模块,用于阈值判断判断已分配光盘集中是否存在剩余可用容量小于容量阈值或者时间大于时间阈值的光盘; 元数据生成模块,用于阈值判断模块判断是时,为该光盘分配一个新的标号,并且根据光盘文件集合生成对应元数据,将该光盘转至待刻录光盘集。
【文档编号】G06F17/30GK104077406SQ201410326759
【公开日】2014年10月1日 申请日期:2014年7月10日 优先权日:2014年7月10日
【发明者】曹强, 姚杰, 谢长生, 彭晨 申请人:武汉光忆科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1