TW201621715A - 資料庫轉換的同步系統及其方法 - Google Patents

資料庫轉換的同步系統及其方法 Download PDF

Info

Publication number
TW201621715A
TW201621715A TW103143739A TW103143739A TW201621715A TW 201621715 A TW201621715 A TW 201621715A TW 103143739 A TW103143739 A TW 103143739A TW 103143739 A TW103143739 A TW 103143739A TW 201621715 A TW201621715 A TW 201621715A
Authority
TW
Taiwan
Prior art keywords
database
phase
query instruction
synchronized
query
Prior art date
Application number
TW103143739A
Other languages
English (en)
Other versions
TWI539309B (zh
Inventor
廖英迪
周嘉政
鍾葉青
Original Assignee
國立清華大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 國立清華大學 filed Critical 國立清華大學
Priority to TW103143739A priority Critical patent/TWI539309B/zh
Priority to US14/664,077 priority patent/US9779154B2/en
Publication of TW201621715A publication Critical patent/TW201621715A/zh
Application granted granted Critical
Publication of TWI539309B publication Critical patent/TWI539309B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明係揭露一種資料庫轉換的同步系統及其方法,此系統包含一資料庫轉換器以及一資料橋接器。資料庫轉換器可用以轉換來源資料庫之表格至目的資料庫,資料橋接器包含指令解析單元、儲存單元以及同步控制單元,指令解析單元用以接收資料庫查詢指令並剖析資料庫查詢指令所關聯之查詢表格。儲存單元用以暫存資料庫查詢指令。同步控制單元用以決定查詢機制並接收來自資料庫轉換器所回傳之查詢表格之轉換狀態,同步控制單元根據查詢機制以及轉換狀態以執行資料庫查詢指令於來源資料庫、目的資料庫或是兩者之上。

Description

資料庫轉換的同步系統及其方法 【0001】
下列敘述是有關於一種同步系統及其方法,尤其是關於一種在資料庫進行轉換時支援查詢之同步系統及其方法。
【0002】
資料庫的同步是用來避免同一筆資料在不同表格或是不同資料庫裡出現相異值的情況,而針對在不同資料庫的同步情形下,目前的同步方式大多採用定時同步的機制,即在一特定時間點時啟動來源資料庫與目的資料庫的資料轉換,以達成同步之目的。然而在進行資料庫轉換的同時,使用者對於資料庫的存取便受到限制,如無法對資料庫進行查詢或是查詢時之效能低落,防止此類問題的產生對於在一即時系統或是講究高效能的資料庫管理系統中是極為重要的。
【0003】
因此,本發明人提出一種新穎的資料庫轉換之同步系統及其方法,以解決上述之問題。
【0004】
有鑑於上述習知之問題,本發明提供一種具彈性的資料庫轉換之同步系統及其方法,讓使用者可以依據其需求選擇不同的同步方式。
【0005】
有鑑於上述習知之問題,本發明提供一種資料庫轉換之同步系統及其方法,以解決在 資料庫轉換時,使用者所面臨之存取受限之問題。
【0006】
基於上述目的,本發明係提供一種資料庫轉換的同步方法,其適用於一資料橋接器與一資料庫轉換器,資料橋接器包含一同步控制單元、一儲存單元以及一指令解析單元,資料庫轉換器可將一來源資料庫內的表格轉換至一目的資料庫內,此同步方法包含下列步驟:利用同步控制單元決定查詢機制。利用指令解析單元接收資料庫查詢指令並剖析資料庫查詢指令所關聯之查詢表格。由資料庫轉換器回傳查詢表格之轉換狀態到同步控制單元,轉換狀態包含等待階段、轉換階段以及完成階段。由同步控制單元根據查詢機制以及轉換狀態以執行資料庫查詢指令於來源資料庫、目的資料庫或是兩者之上。
【0007】
較佳地,本發明之同步方法更包含設定查詢機制為等待轉換模式時,若轉換狀態為等待階段,在來源資料庫執行資料庫查詢指令。若轉換狀態為轉換階段,利用儲存單元儲存資料庫查詢指令以形成待同步資料庫查詢指令,並當轉換階段結束時,在來源資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且存在待同步資料庫查詢指令於儲存單元上,在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
【0008】
較佳地,本發明之同步方法更包含設定查詢機制為等待匯出模式,轉換階段係由匯出階段及匯入階段所組成,匯出階段係分割查詢表格成複數個分割檔案以匯出至一分散式檔案系統,匯入階段係組合複數個分割檔案成一組合檔案以匯入至目的資料庫。
【0009】
較佳地,本發明之同步方法更包含設定查詢機制為等待匯出模式時,若轉換狀態為等待階段,在來源資料庫執行資料庫查詢指令。若轉換狀態為匯出階段,利用儲存單元暫存資料庫查詢指令以形成待同步資料庫查詢指令直到匯出階段結束,再執行待同步資料庫查詢指令於來源資料庫上。若轉換狀態為匯入階段,利用儲存單元暫存資料庫查詢指令以形成該待同步資料庫查詢指令,並執行待同步資料庫查詢指令於來源資料庫上。若轉換狀態為完成階段且存在待同步資料庫查詢指令於儲存單元上,在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
【0010】
較佳地,本發明之同步方法更包含設定查詢機制為直接存取模式時,若轉換狀態為等待階段,在來源資料庫執行資料庫查詢指令。若轉換狀態為轉換階段,利用儲存單元暫存資料庫查詢指令以形成待同步資料庫查詢指令,並執行資料庫查詢指令於來源資料庫上。若轉換狀態為完成階段且存在待同步資料庫查詢指令於儲存單元上,在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
【0011】
基於上述目的,本發明再提供一種資料庫轉換的同步系統,其包含一資料庫轉換器以及一資料橋接器。資料庫轉換器可用以轉換來源資料庫之表格至目的資料庫,資料橋接器包含指令解析單元,可用以接收資料庫查詢指令並剖析資料庫查詢指令所關聯之查詢表格。儲存單元可用以暫存資料庫查詢指令,同步控制單元可用以決定查詢機制並接收來自資料庫轉換器所回傳之查詢表格之轉換狀態,且同步控制單元可根據查詢機制以及轉換狀態以執行資料庫查詢指令於來源資料庫、目的資料庫或是兩者之上。
【0012】
較佳地,轉換狀態為等待階段、轉換階段或是完成階段,查詢機制為等待轉換模式、等待匯出模式或是直接存取模式。
【0013】
較佳地,對於等待轉換模式,當在等待階段時,同步控制單元在來源資料庫執行資料庫查詢指令。當在轉換階段時,同步控制單元利用儲存單元儲存資料庫查詢指令以形成待同步資料庫查詢指令,並在轉換階段結束時,在來源資料庫執行待同步資料庫查詢指令。當在完成階段時且儲存單元存在待同步資料庫查詢指令時,同步控制單元在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
【0014】
較佳地,當在等待匯出模式時,轉換階段係由匯出階段及匯入階段所組成,匯出階段係分割查詢表格成複數個分割檔案以匯出至一分散式檔案系統,匯入階段係組合複數個分割檔案成一組合檔案以匯入至目的資料庫,對於等待匯出模式,當在等待階段時,在來源資料庫執行資料庫查詢指令。當在匯出階段時,儲存單元暫存資料庫查詢指令以形成待同步資料庫查詢指令,在匯出階段結束時,同步控制單元在來源資料庫執行待同步資料庫查詢指令。當在匯入階段時且儲存單元存在待同步資料庫查詢指令時,同步控制單元在來源資料庫執行待同步資料庫查詢指令。當在完成階段時且儲存單元存在待同步資料庫查詢指令時,同步控制單元在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
【0015】
較佳地,對於直接存取模式,當在等待階段時,同步控制單元在來源資料庫執行資料庫查詢指令。當在轉換階段時,儲存單元儲存資料庫查詢指令以形成待同步資料庫查詢指令,同步控制單元同時間在在來源資料庫執行資料庫查詢指令。當在完成階段時且儲存單元存在待同步資料庫查詢指令時,同步控制單元在目的資料庫執行待同步資料庫查詢指令。若轉換狀態為完成階段且不存在待同步資料庫查詢指令於儲存單元上,在目的資料庫以及來源資料庫執行資料庫查詢指令。
100‧‧‧同步系統
10‧‧‧資料庫轉換器
11‧‧‧來源資料庫
12‧‧‧目的資料庫
13‧‧‧轉換狀態
131‧‧‧等待階段
132‧‧‧轉換階段
1321‧‧‧匯出階段
1322‧‧‧匯入階段
133‧‧‧完成階段
20‧‧‧資料橋接器
21‧‧‧指令解析單元
211‧‧‧資料庫查詢指令
212‧‧‧查詢表格
214‧‧‧待同步資料庫查詢指令
22‧‧‧儲存單元
23‧‧‧同步控制單元
231‧‧‧查詢機制
2311‧‧‧等待轉換模式
2312‧‧‧等待匯出模式
2313‧‧‧直接存取模式
S1~S4‧‧‧流程步驟
【0016】
本發明之上述及其他特徵及優勢將藉由參照附圖詳細說明其例示性實施例而變得更顯而易知,其中:
第1圖係為根據本發明第一實施例之同步系統之方塊圖。
第2圖係為根據本發明第二實施例之同步方法之步驟流程圖。
第3圖係為根據本發明第二實施例之等待轉換模式之步驟流程圖。
第4圖係為根據本發明第二實施例之等待匯出模式之步驟流程圖。
第5圖係為根據本發明第二實施例之直接存取模式之步驟流程圖。
【0017】
為利 貴審查員瞭解本發明之特徵、內容與優點及其所能達成之功效,茲將本發明配合附圖,並以實施例之表達形式詳細說明如下,而其中所使用之圖式,其主旨僅為示意及輔助說明書之用,未必為本發明實施後之真實比例與精準配置,故不應就所附之圖式的比例與配置關係解讀、侷限本發明於實際實施上的權利範圍。
【0018】
本發明之優點、特徵以及達到之技術方法將參照例示性實施例及所附圖式進行更詳細地描述而更容易理解,且本發明或可以不同形式來實現,故不應被理解僅限於此處所陳述的實施例,相反地,對所屬技術領域具有通常知識者而言,所提供的實施例將使本揭露更加透徹與全面且完整地傳達本發明的範疇,且本發明將僅為所附加的申請專利範圍所定義。
【0019】
請參閱第1圖,係為根據本發明第一實施例之同步系統之方塊圖。如第1圖所示, 一種資料庫轉換的同步系統100,包含一資料庫轉換器10以及一資料橋接器20。本實施例中,資料庫轉換器10為一軟體應用程式以進行異質資料庫(Heterogeneous Database)間之轉換,但不以此為限,亦可以利用此資料庫轉換器10作為同質資料庫(Homogeneous Database)間的轉換。在本文中,係以一來源資料庫11與一目的資料庫12之轉換來表示異質資料庫之轉換,
【0020】
資料橋接器20包含指令解析單元21、儲存單元22以及同步控制單元23。指令解析單元21用以接收資料庫查詢指令211並剖析資料庫查詢指令211所關聯之查詢表格212。此處之資料庫查詢指令211可由另一應用程式所提供,如可供使用者下達資料庫查詢指令211的一介面,通常可由資料庫管理系統所提供,此資料庫查詢指令211形式可以為一SQL指令,如INSERT INTO Store_Information (Store_Name, Sales, Txn_Date) VALUES ('Los Angeles', 900, 'Jan-10-1999'),其係表示在表格Store_Information裡分別插入('Los Angeles', 900, 'Jan-10-1999')之值到(Store_Name, Sales, Txn_Date)三個欄位中。
【0021】
值得一提的是,此處之資料庫查詢指令211主要為一變更資料庫內表格之指令,如插入(insert)指令、刪除(delete)指令或是更新(update)指令。
【0022】
儲存單元22可用以儲存資料庫查詢指令211。同步控制單元23可用以決定一查詢機制231並接收來自資料庫轉換器10所回傳之查詢表格212之一轉換狀態13,且同步控制單元23可以根據查詢機制231以及轉換狀態13以執行資料庫查詢指令211於來源資料庫11、目的資料庫12或是兩者之上。因此,以上述之SQL指令而言,此同步控制單元23將會接收到來自資料庫轉換器10對於表格Store_Information之一轉換狀態13。而轉換狀態13可以是在轉換完每一個表格後,由資料庫轉換器10自動回傳給同步控制單元23,或者是由同步控制單元23觸發此回傳之動作。
【0023】
值得一提的是,此同步系統100在進行同步時,係以一個表格(table)作為單位進行同步,而非以一筆欄位(record)作為單位,透過此方式可將同步時所遭遇的硬體輸出/輸入的成本減低,以提升效能。
【0024】
進一步的說明,轉換狀態13可以為一等待階段131、一轉換階段132或是一完成階段133。等待階段131表示查詢表格212只處在來源資料庫11上,且其正準備被轉換至目的資料庫12上。轉換階段132表示查詢表格212正由來源資料庫11轉換至目的資料庫12。完成階段133表示查詢表格212已經從來源資料庫11轉換至目的資料庫12上。換句話說,此查詢表格212在等待階段131時不存在於目的資料庫12上,而在轉換階段132時則是部份資料存在於目的資料庫12上,而在完成階段133時則是完整出現在目的資料庫12上。
【0025】
再者,查詢機制231可以為一等待轉換模式2311、一等待匯出模式2312或是一直接存取模式2313。茲敘述如下:
【0026】
對於等待轉換模式2311而言,當在等待階段131時,同步控制單元23在來源資料庫11執行資料庫查詢指令211。當在轉換階段132時,同步控制單元23利用儲存單元22儲存資料庫查詢指令211以形成一待同步資料查詢指令214,並在轉換階段132結束時,在來源資料庫11執行此待同步資料庫查詢指令214。換言之,當在轉換階段132時,則形成所謂的busy-waiting狀態。當在完成階段133時且儲存單元22存在待同步資料庫查詢指令214時,同步控制單元23在目的資料庫12執行此待同步資料庫查詢指令214,而若是當在完成階段133時且儲存單元22不存在待同步資料庫查詢指令214時,則同步控制單元23在目的資料庫12以及來源資料庫11執行此資料庫查詢指令211。
【0027】
由上述可知,在轉換階段132時,由於無法立即執行資料庫查詢指令211,必須先將目前欲執行的資料庫查詢指令211暫存至儲存單元22中以形成待同步資料庫查詢指令214,而當同步控制單元23執行下一個資料庫查詢指令211前,則必須先執行完儲存單元22中的待同步資料庫查詢指令214,如此一來,可以確保資料庫同步後的相依性以及正確性。以下的兩種模式亦遵循此規則以進行資料庫轉換。
【0028】
對於等待匯出模式2312而言,轉換階段132係由一匯出階段1321及一匯入階段1322所組成,匯出階段1321係分割查詢表格212成複數個分割檔案以匯出至一分散式檔案系統,匯入階段1322係組合複數個分割檔案成一組合檔案以匯入至目的資料庫12,對於等待匯出模式2312,當在等待階段131時,在來源資料庫11執行資料庫查詢指令211。當在匯出階段1321時,儲存單元22暫存資料庫查詢指令211以形成一待同步資料庫查詢指令214,當在匯出階段1321結束時,同步控制單元23在來源資料庫11執行待同步資料庫查詢指令214。當在匯入階段1322時且儲存單元22存在待同步資料庫查詢指令214時,同步控制單元23則在來源資料庫11上執行此待同步資料庫查詢指令214。當在完成階段133時且存在待同步資料庫查詢指令214於儲存單元22上,同步控制單元23在目的資料庫12上執行此待同步資料庫查詢指令214,若當在完成階段133且不存在待同步資料庫查詢指令214於儲存單元22上時,則同步控制單元23在來源資料庫11及目的資料庫12上同時執行此資料庫查詢指令211。
【0029】
對於直接存取模式2313而言,當在等待階段131時,同步控制單元23在來源資料庫11執行資料庫查詢指令211。當在轉換階段132時,儲存單元22儲存資料庫查詢指令211以形成一待同步資料庫查詢指令214,且此同步控制單元23同時間會將在來源資料庫11執行資料庫查詢指令211。當在完成階段133時,若儲存單元22存在待同步資料庫查詢指令214時,同步控制單元23則在目的資料庫12執行待同步資料庫查詢指令214。而另一種情況則是,當在完成階段133時,若儲存單元22不存在待同步資料庫查詢指令214,則同步控制單元23則直接在目的資料庫12以及來源資料庫11執行資料庫查詢指令211。
【0030】
較佳地,在資料橋接器20可包含一翻譯器,其主要目的在於執行儲存單元22裡的待同步資料庫查詢指令214,尤其是,若是在執行異質資料庫(Heterogeneous Database)間之轉換時,如從SQL資料庫轉換至non-SQL資料庫時,此翻譯器可負責將一SQL指令翻譯成non-SQL指令,使其能順利地針對non-SQL資料庫進行查詢。
【0031】
請參閱第2圖,其 係為根據本發明第二實施例之同步方法之步驟流程圖。此為使用前述之同步系統的一 同步方法,適用於一資料橋接器20與一資料庫轉換器10,資料橋接器20包含一同步控制單元23、一儲存單元22以及一指令解析單元21,資料庫轉換器10可將一來源資料庫11內的表格轉換至一目的資料庫12內,同步方法包含下列步驟:
【0032】
步驟S1利用同步控制單元23決定一查詢機制231,其中此查詢機制231可以是一等待轉換模式2311、一等待匯出模式2312或是一直接存取模式2313。
【0033】
步驟S2利用指令解析單元21接收一資料庫查詢指令211並剖析資料庫查詢指令211所關聯之一查詢表格212。其中,此資料庫查詢指令211主要為一變更資料庫內表格之指令,如插入(insert)指令、刪除(delete)指令或是更新(update)指令。
【0034】
步驟S3係由資料庫轉換器10回傳查詢表格212之一轉換狀態13到同步控制單元23,其中此轉換狀態13包含一等待階段131、一轉換階段132以及一完成階段133。
【0035】
步驟S4係由同步控制單元23根據查詢機制231以及轉換狀態13以執行資料庫查詢指令211於來源資料庫11、目的資料庫12或是兩者之上。
【0036】
請一併參閱第2圖及第3圖,其中第3圖係 根據本發明第二實施例之等待轉換模式之步驟流程圖。在等待轉換模式2311下,一開始係由指令解析單元21接收資料庫查詢指令211且由此指令解析單元21剖析有關此資料庫查詢指令211之查詢表格212,並將此資料庫查詢指令211提交給同步控制單元23以對資料庫進行查詢,但同步控制單元23必須先得到此查詢表格212在資料庫轉換器10之一轉換狀態13。
【0037】
若轉換狀態13為等待階段131時,因為目前此查詢表格212僅存在於來源資料庫11裡,故可立即在來源資料庫11執行此資料庫查詢指令211,在轉換此查詢表格212到目的資料庫12後,來源資料庫11以及目的資料庫12便可直接同步。
【0038】
若轉換狀態13為轉換階段132時,則先利用儲存單元22儲存此資料庫查詢指令211以形成一待同步資料庫查詢指令214,並當轉換階段132結束時,則僅在來源資料庫11執行此待同步資料庫查詢指令214(此時之待同步資料庫查詢指令214等於資料庫查詢指令211)。值得注意的是,在此時的來源資料庫11以及目的資料庫12的查詢表格212是不同步的。
【0039】
承上, 若轉換狀態13來到完成階段133時,此時將會發現有待同步資料庫查詢指令214存在於儲存單元22上,則在目的資料庫12執行此待同步資料庫查詢指令214,可使目的資料庫12裡的查詢表格212同步於來源資料庫11,另一方面,若是沒有發現有待同步資料庫查詢指令214存在於儲存單元22上,則直接在來源資料庫11以及目的資料庫12上執行此資料庫查詢指令211。
【0040】
簡而言之,只有當查詢表格212正位於轉換階段132時,使用者對於來源資料庫11的查詢才會受到限制,而對於目的資料庫12而言,由於資料庫查詢指令211通常具有相依性(Dependency),故其在完成階段133時必須先完成先前暫存的待同步資料庫查詢指令214,才能在此查詢表格212執行資料庫查詢指令211。
【0041】
請一併參閱第2圖及第4圖,其中第4圖係 根據本發明第二實施例之等待匯出模式之步驟流程圖。此模式與等待轉換模式2311之步驟大致相同,唯一不同處在於 等待匯出模式2312裡的轉換階段132,此轉換階段132係再細分為一匯出階段1321及一匯入階段1322,由於其他步驟與等待轉換模式2311雷同,故不在此進行贅述,僅對匯出階段1321及匯入階段1322進行說明。
【0042】
在匯出階段1321中,其係分割查詢表格212成複數個分割檔案以匯出至一分散式檔案系統,而在匯入階段1322係組合此複數個分割檔案成一組合檔案以匯入至目的資料庫12。
【0043】
詳細地說,若轉換狀態13為匯出階段1321時,則先利用儲存單元22暫存資料庫查詢指令211以形成待同步資料庫查詢指令214,當匯出階段1321結束時,再於來源資料庫11上執行此待同步資料庫查詢指令214。
【0044】
而若轉換狀態13為匯入階段1322,則利用儲存單元22暫存資料庫查詢指令211以形成待同步資料庫查詢指令214,並直接執行此待同步資料庫查詢指令214於來源資料庫11上(此時之待同步資料庫查詢指令214等於資料庫查詢指令211)。
【0045】
值得一提的是,在匯出階段1321時,由於此時不允許資料庫查詢語句211對在來源資料庫11及目的資料庫12上的查詢表格212進行查詢,故此時查詢表格212在來源資料庫11及目的資料庫12上應為一致,意即應為同步之關係。
【0046】
簡而言之,只有當查詢表格212正位於匯出階段1321時,使用者對於來源資料庫11的查詢才會受到限制,而對於目的資料庫12而言,由於資料庫查詢指令211與待同步資料庫查詢指令214可能存在相依性關係,故在完成階段133時必須先完成先前暫存的待同步資料庫查詢指令214,才能在此查詢表格212執行資料庫查詢指令211。
【0047】
請一併參閱第2圖及第5圖,其中第5圖係 根據本發明第二實施例之直接存取模式之步驟流程圖。此模式與等待轉換模式2311之步驟大致相同,唯一不同處在於 轉換階段132,由於其他步驟與等待轉換模式2311雷同,故不在此進行贅述,僅對轉換階段132進行說明。
【0048】
若轉換狀態13為轉換階段132時,則利用儲存單元22暫存資料庫查詢指令211以形成一待同步資料庫查詢指令214,並直接執行此待同步資料庫查詢指令214於來源資料庫11上(此時之待同步資料庫查詢指令214等於資料庫查詢指令211)。此時來源資料庫11係不同步於目的資料庫12。而其同步的方式已在等待轉換模式2311裡的完成階段133所描述,故在此不進行贅述。
【0049】
簡而言之,在此模式中,使用者對於來源資料庫11的查詢均不受到限制,而對於目的資料庫12而言,由於資料庫查詢指令211與待同步資料 庫 查詢指令214可能具有相依性關係,故在完成階段133時必須先完成先前暫存的待同步資料庫查詢指令214,才能在此查詢表格212執行資料庫查詢指令211。
【0050】
由以上可知,本發明提供一種彈性的資料庫轉換之同步系統及其方法,在進行資料庫轉換的同時,使用者可以依照自已的需求來選擇最適合的查詢機制231,讓使用者所受到的資料庫存取限制成為最小。
【0051】
以上所述之實施例僅係為說明本發明之技術思想及特點,其目的在使熟習此項技藝之人士能夠瞭解本發明之內容並據以實施,當不能以之限定本發明之專利範圍,即大凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發明之專利範圍內。
國內寄存資訊【請依寄存機構、日期、號碼順序註記】
國外寄存資訊【請依寄存國家、機構、日期、號碼順序註記】
S1~S4‧‧‧流程步驟

Claims (16)

  1. 【第1項】
    一種資料庫轉換的同步方法,適用於一資料橋接器與一資料庫轉換器,該資料橋接器包含一同步控制單元、一儲存單元以及一指令解析單元,該資料庫轉換器係將一來源資料庫內的表格轉換至一目的資料庫內,該同步方法包含:
    利用該同步控制單元決定一查詢機制;
    利用該指令解析單元接收一資料庫查詢指令並剖析該資料庫查詢指令所關聯之一查詢表格;
    由該資料庫轉換器回傳該查詢表格之一轉換狀態到該同步控制單元,其中該轉換狀態包含一等待階段、一轉換階段以及一完成階段;以及
  2. 由該同步控制單元根據該查詢機制以及該轉換狀態以執行該資料庫查詢指令於該來源資料庫、該目的資料庫或是兩者之上。
  3. 【第2項】
    如申請專利範圍第1項之同步方法,更包含
    設定該查詢機制為一等待轉換模式時,
    若該轉換狀態為該等待階段,在該來源資料庫執行該資料庫查詢指令;
    若該轉換狀態為該轉換階段,利用該儲存單元儲存該資料庫查詢指令以形成一待同步資料庫查詢指令,並當該轉換階段結束時,在該來源資料庫執行該待同步資料庫查詢指令;
    若該轉換狀態為該完成階段且存在該待同步資料庫查詢指令於該儲存單元上,在該目的資料庫執行該待同步資料庫查詢指令;
  4. 若該轉換狀態為該完成階段且不存在該待同步資料庫查詢指令於該儲存單元上,在該目的資料庫及該來源資料庫執行該資料庫查詢指令。
  5. 【第3項】
    如申請專利範圍第1項之同步方法,更包含:
  6. 設定該查詢機制為一等待匯出模式,其中該轉換階段係由一匯出階段及一匯入階段所組成,該匯出階段係分割該查詢表格成複數個分割檔案以匯出至一分散式檔案系統,該匯入階段係組合該複數個分割檔案成一組合檔案以匯入至該目的資料庫。
  7. 【第4項】
    如申請專利範圍第3項之同步方法,更包含:
    設定該查詢機制為一等待匯出模式時,
    若該轉換狀態為該等待階段,在該來源資料庫執行該資料庫查詢指令;
    若該轉換狀態為該匯出階段,利用該儲存單元暫存該資料庫查詢指令以形成一待同步資料庫查詢指令直到該匯出階段結束,再執行該待同步資料庫查詢指令於該來源資料庫上;
    若該轉換狀態為該匯入階段,利用該儲存單元暫存該資料庫查詢指令以形成該待同步資料庫查詢指令並執行該待同步資料庫查詢指令於該來源資料庫上;
    若該轉換狀態為該完成階段且存在該待同步資料庫查詢指令於該儲存單元上,在該目的資料庫執行該待同步資料庫查詢指令;
  8. 若該轉換狀態為該完成階段且不存在該待同步資料庫查詢指令於該儲存單元上,在該來源資料庫及該目的資料庫執行該資料庫查詢指令。
  9. 【第5項】
    如申請專利範圍第1項之同步方法,更包含:
    設定該查詢機制為一直接存取模式時,
    若該轉換狀態為該等待階段,在該來源資料庫執行該資料庫查詢指令;
    若該轉換狀態為該轉換階段,利用該儲存單元暫存該資料庫查詢指令以形成一待同步資料庫查詢指令並執行該資料庫查詢指令於該來源資料庫上;
    若該轉換狀態為該完成階段且存在該待同步資料庫查詢指令於該儲存單元上,在該目的資料庫執行該待同步資料庫查詢指令;
  10. 若該轉換狀態為該完成階段且不存在該待同步資料庫查詢指令於該儲存單元上,在該來源資料庫及該目的資料庫執行該資料庫查詢指令。
  11. 【第6項】
    一種資料庫轉換的同步系統,係包含:
    一資料庫轉換器,係用以轉換一來源資料庫之表格至一目的資料庫;以及
    一資料橋接器,包含
    一指令解析單元,係用以接收一資料庫查詢指令並剖析該資料庫查詢指令所關聯之一查詢表格;
    一儲存單元,係用以暫存該資料庫查詢指令;以及
  12. 一同步控制單元,係用以決定一查詢機制並接收來自該資料庫轉換器所回傳之該查詢表格之一轉換狀態,該同步控制單元根據該查詢機制以及該轉換狀態以執行該資料庫查詢指令於該來源資料庫、該目的資料庫或是兩者之上。
  13. 【第7項】
    如申請專利範圍第6項之同步系統,其中該轉換狀態為一等待階段、一轉換階段或是一完成階段,該查詢機制為一等待轉換模式、一等待匯出模式或是一直接存取模式。
  14. 【第8項】
    如申請專利範圍第7項之同步系統,其中對於該等待轉換模式,當在 該等待階段時,該同步控制單元在 該來源資料庫執行該資料庫查詢指令;當在該轉換階段時,該同步控制單元利用該儲存單元儲存該資料庫查詢指令以形成一待同步資料庫查詢指令,並在該轉換階段結束時,在該來源資料庫執行該待同步資料庫查詢指令;當在該 完成階段時且該儲存單元存在該待同步資料庫查詢指令時,該同步控制單元在 該目的資料庫執行該待同步資料庫查詢指令;當在該 完成階段時且該儲存單元不存在該待同步資料庫查詢指令時,該同步控制單元在該來源資料庫及 該目的資料庫執行該資料庫查詢指令 。
  15. 【第9項】
    如申請專利範圍第7項之同步系統,其中當在 該 等待匯出模式時,該轉換階段係由一匯出階段及一匯入階段所組成,其中該匯出階段係分割該查詢表格成複數個分割檔案以匯出至一分散式檔案系統,該匯入階段係組合該複數個分割檔案成一組合檔案以匯入至該目的資料庫,對於該等待匯出模式,當 在 該等待階段時,在 該來源資料庫執行該資料庫查詢指令;當在該匯出階段時,該儲存單元暫存該資料庫查詢指令以形成一待同步資料庫查詢指令,在該匯出階段結束時,該同步控制單元在該來源資料庫執行該待同步資料庫查詢指令;當在該匯入階段時且該儲存單元存在該待同步資料庫查詢指令時,該同步控制單元在該來源資料庫執行該待同步資料庫查詢指令;當在該 完成階段時且該儲存單元存在該待同步資料庫查詢指令時,該同步控制單元在 該目的資料庫執行該待同步資料庫查詢指令;當在該 完成階段時且該儲存單元不存在該待同步資料庫查詢指令時,該同步控制單元在該來源資料庫及 該目的資料庫執行該資料庫查詢指令 。
  16. 【第10項】
    如申請專利範圍第7項之同步系統,其中對於該直接存取模式,當 在 該等待階段時,該同步控制單元在 該來源資料庫執行該資料庫查詢指令;當在該轉換階段時,該儲存單元儲存該資料庫查詢指令以形成一待同步資料庫查詢指令,該同步控制單元並在該來源資料庫執行該資料庫查詢指令;當在該 完成階段時且該儲存單元存在該待同步資料庫查詢指令時,該同步控制單元在 該目的資料庫執行該待同步資料庫查詢指令 ; 當在該 完成階段時且該儲存單元不存在該待同步資料庫查詢指令時,該同步控制單元在 該目的資料庫及該來源資料庫執行該資料庫查詢指令 。
TW103143739A 2014-12-15 2014-12-15 資料庫轉換的同步系統及其方法 TWI539309B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103143739A TWI539309B (zh) 2014-12-15 2014-12-15 資料庫轉換的同步系統及其方法
US14/664,077 US9779154B2 (en) 2014-12-15 2015-03-20 Synchronization system for transforming database and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103143739A TWI539309B (zh) 2014-12-15 2014-12-15 資料庫轉換的同步系統及其方法

Publications (2)

Publication Number Publication Date
TW201621715A true TW201621715A (zh) 2016-06-16
TWI539309B TWI539309B (zh) 2016-06-21

Family

ID=56111367

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103143739A TWI539309B (zh) 2014-12-15 2014-12-15 資料庫轉換的同步系統及其方法

Country Status (2)

Country Link
US (1) US9779154B2 (zh)
TW (1) TWI539309B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI686707B (zh) * 2018-05-31 2020-03-01 香港商阿里巴巴集團服務有限公司 資料庫存取方法及裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256709B2 (en) 2019-08-15 2022-02-22 Clinicomp International, Inc. Method and system for adapting programs for interoperability and adapters therefor
CN111581181B (zh) * 2020-04-07 2021-06-29 浙商银行股份有限公司 一种基于数据库数据表自动生成区块链智能合约的方法
CN113282599A (zh) * 2021-05-31 2021-08-20 平安国际智慧城市科技股份有限公司 数据同步方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260777B2 (en) * 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
US20060173951A1 (en) * 2001-01-25 2006-08-03 Carlos Arteaga System and method for transfer, control, and synchronization of data
JP2003030016A (ja) * 2001-07-11 2003-01-31 Hitachi Ltd データ変換方法およびシステム並びにその処理プログラム
US7873603B2 (en) * 2005-10-07 2011-01-18 Myriad Systems, Inc. Document archival system
US7778959B2 (en) * 2005-12-09 2010-08-17 Microsoft Corporation Protecting storages volumes with mock replication
US8219518B2 (en) * 2007-01-09 2012-07-10 International Business Machines Corporation Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process
US8201138B2 (en) * 2008-01-18 2012-06-12 International Business Machines Corporation Solution providing navigation-independent access to elements of a software integrated development environment (IDE) using uniform resource locators(URLs)
FR2928800A1 (fr) * 2008-03-14 2009-09-18 Thomson Licensing Sas Procede de gestion de requetes d'obtention d'identifiants de pairs en vue d'acceder en mode p2p a des contenus qu'ils stockent, et dispositif de gestion et equipement de reseau associes.
US8504513B2 (en) * 2009-11-25 2013-08-06 Microsoft Corporation Auto-generation of code for performing a transform in an extract, transform, and load process
US8793272B2 (en) * 2010-12-27 2014-07-29 Sap Ag Query transformation
US9430505B2 (en) * 2011-04-18 2016-08-30 Infosys Limited Automated data warehouse migration

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI686707B (zh) * 2018-05-31 2020-03-01 香港商阿里巴巴集團服務有限公司 資料庫存取方法及裝置
US11080278B2 (en) 2018-05-31 2021-08-03 Ant Financial (Hang Zhou) Network Technology Co., Ltd. Database query plan selection
US11243950B2 (en) 2018-05-31 2022-02-08 Beijing Oceanbase Technology Co., Ltd. Database query plan selection

Also Published As

Publication number Publication date
US20160171051A1 (en) 2016-06-16
TWI539309B (zh) 2016-06-21
US9779154B2 (en) 2017-10-03

Similar Documents

Publication Publication Date Title
CN109299102B (zh) 一种基于Elastcisearch的HBase二级索引系统及方法
CA3048741C (en) Blockchain-based data storage and query method and device
US10311055B2 (en) Global query hint specification
CN110032604B (zh) 数据存储装置、转译装置及数据库访问方法
US9514188B2 (en) Integrating map-reduce into a distributed relational database
US9146959B2 (en) Database query in a share-nothing database architecture
Sellami et al. ODBAPI: a unified REST API for relational and NoSQL data stores
US7451136B2 (en) System and method for searching multiple disparate search engines
US10929398B2 (en) Distributed system with accelerator and catalog
WO2017096939A1 (zh) 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法
WO2016123920A1 (zh) 支持多类型数据库操作的集成接口的实现方法及系统
TWI539309B (zh) 資料庫轉換的同步系統及其方法
US10534770B2 (en) Parallelizing SQL on distributed file systems
WO2015062181A1 (zh) 用于实现多源异构数据资源自动同步的方法
US20130117290A1 (en) Platform for software as a service and method for provisioning service for supporting multi-tenants using the platform
US20150205834A1 (en) PROVIDING FILE METADATA QUERIES FOR FILE SYSTEMS USING RESTful APIs
US10614070B2 (en) Preventing staleness in query results when using asynchronously updated indexes
US20160232216A1 (en) Automated harmonization of data
US10592506B1 (en) Query hint specification
US9342545B2 (en) Using a partially built index in a computer database system
CN102346765A (zh) 一种查询内存数据的方法及装置
CN107609091B (zh) 一种跨库多表联合查询系统的实现方法
US8694559B2 (en) Using database content for multiple business data systems connected to one database
US20210049219A1 (en) Database Search Integration
US9177008B1 (en) Positioned updates in a distributed shared-nothing data store