文件收集方法与装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种文件收集方法与装置。
背景技术
随着互联网的日益发展,用户对各种互联网业务的服务商的要求也越来越高,于是这些服务商必须不断提高自身为用户提供的服务,才能满足用户的需求,这也就要求这些服务商自身要获取更多的有价值的信息。在这些有价值的信息中,各种文件的收集尤为重要,比如PE(PortableExecute,可移植的执行体)类文件和脚本类的文件等等。
目前,对文件进行收集的常用方式是先对文件进行解压缩,运行安装后手工或者使用其它第三方文件收集工具进行收集。在这种方式下,一方面,解压缩文件无法实现文件的收集,并且,针对不同格式的文件包只能用相应的不同工具进行解压缩,例如,iscab只能解cab包,而不能对其它文件格式的文件包进行解压缩;另一方面,现有的文件收集工具需要在解压缩工具对文件包进行解压缩并安装之后,手工启动使用才能进行文件的收集,文件收集过程复杂,收集效率低。
可见,上述的文件收集方案存在着解压缩工具解压缩格式局限、无法进行文件收集、以及解压缩后使用文件收集工具收集耦合度低、文件收集效率差等多方面的多个问题。
发明内容
鉴于上述现有的文件收集方案存在着解压缩工具解压缩格式局限、无法进行文件收集、以及解压缩后使用文件收集工具收集耦合度低、文件收集效率差等多方面的多个问题,提出了本发明以便提供一种克服上述多个问题或者至少部分地解决上述多个问题中的部分问题的文件收集方法与装置。
依据本发明的一个方面,提供了一种文件收集方法,包括:在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩;调用整合包中的文件收集工具,对解压缩出的文件进行文件收集;其中,整合包中整合有多个不同的解压缩工具以及至少一个文件收集工具。
可选地,使用整合包中的解压缩工具对安装包进行解压缩的步骤包括:识别安装包的格式,按照设定顺序使用整合包中的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
可选地,在在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩的步骤之前,还包括:整合包配置安装包的格式种类;对于每种格式的安装包,确定解压缩该种格式的安装包的解压缩工具;按照确定的所述解压缩工具的解压缩速度,对该种格式的安装包所对应的解压缩工具进行排序;识别所述安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功的步骤包括:识别安装包的格式,根据安装包的格式确定相对应的解压缩工具;按照相对应的解压缩工具的顺序依次对安装包进行解压缩,直至解压缩成功。
可选地,该文件收集方法还包括:若整合包未配置安装包的格式,则整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,对该种格式的安装包进行解压缩。
可选地,整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到所述整合包中,对该种格式的安装包进行解压缩的步骤包括:整合包确定并获取该种格式的安装包的解压缩工具;在配置文件中增加调用该解压缩工具的配置;根据该配置调用该解压缩工具,对该种格式的安装包进行解压缩。
可选地,调用整合包中的文件收集工具,对解压缩出的文件进行文件收集的步骤包括:通过挂钩函数获取解压缩后的文件的文件路径信息;调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,对文件进行文件收集。
可选地,根据文件路径信息获取解压缩出的文件,对文件进行文件收集的步骤包括:根据文件路径信息获取文件,从其中识别出所需类型的文件;将所需类型的文件复制到设定文件目录下,调用系统应用程序接口函数获得所需类型的文件的文件属性信息。
可选地,在使用整合包中的解压缩工具对安装包进行解压缩的步骤之后,还包括:若解压缩的过程出现异常,则直接停止所述解压缩;调用整合包中的文件收集工具,对解压缩出的文件进行文件收集的步骤包括:调用整合包中的文件收集工具,对解压缩出的部分文件进行文件收集。
根据本发明的另一方面,提供了一种文件收集装置,包括:解压缩模块,用于在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩;收集模块,用于调用整合包中的文件收集工具,对解压缩出的文件进行文件收集;其中,整合包中整合有多个不同的解压缩工具以及至少一个文件收集工具。
可选地,解压缩模块在使用整合包中的解压缩工具对安装包进行解压缩时,识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
可选地,该文件收集装置还包括:排序模块,用于在解压缩模块在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩之前,使用整合包配置安装包的格式种类;对于每种格式的安装包,确定解压缩该种格式的安装包的解压缩工具;按照确定的解压缩工具的解压缩速度,对该种格式的安装包所对应的所述解压缩工具进行排序;解压缩模块在识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功时,识别所述安装包的格式,根据安装包的格式确定相对应的解压缩工具;按照相对应的解压缩工具的顺序依次对安装包进行解压缩,直至解压缩成功。
可选地,该文件收集装置还包括:添加模块,用于若整合包未配置安装包的格式,则使用整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,对该种格式的安装包进行解压缩。
可选地,添加模块,用于若整合包未配置安装包的格式,则使用整合包确定并获取该种格式的安装包的解压缩工具;在配置文件中增加调用该解压缩工具的配置;根据配置调用该解压缩工具,对该种格式的安装包进行解压缩。
可选地,收集模块,用于通过挂钩函数获取解压缩后的文件的文件路径信息;调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,对所述文件进行文件收集。
可选地,收集模块,用于调用整合包中的文件收集工具,根据文件路径信息获取所述文件,从其中识别出所需类型的文件;将所需类型的文件复制到设定文件目录下,调用系统应用程序接口函数获得所需类型的文件的文件属性信息。
可选地,解压缩模块,还用于在使用整合包中的解压缩工具对安装包进行解压缩之后,若确定解压缩的过程出现异常,则直接停止解压缩;收集模块,还用于调用整合包中的文件收集工具,对解压缩出的部分文件进行文件收集。
根据本发明的文件收集方案,将不同的解压缩工具以及文件收集工具整合到一个整合包中,在需要进行文件收集时,无须分别使用不同的解压缩工具对安装包进行解压,并在安装后使用另外的文件收集工具进行文件收集,仅使用一个整合包即可实现多种不同格式的安装包中文件的收集,解决了现有的文件收集方案中解压缩工具解压缩格式局限、无法进行文件收集、解压缩后使用文件收集工具收集耦合度低、文件收集效率差等多方面的多个问题,达到了文件收集过程中对解压缩格式的广泛覆盖,文件解压缩收集耦合度高,文件收集效率高等效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例一的一种文件收集方法的步骤流程图;
图2是根据本发明实施例二的一种文件收集方法的步骤流程图;
图3是根据本发明实施例三的一种文件收集方法的步骤流程图;
图4是根据本发明实施例四的一种文件收集装置的结构框图;
图5是根据本发明实施例五的一种文件收集系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了根据本发明实施例一的一种文件收集方法的步骤流程图。
本实施例的文件收集方法包括以下步骤:
步骤S102:在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩。
一般情况下,安装包是exe、msi、rar、zip等类型的文件。exe、msi是可运行的,rar、zip是不可运行的,但是rar、zip解压以后中exe、msi是可运行的。不运行安装包是指不执行exe、msi等程序,而是使用算法对其进行解压缩,进而获取其中的文件。
整合包用于在不运行安装包的情况下,对安装包中的文件进行文件收集。整合包中整合有多个不同的解压缩工具以及至少一个文件收集工具。
如将7z、unrar、UniversalExtractor等工具整合在一起生成整合包。在整合包中,每个工具还是单独的解压缩工具,解压缩时根据压缩包的格式,分别使用不同的解压工具进行解压操作。
另外,需要说明的是,解压缩工具和文件收集工具可以是独立存在形式的工具,诸如与UniversalExtractor(通用提取)形式类似的工具,也可以是根据实际整合包编写的具有解压缩功能和文件收集功能的功能模块或单元等。
解压缩是压缩运算的逆运算,通过解压缩,在不运行安装包的情况下,即可获得安装包中的文件。
步骤S104:调用整合包中的文件收集工具,对解压缩出的文件进行文件收集。
例如,在确定安装包解压缩完成后,会向文件收集工具发送调用指令,调用相应的文件收集工具对安装包解压缩出的文件进行文件收集。调用的执行可以通过使用Windows系统函数CreateProcess启动相应程序。
需要说明的是,本发明中解压缩出的文件是指已经不能够再进行解压缩的文件,对于那些在对压缩包进行解压后,解压后的文件可能还需要解压的情况,继续解压这些文件,直到不存在需要解压的文件,这些最终的文件才是安装包解压缩出的文件。
通过本实施例,将不同的解压缩工具以及文件收集工具整合到一个整合包中,在需要进行文件收集时,无须分别使用不同的解压缩工具对安装包进行解压,并在安装后使用另外的文件收集工具进行文件收集,仅使用一个整合包即可实现多种不同格式的安装包中文件的收集,解决了现有的文件收集方案中解压缩工具解压缩格式局限、无法进行文件收集、解压缩后使用文件收集工具收集耦合度低、文件收集效率差等多方面的多个问题,达到了文件收集过程中对解压缩格式的广泛覆盖,文件解压缩收集耦合度高,文件收集效率高等效果。
实施例二
参照图2,示出了根据本发明实施例二的一种文件收集方法的步骤流程图。
本实施例的文件收集方法包括以下步骤:
步骤S202:整合解压缩工具和文件收集工具,生成整合包。
其中,解压缩工具包括多个,每个解压缩工具可以对一定格式的安装包进行解压缩,原则上,解压缩工具越多,可解的格式也越多,可解压缩包的格式覆盖范围也越广,文件收集工具包括一个或多个,对上述这些工具进行整合,生成整合包。
步骤S204:整合包配置安装包的格式种类,对于每种格式的安装包,确定解压缩该种格式的安装包的解压缩工具。
步骤S206:整合包按照确定的解压缩工具的解压缩速度,对该种格式的安装包所对应的解压缩工具进行排序。
例如,整合包配置安装包的格式种类的文件包括exe文件、msi文件、rar文件等,对于exe文件,可使用UniversalExtractor、innounp和7z解压缩;对于msi文件,可使用UniversalExtractor和7z解压缩;对于rar文件,可使用unrar和7z解压缩。根据各解压缩工具对相应格式压缩包的解压缩速度,确定对于exe文件,按照UniversalExtractor、7z、innounp的顺序依次使用这些解压缩工具,直至解压缩成功;对于msi文件,按照UniversalExtractor、7z的顺序依次使用这些解压缩工具,直至解压缩成功;对于rar文件,按照unrar、7z的顺序依次使用这些解压缩工具,直至解压缩成功。
通过对解压缩工具进行排序,可以提高解压缩速度和效率。
步骤S208:通过整合包获取安装包的信息,判断能否识别该安装包的格式,若不能,则执行步骤S210;若能,则执行步骤S212。
步骤S210:若通过整合包不能识别安装包的格式,表明该安装包的格式未被整合包配置,则通过整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,使用该解压缩工具对该种格式的安装包进行解压缩,然后执行步骤S214。
例如,若整合包无法识别格式为dl_的安装包,此时,可通过其它方式,如人工确定或从第三方获得相关信息确定能够对dl_格式进行解压缩的工具为expand,则可以将expand整合到整合包中,使用expand解压缩dl_格式的安装包。
优选地,可以通过整合包先确定并获取无法识别格式的安装包的解压缩工具;然后,在配置文件中增加调用该解压缩工具的配置;根据该配置调用该解压缩工具,对该种格式的安装包进行解压缩。如,整合包之前无法对exe格式的文件进行解压缩,则通过整合包在选择适当方式确定exe格式的文件可以使用UE、7z、innounp工具进行解压缩后,在配置文件中增加如下配置“<formatname=″exe″tools=″uniex|7z|innounp″/>”,使之前无法解压缩的exe格式文件可以先通过调用UE解压缩,再通过调用7z解压缩,最后使用innounp进行解压缩。
通过本步骤,实现了整合包的动态更新和解压缩工具的动态整合。
步骤S212:通过整合包识别安装包的格式,按照设定顺序使用整合包中的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
解压缩工具可以采用步骤S206的方式分解压缩文件格式并排序,但不限于此,也可以是简单的排序,即不必针对每种安装包格式,而是对所有格式都采用相同的顺序进行安装包解压缩。
优选地,当采用了步骤S206所述的排序方式,对每种格式的安装包,都有相应的确定了顺序的解压缩工具,则可以识别安装包的格式,根据安装包的格式确定相对应的解压缩工具;按照相对应的解压缩工具的顺序依次对安装包进行解压缩,直至解压缩成功。如,整合包识别出安装包为exe文件格式,确定UniversalExtractor、7z、innounp可以对其进行解压缩,顺序为先使用UniversalExtractor解压缩,若解压缩失败,再使用7z解压缩,若7z也解压缩失败,则使用innounp解压缩,当然,若使用UniversalExtractor解压缩成功,则无须使用后续的7z和innounp解压缩工具。
步骤S214:整合包通过挂钩函数获取解压缩出的文件的文件路径信息。
例如,整合包可以通过调用挂钩函数捕获到文件操作流,获得在安装包解压缩释放的文件的文件路径信息。在Windows操作系统中,Windows操作系统工作于CPU的保护模式下,操作系统内核及设备驱动程序工作于环0(ring0),称为核心态;应用程序、动态链接库工作于环3,称为用户态。Windows提供的对文件操作的API都工作于用户态,只能供应用程序使用。要实现对文件操作过滤(也可称监控),就需要在文件系统驱动程序实现。当解压缩工具对文件进行操作时,将操作请求发送到处于内核态的I/O管理器,I/O管理器根据来自用户态的请求,建立相应的IRP包(I/Orequestpacket),并将IRP包发送到文件系统驱动程序处理。文件系统驱动程序本身是一个分层的驱动模型,上层是文件系统过滤驱动程序,中间是NTFS(NewTechnologyFileSystem,新技术档案系统)、FAT(FileAllocationTable,档案配置表)等文件系统驱动程序,底层是存储设备驱动程序。对安装包解压缩释放的文件的监控,就是在文件系统驱动程序分层中的上层挂钩,过滤IRP包,获得请求的文件操作,比如获得安装包解压缩释放的文件路径。具体而言,可以通过fnInstall函数安装挂钩,通过fnStartHookEx启动挂钩,添加回调函数,然后通过fnAddRule添加过滤规则,获得在安装包解压缩释放的各种文件的文件路径等信息。
步骤S216:调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,对解压缩出的文件进行文件收集。
优选地,整合包在根据文件路径信息获取解压缩出的文件,对解压缩出的文件进行文件收集时,根据文件路径信息获取解压缩出的文件,从其中识别出所需类型的文件;将所需类型的文件复制到设定文件目录下,调用系统应用程序接口函数获得所需类型的文件的文件属性信息。
如,根据获得的文件的文件路径,收集在安装包解压缩释放的所需的文件。具体而言,从释放的文件中识别出属于所需类型(如PE类和/或脚本类)的文件,然后根据这些文件的文件路径,拷贝这些文件。此外,为了更全面地收集文件,可以通过调用系统API函数获得收集的文件的文件属性信息,比如包括文件的大小、创建时间、修改时间、文件签名等中的任意一种或多种。在具体实现时,例如可以通过GetFileSize获得文件的大小,通过FindFirstFile获得文件创建、修改时间,通过CertGetNameString获取签名串,通过WinVerifyTrust获得验证签名串有效性等等。
需要说明的是,若解压缩的过程出现异常,则直接停止解压缩,这时,可能安装包只被解压缩出部分文件,然后调用整合包中的文件收集工具,对解压缩出的该部分文件进行文件收集。
通过本实施例,解决了现有的文件收集方案中解压缩工具解压缩格式局限、无法进行文件收集、解压缩后使用文件收集工具收集耦合度低、文件收集效率差等多方面的多个问题,达到了文件收集过程中对解压缩格式的广泛覆盖,文件解压缩收集耦合度高,文件收集效率高等效果。
实施例三
参照图3,示出了根据本发明实施例三的一种文件收集方法的步骤流程图。
本实施例的文件收集方法包括以下步骤:
步骤S302:整合解压缩工具和文件收集工具生成整合包,对于每种格式的安装包,确定该种格式的安装包的解压缩工具,并按照解压缩工具的解压缩速度,对安装包所对应的解压缩工具进行排序。
本实施例中,将工具UniversalExtractor、7z、unrar、winrar、innounp、iscab、expand等进行整合,根据文件格式确定解压缩工具以及使用解压缩工具的顺序如下:
exe文件:UniversalExtractor、7z、innounp
msi文件:UniversalExtractor、7z
cab文件:iscab、7z、UniversalExtractor
rar文件:unrar、7z
dl_文件:expand
ex_文件:expand
sy_文件:expand
cp_文件:expand
其中,dl_、ex_、sy_、cp_等文件格式是微软对dll、exe、sys、cpl等格式文件的压缩格式。
步骤S304:整合包获取安装包的信息,判断能否识别该安装包的格式,若不能,则执行步骤S306;若能,则执行步骤S308。
步骤S306:通过整合包不能识别安装包的格式,表明整合包未配置该安装包的格式,则整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,使用该解压缩工具对该种格式的安装包进行解压缩,然后执行步骤S310。
当新发现一个打包格式,整合包不能识别该格式时,可以添加一种相对应的解压缩工具。
步骤S308:通过整合包识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
如,当识别出安装包为cab格式时,使用iscab解压缩,过程如下:1)使用iscab工具通过data1.hdr文件,生成iscab.ini文件;2)替换iscab.ini中文件生成路径,替换为路径是解压缩输入路径;3)根据iscab.ini解压cab文件。若使用iscab解压缩成功,则可进行后续的文件收集操作;若使用iscab解压缩不成功,则可以继续尝试使用7z解压缩,若7z解压缩成功,则进行后续的文件收集操作;若7z解压缩不成功,则再使用UniversalExtractor进行解压缩。
其中,对于7z、winrar等格式的安装包进行解压缩用命令行即可;而使用UniversalExtractor、iscab解压缩,需要解析出ini文件,然后根据输出的路径替换掉原ini的默认输出路径,再用UniversalExtractor或iscab解出来。输出的路径是解压缩后的目标位置,原来的默认输出路径是默认的不正确的路径。
步骤S310:通过整合包获取解压缩出的文件,对解压缩出的文件进行文件收集。
整合包可以通过调用挂钩函数捕获到文件操作流,获得在解压缩过程中释放的文件的文件路径。文件被释放到指定目录中,所有释放的文件都在该目录中,解压缩完成以后,扫描该目录中的文件就可以了。整合包根据文件的文件路径,收集在解压缩过程中释放的所需的文件。比如,从解压缩释放的文件中识别出属于可移植的执行体PE类文件和/或脚本类文件;拷贝PE类文件和/或脚本类文件;通过调用系统API函数获得PE类文件和/或脚本类文件的文件属性信息;获得PE类文件和/或脚本类文件的大小、创建时间、修改时间、文件签名等。
需要说明的是,若解压缩的过程出现异常,则直接停止解压缩。比如,使用UniversalExtractor包解压缩msi文件,如果msi文件运行起来,系统会有重启的可能性,这时,整合包检测显示界面上是否会出现类似restart重启等文字,如果出现这些,就直接停止解压缩过程。这时,安装包可能只被解压缩出部分文件,那么,整合包包可以只对解压缩出的部分文件进行文件收集。
本实施例提供了一种自动识别压缩格式,通过相应的解压缩工具进行解压,进而进行文件收集的方案。通过本实施例,每种格式的安装包都可以选择适合的解压缩工具来解压缩,并且,可以根据后台统计出来的规律,当一种类型的解压缩工具无法解析出来时,使用另一种解压缩工具进行解压缩,然后再进行文件收集,达到了文件收集过程中对解压缩格式的广泛覆盖,文件解压缩收集耦合度高,文件收集效率高等效果。
实施例四
参照图4,示出了根据本发明实施例四的一种文件收集装置的结构框图。
本实施例的文件收集装置包括:解压缩模块402,用于在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩;收集模块404,用于调用整合包中的文件收集工具,对解压缩出的文件进行文件收集;其中,整合包中整合有多个不同的解压缩工具以及至少一个文件收集工具。
优选地,解压缩模块402在使用整合包中的解压缩工具对安装包进行解压缩时,识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
优选地,本实施例的文件收集装置还包括:排序模块406,用于在解压缩模块402在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩之前,使用整合包配置安装包的格式种类;对于每种格式的安装包,确定该种格式的安装包的解压缩工具;按照确定的解压缩工具的解压缩速度,对该种格式的安装包所对应的所述解压缩工具进行排序;解压缩模块402在识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功时,识别安装包的格式,根据安装包的格式确定相对应的解压缩工具;按照相对应的解压缩工具的顺序依次对安装包进行解压缩,直至解压缩成功。
优选地,本实施例的文件收集装置还包括:添加模块408,用于若整合包未配置安装包的格式,则使用整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,对该种格式的安装包进行解压缩。
优选地,添加模块408,用于若整合包未配置安装包的格式,则使用整合包确定并获取该种格式的安装包的解压缩工具;在配置文件中增加调用该解压缩工具的配置;根据配置调用该解压缩工具,对该种格式的安装包进行解压缩。
优选地,收集模块404,用于通过挂钩函数获取解压缩后的安装包中文件的文件路径信息;调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,对解压缩出的文件进行文件收集。
优选地,收集模块404,用于调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,从其中识别出所需类型的文件;将所需类型的文件复制到设定文件目录下,调用系统应用程序接口函数获得所需类型的文件的文件属性信息。
优选地,解压缩模块402,还用于在使用整合包中的解压缩工具对安装包进行解压缩之后,若确定解压缩的过程出现异常,则直接停止解压缩;收集模块404,还用于调用整合包中的文件收集工具,对解压缩出的那部分文件进行文件收集。
本实施例的文件收集装置用于实现前述多个方法实施例中相应的文件收集方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例五
参照图5,示出了根据本发明实施例五的一种文件收集系统的结构框图。
本实施例的文件收集系统包括文件收集客户端502和文件存储服务器504。
其中,文件收集客户端502中设置有文件收集装置,包括:解压缩模块5022,用于在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩;收集模块5024,用于调用整合包中的文件收集工具,对解压缩出的文件进行文件收集;其中,整合包中整合有多个不同的解压缩工具以及至少一个文件收集工具。文件存储服务器504,用于存储文件收集客户端502中的文件收集装置收集到的文件。
本实施例中,文件收集客户端502可以为虚拟机或者硬件设备实体机等。文件收集客户端502与网络中的其它服务器进行网络通讯,从基于该服务器的网络站点获取安装包;,将收集到的文件发送到文件存储服务器上504通过文件存储数据库进行存储。但不限于此,文件存储服务器504也可以存储解压缩后的文件,以及其它相关数据。
优选地,解压缩模块5022在使用整合包中的解压缩工具对安装包进行解压缩时,识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功。
优选地,文件收集客户端502的文件收集装置还包括:排序模块5026,用于在解压缩模块5022在不运行安装包的情况下,使用整合包中的解压缩工具对安装包进行解压缩之前,使用整合包配置安装包的格式种类;对于每种格式的安装包,确定该种格式的安装包的解压缩工具;按照确定的解压缩工具的解压缩速度,对该种格式的安装包所对应的所述解压缩工具进行排序;解压缩模块5022在识别安装包的格式,按照设定顺序使用整合包中整合的解压缩工具依次对安装包进行解压缩,直至解压缩成功时,识别安装包的格式,根据安装包的格式确定相对应的解压缩工具;按照相对应的解压缩工具的顺序依次对安装包进行解压缩,直至解压缩成功。
优选地,文件收集客户端502的文件收集装置还包括:添加模块5028,用于若整合包未配置安装包的格式,则使用整合包确定该种格式的安装包的解压缩工具,并将该解压缩工具整合到整合包中,对该种格式的安装包进行解压缩。
优选地,添加模块5028,用于若整合包未配置安装包的格式,则使用整合包确定并获取该种格式的安装包的解压缩工具;在配置文件中增加调用该解压缩工具的配置;根据配置调用该解压缩工具,对该种格式的安装包进行解压缩。
优选地,收集模块5024,用于通过挂钩函数获取解压缩后的安装包中文件的文件路径信息;调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,对解压缩出的文件进行文件收集。
优选地,收集模块5024,用于调用整合包中的文件收集工具,根据文件路径信息获取解压缩出的文件,从其中识别出所需类型的文件;将所需类型的文件复制到设定文件目录下,调用系统应用程序接口函数获得所需类型的文件的文件属性信息。
优选地,解压缩模块5022,还用于在使用整合包中的解压缩工具对安装包进行解压缩之后,若确定解压缩的过程出现异常,则直接停止解压缩;收集模块5024,还用于调用整合包中的文件收集工具,对解压缩出的那部分文件进行文件收集。
本实施例的文件收集系统用于实现前述多个方法实施例中相应的文件收集方法,并具有相应的方法实施例的有益效果,在此不再赘述。
在此提供的文件收集方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件收集方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。