[發明專利]一種采用動態查詢語言的快速查詢方法有效
| 申請號: | 201310184484.5 | 申請日: | 2013-05-17 |
| 公開(公告)號: | CN103279509A | 公開(公告)日: | 2013-09-04 |
| 發明(設計)人: | 呂劍;許劍;李強;段相舉;揭柳;劉聰;牛巍;羅思亮;劉路璐 | 申請(專利權)人: | 北京首鋼自動化信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京華誼知識產權代理有限公司 11207 | 代理人: | 劉月娥 |
| 地址: | 100041*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 采用 動態 查詢 語言 快速 方法 | ||
技術領域
本發明屬于業務系統技術平臺領域,特別是提供了一種采用動態查詢語言的快速查詢方法,在BS多層架構下的采用語義模型的、基于配置的、動態查詢實現方法。?
背景技術
在業務系統軟件開發過程中,業務數據的靈活、便捷、高效查詢一直都是體現信息化水平的關鍵問題。而傳統的多層BS架構體系中,一個業務查詢需求實現往往需要遍歷表示層、服務層、和集成層才能返回查詢結果,處理環節長、開發量大,不能靈活根據需求快速實現。下面以SSH(Strut?+?Spring?+?Hiberate)平臺為例,說明一下用戶提交查詢請求到查詢數據返回需要經歷的幾個步驟:
表示層將接收客戶端(IE)提交的HTML請求對象,轉變成表示層的Form或值對象
表示層控制器調用表示層Action對象執行查詢。
Action對象調用查詢服務Service執行查詢
查詢Service調用持久層的數據訪問對象Dao進行查詢
數據訪問對象通過持久層框架提供的OR-Mapping,對象關系映射轉換成SQL語句,對數據庫進行查詢,然后返回值對象。
一個開發者如果開發這個簡單的查詢需要編輯下列文件:
創建關系數據庫表對應的值對象
創建值對象與數據庫表對應的ORMapping對象關系映射文件。
創建數據訪問對象Dao類去實現查詢。
創建服務對象方法去封裝查詢實現。
創建表示層的Action類,和Form類。
從上面示例來看,實現一個簡單查詢需經歷5個步驟才能轉換成sql進行執行,處理環節多,效率低,開發周期長,開發工作量大。并且,當需求發生變化的時候,開發人員需要修改以上諸多文件后,進行編譯部署,重啟應用后才能夠給用戶提供查詢服務。
發明內容
本發明的目的在于提供一種采用動態查詢語言的快速查詢方法,擯棄了原來查詢的多層、硬編碼實現方式,而是通過查詢引擎加配置方式來實現用戶的靈活、高效、快捷的查詢要求。讓開發人員在面對用戶提出的查詢需求時候,不需要開發任何對象,而采用配置方式來快速實現。當用戶需求發生變化時候,也能通過修改配置來實現需求,不再需要停機部署,快速響應需求變化,提升信息化服務水平。
為解決上述技術問題,本發明采用了一種領域對象語義建模與XQL動態查詢語言數據訪問方式實現靈活、快速查詢的方法。XQL(Xml?schema?based?Query?Language)?是一種自主創新、發明的針對Xsd語義描述的動態解析語言,以物料查詢為例:當用戶要按照物料號查詢物料信息時候,只需寫?/mat[matId=#matId]?即可,如果用戶還想看到物料所屬訂單信息,那么修改表達式為?/mat[matId=#matId]/+po?便可滿足要求。本發明方法的工藝步驟如下:
(1)通過后臺開發界面,采用xsd文件對領域模型進行語義建模,建立與關系型數據庫的映射關系。
(2)根據查詢要求,編寫語義訪問表達式,表達式定義了需訪問的領域對象與其相關聯對象關系。
(3)通過前臺的查詢配置界面配置查詢服務,輸入步驟(2)配置好的語義表達式,選擇返回數據的字段信息作為顯示列。?
(4)在前臺的列表控件中配置數據源,選擇步驟(3)返回查詢服務名,系統后臺動態反饋定義的顯示列數據到控件中用于初始化顯示字段。
(5)用戶在列表控件中輸入查詢數據,前臺根據配置的語義表達式、輸入的查詢條件、統計要求、顯示字段要求,組裝成xml文件傳遞到后臺。
(6)后臺接收到傳入的查詢的xml請求后,首先根據xql語句與動態查詢條件、與數據映射關系,生成sql語句,提交數據庫進行查詢,并將返回信息根據顯示字段要求組裝成xml反饋到前臺。
(7)前臺接收到xml信息后,通過列表展現控件顯示在用戶界面上。
其中步驟(1)所述的領域對象語義建模,采用xsd文件方式,與數據庫表之間通過命名規范方式建立映射,之間實現雙向同步方式,即可以xsd文件轉換成面向數據庫的ddl文件,實現xsd到數據庫結構的同步,也可以修改數據庫定義,從數據庫同步到xsd。另外:xsd里定義的復合類型complexType通過語義方式映射到數據表,復合類型的id代表了對象在領域模型里的語義標識,對應于表的主鍵名稱;復合類型的名稱對應于數據庫對象名,包括表、視圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京首鋼自動化信息技術有限公司,未經北京首鋼自動化信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310184484.5/2.html,轉載請聲明來源鉆瓜專利網。





