CN109948710B - 基于api相似度的微服务识别方法 - Google Patents

基于api相似度的微服务识别方法 Download PDF

Info

Publication number
CN109948710B
CN109948710B CN201910217473.XA CN201910217473A CN109948710B CN 109948710 B CN109948710 B CN 109948710B CN 201910217473 A CN201910217473 A CN 201910217473A CN 109948710 B CN109948710 B CN 109948710B
Authority
CN
China
Prior art keywords
api
similarity
micro
topics
apis
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
CN201910217473.XA
Other languages
English (en)
Other versions
CN109948710A (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910217473.XA priority Critical patent/CN109948710B/zh
Publication of CN109948710A publication Critical patent/CN109948710A/zh
Application granted granted Critical
Publication of CN109948710B publication Critical patent/CN109948710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于API相似度的微服务识别方法。本发明提出的方法首先考虑了微服务架构的特性,然后考虑了微服务的定义:每一个专注于某一个业务功能的业务微服务的作用就是通过标准化接口为外部提供相关的业务服务,即一个微服务就是对一个资源的紧密相关的操作的集合。而每一个API表示的就是对一个后端资源的一种动作。它通过URI标识和寻址后端资源,使用HTTP协议动词表示对后端资源的操作方式。所以本发明针对这两者之间的联系提出了基于API相似度提出了一个微服务识别方法,通过构建以API为顶点、相似度为权重的无向加权图,并使用基于图论的聚类算法来识别推荐的候选微服务。

Description

基于API相似度的微服务识别方法
技术领域
本发明属于将基于单体式架构构建开发的应用程序迁移至微服务架构的微服务识别技术领域。在对基于单体式架构的应用程序进行架构迁移时,必须基于微服务架构的特性对原***进行业务划分和代码重构,本发明从业务资源的角度着手,利用微服务的单一职责和符合REST风格的API具备语义化这两个特性,提出了一种基于API相似度的微服务识别方法。
背景技术
软件在当今的***和业务运营中无处不在,在企业中,随着业务的快速发展,其业务需求也更加多样化、复杂化,软件***不可避免的变得笨重复杂。而随着市场竞争的加剧,市场对软件企业的开发周期,成本、开发质量等方面的要求也日益增高。众所周知,软件的质量、开发工作与其架构体系有非常紧密的联系,高级的软件架构可以很好地保证软件的可扩展性、高可用性和高性能等非功能性需求。而采用传统软件开发模式开发出来的单体式应用在这些方面却有着巨大的局限性,它会随着项目业务的不断增加,复杂度越来越高,项目中的代码也越来越不可控,开发人员也难以理解项目中的代码,从而导致修复已有漏洞和实现新的功能变得异常困难且耗时颇多,***中任何一处出现微小的错误都可能导致整个***的崩溃,而且修改任何地方就要将整个应用完全重新部署,导致部署频繁、测试周期过长、交付效率低下等问题,同时***也呈现出不可靠、难扩展的痛点。不仅如此,在单体式应用中,开发人员难以对项目进行技术升级。
所以越来越多企业意识到对软件的***架构升级的必要性。一个优秀的软件***架构必须要很好地使软件代码符合规范的三个标准:重用、标准化封装和松散耦合。基于这些标准,微服务(microservices)架构应运而生。微服务架构作为一种灵活的设计风格,保持了最低限度的集中式管理。它将一个庞大的复杂***分解成一组相互配合的小型服务。每一个服务即微服务,它们运行于自己的进程中,微服务之间通过轻量级应用程序进行通信。这些服务围绕业务功能进行构建,并通过全自动的部署机制进行独立部署。同时,不同的微服务还可以使用不同的编程语言开发,也可以使用不同的存储技术进行数据存储。
随着微服务架构的快速发展,很多大公司(诸如***、亚马逊等公司)都已经将其部分业务迁移至微服务架构,而且越来越多的其他公司也正在或正准备将微服务架构作为他们的目标平台。
但是在微服务的迁移过程中,会遇到一些严峻的挑战。其中一个挑战就是如何从基于单体式架构的应用程序中识别出微服务。现在在工业界,微服务的识别与提取大多都是人工进行的,由经验丰富的***架构师与对业务非常熟悉的业务人员一同从业务的角度来着手,运用领域驱动设计的方法对***的业务中的领域进行建模,并逐步分解。领域驱动设计之所以在微服务上的识别与提取上被广泛运用,主要是因为业界对微服务的颗粒度问题缺乏一个统一明确的规定,而领域驱动设计中的“限界上下文”则能很好地回答这个问题,它为微服务的划分提供了方法论,该方法论认为,在实际产品业务中,任何一个给定的领域都包含多个有界上下文,每一个有界上下文中的东西都可以分为两个部分,一部分不需要与外部通信,另一部分则需要与外部交换数据,所以每一个上下文都有明确的接口,接口决定了该上下文会暴露哪些信息给其他上下文。所以一个有界上下文划分出来的一个领域模型通常被认为是一个微服务。
在学术界,也有一些学者在该领域开展过研究工作。Levcovitz等人提出可以从每个用户界面及其调用的业务功能和此功能使用的数据库表着手,对其进行分组以划分微服务。该方法的主要限制在于它的使用场景只能是基于MVC架构的单体式***。Mazlami等人提出了一种从单体式应用程序中提取微服务的正式模型。更准确地说,作者使用了三种形式耦合策略(逻辑耦合策略、语义耦合策略和贡献者耦合策略),并将其嵌入基于图的聚类算法中,得到候选的微服务。但是在这种方法中,一些耦合策略取决于代码的变化历史。所以,如果它不可用或由有限数量的提交组成,则该方法是不可用的。Baresi等人则提出了一种基于OpenAPI规范中的接口信息识别微服务的方法。他们通过将规范中使用的术语作为输入与参考词汇表进行匹配来进行***分解,识别潜在的候选微服务。但该方法局限于开发者必须提供有意义良好定义的接口。
虽然投入大量的人力物力和时间使用领域驱动设计的方法能够识别出合理的符合业务逻辑的微服务,但是需要花费相当巨大的成本。而且现有的学术研究工作成果大多局限于特定的场景内展开,不能被广泛运用。所以需要研究更为通用的自动化识别微服务。
发明内容
本发明针对现有技术的不足,提出了一种基于API相似度的微服务识别方法。本发明在从原单体式架构中识别出微服务时,首先考虑了微服务单一职责的特性,即可以把每一个微服务看成是一个业务资源的功能集合,然后在此基础上考虑了识别出来的微服务的颗粒度,提高了识别的精确度。
本发明方法的具体步骤是:
步骤(1).输入传统的基于单体式结构***的API规范文档,API规范文档包括一系列符合REST风格的API集合,该API集合记录了每一个API的URI、详细描述(description)和响应消息(responses)。
步骤(2).将API规范文档中的每个API进行数据清洗并构建API语料库apiall={api1,api2,...,apii,...,apil},其中apii={topicsi,tokensi},topicsi由语料库第i个API中的候选主题组成,记为
Figure BDA0002002536820000031
tokensi则由语料库第i个API的详细描述中的单词组成,记为
Figure BDA0002002536820000032
Figure BDA0002002536820000033
步骤(3).在API语料库中任取2个API:apip和apiq,生成这2个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度
Figure BDA0002002536820000034
Figure BDA0002002536820000035
代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
Figure BDA0002002536820000036
Figure BDA0002002536820000037
其中
Figure BDA0002002536820000038
表示候选主题
Figure BDA0002002536820000039
在apip的tokensp集合中出现的次数,
Figure BDA00020025368200000310
表示候选主题
Figure BDA00020025368200000311
在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量,
Figure BDA00020025368200000312
Figure BDA00020025368200000313
表示API语料库中包含候选主题
Figure BDA00020025368200000314
的API数量,
Figure BDA00020025368200000315
Figure BDA00020025368200000316
表示API语料库中包含候选主题
Figure BDA00020025368200000317
的API数量,k表示当前候选主题
Figure BDA00020025368200000318
Figure BDA00020025368200000319
在对应apip或apiq的URI中的位置;
通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
Figure BDA00020025368200000320
其中||tvecp||表示向量tvecp的模,||tvecq||表示向量tvecq的模。
步骤(4).根据不同的响应消息类型和不同的请求动作类型,计算apip和apiq之间的响应消息相似度sim_res(apip,apiq),计算公式如下:
Figure BDA00020025368200000321
其中sim_type(apip,apiq)为不同响应消息类型的计算公式,如下所示:
Figure BDA00020025368200000322
其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:
Figure BDA0002002536820000041
其中res(apip)、res(apiq)分别表示第p个和第q个API的响应消息的属性集合。
步骤(5).把主题相似度和响应消息相似度进行加权处理,求得apip和apiq之间的整体相似度sim(apip,apiq),计算公式如下:
sim(apip,apiq)=α*sim_topics(apip,apiq)+(1-α)*sim_res(apip,apiq)
其中α为控制相似度权重的加权因子。
步骤(6).重复步骤(3)-(5),直至计算完所有的API之间的整体相似度,然后生成以API为顶点、API之间的整体相似度为权重的无向加权图。
步骤(7).输入聚类个数h为2,使用谱聚类算法对无向加权图进行图分割,得到一个子图分割方案,计算该子图分割方案的Calinski-Harabasz分值s(h),计算公式如下:
Figure BDA0002002536820000042
其中l为API语料库中API的总个数,Bh为子图分割方案中的各个子图之间的协方差矩阵,Wh为子图分割方案中的各个子图内部数据的协方差矩阵,tr为协方差矩阵的迹。
步骤(8).将聚类个数h加1,重复步骤(7),直至聚类个数达到API语料库中的候选主题总个数,Calinski-Harabasz分值最高的子图分割方案即对应了一个微服务划分方案,其中每个子图对应了一个微服务。
本发明所提供的基于API相似度的微服务识别方法由以下几个模块组成,它们包括:API预处理模块、相似度计算和图构建模块以及API聚类划分模块。
API预处理模块是提取OpenAPI规范中的有用部分为目标,首先获取各API的URI、description和responses三个字段的信息,然后分别进行“地”、“了”,英文的“the”等无关词的过滤和同词不同形式处理,将其归为同一表现形式。
相似度计算和图构建模块则以构建以API为顶点,相似度为权重的无向加权图为目标。首先使用URI、description部分信息计算出API之间的主题相似度,再根据responses部分信息计算出API的响应消息相似度,最后得到API的整体相似度,并以此作为权重函数,得到无向加权图。
聚类划分模块则是使用无向加权图作为输入,使用谱聚类算法对其进行图的聚类分割,然后使用Calinski-Harabasz Index方法计算分解后的聚类分值,最后以分值最高的子图分割方案作为候选微服务。
本发明提出的方法首先考虑了微服务架构的特性,然后考虑了微服务的定义:每一个专注于某一个业务功能的业务微服务的作用就是通过标准化接口为外部提供相关的业务服务,即一个微服务就是对一个资源的紧密相关的操作的集合。而每一个API表示的就是对一个后端资源的一种动作。它通过URI标识和寻址后端资源,使用HTTP协议动词(GET、POST、PUT、DELETE等)表示对后端资源的操作方式。所以本发明针对这两者之间的联系提出了基于API相似度提出了一个微服务识别方法,通过构建以API为顶点、相似度为权重的无向加权图,并使用基于图论的聚类算法来识别推荐的候选微服务。
附图说明
图1本发明整体流程图;
具体实施方式
下面将对本发明所提供的基于API相似度的微服务识别方法做具体说明。
为叙述方便,定义相关符号如下:
apiall:由数据清洗后的API组成的语料库;
l:表示API语料库中API的总数量;
m:表示一个API中的候选主题总数量;
n:表示一个API的详细描述中的单词总数量
apii:语料库中第i个API的信息;
topicsi:语料库中第i个API的候选主题集合;
tokensi:语料库中第i个API的候选主题和详细描述中的单词集合;
Figure BDA0002002536820000051
语料库中第i个API的第k个候选主题;
tveci:语料库中第i个API的主题相似度向量;
Figure BDA0002002536820000052
语料库中第i个API中的第k个候选主题的主题匹配度;
res(apii):语料库中第i个API的响应消息的属性集合;
如图1所示,本发明包括以下步骤:
步骤(1).输入传统的基于单体式结构***的API规范文档,API规范文档包括一系列符合REST风格的API集合,该API集合记录了每一个API的URI、详细描述(description)和响应消息(responses)。
步骤(2).然后过滤API规范文档中每个API多余的信息,并进行数据清洗之后,构建API语料库apiall={api1,api2,...,apii,...,apil},其中apii={topicsi,tokensi},topicsi由第i个API中的候选主题组成,记为
Figure BDA0002002536820000053
Figure BDA0002002536820000054
tokensi则由第i个API的详细描述中的单词组成,记为
Figure BDA0002002536820000055
在进行数据清洗的时候,要进行两类清洗操作。第一是对“地”、“了”,英文的“the”等无关词的过滤;第二类则是对API中的候选主题和详细描述中单词可能会包含的一个单词不同时态或者单复数形式的处理,需要将其转换成同一种表现形式。
步骤(3).在API语料库中任取2个API:apip和apiq,生成这2个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度
Figure BDA0002002536820000061
Figure BDA0002002536820000062
代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
Figure BDA0002002536820000063
Figure BDA0002002536820000064
其中
Figure BDA0002002536820000065
表示候选主题
Figure BDA0002002536820000066
在apip的tokensp集合中出现的次数,
Figure BDA0002002536820000067
表示候选主题
Figure BDA0002002536820000068
在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量,
Figure BDA0002002536820000069
Figure BDA00020025368200000610
表示API语料库中包含候选主题
Figure BDA00020025368200000611
的API数量,
Figure BDA00020025368200000612
Figure BDA00020025368200000613
表示API语料库中包含候选主题
Figure BDA00020025368200000614
的API数量,k表示当前候选主题
Figure BDA00020025368200000615
Figure BDA00020025368200000616
在对应apip或apiq的URI中的位置;
最后通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
Figure BDA00020025368200000617
其中||tvecp||表示向量Tvecp的模,||tvecq||表示向量tvecq的模。
步骤(4).根据API中不同的响应消息类型和不同的请求动作类型,计算API之间的响应消息。
首先,在计算响应消息相似度时,对于不同的API响应消息类型,进行如下处理:
1)若两个API的返回值格式均为引用,则直接判断两个引用的最终指向的资源是否相同;
2)若两个API的返回值表现形式一个为引用一个为常规,则先获取该引用指向的最终资源,然后判断两个资源是否相似;
3)若两个API的响应消息表现形式均为常规,则判断两个API指向的资源是否相似;
计算公式如下:
Figure BDA00020025368200000618
其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:
Figure BDA0002002536820000071
其中res(apip)、res(apiq)分别表示第p个和第q个API的响应消息的属性集合;
其次对于不同的请求动作类型,进行如下处理:
1)GET:返回URI指定的资源对象。比如GET/zoos返回所有动物园的信息,是动物园信息的集合,是一个数组;GET/zoos/{ID}表示返回某一个指定的动物园信息,是单个的动物园信息;后者是前者集合的一个组成元素,所以这两种返回结果是对统一资源的操作后的结果,应当属于同一微服务。
2)POST:返回新创建的资源对象。比如POST/zoos表示新建一个动物园,并返回该动物园信息。
3)PUT:返回更新后的资源对象。比如PUT/zoos/{ID}表示更新一个指定的动物园信息,并返回该动物园更新后的信息。
4)DELETE:返回一个空集合。
最后,本发明定义响应消息相似度的计算公式如下:
Figure BDA0002002536820000072
步骤(5).把主题相似度和响应消息相似度进行加权处理,求得apip和apiq之间的整体相似度sim(apip,apiq),计算公式如下:
sim(apip,apiq)=α*sim_topics(apip,apiq)+(1-α)*sim_res(apip,apiq)
其中α为控制相似度权重的加权因子。
步骤(6).重复步骤(3)-(5),直至计算完所有的API之间的整体相似度,然后生成以API为顶点、API之间的整体相似度为权重的无向加权图。
步骤(7).输入聚类个数h为2,使用谱聚类算法对无向加权图进行图分割,得到一个子图分割方案,计算该子图分割方案的Calinski-Harabasz分值s(h),计算公式如下:
Figure BDA0002002536820000073
其中l为API语料库中API的总个数,Bh为子图分割方案中的各个子图之间的协方差矩阵,Wh为子图分割方案中的各个子图内部数据的协方差矩阵,tr为协方差矩阵的迹。
步骤(8).将聚类个数h加1,重复步骤(7),直至聚类个数达到API语料库中的候选主题总个数,Calinski-Harabasz分值最高的子图分割方案即对应了一个微服务划分方案,其中每个子图对应了一个微服务。

