TWI858679B - 用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 - Google Patents
用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 Download PDFInfo
- Publication number
- TWI858679B TWI858679B TW112115592A TW112115592A TWI858679B TW I858679 B TWI858679 B TW I858679B TW 112115592 A TW112115592 A TW 112115592A TW 112115592 A TW112115592 A TW 112115592A TW I858679 B TWI858679 B TW I858679B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- database
- update
- center
- application module
- Prior art date
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
本案揭示一種用於支援雙中心之網路資料庫系統、方法及其電腦程式,包括根據第一資料庫中心所接收之第一資料更新指令將第一主資料庫中之原始資料更新為第一更新資料,第一資料庫中心執行本地端資料同步,其中,於第一資料庫中心發生網路異常時,根據第二資料庫中心所接收之第二資料更新指令將第二暫存資料庫中之原始資料更新為第二更新資料,而於恢復網路連線時,第二主資料庫中之原始資料更新為第一更新資料,第二主資料庫之第一更新資料再更新為第二更新資料,第一主資料庫與第二主資料庫執行遠端資料同步,第一資料庫中心執行本地端資料同步。
Description
本案係關於一種網路資料庫技術,詳而言之,係關於一種支援雙中心的網路資料庫之系統及其運作方法以及電腦程式產品。
於現有技術中,雙中心架構是一種能支援兩地同時提供服務的資訊架構,通常須透過底層穩定的網路連線以達到雙中心異地的資料同步。
然而,穩定的網路連線非常難以達成,相當容易被外在因素影響,因此,資訊系統容易因為網路而影響到雙中心架構運作的穩定性。以資料庫為例,在雙中心架構下,主網路架構會持續頻繁的進行偵測網路的校驗,故一旦網路異常就會造成主網路架構停止運作。
對此,傳統雙中心架構為了確保網路的可用性,需要透過複數備援網路架構來維持,進而當主網路架構發生斷線時,能透過複數備援網
路架構維持系統運作。惟,建構複數備援網路架構不但大幅增加硬體成本,同時也會造成人力維運成本的上升。
為解決上述問題及其他問題,本案揭示一種用於支援雙中心之網路資料庫系統、方法及其電腦程式產品。
本案所揭之用於支援雙中心之網路資料庫系統,係包括:第一資料庫中心,用於接收第一資料更新指令,該第一資料庫中心包括:第一主資料庫;第一暫存資料庫,係與該第一主資料庫執行本地端資料同步;及第一應用程式模組,係根據該第一資料更新指令,將該第一主資料庫中之原始資料更新為第一更新資料;以及第二資料庫中心,用於該第一資料庫中心發生網路異常(如斷線)時接收第二資料更新指令,該第二資料庫中心包括:第二暫存資料庫;第二主資料庫,係與該第二暫存資料庫執行本地端資料同步;及第二應用程式模組,係根據該第二資料更新指令將該第二暫存資料庫中之原始資料更新為第二更新資料,係於該第一資料庫中心恢復網路連線(或正常連線)時,根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料。
於一實施例中,該第一暫存資料庫中之原始資料係更新為該第一更新資料,使該第一暫存資料庫與該第一主資料庫本地端資料同步。
於一實施例中,該第二主資料庫中之該第一更新資料係更新為該第二更新資料,使該第二主資料庫與該第二暫存資料庫執行本地端資料同步。
於一實施例中,該第一應用程式模組係根據該第二應用程式模組的命令將該第一主資料庫中之該第一更新資料更新為該第二更新資料,使該第一主資料庫與該第二主資料庫執行遠端資料同步。
於一實施例中,該第一暫存資料庫中之該第一更新資料係更新為該第二更新資料,使該第一暫存資料庫與該第一主資料庫執行本地端資料同步。
於一實施例中,於該第一資料庫中心未發生網路異常(如斷線)且該第二資料庫中心未接收該第二資料更新指令時,該第二應用程式模組係根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料,該第二暫存資料庫中之原始資料係更新為該第一更新資料。
於一實施例中,於該第二資料庫中心發生網路異常(如斷線)時,待該第二資料庫中心恢復網路連線(或正常連線)後,該第二應用程式模組根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料,該第二暫存資料庫中之原始資料係更新為該第一更新資料。
於一實施例中,該第一主資料庫更包括第一協定層和第一資料層,該第一協定層係接收第一資料查詢請求以向該第一應用程式模組詢問而確認該第一資料查詢請求之資料,該第一協定層更將該第一資料查詢請求轉換為應用程式介面以向該第一資料層進行資料查詢,進而將在該第一資料層所取得之資料回覆至該第一應用程式模組,俾進行資料更新。
於一實施例中,該第二主資料庫更包括第二協定層和第二資料層,該第二協定層係接收第二資料查詢請求以向該第二應用程式模組詢問而確認該第二資料查詢請求之資料,該第二協定層更將該第二資料查詢請求轉
換為應用程式介面以向該第二資料層進行資料查詢,進而將在該第二資料層所取得之資料回覆至該第二應用程式模組,俾進行資料更新。
本案所揭之用於支援雙中心之網路資料庫運作方法,係包括:令第一資料庫中心接收第一資料更新指令;於該第一資料庫中心發生網路異常(如斷線)時,令第二資料庫中心接收第二資料更新指令;令該第一資料庫中心之第一應用程式模組根據該第一資料更新指令將該第一資料庫中心之第一主資料庫中之原始資料更新為第一更新資料;令該第一資料庫中心的第一暫存資料庫與該第一主資料庫執行本地端資料同步;令該第二資料庫中心之第二應用程式模組根據該第二資料更新指令將該第二資料庫中心之第二暫存資料庫中之原始資料更新為第二更新資料;於該第一資料庫中心恢復網路連線(或正常連線)時,由該第一應用程式模組令該第二資料庫中心之第二主資料庫中之原始資料更新為該第一更新資料;令該第二主資料庫與該第二暫存資料庫執行本地端資料同步;令該第一主資料庫與該第二主資料庫執行遠端資料同步;以及令該第一暫存資料庫與該第一主資料庫執行本地端資料同步。
於一實施例中,所述令該第一資料庫中心之第一暫存資料庫與該第一主資料庫執行本地端資料同步之步驟係包括:將該第一暫存資料庫中之原始資料更新為該第一更新資料。
於一實施例中,所述令該第二主資料庫與該第二暫存資料庫執行本地端資料同步之步驟係包括:將該第二主資料庫中之該第一更新資料更新為該第二更新資料。
於一實施例中,所述令該第一主資料庫與該第二主資料庫執行遠端資料同步係包括:由該第二應用程式模組令該第一應用程式模組將該第一主資料庫中之該第一更新資料更新為該第二更新資料。
於一實施例中,所述令該第一暫存資料庫與該第一主資料庫執行本地端資料同步之步驟係包括:將該第一暫存資料庫中之該第一更新資料更新為該第二更新資料。
於一實施例中,本案所揭之用於支援雙中心之網路資料庫運作方法更包括:於該第一資料庫中心未發生網路異常(如斷線)且該第二資料庫中心未接收該第二資料更新指令時,由該第一應用程式模組令該第二應用程式模組將該第二主資料庫中之原始資料更新為該第一更新資料;以及令該第二暫存資料庫中之原始資料更新為該第一更新資料。
於一實施例中,本案所揭之用於支援雙中心之網路資料庫運作方法更包括:於該第二資料庫中心發生網路異常(如斷線)時,待該第二資料庫中心恢復網路連線(或正常連線)後,由該第一應用程式模組令該第二應用程式模組將該第二主資料庫中之原始資料更新為該第一更新資料,進而令該第二暫存資料庫中之原始資料更新為該第一更新資料。
於一實施例中,本案所揭之用於支援雙中心之網路資料庫運作方法更包括:令該第一主資料庫之第一協定層接收第一資料查詢請求;令該第一協定層向該第一應用程式模組詢問以確認該第一資料查詢請求之資料;令該第一協定層將該第一資料查詢請求轉換為應用程式介面,以向該第一主資料庫之第一資料層進行資料查詢;以及令該第一協定層將在該第一資料層所取得之資料回覆至該第一應用程式模組,俾進行資料更新。
於一實施例中,本案所揭之用於支援雙中心之網路資料庫運作方法更包括:令該第二主資料庫之第二協定層接收第二資料查詢請求;令該第二協定層向該第二應用程式模組詢問以確認該第二資料查詢請求之資料;令該第二協定層將該第二資料查詢請求轉換為應用程式介面,以向該第二主資料庫之第二資料層進行資料查詢;以及令該第二協定層將在該第二資料層所取得之資料回覆至該第二應用程式模組,俾進行資料更新。
本案所揭之電腦程式產品係經電腦載入程式以執行本案所揭之用於支援雙中心之網路資料庫運作方法。
本案所揭之電腦可讀取媒體係儲存本案所揭之電腦程式產品。
藉由本案所揭之一種用於支援雙中心之網路資料庫系統、方法及其電腦程式產品,於第一資料庫中心發生網路異常(如斷線)後,若系統繼續接收到更新指令,則由第二資料庫中心接收該更新指令,以將內部資料進行本地端資料更新,而於第一資料庫中心恢復網路連線(或正常連線)後,該第一資料庫中心與該第二資料庫中心執行遠端資料同步,以將該第一資料庫中心內之資料一併進行更新,藉此達到該第一資料庫中心及該第二資料庫中心之間的資料同步復原。換言之,本案藉由雙中心之網路資料庫設計,能在主資料庫中心(即,第一資料庫中心)發生網路異常(如斷線)時,透過單一備援資料庫中心(即,第二資料庫中心)即時地更新資料,便可維持系統的穩定性,且大幅減少硬體及人力成本,並提升系統效率。
100:系統
1a:第一資料庫中心
10:第一應用程式模組
11:第一主資料庫
111:第一協定層
112:第一資料層
12:第一暫存資料庫
1b:第二資料庫中心
20:第二應用程式模組
21:第二主資料庫
211:第二協定層
212:第二資料層
22:第二暫存資料庫
S21~S25:步驟
S301~S311:步驟
S31~S37:步驟
S41~S45:步驟
圖1係為本案之用於支援雙中心之網路資料庫系統之架構示意圖。
圖2係為本案之用於支援雙中心之網路資料庫方法中資料同步之流程示意圖。
圖3係為本案之用於支援雙中心之網路資料庫方法中第一資料庫中心發生網路異常(如斷線)後資料復原之流程示意圖。
圖4係為本案之用於支援雙中心之網路資料庫方法中第二資料庫中心發生網路異常(如斷線)後資料復原之流程示意圖。
圖5係為本案之用於支援雙中心之網路資料庫方法中資料取得之流程示意圖。
以下藉由特定的實施例說明本案之實施方式,熟習此項技藝之人士可由本文所揭示之內容輕易地瞭解本案之其他優點及功效。本說明書所附圖式所繪示之結構、比值、大小等均僅用於配合說明書所揭示之內容,以供熟悉此技藝之人士之瞭解與閱讀,非用於限定本案可實施之限定條件,故任何修飾、改變或調整,在不影響本案所能產生之功效及所能達成之目的下,均應仍落在本案所揭示之技術內容得能涵蓋之範圍內。
於本文中所用之術語「包括」、「包含」、「具有」、「含有」或其任何其他變體都旨在涵蓋非排他性的包含。除非另有說明,單數形式的措辭,如「一」、「一個」、「該」也適用於複數形式,而「或」、「及/或」等措辭可互換使用。
請參閱圖1,係為本案之用於支援雙中心之網路資料庫系統之架構示意圖。
如圖1所示,用於支援雙中心之網路資料庫系統100包括第一資料庫中心1a及第二資料庫中心1b,且第一資料庫中心1a與第二資料庫中心1b之間藉由有線網路或無線網路進行網路連線。在一實施例中,該第一資料庫中心1a及第二資料庫中心1b係為設置於相同位置之設備。在另一實施例中,該第一資料庫中心1a及第二資料庫中心1b係為設置於相異兩地之設備。
第一資料庫中心1a包括第一應用程式模組10、具有第一協定層111及第一資料層112之第一主資料庫11、第一暫存資料庫12。於一實施例中,第一主資料庫11與第一暫存資料庫12之間採用雙主動式(Active-Active)網路架構,使第一主資料庫11與第一暫存資料庫12之間能達到資料雙向同步,藉此,第一應用程式模組10將第一主資料庫11及第一暫存資料庫12視為單一資料庫。
第二資料庫中心1b包括第二應用程式模組20、具有第二協定層211及第二資料層212之第二主資料庫21、第二暫存資料庫22。於一實施例中,第二主資料庫21與第二暫存資料庫22之間採用雙主動式(Active-Active)網路架構,使第二主資料庫21與第二暫存資料庫22之間能達到資料雙向同步,藉此,第二應用程式模組20將第二主資料庫21與第二暫存資料庫22視為單一資料庫。
須說明的是,網路資料庫系統100可建立於相同(或不同)伺服器(如通用型伺服器、檔案型伺服器、儲存單元型伺服器等)及電腦等具有適當演算機制之電子設備中,其中,網路資料庫系統100中之各個模組(如第一應用程式模組10及第二應用程式模組20)均可為軟體、硬體或韌體;若為硬體,則可為具有資料處理與運算能力之處理單元、處理器、電腦或伺服器;若為軟體或韌體,則可包括處理單元、處理器、電腦或伺服器可執行之指令,且可安裝於同一硬體裝置或分布於不同的複數硬體裝置。另外,第一主資料庫11、第一暫存資料庫12、第二主資料庫21及第二暫存資料庫22包括硬碟(如固態硬碟、機械式硬碟等)或其他儲存裝置,於此不限。因此,第一主資料庫11、第一暫存資料庫12、第二主資料庫21及第二暫存資料庫22可藉由儲存裝置來存取資料。
於一實施例中,系統100接收來自使用者電子裝置(未圖示)之資料更新指令,若網路連線正常,則由第一資料庫中心1a接收該資料更新指令,接著第一應用程式模組10將第一主資料庫11中的原始資料更新為第一更新資料,系統100執行本地端資料同步,即將第一暫存資料庫12中的原始資料更新為該第一更新資料。接著,系統100執行遠端資料同步,即第一應用程式模組10命令第二應用程式模組20將第二主資料庫21中的原始資料更新為該第一更新資料,系統100再執行本地端資料同步,即將第二暫存資料庫22中的原始資料更新為該第一更新資料。
於又一實施例中,系統100接收來自使用者電子裝置(未圖示)之資料更新指令,若於接收該資料更新指令之後,第一資料庫中心1a發生網路異常(如斷線),則第一資料庫中心1a執行其本地端資料同步,即第一應用程式模組10根據斷線前所接收到該資料更新指令,將第一主資料庫11中之原始資料更新為第一更新資料,將第一暫存資料庫12中之原始資料更新為第
一更新資料。當第一資料庫中心1a恢復網路連線(或正常連線)之後,由第一應用程式模組10命令第二應用程式模組20將第二主資料庫21中的原始資料更新為該第一更新資料,將第二暫存資料庫22中之原始資料更新為第一更新資料。
於再一實施例中,系統100接收來自使用者電子裝置(未圖示)之資料更新指令,若於接收該資料更新指令之後,第二資料庫中心1b發生網路異常(如斷線),則第二資料庫中心1b先不動作,而第一資料庫中心1a仍執行其本地端同步,即第一應用程式模組10根據該資料更新指令,將第一主資料庫11中之原始資料更新為第一更新資料,將第一暫存資料庫12中之原始資料更新為第一更新資料。當第二資料庫中心1b恢復網路連線(或正常連線)時,由第一應用程式模組10命令第二應用程式模組20將第二主資料庫21中的原始資料更新為該第一更新資料,將第二暫存資料庫22中之原始資料更新為第一更新資料。
於又一實施例中,系統100接收來自使用者電子裝置(未圖示)之資料更新指令,若於接收第一資料更新指令之後,第一資料庫中心1a發生網路異常(如斷線),直到於接收第二資料更新指令之後,第一資料庫中心1a恢復網路連線(或正常連線),則異常(如斷線)前由第一資料庫中心1a接收該第一資料更新指令,而異常(如斷線)後由第二資料庫中心1b接收該第二資料更新指令。於第一資料庫中心1a中,第一應用程式模組10根據該第一資料更新指令將第一主資料庫11中的原始資料更新為第一更新資料,將第一暫存資料庫12中的原始資料更新為該第一更新資料。於第二資料庫中心1b中,第二應用程式模組20根據該第二資料更新指令將第二暫存資料庫22中的原始資料更新為第二更新資料。當第一資料庫中心1a恢復網路連線(或正常連線)之後,由第一應用程式模組10命令第二應用程式模組20先將第二主資料庫21中的原始資料更新為該第一更新資料,接著第二主資料庫21中的第一更新資料再更新為第二更新資料。爾後,系統100執行遠端資料同步,即第二應用程式模組20命令第一應用程式模組10將第一主資料庫11中的第一更新資料更新為第二更新資料,接著第一暫存資料庫12中的第一更新資料再更新為第二更新資料。
換言之,在上述實施例中,第一資料庫中心1a係視為主資料庫中心,而第二資料庫中心1b係視為備援資料庫中心。因此,本案無須調整第一/第二應用程式模組10、20與各資料庫之間的連接關係,更不會影響資料的同步方式,以維持系統的穩定性,且大幅減少成本,並提升系統效率。
請參閱圖2,係為本案之用於支援雙中心之網路資料庫方法中資料同步之流程示意圖。
於步驟S21中,系統接收來自使用者電子裝置之第一資料更新指令,其中係由系統的第一資料庫中心接收該第一資料更新指令。
於步驟S22中,第一資料庫中心的第一應用程式模組根據該第一資料更新指令,將第一主資料庫中之原始資料更新為第一更新資料。
於步驟S23中,第一資料庫中心的第一主資料庫與第一暫存資料庫執行本地端資料同步,使第一暫存資料庫中之原始資料更新為第一更新資料。
於步驟S24中,第一資料庫中心與第二資料庫中心透過網路連線執行遠端資料同步,以由第一應用程式模組令第二資料庫中心之第二應用
程式模組,將第二資料庫中心的第二主資料庫中之原始資料更新為該第一更新資料。
於步驟S25中,第二資料庫中心的第二主資料庫與第二暫存資料庫執行本地端資料同步,使第二暫存資料庫中之原始資料更新為該第一更新資料。
根據步驟S21~S25,使系統中的第一資料庫中心與第二資料庫中心中之經更新後的資料達到一致。
於一實施例中,於步驟S21之後,第一資料庫中心或第二資料庫中心發生網路異常(如斷線),則第一資料庫中心仍根據該第一資料更新指令執行其內部的資料更新,即第一主資料庫中的原始資料和第一暫存資料庫中的原始資料皆更新為第一更新資料,而第二資料庫中心則先不動作,直到第一資料庫中心或第二資料庫中心恢復網路連線(或正常連線),即於步驟S24之前,第一資料庫中心或第二資料庫中心恢復網路連線(或正常連線),第一應用程式模組再令第二程式模組將第二資料庫中心執行其內部的資料更新,即第二主資料庫中的原始資料和第二暫存資料庫中的原始資料皆更新為該第一更新資料。
請參閱圖3,係為本案之用於支援雙中心之網路資料庫方法中第一資料庫中心發生網路異常(如斷線)後資料復原之流程示意圖。
於步驟S301中,系統接收來自使用者電子裝置之第一資料更新指令,其中係由系統的第一資料庫中心接收該第一資料更新指令。
於步驟S302中,第一資料庫中心發生網路斷線。
於步驟S303中,第一資料庫中心的第一應用程式模組根據該第一資料更新指令,將第一主資料庫中之原始資料更新為第一更新資料。
於步驟S304中,第一資料庫中心的第一主資料庫與第一暫存資料庫執行本地端資料同步,使第一暫存資料庫中之原始資料更新為第一更新資料。
於步驟S305中,系統接收來自使用者電子裝置之第二資料更新指令,其中係由系統的第二資料庫中心接收該第二資料更新指令。
於步驟S306中,第二資料庫中心的第二應用程式模組根據該第二資料更新指令,將第二暫存資料庫中之原始資料更新為第二更新資料。
於步驟S307中,第一資料庫中心恢復網路連線。
於步驟S308中,第一資料庫中心與第二資料庫中心執行遠端資料同步,以由第一應用程式模組令第二應用程式模組,將第二主資料庫中之原始資料更新為該第一更新資料。
於步驟S309中,第二主資料庫與第二暫存資料庫執行本地端資料同步,使第二主資料庫中之該第一更新資料更新為該第二更新資料。
於步驟S310中,第一資料庫中心與第二資料庫中心執行遠端資料同步,以由第二應用程式模組令第一應用程式模組,將第一主資料庫中之第一更新資料更新為該第二更新資料。
於步驟S311中,第一主資料庫與第一暫存資料庫執行本地端資料同步,使第一暫存資料庫中之該第一更新資料更新為該第二更新資料。
請參閱圖4,係為本案之用於支援雙中心之網路資料庫方法中第二資料庫中心發生網路異常(如斷線)後資料復原之流程示意圖。
於步驟S31,系統接收來自使用者電子裝置之第一資料更新指令,其中係由系統的第一資料庫中心接收該第一資料更新指令。
於步驟S32,第二資料庫中心發生網路斷線。
於步驟S33,第一資料庫中心的第一應用程式模組根據該第一資料更新指令,將第一主資料庫中之原始資料更新為第一更新資料。
於步驟S34,第一資料庫中心的第一主資料庫與第一暫存資料庫執行本地端資料同步,使第一暫存資料庫中之原始資料更新為第一更新資料。
於步驟S35,第二資料庫中心恢復網路斷線。
於步驟S36,第一資料庫中心與第二資料庫中心透過網路連線執行遠端資料同步,以由第一應用程式模組令第二資料庫中心之第二應用程式模組,將第二資料庫中心的第二主資料庫中之原始資料更新為該第一更新資料。
於步驟S37,第二資料庫中心的第二主資料庫與第二暫存資料庫執行本地端資料同步,使第二暫存資料庫中之原始資料更新為該第一更新資料。
請參閱圖5,係為本案之用於支援雙中心之網路資料庫方法中資料取得之流程示意圖。
於步驟S41中,第一資料庫中心之第一主資料庫的第一協定層或第二資料庫中心之第二主資料庫的第二協定層接收查詢請求。換言之,於更新第一主資料庫中之資料(如原始資料、第一更新資料或第二更新資料)或於更新第二主資料庫之資料(如原始資料、第一更新資料或第二更新資料)時,使
用者之電子裝置向第一主資料庫中之第一協定層或向第二主資料庫中之第二協定層發出資料查詢請求(如SQL查詢請求),以查詢該資料。
於步驟S42中,第一協定層詢問第一資料庫中心的第一應用程式模組或第二協定層詢問第二應用程式模組,以確認使用者欲查詢之該資料的資料內容、實際所在位置、健康狀況及整體叢集健康度。
於步驟S43中,第一協定層將該資料查詢請求中之查詢語句轉換為應用程式介面(Application Programming Interface,API),使第一協定層對第一主資料庫中的第一資料層進行資料查詢,或第二協定層將該資料查詢請求中之查詢語句轉換為應用程式介面(Application Programming Interface,API),使第二協定層對第二主資料庫中的第二資料層進行資料查詢。
於步驟S44中,第一協定層向第一資料層取得資料,或第二協定層向第二資料層取得資料。
於步驟S45中,第一協定層回覆該資料給第一應用程式模組,或第二協定層回覆該資料給第二應用程式模組,以進行後續的資料更新。
須說明的是,本案之方法可執行在例如伺服器、電腦或其他具有資料處理、運算、儲存、網路通聯等功能的一個單獨或多個集合之設備中,其中,該伺服器、電腦或設備包括中央處理器、硬碟、記憶體等。
在一實施例中,所述模組、單元均可為軟體、硬體或韌體;若為硬體,則可為具有資料處理與運算能力之處理單元、處理器、電腦或伺服器;若為軟體或韌體,則可包括處理單元、處理器、電腦或伺服器可執行之指令,且可安裝於同一硬體裝置或分布於不同的複數硬體裝置。
另外,本案之電腦程式產品係經由電腦載入程式後執行該方法。另外,電腦程式(產品)除可儲存於記錄媒體外,亦可在網路上直接傳輸提供,電腦程式(產品)係為載有電腦可讀取之程式且不限外在形式之物。所述電腦包括但不限於具有處理器之電子裝置,例如手機或平板等。
此外,本案還提供一種電腦可讀取記錄媒體,係應用於具有處理器及/或記憶體之計算設備或電腦中,且電腦可讀取記錄媒體儲存有指令,並可利用計算設備或電腦透過處理器及/或記憶體執行電腦可讀取記錄媒體,以於執行電腦可讀取記錄媒體時執行上述方法及/或內容。所述電腦可讀取紀錄媒體(例如硬碟、軟碟、光碟、USB隨身碟)係儲存有該電腦程式(產品)。
以下係為本案所揭之一種用於支援雙中心之網路資料庫系統、方法及其電腦程式產品的具體實施例,且一併參閱圖1至圖3說明之。此外,此實施例與上述實施例相同處,不再贅述。
第一資料庫中心1a接收到來自物聯網(Internet of Things,IoT)裝置的一第一設備狀態更新指令(如上述第一資料更新指令),其中,當第一資料庫中心1a及第二資料庫中心1b執行遠端資料同步更新時,若第一資料庫中心1a發生網路異常(如斷線),則第一應用程式模組10根據該第一設備狀態更新指令將第一主資料庫11中之物聯網裝置之狀態資料從「啟用中」(如上述原始資料)更新為「關閉」(如上述第一更新資料)。又,第一主資料庫11與第一暫存資料庫12執行本地端資料同步,使第一暫存資料庫12中之該物聯網裝置之狀態資料從「啟用中」更新為「關閉」。
接著,若該物聯網裝置發出一第二設備狀態更新指令(如上述第二資料更新指令),則由第二資料庫中心1b接收該第二設備狀態更新指令,
且第二應用程式模組20根據該第二設備狀態更新指令將第二暫存資料庫22中之該物聯網裝置之狀態資料從「啟用中」更新為「遺失」(如上述第二更新資料)。須說明之,當第一資料庫中心1a網路異常(如斷線)且該第二資料庫中心1b接收下一筆資料更新指令時,第二資料庫中心1b不會直接更新其第二主資料庫21中的原始資料,而是先更新第二暫存資料庫22中的原始資料,藉此確保資料更新的正確性,以避免在未與第一資料庫中心1a執行遠端資料同步的情況下變動主資料庫中之原始資料。
待第一資料庫中心1a之網路恢復連線(或正常連線)後,第一資料庫中心1a與第二資料庫中心1b執行遠端資料同步,且第一應用程式模組10令第二應用程式模組20將第二主資料庫21中之該物聯網裝置之狀態資料從「啟用中」更新為「關閉」(如上述第一更新資料)。之後,第二資料庫中心1b中的第二主資料庫21再與第二暫存資料庫22執行本地端資料同步,使第二主資料庫21中之該物聯網裝置之狀態資料從「關閉」更新為「遺失」(如上述第二更新資料)。
最後,第一資料庫中心1a與第二資料庫中心1b執行遠端資料同步,以由第二應用程式模組20令第一應用程式模組10將第一主資料庫11中之該物聯網裝置之狀態資料從「關閉」更新為「遺失」,同樣地,第一主資料庫11與第一暫存資料庫12亦執行本地端資料同步,使第一暫存資料庫12中之該物聯網裝置之狀態資料從「關閉」更新為「遺失」,進而完成第一資料庫中心1a及第二資料庫中心1b之間的資料同步復原。
綜上所述,本案之用於支援雙中心之網路資料庫系統、方法及其電腦程式產品,係藉由於第一資料庫中心及第二資料庫中心內皆建立有主
資料庫及暫存資料庫,以減少備援網路架構的數量,並藉由單一的備援資料庫中心即可維持系統的運作,進而大幅減少硬體成本及人力成本。另外,藉由主資料庫(即上述之第一資料庫中心)中心及備援資料庫中心(即上述之第二資料庫中心)之遠端資料同步及本地端資料同步之同步邏輯,以於主資料庫中心發生網路異常(如斷線)後,能快速地復原資料,且保障資料更新的正確性,進而避免資料更新時發生衝突的現象,並提升系統效率。
上述實施例僅例示性說明本案之功效,而非用於限制本案,任何熟習此項技藝之人士均可在不違背本案之精神及範疇下對上述該些實施態樣進行修飾與改變。因此本案之權利保護範圍,應如後述之申請專利範圍所列。
100:系統
1a:第一資料庫中心
10:第一應用程式模組
11:第一主資料庫
111:第一協定層
112:第一資料層
12:第一暫存資料庫
1b:第二資料庫中心
20:第二應用程式模組
21:第二主資料庫
211:第二協定層
212:第二資料層
22:第二暫存資料庫
Claims (9)
- 一種用於支援雙中心之網路資料庫系統,係包括:第一資料庫中心,用於接收第一資料更新指令,該第一資料庫中心包括:第一主資料庫;第一暫存資料庫,係與該第一主資料庫執行本地端資料同步;及第一應用程式模組,係根據該第一資料更新指令,將該第一主資料庫中之原始資料更新為第一更新資料;以及第二資料庫中心,於該第一資料庫中心發生網路異常時,用於接收第二資料更新指令,該第二資料庫中心包括:第二暫存資料庫;第二主資料庫,係與該第二暫存資料庫執行本地端資料同步;及第二應用程式模組,係根據該第二資料更新指令將該第二暫存資料庫中之原始資料更新為第二更新資料,其中,於該第一資料庫中心恢復網路連線時,根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料,其中,該第一暫存資料庫中之原始資料係更新為該第一更新資料,使該第一暫存資料庫與該第一主資料庫本地端資料同步,及其中,該第二主資料庫中之該第一更新資料係更新為該第二更新資料,使該第二主資料庫與該第二暫存資料庫執行本地端資料同步,以及其中,該第一應用程式模組係根據該第二應用程式模組的命令將該第一主資料庫中之該第一更新資料更新為該第二更新資料,使該第一主資料庫與該第二主資料庫執行遠端資料同步,其 中,該第一暫存資料庫中之該第一更新資料係更新為該第二更新資料,使該第一暫存資料庫與該第一主資料庫執行本地端資料同步。
- 如請求項1所述之網路資料庫系統,其中,於該第一資料庫中心未發生網路異常且該第二資料庫中心未接收該第二資料更新指令時,該第二應用程式模組係根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料,該第二暫存資料庫中之原始資料係更新為該第一更新資料。
- 如請求項1所述之網路資料庫系統,其中,於該第二資料庫中心發生網路異常時,待該第二資料庫中心恢復網路連線後,該第二應用程式模組根據該第一應用程式模組的命令將該第二主資料庫中之原始資料更新為該第一更新資料,該第二暫存資料庫中之原始資料係更新為該第一更新資料。
- 如請求項1所述之網路資料庫系統,其中,該第一主資料庫更包括第一協定層和第一資料層,該第一協定層係接收第一資料查詢請求以向該第一應用程式模組詢問而確認該第一資料查詢請求之資料,該第一協定層更將該第一資料查詢請求轉換為應用程式介面以向該第一資料層進行資料查詢,進而將在該第一資料層所取得之資料回覆至該第一應用程式模組,俾進行資料更新,以及其中,該第二主資料庫更包括第二協定層和第二資料層,該第二協定層係接收第二資料查詢請求以向該第二應用程式模組詢問而確認該第二資料查詢請求之資料,該第二協定層更將該第二資料查詢請求轉換為應用程式介面以向該第二資料層進行資料查詢,進而將在該第二資料層所取得之資料回覆至該第二應用程式模組,俾進行資料更新。
- 一種用於支援雙中心之網路資料庫運作方法,係包括:令第一資料庫中心接收第一資料更新指令;於該第一資料庫中心發生網路異常時,令第二資料庫中心接收第二資料更新指令;令該第一資料庫中心之第一應用程式模組根據該第一資料更新指令將該第一資料庫中心之第一主資料庫中之原始資料更新為第一更新資料;令該第一資料庫中心的第一暫存資料庫與該第一主資料庫執行本地端資料同步,包括:將該第一暫存資料庫中之原始資料更新為該第一更新資料;令該第二資料庫中心之第二應用程式模組根據該第二資料更新指令將該第二資料庫中心之第二暫存資料庫中之原始資料更新為第二更新資料;於該第一資料庫中心恢復網路連線時,令該第二資料庫中心之第二主資料庫中之原始資料更新為該第一更新資料;令該第二主資料庫與該第二暫存資料庫執行本地端資料同步,包括:將該第二主資料庫中之該第一更新資料更新為該第二更新資料;令該第一主資料庫與該第二主資料庫執行遠端資料同步,包括:由該第二應用程式模組令該第一應用程式模組將該第一主資料庫中之該第一更新資料更新為該第二更新資料;以及令該第一暫存資料庫與該第一主資料庫執行本地端資料同步,包括:將該第一暫存資料庫中之該第一更新資料更新為該第二更新資料。
- 如請求項5所述之網路資料庫運作方法,更包括: 於該第一資料庫中心未發生網路異常且該第二資料庫中心未接收該第二資料更新指令時,由該第一應用程式模組令該第二應用程式模組將該第二主資料庫中之原始資料更新為該第一更新資料;以及令該第二暫存資料庫中之原始資料更新為該第一更新資料。
- 如請求項5所述之網路資料庫運作方法,更包括:於該第二資料庫中心發生網路異常時,待該第二資料庫中心恢復網路連線後,由該第一應用程式模組令該第二應用程式模組將該第二主資料庫中之原始資料更新為該第一更新資料,進而令該第二暫存資料庫中之原始資料更新為該第一更新資料。
- 如請求項5所述之網路資料庫運作方法,更包括:令該第一主資料庫之第一協定層接收第一資料查詢請求;令該第一協定層向該第一應用程式模組詢問以確認該第一資料查詢請求之資料;令該第一協定層將該第一資料查詢請求轉換為應用程式介面,以向該第一主資料庫之第一資料層進行資料查詢;以及令該第一協定層將在該第一資料層所取得之資料回覆至該第一應用程式模組,俾進行資料更新,或者更包括:令該第二主資料庫之第二協定層接收第二資料查詢請求;令該第二協定層向該第二應用程式模組詢問以確認該第二資料查詢請求之資料; 令該第二協定層將該第二資料查詢請求轉換為應用程式介面,以向該第二主資料庫之第二資料層進行資料查詢;以及令該第二協定層將在該第二資料層所取得之資料回覆至該第二應用程式模組,俾進行資料更新。
- 一種電腦程式產品,經由電腦載入程式以執行如請求項5-8任一項所述之網路資料庫運作方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112115592A TWI858679B (zh) | 2023-04-26 | 2023-04-26 | 用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112115592A TWI858679B (zh) | 2023-04-26 | 2023-04-26 | 用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI858679B true TWI858679B (zh) | 2024-10-11 |
| TW202443414A TW202443414A (zh) | 2024-11-01 |
Family
ID=94083912
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112115592A TWI858679B (zh) | 2023-04-26 | 2023-04-26 | 用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI858679B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9179316B2 (en) * | 2009-01-28 | 2015-11-03 | Headwater Partners I Llc | Mobile device with user controls and policy agent to control application access to device location data |
| TW201743266A (zh) * | 2016-06-15 | 2017-12-16 | 國泰人壽保險股份有限公司 | 金融伺服系統、金融伺服器以及同步方法 |
| TWM555497U (zh) * | 2017-07-31 | 2018-02-11 | 華南商業銀行股份有限公司 | 兩地雙活資料中心 |
| US11296937B2 (en) * | 2016-12-30 | 2022-04-05 | Intel Corporation | Decentralized data storage and processing for IoT devices |
-
2023
- 2023-04-26 TW TW112115592A patent/TWI858679B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9179316B2 (en) * | 2009-01-28 | 2015-11-03 | Headwater Partners I Llc | Mobile device with user controls and policy agent to control application access to device location data |
| TW201743266A (zh) * | 2016-06-15 | 2017-12-16 | 國泰人壽保險股份有限公司 | 金融伺服系統、金融伺服器以及同步方法 |
| US11296937B2 (en) * | 2016-12-30 | 2022-04-05 | Intel Corporation | Decentralized data storage and processing for IoT devices |
| TWM555497U (zh) * | 2017-07-31 | 2018-02-11 | 華南商業銀行股份有限公司 | 兩地雙活資料中心 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202443414A (zh) | 2024-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110083662B (zh) | 一种基于平台系统的双活架构建设方法 | |
| CN102142008B (zh) | 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库 | |
| US7299378B2 (en) | Geographically distributed clusters | |
| US8595546B2 (en) | Split brain resistant failover in high availability clusters | |
| TWI625621B (zh) | 用於資料庫中進行回復的方法、電腦可用程式產品、與資料處理系統 | |
| CN108958984B (zh) | 基于ceph的双活同步在线热备方法 | |
| US20190155705A1 (en) | Coordinated Replication of Heterogeneous Database Stores | |
| CN106776121B (zh) | 一种数据灾备装置、系统及方法 | |
| CN112000635A (zh) | 一种数据请求方法、设备以及介质 | |
| CN110597910A (zh) | 一种异地数据同步方法、装置和系统 | |
| CN107644030A (zh) | 分布式数据库数据同步方法、相关装置及系统 | |
| TW201730784A (zh) | 資料同步方法、裝置及系統 | |
| US9703634B2 (en) | Data recovery for a compute node in a heterogeneous database system | |
| US20160292049A1 (en) | Data recovery for a relational database management system instance in a heterogeneous database system | |
| CN105550229A (zh) | 分布式存储系统数据修复的方法和装置 | |
| WO2014059804A1 (zh) | 数据同步方法及系统 | |
| US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
| US11360866B2 (en) | Updating stateful system in server cluster | |
| CN105069152B (zh) | 数据处理方法及装置 | |
| WO2018010501A1 (zh) | 全局事务标识gtid的同步方法、装置及系统、存储介质 | |
| CN115292408A (zh) | MySQL数据库的主从同步方法、装置、设备及介质 | |
| CN111984474A (zh) | 一种双控集群故障恢复的方法、系统及设备 | |
| CN112783694B (zh) | 一种高可用Redis的异地灾备方法 | |
| CN108733808B (zh) | 大数据软件系统切换方法、系统、终端设备及存储介质 | |
| TWI858679B (zh) | 用於支援雙中心之網路資料庫系統、方法及其電腦程式產品 |