專利名稱:基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機工作狀態(tài)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及管理計算機工作狀態(tài)的方法,具體涉及一種基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機的工作狀態(tài)的方法。
背景技術(shù):
每個網(wǎng)絡(luò)中的計算機中都包括一個與網(wǎng)絡(luò)通信連接的網(wǎng)絡(luò)接口裝置,其可以用來接收/發(fā)送(網(wǎng)絡(luò))訪問數(shù)據(jù),因此,網(wǎng)絡(luò)接口裝置是計算機的其中一個輸入/輸出端口。 通常網(wǎng)絡(luò)接口裝置具體表現(xiàn)為網(wǎng)卡(Network Interface Card, NIC)或者集成于計算機主板上的網(wǎng)卡。通常情況下,根據(jù)計算的電源管理,對于兼容ACPI (AdvancedConfiguration and Power hterface,高級配置電源管理接口)的計算機系統(tǒng),其工作狀態(tài)大致可以分為以下七種(S0-S5、G3)狀態(tài)SO (或者為GO)是指計算機的正常工作狀態(tài),在SO狀態(tài),操作系統(tǒng)和應(yīng)用程序都在正常運行,CPU (中央處理器)執(zhí)行指令。該狀態(tài)下,功耗較高,一般會超過80W(瓦)。Gl為包括Si、S2、S3、S4四種狀態(tài)的睡眠狀態(tài),Si、S2、S3、S4四種狀態(tài)分布為Sl也稱為POS (Power On Suspend,電源掛起),是指計算機除了通過CPU時鐘控制器將CPU停止工作之外,其他主板連接設(shè)備(例如硬盤、內(nèi)存、芯片組等)仍然正常工作,功耗一般在30W以下(例如,有些CPU降溫軟件就是利用這種工作原理)。Sl狀態(tài)為最耗電的睡眠模式。處理器的所有寄存器被刷新,并且CPU停止執(zhí)行指令。CPU和內(nèi)存的電源一直維持著,一些設(shè)備如果沒有被使用那么就會被停止供電。這種模式通常指上電待機或者簡單叫做P0S,特別在BIOS設(shè)置界面上。S2是相比于Sl狀態(tài)的更深的睡眠狀態(tài),該狀態(tài)中,已經(jīng)不給CPU供電了 ;然而,通常這種模式并不常被采用。S3是指STR(Suspend to RAM,內(nèi)存掛起掛到內(nèi)存),也是使用者最長常用到的狀態(tài),STR就是把系統(tǒng)進入STR前的工作狀態(tài)數(shù)據(jù)都存放到內(nèi)存中去。在STR狀態(tài)下,主電路電源仍然繼續(xù)為內(nèi)存等最必要的設(shè)備供電,以確保數(shù)據(jù)不丟失,而其他設(shè)備均處于關(guān)閉狀態(tài),系統(tǒng)的耗電量極低。此時,內(nèi)存是幾乎唯一的有電源供給的部件。因為操作系統(tǒng)、所有應(yīng)用程序和被打開的文檔等等的狀態(tài)都是保存在主存儲器(例如內(nèi)存)中,一旦我們按下Power按鈕(主機電源開關(guān)),系統(tǒng)就被喚醒,馬上從內(nèi)存中讀取數(shù)據(jù)并恢復(fù)到STR之前的工作狀態(tài)(計算機從S3狀態(tài)回到SO時內(nèi)存的內(nèi)容和它進入S3狀態(tài)時候的內(nèi)容是相同的)。內(nèi)存的讀寫速度極快,因此我們感到進入和離開STR狀態(tài)所花費的時間不過是幾秒鐘而已,功耗一般不超過10W。相比以下說明的S4狀態(tài)來說,S3狀態(tài)有兩個好處(1)計算機恢復(fù)的過程比重啟要快;(2)如果任何正在運行的應(yīng)用程序(被打開的文檔等等)有私有信息在里面,這些信息是不會被寫到硬盤上的。然而,在S3狀態(tài)不能被喚醒時(例如遇到了電源故障的時候),高速緩沖存儲器可能會被轉(zhuǎn)儲清除(flush)來防止數(shù)據(jù)毀壞。S4也稱為STD (Suspend to Disk,掛到硬盤),是指系統(tǒng)主電源關(guān)閉,但是硬盤仍然帶電并可以被喚醒,此時內(nèi)存中信息被寫入硬盤中,所有部件停止工作。S4狀態(tài)也稱之為 “休眠(Hibernate)”狀態(tài)。在這個狀態(tài)下,所有主存儲器(例如內(nèi)存)的內(nèi)容被儲存在非揮發(fā)性存儲器,例如硬盤,保護操作系統(tǒng)當前的狀態(tài)(包括所有應(yīng)用程序,打開的文檔等)。 這意味著從S4喚醒恢復(fù)后,用戶可以恢復(fù)到原本的工作狀態(tài),采用的方法和S3是一樣的。 S4和S3之間的差異是(1)S4狀態(tài)把主存儲器中的內(nèi)容移進至硬盤或者從硬盤移出所消耗的時間長,因此喚醒的時間相對較長;( 在S3狀態(tài)下的時候如果一旦停電了,所有主存儲器(例如內(nèi)存)上的數(shù)據(jù)就會丟失,包括所有的沒有保存的文檔,而在S4狀態(tài)下則沒有影響。S4和其它的睡眠狀態(tài)有很大不同,事實上更類似于G2 (Soft Off,軟關(guān)機)狀態(tài)和 G3 (MechanicalOff,硬關(guān)機)狀態(tài)。在S4狀態(tài)下的系統(tǒng)同樣可進入G3 (Mechanical Off) 狀態(tài),并且保留S4時候的狀態(tài)信息。所以在關(guān)掉電源之后,它可以恢復(fù)到以前的運行狀態(tài)。S5也即G2,也稱為軟關(guān)機(Soft Off)。G2和G3 (Mechanical Off,硬關(guān)機)幾乎是相同的,但有些部件仍然帶電,使計算機仍然可以被鍵盤、時鐘、m0dem(電話喚醒)、LAN(網(wǎng)絡(luò)喚醒)還有USB設(shè)備所喚醒在啟動系統(tǒng)從G2恢復(fù)到GO正常工作模式的過程中,無論是 G3還是G2都必須運行啟動程序來啟動操作系統(tǒng)。G3 即硬關(guān)機(Mechanical Off)狀態(tài)。通常,計算機在運行程序或者接收外部訪問數(shù)據(jù)時,計算機必須處理正常工作狀態(tài)(so)。特別是對于用作服務(wù)器的計算機,服務(wù)器主要為其它網(wǎng)絡(luò)用戶提供訪問服務(wù),為使其它網(wǎng)絡(luò)用戶能隨時訪問該服務(wù)器,通常服務(wù)器是全天M小時處于正常工作狀態(tài)的,顯然,這不利于節(jié)能,并會縮短服務(wù)器的壽命?,F(xiàn)有的管理計算機的工作狀態(tài)的方法中,通常是通過監(jiān)測處于正常工作狀態(tài)的計算機的輸入/輸出裝置(例如鍵盤鼠標)是否接收操作命令而關(guān)鍵計算機的工作狀態(tài),例如,如果在預(yù)定時間范圍內(nèi),鍵盤鼠標沒有被動作以輸入操作命令,計算機將置于關(guān)機或者睡眠狀態(tài)。但是,現(xiàn)有的這種管理計算機的工作狀態(tài)的方法對于以提供訪問服務(wù)的計算機 (例如服務(wù)器)來說,顯然是不適合并難以達到節(jié)能的目的,比如,如果服務(wù)器因沒有接收操作命令時而使其進入睡眠狀態(tài),而這時外部網(wǎng)絡(luò)訪問并沒有終止,從而會有礙于網(wǎng)絡(luò)用戶的訪問。因此,通常服務(wù)器是全天24小時處于正常工作狀態(tài)。有鑒于此,有必要提出一種新型的尤其適用于類似于服務(wù)器類型的計算的、管理計算機工作狀態(tài)的方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機的工作狀態(tài)以降低計算機的能耗。為解決以上技術(shù)問題,本發(fā)明提供一種基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機工作狀態(tài)的方法,如果處于正常工作狀態(tài)的所述計算機的網(wǎng)絡(luò)接口裝置所接收的數(shù)據(jù)中、監(jiān)測到TCP 或者UDP端口在預(yù)定時間內(nèi)未接收到網(wǎng)絡(luò)訪問數(shù)據(jù),則管理計算機進入非正常工作狀態(tài)。作為較佳技術(shù)方案,所述網(wǎng)絡(luò)訪問數(shù)據(jù)為所述計算機用于所預(yù)定的網(wǎng)絡(luò)訪問數(shù)據(jù)。在進行監(jiān)測的同時,解析其網(wǎng)絡(luò)通信協(xié)議和/或者監(jiān)聽所述網(wǎng)絡(luò)訪問數(shù)據(jù)的來源的IP 地址,以監(jiān)測TCP或者UDP端口的訪問數(shù)據(jù)是否為所述預(yù)定的網(wǎng)絡(luò)訪問數(shù)據(jù)。
按照本發(fā)明的管理計算機工作狀態(tài)的方法的一個實施例方案,其還包括以下步驟(1)使用戶訪問數(shù)據(jù)到達非正常工作狀態(tài)計算機的網(wǎng)絡(luò)接口裝置;(2)通過網(wǎng)絡(luò)接口裝置中的TCP/IP協(xié)議解析模塊進行協(xié)議解析;(3)判斷是否符合開機或者喚醒的預(yù)定條件;(4)如果判斷為“是”,觸發(fā)計算機的主電路以開機或者喚醒所述計算機。較佳地,所述步驟(1)包括以下步驟(Ia)因特網(wǎng)用戶向所述計算機發(fā)送訪問數(shù)據(jù);(Ib)所述訪問數(shù)據(jù)經(jīng)過若干路由器后到達離所述計算機最近的路由器或者網(wǎng)關(guān);(Ic)所述計算機的網(wǎng)絡(luò)接口裝置回應(yīng)所述路由器或者網(wǎng)關(guān)的地址解析協(xié)議請求, 對應(yīng)找到所述計算機;(Id)判斷所述計算機是否處于正常工作狀態(tài),如果判斷為“否”,則進入步驟⑵。具體地,所述步驟⑷包括(4a)如果判斷為“是”,將所述訪問數(shù)據(jù)緩存于網(wǎng)絡(luò)接口裝置的存儲單元;(4b)觸發(fā)計算機的主電路以開機或者喚醒所述計算機。具體地,所述預(yù)定條件為檢測到單播、IP和TCP的某個端口的訪問數(shù)據(jù)或者特定形式的數(shù)據(jù)包;所述預(yù)定條件或者為檢測到單播、IP和UDP的某個端口的訪問數(shù)據(jù)或者特定形式的數(shù)據(jù)包。所述TCP/IP協(xié)議包包括網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP、UDP協(xié)議。所述TCP/IP協(xié)議包以包含于嵌入式程序模塊的形式存儲于所述存儲單元。較佳地,所述TCP/IP協(xié)議解析模塊包括存儲單元,可操作地用于存儲TCP/IP協(xié)議包;以及處理單元,可操作地用于解析處理外部因特網(wǎng)訪問數(shù)據(jù)的TCP/IP協(xié)議信息;其中,所述存儲單元和所述處理單元數(shù)據(jù)通信連接,所述網(wǎng)絡(luò)接口裝置在計算機處于非正常工作狀態(tài)時均可置于帶電狀態(tài)。具體地,所述存儲單元還可操作地用于存儲所述計算機的IP地址以及所述網(wǎng)絡(luò)接口裝置的MAC地址;所述存儲單元或者還可操作地用于存儲計算名稱、動態(tài)主機設(shè)置協(xié)議的配置信息以及服務(wù)集標識。所述存儲單元還可操作地用于存儲所述計算機的IP地址以及所述網(wǎng)絡(luò)接口裝置的MAC地址;所述存儲單元或者還可操作地用于存儲計算名稱、動態(tài)主機設(shè)置協(xié)議的配置信息以及服務(wù)集標識。較佳地,所述非正常工作狀態(tài)是S4休眠狀態(tài)或者S5關(guān)機狀態(tài)。S4休眠狀態(tài)相對于S3或者其它睡眠狀態(tài)是更為安全的休眠狀態(tài),即便發(fā)生斷電,計算機的狀態(tài)數(shù)據(jù)也是不會丟失。S5關(guān)機狀態(tài)下,僅使網(wǎng)絡(luò)接口裝置于帶電狀態(tài),因此更能實現(xiàn)計算機的省電,另外也不受由于篡改ACPI軟件的干擾而使得計算機系統(tǒng)不能進入休眠狀態(tài)(S1-S4)的困擾。本發(fā)明的技術(shù)效果是,計算機可以根據(jù)外部的訪問數(shù)據(jù)實現(xiàn)計算機的狀態(tài)管理, 使計算機處于未被訪問的閑置狀態(tài)時可以自動進入省電的非正常工作狀態(tài),并可以根據(jù)外部的后續(xù)訪問使計算機自動進入正常工作狀態(tài),從而大大節(jié)省能源消耗,并能延長計算機的使用壽命。
圖1是按照本發(fā)明一實施例提供的管理計算機工作狀態(tài)的方法;圖2是按照本發(fā)明實又一施例提供的管理計算機工作狀態(tài)的方法;圖3是按照本發(fā)明實施例提供的網(wǎng)絡(luò)接口裝置的結(jié)構(gòu)示意圖。
具體實施例方式下面介紹的是本發(fā)明的多個可能實施例中的一些,旨在提供對本發(fā)明的基本了解。并不旨在確認本發(fā)明的關(guān)鍵或決定性的要素或限定所要保護的范圍。以下所描述的關(guān)機狀態(tài)以及所附權(quán)利要求書中所指的關(guān)機狀態(tài)均是指背景技術(shù)中的S5關(guān)機狀態(tài)。圖1所示為按照本發(fā)明一實施例提供的管理計算機工作狀態(tài)的方法。在該實施例中,以計算機是為網(wǎng)絡(luò)用戶提供訪問服務(wù)的服務(wù)器為例,該服務(wù)器支持ACPI的計算機系統(tǒng),基本的管理計算機狀態(tài)的方法過程主要包括如圖1所示的以下步驟步驟S510,計算機處于正常工作狀態(tài)。該步驟中,假設(shè)計算機首先是處于正常工作狀態(tài)(背景技術(shù)中所描述的SO狀態(tài)), 在該狀態(tài)下,網(wǎng)絡(luò)用戶可以直接訪問該計算機。步驟S530,在計算機的網(wǎng)絡(luò)接口裝置接收的數(shù)據(jù)時,監(jiān)測TCP或者UDP端口所接收的訪問數(shù)據(jù)。該步驟中,可以通過軟件方法監(jiān)測網(wǎng)絡(luò)接口裝置的TCP或者UDP端口的訪問數(shù)據(jù)流量。例如,對于一臺開放WEB服務(wù)的計算機,對外的服務(wù)端口為TCP80和TCP443,監(jiān)測針對這兩個端口的訪問數(shù)據(jù);再例如,對于一臺供企業(yè)內(nèi)部使用的服務(wù)器計算機,可以監(jiān)聽訪問數(shù)據(jù)的來源IP。在較佳的實施例中,由于有些網(wǎng)絡(luò)訪問數(shù)據(jù)是可以忽略的(其不需要計算機是否處于正常工作狀態(tài)),計算機用戶可以將訪問數(shù)據(jù)限定為某些類型的預(yù)定訪問數(shù)據(jù),例如, 通常TCP心跳包等是不屬于預(yù)定訪問數(shù)據(jù)的,用于可以根據(jù)設(shè)定在監(jiān)測時舍棄該TCP心跳包的訪問數(shù)據(jù),TCP心跳包訪問數(shù)據(jù)不屬于影響計算機工作狀態(tài)的訪問數(shù)據(jù)范疇。在以上較佳的實施例中,在監(jiān)測的同時,也即接收到訪問數(shù)據(jù)時,計算機還可以同時解析其網(wǎng)絡(luò)通信協(xié)議,以監(jiān)測TCP或者UDP端口的訪問數(shù)據(jù)是否為預(yù)定訪問數(shù)據(jù);計算機還可以監(jiān)聽該訪問數(shù)據(jù)的來源IP地址,以監(jiān)測TCP或者UDP端口的訪問數(shù)據(jù)是否為預(yù)定訪問數(shù)據(jù)。對于一臺開放訪問服務(wù)的計算機,TCP端口可以是TCP端口 80,UDP端口可以是 UDP端口 5000。其中,網(wǎng)絡(luò)接口裝置可以為現(xiàn)有的普通網(wǎng)卡,也可以為以下圖3所示實施例的網(wǎng)絡(luò)接口裝置。步驟S550,判斷TCP或者UDP端口在預(yù)定時間內(nèi)是否接收到網(wǎng)絡(luò)訪問數(shù)據(jù)。在該步驟中,用戶可以選擇確定具體的預(yù)定時間的長短,例如,如果計算機被訪問的頻率較高時,預(yù)定時間可以設(shè)定較長(例如半個小時),從而避免頻繁地睡眠、喚醒(或者關(guān)機、開機);如果計算機被訪問的頻率較低時,預(yù)定時間可以設(shè)定較短(例如15分鐘)。如果所述端口未在預(yù)定時間內(nèi)接收到外部訪問數(shù)據(jù),證明該計算機處于空閑狀態(tài),因此進入步驟S570 ;如果所述端口在預(yù)定時間內(nèi)接收到了外部訪問數(shù)據(jù),證明該計算機處于被訪問狀態(tài),因此計算機必須保持正常工作狀態(tài),返回進入步驟S530,繼續(xù)監(jiān)測該計算機網(wǎng)絡(luò)接口裝置的TCP或者UDP端口。在較佳的實施例中,所述訪問數(shù)據(jù)可以為以上所述及的預(yù)定的訪問數(shù)據(jù),即使在預(yù)定時間內(nèi),計算機的網(wǎng)絡(luò)接口裝置接收到了非預(yù)定的訪問數(shù)據(jù)(例如TCP心跳包、來自限定的IP地址以外的訪問數(shù)據(jù)),計算機也被認定為處于空閑狀態(tài),因此進入步驟S570。步驟S570,計算機進入非正常工作狀態(tài)。在該步驟中,非正常工作狀態(tài)主要是指睡眠狀態(tài)或者關(guān)機狀態(tài),可以通過計算機主電路來使計算機進入睡眠狀態(tài)或者關(guān)機狀態(tài)。具體是否進入睡眠狀態(tài)還是關(guān)機狀態(tài),用戶可以具體選擇。通常S5關(guān)機狀態(tài)相對更為省電,S4的休眠狀態(tài)相對S3更為安全,即便發(fā)生斷電(例如停電),計算機原先的軟件運行狀態(tài)也不會丟失,供電恢復(fù)并被喚醒后,運行狀態(tài)能馬上恢復(fù)(因為狀態(tài)是保存在不揮發(fā)性存儲的硬盤中)。至此,該實施例的管理計算狀態(tài)的方法結(jié)束,通過以上方法,可以實現(xiàn)自動管理計算的狀態(tài),如果沒有外部訪問數(shù)據(jù)輸入時,計算機可以自動進入更加省電的睡眠或者關(guān)機狀態(tài)。需要說明的是,以上方法過程可以通過網(wǎng)絡(luò)接口裝置中的嵌入式軟件程序模塊實現(xiàn),也可以通過計算機主板上的CPU結(jié)合具體軟件程序?qū)崿F(xiàn)。圖1所示方法中實現(xiàn)了在計算機的自動關(guān)機或者睡眠,但是,在計算機在關(guān)機或者睡眠后,隨時會有外部的訪問數(shù)據(jù)發(fā)送至該計算機,此時,計算機必須恢復(fù)至正常工作狀態(tài)以實現(xiàn)計算機能提供正常的訪問服務(wù)。圖2所示為按照本發(fā)明實又一施例提供的管理計算機工作狀態(tài)的方法。在該實施例中,不但實現(xiàn)了根據(jù)訪問數(shù)據(jù)實現(xiàn)自動關(guān)機或者睡眠,也實現(xiàn)了根據(jù)訪問數(shù)據(jù)實現(xiàn)自動開機或者喚醒計算機。同樣,以目標計算機是服務(wù)器為例,其與因特網(wǎng)連接并向因特網(wǎng)用戶提供特定的服務(wù),在該服務(wù)器處于正常狀態(tài)時,因特網(wǎng)用戶的訪問數(shù)據(jù)是可以隨時到達該服務(wù)器并能由服務(wù)器處理該訪問數(shù)據(jù)。為節(jié)省能源,并延長服務(wù)器的使用壽命,在該實施例中,服務(wù)器用戶可以將服務(wù)器置于“關(guān)機”或者“睡眠”等非正常工作狀態(tài),例如,背景技術(shù)中所描述的Sl至S5的任一狀態(tài)。因此,在因特網(wǎng)用戶向該IP地址的服務(wù)器發(fā)送訪問數(shù)據(jù)時,有可能需要應(yīng)用本發(fā)明的自動開機或者喚醒服務(wù)器的方法。其中,步驟S510至步驟S517與圖1所示方法中相同,在此不再重復(fù)描述,圖2所示實施例的方法還包括以下S211至S270步驟步驟S211,因特網(wǎng)用戶向該計算機(例如服務(wù)器)發(fā)送訪問數(shù)據(jù)。在該步驟中,由于是基于因特網(wǎng)發(fā)送,因此訪問數(shù)據(jù)是以TCP/IP協(xié)議發(fā)送并傳輸?shù)模L問數(shù)據(jù)中包括目標計算機的IP地址。步驟S213,所述訪問數(shù)據(jù)經(jīng)過若干路由器后到達離該計算機最近的路由器或者網(wǎng)關(guān)。步驟S215,計算機的網(wǎng)絡(luò)接口裝置回應(yīng)所述路由器或者網(wǎng)關(guān)的ARP請求,對應(yīng)找到該計算機。在該步驟中,離該計算機最近的路由器或者網(wǎng)關(guān)會向計算機的網(wǎng)絡(luò)接口裝置發(fā)送地址解析協(xié)議(ARP)請求,例如以廣播的形式廣播ARP請求報文;傳統(tǒng)技術(shù)中,如果計算機關(guān)機以后,網(wǎng)絡(luò)接口裝置中不再保存有該計算機的IP地址也不回應(yīng)ARP請求,因此,ARP請求得不到回答,因此,需要在路由器或者網(wǎng)關(guān)上作復(fù)雜的設(shè)置才可能成功找到該計算機。在該實施例中,計算機的網(wǎng)絡(luò)接口裝置包括用于該計算機在“非正常工作狀態(tài)下”解析外部因特網(wǎng)訪問數(shù)據(jù)的TCP/IP協(xié)議解析模塊,因此,即使計算機處于關(guān)機狀態(tài),網(wǎng)絡(luò)接口裝置中也總是存有該計算機的MAC地址和IP地址,也還可以存儲計算機名稱,(host name)、甚至DHCP(Dynamic Host Configuration Protocol,動態(tài)主機設(shè)置協(xié)議)的配置信息以及 SSID(采用無線網(wǎng)絡(luò)接口裝置時存儲SSID) (krvice Set Identifier,服務(wù)集標識),從而可以正確回應(yīng)ARP請求,使得訪問該計算機的數(shù)據(jù)可以被正確地發(fā)送到該計算機網(wǎng)絡(luò)接步驟S217,判斷所述計算機是否處于正常工作狀態(tài)。如果判斷為“是”,則按照正常的訪問程序進行,該計算機可以直接處理該訪問數(shù)據(jù);如果判斷為“否”,進入步驟S230。以上步驟S211至步驟S217,可以實現(xiàn)用戶訪問數(shù)據(jù)到達非正常工作狀態(tài)計算機的網(wǎng)絡(luò)接口裝置。步驟S230,通過網(wǎng)絡(luò)接口裝置中的TCP/IP協(xié)議解析模塊進行協(xié)議解析。在該步驟中,網(wǎng)絡(luò)接口裝置調(diào)用存儲單元中的TCP/IP協(xié)議解析程序模塊,網(wǎng)絡(luò)接口裝置的處理單元從而可操作地實現(xiàn)解析處理外部因特網(wǎng)訪問數(shù)據(jù)中的TCP/IP協(xié)議信息。TCP/IP協(xié)議解析程序模塊中通常是包含TCP/IP協(xié)議包,該TCP/IP協(xié)議包包括網(wǎng)絡(luò)層的IP協(xié)議以及傳輸層的TCP協(xié)議和UDP協(xié)議等。因此,實現(xiàn)了訪問數(shù)據(jù)的第三層和/或第四層的數(shù)據(jù)解析處理,而并不限于第一層(物理層)和第二層(數(shù)據(jù)鏈路層)的數(shù)據(jù)處理。步驟S250,判斷是否符合開機或者喚醒的預(yù)定條件。在該步驟中,預(yù)定條件可以在以上所述的存儲單元中的程序模塊中設(shè)定,例如,當檢測到單播、IP、TCP和UDP的某個端口的訪問數(shù)據(jù)時(甚至某種特的數(shù)據(jù)包),作為開機或者喚醒的預(yù)定條件。在又一實施例中, 預(yù)定條件還可以為檢測到特定形式的TCP數(shù)據(jù)包,例如,對于一臺開放WEB服務(wù)的計算機, 可以將TCP端口 80和端口 443的數(shù)據(jù)訪問設(shè)置為開機喚醒條件。當檢測到訪問數(shù)據(jù)包是 TCP而且指向端口 80或443時(這些信息包含在特定形式的TCP數(shù)據(jù)包內(nèi)),該計算機就被喚醒或開機;當然我們還可以設(shè)置更復(fù)雜的開機喚醒條件,除了要求數(shù)據(jù)包目的地指向本機的80或443端口,還檢查數(shù)據(jù)包的來源IP地址,只有當來源IP地址符合預(yù)設(shè)的條件才執(zhí)行開機或喚醒(對于一些只對企業(yè)內(nèi)部開放的服務(wù)可以這樣設(shè)置,企業(yè)內(nèi)部不同部門的出口 IP地址是預(yù)先知道的)。在再一實施例中,開機或者喚醒的預(yù)定條件為檢測到單播、 IP和UDP的某個端口的訪問數(shù)據(jù)或者特定形式(pattern)的UDP數(shù)據(jù)包。如果判斷為“是”,則進入步驟S251 ;如果判斷為“否”,則不作處理,因特網(wǎng)用戶的此次訪問失敗。步驟S251,將該訪問數(shù)據(jù)緩存于網(wǎng)絡(luò)接口裝置的存儲單元。由于用戶訪問數(shù)據(jù)可能較大,而觸發(fā)計算機主電路開機或者喚醒需要一定的時間,因此,優(yōu)選地,可以執(zhí)行該步驟。在該步驟中,網(wǎng)絡(luò)接口裝置的存儲單元可以是之前步驟所使用的同一存儲單元。因此,對該發(fā)明的存儲單元,其存儲容量有一定要求,例如,存儲單元的存儲容量范圍為IM到100M(根據(jù)需要可以具體需要可以選擇另外擴充)。步驟S270,觸發(fā)計算機主電路以開機或喚醒所述計算機。此步驟后,計算機可以正常處理該訪問數(shù)據(jù)。在此,對物理層和數(shù)據(jù)鏈路層的具體數(shù)據(jù)處理過程可參考現(xiàn)有的網(wǎng)絡(luò)通信過程中的處理過程,從而不再作詳細描述。至此,可以實現(xiàn)根據(jù)外部網(wǎng)絡(luò)用戶訪問數(shù)據(jù)實現(xiàn)對計算機自動關(guān)機或者睡眠、以及自動開機或者喚醒。需要說明的是,通過圖1所示方法實施例將計算機關(guān)機或者睡眠后,盡管可以結(jié)合圖2所示方法中的喚醒或者開機方法恢復(fù)計算機至正常工作狀態(tài),但是,并不限于圖2所示方法中的喚醒或者開機方法。通過圖1所示方法實施例將計算機關(guān)機或者睡眠后,也還可以通過其它方法進行喚醒或者開機,例如最直接的人工開機的方法。圖3所示為按照本發(fā)明實施例提供的網(wǎng)絡(luò)接口裝置的結(jié)構(gòu)示意圖。如圖3所示, 在該實施例中,網(wǎng)絡(luò)接口裝置300是通過主板上的PCI插槽插置于計算機主板30上,但是需要說明的是,網(wǎng)絡(luò)接口裝置300與計算機的連接方式并不限于此,例如,還可以通過USB 接口連接,也可以直接集成于計算機主板上。網(wǎng)絡(luò)接口裝置300適用于TCP/IP協(xié)議的數(shù)據(jù)處理。繼續(xù)如圖3所示,在該具體實施例中,網(wǎng)絡(luò)接口裝置300不但包括物理層控制模塊 330、MAC控制模塊320、數(shù)據(jù)總線;340、PCI接口 350,并且還包括處理單元311和存儲單元 312。其中,存儲單元312可操作地用于存儲TCP/IP協(xié)議包,優(yōu)選地,TCP/IP協(xié)議包可以以包含于程序模塊中的形式被寫入存儲單元312中,例如,該程序模塊為一嵌入式軟件,根據(jù)外部訪問數(shù)據(jù)的指令可以使處理單元執(zhí)行該程序。TCP/IP協(xié)議包通常包括第三層(網(wǎng)絡(luò)層)和第四層(傳輸層)的協(xié)議,例如,包括網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP、UDP協(xié)議等。 存儲單元312優(yōu)選地為非揮發(fā)存儲器。在具體實例中,處理單元311—般是不同于主板上的主CPU。主板上的主CPU負責(zé)用于運行大量的程序代碼,因此其運行速度、頻率以及功耗都相對較高,結(jié)構(gòu)也更復(fù)雜。但是,處理單元311主要用于解析處理外部因特網(wǎng)訪問數(shù)據(jù)的TCP/IP協(xié)議信息,該解析處理過程通過網(wǎng)絡(luò)接口裝置中嵌入式程序操作實現(xiàn),因此,其選擇運行速度低、處理頻率相對較低、結(jié)構(gòu)簡單且功耗低的小型處理器,具體地,處理單元311可以是CPU、MPU、MCU等本領(lǐng)域普通技術(shù)人員熟知的處理器。例如MIPS或ARM處理器。其中,處理單元311可以相對于主板上的主CPU獨立工作。繼續(xù)如圖3所示,處理單元311通過數(shù)據(jù)總線340與存儲單元312數(shù)據(jù)通信連接, 在其它實施例中,存儲單元312也可以以其它形式和處理單元數(shù)據(jù)通信連接。處理單元311 可以根據(jù)因特網(wǎng)的外部訪問數(shù)據(jù)(其是基于TCP/IP協(xié)議傳輸?shù)?的指令,調(diào)用存儲單元 312中的包含TCP/IP協(xié)議包的程序,實現(xiàn)對網(wǎng)絡(luò)層和傳輸層協(xié)議的解析處理。因此,該網(wǎng)絡(luò)接口裝置300可是實現(xiàn)OSI層第三層和第四層協(xié)議的TCP/IP協(xié)議解析。繼續(xù)如圖3所示,網(wǎng)絡(luò)接口裝置300還包括電源管理模塊,該電源管理模塊可以是計算機的電源管理模塊的一部分,也可以是獨立的一部分。在該實施例中,計算機的電源模塊是與電源電連接的(即計算機的主機電源是與電源插座或者電池等電源存儲裝置接通的)。通過電源管理模塊,可以實現(xiàn)從計算機電源對網(wǎng)絡(luò)接口裝置300實現(xiàn)供電,尤其是在計算機處于非正常工作狀態(tài)的休眠狀態(tài)(S4)或者關(guān)機狀態(tài)(S5)時,也可以使網(wǎng)絡(luò)接口裝置300置于帶電狀態(tài),從而,特別是在關(guān)機狀態(tài)下,網(wǎng)絡(luò)接口裝置300的自治處理能力提高。 因此,該實施例的網(wǎng)絡(luò)接口 300裝置尤其適用于根據(jù)圖2所示方法對休眠狀態(tài)(S4)的計算機進行網(wǎng)絡(luò)喚醒、或者對關(guān)機狀態(tài)(SQ的計算機進行網(wǎng)絡(luò)開機。由此可見,圖3中所示實施例中的處理單元311和存儲單元312構(gòu)成了該網(wǎng)絡(luò)接口裝置300的TCP/IP協(xié)議解析模塊的主要組成部分,TCP/IP協(xié)議解析模塊可用于所述計算機在非正常工作狀態(tài)下(特別是在S5關(guān)機狀態(tài)下)解析外部因特網(wǎng)的訪問數(shù)據(jù)的TCP/IP 協(xié)議信息,通常情況下,TCP/IP協(xié)議解析模塊的功能的完成是不依賴于主操作系統(tǒng)的(例如Windows操作系統(tǒng)),其是通過網(wǎng)絡(luò)接口裝置的嵌入式系統(tǒng)在處理單元311和存儲單元 312的結(jié)合運行來實現(xiàn)。繼續(xù)如圖3所示,物理層控制模塊330主要用于實現(xiàn)物理層的功能、例如定義數(shù)據(jù)傳送與接收所需要的電與光信號、線路狀態(tài)、時鐘基準、數(shù)據(jù)編碼。具體地,物理層控制模塊 330可以包括發(fā)送器、接收器、曼徹斯特編譯碼器等等;MAC控制模塊320主要用于實現(xiàn)數(shù)據(jù)鏈路層的功能,例如,提供尋址機構(gòu)、數(shù)據(jù)幀的構(gòu)建、數(shù)據(jù)差錯檢查、傳送控制、向網(wǎng)絡(luò)層提供標準的數(shù)據(jù)接口等,在該實施例中,MAC控制模塊320與物理層控制模塊330、數(shù)據(jù)總線 340數(shù)據(jù)通信連接,網(wǎng)線接口輸入數(shù)據(jù)指令至物理層控制模塊330。需要說明的是,該發(fā)明的網(wǎng)絡(luò)接口裝置同樣適用于無線網(wǎng)絡(luò)通信,因此,物理層控制模塊330的接收器和發(fā)送器可以分別接收或者發(fā)送無線信號。另外,在較佳實施例中,處理單元311和存儲單元312也可以輔助于MAC控制模塊320和物理層控制模塊330分別實現(xiàn)其功能,從而MAC控制模塊 320和物理層控制模塊330中可以不再包括有處理器和存儲器。例如,存儲單元312還存儲有計算機的IP地址以及MAC地址等。繼續(xù)如圖3所示,PCI接口 350用于實現(xiàn)網(wǎng)絡(luò)接口裝置300和計算機主板30之間的數(shù)據(jù)通信,PCI接口 350是與數(shù)據(jù)總線340直接連接的,需要說明的是,總線類型不受本發(fā)明實施例限制。需要說明的是,以上圖3所示的網(wǎng)絡(luò)接口裝置300的中的各個功能模塊的連接形式并不限于圖中所示。在又一實施例中,網(wǎng)絡(luò)接口裝置包括現(xiàn)有的不帶處理單元的網(wǎng)卡, 還包括處理單元311和存儲單元312 —起所形成的單獨裝置,該單獨裝置并不是與該網(wǎng)卡集成在一起,而是通過數(shù)據(jù)線等與網(wǎng)卡連接。因此,易于實現(xiàn)對現(xiàn)有的計算機的網(wǎng)卡進行改造,以形成該發(fā)明的網(wǎng)絡(luò)接口裝置。具體地,包括處理單元311和存儲單元312的單獨裝置可以集成于計算機的主板中;處理單元311是不同于計算機的主CPU,存儲單元312不同于計算機主板上的內(nèi)存單元;處理單元311和存儲單元312集成于主板上時,其在計算機處于非正常工作狀態(tài)時通過電源管理模塊使其也置于帶電狀態(tài)。需要說明的是,以上所描述的開機或喚醒方法及其網(wǎng)絡(luò)接口裝置更適應(yīng)于處于S4 休眠狀態(tài)下的計算機進行喚醒、或者更適應(yīng)于處于S5關(guān)機狀態(tài)下的計算機進行開機。這是由于相對于S3睡眠狀態(tài),S4狀態(tài)是更為安全的睡眠狀態(tài),計算機的狀態(tài)數(shù)據(jù)是保存在硬盤中(不揮發(fā)性存儲),即使發(fā)生斷電(例如停電故障),計算機的狀態(tài)數(shù)據(jù)也是不會丟失;而 S5關(guān)機狀態(tài)下,僅使網(wǎng)絡(luò)接口裝置于帶電狀態(tài),因此更能實現(xiàn)計算機的省電,另外也不受由于篡改ACPI軟件的干擾而使得計算機系統(tǒng)不能進入休眠狀態(tài)(S1-S4)的困擾。。并且在現(xiàn)實應(yīng)用中,更多情況下,服務(wù)器或者普通用戶的計算機是處于S5的關(guān)機狀態(tài),從而需要遠程用戶的訪問數(shù)據(jù)來自動實現(xiàn)開機。由上述可知,該網(wǎng)絡(luò)接口裝置300可以在計算機處于非正常工作狀態(tài)(尤其是S5 關(guān)機狀態(tài))下,實現(xiàn)對第二層以上的TCP/IP協(xié)議信息進行解析,從而可以自動地實現(xiàn)網(wǎng)絡(luò)開機或者喚醒處理非正常工作狀態(tài)的計算機,使用該網(wǎng)絡(luò)接口裝置的計算機可以方便地被遠程用戶開機或者喚醒,計算機可以在未被訪問或使用狀態(tài)下可置于節(jié)能的非正常工作狀態(tài),大大節(jié)省能源消耗,并能延長計算機的使用壽命。另外本發(fā)明還提供一種計算機,其包括如圖3所示的網(wǎng)絡(luò)接口裝置300。網(wǎng)絡(luò)接口裝置300可以通過PCI插口等與該計算機的主板30數(shù)據(jù)通信連接。使用該網(wǎng)絡(luò)接口裝置的計算機可以自動地實現(xiàn)網(wǎng)絡(luò)開機或者喚醒處理。以上例子主要說明了本發(fā)明的管理計算機工作狀態(tài)的方法。盡管只對其中一些本發(fā)明的實施方式進行了描述,但是本領(lǐng)域普通技術(shù)人員應(yīng)當了解,本發(fā)明可以在不偏離其主旨與范圍內(nèi)以許多其他的形式實施。因此,所展示的例子與實施方式被視為示意性的而非限制性的,在不脫離如所附各權(quán)利要求所定義的本發(fā)明精神及范圍的情況下,本發(fā)明可能涵蓋各種的修改與替換。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機工作狀態(tài)的方法,其特征在于,如果處于正常工作狀態(tài)的所述計算機的網(wǎng)絡(luò)接口裝置所接收的數(shù)據(jù)中、監(jiān)測到TCP或者UDP端口在預(yù)定時間內(nèi)未接收到網(wǎng)絡(luò)訪問數(shù)據(jù),則管理計算機進入非正常工作狀態(tài)。
2.如權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)訪問數(shù)據(jù)為所述計算機用于所預(yù)定的網(wǎng)絡(luò)訪問數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于,在進行監(jiān)測的同時,解析其網(wǎng)絡(luò)通信協(xié)議和 /或者監(jiān)聽所述網(wǎng)絡(luò)訪問數(shù)據(jù)的來源的IP地址,以監(jiān)測所述TCP或者UDP端口的訪問數(shù)據(jù)是否為所述預(yù)定的網(wǎng)絡(luò)訪問數(shù)據(jù)。
4.如權(quán)利要求1或2或3所述的方法,其特征在于,還包括以下步驟(1)使用戶訪問數(shù)據(jù)到達非正常工作狀態(tài)計算機的網(wǎng)絡(luò)接口裝置;(2)通過網(wǎng)絡(luò)接口裝置中的TCP/IP協(xié)議解析模塊進行協(xié)議解析;(3)判斷是否符合開機或者喚醒的預(yù)定條件;(4)如果判斷為“是”,觸發(fā)計算機的主電路以開機或者喚醒所述計算機。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟(1)包括以下步驟(Ia)因特網(wǎng)用戶向所述計算機發(fā)送訪問數(shù)據(jù);(Ib)所述訪問數(shù)據(jù)經(jīng)過若干路由器后到達離所述計算機最近的路由器或者網(wǎng)關(guān);(Ic)所述計算機的網(wǎng)絡(luò)接口裝置回應(yīng)所述路由器或者網(wǎng)關(guān)的地址解析協(xié)議請求,對應(yīng)找到所述計算機;(Id)判斷所述計算機是否處于正常工作狀態(tài),如果判斷為“否”,則進入步驟O)。
6.如權(quán)利要求4所述的方法,其特征在于,所述步驟(4)包括(4a)如果判斷為“是”,將所述訪問數(shù)據(jù)緩存于網(wǎng)絡(luò)接口裝置的存儲單元;(4b)觸發(fā)計算機的主電路以開機或者喚醒所述計算機。
7.如權(quán)利要求4所述的方法,其特征在于,所述預(yù)定條件為檢測到單播、IP和TCP的某個端口的訪問數(shù)據(jù)或者特定形式的數(shù)據(jù)包;所述預(yù)定條件或者為檢測到單播、IP和UDP的某個端口的訪問數(shù)據(jù)或者特定形式的數(shù)據(jù)包。
8.如權(quán)利要求4所述的方法,其特征在于,所述TCP/IP協(xié)議包包括網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP、UDP協(xié)議。
9.如權(quán)利要求4所述的方法,其特征在于,所述TCP/IP協(xié)議解析模塊包括存儲單元,可操作地用于存儲TCP/IP協(xié)議包;以及處理單元,可操作地用于解析處理外部因特網(wǎng)訪問數(shù)據(jù)的TCP/IP協(xié)議信息;其中,所述存儲單元和所述處理單元數(shù)據(jù)通信連接,所述網(wǎng)絡(luò)接口裝置在計算機處于非正常工作狀態(tài)時均可置于帶電狀態(tài)。
10.如權(quán)利要求1或4或5所述的方法,其特征在于,所述非正常工作狀態(tài)是S4休眠狀態(tài)或者S5關(guān)機狀態(tài)。
全文摘要
本發(fā)明提供一種基于網(wǎng)絡(luò)訪問數(shù)據(jù)管理計算機工作狀態(tài)的方法,屬于計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域。該方法中,如果處于正常工作狀態(tài)的所述計算機的網(wǎng)絡(luò)接口裝置所接收的數(shù)據(jù)中、監(jiān)測到TCP或者UDP端口在預(yù)定時間內(nèi)未接收到網(wǎng)絡(luò)訪問數(shù)據(jù),則管理計算機進入非正常工作狀態(tài)。該方法能大大節(jié)省計算機的能源消耗,并能延長計算機的使用壽命。
文檔編號H04L29/06GK102299818SQ20101022035
公開日2011年12月28日 申請日期2010年6月23日 優(yōu)先權(quán)日2010年6月23日
發(fā)明者伍芃華, 王彬 申請人:蘇州彭華信息技術(shù)有限公司