Claims (3)

1.基于API相似度的微服务识别方法,其特征在于包括如下步骤:
步骤(1).输入传统的基于单体式结构***的API规范文档,API规范文档包括一系列符合REST风格的API集合,该API集合记录了每一个API的URI、详细描述和响应消息;
步骤(2).将API规范文档中的每个API进行数据清洗并构建API语料库apiall={api1,api2,…,apii,…,apil},其中apii={topicsi,tokensi},topicsi由第i个API中的候选主题组成,记为
Figure FDA0002781679530000011
tokensi则由第i个API的详细描述中的单词组成,记为
Figure FDA0002781679530000012
步骤(3).在API语料库中任取两个API:apip和apiq,生成这两个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度
Figure FDA0002781679530000013
Figure FDA0002781679530000014
代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
Figure FDA0002781679530000015
Figure FDA0002781679530000016
其中
Figure FDA0002781679530000017
表示候选主题
Figure FDA0002781679530000018
在apip的tokensp集合中出现的次数,
Figure FDA0002781679530000019
表示候选主题
Figure FDA00027816795300000110
在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量,
Figure FDA00027816795300000111
表示API语料库中包含候选主题
Figure FDA00027816795300000112
的API数量,
Figure FDA00027816795300000113
表示API语料库中包含候选主题
Figure FDA00027816795300000114
的API数量,k表示当前候选主题
Figure FDA00027816795300000115
Figure FDA00027816795300000116
在对应的apip或apiq的URI中的位置;
通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
Figure FDA00027816795300000117
其中||tvecp||表示向量tvecp的模,||tvecq||表示向量tvecq的模;
步骤(4).根据不同的响应消息类型和不同的请求动作类型,计算apip和apiq之间的响应消息相似度sim_res(apip,apiq),计算公式如下:
Figure FDA00027816795300000118
其中sim_type(apip,apiq)为不同响应消息类型的计算公式;
步骤(5).把主题相似度和响应消息相似度进行加权处理,求得apip和apiq之间的整体相似度sim(apip,apiq),计算公式如下:
sim(apip,apiq)=α*sim_topics(apip,apiq)+(1-α)*sim_res(apip,apiq)
其中α为控制相似度权重的加权因子;
步骤(6).重复步骤(3)-(5),直至计算完所有的API之间的整体相似度,然后生成以API为顶点、API之间的整体相似度为权重的无向加权图;
步骤(7).输入聚类个数h为2,使用谱聚类算法对无向加权图进行图分割,得到一个子图分割方案,计算该子图分割方案的Calinski-Harabasz分值s(h);
步骤(8).将聚类个数h加1,重复步骤(7),直至聚类个数达到API语料库中的候选主题总个数,Calinski-Harabasz分值最高的子图分割方案即对应了一个微服务划分方案,其中每个子图对应了一个微服务。
2.根据权利要求1所述的基于API相似度的微服务识别方法,其特征在于:
步骤(4)中sim_type(apip,apiq)的计算公式,如下所示:
Figure FDA0002781679530000021
其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:
Figure FDA0002781679530000022
其中res(apip)、res(apiq)分别表示第p个和第q个API的响应消息的属性集合。
3.根据权利要求1所述的基于API相似度的微服务识别方法,其特征在于:
步骤(7)中Calinski-Harabasz分值s(h),计算公式如下:
Figure FDA0002781679530000023
其中l为API语料库中API的总个数,Bh为子图分割方案中的各个子图之间的协方差矩阵,Wh为子图分割方案中的各个子图内部数据的协方差矩阵,tr为协方差矩阵的迹。
CN201910217473.XA 2019-03-21 2019-03-21 基于api相似度的微服务识别方法 Active CN109948710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910217473.XA CN109948710B (zh) 2019-03-21 2019-03-21 基于api相似度的微服务识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910217473.XA CN109948710B (zh) 2019-03-21 2019-03-21 基于api相似度的微服务识别方法

