基于源码分析的业务流程图的反向构建方法及构建系统技术方案

技术编号:37470409 阅读:7 留言:0更新日期:2023-05-06 09:50
本发明专利技术实施例提供一种基于源码分析的业务流程图的反向构建方法及构建系统,属于业务流程图构建技术领域。所述反向构建方法包括获取并加载HTML源码文件;对所述HTML源码文件进行解析,以获得业务事件的调用数据;通过对HTML源码文件进行解析,并获取业务事件的调用数据,并根据该调用数据,生成服务调用清单,同时根据该服务清单生成业务流程图JSON脚本,最后能够根据该业务流程图JSON脚本对业务流程图进行绘制。采用该种构建方法无需人工干预即可完成业务流程的可视化、显性化,减轻了工作人员的工作量;自动对源码文件进行解析并构建业务流程图的方式,保障了业务流程图构建的实时性以及与业务系统运行的一致性,提高了业务流程图构建的效率和质量。流程图构建的效率和质量。流程图构建的效率和质量。

【技术实现步骤摘要】
基于源码分析的业务流程图的反向构建方法及构建系统


[0001]本专利技术涉及业务流程图构建
,具体地涉及一种基于源码分析的业务流程图的反向构建方法及构建系统。

技术介绍

[0002]现有IT应用系统中存在大量的各种业务流程,大部分都是通过硬编码方式实现的,业务流程图无法显性化。
[0003]为了将存量的业务系统中业务流程可视化、显性化,现有技术方案主要有两类,一类是通过人工梳理业务流程、然后在BPM等工具上绘制出来;一类是通过人工操作一遍业务、同时由自动化模拟工具采集用户操作轨迹生成业务流程脚本,这种一般主要用于自动化测试场景。但是两类方式都需要人工梳理或者人工模拟业务操作,都需要耗费大量的人力,且工作量大、成本高。此外,在业务代码修改的情况下,又需要重新梳理业务流程或重新模拟业务操作,导致业务流程图的构建实时性差,与业务系统的实际运行逻辑的一致性差。
[0004]本申请专利技术人在实现本专利技术的过程中发现,现有技术的上述方案具有费时费力、构建实时性差且运行一致性差的缺陷。

技术实现思路

