[發明專利]異步消息監控方法和裝置有效
| 申請號: | 201710065908.4 | 申請日: | 2017-02-06 |
| 公開(公告)號: | CN108399120B | 公開(公告)日: | 2021-01-29 |
| 發明(設計)人: | 程春林 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平;鄧云鵬 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 異步 消息 監控 方法 裝置 | ||
1.一種異步消息監控方法,包括:
通過主線程獲取異步消息,將所述異步消息加入異步消息集合;
創建異步消息處理的異步調用線程,通過所述異步調用線程從所述異步消息集合中獲取異步消息,創建與所述異步消息對應的標識對象,并將所述標識對象注入到所述異步消息;
通過所述標識對象獲取所述異步消息的指針地址,根據所述指針地址執行異步消息回調操作,記錄所述異步消息回調操作的執行路徑中的各個回調的函數地址的狀態信息;
通過所述異步調用線程將所述標識對象傳遞到所述主線程,并銷毀所述異步調用線程,讀取所述標識對象以獲取所述異步消息的執行路徑中回調的函數地址的狀態信息。
2.根據權利要求1所述的方法,其特征在于,所述記錄所述異步消息回調操作的執行路徑中的各個回調的函數地址的狀態信息,包括:
通過所述標識對象輪詢所述異步消息的回調的函數地址,檢測所述回調的函數地址是否被釋放;
若所述回調的函數地址未被釋放,則通過所述標識對象獲取并保存執行路徑中回調的函數地址的狀態信息,并輪詢所述回調的函數地址的下一級的回調的函數地址;
若所述回調的函數地址被釋放,則返回到所述回調的函數地址的上一級的回調的函數地址,判斷回調操作是否結束;
若所述回調操作結束,則通過所述異步調用線程將所述標識對象傳遞所述主線程,并銷毀所述異步調用線程,讀取所述標識對象以獲取所述異步消息的執行路徑中回調的函數地址的狀態信息。
3.根據權利要求2所述的方法,其特征在于,在通過所述標識對象獲取并保存執行路徑的狀態信息之后,所述方法還包括:
獲取所述異步消息的時間戳;
根據所述時間戳判斷是否超時,若未超時,則執行所述輪詢所述回調的函數地址的下一級的回調的函數地址的步驟,若超時,則執行所述通過所述標識對象獲取所述異步消息的指針地址,執行所述異步消息回調的步驟。
4.根據權利要求2所述的方法,其特征在于,所述方法還包括:
若所述回調操作未結束,則繼續執行通過所述標識對象輪詢所述異步消息的回調的函數地址,檢測所述回調的函數地址是否被釋放的步驟。
5.根據權利要求1所述的方法,其特征在于,所述方法還包括:
判斷所述異步消息集合是否為空,若是,則結束,若否,則繼續執行創建異步消息處理的異步調用線程,通過所述異步調用線程從所述異步消息集合中獲取異步消息,創建與所述異步消息對應的標識對象,并將所述標識對象注入到所述異步消息的步驟。
6.根據權利要求1所述的方法,其特征在于,所述將所述標識對象注入到所述異步消息,包括:
通過掛鉤函數建立所述標識對象與所述異步消息的映射關系。
7.一種異步消息監控裝置,其特征在于,包括:
異步消息抓取模塊,用于通過主線程獲取異步消息,將所述異步消息加入異步消息集合;
標識對象注入模塊,用于創建異步消息處理的異步調用線程,通過所述異步調用線程從所述異步消息集合中獲取異步消息,創建與所述異步消息對應的標識對象,并將所述標識對象注入到所述異步消息;
回調執行模塊,用于通過所述標識對象獲取所述異步消息的指針地址,根據所述指針地址執行異步消息回調操作,記錄所述異步消息回調操作的執行路徑中的各個回調的函數地址的狀態信息;
狀態信息獲取模塊,用于通過所述異步調用線程將所述標識對象傳遞所述主線程,并銷毀所述異步調用線程,讀取所述標識對象以獲取所述異步消息的執行路徑中回調的函數地址的狀態信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710065908.4/1.html,轉載請聲明來源鉆瓜專利網。