Publications (2)

Publication Number Publication Date
CN109948710A CN109948710A (zh) 2019-06-28
CN109948710B true CN109948710B (zh) 2021-03-30

Family

ID=67010509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910217473.XA Active CN109948710B (zh) 2019-03-21 2019-03-21 基于api相似度的微服务识别方法

Country Status (1)

Country Link
CN (1) CN109948710B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847443B2 (en) 2021-09-07 2023-12-19 International Business Machines Corporation Constraints-based refactoring of monolith applications through attributed graph embeddings

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111596924B (zh) * 2020-06-18 2023-08-08 南方电网科学研究院有限责任公司 一种微服务划分方法和装置
CN112540749B (zh) * 2020-11-16 2023-10-24 南方电网数字平台科技(广东)有限公司 微服务划分方法、装置、计算机设备和可读存储介质
CN112433755A (zh) * 2020-11-17 2021-03-02 东南大学 一种基于多类特征和多个度量指标的微服务架构识别方法
CN112437147B (zh) * 2020-11-19 2023-01-17 浙江大学滨海产业技术研究院 一种微服务负载均衡最佳路由算法、装置、设备以及介质
US11726778B2 (en) 2021-09-29 2023-08-15 International Business Machines Corporation Translating clusters of a monolith application to microservices
CN113961173B (zh) * 2021-10-13 2024-04-30 天津大学 基于领域事件驱动的单体***微服务拆分方法
CN113760778B (zh) * 2021-11-09 2022-02-08 浙江大学滨海产业技术研究院 一种基于词向量模型的微服务接口划分评价方法
US11768679B2 (en) * 2021-11-30 2023-09-26 International Business Machines Corporation Identifying microservices for a monolith application through static code analysis

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473128A (zh) * 2013-09-12 2013-12-25 南京大学 一种用于mashup应用推荐的协同过滤方法
US10102111B2 (en) * 2016-08-05 2018-10-16 International Business Machines Corporation Prioritizing resiliency tests of microservices
CN107491299B (zh) * 2017-07-04 2021-09-10 扬州大学 面向多源软件开发数据融合的开发者画像建模方法
CN108279892B (zh) * 2018-02-27 2021-05-28 郑州云海信息技术有限公司 一种拆分大型应用服务为微服务的方法、装置及设备
CN108762950A (zh) * 2018-05-23 2018-11-06 山东浪潮商用***有限公司 一种规范化RESTful微服务交互方法
CN108880887B (zh) * 2018-06-20 2020-05-12 山东大学 基于微服务的陪护机器人云服务***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向油气生产领域的微服务聚类方法研究;王瑾;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》;20180215(第02期);全文 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847443B2 (en) 2021-09-07 2023-12-19 International Business Machines Corporation Constraints-based refactoring of monolith applications through attributed graph embeddings

