基于API相似度的微服务识别方法技术

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

【技术实现步骤摘要】
基于API相似度的微服务识别方法
本专利技术属于将基于单体式架构构建开发的应用程序迁移至微服务架构的微服务识别
在对基于单体式架构的应用程序进行架构迁移时,必须基于微服务架构的特性对原系统进行业务划分和代码重构,本专利技术从业务资源的角度着手,利用微服务的单一职责和符合REST风格的API具备语义化这两个特性,提出了一种基于API相似度的微服务识别方法。
技术介绍
软件在当今的系统和业务运营中无处不在,在企业中,随着业务的快速发展,其业务需求也更加多样化、复杂化,软件系统不可避免的变得笨重复杂。而随着市场竞争的加剧,市场对软件企业的开发周期,成本、开发质量等方面的要求也日益增高。众所周知,软件的质量、开发工作与其架构体系有非常紧密的联系,高级的软件架构可以很好地保证软件的可扩展性、高可用性和高性能等非功能性需求。而采用传统软件开发模式开发出来的单体式应用在这些方面却有着巨大的局限性,它会随着项目业务的不断增加,复杂度越来越高,项目中的代码也越来越不可控,开发人员也难以理解项目中的代码,从而导致修复已有漏洞和实现新的功能变得异常困难且耗时颇多,系统中任何一处出现微小的错误都可能本文档来自技高网...

【技术保护点】
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中的候选主题组成,记为

【技术特征摘要】
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_t...

【专利技术属性】
技术研发人员:俞东进王焕强孙笑笑
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

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

1