【技术实现步骤摘要】
一种对比打包文件的方法,装置及其系统
本专利技术涉及一种对比打包文件的方法,特别是一种能对比打包文件的装置以及系统。
技术介绍
在大型客户端中所保存的资源文件通常是以压缩包的形式存在。现有的对比打包文件方法在对比两个压缩包中的文件内容是否完全一致时需要如下的三步处理过程:第一步,将第一个压缩包内的所有文件内容解压缩到硬盘上;第二步,再将第二个压缩包内的所有文件内容解压缩到硬盘上;第三步,对比两份解压缩后的相对应文件,确认所述两份文件内容是否相同。但所述这种现有的处理方式有如下四个重要的缺点:缺点1,由于所述现有处理过程的第一步和第二步中的解压缩处理需要进行硬盘的读写操作,因此处理速度相对变得非常缓慢,特别是当压缩包越大,所需要的读写时间就越长;缺点2,由于所述现有处理过程第三步的对比过程均为单一线程,如在文件读取过程中无法同时进行解压缩处理,而在进行解压缩处理过程中又无法同时进行对比文件的处理;缺点3,在执行完所有处理过程并输出对比结果后还需要将前两步解压到硬盘上的文件内容进行清理,从而减少对硬盘空间的占用,但同时该过程也需要一定的时间来进行硬盘的写操作;缺点4,现有的方法在进行文件读取过程中,由于没有考虑压缩包内文件在压缩包里面的地址顺序,而根据硬盘的机械特性,硬盘磁头在高地址与低地址之间反复跳动寻址,将影响文件读取的效率。因此现有的不根据地址顺序的读取会降低硬盘的读取效率。因此所述的现有的对比打包文件方法的效率非常低,当打包文件越大,其所需的时间也越长。
技术实现思路
为了解决现有技术中所存在的上述问题,本专利技术的目的是提供一种高效的对比打包文件的方法, ...
【技术保护点】
一种对比打包文件的方法,其特征在于:包括两条独立的流水线,每条流水线内包括:5个独立的线程:文件名比较线程,文件校验值比较线程,文件读取线程,文件解压线程,文件内容比较线程,5个独立的任务队列:文件名比较队列,文件校验值比较队列,文件读取队列,文件解压队列,文件内容比较队列,1个差异结果集合,所述的每个线程独立完成自己的工作,即每次从自己的任务队列中取出一个任务来完成,之后放入下一个任务队列中。
【技术特征摘要】
1.一种对比打包文件的方法,其特征在于:包括两条独立的流水线,每条流水线内包括:5个独立的线程:文件名比较线程,文件校验值比较线程,文件读取线程,文件解压线程,文件内容比较线程,5个独立的任务队列:文件名比较队列,文件校验值比较队列,文件读取队列,文件解压队列,文件内容比较队列,1个差异结果集合,所述的每个线程独立完成自己的工作,即每次从自己的任务队列中取出一个任务来完成,之后放入下一个任务队列中,所述的两条流水线在程序启动时同时运行,其每条流水线对文件的操作过程是:1)查询每一个包内文件名对应的包内地址,2)根据文件在包内的地址由低到高排序,3)将排序的文件名存入文件名比较队列中,4)运行:文件名比较线程,文件校验值比较线程,文件读取线程,文件解压线程和文件内容比较线程,其中,所述文件名比较线程用于执行文件名对比操作,所述文件校验值比较线程用于执行文件校验值比较操作,所述文件读取线程用于执行将文件数据读取至内存的操作,所述文件解压线程用于执行文件解压操作,所述文件内容比较线程用于执行文件内容的比较操作,5)从差异结果集合中取出所有文件名,并输出。2.根据权利要求1所述的一种对比打包文件的方法,其特征在于:用于对比的打包文件中,存储了每一个包内的文件名所对应的包内文件地址和校验值。3.根据权利要求2所述的一种对比打包文件的方法,其特征在于:校验值可选用CRC。4.根据权利要求1所述的一种对比打包文件的方法,其特征在于:所述的差异结果集合中存储了文件名,文件校验值,文件内容上有差异的文件。5.根据权利要求1所述的一种对比打包文件的方法,其特征在于:“文件名比较线程”工作过程如下:1)取出本流水线“文件名比较队列”中的一个文件;2)在另一条流水线的“文件名比较队列”中查找此文件名;3)若能找到,则将此文件放入本流水线的“文件校验值对比队列”,并将其从本流水线的“文件名比较队列”中删除,若不能找到则将其存入“差异结果集合”中;4)返回步骤1),以便取下一个文件。6.根据权利要求1所述的一种对比打包文件的方法,其特征在于:“文件校验值对比线程”工作过程如下:1)取出本流水线“文件校验值对比队列”中的一个文件;2)在另一条流水线的“文件校验值对比队列”中查找此文件名;3)若能找到,跳转到步骤4),若没有找到,则不做任何处理,跳转到步骤5);4)对比两个文件的校验值,若此时两个文件的校验值不同则将其存入“差异结果集合”中,则若此时两个文件的校验值相同,则将此文件放入本流水线的“文件读取队列”,并将其从本流水线的“文件校验值对比队列”中删除;5)返回步骤1),以便取下一个文件。7.根据权利要求1所述的一种对比打包文件的方法,其特征在于:“文件读取线程”工作过程如下:1)取出本流水线“文件读取队列”中...
【专利技术属性】
技术研发人员:刘畅,
申请(专利权)人:珠海金山网络游戏科技有限公司,成都西山居互动娱乐科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。