一種基於進程間通信的數據處理方法及系統的製作方法
2023-05-21 01:31:06 2
一種基於進程間通信的數據處理方法及系統的製作方法
【專利摘要】本發明提供一種基於進程間通信的數據處理方法及系統,包括以下步驟:若圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;所述數據採集進程為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;所述數據採集進程為每個圖形處理器分別創建一個服務線程,所述服務線程監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據,本發明縮短了獲取GPU利用率數據的時間,從而提高了效率。
【專利說明】一種基於進程間通信的數據處理方法及系統
【技術領域】
[0001]本發明屬於數據通信領域,尤其涉及一種基於進程間通信的數據處理方法及系統。
【背景技術】
[0002]由於在獲取GPU (Graphic Processing Unit,圖形處理器)利用率數據時,需要首先對GPU進程初始化,而該初始化操作非常耗時;傳統的獲取GPU利用率數據的方法,在每次獲取數據時,都需要進行一次初始化,造成了效率的降低。
【發明內容】
[0003]本發明提供一種基於進程間通信的數據處理方法及系統,以解決上述問題。
[0004]本發明還提供一種基於進程間通信的數據處理方法,包括以下步驟:
[0005]若圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;
[0006]所述數據採集進程為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;
[0007]所述數據採集進程為每個圖形處理器分別創建一個服務線程,所述服務線程監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
[0008]本發明還提供一種基於進程間通信的數據處理系統,包括數據採集進程管理模塊、數據管理模塊、請求處理模塊;其中,所述數據採集進程管理模塊通過所述數據管理模塊與所述請求處理模塊相連;
[0009]數據採集進程管理模塊,用於圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;還用於為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;還用於為每個圖形處理器分別創建一個服務線程;
[0010]數據管理模塊,用於數據採集線程根據獲取的圖像處理器索引,獲取所述圖像處理器利用率數據;
[0011]請求處理模塊,用於服務線程監聽到圖形處理器利用率數據請求後,從所述數據管理模塊採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
[0012]相較於先前技術,根據本發明提供的一種基於進程間通信的數據處理方法及系統,縮短了獲取GPU利用率數據的時間,從而提高了效率。
【專利附圖】
【附圖說明】
[0013]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
[0014]圖1所示為本發明實施例1的基於進程間通信的數據處理方法流程圖;
[0015]圖2所示為本發明實施例2的基於進程間通信的數據處理方法流程圖;
[0016]圖3所示為本發明實施例3的基於進程間通信的數據處理系統結構圖;
[0017]圖4所示為本發明實施例4的基於進程間通信的數據處理系統結構圖。
【具體實施方式】
[0018]下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。
[0019]圖1所示為本發明實施例1的基於進程間通信的數據處理方法流程圖,包括以下步驟:
[0020]步驟101:若GPU數據監聽程序首次執行時,創建一個在後臺運行的數據採集進程並將創建的數據採集進程的進程號記錄在文件中,同時,所述數據採集進程對GPU進行初始化並獲取所述GPU的個數;若GPU數據監聽程序為非首次執行,則執行步驟104 ;
[0021]GPU數據監聽程序每次執行時首先判斷是否為首次執行,判斷GPU數據監聽程序是否為首次執行的方式為:檢查記錄所述數據採集進程對應的進程號的文件,若所述文件存在並且在/proc/路徑下存在以所述進程號命名的目錄,則所述GPU數據監聽程序為非首次執行,否則為首次執行。
[0022]步驟102:所述數據採集進程獲取所述圖形處理器的個數後,為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;
[0023]所述數據採集線程根據獲取的圖像處理器索引,獲取所述圖像處理器利用率數據。
[0024]所述數據採集線程實時地或周期性獲取所述圖像處理器利用率數據並進行更新。
[0025]周期可以根據實際情況進行靈活設定,例如:0.5秒。
[0026]步驟103:所述數據採集進程為每個圖形處理器分別創建一個數據採集線程後,為每個圖形處理器分別創建一個服務線程,對圖形處理器利用率數據請求進行監聽;
[0027]所述服務線程創建一個進程間通信套接字UNIX socket,對圖形處理器利用率數據請求進行監聽。
[0028]步驟104:所述服務線程在監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據並發送給請求方;其中,所述圖像處理器利用率數據請求中攜帶圖像處理器索引信息。
[0029]備註:
[0030]1、GPU數據監聽程序以後每次執行時,從所述數據採集進程處獲取當前GPU利用率數據;
[0031]2、GPU數據監聽程序以後每次執行時,與所述服務線程通信,向所述服務線程發送獲取GPU利用率數據請求並將返回的結果列印輸出。
[0032]圖2所示為本發明實施例2的基於進程間通信的數據處理方法流程圖,包括以下步驟:
[0033]步驟201:若圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;
[0034]步驟202:所述數據採集進程為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;
[0035]步驟203:所述數據採集進程為每個圖形處理器分別創建一個服務線程,所述服務線程監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
[0036]圖3所示為本發明實施例3的基於進程間通信的數據處理系統結構圖,包括數據採集進程管理模塊、數據管理模塊、請求處理模塊;其中,所述數據採集進程管理模塊通過所述數據管理模塊與所述請求處理模塊相連;
[0037]數據採集進程管理模塊,用於圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;還用於為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;還用於為每個圖形處理器分別創建一個服務線程;
[0038]數據管理模塊,用於數據採集線程根據獲取的圖像處理器索引,獲取所述圖像處理器利用率數據;
[0039]請求處理模塊,用於服務線程監聽到圖形處理器利用率數據請求後,從所述數據管理模塊採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
[0040]圖4所示為本發明實施例4的基於進程間通信的數據處理系統結構圖,在圖3的基礎上增加了 「輸出管理模塊」;其中,所述輸出管理模塊與所述請求處理模塊相連;
[0041]所述輸出管理模塊,用於從所述請求處理模塊中獲取的圖像處理器利用率數據後,進行列印輸出。
[0042]相較於先前技術,根據本發明提供的一種基於進程間通信的數據處理方法及系統,縮短了獲取GPU利用率數據的時間,從而提高了效率。
[0043]以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種基於進程間通信的數據處理方法,其特徵在於,包括以下步驟: 若圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數; 所述數據採集進程為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引; 所述數據採集進程為每個圖形處理器分別創建一個服務線程,所述服務線程監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
2.根據權利要求1所述的方法,其特徵在於:若圖形處理器數據監聽程序首次執行時,創建一個在後臺運行的數據採集進程並將創建的數據採集進程的進程號記錄在文件中,同時,所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數。
3.根據權利要求1所述的方法,其特徵在於:所述數據採集線程根據獲取的圖像處理器索引,獲取所述圖像處理器利用率數據;其中,所述數據採集線程實時地或周期性獲取所述圖像處理器利用率數據並進行更新。
4.根據權利要求1所述的方法,其特徵在於:所述數據採集進程為每個圖形處理器分別創建一個數據採集線程後,為每個圖形處理器分別創建一個服務線程,對圖形處理器利用率數據請求進行監聽; 所述服務線程在監聽到圖形處理器利用率數據請求後,從所述數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
5.根據權利要求4所述的方法,其特徵在於:所述服務線程創建一個進程間通信套接字UNIX socket,對圖形處理器利用率數據請求進行監聽。
6.根據權利要求1所述的方法,其特徵在於:所述圖像處理器利用率數據請求中攜帶圖像處理器索引信息。
7.根據權利要求1所述的方法,其特徵在於:判斷圖形處理器數據監聽程序是否為首次執行的方式為:檢查記錄所述數據採集進程對應的進程號的文件,若所述文件存在並且在/proc/路徑下存在以所述進程號命名的目錄,則所述圖形處理器數據監聽程序為非首次執行,否則為首次執行。
8.根據權利要求1所述的方法,其特徵在於,若圖形處理器數據監聽程序為非首次執行時,服務線程監聽到圖形處理器利用率數據請求後,從數據採集線程採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
9.一種基於進程間通信的數據處理系統,其特徵在於,包括數據採集進程管理模塊、數據管理模塊、請求處理模塊;其中,所述數據採集進程管理模塊通過所述數據管理模塊與所述請求處理模塊相連; 數據採集進程管理模塊,用於圖形處理器數據監聽程序首次執行時,創建一個數據採集進程並由所述數據採集進程對所述圖形處理器進行初始化並獲取所述圖形處理器的個數;還用於為每個圖形處理器分別創建一個數據採集線程並為每個數據採集線程分別傳遞一個圖形處理器索引;還用於為每個圖形處理器分別創建一個服務線程; 數據管理模塊,用於數據採集線程根據獲取的圖像處理器索引,獲取所述圖像處理器利用率數據; 請求處理模塊,用於服務線程監聽到圖形處理器利用率數據請求後,從所述數據管理模塊採集的圖像處理器利用率數據中獲取對應的圖像處理器利用率數據。
10.根據權利要求9所述的系統,其特徵在於,還包括輸出管理模塊;其中,所述輸出管理模塊與所述請求處理模塊相連; 所述輸出管理模塊,用於從所述請求處理模塊中獲取的圖像處理器利用率數據後,進行列印輸出。
【文檔編號】G06F9/54GK104407920SQ201410816254
【公開日】2015年3月11日 申請日期:2014年12月23日 優先權日:2014年12月23日
【發明者】劉續東 申請人:浪潮(北京)電子信息產業有限公司