本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種同步方法、設(shè)備及系統(tǒng)。
背景技術(shù):隨著服務(wù)器領(lǐng)域的技術(shù)發(fā)展,帶外管理系統(tǒng)已經(jīng)成為整個(gè)系統(tǒng)中一個(gè)不可或缺的組成部分,為了保證管理系統(tǒng)的可用性,目前業(yè)界都對(duì)管理服務(wù)器采用了主備“1+1”的備份方案。在主備技術(shù)中,如何保證主機(jī)與備機(jī)在數(shù)據(jù)上和狀態(tài)上保持一致,是一個(gè)關(guān)鍵的問題,特別是在服務(wù)器領(lǐng)域中,管理服務(wù)器承擔(dān)著對(duì)整個(gè)系統(tǒng)的狀態(tài)分析和監(jiān)控的職能,這樣的分析需要參考系統(tǒng)的歷史數(shù)據(jù),如果存在主機(jī)與備機(jī)數(shù)據(jù)不一致的問題,將導(dǎo)致對(duì)系統(tǒng)狀態(tài)分析和預(yù)測(cè)的不確定,這樣會(huì)大大降低整個(gè)系統(tǒng)的RAS(Reliability、Availability、Stability,可靠性、可用性、穩(wěn)定性)特性?,F(xiàn)有技術(shù)中的主機(jī)與備機(jī)同步方法為文件同步與內(nèi)存同步,其中文件同步包括配置文件同步與周期同步。配置文件同步為主機(jī)文件被操作后,主機(jī)將被操作后的配置文件同步到備機(jī);周期同步為每隔設(shè)定好的周期,例如一分鐘,主機(jī)將所有被操作后的配置文件同步到備機(jī)。內(nèi)存同步為主機(jī)將內(nèi)存中維護(hù)的數(shù)據(jù)信息同步到備機(jī)上,備機(jī)將同步的數(shù)據(jù)存儲(chǔ)到指定的內(nèi)存。在這樣的同步方式中配置文件中的一個(gè)選項(xiàng)的操作,需要主機(jī)與備機(jī)進(jìn)行整個(gè)配置文件的同步,或者內(nèi)存中一個(gè)數(shù)據(jù)信息的操作,需要主機(jī)與備機(jī)進(jìn)行相應(yīng)所有數(shù)據(jù)模塊的同步,會(huì)造成一些不必要的數(shù)據(jù)也進(jìn)行了同步,即過量同步。在實(shí)現(xiàn)上述主機(jī)與備機(jī)同步的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:主機(jī)與備機(jī)進(jìn)行的同步中存在過量同步,主機(jī)與備機(jī)同步時(shí),需要傳輸大量的數(shù)據(jù),增加了系統(tǒng)的工作量,降低了系統(tǒng)的可靠性與可操作性。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例提供一種同步方法、設(shè)備及系統(tǒng),減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:第一方面,提供一種同步方法,其特征在于:主機(jī)獲取操作指令;所述主機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作;所述主機(jī)將所述操作指令發(fā)送至備機(jī)。結(jié)合第一方面所述的同步方法,在第一種可能的實(shí)現(xiàn)方式中,所述主機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,具體包括:所述主機(jī)將所述操作指令放入所述主機(jī)的請(qǐng)求隊(duì)列;所述主機(jī)根據(jù)所述請(qǐng)求隊(duì)列中所述操作指令的排列順序,逐個(gè)對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第一方面所述的同步方法,在第二種可能的實(shí)現(xiàn)方式中所述主機(jī)將所述操作指令發(fā)送至備機(jī),具體包括:所述主機(jī)將所述操作指令放入所述主機(jī)的操作隊(duì)列;所述主機(jī)將所述主機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至備機(jī)。結(jié)合第一方面、第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式所述的同步方法,在第三種可能的實(shí)現(xiàn)方式中,所述主機(jī)獲取操作指令之后,包括:所述主機(jī)根據(jù)所述操作指令的內(nèi)容對(duì)所述操作指令進(jìn)行分類;所述主機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,具體包括:所述主機(jī)根據(jù)所述操作指令的分類類別獲取所述操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)所述操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第三種可能的實(shí)現(xiàn)方式所述的同步方法,在第四種可能的實(shí)現(xiàn)方式中,操作指令的分類類別包括:增加、刪減、修改及查找。第二方面,提供一種同步方法:備機(jī)接收主機(jī)發(fā)送的操作指令,所述操作指令為所述主機(jī)放入所 述主機(jī)的操作隊(duì)列的操作指令,其中所述主機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作;所述備機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第二方面所述的同步方法,在第一種可能的實(shí)現(xiàn)方式中,所述備機(jī)接收主機(jī)發(fā)送的操作指令,具體包括:所述備機(jī)接收所述主機(jī)發(fā)送的操作指令;所述備機(jī)按照接收所述操作指令的順序?qū)⑺霾僮髦噶钜来畏湃胨鰝錂C(jī)的操作隊(duì)列。結(jié)合第二方面所述的同步方法,在第二種可能的實(shí)現(xiàn)方式中,所述備機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,具體包括:所述備機(jī)將所述備機(jī)的操作隊(duì)列中的操作指令依次放入所述備機(jī)的請(qǐng)求隊(duì)列;所述備機(jī)根據(jù)所述請(qǐng)求隊(duì)列中所述備機(jī)的操作指令的排列順序,逐個(gè)對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第二方面、第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式所述的同步方法,在第三種可能的實(shí)現(xiàn)方式中,所述備機(jī)接收主機(jī)發(fā)送的操作指令之后,包括:所述備機(jī)根據(jù)所述操作指令的內(nèi)容對(duì)所述操作指令進(jìn)行分類;所述備機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,具體包括:所述備機(jī)根據(jù)所述操作指令的分類類別獲取所述操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)所述操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第三種可能的實(shí)現(xiàn)方式所述的同步方法,在第四種可能的實(shí)現(xiàn)方式中,操作指令的分類類別包括:增加、刪減、修改及查找。結(jié)合第二方面、第一種、第二種、第三種及第四種可能的實(shí)現(xiàn)方式所述的同步方法,在第五種可能的實(shí)現(xiàn)方式中,所述備機(jī)接收主機(jī) 發(fā)送的操作指令,還包括:所述備機(jī)根據(jù)所述主機(jī)發(fā)送的所述操作指令,查詢所述備機(jī)儲(chǔ)存的操作轉(zhuǎn)換表,獲取查詢結(jié)果;所述備機(jī)根據(jù)所述查詢的結(jié)果,將所述操作指令轉(zhuǎn)換為目標(biāo)操作指令,以便所述備機(jī)根據(jù)所述目標(biāo)操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作;其中,所述操作轉(zhuǎn)換表包括主機(jī)發(fā)送的所述操作指令與目標(biāo)操作指令的映射關(guān)系。第三方面,提供一種主機(jī),包括:控制模塊及同步模塊;所述控制模塊用于獲取操作指令,根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,將所述操作指令發(fā)送至所述同步模塊;所述同步模塊用于接收所述控制模塊發(fā)送的所述操作指令,將所述操作指令發(fā)送至備機(jī)。結(jié)合第三方面所述的主機(jī),在第一種可能的實(shí)現(xiàn)方式中,所述控制模塊包括:調(diào)度單元和執(zhí)行單元;所述調(diào)度單元用于獲取所述操作指令,將所述操作指令放入所述主機(jī)的請(qǐng)求隊(duì)列;所述執(zhí)行單元用于根據(jù)所述請(qǐng)求隊(duì)列中所述操作指令的排列順序,逐個(gè)對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,并將所述操作指令發(fā)送至所述同步模塊。結(jié)合第三方面所述的主機(jī),在第二種可能的實(shí)現(xiàn)方式中,所述同步模塊包括:管理單元和同步單元;所述管理單元用于接收所述控制模塊發(fā)送的所述操作指令,將所述操作指令放入所述主機(jī)的操作隊(duì)列;所述同步單元用于將所述主機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至備機(jī)。結(jié)合第三方面、第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式所述的主機(jī),在第三種可能的實(shí)現(xiàn)方式中,其特征在于,所述控制模 塊還包括分類單元,將所述分類后的操作指令發(fā)送至所述執(zhí)行單元;所述分類單元用于根據(jù)所述操作指令的內(nèi)容對(duì)所述操作指令進(jìn)行分類;所述執(zhí)行單元還用于接收所述分類單元發(fā)送的操作指令,并根據(jù)所述操作指令的分類類別獲取所述操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)所述操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第三種可能的實(shí)現(xiàn)方式所述的主機(jī),在第四種可能的實(shí)現(xiàn)方式中:操作指令的分類類別包括:增加、刪減、修改及查找。第四方面,提供一種備機(jī),包括:同步模塊與控制模塊;所述同步模塊用于接收主機(jī)發(fā)送的操作指令,并將所述操作指令發(fā)送至所述控制模塊,所述操作指令為所述主機(jī)放入所述主機(jī)的操作隊(duì)列的操作指令,其中所述主機(jī)根據(jù)所述操作指令對(duì)所述操作指令在所述主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作;所述控制模塊用于接收所述同步模塊發(fā)送的所述操作指令,并根據(jù)所述操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第四方面所述的備機(jī),在第一種可能的實(shí)現(xiàn)方式中,所述同步模塊包括:管理單元和同步單元;所述同步單元用于接收所述主機(jī)發(fā)送的操作指令;所述管理單元用于按照所述同步單元接收所述操作指令的順序?qū)⑺霾僮髦噶钜来畏湃胨鰝錂C(jī)的操作隊(duì)列,將所述備機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至所述控制模塊。結(jié)合第四方面所述的備機(jī),在第二種可能的實(shí)現(xiàn)方式中,所述控制模塊包括:調(diào)度單元和執(zhí)行單元;所述調(diào)度單元用于將所述備機(jī)的操作隊(duì)列中的操作指令依次放入所述備機(jī)的請(qǐng)求隊(duì)列;所述執(zhí)行單元用于根據(jù)所述備機(jī)的請(qǐng)求隊(duì)列中所述操作指令的排列順序,逐個(gè)對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第四方面、第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式所述的備機(jī),在第三種可能的實(shí)現(xiàn)方式中,所述控制模塊還包括分類單元:所述分類單元用于根據(jù)所述操作指令的內(nèi)容對(duì)所述操作指令進(jìn)行分類,將所述分類后的操作指令發(fā)送至所述執(zhí)行單元;所述執(zhí)行單元還用于接收所述分類單元發(fā)送的操作指令,并根據(jù)所述操作指令的分類類別獲取所述操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)所述操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。結(jié)合第三種可能的實(shí)現(xiàn)方式所述的備機(jī),在第四種可能的實(shí)現(xiàn)方式中:操作指令的分類類別包括:增加、刪減、修改及查找。結(jié)合第四方面、第一種、第二種、第三種及第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述同步模塊還包括查詢單元和轉(zhuǎn)換單元;所述查詢單元用于獲取所述同步單元接收的操作指令,根據(jù)所述主機(jī)發(fā)送的所述操作指令,查詢所述備機(jī)儲(chǔ)存的操作轉(zhuǎn)換表,獲取查詢結(jié)果,將所述查詢結(jié)果發(fā)送至所述轉(zhuǎn)換單元;所述轉(zhuǎn)換單元用于接收所述查詢單元發(fā)送的所述查詢結(jié)果,并根據(jù)所述查詢的結(jié)果,將所述操作指令轉(zhuǎn)換為目標(biāo)操作指令;所述轉(zhuǎn)換單元還用于將所述目標(biāo)操作指令發(fā)送至所述管理單元,以便所述備機(jī)根據(jù)所述目標(biāo)操作指令對(duì)所述操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作;其中,所述操作轉(zhuǎn)換表包括主機(jī)發(fā)送的所述操作指令與目標(biāo)操作指令的映射關(guān)系。第五方面,提供一種同步系統(tǒng),其特征在于,包括主機(jī)與備機(jī),其中所述主機(jī)為上述的主機(jī),所述備機(jī)為上述的備機(jī)。本發(fā)明實(shí)施例提供的同步方法、設(shè)備及系統(tǒng),通過將主機(jī)執(zhí)行的操作指令發(fā)送至備機(jī),備機(jī)執(zhí)行主機(jī)發(fā)送的操作指令實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠 性與可操作性。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。圖1為本發(fā)明的實(shí)施例提供的一種同步方法示意圖;圖2為本發(fā)明的實(shí)施例提供的另一種同步方法示意圖;圖3為本發(fā)明的實(shí)施例提供的又一種同步方法示意圖;圖4為本發(fā)明的實(shí)施例提供的一種同步方法結(jié)構(gòu)示意圖;圖5為本發(fā)明的實(shí)施例提供的一種同步方法的流程示意圖;圖6為本發(fā)明的實(shí)施例提供的一種同步方法的另一流程示意圖;圖7為本發(fā)明的實(shí)施例提供的一種主機(jī)結(jié)構(gòu)示意圖;圖8為本發(fā)明的實(shí)施例提供的另一種主機(jī)結(jié)構(gòu)示意圖;圖9為本發(fā)明的實(shí)施例提供的一種備機(jī)結(jié)構(gòu)示意圖;圖10為本發(fā)明的實(shí)施例提供的另一種備機(jī)結(jié)構(gòu)示意圖;圖11為本發(fā)明的另一實(shí)施例提供的一種主機(jī)結(jié)構(gòu)示意圖;圖12為本發(fā)明的另一實(shí)施例提供的一種備機(jī)結(jié)構(gòu)示意圖;圖13為本發(fā)明的實(shí)施例提供的一種同步系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。本發(fā)明的實(shí)施例提供了一種同步方法、設(shè)備及系統(tǒng),應(yīng)用于管理系統(tǒng)中實(shí)現(xiàn)主機(jī)與備機(jī)進(jìn)行同步,使主機(jī)與備機(jī)在數(shù)據(jù)與狀態(tài)上保持一致,其中,主機(jī)可以為管理服務(wù)器的主服務(wù)處理器,備機(jī)可以為管理服務(wù)器的備服務(wù)處理器。具體的,本發(fā)明的實(shí)施例提供一種同步方法,參照?qǐng)D1所示,應(yīng)用于主機(jī),包括:101、主機(jī)獲取操作指令。其中,主機(jī)獲取操作指令的方式有兩種:第一種方式為外部請(qǐng)求,即其他器件對(duì)主機(jī)進(jìn)行操作,外部器件發(fā)送操作指令至主機(jī),外部請(qǐng)求會(huì)改變主機(jī)的配置;第二種方式為內(nèi)部請(qǐng)求,即主機(jī)本身對(duì)主機(jī)進(jìn)行操作,主機(jī)內(nèi)部產(chǎn)生操作指令,內(nèi)部請(qǐng)求會(huì)改變主機(jī)的狀態(tài)。102、主機(jī)根據(jù)操作指令對(duì)該操作指令在主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。103、主機(jī)將該操作指令發(fā)送至備機(jī)。備機(jī)接收到主機(jī)發(fā)送的操作指令后,按照該操作指令進(jìn)行操作,以保證備機(jī)的配置和狀態(tài)與主機(jī)相同。本發(fā)明的實(shí)施例還提供一種同步方法,參照?qǐng)D2所示,應(yīng)用于備機(jī),包括:201、備機(jī)接收主機(jī)發(fā)送的操作指令。其中,該操作指令為主機(jī)放入主機(jī)的操作隊(duì)列的操作指令,即該操作指令是主機(jī)已經(jīng)執(zhí)行或正在執(zhí)行的操作,以保證備機(jī)與主機(jī)進(jìn)行了相同的操作。202、備機(jī)根據(jù)操作指令對(duì)該操作指令在備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。此時(shí),備機(jī)與主機(jī)都執(zhí)行了相同的操作,備機(jī)的配置和狀態(tài)與主機(jī)相同,完成了主機(jī)與備機(jī)的同步。本發(fā)明的實(shí)施例提供的同步方法,通過將主機(jī)執(zhí)行的操作指令發(fā)送至備機(jī),備機(jī)執(zhí)行主機(jī)發(fā)送的操作指令實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性??蛇x的,本發(fā)明的實(shí)施例還提供了另一種同步方法,參照?qǐng)D3及圖4所示,包括:301、主機(jī)獲取操作指令。主機(jī)獲取的操作指令包括外部請(qǐng)求與內(nèi)部請(qǐng)求兩個(gè)來源,此處提供一種將請(qǐng)求產(chǎn)生的操作指令的程序化的數(shù)據(jù)結(jié)構(gòu),如下所示:上述的程序化的操作指令的數(shù)據(jù)結(jié)構(gòu)中,包括了請(qǐng)求的來源(unsignedcharop_src;)、請(qǐng)求的類型(unsignedcharop_type;)、請(qǐng)求的操作對(duì)象(DATA_TYPEop_object;)、請(qǐng)求需要操作的數(shù)據(jù)(void*data;)以及請(qǐng)求需要操作的數(shù)據(jù)的長度(intdata_len;),從而將外部請(qǐng)求與內(nèi)部請(qǐng)求轉(zhuǎn)化為主機(jī)與備機(jī)可執(zhí)行的操作指令。302、主機(jī)將該操作指令放入主機(jī)的請(qǐng)求隊(duì)列。303、主機(jī)根據(jù)請(qǐng)求隊(duì)列中操作指令的排列順序,逐個(gè)對(duì)操作指令在主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,并將該操作指令放入主機(jī)的操作隊(duì)列。主機(jī)根據(jù)操作指令的具體內(nèi)容,對(duì)一個(gè)操作指令形成工作線程,對(duì)操作指令相應(yīng)的數(shù)據(jù)進(jìn)行操作,并將該操作指令放入操作隊(duì)列??蛇x的,在步驟301、主機(jī)獲取操作指令之后,主機(jī)根據(jù)操作指令的內(nèi)容,即根據(jù)上述程序化的操作指令的數(shù)據(jù)結(jié)構(gòu)中unsignedcharop_type;語句的數(shù)據(jù),對(duì)操作指令進(jìn)行分類,根據(jù)操作指令的分類類別獲取操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)操作指令在主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作,可以提高主機(jī)對(duì)數(shù)據(jù)的操作速度。其中,操作指令的類別可以為:增加、刪減、修改及查找四類,也可以為其他類別,此處提供對(duì)增加、刪減、修改及查找四類操作指令的操作接口進(jìn)行定義的程序語言的數(shù)據(jù)結(jié)構(gòu),如下所示:上述定義增加、刪減、修改及查找四類操作指令的操作接口的程序語言的數(shù)據(jù)結(jié)構(gòu),定義了主機(jī)內(nèi)部不同類型的操作指令的操作接口,通過不同的操作接口,主機(jī)能夠更加快速的找到對(duì)不同類別的操作指令進(jìn)行操作的模塊,方便主機(jī)對(duì)數(shù)據(jù)進(jìn)行操作??蛇x的,為了保證主機(jī)操作的有序性以及主機(jī)與備機(jī)操作的一致性,主機(jī)會(huì)根據(jù)主機(jī)的請(qǐng)求隊(duì)列中操作指令的順序執(zhí)行主機(jī)的請(qǐng)求隊(duì)列中的操作指令,依次完成對(duì)主機(jī)的相應(yīng)的數(shù)據(jù)的操作,具體的,步驟303,參照?qǐng)D5所示,包括:303a、主機(jī)依次取出主機(jī)的請(qǐng)求隊(duì)列中的操作指令。303b、主機(jī)檢測(cè)執(zhí)行鎖是否被釋放,當(dāng)執(zhí)行鎖未被釋放時(shí),主機(jī) 繼續(xù)檢測(cè)執(zhí)行鎖是否被釋放。當(dāng)主機(jī)檢測(cè)到執(zhí)行鎖被釋放時(shí),302c,主機(jī)對(duì)執(zhí)行鎖進(jìn)行鎖定。303d、主機(jī)對(duì)該操作指令對(duì)應(yīng)的數(shù)據(jù)進(jìn)行操作。303e、主機(jī)將該操作指令放入主機(jī)的操作隊(duì)列。303f、主機(jī)釋放執(zhí)行鎖。在步驟303a-303f中,主機(jī)通過執(zhí)行鎖的狀態(tài),判定上一個(gè)操作指令的操作是否執(zhí)行完成,當(dāng)有操作指令需要被執(zhí)行時(shí),主機(jī)會(huì)將該鎖進(jìn)行鎖定,從而下一個(gè)操作就會(huì)被阻塞,當(dāng)一個(gè)操作指令的操作執(zhí)行完成時(shí),主機(jī)釋放執(zhí)行鎖,執(zhí)行下一個(gè)操作指令,保證了主機(jī)操作的有序性以及主機(jī)與備機(jī)操作的一致性。其中,步驟303e可以與步驟303d同時(shí)進(jìn)行,也可以在步驟303d完成后進(jìn)行,即主機(jī)可以在對(duì)數(shù)據(jù)進(jìn)行操作時(shí)將操作指令放入操作隊(duì)列,也可以在對(duì)數(shù)據(jù)進(jìn)行操作完成后將操作指令放入操作隊(duì)列。304、主機(jī)將主機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至備機(jī)。其中,主機(jī)上維持一個(gè)同步線程,保證操作隊(duì)列中的操作指令的順序與主機(jī)執(zhí)行操作指令的順序相同,并依次將操作隊(duì)列中的操作指令發(fā)送到備機(jī),起到操作指令同步的作用。305、備機(jī)接收主機(jī)發(fā)送的操作指令,將該操作指令依次放入備機(jī)的操作隊(duì)列。其中,備機(jī)中維持一個(gè)同步線程,保證操作隊(duì)列中的操作指令的順序與備機(jī)接收到操作指令的順序相同??蛇x的,備機(jī)接收主機(jī)發(fā)送的操作指令后,可以根據(jù)主機(jī)發(fā)送的操作指令,查詢備機(jī)儲(chǔ)存的操作轉(zhuǎn)換表,根據(jù)查詢的結(jié)果,將一些特殊的操作指令轉(zhuǎn)換為目標(biāo)操作指令,以便備機(jī)根據(jù)目標(biāo)操作指令對(duì)目標(biāo)操作指令在備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。例如,主機(jī)進(jìn)行“上電”操作后,將“上電”操作指令發(fā)送至備機(jī),此時(shí)備機(jī)需要進(jìn)行“保持”操作以保證與主機(jī)同步,則備機(jī)查詢備機(jī)儲(chǔ)存的操作轉(zhuǎn)換表,根據(jù)查詢的結(jié)果,將“上電”操作指令轉(zhuǎn)換為目標(biāo)操作指令“保持”再對(duì)“保持”操作指令進(jìn)行處理。具體的,將主機(jī)發(fā)送的操作指令轉(zhuǎn)換為備機(jī)的需要執(zhí)行的目標(biāo)操作指令,如圖6所示,包括:305a、備機(jī)判斷是否有需要轉(zhuǎn)換的操作指令。當(dāng)步驟305a的判斷結(jié)果為“否”時(shí),備機(jī)不進(jìn)行轉(zhuǎn)換操作。當(dāng)步驟305a的判斷結(jié)果為“是”時(shí),進(jìn)行步驟305b、備機(jī)判斷需要轉(zhuǎn)換的操作指令的操作源和目標(biāo)操作指令的操作源是否一致。當(dāng)步驟305b的判斷結(jié)果為“否”時(shí),進(jìn)行步驟305g,放棄該操作指令的轉(zhuǎn)換,進(jìn)行下一條操作指令的轉(zhuǎn)換。當(dāng)步驟305b的判斷結(jié)果為“是”時(shí),進(jìn)行步驟305c、備機(jī)判斷需要轉(zhuǎn)換的操作指令的操作類型和目標(biāo)操作指令的操作類型是否一致。當(dāng)步驟305c的判斷結(jié)果為“否”時(shí),進(jìn)行步驟305g,放棄該操作指令的轉(zhuǎn)換,進(jìn)行下一條操作指令的轉(zhuǎn)換。當(dāng)步驟305c的判斷結(jié)果為“是”時(shí),進(jìn)行步驟305d、備機(jī)判斷需要轉(zhuǎn)換的操作指令的操作對(duì)象和目標(biāo)操作指令的操作對(duì)象是否一致。當(dāng)步驟305d的判斷結(jié)果為“否”時(shí),進(jìn)行步驟305g,放棄該操作指令的轉(zhuǎn)換,進(jìn)行下一條操作指令的轉(zhuǎn)換。當(dāng)步驟305d的判斷結(jié)果為“是”時(shí),進(jìn)行步驟305e、備機(jī)判斷需要轉(zhuǎn)換的操作指令的操作數(shù)據(jù)和目標(biāo)操作指令的操作數(shù)據(jù)是否一致。當(dāng)步驟305e的判斷結(jié)果為“否”時(shí),進(jìn)行步驟305g,放棄該操作指令的轉(zhuǎn)換,進(jìn)行下一條操作指令的轉(zhuǎn)換。當(dāng)步驟305e的判斷結(jié)果為“是”時(shí),進(jìn)行步驟305f、備機(jī)查詢存儲(chǔ)的操作轉(zhuǎn)換表,將需要轉(zhuǎn)換的操作指令轉(zhuǎn)換為目標(biāo)操作指令。操作轉(zhuǎn)換表包括主機(jī)發(fā)送的所述操作指令與目標(biāo)操作指令的映射關(guān)系。此處提供一種操作轉(zhuǎn)換表的程序化數(shù)據(jù)結(jié)構(gòu),如下所示:備機(jī)可以查詢此表,將主機(jī)發(fā)送的滿足上述操作轉(zhuǎn)換表的操作指令轉(zhuǎn)換為備機(jī)需要進(jìn)行的對(duì)應(yīng)操作,以完成與主機(jī)相同的操作。306、備機(jī)將備機(jī)的操作隊(duì)列中的操作指令依次放入備機(jī)的請(qǐng)求隊(duì)列。其中,備機(jī)維持一個(gè)執(zhí)行線程,保證備機(jī)將備機(jī)的操作隊(duì)列中的操作指令依次放入備機(jī)的請(qǐng)求隊(duì)列的過程中,將操作指令放入請(qǐng)求隊(duì)列的順序和備機(jī)接收操作指令的順序相同。307、備機(jī)根據(jù)請(qǐng)求隊(duì)列中操作指令的排列順序,逐個(gè)對(duì)操作指令在備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。其中,備機(jī)根據(jù)操作指令的具體內(nèi)容,對(duì)一個(gè)操作指令形成工作線程,對(duì)操作指令相應(yīng)的數(shù)據(jù)進(jìn)行操作??蛇x的,備機(jī)根據(jù)操作指令的內(nèi)容對(duì)所述操作指令進(jìn)行分類,根據(jù)操作指令的分類類別獲取操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)操作指令的分類類別對(duì)應(yīng)的操作接口通過不同的工作線程對(duì)操作指令在所述備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。其中,為了保證備機(jī)操作的有序性以及主機(jī)與備機(jī)操作的一致性,備機(jī)根據(jù)備機(jī)的操作隊(duì)列中操作指令的順序?qū)錂C(jī)的操作隊(duì)列中的操作指令依次放入備機(jī)的請(qǐng)求隊(duì)列,根據(jù)備機(jī)的請(qǐng)求隊(duì)列中操作指令的順序執(zhí)行所述備機(jī)的請(qǐng)求隊(duì)列中的操作指令,依次完成對(duì)備機(jī)的相應(yīng)的數(shù)據(jù)的操作本發(fā)明的實(shí)施例提供的同步方法,通過將主機(jī)執(zhí)行的操作指令發(fā)送至備機(jī),備機(jī)執(zhí)行主機(jī)發(fā)送的操作指令實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。本發(fā)明的實(shí)施例提供一種主機(jī)1,應(yīng)用上述方法的實(shí)施例提供的方法。參照?qǐng)D7所示,主機(jī)1包括:控制模塊11與同步模塊12。主機(jī)的控制模塊11用于獲取操作指令,根據(jù)操作指令對(duì)操作指令在主機(jī)1中相應(yīng)的數(shù)據(jù)進(jìn)行操作,將該操作指令發(fā)送至同步模塊12。主機(jī)的同步模塊12用于接收主機(jī)的控制模塊11發(fā)送的操作指令,將該操作指令發(fā)送至備機(jī)。本發(fā)明的實(shí)施例提供的同步設(shè)備,主機(jī)只將執(zhí)行的操作指令發(fā)送至備機(jī),減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。可選的,如圖8所示,主機(jī)的控制模塊11包括:調(diào)度單元111與執(zhí)行單元112。主機(jī)的調(diào)度單元111用于獲取操作指令,將操作指令放入主機(jī)的請(qǐng)求隊(duì)列。主機(jī)的執(zhí)行單元112用于根據(jù)請(qǐng)求隊(duì)列中操作指令的排列順序,逐個(gè)對(duì)操作指令在主機(jī)1中相應(yīng)的數(shù)據(jù)進(jìn)行操作,并將該操作指令發(fā)送至同步模塊12。主機(jī)的同步模塊12包括:管理單元121和同步單元122;主機(jī)的管理單元121用于接收主機(jī)的控制模塊11發(fā)送的操作指令,將該操作指令放入主機(jī)的操作隊(duì)列。主機(jī)的同步單元122用于將主機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至備機(jī)??蛇x的,主機(jī)的控制模塊11還包括分類單元113,具體的,主機(jī)的分類單元113用于根據(jù)操作指令的內(nèi)容對(duì)操作指令進(jìn)行分類,將分類后的操作指令發(fā)送至執(zhí)行單元112。主機(jī)的執(zhí)行單元112還用于接收主機(jī)的分類單元113發(fā)送的操作指令,并根據(jù)操作指令的分類類別獲取操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)操作指令在主機(jī)1中相應(yīng)的數(shù)據(jù)進(jìn)行操作。其中,操作指令的類別可以為增加、刪減、修改及查找四類,也可以為其他類別的操作指令。本發(fā)明的實(shí)施例提供的同步設(shè)備,主機(jī)只將執(zhí)行的操作指令發(fā)送至備機(jī),減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。本發(fā)明的實(shí)施例提供一種備機(jī)2,應(yīng)用上述方法的實(shí)施例提供的方法。參照?qǐng)D9所示,備機(jī)2包括:控制模塊21與同步模塊22。備機(jī)的同步模塊22用于接收主機(jī)發(fā)送的操作指令,并將該操作指令發(fā)送至控制模塊21,該操作指令為主機(jī)放入主機(jī)的操作隊(duì)列的操作指令,其中主機(jī)根據(jù)操作指令對(duì)操作指令在主機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作。備機(jī)的控制模塊21用于接收備機(jī)的同步模塊22發(fā)送的操作指令,并根據(jù)操作指令對(duì)操作指令在備機(jī)2中相應(yīng)的數(shù)據(jù)進(jìn)行操作。本發(fā)明的實(shí)施例提供的同步設(shè)備,備機(jī)僅接收主機(jī)發(fā)送的執(zhí)行過的操作指令,實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。可選的,參照?qǐng)D10所示,備機(jī)的同步模塊22包括同步單元221與管理單元222。備機(jī)的同步單元221用于接收主機(jī)發(fā)送的操作指令。備機(jī)的管理單元222用于按照同步單元221接收操作指令的順序?qū)⒉僮髦噶钜来畏湃雮錂C(jī)的操作隊(duì)列,將備機(jī)的操作隊(duì)列中的操作指令依次發(fā)送至控制模塊21。備機(jī)的控制模塊21包括調(diào)度單元211與執(zhí)行單元212。備機(jī)的調(diào)度單元211用于將備機(jī)的操作隊(duì)列中的操作指令依次放入備機(jī)的請(qǐng)求隊(duì)列。備機(jī)的執(zhí)行單元212用于根據(jù)備機(jī)的請(qǐng)求隊(duì)列中操作指令的排列順序,逐個(gè)對(duì)操作指令在備機(jī)2中相應(yīng)的數(shù)據(jù)進(jìn)行操作??蛇x的,備機(jī)的控制模塊21還包括分類單元213。分類單元213用于根據(jù)操作指令的內(nèi)容對(duì)操作指令進(jìn)行分類,將分類后的操作指令發(fā)送至執(zhí)行單元212。備機(jī)的執(zhí)行單元212還用于接收備機(jī)的分類單元213發(fā)送的操作指令,并根據(jù)操作指令的分類類別獲取操作指令的分類類別對(duì)應(yīng)的操作接口,根據(jù)操作指令的分類類別對(duì)應(yīng)的操作接口對(duì)操作指令在備機(jī)中相應(yīng)的數(shù)據(jù)進(jìn)行操作其中,操作指令的類別可以為增加、刪減、修改及查找四類,也可以為其他類別的操作指令??蛇x的,備機(jī)的同步模塊22還包括查詢單元223和轉(zhuǎn)換單元224,備機(jī)的查詢單元223用于獲取備機(jī)的同步單元221接收的操作指令,并根據(jù)主機(jī)發(fā)送的操作指令,查詢備機(jī)2儲(chǔ)存的操作轉(zhuǎn)換表,獲取查詢結(jié)果,將查詢結(jié)果發(fā)送至備機(jī)的轉(zhuǎn)換單元224。備機(jī)的轉(zhuǎn)換單元224用于接收備機(jī)的查詢單元223發(fā)送的查詢結(jié)果,并根據(jù)查詢的結(jié)果,將操作指令轉(zhuǎn)換為目標(biāo)操作指令。備機(jī)的轉(zhuǎn)換單元224還用于將目標(biāo)操作指令發(fā)送至備機(jī)的管理單元222,以便備機(jī)2根據(jù)目標(biāo)操作指令對(duì)操作指令在備機(jī)2中相應(yīng)的數(shù)據(jù)進(jìn)行操作。其中,操作轉(zhuǎn)換表包括主機(jī)發(fā)送的所述操作指令與目標(biāo)操作指令的映射關(guān)系。本發(fā)明的實(shí)施例提供的同步設(shè)備,備機(jī)僅接收主機(jī)發(fā)送的執(zhí)行過的操作指令,實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。本發(fā)明的另一實(shí)施例提供了一種主機(jī)3,其結(jié)構(gòu)參照?qǐng)D11所示,該主機(jī)3包括:至少一個(gè)處理器31、數(shù)據(jù)總線32、存儲(chǔ)器33及通信端口34,至少一個(gè)處理器31、存儲(chǔ)器33和通信端口34通過數(shù)據(jù)總線32連接并完成相互間的通信,其中:該數(shù)據(jù)總線32可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)ISA總線、外部設(shè)備互連PCI總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)EISA總線等。該數(shù)據(jù)總線32可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖11中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。存儲(chǔ)器33用于存儲(chǔ)可執(zhí)行程序代碼及相應(yīng)的數(shù)據(jù),該程序代碼包括計(jì)算機(jī)操作指令。存儲(chǔ)器33可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器,在本發(fā)明中存儲(chǔ)器至少包括執(zhí)行鎖程序及操作接口注冊(cè)表。處理器31可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC,或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。通信端口34,用于實(shí)現(xiàn)主機(jī)與網(wǎng)絡(luò)及備機(jī)的數(shù)據(jù)、指令的接收及發(fā)送的功能。處理器31,還用于調(diào)用存儲(chǔ)器33中的程序代碼,用以執(zhí)行上述設(shè)備實(shí)施例中控制模塊11與同步模塊12的操作,具體描述參照?qǐng)D7對(duì)應(yīng)的裝置實(shí)施例,這里不再贅述。本發(fā)明的另一實(shí)施例提供了一種備機(jī)4,其結(jié)構(gòu)參照?qǐng)D12所示,該備機(jī)4包括:至少一個(gè)處理器41、數(shù)據(jù)總線42、存儲(chǔ)器43及通信端口44,至少一個(gè)處理器41、存儲(chǔ)器43和通信端口44通過數(shù)據(jù)總線42連接并完成相互間的通信,其中:該數(shù)據(jù)總線42可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)ISA總線、外部設(shè)備互連PCI總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)EISA總線等。該數(shù)據(jù)總線42可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖12中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。存儲(chǔ)器43用于存儲(chǔ)可執(zhí)行程序代碼及相應(yīng)的數(shù)據(jù),該程序代碼包括計(jì)算機(jī)操作指令。存儲(chǔ)器43可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器,在本發(fā)明中存儲(chǔ)器至少包括執(zhí)行鎖程序、操作接口注冊(cè)表及操作轉(zhuǎn)換表。處理器41可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC,或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。通信端口44,用于實(shí)現(xiàn)備機(jī)與主機(jī)及網(wǎng)絡(luò)的數(shù)據(jù)、指令的接收及發(fā)送的功能。處理器41,還用于調(diào)用存儲(chǔ)器43中的程序代碼,用以執(zhí)行上述設(shè)備實(shí)施例中控制模塊21與同步模塊22的操作,具體描述參照?qǐng)D9對(duì)應(yīng)的裝置實(shí)施例,這里不再贅述。本發(fā)明的實(shí)施例提供一種同步系統(tǒng),用于服務(wù)器管理領(lǐng)域中的主機(jī)與備機(jī)的同步,如圖13所示,包括上述裝置實(shí)施例提供的主機(jī)1與備機(jī)2,或者,主機(jī)3與備機(jī)4。主機(jī)對(duì)網(wǎng)絡(luò)中的服務(wù)器進(jìn)行業(yè)務(wù)服務(wù)、狀態(tài)分析及監(jiān)控,備機(jī)與主機(jī)進(jìn)行同步,隨時(shí)準(zhǔn)備按指令完成主機(jī)與備機(jī)間職能的切換。其中,主機(jī)將接收的請(qǐng)求轉(zhuǎn)換為操作指令,將該操作指令執(zhí)行并發(fā)送至備機(jī),備機(jī)執(zhí)行主機(jī)發(fā)送的操作指令,完成了與主機(jī)相同的操作,備機(jī)的配置和狀態(tài)于主機(jī)相同,達(dá)到了主機(jī)與備機(jī)同步的目的。本發(fā)明的實(shí)施例提供的同步系統(tǒng),通過將主機(jī)執(zhí)行的操作指令發(fā)送至備機(jī),備機(jī)執(zhí)行主機(jī)發(fā)送的操作指令實(shí)現(xiàn)主機(jī)與備機(jī)之間的同步,減少了主機(jī)與備機(jī)間同步的數(shù)據(jù)量,提高了系統(tǒng)的可靠性與可操作性。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。