專利名稱::一種實現(xiàn)數(shù)據(jù)庫訪問的方法和裝置的制作方法
技術領域:
:本發(fā)明涉及網(wǎng)絡通訊
技術領域:
,具體涉及一種實現(xiàn)數(shù)據(jù)庫訪問的方法和裝置。
背景技術:
:數(shù)據(jù)庫如informix、oracle等已廣泛應用于計算機、通信領域,目前,實現(xiàn)數(shù)據(jù)庫訪問的方法主要有兩種方法一Client端直接使用標準的SQL語句如ESQL等語句來訪問Server端的數(shù)據(jù)庫,即client(客戶)端編輯SQL語句,將編輯后的SQL語句傳輸至Server端的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)執(zhí)行該SQL語句,并將執(zhí)行結果傳輸至用戶終端。具體實現(xiàn)過程如附圖1所示,在圖1中,Client端根據(jù)需要編輯各種SQL語句,并將其編輯的SQL語句傳輸至數(shù)據(jù)庫所在的server(服務器)端。Server端對其接收的SQL語句進行解釋、編譯、執(zhí)行,并將最終的執(zhí)行結果返回給Client端。在上述實現(xiàn)過程中,Client端和Server端之間的數(shù)據(jù)傳輸協(xié)議可采用多種方式,如TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)、七號信令等。該方法需要Client端用戶在每次訪問數(shù)據(jù)庫時,都需要生成SQL語句,尤其在Client端需要使用較為固定的、大量的SQL語句進行數(shù)據(jù)庫訪問時,會存在許多重復操作且降低了Client端的反應速度,而且Client端和Server端之間會因為傳輸大量的、基本相同的SQL語句,而占用大量的網(wǎng)絡資源,且出現(xiàn)誤碼的幾率高。方法二Client端通過中間件來訪問Server端的數(shù)據(jù)庫。中間件技術能夠提供給Client端一些可以調(diào)用的固定接口,中間件根據(jù)Client端用戶提供的關鍵字如表名、字段名等動態(tài)組裝成標準的SQL語句,并將該組裝的SQL語句傳輸至Server端。該方法將Client端用戶在訪問數(shù)據(jù)庫重新生成標準的SQL語句的操作交給中間件來完成,簡化了Client端用戶的數(shù)據(jù)庫訪問操作,但是,在Client端需要使用較為固定的、大量的SQL語句進行數(shù)據(jù)庫訪問時,同樣會存在方法一中占用大量網(wǎng)絡資源、出現(xiàn)誤碼的幾率高等缺點。
發(fā)明內(nèi)容本發(fā)明的目的在于,提供一種實現(xiàn)數(shù)據(jù)庫訪問的方法和裝置,通過對數(shù)據(jù)庫訪問語句的注冊,在Client端用戶進行數(shù)據(jù)庫訪問,尤其是使用較為固定的SQL語句進行數(shù)據(jù)庫訪問時,實現(xiàn)了簡化數(shù)據(jù)庫訪問操作、節(jié)約網(wǎng)絡資源、提高Client端和Server端之間的有效數(shù)據(jù)傳輸率,提高通信系統(tǒng)可靠性的目的。為達到上述目的,本發(fā)明提供的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,包括a、確定預定數(shù)據(jù)庫訪問語句的可變部分;b、根據(jù)所述預定數(shù)據(jù)庫訪問語句及其可變部分在數(shù)據(jù)庫所在的Server(服務器)端對該語句進行注冊,并存儲相應的注冊信息;c、當客戶端需要使用所述注冊的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將所述注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至所述Server端;d、所述Server端根據(jù)其存儲的注冊信息及所述客戶端傳輸來的變量值將對應的數(shù)據(jù)庫訪問結果傳輸至所述客戶端。所述可變部分為可變參數(shù)、可變參數(shù)列表。所述步驟a包括客戶端確定預定數(shù)據(jù)庫訪問語句中的可變部分,并標識;所述客戶端將所述預定數(shù)據(jù)庫訪問語句、所述可變部分標識承載于注冊請求中,并通過客戶端與Server端的接口傳輸至Server端;所述Server端根據(jù)其接收的所述注冊請求中承載的信息確定需要注冊的數(shù)據(jù)庫訪問語句,并確定該數(shù)據(jù)庫訪問語句的可變部分。所述步驟a包括客戶端根據(jù)需要通過客戶端與Server端的接口向Server端發(fā)送預定數(shù)據(jù)庫訪問語句;所述Server端根據(jù)需要確定其接收的所述預定數(shù)據(jù)庫訪問語句需要進行注冊;所述Server端確定所述需要進行注冊的數(shù)據(jù)庫訪問語句中的可變部分。所述步驟b包括所述Server端確定需要進行注冊的數(shù)據(jù)庫訪問語句對應的注冊標識;所述Server端確定所述注冊標識與所述預定數(shù)據(jù)庫訪問語句及其可變部分的對應關系,并將所述對應關系作為注冊信息存儲;所述Server端將注冊標識傳輸至所述客戶端。所述注冊信息以數(shù)據(jù)庫、配置文件或文本文件的形式存儲于存儲介質中。所述步驟c包括當客戶端需要使用所述預定數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將所述預定數(shù)據(jù)庫訪問語句中的可變部分對應的變量值和所述注冊標識傳輸至所述Server端。所述的步驟d包括所述Server端根據(jù)其存儲的注冊信息、所述客戶端傳輸來的變量值、注冊標識生成對應的數(shù)據(jù)庫訪問語句;所述Server端根據(jù)所述生成的數(shù)據(jù)庫訪問語句將對應的數(shù)據(jù)庫訪問結果傳輸至所述客戶端。所述方法還包括所述Server端根據(jù)需要主動清除其存儲的注冊信息。本發(fā)明還提供一種實現(xiàn)數(shù)據(jù)庫訪問的裝置,包括確定可變部分模塊確定預定數(shù)據(jù)庫訪問語句中的可變部分,并將所述可變部分傳輸至注冊模塊;注冊模塊接收所述確定可變部分模塊傳輸來的可變部分,根據(jù)所述預定數(shù)據(jù)庫訪問語句及其可變部分在Server端對該語句進行注冊,并將相應的注冊信息傳輸至存儲注冊信息模塊;存儲注冊信息模塊接收并存儲注冊模塊傳輸來的注冊信息;傳輸變量值模塊當客戶端需要使用所述注冊的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將該注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至數(shù)據(jù)庫訪問模塊;數(shù)據(jù)庫訪問模塊根據(jù)所述傳輸變量值模塊傳輸來的變量值及所述存儲注冊信息模塊中存儲的注冊信息,獲取對應的數(shù)據(jù)庫訪問結果,并輸出。所述裝置還包括注冊信息管理模塊根據(jù)需要將存儲注冊信息模塊中存儲的注冊信息清除。通過上述技術方案的描述可明顯得知,本發(fā)明通過將數(shù)據(jù)庫訪問語句在Server端進行注冊,使Client端用戶在進行數(shù)據(jù)庫訪問時,將數(shù)據(jù)庫訪問語句的可變部分對應的變量值直接傳輸至Server端即可,避免了Client端用戶重復編輯數(shù)據(jù)庫訪問語句的操作,節(jié)約了Client端的資源、減少了Client端在進行數(shù)據(jù)庫訪問時需要傳輸?shù)臄?shù)據(jù)量,在Client端用戶大量使用較為固定的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,最大程度的減少了Client端和Server端之間需要傳輸?shù)臄?shù)據(jù)量及出現(xiàn)誤碼的幾率;本發(fā)明可以靈活的由Client端根據(jù)需要主動發(fā)起注冊請求,也可以由Server端確定對數(shù)據(jù)庫訪問語句進行注冊;本發(fā)明的注冊信息可以數(shù)據(jù)庫、配置文件、文本文件等形式存儲于內(nèi)存、磁盤等存儲介質中,使本發(fā)明的技術方案實現(xiàn)靈活;本發(fā)明的Server端能夠主動清除其存儲的注冊信息,將Client端不使用的或近期不使用的注冊信息釋放,以減少冗余的注冊信息;本發(fā)明提供的數(shù)據(jù)庫訪問方法和裝置能夠應用于各種通信協(xié)議中;從而通過本發(fā)明提供的技術方案實現(xiàn)了簡化數(shù)據(jù)庫訪問操作、節(jié)約網(wǎng)絡資源、減小了Client端對數(shù)據(jù)庫操作的延時,提高通信系統(tǒng)可靠性的目的。圖1是現(xiàn)有技術的數(shù)據(jù)庫訪問示意圖;圖2是本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的原理圖;圖3是本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的流程圖1;圖4是本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的流程圖2;圖5是本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的流程圖3;圖6是本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的裝置示意圖。具體實施例方式本發(fā)明的核心是確定預定數(shù)據(jù)庫訪問語句的可變部分,根據(jù)預定數(shù)據(jù)庫訪問語句及其可變部分在Server端對該語句進行注冊,并存儲相應的注冊信息,當客戶端需要使用上述注冊的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將該注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至Server端,Server端根據(jù)其存儲的注冊信息及客戶端傳輸來的變量值將對應的數(shù)據(jù)庫訪問結果傳輸至客戶端。下面基于本發(fā)明的核心思想對本發(fā)明提供的技術方案做進一步的描述。本發(fā)明中,預定數(shù)據(jù)庫訪問語句包括各數(shù)據(jù)庫廠商提供的各種標注的SQL語句,如ESQL等。如果Client端經(jīng)常需要使用較為固定的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問,那么,Client端和Server端之間就會傳輸大量的、重復的數(shù)據(jù),為有效利用網(wǎng)絡資源,提高單位時間內(nèi)Client端和Server端之間傳輸數(shù)據(jù)的有效率,本發(fā)明采用注冊機制來實現(xiàn)數(shù)據(jù)庫訪問。本發(fā)明采用注冊機制實現(xiàn)數(shù)據(jù)庫訪問的原理如附圖2所示。在圖2中,本發(fā)明需要分析、確定需要進行注冊的預定數(shù)據(jù)庫訪問語句中的可變部分,并在Server端對可變部分和該數(shù)據(jù)庫訪問語句進行注冊,這樣,Client端在使用注冊過的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,可以只傳輸該數(shù)據(jù)庫訪問語句的可變部分對應的變量值,Server端即可根據(jù)該變量值和其存儲的注冊信息確定Client端需要的數(shù)據(jù)庫訪問語句,Server端執(zhí)行其確定的數(shù)據(jù)庫訪問語句,并將執(zhí)行結果返回至Client端。下面通過一個具體的例子對本發(fā)明實現(xiàn)數(shù)據(jù)庫訪問的原理進行說明。對Client端數(shù)據(jù)庫訪問語句SELECTuserNameFROMuserInformation_tableWHEREuserID=100進行注冊,確定上述語句的可變部分可以為userName和100,也可以單獨為100,如果只將100確定為可變部分,那么,將該數(shù)據(jù)庫訪問語句和可變部分進行注冊,Client端在使用該注冊的語句進行數(shù)據(jù)庫訪問時,只需要將變量值如200傳輸至Server端,Server端即可根據(jù)該變量值和注冊的語句確定Client端需要使用SELECTuserNameFROMuserInformation_tableWHEREuserID=200進行數(shù)據(jù)庫訪問,并執(zhí)行該語句,將執(zhí)行結果傳輸至Client端。通過上述描述可明顯看出,本發(fā)明對Client端需要使用的數(shù)據(jù)庫訪問語句,尤其是對Client端經(jīng)常需要使用的數(shù)據(jù)庫訪問語句進行注冊,能夠大大減少Client端和Server端之間傳輸?shù)闹貜偷臄?shù)據(jù)。一般Client端需要使用的預定數(shù)據(jù)庫訪問語句為多個,所以本發(fā)明在Server端對預定數(shù)據(jù)庫訪問語句注冊時,其應該存儲的注冊信息主要包括注冊標識、注冊的數(shù)據(jù)庫訪問語句及其可變部分的對應關系。Server端在注冊完成后應該保存對應的注冊信息,還應該將該注冊語句的注冊信息中的注冊標識傳輸給Client端,這樣,Client端可以通過注冊標識、可變部分的變量值來使Server端明確知道Client端需要進行的數(shù)據(jù)庫訪問操作,使Server端執(zhí)行對應的數(shù)據(jù)庫訪問語句。上述注冊信息可以在Server端以數(shù)據(jù)庫、配置文件、文本文件等的形式存儲,其存放位置非常靈活,如可以將注冊信息存儲在共享內(nèi)存、磁盤等存儲介質中,以便于Server端對于多應用的共享使用。上述注冊標識可以僅僅是存儲的注冊信息的索引值。本發(fā)明中的可變部分包括可變參數(shù)和可變參數(shù)列表。確定預定數(shù)據(jù)庫訪問語句的可變部分可以在Client端完成,也可以在Server端完成,即在Server端對Client端的數(shù)據(jù)庫訪問語句進行注冊的過程可以由Client端主動引起,也可以由Server端來主動引起。由Client端主動引起注冊的方法為Client端確定需要注冊的數(shù)據(jù)庫訪問語句,并確定該語句的可變部分,將該可變部分進行標識,然后將需要注冊的數(shù)據(jù)庫訪問語句和其可變部分標識承載于注冊請求中,并通過其與Server端的接口向Server端發(fā)送注冊請求,Server端根據(jù)Client端傳輸來的注冊請求中承載的信息確定需要注冊的數(shù)據(jù)庫訪問語句,并根據(jù)可變部分的標識確定可變部分,對該語句進行注冊,在注冊成功后將該語句對應的注冊標識傳輸給Client端。由Client端主動引起的注冊過程可以發(fā)生在Client端的初始化階段,也可以發(fā)生在Client端需要使用預定數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問之前,如Client端在其初始化時,對所有需要注冊的數(shù)據(jù)庫訪問語句進行一次性注冊操作,或在Client端第一次使用某個預定數(shù)據(jù)庫訪問語句時,對該語句進行注冊。由Server端主動引起注冊過程的方法為Server端根據(jù)實際需要確定需要注冊的數(shù)據(jù)庫訪問語句,確定數(shù)據(jù)庫訪問語句中的可變部分,并進行注冊,在注冊成功后,將各注冊語句對應的注冊標識傳輸給Client端。Server端也可以在Client端使用數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,進行上述注冊過程,如Client端使用預定數(shù)據(jù)庫訪問語句通過客戶端與Server端的接口進行數(shù)據(jù)庫訪問時,Server端接收預定數(shù)據(jù)庫訪問語句,并自主確定是否需要對其進行注冊,如果確定不需要對其進行注冊,直接執(zhí)行該語句,并將執(zhí)行結果返回給Client端,如果確定需要對其進行注冊,則首先確定該語句中的可變部分,然后注冊,同時執(zhí)行該語句,并將對應的注冊標識及執(zhí)行結果返回給Client端。Client端接收到Server端傳輸來的注冊標識時,需要記錄該注冊標識與注冊的SQL語句的對應關系,以方便其在使用注冊的SQL語句。通過上述的注冊過程后,當Client端需要使用某個預定數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,Client端可以只將該數(shù)據(jù)庫訪問語句中的可變部分對應的變量值和相應的注冊標識傳輸至Server端,Server端接收到變量值和注冊標識后,根據(jù)其存儲的注冊信息確定該注冊標識對應的注冊的數(shù)據(jù)庫訪問語句,根據(jù)變量值重新組裝數(shù)據(jù)庫訪問語句,并根據(jù)重新組裝的數(shù)據(jù)庫訪問語句執(zhí)行數(shù)據(jù)庫訪問操作,將執(zhí)行結果傳輸至Client端。Server端還可以根據(jù)Client端使用注冊語句的實際情況對其存儲的注冊信息進行清除操作,如Server端監(jiān)測其存儲的注冊的數(shù)據(jù)庫訪問語句的使用情況,在預定時間間隔內(nèi)如果該語句一直沒有被再次使用,則Server端可以主動將該注冊信息釋放、清除。如果在Server端在清除該注冊信息后,Client端又再次使用該注冊的數(shù)據(jù)庫訪問語句,Server端可以重新對該語句進行注冊,并將重新注冊后的注冊標識再次傳輸至Client端。本發(fā)明的數(shù)據(jù)庫訪問的實現(xiàn)方法中Client端與Server端之間的數(shù)據(jù)傳輸可采用任何傳輸協(xié)議,如TCP/IP、7號信令等。本發(fā)明提供的數(shù)據(jù)庫訪問的方法能夠很好應用于無線通信中的智能網(wǎng)中,如Client端可以為智能網(wǎng)中的SCP(業(yè)務控制點),Server端可以為智能網(wǎng)中的SDP(業(yè)務數(shù)據(jù)點),本發(fā)明可以非常有效的減小SCP的數(shù)據(jù)庫操作的延時,在智能網(wǎng)領域中有很好的應用前景。下面結合附圖3對本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的技術方案進行詳細說明。在圖3中,步驟3-1,Client端的應用在Client端進行初始化時,根據(jù)Client端的需要確定其需要注冊的各SQL語句,并分別確定這些需要注冊的SQL語句的可變部分。到步驟3-2,Client端的應用分別將這些需要注冊的SQL語句的可變部分進行標識,并分別將需要注冊的SQL語句及其可變部分標識承載于注冊請求中傳輸至Server端的應用1。到步驟3-3,Server端的應用1根據(jù)接收的各注冊請求中承載的需要注冊的SQL語句及可變部分標識分別進行注冊,并將各注冊信息分別存儲在Server端。到步驟3-4,Server端的應用1將各SQL語句的注冊結果傳輸至Client端的應用。該注冊結果可能是SQL語句注冊成功后的注冊標識,也可能是SQL語句注冊失敗的信息。到步驟3-5,Client端的應用分別記錄注冊成功的各SQL語句及其對應的注冊標識。到步驟3-6,當Client端的應用需要使用注冊的SQL語句進行數(shù)據(jù)庫訪問時,將可變部分的變量值和注冊標識傳輸至Server端的應用2。到步驟3-7,Server端的應用2接收Server端的應用1傳輸來的變量值和注冊標識,并根據(jù)上述變量值、注冊標識及Server端存儲的注冊信息,重新組裝SQL語句。到步驟3-8,Server端的應用2執(zhí)行該組裝后的SQL語句。到步驟3-9,Server端的應用2將執(zhí)行的結果返回至Client端的應用。下面結合附圖4對本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的技術方案進行詳細說明。在圖4中,步驟4-1,Client端的應用在需要使用預定的SQL語句進行數(shù)據(jù)庫訪問時,發(fā)現(xiàn)該SQL語句沒有進行注冊,Client端確定需要對該SQL語句進行注冊,并確定該需要注冊的SQL語句的可變部分。到步驟4-2,Client端的應用將上述需要注冊的SQL語句的可變部分進行標識,將該需要注冊的SQL語句及其可變部分標識承載于注冊請求中傳輸至Server端的應用1。到步驟4-3,Server端的應用1根據(jù)接收的注冊請求中承載的需要注冊的SQL語句及可變部分標識進行注冊,并將注冊信息存儲在Server端。到步驟4-4,Server端的應用1將該SQL語句的注冊結果傳輸至Client端的應用。該注冊結果可能是注冊成功后的注冊標識,也可能是注冊失敗的信息。到步驟4-5,Client端的應用記錄注冊成功的上述SQL語句及其對應的注冊標識。到步驟4-6,Client端的應用將上述注冊的SQL語句的可變部分的變量值和注冊標識傳輸至Server端的應用2。到步驟4-7,Server端的應用2接收Server端的應用1傳輸來的變量值和注冊標識,并根據(jù)上述變量值、注冊標識及Server端存儲的注冊信息,重新組裝SQL語句。到步驟4-8,Server端的應用2執(zhí)行該組裝后的SQL語句。到步驟4-9,Server端的應用2將執(zhí)行的結果返回至Client端的應用。下面結合附圖5對本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的技術方案進行詳細說明。在圖5中,步驟5-1,Client端的應用在使用已注冊的SQL語句進行數(shù)據(jù)庫訪問時,首先確定存儲在Client端的該SQL語句對應的注冊標識,然后確定該SQL語句的可變部分的變量值。到步驟5-2,Client端的應用注冊將上述注冊的SQL語句的可變部分的變量值和注冊標識傳輸至Server端的應用2。到步驟5-3,Server端的應用2接收Server端的應用1傳輸來的變量值和注冊標識,并根據(jù)上述注冊標識及Server端存儲的注冊信息,確定Server端存儲的該注冊信息已經(jīng)被清除。上述清除操作可以是Server端根據(jù)其對注冊信息的監(jiān)測主動將預定時間間隔內(nèi)未使用的注冊SQL語句的清除。到步驟5-4,Server端的應用2將注冊失敗的信息傳輸至Client端的應用。到步驟5-5,Client端的應用接收到該注冊失敗的信息,將Client端記錄存儲的該SQL語句及其對應的注冊標識刪除。到步驟5-6,Client端的應用確定該SQL語句需要重新進行注冊,確定該SQL語句的可變部分,并進行標識,將該需要重新注冊的SQL語句及其可變部分標識承載于注冊請求中傳輸至Server端的應用1。到步驟5-7,Server端的應用1根據(jù)接收的注冊請求中承載的需要注冊的SQL語句及可變部分標識進行注冊,并將注冊信息存儲在Server端。到步驟5-8,Server端的應用1將該SQL語句的注冊結果傳輸至Client端的應用。該注冊結果可能是注冊成功后的注冊標識,也可能是注冊失敗的信息。到步驟5-9,Client端的應用記錄注冊成功的上述SQL語句及其對應的注冊標識。到步驟5-10,Client端的應用將上述重新注冊的SQL語句的可變部分的變量值和注冊標識傳輸至Server端的應用2。到步驟5-11,Server端的應用2接收Server端的應用1傳輸來的變量值和注冊標識,并根據(jù)上述變量值、注冊標識及Server端存儲的注冊信息,重新組裝SQL語句。到步驟5-12,Server端的應用2執(zhí)行該組裝后的SQL語句。到步驟5-13,Server端的應用2將執(zhí)行的結果返回至Client端的應用。本發(fā)明提供的實現(xiàn)數(shù)據(jù)庫訪問的裝置如附圖6所示。在圖6中,本發(fā)明的實現(xiàn)數(shù)據(jù)庫訪問的裝置包括確定可變部分模塊600、注冊模塊610、存儲注冊信息模塊620、傳輸變量值模塊630、數(shù)據(jù)庫訪問模塊640、注冊信息管理模塊650。確定可變部分模塊600可存在于Client端,也可存在于Server端,其主要功能為確定預定數(shù)據(jù)庫訪問語句中的可變部分,并將該可變部分傳輸至注冊模塊610。當確定可變部分模塊600存在于Client端時,該模塊可以在Client端進行初始化時,確定需要注冊的各SQL語句,并分別確定這些需要注冊的SQL語句的可變部分,將這些可變部分分別進行標識,并分別將需要注冊的SQL語句及其可變部分標識承載于注冊請求中傳輸至注冊模塊610。該模塊也可以在Client端需要使用SQL語句進行數(shù)據(jù)庫訪問前,確定該SQL語句需要進行注冊,同時確定該SQL語句的可變部分,將該可變部分進行標識,并將該需要注冊的SQL語句及其可變部分標識承載于注冊請求中傳輸至注冊模塊610。當確定可變部分模塊600存在于Server端時,該模塊接收Client端傳輸來的進行數(shù)據(jù)庫訪問的SQL語句,根據(jù)需要確定該SQL語句需要進行注冊,同時確定該SQL語句的可變部分,將這些可變部分分別進行標識,將確定需要注冊的SQL語句及其可變部分標識傳輸至注冊模塊610。注冊模塊610的主要功能為接收確定可變部分模塊傳輸來的需要注冊的SQL語句及其可變部分標識,并根據(jù)該SQL語句及其可變部分標識對該語句進行注冊,在注冊成功時,將相應的注冊信息如注冊標識、注冊的SQL語句及其可變部分等傳輸至存儲注冊信息模塊620。存儲注冊信息模塊620的主要功能為接收并存儲注冊模塊610傳輸來的注冊信息。傳輸變量值模塊630的主要功能為當Client端需要使用注冊過的SQL語句進行數(shù)據(jù)庫訪問時,將該注冊的SQL語句的注冊標識及其可變部分的變量值傳輸至數(shù)據(jù)庫訪問模塊640。數(shù)據(jù)庫訪問模塊640的主要功能為接收傳輸變量值模塊630傳輸來的注冊標識及其變量值,并根據(jù)該注冊標識、變量值和存儲注冊信息模塊620中存儲的注冊信息組裝SQL語句,并執(zhí)行該組裝后的SQL語句,同時將執(zhí)行結果傳輸至Client端。注冊信息管理模塊650的主要功能為根據(jù)需要將存儲注冊信息模塊620中存儲的注冊信息清除。清除的原因可以是該注冊的SQL語句在預定時間間隔內(nèi)沒有被使用等。雖然通過實施例描繪了本發(fā)明,本領域普通技術人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權利要求包括這些變形和變化。權利要求1.一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于包括a、確定預定數(shù)據(jù)庫訪問語句的可變部分;b、根據(jù)所述預定數(shù)據(jù)庫訪問語句及其可變部分在數(shù)據(jù)庫所在的Server(服務器)端對該語句進行注冊,并存儲相應的注冊信息;c、當客戶端需要使用所述注冊的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將所述注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至所述Server端;d、所述Server端根據(jù)其存儲的注冊信息及所述客戶端傳輸來的變量值將對應的數(shù)據(jù)庫訪問結果傳輸至所述客戶端。2.如權利要求1所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述可變部分為可變參數(shù)、可變參數(shù)列表。3.如權利要求1所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述步驟a包括客戶端確定預定數(shù)據(jù)庫訪問語句中的可變部分,并標識;所述客戶端將所述預定數(shù)據(jù)庫訪問語句、所述可變部分標識承載于注冊請求中,并通過客戶端與Server端的接口傳輸至Server端;所述Server端根據(jù)其接收的所述注冊請求中承載的信息確定需要注冊的數(shù)據(jù)庫訪問語句,并確定該數(shù)據(jù)庫訪問語句的可變部分。4.如權利要求1所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述步驟a包括客戶端根據(jù)需要通過客戶端與Server端的接口向Server端發(fā)送預定數(shù)據(jù)庫訪問語句;所述Server端根據(jù)需要確定其接收的所述預定數(shù)據(jù)庫訪問語句需要進行注冊;所述Server端確定所述需要進行注冊的數(shù)據(jù)庫訪問語句中的可變部分。5.如權利要求1至4中任一權利要求所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述步驟b包括所述Server端確定需要進行注冊的數(shù)據(jù)庫訪問語句對應的注冊標識;所述Server端確定所述注冊標識與所述預定數(shù)據(jù)庫訪問語句及其可變部分的對應關系,并將所述對應關系作為注冊信息存儲;所述Server端將注冊標識傳輸至所述客戶端。6.如權利要求5所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述注冊信息以數(shù)據(jù)庫、配置文件或文本文件的形式存儲于存儲介質中。7.如權利要求5所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述步驟c包括當客戶端需要使用所述預定數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將所述預定數(shù)據(jù)庫訪問語句中的可變部分對應的變量值和所述注冊標識傳輸至所述Server端。8.如權利要求7所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述的步驟d包括所述Server端根據(jù)其存儲的注冊信息、所述客戶端傳輸來的變量值、注冊標識生成對應的數(shù)據(jù)庫訪問語句;所述Server端根據(jù)所述生成的數(shù)據(jù)庫訪問語句將對應的數(shù)據(jù)庫訪問結果傳輸至所述客戶端。9.如權利要求1至4中任一權利要求所述的一種實現(xiàn)數(shù)據(jù)庫訪問的方法,其特征在于所述方法還包括所述Server端根據(jù)需要主動清除其存儲的注冊信息。10.一種實現(xiàn)數(shù)據(jù)庫訪問的裝置,其特征在于,所述裝置包括確定可變部分模塊確定預定數(shù)據(jù)庫訪問語句中的可變部分,并將所述可變部分傳輸至注冊模塊;注冊模塊接收所述確定可變部分模塊傳輸來的可變部分,根據(jù)所述預定數(shù)據(jù)庫訪問語句及其可變部分在Server端對該語句進行注冊,并將相應的注冊信息傳輸至存儲注冊信息模塊;存儲注冊信息模塊接收并存儲注冊模塊傳輸來的注冊信息;傳輸變量值模塊當客戶端需要使用所述注冊的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,將該注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至數(shù)據(jù)庫訪問模塊;數(shù)據(jù)庫訪問模塊根據(jù)所述傳輸變量值模塊傳輸來的變量值及所述存儲注冊信息模塊中存儲的注冊信息,獲取對應的數(shù)據(jù)庫訪問結果,并輸出。11.如權利要求10所述的一種實現(xiàn)數(shù)據(jù)庫訪問的裝置,其特征在于,所述裝置還包括注冊信息管理模塊根據(jù)需要將存儲注冊信息模塊中存儲的注冊信息清除。全文摘要本發(fā)明提供一種實現(xiàn)數(shù)據(jù)庫訪問的方法和裝置,其核心為將預定數(shù)據(jù)庫訪問語句及其可變部分在數(shù)據(jù)庫所在的Server端進行注冊,并存儲相應的注冊信息,當客戶端需要進行數(shù)據(jù)庫訪問時,將注冊的數(shù)據(jù)庫訪問語句中的可變部分的變量值傳輸至Server端,Server端根據(jù)其存儲的注冊信息及傳輸來的變量值將對應的數(shù)據(jù)庫訪問結果傳輸至客戶端;本發(fā)明在Client端用戶進行數(shù)據(jù)庫訪問、尤其在使用大量較為固定的數(shù)據(jù)庫訪問語句進行數(shù)據(jù)庫訪問時,避免了Client端用戶重復生成數(shù)據(jù)庫訪問語句的操作,節(jié)約了Client端的資源、減少了Client端和Server端之間需要傳輸?shù)臄?shù)據(jù)量及出現(xiàn)誤碼的幾率;從而實現(xiàn)了簡化數(shù)據(jù)庫訪問操作、節(jié)約網(wǎng)絡資源、減小了Client端對數(shù)據(jù)庫操作的延時,提高通信系統(tǒng)可靠性的目的。文檔編號G06F17/30GK1746887SQ20041007992公開日2006年3月15日申請日期2004年9月7日優(yōu)先權日2004年9月7日發(fā)明者梁智章,王玉龍申請人:華為技術有限公司