<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

用于內存數據庫內容變化實時通知業務的處理方法

文檔序號:6562343閱讀:272來源:國知局
專利名稱:用于內存數據庫內容變化實時通知業務的處理方法
技術領域
本發明涉及通信領域,更具體而言,涉及一種用于內存數據庫 內容變化實時通知業務的處理方法和裝置。
背景技術
實時內存數據庫將數據對象存儲在內存中,所有的數據訪問及 操作都在內存中完成,所以大大提高了系統的性能,因此在通信、 控制等領域已被廣泛使用。實時內存數據庫的功能主要體現在兩個
方面 一是為業務提供數據配置信息,保證業務的正常運行;另一
個是相關數據配置變化后實時通知業務進行更新(即數據觸發), 保證業務與數據的 一致性。
數據觸發是指在配置修改同步到內存數據庫后,內存數據庫 進行同步前后的數據比較,當發現業務關心的內容變化后,實時通 知業務更新的過程。數據觸發的類型分為三種,單表記錄級內容變 化觸發、單表表級變化觸發及多表關聯觸發。
目前一般系統中內存數據庫內容變化實時通知業務的處理方 法有兩種 一種是建立主、備兩套內存表數據區,正常運行時業務 使用主內存表數據區中數據,數據同步時首先寫到備內存表數據區 中,4寺全部同步完成后,進4亍主備內存表數據區切換,此時進4亍主 備內存表數據區比較來完成三種數據觸發過程。然而,這種方法占 用內存比4交大,隨著數據庫表內容的增加,內存就會成倍增加,而 且對于同步過程的效率比較低,實現流程及控制比較復雜。
另一種方法只有一個內存表數據區,對于單表相關觸發使用在 數據同步過程中邊比較邊加載的方法完成數據觸發過程,對于有多 個表關聯觸發需要考慮申請一個臨時數據區來保存同步前數據,在 相關表加栽完成后統一處理來通知業務變化消息。然而,這種方法 也存在缺陷,消息處理的順序以內存表的加栽順序為準,不易于控 制,設計時還需要考慮多個內存表的關系及加栽順序,多內存表間 的關聯不易于處理,有些觸發難以實現。
因此,人們需要一種內存數據庫內容變化實時通知業務的解決 方案,能夠解決上述相關技術中的問題。

