欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多服務(wù)器間數(shù)據(jù)同步的方法及系統(tǒng)的制作方法

文檔序號:7926891閱讀:179來源:國知局

專利名稱::一種多服務(wù)器間數(shù)據(jù)同步的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)庫
技術(shù)領(lǐng)域
,特別是涉及一種服務(wù)器間數(shù)據(jù)同步的方法及系統(tǒng)。
背景技術(shù)
:隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已經(jīng)深入到千家萬戶。為了盡可能地方便用戶、提高網(wǎng)絡(luò)速度,作為服務(wù)提供者的網(wǎng)絡(luò)公司,除了中心服務(wù)器外,會(huì)在不同的地區(qū)設(shè)置多個(gè)分區(qū)服務(wù)器。各個(gè)服務(wù)器分別負(fù)責(zé)維護(hù)各地區(qū)的信息,為了能夠共享分布環(huán)境里的信息,使分布在各個(gè)分區(qū)服務(wù)器中使用(運(yùn)行)的所有數(shù)據(jù)得以高度集成、協(xié)調(diào)、共享,需要對分布在各服務(wù)器上的數(shù)據(jù)進(jìn)行同步。也就是說,當(dāng)一個(gè)服務(wù)器上的數(shù)據(jù)發(fā)生改變時(shí),中心服務(wù)器也需要進(jìn)行同樣的改變,以保證用戶不論在何時(shí)何地,看到的都是最新最快的信息。在這個(gè)過程中,如何實(shí)現(xiàn)多服務(wù)器之間的數(shù)據(jù)同步顯得非常關(guān)鍵?,F(xiàn)有技術(shù)可以在多服務(wù)器之間實(shí)現(xiàn)間隔性同步,即,每過一,殳時(shí)間進(jìn)行一次數(shù)據(jù)同步。同步的方法通常是用新的數(shù)據(jù)庫覆蓋舊的數(shù)據(jù)庫,該操作一般是定期地對整個(gè)數(shù)據(jù)庫進(jìn)行。該現(xiàn)有技術(shù)的缺點(diǎn)在于,該技術(shù)既不能實(shí)現(xiàn)數(shù)據(jù)的及時(shí)性,又非常耗時(shí),使得整個(gè)數(shù)據(jù)庫的及時(shí)性和效率都非常低。但是及時(shí)性是網(wǎng)絡(luò)性能的一項(xiàng)非常重要的指標(biāo),因此,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題是,如何實(shí)現(xiàn)多服務(wù)器之間數(shù)據(jù)同步的及時(shí)性及高效性。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在于提供一種多服務(wù)器間數(shù)據(jù)同步的方法及系統(tǒng),以解決現(xiàn)有技術(shù)無法及時(shí)同步及傳送效率低的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案一種多服務(wù)器間數(shù)據(jù)同步的方法,包括源服務(wù)器分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在相應(yīng)的版本跟蹤表中增加關(guān)于所述變化的記錄;根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器,目標(biāo)服務(wù)器利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。優(yōu)選的,還包括如果目標(biāo)服務(wù)器同步成功,則向源服務(wù)器返回同步成功消息;源服務(wù)器判斷是否所有目標(biāo)服務(wù)器均同步成功,如果是,刪除版本跟蹤表中的記錄。優(yōu)選的,在版本跟蹤表中增加關(guān)于所述變化的記錄時(shí),還包括為源服務(wù)器設(shè)置第一版本號,為各目標(biāo)服務(wù)器設(shè)置第二版本號;貝寸,判斷是否所有目標(biāo)服務(wù)器均同步成功的具體實(shí)現(xiàn)包括接收到目標(biāo)服務(wù)器的同步成功消息后,將該目標(biāo)服務(wù)器的第二版本號修改為第一版本號;判斷各目標(biāo)服務(wù)器的版本號是否全部為第一版本號,如果是,則所有目標(biāo)服務(wù)器均同步成功。優(yōu)選的,所述變化包括更新數(shù)據(jù)、插入數(shù)據(jù)或刪除數(shù)據(jù),則通過為源服務(wù)器設(shè)置不同的第一版本號來描述數(shù)據(jù)的變化。優(yōu)選的,根據(jù)預(yù)置時(shí)間向各目標(biāo)服務(wù)器發(fā)送所述發(fā)生變化的數(shù)據(jù)。一種多服務(wù)器間數(shù)據(jù)同步的系統(tǒng),涉及源服務(wù)器及至少一個(gè)目標(biāo)服務(wù)器,所述源服務(wù)器包括版本跟蹤表建立單元,用于分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;版本跟蹤表管理單元,用于當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在相應(yīng)的版本跟蹤表中增加關(guān)于所述變化的記錄;發(fā)送單元,用于根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器;所述目標(biāo)服務(wù)器包括同步執(zhí)行單元,用于利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。優(yōu)選的,所述目標(biāo)服務(wù)器還包括5同步成功消息發(fā)送單元,用于當(dāng)目標(biāo)服務(wù)器同步成功時(shí),則向源服務(wù)器返回同步成功消息;所述版本跟蹤表管理單元還用于判斷是否所有目標(biāo)服務(wù)器均同步成功,如果是,刪除所述版本跟蹤表中的記錄。優(yōu)選的,所述版本跟蹤表管理單元利用以下子單元判斷是否所有目標(biāo)服務(wù)器均同步成功版本號設(shè)置子單元,用于為源服務(wù)器設(shè)置第一版本號,為各目標(biāo)服務(wù)器設(shè)置第二版本號;版本號修改子單元,用于接收到目標(biāo)服務(wù)器的同步成功消息后,將該目標(biāo)服務(wù)器的第二版本號^^改為第一版本號;判斷子單元,用于判斷各目標(biāo)服務(wù)器的版本號是否全部為第一版本號,如果是,則所有目標(biāo)服務(wù)器均同步成功。優(yōu)選的,所述變化包括更新數(shù)據(jù)、插入數(shù)據(jù)或刪除數(shù)據(jù),所述版本號設(shè)置單元?jiǎng)t通過為源服務(wù)器設(shè)置不同的第一版本號來記錄數(shù)據(jù)的變化;所述版本跟蹤表管理單元將所述不同的第一版本號作為關(guān)于所述變化的記錄。優(yōu)選的,所述發(fā)送單元根據(jù)預(yù)置時(shí)間向各目標(biāo)服務(wù)器發(fā)送所述需要同步的數(shù)據(jù)。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果首先,本發(fā)明通過同步表記錄發(fā)生變化的數(shù)據(jù),并及時(shí)發(fā)送到目標(biāo)服務(wù)器,目標(biāo)服務(wù)器根據(jù)接收到的記錄完成數(shù)據(jù)的同步。可見,數(shù)據(jù)庫中的某條數(shù)據(jù)一旦發(fā)生變化,該條數(shù)據(jù)所在數(shù)據(jù)表的同步表就會(huì)記錄該變化,并及時(shí)與其他服務(wù)器上的數(shù)據(jù)庫進(jìn)行同步。而且進(jìn)行同步的時(shí)候,只傳送并修改發(fā)生變化的數(shù)據(jù),沒有變化的數(shù)據(jù)是不被傳送或修改的,即本發(fā)明只對數(shù)據(jù)庫中發(fā)生變化的數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步,因此實(shí)現(xiàn)了數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步時(shí)的及時(shí)性及高效性。其次,通過版本號機(jī)制,有助于判斷目標(biāo)服務(wù)器是否已經(jīng)全部同步成功,并在全部同步成功后將相應(yīng)的記錄在同步表中刪除,避免了因同步表過大而占用大量的存儲空間,保證了系統(tǒng)的性能。圖l是本發(fā)明提供的第一方法的流程圖;圖2是本發(fā)明中服務(wù)器結(jié)構(gòu)示意圖;圖3是本發(fā)明提供的第二方法的流程圖;圖4是本發(fā)明提供的第三方法的流程圖;圖5是本發(fā)明提供的第四方法的流程圖;圖6是本發(fā)明提供的第五方法的流程圖;圖7是本發(fā)明提供的系統(tǒng)的示意圖;圖8是本發(fā)明提供的另一系統(tǒng)的示意圖。具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明。參見圖1,本發(fā)明提供的多服務(wù)器間數(shù)據(jù)同步的方法包括以下步驟S101:源服務(wù)器分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;例如,有一類數(shù)據(jù)A,則為該類數(shù)據(jù)建立版本跟蹤表為A—SYNC,該版本跟蹤表用于記錄該類數(shù)據(jù)A中各條數(shù)據(jù)的變化。S102:當(dāng)某類數(shù)據(jù)(如A類數(shù)據(jù))中有某條數(shù)據(jù)發(fā)生變化時(shí),在該類數(shù)據(jù)的版本跟蹤表中增加關(guān)于所述變化的記錄;當(dāng)A類數(shù)據(jù)中的某條數(shù)據(jù)發(fā)生變化時(shí),程序會(huì)自動(dòng)向版本跟蹤表中新增加一條描述該條數(shù)據(jù)發(fā)生了何種變化的信息。S103:根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器,目標(biāo)服務(wù)器利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。發(fā)送程序可以通過讀取版本跟蹤表來判斷是否有數(shù)據(jù)需要同步,如果有,則可以根據(jù)版本跟蹤表中的記錄,將需要同步的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器的接收端口。目標(biāo)服務(wù)器在接收到所述需要同步的數(shù)據(jù)之后,就可以進(jìn)行數(shù)據(jù)的同步了。圖2所示為本發(fā)明中的服務(wù)器結(jié)構(gòu),其中,分區(qū)服務(wù)器是指分布在各地區(qū)的服務(wù)器,例如北京的服務(wù)器負(fù)責(zé)北京用戶的信息,上海的服務(wù)器負(fù)責(zé)上海用戶的信息,各分區(qū)服務(wù)器上的內(nèi)容不一定相同,但是各地區(qū)的用戶信息需要同步到中心服務(wù)器進(jìn)行匯總;另外,內(nèi)容生產(chǎn)服務(wù)器也需要將發(fā)生變化的數(shù)據(jù)匯總到中心服務(wù)器;同時(shí),中心服務(wù)器中有數(shù)據(jù)發(fā)生變化時(shí),也需要按照不同的地區(qū)將數(shù)據(jù)進(jìn)行分發(fā)并同步到各分區(qū)服務(wù)器,例如,將北京用戶的數(shù)據(jù)分發(fā)同步到北京的服務(wù)器,將上海用戶的數(shù)據(jù)分發(fā)同步到上海的服務(wù)器,等等。也就是說,數(shù)據(jù)同步可能發(fā)生在從分區(qū)服務(wù)器到中心服務(wù)器、從內(nèi)容生產(chǎn)服務(wù)器到中心服務(wù)器或從中心服務(wù)器到分區(qū)服務(wù)器的過程中,內(nèi)容生產(chǎn)服務(wù)器、分區(qū)服務(wù)器及中心服務(wù)器都有可能是源服務(wù)器,中心服務(wù)器及分區(qū)服務(wù)器都有可能是目標(biāo)服務(wù)器。但對于不同流向(源服務(wù)器與目標(biāo)服務(wù)器不同)的數(shù)據(jù)同步都可以采用上述方法,只是不同的源服務(wù)器對應(yīng)不同的目標(biāo)服務(wù)器時(shí),可能采用不同的同步策略,所述同步策略也就是可以選擇不同的同步頻率及同步時(shí)間等,即發(fā)送程序可以采用預(yù)置的算法策略,例如每分鐘或每五分鐘等發(fā)送一次需要同步的數(shù)據(jù)。其中,為每一類需要同步的數(shù)據(jù)建立版本跟蹤表,是為了判斷哪些數(shù)據(jù)發(fā)生了何種變化。該版本跟蹤表中可以記錄該類數(shù)據(jù)中每條數(shù)據(jù)的標(biāo)識及版本號,根據(jù)標(biāo)識及版本號可以判斷某條數(shù)據(jù)是否發(fā)生了變化。例如,如果某條數(shù)據(jù)發(fā)生變化,則在版本跟蹤表中增加關(guān)于該條數(shù)據(jù)的記錄,并將該條數(shù)據(jù)的版本號記錄為1。發(fā)送程序可以按照所述算法策略,每隔一段時(shí)間讀取版本跟蹤表一次,按照版本跟蹤表中的信息將需要同步的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器。可見,源服務(wù)器中的某條數(shù)據(jù)一旦發(fā)生變化,該條數(shù)據(jù)所屬類別的版本跟蹤表就會(huì)記錄該變化,并及時(shí)與其他服務(wù)器上的數(shù)據(jù)庫進(jìn)行同步。而且進(jìn)行同步的時(shí)候,只傳送并修改發(fā)生變化的數(shù)據(jù),沒有變化的數(shù)據(jù)是不被傳送或修改的,即本發(fā)明只對源服務(wù)器中發(fā)生變化的數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步,因此實(shí)現(xiàn)了數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步時(shí)的及時(shí)性及高效性。在實(shí)際應(yīng)用中,在目標(biāo)服務(wù)器端,如果同步成功,則可以向源服務(wù)器返回同步成功消息;同樣,如果沒有同步成功,則可以向源服務(wù)器返回同步不成功消息,然后繼續(xù)將沒有同步成功的服務(wù)器完成同步;如果所有的目標(biāo)服務(wù)器都8返回了同步成功的消息,此時(shí)源服務(wù)器端關(guān)于該條數(shù)據(jù)的記錄將不再有用,因此可以從版本跟蹤表A_SYNC中刪除。這樣,可以避免版本跟蹤表中的內(nèi)容過多,以致占用過多的存儲空間、影響系統(tǒng)性能。為了便于判斷各目標(biāo)服務(wù)器是否都已經(jīng)同步成功,可以采用如下方法在版本跟蹤表中增加關(guān)于某條數(shù)據(jù)變化的記錄時(shí),為源服務(wù)器設(shè)置第一版本號,例如為1,為各目標(biāo)服務(wù)器設(shè)置第二版本號,例如為0;在某目標(biāo)服務(wù)器返回同步成功的消息時(shí),將該目標(biāo)服務(wù)器的版本號修改為1;其他目標(biāo)服務(wù)器也做同樣處理,這樣,當(dāng)版本跟蹤表中所有目標(biāo)服務(wù)器的版本號都變?yōu)?時(shí),則可以判斷出所有目標(biāo)服務(wù)器都已經(jīng)同步成功,此時(shí)便可以將該條記錄刪除了。為了更好地理解本發(fā)明提供的方法,下面通過具體應(yīng)用中的實(shí)例進(jìn)行詳細(xì)地介紹。參見圖3,本發(fā)明提供的方法包括以下步驟S301:源服務(wù)器中的某類數(shù)據(jù)A,其中有一條數(shù)據(jù)發(fā)生變化,那么對應(yīng)的A—SYNC表中就會(huì)插進(jìn)一條相應(yīng)的記錄。S302:更新A—SYNC,或插進(jìn)相應(yīng)記錄來描述該條lt據(jù)的變化,并且來決定目標(biāo)服務(wù)器中對應(yīng)的才喿作。需要說明的是,版本跟蹤表中可能已經(jīng)存在關(guān)于該條數(shù)據(jù)變化的記錄,如果存在,則可以直接在原記錄的基礎(chǔ)上進(jìn)行更新。因此,每次向同步表插入新的記錄之前,可以先執(zhí)行更新操作,如果更新過程中發(fā)現(xiàn)不存在關(guān)于該條數(shù)據(jù)的記錄,則執(zhí)行插入記錄的步驟。S303:發(fā)送程序每分鐘讀取A-SYNC—次,才艮據(jù)A-SYNC表中所述變化的記錄,將需要同步的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器的接收端口。S304:目標(biāo)服務(wù)器實(shí)時(shí)監(jiān)聽,一旦接收到新的數(shù)據(jù)就進(jìn)行數(shù)據(jù)同步操作,將數(shù)據(jù)寫入數(shù)據(jù)庫。S305:如果數(shù)據(jù)寫入數(shù)據(jù)庫成功,則返回同步成功,否則返回同步不成功。S306:更新A-SYNC表。如果收到同步成功的信號,更新A-SYNC表,進(jìn)行監(jiān)測,如果本條數(shù)據(jù)沒有更新了,將從A-SYNC表刪除本條記錄的內(nèi)容。S307:如果收到同步不成功的信號,繼續(xù)進(jìn)行監(jiān)測,本條數(shù)據(jù)需要繼續(xù)同步,再次進(jìn)行以上步驟繼續(xù)同步本條數(shù)據(jù),直到成功為止。同時(shí),由于數(shù)據(jù)變化通??梢园〝?shù)據(jù)更新、數(shù)據(jù)插入或數(shù)據(jù)刪除等,因此,也可以用源服務(wù)器的版本號來區(qū)別不同類型的翁:據(jù)變化,例如,可以用1表示數(shù)據(jù)更新或數(shù)據(jù)插入,用-l表示數(shù)據(jù)刪除。其中,在數(shù)據(jù)更新的過程中,如果一次更新在某些服務(wù)器上尚未同步成功時(shí),又產(chǎn)生了關(guān)于該條數(shù)據(jù)的新的來為1,則現(xiàn)在變?yōu)?,前一次更新尚未成功的服務(wù)器可以根據(jù)兩次版本號的變化,直接按照版本號為3的記錄進(jìn)行數(shù)據(jù)同步,而不再進(jìn)行版本號為1的數(shù)據(jù)同步,這樣可以進(jìn)一步提高更新的效率。例如,生成的A類數(shù)據(jù)的版本跟蹤表可以如表l所示。表l<table>tableseeoriginaldocumentpage10</column></row><table>下面,分別針對源服務(wù)器發(fā)生數(shù)據(jù)更新、數(shù)據(jù)插入和數(shù)據(jù)刪除三種數(shù)據(jù)變化時(shí)、居同步的具體過程進(jìn)行完整地描述。實(shí)施例一、參見圖4,更新數(shù)據(jù)時(shí),本發(fā)明提供的方法包括以下步驟S401:在源服務(wù)器的A類數(shù)據(jù)中更新標(biāo)識為1的一條數(shù)據(jù);S402:程序更新A-SYNC,或在A—SYNC中插入如表1第一行的記錄;S403:發(fā)送程序每隔1分鐘就讀一次A-SYNC表,發(fā)現(xiàn)源服務(wù)器版本號和目標(biāo)服務(wù)器版本號不一致,說明本條數(shù)據(jù)還沒有進(jìn)行同步。S404:發(fā)送程序?qū)⑦@條標(biāo)識為l的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器的接收端口。S405:接收端接收所述數(shù)據(jù),程序去執(zhí)行更新程序,將標(biāo)識為l的數(shù)據(jù)寫入數(shù)據(jù)庫。S406:經(jīng)程序判斷被影響的數(shù)據(jù)條數(shù)是l,程序返回?cái)?shù)值l,說明更新成功,如果程序返回的是不等于l的數(shù),說明更新失敗,該目標(biāo)數(shù)據(jù)庫中不包括該條數(shù)據(jù),則數(shù)據(jù)庫會(huì)自動(dòng)執(zhí)行插入數(shù)據(jù)操作,將標(biāo)識為l的數(shù)據(jù)插入到該目標(biāo)服務(wù)器數(shù)據(jù)庫中并將操作的執(zhí)行結(jié)果(成功或失敗信息)返回給所述源服務(wù)器。S407:從目標(biāo)服務(wù)器返回的數(shù)值寫入A-SYNC表中對應(yīng)的目標(biāo)服務(wù)器N-V-A的位置。其他的目標(biāo)服務(wù)器也一樣。S408:發(fā)送程序再次讀A—SYNC表時(shí),如果N-V—A、N—V_B……的值都為l,那么認(rèn)為各個(gè)目標(biāo)服務(wù)器都已經(jīng)同步成功,則從A-SYNC表中刪除此條數(shù)據(jù);如果N一V—A、IV—B......中有不為l繼續(xù)將不為l的目標(biāo)服務(wù)器進(jìn)行同步。一直到目標(biāo)服務(wù)器的版本號全部為l時(shí),說明此次更新同步成功,從A-SYNC表刪除此條記錄。S409:如果一條數(shù)據(jù)第一次更新同步還沒有完成,源服務(wù)器又有更新,例如標(biāo)識為2的數(shù)據(jù),參照表l的第二行。S410:和以上標(biāo)識為1的數(shù)據(jù)的更新同步步驟一樣,但是上一步的更新還沒有同步完成,則源服務(wù)器版本號在上一步版本號的基礎(chǔ)上加2,目標(biāo)服務(wù)器同步完舊的版本的數(shù)據(jù)后將A_SYNC表中的目標(biāo)服務(wù)器版本號(以N_V_A為例)更新為同步時(shí)的版本,由于此時(shí)源服務(wù)器版本號已在舊的版本號基礎(chǔ)上加2,所以該條數(shù)據(jù)會(huì)繼續(xù)執(zhí)行同步操作直到目標(biāo)服務(wù)器版本與源服務(wù)器版本相同為止。實(shí)施例二、參見圖5,插入數(shù)據(jù)時(shí),本發(fā)明提供的方法包括以下步驟S501:在源服務(wù)器的A類數(shù)據(jù)中插入標(biāo)識為1的一條數(shù)據(jù)。S502:程序更新A-SYNC,或在A—SYNC中插入如表1第一行的記錄。S503:目標(biāo)服務(wù)器端,程序首先執(zhí)行數(shù)據(jù)更新4喿作。S504:如果更新操作失敗,程序的返回值是0(因?yàn)樵撃繕?biāo)服務(wù)器中沒有此條數(shù)據(jù),所以執(zhí)行更新操作該目標(biāo)服務(wù)器中受影響的數(shù)據(jù)條數(shù)為O)。iiS505:程序以返回值為O判斷出需要執(zhí)行插入操作,將標(biāo)識為l的數(shù)據(jù)添加到該目標(biāo)服務(wù)器的數(shù)據(jù)庫。S506:經(jīng)程序判斷目標(biāo)服務(wù)器中被影響的數(shù)據(jù)條數(shù)是l,程序返回?cái)?shù)值l,說明插入成功,向源服務(wù)器返回同步成功的消息;如果程序返回的是不等于l的數(shù),說明插入失敗,向源服務(wù)器返回同步不成功的消息。S507:從目標(biāo)服務(wù)器返回的消息,修改A-SYNC表中對應(yīng)的目標(biāo)服務(wù)器N-V-A的版本號。其他的目標(biāo)服務(wù)器也一樣。S508:發(fā)送程序再次讀A—SYNC表時(shí),如果N-V-A、N_V—B……的值都為l,那么從A-SYNC表中刪除此條數(shù)據(jù);如果N一V—A、N—V—B……中有不為l繼續(xù)將不為l的目標(biāo)服務(wù)器進(jìn)行同步。一直到目標(biāo)服務(wù)器的版本號也都為l時(shí),說明此次插入同步成功,從A—SYNC表刪除此條數(shù)據(jù)。實(shí)施例三、參見圖6,刪除數(shù)據(jù)時(shí),本發(fā)明提供的方法包括以下步驟S601:在源服務(wù)器的數(shù)據(jù)表A中刪除標(biāo)識為3的一條數(shù)據(jù)。S602:程序更新A—SYNC,或在A—SYNC表中插入如表1第三行的記錄。S603:發(fā)送程序每隔1分鐘就讀一次A-SYNC表,發(fā)現(xiàn)源服務(wù)器版本號和目標(biāo)服務(wù)器版本號不一致,說明本條數(shù)據(jù)還沒有進(jìn)行同步。S604:發(fā)送程序?qū)⑦@條標(biāo)識為3的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器的接收端口。S605:程序讀取標(biāo)識為3的數(shù)據(jù),發(fā)現(xiàn)源服務(wù)器版本號為-1,則執(zhí)行相應(yīng)的刪除程序,將標(biāo)識為3的數(shù)據(jù)從目標(biāo)服務(wù)器的數(shù)據(jù)庫中刪除。S606:如果目標(biāo)服務(wù)器執(zhí)行刪除操作成功則返回成功信息,否則返回失敗^息。S607:從目標(biāo)服務(wù)器返回的數(shù)值寫入A-SYNC表中對應(yīng)的目標(biāo)服務(wù)器N—V一A的位置。其他的目標(biāo)服務(wù)器也一樣。S608:發(fā)送程序再次讀A—SYNC表時(shí),如果N-V-A、N-V-B……的值都與N—VER相同,那么從A-SYNC表中刪除此條記錄;如果N-V-A、N—V—B……中有不為-l的繼續(xù)將不為-1的目標(biāo)服務(wù)器進(jìn)行同步。一直到目標(biāo)服務(wù)器的版本號全部為-1時(shí),說明此次刪除同步成功,乂人A-SYNC表刪除此條記錄。與本發(fā)明提供的方法相對應(yīng),本發(fā)明還提供了一種多服務(wù)器間數(shù)據(jù)同步的系統(tǒng),涉及源服務(wù)器及至少一個(gè)目標(biāo)服務(wù)器,參見圖7,該系統(tǒng)中,源服務(wù)器包括以下單元版本跟蹤表建立單元U701,用于分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;版本跟蹤表管理單元11702,用于當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在該數(shù)據(jù)的版本跟蹤表中增加關(guān)于所述變化的記錄;發(fā)送單元U703,用于根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器;所述目標(biāo)服務(wù)器包括同步執(zhí)行單元U704,用于利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。需要說明的是,由于所謂源服務(wù)器與目標(biāo)服務(wù)器只是相對的概念,因此,在所述目標(biāo)服務(wù)器中,也可能包括同步執(zhí)行單元U704;同樣在所述目標(biāo)服務(wù)器中,也可能包括同步表建立單元U701、同步表管理單元U702及發(fā)送單元U703。也就是說,當(dāng)一個(gè)服務(wù)器上發(fā)生數(shù)據(jù)變化時(shí),該服務(wù)器將執(zhí)行所述源服務(wù)器的操作,對應(yīng)的服務(wù)器執(zhí)行目標(biāo)服務(wù)器的操作。版本跟蹤表建立單元U701分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;在源服務(wù)器數(shù)據(jù)庫中,當(dāng)某類數(shù)據(jù)中的某條數(shù)據(jù)發(fā)生變化時(shí),版本跟蹤表管理單元U702在該類數(shù)據(jù)的版本跟蹤表中增加關(guān)于所述變化的記錄,發(fā)送單元U703根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器。在目標(biāo)服務(wù)器端,同步執(zhí)行單元U704利用接收到所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。參見圖8,在目標(biāo)服務(wù)器端,還可以包括同步成功消息發(fā)送單元U805,用于當(dāng)目標(biāo)服務(wù)器同步成功時(shí),則向原服務(wù)器返回同步成功消息;版本跟蹤表管理單元U802還用于判斷是否所有目標(biāo)服務(wù)器均同步成功,如果是,刪除所述版本跟蹤表中的記錄。優(yōu)選的,版本跟蹤表管理單元U802可以利用以下子單元判斷是否所有目標(biāo)服務(wù)器均同步成功版本號設(shè)置子單元U8021,用于為源服務(wù)器設(shè)置第一版本號,為各目標(biāo)服務(wù)器設(shè)置第二版本號;版本號修改子單元U8022,用于接收到目標(biāo)服務(wù)器的同步成功消息后,將該目標(biāo)服務(wù)器的第二版本號修改為第一版本號;判斷子單元U8023,用于判斷各目標(biāo)服務(wù)器的版本號是否全部為第一版本號,如果是,則所有目標(biāo)服務(wù)器均同步成功。在實(shí)際應(yīng)用中,所述變化可以包括更新數(shù)據(jù)、插入數(shù)據(jù)或刪除數(shù)據(jù),因此,版本號設(shè)置子單元U8021可以通過為源服務(wù)器設(shè)置不同的第一版本號來記錄數(shù)據(jù)的變化;版本跟蹤表管理單元U802將所述不同的第一版本號作為關(guān)于所述變化的記錄。優(yōu)選的,發(fā)送單元U803可以根據(jù)預(yù)置時(shí)間向各目標(biāo)服務(wù)器發(fā)送所述需要同步的數(shù)據(jù)。以上對本發(fā)明所提供的一種多服務(wù)器間數(shù)據(jù)同步的方法及系統(tǒng),進(jìn)行了詳實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。權(quán)利要求1、一種多服務(wù)器間數(shù)據(jù)同步的方法,其特征在于,包括源服務(wù)器分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在相應(yīng)的版本跟蹤表中增加關(guān)于所述變化的記錄;根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器,目標(biāo)服務(wù)器利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括如果目標(biāo)服務(wù)器同步成功,則向源服務(wù)器返回同步成功消息;源服務(wù)器判斷是否所有目標(biāo)服務(wù)器均同步成功,如果是,刪除版本跟蹤表中的記錄。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,在版本跟蹤表中增加關(guān)于所述變化的記錄時(shí),還包括為源服務(wù)器設(shè)置第一版本號,為各目標(biāo)服務(wù)器設(shè)置第二版本號;則,判斷是否所有目標(biāo)服務(wù)器均同步成功的具體實(shí)現(xiàn)包括接收到目標(biāo)服務(wù)器的同步成功消息后,將該目標(biāo)服務(wù)器的第二版本號修改為第一版本號;判斷各目標(biāo)服務(wù)器的版本號是否全部為第一版本號,如果是,則所有目標(biāo)服務(wù)器均同步成功。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述變化包括更新數(shù)據(jù)、插入數(shù)據(jù)或刪除數(shù)據(jù),則通過為源服務(wù)器設(shè)置不同的第一版本號來描述數(shù)據(jù)的變化。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)預(yù)置時(shí)間向各目標(biāo)服務(wù)器發(fā)送所述發(fā)生變化的數(shù)據(jù)。6、一種多服務(wù)器間數(shù)據(jù)同步的系統(tǒng),涉及源服務(wù)器及至少一個(gè)目標(biāo)服務(wù)器,其特征在于,所述源服務(wù)器包括版本跟蹤表建立單元,用于分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;版本跟蹤表管理單元,用于當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在相應(yīng)的版本跟蹤表中增加關(guān)于所述變化的記錄;發(fā)送單元,用于根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器;所述目標(biāo)服務(wù)器包括同步執(zhí)行單元,用于利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。7、根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述目標(biāo)服務(wù)器還包括同步成功消息發(fā)送單元,用于當(dāng)目標(biāo)服務(wù)器同步成功時(shí),則向源服務(wù)器返回同步成功消息;所述版本跟蹤表管理單元還用于判斷是否所有目標(biāo)服務(wù)器均同步成功,如果是,刪除所述版本跟蹤表中的記錄。8、根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述版本跟蹤表管理單元利用以下子單元判斷是否所有目標(biāo)服務(wù)器均同步成功版本號設(shè)置子單元,用于為源服務(wù)器設(shè)置第一版本號,為各目標(biāo)服務(wù)器設(shè)置第二版本號;版本號修改子單元,用于接收到目標(biāo)服務(wù)器的同步成功消息后,將該目標(biāo)服務(wù)器的第二版本號修改為第一版本號;判斷子單元,用于判斷各目標(biāo)服務(wù)器的版本號是否全部為第一版本號,如果是,則所有目標(biāo)服務(wù)器均同步成功。9、根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述變化包括更新數(shù)據(jù)、插入數(shù)據(jù)或刪除數(shù)據(jù),所述版本號設(shè)置單元?jiǎng)t通過為源服務(wù)器"i殳置不同的第一版本號來記錄數(shù)據(jù)的變化;所述版本跟蹤表管理單元將所述不同的第一版本號作為關(guān)于所述變化的記錄。10、根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述發(fā)送單元根據(jù)預(yù)置時(shí)間向各目標(biāo)服務(wù)器發(fā)送所述需要同步的數(shù)據(jù)。全文摘要本發(fā)明公開了一種多服務(wù)器之間數(shù)據(jù)同步的方法,該方法包括源服務(wù)器分別為每類需要同步的數(shù)據(jù)建立版本跟蹤表;當(dāng)有數(shù)據(jù)發(fā)生變化時(shí),在相應(yīng)的版本跟蹤表中增加關(guān)于所述變化的記錄;根據(jù)版本跟蹤表中的記錄,將發(fā)生變化的數(shù)據(jù)發(fā)送到目標(biāo)服務(wù)器,目標(biāo)服務(wù)器利用接收到的所述發(fā)生變化的數(shù)據(jù)進(jìn)行數(shù)據(jù)同步。本發(fā)明還公開了一種多服務(wù)器之間數(shù)據(jù)同步的系統(tǒng),通過本發(fā)明,使用同步表實(shí)時(shí)記錄數(shù)據(jù)庫的變化,并且只對數(shù)據(jù)庫中發(fā)生變化的數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步,因此實(shí)現(xiàn)了數(shù)據(jù)在多服務(wù)器之間進(jìn)行同步的及時(shí)性及高效性。文檔編號H04L29/08GK101426026SQ200810222368公開日2009年5月6日申請日期2008年9月17日優(yōu)先權(quán)日2008年9月17日發(fā)明者蔣亞洪申請人:北京六維世紀(jì)網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
柘荣县| 潼南县| 涟水县| 大宁县| 奉节县| 稷山县| 宁国市| 南充市| 外汇| 垣曲县| 环江| 西乡县| 景谷| 桂平市| 阿拉善左旗| 澄迈县| 江门市| 疏勒县| 宁乡县| 台前县| 图们市| 洮南市| 泰和县| 富顺县| 连平县| 镇江市| 封丘县| 历史| 安龙县| 遂平县| 基隆市| 永城市| 永宁县| 武陟县| 延长县| 巴里| 闽侯县| 张北县| 秀山| 蒲江县| 南投县|