本發(fā)明涉及數(shù)據(jù)庫預(yù)處理技術(shù)領(lǐng)域,尤其涉及一種分布式數(shù)據(jù)庫預(yù)處理的方法及裝置。
背景技術(shù):
目前,通常采用數(shù)據(jù)庫預(yù)處理技術(shù)對(duì)數(shù)據(jù)庫服務(wù)器進(jìn)行操作,當(dāng)創(chuàng)建數(shù)據(jù)庫預(yù)處理操作語句時(shí),客戶端向數(shù)據(jù)庫服務(wù)器發(fā)送一個(gè)包括查詢、插入、更新等操作的數(shù)據(jù)庫操作語句模板,然后,數(shù)據(jù)庫服務(wù)器對(duì)數(shù)據(jù)庫操作語句模板進(jìn)行解析,生成對(duì)應(yīng)的語法樹,并將經(jīng)過處理的數(shù)據(jù)庫操作語句模板保存起來,數(shù)據(jù)庫預(yù)處理操作語句模板用問號(hào)(?)代表執(zhí)行具體操作的參數(shù)值,當(dāng)客戶端執(zhí)行對(duì)應(yīng)的查詢、插入、更新等具體操作時(shí),可以將問號(hào)所代表的參數(shù)值發(fā)送至數(shù)據(jù)庫服務(wù)器,即可得到操作結(jié)果,上述過程可以重復(fù)多次,采用數(shù)據(jù)庫預(yù)處理操作技術(shù)的優(yōu)勢(shì)在于:
1、數(shù)據(jù)庫所在的服務(wù)器只需解析一次數(shù)據(jù)庫操作語句,并且完整的數(shù)據(jù)庫操作語句不會(huì)被發(fā)送至服務(wù)器,只需采用二進(jìn)制協(xié)議的形式發(fā)送參與具體業(yè)務(wù)的參數(shù)信息,節(jié)約了處理具體業(yè)務(wù)的開銷如內(nèi)存、帶寬;
2、數(shù)據(jù)庫所在的服務(wù)器緩存了部分處理數(shù)據(jù)庫操作語句的計(jì)劃,所以只需執(zhí)行一次解析數(shù)據(jù)庫操作語句的動(dòng)作,提高了處理具體業(yè)務(wù)的效率;
3、采用預(yù)處理技術(shù)的數(shù)據(jù)庫服務(wù)器,可以有效避免所述數(shù)據(jù)庫服務(wù)器遭遇注入式攻擊,提高了數(shù)據(jù)庫服務(wù)器的安全性。
但是,數(shù)據(jù)庫預(yù)處理技術(shù)目前只能在獨(dú)立式數(shù)據(jù)庫服務(wù)器上使用,而不能在分布式數(shù)據(jù)庫服務(wù)器上使用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種分布式數(shù)據(jù)庫預(yù)處理的方法及裝置,旨在解決數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種分布式數(shù)據(jù)庫預(yù)處理的方法,所述方法包括以下步驟:
從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息;
通過解析所述分布式數(shù)據(jù)庫操作語句模板確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群;
發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群;
獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果。
優(yōu)選地,所述通過解析所述分布式數(shù)據(jù)庫操作語句模板確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群的步驟包括:
解析所述分布式數(shù)據(jù)庫操作語句模板生成語法樹;
根據(jù)所述語法樹,計(jì)算生成所述分布式數(shù)據(jù)庫操作語句模板的執(zhí)行計(jì)劃樹;
根據(jù)所述執(zhí)行計(jì)劃樹,獲取與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群。
優(yōu)選地,所述操作語句參數(shù)信息包括操作語句參數(shù)值及用于將所述操作語句參數(shù)值匹配給所述分布式數(shù)據(jù)庫操作語句模板的標(biāo)識(shí)信息。
優(yōu)選地,所述獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果的步驟包括:
獲取由所述分布式數(shù)據(jù)庫服務(wù)器集群返回的結(jié)果數(shù)據(jù),其中,所述結(jié)果數(shù)據(jù)是位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器結(jié)合所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息對(duì)存儲(chǔ)于對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理而得到的結(jié)果;
對(duì)所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,獲取經(jīng)過匯總計(jì)算的結(jié)果集。
優(yōu)選地,所述獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果的步驟之后還包括:
將所述處理結(jié)果發(fā)送至客戶端;從客戶端處獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息,并發(fā)送所述請(qǐng)求信息至執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器集群;關(guān)閉位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種分布式數(shù)據(jù)庫預(yù)處理的裝置,所述裝置包括:
模板獲取模塊,用于從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息;
模板處理模塊,用于通過解析所述分布式數(shù)據(jù)庫操作語句模板確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群;
參數(shù)信息轉(zhuǎn)發(fā)模塊,用于發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群;
結(jié)果返回模塊,用于獲取所述分布式數(shù)據(jù)庫服務(wù)器根據(jù)所述執(zhí)行預(yù)處理操作的請(qǐng)求信息返回的處理結(jié)果。
優(yōu)選地,所述操作語句參數(shù)信息包括操作語句參數(shù)值及用于將所述操作語句參數(shù)值匹配給所述分布式數(shù)據(jù)庫操作語句模板的標(biāo)識(shí)信息。
優(yōu)選地,所述模板處理模塊還用于:
解析生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹;
根據(jù)所述語法樹,計(jì)算生成所述分布式數(shù)據(jù)庫操作語句模板的執(zhí)行計(jì)劃樹;
根據(jù)所述執(zhí)行計(jì)劃樹,獲取與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群。
優(yōu)選地,所述結(jié)果返回模塊還用于:
獲取由所述分布式數(shù)據(jù)庫服務(wù)器集群返回的結(jié)果數(shù)據(jù),其中,所述結(jié)果數(shù)據(jù)是位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器結(jié)合所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息對(duì)存儲(chǔ)于對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理而得到的結(jié)果;
對(duì)所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,獲取經(jīng)過匯總計(jì)算的結(jié)果集。
優(yōu)選地,所述分布式數(shù)據(jù)庫預(yù)處理的裝置還包括:
將所述處理結(jié)果發(fā)送至客戶端;從客戶端處獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息,并發(fā)送所述請(qǐng)求信息至執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器集群;關(guān)閉位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。
本發(fā)明提供了一種分布式數(shù)據(jù)庫預(yù)處理的方法及裝置,通過從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息,對(duì)所述分布式數(shù)據(jù)庫操作語句模板進(jìn)行解析,確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群,獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果,從而解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
附圖說明
圖1為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的方法一實(shí)施例的流程示意圖;
圖2為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的方法二實(shí)施例的流程示意圖;
圖3為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的裝置一實(shí)施例的功能模塊示意圖;
圖4是本發(fā)明實(shí)施例中分布式數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例中分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置的另一種功能模塊示意圖;
圖6為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的裝置二實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種分布式數(shù)據(jù)庫預(yù)處理的方法。
參照?qǐng)D1,圖1為本發(fā)明分布式數(shù)據(jù)庫操作語句預(yù)處理的方法一實(shí)施例的流程示意圖。
在一實(shí)施例中,該分布式數(shù)據(jù)庫操作語句預(yù)處理的方法包括:
步驟s10,從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息;
本實(shí)施例中的技術(shù)方案涉及客戶端與分布式數(shù)據(jù)庫服務(wù)器之間的交互,以實(shí)現(xiàn)客戶端通過發(fā)送分布式數(shù)據(jù)庫操作語句請(qǐng)求來完成對(duì)分布式數(shù)據(jù)庫的訪問。其中,本實(shí)施例在客戶端與分布式數(shù)據(jù)庫服務(wù)器之間引入中間件,也稱分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,通過中間件實(shí)現(xiàn)分布式數(shù)據(jù)庫預(yù)處理。
本實(shí)施例分布式數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以如圖4所示,其中,本實(shí)施例中的分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置可以包括執(zhí)行模塊及操作語句路由模塊(sql路由模塊)。
具體地,作為一種功能模塊設(shè)置方式,可以參照?qǐng)D5所示,所述執(zhí)行模塊可以包括線程池單元、線程調(diào)度單元、數(shù)據(jù)操作語句解析單元(sql解析單元)、數(shù)據(jù)操縱語言單元(dml單元)、數(shù)據(jù)定義語言單元(ddl單元)、中介數(shù)據(jù)緩存單元,以及與sql路由接口,具體的執(zhí)行模塊的組成部分,在此不作限定。
具體地,所述線程池單元負(fù)責(zé)管理所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置的所有線程的使用與回收。當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取由客戶端處發(fā)送的分布式數(shù)據(jù)庫操作語句模板時(shí),所述線程調(diào)度單元從所述線程池單元調(diào)度一個(gè)線程用于處理所述分布式數(shù)據(jù)庫操作語句模板。
所述數(shù)據(jù)定義語言單元負(fù)責(zé)將數(shù)據(jù)定義語句轉(zhuǎn)化為可在分布式數(shù)據(jù)庫服務(wù)器中執(zhí)行的數(shù)據(jù)定義語句,并將所述數(shù)據(jù)定義語句的分發(fā)策略信息存儲(chǔ)于數(shù)據(jù)字典文件中,再將所述分發(fā)策略信息加載至緩存中,以供所述數(shù)據(jù)操縱語言單元使用。
當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置啟動(dòng)時(shí),所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將全部分發(fā)策略信息加載至緩存中,所述中介數(shù)據(jù)緩存單元負(fù)責(zé)管理所述分發(fā)策略信息,并向所述數(shù)據(jù)操縱語言單元提供查詢服務(wù)。
本實(shí)施例中,通過在客戶端處設(shè)定分布式數(shù)據(jù)庫操作語句,其中,所述分布式數(shù)據(jù)庫操作語句包括分布式數(shù)據(jù)庫操作語句模板與分布式數(shù)據(jù)庫操作語句參數(shù)值。客戶端將分布式數(shù)據(jù)庫操作語句拆分為單獨(dú)的分布式數(shù)據(jù)庫操作語句模板與單獨(dú)的分布式數(shù)據(jù)庫操作語句參數(shù)值,其中,單獨(dú)的分布式數(shù)據(jù)庫操作語句模板,如insertintostudents(firstname,lastname,email) values(?,?,?),可以包括操作語句語法框架、數(shù)據(jù)庫表頭信息、操作語句參數(shù)變量,具體地,所述分布式數(shù)據(jù)庫操作語句模板的組成部分,在此不作限定。分布式數(shù)據(jù)庫操作語句模板由客戶端發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置。
步驟s20,通過解析所述分布式數(shù)據(jù)庫操作語句模板確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群;
在獲取分布式數(shù)據(jù)庫操作語句模板后,分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置對(duì)所述分布式數(shù)據(jù)庫操作語句模板進(jìn)行解析,確定存儲(chǔ)以數(shù)據(jù)庫表頭信息作為標(biāo)識(shí)的數(shù)據(jù)庫表的分布式數(shù)據(jù)庫服務(wù)器,將全部符合條件的分布式數(shù)據(jù)庫服務(wù)器打包成一個(gè)分布式數(shù)據(jù)庫服務(wù)器集群,再向所述分布式數(shù)據(jù)庫服務(wù)器集群發(fā)送包括所述數(shù)據(jù)庫表頭信息的分布式數(shù)據(jù)庫操作語句模板。
步驟s30,發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群;
在分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取由客戶端發(fā)送的與所述分布式數(shù)據(jù)庫操作語句模板匹配的操作語句參數(shù)信息后,所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將所述操作語句參數(shù)信息發(fā)送至經(jīng)過確定的分布式數(shù)據(jù)庫服務(wù)器集群。
位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的所有分布式數(shù)據(jù)庫服務(wù)器將之前獲取的分布式數(shù)據(jù)庫操作語句模板與所述操作語句參數(shù)信息進(jìn)行組合,形成可以被所述分布式數(shù)據(jù)庫服務(wù)器執(zhí)行的完整的分布式數(shù)據(jù)庫操作語句,通過執(zhí)行所述分布式數(shù)據(jù)庫操作語句,完成對(duì)存儲(chǔ)于所述分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)的具體操作,如查詢數(shù)據(jù)、插入數(shù)據(jù)、更新數(shù)據(jù)等,具體的,所述具體操作的操作內(nèi)容,在此不作限定。
步驟s40,獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果。
在完成相關(guān)的操作后,所有分布式數(shù)據(jù)庫服務(wù)器將操作結(jié)果發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,所述操作結(jié)果包括操作成功信息、操作失敗信息、操作用時(shí)信息等,具體地,所述操作結(jié)果,在此不作限定。
本實(shí)施例通過從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作 語句參數(shù)信息,對(duì)所述分布式數(shù)據(jù)庫操作語句模板進(jìn)行解析,確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群,獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
進(jìn)一步地,在其他實(shí)施例中,上述步驟s20可以包括:
解析生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹;
根據(jù)所述語法樹,計(jì)算所述分布式數(shù)據(jù)庫操作語句模板生成執(zhí)行計(jì)劃樹;
根據(jù)所述執(zhí)行計(jì)劃樹,獲取與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群。
該實(shí)施例中,通過解析由客戶端處獲取的分布式數(shù)據(jù)庫操作語句模板,生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹,由數(shù)據(jù)操縱語言單元對(duì)所述語法樹進(jìn)行計(jì)算,生成所述分布式數(shù)據(jù)庫操作語句模板的計(jì)劃執(zhí)行樹,根據(jù)所述計(jì)劃執(zhí)行樹,所述數(shù)據(jù)操縱語言單元確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并將所有位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的分布式數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)地址信息存儲(chǔ)于所述執(zhí)行計(jì)劃樹的節(jié)點(diǎn)中,由分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將所述分布式數(shù)據(jù)庫操作語句模板發(fā)送至所述分布式數(shù)據(jù)庫服務(wù)器集群。
具體地,所述數(shù)據(jù)操作語句解析單元負(fù)責(zé)解析由客戶端處獲取的分布式數(shù)據(jù)庫操作語句模板,生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹,再將所述語法樹發(fā)送至所述數(shù)據(jù)操縱語言單元與所述數(shù)據(jù)定義語言單元用于生成與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的執(zhí)行計(jì)劃樹。
在一種實(shí)施方式中,客戶端將分布式數(shù)據(jù)庫操作語句模板發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取所述分布式數(shù)據(jù)庫操作語句模板時(shí),對(duì)所述分布式數(shù)據(jù)庫操作語句模板中的操作語句語法框架進(jìn)行解析,得到語法樹,所述數(shù)據(jù)操縱語言單元通過分析所述語法樹,獲取所述分布式數(shù)據(jù)庫操作語句模板中的數(shù)據(jù)庫表頭信息, 并通過中介數(shù)據(jù)緩存單元獲取存儲(chǔ)以所述數(shù)據(jù)庫表頭信息作為標(biāo)識(shí)的數(shù)據(jù)庫表的所有分布式數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)地址信息,根據(jù)所述網(wǎng)絡(luò)地址信息,生成執(zhí)行計(jì)劃樹,并將所述網(wǎng)絡(luò)地址信息存儲(chǔ)于所述執(zhí)行計(jì)劃樹中。
上述實(shí)施例方案,通過存儲(chǔ)于所述執(zhí)行計(jì)劃樹中的所述網(wǎng)絡(luò)地址信息,確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的所有分布式數(shù)據(jù)庫服務(wù)器,并與所述所有分布式數(shù)據(jù)庫服務(wù)器集群建立邏輯鏈路通道,其中,所述分布式數(shù)據(jù)庫服務(wù)器組成一個(gè)分布式數(shù)據(jù)庫服務(wù)器集群。通過操作語句路由器即操作語句路由模塊通過所述邏輯鏈路通道向所述分布式數(shù)據(jù)庫服務(wù)器集群發(fā)送所述分布式數(shù)據(jù)庫操作語句模板。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
進(jìn)一步地,在其他實(shí)施例中,操作語句參數(shù)信息包括操作語句參數(shù)值及用于將所述操作語句參數(shù)值匹配給所述分布式數(shù)據(jù)庫操作語句模板的標(biāo)識(shí)信息。
該實(shí)施例中,參數(shù)信息可以包括中間變量。位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的所有分布式數(shù)據(jù)庫服務(wù)器將之前獲取的分布式數(shù)據(jù)庫操作語句模板中的問號(hào)(?)與所述中間變量進(jìn)行組合,獲取包括所述中間變量的分布式數(shù)據(jù)庫操作語句模板,如insertintostudents(firstname,lastname,email)values(x,y,z),其中,中間變量x、中間變量y及中間變量z可以與在客戶端中設(shè)定的參數(shù)x、參數(shù)y及參數(shù)z形成邏輯關(guān)系,具體地,所述中間變量的數(shù)量,在此不作限定。在所述客戶端中,當(dāng)對(duì)所述參數(shù)x、所述參數(shù)y及所述參數(shù)z執(zhí)行賦值運(yùn)算操作如循環(huán)賦值運(yùn)算時(shí),用于執(zhí)行賦值操作的參數(shù)值可以對(duì)所述中間變量x、所述中間變量y及所述中間變量z進(jìn)行賦值,其中,所述參數(shù)值是所述參數(shù)信息的組成部分。中間變量的引入,解決了當(dāng)需多次要執(zhí)行發(fā)送參數(shù)信息的操作時(shí),需要在客戶端處多次輸入?yún)?shù)值的問題,提升了用戶體驗(yàn)。
進(jìn)一步地,在其他實(shí)施例中,上述步驟s40可以包括:
獲取由所述分布式數(shù)據(jù)庫服務(wù)器集群返回的結(jié)果數(shù)據(jù),其中,所述結(jié)果數(shù)據(jù)是位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器結(jié)合 所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息對(duì)存儲(chǔ)于對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理而得到的結(jié)果;
對(duì)所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,獲取經(jīng)過匯總計(jì)算的結(jié)果集。
該實(shí)施例中,分布式數(shù)據(jù)庫服務(wù)器通過結(jié)合分布式數(shù)據(jù)庫操作語句模板與操作語句參數(shù)信息,對(duì)存儲(chǔ)于所述分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理,處理方式可以包括增添數(shù)據(jù)、刪除數(shù)據(jù)、更改數(shù)據(jù)、查詢數(shù)據(jù)等,具體地,所述處理方式的處理內(nèi)容,在此不作限定。在完成相關(guān)的操作后,所述分布式數(shù)據(jù)庫服務(wù)器得到處理結(jié)果,所述處理結(jié)果可以包括操作成功信息、操作失敗信息、操作用時(shí)信息等。具體地,所述操作成功信息的具體內(nèi)容,如通過查詢操作得到的數(shù)據(jù),在此不作限定。
在一種實(shí)施方式中,操作語句路由器監(jiān)聽所述分布式數(shù)據(jù)庫服務(wù)器的處理過程,當(dāng)處理結(jié)束時(shí),所述分布式數(shù)據(jù)庫服務(wù)器將結(jié)果數(shù)據(jù)發(fā)送至執(zhí)行計(jì)劃樹的節(jié)點(diǎn)中,由分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置對(duì)存儲(chǔ)于所述節(jié)點(diǎn)中的所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,得到經(jīng)過匯總計(jì)算的結(jié)果集。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
參照?qǐng)D2,圖2為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的方法二實(shí)施例的流程示意圖,在上述實(shí)施例的基礎(chǔ)上,在上述步驟s40之后還包括:
步驟s50,將所述處理結(jié)果發(fā)送至客戶端;從客戶端處獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息,并發(fā)送所述請(qǐng)求信息至執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器集群;關(guān)閉位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。
本實(shí)施例中,將所述處理結(jié)果發(fā)送至客戶端,并從客戶端處獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息,當(dāng)分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息時(shí),所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置銷毀相關(guān)的數(shù)據(jù),具體地,所述數(shù)據(jù)可以包括語法樹、執(zhí)行計(jì)劃樹及相關(guān)的緩存信息,在此不作限定。同時(shí),向執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器發(fā)送所述請(qǐng)求信息,關(guān)閉所述數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題,并在釋放硬件資源的基礎(chǔ)上,節(jié)省了硬件資源的內(nèi)存與存儲(chǔ)空間。
本發(fā)明進(jìn)一步提供一種分布式數(shù)據(jù)庫預(yù)處理的裝置。
參照?qǐng)D3,圖3為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的裝置一實(shí)施例的功能模塊示意圖。
在一實(shí)施例中,該分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置可以包括:模板獲取模塊01、模板處理模塊02、參數(shù)信息轉(zhuǎn)發(fā)模塊03、結(jié)果返回模塊04,其中:
模板獲取模塊01,用于從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息;
本實(shí)施例中的技術(shù)方案涉及客戶端與分布式數(shù)據(jù)庫服務(wù)器之間的交互,以實(shí)現(xiàn)客戶端通過發(fā)送分布式數(shù)據(jù)庫操作語句請(qǐng)求來完成對(duì)分布式數(shù)據(jù)庫的操作。其中,本實(shí)施例在客戶端與分布式數(shù)據(jù)庫服務(wù)器之間引入中間件,也即本實(shí)施例提出的分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,通過中間件實(shí)現(xiàn)分布式數(shù)據(jù)庫預(yù)處理。本實(shí)施例中,通過在客戶端處設(shè)定分布式數(shù)據(jù)庫操作語句,其中,所述分布式數(shù)據(jù)庫操作語句包括分布式數(shù)據(jù)庫操作語句模板與分布式數(shù)據(jù)庫操作語句參數(shù)值??蛻舳藢⒎植际綌?shù)據(jù)庫操作語句拆分為單獨(dú)的分布式數(shù)據(jù)庫操作語句模板與單獨(dú)的分布式數(shù)據(jù)庫操作語句參數(shù)值,其中,單獨(dú)的分布式數(shù)據(jù)庫操作語句模板,如insertintostudents(firstname,lastname,email)values(?,?,?),可以包括操作語句語法框架、數(shù)據(jù)庫表頭信息、操作語句參數(shù)變量,具體地,所述分布式數(shù)據(jù)庫操作語句模板的組成部分,在此不作限定。分布式數(shù)據(jù)庫操作語句模板由客戶端發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置。
模板處理模塊02,用于通過解析所述分布式數(shù)據(jù)庫操作語句模板確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群;
在獲取分布式數(shù)據(jù)庫操作語句模板后,分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置對(duì)所述分布式數(shù)據(jù)庫操作語句模板進(jìn)行解析,確定存儲(chǔ)以數(shù)據(jù)庫表頭信息作為標(biāo)識(shí)的數(shù)據(jù)庫表的分布式數(shù)據(jù)庫服務(wù)器,將全部符合條件的分布式數(shù)據(jù)庫服務(wù)器打包成一個(gè)分布式數(shù)據(jù)庫服務(wù)器集群,再向所述分布式數(shù)據(jù)庫服務(wù)器集群發(fā)送包括所述數(shù)據(jù)庫表頭信息的分布式數(shù)據(jù)庫操作語句模板。
參數(shù)信息轉(zhuǎn)發(fā)模塊03,用于發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群;
在分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取由客戶端發(fā)送的與所述分布式數(shù)據(jù)庫操作語句模板匹配的操作語句參數(shù)信息后,所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將所述操作語句參數(shù)信息發(fā)送至經(jīng)過確定的分布式數(shù)據(jù)庫服務(wù)器集群。
位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的所有分布式數(shù)據(jù)庫服務(wù)器將之前獲取的分布式數(shù)據(jù)庫操作語句模板與所述操作語句參數(shù)信息進(jìn)行組合,形成可以被所述分布式數(shù)據(jù)庫服務(wù)器執(zhí)行的完整的分布式數(shù)據(jù)庫操作語句,通過執(zhí)行所述分布式數(shù)據(jù)庫操作語句,完成對(duì)存儲(chǔ)于所述分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)的具體操作,如查詢數(shù)據(jù)、插入數(shù)據(jù)、更新數(shù)據(jù)等,具體的,所述具體操作的操作內(nèi)容,在此不作限定。
結(jié)果返回模塊04,用于獲取所述分布式數(shù)據(jù)庫服務(wù)器根據(jù)所述執(zhí)行預(yù)處理操作的請(qǐng)求信息返回的處理結(jié)果。
在完成相關(guān)的操作后,所有分布式數(shù)據(jù)庫服務(wù)器將操作結(jié)果發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,所述操作結(jié)果包括操作成功信息、操作失敗信息、操作用時(shí)信息等,具體地,所述操作結(jié)果,在此不作限定。
本實(shí)施例通過從客戶端處獲取分布式數(shù)據(jù)庫操作語句模板,并獲取操作語句參數(shù)信息,對(duì)所述分布式數(shù)據(jù)庫操作語句模板進(jìn)行解析,確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,發(fā)送所述分布式數(shù)據(jù)庫操作語句模板至所述分布式數(shù)據(jù)庫服務(wù)器集群,并發(fā)送所述操作語句參數(shù)信息至所述分布式數(shù)據(jù)庫服務(wù)器集群,獲取所述分布式數(shù)據(jù)庫服務(wù)器集群根據(jù)所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息返回的處理結(jié)果。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
在一種實(shí)際應(yīng)用中,本實(shí)施例分布式數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以如圖4所示,其中,本實(shí)施例中的分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置可以包括執(zhí)行模塊及操作語句路由模塊(sql路由模塊),其中,該執(zhí)行模塊可以包括上述實(shí)施 例中的模板獲取模塊01和模板處理模塊02的功能,操作語句路由模塊可以包括上述實(shí)施例中的參數(shù)信息轉(zhuǎn)發(fā)模塊03和結(jié)果返回模塊04。
具體地,作為一種功能模塊設(shè)置方式,可以參照?qǐng)D5所示,所述執(zhí)行模塊可以包括線程池單元、線程調(diào)度單元、數(shù)據(jù)操作語句解析單元(sql解析單元)、數(shù)據(jù)操縱語言單元(dml單元)、數(shù)據(jù)定義語言單元(ddl單元)、中介數(shù)據(jù)緩存單元,以及與sql路由接口,具體的執(zhí)行模塊的組成部分,在此不作限定。
具體地,所述線程池單元負(fù)責(zé)管理所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置的所有線程的使用與回收。當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取由客戶端處發(fā)送的分布式數(shù)據(jù)庫操作語句模板時(shí),所述線程調(diào)度單元從所述線程池單元調(diào)度一個(gè)線程用于處理所述分布式數(shù)據(jù)庫操作語句模板。
所述數(shù)據(jù)定義語言單元負(fù)責(zé)將數(shù)據(jù)定義語句轉(zhuǎn)化為可在分布式數(shù)據(jù)庫服務(wù)器中執(zhí)行的數(shù)據(jù)定義語句,并將所述數(shù)據(jù)定義語句的分發(fā)策略信息存儲(chǔ)于數(shù)據(jù)字典文件中,再將所述分發(fā)策略信息加載至緩存中,以供所述數(shù)據(jù)操縱語言單元使用。
當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置啟動(dòng)時(shí),所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將全部分發(fā)策略信息加載至緩存中,所述中介數(shù)據(jù)緩存單元負(fù)責(zé)管理所述分發(fā)策略信息,并向所述數(shù)據(jù)操縱語言單元提供查詢服務(wù)。
進(jìn)一步地,在其他實(shí)施例中,上述模板處理模塊02可以用于:
解析生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹;根據(jù)所述語法樹,計(jì)算生成所述分布式數(shù)據(jù)庫操作語句模板的執(zhí)行計(jì)劃樹;根據(jù)所述執(zhí)行計(jì)劃樹,獲取與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群。
基于圖4所示的執(zhí)行模塊,在該實(shí)施例中,通過解析由客戶端處獲取的分布式數(shù)據(jù)庫操作語句模板,生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹,由數(shù)據(jù)操縱語言單元對(duì)所述語法樹進(jìn)行計(jì)算,生成所述分布式數(shù)據(jù)庫操作語句模板的計(jì)劃執(zhí)行樹,根據(jù)所述計(jì)劃執(zhí)行樹,所述數(shù)據(jù)操縱語言單元確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器集群,并將所有位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的分布式數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)地址信息 存儲(chǔ)于所述執(zhí)行計(jì)劃樹的節(jié)點(diǎn)中,由分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置將所述分布式數(shù)據(jù)庫操作語句模板發(fā)送至所述分布式數(shù)據(jù)庫服務(wù)器集群。
具體地,所述數(shù)據(jù)操作語句解析單元負(fù)責(zé)解析由客戶端處獲取的分布式數(shù)據(jù)庫操作語句模板,生成所述分布式數(shù)據(jù)庫操作語句模板的語法樹,再將所述語法樹發(fā)送至所述數(shù)據(jù)操縱語言單元與所述數(shù)據(jù)定義語言單元用于生成與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的執(zhí)行計(jì)劃樹。
在一種實(shí)施方式中,客戶端將分布式數(shù)據(jù)庫操作語句模板發(fā)送至分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置,當(dāng)所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取所述分布式數(shù)據(jù)庫操作語句模板時(shí),對(duì)所述分布式數(shù)據(jù)庫操作語句模板中的操作語句語法框架進(jìn)行解析,得到語法樹,所述數(shù)據(jù)操縱語言單元通過分析所述語法樹,獲取所述分布式數(shù)據(jù)庫操作語句模板中的數(shù)據(jù)庫表頭信息,并通過中介數(shù)據(jù)緩存單元獲取存儲(chǔ)以所述數(shù)據(jù)庫表頭信息作為標(biāo)識(shí)的數(shù)據(jù)庫表的所有分布式數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)地址信息,根據(jù)所述網(wǎng)絡(luò)地址信息,生成執(zhí)行計(jì)劃樹,并將所述網(wǎng)絡(luò)地址信息存儲(chǔ)于所述執(zhí)行計(jì)劃樹中。
通過存儲(chǔ)于所述執(zhí)行計(jì)劃樹中的所述網(wǎng)絡(luò)地址信息,確定與所述分布式數(shù)據(jù)庫操作語句模板對(duì)應(yīng)的所有分布式數(shù)據(jù)庫服務(wù)器,并與所述所有分布式數(shù)據(jù)庫服務(wù)器集群建立邏輯鏈路通道,其中,所述分布式數(shù)據(jù)庫服務(wù)器組成一個(gè)分布式數(shù)據(jù)庫服務(wù)器集群。通過操作語句路由器即操作語句路由模塊通過所述邏輯鏈路通道向所述分布式數(shù)據(jù)庫服務(wù)器集群發(fā)送所述分布式數(shù)據(jù)庫操作語句模板。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
進(jìn)一步地,在其他實(shí)施例中,操作語句參數(shù)信息包括操作語句參數(shù)值及用于將所述操作語句參數(shù)值匹配給所述分布式數(shù)據(jù)庫操作語句模板的標(biāo)識(shí)信息。
該實(shí)施例中,參數(shù)信息可以包括中間變量。位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的所有分布式數(shù)據(jù)庫服務(wù)器將之前獲取的分布式數(shù)據(jù)庫操作語句模板中的問號(hào)(?)與所述中間變量進(jìn)行組合,獲取包括所述中間變量的分布式數(shù)據(jù)庫操作語句模板,如insertintostudents(firstname,lastname,email)values(x,y,z),其中,中間變量x、中間變量y及中間變量z可以與在客 戶端中設(shè)定的參數(shù)x、參數(shù)y及參數(shù)z形成邏輯關(guān)系,具體地,所述中間變量的數(shù)量,在此不作限定。在所述客戶端中,當(dāng)對(duì)所述參數(shù)x、所述參數(shù)y及所述參數(shù)z執(zhí)行賦值運(yùn)算操作如循環(huán)賦值運(yùn)算時(shí),用于執(zhí)行賦值操作的參數(shù)值可以對(duì)所述中間變量x、所述中間變量y及所述中間變量z進(jìn)行賦值,其中,所述參數(shù)值是所述參數(shù)信息的組成部分。中間變量的引入,解決了當(dāng)需多次要執(zhí)行發(fā)送參數(shù)信息的操作時(shí),需要在客戶端處多次輸入?yún)?shù)值的問題,提升了用戶體驗(yàn)。
進(jìn)一步地,在其他實(shí)施例中,上述結(jié)果返回模塊04可以用于:
獲取由所述分布式數(shù)據(jù)庫服務(wù)器集群返回的結(jié)果數(shù)據(jù),其中,所述結(jié)果數(shù)據(jù)是位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器結(jié)合所述分布式數(shù)據(jù)庫操作語句模板及所述操作語句參數(shù)信息對(duì)存儲(chǔ)于對(duì)應(yīng)的分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理而得到的結(jié)果;對(duì)所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,獲取經(jīng)過匯總計(jì)算的結(jié)果集。
在該實(shí)施例中,分布式數(shù)據(jù)庫服務(wù)器通過結(jié)合分布式數(shù)據(jù)庫操作語句模板與操作語句參數(shù)信息,對(duì)存儲(chǔ)于所述分布式數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行處理,處理方式可以包括增添數(shù)據(jù)、刪除數(shù)據(jù)、更改數(shù)據(jù)、查詢數(shù)據(jù)等,具體地,所述處理方式的處理內(nèi)容,在此不作限定。在完成相關(guān)的操作后,所述分布式數(shù)據(jù)庫服務(wù)器得到處理結(jié)果,所述處理結(jié)果可以包括操作成功信息、操作失敗信息、操作用時(shí)信息等。具體地,所述操作成功信息的具體內(nèi)容,如通過查詢操作得到的數(shù)據(jù),在此不作限定。
在一種實(shí)施方式中,操作語句路由器監(jiān)聽所述分布式數(shù)據(jù)庫服務(wù)器的處理過程,當(dāng)處理結(jié)束時(shí),所述分布式數(shù)據(jù)庫服務(wù)器將結(jié)果數(shù)據(jù)發(fā)送至執(zhí)行計(jì)劃樹的節(jié)點(diǎn)中,由分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置對(duì)存儲(chǔ)于所述節(jié)點(diǎn)中的所述結(jié)果數(shù)據(jù)進(jìn)行匯總計(jì)算,得到經(jīng)過匯總計(jì)算的結(jié)果集。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題。
參照?qǐng)D6,圖6為本發(fā)明分布式數(shù)據(jù)庫預(yù)處理的裝置二實(shí)施例的功能模塊示意圖,在上述實(shí)施例的基礎(chǔ)上,該分布式數(shù)據(jù)庫預(yù)處理的裝置還包括:
關(guān)閉模塊05,將所述處理結(jié)果發(fā)送至客戶端;從客戶端處獲取關(guān)閉預(yù)處 理操作的請(qǐng)求信息,并發(fā)送所述請(qǐng)求信息至執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器集群;關(guān)閉位于所述分布式數(shù)據(jù)庫服務(wù)器集群中的多個(gè)分布式數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。
本實(shí)施例中,將所述處理結(jié)果發(fā)送至客戶端,并從客戶端處獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息,當(dāng)分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置獲取關(guān)閉預(yù)處理操作的請(qǐng)求信息時(shí),所述分布式數(shù)據(jù)庫操作語句預(yù)處理的裝置銷毀相關(guān)的數(shù)據(jù),具體地,所述數(shù)據(jù)可以包括語法樹、執(zhí)行計(jì)劃樹及相關(guān)的緩存信息,在此不作限定。同時(shí),向執(zhí)行預(yù)處理操作的分布式數(shù)據(jù)庫服務(wù)器發(fā)送所述請(qǐng)求信息,關(guān)閉所述數(shù)據(jù)庫服務(wù)器的預(yù)處理服務(wù)。解決了數(shù)據(jù)庫預(yù)處理技術(shù)不能在分布式數(shù)據(jù)庫服務(wù)器上使用的技術(shù)問題,并在釋放硬件資源的基礎(chǔ)上,節(jié)省了硬件資源的內(nèi)存與存儲(chǔ)空間。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī)。服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。