專利名稱:實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置和方法
技術領域:
本發(fā)明涉及數(shù)據(jù)處理技術領域,具體而言,涉及實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置和方法。
背景技術:
隨著企業(yè)的發(fā)展,企業(yè)為了提高管理水平,企業(yè)內部使用了很多的信息化系統(tǒng),如 CRM (Customer Relationship Management,客戶關系管理)系統(tǒng)、企業(yè)管理系統(tǒng)、數(shù)據(jù)倉庫系統(tǒng)及分銷系統(tǒng)等,且各個系統(tǒng)都是獨立運行。企業(yè)內部存在多個信息系統(tǒng)數(shù)據(jù)不能共享, 在分銷行業(yè)的批發(fā)零售過程中,企業(yè)希望自己的商品在各個系統(tǒng)中命名規(guī)則都統(tǒng)一,用戶的訂單信息能在不同系統(tǒng)中進行同步,并實現(xiàn)商品和訂單數(shù)據(jù)自動從一個系統(tǒng)同步到另一個系統(tǒng)。在企業(yè)的實際運營中,各個系統(tǒng)之間經常需要進行數(shù)據(jù)同步,以保證各個系統(tǒng)中所儲存的信息是一致的。例如在家電行業(yè)商品的批發(fā)零售中,經銷商通過廠商的CRM系統(tǒng)下訂單,供應商審批后給經銷商發(fā)貨。經銷商收到貨后還得重新填寫訂單,增加了經銷商的工作量。廠商希望統(tǒng)一它們的商品,當經銷商的訂單審批后,通過分銷系統(tǒng)下發(fā)給經銷商,減少了經銷商重復填寫訂單的工作量,但不同信息系統(tǒng)的數(shù)據(jù)結構又不盡相同。因此,需要一種裝置,用于實現(xiàn)基礎檔案(如商品、計量單位等)和訂單數(shù)據(jù)從CRM系統(tǒng)同步到分銷系統(tǒng),然后再通過分銷平臺把收集到的數(shù)據(jù)分發(fā)給各經銷商。相關技術方案中,當需要同步的數(shù)據(jù)達到一定的規(guī)模時,就很難正確完成數(shù)據(jù)同步,數(shù)據(jù)同步的安全性,數(shù)據(jù)的并發(fā)性也難以保證。即使同步成功,數(shù)據(jù)解析的效率也有明顯的問題。由于相關大部分技術方案都采用XML進行數(shù)據(jù)傳輸,當用戶傳輸?shù)臄?shù)據(jù)量比較少的情況下,對網絡影響和數(shù)據(jù)的解析都不會有太大的影響。當數(shù)據(jù)量達到幾十兆、甚至上百兆時,生成的XML文件過大,而XML需要加載到內存中操作,對內存的影響很大,解析速度非常慢,嚴重影響產品的正常使用。相關其它的數(shù)據(jù)同步方法及裝置,往往也只考慮了網絡斷開的情況,沒有考慮數(shù)據(jù)傳輸?shù)陌踩?,傳輸過程中用戶并發(fā)數(shù)控制,數(shù)據(jù)傳輸?shù)男始皩ιa環(huán)境的影響等。因此,目前需要解決的問題主要包括解決異構數(shù)據(jù)庫中的大數(shù)據(jù)同步的效率問題;解決數(shù)據(jù)的定時自動同步問題;解決數(shù)據(jù)同步的安全問題;解決增量數(shù)據(jù)同步問題;解決中間表的數(shù)據(jù)自動抽取問題。另外,有發(fā)明者發(fā)明過一個數(shù)據(jù)同步處理方法及裝置,這種數(shù)據(jù)同步裝置的實現(xiàn)方法如下實現(xiàn)一個數(shù)據(jù)源監(jiān)控器,用來監(jiān)控參考數(shù)據(jù)源與目標數(shù)據(jù)源之間的通信狀態(tài);變更狀態(tài)記錄單元,當通訊中斷時,用來記錄參考數(shù)據(jù)源的變更狀態(tài);數(shù)據(jù)同步單元,當通訊狀態(tài)正常時,根據(jù)參考數(shù)據(jù)源的變更狀態(tài),把參考數(shù)據(jù)源中的變更數(shù)據(jù)同步到目標數(shù)據(jù)源;實現(xiàn)業(yè)務監(jiān)聽器,用來監(jiān)聽參考數(shù)據(jù)源的數(shù)據(jù)變化;
實現(xiàn)映射控制器,用來管理和查找參考數(shù)據(jù)源中的數(shù)據(jù)與目標數(shù)據(jù)源的數(shù)據(jù)的對應關系;數(shù)據(jù)導入單元,把原數(shù)據(jù)中的變更數(shù)據(jù)導入到目標數(shù)據(jù)源;數(shù)據(jù)轉換器,用來將參考數(shù)據(jù)源中的數(shù)據(jù)結構轉換為目標數(shù)據(jù)源的數(shù)據(jù)結構。但是,這個數(shù)據(jù)通過方法和裝置的分析存在幾個關鍵的技術問題數(shù)據(jù)的導入的安全性存在隱患,任何一個數(shù)據(jù)庫用戶都可以對數(shù)據(jù)進行同步;數(shù)據(jù)的更改沒有辦法跟蹤控制;數(shù)據(jù)的同步對生產環(huán)境影響較大,每次數(shù)據(jù)同步時,都要去檢查目標數(shù)據(jù)庫的數(shù)據(jù)源,造成對生產環(huán)境的數(shù)據(jù)訪問沖突;數(shù)據(jù)的并發(fā)沖突,當數(shù)據(jù)導入時,用戶需要訪問導入的數(shù)據(jù),這樣容易造成并發(fā)沖突;數(shù)據(jù)處理的效率較差。由于相關的發(fā)明存在諸多的問題,不能滿足我們的需求,因此,需要一種新的數(shù)據(jù)同步技術,以實現(xiàn)更高效更安全的數(shù)據(jù)同步,并能有效的防止并發(fā)沖突,提高系統(tǒng)運行的效率及可靠性。
發(fā)明內容
本發(fā)明所要解決的技術問題在于,提供一種數(shù)據(jù)同步裝置和同步方法,以實現(xiàn)更高效更安全的數(shù)據(jù)同步,并能有效的防止并發(fā)沖突,提高系統(tǒng)運行的效率及可靠性。有鑒于此,本發(fā)明提出了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,包括創(chuàng)建單元,在目標數(shù)據(jù)庫中建立中間表,所述中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構; 獲取單元,獲取所述源數(shù)據(jù)表中的目標數(shù)據(jù);導入單元,將所述獲取單元獲取的所述目標數(shù)據(jù)導入所述中間表中。在該技術方案中,采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,則在對生產表中所需的數(shù)據(jù)進行獲取時,可以從中間表中直接獲取,是在同一個數(shù)據(jù)庫(目標數(shù)據(jù)庫)內部完成的數(shù)據(jù)傳輸,而不需要每次獲取一個數(shù)據(jù)時,都在異構數(shù)據(jù)庫(源數(shù)據(jù)庫與目標數(shù)據(jù)庫)之間進行檢查和轉換,這使得該過程顯然具有更快的傳輸速度、更高的傳輸效率。同時,該過程還不需要且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。在上述技術方案中,優(yōu)選地,還包括轉換單元,根據(jù)生產表中的數(shù)據(jù)需求,從所述中間表中獲取對應的生產數(shù)據(jù),并利用數(shù)據(jù)轉換裝置,將所述生產數(shù)據(jù)的數(shù)據(jù)格式轉換為所述生產表對應的數(shù)據(jù)格式;以及所述導入單元還用于將所述轉換單元轉換后的生產數(shù)據(jù)導入所述生產表中。在該技術方案中,由于源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)格式往往是不同的,利用數(shù)據(jù)轉換裝置,可以根據(jù)實際情況將源數(shù)據(jù)庫的數(shù)據(jù)格式轉換為生產表所需的數(shù)據(jù)格式,而且數(shù)據(jù)轉換裝置所處理的數(shù)據(jù)來自中間表,而非源數(shù)據(jù)庫,有效地避免了頻繁地訪問源數(shù)據(jù)庫而造成的與業(yè)務系統(tǒng)搶占系統(tǒng)資源的情況。在上述技術方案中,優(yōu)選地,所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,還包括 權限設置單元,為所述中間表和所述生產表分別設置操作級別。在該技術方案中,通過對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶(例如從源數(shù)據(jù)庫導入目標數(shù)據(jù)庫的用戶,可以對中間表進行更新操作;在目標數(shù)據(jù)數(shù)中,從中間表到生產表之間的導入用戶, 只具有對中間表的只讀權限),一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,優(yōu)化了企業(yè)管理,提高了數(shù)據(jù)的安全性。在上述技術方案中,優(yōu)選地,所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,還包括權限驗證單元,在用戶對所述中間表或所述生產表進行操作時,檢測所述用戶的權限級別, 并允許所述用戶進行對應于所述權限級別的操作。在該技術方案中,對用戶的操作進行權限驗證,保證了所有用戶只能進行權限設置中授權的操作,有效地避免了任意用戶都可以進行數(shù)據(jù)同步的情況下的管理困難問題,提高了數(shù)據(jù)同步的安全性。在上述技術方案中,優(yōu)選地,所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,還包括 調度設定單元,設定每次獲取所述目標數(shù)據(jù)的獲取時間;以及所述獲取單元還用于在所述源數(shù)據(jù)庫中啟動輪詢服務,所述輪詢服務按照所述獲取時間,在所述源數(shù)據(jù)表中對所述目標數(shù)據(jù)進行獲取。在該技術方案中,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源,同時對每個用戶的數(shù)據(jù)同步時間進行合理分配, 有效地解決了多用戶同時訪問所造成的并發(fā)沖突。本發(fā)明還提供了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,包括步驟202,在目標數(shù)據(jù)庫中建立中間表,所述中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;步驟204, 獲取所述源數(shù)據(jù)表中的目標數(shù)據(jù),并將所述目標數(shù)據(jù)導入所述中間表中。在該技術方案中, 采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,則在對生產表中所需的數(shù)據(jù)進行獲取時,可以從中間表中直接獲取,是在同一個數(shù)據(jù)庫(目標數(shù)據(jù)庫)內部完成的數(shù)據(jù)傳輸,而不需要每次獲取一個數(shù)據(jù)時,都在異構數(shù)據(jù)庫(源數(shù)據(jù)庫與目標數(shù)據(jù)庫)之間進行檢查和轉換,這使得該過程顯然具有更快的傳輸速度、更高的傳輸效率。同時,該過程還不需要且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。在上述技術方案中,優(yōu)選地,在所述步驟204之后,還包括根據(jù)生產表中的數(shù)據(jù)需求,從所述中間表中獲取對應的生產數(shù)據(jù);利用數(shù)據(jù)轉換裝置,將所述生產數(shù)據(jù)的數(shù)據(jù)格式轉換為所述生產表對應的數(shù)據(jù)格式,并將轉換后的生產數(shù)據(jù)導入所述生產表中。在該技術方案中,由于源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)格式往往是不同的,利用數(shù)據(jù)轉換裝置,可以根據(jù)實際情況將源數(shù)據(jù)庫的數(shù)據(jù)格式轉換為生產表所需的數(shù)據(jù)格式,而且數(shù)據(jù)轉換裝置所處理的數(shù)據(jù)來自中間表,而非源數(shù)據(jù)庫,有效地避免了頻繁地訪問源數(shù)據(jù)庫而造成的與業(yè)務系統(tǒng)搶占系統(tǒng)資源的情況。在上述技術方案中,優(yōu)選地,所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,還包括 為所述中間表和所述生產表分別設置操作級別。在該技術方案中,通過對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶(例如從源數(shù)據(jù)庫導入目標數(shù)據(jù)庫的用戶,可以對中間表進行更新操作;在目標數(shù)據(jù)數(shù)中,從中間表到生產表之間的導入用戶,只具有對中間表的只讀權限),一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,優(yōu)化了企業(yè)管理,提高了數(shù)據(jù)的安全性。在上述技術方案中,優(yōu)選地,所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,還包括 在用戶對所述中間表或所述生產表進行操作時,檢測所述用戶的權限級別,并允許所述用戶進行對應于所述權限級別的操作。在該技術方案中,對用戶的操作進行權限驗證,保證了所有用戶只能進行權限設置中授權的操作,有效地避免了任意用戶都可以進行數(shù)據(jù)同步的情況下的管理困難問題,提高了數(shù)據(jù)同步的安全性。在上述技術方案中,優(yōu)選地,在所述步驟204之前,還包括設定每次獲取所述目標數(shù)據(jù)的獲取時間;以及所述步驟204還包括在所述源數(shù)據(jù)庫中啟動輪詢服務,所述輪詢服務按照所述獲取時間,在所述源數(shù)據(jù)表中對所述目標數(shù)據(jù)進行獲取。在該技術方案中,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源,同時對每個用戶的數(shù)據(jù)同步時間進行合理分配,有效地解決了多用戶同時訪問所造成的并發(fā)沖突。綜上所述,考慮到采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,不需要在異構數(shù)據(jù)庫之間進行檢查和轉換,且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。而且,對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶,一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,提高了數(shù)據(jù)的安全性。另外,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源。同時由于采用了異步處理方法,有效地減少了多用戶同時訪問所造成的并發(fā)沖突。
圖1示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置的框圖;圖2示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法的流程圖;圖3示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置的原理圖;圖4示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置運行過程的流程圖。
具體實施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式
對本發(fā)明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實施例的限制。圖1示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置的框圖。如圖1所示,本發(fā)明提出了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置100,包括創(chuàng)建單元102,在目標數(shù)據(jù)庫中建立中間表,中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;獲取單元104,獲取源數(shù)據(jù)表中的目標數(shù)據(jù);導入單元106,將獲取單元104獲取的目標數(shù)據(jù)導入中間表中。在該技術方案中,采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,則在對生產表中所需的數(shù)據(jù)進行獲取時,可以從中間表中直接獲取,是在同一個數(shù)據(jù)庫(目標數(shù)據(jù)庫)內部完成的數(shù)據(jù)傳輸,而不需要每次獲取一個數(shù)據(jù)時,都在異構數(shù)據(jù)庫(源數(shù)據(jù)庫與目標數(shù)據(jù)庫)之間進行檢查和轉換,這使得該過程顯然具有更快的傳輸速度、更高的傳輸效率。同時,該過程還不需要且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。在上述技術方案中,還包括轉換單元108,根據(jù)生產表中的數(shù)據(jù)需求,從中間表中獲取對應的生產數(shù)據(jù),并利用數(shù)據(jù)轉換裝置,將生產數(shù)據(jù)的數(shù)據(jù)格式轉換為生產表對應的數(shù)據(jù)格式;以及導入單元106還用于將轉換單元108轉換后的生產數(shù)據(jù)導入生產表中。 在該技術方案中,由于源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)格式往往是不同的,利用數(shù)據(jù)轉換裝置,可以根據(jù)實際情況將源數(shù)據(jù)庫的數(shù)據(jù)格式轉換為生產表所需的數(shù)據(jù)格式,而且數(shù)據(jù)轉換裝置所處理的數(shù)據(jù)來自中間表,而非源數(shù)據(jù)庫,有效地避免了頻繁地訪問源數(shù)據(jù)庫而造成的與業(yè)務系統(tǒng)搶占系統(tǒng)資源的情況。在上述技術方案中,還包括權限設置單元110,為中間表和生產表分別設置操作級別。在該技術方案中,通過對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶(例如從源數(shù)據(jù)庫導入目標數(shù)據(jù)庫的用戶,可以對中間表進行更新操作;在目標數(shù)據(jù)數(shù)中,從中間表到生產表之間的導入用戶,只具有對中間表的只讀權限),一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,優(yōu)化了企業(yè)管理,提高了數(shù)據(jù)的安全性。在上述技術方案中,還包括權限驗證單元112,在用戶對中間表或生產表進行操作時,檢測用戶的權限級別,并允許用戶進行對應于權限級別的操作。在該技術方案中,對用戶的操作進行權限驗證,保證了所有用戶只能進行權限設置中授權的操作,有效地避免了任意用戶都可以進行數(shù)據(jù)同步的情況下的管理困難問題,提高了數(shù)據(jù)同步的安全性。在上述技術方案中,還包括調度設定單元114,設定每次獲取目標數(shù)據(jù)的獲取時間;以及獲取單元104還用于在源數(shù)據(jù)庫中啟動輪詢服務,輪詢服務按照獲取時間,在源數(shù)據(jù)表中對目標數(shù)據(jù)進行獲取。在該技術方案中,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源,同時對每個用戶的數(shù)據(jù)同步時間進行合理分配,有效地解決了多用戶同時訪問所造成的并發(fā)沖突。圖2示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法的流程圖。本發(fā)明還提供了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,如圖2,包括步驟202, 在目標數(shù)據(jù)庫中建立中間表,中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;步驟 204,獲取源數(shù)據(jù)表中的目標數(shù)據(jù),并將目標數(shù)據(jù)導入中間表中。在該技術方案中,采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,則在對生產表中所需的數(shù)據(jù)進行獲取時,可以從中間表中直接獲取,是在同一個數(shù)據(jù)庫(目標數(shù)據(jù)庫)內部完成的數(shù)據(jù)傳輸,而不需要每次獲取一個數(shù)據(jù)時,都在異構數(shù)據(jù)庫(源數(shù)據(jù)庫與目標數(shù)據(jù)庫)之間進行檢查和轉換,這使得該過程顯然具有更快的傳輸速度、更高的傳輸效率。同時,該過程還不需要且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。在上述技術方案中,在步驟204之后,還包括根據(jù)生產表中的數(shù)據(jù)需求,從中間表中獲取對應的生產數(shù)據(jù);利用數(shù)據(jù)轉換裝置,將生產數(shù)據(jù)的數(shù)據(jù)格式轉換為生產表對應的數(shù)據(jù)格式,并將轉換后的生產數(shù)據(jù)導入生產表中。在該技術方案中,由于源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)格式往往是不同的,利用數(shù)據(jù)轉換裝置,可以根據(jù)實際情況將源數(shù)據(jù)庫的數(shù)據(jù)格式轉換為生產表所需的數(shù)據(jù)格式,而且數(shù)據(jù)轉換裝置所處理的數(shù)據(jù)來自中間表,而非源數(shù)據(jù)庫,有效地避免了頻繁地訪問源數(shù)據(jù)庫而造成的與業(yè)務系統(tǒng)搶占系統(tǒng)資源的情況。在上述技術方案中,還包括為中間表和生產表分別設置操作級別。在該技術方案中,通過對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶(例如從源數(shù)據(jù)庫導入目標數(shù)據(jù)庫的用戶,可以對中間表進行更新操作;在目標數(shù)據(jù)數(shù)中,從中間表到生產表之間的導入用戶,只具有對中間表的只讀權限),一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,優(yōu)化了企業(yè)管理,提高了數(shù)據(jù)的安全性。在上述技術方案中,還包括在用戶對中間表或生產表進行操作時,檢測用戶的權限級別,并允許用戶進行對應于權限級別的操作。在該技術方案中,對用戶的操作進行權限驗證,保證了所有用戶只能進行權限設置中授權的操作,有效地避免了任意用戶都可以進行數(shù)據(jù)同步的情況下的管理困難問題,提高了數(shù)據(jù)同步的安全性。在上述技術方案中,在步驟204之前,還包括設定每次獲取目標數(shù)據(jù)的獲取時間;以及步驟204還包括在源數(shù)據(jù)庫中啟動輪詢服務,輪詢服務按照獲取時間,在源數(shù)據(jù)表中對目標數(shù)據(jù)進行獲取。在該技術方案中,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源,同時對每個用戶的數(shù)據(jù)同步時間進行合理分配,有效地解決了多用戶同時訪問所造成的并發(fā)沖突。通過以上技術方案,很好地解決了相關技術中的不足,使得數(shù)據(jù)同步裝置更安全、 高效1、在目標數(shù)據(jù)庫中,采用中間表的過渡機制,使得數(shù)據(jù)同步不再需要頻繁切換源數(shù)據(jù)庫和目標數(shù)據(jù)庫連接。相關的數(shù)據(jù)同步裝置中,需要查找目標數(shù)據(jù)源的數(shù)據(jù)結構與源數(shù)據(jù)源的數(shù)據(jù)結構是否一致,如果不一致,再通過數(shù)據(jù)轉換裝置對數(shù)據(jù)結構進行轉換,這樣需要不斷來回切換源與目標數(shù)據(jù)庫,這種數(shù)據(jù)庫連接的切換效率必然很低,且影響目標數(shù)據(jù)庫的訪問。通過本發(fā)明實施例中的技術方案,采用中間表的處理方式,源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)結構一致,不需要在異構數(shù)據(jù)庫之間進行檢查和轉換,且不影響生產環(huán)境的數(shù)據(jù)結構。2、采用兩階段提交的處理方式,更好地解決了數(shù)據(jù)傳輸?shù)陌踩浴O嚓P的數(shù)據(jù)同步裝置中,數(shù)據(jù)直接同步到生產環(huán)境的數(shù)據(jù)表中,且任何一個數(shù)據(jù)庫連接用戶都可以進行數(shù)據(jù)同步,數(shù)據(jù)出錯也不能進行跟蹤,數(shù)據(jù)的安全性很難保證。通過本發(fā)明實施例中的技術方案,可以采用多階段提交的處理方式,比如在目標數(shù)據(jù)庫中建立中間表時,對中間表進行嚴格授權,設置專門的導入數(shù)據(jù)的權限用戶1)從源數(shù)據(jù)庫導入目標數(shù)據(jù)庫的用戶,可以對中間表進行更新操作;幻在目標數(shù)據(jù)數(shù)中,從中間表到生產環(huán)境的數(shù)據(jù)表之間的導入用戶,只具有對中間表具有只讀權限。這樣一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,并對數(shù)據(jù)錯誤進行有效跟蹤,保證了正常生產。3、把異構系統(tǒng)的數(shù)據(jù)同步,轉換成同數(shù)據(jù)庫的異步數(shù)據(jù)處理,降低了對源數(shù)據(jù)庫的數(shù)據(jù)訪問并發(fā)性。相關的數(shù)據(jù)同步裝置中,數(shù)據(jù)直接同步到目標數(shù)據(jù)庫的生產環(huán)境數(shù)據(jù)庫表中,這樣容易出現(xiàn)和業(yè)務系統(tǒng)搶占系統(tǒng)資源的情況,造成并發(fā)性錯誤。通過本發(fā)明實施例中的技術方案,把異構系統(tǒng)的數(shù)據(jù)同步,轉換成同數(shù)據(jù)庫的異步數(shù)據(jù)處理,通過異步處理,降低了資源訪問的沖突,并充分利用了系統(tǒng)資源。4、采用異步處理方法、中間表等技術手段,提高了數(shù)據(jù)同步效率。通過本發(fā)明實施例中的技術方案,通過異步處理方法,將多個同步任務進行調度, 比如將一些任務安排在深夜系統(tǒng)資源比較充足的時候進行數(shù)據(jù)同步,充分利用了現(xiàn)有系統(tǒng)資源提高效率。通過對中間表的操作(如建索引),提高了數(shù)據(jù)同步速度。
本發(fā)明實施例中的技術方案采用了異步調度服務和Web服務技術,解決了數(shù)據(jù)定時同步的問題。在目標數(shù)據(jù)庫中,創(chuàng)建與源數(shù)據(jù)庫一樣的中間表結構,對中間表設置特有的訪問權限控制,保證數(shù)據(jù)導入的安全性。為了防止數(shù)據(jù)導入對生產環(huán)境造成影響,通過異步處理裝置,設定同步過程的數(shù)據(jù)抽取在目標數(shù)據(jù)庫端進行。關于實現(xiàn)數(shù)據(jù)定時同步的原理, 下面結合圖3進行詳細說明。圖3示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置的原理圖。如圖3所示,左邊為源數(shù)據(jù)庫端300A,右邊為目標數(shù)據(jù)庫端300B,目標數(shù)據(jù)庫中包括中間表306和生產表308,兩端設置有調度服務302A和調度服務302B。在系統(tǒng)正式啟用前,先進行調度設置、中間表306的訪問權限設置等初始化工作,此時的操作系統(tǒng)做了嚴格的授權,而且對中間表306的訪問權限僅是只讀權限,很好地保障了數(shù)據(jù)的安全性。系統(tǒng)初始化工作完成后,在源數(shù)據(jù)庫端300A,啟動一個輪詢服務不停地輪詢。根據(jù)用戶事先所進行的設置,當?shù)搅四硞€特定的時間點時,啟動一個線程來處理需要處理的業(yè)務數(shù)據(jù)。數(shù)據(jù)處理成功后,會記錄一個成功的狀態(tài),下一次調度時,不再對成功處理的數(shù)據(jù)進行處理。由于從源數(shù)據(jù)表304到中間表306傳輸?shù)氖窃紨?shù)據(jù),所以不需經過轉換。當源數(shù)據(jù)成功傳輸?shù)侥繕藬?shù)據(jù)庫端300B的中間表306后,在目標數(shù)據(jù)庫端300B,也會啟動一個輪詢服務,它負責處理從中間表306到生產表308之間的數(shù)據(jù)抽取、轉換和運算,數(shù)據(jù)抽取過程中對中間表 306的數(shù)據(jù)記錄處理狀態(tài)。處理好的數(shù)據(jù)存儲在實際業(yè)務使用的生產表308中。圖4示出了本發(fā)明的實施例的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置運行過程的流程圖。本發(fā)明實施例中實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置運行的具體流程如圖4所示步驟402,進行調度設置以及中間表的訪問權限設置。步驟404,啟動初始化完成以后,在源數(shù)據(jù)庫端啟動輪詢服務,判斷是否到了設定的時間點,當?shù)搅四硞€設定的時間點時,轉至步驟406。步驟406,啟動一個線程來處理需要處理的業(yè)務數(shù)據(jù)。步驟408,數(shù)據(jù)處理成功后,會記錄一個成功的狀態(tài),下一次調度時,不再對成功處理的數(shù)據(jù)進行處理。步驟410,將數(shù)據(jù)從源數(shù)據(jù)庫端傳輸至目標數(shù)據(jù)庫端的中間表。步驟412,在目標數(shù)據(jù)庫端,啟動一個輪詢服務,處理從中間表到生產表之間的數(shù)據(jù)抽取、轉換和運算。步驟414,數(shù)據(jù)抽取過程中對中間表的數(shù)據(jù)記錄處理狀態(tài)。步驟416,將處理好的數(shù)據(jù)存儲在實際業(yè)務使用的生產表中。通過以上技術方案,實現(xiàn)的功能如下1)實現(xiàn)了兩端異步調度服務,調度時間可以根據(jù)實際情況設置;2)實現(xiàn)了源數(shù)據(jù)庫與目標數(shù)據(jù)庫兩端增量式數(shù)據(jù)同步;3)在目標數(shù)據(jù)庫端,實現(xiàn)數(shù)據(jù)由中間表到生產環(huán)境數(shù)據(jù)表的抽取和轉換;4)實現(xiàn)由源數(shù)據(jù)庫到目標數(shù)據(jù)庫的數(shù)據(jù)安全自動同步;5)實現(xiàn)分布的統(tǒng)一調度策略;6)對中間表的訪問權限統(tǒng)一控制。可見,本發(fā)明實施例中的技術方案和相關技術方案的主要區(qū)別表現(xiàn)在以下幾個方面1)大數(shù)據(jù)同步的并發(fā)訪問方面A)相關的方案在大數(shù)據(jù)處理方面不太完善,會對生產環(huán)境造成數(shù)據(jù)訪問的并發(fā)數(shù)錯誤;B)本發(fā)明實施例中的技術方案通過定時處理機制和中間表的方案,并充分利用數(shù)據(jù)庫的處理能力,解決了大數(shù)據(jù)的處理問題。2)數(shù)據(jù)的處理效率方面A)相關方案直接把數(shù)據(jù)導入到目標數(shù)據(jù)庫的生產環(huán)境,處理過程會占用大量的系統(tǒng)資源內存,嚴重影響處理效率;B)本發(fā)明實施例中的技術方案通過異步機制,充分利用系統(tǒng)資源的空隙完成數(shù)據(jù)同步,并利用中間表的機制,減少源數(shù)據(jù)庫與目標數(shù)據(jù)庫的連接切換,提高了處理效率。3)數(shù)據(jù)傳輸?shù)陌踩苑矫鍭)相關技術中,任何數(shù)據(jù)庫連接用戶都可以進行數(shù)據(jù)同步,數(shù)據(jù)在傳輸過程中被修改后,也沒辦法進行跟蹤;B)本發(fā)明實施例中的技術方案采用兩階段提交的處理方式,通過分配中間表的操作權限,權限控制在一定范圍,保證了數(shù)據(jù)的安全性。綜上所述,考慮到采用了中間表的過渡機制,源數(shù)據(jù)庫表與中間表的數(shù)據(jù)結構一致,不需要在異構數(shù)據(jù)庫之間進行檢查和轉換,且不影響目標數(shù)據(jù)庫的數(shù)據(jù)結構,提高了數(shù)據(jù)同步的效率,降低了系統(tǒng)運行的負荷。而且,對中間表的嚴格授權,設置專門的導入數(shù)據(jù)庫的權限用戶,一旦數(shù)據(jù)出現(xiàn)問題,很快就可以找到責任人,提高了數(shù)據(jù)的安全性。另外,通過用戶根據(jù)自身情況自主進行調度設置,實現(xiàn)了根據(jù)用戶設置,自動在系統(tǒng)資源較充足的時間段(例如深夜)進行數(shù)據(jù)同步,避免了和業(yè)務系統(tǒng)搶占系統(tǒng)資源,充分地利用了系統(tǒng)資源。同時由于采用了異步處理方法,有效地減少了多用戶同時訪問所造成的并發(fā)沖突。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,其特征在于,包括創(chuàng)建單元,在目標數(shù)據(jù)庫中建立中間表,所述中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;獲取單元,獲取所述源數(shù)據(jù)表中的目標數(shù)據(jù);導入單元,將所述獲取單元獲取的所述目標數(shù)據(jù)導入所述中間表中。
2.根據(jù)權利要求1所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,其特征在于,還包括 轉換單元,根據(jù)生產表中的數(shù)據(jù)需求,從所述中間表中獲取對應的生產數(shù)據(jù),并利用數(shù)據(jù)轉換裝置,將所述生產數(shù)據(jù)的數(shù)據(jù)格式轉換為所述生產表對應的數(shù)據(jù)格式;以及所述導入單元還用于將所述轉換單元轉換后的生產數(shù)據(jù)導入所述生產表中。
3.根據(jù)權利要求1或2所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,其特征在于,還包括權限設置單元,為所述中間表和所述生產表分別設置操作級別。
4.根據(jù)權利要求3所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,其特征在于,還包括 權限驗證單元,在用戶對所述中間表或所述生產表進行操作時,檢測所述用戶的權限級別,并允許所述用戶進行對應于所述權限級別的操作。
5.根據(jù)權利要求1或2所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,其特征在于,還包括調度設定單元,設定每次獲取所述目標數(shù)據(jù)的獲取時間;以及所述獲取單元還用于在所述源數(shù)據(jù)庫中啟動輪詢服務,所述輪詢服務按照所述獲取時間,在所述源數(shù)據(jù)表中對所述目標數(shù)據(jù)進行獲取。
6.一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,其特征在于,包括步驟202,在目標數(shù)據(jù)庫中建立中間表,所述中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;步驟204,獲取所述源數(shù)據(jù)表中的目標數(shù)據(jù),并將所述目標數(shù)據(jù)導入所述中間表中。
7.根據(jù)權利要求6所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,其特征在于,在所述步驟204之后,還包括根據(jù)生產表中的數(shù)據(jù)需求,從所述中間表中獲取對應的生產數(shù)據(jù); 利用數(shù)據(jù)轉換裝置,將所述生產數(shù)據(jù)的數(shù)據(jù)格式轉換為所述生產表對應的數(shù)據(jù)格式, 并將轉換后的生產數(shù)據(jù)導入所述生產表中。
8.根據(jù)權利要求6或7所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,其特征在于,還包括為所述中間表和所述生產表分別設置操作級別。
9.根據(jù)權利要求8所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,其特征在于,還包括 在用戶對所述中間表或所述生產表進行操作時,檢測所述用戶的權限級別,并允許所述用戶進行對應于所述權限級別的操作。
10.根據(jù)權利要求6或7所述的實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法,其特征在于,在所述步驟204之前,還包括設定每次獲取所述目標數(shù)據(jù)的獲取時間;以及所述步驟204還包括在所述源數(shù)據(jù)庫中啟動輪詢服務,所述輪詢服務按照所述獲取時間,在所述源數(shù)據(jù)表中對所述目標數(shù)據(jù)進行獲取。
全文摘要
本發(fā)明提供了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的裝置,包括創(chuàng)建單元,在目標數(shù)據(jù)庫中建立中間表,所述中間表具有與源數(shù)據(jù)庫中的源數(shù)據(jù)表相同的表結構;獲取單元,獲取所述源數(shù)據(jù)表中的目標數(shù)據(jù);導入單元,將所述獲取單元獲取的所述目標數(shù)據(jù)導入所述中間表中。相應地,本發(fā)明還提供了一種實現(xiàn)異構系統(tǒng)數(shù)據(jù)定時同步的方法。通過本發(fā)明的技術方案,實現(xiàn)了更高效更安全的數(shù)據(jù)同步,并能有效的防止并發(fā)沖突,提高了系統(tǒng)運行的效率及可靠性。
文檔編號G06F17/30GK102495910SQ20111044818
公開日2012年6月13日 申請日期2011年12月28日 優(yōu)先權日2011年12月28日
發(fā)明者樊進忠 申請人:暢捷通信息技術股份有限公司