中文字幕无码日韩视频无码三区

一種基于元數據的報表展示引擎的制作方法

文檔序號:8258936閱讀:257來源:國知局
一種基于元數據的報表展示引擎的制作方法
【技術領域】
[0001] 本發明屬于互聯網技術領域,具體涉及一種基于元數據的報表展示引擎。
【背景技術】
[0002] 現存的報表引擎開發、配置麻煩,學習難度大,無法快速開發基于在線聯機業務系 統(0LTP)的報表。部分的報表數據源SQL請求極為復雜,而且這些SQL是動態生成的,又 難于優化。當前的報表管理系統查詢性能較低,無法根據客戶需求靈活制作報表,如客戶提 出統計新的字段,目前需要寫代碼來實現,而且不支持圖形報表。

【發明內容】

[0003] 為了克服上述技術問題,本發明的目的在于提供一種基于元數據的報表展示引 擎。
[0004] 本發明采用的技術方案是: 一種基于元數據的報表展示引擎,通過定義元數據來解析運行時的數據讀取邏輯、約 束以及界面布局,所述元數據包含報表頭和報表字段;該報表展示引擎包括: 報表展示模塊,提供報表界面以及供用戶通過報表界面選擇查詢條件后請求查詢、下 載報表數據; 數據源,用于提供報表數據; 報表引擎,用于:(1)接收報表界面提交的請求,解析報表元數據,生成最終的數據庫 SQL腳本;(2)從數據庫的數據源中請求相應的數據;(3)接收數據庫返回命中條件的原始 數據;(4)二次處理原始數據,過濾危險的數據,并轉換為最終用戶可見的數據格式。
[0005] 其中,所述報表頭配置至少包含以下信息:數據來源、報表標題、導出文件類型,用 來確定報表從具體那個數據庫表/視圖獲取數據,界面顯示的報表標題以及導出的文件類 型。
[0006] 所述報表字段至少配置包含字段的顯示外觀、行為定義。
[0007] 特別的,所述報表展示模塊由同一個WebForm控件實現,其報表的業務體現在數 據源配置的查詢SQL中。
[0008] 進一步,所述報表展示模塊用于跟用戶直接交互,包括響應選擇查詢條件和搜索 按鈕;當點擊搜索按鈕時,將頁面的查詢條件及當前查詢的報表編號傳遞給報表引擎處理, 等待返回結果。
[0009] 本發明的有益效果是: 1 能滿足用戶各種多變的需求,報表頭配置、報表字段配置以"簡單"為設計原則。
[0010] 1 展示與業務分離,所有的報表展示均由同一個WebForm控件實現,其報表的 業務體現在數據庫的配置的查詢SQL中,報表的業務通過統一格式的數據源展示出來。
[0011] 1 易于擴展,通過配置來增加報表而無需重新修改軟件。
[0012] 1 易于維護,一份報表對應一份報表元數據,數據庫的配置信息獨立于程序,可 以單獨維護配置信息,而每一份配置信息都可生成一份報表。
[0013] 1 優化海量數據查詢效率,縮短輸出時間,為保證查詢效率,使用分表來替代復 雜的存儲過程或直接SQL,每個中間表數據都應保留。對于歷史資料的統計,應定期存檔當 次查詢的報表,避免長時間查詢,提高用戶體驗。
[0014] 1 保證軟件性能,使用配置加載查詢條件、構造查詢條件等不應消耗過多的網 絡、服務器資源,配置信息應緩存。
[0015] 1 保障數據安全,所有查詢均應使用參數,文字應先經過濾去除非法指令。
【附圖說明】
[0016] 下面結合附圖對本發明的【具體實施方式】做進一步的說明。
[0017] 圖1是本發明報表展示引擎的原理圖; 圖2是本發明元數據的模型圖; 圖3是報表展示模塊兩種形式的報表; 圖4是報表引擎的處理請求流程圖; 圖5是本發明應用實例報表查詢展示的界面圖; 圖6是本發明應用實例下載報表的界面圖。
【具體實施方式】
[0018] 參考圖1所示,為本發明的一種基于元數據的報表展示引擎,通過定義元數據來 解析運行時的數據讀取邏輯、約束以及界面布局;該報表展示引擎包括: 報表展示模塊,提供報表界面以及供用戶通過報表界面選擇查詢條件后請求查詢、下 載報表數據; 數據源,用于提供報表數據; 報表引擎,用于:(1)接收報表界面提交的請求,解析報表元數據,生成最終的數據庫 SQL腳本;(2)從數據庫的數據源中請求相應的數據;(3)接收數據庫返回命中條件的原始 數據;(4)二次處理原始數據,過濾危險的數據,并轉換為最終用戶可見的數據格式。
[0019] 如圖2,所述元數據包含報表頭和報表字段,報表頭配置主要包含以下信息:數據 來源、報表標題、導出文件類型。用來確定報表從那個數據庫表/視圖獲取數據,界面顯示 的報表標題以及導出的文件類型。
[0020] 詳細的報表頭配置信息如下:
【主權項】
1. 一種基于元數據的報表展示引擎,其特征在于;通過定義元數據來解析運行時的數 據讀取邏輯、約束W及界面布局,所述元數據包含報表頭和報表字段;該報表展示引擎包 括: 報表展示模塊,提供報表界面W及供用戶通過報表界面選擇查詢條件后請求查詢、下 載報表數據; 數據源,用于提供報表數據; 報表引擎,用于;(1)接收報表界面提交的請求,解析報表元數據,生成最終的數據庫 S化腳本;(2)從數據庫的數據源中請求相應的數據;(3)接收數據庫返回命中條件的原始 數據;(4)二次處理原始數據,過濾危險的數據,并轉換為最終用戶可見的數據格式。
2. 根據權利要求1所述的一種基于元數據的報表展示引擎,其特征在于:所述報表頭 配置至少包含W下信息:數據來源、報表標題、導出文件類型,用來確定報表從具體那個數 據庫表/視圖獲取數據,界面顯示的報表標題W及導出的文件類型。
3. 根據權利要求1所述的一種基于元數據的報表展示引擎,其特征在于:所述報表字 段至少配置包含字段的顯示外觀、行為定義。
4. 根據權利要求1所述的一種基于元數據的報表展示引擎,其特征在于:所述報表展 示模塊由同一個WebForm控件實現,其報表的業務體現在數據源配置的查詢S化中。
5. 根據權利要求1所述的一種基于元數據的報表展示引擎,其特征在于:所述報表展 示模塊用于跟用戶直接交互,包括響應選擇查詢條件和搜索按鈕;當點擊搜索按鈕時,將頁 面的查詢條件及當前查詢的報表編號傳遞給報表引擎處理,等待返回結果。
【專利摘要】本發明公開了一種基于元數據的報表展示引擎,通過定義元數據來解析運行時的數據讀取邏輯、約束以及界面布局。其元數據包含報表頭和報表字段定義兩部分。報表引擎通過讀取報表頭可以確定數據來源、報表標題、導出文件類型以及其他主要信息,然后結合報表字段定義,可以在運行時查詢、過濾數據并返回結果集,最后根據報表頭和報表字段定義來決定報表展示的樣式以輸出到客戶端。該報表展示引擎定義了規范的元數據模型,具有靈活配置的特性,支持進一步的元數據擴展。采用該引擎能夠保證可維護性的前提下,提高報表的生產率,支持快速開發,適合需求變更頻繁的報表系統。
【IPC分類】G06F17-30
【公開號】CN104573065
【申請號】CN201510036708
【發明人】余敬龍
【申請人】廣東能龍教育股份有限公司
【公開日】2015年4月29日
【申請日】2015年1月23日
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1