System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據庫切換的,具體地,涉及一種只讀數據庫和寫入數據庫切換控制方法,以及實現這種方法的計算機裝置和計算機可讀存儲介質。
技術介紹
1、在中大型的數據系統(tǒng)中,由于所需要存儲的數據量非常龐大,記錄的數據的行數往往過億行,在茫茫海量數據中進行數據的檢索,往往需要耗費大量的時間,導致用戶輸入檢索命令后,需要等待較長的時間才能夠返回檢索結果,用戶體驗差,無法滿足用戶對于檢索的快速響應需求。
2、由于不同的數據庫具有不同的操作權限,例如,一部分數據庫為只讀數據庫,只允許用戶檢索、讀取數據,不允許用戶對數據進行編輯。而另一部分數據庫為寫入數據庫,允許用戶對數據進行編輯。由于不同的數據庫均可以通過相同的存儲引擎進行檢索,而讀寫操作會發(fā)生沖突,導致數據的查詢、檢索操作會遇到阻塞的問題。由于只讀數據庫和寫入數據庫沒有相互分離,會導致一些列問題,例如數據庫的性能會遇到瓶頸、數據完整性風險、維護困難等,進而導致數據庫的維護性能較差的問題。
3、如果將只讀數據庫與寫入數據庫相互分離,這樣,針對不同數據庫的讀取操作和寫入操作操作將分別處理,則可以有效運用存儲引擎的優(yōu)點提高其性能。因此,為了實現只讀數據庫和寫入數據庫的分離,現有的方法是將數據庫劃分為寫入數據庫和只讀數據庫,并且進行數據同步處理,在實現時,通過切換針對只讀數據庫和寫入數據庫的不同操作的方式實現。
4、現有的一種方式是通過優(yōu)化數據庫的程序實現,例如對sql語句進行優(yōu)化并實現只讀數據庫和寫入數據庫的切換,但這種方式本質上無法解決讀寫沖突問題。并且,通
技術實現思路
1、本專利技術的第一目的是提供一種能夠針對多種數據庫的鏈路數據進行采集和分析的只讀數據庫和寫入數據庫切換控制方法。
2、本專利技術的第二目的是提供一種實現上述只讀數據庫和寫入數據庫切換控制方法的計算機裝置。
3、本專利技術的第三目的是提供一種實現上述只讀數據庫和寫入數據庫切換控制方法的計算機可讀存儲介質。
4、為實現本專利技術的第一目的,本專利技術提供的只讀數據庫和寫入數據庫切換控制方法包括獲取數據庫的切換請求信息;獲取讀寫分離總開關狀態(tài)信息,如讀寫分離總開關的狀態(tài)為允許切換,則按照預設的順序依次獲取多個切換器的狀態(tài),并且在切換器的狀態(tài)為允許切換狀態(tài)時,獲取當前切換器的配置信息,并判斷切換請求信息是否與當前切換器的配置信息相匹配,如果相匹配,則按照切換請求信息執(zhí)行數據庫的切換操作;如果切換請求信息與當前切換器的配置信息不匹配,則進行下一切換器的判斷操作,直至所有切換器的判斷操作完成。
5、由上述方案可見,在獲取數據庫的切換請求信息后,在讀寫分離總開關的狀態(tài)為允許切換的情況下,通過分別讀取多個切換器的狀態(tài)以及對切換器的配置信息進行識別,在當前的切換請求信息與某一個切換器的配置數據相匹配的情況下,則自動進行只讀數據庫和寫入數據庫的切換操作,使得數據庫的切換操作非常方便,能夠通過輕量級的代碼實現。由于用戶可以自由設定數據庫的切換條件,因此能夠自由的實現多次切換,提高數據庫的切換效率。
6、一個優(yōu)選的方案是,在切換請求信息與當前切換器的配置信息相匹配且按照切換請求信息執(zhí)行數據庫的切換操作后,不再執(zhí)行針對后續(xù)的切換器的判斷操作。
7、由此可見,每一次切換操作僅僅針對一個切換器實現,這樣可以避免不同的切換器均響應同一個切換請求信息而導致數據庫切換邏輯的混亂。
8、進一步的方案是,如當前判斷的切換器的狀態(tài)為不允許切換狀態(tài),則進行下一切換器的判斷操作。
9、由此可見,通過按照預先設定的順序依次對多個切換器進行判斷操作,一方面能夠避免遺漏針對某一個切換器的操作,另一方面能夠確保數據庫切換的效率。
10、進一步的方案是,切換器包括注解數據庫讀寫切換器;對注解數據庫讀寫切換器進行判斷時,查詢函數調用信息是否標識有注解,如果標識有注解,則根據注解的屬性值切換至只讀數據庫或者寫入數據庫。
11、由此可見,針對注解數據庫讀寫切換器,通過對函數調用信息是否標識有注解的方式進行識別以及進行后續(xù)的處理,能夠針對特殊類型的數據進行數據庫切換處理。
12、進一步的方案是,切換器包括請求參數數據庫讀寫切換器;對請求參數數據庫讀寫切換器進行判斷時,判斷切換請求信息是否包含有數據操作的指令信息,并根據數據操作的指令信息切換至只讀數據庫或者寫入數據庫。
13、由此可見,針對請求參數數據庫讀寫切換器,通過判斷是否包含有數據操作的指令信息來進行數據庫的切換操作,可以方便用戶通過簡單的設置實現數據庫的切換。
14、更進一步的方案是,切換器包括服務api數據庫讀寫切換器;對服務api數據庫讀寫切換器進行判斷時,獲取切換請求信息中的請求路徑信息,判斷請求路徑信息是否與配置列表的信息相匹配,如果相匹配,則判斷切換請求信息的配置參數是否與服務api數據庫讀寫切換器的配置參數相匹配,如是,進行只讀數據庫或者寫入數據庫的切換操作。
15、由此可見,針對不同的服務api,也可以實現特定的數據庫切換的操作,能夠向用戶提供更多、更靈活的數據庫切換選擇。
16、進一步的方案是,切換器包括函數前綴數據庫讀寫切換器;對函數前綴數據庫讀寫切換器進行判斷時,獲取切換請求信息中的當前函數名稱信息,并判斷當前函數名稱的前綴是否與函數前綴數據庫讀寫切換器記錄的函數名稱前綴相匹配,如相匹配,則切換至只讀數據庫。
17、由此可見,針對具有不同前綴的函數,也可以通過在切換請求信息中進行相應的設定來實現數據庫的切換,因此能夠方便用戶針對特定的數據庫進行切換操作。
18、更進一步的方案是,該方法還包括:獲取只讀數據庫增減的請求信息,通過后臺程序發(fā)送廣播消息通知各應用程序進行只讀數據庫的增減操作。
19、由此可見,一旦只讀數據庫需要進行增減的操作,后臺程序可以通過廣播的方式通知各個應用程序,能夠快速的實現只讀數據庫的增減操作。
20、為實現上述的第二目的,本專利技術提供的計算機裝置包括處理器以及存儲器,存儲器存儲有計算機程序,計算機程序被處理器執(zhí)行時實現上述只讀數據庫和寫入數據庫切換控制方法的各個步驟。
21、為實現上述的第三目的,本專利技術提供計算機可讀存儲介質上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現上述只讀數據庫和寫入數據庫切換控制方法的各個步驟。
本文檔來自技高網...【技術保護點】
1.只讀數據庫和寫入數據庫切換控制方法,其特征在于,包括:
2.根據權利要求1所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
3.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
4.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
5.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
6.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
7.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
8.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
9.計算機裝置,其特征在于,包括處理器以及存儲器,存儲器存儲有計算機程序,計算機程序被處理器執(zhí)行時實現如權利要求1至8中任意一項所述的只讀數據庫和寫入數據庫切換控制方法的各個步驟。
10.計算機可讀存儲介質,其上存儲有計算機程序,其特征在于:計算機程序被處理器執(zhí)行時實現如權利要求1至
...【技術特征摘要】
1.只讀數據庫和寫入數據庫切換控制方法,其特征在于,包括:
2.根據權利要求1所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
3.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
4.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
5.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
6.根據權利要求1或2所述的只讀數據庫和寫入數據庫切換控制方法,其特征在于:
7.根據權利...
【專利技術屬性】
技術研發(fā)人員:程沖,劉輝軍,張科文,
申請(專利權)人:遠光軟件股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。