[發明專利]一種基于服務調用追蹤的異構服務集成方法有效
| 申請號: | 202010522724.8 | 申請日: | 2020-06-10 |
| 公開(公告)號: | CN111913713B | 公開(公告)日: | 2023-01-17 |
| 發明(設計)人: | 王燾;張文博;許源佳;吳恒;徐罡 | 申請(專利權)人: | 中國科學院軟件研究所 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/71;G06F9/50 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 服務 調用 追蹤 集成 方法 | ||
1.一種基于服務調用追蹤的異構服務集成方法,其步驟包括:
1)根據設定服務廠商的API的名稱、版本和位置信息,收集各設定服務廠商的API語義信息;
2)基于獲取的API語義信息解析輸入的DSL配置文件,得到泛化API與設定服務廠商API之間的映射規則;
3)基于有序樹構造算法對步驟2)處理后的DSL配置文件進行處理,得到基于有序樹的API集成;其中,得到基于有序樹的API集成的方法為:31)對于每一泛化API,初始化有序樹的頭結點treekey,以及頭結點的兩個固定后繼節點nodetarget和nodemain,其中nodetarget記錄設定服務廠商API的認證信息和URL地址,nodemain記錄集成后服務調用相關的請求參數;32)開始依次遍歷泛化API中的每個參數nodep,針對每個參數nodep,執行步驟33)~35),當參數遍歷完畢且沒有異常時,執行過程37),即一次集成結束;
33)如果當前參數nodep按照DSL中的配置信息,能通過反射找到對應key值的自定義方法,則將該參數nodep傳遞給該自定義方法并對該自定義方法進行反射調用,如果方法的返回值是約定的參數nodep本身,則nodemain在自定義方法執行完畢后新增nodep作為有序樹子節點;如果出現異常,則執行步驟36);34)如果當前參數nodep沒有找到自定義方法且參數nodep是一個數組,則先反射實例化nodep并記錄為當前父親節點nodecurrent;然后繼續按照順序遍歷該數組中的每個元素,將元素作為參數nodep,根據元素是基本數據類型、對象或數組選擇執行對應的步驟33)、34)或35),如果遞歸處理沒有異常,則將返回的nodep作為nodecurrent的子節點,并返回nodecurrent作為新的nodep;35)如果當前參數nodep沒有找到自定義方法且參數是一個簡單數據類型或者對象時,則直接將nodep添加為nodemain的直接后繼節點,記錄日志返回nodep;如果緩存中沒有對應數據,執行異常處理過程36);36)記錄異常產生位置,輸出當前nodemain、nodecurrent信息和顯示集成完成比例,查詢DSL緩存中的異常部分;37)遍歷當前生成的有序樹treekey,將有序樹treekey以Json文本導出,每個Json元素的key是設定服務廠商API的類型或設置方法,value是真實業務請求參數中的字符串、數值和集合。
2.如權利要求1所述的方法,其特征在于,收集各設定服務廠商的API語義信息的方法為:
11)生成每一設定服務廠商的API資源描述符向量RIV={metadatav,uris,addisets};其中metadatav代表設定服務廠商的服務調用API的標準SDK描述信息,uris代表服務調用API的資源獲取協議和位置信息,addisets為可選項,用于填充符合JDBC或OWL規范的身份認證信息;然后對RIV信息進行靜態校驗;
12)靜態校驗通過后,根據設定服務廠商的RIV信息對每一資源類型設置一啟發式規則;
13)依次遍歷所有的資源類型,其中針對每一資源類型i,使用該資源類型i對應的啟發式規則HRi對資源類型i中的API進行反射實例化,得到該資源類型i的API語義信息。
3.如權利要求2所述的方法,其特征在于,當資源類型i有子資源時,遍歷完資源類型i的所有子資源后繼續分析下一種資源類型i+1的API語義信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所,未經中國科學院軟件研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010522724.8/1.html,轉載請聲明來源鉆瓜專利網。





