[發明專利]一種微服務劃分方法和裝置有效
| 申請號: | 202010559578.6 | 申請日: | 2020-06-18 |
| 公開(公告)號: | CN111596924B | 公開(公告)日: | 2023-08-08 |
| 發明(設計)人: | 周密;肖勇;楊勁鋒;趙云;錢斌 | 申請(專利權)人: | 南方電網科學研究院有限責任公司;中國南方電網有限責任公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F18/23 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 黃忠 |
| 地址: | 510663 廣東省廣州市蘿崗區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 微服 劃分 方法 裝置 | ||
本發明公開了一種微服務劃分方法和裝置,用于解決現有的微服務劃分方法劃分后微服務之間強耦合,代碼復用率低,代碼冗余度高的技術問題。本發明包括:提取預設計量應用的多個代碼文件;獲取所述多個代碼文件中各個代碼文件之間的耦合關系;以所述耦合關系為邊構建所述多個代碼文件的無向加權圖;對所述無向加權圖進行聚類,得到連通矩陣;根據所述連通矩陣,將所述計量應用劃分為多個微服務。本發明首先提取預設計量應用的多個代碼文件;根據多個代碼文件相互之間的耦合關系來構建無向加權圖,而后對其進行聚類來得到最優的微服務集合,有效提高了計量應用的微服務利用率,減少代碼冗余,實現對計量應用低耦合,高內聚的微服務劃分。
技術領域
本發明涉及電網計量系統技術領域,尤其涉及一種微服務劃分方法和裝置。
背景技術
微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。在這種情況下,每個任務代表著一個小的業務能力。
現有技術根據代碼行數來確定計量應用的微服務劃分的大小,代碼規模通常設定在100行以內,微服務的代碼行數越少則劃分后的微服務靈活性越高,更方便對微服務進行更改或者移除。
然而,現有的微服務劃分策略不能很好地確定微服務劃分的粒度,且劃分后的微服務之間強耦合,代碼復用率低下,導致計量應用的代碼冗余度過高,帶來了額外的CPU、內存等硬件成本開銷。
發明內容
本發明提供了一種微服務劃分方法,用于解決現有的微服務劃分方法劃分后微服務之間強耦合,代碼復用率低,代碼冗余度高的問題。
本發明提供的一種微服務劃分方法,包括:
提取預設計量應用的多個代碼文件;
獲取所述多個代碼文件中各個代碼文件之間的耦合關系;
以所述耦合關系為邊構建所述多個代碼文件的無向加權圖;
對所述無向加權圖進行聚類,得到連通矩陣;
根據所述連通矩陣,將所述計量應用劃分為多個微服務。
可選地,所述對所述無向加權圖進行聚類,得到連通矩陣的步驟,包括:
分別計算所述無向加權圖中每條邊的邊權比;
移除所述邊權比最大的邊,將余下的邊作為目標邊;
采用所述目標邊和所述多個代碼文件計算模塊性值;
判斷所述目標邊的數量是否為零;
若否,則跳轉至移除所述邊權比最大的邊,將余下的邊作為目標邊的步驟;
若是,采用模塊性值最大的目標邊生成連通矩陣。
可選地,所述分別計算所述無向加權圖中每條邊的邊權比的步驟,包括:
統計所述無向加權圖中每條邊的邊介數;
計算所述無向加權圖中每條邊的邊權重;
求取所述無向加權圖中每條邊的邊介數與邊權重的商,得到邊權比。
可選地,所述計算所述無向加權圖中每條邊的邊權重的步驟,包括:
分別確定每條邊連接的兩個代碼文件;
獲取所述兩個代碼文件的標識符;
計算所述兩個代碼文件的標識符的相似度,并將所述相似度確定為所述兩個代碼文件之間的邊的邊權重。
可選地,所述提取預設計量應用的多個代碼文件的步驟之后,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南方電網科學研究院有限責任公司;中國南方電網有限責任公司,未經南方電網科學研究院有限責任公司;中國南方電網有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010559578.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種鋁合金薄壁構件耦合加工穩定性控制方法
- 下一篇:高溫高壓油水計量裝置





