命令存儲方法、客戶端以及中心服務器的制造方法
【專利摘要】本發明提供一種命令存儲方法、客戶端以及中心服務器。該方法包括:在監測到至少一個用戶登錄到客戶端對應的本地服務器時,為每個用戶分配各自的監測進程,監測進程用于監測對應的用戶輸入的操作命令;在確定任一監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;確認接收到中心服務器返回的信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器。本發明提供的命令存儲方法,可避免用戶操作信息被更改或刪除,具有較高的安全性,同時提高了管理員的工作效率。
【專利說明】
命令存儲方法、客戶端以及中心服務器
技術領域
[0001]本發明涉及計算機領域,尤其涉及一種命令存儲方法、客戶端以及中心服務器。【背景技術】
[0002]隨著計算機技術的發展,計算機的應用領域越來越廣,越來越多的數據存儲在計算機中,越來越多的分析、計算、仿真依賴計算機的操作系統。同時,計算機、操作系統可能由于用戶的不當操作或惡意用戶的攻擊而出現問題,因此記錄用戶執行過的命令對于后續分析操作系統問題、保護計算機操作系統和數據安全十分必要。
[0003]現有的操作系統如LINUX等,在監測到用戶登錄操作系統后,將用戶執行過的命令保存在內存中,在監測到用戶退出操作系統時將內存中保存的用戶的命令轉存在存儲文件中。但是,用戶對存儲在內存中或存儲在存儲文件中的命令都可以進行刪除、修改等操作。 因此,現有的命令存儲方法存在安全度較低的問題。
【發明內容】
[0004]本發明提供一種命令存儲方法、客戶端以及中心服務器,用于解決現有命令存儲方法存在安全度較低的問題。
[0005]第一方面,本發明提供一種命令存儲方法,應用于客戶端,每個客戶端對應一個本地服務器,包括:
[0006]在監測到至少一個用戶登錄到所述客戶端對應的本地服務器時,為每個所述用戶分配各自的監測進程,所述監測進程用于監測對應的用戶輸入的操作命令;
[0007]在確定任一所述監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,所述用戶操作信息包括所述用戶輸入的操作命令、所述客戶端的標識以及所述用戶的標識;
[0008]確認接收到所述中心服務器返回的信息響應消息,所述信息響應消息用于指示所述用戶操作信息已送達所述中心服務器。[〇〇〇9]如上所述的命令存儲方法,所述向中心服務器發送用戶操作信息,包括:
[0010]從所述本地服務器的內存儲器中讀取所述用戶輸入的操作命令,根據所述用戶輸入的操作命令、所述客戶端的標識以及所述用戶的標識確定所述用戶操作信息;其中,所述客戶端的標識根據如下中的至少一項確定:所述本地服務器的序列號、所述本地服務器的 MAC地址、所述本地服務器的IP地址;
[0011]對所述用戶操作信息進行加密,將加密后的用戶操作信息發送給所述中心服務器。
[0012]如上所述的命令存儲方法,若在預設時長內,確認未接收到所述中心服務器返回的信息響應消息,所述方法還包括:
[0013]對所述用戶操作消息進行加密,得到加密后的用戶操作信息,將所述加密后的用戶操作消息存儲在外存儲器中;
[0014]在接收到所述中心服務器發送的任一消息時,從所述外存儲器中讀取所述加密后的用戶操作信息,并將所述加密后的用戶操作信息發送給所述中心服務器。
[0015]如上所述的命令存儲方法,所述方法還包括:
[0016]按照預設時間間隔向所述中心服務器發送心跳信息,以使所述中心服務器確定所述客戶端與所述中心服務器連接正常;
[0017]確認接收到所述中心服務器返回的心跳響應消息,所述心跳響應消息用于指示所述心跳信息已送達所述中心服務器。
[0018]第二方面,本發明提供一種命令存儲方法,應用于中心服務器,包括:
[0019]接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心服務器的外存儲器中,各所述用戶操作信息包括所述用戶輸入的操作命令、客戶端的標識以及所述用戶的標識;
[0020]向各所述客戶端發送信息響應消息,所述信息響應消息用于指示用戶操作信息已送達所述中心服務器。
[0021]如上所述的命令存儲方法,所述接收至少一個客戶端發送的用戶操作信息之前,還包括:
[0022]判斷在預設時間間隔內,是否接收到所述客戶端發送的心跳信息;
[0023]若是,則向所述客戶端發送心跳響應消息,所述心跳響應消息用于指示心跳信息已送達所述中心服務器;
[0024]若否,則發送連接異常告警消息,所述連接異常告警消息包括連接異常的客戶端的標識。
[0025]如上所述的命令存儲方法,所述接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲在所述中心服務器的外存儲器中,包括:
[0026]接收至少一個客戶端發送的加密后的用戶操作信息,對各所述加密后的用戶操作信息進行解密,得到解密后的用戶操作信息;
[0027]根據所述用戶的標識和/或所述客戶端的標識,將所述用戶輸入的操作命令存儲至所述中心服務器的外存儲器中。
[0028]如上所述的命令存儲方法,所述接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心服務器的外存儲器中之后,還包括:
[0029]判斷各所述用戶操作信息中的用戶輸入的操作命令是否符合存儲在所述中心服務器的外存儲器中的預設告警規則;
[0030]若是,則發送操作命令異常告警消息,所述操作命令異常告警消息包括違規的操作命令所屬的用戶操作信息。
[0031]第三方面,本發明提供一種客戶端,每個客戶端對應一個本地服務器,包括:
[0032]監測模塊,用于在監測到至少一個用戶登錄到所述客戶端對應的本地服務器時,為每個所述用戶分配各自的監測進程,所述監測進程用于監測對應的用戶輸入的操作命令;
[0033]用戶操作信息發送模塊,用于在確定任一所述監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,所述用戶操作信息包括所述用戶輸入的操作命令、所述客戶端的標識以及所述用戶的標識;
[0034]響應消息確認模塊,用于確認接收到所述中心服務器返回的信息響應消息,所述信息響應消息用于指示所述用戶操作信息已送達所述中心服務器。
[0035]第四方面,本發明提供一種中心服務器,包括:
[0036]用戶操作信息接收存儲模塊,用于接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心服務器的外存儲器中,各所述用戶操作信息包括所述用戶輸入的操作命令、客戶端的標識以及所述用戶的標識;
[0037]響應消息發送模塊,用于向各所述客戶端發送信息響應消息,所述信息響應消息用于指示用戶操作信息已送達所述中心服務器。
[0038]本發明提供的命令存儲方法、客戶端以及中心服務器,由客戶端實時檢測用戶在本地服務器中輸入的操作命令,并將包含操作命令的用戶操作信息發送給中心服務器,以避免用戶操作信息被更改或刪除,具有較高的安全性,同時,通過將至少一個本地服務器上的用戶操作信息統一發送給中心服務器,方便了管理員同時對多個服務器的用戶操作信息進行管理以能夠及時發現問題,提高了管理員工作效率。
【附圖說明】
[0039]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0040]圖1是本發明提供的一種命令存儲方法實施例的應用場景示意圖;
[0041 ]圖2是本發明提供的一種命令存儲方法實施例一的流程示意圖;
[0042]圖3是本發明提供的一種命令存儲方法實施例二的流程示意圖;
[0043]圖4是本發明提供的一種命令存儲方法實施例三的流程示意圖;
[0044]圖5是本發明提供的一種命令存儲方法實施例四的流程示意圖;
[0045]圖6是本發明提供的一種命令存儲方法實施例五的流程示意圖;
[0046]圖7是本發明提供的一種命令存儲方法實施例六的流程示意圖;
[0047]圖8是本發明提供的一種命令存儲方法實施例七的流程示意圖;
[0048]圖9是本發明提供的一種命令存儲方法實施例的信令流程圖;
[0049]圖10是本發明提供的一種客戶端實施例一的結構示意圖;
[0050]圖11是本發明提供的一種客戶端實施例二的結構示意圖;
[0051]圖12是本發明提供的一種中心服務器實施例的結構示意圖。
【具體實施方式】
[0052]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0053]盡管處理器處理能力和網絡的傳輸能力逐漸增大,但是處理器實際使用過程中需處理的數據量也同樣在大幅增長,單個服務器的數據處理能力已經無法滿足大數據時代的需求,采用多個服務器處理數據的方式越來越普遍。多個服務器可根據需求分散相距較遠的不同位置處,也可設置在同一位置處,為方便分析服務器操作系統中的問題、保護操作系統和數據安全,需對登錄操作系統的用戶的操作命令進行記錄。但是各服務器分別記錄登錄在各自操作系統的用戶的操作命令,登錄用戶均可對操作命令記錄進行更改,因此管理員僅能通過現場檢查服務器中的被更改后的用戶操作命令記錄,來查看當前服務器的操作系統和數據是否存在問題,故現有的命令存儲方法安全性低,且由于只能現場檢查,效率也較低。本發明針對上述問題,提供一種命令存儲方法,將多臺服務器上的用戶的操作命令統一發送至中心服務器,由中心服務器對多臺服務器的用戶操作命令記錄進行存儲,管理員只需登錄中心服務器,或與中心服務器保持連接,即可實時掌控所有服務器的用戶操作命令,從而方便了管理員對多臺服務器的管理,提高了命令存儲的安全性,提高了效率。
[0054]圖1是本發明提供的一種命令存儲方法實施例的應用場景示意圖。如圖1所示,包括中心服務器1和至少一個本地服務器2。各服務器中均安裝有操作系統和對操作系統進行監測的客戶端,一個服務器對應一個客戶端。客戶端可以由軟件或硬件實現,本發明對此不做限定。中心服務器1中還包含有外存儲器,用于接收各客戶端發送的包含用戶的操作命令記錄的用戶操作信息,外存儲器可以為硬盤、軟盤、光盤、可移動磁盤等。可選的,中心服務器1中還可設置有服務器端,與客戶端相對應,由服務器端代替中心服務器1與客戶端進行信息交互,安裝有服務器端的服務器即為中心服務器。本發明以下實施例中的執行主體為中心服務器的方法,均可替換為服務器端,不再贅述。服務器端可以由軟件或硬件實現,本發明對此不做限定。各本地服務器2均與中心服務器1連接,可進行數據通信。示例性的,中心服務器1和本地服務器2具體可以為計算機、手機、平板電腦、基站等任意智能設備。管理員可根據需求,在多個服務器中選用任一本地服務器2作為中心服務器1。
[0055]本發明以下實施例結合圖1提供的應用場景示意圖,采用具體實施例對本發明提供的命令存儲方法進行詳細說明。
[0056]圖2是本發明提供的一種命令存儲方法實施例一的流程示意圖。如圖2所示,本發明提供的命令存儲方法,應用于客戶端,每個客戶端對應一個本地服務器,該方法包括: [〇〇57]S201、在監測到至少一個用戶登錄到客戶端對應的本地服務器時,為每個用戶分配各自的監測進程,監測進程用于監測對應的用戶輸入的操作命令;[〇〇58]S202、在確定任一監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;
[0059]S203、確認接收到中心服務器返回的信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器。
[0060]具體的,在步驟201中,客戶端可作為本地服務器上運行在操作系統后臺的后臺任務,一直保持運行狀態,在操作系統開啟時自動運行并開始監測,在操作系統關閉時停止運行。當客戶端監測到有用戶登錄到客戶端對應的本地服務器時,為用戶分配監測進程,以監測用戶輸入的操作命令。當客戶端監測到有多個用戶登錄操作系統時,則為每個用戶分配各自的監測進程。示例性的,以操作系統為LINUX操作系統為例,客戶端可調用LINUX操作系統自帶的系統命令who來監聽登錄到LINUX操作系統中的用戶,客戶端可調用系統命令 strace來作為監測進程,對用戶輸入的操作命令進行監測。可選的,監測進程可以為操作系統自帶的命令,也可以為安裝在操作系統中的軟件或硬件功能模塊,示例性的,當操作系統為FreeBSD操作系統時,監測進程可以為FreeBSD操作系統中的witch系統命令。
[0061]當監測進程監測到用戶有輸入操作命令時,監測進程將用戶輸入的操作命令、用戶輸入操作命令的時間等信息存儲在本地服務器的內存儲器中。
[0062]具體的,在步驟202中,由于當用戶輸入操作命令時,操作命令相關的信息均存儲在本地服務器的內存儲器中,內存儲器為與處理器直接通信的臨時存儲模塊,當服務器斷電時,內存儲器中的數據丟失,存儲在內存儲器中的操作命令記錄,不僅容易丟失,更不便于管理員查看,而且存在被本地服務器上登錄的用戶修改的風險,因此當客戶端確認監測進程有監測到用戶輸入的操作命令時,客戶端立即將操作命令相關的用戶操作信息發送給中心服務器。其中,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識,當管理員發現存在操作系統或數據存在問題時,即可根據用戶操作信息,確定出現問題的本地服務器,以及導致問題出現的用戶以及用戶的操作命令。示例性的,在向中心服務器發送用戶操作信息之前,客戶端接收管理員預設的或中心服務器發送的中心服務器標識,各客戶端根據接收到的中心服務器標識確定將用戶操作信息發送至中心服務器標識對應的中心服務器。
[0063]可選的,在圖2所示實施例的基礎上,圖3是本發明提供的一種命令存儲方法實施例二的流程示意圖,對將用戶操作信息向中心服務器發送進行詳細說明。如圖3所示,步驟202具體包括:
[0064]S301、從本地服務器的內存儲器中讀取用戶輸入的操作命令,根據用戶輸入的操作命令、客戶端的標識以及用戶的標識確定用戶操作信息;
[0065]S302、對用戶操作信息進行加密,將加密后的用戶操作信息發送給中心服務器。
[0066]其中,客戶端的標識根據如下中的至少一項確定:本地服務器的序列號、本地服務器的MAC地址、本地服務器的IP地址。
[0067]具體的,客戶端從本地服務器的內存儲器中讀取用戶輸入的操作命令。示例性的,以操作系統為LINUX操作系統為例,客戶端可調用LINUX操作系統自帶的系統命令history來讀取存儲在內存儲器中的用戶輸入的操作命令。
[0068]然后客戶端根據用戶輸入的操作命令、客戶端的標識以及用戶的標識確定用戶操作信息。其中,客戶端的標識根據如下中的至少一項確定:本地服務器的序列號、本地服務器的媒體訪問控制(Media Access Control,簡稱MAC)地址、本地服務器的互聯網協議地址(Internet Protocol Address,簡稱IP地址)。示例性的,客戶端的標識還可以為其他可區分不同本地服務器的標識,用戶的標識可以為用戶的用戶名等。用戶的標識還可包括用戶的組別,用戶的組別代表用戶的操作權限,用戶的操作權限決定了用戶可以執行的操作命令包括哪些。
[0069]最后,客戶端對用戶操作信息進行加密,將加密后的用戶操作信息發送給中心服務器。示例性的,客戶端采用安全套接字層超文本傳輸協議(Hyper Text TransferProtocol over Secure Socket Layer,簡稱HTTPS),對用戶操作信息進行傳輸,從而實現加密傳輸。當用戶操作信息被截獲時,截獲方也無法獲取具體的用戶輸入的操作命令,更不能對加密的用戶操作信息進行修改和替換,從而確保了用戶命令存儲的安全性,即使用戶對本地服務器中存儲的用戶操作命令的記錄進行了修改,管理員也可根據中心服務器中存儲的用戶操作信息獲取真正的用戶操作命令。可選的,用戶操作信息中還包括用戶登錄本地服務器的時間、用戶輸入各操作命令的時間等。
[0070]具體的,在步驟203中,客戶端確認接收到中心服務器返回的信息響應消息,當客戶端每向中心服務器發送一次用戶操作信息時,中心服務器均返回一個信息響應消息,用于指示用戶操作信息已送達中心服務器,中心服務器可為不同的用戶操作信息發送對應的信息響應消息,也可采用相同的信息響應消息。同時客戶端通過接收到中心服務器返回的信息響應消息確認客戶端與中心服務器之間的連接正常。
[0071]本發明提供的命令存儲方法,由客戶端實時檢測用戶在本地服務器中輸入的操作命令,并將包含操作命令的用戶操作信息發送給中心服務器,以避免用戶操作信息被更改或刪除,具有較高的安全性,同時,通過將至少一個本地服務器上的用戶操作信息統一發送給中心服務器,方便了管理員同時對多個服務器的用戶操作信息進行管理以能夠及時發現問題,提高了管理員工作效率。
[0072]進一步地,結合圖2或圖3所示實施例,圖4是本發明提供的一種命令存儲方法實施例三的流程示意圖,如圖4所示,本發明提供的命令存儲方法,包括:[〇〇73]S401、在監測到至少一個用戶登錄到客戶端對應的本地服務器時,為每個用戶分配各自的監測進程,監測進程用于監測對應的用戶輸入的操作命令;[〇〇74]S402、在確定任一監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識; [〇〇75]S403、判斷在預設時長內,是否接收到中心服務器返回的信息響應消息;若是,則結束;若否,則執行S404;[〇〇76]S404、對用戶操作消息進行加密,得到加密后的用戶操作信息,將加密后的用戶操作消息存儲在外存儲器中;[〇〇77]S405、在接收到中心服務器發送的任一消息時,從外存儲器中讀取加密后的用戶操作信息,并將加密后的用戶操作信息發送給中心服務器。[〇〇78] 具體的,步驟401、步驟402與圖2所示實施例中的步驟201、步驟202相同,本發明對此不再贅述。
[0079]具體的,在步驟403中,判斷在預設時長內,是否接收到中心服務器返回的信息響應消息,若是,則步驟401至步驟403與圖2所示實施例中的步驟201至步驟203相同,本發明不再贅述。
[0080]若在預設時長內,客戶端未接收到中心服務器返回的信息響應消息,則說明客戶端與中心服務器的連接異常,客戶端發送的用戶操作信息不能確定已被中心服務器接收。 因此,在步驟404中,客戶端對用戶操作消息進行加密,得到加密后的用戶操作信息,再將加密后的用戶操作信息存儲在外存儲器中。示例性的,可根據高級加密標準(Advanced Encrypt1n Standard,簡稱AES)對用戶操作信息進行加密。通過將用戶操作消息加密后轉存在外存儲器中,可避免用戶操作消息被用戶更改或因服務器斷電而丟失,同時由于用戶操作消息被加密,因此具有較高的安全性。可選的,外存儲器可以為本地服務器的硬盤、軟盤、光盤、可移動磁盤等。可選的,外存儲器也可以為與本地服務器連接的備用服務器中的外存儲器。
[0081]無論客戶端與中心服務器之間的連接是否異常,客戶端仍在每次監測到用戶輸入的操作命令時,均嘗試向中心服務器發送用戶操作信息,在未接收到信息響應消息后,再轉存在外存儲器中,以使客戶端可在與中心服務器之間的連接正常時,自動恢復將用戶操作信息發送至中心服務器。
[0082]具體的,在步驟405中,客戶端在接收到中心服務器發送的任一消息時,表明客戶端與中心服務器的連接恢復正常,因而從外存儲器中讀取加密后的用戶操作信息,并將加密后的用戶操作信息發送給中心服務器。具體的,任一消息可以為客戶端接收到的中心服務器發送的連接正常指示消息,或中心服務器發送的與某個用戶操作消息對應的信息響應消息。通過及時將用戶操作信息發送給中心服務器,提高了安全性。
[0083]可選的,客戶端也可在發現連接異常時,將用戶操作信息轉存在本地服務器的外存儲器中,不再將轉存的用戶操作信息發送給中心服務器;并將連接異常通知管理員,等待管理員進行現場審查,以確定問題。
[0084]進一步的,結合上述任一實施例,圖5是本發明提供的一種命令存儲方法實施例四的流程示意圖,如圖5所示,本發明提供的命令存儲方法,還包括:
[0085]S501、按照預設時間間隔向中心服務器發送心跳信息,以使中心服務器確定客戶端與中心服務器連接正常;[〇〇86]S502、確認接收到中心服務器返回的心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器。[〇〇87] 具體的,在步驟501中,客戶端按照預設時間間隔向中心服務器發送心跳信息,預設時間間隔可以為管理員提前設置,也可采用中心服務器發送的預設時間間隔。可選的,預設時間間隔通常較短,可以為1秒。當中心服務器每間隔1秒即接收到客戶端發送的心跳信息時,即可確認客戶端與中心服務器連接正常,客戶端一直保持在線。示例性的,心跳信息中可以包含客戶端的標識,時間信息等。[〇〇88]具體的,在步驟502中,客戶端確認接收到中心服務器返回的心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器。可選的,當客戶端在預設時間間隔內未接收到中心服務器返回的心跳響應信息時,可發送告警消息,示例性的,可以向管理員所持有或登錄的終端設備發送,也可以通過揚聲器、報警燈等方式向管理員告警。
[0089]本發明另一方面提供一種命令存儲方法,該方法的執行主體為中心服務器,與圖2 至圖5所示的執行主體為客戶端的方法實施例相對應,具有相同的技術特征和技術效果。圖 6是本發明提供的一種命令存儲方法實施例五的流程示意圖,如圖6所示,該方法包括:
[0090]S601、接收至少一個客戶端發送的用戶操作信息,并將各用戶操作信息存儲至中心服務器的外存儲器中,各用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;
[0091]S602、向各客戶端發送信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器。[〇〇92]具體的,在步驟601中,中心服務器接收多個客戶端發送的用戶操作信息,并將各用戶操作信息存儲至中心服務器的外存儲器中。示例性的,在中心服務器接收多個客戶端發送的用戶操作信息之前,中心服務器將中心服務器標識發送給多個客戶端,各客戶端根據接收到的中心服務器標識確定將用戶操作信息發送至中心服務器標識對應的中心服務器。可選的,在存儲用戶操作信息時,中心服務器可將用戶操作信息按照接收時刻的先后順序將用戶操作信息存儲在中心服務器的外存儲器中,可選的,外存儲器可以為本地服務器的硬盤、軟盤、光盤、可移動磁盤等,還可以為具有預設格式的數據庫。
[0093]可選的,在圖6所示實施例的基礎上,圖7是本發明提供的一種命令存儲方法實施例六的流程示意圖,對將用戶操作信息存儲在外存儲器中進行詳細說明。如圖7所示,步驟601具體包括:
[0094]S701、接收至少一個客戶端發送的加密后的用戶操作信息,對各加密后的用戶操作信息進行解密,得到解密后的用戶操作信息;
[0095]S702、根據用戶的標識和/或客戶端的標識,將用戶輸入的操作命令存儲至中心服務器的外存儲器中。
[0096]具體的,在步驟701中,中心服務器接收客戶端發送的加密后的用戶操作信息,對各加密后的用戶操作信息進行解密,得到解密后的用戶操作信息。示例性的,中心服務器與客戶端采用HTTPS對用戶操作信息進行傳輸,從而實現加密傳輸。
[0097]具體的,在步驟702中,由于解密后的各用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識,因此,可根據用戶的標識和/或客戶端的標識,將用戶輸入的操作命令存儲至中心服務器的外存儲器中。
[0098]示例性的,以客戶端對應的操作系統是LINUX操作系統為例,中心服務器接收到客戶端發送的四個用戶操作信息如下所示,
[0099]messageI{rm clientluserl};
[0100]message2{Is clientluserl};
[0101]message3{rm client2user2};
[0102]message4{cp clientluser3};
[0103]中心服務器在根據用戶的標識和/或客戶端的標識存儲操作命令時,可根據用戶的標識、客戶端的標識的不同,將用戶輸入的操作命令存儲在不同的文件中,例如,messagel中的刪除(rm)和message2中的查看目錄中的文件(Is)由于用戶的標識、客戶端的標識均相同,則存儲在同一個文件f ilel中,message3中的rm存儲在文件f ile2中,message4中的復制(cp)則存儲在文件f ile3中,同時由于message4與1116883861和1116883862均來自同一個客戶端,則filel和file3可存儲在同一個目錄中;當中心服務器接收到新的用戶操作信息message5{f ind client2user2}時,由于message5中的用戶的標識、客戶端的標識均與message3中的用戶的標識、客戶端的標識相同,故將message5中的查找(f ind)存儲在文件file2 中。
[0104]具體的,在步驟602中,中心服務器在接收到用戶操作信息后,向發送用戶操作信息的客戶端發送信息響應消息,指示用戶操作信息已送達中心服務器。可選的,中心服務器可根據用戶操作信息的不同,為各客戶端生成不同的信息響應消息。
[0105]本發明提供的命令存儲方法,通過接收客戶端發送的用戶操作信息,將用戶操作信息存儲在外存儲器中,并向客戶端發送信息響應消息,以避免用戶操作信息在客戶端被更改或刪除,具有較高的安全性,同時,通過接收多個客戶端發送的用戶操作信息,進行統一存儲,方便了管理員同時對多個本地服務器的用戶操作信息進行管理以能夠及時發現問題,提高了管理員工作效率。
[0106]結合圖6或圖7所示實施例,圖8是本發明提供的一種命令存儲方法實施例七的流程示意圖,如圖8所示,在步驟601之前,還包括:
[0107]S801、判斷在預設時間間隔內,是否接收到客戶端發送的心跳信息;若是,則執行S802;若否,則執行S803;
[0108]S802、向客戶端發送心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器;
[0109]S803、發送連接異常告警消息,連接異常告警消息包括連接異常的客戶端的標識。
[0110]具體的,中心服務器判斷在預設時間間隔內,是否接收到客戶端發送的心跳信息,預設時間間隔可以由管理員設置。可選的,預設時間間隔通常較短,可以為I秒。當中心服務器每間隔I秒即接收到客戶端發送的心跳信息時,即可確認客戶端與中心服務器連接正常,客戶端一直保持在線。示例性的,心跳信息中可以包含客戶端的標識,時間信息等。
[0111]當接收到客戶端發送的心跳信息時,中心服務器執行步驟802,向客戶端發送心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器。
[0112]當未接收到客戶端發送的心跳信息時,中心服務器執行步驟803,發送連接異常告警消息,連接異常告警消息包括連接異常的客戶端的標識。可選的,示例性的,可以向管理員所持有的終端設備發送告警消息,也可向管理員的通信賬號所述登錄的終端設備發送告警消息。可選的,還可以通過揚聲器、報警燈等方式向管理員告警。終端設備可以為管理員登錄的服務器或手機、平板電腦等便攜設備。通信賬號可以為郵箱、手機號、聊天賬號等。可選的,連接異常警告消息包括客戶端的標識、時間等信息,用以方便管理員迅速確認出現連接異常的本地服務器。
[0113]可選的,在上述任一實施例的基礎上,在中心服務器將接收到的用戶操作信息存儲至外存儲器中之后,還包括:
[0114]判斷各用戶操作信息中的用戶輸入的操作命令是否符合存儲在中心服務器的外存儲器中的預設告警規則;
[0115]若是,則發送操作命令異常告警消息,操作命令異常告警消息包括違規的操作命令所屬的用戶操作信息。
[0116]具體的,中心服務器確定接收到的各用戶操作信息中的用戶輸入的操作命令是否符合預設告警規則,示例性的,中心服務器中設置有審核模塊,用以在接收到客戶端發送的用戶操作信息時,立即對用戶輸入的操作命令進行審核,以及時發現可能存在的違規操作。可選的,中心服務器中預存有管理員設置的預設告警規則,預設告警規則根據客戶端所對應的本地服務器、用戶的標識、操作命令、時間等設置,預設告警規則可以具體為常見的違規操作,當操作命令與預設告警規則相符時,可認為是違規操作。
[0117]當用戶輸入的操作命令符合預設告警規則時,中心服務器發送操作命令異常告警消息,示例性的,可以向管理員所持有的終端設備發送告警消息,也可向管理員的通信賬號所述登錄的終端設備發送告警消息。可選的,還可以通過揚聲器、報警燈等方式向管理員告警。終端設備可以為管理員登錄的服務器或手機、平板電腦等便攜設備。通信賬號可以為郵箱、手機號、聊天賬號等。操作命令異常告警消息包括違規的操作命令所屬的用戶操作信息,用以方便管理員快速確認出現違規操作的客戶端所對應的本地服務器、用戶等信息。
[0118]下面采用具體實施例,以一個客戶端為例,說明本發明提供的命令存儲方法。多個客戶端與中心服務的命令存儲方法與一個客戶端的情況類似,本發明不再贅述。
[0119]圖9是本發明提供的一種命令存儲方法實施例的信令流程圖,如圖9所示,包括:
[0120]S901、配置基礎信息;
[0121]具體的,管理員為中心服務器配置基礎信息,基礎信息包括預設告警規則,心跳信息的預設時間間隔等。
[0122]S902、發送預設時間間隔;
[0123]具體的,中心服務器向客戶端發送心跳信息的預設時間間隔,可選的,還包括中心服務器標識。
[0124]S903、發送心跳信息;
[0125]具體的,客戶端根據預設時間間隔向中心服務器發送心跳信息,步驟903可在一次操作命令存儲過程中執行多次。
[0126]S904、返回心跳響應消息;
[0127]具體的,中心服務器判斷是否在預設時間間隔內接收到客戶端發送的心跳信息,若是,則執行S904,向客戶端返回心跳響應消息;若否,則發送連接異常告警消息,操作命令存儲過程結束,需等待管理員確認問題,以恢復連接。
[0128]S905、監測用戶輸入的操作命令;
[0129]具體的,客戶端監測登陸到本地服務器中的用戶,并監測用戶輸入的操作命令。
[0130]S906、發送用戶操作信息;
[0131]示例性的,客戶端在監測到有用戶輸入操作命令后,將存儲在內存儲器中的操作命令、客戶端標識、用戶標識加密傳輸至中心服務器。
[0132]S907、返回信息響應消息;
[0133]具體的,中心服務器在接收到客戶端發送的用戶操作信息后,向客戶端返回信息響應消息,用以指示用戶操作信息已發送成功。示例性的,客戶端通過信息響應消息確認客戶端與中心服務器之間的連接正常,中心服務器通過心跳消息確認客戶端與中心服務器之間的連接正常。
[0134]S908、審核用戶操作信息;
[0135]具體的,中心服務器根據配置的預設告警規則對存戶的用戶輸入的操作命令進行審核,若未發現違規操作,則本次操作命令存儲過程結束;若發現違規操作,則發送操作命令異常告警消息,以提醒管理員進行查看。
[0136]本發明還提供一種客戶端和中心服務器、分別用以執行上述實施例中的命令存儲方法,具有相同的技術特征和技術效果,本發明對此不再贅述。
[0137]本發明另一方面提供一種客戶端,每個客戶端對應一個本地服務器,圖10是本發明提供的一種客戶端實施例一的結構示意圖,如圖10所示,包括:
[0138]監測模塊1001,用于在監測到至少一個用戶登錄到客戶端對應的本地服務器時,為每個用戶分配各自的監測進程,監測進程用于監測對應的用戶輸入的操作命令;
[0139]用戶操作信息發送模塊1002,用于在確定任一監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;
[0140]響應消息確認模塊1003,用于確認接收到中心服務器返回的信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器。
[0141]可選的,結合上述實施例,用戶操作信息發送模塊1002,包括:
[0142]用戶操作信息獲取單元,用于從本地服務器的內存儲器中讀取用戶輸入的操作命令,根據用戶輸入的操作命令、客戶端的標識以及用戶的標識確定用戶操作信息;其中,客戶端的標識根據如下中的至少一項確定:本地服務器的序列號、本地服務器的MAC地址、本地服務器的IP地址;
[0143]用戶操作信息加密發送單元,用于對用戶操作信息進行加密,將加密后的用戶操作信息發送給中心服務器。
[0144]可選的,在上述任一實施例的基礎上,圖11是本發明提供的一種客戶端實施例二的結構示意圖,如圖11所示,包括:
[0145]監測模塊1101,用于在監測到至少一個用戶登錄到客戶端對應的本地服務器時,為每個用戶分配各自的監測進程,監測進程用于監測對應的用戶輸入的操作命令;
[0146]用戶操作信息發送模塊1102,用于在確定任一監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;
[0147]響應消息判斷模塊1103,用于判斷是否接收到中心服務器返回的信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器;
[0148]響應消息存儲模塊1104,用于若在預設時長內,響應消息判斷模塊1103確認未接收到中心服務器返回的信息響應消息,則對用戶操作消息進行加密,得到加密后的用戶操作信息,將加密后的用戶操作消息存儲在外存儲器中;
[0149]用戶操作信息發送模塊1102,還用于在接收到中心服務器發送的任一消息時,從外存儲器中讀取加密后的用戶操作信息,并將加密后的用戶操作信息發送給中心服務器。
[0150]可選的,在上述實施例的基礎上,客戶端還包括:
[0151]心跳消息發送模塊,用于按照預設時間間隔向中心服務器發送心跳信息,以使中心服務器確定客戶端與中心服務器連接正常;
[0152]響應消息確認模塊1003還用于,確認接收到中心服務器返回的心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器。
[0153]本發明另一方面提供一種中心服務器,圖12是本發明提供的一種中心服務器實施例的結構示意圖,如圖12所示,包括:
[0154]用戶操作信息接收存儲模塊1201,用于接收至少一個客戶端發送的用戶操作信息,并將各用戶操作信息存儲至中心服務器的外存儲器中,各用戶操作信息包括用戶輸入的操作命令、客戶端的標識以及用戶的標識;
[0155]響應消息發送模塊1202,用于向各客戶端發送信息響應消息,信息響應消息用于指示用戶操作信息已送達中心服務器。
[0156]可選的,在上述實施例的基礎上,中心服務器還包括:
[0157]心跳信息判斷模塊,用于判斷在預設時間間隔內,是否接收到客戶端發送的心跳信息;
[0158]告警消息發送模塊,用于在未接收到客戶端發送的心跳信息時,發送連接異常告警消息,連接異常告警消息包括連接異常的客戶端的標識;
[0159]響應消息發送模塊還用于,在接收到客戶端發送的心跳信息時,向客戶端發送心跳響應消息,心跳響應消息用于指示心跳信息已送達中心服務器。
[0160]可選的,在上述實施例的基礎上,用戶操作信息接收存儲模塊1201包括:
[0161]解密單元,用于接收至少一個客戶端發送的加密后的用戶操作信息,對各加密后的用戶操作信息進行解密,得到解密后的用戶操作信息;
[0162]存儲單元,用于根據用戶的標識和/或客戶端的標識,將用戶輸入的操作命令存儲至中心服務器的外存儲器中。
[0163]可選的,在上述實施例的基礎上,中心服務器還包括:
[0164]用戶操作信息判斷模塊,用于判斷各用戶操作信息中的用戶輸入的操作命令是否符合存儲在中心服務器的外存儲器中的預設告警規則;
[0165]告警消息發送模塊還用于,在用戶輸入的操作命令符合預設告警規則時,發送操作命令異常告警消息,操作命令異常告警消息包括違規的操作命令所屬的用戶操作信息。
[0166]可選的,上述實施例中的用戶操作信息判斷模塊,可設置在中心服務器中,也可設置在中心服務器外部,通過網絡連接。當采用服務器端與客戶端相同通信時,用戶操作信息判斷模塊與服務器端為設置在中心服務器上的兩個不同模塊。
[0167]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0168]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0169]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0170]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,簡稱ROM)、隨機存取存儲器(Random Access Memory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0171]最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
【主權項】
1.一種命令存儲方法,其特征在于,應用于客戶端,每個客戶端對應一個本地服務器, 包括:在監測到至少一個用戶登錄到所述客戶端對應的本地服務器時,為每個所述用戶分配 各自的監測進程,所述監測進程用于監測對應的用戶輸入的操作命令;在確定任一所述監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作 信息,所述用戶操作信息包括所述用戶輸入的操作命令、所述客戶端的標識以及所述用戶 的標識;確認接收到所述中心服務器返回的信息響應消息,所述信息響應消息用于指示所述用 戶操作信息已送達所述中心服務器。2.根據權利要求1所述的方法,其特征在于,所述向中心服務器發送用戶操作信息,包 括:從所述本地服務器的內存儲器中讀取所述用戶輸入的操作命令,根據所述用戶輸入的 操作命令、所述客戶端的標識以及所述用戶的標識確定所述用戶操作信息;其中,所述客戶 端的標識根據如下中的至少一項確定:所述本地服務器的序列號、所述本地服務器的MAC地 址、所述本地服務器的IP地址;對所述用戶操作信息進行加密,將加密后的用戶操作信息發送給所述中心服務器。3.根據權利要求1或2所述的方法,其特征在于,若在預設時長內,確認未接收到所述中 心服務器返回的信息響應消息,所述方法還包括:對所述用戶操作消息進行加密,得到加密后的用戶操作信息,將所述加密后的用戶操 作消息存儲在外存儲器中;在接收到所述中心服務器發送的任一消息時,從所述外存儲器中讀取所述加密后的用 戶操作信息,并將所述加密后的用戶操作信息發送給所述中心服務器。4.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:按照預設時間間隔向所述中心服務器發送心跳信息,以使所述中心服務器確定所述客 戶端與所述中心服務器連接正常;確認接收到所述中心服務器返回的心跳響應消息,所述心跳響應消息用于指示所述心 跳信息已送達所述中心服務器。5.—種命令存儲方法,其特征在于,應用于中心服務器,包括:接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心 服務器的外存儲器中,各所述用戶操作信息包括所述用戶輸入的操作命令、客戶端的標識 以及所述用戶的標識;向各所述客戶端發送信息響應消息,所述信息響應消息用于指示用戶操作信息已送達 所述中心服務器。6.根據權利要求5所述的方法,其特征在于,所述接收至少一個客戶端發送的用戶操作 信息之前,還包括:判斷在預設時間間隔內,是否接收到所述客戶端發送的心跳信息;若是,則向所述客戶端發送心跳響應消息,所述心跳響應消息用于指示心跳信息已送 達所述中心服務器;若否,則發送連接異常告警消息,所述連接異常告警消息包括連接異常的客戶端的標識。7.根據權利要求5或6所述的方法,其特征在于,所述接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲在所述中心服務器的外存儲器中,包括: 接收至少一個客戶端發送的加密后的用戶操作信息,對各所述加密后的用戶操作信息進行解密,得到解密后的用戶操作信息; 根據所述用戶的標識和/或所述客戶端的標識,將所述用戶輸入的操作命令存儲至所述中心服務器的外存儲器中。8.根據權利要求5或6所述的方法,其特征在于,所述接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心服務器的外存儲器中之后,還包括: 判斷各所述用戶操作信息中的用戶輸入的操作命令是否符合存儲在所述中心服務器的外存儲器中的預設告警規則; 若是,則發送操作命令異常告警消息,所述操作命令異常告警消息包括違規的操作命令所屬的用戶操作信息。9.一種客戶端,其特征在于,每個客戶端對應一個本地服務器,包括: 監測模塊,用于在監測到至少一個用戶登錄到所述客戶端對應的本地服務器時,為每個所述用戶分配各自的監測進程,所述監測進程用于監測對應的用戶輸入的操作命令; 用戶操作信息發送模塊,用于在確定任一所述監測進程監測到用戶輸入的操作命令后,向中心服務器發送用戶操作信息,所述用戶操作信息包括所述用戶輸入的操作命令、所述客戶端的標識以及所述用戶的標識; 響應消息確認模塊,用于確認接收到所述中心服務器返回的信息響應消息,所述信息響應消息用于指示所述用戶操作信息已送達所述中心服務器。10.—種中心服務器,其特征在于,包括: 用戶操作信息接收存儲模塊,用于接收至少一個客戶端發送的用戶操作信息,并將各所述用戶操作信息存儲至所述中心服務器的外存儲器中,各所述用戶操作信息包括所述用戶輸入的操作命令、客戶端的標識以及所述用戶的標識; 響應消息發送模塊,用于向各所述客戶端發送信息響應消息,所述信息響應消息用于指示用戶操作信息已送達所述中心服務器。
【文檔編號】H04L12/26GK105959147SQ201610412456
【公開日】2016年9月21日
【申請日】2016年6月13日
【發明人】王繼宗, 于芝濤
【申請人】青島海信傳媒網絡技術有限公司