專利名稱:用于內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,更具體而言,涉及一種用于內(nèi)存4ft據(jù)庫(kù) 內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理裝置。
背景技術(shù):
實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)將數(shù)據(jù)對(duì)象存儲(chǔ)在內(nèi)存中,所有的數(shù)據(jù)訪問(wèn)及 操作都在內(nèi)存中完成,所以大大提高了系統(tǒng)的性能,因此在通信、 控制等領(lǐng)域已被廣泛使用。實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)的功能主要體現(xiàn)在兩個(gè) 方面 一是為業(yè)務(wù)提供數(shù)據(jù)配置信息,保證業(yè)務(wù)的正常運(yùn)行;另一 個(gè)是相關(guān)數(shù)據(jù)配置變化后實(shí)時(shí)通知業(yè)務(wù)進(jìn)行更新(即凄t據(jù)觸發(fā)), 保證業(yè)務(wù)與數(shù)據(jù)的 一致性。
數(shù)據(jù)觸發(fā)是指在配置修改同步到內(nèi)存數(shù)據(jù)庫(kù)后,內(nèi)存數(shù)據(jù)庫(kù) 進(jìn)行同步前后的數(shù)據(jù)比較,當(dāng)發(fā)現(xiàn)業(yè)務(wù)關(guān)心的內(nèi)容變化后,實(shí)時(shí)通 知業(yè)務(wù)更新的過(guò)程。數(shù)據(jù)觸發(fā)的類型分為三種,單表記錄級(jí)內(nèi)容變 化觸發(fā)、單表表級(jí)變化觸發(fā)及多表關(guān)聯(lián)觸發(fā)。
目前一般系統(tǒng)中內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理方 法有兩種 一種是建立主、備兩套內(nèi)存表數(shù)據(jù)區(qū),正常運(yùn)行時(shí)業(yè)務(wù) 使用主內(nèi)存表數(shù)據(jù)區(qū)中數(shù)據(jù),數(shù)據(jù)同步時(shí)首先寫到備內(nèi)存表數(shù)據(jù)區(qū) 中,待全部同步完成后,進(jìn)4亍主備內(nèi)存表數(shù)據(jù)區(qū)切換,此時(shí)進(jìn)行主 備內(nèi)存表數(shù)據(jù)區(qū)比較來(lái)完成三種數(shù)據(jù)觸發(fā)過(guò)程。然而,這種方法占用內(nèi)存比較大,隨著數(shù)據(jù)庫(kù)表內(nèi)容的增加,內(nèi)存就會(huì)成倍增加,而 且對(duì)于同步過(guò)程的效率比較〗氐,實(shí)現(xiàn)流程及控制比較復(fù)雜。
另一種方法只有一個(gè)內(nèi)存表數(shù)據(jù)區(qū),對(duì)于單表相關(guān)觸發(fā)使用在 數(shù)據(jù)同步過(guò)程中邊比較邊加栽的方法完成數(shù)據(jù)觸發(fā)過(guò)程,對(duì)于有多 個(gè)表關(guān)聯(lián)觸發(fā)需要考慮申請(qǐng)一個(gè)臨時(shí)數(shù)據(jù)區(qū)來(lái)保存同步前數(shù)據(jù),在 相關(guān)表加載完成后統(tǒng)一處理來(lái)通知業(yè)務(wù)變化消息。然而,這種方法 也存在缺陷,消息處理的順序以內(nèi)存表的加栽順序?yàn)闇?zhǔn),不易于控 制,設(shè)計(jì)時(shí)還需要考慮多個(gè)內(nèi)存表的關(guān)系及加栽順序,多內(nèi)存表間 的關(guān)聯(lián)不易于處理,有些觸發(fā)難以實(shí)現(xiàn)。
因此,人們需要一種內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的裝 置,以解決上述相關(guān)技術(shù)中的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的就是提出 一 種既能節(jié)省內(nèi)存空間,又能全面的考 慮各種情況下的數(shù)據(jù)觸發(fā)的通用裝置。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)
通知業(yè)務(wù)的處理裝置,包括備份表創(chuàng)建模塊,用于在內(nèi)存數(shù)據(jù)庫(kù) 中建立備份表,將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單 表記錄中業(yè)務(wù)關(guān)心的內(nèi)容加載到備份表中;遍歷模塊,用于遍歷消
息注冊(cè)區(qū),查詢注冊(cè)到消息注冊(cè)區(qū)的消息相關(guān)的表本次同步有沒(méi)有
變化;觸發(fā)模塊,用于如沒(méi)有變化則繼續(xù)遍歷,否則根據(jù)消息類型 執(zhí)行來(lái)相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地更新備份表。
根據(jù)本發(fā)明,備份表創(chuàng)建模塊還包括第一子加載模塊,用于 使單表記錄級(jí)變化通知類型直接從內(nèi)存表中取得相應(yīng)的信息加載 到備份表中;以及第二子加載模塊,用于使多表關(guān)聯(lián)變化通知類型
根據(jù)關(guān)鍵字從多表中獲取業(yè)務(wù)關(guān)心的數(shù)據(jù)組織為 一條記錄加栽到 備份表中。
根據(jù)本發(fā)明,該裝置還包括保存禁止模塊,用于將內(nèi)存數(shù)據(jù) 庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容 保存于備份表中后,禁止再次同步及軟倒換;以及更新恢復(fù)模塊, 用于根據(jù)消息類型執(zhí)行來(lái)相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并 相應(yīng)地更新備份表之后,恢復(fù)同步及軟倒換。
根據(jù)本發(fā)明的實(shí)施例,通過(guò)對(duì)備份表設(shè)置禁止再次同步及軟倒 換標(biāo)志來(lái)禁止再次同步及軟倒換;以及通過(guò)對(duì)備份表設(shè)置恢復(fù)同步 及軟倒換標(biāo)志來(lái)恢復(fù)同步及軟倒換。
并且,在消息注冊(cè)區(qū)中按照消息觸發(fā)順序登記具體消息與相關(guān) 的表關(guān)系。
此外,根據(jù)本發(fā)明,觸發(fā)模塊還用于如果消息類型是單表記 錄級(jí)變化通知類型,則從內(nèi)存表中獲取相關(guān)信息與備份表中相應(yīng)記 錄比較來(lái)觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完成備份表的更新過(guò)程;如果消息 類型是單表級(jí)變化通知類型,直接根據(jù)注冊(cè)區(qū)中的消息名來(lái)觸發(fā)實(shí) 時(shí)通知業(yè)務(wù);如果消息類型是多表關(guān)聯(lián)變化通知類型,則從多個(gè)關(guān) 聯(lián)表取出信息與備份表中相應(yīng)記錄比較來(lái)觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完 成備份表的更新過(guò)程。
根據(jù)本發(fā)明,該裝置還包括數(shù)據(jù)更新模塊,用于在業(yè)務(wù)收到內(nèi) 存數(shù)據(jù)庫(kù)發(fā)送的觸發(fā)消息的情況下,直接更新數(shù)據(jù)或通過(guò)接口獲取 相關(guān)的凄t據(jù)來(lái)完成業(yè)務(wù)與內(nèi)存數(shù)據(jù)庫(kù)中凄丈據(jù)一致的操作。
通過(guò)上述技術(shù)方案,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果
本發(fā)明既能節(jié)省內(nèi)存空間、提高效率,又能全面的考慮各種情 況下的數(shù)據(jù)觸發(fā)過(guò)程及控制消息的發(fā)送順序,還將同步過(guò)程中的數(shù) 據(jù)加載與數(shù)據(jù)觸發(fā)完全獨(dú)立,使數(shù)據(jù)觸發(fā)的架構(gòu)清晰,便于擴(kuò)展。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的i兌明書(shū)中闡述,并且,部 分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā) 明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附 圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
此處所i兌明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并 不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中
圖1示出了才艮據(jù)本發(fā)明實(shí)施例的內(nèi)存凄丈據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知 業(yè)務(wù)的處理方法的流程圖2示出了才艮據(jù)本發(fā)明實(shí)施例的內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知 業(yè)務(wù)的處理裝置的方?jīng)_匡圖3為根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)觸發(fā)進(jìn)程的狀態(tài)躍遷圖4為才艮據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)觸發(fā)進(jìn)程的上電或備轉(zhuǎn)主流程 圖;以及
圖5為根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)同步程序?qū)崿F(xiàn)流程圖。M實(shí)施方式
本發(fā)明提供了一種內(nèi)存凄t據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理
方法,如囝1所示,包才舌以下步驟
步驟S102,在內(nèi)存數(shù)據(jù)庫(kù)中建立備份表,將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存 表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容加載到備 份表中,可在系統(tǒng)上電時(shí)建立備份表。
步驟S102可包括以下步驟對(duì)于單表記錄級(jí)變化通知類型直 接從內(nèi)存表中取得相應(yīng)的信息加載到備份表中;多表關(guān)聯(lián)變化通知 類型根據(jù)關(guān)鍵字從多表中獲取業(yè)務(wù)關(guān)心的數(shù)據(jù)組織為一條記錄加 載到備份表中。
步驟S104,遍歷消息注冊(cè)區(qū),查詢注冊(cè)到消息注冊(cè)區(qū)的消息相 關(guān)的表本次同步有沒(méi)有變化。
可在消息注冊(cè)區(qū)中按照消息觸發(fā)順序登記具體消息與相關(guān)的 表關(guān)系。
步驟S106,如沒(méi)有變化則繼續(xù)遍歷,否則4艮據(jù)消息類型執(zhí)4亍來(lái) 相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地更新備份表。
步驟S106可包括以下步驟如果消息類型是單表記錄級(jí)變化 通知類型,則從內(nèi)存表中獲取相關(guān)信息與備份表中相應(yīng)記錄比較來(lái) 觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完成備份表的更新過(guò)程;如果消息類型是單 表級(jí)變化通知類型,直接根據(jù)注冊(cè)區(qū)中的消息名來(lái)觸發(fā)實(shí)時(shí)通知業(yè) 務(wù);如果消息類型是多表關(guān)聯(lián)變化通知類型,則從多個(gè)關(guān)聯(lián)表取出 信息與備份表中相應(yīng)記錄比較來(lái)觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完成備份表
的更新過(guò)程。
在上述的處理方法中,還可包括以下步驟將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi) 存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容保存于 備份表中后,禁止再次同步及軟倒換;以及根據(jù)消息類型執(zhí)行來(lái)相 應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地更新備份表之后,恢 復(fù)同步及軟倒換。
可通過(guò)對(duì)備份表設(shè)置禁止再次同步及軟倒換標(biāo)志來(lái)禁止再次 同步及軟倒換;以及通過(guò)對(duì)備份表設(shè)置恢復(fù)同步及軟倒換標(biāo)志來(lái)恢 復(fù)同步及軟倒換。
在上述的處理方法中,還可包括以下步驟業(yè)務(wù)收到內(nèi)存數(shù)據(jù) 庫(kù)發(fā)送的觸發(fā)消息,直接更新數(shù)據(jù)或通過(guò)接口獲取相關(guān)的數(shù)據(jù)來(lái)完 成業(yè)務(wù)與內(nèi)存凄t據(jù)庫(kù)中數(shù)據(jù)一致的操作。
本發(fā)明還提供了 一種內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處 理裝置200,包括
備份表創(chuàng)建才莫塊202,用于在內(nèi)存數(shù)據(jù)庫(kù)中建立備份表,將內(nèi) 存數(shù)據(jù)庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心 的內(nèi)容加載到備份表中,其中,備份表創(chuàng)建模塊202還包括第一 子加載模塊,用于使單表記錄級(jí)變化通知類型直接從內(nèi)存表中取得 相應(yīng)的信息加栽到備份表中;以及第二子加載模塊,用于使多表關(guān) 聯(lián)變化通知類型4艮據(jù)關(guān)4建字從多表中獲取業(yè)務(wù)關(guān)心的凄t據(jù)組織為 一條記錄加栽到備份表中;
遍歷才莫塊204,用于遍歷消息注冊(cè)區(qū),查詢注冊(cè)到消息注冊(cè)區(qū) 的消息相關(guān)的表本次同步有沒(méi)有變化;
以及觸發(fā)模塊206,用于如沒(méi)有變化則繼續(xù)遍歷,否則根據(jù)消 息類型執(zhí)行來(lái)相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地更新 備份表,其中,觸發(fā)模塊206還用于如果消息類型是單表記錄級(jí)變化通知類型,則從內(nèi)存表中獲取相關(guān)信息與備份表中相應(yīng)記錄比較來(lái)觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完成備份表的更新過(guò)程;如果消息類型 是單表級(jí)變化通知類型,直接根據(jù)注冊(cè)區(qū)中的消息名來(lái)觸發(fā)實(shí)時(shí)通 知業(yè)務(wù);如果消息類型是多表關(guān)聯(lián)變化通知類型,則從多個(gè)關(guān)聯(lián)表
取出信息與備份表中相應(yīng)記錄比較來(lái)觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并完成備 份表的更新過(guò)程。
此外,該裝置200還包括保存禁止模塊,用于將內(nèi)存數(shù)據(jù)庫(kù) 的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容保 存于備份表中后,禁止再次同步及軟倒換;更新恢復(fù)模塊,用于根 據(jù)消息類型執(zhí)行來(lái)相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地 更新備份表之后,恢復(fù)同步及軟倒換;以及數(shù)據(jù)更新模塊,用于在 業(yè)務(wù)收到內(nèi)存數(shù)據(jù)庫(kù)發(fā)送的觸發(fā)消息的情況下,直接更新數(shù)據(jù)或通 過(guò)接口獲取相關(guān)的數(shù)據(jù)來(lái)完成業(yè)務(wù)與內(nèi)存數(shù)據(jù)庫(kù)中數(shù)據(jù)一致的操 作。
在上述裝置中,通過(guò)對(duì)備份表設(shè)置禁止再次同步及軟倒換標(biāo)志 來(lái)禁止再次同步及軟倒換;以及通過(guò)對(duì)備份表設(shè)置恢復(fù)同步及軟倒 換標(biāo)志來(lái)恢復(fù)同步及軟倒換。
并且,在消息注冊(cè)區(qū)中按照消息觸發(fā)順序登記具體消息與相關(guān) 的表關(guān)系。
下面來(lái)詳細(xì)i兌明實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化通知業(yè)務(wù)處理包括
進(jìn)程:沒(méi)計(jì)、上電處理及同步實(shí)現(xiàn)過(guò)程。
圖3是數(shù)據(jù)觸發(fā)進(jìn)程的狀態(tài)躍遷圖,表示主、備板數(shù)據(jù)庫(kù)觸發(fā) 進(jìn)程的所有狀態(tài)躍遷情況。如圖3所示,主寺反上數(shù)據(jù)觸發(fā)進(jìn)程上電 后從初始狀態(tài)躍遷到工作狀態(tài),并進(jìn)行首次的所有備份表的加載工 作,這個(gè)過(guò)程不進(jìn)行數(shù)據(jù)觸發(fā)操作,在工作狀態(tài)收到同步完成消息
后進(jìn)行數(shù)據(jù)觸發(fā)操作, 一旦收到主轉(zhuǎn)備消息后躍遷到初始狀態(tài),就
不進(jìn)行相關(guān)的數(shù)據(jù)觸發(fā)處理;備板上電一直處于初始狀態(tài),不進(jìn)行 相關(guān)的數(shù)據(jù)觸發(fā)處理, 一旦收到備轉(zhuǎn)主消息后-夭遷到工作狀態(tài),并 進(jìn)行首次的所有備份表的加載工作,這個(gè)過(guò)程也不進(jìn)行數(shù)據(jù)觸發(fā)操 作,在工作狀態(tài)收到同步完成消息后進(jìn)行數(shù)據(jù)觸發(fā)操作。
圖4為數(shù)據(jù)觸發(fā)進(jìn)程的上電或備轉(zhuǎn)主流程圖,表示系統(tǒng)上電或 備板轉(zhuǎn)主板時(shí)數(shù)據(jù)觸發(fā)進(jìn)程的處理流程。如圖4所示,主、備板上 電時(shí)創(chuàng)建備份表,主板上電后及備板收到備轉(zhuǎn)主消息時(shí),通過(guò)遍歷 消息注冊(cè)區(qū)完成所有備份表加栽,對(duì)于單表級(jí)觸發(fā)的注冊(cè)類型不進(jìn) 行任何操作,對(duì)于備份表觸發(fā)的注冊(cè)類型從內(nèi)存表中獲取單表記錄 信息或關(guān)聯(lián)表信息組成記錄加載到備份表中,全部加載完成后再遍 歷下一條消息,直到遍歷完消息注冊(cè)區(qū)并進(jìn)行相應(yīng)處理,完成主板 上電或備轉(zhuǎn)主過(guò)程。
圖5為數(shù)據(jù)同步程序?qū)崿F(xiàn)流程圖,表示配置變更發(fā)起同步后的 相關(guān)處理流程。如圖5所示,數(shù)據(jù)觸發(fā)進(jìn)程收到同步完成消息后, 設(shè)置禁止同步及軟倒換標(biāo)志,再遍歷消息注冊(cè)區(qū),如果沒(méi)有消息登 記就完成數(shù)據(jù)觸發(fā)過(guò)程,否則根據(jù)消息注冊(cè)區(qū)中的信息,判斷該消 息相關(guān)表本次同步是否變化,如果沒(méi)有變化直接進(jìn)行下一個(gè)消息處 理,大大提高了同步的效率,如果變化則再判斷消息類型,對(duì)于單 表級(jí)通知類型直接根據(jù)消息注冊(cè)區(qū)中的消息進(jìn)行數(shù)據(jù)觸發(fā),對(duì)于單 表記錄級(jí)或關(guān)聯(lián)表級(jí)通知類型,從內(nèi)存表中(從單表記錄中組織或 從關(guān)聯(lián)表中組織)獲取一條記錄與備份表中記錄比較來(lái)完成相應(yīng)的 數(shù)據(jù)觸發(fā)過(guò)程,并完成備份表的記錄更新,此表全部操作完成后再 進(jìn)行下一條消息的處理,直到遍歷完消息注冊(cè)區(qū)完成所有的數(shù)據(jù)觸 發(fā)及備份表更新過(guò)程,再恢復(fù)同步及軟倒換標(biāo)志。
業(yè)務(wù)收到數(shù)據(jù)庫(kù)觸發(fā)通知后,直接更新^t據(jù)或通過(guò)接口獲取相 關(guān)的數(shù)據(jù)進(jìn)行相關(guān)操作,完成本次與數(shù)據(jù)庫(kù)數(shù)據(jù)的 一致性過(guò)程。
綜上所述,本發(fā)明既能節(jié)省內(nèi)存空間、提高效率,又能全面的 考慮各種情況下的數(shù)據(jù)觸發(fā)過(guò)程及控制消息的發(fā)送順序,還將同步 過(guò)程中的數(shù)據(jù)加載與數(shù)據(jù)觸發(fā)完全獨(dú)立,使數(shù)據(jù)觸發(fā)的架構(gòu)清晰, 便于擴(kuò)展。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或 各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算 裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們 可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成 電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模 塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。應(yīng)
易見(jiàn)的,不脫離本發(fā)明的精神保護(hù)范圍。
以上所述 <叉為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā) 明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何4務(wù)改、等同替換、改進(jìn) 等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理裝置,其特征在于,包括備份表創(chuàng)建模塊,用于在內(nèi)存數(shù)據(jù)庫(kù)中建立備份表,將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容加載到所述備份表中;遍歷模塊,用于遍歷消息注冊(cè)區(qū),查詢注冊(cè)到所述消息注冊(cè)區(qū)的消息相關(guān)的表本次同步有沒(méi)有變化;以及觸發(fā)模塊,用于如沒(méi)有變化則繼續(xù)遍歷,否則根據(jù)消息類型執(zhí)行來(lái)相應(yīng)地利用所述備份表觸發(fā)實(shí)時(shí)通知所述業(yè)務(wù),并相應(yīng)地更新所述備份表。
2. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,所述備份表是 在系統(tǒng)上電時(shí)建立的。
3. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,所述備份表創(chuàng) 建模塊還包括第一子加載模塊,用于使單表記錄級(jí)變化通知類型直接 從內(nèi)存表中取得相應(yīng)的信息加載到所述備份表中;以及第二子加載模塊,用于使多表關(guān)聯(lián)變化通知類型根據(jù)關(guān) 鍵字從多表中獲取所述業(yè)務(wù)關(guān)心的數(shù)據(jù)組織為一條記錄加栽 到所述備份表中。
4. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,還包括保存禁止模塊,用于將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān) 聯(lián)關(guān)系表中或單表記錄中所述業(yè)務(wù)關(guān)心的內(nèi)容保存于所述備 份表中后,禁止再次同步及軟倒換;以及更新恢復(fù)模塊,用于根據(jù)消息類型執(zhí)行來(lái)相應(yīng)地利用所 述備份表觸發(fā)實(shí)時(shí)通知所述業(yè)務(wù),并相應(yīng)地更新所述備份表之 后,恢復(fù)同步及軟倒換。
5. 根據(jù)權(quán)利要求4所述的處理裝置,其特征在于,所述保存禁止 模塊通過(guò)對(duì)所述備份表設(shè)置禁止再次同步及軟倒換標(biāo)志來(lái)禁 止再次同步及軟倒換;以及所述更新恢復(fù)模塊通過(guò)對(duì)所述備份 表設(shè)置恢復(fù)同步及軟倒換標(biāo)志來(lái)恢復(fù)同步及軟倒換。
6. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,在所述消息注 冊(cè)區(qū)中的具體消息與相關(guān)的表關(guān)系是按照消息觸發(fā)順序登記 的。
7. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,所述觸發(fā)模塊 還用于如果消息類型是單表記錄級(jí)變化通知類型,則從內(nèi)存表 中獲取相關(guān)信息與備份表中相應(yīng)記錄比較來(lái)觸發(fā)實(shí)時(shí)通知所 述業(yè)務(wù),并完成備份表的更新過(guò)程。
8. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,所述觸發(fā)模塊 還用于如果消息類型是單表級(jí)變化通知類型,直接根據(jù)注冊(cè)區(qū) 中的消息名來(lái)觸發(fā)實(shí)時(shí)通知所述業(yè)務(wù)。
9. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,所述觸發(fā)模塊 還用于如果消息類型是多表關(guān)聯(lián)變化通知類型,則從多個(gè)關(guān)聯(lián) 表取出信息與備份表中相應(yīng)記錄比4交來(lái)觸發(fā)實(shí)時(shí)通知所述業(yè)務(wù),并完成備份表的更新過(guò)程。
10. 根據(jù)權(quán)利要求1所述的處理裝置,其特征在于,還包括數(shù)據(jù)更新模塊,用于在所述業(yè)務(wù)收到所述內(nèi)存數(shù)據(jù)庫(kù)發(fā) 送的觸發(fā)消息的情況下,直接更新數(shù)據(jù)或通過(guò)接口獲取相關(guān)的 數(shù)據(jù)來(lái)完成所述業(yè)務(wù)與所述內(nèi)存數(shù)據(jù)庫(kù)中數(shù)據(jù)一致的操作。
全文摘要
本發(fā)明提供了一種內(nèi)存數(shù)據(jù)庫(kù)內(nèi)容變化實(shí)時(shí)通知業(yè)務(wù)的處理裝置,包括備份表創(chuàng)建模塊,用于在內(nèi)存數(shù)據(jù)庫(kù)中建立備份表,將內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存表數(shù)據(jù)庫(kù)的關(guān)聯(lián)關(guān)系表中或單表記錄中業(yè)務(wù)關(guān)心的內(nèi)容加載到備份表中;遍歷模塊,用于遍歷消息注冊(cè)區(qū),查詢注冊(cè)到消息注冊(cè)區(qū)的消息相關(guān)的表本次同步有沒(méi)有變化;觸發(fā)模塊,用于如沒(méi)有變化則繼續(xù)遍歷,否則根據(jù)消息類型執(zhí)行來(lái)相應(yīng)地利用備份表觸發(fā)實(shí)時(shí)通知業(yè)務(wù),并相應(yīng)地更新備份表。因此,既能節(jié)省內(nèi)存空間,又能全面的考慮各種情況下的數(shù)據(jù)觸發(fā)過(guò)程及控制消息的發(fā)送順序。
文檔編號(hào)H04Q3/545GK101202934SQ20061016171
公開(kāi)日2008年6月18日 申請(qǐng)日期2006年12月13日 優(yōu)先權(quán)日2006年12月13日
發(fā)明者王春華, 胡德平, 董小虎 申請(qǐng)人:中興通訊股份有限公司