[發明專利]服務追蹤方法、裝置和計算機可讀存儲介質有效
| 申請號: | 201711466851.5 | 申請日: | 2017-12-29 |
| 公開(公告)號: | CN109992465B | 公開(公告)日: | 2023-05-16 |
| 發明(設計)人: | 何震葦 | 申請(專利權)人: | 中國電信股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F9/54 |
| 代理公司: | 中國貿促會專利商標事務所有限公司 11038 | 代理人: | 曹蓓 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 服務 追蹤 方法 裝置 計算機 可讀 存儲 介質 | ||
1.一種服務追蹤方法,包括:
在主服務請求輸入端:
獲取來自客戶端的遠程過程調用RPC請求數據包,提取主鏈信息;
生成與所述RPC請求數據包對應的調用鏈上下文緩存,
生成主鏈追蹤信息回寫至所述RPC請求數據包,并寫入所述調用鏈上下文緩存中;
綁定所述調用鏈上下文緩存與線程標識,以便與在子服務調用中,確定將子鏈追蹤信息寫入的調用鏈上下文緩存,
其中,通過線程間的層次關系確定子服務與主服務的調用關系;
在主服務應答輸出端:
攔截向客戶端輸出的應答數據包,寫入主鏈追蹤信息且將所述應答數據包回寫至輸出流,并將所述主鏈追蹤信息寫入調用鏈上下文緩存中;
存儲所述調用鏈上下文緩存中的內容作為調用日志;
其中,所述在子服務調用中,確定將子鏈追蹤信息寫入的調用鏈上下文緩存包括:
當主鏈或子鏈通過子鏈調用請求調用子服務時,在子服務調用請求輸入端:
根據線程標識獲取所述調用鏈上下文緩存;
生成子調用追蹤信息并寫入所述調用鏈上下文緩存中;
向子鏈調用請求中寫入子調用追蹤信息;
在子服務調用的應答輸出端:
從子服務應答中提取子調用追蹤信息,并將所述子調用追蹤信息寫入所述調用鏈上下文緩存中。
2.根據權利要求1所述的方法,還包括:
當收到所述RPC請求數據包后,判斷是否已分配當前處理線程;
若已分配當前處理線程,則獲取線程標識;
若未分配當前處理線程,則分配線程,并記錄線程標識。
3.根據權利要求1所述的方法,其中,主服務執行過程中,單個主服務調用一個或多個子服務;和/或,
子服務執行過程中,單個子服務調用一個或多個子服務。
4.根據權利要求1~3任意一項所述的方法,其中,
所述主鏈追蹤信息包括通信五元組、服務調用鏈標識、父調用標識、當前調用標識;
所述子調用追蹤信息包括服務調用鏈標識、當前調用標識、子調用標識。
5.根據權利要求1~3任意一項所述的方法,其中,
在主服務請求輸入端,還將主服務調用開始時間寫入所述調用鏈上下文緩存中;
在主服務應答輸出端,還將主服務調用結束時間寫入所述調用鏈上下文緩存中;
在子鏈調用請求輸入端,還將子服務調用開始時間寫入所述調用鏈上下文緩存中;和/或,
在子鏈調用應答輸出端,還將子服務結束調用時間寫入所述調用鏈上下文緩存中。
6.根據權利要求1或2所述的方法,其中,在輸入端和在輸出端通過鉤子技術對接口函數和/或線程函數進行擴展,通過鉤子函數代替原有的庫函數,在主服務和/或子服務的庫函數的處理前和/或處理后插入鉤子函數,執行以下功能中的一種或多種:
連接服務端RPC連接請求;
攔截客戶端RPC應答數據或服務端RPC請求數據;
攔截客戶端RPC請求數據或服務端RPC應答數據;
攔截子線程創建過程,建立線程標識的樹型結構,用全路徑的線程ID描述當前線程在整個線程樹的位置;
攔截線程結束事件;
從線程標識的樹型結構中刪除對應的線程節點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電信股份有限公司,未經中國電信股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711466851.5/1.html,轉載請聲明來源鉆瓜專利網。





