CN102411509B - 一种软件***中引入第三方包的分析方法、***及终端 - Google Patents
一种软件***中引入第三方包的分析方法、***及终端 Download PDFInfo
- Publication number
- CN102411509B CN102411509B CN 201010290420 CN201010290420A CN102411509B CN 102411509 B CN102411509 B CN 102411509B CN 201010290420 CN201010290420 CN 201010290420 CN 201010290420 A CN201010290420 A CN 201010290420A CN 102411509 B CN102411509 B CN 102411509B
- Authority
- CN
- China
- Prior art keywords
- file
- party
- character string
- bag
- software systems
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于计算机软件领域,提供了一种软件***中引入第三方包的分析方法、***及终端,所述方法包括以下步骤:解析第三方包,获取其文件路径;将所述第三方包的文件路径转化为字符串,获取表示所述第三方包的字符串列表;解析软件***中的文件,获取所述文件的文件路径;比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。本发明实施例可以自动、快速、准确的分析出引入第三方包的文件信息。在软件***中,由于可以自动、快速、准确的分析出引入第三方包的文件信息,从而方便后续对第三方包的维护、升级等操作。
Description
技术领域
本发明属于计算机软件领域,尤其涉及一种软件***中引入第三方包的分析方法、***及终端。
背景技术
第三方包指的是由某软件公司以外的组织或者个人开发的一些实现某些功能的开发包,利用这些开源的开发包可以设计用户自己的程序。例如:sun公司以外的组织或者个人开发的.jar包。
目前,许多软件***的开发都需要引入第三方包,但对于软件***中第三方包引入的分析,现有技术中主要是靠人工分析来确定。人为判断软件***中是否已经引入了第三方包,容易出现错误,而且不能快速、准确的知道哪些文件引入了第三方包,对后续第三方包的升级等操作造成影响。
发明内容
本发明实施例的目的在于提供一种软件***中引入第三方包的分析方法,旨在解决现有技术中对软件***中第三方包引入的分析主要是靠人工分析来确定的问题。
本发明实施例是这样实现的,一种软件***中引入第三方包的分析方法,所述方法包括下述步骤:
解析第三方包,获取其文件路径;
将所述第三方包的文件路径转化为字符串,将所述字符串中的分隔符转换为预设字符;
获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串;
选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包;
解析软件***中的文件,获取所述文件的文件路径;
比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
本发明实施例的另一目的在于提供一种软件***中引入第三方包的分析***,所述***包括:
第三方包解析单元,用于解析第三方包,获取其文件路径;
字符串列表获取单元,用于将所述第三方包的文件路径转化为字符串,将所述字符串中的分隔符转换为预设字符,获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串,选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包;
文件解析单元,用于解析软件***中的文件,获取所述文件的文件路径;
第三方包引入判断单元,用于比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
本发明实施例的另一目的在于提供一种软件***中引入第三方包的分析***的终端。
在本发明实施例中,根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,判断出所述软件***是否引入所述第三方包。本发明实施例可以自动、快速、准确的分析出引入第三方包的文件信息。在软件***中,由于可以自动、快速、准确的分析出引入第三方包的文件信息,从而方便后续对第三方包的维护、升级等操作。
附图说明
图1是本发明第一实施例提供的一种软件***中引入第三方包的分析方法的实现流程图;
图2是本发明实施例提供的第三方包字符串列表获取流程图;
图3是本发明第二实施例提供的一种软件***中引入第三方包的分析的实现流程图;
图4是本发明第三实施例提供的一种软件***中引入第三方包的分析***的结构框图;
图5是本发明第四实施例提供的一种软件***中引入第三方包的分析***的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,判断出所述软件***是否引入所述第三方包。本发明实施例可以自动、快速、准确的分析出引入第三方包的文件信息。在软件***中,由于可以自动、快速、准确的分析出引入第三方包的文件信息,从而方便后续对第三方包的维护、升级等操作。
本发明实施例提供的方案如下:
一种软件***中引入第三方包的分析方法,所述方法包括下述步骤:
解析第三方包,获取其文件路径;
将所述第三方包的文件路径转化为字符串,获取表示所述第三方包的字符串列表;
解析软件***中的文件,获取所述文件的文件路径;
比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
一种软件***中引入第三方包的分析***,所述***包括:
第三方包解析单元,用于解析第三方包,获取其文件路径;
字符串列表获取单元,用于将所述第三方包的文件路径转化为字符串,获取表示所述第三方包的字符串列表;
文件解析单元,用于解析软件***中的文件,获取所述文件的文件路径;
第三方包引入判断单元,用于比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
一种包含上述软件***中引入第三方包的分析***的终端。
在本发明实施例中,根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,判断出所述软件***是否引入所述第三方包。本发明实施例可以自动、快速、准确的分析出引入第三方包的文件信息。在软件***中,由于可以自动、快速、准确的分析出引入第三方包的文件信息,从而方便后续对第三方包的维护、升级等操作。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的第三方包的分析方法的实现流程图,该实施例根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,可自动、快速、准确的判断出所述软件***是否引入所述第三方包。该方法详细步骤如下所述:
在步骤S101中,解析第三方包,获取其文件路径。
在本发明实施例中,所述第三方包以压缩包的形式存在,通过解析所述第三方包,采用遍历算法获取所述第三方包文件的文件路径,当然也可以采用类似的其他方法获取,在此不一一举例。
在步骤S102中,将所述第三方包的文件路径转化为字符串,获取表示所述第三方包的字符串列表;
在本发明实施例中,将所述第三方包的文件路径转化为字符串,即将所述第三方包的文件路径中的分隔符转换为预设字符,获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串,选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包。其中,获取表示所述第三方包的字符串列表具体流程如图2所示;
在步骤S201中,将所述第三方包的文件路径中的分隔符转换为预设字符。
在本发明实施例中,将所述第三方包的文件路径中的分隔符转换为预设字符,其中,所述第三方包文件的文件路径是指能够表示第三方包的文件路径,并通过替换算法将所述第三方包文件的文件路径中的“\”替换为“.”。
在步骤S202中,获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串。
在步骤S203中,选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包。
在本发明实施例中,因为一个文件夹中可能包含多个文件,所以会生成多个相同的文件路径,通过转换后会生成多个相同的字符串,为了避免重复,需要对相同字符串进行删除,将删除后剩下的字符串存入字符串列表,该字符串列表即为表示第三方包的字符串列表。
在步骤S103中,解析软件***中的文件,获取所述文件的文件路径。
在本发明实施例中,解析软件***中的文件获取其文件路径采用遍历算法获取,当然也可以采用类似的其他方法获取,在此不一一举例。
在步骤S104中,比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
在本发明实施例中,比较所述软件***文件路径的文件与所述字符串列表包括:将所述软件***中文件的文件路径分成多份,并行比较所述多份文件路径的文件与所述字符串列表。根据比较后的结果,判断所述软件***是否引入所述第三分包。
以JAVA语言为例,但不局限于此。获取所述软件***文件路径后,还包括采用size()方法得到所述文件路径列表中包含文件路径的总量,采用subList()方法将列表平均分成n份。其中,n为多线程的并发数量,多线程指的是程序中并发执行的多个指令流。n为10到100之间,具体可根据计算机的性能来配置,其中,subList((i*sum)/n,((i+1)*sum)/n)即为第i个列表。利用多线程同时分析上述n个文件路径列表,通过新输入输出流操作读取每个文件路径下的文件,利用索引indexOf()方法分析文件路径下的文件是否包含表示第三方包的字符串。
在本发明实施例中,根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,可自动、快速、准确的判断出所述软件***是否引入所述第三方包。
实施例二:
图3示出了本发明第二实施例提供的一种软件***中引入第三方包的分析方法的实现流程图,该实施例在第一实施例的基础上增加步骤S305,即将所述软件***中文件的文件路径中包含所述字符串列表中字符串的文件路径输出至日志文件。
本发明实施例在自动、快速、准确的分析出软件***引入了第三方包后,将引入第三方包文件的文件路径输出至日志文件,通过日志文件中所述文件路径可精确的分析出哪些文件引入了所述第三方包,从而方便后续对第三方包的维护、升级等操作。
实施例三:
图4示出了本发明第三实施例提供的一种软件***中引入第三方包的分析***的结构,为了便于说明,图中仅出示与本发明实施例相关的部分,该软件***中引入第三方包的分析***可以为内置于终端的软件单元、硬件单元或者软硬件结合单元。其中终端可以为计算机终端、移动终端等。
该软件***中引入第三方包的分析***通过***中的第三包解析单元、字符串列表获取单元、文件解析单元和第三方包引入判断单元获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,可自动、快速、准确的判断出所述软件***是否引入所述第三方包。其中:
第三方包解析单元41,用于解析第三方包,获取其文件路径。
在本发明实施例中,所述第三方包以压缩包的形式存在,通过解析所述第三方包,采用遍历算法获取所述第三方包文件的文件路径,当然也可以采用类似的其他方法获取,在此不一一举例。
字符串列表获取单元42,用于将所述第三方包的文件路径转化为字符串,获取表示所述第三方包的字符串列表。
在本发明实施例中,字符串列表获取单元42包括预设字符转换模块421、预设字符串获取模块422、字符串列表获取模块423。其中:
预设字符转换模块421,用于将所述第三方包的文件路径中的分隔符转换为预设字符。
预设字符串获取模块422,用于获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串。
字符串列表获取模块423,用于选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包。
文件解析单元43,用于解析软件***中的文件,获取所述文件的文件路径。
在本发明实施例中,解析软件***中的文件获取其文件路径采用遍历算法获取,当然也可以采用类似的其他方法获取,在此不一一举例。
第三方包引入判断单元44,用于比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
在本发明实施例中,比较所述软件***文件路径的文件与所述字符串列表还包括文件路径划分模块431、比较模块432。其中:
文件路径划分模块431,用于将所述软件***中文件的文件路径分成多份。
比较模块432,用于并行比较所述多份文件路径的文件与所述字符串列表。
根据比较后的结果,判断判断所述软件***是否引入所述第三方包。
实施例四:
图5示出了本发明第四实施例提供的一种软件***中引入第三方包的分析***的结构,为了便于说明,图中仅出示与本发明实施例相关的部分。图5所示的软件***中引入第三方包的分析***在图4所示的软件***中引入第三方包的分析***的第三方包引入判断单元后增加了输出单元55。其中:
输出单元55,用于将所述软件***中文件的文件路径中包含所述字符串列表中字符串的文件路径输出至日志文件。
本发明实施例在自动、快速、准确的分析出软件***引入了第三方包后,将引入第三方包文件的文件路径输出至日志文件,通过日志文件中所述文件路径可精确的分析出哪些文件引入了所述第三方包,从而方便后续对第三方包的维护、升级等操作。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
在本发明实施例中,根据获取的表示第三方包的字符串列表和软件***中文件的文件路径,比较所述软件***文件路径的文件与所述字符串列表,判断出所述软件***是否引入所述第三方包。本发明实施例可以自动、快速、准确的分析出引入第三方包的文件信息。在软件***中,由于可以自动、快速、准确的分析出引入第三方包的文件信息,从而方便后续对第三方包的维护、升级等操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种软件***中引入第三方包的分析方法,其特征在于,所述方法包括以下步骤:
解析第三方包,获取其文件路径;
将所述第三方包的文件路径转化为字符串,将所述字符串中的分隔符转换为预设字符;
获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串;
选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包;
解析软件***中的文件,获取所述文件的文件路径;
比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
2.如权利要求1所述的方法,其特征在于,比较所述软件***中文件的文件路径与所述字符串列表的步骤包括:
将所述软件***中文件的文件路径分成多份;
并行比较所述多份文件路径的文件与所述字符串列表。
3.如权利要求1所述的方法,其特征在于,还包括:
将所述软件***中文件的文件路径中包含所述字符串列表中字符串的文件路径输出至日志文件。
4.一种软件***中引入第三方包的分析***,其特征在于,所述***包括:
第三方包解析单元,用于解析第三方包,获取其文件路径;
字符串列表获取单元,用于将所述第三方包的文件路径转化为字符串,将所述字符串中的分隔符转换为预设字符,获取由所述第三方包的文件路径中的目录名及所述预设字符构成的字符串,选取所述字符串中不重复的字符串,构成所述字符串列表,用于表示所述第三方包;
文件解析单元,用于解析软件***中的文件,获取所述文件的文件路径;
第三方包引入判断单元,用于比较所述软件***文件路径的文件与所述字符串列表,判断所述软件***是否引入所述第三方包。
5.如权利要求4所述的***,其特征在于,所述第三方包引入判断单元还包括:
文件路径划分模块,用于将所述软件***中文件的文件路径分成多份;
比较模块,用于并行比较所述多份文件路径的文件与所述字符串列表。
6.如权利要求4所述的***,其特征在于,所述第三方包引入判断单元后还包括:
输出单元,用于将所述软件***中文件的文件路径中包含所述字符串列表中字符串的文件路径输出至日志文件。
7.一种包括权利要求4至6任一项所述的第三方包的分析***的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010290420 CN102411509B (zh) | 2010-09-25 | 2010-09-25 | 一种软件***中引入第三方包的分析方法、***及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010290420 CN102411509B (zh) | 2010-09-25 | 2010-09-25 | 一种软件***中引入第三方包的分析方法、***及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102411509A CN102411509A (zh) | 2012-04-11 |
CN102411509B true CN102411509B (zh) | 2013-10-23 |
Family
ID=45913597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010290420 Active CN102411509B (zh) | 2010-09-25 | 2010-09-25 | 一种软件***中引入第三方包的分析方法、***及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102411509B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034350A (zh) * | 2007-04-17 | 2007-09-12 | 珠海金山软件股份有限公司 | 一种快速查找计算机程序功能入口的装置和方法 |
TW200928796A (en) * | 2007-12-31 | 2009-07-01 | Chi Mei Comm Systems Inc | Method for storing file paths and file names |
CN101556595A (zh) * | 2008-04-11 | 2009-10-14 | 北京闻言科技有限公司 | 一种快速定位文件***中关联文件的办法 |
CN101620612A (zh) * | 2008-07-03 | 2010-01-06 | 阿尔派株式会社 | 内容属性赋予方法及内容属性赋予装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044075A1 (en) * | 2003-07-29 | 2005-02-24 | Microsoft Corporation | Method and apparatus for late-binding/dynamic pathname resolution |
-
2010
- 2010-09-25 CN CN 201010290420 patent/CN102411509B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034350A (zh) * | 2007-04-17 | 2007-09-12 | 珠海金山软件股份有限公司 | 一种快速查找计算机程序功能入口的装置和方法 |
TW200928796A (en) * | 2007-12-31 | 2009-07-01 | Chi Mei Comm Systems Inc | Method for storing file paths and file names |
CN101556595A (zh) * | 2008-04-11 | 2009-10-14 | 北京闻言科技有限公司 | 一种快速定位文件***中关联文件的办法 |
CN101620612A (zh) * | 2008-07-03 | 2010-01-06 | 阿尔派株式会社 | 内容属性赋予方法及内容属性赋予装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102411509A (zh) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447099B (zh) | 日志结构化信息提取方法及装置 | |
CN101334774B (zh) | 一种字符输入的方法和输入法*** | |
CN103345484B (zh) | 基于动态域的报表处理***及方法 | |
CN106611044B (zh) | 一种sql优化方法及设备 | |
CN106844607B (zh) | 一种适用于非整型主键与空闲块合并的SQLite数据恢复方法 | |
CN106547527A (zh) | 一种JavaScript文件构建方法及装置 | |
CN104965714A (zh) | 应用软件的代码生成方法和*** | |
CN112650529B (zh) | 可配置生成移动端app代码的***及方法 | |
US9201754B2 (en) | Recording application consumption details | |
CN103336706B (zh) | 将伪代码转换为编程语言的***和方法 | |
CN104166701A (zh) | 机器学习方法及*** | |
CN103425692A (zh) | 数据导出方法和装置 | |
CN103326930A (zh) | 开放平台接口自动巡检方法和*** | |
CN102955739A (zh) | 一种提高性能测试脚本重用率的方法 | |
CN110347673A (zh) | 数据文件加载方法、装置、计算机设备以及存储介质 | |
CN102411509B (zh) | 一种软件***中引入第三方包的分析方法、***及终端 | |
CN103902261A (zh) | 一种处理软件资源的方法及装置 | |
CN104378362A (zh) | 用于进行报文接口转换的方法及装置 | |
CN103294954A (zh) | 一种基于频谱分析的复合文档恶意代码检测技术与*** | |
KR20200103133A (ko) | 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치 | |
CN105279032A (zh) | 一种同步接口报文与javaBean的方法及装置 | |
CN115495082A (zh) | Tlv格式数据自动转换方法及相关设备 | |
CN102063501B (zh) | 一种互联网网页转换的方法及装置 | |
CN111027247B (zh) | 基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法 | |
Jaiswal et al. | Why use Efficient XML Interchange instead of Fast Infoset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |