CN108427580B - 配置对命名重复的检测方法、存储介质和智能设备 - Google Patents

配置对命名重复的检测方法、存储介质和智能设备 Download PDF

Info

Publication number
CN108427580B
CN108427580B CN201810014461.2A CN201810014461A CN108427580B CN 108427580 B CN108427580 B CN 108427580B CN 201810014461 A CN201810014461 A CN 201810014461A CN 108427580 B CN108427580 B CN 108427580B
Authority
CN
China
Prior art keywords
configuration
file
name
xml file
environment
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
Application number
CN201810014461.2A
Other languages
English (en)
Other versions
CN108427580A (zh
Inventor
王荟婷
郑新良
魏尧东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810014461.2A priority Critical patent/CN108427580B/zh
Priority to PCT/CN2018/082831 priority patent/WO2019134297A1/zh
Publication of CN108427580A publication Critical patent/CN108427580A/zh
Application granted granted Critical
Publication of CN108427580B publication Critical patent/CN108427580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种配置对命名重复的检测方法、存储介质和智能设备,包括:获取待命名重复检测的环境文件包;查找所述环境文件包中的XML文件,所述XML文件中包括配置对;针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;按预设显示规则显示配置对命名重复检测的结果。本发明通过检测环境文件包提前发现配置对重名的问题,避免加载配置对时对重复定义的配置名进行覆盖操作导致后续开发和运行时出现更多错误,从而可提高开发效率。

Description

配置对命名重复的检测方法、存储介质和智能设备
技术领域
本发明涉及信息处理技术领域,尤其涉及一种配置对命名重复的检测方法、存储介质和智能设备。
背景技术
Spring框架中,采用XML作为配置文件的标记语言,实现配置项和具体代码实现的映射,一个配置对(配置名-实现代码)便形成了一个bean。其中配置名对应属性name或id,实现代码对应属性class。由于***规模和代码量的扩大以及开发人员的交替,开发和测试人员很难完全掌握***中所有已定义过的配置名,在后续的开发中存在重复定义配置名的情况。而在Spring框架下,启动加载配置对时,会***自动对重复定义的bean name进行覆盖操作而不会在启动服务时抛出错误,配置对命名重复在***部署启动和日常的***测试时很难被发现,配置对命名重复会导致产品开发故障,降低开发效率。
发明内容
本发明实施例提供了一种配置对命名重复的检测方法、存储介质和智能设备,以解决现有技术中,在Spring框架下,启动加载配置对时,会***自动对重复定义的配置名进行覆盖操作而不会在启动服务时抛出错误,配置对命名重复在***部署启动和日常的***测试时很难被发现,配置对命名重复会导致产品开发故障,降低开发效率的问题。
本发明实施例的第一方面提供了一种配置对命名重复的检测方法,包括:
获取待命名重复检测的环境文件包;
查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;
按预设显示规则显示配置对命名重复检测的结果。
本发明实施例的第二方面提供了一种智能设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取待命名重复检测的环境文件包;
查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;
按预设显示规则显示配置对命名重复检测的结果。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取待命名重复检测的环境文件包;
查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;
按预设显示规则显示配置对命名重复检测的结果。
本发明实施例中,通过获取待命名重复检测的环境文件包,查找所述环境文件包中的XML文件,所述XML文件中包括配置对,针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测,按预设显示规则显示配置对命名重复检测的结果,通过对环境文件包进行重名检测,提前发现配置对重名的问题,避免加载配置对时对重复定义的配置名进行覆盖操作导致后续开发和运行时出现更多错误,从而可提高开发效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的配置对命名重复的检测方法的实现流程图;
图2是本发明实施例提供的获取待命名重复检测的环境文件包的步骤的具体实现流程图;
图3是本发明实施例提供的查找所述环境文件包中的XML文件的步骤的具体实现流程图;
图4是本发明实施例提供的针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测的步骤的具体实现流程图;
图5是本发明实施例提供的将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名的步骤的具体实现流程图;
图6是本发明另一实施例提供的包括提供新配置名的配置对命名重复的检测方法的实现流程图;
图7是本发明实施例提供的检测装置的结构框图;
图8是本发明实施例提供的智能设备的示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的配置对命名重复的检测方法的实现流程,该方法流程包括步骤S101至S104。各步骤的具体实现原理如下:
S101:获取待命名重复检测的环境文件包。
其中,所述环境文件包是一个包括XML文件的压缩包,命名重复是指XML文件中配置对的命名重复。命名重复检测是指对所述环境文件包的XML文件中的配置对的命名进行检测。
具体地,如图2所示,在本发明实施例中,所述获取待命名重复检测的环境文件包的步骤包括:
A1:获取环境文件包名。具体地,可由开发人员自行输入。
A2:根据所述环境文件包名搜索所述环境文件包名对应的环境文件包的存放路径。其中,环境文件包的存放路径包括URL路径和本地路径。具体地,当根据开发人员输入的环境文件包命进行搜索时,检索到的环境文件包按列表显示。
A3:基于所述存放路径获取待命名重复检测的环境文件包。
进一步地,所述步骤A3包括:
A31:检测所述存放路径。
A32:若检测到所述存储路径为URL路径,则根据所述URL路径下载环境文件包,并存储至本地。其中,开发人员可预先设置下载存在地址,从而根据所述URL路径将环境文件包下载至本地的指定位置。
A33:若检测到所述存储路径为本地路径,则检测开发人员输入的选择指令。所述选择指令包括拖拽指令。
A34:根据开发人员输入的选择指令,确定待命名重复检测的环境文件包。
示例性地,当根据所述URL路径将环境文件包下载至本地的指定位置时,检测开发人员输入的拖拽指令,或者,当检测到所述存储路径为本地路径时,检测开发人员输入的拖拽指令。当检测到环境文件包被拖拽至指定区域时,将所述检测到的环境文件包确定为待命名重复检测的环境文件包。
在本发明实施例中,通过开发CheckBean工具包来实现本发明实施例的方案。具体地,所述CheckBean工具包主要通过Java+Node.js完成开发,前端采用html+css进行编写。Node.js是一个Javascript的运行环境,实际上它是对GoogleChromeV8引擎进行了封装,它主要用于创建快速的、可扩展的网络应用。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻微和高效。CheckBean工具包是一个压缩包。在CheckBean工具包解压缩安装完成后,运行CheckBean工具,在运行界面上根据开发人员输入的检索关键词如环境文件包名等,可搜索环境文件包,再根据开发人员的选择确定待命名重复检测的环境文件包。
S102:查找所述环境文件包中的XML文件,所述XML文件中包括配置对。
具体地,XML是一种语法格式,通过XML可以使一份文件具有一定的结构,以便于程序进行解析。在Spring框架中,采用XML作为配置文件的标记语言,实现配置项和具体代码实现的映射。在环境文件包的XML文件中,包括至少一个配置对(bean),一个配置名(即配置对的命名)和实现代码便形成了一个bean。其中配置名对应属性name或id,实现代码对应属性class。
作为本发明的一个实施例,如图3所示,上述S102具体包括:
B1:对所述待命名重复检测的环境文件包进行解压缩,获取文件集合。所述文件集合中包括XML文件,也可能还包括子文件包和其他格式文件。
B2:检测所述文件集合中是否存在子文件包。其中,子文件包为压缩文件包。
B3:若所述文件集合中存在子文件包,则对所述子文件包进行解压缩,获取子文件集合。所述子文件集合中包括XML文件和/或其它格式的文件。
B4:基于所述文件集合与所述子文件集合,查找XML文件。
在本发明实施例中,对所述待命名重复检测的环境文件包解压缩,扫描查找XML文件,并再次检测加压缩后是否存在子文件包,避免漏查XML文件,影响重名检测的准确率。
S103:针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测。
在本发明实施例中,建立线程对XML文件并行检测。一个线程可以理解为一个独立运行的处理检测单元。在所述待命名重复检测的环境文件包解压缩后,查找解压缩后的XML文件。当查找到一个XML文件时,便新建一个线程对该XML文件进行检测,查找到不止一个XML文件时,就为每个XML文件建立一个线程进行检测,从而可同时检测多个XML文件,从而提高检测效率。
可选地,同时对不止一个环境文件包中的XML文件进行检测。在本发明实施例中,开发人员可同时勾选多个环境文件包同时进行重名检测。进一步地,当同时对不止一个环境文件包中的XML文件进行配置对重名检测时,为每一个环境文件包单独建立一个文件夹,将每个环境文件包的配置对命名重复检测的检测结果放入环境文件包所属的文件中,方便开发人员清楚每一个环境文件包的bean重复检测结果。
作为本发明的一个实施例,如图4所示,所述步骤S103具体包括:
C1:对所述XML文件进行解析,获取所述XML文件中所有配置对的配置名。
C2:将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名。
C3:若存在重复的配置名,则统计重复的配置名的个数,以方便开发人员能清楚知道有相同配置名的配置对的个数。
在本发明实施例中,将XML文件中的全部配置对的配置名一一进行比较,检测是否有重复配置名。若没有,则结束该XML文件的线程。若有,则统计重复的配置名及其个数。
作为本发明的一个实施例,图5示出了本发明实施例提供的上述实施例中步骤C2的具体实现流程,详述如下:
C21:依次读取所述XML文件中配置对的配置名,并将已读取配置名的配置对写入读取记录表中。所述读取记录表为预先建立用于存放读取的配置对的表。
C22:将新读取的配置对中的配置名与所述读取记录表中配置对的配置名进行比较。具体地,将读取的第一个配置对存入读取记录表中,将读取的第二个配置对中的配置名与所述读取记录表中配置对的配置名进行比较,检测是否重名,以此类推,依次读取所述XML文件中配置对的配置名所述读取记录表中配置对的配置名进行比较。
C23:若新读取的配置对中的配置名与读取记录表存储的配置对中的配置名相同,则将所述新读取的配置对与所述读取记录表中具有相同配置名的配置对写入重名结果表中。所述重名结果表用于存储具有相同配置名的配置对。
在本发明实施例中,为提高配置对命名重复检测的检测速度以及检测的准确性,依次将读取了配置名的配置对写入预先建立的读取记录表中,再将新读取的配置对的配置名与读取记录表中已写入的配置对的配置名依次进行比较,判断是否有重命名。若有,则将重命名的配置对写入到用于存放具有相同配置名的重名结果表中,从而有效记录重命名的配置对,避免漏检。
可选地,作为本发明的一个实施例,在所述步骤S103之前还包括:对查找到的XML文件进行格式检测,判断XML文件的格式是否合法,将不合法的XML文件丢弃。
为了提高配置对命名重复检测的效率,在对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测之前,先对XML文件进行格式检测。在本发明实施例中,拥有正确语法的XML文件被称为合法的XML。拥有正确语法即为遵守文档类型定义(DTD)的语法规则。具体地,通过DTD验证的XML文件是否为合法的XML。
S104:按预设显示规则显示配置对命名重复检测的结果。
在本发明实施例中,所述预设显示规则包括显示的数据类别,数据类别包括检测的XML文件个数,检测的配置对的个数,重命名的配置对的个数,出现重命名的配置对的XML文件的个数。进一步地,还显示重命名配置对在检测的总的配置对中所占的比例。所述预设显示规则可由开发人员自定义,
可选地,作为本发明的一个实施例,当重名的配置对写入重名结果表时,所述步骤S104还包括:将重名结果表转换为JSON格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript Programming Language,Standard ECMA-2623rd Edition-December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。JSON格式的数据易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在本发明实施例中,通过获取待命名重复检测的环境文件包,查找所述环境文件包中的XML文件,所述XML文件中包括配置对,针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测,对所述XML文件进行解析,获取所述XML文件中所有配置对的配置名,依次读取所述XML文件中配置对的配置名,并将已读取配置名的配置对写入读取记录表中,将新读取的配置对中的配置名与所述读取记录表中配置对的配置名进行比较,若新读取的配置对中的配置名与读取记录表存储的配置对中的配置名相同,则将所述新读取的配置对与所述读取记录表中具有相同配置名的配置对写入重名结果表中,从而准确读取XML文件中的配置对,方便快速统计重名的配置对的个数,最后按预设显示规则显示配置对命名重复检测的结果,以便开发人员查看。通过对环境文件包进行重名检测,提前发现配置对重名的问题,避免加载配置对时对重复定义的配置名进行覆盖操作导致后续开发和运行时出现更多错误,从而可提高开发效率。
作为本发明的一个实施例,图6示出了本发明实施例提供的一种包括提供新配置名的配置对命名重复的检测方法,详述如下:
S201:获取待命名重复检测的环境文件包。
S202:查找所述环境文件包中的XML文件,所述XML文件中包括配置对。
S203:针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测。
S204:按预设显示规则显示配置对命名重复检测的结果。
本实施例中,步骤S201至步骤S204的具体步骤参见上述实施例步骤S101至步骤S104,在此不再赘述。
S205:获取命名重复的配置对中的实现代码。其中,在一个配置对中,配置名与实现代码一一对应,即一个配置名对应一套实现代码。
S206:提取所述实现代码中的关键词。
在本发明实施例中,以词为单位,从所述实现代码中提取特征。具体地,将实现代码划分为以词为单位的字符串,遍历所述字符串,查看词是否在预先建立的词频查找表中。若词在所述预先建立的词频查找表中,则将所述词频查找表中所述词的词频加1,若所述词不在所述预先建立的词频查找表中,则将所述词添加至所述词频查找表中,并所述词的词频置为1。当所述字符串遍历完成之后,统计所述词频查找表中词的词频,选取词频最大的词作为所述实现代码的关键词。
S207:根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名。
在本发明实施例中,将从所述配置对的实现代码中提取出来的关键词与所述配置对的配置名进行组合,生成所说配置对的新配置名,以便开发人员参考,避免再次出现命名重复的配置对。
可选地,所述根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名还包括:将所说关键词、所述配置对中的配置名与预设的特殊字符进行排列组合,生成所述配置对新的配置命名。
本发明实施例中,取待命名重复检测的环境文件包,查找所述环境文件包中的XML文件,所述XML文件中包括配置对,针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测,按预设显示规则显示配置对命名重复检测的结果,通过对环境文件包进行重名检测,提前发现配置对重名的问题,避免加载配置对时对重复定义的配置名进行覆盖操作导致后续开发和运行时出现更多错误,提高开发效率,再获取命名重复的配置对中的实现代码,提取所述实现代码中的关键词,根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名,推荐给开发人员参考,避免开发人员再次命名重复,进一步提高开发效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的配置对命名重复的检测方法,图7示出了本申请实施例提供的检测装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该检测装置包括:文件包获取单元71,文件查找单元72,配置对检测单元73,结果显示单元74,其中:
文件包获取单元71,用于获取待命名重复检测的环境文件包;
文件查找单元72,用于查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
配置对检测单元73,用于针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;
结果显示单元74,用于按预设显示规则显示配置对命名重复检测的结果。
可选地,所述文件查找单元72包括:
文件集合获取模块,用于对所述待命名重复检测的环境文件包进行解压缩,获取文件集合;
子文件包检测模块,用于检测所述文件集合中是否存在子文件包;
子文件结合获取模块,用于若所述文件集合中存在子文件包,则对所述子文件包进行解压缩,获取子文件集合;
文件查找模块,用于基于所述文件集合与所述子文件集合,查找XML文件。
可选地,所述配置对检测单元73包括:
配置名获取模块,用于对所述XML文件进行解析,获取所述XML文件中所有配置对的配置名;
配置名比较模块,用于将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名;
个数统计模块,用于若存在重复的配置名,则统计重复的配置名的个数。
可选地,所述配置名比较模块包括:
第一写入子模块,用于依次读取所述XML文件中配置对的配置名,并将已读取配置名的配置对写入读取记录表中;
配置名比较子模块,用于将新读取的配置对中的配置名与所述读取记录表中配置对的配置名进行比较;
第二写入子模块,用于若新读取的配置对中的配置名与读取记录表存储的配置对中的配置名相同,则将所述新读取的配置对与所述读取记录表中具有相同配置名的配置对写入重名结果表中。
可选地,所述检测装置还包括:
代码获取单元,用于获取命名重复的配置对中的实现代码;
关键词提取单元,用于提取所述实现代码中的关键词;
配置名生成单元,用于根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名。
本发明实施例中,通过获取待命名重复检测的环境文件包,查找所述环境文件包中的XML文件,所述XML文件中包括配置对,针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测,按预设显示规则显示配置对命名重复检测的结果,通过对环境文件包进行重名检测,提前发现配置对重名的问题,避免加载配置对时对重复定义的配置名进行覆盖操作导致后续开发和运行时出现更多错误,从而可提高开发效率。
图8是本发明一实施例提供的智能设备的示意图。如图8所示,该实施例的智能设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如路况预报程序。所述处理器80执行所述计算机程序82时实现上述各个配置对命名重复的处理方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块71至74的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述智能设备8中的执行过程。
所述智能设备8可以是桌上型计算机、笔记本、掌上电脑及云端智能设备等计算设备。所述智能设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是智能设备8的示例,并不构成对智能设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述智能设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述智能设备8的内部存储单元,例如智能设备8的硬盘或内存。所述存储器81也可以是所述智能设备8的外部存储设备,例如所述智能设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述智能设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述智能设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种配置对命名重复的检测方法,其特征在于,包括:
获取环境文件包名,根据所述环境文件包名搜索所述环境文件包名对应的环境文件包的存放路径;
基于所述存放路径获取待命名重复检测的环境文件包,具体包括:检测所述存放路径,若检测到所述存放路径为URL路径,则根据所述URL路径下载环境文件包,并存储至本地,若检测到所述存放路径为本地路径,则检测开发人员输入的选择指令,根据开发人员输入的选择指令,确定待命名重复检测的环境文件包;
查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;具体地,当查找到一个XML文件时,新建一个线程对查找到的XML文件进行重复命名检测,当查找到不止一个XML文件时,分别为每个XML文件建立一个线程进行重复命名检测;当获取不止一个环境文件包时,同时对不止一个环境文件包中的XML文件进行重复命名检测;
按预设显示规则显示配置对命名重复检测的结果。
2.根据权利要求1所述的方法,其特征在于,所述查找所述环境文件包中的XML文件的步骤,包括:
对所述待命名重复检测的环境文件包进行解压缩,获取文件集合;
检测所述文件集合中是否存在子文件包;
若所述文件集合中存在子文件包,则对所述子文件包进行解压缩,获取子文件集合;
基于所述文件集合与所述子文件集合,查找XML文件。
3.根据权利要求1所述的方法,其特征在于,所述针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测的步骤,包括:
对所述XML文件进行解析,获取所述XML文件中所有配置对的配置名;
将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名;
若存在重复的配置名,则统计重复的配置名的个数。
4.根据权利要求3所述的方法,其特征在于,所述将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名的步骤,包括:
依次读取所述XML文件中配置对的配置名,并将已读取配置名的配置对写入读取记录表中;
将新读取的配置对中的配置名与所述读取记录表中配置对的配置名进行比较;
若新读取的配置对中的配置名与读取记录表存储的配置对中的配置名相同,则将所述新读取的配置对与所述读取记录表中具有相同配置名的配置对写入重名结果表中。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述按预设显示规则显示配置对命名重复检测的结果的步骤之后,包括:
获取命名重复的配置对中的实现代码;
提取所述实现代码中的关键词;
根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述配置对命名重复的处理方法的步骤。
7.一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
获取环境文件包名,根据所述环境文件包名搜索所述环境文件包名对应的环境文件包的存放路径;
基于所述存放路径获取待命名重复检测的环境文件包,具体包括:检测所述存放路径,若检测到所述存放路径为URL路径,则根据所述URL路径下载环境文件包,并存储至本地,若检测到所述存放路径为本地路径,则检测开发人员输入的选择指令,根据开发人员输入的选择指令,确定待命名重复检测的环境文件包;
查找所述环境文件包中的XML文件,所述XML文件中包括配置对;
针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测;具体地,当查找到一个XML文件时,新建一个线程对查找到的XML文件进行重复命名检测,当查找到不止一个XML文件时,分别为每个XML文件建立一个线程进行重复命名检测;当获取不止一个环境文件包时,同时对不止一个环境文件包中的XML文件进行重复命名检测;
按预设显示规则显示配置对命名重复检测的结果。
8.如权利要求7所述的智能设备,其特征在于,当所述查找所述环境文件包中的XML文件的步骤,包括:
对所述待命名重复检测的环境文件包进行解压缩,获取文件集合;
检测所述文件集合中是否存在子文件包;
若所述文件集合中存在子文件包,则对所述子文件包进行解压缩,获取子文件集合;
基于所述文件集合与所述子文件集合,查找XML文件。
9.如权利要求7所述的智能设备,其特征在于,所述针对查找到的XML文件建立线程,对所述XML文件的配置对进行重复命名检测的步骤,包括:
对所述XML文件进行解析,获取所述XML文件中所有配置对的配置名;
将所述XML文件中所有配置对的配置名一一进行比较,判断是否存在重复的配置名;
若存在重复的配置名,则统计重复的配置名的个数。
10.如权利要求7至9任一项所述的智能设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
获取命名重复的配置对中的实现代码;
提取所述实现代码中的关键词;
根据所述关键词与所述配置对中的配置名,生成所述配置对的新配置名。
CN201810014461.2A 2018-01-08 2018-01-08 配置对命名重复的检测方法、存储介质和智能设备 Active CN108427580B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810014461.2A CN108427580B (zh) 2018-01-08 2018-01-08 配置对命名重复的检测方法、存储介质和智能设备
PCT/CN2018/082831 WO2019134297A1 (zh) 2018-01-08 2018-04-12 配置对命名重复的检测方法、装置、存储介质和智能设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810014461.2A CN108427580B (zh) 2018-01-08 2018-01-08 配置对命名重复的检测方法、存储介质和智能设备

Publications (2)

Publication Number Publication Date
CN108427580A CN108427580A (zh) 2018-08-21
CN108427580B true CN108427580B (zh) 2020-01-10

Family

ID=63155806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810014461.2A Active CN108427580B (zh) 2018-01-08 2018-01-08 配置对命名重复的检测方法、存储介质和智能设备

Country Status (2)

Country Link
CN (1) CN108427580B (zh)
WO (1) WO2019134297A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237719B (zh) * 2020-09-09 2023-11-28 中国联合网络通信集团有限公司 U盘识别方法、***、计算机设备及存储介质
CN112272320B (zh) * 2020-10-20 2022-04-15 Vidaa美国公司 一种显示设备及其重名检测方法
WO2022061293A1 (en) 2020-09-21 2022-03-24 VIDAA USA, Inc. Display apparatus and signal transmission method for display apparatus
CN112306508A (zh) * 2020-10-13 2021-02-02 武汉木仓科技股份有限公司 一种配置信息文件的更新方法、装置以及处理设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461508A (zh) * 2014-11-12 2015-03-25 国云科技股份有限公司 一种解决多个js文件中函数名重名的方法
CN106294164A (zh) * 2016-08-15 2017-01-04 中国银行股份有限公司 一种代码检查方法及装置
CN106874442A (zh) * 2017-02-08 2017-06-20 三和智控(北京)***集成有限公司 通过数据名称命名实现数据自携带特征信息的方法及装置
CN107463683A (zh) * 2017-08-09 2017-12-12 上海壹账通金融科技有限公司 代码元素的命名方法及终端设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500223B2 (en) * 2004-01-02 2009-03-03 International Business Machines Corporation Automatically creating JavaScript objects to invoke methods on server-side Java beans
GB2459681B (en) * 2008-04-30 2012-04-25 Vmware Inc a computer system and a method of deploying an application in a computer system
CN105446874B (zh) * 2014-09-25 2019-03-15 北京畅游天下网络技术有限公司 一种资源配置文件的检测方法和装置
CN105045598A (zh) * 2015-08-07 2015-11-11 北京思特奇信息技术股份有限公司 一种基于Java的web前端性能优化及上线的方法和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461508A (zh) * 2014-11-12 2015-03-25 国云科技股份有限公司 一种解决多个js文件中函数名重名的方法
CN106294164A (zh) * 2016-08-15 2017-01-04 中国银行股份有限公司 一种代码检查方法及装置
CN106874442A (zh) * 2017-02-08 2017-06-20 三和智控(北京)***集成有限公司 通过数据名称命名实现数据自携带特征信息的方法及装置
CN107463683A (zh) * 2017-08-09 2017-12-12 上海壹账通金融科技有限公司 代码元素的命名方法及终端设备

Also Published As

Publication number Publication date
WO2019134297A1 (zh) 2019-07-11
CN108427580A (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
CN108427580B (zh) 配置对命名重复的检测方法、存储介质和智能设备
CN108628751B (zh) 一种无用依赖项检测方法及装置
US9152731B2 (en) Detecting a broken point in a web application automatic test case
NL2029881B1 (en) Methods and apparatus for automatic detection of software bugs
CN110688307B (zh) JavaScript代码检测方法、装置、设备和存储介质
CN111176717B (zh) 生成安装包的方法、装置及电子设备
US20160321218A1 (en) System and method for transforming image information for a target system interface
US11422917B2 (en) Deriving software application dependency trees for white-box testing
KR20190031030A (ko) 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
KR20230130089A (ko) 취약한 소프트웨어 패키지의 선택 및 발견을 위한 시스템및 방법
CN111078276B (zh) 应用程序的冗余资源处理方法、装置、设备及存储介质
CN112181924A (zh) 文件转换方法、装置、设备及介质
US20220107828A1 (en) Methods, apparatus, and articles of manufacture to generate usage dependent code embeddings
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
CN113901169A (zh) 信息处理方法、装置、电子设备及存储介质
CN110674033B (zh) 处理代码的方法、装置、设备及存储介质
US9679092B1 (en) Constraint handling for parameterizable hardware description language
CN109582347B (zh) 一种获取前端代码的方法及装置
CN115314413B (zh) 一种can信号测试方法及装置
CN111240987A (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
CN115687129A (zh) 一种覆盖率报告生成方法、装置、存储介质和计算机设备
CN111736848B (zh) 包冲突定位方法、装置、电子设备及可读存储介质
Le Zou et al. On synchronizing with web service evolution
CN114611500A (zh) 表达式处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant