首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于一致图聚类的微服务提取方法和系统 

申请/专利权人:南京航空航天大学;国网上海市电力公司;国网电力科学研究院有限公司;国家电网有限公司

申请日:2024-04-23

公开(公告)日:2024-07-05

公开(公告)号:CN118093439B

主分类号:G06F11/36

分类号:G06F11/36;G06F18/23;G06F40/30

优先权:

专利状态码:有效-授权

法律状态:2024.07.05#授权;2024.06.14#实质审查的生效;2024.05.28#公开

摘要:本发明公开了一种基于一致图聚类的微服务提取方法和系统,包括单体程序结构依赖视图构建、单体程序语义视图构建、基于一致图增强图Transformer的特征嵌入表示学习、基于k‑means聚类算法的微服务提取。本发明通过提取单体程序中类之间的依赖关系和创建类的过程中使用的文本信息,构建结构依赖视图和语义视图,再通过一致图增强图Transformer生成一致图,实现单体程序结构信息和语义信息的统一建模,最后基于得到的一致图,利用k‑means聚类算法实现对单体程序的拆分。本发明结合单体程序多视图信息,构建一致图增强图Transformer,实现了微服务提取在功能性和模块性方面性能的提升。

主权项:1.一种基于一致图聚类的微服务提取方法,其特征在于,所述微服务提取方法包括以下步骤:步骤S1:采用静态分析策略,提取JAVA单体程序中类和类之间的调用关系、继承关系、实现关系和引用关系,基于类之间的依赖关系得到结构依赖视图的节点属性矩阵和结构依赖视图的邻接矩阵,根据结构依赖视图的节点属性矩阵和结构依赖视图的邻接矩阵构建结构依赖视图;步骤S2:提取创建类过程中使用的文本信息,基于TF-IDF算法生成语义视图的节点属性矩阵,使用余弦相似度计算节点嵌入表示的相关性,生成语义视图的邻接矩阵,根据语义视图的节点属性矩阵和语义视图的邻接矩阵构建单体程序的语义视图;步骤S3:利用一致图增强图Transformer编码器分别建模结构视图和语义视图的一致性信息和不一致性信息,采用设计的相似性损失函数最大化一致信息,生成一致图,对单体程序结构信息和语义信息进行统一建模;步骤S4:基于k-means算法对步骤S3得到的一致图聚类,对微服务进行提取;步骤S1中,基于类之间的依赖关系和邻接矩阵构建结构依赖视图的过程包括以下步骤:步骤S11:通过对JAVA应用程序的源代码进行分析,获取JAVA源代码的底层抽象语法树;步骤S12:从底层抽象语法树中提取以下信息:类名、注释列表、变量名、引用列表、方法列表、从其他类调用的方法列表、所继承的类的列表、引用列表以及实现列表;步骤S13:根据步骤S12中提取的信息,得到类之间的调用依赖关系、继承依赖关系、引用依赖关系和实现依赖关系,统计任意两个类之间依赖关系的个数,得到结构依赖视图的节点属性矩阵Xstru;结构依赖视图的节点属性矩阵定义如下:Xstrui,j=a其中Xstrui,j表示结构依赖视图节点属性矩阵的第i行、第j列的值,a表示节点Vi和节点Vj之间存在a个依赖关系;步骤S14:若类之间存在依赖关系,则创建两个类之间的边,得到边集合E,构建结构依赖视图的邻接矩阵Astru;结构依赖视图的邻接矩阵定义如下: 其中,vi,vj分别表示节点i和节点j,Astrui,j表示结构依赖视图邻接矩阵的第i行、第j列的值;步骤S15:根据结构视图的节点属性矩阵Xstru和邻接矩阵Astru,得到结构依赖视图Gstru=V,Astru,Xstru,其中V表示节点集合,Vi∈V表示整体应用程序中的一个类;步骤S2中,构建单体程序的语义视图的过程包括以下步骤:步骤S21:根据步骤S12中得到的信息,提取每个类定义中使用的文本信息,对于文本中的每个单词,使用驼峰命名法进行分割,将其拆分成多个单词,并过滤掉停用词;步骤S22:测量每个单词的TF-IDF值,得到一个大小为的矩阵,其中N=|V|表示节点个数,eL表示从单体应用程序中提取到的所有单词个数;将该矩阵作为语义视图的节点属性矩阵Xsem;步骤S23:根据节点属性矩阵Xsem,计算任意两个类之间的余弦相似度,得到语义视图的邻接矩阵Asem;步骤S24:根据语义视图的节点属性矩阵Xsem和邻接矩阵Asem,得到语义视图Gsem=V,Asem,Xsem,其中V表示节点集合;步骤S3中,生成一致图的过程包括以下步骤:步骤S31:将单体程序的结构依赖视图和语义视图分别输入到一致图增强图Transformer编码器,学习得到结构依赖视图和语义视图的一致性信息和不一致性信息,分别表示为和其中,和分别表示结构依赖视图的一致性特征和专有特征,和分别表示语义视图的一致性特征和专有特征;设计下述损失函数进行训练: 其中,Sim函数的表达式为SimA,B=-∑[A·AT-B·BT⊙A·AT-B·BT],⊙表示两个矩阵对应位置相乘;步骤S32:将步骤S31中得到结构依赖视图和语义视图的一致性特征和专有特征分别输入前馈层,经归一化操作和非线性激活操作后,得到新的结构依赖视图和语义视图的一致性特征和专有特征,分别表示为和步骤S33:将步骤S32中得到的结构依赖视图和语义视图的一致性特征和专有特征输入一致图增强图Transformer解码器得到结构依赖视图的重构特征和语义视图的重构特征计算损失值: 其中表示结构视图中节点属性矩阵和重建节点属性矩阵中对应第i行的节点表示,表示语义视图中节点属性矩阵和重建节点属性矩阵中对应第j行的节点表示;对结构依赖视图的邻接矩阵和语义视图的邻接矩阵进行重构,计算如下损失: 式中,和分别表示结构依赖视图和语义视图经过编码器得到的一致性特征和专有特征拼接得到的表示的第i行和第j行;步骤S34:将步骤S32中得到的结构依赖视图和语义视图的一致性特征拼接得到一致图:

全文数据:

权利要求:

百度查询: 南京航空航天大学 国网上海市电力公司 国网电力科学研究院有限公司 国家电网有限公司 一种基于一致图聚类的微服务提取方法和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。