專利名稱::一種用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種計算機數(shù)據(jù)處理方法,尤其涉及一種用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法。
背景技術(shù):
:在計算機數(shù)據(jù)庫查詢中,一個查詢涉及多張表的情況很普遍,一般的解決方法是在一個SQL(結(jié)構(gòu)化查詢語言)語句中關(guān)聯(lián)多張表進行查詢。這種方法當關(guān)聯(lián)的表越多、查詢的數(shù)據(jù)表記錄越多時,計算機查詢處理速度會成幾倍甚至幾十倍的下降,數(shù)據(jù)查詢時間會達到十幾分鐘甚至幾小時,一般當查詢的數(shù)據(jù)表記錄很多時,關(guān)聯(lián)兩、三張表的數(shù)據(jù)庫數(shù)據(jù)查詢速度已明顯下降。此外,當數(shù)據(jù)查詢很復雜,一個SQL語句很難實現(xiàn)或者一個查詢涉及多個數(shù)據(jù)庫、甚至不同類型的數(shù)據(jù)庫時,往往要對每個查詢編寫一段較復雜的程序進行處理,開發(fā)成本很高。這一點在大型通訊網(wǎng)絡(luò)系統(tǒng)中尤為明顯。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)中數(shù)據(jù)庫多表查詢速度慢以及開發(fā)成本高的缺點,提供一用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法,一方面能夠高速度的完成多表及復雜的數(shù)據(jù)庫查詢,同時能夠?qū)崿F(xiàn)通用查詢,即通過配置信息,不用編寫程序便能完成復雜的數(shù)據(jù)庫查詢。為了實現(xiàn)上述目的,本發(fā)明提供了一種用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法,用于計算機數(shù)據(jù)庫查詢處理模塊,其特點在于,包括如下步驟步驟一,配置數(shù)據(jù)查詢的相關(guān)信息,將數(shù)據(jù)查詢按一定規(guī)則分解為多個子查詢,將所述配置信息存入數(shù)據(jù)庫或文件中;步驟二,進行數(shù)據(jù)庫查詢時,先讀取查詢配置信息中的參數(shù)信息;步驟三,從所述配置信息中讀取查詢相關(guān)信息,并在計算機內(nèi)存中申請查詢結(jié)果數(shù)據(jù)區(qū);步驟四,根據(jù)查詢語句及參數(shù)信息拼裝SQL語句,連接子查詢涉及的數(shù)據(jù)庫,然后執(zhí)行SQL語句;步驟五,將所述查詢結(jié)果按配置文件規(guī)定的格式寫入相應(yīng)的內(nèi)存數(shù)據(jù)區(qū),并對數(shù)據(jù)記錄按關(guān)鍵字排序;步驟六,重復執(zhí)行步驟四和步驟五,直到執(zhí)行完所有子查詢;步驟七,根據(jù)計算元素的計算公式,計算并在所述內(nèi)存數(shù)據(jù)區(qū)中寫入計算元素數(shù)據(jù);步驟八,根據(jù)查詢元素的匯總屬性,生成合計記錄,寫入所述數(shù)據(jù)區(qū);步驟九,將數(shù)據(jù)列描述信息寫入查詢內(nèi)存數(shù)據(jù)區(qū);步驟十,返回查詢結(jié)果。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,在步驟一中,配置數(shù)據(jù)查詢相關(guān)信息的步驟,又包括配置查詢總信息;配置數(shù)據(jù)源信息;配置子查詢信息;配置查詢元素信息;配置查詢參數(shù)信息;存儲配置信息。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,在步驟二中,讀取查詢總信息及參數(shù)配置信息時,還包括一判別參數(shù)獲取方式的步驟,如果是通過人機交互方式獲取,則根據(jù)配置信息生成參數(shù)錄入界面,通過所述界面由手工輸入?yún)?shù);如果是直接獲取,則通過直接傳入?yún)?shù)值。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,在進行步驟四之前,還包括一判別目前連接數(shù)據(jù)庫是否與查詢數(shù)據(jù)庫一致的步驟,如果不一致,則連接數(shù)據(jù)庫,如果一致則執(zhí)行步驟四。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,在步驟五中,將查詢結(jié)果寫入相應(yīng)的內(nèi)存數(shù)據(jù)區(qū)的過程,還進一步包括步驟a,判別查詢結(jié)果類型,如果結(jié)果行數(shù)固定,則執(zhí)行步驟b;如果結(jié)果行數(shù)可變,則執(zhí)行步驟d;步驟b,判斷元素匯總類型是否為常量,如果是,則按元素配置項中的位置信息寫入內(nèi)存數(shù)據(jù)區(qū),如果否,則按元素配置項中的位置信息,將該字段按匯總類型累計到內(nèi)存數(shù)據(jù)區(qū)中,繼續(xù)執(zhí)行步驟c;步驟c,判斷是否處理完所有字段,如果是,則結(jié)束,如果不是則返回繼續(xù)執(zhí)行步驟b;步驟d,讀取一條記錄的查詢結(jié)果;步驟e,是否為第一個子查詢,如果是,則執(zhí)行步驟h,在數(shù)據(jù)區(qū)順序鏈表上添加記錄,如果不是,則進行步驟f;步驟f,進行關(guān)鍵字匹配;步驟g,判斷是否已有該關(guān)鍵字記錄,如果是,則直接執(zhí)行步驟i,如果不是,則執(zhí)行步驟h,后再執(zhí)行步驟i;步驟h,在內(nèi)存數(shù)據(jù)區(qū)順序鏈表中添加一條記錄;步驟i,判斷元素匯總類型是否為常量,如果是,則執(zhí)行步驟i,按元素配置項中的位置信息將該字段寫入內(nèi)存數(shù)據(jù)區(qū),如果否,則執(zhí)行步驟j,按元素配置項中的行位置信息,將該字段按匯總類型累計至內(nèi)存數(shù)據(jù)區(qū)中;步驟k,判斷是否處理完所有字段,如果是則執(zhí)行步驟1,如果不是則繼續(xù)執(zhí)行步驟525;步驟1,判斷是否處理完所有記錄,如果不是則執(zhí)行步驟d,如果是則結(jié)束。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,所述內(nèi)存數(shù)據(jù)區(qū)包括查詢說明區(qū)部分和查詢結(jié)果數(shù)據(jù)區(qū)部分,所述查詢說明區(qū)用于存入直接從查詢配置文件中讀取的信息;所述查詢結(jié)果區(qū)用于存放數(shù)據(jù)查詢結(jié)果的數(shù)據(jù)區(qū)。上述的數(shù)據(jù)庫多表查詢方法,其特點在于,所述直接從查詢配置文件中讀取的信息,又包括查詢標題、查詢元素描述、是否顯示元素;所述存放數(shù)據(jù)查詢結(jié)果的數(shù)據(jù)區(qū)包括順序鏈表區(qū)、關(guān)鍵字區(qū)和數(shù)據(jù)區(qū)。上述的數(shù)據(jù)庫多表查詢方法,其特點在于所述查詢總配置信息,包括查詢編號、查詢名稱、查詢結(jié)果類型、模板文件名、輸出路徑及文件名;所述數(shù)據(jù)源配置信息,包括數(shù)據(jù)庫編號、IP地址、用戶名、密碼、數(shù)據(jù)庫名;所述子查詢配置信息,包括查詢編號、子查詢編號、數(shù)據(jù)庫庫編號、子查詢語句;所述查詢元素配置信息,包括查詢編號、查詢元素編號、元素行位置、元素行位置、元素名稱、數(shù)據(jù)類型、匯總類型、計算公式、是否關(guān)鍵字、是否輸出;所述查詢參數(shù)配置信息,包括查詢編號、參數(shù)編號、參數(shù)名稱、數(shù)據(jù)類型、默認值、參數(shù)源類型、取值范圍、數(shù)據(jù)庫編號、SQL語句、查詢獲取方式。上述的數(shù)據(jù)庫多表查詢方法,其特點在于所述計算公式包括元素編號、運算符、常量;所述匯總屬性包括平均、求和、最大、最小、常量。上述的數(shù)據(jù)庫多表查詢方法,其特點在于所述計算機數(shù)據(jù)處理模塊為通訊網(wǎng)絡(luò)GSM系統(tǒng)或PCS系統(tǒng)的產(chǎn)品性能統(tǒng)計數(shù)據(jù)查詢模塊。采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,由于采取了對多表、復雜的數(shù)據(jù)庫查詢按一定規(guī)則分解成多個子查詢,以及將查詢的相關(guān)信息通過配置信息進行分類存儲的技術(shù)措施,達到了高速度完成多表、復雜的數(shù)據(jù)庫查詢,以及能夠?qū)崿F(xiàn)通用查詢工具,不用編寫程序便能完成復雜的數(shù)據(jù)庫查詢的效果,節(jié)省了開發(fā)成本,大大提高了數(shù)據(jù)查詢的效率,能將一般方法在幾十分鐘完成的查詢,在幾十秒、甚至幾秒內(nèi)完成,對于關(guān)聯(lián)表越多、數(shù)據(jù)記錄越多的查詢,效果體現(xiàn)的越明顯。圖1為本發(fā)明所示配置查詢參數(shù)的流程示意圖;圖2為本發(fā)明進行數(shù)據(jù)庫查詢過程的流程示意圖;圖3為本發(fā)明所示數(shù)據(jù)庫查詢結(jié)果寫入內(nèi)存數(shù)據(jù)區(qū)的流程示意圖。具體實施例方式下面結(jié)合附圖,基本按照附圖的順序?qū)夹g(shù)方案的實施作進一步的詳細描述在圖1中,本發(fā)明揭示了配置查詢參數(shù)的處理流程。其中,配置查詢參數(shù)包括步驟配置查詢總信息、數(shù)據(jù)源信息、子查詢信息、查詢元素信息、查詢參數(shù)信息五部分的查詢信息,各部分查詢信息的主要配置項及說明如下步驟11,配置查詢總信息,包括查詢編號每個查詢一個唯一編號查詢名稱查詢的文字描述查詢結(jié)果類型分查詢結(jié)果行數(shù)固定及不固定兩種類型模板文件名查詢輸出的的模板文件(可選)輸出路徑及文件名查詢輸出文件的路徑及默認文件名(可選)步驟12,配置數(shù)據(jù)源信息,包括數(shù)據(jù)庫編號對查詢涉及的每個數(shù)據(jù)庫分配一個唯一編號IP地址(129)數(shù)據(jù)庫所在機器的IP地址用戶名數(shù)據(jù)庫用戶名密碼數(shù)據(jù)庫密碼數(shù)據(jù)庫名數(shù)據(jù)庫名稱步驟13,配置子查詢信息,包括查詢編號對應(yīng)查詢總配置信息中的查詢編號子查詢編號每個子查詢一個唯一編號數(shù)據(jù)庫庫編號對應(yīng)數(shù)據(jù)源配置信息中的數(shù)據(jù)庫編號子查詢語句子查詢的查詢語句,格式為標準SQL語句中添加一些特殊字符串步驟14,配置查詢元素信息(查詢字段信息),包括查詢編號對應(yīng)查詢總配置信息中的查詢編號查詢元素編號每個查詢元素一個唯一編號元素行位置查詢元素在查詢數(shù)據(jù)區(qū)中起始的行位置元素行位置查詢元素在查詢數(shù)據(jù)區(qū)中的列位置元素名稱查詢元素的文字描述數(shù)據(jù)類型查詢元素的數(shù)據(jù)類型匯總類型數(shù)據(jù)元素匯總時的類型(平均、求合、最大、最小、常量)計算公式由元素編號、運算符、常量等組成,可包含0~9、+、-、×、/、()等符號,用于完成對0~n個查詢元素的計算是否關(guān)鍵字是否是關(guān)鍵字元素,一個查詢可有多個關(guān)鍵字元素是否輸出查詢元素是否輸出步驟15,查詢參數(shù)配置信息,包括查詢編號對應(yīng)查詢總配置信息中的查詢編號參數(shù)編號每個查詢參數(shù)一個唯一編號參數(shù)名稱查詢參數(shù)的文字描述數(shù)據(jù)類型查詢元素的數(shù)據(jù)類型默認值查詢元素的默認值(可選)參數(shù)源類型參數(shù)值可選擇的范圍,包括取值范圍及從數(shù)據(jù)表中獲取取值范圍參數(shù)的取值范圍(可以是枚舉類型)數(shù)據(jù)庫編號對應(yīng)數(shù)據(jù)源配置信息中的數(shù)據(jù)庫編號SQL語句獲取參數(shù)源的查詢語句查詢獲取方式有兩種獲取參數(shù)的方式。直接傳入?yún)?shù)值或自動生成錄入?yún)?shù)人機界面獲取參數(shù)此外,在將復雜查詢分解為一至多個子查詢語句時,還要遵循以下原則1、各子查詢語句間必須有相同的關(guān)鍵字字段,以此關(guān)聯(lián)各子查詢,對于查詢結(jié)果行數(shù)固定類型的查詢無此要求。2、對需不同表的字段相計算得出的查詢字段,盡量使用計算字段,以降低查詢中各數(shù)據(jù)表之間的耦合度。3、對匯總結(jié)果不用另外執(zhí)行SQL查詢獲得,此查詢系統(tǒng)會自動、高效的生成匯總結(jié)果。4、對復雜查詢盡量進行分解,但不嚴格要求每個子查詢只能涉及一張數(shù)據(jù)表。5、子查詢語句基本與標準的SQL語句格式一致,只是查詢語句在每個查詢參數(shù)前多了“%”符號,表示是查詢參數(shù),例如selectsdate,num1al,num2a2fromtable1WHEREsdate>%TYPE01此SQL語句完成對table1表sdate、num1、num2字段數(shù)據(jù)的查詢,查詢條件是sdate字段值大于TYPE01參數(shù)值,其中TYPE01參數(shù)值是程序運行時動態(tài)傳入的。在圖2中,本發(fā)明進行數(shù)據(jù)庫查詢的處理流程。具體步驟如下步驟200,先讀取查詢參數(shù)配置信息,步驟210,根據(jù)查詢獲取方式配置項判別采用何種方式獲取參數(shù)。步驟2102,直接接收所傳入的參數(shù)值即可;步驟2101,根據(jù)查詢參數(shù)配置信息,自動生成人機界面,其中可通過配置信息獲得參數(shù)默認值、取值范圍、將數(shù)據(jù)表的記錄作為選取參數(shù)值的數(shù)據(jù)源等,然后通過手工錄入獲取參數(shù)值(步驟,2103)。步驟220,從配置信息中讀取查詢相關(guān)信息,包括數(shù)據(jù)庫、子查詢語句、數(shù)據(jù)列、計算字段等信息。在內(nèi)存中申請查詢結(jié)果數(shù)據(jù)區(qū)。步驟230,判別目前連接數(shù)據(jù)庫是否與查詢數(shù)據(jù)庫一致,如果不一致,則執(zhí)行步驟240,連接數(shù)據(jù)庫,如果一致,則執(zhí)行步驟250步驟250,根據(jù)子查詢語句及參數(shù)信息拼裝SQL語句,連接子查詢涉及的數(shù)據(jù)庫,對目前連接數(shù)據(jù)庫與查詢數(shù)據(jù)庫一致的情況,不用重新連接數(shù)據(jù)庫,然后執(zhí)行SQL語句(步驟260)。步驟270,將查詢結(jié)果按配置文件規(guī)定的格式寫入相應(yīng)的數(shù)據(jù)區(qū),詳見圖3中的流程。步驟280,判斷是否已執(zhí)行完所有子查詢,如果否,則繼續(xù)執(zhí)行步驟230,5.如果是,則執(zhí)行步驟290步驟290,根據(jù)計算元素的計算公式,計算并在內(nèi)存數(shù)區(qū)中寫入計算元素數(shù)據(jù)。步驟291,根據(jù)查詢元素的匯總屬性(求和、平均、最大、最小),生成合計記錄,寫入數(shù)據(jù)區(qū)。步驟292,將查詢標題、查詢字段描述等信息寫入數(shù)據(jù)區(qū)。步驟293,返回查詢結(jié)果。在圖3中,揭示了本發(fā)明子查詢結(jié)果寫入內(nèi)存數(shù)據(jù)區(qū)的處理流程,其是圖2中步驟270的一個子流程圖。先介紹一下內(nèi)存數(shù)據(jù)區(qū)。內(nèi)存數(shù)據(jù)區(qū)包括查詢說明區(qū)及查詢結(jié)果數(shù)據(jù)區(qū)兩部分。查詢說明區(qū)包括查詢標題、查詢元素描述、是否顯示元素等直接從查詢配置文件中讀取的信息;查詢結(jié)果區(qū)主要是存放數(shù)據(jù)查詢結(jié)果的數(shù)據(jù)區(qū),包括三部分順序鏈表區(qū)將結(jié)果數(shù)據(jù)按關(guān)鍵字順序進行排列,結(jié)果行數(shù)固定類型的查詢不用此項。關(guān)鍵字區(qū)存放可以唯一標識一行數(shù)據(jù)結(jié)果的關(guān)鍵字,結(jié)果行數(shù)固定類型的查詢不用此項。數(shù)據(jù)區(qū)存放一般的查詢數(shù)據(jù)。在圖3中,該流程圖描述了將一個子查詢的數(shù)據(jù)庫查詢結(jié)果寫入內(nèi)存數(shù)據(jù)區(qū)的過程。對于數(shù)據(jù)庫查詢結(jié)果的每一個字段均對應(yīng)查詢元素配置信息中的一個元素項,寫內(nèi)存數(shù)據(jù)區(qū)的主要過程就是根據(jù)查詢元素配置信息中元素項的信息,將每個查詢字段數(shù)據(jù)逐一寫入內(nèi)存數(shù)據(jù)區(qū)。其具體步驟如下步驟500,判別查詢結(jié)果類型根據(jù)查詢結(jié)果的類型,分別對查詢結(jié)果行數(shù)固定及不固定兩種類型的查詢采用不同的處理流程。結(jié)果行數(shù)固定類型的查詢是一種特殊的查詢,指查詢結(jié)果的行、列位置及數(shù)量是固定的,數(shù)據(jù)庫查詢的結(jié)果應(yīng)該只有一條記錄,一般是匯總記錄,每個查詢結(jié)果對應(yīng)內(nèi)存數(shù)據(jù)區(qū)中固定的位置;結(jié)果行數(shù)可變的查詢是指數(shù)據(jù)庫查詢結(jié)果記錄個數(shù)不固定,每個查詢結(jié)果記錄對應(yīng)內(nèi)存數(shù)據(jù)區(qū)中不同的行位置。對于查詢結(jié)果行數(shù)固定的查詢處理流程讀取數(shù)據(jù)庫查詢記錄中的字段數(shù)據(jù),步驟510,判斷該字段對應(yīng)配置信息中元素的匯總類型是否為常量,常量數(shù)據(jù)是指不參與計算、匯總的數(shù)據(jù)。步驟511,對常量類型的元素,直接按元素配置項中的位置信息將查詢數(shù)據(jù)寫入內(nèi)存數(shù)據(jù)區(qū);步驟512,對非常量數(shù)據(jù),按元素配置項中的位置信息及匯總類型,將查詢數(shù)據(jù)通過計算,累計到內(nèi)存數(shù)據(jù)區(qū)中,其中對平均值字段仍求和,并對求和的次數(shù)進行計數(shù),因為平均值元素應(yīng)該先求和,再除以求和次數(shù)才能得到正確的平均值。步驟513,判別是否處理完所有字段,然后逐一按上述步驟完成所有查詢字段的內(nèi)存數(shù)據(jù)區(qū)寫入操作。對于結(jié)果行數(shù)可變的查詢處理流程步驟520,讀取一條記錄的查詢結(jié)果;步驟521,判別當前子查詢是否為查詢的第一個子查詢,如果不是,執(zhí)行步驟522,就要根據(jù)查詢元素配置信息中的關(guān)鍵字,如果是,則在數(shù)據(jù)區(qū)順序鏈表上添加記錄(步驟524);步驟523,進一步判斷是否已有該關(guān)鍵字記錄,在內(nèi)存數(shù)據(jù)區(qū)中檢索與當前記錄匹配的記錄如果沒有匹配記錄,就要在內(nèi)存數(shù)據(jù)區(qū)中添加一條記錄(步驟524),每次在內(nèi)存數(shù)據(jù)區(qū)中添加一條數(shù)據(jù)記錄,都要在數(shù)據(jù)區(qū)順序鏈表中添加相應(yīng)的記錄,順序鏈表是按查詢關(guān)鍵字進行排序的;如果是,則執(zhí)行步驟525;步驟525,讀取數(shù)據(jù)庫查詢記錄中的字段數(shù)據(jù),判斷該字段對應(yīng)配置信息中元素的匯總類型是否為常量。步驟526,對常量類型的元素,直接按元素配置項中的位置信息將查詢數(shù)據(jù)寫入內(nèi)存數(shù)據(jù)區(qū);步驟527,對非常量的數(shù)據(jù),按元素配置項中的位置信息及匯總類型,將查詢數(shù)據(jù)通過計算,累計到內(nèi)存數(shù)據(jù)區(qū)中,對于平均值字段仍求和,并對求和的次數(shù)進行計數(shù)。然后將數(shù)據(jù)庫查詢記錄中所有字段的數(shù)據(jù)逐一寫入內(nèi)存數(shù)據(jù)區(qū),通過步驟528和步驟529,逐一完成所有查詢記錄的內(nèi)存數(shù)據(jù)區(qū)寫入操作。目前,本發(fā)明已試驗性地應(yīng)用在通訊領(lǐng)域GSM產(chǎn)品、PCS產(chǎn)品的性能統(tǒng)計數(shù)據(jù)查詢模塊中,一方面解決了多表查詢效率低的問題,同時完成了多局(不同局的數(shù)據(jù)存儲在不同的數(shù)據(jù)庫)數(shù)據(jù)的快速匯總查詢,因為實現(xiàn)了代碼的通用性,大大降低了開發(fā)成本,取得了很好的效果。權(quán)利要求1.一種用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法,用于計算機數(shù)據(jù)庫查詢處理模塊,其特征在于,包括如下步驟步驟一,配置數(shù)據(jù)查詢的相關(guān)信息,將數(shù)據(jù)查詢按一定規(guī)則分解為多個子查詢,將所述配置信息存入數(shù)據(jù)庫或文件中;步驟二,進行數(shù)據(jù)庫查詢時,先讀取查詢配置信息中的參數(shù)信息;步驟三,從所述配置信息中讀取查詢相關(guān)信息,并在計算機內(nèi)存中申請查詢結(jié)果數(shù)據(jù)區(qū);步驟四,根據(jù)查詢語句及參數(shù)信息拼裝SQL語句,連接子查詢涉及的數(shù)據(jù)庫,然后執(zhí)行SQL語句;步驟五,將所述查詢結(jié)果按配置文件規(guī)定的格式寫入相應(yīng)的內(nèi)存數(shù)據(jù)區(qū),并對數(shù)據(jù)記錄按關(guān)鍵字排序;步驟六,重復執(zhí)行步驟4和步驟5,直到執(zhí)行完所有子查詢;步驟七,根據(jù)計算元素的計算公式,計算并在所述內(nèi)存數(shù)據(jù)區(qū)中寫入計算元素數(shù)據(jù);步驟八,根據(jù)查詢元素的匯總屬性,生成合計記錄,寫入所述數(shù)據(jù)區(qū);步驟九,將數(shù)據(jù)列描述信息寫入查詢內(nèi)存數(shù)據(jù)區(qū);步驟十,返回查詢結(jié)果。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫多表查詢方法,其特征在于,在步驟一中,配置數(shù)據(jù)查詢相關(guān)信息的步驟,又包括配置查詢總信息;配置數(shù)據(jù)源信息;配置子查詢信息;配置查詢元素信息;配置查詢參數(shù)信息;存儲配置信息。3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)庫多表查詢方法,其特征在于,在步驟二中,讀取查詢總信息及參數(shù)配置信息時,還包括一判別參數(shù)獲取方式的步驟,如果是通過人機交互方式獲取,則根據(jù)配置信息生成參數(shù)錄入界面,通過所述界面由手工輸入?yún)?shù);如果是直接獲取,則通過直接傳入?yún)?shù)值。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫多表查詢方法,其特征在于,在進行步驟四之前,還包括一判別目前連接數(shù)據(jù)庫是否與查詢數(shù)據(jù)庫一致的步驟,如果不一致,則連接數(shù)據(jù)庫,如果一致則執(zhí)行步驟四。5.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)庫多表查詢方法,其特征在于,在步驟五中,將查詢結(jié)果寫入相應(yīng)的內(nèi)存數(shù)據(jù)區(qū)的過程,還進一步包括步驟a,判別查詢結(jié)果類型,如果結(jié)果行數(shù)固定,則執(zhí)行步驟b;如果結(jié)果行數(shù)可變,則執(zhí)行步驟d;步驟b,判斷元素匯總類型是否為常量,如果是,則按元素配置項中的位置信息寫入內(nèi)存數(shù)據(jù)區(qū),如果否,則按元素配置項中的位置信息,將該字段按匯總類型累計到內(nèi)存數(shù)據(jù)區(qū)中,繼續(xù)執(zhí)行步驟c;步驟c,判斷是否處理完所有字段,如果是,則結(jié)束,如果不是則返回繼續(xù)執(zhí)行步驟b;步驟d,讀取一條記錄的查詢結(jié)果;步驟e,是否為第一個子查詢,如果是,則執(zhí)行步驟h,在數(shù)據(jù)區(qū)順序鏈表上添加記錄,如果不是,則進行步驟f;步驟f,進行關(guān)鍵字匹配;步驟g,判斷是否已有該關(guān)鍵字記錄,如果是,則直接執(zhí)行步驟i,如果不是,則執(zhí)行步驟h,后再執(zhí)行步驟i;步驟h,在內(nèi)存數(shù)據(jù)區(qū)順序鏈表中添加一條記錄;步驟i,判斷元素匯總類型是否為常量,如果是,則執(zhí)行步驟i,按元素配置項中的位置信息將該字段寫入內(nèi)存數(shù)據(jù)區(qū),如果否,則執(zhí)行步驟j,按元素配置項中的行位置信息,將該字段按匯總類型累計至內(nèi)存數(shù)據(jù)區(qū)中;步驟k,判斷是否處理完所有字段,如果是則執(zhí)行步驟1,如果不是則繼續(xù)執(zhí)行步驟525;步驟l,判斷是否處理完所有記錄,如果不是則執(zhí)行步驟d,如果是則結(jié)束。6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)庫多表查詢方法,其特征在于,所述內(nèi)存數(shù)據(jù)區(qū)包括查詢說明區(qū)部分和查詢結(jié)果數(shù)據(jù)區(qū)部分,所述查詢說明區(qū)用于存入直接從查詢配置文件中讀取的信息;所述查詢結(jié)果區(qū)用于存放數(shù)據(jù)查詢結(jié)果的數(shù)據(jù)區(qū)。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫多表查詢方法,其特征在于,所述直接從查詢配置文件中讀取的信息,又包括查詢標題、查詢元素描述、是否顯示元素;所述存放數(shù)據(jù)查詢結(jié)果的數(shù)據(jù)區(qū)包括順序鏈表區(qū)、關(guān)鍵字區(qū)和數(shù)據(jù)區(qū)。8.根據(jù)權(quán)利要求2所述的數(shù)據(jù)庫多表查詢方法,其特征在于所述配置查詢總配置信息,包括配置查詢編號、查詢名稱、查詢結(jié)果類型、模板文件名、輸出路徑及文件名;所述配置數(shù)據(jù)源配置信息,包括配置數(shù)據(jù)庫編號、IP地址、用戶名、密碼、數(shù)據(jù)庫名;所述配置子查詢配置信息,包括配置查詢編號、子查詢編號、數(shù)據(jù)庫庫編號、子查詢語句;所述配置查詢元素配置信息,包括配置查詢編號、查詢元素編號、元素行位置、元素行位置、元素名稱、數(shù)據(jù)類型、匯總類型、計算公式、是否關(guān)鍵字、是否輸出;所述配置查詢參數(shù)配置信息,包括配置查詢編號、參數(shù)編號、參數(shù)名稱、數(shù)據(jù)類型、默認值、參數(shù)源類型、取值范圍、數(shù)據(jù)庫編號、SQL語句、查詢獲取方式。9.根據(jù)權(quán)利要求1或8所述的數(shù)據(jù)庫多表查詢方法,其特征在于,所述計算公式包括元素編號、運算符、常量;所述匯總屬性包括平均、求和、最大、最小、常量。10.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫多表查詢方法,其特征在于,所述計算機數(shù)據(jù)處理模塊為通訊網(wǎng)絡(luò)GSM系統(tǒng)或PCS系統(tǒng)的產(chǎn)品性能統(tǒng)計數(shù)據(jù)查詢模塊。全文摘要本發(fā)明涉及一種用于實現(xiàn)數(shù)據(jù)庫多表查詢的數(shù)據(jù)處理方法,用于計算機數(shù)據(jù)庫查詢處理模塊,包括配置數(shù)據(jù)查詢的相關(guān)信息,將數(shù)據(jù)查詢按一定規(guī)則分解為多個子查詢;進行數(shù)據(jù)庫查詢時,先讀取查詢配置信息中的參數(shù)信息;從配置信息中讀取查詢相關(guān)信息;根據(jù)查詢語句及參數(shù)信息拼裝SQL語句,連接子查詢涉及的數(shù)據(jù)庫,然后執(zhí)行SQL語句;將查詢結(jié)果按配置文件規(guī)定的格式寫入相應(yīng)的內(nèi)存數(shù)據(jù)區(qū),并對數(shù)據(jù)記錄按關(guān)鍵字排序;根據(jù)查詢元素的匯總屬性,生成合計記錄;將數(shù)據(jù)列描述信息寫入查詢內(nèi)存數(shù)據(jù)區(qū)。本發(fā)明一方面能夠高速度的完成多表及復雜的數(shù)據(jù)庫查詢,同時能夠?qū)崿F(xiàn)通用查詢,即通過配置信息,不用編寫程序便能完成復雜的數(shù)據(jù)庫查詢。文檔編號G06F17/30GK1556482SQ20031011609公開日2004年12月22日申請日期2003年12月31日優(yōu)先權(quán)日2003年12月31日發(fā)明者潘峰,劉長青,潘峰申請人:中興通訊股份有限公司