技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于Git源码的接口扫描方法、装置、设备及存储介质与流程  >  正文

基于Git源码的接口扫描方法、装置、设备及存储介质与流程

  • 国知局
  • 2024-07-31 23:27:02

本技术涉及数据处理,尤其涉及一种基于git源码的接口扫描方法、装置、设备及存储介质。

背景技术:

1、随着企业业务的快速增长,应用服务的部署会越来越多,提供的接口能力也相应地增多,各个应用之间的交互会变得更多错综复杂。这时,接口登记显得特别重要。但是现有的接口登记和差异对比方法大多采用传统的人工操作和审核方式,无法满足业务快速增长和质量提升要求。

技术实现思路

1、本技术的主要目的在于提供了一种基于git源码的接口扫描方法、装置、设备及存储介质,旨在解决现有的接口登记和差异对比方法大多采用传统的人工操作和审核方式,无法满足业务快速增长和质量提升要求的技术问题。

2、为实现上述目的,本技术提供了一种基于git源码的接口扫描方法,所述基于git源码的接口扫描方法包括以下步骤:

3、对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,确定目标git项目对应的分支依赖关系;

4、根据所述分支依赖关系从预设登记信息中获取项目源码;

5、基于所述项目源码构建神经网络模型,并基于所述神经网络模型对所述项目源码进行源码分析,获得源码分析结果;

6、根据所述源码分析结果中的目标注释信息确定目标接口信息。

7、可选地,所述对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,确定目标git项目对应的分支依赖关系的步骤之前,还包括:

8、通过定时任务方式将gitlab项目登记信息进行录入,获得第一录入信息;

9、根据所述第一录入信息中包含的每一个git项目对springboot应用入口进行扫描录入,获得第二录入信息;

10、定时获取合并到master分支的git项目,并通过所述master分支对所述git项目所影响的应用进行接口扫描,并保存所有接口记录,获得第三录入信息;

11、根据所述第一录入信息、所述第二录入信息以及所述第三录入信息确定预设登记信息。

12、可选地,所述对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,确定目标git项目对应的分支依赖关系的步骤包括:

13、对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,并根据待扫描项目对应的节点类型确定依赖关系,所述依赖关系包括向上依赖关系和向下依赖关系;

14、根据所述向上依赖关系和所述向下依赖关系递归查找所述待扫描项目,获得向上元数据和向下元数据;

15、根据所述向上元数据、所述向下元数据、所述预设登记信息确定应用依赖的层级目录关系;

16、根据所述应用依赖的层级目录关系确定目标git项目对应的分支依赖关系。

17、可选地,所述基于所述项目源码构建神经网络模型,并基于所述神经网络模型对所述项目源码进行源码分析,获得源码分析结果的步骤,包括:

18、基于所述项目源码构建神经网络模型,并基于所述神经网络模型对所述项目源码进行源码分析,获得所有类解释对象集合;

19、将所述所有类解释对象集合转换为目标形式的集合,并遍历所述目标形式的集合,根据预设协议对应的接口注释配置方式对逐个类进行解释,获得目标注释信息;

20、根据所述目标注释信息确定源码分析结果。

21、可选地,所述预设协议包括http协议、dubbo协议以及kafka协议,所述根据预设协议对应的接口注释配置方式对逐个类进行解释,获得目标注释信息的步骤,包括:

22、根据所述http协议对应的接口注释配置方式对逐个类进行解释,获得第一注释信息;

23、根据所述dubbo协议对应的注释配置方式以及xml配置方式对逐个类进行解释,获得第二注释信息;

24、根据所述kafka协议对应的注释配置方式以及spring cloud流式配置方式对逐个类进行解释,获得第三注释信息;

25、根据所述第一注释信息、所述第二注释信息以及所述第三注释信息确定目标注释信息。

26、可选地,所述根据所述源码分析结果中的目标注释信息确定目标接口信息的步骤,包括:

27、根据所述第一注释信息对应的类标识确定第一接口信息;

28、根据所述第二注释信息对应的类标识确定第二接口信息;

29、根据所述第三注释信息对应的类标识确定第三接口信息;

30、根据所述第一接口信息、所述第二接口信息以及所述第三接口信息确定目标接口信息。

31、可选地,所述根据所述源码分析结果中的目标注释信息确定目标接口信息的步骤之后,还包括:

32、定时检测git项目合并到master分支记录,并获取所述git项目存在依赖关系的目标应用;

33、重新对所述目标应用的master分支进行扫描,获得接口扫描结果;

34、根据所述接口扫描结果与原有存量的生产版本接口进行差异对比,获得接口差异信息;

35、根据所述接口差异信息对原有接口进行改写。

36、此外,为实现上述目的,本技术还提供一种基于git源码的接口扫描装置,所述基于git源码的接口扫描装置包括:

37、关系确定模块,用于对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,确定目标git项目对应的分支依赖关系;

38、源码获取模块,用于根据所述分支依赖关系从预设登记信息中获取项目源码;

39、源码分析模块,用于基于所述项目源码构建神经网络模型,并基于所述神经网络模型对所述项目源码进行源码分析,获得源码分析结果;

40、接口确定模块,用于根据所述源码分析结果中的目标注释信息确定目标接口信息。

41、此外,为实现上述目的,本技术还提出一种基于git源码的接口扫描设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的基于git源码的接口扫描方法的步骤。

42、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的基于git源码的接口扫描方法的步骤。

43、本技术提出的一个或多个技术方案,至少具有以下技术效果:

44、本技术通过对多节点消息队列进行监听,根据监听到的源码扫描消息启动接口异步扫描流程,确定目标git项目对应的分支依赖关系;根据所述分支依赖关系从预设登记信息中获取项目源码;基于所述项目源码构建神经网络模型,并基于所述神经网络模型对所述项目源码进行源码分析,获得源码分析结果;根据所述源码分析结果中的目标注释信息确定目标接口信息。本技术通过对多节点消息队列进行监听,对源码进行异步扫描,确定分支依赖关系,从而基于神经网络模型对源码进行分析,进而确定接口信息,本技术自动化流程为人工录入和维护接口省去了繁琐的流程,通过源码扫描,能全面检测代码内容,全范围覆盖应用的接口变化,提升了开发人员的对接效率。

本文地址:https://www.jishuxx.com/zhuanli/20240730/197645.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。