欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201910217473X
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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和apig之间的整体相似度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)的计算公式,如下所示:其中jaccard(apip,apiq)表示请求类型不为ref格式时的apip和apiq的响应消息的jaccard相似度,计算公式如下:其中res(apip)、res(apiq)分别表示第p个和第q个API的响应消息的属性集合。

3.根据权利要求1所述的基于API相似度的微服务识别方法,其特征在于:步骤(7)中Calinski-Harabasz分值s(h),计算公式如下:其中l为API语料库中API的总个数,Bh为子图分割方案中的各个子图之间的协方差矩阵,Wh为子图分割方案中的各个子图内部数据的协方差矩阵,tr为协方差矩阵的迹。