專利名稱:無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法
技術(shù)領(lǐng)域:
本發(fā)明涉及表數(shù)據(jù)增量同步方法,特別涉及無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表增量同步 方法。
背景技術(shù):
在無線通信基站系統(tǒng)中,可分為前臺(tái)基站系統(tǒng)(BSS)和后臺(tái)操作維護(hù)系統(tǒng)(OMS)?;?站系統(tǒng)業(yè)務(wù)配置數(shù)據(jù)駐留在前臺(tái)業(yè)務(wù)處理單板的內(nèi)存中,稱為內(nèi)存數(shù)據(jù)庫。后臺(tái)操作維護(hù)系 統(tǒng)OMS通過其配置管理模塊更新配置數(shù)據(jù), 一方面要將更新的配置數(shù)據(jù)保存到后臺(tái)數(shù)據(jù)庫, 另一方面也需要將更新的配置數(shù)據(jù)通過前臺(tái)BSS的前后臺(tái)同步模塊,更新到前臺(tái)內(nèi)存數(shù)據(jù)庫 中,以保證后臺(tái)配置的數(shù)據(jù)能夠及時(shí)反映到前臺(tái)。無線通信基站系統(tǒng)的前后臺(tái)同步邏輯圖如 圖1所示。由于基站系統(tǒng)業(yè)務(wù)量大、訪問數(shù)據(jù)頻繁,業(yè)務(wù)處理要求實(shí)時(shí)性強(qiáng),因此,前后臺(tái) 同步數(shù)據(jù)時(shí)間應(yīng)該盡量短,以免影響前臺(tái)業(yè)務(wù)運(yùn)行。
現(xiàn)有的前后臺(tái)同步方法,包括整表同步和增量同步。整表同步就是后臺(tái)配置管理模塊不 判斷配置數(shù)據(jù)是否改變,直接將后臺(tái)所有關(guān)系表數(shù)據(jù)都同步到前臺(tái)內(nèi)存數(shù)據(jù)庫中,完成前臺(tái) 的數(shù)據(jù)的更新。而考慮到同步效率問題,引入了增量同步的概念,增量同步只同步變化的配 置數(shù)據(jù)內(nèi)容,省去了整表同步過程中大量的冗余數(shù)據(jù),減少了前后臺(tái)的通訊數(shù)據(jù)量?,F(xiàn)有的 增量同步方法通常有如下兩種方法一采用后臺(tái)連串控制消息,發(fā)送到前臺(tái),前臺(tái)逐一執(zhí)
行,實(shí)現(xiàn)記錄的增量修改。方法二采用將數(shù)據(jù)庫數(shù)據(jù)劃分為若干數(shù)據(jù)塊,增量同步前,判
斷各個(gè)數(shù)據(jù)塊是否變化,只同步變化的數(shù)據(jù)塊內(nèi)容,此增量同步方法只適用于主備同步。
現(xiàn)有的增量同步有以下不足對于方法一,當(dāng)數(shù)據(jù)量較大且數(shù)據(jù)修改增多的時(shí)候,控制 消息逐條發(fā)送會(huì)使得操作時(shí)間延長,前后臺(tái)交互多,實(shí)現(xiàn)較復(fù)雜。同時(shí),如果控制消息中間 丟失,則可能導(dǎo)致前臺(tái)數(shù)據(jù)不一致,影響前臺(tái)系統(tǒng)的穩(wěn)定性;對于方法二,前臺(tái)數(shù)據(jù)加載操
作實(shí)現(xiàn)困難,增加前臺(tái)數(shù)據(jù)操作的復(fù)雜度。目前還缺少一種增量同步后數(shù)據(jù)更新加載迅速, 前臺(tái)實(shí)現(xiàn)復(fù)雜度低的數(shù)據(jù)庫數(shù)據(jù)增量同步方法,不適合應(yīng)用于前后臺(tái)的增量同步。因此迫切 需要一種前后臺(tái)通訊交互少,前臺(tái)加載效率高的前后臺(tái)表數(shù)據(jù)增量同步方法。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的缺陷和不足,本發(fā)明的目的在于提供一種無線通信基站系統(tǒng)前后臺(tái) 數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,能夠使移動(dòng)通訊基站系統(tǒng)前后臺(tái)配置表數(shù)據(jù)的快速分發(fā)與同步, 有效提高移動(dòng)通訊基站系統(tǒng)前后臺(tái)間配置表數(shù)據(jù)同步的效率。
為了達(dá)到上述目的,本發(fā)明一種無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法, 其特征在于,包括以下步驟
(1) 后臺(tái)組織出增量同步事務(wù)集;
其中,所述的增量事務(wù)包括操作標(biāo)志和相對應(yīng)的記錄數(shù)據(jù)內(nèi)容;
(2) 后臺(tái)將增量事務(wù)集數(shù)據(jù)全部傳輸給前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊;
(3) 前臺(tái)接收完數(shù)據(jù)后,對于每條增量事務(wù)所對應(yīng)的記錄數(shù)據(jù)內(nèi)容,調(diào)用對應(yīng)表中的操 作方法,對每個(gè)增量事務(wù)進(jìn)行增量同步。
作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(1)中組織出增量同步事務(wù)集的方法為-
(11 )后臺(tái)將標(biāo)識(shí)增量同步表數(shù)量的表數(shù)量標(biāo)識(shí)添加到增量同步事務(wù)集的第一位; (12)在表數(shù)量標(biāo)識(shí)后依次添加增量事務(wù)表,并組織表中內(nèi)容的關(guān)聯(lián)關(guān)系。 作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(12)中組織表中內(nèi)容關(guān)聯(lián)關(guān)系的方法為
(121) 在增量事務(wù)表的首位添加增量同步表的表名;
(122) 在表名后添加標(biāo)識(shí)增量同步記錄數(shù)據(jù)數(shù)量的記錄數(shù)量標(biāo)識(shí);
(123) 在記錄數(shù)量標(biāo)識(shí)后添加增量事務(wù)操作標(biāo)志;
(124) 在操作標(biāo)志后添加記錄數(shù)據(jù)的內(nèi)容。 作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(1)和步驟(2)之間還包括
(A)前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊將自己的數(shù)據(jù)庫版本號發(fā)送給后臺(tái),后臺(tái)判斷比較數(shù)據(jù)
庫版本是否一致,如果判斷結(jié)果為不一致,步驟結(jié)束;如果判斷結(jié)果為一致,則進(jìn)入步驟(2)。 作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(3)具體為
(21) 后臺(tái)發(fā)送給前臺(tái)增量事務(wù)集數(shù)據(jù)傳輸開始請求,前臺(tái)數(shù)據(jù)庫同步模塊做好接收增
量事務(wù)集數(shù)據(jù)準(zhǔn)備,返回給后臺(tái)準(zhǔn)備就緒響應(yīng);
(22) 后臺(tái)將增量事務(wù)集數(shù)據(jù)按照數(shù)據(jù)包的形式傳輸給前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊;
(23) 前臺(tái)數(shù)據(jù)庫同步模塊將接收的數(shù)據(jù)包按順序存入接收緩沖區(qū),并返回接收確認(rèn)響
應(yīng);
(24) 后臺(tái)接收到確認(rèn)響應(yīng)后,査看增量事務(wù)集是否傳輸完畢,如果沒有傳輸完畢,則
返回步驟(22);如果傳輸完畢,則后臺(tái)向前臺(tái)發(fā)送數(shù)據(jù)傳輸完畢消息,進(jìn)入步驟(25); (25)前臺(tái)接收到傳輸完畢消息后,返回確認(rèn)消息。 作為本發(fā)明的進(jìn)一步改進(jìn),所迷的步驟(3)具體為
(31) 前臺(tái)解析增量事務(wù)集的表名,并根據(jù)表名找到對應(yīng)的數(shù)據(jù)庫關(guān)系表;
(32) 對每一個(gè)增量事務(wù),根據(jù)增量事務(wù)表的記錄長度屬性獲取當(dāng)前記錄數(shù)據(jù)內(nèi)容的數(shù) 據(jù)長度,解析出當(dāng)前增量事務(wù)對應(yīng)的記錄數(shù)據(jù)內(nèi)容;
(33) 對每一個(gè)增量事務(wù),根據(jù)增量事務(wù)操作標(biāo)志,確定需要調(diào)用的對應(yīng)表的記錄操作 方法;并根據(jù)解析獲得的每條對應(yīng)的記錄數(shù)據(jù)內(nèi)容,調(diào)用對應(yīng)表的操作方法,完成每個(gè)數(shù)據(jù) 庫增量事務(wù)的增量同步任務(wù)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(31)前還包括-
(a) 前臺(tái)解析出本次需要進(jìn)行增量同步的增量事務(wù)表的數(shù)量,并根據(jù)增量事務(wù)數(shù)量,確 定需要處理的增量事務(wù)的算法次數(shù);
(b) 前臺(tái)開始對每一個(gè)表進(jìn)行遍歷操作,判斷是否所有表都遍歷完畢,如果判斷結(jié)果為 是,則步驟結(jié)束;如果判斷結(jié)果為否,則進(jìn)入步驟(31)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(31)和步驟(32)之間還包括-
(c) 前臺(tái)開始對當(dāng)前表中的增量事務(wù)進(jìn)行遍歷操作,判斷是否所有的增量事務(wù)操作都執(zhí) 行完畢;如果判斷結(jié)果為是,則返回步驟(b);否則,進(jìn)入步驟(32)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述的步驟(33)具體為
(331) 對每一個(gè)增量事務(wù),前臺(tái)判斷事務(wù)操作標(biāo)志是否是插入標(biāo)志,如果判斷結(jié)果為是, 則進(jìn)入步驟(332);否則,進(jìn)入步驟(333);
(332) 前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的插入方法,將記錄數(shù)據(jù)內(nèi)容插入到關(guān)系表中;并判斷 本次執(zhí)行插入操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337)。
(333) 判斷事務(wù)操作標(biāo)志是否是修改標(biāo)志,如果是修改標(biāo)志,則轉(zhuǎn)到步驟(334);否則, 轉(zhuǎn)到步驟(335);
(334) 前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的修改方法,將記錄數(shù)據(jù)內(nèi)容更新到當(dāng)前關(guān)系表中,并 判斷本次執(zhí)行修改更新操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337)。
(335) 判斷事務(wù)操作標(biāo)志是否是刪除標(biāo)志,如果是刪除標(biāo)志,則轉(zhuǎn)到步驟(336);否則, 步驟結(jié)束;
(336) 前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的刪除方法,將關(guān)系表中指定的記錄數(shù)據(jù)刪除,并判斷
本次執(zhí)行刪除記錄操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337); (337)前臺(tái)記錄下執(zhí)行失敗的事務(wù),終止增量同步事務(wù)集執(zhí)行更新操作流程。
釆用上述的方法,通過后臺(tái)統(tǒng)計(jì)需要增量同步的增量事務(wù)集數(shù)據(jù),并將該增量事務(wù)集數(shù) 據(jù)按照數(shù)據(jù)包的形式傳輸給前臺(tái),前臺(tái)根據(jù)每個(gè)增量事務(wù)的操作標(biāo)志調(diào)用對應(yīng)關(guān)系表中的操 作方法,對記錄數(shù)據(jù)進(jìn)行相關(guān)操作,能夠使移動(dòng)通訊基站系統(tǒng)前后臺(tái)配置表數(shù)據(jù)的快速分發(fā) 與同步,并且有效的提高移動(dòng)通訊基站系統(tǒng)前后臺(tái)間配置表數(shù)據(jù)同步的效率。
圖1為無線通信基站系統(tǒng)的前后臺(tái)同步邏輯示意圖; 圖2為本發(fā)明增量同步事務(wù)集數(shù)據(jù)組織方式示意圖; 圖3為本發(fā)明表數(shù)據(jù)增量同步過程流程示意圖; 圖4為本發(fā)明增量同步事務(wù)集執(zhí)行流程示意圖。
具體實(shí)施例方式
本發(fā)明提供一種無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步的新方法,實(shí)現(xiàn)移動(dòng)通 訊基站系統(tǒng)前后臺(tái)配置表數(shù)據(jù)的快速分發(fā)與同步,有效提高移動(dòng)通訊基站系統(tǒng)前后臺(tái)間配置 表數(shù)據(jù)同步的效率。
本發(fā)明涉及的無線通信基站系統(tǒng)包括后臺(tái),即操作維護(hù)管理系統(tǒng)OMS,和前臺(tái),即基站 系統(tǒng)業(yè)務(wù)處理單板內(nèi)存數(shù)據(jù)庫;配置數(shù)據(jù)統(tǒng)一在后臺(tái)進(jìn)行配置,后臺(tái)更新的數(shù)據(jù)需要同步到 前臺(tái),以保證前后臺(tái)數(shù)據(jù)的一致性。
為了實(shí)現(xiàn)數(shù)據(jù)庫前后臺(tái)增量同步,結(jié)合數(shù)據(jù)庫系統(tǒng)的特點(diǎn),將以數(shù)據(jù)庫事務(wù)作為一個(gè)操 作單元。所謂數(shù)據(jù)庫"事務(wù)"是一系列由單個(gè)任務(wù)或應(yīng)用程序提交的數(shù)據(jù)庫操作。這些操作 是一個(gè)不可分割的整體。事務(wù)將數(shù)據(jù)庫從一個(gè)一致性狀態(tài)轉(zhuǎn)變到另一個(gè)一致性狀態(tài)。即事務(wù) 執(zhí)行之前和執(zhí)行之后,數(shù)據(jù)庫都處于一致性狀態(tài)。但這種一致性在事務(wù)的執(zhí)行過程中將不被 保證。
本發(fā)明涉及的"增量事務(wù)"由兩部分組成, 一個(gè)是增量事務(wù)的操作標(biāo)志(操作標(biāo)志包括 三種,即插入、修改和刪除),另一個(gè)是增量事務(wù)對應(yīng)的表記錄數(shù)據(jù)。 一個(gè)增量事務(wù)對應(yīng)一個(gè) 增量事務(wù)操作標(biāo)志和一條對應(yīng)的表記錄數(shù)據(jù)內(nèi)容。
本發(fā)明的數(shù)據(jù)庫數(shù)據(jù)增量同步過程可以分為如下三個(gè)步驟實(shí)現(xiàn)
1、 數(shù)據(jù)庫增量數(shù)據(jù)的獲取階段
增量配置是修改和更新以一條條的記錄為單位進(jìn)行,每條記錄需要對應(yīng)一條數(shù)據(jù)庫增量 事務(wù)操作標(biāo)志。由于各關(guān)系表存在一定的關(guān)聯(lián)關(guān)系,某關(guān)系表的記錄發(fā)生改變可能會(huì)導(dǎo)致其 關(guān)聯(lián)關(guān)系表的記錄相應(yīng)變化,后臺(tái)將保證關(guān)聯(lián)關(guān)系和操作順序的正確性。
后臺(tái)需要統(tǒng)計(jì)出共有哪些關(guān)系表需要增量同步,每張關(guān)系表(以表名來區(qū)分每個(gè)表)中 有哪些記錄需要進(jìn)行增量同步,以及這些記錄需要進(jìn)行的數(shù)據(jù)庫事務(wù)操作方法。增量同步數(shù) 據(jù)庫增量事務(wù)操作類型共有三種,即插入、修改和刪除操作。
增量事務(wù)集的排列順序首先以關(guān)系表為單位進(jìn)行排列,關(guān)系表的排列順序需要保證數(shù)據(jù)
庫內(nèi)部的關(guān)聯(lián)關(guān)系;然后,對于每個(gè)關(guān)系表,要說明該關(guān)系表中需要進(jìn)行增量同步的增量事 務(wù)數(shù)量;對于每個(gè)增量事務(wù),包括一個(gè)該增量事務(wù)的操作標(biāo)志(插入、修改或刪除操作)和 一條該增量事務(wù)對應(yīng)的記錄數(shù)據(jù)內(nèi)容。每個(gè)表中可以有一個(gè)或多個(gè)增量事務(wù)。增量事務(wù)的排 列順序需要保證數(shù)據(jù)庫內(nèi)部的關(guān)聯(lián)關(guān)系。
這里,也可以事先說明需要進(jìn)行增量同步的表的數(shù)量,當(dāng)然該步驟為可選。
2、 增量數(shù)據(jù)傳輸階段
在進(jìn)行數(shù)據(jù)傳輸前,前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊可以將自己的數(shù)據(jù)庫版本號發(fā)送給后臺(tái), 后臺(tái)比較數(shù)據(jù)庫版本是否一致,如果不一致,則可能記錄數(shù)據(jù)字段格式不一致,無法完成增 量同步。
后臺(tái)發(fā)送給前臺(tái)數(shù)據(jù)庫傳輸開始請求,前臺(tái)數(shù)據(jù)庫同步模塊做好接收增量事務(wù)集數(shù)據(jù)準(zhǔn) 備(如初始化接收數(shù)據(jù)緩沖區(qū),以及初始化相關(guān)接收標(biāo)志和變量。),并返回給后臺(tái)準(zhǔn)備就緒 響應(yīng)。
后臺(tái)將數(shù)據(jù)庫增量數(shù)據(jù)的獲取階段準(zhǔn)備好的增量事務(wù)集數(shù)據(jù)按照數(shù)據(jù)包的形式傳輸給前 臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊(可采用成熟的滑動(dòng)窗口等傳輸方法進(jìn)行傳輸)。前臺(tái)數(shù)據(jù)庫同步模塊 將接收的數(shù)據(jù)包順序存入數(shù)據(jù)接收緩沖區(qū),并返回后臺(tái)接收確認(rèn)響應(yīng)。
后臺(tái)收到前臺(tái)接收確認(rèn)響應(yīng)后,查看是否增量事務(wù)集數(shù)據(jù)都傳輸完畢,如果沒有傳輸完 畢,則繼續(xù)傳輸增量事務(wù)集數(shù)據(jù);如果所有增量事務(wù)集數(shù)據(jù)都傳輸完畢,則向前臺(tái)發(fā)送數(shù)據(jù) 傳輸完畢消息,并等待前臺(tái)增量數(shù)據(jù)更新執(zhí)行結(jié)果消息。前臺(tái)接收到傳輸完畢消息后,返回 確認(rèn)消息,并準(zhǔn)備執(zhí)行增量數(shù)據(jù)更新操作。
3、 增量數(shù)據(jù)更新執(zhí)行階段
前臺(tái)接收完數(shù)據(jù)后,對接收的增量事務(wù)集數(shù)據(jù)進(jìn)行解析,具體來說 根據(jù)增量表數(shù)量,確定需要處理的表的算法次數(shù);
糧據(jù)表名找到對應(yīng)的數(shù)據(jù)庫關(guān)系表;裉據(jù)事務(wù)數(shù)量,確定需要處理的增量事務(wù)的算法次數(shù);
對于每一個(gè)增量事務(wù),根據(jù)增量事務(wù)操作標(biāo)志,可以確定需要調(diào)用的對應(yīng)表的記錄操作 方法;根據(jù)當(dāng)前對應(yīng)表的表記錄長度屬性可以獲得當(dāng)前記錄數(shù)據(jù)內(nèi)容的數(shù)據(jù)長度,進(jìn)而解析 出當(dāng)前增量事務(wù)對應(yīng)的記錄數(shù)據(jù)內(nèi)容。這樣,對于增量事務(wù),根據(jù)每條對應(yīng)的記錄數(shù)據(jù)內(nèi)容, 調(diào)用對應(yīng)表的操作方法(插入、修改或刪除方法),完成每個(gè)數(shù)據(jù)庫增量事務(wù)的更新執(zhí)行任務(wù)。
當(dāng)所有數(shù)據(jù)庫增量事務(wù)都解析執(zhí)行成功后,返回給后臺(tái)增量數(shù)據(jù)更新執(zhí)行成功消息;如 果更新執(zhí)行過程有增量事務(wù)執(zhí)行失敗,返回后臺(tái)增量數(shù)據(jù)更新執(zhí)行失敗消息。
下面結(jié)合圖l、圖2、圖3、圖4和具體的實(shí)施例對本發(fā)明做進(jìn)一步的詳細(xì)說明。
圖3為本發(fā)明涉及的前后臺(tái)表數(shù)據(jù)增量同步的前后臺(tái)交互實(shí)現(xiàn)流程,其中交互的雙方為 后臺(tái)和前臺(tái)數(shù)據(jù)庫。
步驟S201:后臺(tái)配置管理模塊發(fā)起增量同步,開始統(tǒng)計(jì)配置數(shù)據(jù),整理出需要進(jìn)行增量 同步的數(shù)據(jù),并注意保證表的關(guān)聯(lián)關(guān)系和操作順序的正確性。例如,可以按照圖2所示的形 式組織好后臺(tái)增量同步事務(wù)集數(shù)據(jù),其中
S101:是增量同步事務(wù)集的第一位,表示需要進(jìn)行增量同步的表的數(shù)量;
S102:是數(shù)據(jù)增量同步的一個(gè)表名,前臺(tái)可以根據(jù)表名對應(yīng)一個(gè)關(guān)系表。
S103:是指當(dāng)前表數(shù)據(jù)增量同步表中,此次需要進(jìn)行更新的記錄數(shù)量。
S104:是記錄事務(wù)操作標(biāo)志,表示需要進(jìn)行更新的記錄的操作方法,該標(biāo)志可以有"修
改、刪除和插入"三種,分別標(biāo)志著該記錄對應(yīng)的數(shù)據(jù)庫事務(wù)執(zhí)行方法。
S105:是當(dāng)前進(jìn)行更新的一條記錄數(shù)據(jù)的內(nèi)容。
按照上述形式組織好數(shù)據(jù),完成增量同步事務(wù)集數(shù)據(jù)的獲取與準(zhǔn)備。
步驟S202:后臺(tái)向前臺(tái)數(shù)據(jù)庫發(fā)送增量同步事務(wù)集請求消息。
步驟S203:前臺(tái)收到請求,向后臺(tái)返回增量同步事務(wù)集響應(yīng)消息,消息中攜帶前臺(tái)的數(shù)
據(jù)庫版本號。
步驟S204:后臺(tái)判斷前臺(tái)版本號是否與后臺(tái)的版本號一致,如果版本號不一致,則不能 進(jìn)行增量同步,結(jié)束操作,并在后臺(tái)顯示失敗原因;如果版本號一致,則繼續(xù)進(jìn)行步驟S205。
步驟S205:后臺(tái)發(fā)送數(shù)據(jù)傳輸開始請求。
步驟S206:前臺(tái)準(zhǔn)備接收增量事務(wù)集數(shù)據(jù),準(zhǔn)備接收數(shù)據(jù)緩沖區(qū)。
步驟S207:前臺(tái)返回給后臺(tái)數(shù)據(jù)傳輸開始響應(yīng),表示緩沖區(qū)準(zhǔn)備完成。
步驟S208:后臺(tái)發(fā)送增量事務(wù)集數(shù)據(jù)包(例如可按照滑動(dòng)窗口方法順序移動(dòng)發(fā)送數(shù)據(jù) 窗口)。
步驟S209:前臺(tái)將接收的數(shù)據(jù)包順序?qū)懭虢邮諗?shù)據(jù)緩沖區(qū),返回給后臺(tái)響應(yīng)消息。
步驟S210:后臺(tái)收到響應(yīng)消息,査看是否增量事務(wù)集數(shù)據(jù)都傳送完畢,如果沒有,則轉(zhuǎn)
向步驟S308繼續(xù)傳輸未傳輸完畢的增量事務(wù)集數(shù)據(jù);如果所有增量事務(wù)集數(shù)據(jù)都傳送完畢, 則轉(zhuǎn)向步驟S311。
步驟S21h后臺(tái)向前臺(tái)發(fā)送增量事務(wù)集數(shù)據(jù)傳輸結(jié)束消息。
步驟S212:前臺(tái)結(jié)束接收數(shù)據(jù),并返回?cái)?shù)據(jù)傳輸結(jié)束響應(yīng)消息。
步驟S213:前臺(tái)解析接收到的增量事務(wù)集數(shù)據(jù),根據(jù)圖2所示的增量同步事務(wù)集數(shù)據(jù)格 式,逐條解析出每條增量同步記錄的操作方法,并調(diào)用相應(yīng)的表記錄操作方法進(jìn)行事務(wù)更新 操作;具體流程見增量同步事務(wù)集執(zhí)行流程。
步驟S214:所有事務(wù)都執(zhí)行結(jié)束后,前臺(tái)向后臺(tái)反饋事務(wù)集執(zhí)行結(jié)果,后臺(tái)顯示增量同 步執(zhí)行結(jié)果,增量同步過程結(jié)束。進(jìn)一步地,如果事務(wù)集更新執(zhí)行失敗,返回消息可攜帶失 敗的數(shù)據(jù)庫事務(wù),以便在后臺(tái)顯示執(zhí)行失敗的增量同步表記錄操作。
下面具體說明增量同步事務(wù)集執(zhí)行更新操作流程(圖3中步驟S213),參照圖4對此流 程進(jìn)行說明-
步驟S301:開始解析增量事務(wù)集,首先解析出本次需要進(jìn)行增量更新事務(wù)的表的數(shù)量。
步驟S302:開始對后面的每一個(gè)表進(jìn)行遍歷操作,首先判斷是否所有表都遍歷完畢。如 果所有表都遍歷完畢,則結(jié)束增量同步事務(wù)集執(zhí)行更新操作流程;如果沒有遍歷完畢,則轉(zhuǎn) 步驟S303。
步驟S303:開始解析一個(gè)表的事務(wù)集數(shù)據(jù),首先解析當(dāng)前表名。
步驟S304:然后解析當(dāng)前表中,需要進(jìn)行更新事務(wù)操作的記錄數(shù)量。
步驟S305:開始對當(dāng)前表中后面的每個(gè)記錄事務(wù)操作進(jìn)行遍歷,首先判斷是否所有的記 錄事務(wù)操作都執(zhí)行完畢。如果當(dāng)前表中所有的記錄事務(wù)操作都執(zhí)行完畢,則轉(zhuǎn)步驟S302;否 則,轉(zhuǎn)到步驟S306。
步驟S306:解析下一個(gè)記錄操作標(biāo)志和記錄數(shù)據(jù)。其中記錄數(shù)據(jù)的解析長度根據(jù)對應(yīng)關(guān) 系表的記錄長度屬性獲得。
步驟S307:判斷事務(wù)操作標(biāo)志是否是插入標(biāo)志。如果是插入標(biāo)志,則轉(zhuǎn)到步驟S308;否 則,轉(zhuǎn)到步驟S310。
步驟S308:調(diào)用記錄對應(yīng)關(guān)系表的插入方法,將記錄數(shù)據(jù)內(nèi)容插入到當(dāng)前關(guān)系表中。
步驟S309:判斷本次執(zhí)行插入操作是否成功。如果執(zhí)行成功,則轉(zhuǎn)到步驟S305;否則, 轉(zhuǎn)到步驟S316。
步驟S310:判斷事務(wù)操作標(biāo)志是否是修改標(biāo)志。如果是修改標(biāo)志,則轉(zhuǎn)到步驟S311;否 則,轉(zhuǎn)到步驟S313。
步驟S311:調(diào)用記錄對應(yīng)關(guān)系表的修改方法,將記錄數(shù)據(jù)內(nèi)容更新到當(dāng)前關(guān)系表中。其 中,對于需要修改記錄的定位,可以根據(jù)記錄數(shù)據(jù)內(nèi)容獲取記錄關(guān)鍵字,根據(jù)關(guān)鍵字來定位 關(guān)系表中的記錄位置。
步驟S312:判斷本次執(zhí)行修改更新操作是否成功。如果執(zhí)行成功,則轉(zhuǎn)到步驟S305;否 則,轉(zhuǎn)到步驟S316。
步驟S313:判斷事務(wù)操作標(biāo)志是否是刪除標(biāo)志。如果是刪除標(biāo)志,則轉(zhuǎn)到步驟S314;否 則,增量標(biāo)志錯(cuò)誤,則終止增量同步事務(wù)集執(zhí)行更新操作流程。
步驟S314:調(diào)用記錄對應(yīng)關(guān)系表的刪除方法,將關(guān)系表中指定的記錄數(shù)據(jù)刪除。其中,
對于關(guān)系表中需要?jiǎng)h除記錄的定位,可以根據(jù)攜帶的記錄數(shù)據(jù)內(nèi)容獲取記錄關(guān)鍵字,根據(jù)關(guān) 鍵字來定位關(guān)系表中的記錄位置。
步驟S315:判斷本次執(zhí)行刪除記錄操作是否成功。如果執(zhí)行成功,則轉(zhuǎn)到步驟S305;否 則,轉(zhuǎn)到步驟S316。
步驟S316:記錄下執(zhí)行失敗的事務(wù),然后終止增量同步事務(wù)集執(zhí)行更新操作流程。例如
記錄的內(nèi)容可以包括關(guān)系表名、記錄內(nèi)容以及記錄操作標(biāo)志。
其中,步驟S307、步驟S310、步驟S313及其對應(yīng)的操作執(zhí)行順序可以任意調(diào)換。
以上所述,為本發(fā)明的較佳具體實(shí)施方式
。任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公 開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明權(quán)利要求書所保護(hù)的范圍之 內(nèi)。通過采用本實(shí)現(xiàn)方案,可以有效提高前后臺(tái)同步的性能。
權(quán)利要求
1、一種無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征在于,包括以下步驟(1)后臺(tái)組織出增量同步事務(wù)集;其中,所述的增量事務(wù)包括操作標(biāo)志和相對應(yīng)的記錄數(shù)據(jù)內(nèi)容;(2)后臺(tái)將增量事務(wù)集數(shù)據(jù)全部傳輸給前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊;(3)前臺(tái)接收完數(shù)據(jù)后,對于每條增量事務(wù)所對應(yīng)的記錄數(shù)據(jù)內(nèi)容,調(diào)用對應(yīng)表中的操作方法,對每個(gè)增量事務(wù)進(jìn)行增量同步。
2、 按照權(quán)利要求1所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征 在于,所述的步驟(1)中組織出增量同步事務(wù)集的方法為(11) 后臺(tái)將標(biāo)識(shí)增量同步表數(shù)量的表數(shù)量標(biāo)識(shí)添加到增量同步事務(wù)集的第一位;(12) 在表數(shù)量標(biāo)識(shí)后依次添加增量事務(wù)表,并組織表中內(nèi)容的關(guān)聯(lián)關(guān)系。
3、 按照權(quán)利要求2所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征 在于,所述的步驟(12)中組織表中內(nèi)容關(guān)聯(lián)關(guān)系的方法為-(121) 在增量事務(wù)表的首位添加增量同步表的表名;(122) 在表名后添加標(biāo)識(shí)增量同步記錄數(shù)據(jù)數(shù)量的記錄數(shù)量標(biāo)識(shí);(123) 在記錄數(shù)量標(biāo)識(shí)后添加增量事務(wù)操作標(biāo)志;(124) 在操作標(biāo)志后添加記錄數(shù)據(jù)的內(nèi)容。
4、 按照權(quán)利要求1所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征在于,所述的步驟(1)和步驟(2)之間還包括(A)前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊將自己的數(shù)據(jù)庫版本號發(fā)送給后臺(tái),后臺(tái)判斷比較數(shù)據(jù) 庫版本是否一致,如果判斷結(jié)果為不一致,步驟結(jié)束;如果判斷結(jié)果為一致,則進(jìn)入步驟(2)。
5、 按照權(quán)利要求1所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征在于,所述的步驟(3)具體為(21) 后臺(tái)發(fā)送給前臺(tái)增量事務(wù)集數(shù)據(jù)傳輸開始請求,前臺(tái)數(shù)據(jù)庫同步模塊做好接收增 量事務(wù)集數(shù)據(jù)準(zhǔn)備,返回給后臺(tái)準(zhǔn)備就緒響應(yīng);(22) 后臺(tái)將增量事務(wù)集數(shù)據(jù)按照數(shù)據(jù)包的形式傳輸給前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊; (23) 前臺(tái)數(shù)據(jù)庫同步模塊將接收的數(shù)據(jù)包按順序存入接收緩沖區(qū),并返回接收確認(rèn)響應(yīng);(24) 后臺(tái)接收到確認(rèn)響應(yīng)后,查看增量事務(wù)集是否傳輸完畢,如果沒有傳輸完畢,則 返回步驟(22);如果傳輸完畢,則后臺(tái)向前臺(tái)發(fā)送數(shù)據(jù)傳輸完畢消息,進(jìn)入步驟(25);(25) 前臺(tái)接收到傳輸完畢消息后,返回確認(rèn)消息。
6、 按照權(quán)利要求1所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征 在于,所述的步驟(3)具體為(31) 前臺(tái)解析增量事務(wù)集的表名,并根據(jù)表名找到對應(yīng)的數(shù)據(jù)庫關(guān)系表;(32) 對每一個(gè)增量事務(wù),根據(jù)增量事務(wù)表的記錄長度屬性獲取當(dāng)前記錄數(shù)據(jù)內(nèi)容的數(shù) 據(jù)長度,解析出當(dāng)前增量事務(wù)對應(yīng)的記錄數(shù)據(jù)內(nèi)容;(33) 對每一個(gè)增量事務(wù),根據(jù)增量事務(wù)操作標(biāo)志,確定需要調(diào)用的對應(yīng)表的記錄操作 方法;并根據(jù)解析獲得的每條對應(yīng)的記錄數(shù)據(jù)內(nèi)容,調(diào)用對應(yīng)表的操作方法,完成每個(gè)數(shù)據(jù)庫增量事務(wù)的增量同步任務(wù)。
7、 按照權(quán)利要求6所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征在于,所述的步驟(31)前還包括(a) 前臺(tái)解析出本次需要進(jìn)行增量同步的增量事務(wù)表的數(shù)量,并根據(jù)增量事務(wù)數(shù)量,確 定需要處理的增量事務(wù)的算法次數(shù);(b) 前臺(tái)開始對每一個(gè)表進(jìn)行遍歷操作,判斷是否所有表都遍歷完畢,如果判斷結(jié)果為是,則步驟結(jié)束;如果判斷結(jié)果為否,則進(jìn)入步驟(31)。
8、 按照權(quán)利要求7所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征 在于,所述的步驟(31)和步驟(32)之間還包括(c) 前臺(tái)開始對當(dāng)前表中的增量事務(wù)進(jìn)行遍歷操作,判斷是否所有的增量事務(wù)操作都執(zhí) 行完畢;如果判斷結(jié)果為是,則返回步驟(b);否則,進(jìn)入步驟(32)。
9、 按照權(quán)利要求8所述的無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步方法,其特征 在于,所述的步驟(33)具體為G31)對每一個(gè)增量事務(wù),前臺(tái)判斷事務(wù)操作標(biāo)志是否是插入標(biāo)志,如果判斷結(jié)果為是,則進(jìn)入步驟(332);否則,進(jìn)入步驟(333);(332)前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的插入方法,將記錄數(shù)據(jù)內(nèi)容插入到關(guān)系表中;并判斷本次執(zhí)行插入操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337)。 (333) 判斷事務(wù)操作標(biāo)志是否是修改標(biāo)志,如果是修改標(biāo)志,則轉(zhuǎn)到步驟(334);否則, 轉(zhuǎn)到步驟(335);(334) 前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的修改方法,將記錄數(shù)據(jù)內(nèi)容更新到當(dāng)前關(guān)系表中,并 判斷本次執(zhí)行修改更新操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337)。(335) 判斷事務(wù)操作標(biāo)志是否是刪除標(biāo)志,如果是刪除標(biāo)志,則轉(zhuǎn)到步驟(336);否則, 步驟結(jié)束;(336) 前臺(tái)調(diào)用記錄對應(yīng)關(guān)系表的刪除方法,將關(guān)系表中指定的記錄數(shù)據(jù)刪除,并判斷 本次執(zhí)行刪除記錄操作是否成功,如果執(zhí)行成功,則轉(zhuǎn)到步驟(c);否則,轉(zhuǎn)到步驟(337);(337) 前臺(tái)記錄下執(zhí)行失敗的事務(wù),終止增量同步事務(wù)集執(zhí)行更新操作流程。
全文摘要
本發(fā)明公開了一種無線通信基站系統(tǒng)前后臺(tái)數(shù)據(jù)庫表數(shù)據(jù)增量同步的方法。為解決現(xiàn)有技術(shù)中前后臺(tái)間配置表數(shù)據(jù)同步的效率低問題而發(fā)明。本發(fā)明包括以下步驟(1)后臺(tái)統(tǒng)計(jì)出增量事務(wù),并組織出增量同步事務(wù)集;其中,所述的增量事務(wù)包括操作標(biāo)志和相對應(yīng)的記錄數(shù)據(jù)內(nèi)容;(2)后臺(tái)將增量事務(wù)集數(shù)據(jù)全部傳輸給前臺(tái)內(nèi)存數(shù)據(jù)庫同步模塊;(3)前臺(tái)接收完數(shù)據(jù)后,對于每條增量事務(wù)所對應(yīng)的紀(jì)錄數(shù)據(jù)內(nèi)容,調(diào)用對應(yīng)表中的操作方法,對每個(gè)增量事務(wù)進(jìn)行增量同步。這樣,能夠使移動(dòng)通訊基站系統(tǒng)前后臺(tái)配置表數(shù)據(jù)的快速分發(fā)與同步,有效提高移動(dòng)通訊基站系統(tǒng)前后臺(tái)間配置表數(shù)據(jù)同步的效率。
文檔編號H04L29/08GK101102577SQ200610090238
公開日2008年1月9日 申請日期2006年7月7日 優(yōu)先權(quán)日2006年7月7日
發(fā)明者剛 李, 楊廣德 申請人:中興通訊股份有限公司