發明內容
本發明的目的就是提出一種既能節省內存空間,又能全面的考 慮各種情況下的數據觸發的通用方法。
根據本發明的一個方面,提供了一種內存數據庫內容變化實時
通知業務的處理方法,包括以下步驟在內存數據庫中建立備份表, 將內存數據庫的內存表數據庫的關聯關系表中或單表記錄中業務
關心的內容加栽到備份表中;遍歷消息注冊區,查詢注冊到消息注
冊區的消息相關的表本次同步有沒有變化;如沒有變化則繼續遍 歷,否則根據消息類型執行來相應地利用備份表觸發實時通知業 務,并相應地更新備份表。
在上述的處理方法中,在系統上電時建立備份表。
在上述的處理方法中,將內存凄t據庫的內存表數據庫的關聯關 系表中或單表記錄中業務關心的內容加載到備份表中包括以下步
驟對于單表記錄級變化通知類型直接從內存表中取得相應的信息 加載到備份表中;多表關聯變化通知類型根據關鍵字從多表中獲取 業務關心的數據組織為一條記錄加栽到備份表中。
在上述的處理方法中,還包括以下步驟將內存數據庫的內存 表數據庫的關聯關系表中或單表記錄中業務關心的內容保存于備 份表中后,禁止再次同步及軟倒換;以及根據消息類型執行來相應 地利用備份表觸發實時通知業務,并相應地更新備份表之后,恢復 同步及軟倒換。
在上述的處理方法中,通過對備份表設置禁止再次同步及軟倒 換標志來禁止再次同步及軟倒換;以及通過對備份表設置恢復同步 及軟倒換標志來恢復同步及軟倒換。
在上述的處理方法中,在消息注冊區中按照消息觸發順序登記 具體消息與相關的表關系。
在上述的處理方法中,相應地利用備份表觸發實時通知業務, 并相應地更新備份表包括以下步驟如果消息類型是單表記錄級變 化通知類型,則從內存表中獲取相關信息與備份表中相應記錄比較 來觸發實時通知業務,并完成備份表的更新過程。
在上述的處理方法中,相應地利用備份表觸發實時通知業務, 并相應地更新備份表包括以下步驟如果消息類型是單表級變化通 知類型,直接才艮據注冊區中的消息名來觸發實時通知業務。
在上述的處理方法中,相應地利用備份表觸發實時通知業務, 并相應地更新備份表包括以下步驟如果消息類型是多表關聯變化 通知類型,則從多個關聯表取出信息與備份表中相應記錄比較來觸 發實時通知業務,并完成備份表的更新過程。
在上述的處理方法中,還包4舌以下步驟業務收到內存數才居庫 發送的觸發消息,直接更新數據或通過接口獲取相關的數據來完成 業務與內存數據庫中數據一致的操作。
才艮據本發明的另一方面,提供了一種內存凄丈據庫內容變化實時 通知業務的處理裝置,包括備份表創建模塊,用于在內存數據庫 中建立備份表,將內存數據庫的內存表數據庫的關聯關系表中或單 表記錄中業務關心的內容加栽到備份表中;遍歷模塊,用于遍歷消
息注冊區,查詢注冊到消息注冊區的消息相關的表本次同步有沒有 變化;觸發模塊,用于如沒有變化則繼續遍歷,否則根據消息類型 執行來相應地利用備份表觸發實時通知業務,并相應地更新備份 表。
在上述的處理裝置中,觸發模塊包括第一觸發模塊,用于如 果消息類型是單表記錄級變化通知類型,則從內存表中獲取相關信 息與備份表中相應記錄比較來觸發實時通知業務,并完成備份表的 更新過程;第二觸發模塊,用于如果消息類型是單表級變化通知類 型,直接根據注冊區中的消息名來觸發實時通知業務;第三觸發模 塊,用于如果消息類型是多表關聯變化通知類型,則從多個關聯表 取出信息與備份表中相應記錄比較來觸發實時通知業務,并完成備 份表的更新過程。
通過上述^t術方案,本發明實現了如下4支術效果
本發明既能節省內存空間、提高效率,又能全面的考慮各種情 況下的數據觸發過程及控制消息的發送順序,還將同步過程中的數 據加栽與數據觸發完全獨立,使數據觸發的架構清晰,便于擴展,
提供了 一種實時內存數據庫數據變化的通用通知方法。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發 明的目的和其他優點可通過在所寫的說明書、4又利要求書、以及附 圖中所特別指出的結構來實現和獲得。


