專利名稱:一種基于頁面的數(shù)據(jù)查詢方法及其系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)查詢和SQL (Structured Query Language :結構化查詢語言)的 應用,尤其涉及基于頁面的優(yōu)化查詢方法及系統(tǒng)。
背景技術:
基于頁面的查詢方法已廣泛應用于各種信息管理系統(tǒng)中,對于一般的查詢方法, 通常是采用根據(jù)頁面字段,選擇相應的邏輯條件而組合成SQL語句進行數(shù)據(jù)庫表的查詢操 作,但其構成的查詢邏輯相對簡單,不能進行復雜的邏輯業(yè)務操作。在傳統(tǒng)的信息管理系統(tǒng) 中,基于自身的業(yè)務特點融合了各種信息,而一般意義上的頁面查詢均通過選擇字段和操 作條件進行簡單的頁面條件匹配,系統(tǒng)根據(jù)查詢條件返回結果集。然而,其查詢條件過于簡 單,操作字段過多會引起誤操作,并且查詢條件不可復用。 當查詢操作條件過于復雜時,比如查詢條件中不可避免會出現(xiàn)類似"NOT"、"("、 ")"等功能符號,而這些功能符會根據(jù)不同用戶或不同機構混合復雜采用,如果通用頁面調 用則使頁面過于復雜而混亂,而信息管理系統(tǒng)的目的卻是使用戶方便、快捷的操作。通常意 義上的頁面查詢主要集中在查詢字段和條件的匹配,很少關注其查詢條件集的可復用性。 事實上,對于用戶或機構而言對復雜的查詢條件集具有相當?shù)墓残裕踔梁芏嗖樵儣l件集 可以重復使用,或者進行較少改動后即可實現(xiàn)其查詢,查詢結果集不可復用時,使用戶重復 操作且效率低下。 申請日為2008年3月7日、申請?zhí)枮?00810014727. X、發(fā)明名稱為"一種靈活多 變、多條件驅動查詢顯示內容的方法"的中國專利申請?zhí)岢隽艘环N多條件驅動查詢顯示內 容的方法,其中將定義好的查詢窗口與表單窗口的查詢組件進行關聯(lián),對每個任務表單窗 口顯示對應的查詢內容。但是,該技術方案必須在表單上的組件之間定義驅動關系,后臺也 必須定義和處理其表單組件的驅動觸發(fā)時機。 在涉及復雜的查詢判定條件時,往往需要對查詢語句進行更為復雜的編輯。申請 日為2002年1月18日、專利號為ZL 02803485. 6、發(fā)明名稱為"對查詢條件、計算、公式以 及方程進行編輯的方法"的中國專利申請?zhí)岢隽艘环N對查詢條件進行在線編輯的方法,其 方法主要是對某一表格結構或其中的某一單元進行編輯并提供超鏈接,當用戶選定某一超 鏈接后,其控制措施便可與用戶進行交互操作,對于查詢條件或計算等均通過顏色標識其 鏈接,雖然可對查詢條件進行在線的編輯與維護,但是用戶必須事先理解這些顏色鏈接所 表示的意圖,不具有直觀性和易用性。 發(fā)明名稱為"QUERY OPTMIZATION WITH SWITCH PREDICATES" 的 MohamedZiauddin等人的美國專利US 6, 581, 055B1也提出了一種利用多條件判定檢測查 詢執(zhí)行或由此產生的子查詢方法。其方法基于某一特定環(huán)境或元素,在存在多種可能的輸 入或輸出情況下,如何為子查詢產生相應的子查詢執(zhí)行計劃的操作。此方法可實現(xiàn)復雜的 查詢條件,但其實際上還是基于后臺的中間變量設置。這種處理方法加大了開發(fā)工作量和 難度,邏輯復雜且不易于維護。
發(fā)明內容
針對現(xiàn)有技術中所存在的上述缺陷,本發(fā)明提出一種可組態(tài)式優(yōu)化查詢方法,應 用于金融業(yè)公共信息處理領域,該方法具有可復用性、可檢驗性和可組態(tài)性等特點。
根據(jù)本發(fā)明的一個方面,提供了一種基于頁面的數(shù)據(jù)查詢方法,該方法包括調用 權限查詢部分的存儲條件集模塊和公共查詢部分;裝載查詢條件;對所裝載的查詢條件進 行組態(tài);以及校驗和保存所述查詢條件。 其中,公共查詢部分存儲可復用的查詢條件,權限查詢部分對于不同權限的用戶 或機構存儲不同的查詢語句段。 其中,所述查詢條件來自于所述存儲條件集模塊或者新增查詢條件后形成的新查 詢條件集。 其中,對所裝載的查詢條件進行組態(tài)包括構成查詢條件語句;利用所述查詢條 件語句形成條件記錄行;對所述查詢條件語句進行各種操作;以及根據(jù)所述條件記錄行調 用公共操作模塊進行復雜匹配。進一步,查詢條件語句是由邏輯符、字段、操作符或者值的 任意組合構成的。邏輯符包括邏輯與"AND"和邏輯或"OR"。字段的下拉列表來源于待查詢 數(shù)據(jù)庫表中一張表或者不同表的所有字段。操作符包括"="、">"、"<"、"> ="、"< ="、 "! 二"和"like"。 其中,所述各種操作包括替換操作、添加操作和追加操作。 其中,校驗所述查詢條件包括查詢語法校驗和規(guī)則校驗。并且查詢語法校驗包括 "N0T"、")"和"("的符號匹配、字段校驗以及數(shù)值校驗。 根據(jù)本發(fā)明的又一個方面,提供了一種基于頁面的數(shù)據(jù)查詢系統(tǒng),所述系統(tǒng)至少 具有調取單元,用于調用權限查詢部分的存儲條件集模塊以及公共查詢部分;加載單元, 用于裝載查詢條件;組態(tài)單元,用于對所裝載的查詢條件進行組態(tài);校驗單元,用于校驗查 詢條件;以及存儲單元,用于存儲查詢結果集。 其中,所述加載單元裝載的所述查詢條件來自于所述存儲條件集模塊或者新增查 詢條件后形成的新查詢條件集。 其中,所述組態(tài)單元具有條件構成子單元和操作子單元。 采用本發(fā)明的基于頁面的數(shù)據(jù)查詢方法及其系統(tǒng),相對于現(xiàn)有的查詢方式,不僅 使檢索范圍不受約束,查詢語句內容更加靈活,而且其所具有的可復用性使得操作效率顯 著改善,另外,引入的條件校驗機制也進一步保證了查詢的可用性,避免查詢條件集的輸入 錯誤問題。
讀者在參照附圖閱讀了本發(fā)明的具體實施方式
以后,將會更清楚地了解本發(fā)明的 各個方面。其中, 圖1示出本發(fā)明的基于可組態(tài)式的優(yōu)化查詢方法的流程示意圖;
圖2示出圖1中對查詢條件進行組態(tài)過程的示意性流程框圖;
圖3示出本發(fā)明的在線組態(tài)查詢語句集的流程示意圖;而
圖4示出本發(fā)明的基于可組態(tài)式的優(yōu)化查詢系統(tǒng)的組成框圖。
具體實施例方式圖1示出本發(fā)明的基于可組態(tài)式的優(yōu)化查詢方法的流程示意圖。參照圖l,該優(yōu)化
查詢方法包括 步驟100,權限認證; 步驟102,調用權限查詢的存儲條件集模塊和公共查詢模塊,其主要用于將查詢結
果集、用戶信息及機構信息等匯合到私有的存儲list,利用下拉列表進行調用。例如,點擊
個人查詢,選擇下拉列表框中用戶定義的查詢條件集名稱,調用其相應的對象列表并裝載
到組態(tài)條件模塊中,另一方面,用戶也可以通過選擇的查詢條件集名稱進行刪除操作; 步驟104,裝載查詢條件集或者新增查詢條件形成新的查詢條件集; 步驟106,對查詢條件進行組態(tài),其中組態(tài)查詢條件主要包括構成查詢語句、操作
查詢語句和組態(tài)查詢條件集; 步驟108,校驗查詢條件。包括判斷是否存在SQL查詢條件集、掃描查詢條件記錄 行中的括號匹配狀態(tài)、NOT標記狀態(tài)以及判定查詢字段和數(shù)值的格式正確性等,這種查詢條 件機制更多的是對于SQL行為的理解; 步驟IIO,保存查詢結果集。該查詢結果集存入私有的存儲list并可重復調用; 以及 步驟112,進行查詢操作。 從上述流程可以看出,本發(fā)明的優(yōu)化查詢方法主要體現(xiàn)在頁面的數(shù)據(jù)查詢優(yōu)化, 依賴于不同的用戶及操作背景,更多的涉及到SQL的操作以及頁面的調用方法等,包含三 個重要的功能優(yōu)化的條件存儲機制(如查詢條件集的可復用)、復雜匹配的查詢條件的在 線組態(tài)、條件片段集的校驗及保存。盡管在信息管理系統(tǒng)中由于涉及不同用戶,不同的模 塊其查詢語句通常不一致,但是不同用戶或不同機構均可能會有復用的查詢代碼,為了提 高軟件系統(tǒng)的靈活性、健壯性及易用性,在圖1中查詢模塊分為兩部分公共查詢和權限查 詢。更為詳細地,對于可復用的查詢模塊,均放入公共查詢部分;而對于不同權限的用戶或 機構,則將其查詢語句段放入權限查詢部分,以提高其靈活性。此外,無論是公共查詢還是 權限查詢,均可實現(xiàn)查詢條件的裝載。通過調用查詢條件集,利用下拉框列表可選擇查詢語 句集名稱,并將預先定義的查詢條件集顯示在組態(tài)模塊部分,在組態(tài)模塊中進行查詢條件 的修改或直接進行查詢。 對于步驟106的組態(tài)查詢條件來說,可將其分為條件構成模塊和操作模塊。在條 件構成模塊中,采用更為一般的處理方法,分別對邏輯符、字段、操作符、值的選擇或輸入構 成基本的查詢語句行,對于每一行而言,則調用公共操作模塊進行復雜的條件匹配動作,包 括上移、下移、刪除、NOT、)、(等行為碼。在操作模塊中包含了對查詢語句行的基本操作如 替換操作、添加操作、追加操作等。其中,替換操作用于對某一條件語句進行更新,添加操作 用于增加新的查詢條件行為。 對于步驟108的校驗查詢條件來說,查詢條件校驗主要是對組態(tài)查詢條件集進行 校驗,涉及"NOT"、")"、"("等符號的匹配、字段校驗和數(shù)值校驗等,確保查詢條件集語法的 正確性。需要指出的是,對于組態(tài)效果好的查詢條件集可以進行保存以多次復用,而不必每 次組態(tài)其查詢語句,大大提高了操作效率。
圖2示出圖1中對查詢條件進行組態(tài)過程的示意性流程框圖。參照圖2,當裝載查
詢條件集或者新增條件形成的新查詢條件集后,對查詢條件進行組態(tài)包括 步驟200,構成查詢條件語句; 步驟202,利用查詢條件語句形成條件記錄行; 步驟204,對查詢條件語句進行替換、添加或者追加操作;以及 步驟206,根據(jù)條件記錄行調用公共操作模塊進行復雜匹配。 查詢條件語句包括邏輯符、字段、操作符、值等構成的一般查詢條件語句。其中邏 輯符包括邏輯與"AND"和邏輯或"OR";字段的下拉列表來源于待查詢數(shù)據(jù)庫表中的所有
字段,其可以是一張表的所有字段,也可以是不同表的關聯(lián)字段;操作符包括"="、">"、 "<"、"> ="、"< ="、"! 二"、"Uke"等;以及值可以是文本或者數(shù)值。 對于步驟206來說,根據(jù)條件記錄行調用公共操作模塊進行復雜匹配。例如,在定 位好的某一條件記錄行選擇"(",在其后一條或多條查詢語句行后選擇")",結合邏輯符可 以構成復雜的查詢條件塊。 圖3示出本發(fā)明的在線組態(tài)查詢語句集的流程示意圖。參照圖3,該在線組態(tài)過程 大致包括 步驟300,輸入/接收查詢語句集;
步驟302,在線編輯查詢語句集;以及
步驟304,驗證查詢語句集。 在裝載查詢語句集或者新增查詢語句集后,對該查詢語句集進行在線組態(tài)。其中, 在線編輯查詢語句集包括添加、刪除、修改各種判定條件和邏輯操作。在編輯操作結束后, 對查詢語句集進行校驗處理,完成整個組態(tài)的操作過程。 對應于圖1中的基于可組態(tài)式的優(yōu)化查詢方法,圖4示出本發(fā)明的基于可組態(tài)式 的優(yōu)化查詢系統(tǒng)的組成框圖。具體來說,該數(shù)據(jù)查詢系統(tǒng)至少包括調取單元400、加載單 元402、組態(tài)單元404、校驗單元406和存儲單元408。其中調取單元400用于調用權限查 詢的存儲條件集模塊以及公共查詢模塊;加載單元402用于裝載查詢條件集,其中該查詢 條件集也包括新增查詢條件后形成的新查詢條件集;組態(tài)單元404用于對查詢條件進行組 態(tài),優(yōu)選地,該組態(tài)單元404可分為條件構成子單元和操作子單元;校驗單元406用于校驗 查詢條件;以及存儲單元408用于存儲查詢結果集。 如前所述,本發(fā)明的可組態(tài)優(yōu)化查詢方法具有可復用性、可檢驗性和可組態(tài)性。其 中,可復用性在于,用戶或成員機構可以將復雜的查詢語句進行復用,采用特有的查詢條件 集存儲機制,適用于不同用戶或機構使用特有的查詢條件或使用相同或相似的查詢條件。
可組態(tài)性則與一般頁面產生的SQL查詢的簡單邏輯不同,它體現(xiàn)了一種更為靈活 的查詢機制,包括用戶可以根據(jù)特定的需求環(huán)境進行包括邏輯、循環(huán)、判斷等任意組態(tài)其查 詢條件,并可對查詢語句集進行在線組態(tài)處理。其在線處理方式不僅架起了開發(fā)人員與應 用人員之間的橋梁,更使得復雜的查詢事務處理得以簡化。另外,這種動態(tài)的在線編輯機制 使得頁面顯示更為靈活,擴大了其檢索范圍并可以滿足各種應用需求。 此外,本發(fā)明的優(yōu)化查詢方法還引入了校驗機制,以使得查詢語句具有更高的可 用性。該校驗機制包括查詢語法校驗和規(guī)則校驗,它采用基于頁面的驗證機制,即對于不同 的用戶或機構可以復用已存在的相同校驗規(guī)則,保證了數(shù)據(jù)的一致性和完整性。
上文中,參照附圖描述了本發(fā)明的具體實施方式
。但是,本領域中的普通技術人員 能夠理解,在不偏離本發(fā)明的精神和范圍的情況下,還可以對本發(fā)明的具體實施方式
作各 種變更和替換。這些變更和替換都落在本發(fā)明權利要求書所限定的范圍內。
權利要求
一種基于頁面的數(shù)據(jù)查詢方法,其特征在于,該方法包括調用權限查詢部分的存儲條件集模塊和公共查詢部分;裝載查詢條件;對所裝載的查詢條件進行組態(tài);以及校驗和保存所述查詢條件。
2. 如權利要求1所述的方法,其特征在于,所述公共查詢部分存儲可復用的查詢條件, 所述權限查詢部分對于不同權限的用戶或機構存儲不同的查詢語句段。
3. 如權利要求1所述的方法,其特征在于,所述查詢條件來自于所述存儲條件集模塊 或者新增查詢條件后形成的新查詢條件集。
4. 如權利要求1所述的方法,其特征在于,對所裝載的查詢條件進行組態(tài)包括 構成查詢條件語句;利用所述查詢條件語句形成條件記錄行; 對所述查詢條件語句進行各種操作;以及 根據(jù)所述條件記錄行調用公共操作模塊進行復雜匹配。
5. 如權利要求4所述的方法,其特征在于,所述查詢條件語句是由邏輯符、字段、操作 符或者值的任意組合構成的。
6. 如權利要求5所述的方法,其特征在于,所述邏輯符包括邏輯與"AND"和邏輯或 "0R"。
7. 如權利要求5所述的方法,其特征在于,所述字段的下拉列表來源于待查詢數(shù)據(jù)庫 表中一張表或者不同表的所有字段。
8. 如權利要求5所述的方法,其特征在于,所述操作符包括"="、"> "、"<"、"> ="、 "< ="、"! 二"和"like"。
9. 如權利要求4所述的方法,其特征在于,所述各種操作包括替換操作、添加操作和追 加操作。
10. 如權利要求1所述的方法,其特征在于,校驗所述查詢條件包括查詢語法校驗和規(guī) 則校驗。
11. 如權利要求10所述的方法,其特征在于,所述查詢語法校驗包括"NOT"、")"和"(" 的符號匹配、字段校驗以及數(shù)值校驗。
12. 如權利要求1所述的方法,其特征在于,所述數(shù)據(jù)查詢方法具有在線組態(tài)方式,包括輸入/接收查詢語句集; 在線編輯所述查詢語句集;以及 驗證查詢語句集。
13. 如權利要求12所述的方法,其特征在于,所述在線編輯操作包括添加、刪除、修改 各種判定條件和邏輯操作。
14. 一種基于頁面的數(shù)據(jù)查詢系統(tǒng),其特征在于,所述系統(tǒng)至少具有 調取單元,用于調用權限查詢部分的存儲條件集模塊以及公共查詢部分; 加載單元,用于裝載查詢條件; 組態(tài)單元,用于對所裝載的查詢條件進行組態(tài);校驗單元,用于校驗查詢條件;以及 存儲單元,用于存儲查詢結果集。
15. 如權利要求14所述的系統(tǒng),其特征在于,所述加載單元裝載的所述查詢條件來自 于所述存儲條件集模塊或者新增查詢條件后形成的新查詢條件集。
16. 如權利要求14所述的系統(tǒng),其特征在于,所述組態(tài)單元具有條件構成子單元和操 作子單元。
全文摘要
本發(fā)明揭示了一種基于頁面的數(shù)據(jù)查詢方法,該方法包括調用權限查詢部分的存儲條件集模塊和公共查詢部分;裝載查詢條件;對所裝載的查詢條件進行組態(tài);以及校驗和保存所述查詢條件。本發(fā)明也揭示了一種數(shù)據(jù)查詢系統(tǒng),該系統(tǒng)至少具有調取單元,用于調用權限查詢部分的存儲條件集模塊以及公共查詢部分;加載單元,用于裝載查詢條件;組態(tài)單元,用于對所裝載的查詢條件進行組態(tài);校驗單元,用于校驗查詢條件;以及存儲單元,用于存儲查詢結果集。采用本發(fā)明的基于頁面的數(shù)據(jù)查詢方法及其系統(tǒng),相對于現(xiàn)有的查詢方式,不僅使檢索范圍不受約束,查詢語句內容更加靈活,而且其所具有的可復用性使得操作效率顯著改善。
文檔編號G06F17/30GK101770469SQ200810205168
公開日2010年7月7日 申請日期2008年12月31日 優(yōu)先權日2008年12月31日
發(fā)明者周繼恩, 陳斌, 雷平 申請人:中國銀聯(lián)股份有限公司