CN112416367A - 基于软件逆向拆解和分析的应用资源变更影响分析系统 - Google Patents
基于软件逆向拆解和分析的应用资源变更影响分析系统 Download PDFInfo
- Publication number
- CN112416367A CN112416367A CN202011304156.0A CN202011304156A CN112416367A CN 112416367 A CN112416367 A CN 112416367A CN 202011304156 A CN202011304156 A CN 202011304156A CN 112416367 A CN112416367 A CN 112416367A
- Authority
- CN
- China
- Prior art keywords
- module
- code
- information
- analysis
- release
- 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.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 172
- 230000008859 change Effects 0.000 title claims abstract description 132
- 230000006870 function Effects 0.000 claims abstract description 120
- 238000012423 maintenance Methods 0.000 claims abstract description 30
- 230000007547 defect Effects 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 45
- 238000012544 monitoring process Methods 0.000 claims description 42
- 238000010586 diagram Methods 0.000 claims description 30
- 238000000547 structure data Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 6
- 238000012384 transportation and delivery Methods 0.000 abstract description 4
- 230000008602 contraction Effects 0.000 abstract description 3
- 230000010354 integration Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 13
- 230000018109 developmental process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010252 digital analysis Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及基于软件逆向拆解和分析的应用资源变更影响分析系统,该系统包括代码包扫描解析器模块、初版各项功能建立关联关系模块、neo4j存储模块、各版本差异性对比模块、变更分析模块;本发明解决目前电力行业没有技术手段对本地部署包及代码的内容进行应用配置层面的管控和分析的情况,解决本地运维存在源代码可见及源代码不可见两种情况,且各个系统的开发语言和开发规范各不相同,对不同语言和不同规范的代码包进行扫描难度较大的技术问题。本发明完善了电力行业软件应用的资源变更,强化IT基础资源与应用资源关系链,细化应用资源分类,提升关联性分析能力,提供对持续集成和发布、持续交付、弹性扩缩容的辅助支撑。
Description
技术领域
本发明属于电力软件工程技术领域,具体涉及一种基于软件逆向拆解和分析的应用资源变更影响分析系统及方法。
背景技术
在电力软件工程的领域中,现有的IT运维管控手段主要针对应用运维中的成果的完整性进行管控。但是由于缺少应用资源细化及结构化关系等基础信息,无法对应用运维中系统上下线、升级部署、扩容、迁移等操作变更进行分析,无法对产生的影响进行评估和控制,导致运维反应时间长,成本高。无法对持续集成和发布、持续交付、弹性扩缩容、平台稳定性、运维成本控制等进行有效的支撑。同时无法进行应用配置的追溯管理。
目前没有技术手段对本地部署包及代码的内容进行应用配置层面的管控。同时,本地运维存在源代码可见及源代码不可见两种情况,且各个系统的开发语言和开发规范各不相同,对不同语言和不同规范的代码包进行扫描难度较大。另外,CSGII等核心系统本地运维仅能针对部署包进行管控,无法针对代码包进行扫描,应用配置管理较难较难实现。
当前对应用配置的管控手段主要依靠对应用运维业务流程的管控,对应用运维过程中涉及的匹配应用部署包,应用运行各项脚本和命令、应用运行时的参数配置等应用资源控制力弱。例如:应用发布过程中,发布过程信息记录完善,但缺少对发布中涉及的部署包及脚本是否与发布申请、系统测试等流程的描述一致性的检查。对管理人员来说等于是一个黑盒子,缺少有效的变更审核参考依据。
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于软件逆向拆解和分析的应用资源变更影响分析系统及方法,用于电力行业解决传统关系型数据库不适用于应用配置管控,解决目前电力行业没有技术手段对本地部署包及代码的内容进行应用配置层面的管控和分析的情况,解决本地运维存在源代码可见及源代码不可见两种情况,且各个系统的开发语言和开发规范各不相同,对不同语言和不同规范的代码包进行扫描难度较大的技术问题。
为实现上述目的,本发明采用的技术方案如下:
基于软件逆向拆解和分析的应用资源变更影响分析系统,包括:代码包扫描解析器模块、初版各项功能建立关联关系模块、neoj存储模块、各版本差异性对比模块、变更分析模块;
代码包扫描解析器模块和初版各项功能建立关联关系模块相连;初版各项功能建立关联关系模块和neoj存储模块相连;neoj存储模块和各版本差异性对比模块相连;各版本差异性对比模块和变更分析模块相连;
代码包扫描解析器模块用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息;
初版各项功能建立关联关系模块用于上传发布版本的代码包附件,并且录入需求缺陷信息,结合代码包扫描解析器模块生成的信息建立项目功能结构关系,保存项目的第一个发布版的各项功能和代码包之间的关联关系;
neoj存储模块用于存储代码包扫描解析器模块生成的功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;存储初版各项功能建立关联关系模块的各项功能和代码包之间的关联关系,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB文件编码、版本增量信息、文件节点关系信息;
各版本差异性对比模块用于不同代码包版本之间功能对比、记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况,新版本需要代码包扫描解析器模块生成的存储在neoj存储模块中功能关系、代码包结构关系、MDB文件编码、文件节点关系和初版各项功能建立关联关系模块的关联关系做对比;
变更分析模块用于监控源代码包的部署目录,产生监控记录,对产生的监控记录选择发布前的版本进行关联;将发布后代码包和neoj存储模块存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
进一步,优选的是,代码包扫描解析器模块包括系统基本信息模块,功能拓扑结构图模块,服务器部署图模块,代码包结构模块;
初版各项功能建立关联关系模块包括需求缺陷维护模块,关联跟踪模块,业务系统发布分析模块,代码包及附件上传模块;
neoj存储模块包括系统代码包结构模块,代码包版本增量信息模块,代码包文件值MDB模块,代码包文件节点关系模块;
各版本差异性对比模块包括分析总览模块,功能对比模块,代码情况模块,分析记录模块;
变更分析模块包括系统发布分析信息模块,服务器变化监控模块,关联发布模块,变更分析模块;
其中,系统基本信息模块、功能拓扑结构图模块、服务器部署图模块、代码包结构模块相互相连;需求缺陷维护模块、关联跟踪模块、业务系统发布分析模块、代码包及附件上传模块相互相连;系统代码包结构模块、代码包版本增量信息模块、代码包文件值MDB模块、代码包文件节点关系模块相互相连;分析总览模块、功能对比模块、代码情况模块、分析记录模块相互相连;系统发布分析信息模块、服务器变化监控模块、关联发布模块、变更分析模块相互相连;
系统基本信息模块用于录入系统基本信息字段;
功能拓扑结构图模块用于代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;
服务器部署图模块用于录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
代码包结构模块用于代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;
需求缺陷维护模块用于录入系统的缺陷信息;
关联跟踪模块用于需求缺陷维护模块和代码包及附件上传模块的发布版关联,形成需求缺陷跟踪图表和详细信息;
业务系统发布分析模块用于标记功能拓扑结构图模块的功能和代码包结构模块的变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;
代码包及附件上传模块用于上传发布版本的代码包附件;
系统代码包结构模块用于neoj图数据库存储具有父子关系的代码包结构数据;存储录入的系统基本信息和服务器部署信息;
代码包版本增量信息模块用于neoj图数据库存储当前版本和上一个版本之间的增量信息;存储录入的需求缺陷和上传的代码包附件;
代码包文件值MDB模块用于neoj图数据库存储业务系统发布分析产生的MDB文件编码信息;
代码包文件节点关系模块用于neoj图数据库存储代码包解析器生成MDB文件编码、文件节点关系信息;存储MDB文件编码和功能之间一一对应的关系;
分析总览模块用于显示不同代码包版本之间分析总览详细,分析总览详细包括发布作业内容、文件变化情况、功能变化情况;
功能对比模块用于代码包及附件上传模块对当前上传的代码包和存储在neoj存储模块中功能关系进行功能对比;
代码情况模块用于代码包及附件上传模块当前上传的代码包经过解压和读取,产生代码包列表数据和存储在neoj存储模块中代码包结构关系、MDB文件编码、文件节点关系做对比;
分析记录模块用于记录接口调用分析记录,记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录;
系统发布分析信息模块用于记录源代码包发布后产生变更分析记录数据;
服务器变化监控模块用于监控源代码包的部署目录,源代码包的部署目录发生变动,产生监控记录;
关联发布模块用于将产生的监控记录选择发布前的版本进行关联;
变更分析模块用于将发布后代码包和neoj存储模块存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
进一步,优选的是,系统基本信息包括系统名称、系统描述、投运时间、当前版本、父级系统、业务域、服务器数量、系统简称、服务器编码、git仓库配置地址和状态;
所述的缺陷信息包括需求名称、需求系统、需求来源、需求类型和需求状态信息。
进一步,优选的是,作业内容包括作业名称、作业类型、作业级别和作业版本;文件变化情况包括文件总数、文件变更总数、更新数量、新增数量和删除数量;功能变化情况包括发布标注变更功能数量和代码分析变更功能数量;
代码包列表数据由文件名称、文件路径和文件操作类型组成。
本发明同时提供基于软件逆向拆解和分析的应用资源变更影响分析方法,采用上述基于软件逆向拆解和分析的应用资源变更影响分析系统,,包括如下步骤:
S10:建立多种语言代码包扫描解析器,用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息
S20:通过S10获得的语言代码包扫描解析器生成的功能关系、代码包结构关系、部署结构关系、系统基本信息,建立项目功能结构关系,保存项目的第一个发布版的各项功能之间的关联关系;
S30:通过S20获得的各项功能之间的关联关系,neo4j图数据库存储每个项目的结构、流程和算法,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB5文件编码、版本增量信息、文件节点关系信息;存储功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;
S40:通过S30获得的neo4j图数据库存储每个项目的结构、流程、算法,记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况;记录版本之间代码差异性对比数据;
S50:通过S40获得的版本之间代码差异性对比,根据产生的监控记录和选择发布前的版本进行关联,发布后代码包和发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
进一步,优选的是,S10的具体方法为:
S101:录入被扫描系统的基本信息字段;
S102:代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;
S103:录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
S104:代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;并且关联功能拓扑结构图,形成功能拓扑代码包结构图。
进一步,优选的是,S20的具体方法为:
S201:录入系统的缺陷信息,并且和对应的功能相关联,生成需求缺陷;
S202:根据需求缺陷信息和代码包附件所在的发布版关联,形成需求缺陷跟踪图表和详细信息需求跟踪图表是由待处理、处理中、处理完成三个项为统计维度的数量统计柱状图;需求跟踪详细信息包括需求名称、需求系统、申请人、计划开始时间、计划结束时间、优先级、需求来源和备注信息;
S203:业务系统发布分析由具有权限的操作员标记功能和变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;包括功能和代码包数量变更分析数据;
S204:具有权限的操作员上传发布版本的代码包附件,为不同发布版之间功能关联提供基础支撑。
进一步,优选的是,S30的具体方法为:
S301:neo4j图数据库存储代码包发布分析相关的数据和代码包结构,形成具有父子关系的树形结构;存储录入的系统基本信息和服务器部署信息;
S302:当前版本和上一个版本之间的差异信息,neo4j图数据库存储代码包版本增量信息,并且对数据记录做识别标识;存储录入的需求缺陷和上传的代码包附件;
S303:经过系统分析的代码包文件产生唯一MDB5文件编码,图数据库neo4j对其处理并且对结构进行存储;
S304:根据代码包分析的MDB5文件编码和功能之间的关联关系,图数据库详细划分节点和节点之间的关系,构建节点关系网络。
进一步,优选的是,S40的具体方法为:
S401:系统发布记录列表,生成当前源代码包分析总览信息;
S402:对当前上传的代码包和上一个版本代码包进行功能对比;所述的功能对比包括完整功能代码树对比、变化功能代码树对比;
S403:当前上传的代码包经过解压和读取,生成代码情况数据,该数据详细显示代码包的文件名称、代码包路径、文件的操作类型信息;
S404:系统记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录,并且存储到neo4j数据库。
进一步,优选的是,S50的具体方法为:
S501:源代码包发布后会产生发布后变更分析记录和结果;
S502:系统监控源代码包的部署目录,产生监控记录;
S503:监控记录和系统发布分析信息进行人工关联,系统发布信息列表详细显示发布相关信息;监控记录和发布信息关联之后进行系统发布后的变更分析;
S504:变更分析左侧显示发布前的代码包文件名、代码包目录代码、发布前代码文件总数、文件变更总数、更新数量、新增数量、删除数量;右侧显示发布后的代码包文件名、代码包目录代码、发布后代码文件总数、文件变更总数、更新数量、新增数量、删除数量;形成比较对比、形成发布后变更分析。
本发明建立以neo4j为基础的图数据库存储每个项目的结构、流程和算法,构建复杂的关系网络,使用neo4j图数据库构建一套以项目源代码包为根节点,逆向拆解后的结构、流程和算法为子节点的结构化网络,用于存储相对应的结构化数据信息;根据解析后的代码进行版本之间代码差异性对比,使用现有技术,构建一套完整的文本比对算法,形成文本比对工具;获得的项目源代码,进行与之前版本的源代码比对,生成比对结果差异信息;根据比对结果差异性信息,得到的结构信息、流程信息、算法信息,得到功能差异信息;根据所获得的代码、功能等的差异结果分析变更带来的影响,使用对比结果和功能差异信息,比对当前正在运行的项目,对新版本所产生的变更进行分析,分析出其带来的影响。
本发明完善电力行业软件应用的资源变更,强化IT基础资源与应用资源关系链,细化应用资源分类,提升关联性分析能力,提供对持续集成和发布、持续交付、弹性扩缩容的辅助支撑。
本发明可将得到的分析结果直观的提供给代码发布和管理人员,实时监管应用资源变更,为实施应用资源变更提供决策参考依据。
本发明与现有技术相比,其有益效果为:
本发明通过使用图形数据库、多种语言代码包扫描解析器等技术,以代码包为中心的资源管理逻辑,构建代码包、功能、需求缺陷等之间多维关系链。在应用资源变更后,监控源代码包的部署目录,感知代码包变动情况;对常规IT运维管控流程进行改造,从发布包溯源到需求、缺陷,辅助识别应用变更影响范围和进行应用资源多维分析;对应用资源细化版本控制,提高本地运维对版本的管控和管理能力。从而促进向业务侧不断靠拢,提高运维服务交付质量、资源管控质量、运维管理质量,提升运维管控能力以及运维数字化分析能力。现有技术无法对不同版本源代码包进行功能、代码包、需求缺陷等进行多维度关联,本发明实现不同版本源代码包之间功能、需求缺陷、代码包结构之间多维度关联,并实现不同版本源代码变动智能监控,自动生成监控记录,自动增量同步源代码包的变动。让运维工作以业务需求为导向、以信息系统为对象,促进业务效率、业务效益或用户体验的提升。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于软件逆向拆解和分析的应用资源变更影响分析系统的结构示意图;
图2为本发明的基于软件逆向拆解和分析的应用资源变更影响分析方法的代码包解析器的流程示意图;
图3为本发明的基于软件逆向拆解和分析的应用资源变更影响分析方法的neo4j图数据库示意图;
图4为本发明的基于软件逆向拆解和分析的应用资源变更影响分析方法的步骤图;
图5为本发明系统中代码包扫描解析器模块的结构示意图;
图6为本发明系统中初版各项功能建立关联关系模块的结构示意图;
图7为本发明系统中neo4j存储模块的结构示意图;
图8为本发明系统中各版本差异性对比模块的结构示意图;
图9为本发明系统中变更分析模块的结构示意图。
具体实施方式
下面结合实施例对本发明作进一步的详细描述。
本领域技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限定本发明的范围。实施例中未注明具体技术或条件者,按照本领域内的文献所描述的技术或条件或者按照产品说明书进行。所用材料或设备未注明生产厂商者,均为可以通过购买获得的常规产品。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”到另一元件时,它可以直接连接到其他元件,或者也可以存在中间元件。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。术语“内”、“上”、“下”等指示的方位或状态关系为基于附图所示的方位或状态关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”、“设有”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,根据具体情况理解上述术语在本发明中的具体含义。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
如图1、5~9所示,基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于,包括:代码包扫描解析器模块1、初版各项功能建立关联关系模块2、neo4j存储模块3、各版本差异性对比模块4、变更分析模块5;
代码包扫描解析器模块1和初版各项功能建立关联关系模块2相连;初版各项功能建立关联关系模块2和neo4j存储模块3相连;neo4j存储模块3和各版本差异性对比模块4相连;各版本差异性对比模块4和变更分析模块5相连;
代码包扫描解析器模块1用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息;
初版各项功能建立关联关系模块2用于上传发布版本的代码包附件,并且录入需求缺陷信息,结合代码包扫描解析器模块1生成的信息建立项目功能结构关系,保存项目的第一个发布版的各项功能和代码包之间的关联关系;
neo4j存储模块3用于存储代码包扫描解析器模块1生成的功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;存储初版各项功能建立关联关系模块2的各项功能和代码包之间的关联关系,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB5文件编码、版本增量信息、文件节点关系信息;
各版本差异性对比模块4用于不同代码包版本之间功能对比、记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况,新版本需要代码包扫描解析器模块1生成的存储在neo4j存储模块3中功能关系、代码包结构关系、MDB5文件编码、文件节点关系和初版各项功能建立关联关系模块2的关联关系做对比;
变更分析模块5用于监控源代码包的部署目录,产生监控记录,对产生的监控记录选择发布前的版本进行关联;将发布后代码包和neo4j存储模块3存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
2、根据权利要求1所述的基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于:
代码包扫描解析器模块1包括系统基本信息模块1-1,功能拓扑结构图模块1-2,服务器部署图模块1-3,代码包结构模块1-4;
初版各项功能建立关联关系模块2包括需求缺陷维护模块2-1,关联跟踪模块2-2,业务系统发布分析模块2-3,代码包及附件上传模块2-4;
neo4j存储模块3包括系统代码包结构模块3-1,代码包版本增量信息模块3-2,代码包文件值MDB5模块3-3,代码包文件节点关系模块3-4;
各版本差异性对比模块4包括分析总览模块4-1,功能对比模块4-2,代码情况模块4-3,分析记录模块4-4;
变更分析模块5包括系统发布分析信息模块5-1,服务器变化监控模块5-2,关联发布模块5-3,变更分析模块5-4;
其中,系统基本信息模块1-1、功能拓扑结构图模块1-2、服务器部署图模块1-3、代码包结构模块1-4相互相连;需求缺陷维护模块2-1、关联跟踪模块2-2、业务系统发布分析模块2-3、代码包及附件上传模块2-4相互相连;系统代码包结构模块3-1、代码包版本增量信息模块3-2、代码包文件值MDB5模块3-3、代码包文件节点关系模块3-4相互相连;分析总览模块4-1、功能对比模块4-2、代码情况模块4-3、分析记录模块4-4相互相连;系统发布分析信息模块5-1、服务器变化监控模块5-2、关联发布模块5-3、变更分析模块5-4相互相连;
系统基本信息模块1-1用于录入系统基本信息字段;
功能拓扑结构图模块1-2用于代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;
服务器部署图模块1-3用于录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
代码包结构模块1-4用于代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;
需求缺陷维护模块2-1用于录入系统的缺陷信息;
关联跟踪模块2-2用于需求缺陷维护模块2-1和代码包及附件上传模块2-4的发布版关联,形成需求缺陷跟踪图表和详细信息;
业务系统发布分析模块2-3用于标记功能拓扑结构图模块1-2的功能和代码包结构模块1-4的变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;
代码包及附件上传模块2-4用于上传发布版本的代码包附件;
系统代码包结构模块3-1用于neo4j图数据库存储具有父子关系的代码包结构数据;存储录入的系统基本信息和服务器部署信息;
代码包版本增量信息模块3-2用于neo4j图数据库存储当前版本和上一个版本之间的增量信息;存储录入的需求缺陷和上传的代码包附件;
代码包文件值MDB5模块3-3用于neo4j图数据库存储业务系统发布分析产生的MDB5文件编码信息;
代码包文件节点关系模块3-4用于neo4j图数据库存储代码包解析器生成MDB5文件编码、文件节点关系信息;存储MDB5文件编码和功能之间一一对应的关系;
分析总览模块4-1用于显示不同代码包版本之间分析总览详细,分析总览详细包括发布作业内容、文件变化情况、功能变化情况;
功能对比模块4-2用于代码包及附件上传模块2-4对当前上传的代码包和存储在neo4j存储模块3中功能关系进行功能对比;
代码情况模块4-3用于代码包及附件上传模块2-4当前上传的代码包经过解压和读取,产生代码包列表数据和存储在neo4j存储模块3中代码包结构关系、MDB5文件编码、文件节点关系做对比;
分析记录模块4-4用于记录接口调用分析记录,记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录;
系统发布分析信息模块5-1用于记录源代码包发布后产生变更分析记录数据;
服务器变化监控模块5-2用于监控源代码包的部署目录,源代码包的部署目录发生变动,产生监控记录;
关联发布模块5-3用于将产生的监控记录选择发布前的版本进行关联;
变更分析模块5-4用于将发布后代码包和neo4j存储模块3存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
其中,系统基本信息包括系统名称、系统描述、投运时间、当前版本、父级系统、业务域、服务器数量、系统简称、服务器编码、git仓库配置地址和状态;
所述的缺陷信息包括需求名称、需求系统、需求来源、需求类型和需求状态信息。
作业内容包括作业名称、作业类型、作业级别和作业版本;文件变化情况包括文件总数、文件变更总数、更新数量、新增数量和删除数量;功能变化情况包括发布标注变更功能数量和代码分析变更功能数量;
代码包列表数据由文件名称、文件路径和文件操作类型组成。
作为本发明主要研究的基础,如图2所示,为本发明的基于软件逆向拆解和分析的应用资源变更影响分析系统的代码包解析器的流程示意图,从发布的代码包到最后解析出源代码提供给代码变更分析,是整个一种基于软件逆向拆解和分析的应用资源变更影响分析系统的基础。主要内容如下:
代码包:开发人员开发完一个项目后,提供的一个打包成功可以直接部署的发布包;
词法分析器:词法分析是编译程序进行编译时第一个要进行的任务,主要是对源程序进行编译预处理(去除注释、无用的回车换行找到包含的文件等)之后,对整个源程序进行分解,分解成一个个单词,这些单词有且只有五类,分别是标识符、保留字、常数、运算符、界符。以便为后面的语法分析和语义分析做准备。可以说词法分析面向的对象是单个的字符,目的是把它们组成有效的单词(字符串);
Token流:把程序的语句进行类似分词得到的单词。分别是标识符、保留字、常数、运算符、界符;
语法分析器:利用词法分析的结果作为输入来分析是否符合语法规则并且进行语法制导下的语义分析,最后产生四元组(中间代码),进行优化或无需优化,之后最终生成目标代码;
语法树:代表了句子的推导结果,有利于理解句子语法结构的层次。简单说,语法树就是按照某一规则进行推导时所形成的树。不同的语言,都会配之不同的语法分析器,而语法分析器是把源代码作为字符串读入、解析,并建立语法树的程序。语法的设计和语法分析器的实现是决定语言外在表现的重要因素;
语义分析器:语义分析是编译过程的一个逻辑阶段,语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。比如语义分析的一个工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。如有的编译程序要对实数用作数组下标的情况报告错误;
抽象语法树:是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,可以去除多余的成分,让解析源代码更加清晰;
混淆代码破解器:代码混淆是一种代码防你想解析的机制,目的是将字节码转变成不易看懂的格式,这样就会使逆向技术显得尤为复杂和困难。本发明使用了自动调试的机制去破解混淆代码,整理出干净,有逻辑的代码;
源代码:经过上述步骤得到的一套完整的、逻辑清晰、结构清晰,算法清楚的代码。
作为本发明的分析基础,如图3所示,为一种基于软件逆向拆解和分析的应用资源变更影响分析系统的neo4j图数据库示意图:
所述建立以neo4j为基础的图数据库存储每个项目的结构、流程和算法,构建复杂的关系网络,使用neo4j图数据库构建一套以项目源代码包为根节点,逆向拆解后的结构、流程和算法为子节点的结构化网络,用于存储相对应的结构化数据信息。
如图4所示的基于软件逆向拆解和分析的应用资源变更影响分析方法,采用上述基于软件逆向拆解和分析的应用资源变更影响分析系统,用于解决目前电力行业没有技术手段对本地部署包及代码的内容进行应用配置层面的管控和分析的情况,结合功能结构和代码包结构形成完成的系统信息;如图5所示,包括如下步骤:
S10:建立多种语言代码包扫描解析器,用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;具有对应权限的操作员录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息;
S20:通过S10获得的语言代码包扫描解析器生成的功能关系、代码包结构关系、部署结构关系、系统基本信息,建立项目功能结构关系,保存项目的第一个发布版的各项功能之间的关联关系;
S30:通过S20获得的各项功能之间的关联关系,neo4j图数据库存储每个项目的结构、流程和算法,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB5文件编码、版本增量信息、文件节点关系信息;存储功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;
S40:通过S30获得的neo4j图数据库存储每个项目的结构、流程、算法,记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况;记录版本之间代码差异性对比数据;
S50:通过S40获得的版本之间代码差异性对比,根据监控程序产生的监控记录和选择发布前的版本进行关联,发布后代码包和发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
S10的具体方法为:
S101:录入被扫描系统的基本信息字段;
S102:代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;功能拓扑结构图支持动态切换显示;
S103:录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
S104:代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;并且关联功能拓扑结构图,形成功能拓扑代码包结构图。
S20的具体方法为:
S201:录入系统的缺陷信息,并且和对应的功能相关联,生成需求缺陷;
S202:根据需求缺陷信息和代码包附件所在的发布版关联,形成需求缺陷跟踪图表和详细信息需求跟踪图表是由待处理、处理中、处理完成三个项为统计维度的数量统计柱状图;需求跟踪详细信息包括需求名称、需求系统、申请人、计划开始时间、计划结束时间、优先级、需求来源和备注信息;
S203:业务系统发布分析由具有权限的操作员标记功能和变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;包括功能和代码包数量变更分析数据;
S204:具有权限的操作员上传发布版本的代码包附件,为不同发布版之间功能关联提供基础支撑。
S30的具体方法为:
S301:neo4j图数据库存储代码包发布分析相关的数据和代码包结构,形成具有父子关系的树形结构;
S302:当前版本和上一个版本之间的差异信息,neo4j图数据库存储代码包版本增量信息,并且对数据记录做识别标识;
S303:经过系统分析的代码包文件产生唯一MDB5文件编码,图数据库neo4j对其处理并且对结构进行存储;
S304:根据代码包分析的MDB5文件编码和功能之间的关联关系,图数据库neo4j详细划分节点和节点之间的关系,构建节点关系网络。
S40的具体方法为:
S401:系统发布记录列表,生成当前源代码包分析总览信息;
S402:对当前上传的代码包和上一个版本代码包进行功能对比;所述的功能对比包括完整功能代码树对比、变化功能代码树对比;
S403:当前上传的代码包经过解压和读取,生成代码情况数据,该数据详细显示代码包的文件名称、代码包路径、文件的操作类型信息;
S404:系统记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录,并且存储到neo4j数据库方便调用和显示;
S50的具体方法为:
S501:源代码包发布后会产生发布后变更分析记录和结果;代码包文件层级目录都会根据发布后的情况,产生变动;
S502:系统监控源代码包的部署目录,源代码包的部署目录发生变动,产生监控记录;
S503:监控记录和系统发布分析信息进行人工关联,系统发布信息列表详细显示发布相关信息;监控记录和发布信息关联之后进行系统发布后的变更分析;
S504:变更分析左侧显示发布前的代码包文件名、代码包目录代码、发布前代码文件总数、文件变更总数、更新数量、新增数量、删除数量;右侧显示发布后的代码包文件名、代码包目录代码、发布后代码文件总数、文件变更总数、更新数量、新增数量、删除数量;形成比较对比、形成发布后变更分析。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于,包括:代码包扫描解析器模块(1)、初版各项功能建立关联关系模块(2)、neo4j存储模块(3)、各版本差异性对比模块(4)、变更分析模块(5);
代码包扫描解析器模块(1)和初版各项功能建立关联关系模块(2)相连;初版各项功能建立关联关系模块(2)和neo4j存储模块(3)相连;neo4j存储模块(3)和各版本差异性对比模块(4)相连;各版本差异性对比模块(4)和变更分析模块(5)相连;
代码包扫描解析器模块(1)用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息;
初版各项功能建立关联关系模块(2)用于上传发布版本的代码包附件,并且录入需求缺陷信息,结合代码包扫描解析器模块(1)生成的信息建立项目功能结构关系,保存项目的第一个发布版的各项功能和代码包之间的关联关系;
neo4j存储模块(3)用于存储代码包扫描解析器模块(1)生成的功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;存储初版各项功能建立关联关系模块(2)的各项功能和代码包之间的关联关系,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB5文件编码、版本增量信息、文件节点关系信息;
各版本差异性对比模块(4)用于不同代码包版本之间功能对比、记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况,新版本需要代码包扫描解析器模块(1)生成的存储在neo4j存储模块(3)中功能关系、代码包结构关系、MDB5文件编码、文件节点关系和初版各项功能建立关联关系模块(2)的关联关系做对比;
变更分析模块(5)用于监控源代码包的部署目录,产生监控记录,对产生的监控记录选择发布前的版本进行关联;将发布后代码包和neo4j存储模块(3)存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
2.根据权利要求1所述的基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于:
代码包扫描解析器模块(1)包括系统基本信息模块(1-1),功能拓扑结构图模块(1-2),服务器部署图模块(1-3),代码包结构模块(1-4);
初版各项功能建立关联关系模块(2)包括需求缺陷维护模块(2-1),关联跟踪模块(2-2),业务系统发布分析模块(2-3),代码包及附件上传模块(2-4);
neo4j存储模块(3)包括系统代码包结构模块(3-1),代码包版本增量信息模块(3-2),代码包文件值MDB5模块(3-3),代码包文件节点关系模块(3-4);
各版本差异性对比模块(4)包括分析总览模块(4-1),功能对比模块(4-2),代码情况模块(4-3),分析记录模块(4-4);
变更分析模块(5)包括系统发布分析信息模块(5-1),服务器变化监控模块(5-2),关联发布模块(5-3),变更分析模块(5-4);
其中,系统基本信息模块(1-1)、功能拓扑结构图模块(1-2)、服务器部署图模块(1-3)、代码包结构模块(1-4)相互相连;需求缺陷维护模块(2-1)、关联跟踪模块(2-2)、业务系统发布分析模块(2-3)、代码包及附件上传模块(2-4)相互相连;系统代码包结构模块(3-1)、代码包版本增量信息模块(3-2)、代码包文件值MDB5模块(3-3)、代码包文件节点关系模块(3-4)相互相连;分析总览模块(4-1)、功能对比模块(4-2)、代码情况模块(4-3)、分析记录模块(4-4)相互相连;系统发布分析信息模块(5-1)、服务器变化监控模块(5-2)、关联发布模块(5-3)、变更分析模块(5-4)相互相连;
系统基本信息模块(1-1)用于录入系统基本信息字段;
功能拓扑结构图模块(1-2)用于代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;
服务器部署图模块(1-3)用于录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
代码包结构模块(1-4)用于代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;
需求缺陷维护模块(2-1)用于录入系统的缺陷信息;
关联跟踪模块(2-2)用于需求缺陷维护模块(2-1)和代码包及附件上传模块(2-4)的发布版关联,形成需求缺陷跟踪图表和详细信息;
业务系统发布分析模块(2-3)用于标记功能拓扑结构图模块(1-2)的功能和代码包结构模块(1-4)的变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;
代码包及附件上传模块(2-4)用于上传发布版本的代码包附件;
系统代码包结构模块(3-1)用于neo4j图数据库存储具有父子关系的代码包结构数据;存储录入的系统基本信息和服务器部署信息;
代码包版本增量信息模块(3-2)用于neo4j图数据库存储当前版本和上一个版本之间的增量信息;存储录入的需求缺陷和上传的代码包附件;
代码包文件值MDB5模块(3-3)用于neo4j图数据库存储业务系统发布分析产生的MDB5文件编码信息;
代码包文件节点关系模块(3-4)用于neo4j图数据库存储代码包解析器生成MDB5文件编码、文件节点关系信息;存储MDB5文件编码和功能之间一一对应的关系;
分析总览模块(4-1)用于显示不同代码包版本之间分析总览详细,分析总览详细包括发布作业内容、文件变化情况、功能变化情况;
功能对比模块(4-2)用于代码包及附件上传模块(2-4)对当前上传的代码包和存储在neo4j存储模块(3)中功能关系进行功能对比;
代码情况模块(4-3)用于代码包及附件上传模块(2-4)当前上传的代码包经过解压和读取,产生代码包列表数据和存储在neo4j存储模块(3)中代码包结构关系、MDB5文件编码、文件节点关系做对比;
分析记录模块(4-4)用于记录接口调用分析记录,记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录;
系统发布分析信息模块(5-1)用于记录源代码包发布后产生变更分析记录数据;
服务器变化监控模块(5-2)用于监控源代码包的部署目录,源代码包的部署目录发生变动,产生监控记录;
关联发布模块(5-3)用于将产生的监控记录选择发布前的版本进行关联;
变更分析模块(5-4)用于将发布后代码包和neo4j存储模块(3)存储的发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
3.根据权利要求2所述的基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于,系统基本信息包括系统名称、系统描述、投运时间、当前版本、父级系统、业务域、服务器数量、系统简称、服务器编码、git仓库配置地址和状态;
所述的缺陷信息包括需求名称、需求系统、需求来源、需求类型和需求状态信息。
4.根据权利要求2所述的基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于,作业内容包括作业名称、作业类型、作业级别和作业版本;文件变化情况包括文件总数、文件变更总数、更新数量、新增数量和删除数量;功能变化情况包括发布标注变更功能数量和代码分析变更功能数量;
代码包列表数据由文件名称、文件路径和文件操作类型组成。
5.基于软件逆向拆解和分析的应用资源变更影响分析方法,采用权利要求1~4任意一项所述的基于软件逆向拆解和分析的应用资源变更影响分析系统,其特征在于,包括如下步骤:
S10:建立多种语言代码包扫描解析器,用于Java的jar包解析,代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构信息和具有父子层级结构的系统代码包结构信息;并且关联功能拓扑结构图,生成成功能拓扑代码包结构图;录入系统基本信息和服务器部署信息;将功能结构和代码包结构结合生成完成的系统信息
S20:通过S10获得的语言代码包扫描解析器生成的功能关系、代码包结构关系、部署结构关系、系统基本信息,建立项目功能结构关系,保存项目的第一个发布版的各项功能之间的关联关系;
S30:通过S20获得的各项功能之间的关联关系,neo4j图数据库存储每个项目的结构、流程和算法,存储录入的需求缺陷和上传的代码包附件;存储代码包解析器生成MDB5文件编码、版本增量信息、文件节点关系信息;存储功能结构数据、代码包结构数据,存储录入的系统基本信息和服务器部署信息;
S40:通过S30获得的neo4j图数据库存储每个项目的结构、流程、算法,记录新版本代码包情况、接口调用分析记录、文件变化情况和功能变化情况;记录版本之间代码差异性对比数据;
S50:通过S40获得的版本之间代码差异性对比,根据产生的监控记录和选择发布前的版本进行关联,发布后代码包和发布前代码包各项功能结构数据、代码包的变更分析数据、文件信息做对比。
6.根据权利要求5所述的基于软件逆向拆解和分析的应用资源变更影响分析方法,其特征在于,S10的具体方法为:
S101:录入被扫描系统的基本信息字段;
S102:代码包扫描解析器根据代码包生成上下级关系的功能拓扑结构图;
S103:录入被扫描系统的服务器部署信息,根据服务器部署信息生成服务器部署图;
S104:代码包扫描解析器根据代码包生成上下级关系层级结构的系统代码包结构;并且关联功能拓扑结构图,形成功能拓扑代码包结构图。
7.根据权利要求5所述的基于软件逆向拆解和分析的应用资源变更影响分析方法,其特征在于,S20的具体方法为:
S201:录入系统的缺陷信息,并且和对应的功能相关联,生成需求缺陷;
S202:根据需求缺陷信息和代码包附件所在的发布版关联,形成需求缺陷跟踪图表和详细信息需求跟踪图表是由待处理、处理中、处理完成三个项为统计维度的数量统计柱状图;需求跟踪详细信息包括需求名称、需求系统、申请人、计划开始时间、计划结束时间、优先级、需求来源和备注信息;
S203:业务系统发布分析由具有权限的操作员标记功能和变化代码,并且进行关联选择,保存代码包发布版的各项功能和代码包之间的关联关系;包括功能和代码包数量变更分析数据;
S204:具有权限的操作员上传发布版本的代码包附件,为不同发布版之间功能关联提供基础支撑。
8.根据权利要求5所述的基于软件逆向拆解和分析的应用资源变更影响分析方法,其特征在于,S30的具体方法为:
S301:neo4j图数据库存储代码包发布分析相关的数据和代码包结构,形成具有父子关系的树形结构;存储录入的系统基本信息和服务器部署信息;
S302:当前版本和上一个版本之间的差异信息,neo4j图数据库存储代码包版本增量信息,并且对数据记录做识别标识;存储录入的需求缺陷和上传的代码包附件;
S303:经过系统分析的代码包文件产生唯一MDB5文件编码,图数据库neo4j对其处理并且对结构进行存储;
S304:根据代码包分析的MDB5文件编码和功能之间的关联关系,图数据库详细划分节点和节点之间的关系,构建节点关系网络。
9.根据权利要求5所述的基于软件逆向拆解和分析的应用资源变更影响分析方法,其特征在于,S40的具体方法为:
S401:系统发布记录列表,生成当前源代码包分析总览信息;
S402:对当前上传的代码包和上一个版本代码包进行功能对比;所述的功能对比包括完整功能代码树对比、变化功能代码树对比;
S403:当前上传的代码包经过解压和读取,生成代码情况数据,该数据详细显示代码包的文件名称、代码包路径、文件的操作类型信息;
S404:系统记录发布过程中不同接口调用起止时间和接口调用是否成功,形成接口调用记录,并且存储到neo4j数据库。
10.根据权利要求5所述的基于软件逆向拆解和分析的应用资源变更影响分析方法,其特征在于,S50的具体方法为:
S501:源代码包发布后会产生发布后变更分析记录和结果;
S502:系统监控源代码包的部署目录,产生监控记录;
S503:监控记录和系统发布分析信息进行人工关联,系统发布信息列表详细显示发布相关信息;监控记录和发布信息关联之后进行系统发布后的变更分析;
S504:变更分析左侧显示发布前的代码包文件名、代码包目录代码、发布前代码文件总数、文件变更总数、更新数量、新增数量、删除数量;右侧显示发布后的代码包文件名、代码包目录代码、发布后代码文件总数、文件变更总数、更新数量、新增数量、删除数量;形成比较对比、形成发布后变更分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011304156.0A CN112416367B (zh) | 2020-11-19 | 2020-11-19 | 基于软件逆向拆解和分析的应用资源变更影响分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011304156.0A CN112416367B (zh) | 2020-11-19 | 2020-11-19 | 基于软件逆向拆解和分析的应用资源变更影响分析系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416367A true CN112416367A (zh) | 2021-02-26 |
CN112416367B CN112416367B (zh) | 2022-06-21 |
Family
ID=74774184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011304156.0A Active CN112416367B (zh) | 2020-11-19 | 2020-11-19 | 基于软件逆向拆解和分析的应用资源变更影响分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416367B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127341A (zh) * | 2021-03-26 | 2021-07-16 | 西北大学 | 一种基于图网络模型的增量代码缺陷检测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286119A (zh) * | 2008-05-27 | 2008-10-15 | 华耀环宇科技(北京)有限公司 | 一种通过分析代码变化确定功能点变化的方法 |
US20130014093A1 (en) * | 2010-03-29 | 2013-01-10 | Soft4Soft Co., Ltd. | Code inspection executing system for performing a code inspection of abap source codes |
CN106325969A (zh) * | 2016-08-23 | 2017-01-11 | 上海创景计算机系统有限公司 | 需求变更的逆向追踪系统 |
CN110045981A (zh) * | 2018-01-14 | 2019-07-23 | 北京关键科技股份有限公司 | 一种基于源码比对分析技术建立需求追踪关系的方法 |
CN111241307A (zh) * | 2020-01-23 | 2020-06-05 | 复旦大学 | 面向软件系统的软件项目及第三方库知识图谱构造方法 |
-
2020
- 2020-11-19 CN CN202011304156.0A patent/CN112416367B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286119A (zh) * | 2008-05-27 | 2008-10-15 | 华耀环宇科技(北京)有限公司 | 一种通过分析代码变化确定功能点变化的方法 |
US20130014093A1 (en) * | 2010-03-29 | 2013-01-10 | Soft4Soft Co., Ltd. | Code inspection executing system for performing a code inspection of abap source codes |
CN106325969A (zh) * | 2016-08-23 | 2017-01-11 | 上海创景计算机系统有限公司 | 需求变更的逆向追踪系统 |
CN110045981A (zh) * | 2018-01-14 | 2019-07-23 | 北京关键科技股份有限公司 | 一种基于源码比对分析技术建立需求追踪关系的方法 |
CN111241307A (zh) * | 2020-01-23 | 2020-06-05 | 复旦大学 | 面向软件系统的软件项目及第三方库知识图谱构造方法 |
Non-Patent Citations (2)
Title |
---|
PENGFEI LI: "Design and Implementation of Equipments Fault Management System based on", 《IEEE》 * |
刘剑: "《软件与网络安全研究综述》", 《软件学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127341A (zh) * | 2021-03-26 | 2021-07-16 | 西北大学 | 一种基于图网络模型的增量代码缺陷检测方法及系统 |
CN113127341B (zh) * | 2021-03-26 | 2023-03-21 | 西北大学 | 一种基于图网络模型的增量代码缺陷检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112416367B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162610B2 (en) | Method and apparatus for migration of application source code | |
CN112835560A (zh) | Web多终端低代码智能软件开发平台 | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
JP5791698B2 (ja) | アバップソースコードのコード検査遂行システム | |
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
CN108388445B (zh) | 一种基于“平台+应用”模式的持续集成方法 | |
CN102541521B (zh) | 基于结构化查询语言的操作指令自动生成装置及方法 | |
CN109033843B (zh) | 用于分布式静态检测系统的Java文件依赖性分析方法及模块 | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN111382070B (zh) | 兼容性测试方法、装置、存储介质和计算机设备 | |
CN110928783A (zh) | 基于RobotFramework自动化测试数据化改造的平台 | |
CN112363953B (zh) | 基于爬虫技术和规则引擎的接口测试用例生成方法及系统 | |
CN104657274A (zh) | 软件界面测试方法及装置 | |
CN112163017B (zh) | 一种知识挖掘系统及方法 | |
CN110543427A (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN115202626A (zh) | 一种支持多技术栈组件的低代码前端开发方法 | |
CN112416367B (zh) | 基于软件逆向拆解和分析的应用资源变更影响分析系统 | |
CN104573053A (zh) | 一种基于xml的配置项模板动态定制方法 | |
US20100275183A1 (en) | Source code auditor with a customized rules builder | |
CN114090019A (zh) | 一种基于软件集成的代码构建、扫描及存储平台 | |
CN112650673A (zh) | 事务跟踪系统中测试用例的创建方法、装置及电子设备 | |
CN110633290A (zh) | 一种sql语句分析方法及分析装置 | |
CN111008011A (zh) | 一个面向电力平台应用开发的系统构建器 | |
CN115794119A (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 |