基于多個數據庫集群的數據請求處理方法及裝置的制造方法
【技術領域】
[0001]本發明涉及網絡通信技術領域,具體涉及一種基于多個數據庫集群的數據請求處理方法及裝置。
【背景技術】
[0002]隨著大數據時代的來臨,計算機要處理的數據量越來越豐富。受限于服務器的內存及響應速度的限制,單臺服務器已經無法滿足處理海量數據的需求,因此,由多臺服務器組成的數據庫集群系統便應運而生了。傳統的數據庫集群系統中僅包含一個數據庫集群,該集群由一臺主服務器以及多臺從服務器構成,該種架構模式也可以稱為單主架構模式。在這種單主架構模式中,整個系統的存儲容量以及處理能力依然受到主服務器的內存及響應速度的制約,且無法擴展為多主架構模式以實現擴容。
[0003]產生上述問題的主要原因在于:欲從單主架構模式擴展為多主架構模式,需要快速確定數據請求需由哪臺主服務器處理,然而,傳統的數據庫集群系統在處理數據請求時,無法對數據請求進行語法分析,只能進行詞法分析,由此導致處理效率異常低下,無法滿足上述需求。
[0004]具體地,在進行詞法分析時,需要對數據請求中的各個字段逐一進行比較,根據比較結果來獲取各個字段的具體內容。例如,假設數據請求中包含ID字段,需要獲取該ID字段的具體內容,則通過詞法分析方式需進行以下處理:首先,根據數據庫集群的相關設置確定ID字段的具體內容是介于0-1000之間的一個數值;然后,遍歷數據請求中的全部字段,以便挑選出數值范圍介于0-1000之間的字段;最后,如果挑選出的字段有多個,還要進一步結合其他規則判斷其中哪個字段為ID字段。由此可見,在通過詞法分析逐一比較各個字段的處理方式中,每獲取一個字段的具體內容都要耗費大量的時間,當需要獲取數據請求中的多個字段時,其耗費的處理時間顯然是用戶無法接受的。
[0005]由此可見,傳統的數據庫集群系統處理數據請求的效率異常低下,這一缺陷不僅對數據庫集群系統的響應速度造成了影響;而且,還限制了數據庫集群系統的可擴展性。
【發明內容】
[0006]鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的基于多個數據庫集群的數據請求處理方法及裝置。
[0007]依據本發明的一個方面,提供了一種基于多個數據庫集群的數據請求處理方法,包括:接收數據請求;根據預先設置的語法定義規則,確定該數據請求所對應的語法結構;根據所述語法結構對所述數據請求進行解析;根據所述解析的結果處理所述數據請求。
[0008]依據本發明的另一方面,提供了一種基于多個數據庫集群的數據請求處理裝置,包括:接收模塊,適于接收數據請求;確定模塊,適于根據預先設置的語法定義規則,確定該數據請求所對應的語法結構;解析模塊,適于根據所述語法結構對所述數據請求進行解析;處理模塊,適于根據所述解析的結果處理所述數據請求。
[0009]在本發明提供的基于多個數據庫集群的數據請求處理方法及裝置中,預先為數據請求設定了語法定義規則,因而能夠根據該語法定義規則,對數據請求進行語法分析,從而確定數據請求對應的語法結構,并根據語法結構對數據請求進行快速解析。由此可見,與傳統的詞法分析方式不同,本發明提供的方式能夠對數據請求進行語法分析,從而快速確定數據請求的語義,進而獲取到數據請求中包含的各個字段的具體內容。該方法大幅提高了數據請求的處理效率,縮短了服務器的響應時延,為數據庫集群的可擴展性提供了基礎。
[0010]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【附圖說明】
[0011]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0012]圖1示出了本發明實施例提供的基于多個數據庫集群的數據請求處理方法的流程不意圖;
[0013]圖2示出了本實施例中的數據庫集群系統的架構示意圖;
[0014]圖3示出了本發明另一實施例提供的基于多個數據庫集群的數據請求處理方法的流程示意圖;以及,
[0015]圖4示出了本發明實施例提供的基于多個數據庫集群的數據請求處理裝置的結構示意圖。
【具體實施方式】
[0016]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0017]本發明實施例提供了一種基于多個數據庫集群的數據請求處理方法及裝置,至少能夠解決傳統的數據庫集群處理數據請求的效率低下的技術問題。
[0018]圖1示出了本發明實施例提供的基于多個數據庫集群的數據請求處理方法的流程示意圖。如圖1所示,該數據請求處理方法包括:
[0019]步驟S110:接收數據請求。
[0020]其中,數據請求可能來自用戶終端,也可能來自管理服務器,本發明對數據請求的來源不做限定。
[0021]步驟S120:根據預先設置的語法定義規則,確定該數據請求所對應的語法結構。
[0022]其中,數據請求中通常包含數據操作以及數據操作對象。相應地,在上述語法定義規則中定義了各種類型的數據操作所對應的語法結構,以及數據操作對象所對應的語法結構。
[0023]步驟S130:根據語法結構對數據請求進行解析。
[0024]在本步驟中,一方面,根據語法結構對數據請求進行解析,以獲取數據請求中的數據操作。另一方面,根據語法結構對數據請求進行解析,以獲取數據請求中的數據操作對象。
[0025]其中,數據操作的類型可以包括:寫入類型以及讀取類型,其中,寫入類型的數據操作進一步包括:插入類型的數據請求、刪除類型的數據請求或修改類型的數據請求。
[0026]步驟S140:根據解析的結果處理數據請求。
[0027]具體地,根據解析的結果,對數據操作對象執行數據操作。
[0028]可選地,為了便于確定與數據請求相對應的數據庫集群,上述數據操作對象對應的語法結構中包括數據操作對象的標識以及路由字段的名稱和/或位置,則在上述的步驟S130中,具體根據語法結構對數據請求進行解析,以獲取路由字段的值以及數據操作對象的標識。相應地,在上述的步驟S140中,具體根據路由字段的值以及數據操作對象的標識,對相應的數據操作對象執行數據操作,其中路由字段的值的不同范圍對應不同的數據庫集群。
[0029]由此可見,與傳統的詞法分析方式不同,本發明提供的方式能夠對數據請求進行語法分析,從而快速確定數據請求的語義,進而獲取到數據請求中包含的各個字段的具體內容。該方法大幅提高了數據請求的處理效率,縮短了服務器的響應時延,為數據庫集群的可擴展性提供了基礎。
[0030]下面結合一個具體實施例詳細描述本發明提供的基于多個數據庫集群的數據請求處理方法。圖2示出了本實施例中的數據庫集群系統的架構示意圖。如圖2所示,本實施例中的集群系統包括三個數據庫集群,分別為第一數據庫集群、第二數據庫集群和第三數據庫集群,其中,每個數據庫集群中分別包括一臺主服務器以及多臺從服務器。通過本發明中的方法能夠向三個數據庫集群中的任一集群寫入數據,也能夠從任一集群中讀取數據,因此,能夠將數據內容分布式存儲在三個數據庫集群中。下面參照圖3詳細介紹本實施例中的各個步驟:
[0031]步驟S310:預先設置分布式存儲規則。
[0032]其中,分布式存儲規則用于將數據內容分布存儲在多個數據庫集群中。例如,以數據表為例,如果按照傳統方式僅將數據表存儲在一個數據庫集群中,該數據表的存儲容量將受到相應數據庫集群的存儲容量的制約。為了克服這一問題,在本實施例中,根據數據表中各條數據記錄所包含的路由字段,將數據表中的數據記錄拆分為三部分,分別存儲在三個數據庫集群中,因此,與傳統方式相比,數據表的存儲容量能夠提升三倍。
[0033]具體實現時,在本實施例中,預先將數據表中各條數據記錄的ID字段設置為路由字段,根據ID字段的數值范圍確定對應的數據庫集群。設置路由字段的主要目的在于:結合分布式存儲規則,根據路由字段的值來確定相應的數據庫集群,因此,除ID字段外,其他能夠唯一標識各條數據記錄的字段也可以作為路由字段,本發明對路由字段的具體字段名不做限定。
[0034]