国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      設(shè)備監(jiān)測方法和裝置的制造方法

      文檔序號:10686954閱讀:219來源:國知局
      設(shè)備監(jiān)測方法和裝置的制造方法
      【專利摘要】本申請公開了一種設(shè)備監(jiān)測方法和裝置。所述方法的一【具體實施方式】包括:通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型;攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作;將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作;將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。該實施方式可以確定設(shè)備在過去一段時間的詳細操作情況,同時又不依賴于設(shè)備廠商提供的接口,實現(xiàn)了對設(shè)備的監(jiān)測。
      【專利說明】
      設(shè)備監(jiān)測方法和裝置
      技術(shù)領(lǐng)域
      [0001]本申請涉及計算機控制領(lǐng)域,尤其涉及設(shè)備監(jiān)測領(lǐng)域,具體涉及一種設(shè)備監(jiān)測方法和裝置。
      【背景技術(shù)】
      [0002]在Linux操作系統(tǒng)中,可以利用管理工具來管理和監(jiān)測字符設(shè)備。而現(xiàn)有的設(shè)備監(jiān)測方法主要使用設(shè)備的驅(qū)動提供的接口來實現(xiàn)對設(shè)備信息的采集。這種方法很大部分受設(shè)備的驅(qū)動限制。當設(shè)備的驅(qū)動沒有提供接口時,需要對設(shè)備的驅(qū)動進行相應(yīng)的修改。如果設(shè)備的驅(qū)動沒有開源則會導(dǎo)致無法進行深層次的監(jiān)控。
      [0003]以圖形處理器(Graphics Processing Unit,GPU)為例,可以使用相應(yīng)的管理工具通過設(shè)備的廠商提供的接口(例如CUDA(Compute Unified Device Architecture,統(tǒng)一計算設(shè)備架構(gòu))接口)來查看GHJ的溫度,使用率,運行的進程名,程序路徑等信息。但無法獲取過去時間段每次操作GHJ的詳細信息,從而無法知道設(shè)備在過去某一段時間的詳細操作情況。

      【發(fā)明內(nèi)容】

      [0004]本申請的目的在于提出一種設(shè)備監(jiān)測方法和裝置,來解決以上【背景技術(shù)】部分提到的技術(shù)問題。
      [0005]第一方面,本申請?zhí)峁┝艘环N設(shè)備監(jiān)測方法,所述方法包括:通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型;攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作;將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作;將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。
      [0006]在一些實施例中,所述通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,包括:加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備;通過所述虛擬設(shè)備,從所述用戶空間接收對所述待監(jiān)測設(shè)備的操作命令。
      [0007]在一些實施例中,所述攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作,包括:確定所述標識所指示的待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體;確定所述結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑;攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0008]在一些實施例中,所述將記錄的操作信息返回給所述用戶空間,包括:響應(yīng)于從所述預(yù)設(shè)的交互接口接收到所述用戶空間發(fā)送的信息采集命令,從所述預(yù)設(shè)的操作信息列表中查找對所述標識所指示的待監(jiān)測設(shè)備操作的操作信息,所述信息采集命令包括:所述待監(jiān)測設(shè)備的標識;通過所述預(yù)設(shè)的交互接口,將查找到的操作信息返回給所述用戶空間。
      [0009]在一些實施例中,所述將記錄的操作信息返回給所述用戶空間,包括:通過所述預(yù)設(shè)的交互接口,實時返回所述記錄的操作信息。
      [0010]在一些實施例中,所述攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作,包括:通過預(yù)設(shè)的鉤子函數(shù),攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0011]在一些實施例中,所述操作信息包括以下至少一項:所述攔截的操作的操作類型、發(fā)送所述攔截的操作對應(yīng)的操作命令的用戶的標識、對所述待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。
      [0012]第二方面,本申請?zhí)峁┮环N設(shè)備監(jiān)測裝置,所述裝置包括:接收單元,用于通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型;攔截單元,用于攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作;記錄單元,用于將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作;返回單元,用于將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。
      [0013]在一些實施例中,所述接收單元包括:加載子單元,用于加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備;接收子單元,用于通過所述虛擬設(shè)備,從所述用戶空間接收對所述待監(jiān)測設(shè)備的操作命令。
      [0014]在一些實施例中,所述攔截單元包括:第一確定子單元,用于確定所述標識所指示的待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體;第二確定子單元,用于確定所述結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑;攔截子單元,用于攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0015]在一些實施例中,所述攔截單元包括:查找子單元,用于響應(yīng)于從所述預(yù)設(shè)的交互接口接收到所述用戶空間發(fā)送的信息采集命令,從所述預(yù)設(shè)的操作信息列表中查找對所述標識所指示的待監(jiān)測設(shè)備操作的操作信息,所述信息采集命令包括:所述待監(jiān)測設(shè)備的標識;第一返回子單元,用于通過所述預(yù)設(shè)的交互接口,將查找到的操作信息返回給所述用戶空間。
      [0016]在一些實施例中,所述攔截單元包括:第二返回子單元,用于通過所述預(yù)設(shè)的交互接口,實時返回所述記錄的操作信息。
      [0017]在一些實施例中,所述攔截單元進一步配置用于:通過預(yù)設(shè)的鉤子函數(shù),攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0018]在一些實施例中,所述操作信息包括以下至少一項:所述攔截的操作的操作類型、發(fā)送所述攔截的操作對應(yīng)的操作命令的用戶的標識、對所述待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。
      [0019]本申請?zhí)峁┑脑O(shè)備監(jiān)測方法和裝置,通過提供一個預(yù)設(shè)的接口,供用戶空間與內(nèi)核空間進行交互,并將對待監(jiān)測設(shè)備的操作記錄在預(yù)設(shè)的操作信息列表中,將記錄的操作信息返回給用戶空間,可以確定設(shè)備在過去一段時間的詳細操作情況,同時又不依賴于設(shè)備廠商提供的接口,實現(xiàn)了對設(shè)備的監(jiān)測。
      【附圖說明】
      [0020]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
      [0021]圖1是根據(jù)本申請的設(shè)備監(jiān)測方法的一個實施例的流程圖;
      [0022]圖2是根據(jù)本申請的設(shè)備監(jiān)測方法的又一個實施例的流程圖;
      [0023]圖3是根據(jù)本申請的設(shè)備監(jiān)測裝置的一個實施例的結(jié)構(gòu)示意圖;
      [0024]圖4是根據(jù)本申請的設(shè)備監(jiān)測裝置的又一個實施例的結(jié)構(gòu)示意圖;
      [0025]圖5是適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0026]下面結(jié)合附圖和實施例對本申請作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
      [0027]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。
      [0028]圖1是根據(jù)本申請的設(shè)備監(jiān)測方法的一個實施例的流程圖100。如圖1所示,本實施例的設(shè)備監(jiān)測方法包括以下步驟:
      [0029]步驟101,通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令。
      [0030]Linux系統(tǒng)對自身進行了劃分,一部分核心軟件(如設(shè)備的驅(qū)動)獨立于普通應(yīng)用程序,運行在較高的特權(quán)級別上,它們駐留在被保護的內(nèi)存空間上,擁有訪問硬件設(shè)備的所有權(quán)限,Linux系統(tǒng)將此稱為內(nèi)核空間。相對的,普通應(yīng)用程序則運行在用戶空間中。
      [0031]本實施例中,為用戶空間和內(nèi)核空間的交互提供了一個交互接口,用戶空間安裝的應(yīng)用程序可以通過此交互接口訪問內(nèi)核空間中的軟件,從而不依賴于待監(jiān)測設(shè)備的廠商提供的設(shè)備驅(qū)動的接口。用戶空間安裝的應(yīng)用程序在對設(shè)備進行操作時,通常需要通過設(shè)備的驅(qū)動來實現(xiàn)對設(shè)備的操作。因此,本實施例中,通過上述預(yù)設(shè)的交互接口從用戶空間接收對待監(jiān)測設(shè)備的操作命令。
      [0032]上述操作命令可以包括:待監(jiān)測設(shè)備的標識、操作類型。
      [0033]步驟102,攔截調(diào)用標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作。
      [0034]驅(qū)動是安裝在操作系統(tǒng)中的一塊代碼,其包含有關(guān)硬件設(shè)備的信息。計算機就通過此信息實現(xiàn)與設(shè)備的通信。驅(qū)動一般是硬件設(shè)備廠商根據(jù)操作系統(tǒng)編寫的配置文件。沒有驅(qū)動,計算機中的硬件就無法工作。
      [0035]由于用戶空間的程序?qū)ΥO(jiān)測設(shè)備進行操作時,會首先調(diào)用待監(jiān)測設(shè)備的驅(qū)動。因此,在對待監(jiān)測設(shè)備進行監(jiān)測時,只需對操作命令中包含的標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在的路徑進行監(jiān)測即可。當有操作需要調(diào)用此路徑時,說明此操作要控制上述待監(jiān)測設(shè)備。本實施例中,攔截調(diào)用標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在的路徑的所有操作。
      [0036]步驟103,將攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行上述攔截的操作。
      [0037]本實施例中,將攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中。可以理解的是,此操作信息列表可以存在于內(nèi)核空間中,存在形式可以是鏈表形式或其它可執(zhí)行的形式。在攔截上述操作后,仍然要執(zhí)行上述攔截的操作,以保證用戶空間的應(yīng)用程序可以正常的對待監(jiān)測設(shè)備進行操作。
      [0038]在本實施例的一些可選的實現(xiàn)方式中,上述操作信息可以包括以下至少一項:所攔截的操作的操作類型以及發(fā)送所攔截的操作對應(yīng)的操作命令的用戶的標識、對待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。
      [0039]操作類型為對待監(jiān)測設(shè)備進行的操作的類型或內(nèi)容。由于操作命令是用戶空間發(fā)送的,因此可以將發(fā)送上述操作命令的用戶的標識??梢岳斫獾氖牵趯ΥO(jiān)測設(shè)備執(zhí)行上述攔截的操作時,會存在一個進程來執(zhí)行上述操作。本實施例中,可將發(fā)送所攔截的操作對應(yīng)的操作命令的用戶的標識、執(zhí)行操作的進程的標識、操作的執(zhí)行時間以及操作的類型都記錄在預(yù)設(shè)的操作信息列表中。可以在需要的時候,將上述記錄的操作信息返回給用戶。
      [0040]步驟104,將記錄的操作信息返回給用戶空間,以便在用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。
      [0041]本實施例中,可以將上述記錄的操作信息返回給用戶空間的系統(tǒng)管理員。用戶管理員可以根據(jù)上述信息判斷待監(jiān)測設(shè)備的工作狀態(tài)以及操作歷史。
      [0042]在本實施例的一些可選的實現(xiàn)方式中,上述步驟104包括圖1中未示出的以下子步驟:
      [0043]響應(yīng)于從預(yù)設(shè)的交互接口接收到所述用戶空間發(fā)送的信息采集命令,從預(yù)設(shè)的操作信息列表中查找對標識所指示的待監(jiān)測設(shè)備操作的操作信息,信息采集命令包括:待監(jiān)測設(shè)備的標識;通過預(yù)設(shè)的交互接口,將查找到的操作信息返回給用戶空間。
      [0044]用戶空間的應(yīng)用程序或管理員可以在需要的時候,向內(nèi)核空間發(fā)送信息采集命令??梢岳斫獾氖牵鲜鲂畔⒉杉钔ㄟ^預(yù)設(shè)的交互接口發(fā)送到內(nèi)核空間。內(nèi)核空間在接收到上述信息采集命令后,在預(yù)設(shè)的操作信息列表中查找記錄的對信息采集命令中包含的標識所指示的待監(jiān)測設(shè)備操作的操作信息。在查找到上述操作信息后,通過預(yù)設(shè)的交互接口將查找到的操作信息返回給用戶空間。
      [0045]在本實施例的一些可選的實現(xiàn)方式中,上述步驟104包括圖1中未示出的以下子步驟:
      [0046]通過預(yù)設(shè)的交互接口,實時返回所述記錄的操作信息。
      [0047]通過設(shè)置,還可以將記錄的操作信息實時返回用戶空間中,供管理員實時監(jiān)測待監(jiān)測設(shè)備,從而可以及時發(fā)現(xiàn)設(shè)備的非正常情況。
      [0048]本申請的上述實施例提供的設(shè)備監(jiān)測方法,通過提供一個預(yù)設(shè)的接口,供用戶空間與內(nèi)核空間進行交互,并將對待監(jiān)測設(shè)備的操作記錄在預(yù)設(shè)的操作信息列表中,將記錄的操作信息返回給用戶空間??梢源_定設(shè)備在過去一段時間的詳細操作情況,同時又不依賴于設(shè)備廠商提供的接口,實現(xiàn)了對設(shè)備的監(jiān)測。
      [0049]繼續(xù)參考圖2,示出了根據(jù)本申請的設(shè)備監(jiān)測方法的又一個實施例的流程圖200。本實施例的設(shè)備監(jiān)測方法包括以下步驟:
      [0050]步驟201,加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備。
      [0051]內(nèi)核模塊可以理解為一些可以讓內(nèi)核在需要時載入和執(zhí)行的代碼塊。Linux內(nèi)核的整體結(jié)構(gòu)龐大,有兩種方法可以將需要的功能包含進內(nèi)核當中:將所有的功能都編譯進內(nèi)核或?qū)⒐δ芫幾g成模塊,在需要的時候動態(tài)的添加。本實施例中,就將代碼編譯成模塊加載到內(nèi)核中,在加載完成后會創(chuàng)建一個虛擬設(shè)備。
      [0052]步驟202,通過上述虛擬設(shè)備,從用戶空間接收對待監(jiān)測設(shè)備的操作命令
      [0053]上述虛擬設(shè)備,可以用于內(nèi)核空間和用戶空間的交互,這樣用戶空間對待監(jiān)測設(shè)備的操作命令可以通過上述虛擬設(shè)備來接收??梢岳斫獾氖牵鲜霾僮髅钪邪ùO(jiān)測設(shè)備的標識。
      [0054]步驟203,確定待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體。
      [0055]結(jié)構(gòu)體是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合。在Linux內(nèi)核中,每個設(shè)備都對應(yīng)一個cdev結(jié)構(gòu)體,該cdev結(jié)構(gòu)體中包含有該設(shè)備的所有數(shù)據(jù),例如設(shè)備號dev_t,設(shè)備所屬的模塊struct module,設(shè)備的文件操作結(jié)構(gòu)體struct file_operat1ns等。本實施例中,可以根據(jù)待監(jiān)測設(shè)備的標識在Linux內(nèi)核空間中,確定待監(jiān)測設(shè)備的cdev結(jié)構(gòu)體。
      [0056]步驟204,確定上述結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑。
      [0057]cdev結(jié)構(gòu)體中有一個指向f ile_operat1ns的指針,f ile_operat1ns中的系統(tǒng)調(diào)用函數(shù)就可以用來操作硬件。系統(tǒng)調(diào)用函數(shù)可以包括打開(open),關(guān)閉(close),讀取(read),寫(write)等。
      [0058]步驟205,攔截調(diào)用系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0059]對待監(jiān)測設(shè)備進行操作時,會采用上述file_operat1ns結(jié)構(gòu)體中的系統(tǒng)調(diào)用函數(shù),因此會調(diào)用上述系統(tǒng)調(diào)用函數(shù)所在的路徑。本實施例中,攔截調(diào)用系統(tǒng)調(diào)用函數(shù)所在的路徑的所有操作。
      [0060]在本實施例的一些可選的實現(xiàn)方式中,可以通過添加鉤子函數(shù),對上述操作進行攔截。鉤子函數(shù)是是一個處理消息的程序段,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。每當特定的消息發(fā)出,在沒有到達目的窗口前,鉤子函數(shù)就先捕獲該消息。這時鉤子函數(shù)即可以加工處理該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強制結(jié)束消息的傳遞。
      [0061]步驟206,將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行上述攔截的操作。
      [0062]本實施例中,將所攔截的操作對應(yīng)的操作信息記錄在在預(yù)設(shè)的操作信息列表中,同時執(zhí)行上述攔截的操作。在實踐中,將cdev結(jié)構(gòu)體中指向file_operat1ns的指針修改,使其指向新的file_operat1ns結(jié)構(gòu)體。新的file_operat1ns結(jié)構(gòu)體包括新的系統(tǒng)調(diào)用函數(shù),這些新的系統(tǒng)調(diào)用函數(shù)會記錄所攔截的操作的操作信息,同時執(zhí)行這些操作??梢詫⒂涗浀牟僮餍畔⒋鎯υ趌ist_head鏈表中,list_head鏈表同樣也是cdev結(jié)構(gòu)體中的一個成員。在后續(xù)待監(jiān)測設(shè)備被訪問時,會將每一次訪問待監(jiān)測設(shè)備的操作類型,用戶,進程,時間戳等信息存儲在上述鏈表中。
      [0063]步驟207,將記錄的操作信息返回給用戶空間,以便在用戶空間下監(jiān)測對待監(jiān)測設(shè)備的操作。
      [0064]本實施例中,將記錄的操作信息返回給用戶空間可以是在接收到用戶空間的采集命令時,將對上述待監(jiān)測設(shè)備操作的操作信息返回,也可以是記錄后馬上返回,以實時呈現(xiàn)對待監(jiān)測設(shè)備的操作的操作信息。
      [0065]本實施例的設(shè)備監(jiān)測方法,可以方便地應(yīng)用到安全業(yè)務(wù)和審計計費業(yè)務(wù)中。以GPU為例來說,當系統(tǒng)被黑客入侵之后,黑客一般會選擇在某個不容易被發(fā)現(xiàn)的時間點(比如半夜或者凌晨)運行自己的任務(wù),而且其運行的任務(wù)會被隱藏起來并在用戶空間不可見。如果系統(tǒng)的管理員發(fā)現(xiàn)不了此任務(wù),則會耗費大量的資源。采用本實施例的設(shè)備監(jiān)測方法后,系統(tǒng)管理員可以通過查看對GHJ的操作信息來判斷系統(tǒng)是否被入侵,從而保護了系統(tǒng)的安全。同樣,系統(tǒng)管理員可以根據(jù)上述對GHJ的操作信息來確定用戶使用資源的時間次數(shù)等信息,從而可以應(yīng)用到計費業(yè)務(wù)中。
      [0066]本申請的上述實施例提供的設(shè)備監(jiān)測方法,不依賴于現(xiàn)有的驅(qū)動提供的接口和監(jiān)測工具,只需要將預(yù)設(shè)的內(nèi)核模塊加載到Linux內(nèi)核中,即可完成對設(shè)備的操作的操作信息的采集和記錄;在設(shè)備的驅(qū)動層面完成操作信息的采集和記錄,因此不依賴于具體設(shè)備驅(qū)動的源代碼,擴展性強。
      [0067]繼續(xù)參考圖3,示出了根據(jù)本申請的設(shè)備監(jiān)測裝置的一個實施例的結(jié)構(gòu)示意圖300。本實施例的設(shè)備監(jiān)測裝置包括:接收單元301、攔截單元302、記錄單元303和返回單元304。
      [0068]接收單元301,用于通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令。
      [0069]其中,操作命令包括:待監(jiān)測設(shè)備的標識、操作類型。
      [0070 ]本實施例中,預(yù)設(shè)的交互接口用于用戶空間和內(nèi)核空間的交互。因此,用戶空間發(fā)送的對待監(jiān)測設(shè)備的操作命令通過上述預(yù)設(shè)的交互接口來接收。
      [0071]攔截單元302,用于攔截調(diào)用標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作。
      [0072]在接收單元301接收到用戶空間發(fā)送的操作命令后,攔截單元302攔截上述操作命令中需要調(diào)用標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作。
      [0073]記錄單元303,用于將攔截單元302攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行攔截單元302攔截的操作。
      [0074]預(yù)設(shè)的操作信息列表可以存儲在內(nèi)核空間中,供用戶空間在需要時讀取。
      [0075]返回單元304,用于將記錄單元303記錄的操作信息返回給用戶空間,以便在用戶空間下監(jiān)測對待監(jiān)測設(shè)備的操作。
      [0076]本申請的上述實施例提供的設(shè)備監(jiān)測裝置,通過提供一個預(yù)設(shè)的接口,供用戶空間與內(nèi)核空間進行交互,并將對待監(jiān)測設(shè)備的操作記錄在預(yù)設(shè)的操作信息列表中,將記錄的操作信息返回給用戶空間??梢源_定設(shè)備在過去一段時間的詳細操作情況,同時又不依賴于設(shè)備廠商提供的接口,實現(xiàn)了對設(shè)備的監(jiān)測。
      [0077]圖4示出了根據(jù)本申請的設(shè)備監(jiān)測裝置的一個實施例的結(jié)構(gòu)示意圖400。本實施例的設(shè)備監(jiān)測裝置包括:接收單元401、攔截單元402、記錄單元403和返回單元404。
      [0078]其中,接收單元401進一步包括加載子單元4011和接收子單元4012。加載子單元4011,用于加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備。接收子單元4012,用于通過加載子單元4011創(chuàng)建的虛擬設(shè)備,從用戶空間接收對待監(jiān)測設(shè)備的操作命令。
      [0079]攔截單元402進一步包括第一確定子單元4021、第二確定子單元4022和攔截子單元4023。其中第一確定子單元4021,用于確定標識所指示的待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體。第二確定子單元4022,用于確定第一確定子單元4021確定的結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑。攔截子單元4023,用于攔截調(diào)用第二確定子單元4022確定的系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0080]記錄單元403用于記錄攔截子單元4023攔截的操作的操作信息,并執(zhí)行上述操作。
      [0081]在本實施例的一些可選的實現(xiàn)方式中,操作信息包括以下至少一項:所攔截的操作的操作類型、發(fā)送所攔截的操作對應(yīng)的操作命令的用戶的標識、對待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。
      [0082]返回單元404進一步包括查找子單元4041和第一返回子單元4042。其中,查找子單元4041,用于響應(yīng)于從加載子單元4011創(chuàng)建的虛擬設(shè)備接收到用戶空間發(fā)送的信息采集命令,從記錄單元403記錄的預(yù)設(shè)的操作信息列表中查找對標識所指示的待監(jiān)測設(shè)備操作的操作信息??梢岳斫獾氖?,信息采集命令包括待監(jiān)測設(shè)備的標識。第一返回子單元4042,用于通過加載子單元4011創(chuàng)建的虛擬設(shè)備,將查找到的操作信息返回給用戶空間。
      [0083]在本實施例的一些可選的實現(xiàn)方式中,攔截單元402進一步可以用于:通過預(yù)設(shè)的鉤子函數(shù),攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。
      [0084]在本實施例的一些可選的實現(xiàn)方式中,返回單元404還可以進一步包括圖4中未示出的第二返回單元,用于通過預(yù)設(shè)的交互接口,實時返回記錄的操作信息。以實現(xiàn)對待監(jiān)測設(shè)備的實時監(jiān)測。
      [0085]本申請的上述實施例提供的設(shè)備監(jiān)測裝置,不依賴于現(xiàn)有的驅(qū)動提供的接口和監(jiān)測工具,只需要將預(yù)設(shè)的內(nèi)核模塊加載到Linux內(nèi)核中,即可完成對設(shè)備的操作的操作信息的采集和記錄;在設(shè)備的驅(qū)動層面完成操作信息的采集和記錄,因此不依賴于具體設(shè)備驅(qū)動的源代碼,擴展性強。
      [0086]下面參考圖5,其示出了適于用來實現(xiàn)本申請實施例的終端設(shè)備或服務(wù)器的計算機系統(tǒng)500的結(jié)構(gòu)示意圖。
      [0087]如圖5所示,計算機系統(tǒng)500包括中央處理單元(CPU)501,其可以根據(jù)存儲在只讀存儲器(R0M)502中的程序或者從存儲部分508加載到隨機訪問存儲器(RAM)503中的程序而執(zhí)行各種適當?shù)膭幼骱吞幚?。在RAM 503中,還存儲有系統(tǒng)500操作所需的各種程序和數(shù)據(jù)。CPU 50KROM 502以及RAM 503通過總線504彼此相連。輸入/輸出(I/O)接口505也連接至總線 504。
      [0088]以下部件連接至I/O接口505:包括鍵盤、鼠標等的輸入部分506 ;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分507;包括硬盤等的存儲部分508;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分509。通信部分509經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器510也根據(jù)需要連接至I/O接口 505??刹鹦督橘|(zhì)511,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器510上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分508。
      [0089]特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,所述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分509從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)511被安裝。在該計算機程序被中央處理單元(CPU) 501執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。
      [0090]附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
      [0091]描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括接收單元、攔截單元、記錄單元和返回單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,攔截單元還可以被描述為“攔截調(diào)用所述待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作的單元”。
      [0092]作為另一方面,本申請還提供了一種非易失性計算機存儲介質(zhì),該非易失性計算機存儲介質(zhì)可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質(zhì);也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質(zhì)。上述非易失性計算機存儲介質(zhì)存儲有一個或者多個程序,當所述一個或者多個程序被一個設(shè)備執(zhí)行時,使得所述設(shè)備:通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型;攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作;將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作;將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。
      [0093]以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進行互相替換而形成的技術(shù)方案。
      【主權(quán)項】
      1.一種設(shè)備監(jiān)測方法,其特征在于,所述方法包括: 通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型; 攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作; 將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作;將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,包括: 加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備; 通過所述虛擬設(shè)備,從所述用戶空間接收對所述待監(jiān)測設(shè)備的操作命令。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作,包括: 確定所述標識所指示的待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體; 確定所述結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑; 攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將記錄的操作信息返回給所述用戶空間,包括: 響應(yīng)于從所述預(yù)設(shè)的交互接口接收到所述用戶空間發(fā)送的信息采集命令,從所述預(yù)設(shè)的操作信息列表中查找對所述標識所指示的待監(jiān)測設(shè)備操作的操作信息,所述信息采集命令包括:所述待監(jiān)測設(shè)備的標識; 通過所述預(yù)設(shè)的交互接口,將查找到的操作信息返回給所述用戶空間。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將記錄的操作信息返回給所述用戶空間,包括: 通過所述預(yù)設(shè)的交互接口,實時返回所述記錄的操作信息。6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作,包括: 通過預(yù)設(shè)的鉤子函數(shù),攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述操作信息包括以下至少一項:所述攔截的操作的操作類型、發(fā)送所述攔截的操作對應(yīng)的操作命令的用戶的標識、對所述待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。8.一種設(shè)備監(jiān)測裝置,其特征在于,所述裝置包括: 接收單元,用于通過預(yù)設(shè)的交互接口,從用戶空間接收對待監(jiān)測設(shè)備的操作命令,所述操作命令包括:所述待監(jiān)測設(shè)備的標識、操作類型; 攔截單元,用于攔截調(diào)用所述標識所指示的待監(jiān)測設(shè)備的驅(qū)動所在路徑的操作; 記錄單元,用于將所攔截的操作的操作信息記錄在預(yù)設(shè)的操作信息列表中,并執(zhí)行所述攔截的操作; 返回單元,用于將記錄的操作信息返回給所述用戶空間,以便在所述用戶空間下監(jiān)測對所述待監(jiān)測設(shè)備的操作。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述接收單元包括: 加載子單元,用于加載預(yù)設(shè)的內(nèi)核模塊,創(chuàng)建虛擬設(shè)備; 接收子單元,用于通過所述虛擬設(shè)備,從所述用戶空間接收對所述待監(jiān)測設(shè)備的操作命令。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述攔截單元包括: 第一確定子單元,用于確定所述標識所指示的待監(jiān)測設(shè)備的設(shè)備信息所在的結(jié)構(gòu)體; 第二確定子單元,用于確定所述結(jié)構(gòu)體中系統(tǒng)調(diào)用函數(shù)所在的路徑; 攔截子單元,用于攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述返回單元包括: 查找子單元,用于響應(yīng)于從所述預(yù)設(shè)的交互接口接收到所述用戶空間發(fā)送的信息采集命令,從所述預(yù)設(shè)的操作信息列表中查找對所述標識所指示的待監(jiān)測設(shè)備操作的操作信息,所述信息采集命令包括:所述待監(jiān)測設(shè)備的標識; 第一返回子單元,用于通過所述預(yù)設(shè)的交互接口,將查找到的操作信息返回給所述用戶空間。12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述返回單元包括: 第二返回子單元,用于通過所述預(yù)設(shè)的交互接口,實時返回所述記錄的操作信息。13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述攔截單元進一步配置用于: 通過預(yù)設(shè)的鉤子函數(shù),攔截調(diào)用所述系統(tǒng)調(diào)用函數(shù)所在的路徑的操作。14.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作信息包括以下至少一項:所述攔截的操作的操作類型、發(fā)送所述攔截的操作對應(yīng)的操作命令的用戶的標識、對所述待監(jiān)測設(shè)備執(zhí)行操作的進程的標識、操作的執(zhí)行時間。
      【文檔編號】G06F11/30GK106055453SQ201610380425
      【公開日】2016年10月26日
      【申請日】2016年6月1日
      【發(fā)明人】彭振翼, 吳教仁
      【申請人】北京百度網(wǎng)訊科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1