此處所說明的附圖用來提供對本發明的進一步理解,構成本申 請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并
不構成對本發明的不當限定。在附圖中
圖1示出了根據本發明實施例的內存數據庫內容變化實時通知 業務的處理方法的流禾呈圖2示出了才艮據本發明實施例的內存數據庫內容變化實時通知 業務的處理裝置的方沖匡圖3為根據本發明實施例的數據觸發進程的狀態躍遷圖4為根據本發明實施例的數據觸發進程的上電或備轉主流程
圖5為根據本發明實施例的數據同步程序實現流程圖。
具體實施例方式
本發明提供了一種內存數據庫內容變化實時通知業務的處理 方法,如圖l所示,包4舌以下步驟
步驟S102,在內存數據庫中建立備份表,將內存數據庫的內存 表數據庫的關聯關系表中或單表記錄中業務關心的內容加載到備
份表中,可在系統上電時建立備份表。
步驟S102可包4舌以下步驟對于單表記錄級變化通知類型直 接從內存表中取得相應的信息加栽到備份表中;多表關聯變化通知 類型根據關4建字從多表中獲取業務關心的數據組織為 一條記錄加 載到備份表中。
步驟S104,遍歷消息注冊區,查詢注冊到消息注冊區的消息相 關的表本次同步有沒有變化。
可在消息注冊區中按照消息觸發順序登記具體消息與相關的 表關系。
步驟S106,如沒有變化則繼續遍歷,否則根據消息類型執行來 相應地利用備份表觸發實時通知業務,并相應地更新備份表。
步驟S106可包括以下步驟如果消息類型是單表記錄級變化 通知類型,則從內存表中獲取相關信息與備份表中相應記錄比較來 觸發實時通知業務,并完成備份表的更新過程;如果消息類型是單 表級變化通知類型,直接根據注冊區中的消息名來觸發實時通知業 務;如果消息類型是多表關聯變化通知類型,則從多個關聯表取出 信息與備份表中相應記錄比較來觸發實時通知業務,并完成備份表 的更新過程。
在上述的處理方法中,還可包括以下步驟將內存數據庫的內 存表數據庫的關聯關系表中或單表記錄中業務關心的內容保存于 備份表中后,禁止再次同步及軟倒換;以及根據消息類型執行來相 應地利用備份表觸發實時通知業務,并相應地更新備份表之后,恢 復同步及軟倒換。
可通過對備份表設置禁止再次同步及軟倒換標志來禁止再次 同步及軟倒換;以及通過對備份表設置恢復同步及軟倒換標志來恢 復同步及軟倒換。
在上述的處理方法中,還可包括以下步驟業務收到內存數據 庫發送的觸發消息,直接更新數據或通過接口獲取相關的數據來完 成業務與內存數據庫中數據一致的操作。
本發明還提供了一種內存數據庫內容變化實時通知業務的處 理裝置200,包4舌
備份表創建模塊202,用于在內存數據庫中建立備份表,將內 存數據庫的內存表數據庫的關聯關系表中或單表記錄中業務關心 的內容加載到備份表中;
遍歷才莫塊204,用于遍歷消息注冊區,查詢注冊到消息注冊區 的消息相關的表本次同步有沒有變化;
觸發模塊206,用于如沒有變化則繼續遍歷,否則根據消息類 型執行來相應地利用備份表觸發實時通知業務,并相應地更新備份 表。
在上述的處理裝置200中,觸發才莫塊206包括第一觸發;f莫塊, 用于如果消息類型是單表記錄級變化通知類型,則從內存表中獲取 相關信息與備份表中相應記錄比較來觸發實時通知業務,并完成備 份表的更新過程;第二觸發模塊,用于如果消息類型是單表級變化 通知類型,直接才艮據注冊區中的消息名來觸發實時通知業務;第三 觸發模塊,用于如果消息類型是多表關聯變化通知類型,則從多個 關聯表取出信息與備份表中相應記錄比較來觸發實時通知業務,并 完成備份表的更新過程。
下面來詳細il明實時內存凄史據庫內容變4匕通知業務處理包括-進考呈i殳計、上電處理及同步實現過程。
圖3是數才居觸發進程的狀態-夭遷圖,表示主、備板凄t據庫觸發 進程的所有狀態躍遷情況。如圖3所示,主板上數據觸發進程上電 后從初始狀態躍遷到工作狀態,并進行首次的所有備份表的加載工 作,這個過程不進行數據觸發操作,在工作狀態收到同步完成消息 后進行數據觸發操作, 一旦收到主轉備消息后躍遷到初始狀態,就 不進行相關的數據觸發處理;備板上電一直處于初始狀態,不進行 相關的數據觸發處理, 一旦收到備轉主消息后躍遷到工作狀態,并 進行首次的所有備份表的加載工作,這個過程也不進行數據觸發操 作,在工作狀態收到同步完成消息后進行數據觸發操作。
圖4為數據觸發進程的上電或備轉主流程圖,表示系統上電或 備板轉主板時數據觸發進程的處理流程。如圖4所示,主、備板上 電時創建備份表,主板上電后及備板收到備轉主消息時,通過遍歷 消息注冊區完成所有備份表加載,對于單表級觸發的注冊類型不進 行任何操作,對于備份表觸發的注冊類型從內存表中獲取單表記錄 信息或關聯表信息組成記錄加載到備份表中,全部加載完成后再遍 歷下一條消息,直到遍歷完消息注冊區并進行相應處理,完成主板 上電或備轉主過程。
圖5為數據同步程序實現流程圖,表示配置變更發起同步后的 相關處理流程。如圖5所示,數據觸發進程收到同步完成消息后, 設置禁止同步及軟倒換標志,再遍歷消息注冊區,如果沒有消息登 記就完成數據觸發過程,否則4艮據消息注冊區中的信息,判斷該消 息相關表本次同步是否變化,如果沒有變化直接進行下一個消息處 理,大大提高了同步的效率,如果變化則再判斷消息類型,對于單 表級通知類型直接根據消息注冊區中的消息進行數據觸發,對于單 表記錄級或關聯表級通知類型,從內存表中(從單表記錄中組織或 從關聯表中組織)獲取一條記錄與備份表中記錄比較來完成相應的 數據觸發過程,并完成備份表的記錄更新,此表全部操作完成后再
進行下一條消息的處理,直到遍歷完消息注冊區完成所有的數據觸 發及備份表更新過程,再恢復同步及軟倒換標志。
業務收到^t據庫觸發通知后,直4妾更新數據或通過^: 口獲取相 關的數據進行相關操作,完成本次與數據庫數據的 一致性過程。
綜上所述,本發明既能節省內存空間、提高效率,又能全面的 考慮各種情況下的數據觸發過程及控制消息的發送順序,還將同步 過程中的數據加載與數據觸發完全獨立,使數據觸發的架構清晰, 便于擴展,提供了 一種實時內存數據庫數據變化的通用通知方法。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或 各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算 裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們 可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲 在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成 電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模 塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。應
易見的,不脫離本發明的精神保護范圍。
以上所述^又為本發明的優選實施例而已,并不用于限制本發 明,對于本領域的技術人員來說,本發明可以有各種更改和變化。 凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進 等,均應包含在本發明的保護范圍之內。
權利要求
1.一種內存數據庫內容變化實時通知業務的處理方法,其特征在于,包括以下步驟在內存數據庫中建立備份表,將內存數據庫的內存表數據庫的關聯關系表中或單表記錄中業務關心的內容加載到所述備份表中;遍歷消息注冊區,查詢注冊到所述消息注冊區的消息相關的表本次同步有沒有變化;如沒有變化則繼續遍歷,否則根據消息類型執行來相應地利用所述備份表觸發實時通知所述業務,并相應地更新所述備份表。
2. 根據權利要求1所述的處理方法,其特征在于,在系統上電時 建立所述備份表。
3. 根據權利要求1所述的處理方法,其特征在于,將內存數據庫 的內存表數據庫的關聯關系表中或單表記錄中業務關心的內 容加載到所述備份表中包括以下步驟對于單表記錄級變化通知類型直接從內存表中取得相應 的信息加栽到所述備份表中;多表關聯變化通知類型根據關鍵字從多表中獲取所述業 務關心的數據組織為一條記錄加載到所述備份表中。
4. 根據權利要求1所述的處理方法,其特征在于,還包括以下步 驟將內存數據庫的內存表數據庫的關聯關系表中或單表記 錄中所述業務關心的內容保存于所述備份表中后,禁止再次同 步及軟倒換;以及根據消息類型執行來相應地利用所述備份表觸發實時通 知所述業務,并相應地更新所述備份表之后,恢復同步及軟倒 換。
5. 根據權利要求4所述的處理方法,其特征在于,通過對所述備 份表設置禁止再次同步及軟倒換標志來禁止再次同步及軟倒 換;以及通過對所述備份表設置恢復同步及軟倒換標志來恢復 同步及軟倒換。
6. 根據權利要求1所述的處理方法,其特征在于,在所述消息注 冊區中按照消息觸發順序登記具體消息與相關的表關系。
7. 根據權利要求1所述的處理方法,其特征在于,所述相應地利 用所述備份表觸發實時通知業務,并相應地更新備份表包括以 下步驟如果消息類型是單表記錄級變化通知類型,則從內存表 中獲取相關信息與備份表中相應記錄比較來觸發實時通知所 述業務,并完成備份表的更新過程。
8. 根據權利要求1所述的處理方法,其特征在于,所述相應地利 用所述備份表觸發實時通知業務,并相應地更新備份表包括以 下步驟如果消息類型是單表級變化通知類型,直接根據注冊區 中的消息名來觸發實時通知所述業務。
9. 根據權利要求1所述的處理方法,其特征在于,所述相應地利 用所述備份表觸發實時通知業務,并相應地更新備份表包括以 下步驟如果消息類型是多表關聯變化通知類型,則從多個關聯 表取出信息與備份表中相應記錄比較來觸發實時通知所述業 務,并完成備份表的更新過程。
10. 根據權利要求1所述的處理方法,其特征在于,還包括以下步 驟所述業務收到所述內存數據庫發送的觸發消息,直接更 新凌t據或通過接口獲取相關的數據來完成所述業務與所述內 存數據庫中數據一致的操作。
全文摘要
本發明提供了一種內存數據庫內容變化實時通知業務的處理方法,包括以下步驟在內存數據庫中建立備份表,將內存數據庫的內存表數據庫的關聯關系表中或單表記錄中業務關心的內容加載到備份表中;遍歷消息注冊區,查詢注冊到消息注冊區的消息相關的表本次同步有沒有變化;如沒有變化則繼續遍歷,否則根據消息類型執行來相應地利用備份表觸發實時通知業務,并相應地更新備份表。
文檔編號G06F17/30GK101192214SQ20061014034
公開日2008年6月4日 申請日期2006年11月27日 優先權日2006年11月27日
發明者王春華, 胡德平, 董小虎 申請人:中興通訊股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影