本發(fā)明專利技術公開了一種NOSQL與RDBMS的數據庫同步方法和系統(tǒng)。本發(fā)明專利技術通過將數據操作方法所需要保存的JAVA格式實體實例對象轉換為JSON格式,再將JSON格式實體實例對象存儲到NOSQL數據庫;當檢測到NOSQL數據庫有更新記錄,就將所述JSON格式實體實例對象轉換為JAVA格式,再通過所述JAVA格式實體實例對象對應的數據操作方法將所述JAVA格式實體實例對象保存到RDBMS數據庫。為現有系統(tǒng)從RDBMS存儲方式向NOSQL存儲方式提供良好過渡,使得現有系統(tǒng)只需要簡單修改數據存儲層即可體驗NOSQL帶來的高性能,且無需修改業(yè)務代碼,還保留了RDBMS存儲支持,使得數據完整性得到良好的保障。
【技術實現步驟摘要】
本專利技術涉及數據庫領域,尤其涉及一種NOSQL與RDBMS的數據庫同步方法和系統(tǒng)。
技術介紹
典型的應用架構是通過Action層接收用戶請求處理層,如用戶在交互界面上點擊“保存”按鈕。通過Service層(業(yè)務操作/事務處理層)如插入用戶數據,涉及到多個數據原子操作。還通過Dao層(數據原子操作處理層)如插入一條數據。其操作性能和處理時間依賴RDBMS數據庫。隨著互聯(lián)網web2.0網站的興起,傳統(tǒng)的RDBMS數據庫(relationaldatabasemanagement system,關系數據庫)在應付web2. 0網站時,特別是超大規(guī)模和高并發(fā)的web2. 0純動態(tài)網站已經顯得力不從心,暴露了很多難以克服的問題,比如l、High performance-對數據庫高并發(fā)讀寫的需求;2、Huge Storage-對海量數據的高效率存儲和訪問的需求;3、High ScalabiIity&&High Availability-對數據庫的高可擴展性和高可用性的需求;對于上述的三個技術問題,NOSQL數據庫(NoSQL (NoSQL=Not Only SQL,非關系數據庫)能夠很好的解決。但是NOSQL數據庫無法有效的進行數據復雜計算和數據備份,而且管理復雜。
技術實現思路
本專利技術實施例的目的在于提出一種NOSQL與RDBMS的數據庫同步方法,旨在解決現有技術中RDBMS數據庫無法實現高并發(fā)讀寫、海量數據高效存儲的技術問題,還用于解決RDBMS數據庫擴展性和可用性差的技術問題。本專利技術實施例是這樣實現的,一種NOSQL與RDBMS的數據庫同步方法,所述方法包括步驟獲取調用數據操作方法的請求;根據所述請求將所述數據操作方法所需要保存的第一實體實例對象轉換為第二實體實例對象;將所述第二實體實例對象存儲到NOSQL數據庫;獲取NOSQL數據庫中變更的第二實體實例對象;將所述變更的第二實體實例對象轉換為第一實體實例對象;調用所述第一實體實例對象對應的數據操作方法,通過所述數據操作方法將所述第一實體實例對象保存到RDBMS數據庫。本專利技術實施例的另一目的在于提出一種NOSQL與RDBMS的數據庫同步系統(tǒng),所述系統(tǒng)包括獲取請求模塊、第一轉換模塊、第一存儲模塊、獲取變更信息模塊、第二轉換模塊和第二存儲模塊;所述獲取請求模塊,與所述第一轉換模塊相連,用于獲取調用數據操作方法的請求;所述第一轉換模塊,與所述獲取請求模塊和第一存儲模塊相連,用于根據所述請求將所述數據操作方法所需要保存的第一實體實例對象轉換為第二實體實例對象;所述第一存儲模塊,與所述第一轉換模塊和獲取變更信息模塊相連,用于將所述第二實體實例對象存儲到NOSQL數據庫;所述獲取變更信息模塊,與所述第一存儲模塊和第二轉換模塊相連,用于獲取NOSQL數據庫中變更的第二實體實例對象;所述第二轉換模塊,與所述獲取變更信息模塊和第二存儲模塊相連,用于將所述變更的第二實體實例對象轉換為第一實體實例對象;所述第二存儲模塊,與所述第二轉換模塊相連,用于調用所述第一實體實例對象對應的數據操作方法,通過所述數據操作方法將所述第一實體實例對象保存到RDBMS數據庫。本專利技術通過將數據操作方法所需要保存的JAVA格式實體實例對象轉換為JSON格式,再將JSON格式實體實例對象存儲到NOSQL數據庫;當檢測到NOSQL數據庫有更新記錄,就將所述JSON格式實體實例對象轉換為JAVA格式,再通過所述JAVA格式實體實例對象對應的數據操作方法將所述JAVA格式實體實例對象保存到RDBMS數據庫。為現有系統(tǒng)從RDBMS存儲方式向NOSQL存儲方式提供良好過渡,使得現有系統(tǒng)只需要簡單修改數據存儲層即可體驗NOSQL帶來的高性能,且無需修改業(yè)務代碼,還保留了 RDBMS存儲支持,使得數據完整性得到良好的保障。附圖說明圖1是本專利技術NOSQL與RDBMS的數據庫同步方法第一優(yōu)選實施例流程圖;圖2是本專利技術NOSQL與RDBMS的數據庫同步方法第二優(yōu)選實施例流程圖;圖3是本專利技術NOSQL與RDBMS的數據庫同步方法第三優(yōu)選實施例流程圖;圖4是本專利技術NOSQL與RDBMS的數據庫同步方法第四優(yōu)選實施例流程圖;圖5是本專利技術NOSQL與RDBMS的數據庫同步系統(tǒng)結構示意圖。具體實施例方式為了使本專利技術的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖和實施例,對本專利技術進行進一步詳細說明,為了便于說明,僅示出了與本專利技術實施例相關的部分。應當理解,此處所描寫的具體實施例,僅僅用于解釋本專利技術,并不用以限制本專利技術。本專利技術通過將數據操作方法所需要保存的JAVA格式實體實例對象轉換為JSON格式,再將JSON格式實體實例對象存儲到NOSQL數據庫;當檢測到NOSQL數據庫有更新記錄,就將所述JSON格式實體實例對象轉換為JAVA格式,再通過所述JAVA格式實體實例對象對應的數據操作方法將所述JAVA格式實體實例對象保存到RDBMS數據庫。為現有系統(tǒng)從RDBMS存儲方式向NOSQL存儲方式提供良好過渡,使得現有系統(tǒng)只需要簡單修改數據存儲層即可體驗NOSQL帶來的高性能,且無需修改業(yè)務代碼,還保留了 RDBMS存儲支持,使得數據完整性得到良好的保障。實施例一圖1是本專利技術NOSQL數據庫與RDBMS數據庫的同步方法第一優(yōu)選實施例流程圖。S101,獲取調用數據操作方法的請求;所述數據操作方法包括修改方法和刪除方法,還可以包括新增方法等;S102,根據所述請求將所述數據操作方法所需要保存的第一實體實例對象轉換為第二實體實例對象,并將所述第二實體實例對象存儲到NOSQL數據庫;所述第一實體實例對象為java格式的實體實例對象;所述第二實體實例對象為JSON (JavaScript Object Notation, —種輕量級的數據交換格式)格式的實體實例對象;可以使用google的JSON開源組件Gson進行格式轉換;S103,獲取NOSQL數據庫中變更的第二實體實例對象;實時或定時監(jiān)控NOSQL數據庫,檢測是否有變更的第二實體實例對象,若是則獲取NOSQL數據庫中變更的第二實體實例對象;所述變更的第二實體實例對象包括增加、刪除、修改的第二實體實例對象;S104,將所述變更的第二實體實例對象轉換為第一實體實例對象;S105,調用所述第一實體實例對象對應的數據操作方法,通過所述數據操作方法將所述第一實體實例對象保存到RDBMS數據庫。從而能夠通過異步的方式將保存在NOSQL數據庫中的實體實例對象數據通過hibernate開源組件保存到RDBMS數據庫中。實施例二圖2是本專利技術NOSQL數據庫與RDBMS數據庫的同步方法第二優(yōu)選實施例流程圖。S201,獲取調用數據操作方法的請求;S202,判斷所述請求所需調用的數據操作方法是否具有公共權限且預置了攔截注解標識,若是則進入步驟S203 ;若否則進入步驟S208 ;所述公共權限指public權限;所述攔截注解標識是預置在需要攔截的數據操作方法中的起標識性作用的標識性信息;本步驟可以通過Spring AOP處理方式用于預置需要攔截的數據操作方法和攔截后的處理邏輯,未經攔截的數據操作方法按照現有技術公知流程進行處理所述請求;S203,將所述數據操作方法所需要保存的第一實體實例對象轉換為第本文檔來自技高網...
【技術保護點】
一種NOSQL與RDBMS的數據庫同步方法,其特征在于,所述方法包括步驟:獲取調用數據操作方法的請求;根據所述請求將所述數據操作方法所需要保存的第一實體實例對象轉換為第二實體實例對象;將所述第二實體實例對象存儲到NOSQL數據庫;獲取NOSQL數據庫中變更的第二實體實例對象;將所述變更的第二實體實例對象轉換為第一實體實例對象;調用所述第一實體實例對象對應的數據操作方法,通過所述數據操作方法將所述第一實體實例對象保存到RDBMS數據庫。
【技術特征摘要】
【專利技術屬性】
技術研發(fā)人員:阮航,
申請(專利權)人:深圳市融創(chuàng)天下科技股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。