本發(fā)明屬于數(shù)據(jù)庫技術(shù)領域,具體地說,尤其涉及一種web查詢框架。
背景技術(shù):
傳統(tǒng)方式的web查詢一般是通過固化的方式實現(xiàn)的,包括數(shù)據(jù)源、查詢語句、查詢面板及查詢表格,都固化實現(xiàn)在程序中。
一旦業(yè)務需求發(fā)生變更,只能通過修改程序的方式實現(xiàn),使得項目維護成本及系統(tǒng)風險都大大增加。
技術(shù)實現(xiàn)要素:
為解決以上問題,本發(fā)明提供了一種web查詢框架,用以滿足快速構(gòu)建數(shù)據(jù)查詢架構(gòu)的需要及靈活多變的業(yè)務需求。
根據(jù)本發(fā)明的一個實施例,提供了一種web查詢框架,包括:
數(shù)據(jù)源配置模塊,用于配置待查詢的數(shù)據(jù)源;
數(shù)據(jù)集配置模塊,用于根據(jù)所述數(shù)據(jù)源創(chuàng)建包含預定參數(shù)的數(shù)據(jù)集主體;
過濾器配置模塊,用于根據(jù)所述預定參數(shù)生成查詢條件,并配置查詢條件控件類型及依賴關(guān)系以生成過濾器;
查詢表格配置模塊,用于根據(jù)選定的過濾器,配置可視化查詢面板。
根據(jù)本發(fā)明的一個實施例,所述數(shù)據(jù)源配置模塊通過指定數(shù)據(jù)源ip地址及用戶名、密碼的方式來配置數(shù)據(jù)源。
根據(jù)本發(fā)明的一個實施例,所述數(shù)據(jù)集配置模塊進一步包括:
數(shù)據(jù)源選擇單元,用于選擇待查詢的數(shù)據(jù)源;
數(shù)據(jù)定制單元,用于根據(jù)預定方式定制選擇的數(shù)據(jù)源;
預定參數(shù)確定單元,用于根據(jù)所述預定方式及選擇的數(shù)據(jù)源確定預定參數(shù),以得到包含所述預定參數(shù)的數(shù)據(jù)集主體。
根據(jù)本發(fā)明的一個實施例,所述預定方式包括表、視圖、存儲過程及自定義sql,其根據(jù)選擇的數(shù)據(jù)源確定預定參數(shù)。
根據(jù)本發(fā)明的一個實施例,所述預定方式包括自定義結(jié)構(gòu)化查詢語言方式,其通過建立靜態(tài)參數(shù)和動態(tài)參數(shù)確定對應選擇的數(shù)據(jù)源的預定參數(shù)。
根據(jù)本發(fā)明的一個實施例,所述過濾器配置模塊進一步包括:
查詢條件生成單元,用于根據(jù)所述預定參數(shù)生成所述查詢條件;
控件類型及依賴關(guān)系建立單元,用于根據(jù)所述查詢條件配置對應控件及控件間的關(guān)聯(lián)依賴;
布局配置單元,用于配置所述控件在可視化查詢面板中的布局;
url參數(shù)賦默認值單元,用于配置可視化查詢面板的默認查詢條件。
根據(jù)本發(fā)明的一個實施例,所述查詢表格配置模塊進一步包括:
過濾器選擇單元,用于選擇所需的過濾器;
表格類型配置單元,用于將根據(jù)選定的過濾器得到的查詢表格的顯示類型配置為基礎表或交叉表;
表格顯示配置單元,用于對選定的顯示類型的查詢表格配置行和/或列的顯示方式。
根據(jù)本發(fā)明的一個實施例,所述查詢表格配置模塊用于配置基礎表的自定義字段、行內(nèi)鏈接和行內(nèi)按鈕。
根據(jù)本發(fā)明的一個實施例,所述查詢表格配置模塊用于配置交叉表的凍結(jié)、合并、排序、表頭排序、多級表頭、統(tǒng)計信息和報警。
根據(jù)本發(fā)明的一個實施例,還包括目錄節(jié)點配置模塊,所述目錄節(jié)點配置模塊進一步包括:
查詢表格保存單元,用于保存配置的查詢表格;
查詢表格選擇單元,用于從保存的查詢表格中選擇待配置目錄節(jié)點的查詢表格;
目錄節(jié)點賦默認值單元,用于將所述過濾器中指定的url參數(shù)配置為目錄節(jié)點的默認顯示條件,以跳轉(zhuǎn)至相應頁面。
本發(fā)明的有益效果:
本發(fā)明通過提供一種高度可配置、靈活定制的web數(shù)據(jù)查詢框架,用戶無需寫一行代碼即可以構(gòu)建一個復雜查詢,而且可以很好的實現(xiàn)模塊復用及功能組裝,解決了傳統(tǒng)web查詢實現(xiàn)方式靈活性低、維護成本高的問題。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要的附圖做簡單的介紹:
圖1是根據(jù)本發(fā)明的一個實施例的web查詢框架結(jié)構(gòu)示意圖;
圖2所示為圖1所示結(jié)構(gòu)的各部分功能配置結(jié)構(gòu)示意圖。
具體實施方式
以下將結(jié)合附圖及實施例來詳細說明本發(fā)明的實施方式,借此對本發(fā)明如何應用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護范圍之內(nèi)。
本發(fā)明提供了一種支持高度可配置、靈活定制的web數(shù)據(jù)查詢框架,用戶無需寫一行代碼即可以構(gòu)建一個復雜查詢,而且可以很好的實現(xiàn)模塊復用及功能組裝,解決了傳統(tǒng)web查詢實現(xiàn)方式靈活性低、維護成本高的問題。
如圖1所示為根據(jù)本發(fā)明的一個實施例的web查詢框架結(jié)構(gòu)示意圖,圖2所示為圖1所示結(jié)構(gòu)的各部分功能配置結(jié)構(gòu)示意圖,以下參考圖1和圖2來對本發(fā)明進行詳細說明。
該web查詢框架包括數(shù)據(jù)源配置模塊、數(shù)據(jù)集配置模塊、過濾器配置模塊和查詢表格配置模塊。其中,數(shù)據(jù)源配置模塊用于配置待查詢的數(shù)據(jù)源。數(shù)據(jù)集配置模塊用于根據(jù)數(shù)據(jù)源創(chuàng)建包含預定參數(shù)的數(shù)據(jù)集主體。過濾器配置模塊用于根據(jù)預定參數(shù)生成查詢條件,并配置查詢條件控件類型及依賴關(guān)系以生成過濾器。查詢表格配置模塊用于根據(jù)選定的過濾器,配置可視化查詢面板。
本發(fā)明通過數(shù)據(jù)源配置模塊、數(shù)據(jù)集配置模塊、過濾器配置模塊和查詢表格配置模塊四個模塊即可實現(xiàn)無需手工編碼快速搭建web查詢框架的效果。
在本發(fā)明的一個實施例中,該數(shù)據(jù)源配置模塊通過指定數(shù)據(jù)源ip地址及用戶名、密碼的方式來配置數(shù)據(jù)源。具體的,先選擇一個服務器,通過對應的配置信息連接至服務器,以獲取到相應數(shù)據(jù)庫中的數(shù)據(jù)。此處的數(shù)據(jù)源可支持多種不同的關(guān)系型數(shù)據(jù)庫,如oracle、sqlserver等類型數(shù)據(jù),本發(fā)明不限于此。
在本發(fā)明的一個實施例中,該數(shù)據(jù)集配置模塊進一步包括數(shù)據(jù)源選擇單元、數(shù)據(jù)定制單元和預定參數(shù)確定單元。其中,數(shù)據(jù)源選擇單元用于選擇待查詢的數(shù)據(jù)源。數(shù)據(jù)定制單元用于根據(jù)預定方式定制選擇的數(shù)據(jù)源。預定參數(shù)確定單元用于根據(jù)預定方式及選擇的數(shù)據(jù)源確定預定參數(shù),以得到包含預定參數(shù)的數(shù)據(jù)集主體。數(shù)據(jù)集可以理解為數(shù)據(jù)源和過濾器中間起承接作用的元素,通過數(shù)據(jù)源獲取到數(shù)據(jù),自身可以包含一些參數(shù),這些參數(shù)最終即可映射為過濾器的查詢條件。
具體的,可以通過表、視圖、存儲過程和自定義sql(結(jié)構(gòu)化查詢語言方式)等方式來定制數(shù)據(jù)源。對于存儲過程這種定制方式,可以根據(jù)選擇的數(shù)據(jù)源中的數(shù)據(jù)信息直接確定預定參數(shù)。對于表、視圖、自定義sql等定制方式,可以通過建立靜態(tài)參數(shù)和動態(tài)參數(shù)確定對應選擇的數(shù)據(jù)源的預定參數(shù)。靜態(tài)參數(shù)是固定不變的參數(shù)。動態(tài)參數(shù)是可以進行組合等變化的參數(shù),通過拼接表達式及運算符的方式靈活組裝sql語句,為ado.net提供基礎查詢語句,由ado.net返回查詢結(jié)果以進行查詢表格顯示。通過表、視圖、存儲過程和自定義sql等方式得到的預定參數(shù),最終轉(zhuǎn)換為過濾器中的查詢條件。
在本發(fā)明的一個實施例中,該過濾器配置模塊進一步包括查詢條件生成單元、控件類型及依賴關(guān)系建立單元、布局配置單元和url參數(shù)賦默認值單元。其中,查詢條件生成單元用于根據(jù)預定參數(shù)生成查詢條件??丶愋图耙蕾囮P(guān)系建立單元用于根據(jù)查詢條件配置對應控件及控件間的關(guān)聯(lián)依賴。布局配置單元用于配置控件在可視化查詢面板中的布局,如一行兩列,指的就是一行包含兩個控件,有四個控件即分兩行進行排布。url參數(shù)賦默認值單元用于配置可視化查詢面板的默認查詢條件。控件類型及依賴關(guān)系建立單元用于選擇配置文本域控件、下拉列表框控件、日期類型控件和/或彈出列表控件,并配置控件間的關(guān)聯(lián)依賴。過濾器創(chuàng)建過程中,會選擇布局和控件類型??丶愋桶ㄎ谋居?、日期域及下拉列表等,配置好控件類型后就會按照配置的布局將這些控件展示在用戶面前,實現(xiàn)可視化查詢面板。
在本發(fā)明的一個實施例中,查詢表格配置模塊進一步包括過濾器選擇單元、表格類型配置單元和表格顯示配置單元。其中,過濾器選擇單元用于選擇所需的過濾器。表格類型配置單元用于將根據(jù)選定的過濾器得到的查詢表格的顯示類型配置為基礎表或交叉表。表格顯示配置單元用于對選定的顯示類型的查詢表格配置行和/或列的顯示方式。具體實現(xiàn)時,選擇一個過濾器,選定之后即可將最終解析出的查詢面板掛接到查詢表格上方,根據(jù)用戶選擇的不同條件,查詢出相應的查詢表格數(shù)據(jù)。
具體的,查詢表格配置模塊可以配置基礎表的自定義字段、行內(nèi)鏈接和行內(nèi)按鈕。配置自定義字段表示自定義配置查詢表格的顯示字段。配置行內(nèi)鏈接表示配置行內(nèi)鏈接地址。配置行內(nèi)按鈕表示配置行內(nèi)按鈕位置及對應功能。本發(fā)明的表格類型配置單元的配置功能不限于此。
查詢表格配置模塊還可以配置交叉表的凍結(jié)、合并、排序、表頭排序、多級表頭、統(tǒng)計信息和報警。其中,配置凍結(jié)表示表格最終解析出的列,一般是前幾列固定,后面的列可拖動。合并表示根據(jù)查詢表格中同一列中相鄰且相同的數(shù)據(jù)合并單元格。排序表示對查詢表格中的數(shù)據(jù)進行排序。以上三個功能單元用于對行或列中的數(shù)據(jù)進行處理。表頭排序表示對查詢表格中的表頭進行排序,多級表頭表示用于設置多級表頭,這兩個功能用于對浮動列中的表頭進行設置。統(tǒng)計信息表示用于統(tǒng)計列信息,報警表示用于對超出預設值的結(jié)果進行預警,這兩個功能用于對結(jié)果值進行統(tǒng)計及預警。
在本發(fā)明的一個實施例中,該查詢框架還包括目錄節(jié)點配置模塊,該目錄節(jié)點配置模塊進一步包括查詢表格保存單元、查詢表格選擇單元和目錄節(jié)點賦默認值單元。其中,查詢表格保存單元用于保存配置的查詢表格。查詢表格選擇單元用于從保存的查詢表格中選擇待配置目錄節(jié)點的查詢表格。目錄節(jié)點賦默認值單元用于將過濾器中指定的url參數(shù)配置為目錄節(jié)點的默認顯示條件,以跳轉(zhuǎn)至相應頁面。具體的,查詢配置完成以后,將其保存進庫,之后配置目錄節(jié)點,選擇已配好的查詢表格,并通過過濾器中指定的url參數(shù)賦默認值,最終即可通過點擊左側(cè)目錄樹節(jié)點展示已配好的查詢表格。
本發(fā)明通過數(shù)據(jù)源、數(shù)據(jù)集、過濾器、查詢表格四步可視化配置即可實現(xiàn)無需手工編碼快速搭建查詢模塊的效果。相對于傳統(tǒng)web查詢實現(xiàn)方式,可以靈活的切換數(shù)據(jù)源、便捷的改變數(shù)據(jù)集查詢語句及參數(shù)、任意改變查詢面板布局及控件類型(同時支持定制查詢條件填充數(shù)據(jù)源及條件間關(guān)聯(lián)依賴)、視業(yè)務所需自主增減查詢表格展示字段及鏈接。同時,本發(fā)明支持復雜交叉統(tǒng)計報表的靈活定制,凍結(jié)列、合并行數(shù)據(jù)、無限級表頭、多結(jié)果值列報警、各種統(tǒng)計分析項行列顯示等功能全部無需手工編碼,只需通過可視化界面進行幾步配置即可實現(xiàn),可以很好的滿足信息化建設中用戶快速構(gòu)建的需要及靈活多變的業(yè)務需求。
雖然本發(fā)明所公開的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,可以在實施的形式上及細節(jié)上作任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準。