[0005]本专利技术实施例的目的是提供一种基于源码分析的业务流程图的反向构建方法及构建系统,该基于源码分析的业务流程图的反向构建方法及构建系统具有省时省力、构建实时性优以及运行一致性优的功能。
[0006]为了实现上述目的,本专利技术实施例提供一种基于源码分析的业务流程图的反向构建方法,包括:
[0007]获取并加载HTML源码文件;
[0008]对所述HTML源码文件进行解析,以获得业务事件的调用数据;
[0009]根据所述调用数据,生成服务调用清单;
[0010]根据所述服务调用清单,生成业务流程图JSON脚本;
[0011]根据所述业务流程图JSON脚本,获取业务流程图。
[0012]可选地,对所述HTML源码文件进行解析,以获得业务事件的调用数据包括:
[0013]获取所述HTML源码文件中引用的JS文件,并加载JS代码;
[0014]获取所述JS代码;
[0015]将所述JS代码转换成AST抽象语法树jsast;
[0016]递归所述AST抽象语法树jsast,以获得JS方法以及所述JS方法的调用关系;
[0017]再次递归所述AST抽象语法树jsast,以获得所述JS方法中的API服务调用清单;
[0018]输出所述JS方法、所述JS方法的调用关系以及所述JS方法中的API服务调用清单。
[0019]可选地,对所述HTML源码文件和所述JS源码文件进行解析,以获得业务事件的调用数据还包括:
[0020]获取HTML代码;
[0021]将所述HTML代码转换成AST语法树htmlast;
[0022]递归所述AST语法树htmlast,以获得所有页面事件的方法调用清单;
[0023]再次递归所述AST语法树htmlast,以获得所述页面事件的方法调用次序清单;
[0024]判断是否有子页面;
[0025]在判断有所述子页面的情况下,加载所述子页面的HTML代码和JS代码;
[0026]返回获取并加载HTML源码文件。
[0027]可选地,对所述HTML源码文件和所述JS源码文件进行解析,以获得业务事件的调用数据还包括:
[0028]在判断没有所述子页面的情况下,输出所述方法调用清单以及所述方法调用次序清单;
[0029]汇总所述JS方法、所述JS方法的调用关系、所述JS方法中的API服务调用清单、所述方法调用清单以及所述方法调用次序清单以形成所述调用数据。
[0030]可选地,根据所述调用数据,生成事件触发的服务调用清单包括:
[0031]根据所述调用数据生成用户交互的次序清单;
[0032]根据所述次序清单获取对应的方法;
[0033]根据方法获取对应的服务,以生成所述服务调用清单。
[0034]可选地,根据所述服务调用清单,生成业务流程图JSON脚本包括:
[0035]根据所述服务调用清单获取事件的多个环节;
[0036]对多个所述环节进行顺序、分支、循环控制装配,以形成业务流程;
[0037]将每个所述环节都绑定一个服务,以获取所述业务流程图JSON脚本。
[0038]可选地,根据所述业务流程图JSON脚本,获取业务流程图包括:
[0039]对所述业务流程图JSON脚本进行解析;
[0040]对解析后的所述业务流程图JSON脚本进行可视化渲染。
[0041]另一方面,本专利技术还提供一种基于源码分析的业务流程图的反向构建系统,包括:
[0042]源代码分析器,所述源代码分析器包括HTML解析器、JS解析器、调用分析模块以及脚本生成模块;
[0043]业务流程图绘制工具,与所述源代码分析器通讯连接,用于对所述脚本生成模块的输出进行解析以及渲染。
[0044]可选地,所述JS解析器用于:
[0045]获取HTML源码文件中引用的JS文件,并加载JS代码;
[0046]获取所述JS代码;
[0047]将所述JS代码转换成AST抽象语法树jsast;
[0048]递归所述AST抽象语法树jsast,以获得JS方法以及所述JS方法的调用关系;
[0049]再次递归所述AST抽象语法树jsast,以获得所述JS方法中的API服务调用清单;
[0050]输出所述JS方法、所述JS方法的调用关系以及所述JS方法中的API服务调用清单。
[0051]可选地,所述HTML解析器用于:
[0052]获取HTML代码;
[0053]将所述HTML代码转换成AST语法树htmlast;
[0054]递归所述AST语法树htmlast,以获得所有页面事件的方法调用清单;
[0055]再次递归所述AST语法树htmlast,以获得所述页面事件的方法调用次序清单;
[0056]判断是否有子页面;
[0057]在判断有所述子页面的情况下,加载所述子页面的HTML代码和JS代码;
[0058]返回获取并加载HTML源码文件;
[0059]在判断没有所述子页面的情况下,输出所述方法调用清单以及所述方法调用次序清单。
[0060]通过上述技术方案,本专利技术提供的基于源码分析的业务流程图的反向构建方法及构建系统通过对HTML源码文件进行解析,并获取业务事件的调用数据,并根据该调用数据,生成服务调用清单,同时根据该服务清单生成业务流程图JSON脚本,最后能够根据该业务流程图JSON脚本对业务流程图进行绘制。采用该种构建方法无需人工干预即可完成业务流程的可视化、显性化,减轻了工作人员的工作量;此外,自动对源码文件进行解析并构建业务流程图的方式,保障了业务流程图构建的实时性以及与业务系统运行的一致性,提高了业务流程图构建的效率和质量。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于源码分析的业务流程图的反向构建方法,其特征在于,包括:获取并加载HTML源码文件;对所述HTML源码文件进行解析,以获得业务事件的调用数据;根据所述调用数据,生成服务调用清单;根据所述服务调用清单,生成业务流程图JSON脚本;根据所述业务流程图JSON脚本,获取业务流程图。2.根据权利要求1所述的反向构建方法,其特征在于,对所述HTML源码文件进行解析,以获得业务事件的调用数据包括:获取所述HTML源码文件中引用的JS文件,并加载JS代码;获取所述JS代码;将所述JS代码转换成AST抽象语法树jsast;递归所述AST抽象语法树jsast,以获得JS方法以及所述JS方法的调用关系;再次递归所述AST抽象语法树jsast,以获得所述JS方法中的API服务调用清单;输出所述JS方法、所述JS方法的调用关系以及所述JS方法中的API服务调用清单。3.根据权利要求2所述的反向构建方法,其特征在于,对所述HTML源码文件和所述JS源码文件进行解析,以获得业务事件的调用数据还包括:获取HTML代码;将所述HTML代码转换成AST语法树htmlast;递归所述AST语法树htmlast,以获得所有页面事件的方法调用清单;再次递归所述AST语法树htmlast,以获得所述页面事件的方法调用次序清单;判断是否有子页面;在判断有所述子页面的情况下,加载所述子页面的HTML代码和JS代码;返回获取并加载HTML源码文件。4.根据权利要求3所述的反向构建方法,其特征在于,对所述HTML源码文件和所述JS源码文件进行解析,以获得业务事件的调用数据还包括:在判断没有所述子页面的情况下,输出所述方法调用清单以及所述方法调用次序清单;汇总所述JS方法、所述JS方法的调用关系、所述JS方法中的API服务调用清单、所述方法调用清单以及所述方法调用次序清单以形成所述调用数据。5.根据权利要求4所述的反向构建方法,其特征在于,根据所述调用数据,生成事件触发的服务调用清单包括:根据所述调用数据生成用户交互的次序清单;根据所述次...

【专利技术属性】
技术研发人员:杨咸福姚国龙
申请(专利权)人:合肥非度信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1