发明名称 一种文件合并方法及分解方法
摘要 本发明涉及计算机的文件系统技术,具体涉及一种文件合并方法及分解方法。文件合并方法包括如下步骤:遍历读取源文件形成源文件标记信息并存储到树形结构中;创建目标文件及相应的内存映射文件;把存储树形结构内容所占的字节数和树形结构的内容作为文件头信息先后写入到内存映射文件开始位置;根据树形结构将源文件的内容写入到内存映射文件中,写入的位置从存储树形结构内容之后开始;写操作结束后,关闭内存映射文件,形成的目标文件即是合并文件。本发明还提供一种对合并后的目标文件进行分解的文件分解方法。本发明提高了文件合并速度或分解速度,并能够在合并后的目标文件中对某个源文件进行快速查找和分解,极大地方便了用户对文件的操作。
申请公布号 CN102508880B 申请公布日期 2014.07.02
申请号 CN201110316534.1 申请日期 2011.10.18
申请人 广东威创视讯科技股份有限公司 发明人 韩玉青;胡建华
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 广州粤高专利商标代理有限公司 44102 代理人 禹小明
主权项 一种文件合并方法,其特征在于,包括如下步骤:进行文件合并,遍历读取源文件,形成源文件标记信息并存储到树形结构中;创建目标文件及相应的内存映射文件;把存储树形结构内容所占的字节数和树形结构的内容作为文件头信息先后写入到内存映射文件开始位置;根据树形结构将源文件的内容写入到内存映射文件中,写入的位置从存储树形结构内容之后开始;写操作结束后,关闭内存映射文件,形成的目标文件即是合并文件;根据树形结构将源文件的内容写入到内存映射文件中的具体步骤包括:根据当前分配的线程数C创建C个用于记录源文件序列的线程列表L<sub>p</sub>; 遍历树形结构获取每个源文件的标记信息和每个源文件的遍历路径,并将源文件标记信息中每个源文件的字节数作为关键字利用冒泡排序法将源文件排序,并根据排序结果将每个源文件的标记信息和遍历路径作为一个数据结构存储在数据列表L<sub>f</sub>中;根据源文件的总字节数S计算出每个线程需要处理的平均字节数:V= S/C;根据平均字节数将数据列表L<sub>f</sub>中每个源文件的标记信息、遍历路径以及文件拆分标记信息作为一个数据结构逐一循环压入到C个线程列表L<sub>p</sub>中;压入时,若某个源文件的字节数大于平均字节数V时,则将所述某个源文件的内容分成C个部分以生成C个文件拆分标记信息,再将所述某个源文件的标记信息和遍历路径对应一个文件拆分标记信息形成C个数据结构按顺序分别压入到C个线程列表L<sub>p</sub>中,若源文件的字节数小于平均字节数V时,则源文件不需拆分,且不需要填充其所对应数据结构中的文件拆分标记信息;当某个线程列表L<sub>p</sub>中源文件的总字节数大于平均字节数V时,不再对所述某个线程列表L<sub>p</sub>进行源文件分配,并进入下一个线程列表L<sub>p</sub>中进行判断及分配;C个线程根据线程列表L<sub>p</sub>中的分配结果同步将源文件写入到内存映射文件中。
地址 510663 广东省广州市高新技术产业开发区彩频路6号