Also Published As

Publication number Publication date
CN109948710A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109948710B (zh) 基于api相似度的微服务识别方法
CN110609902B (zh) 一种基于融合知识图谱的文本处理方法及装置
US11087088B2 (en) Automated and optimal encoding of text data features for machine learning models
CN111801674A (zh) 通过处理使用数据来改进自然语言接口
US11972360B2 (en) Utilizing machine learning models to automatically generate contextual insights and actions based on legal regulations
US20220100963A1 (en) Event extraction from documents with co-reference
CN110489120A (zh) 基于组件的页面开发方法及服务器
US20220100967A1 (en) Lifecycle management for customized natural language processing
CN112989059A (zh) 潜在客户识别方法及装置、设备及可读计算机存储介质
CN110674188A (zh) 一种特征提取方法、装置及设备
US11836331B2 (en) Mathematical models of graphical user interfaces
CN103425740A (zh) 一种面向物联网的基于语义聚类的物资信息检索方法
CN110866029A (zh) sql语句构建方法、装置、服务器及可读存储介质
JP2015508918A (ja) 冗長な消費者トランザクションルールのフィルタリング
US11853941B2 (en) Systems and methods for identifying available services at a physical address
CN108830302B (zh) 一种图像分类方法、训练方法、分类预测方法及相关装置
WO2022072237A1 (en) Lifecycle management for customized natural language processing
CN112015403B (zh) 软件设计方法和***
CN112767933B (zh) 公路养护管理***的语音交互方法、装置、设备及介质
CN115658845A (zh) 一种适用于开源软件供应链的智能问答方法及装置
CN112988986B (zh) 人机交互方法、装置与设备
CN113704519A (zh) 一种数据集的确定方法、装置、计算机设备以及存储介质
CN116755683B (zh) 一种数据处理方法和相关装置
CN112508628B (zh) 一种基于意图树的需求模式挖掘方法
US20240220876A1 (en) Artificial intelligence (ai) based data product provisioning

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190628

Assignee: Hangzhou Hui'er Hearing Technology Equipment Co.,Ltd.

Assignor: HANGZHOU DIANZI University

Contract record no.: X2023330000916

Denomination of invention: A microservice recognition method based on API similarity

Granted publication date: 20210330

License type: Common License

Record date: 20231213

EE01 Entry into force of recordation of patent licensing contract