專利名稱:利用機群節(jié)點相互備份的容錯方法
技術領域:
本發(fā)明涉及一種冗余備份、用以提高機群系統(tǒng)的高可用性的方法,尤其是一種利用機群節(jié)點相互備份的容錯方法,屬于計算機網(wǎng)絡技術。
背景技術:
隨著網(wǎng)絡技術的發(fā)展,商業(yè)服務機群的需求不斷擴大。商業(yè)服務機群的特點是單個任務量較小,而并發(fā)的任務總量非常大;負載具有波動性、突發(fā)性等;在不同的任務之間具有一定的獨立性。商業(yè)服務機群的主要目標是提高系統(tǒng)吞吐能力,即在一定的時間內(nèi)完成盡可能多的任務。此外,商業(yè)應用對可用性有非常高的要求,關鍵的商業(yè)應用一般都要求7×24小時的連續(xù)不間斷運行;短暫的停機可能會造成無法估量的損失。因此,根據(jù)應用的要求,商業(yè)服務機群采用相應的高可用備份方式。
高可用機群中的服務器邏輯多為運行機和備份機;運行機和備份機可以是并行運行,也可以是一方運行,一方備份。節(jié)點之間采用多條心跳線連接;在發(fā)現(xiàn)節(jié)點出故障時,先經(jīng)過確認節(jié)點證實出故障后,再采取遷移該節(jié)點上的運用,而不影響用戶的使用。
在運行節(jié)點和備份節(jié)點之間通過冗余心跳線保證節(jié)點間異常狀態(tài)的診斷。應用程序所有的數(shù)據(jù)存放在共享的磁盤介質(獨立于節(jié)點服務器)中。為了保持數(shù)據(jù)的一致性,通過加鎖機制來控制對共享存儲的訪問。
目前,在大型的商務機群中,所有的服務可分為以下幾種1、只由一個節(jié)點提供的服務,該節(jié)點是單一故障點。該服務可以被其他所有的節(jié)點接管,即該服務對運行節(jié)點沒有特殊的要求,我們稱該類服務為單一服務。
2、由多個節(jié)點提供的服務,提供服務的節(jié)點運行相同的程序,共享相同的數(shù)據(jù)??梢匀螢楦鱾€節(jié)點是相同的拷貝。通常通過一個任務分發(fā)節(jié)點采用一些負載均衡策略,給這些節(jié)點分發(fā)用戶的服務請求,該類服務為多重服務。
3、對于一些服務,需要直接連接其他設備;例如存儲節(jié)點作為網(wǎng)絡文件系統(tǒng)服務(NFS Server)需要連接盤陣。這類的服務出現(xiàn)故障時,只能由與盤陣相連的節(jié)點來接管服務。因此,這類服務為專用服務。
當各種服務出現(xiàn)故障時,都應該有相應的接管措施。目前,為了保證各種服務的和應用的的高可用性,一般機群系統(tǒng)提供熱備份機制;例如多向備份,N+1備份,N+M備份以及層疊式備份、雙機系統(tǒng)等。
參見圖1,其為支持四個節(jié)點的多向恢復備份方式;即節(jié)點N1、-N4之間建立環(huán)狀連接,相互備份。參見圖2,其為支持多路運行節(jié)點由一個備份節(jié)點S1做故障恢復,其他的為普通節(jié)點,即N+1備份方式;備份機也可以不止一臺,即N+M備份;參見圖3,其為層疊式備份方式,多個節(jié)點N1-N5都是一個應用的備份,當運行節(jié)點(例如N1-N3)發(fā)生故障時,由下一個節(jié)點(例如N4)接替該節(jié)點,直至所有服務器都發(fā)生故障;參見圖4,其為雙機系統(tǒng),即節(jié)點N1和節(jié)點N2相互備份。
上述備份方式的最大缺點是需要大量的冗余設備;成本高,不能充分利用機群系統(tǒng)的資源。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種利用機群節(jié)點相互備份的容錯方法,通過機群中的節(jié)點相互備份來提高機群系統(tǒng)的可用性,充分利用節(jié)點資源,降低冗余備份的成本。
本發(fā)明的目的是這樣實現(xiàn)的一種利用機群節(jié)點相互備份的容錯方法,其特征在于機群節(jié)點間通過心跳環(huán)連接、相互通信和備份,至少包括節(jié)點加入機群以及節(jié)點故障的處理。
所述的節(jié)點至少包括服務應用(Services Applications)進程、節(jié)點服務監(jiān)測器(lifeguard)進程、節(jié)點執(zhí)行器(Executor)進程、故障接管模塊(Standby)進程和核心控制模塊(Commander)進程。
節(jié)點加入機群的處理具體包括如下的步驟步驟10新加入節(jié)點向主節(jié)點發(fā)出加入機群的請求;步驟11主節(jié)點收到請求后,分配新加入節(jié)點在機群中的位置,并返回新加入節(jié)點所承擔的服務信息;步驟12新加入節(jié)點逐一啟動服務所依賴的進程,并設置相應的服務IP;步驟13新加入節(jié)點通知主節(jié)點服務啟動的情況如果啟動失敗,主節(jié)點則選擇其他節(jié)點來啟動該服務;步驟14如果服務啟動成功,主節(jié)點標識該服務為啟動狀態(tài),并記錄提供服務的節(jié)點信息,便于在該節(jié)點發(fā)生故障時,及時將該節(jié)點上運行的所有服務遷移到該服務的備份節(jié)點上。
節(jié)點故障的處理具體包括步驟20當機群中節(jié)點的存活信息檢測(Heartbeat)進程發(fā)現(xiàn)相鄰節(jié)點出現(xiàn)異常時,向該相鄰節(jié)點的Executor進程發(fā)送確認包;步驟21該相鄰節(jié)點如果接收到故障確認包,則向自身的Lifeguard發(fā)送消息,檢查本節(jié)點上所有依賴進程的運行情況及資源使用情況;節(jié)點恢復正常后應答Heartbeat的確認包;步驟22如果發(fā)出確認包節(jié)點的Heartbeat無法與相鄰節(jié)點通訊,或者在規(guī)定時間內(nèi)沒有接受到該相鄰節(jié)點的應答,則向備份主節(jié)點的Commander進程發(fā)送消息,報告故障;步驟23主節(jié)點接收該消息,并分析該服務的類型,如果該服務是多重服務,則通知前置的任務分發(fā)節(jié)點停止向該故障節(jié)點發(fā)送任務;步驟24如果該故障是單一服務或專用服務,主節(jié)點為該故障服務根據(jù)各節(jié)點的負載信息在可支持改服務的節(jié)點中,選擇負載最輕的節(jié)點,并向給節(jié)點的Executor發(fā)送服務接管命令,接管故障服務;步驟25被選中作為故障服務接管節(jié)點收到接管信息,調用Standby模塊將故障服務在本節(jié)點上恢復,并通知節(jié)點服務監(jiān)測器重新獲取監(jiān)控的配置,對本節(jié)點上新增加的服務進程進行監(jiān)控。
節(jié)點故障的處理還進一步包括步驟26主節(jié)點發(fā)出命令,要求所有心跳環(huán)內(nèi)部所有節(jié)點是否正常,便于快速處理大面積節(jié)點故障。
主節(jié)點對故障服務進行接管的具體操作為步驟241主節(jié)點根據(jù)備份節(jié)點的優(yōu)先級和該節(jié)點當前的實際工作負載選擇相應的備份節(jié)點接管故障服務;步驟242主節(jié)點將接管命令發(fā)送給選定接管節(jié)點的Executor進程;步驟243接管節(jié)點的Executor調用Lifeguard模塊,啟動該服務的所有依賴進程,并設置相應的服務IP,然后通知Lifeguard監(jiān)控對本節(jié)點上新增加服務的進程進行監(jiān)控。
所述的服務至少具有機群提供該服務的IP地址、服務采用協(xié)議類型、用來檢查該服務是否能正常偵聽用戶請求服務的端口號、服務的類型、服務缺省運行的節(jié)點、服務的備選節(jié)點以及服務所依賴的進程及其啟停腳本的位置。
服務采用協(xié)議類型至少包括TCP和UDP兩類。所述的服務類型至少包括單一服務、多重服務以及專用服務。所述的缺省運行節(jié)點為該服務在機群所有節(jié)點正常運行時,應該提供該項服務的節(jié)點;當該節(jié)點處于不可用狀態(tài)時,該服務具有備份節(jié)點;當缺省運行節(jié)點排除故障并加入機群后,該服務即被遷移到缺省運行節(jié)點上運行。所述的備選節(jié)點至少為一個。
綜上所述,本發(fā)明通過機群中的節(jié)點相互備份,提高了機群系統(tǒng)的可用性,充分利用了機群中所有節(jié)點的資源,并且降低了冗余設備的成本。
圖1為現(xiàn)有技術中多向備份的系統(tǒng)結構示意圖;圖2為現(xiàn)有技術中N+1備份的系統(tǒng)結構示意圖;圖3為現(xiàn)有技術中層疊式備份的系統(tǒng)結構示意圖;圖4為現(xiàn)有技術中雙機系統(tǒng)的結構示意圖;圖5為本發(fā)明系統(tǒng)結構示意及故障處理流程圖;圖6為本發(fā)明一實施例的結構示意圖。
具體實施例方式以下通過具體的實施例和附圖對本發(fā)明的技術方案進行詳細說明在本發(fā)明中,定義一個服務至少需要以下屬性1.服務訪問的IP地址,機群提供該服務的IP地址;2.服務采用協(xié)議類型,主要分為TCP和UDP兩類;3.服務所偵聽的端口號,可用來檢查該服務是否能正常偵聽用戶的請求;4.服務的類型即該服務屬于單一服務、多重服務還是專用服務;5.服務缺省運行的節(jié)點該服務在機群所有節(jié)點正常運行時,應該提供該項服務的節(jié)點,該節(jié)點處于不可用狀態(tài),該服務有其他備份節(jié)點提供,但當缺省運行節(jié)點排除故障并加入機群后,服務將被遷移到缺省運行節(jié)點上運行。
6.服務的備選節(jié)點服務的備選節(jié)點可以有多個,某些服務甚至可以由機群中的所有其他節(jié)點作為備選節(jié)點,如主節(jié)點擔任管理協(xié)調機群工作以及機群故障接管的服務,所有的安裝了該程序的節(jié)點都可以提供該項服務而成為主節(jié)點。因此服務的備選節(jié)點可視為安裝了服務所需程序具備提供該服務能力的節(jié)點。在提供服務的節(jié)點出現(xiàn)故障時,主節(jié)點將根據(jù)所有該服務的備份節(jié)點的負載情況選擇一臺負載較輕的節(jié)點來接替故障節(jié)點的工作。
7. 服務所依賴的進程節(jié)點提供服務所依賴的進程,這些進程的啟停腳本的位置,當一個節(jié)點被選中提供服務時,該節(jié)點查詢該服務所依賴的所有進程,并通過該進程的啟動腳本和程序來運行該進程。
在本發(fā)明中,每個節(jié)點包括服務應用(Services Applications)進程、lifeguard(節(jié)點服務監(jiān)測器)進程、Executor(節(jié)點執(zhí)行器)進程、Standby(故障接管模塊)進程和Commander(核心控制模塊)進程。節(jié)點與節(jié)點之間通過以太網(wǎng)連接,由核心控制模塊(commander)將節(jié)點邏輯上組成心跳環(huán),各節(jié)點通過通過心跳檢測進程(heartbeat)相互通信。當啟動一個節(jié)點時,具體執(zhí)行的步驟為步驟10該節(jié)點向主節(jié)點的核心控制模塊(commander)發(fā)出加入機群系統(tǒng)的請求;步驟11主節(jié)點收到請求后,分配該節(jié)點在機群心跳環(huán)中的位置,并返回該節(jié)點所應承擔的服務信息;告訴該節(jié)點應該承擔哪些服務;步驟12該節(jié)點逐一啟動主節(jié)點分配的服務所依賴的進程,并設置相應的服務IP;步驟13通知主節(jié)點該服務啟動的情況成功或失敗,如果失敗,主節(jié)點會選擇別的節(jié)點來啟動該服務。
步驟14如果服務啟動成功,主節(jié)點將標識該服務為啟動狀態(tài),并記錄提供服務的節(jié)點信息,便于在該節(jié)點發(fā)生故障時,及時將該節(jié)點上運行的所有服務遷移到其他可用的節(jié)點上,即該服務的備份節(jié)點上。
參見圖5,當節(jié)點的Heartbeat發(fā)現(xiàn)相鄰節(jié)點出現(xiàn)異常時,其處理過程為
步驟20Heartbeat向相鄰節(jié)點的Executor進程發(fā)送確認包,確認相鄰節(jié)點是否發(fā)生故障;步驟21相鄰節(jié)點如果接收到故障確認包,向Lifeguard發(fā)送消息,檢查節(jié)點上所有依賴進程的運行情況及資源使用情況,節(jié)點恢復正常后應答Heartbeat的確認包;步驟22若Heartbeat無法與相鄰節(jié)點通訊,或者在規(guī)定時間內(nèi)沒有接受到相鄰節(jié)點的應答,就認為該相鄰節(jié)點已經(jīng)出現(xiàn)故障,則本節(jié)點向備份主節(jié)點的Commander進程發(fā)送消息,向主節(jié)點報告故障;步驟23主節(jié)點分析該服務的類型,如果該服務是多重服務,不需要接管該服務,只需要通知前置的任務分發(fā)節(jié)點,停止向該節(jié)點發(fā)送任務;步驟24如果故障是單一服務或專用服務,則需要對故障服務進行接管,先由主節(jié)點選擇備份節(jié)點接管故障服務,該備份節(jié)點可以運行服務的程序并代替故障節(jié)點提供服務,由于備份節(jié)點可有多個,則對所有的節(jié)點定義優(yōu)先級,首先選擇優(yōu)先級最高的備份節(jié)點作為接管節(jié)點,如果可選節(jié)點的優(yōu)先級相同,則根據(jù)各節(jié)點當前的實際工作負載信息選擇工作負載最輕的節(jié)點作為接管節(jié)點。主節(jié)點選定接管節(jié)點后,把接管命令發(fā)送給選定的接管節(jié)點上的Executor進程。被選中作為故障服務接管節(jié)點收到接管信息后,調用Standby模塊啟動該服務,對于每個服務,由用戶設定該服務要正常運行所需要啟動的進程,我們成為服務的依賴進程,同時,某個進程的啟動可能需要先啟動其他進程,這些進程又可視為該進程依賴進程,Standby模塊啟動服務時采用遞歸的方法,將該服務的所有進程啟動起來,設置相應的服務IP,將故障服務在本節(jié)點上恢復,并通知節(jié)點服務監(jiān)測器(Lifeguard)重新獲取監(jiān)控的配置,對本節(jié)點上新增加的服務進程進行監(jiān)控。
在機群中,由主節(jié)點將所有運行的節(jié)點構成多個心跳環(huán),這種結構便于擴展,每個心跳環(huán)中的第一個節(jié)點即成為該心跳環(huán)的組長節(jié)點。在故障服務恢復后,主節(jié)點向所有心跳環(huán)組長節(jié)點要求檢查各自心跳環(huán)內(nèi)部的節(jié)點是否正常,這有利于快速處理大面積節(jié)點故障的情況。
參見圖6,在機群中,輸入/輸出(Input/Output,簡稱I/O)節(jié)點直接與盤陣相連,因此,輸入/輸出節(jié)點IO1、IO2、IO3相互備份,作為網(wǎng)絡文件系統(tǒng)(Network File System,簡稱NFS)服務器(Server);其他所有服務節(jié)點通過輸入/輸出節(jié)點IO1、IO2、IO3訪問存儲設備—盤陣。本實施例包含了文件傳送/輸協(xié)議(File Transfer Protocol,簡稱ftp)服務,其由3個節(jié)點提供;Web服務,由節(jié)點WebServer1、WebServer2、WebServer3、WebServer4、WebServer5提供域名服務器(Domain Name Server,簡稱DNS)服務;郵件服務,其由2個節(jié)點Mail Server1、Mail Server2提供;數(shù)據(jù)庫服務,由2個數(shù)據(jù)庫服務器節(jié)點提供。請求分發(fā)器1(Dispatcher1)和請求分發(fā)器2(Dispatcher2)是負載均衡的前置任務分發(fā)節(jié)點。前置任務分發(fā)節(jié)點和文件傳送/輸協(xié)議服務運行在同一個節(jié)點上,如果文件傳送/輸協(xié)議服務所在的節(jié)點發(fā)生故障,將由其他節(jié)點接替節(jié)點Dispatcher1的工作,分發(fā)用戶的請求,同時通知任務分發(fā)節(jié)點停止向文件傳送/輸協(xié)議服務分發(fā)任務。
圖6中的DNS服務器DNS Server只由一個節(jié)點運行,在該節(jié)點出現(xiàn)故障時,由其他安裝了DNS程序的節(jié)點接管DNS服務。
輸入/輸出節(jié)點IO1為網(wǎng)絡文件系統(tǒng)服務器NFS Server的缺省運行節(jié)點,只有輸入/輸出節(jié)點IO2、IO3和數(shù)據(jù)庫服務器可以作為網(wǎng)絡文件系統(tǒng)服務器NFSServer服務的備份節(jié)點,因為這些節(jié)點與盤陣相連接,如果輸入/輸出節(jié)點IO1作為網(wǎng)絡文件系統(tǒng)服務器NFS Server運行,在輸入/輸出節(jié)點IO1發(fā)生故障后,主節(jié)點會在這些備份節(jié)點中選擇節(jié)點接替輸入/輸出節(jié)點IO1的工作。本實施例中,所有節(jié)點均可安裝主節(jié)點所需的程序,因此,機群中的任意節(jié)點都可以成為主節(jié)點。
在該系統(tǒng)中,Web服務,ftp服務和郵件服務都由多個節(jié)點同時提供,因此具有很好的擴展性,輸入/輸出節(jié)點的備份節(jié)點除了接管網(wǎng)絡文件系統(tǒng)服務器NFS Server的服務,還可作為其他服務的備份節(jié)點,這樣可以充分利用機群的資源,不需設置專用的冗余備份設備就可以實現(xiàn)系統(tǒng)多向備份,提高了機群的可用性。
最后應說明的是以上實施例僅用以說明本發(fā)明而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1.一種利用機群節(jié)點相互備份的容錯方法,其特征在于機群節(jié)點之間通過心跳環(huán)連接、相互通信和備份,至少包括節(jié)點加入機群以及節(jié)點故障的處理。
2.根據(jù)權利要求1所述的利用機群節(jié)點相互備份的容錯方法,其特征在于所述的節(jié)點至少包括服務應用(Services Applications)進程、節(jié)點服務監(jiān)測器(lifeguard)進程、節(jié)點執(zhí)行器(Executor)進程、故障接管模塊(Standby)進程和核心控制模塊(Commander)進程。
3.根據(jù)權利要求1所述的利用機群節(jié)點相互備份的容錯方法,其特征在于節(jié)點加入機群的處理具體包括如下的步驟步驟10新加入節(jié)點向主節(jié)點發(fā)出加入機群的請求;步驟11主節(jié)點收到請求后,分配新加入節(jié)點在機群中的位置,并返回新加入節(jié)點所承擔的服務信息;步驟12新加入節(jié)點逐一啟動服務所依賴的進程,并設置相應的服務IP;步驟13新加入節(jié)點通知主節(jié)點服務啟動的情況如果啟動失敗,主節(jié)點則選擇其他節(jié)點來啟動該服務;步驟14如果服務啟動成功,主節(jié)點標識該服務為啟動狀態(tài),并記錄提供服務的節(jié)點信息,便于在該節(jié)點發(fā)生故障時,及時將該節(jié)點上運行的所有服務遷移到該服務的備份節(jié)點上。
4.根據(jù)權利要求1所述的利用機群節(jié)點相互備份的容錯方法,其特征在于節(jié)點故障的處理具體包括步驟20當機群中節(jié)點的存活信息檢測(Heartbeat)進程發(fā)現(xiàn)相鄰節(jié)點出現(xiàn)異常時,向該相鄰節(jié)點的Executor進程發(fā)送確認包;步驟21該相鄰節(jié)點如果接收到故障確認包,則向自身的Lifeguard發(fā)送消息,檢查本節(jié)點上所有依賴進程的運行情況及資源使用情況;節(jié)點恢復正常后應答Heartbeat的確認包;步驟22如果發(fā)出確認包節(jié)點的Heartbeat無法與相鄰節(jié)點通訊,或者在規(guī)定時間內(nèi)沒有接受到該相鄰節(jié)點的應答,則向備份主節(jié)點的Commander進程發(fā)送消息,報告故障;步驟23主節(jié)點接收該消息,并分析該服務的類型,如果該服務是多重服務,則通知前置的任務分發(fā)節(jié)點停止向該故障節(jié)點發(fā)送任務;步驟24如果該故障是單一服務或專用服務,主節(jié)點為該故障服務根據(jù)各節(jié)點的負載信息在可支持改服務的節(jié)點中,選擇負載最輕的節(jié)點,并向給節(jié)點的Executor發(fā)送服務接管命令,接管故障服務;步驟25被選中作為故障服務接管節(jié)點收到接管信息,調用Standby模塊將故障服務在本節(jié)點上恢復,并通知節(jié)點服務監(jiān)測器重新獲取監(jiān)控的配置,對本節(jié)點上新增加的服務進程進行監(jiān)控。
5.根據(jù)權利要求4所述的利用機群節(jié)點相互備份的容錯方法,其特征在于節(jié)點故障的處理還進一步包括步驟26主節(jié)點發(fā)出命令,要求所有心跳環(huán)內(nèi)部所有節(jié)點是否正常,便于快速處理大面積節(jié)點故障。
6.根據(jù)權利要求4所述的利用機群節(jié)點相互備份的容錯方法,其特征在于主節(jié)點對故障服務進行接管的具體操作為步驟241主節(jié)點根據(jù)備份節(jié)點的優(yōu)先級和該節(jié)點當前的實際工作負載選擇相應的備份節(jié)點接管故障服務;步驟242主節(jié)點將接管命令發(fā)送給選定接管節(jié)點的Executor進程;步驟243接管節(jié)點的Executor調用Lifeguard模塊,啟動該服務的所有依賴進程,并設置相應的服務IP,然后通知Lifeguard監(jiān)控對本節(jié)點上新增加服務的進程進行監(jiān)控。
7.根據(jù)權利要求1或3或4或5或6所述的利用機群節(jié)點相互備份的容錯方法,其特征在于所述的服務至少具有機群提供該服務的IP地址、服務采用協(xié)議類型、用來檢查該服務是否能正常偵聽用戶請求服務的端口號、服務的類型、服務缺省運行的節(jié)點、服務的備選節(jié)點以及服務所依賴的進程及其啟停腳本的位置。
8.根據(jù)權利要求7所述的利用機群節(jié)點相互備份的容錯方法,其特征在于服務采用協(xié)議類型至少包括TCP和UDP兩類。
9.根據(jù)權利要求7所述的利用機群節(jié)點相互備份的容錯方法,其特征在于所述的服務類型至少包括單一服務、多重服務以及專用服務。
10.根據(jù)權利要求7所述的利用機群節(jié)點相互備份的容錯方法,其特征在于所述的缺省運行節(jié)點為該服務在機群所有節(jié)點正常運行時,應該提供該項服務的節(jié)點;當該節(jié)點處于不可用狀態(tài)時,該服務具有備份節(jié)點;當缺省運行節(jié)點排除故障并加入機群后,該服務即被遷移到缺省運行節(jié)點上運行。
11.根據(jù)權利要求7所述的利用機群節(jié)點相互備份的容錯方法,其特征在于所述的備選節(jié)點至少為一個。
全文摘要
一種利用機群節(jié)點相互備份的容錯方法,機群節(jié)點之間通過心跳環(huán)連接、相互通信和備份;主節(jié)點分配新加入節(jié)點在機群中的位置,并返回新加入節(jié)點所承擔的服務信息;新加入節(jié)點逐一啟動服務所依賴的進程,并設置相應的服務IP;如果啟動失敗,主節(jié)點則選擇其他節(jié)點來啟動該服務;當機群中節(jié)點發(fā)現(xiàn)相鄰節(jié)點異常時,向該相鄰節(jié)點進行確認;主節(jié)點對該故障服務進行接管;本發(fā)明通過機群中的節(jié)點相互備份,提高了機群系統(tǒng)的可用性,充分利用了機群中所有節(jié)點的資源,并且降低了冗余設備的成本。
文檔編號G06F11/07GK1512375SQ02159479
公開日2004年7月14日 申請日期2002年12月31日 優(yōu)先權日2002年12月31日
發(fā)明者李電森, 馮銳, 姜曉東, 肖利民 申請人:聯(lián)想(北京)有限公司