[發明專利]程序內部信息的輸出方法、獲取方法、監測方法及其裝置有效
| 申請號: | 201210401744.5 | 申請日: | 2012-10-19 |
| 公開(公告)號: | CN103777930B | 公開(公告)日: | 2017-12-15 |
| 發明(設計)人: | 王立;趙婉萍;譚淑丹;劉立川 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 栗若木 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 內部 信息 輸出 方法 獲取 監測 及其 裝置 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種程序內部信息的輸出方法、獲取方法、監測方法及其裝置。
背景技術
目前獲取程序(包括進程、線程等)在執行過程中的內部信息的方式主要包括兩類:
第一類技術方案如圖1所示:在服務程序中添加API(ApplicationProgramming Interface,應用程序編程接口),監控程序/測試用例通過調用API獲取程序內部信息。
第二類技術方案如圖2所示:服務程序將程序內部信息以Log(日志)/共享內存的方式給出,監控程序/測試用例通過讀取Log/共享內存來獲取程序內部信息。
前述第一類方案中添加API的方式一般需要增加很多的設計和編碼工作:對外,通常需要添加獨立或者共享的服務接口,以API的方式對外提供查詢服務;同時,其內部通常還涉及到使用多線程技術,甚至涉及維護線程池,以這樣的方式支持外部查詢者查詢程序內部信息;同時為了解決臟讀問題,即讀線程正在讀取的信息被其他進程、線程改寫從而造成所讀信信息不正確,還需要涉及到鎖技術。這種方案實現成本很高,而且會增加服務程序的復雜度,使得維護成本升高。這樣的方案通常應用在不吝惜成本的大型服務程序或者操作系統的驅動程序中,對于一般性程序完全不適用。
而前述第二類方案中以Log的形式/共享內存的方式給出程序內部信息的成本通常是很低的,也不會明顯增加服務程序的復雜度,但是服務程序在給出這些程序內部信息時,Log文件/共享內存通常只有一份,這些程序內部信息會和其他Log/共享內存信息摻雜在一起,監控程序/測試用例很難把這些程序內部信息從所有信息中過濾出來,或者需要付出很高的成本才能做到:高成本主要體現在需要編寫很多Parser,并且維護這些Parser;而且容易出錯,特別是在添加新的輸出Log、寫共享內存的代碼時,或者修改了已有輸出Log、寫共享內存的代碼時,錯誤更加容易產生,且不易被察覺到;
Log文件/共享內存只有一份,而服務程序有可能是多線程的,所以不同線程給出的程序內部信息也會摻雜在一起,很難分辨,容易出錯,或者成本很高;
任何程序都可能發生錯誤,所以以Log/共享內存形式給出的程序內部信息可能是不完整的,或者被錯誤的修改了,在現有技術中,這些錯誤都無法被檢測到。
發明內容
本申請要解決的技術問題是如何低代價且可靠地輸出程序內部信息。
為了解決上述問題,本申請提供了一種程序內部信息的輸出方法,包括:
得到程序內部信息;
針對所述程序內部信息添加一個或者多個標記;
針對添加了所述一個或者多個標記的所述程序內部信息進行處理生成信息塊;以及
向程序信息集合輸出所述信息塊。
進一步地,針對所述程序內部信息添加一個或者多個標記的步驟包括:
在程序內部信息的首部、或結尾、或約定位置添加標記。
進一步地,所述標記包括:
約定的字符串、約定的通用唯一識別碼、進程標識、線程標識。
進一步地,所述針對添加了所述一個或者標記的所述程序內部信息進行處理生成信息塊的步驟包括:
針對添加了所述一個或者多個標記的所述程序內部信息進行封裝,得到信息塊。
進一步地,所述針對添加了所述一個或者標記的所述程序內部信息進行處理生成信息塊的步驟還包括:
針對所述程序內部信息計算哈希值;以及
將所述哈希值添加到信息塊中。
進一步地,所述針對添加了所述一個或者標記的所述程序內部信息進行封裝的步驟包括:
對添加了所述一個或者多個標記的所述程序內部信息進行壓縮;以及
對經壓縮的程序內部信息進行封裝。
進一步地,所述程序信息集合包括以軟件形式存在、可以存儲一定量信息的信息集合,包括:
日志;共享內存;注冊表;數據庫。
本申請還提供了一種程序內部信息的獲取方法,包括:
讀取程序信息集合,得到信息塊;
還原所述信息塊;
根據標記,篩選出添加了標記的所述程序內部信息;以及
去除所述標記,得到所述程序內部信息。
進一步地,所述標記包括:
約定的字符串、約定的通用唯一識別碼、進程標識、線程標識。
進一步地,所述還原所述信息塊的步驟包括:
如果所述信息塊是經過封裝的,則針對所述信息塊進行解封裝。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210401744.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種奧貝磨球的等溫淬火生產設備
- 下一篇:一種材料表面質地的模擬觸覺評價方法
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





