專利名稱:一種信息同步方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種信息同步方法及系統(tǒng)。
背景技術(shù):
隨著社會(huì)信息化的日益發(fā)展,數(shù)據(jù)庫(kù)技術(shù)已被越來越多地廣泛應(yīng)用。在日常數(shù)據(jù)傳輸應(yīng)用中,數(shù)據(jù)同步是必不可少的手段之一,目前的主流方式是數(shù)據(jù)庫(kù)主從復(fù)制,該種方法較穩(wěn)定、效率較高,但存在同步速度慢且CPU利用率較低的問題,主要原因是數(shù)據(jù)庫(kù)在同步過程中傳輸效率不高。
發(fā)明內(nèi)容
本發(fā)明提供一種信息同步方法及系統(tǒng)以解決上述問題。本發(fā)明提供一種信息同步方法,包括以下步驟。主數(shù)據(jù)庫(kù)中會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中,推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)并由所述從數(shù)據(jù)庫(kù)將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中。兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。本發(fā)明提供一種信息同步系統(tǒng),包括記錄裝置、推送裝置、存儲(chǔ)裝置、讀取裝置。記錄裝置,用于會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中。推送裝置,與記錄裝置連接,用于將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置。存儲(chǔ)裝置,與推送裝置連接,用于將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件。讀取裝置,與存儲(chǔ)裝置連接,用于從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。相較于先前技術(shù),根據(jù)本發(fā)明提供的信息同步方法及系統(tǒng),從提高CPU利用率的角度出發(fā),實(shí)現(xiàn)多個(gè)從庫(kù)對(duì)同一中繼日志存儲(chǔ)文件共享訪問,提高了信息同步的速度。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1所示為根據(jù)本發(fā)明的較佳實(shí)施例提供的信息同步方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實(shí)施例提供的信息同步系統(tǒng)的示意圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。圖1所示為根據(jù)本發(fā)明的較佳實(shí)施例提供的信息同步方法的流程圖,如圖1所示, 本發(fā)明的較佳實(shí)施例提供的信息同步方法包括步驟101 102。步驟101 主數(shù)據(jù)庫(kù)中會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中,推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)并由所述從數(shù)據(jù)庫(kù)將所述會(huì)話信息存儲(chǔ)至中
具體而言,主數(shù)據(jù)庫(kù)中會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中后,推送線程讀取日志存儲(chǔ)文件中存儲(chǔ)的待推送會(huì)話信息并發(fā)送至從數(shù)據(jù)庫(kù)。主數(shù)據(jù)庫(kù)在推送線程讀取并推送待推送會(huì)話信息后,刪除該已推送過的會(huì)話信息。當(dāng)然,主數(shù)據(jù)庫(kù)也可以不刪除日志存儲(chǔ)文件中已推送過的會(huì)話信息,對(duì)此本發(fā)明并不作出限定。當(dāng)推送線程發(fā)送所述會(huì)話信息至從數(shù)據(jù)庫(kù)的輸入輸出線程后,輸入輸出線程接收該會(huì)話信息,并將接收到的會(huì)話信息存儲(chǔ)到中繼日志存儲(chǔ)文件中,供本地的SQL線程及其它從數(shù)據(jù)庫(kù)上的SQL線程讀取。步驟102 兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì) lSfn 息。具體而言,兩個(gè)以上從數(shù)據(jù)庫(kù),包括與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)、與所述從數(shù)據(jù)庫(kù)相連的其它從數(shù)據(jù)庫(kù)。當(dāng)與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)將會(huì)話信息存儲(chǔ)到中繼日志存儲(chǔ)文件中后,本地的SQL線程及與所述從數(shù)據(jù)庫(kù)相連的其它從數(shù)據(jù)庫(kù)上的SQL線程,讀取中繼日志存儲(chǔ)文件中存儲(chǔ)的會(huì)話信息。兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從中繼日志存儲(chǔ)文件中讀取會(huì)話信息后,與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)將該會(huì)話信息從中繼日志存儲(chǔ)文件中刪除。當(dāng)然,與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)也可以不刪除中繼日志存儲(chǔ)文件中已讀取過的會(huì)話信息,對(duì)此本發(fā)明并不作出限定。圖2所示為根據(jù)本發(fā)明的較佳實(shí)施例提供的信息同步系統(tǒng)的示意圖,如圖2所示, 信息同步系統(tǒng)包括記錄裝置201、推送裝置202、存儲(chǔ)裝置203、讀取裝置204及讀取裝置 205。其中,記錄裝置201、推送裝置202位于主數(shù)據(jù)庫(kù)中,存儲(chǔ)裝置203、讀取裝置204位于與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)1中,讀取裝置205位于與從數(shù)據(jù)庫(kù)1相連的從數(shù)據(jù)庫(kù)2中。于本實(shí)施例中,記錄裝置201,用于會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中; 推送裝置202,與記錄裝置201連接,用于將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置; 存儲(chǔ)裝置203,與推送裝置202連接,用于將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件;讀取裝置204及讀取裝置205,與存儲(chǔ)裝置203連接,用于從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話{曰息ο其中,推送裝置202中的推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置 203中的輸入輸出線程,存儲(chǔ)裝置203中的輸入輸出線程將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中。讀取裝置204及讀取裝置205中的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。 如圖2所示的信息同步系統(tǒng),還可以包括刪除裝置A、刪除裝置B,刪除裝置A位于主數(shù)據(jù)庫(kù)中,刪除裝置B位于與主數(shù)據(jù)庫(kù)相連的從數(shù)據(jù)庫(kù)1中。其中刪除裝置A分別與記錄裝置201、推送裝置202連接,當(dāng)推送裝置202將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置203后,刪除裝置A刪除記錄裝置201的日志存儲(chǔ)文件中已被發(fā)送的會(huì)話信息。當(dāng)然,刪除裝置A也可以不予設(shè)置,對(duì)此本發(fā)明并不作出限定。刪除裝置B分別與存儲(chǔ)裝置203、讀取裝置204及讀取裝置205連接,讀取裝置204 及讀取裝置205中的SQL線程,從存儲(chǔ)裝置203的中繼日志存儲(chǔ)文件中讀取會(huì)話信息后,刪除裝置B刪除存儲(chǔ)裝置203中已被讀取的所述會(huì)話信息。當(dāng)然,刪除裝置B也可以不予設(shè)置,對(duì)此本發(fā)明并不作出限定。綜上所述,根據(jù)本發(fā)明提供的信息同步方法及系統(tǒng),從提高CPU利用率的角度出發(fā),實(shí)現(xiàn)多個(gè)從庫(kù)對(duì)同一中繼日志存儲(chǔ)文件共享訪問,提高了信息同步的速度。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種信息同步方法,其特征在于,包括以下步驟主數(shù)據(jù)庫(kù)中會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中,推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)并由所述從數(shù)據(jù)庫(kù)將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中;兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)并由所述從數(shù)據(jù)庫(kù)將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中的過程為推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)中的輸入輸出線程,所述輸入輸出線程將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,主數(shù)據(jù)庫(kù)中推送線程讀取日志存儲(chǔ)文件中的待推送會(huì)話信息并發(fā)送至從數(shù)據(jù)庫(kù)后,主數(shù)據(jù)庫(kù)將日志存儲(chǔ)文件中已被推送的會(huì)話信息刪除。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取完所述會(huì)話信息后,刪除所述中繼日志存儲(chǔ)文件中已被讀取的所述會(huì)話{曰息ο
5.一種信息同步系統(tǒng),其特征在于,包括記錄裝置、推送裝置、存儲(chǔ)裝置、讀取裝置,記錄裝置,用于會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中;推送裝置,與記錄裝置連接,用于將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置;存儲(chǔ)裝置,與推送裝置連接,用于將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件;讀取裝置,與存儲(chǔ)裝置連接,用于從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,記錄裝置、推送裝置設(shè)置于主數(shù)據(jù)庫(kù)中; 存儲(chǔ)裝置、讀取裝置設(shè)置于從數(shù)據(jù)庫(kù)中。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,推送裝置中的推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至存儲(chǔ)裝置中的輸入輸出線程。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,存儲(chǔ)裝置中的輸入輸出線程將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,讀取裝置中的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。
10.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,還包括刪除裝置,所述刪除裝置分別與讀取裝置、存儲(chǔ)裝置相連,讀取裝置中的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息后,所述刪除裝置刪除所述存儲(chǔ)裝置中已被讀取的所述會(huì)話信息。
全文摘要
本發(fā)明提供一種信息同步方法及系統(tǒng),以上方法包括以下步驟。主數(shù)據(jù)庫(kù)中會(huì)話線程將會(huì)話信息記錄至日志存儲(chǔ)文件中,推送線程將日志存儲(chǔ)文件中的會(huì)話信息發(fā)送至從數(shù)據(jù)庫(kù)并由所述從數(shù)據(jù)庫(kù)將所述會(huì)話信息存儲(chǔ)至中繼日志存儲(chǔ)文件中。兩個(gè)以上從數(shù)據(jù)庫(kù)的SQL線程,從所述中繼日志存儲(chǔ)文件中讀取所述會(huì)話信息。
文檔編號(hào)G06F17/30GK102411612SQ20111033000
公開日2012年4月11日 申請(qǐng)日期2011年10月27日 優(yōu)先權(quán)日2011年10月27日
發(fā)明者胡加明 申請(qǐng)人:蘇州闊地網(wǎng)絡(luò)科技有限公司