CN109948710B - 基于api相似度的微服务识别方法 - Google Patents
基于api相似度的微服务识别方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000009471 action Effects 0.000 claims abstract description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 117
- 230000004044 response Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000003595 spectral effect Effects 0.000 claims description 4
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 239000000178 monomer Substances 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于API相似度的微服务识别方法。本发明提出的方法首先考虑了微服务架构的特性,然后考虑了微服务的定义:每一个专注于某一个业务功能的业务微服务的作用就是通过标准化接口为外部提供相关的业务服务,即一个微服务就是对一个资源的紧密相关的操作的集合。而每一个API表示的就是对一个后端资源的一种动作。它通过URI标识和寻址后端资源,使用HTTP协议动词表示对后端资源的操作方式。所以本发明针对这两者之间的联系提出了基于API相似度提出了一个微服务识别方法,通过构建以API为顶点、相似度为权重的无向加权图,并使用基于图论的聚类算法来识别推荐的候选微服务。
Description
技术领域
本发明属于将基于单体式架构构建开发的应用程序迁移至微服务架构的微服务识别技术领域。在对基于单体式架构的应用程序进行架构迁移时,必须基于微服务架构的特性对原***进行业务划分和代码重构,本发明从业务资源的角度着手,利用微服务的单一职责和符合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中的候选主题组成,记为tokensi则由语料库第i个API的详细描述中的单词组成,记为
步骤(3).在API语料库中任取2个API:apip和apiq,生成这2个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度和代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
其中表示候选主题在apip的tokensp集合中出现的次数,表示候选主题在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量, 表示API语料库中包含候选主题的API数量, 表示API语料库中包含候选主题的API数量,k表示当前候选主题或在对应apip或apiq的URI中的位置;
通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
其中||tvecp||表示向量tvecp的模,||tvecq||表示向量tvecq的模。
步骤(4).根据不同的响应消息类型和不同的请求动作类型,计算apip和apiq之间的响应消息相似度sim_res(apip,apiq),计算公式如下:
其中sim_type(apip,apiq)为不同响应消息类型的计算公式,如下所示:
其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:
其中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),计算公式如下:
其中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的候选主题和详细描述中的单词集合;
tveci:语料库中第i个API的主题相似度向量;
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中的候选主题组成,记为 tokensi则由第i个API的详细描述中的单词组成,记为
在进行数据清洗的时候,要进行两类清洗操作。第一是对“地”、“了”,英文的“the”等无关词的过滤;第二类则是对API中的候选主题和详细描述中单词可能会包含的一个单词不同时态或者单复数形式的处理,需要将其转换成同一种表现形式。
步骤(3).在API语料库中任取2个API:apip和apiq,生成这2个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度和代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
其中表示候选主题在apip的tokensp集合中出现的次数,表示候选主题在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量, 表示API语料库中包含候选主题的API数量, 表示API语料库中包含候选主题的API数量,k表示当前候选主题或在对应apip或apiq的URI中的位置;
最后通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
其中||tvecp||表示向量Tvecp的模,||tvecq||表示向量tvecq的模。
步骤(4).根据API中不同的响应消息类型和不同的请求动作类型,计算API之间的响应消息。
首先,在计算响应消息相似度时,对于不同的API响应消息类型,进行如下处理:
1)若两个API的返回值格式均为引用,则直接判断两个引用的最终指向的资源是否相同;
2)若两个API的返回值表现形式一个为引用一个为常规,则先获取该引用指向的最终资源,然后判断两个资源是否相似;
3)若两个API的响应消息表现形式均为常规,则判断两个API指向的资源是否相似;
计算公式如下:
其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:
其中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:返回一个空集合。
最后,本发明定义响应消息相似度的计算公式如下:
步骤(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),计算公式如下:
其中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中的候选主题组成,记为tokensi则由第i个API的详细描述中的单词组成,记为
步骤(3).在API语料库中任取两个API:apip和apiq,生成这两个API对应的主题相似度向量tvecp和tvecq,其中主题相似度向量中的每一个元素为对应候选主题的主题匹配度和代表了每个候选主题在对应API的详细描述中的一个重要程度,计算公式如下:
其中表示候选主题在apip的tokensp集合中出现的次数,表示候选主题在apiq的tokensq集合中出现的次数,|topicsp∪tokensp|表示对应apip的topicsp和tokensp集合中词汇的总数量,表示API语料库中包含候选主题的API数量,表示API语料库中包含候选主题的API数量,k表示当前候选主题或在对应的apip或apiq的URI中的位置;
通过余弦相似度计算apip和apiq之间的主题相似度sim_topics(apip,apiq),计算公式如下:
其中||tvecp||表示向量tvecp的模,||tvecq||表示向量tvecq的模;
步骤(4).根据不同的响应消息类型和不同的请求动作类型,计算apip和apiq之间的响应消息相似度sim_res(apip,apiq),计算公式如下:
其中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分值最高的子图分割方案即对应了一个微服务划分方案,其中每个子图对应了一个微服务。
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)
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)
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)
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 | 山东大学 | 基于微服务的陪护机器人云服务***及方法 |
-
2019
- 2019-03-21 CN CN201910217473.XA patent/CN109948710B/zh active Active
Non-Patent Citations (1)
Title |
---|
面向油气生产领域的微服务聚类方法研究;王瑾;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》;20180215(第02期);全文 * |
Cited By (1)
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 |