王錦澤
(中國民用航空汕頭空中交通管理站,廣東揭陽 516669)
一種Web智能統(tǒng)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王錦澤
(中國民用航空汕頭空中交通管理站,廣東揭陽 516669)
提出一種基于Web應(yīng)用的系統(tǒng),通過Cell插件設(shè)計(jì)報(bào)表模板,提出相應(yīng)的函數(shù)庫模塊,完成客戶端和服務(wù)器的數(shù)據(jù)交互,自動(dòng)生成報(bào)表管理,再將相關(guān)信息顯示到頁面上實(shí)現(xiàn)相關(guān)數(shù)據(jù)參數(shù)的統(tǒng)計(jì)與管理。
Web;報(bào)表管理;Cell
目前,在國民生產(chǎn)各個(gè)領(lǐng)域,大數(shù)據(jù)的時(shí)代已經(jīng)來臨,如何面對大數(shù)據(jù)并提取有效的相關(guān)信息做出科學(xué)的分析統(tǒng)計(jì)成為各行業(yè)必不可少的需求。而在大多數(shù)Web應(yīng)用系統(tǒng)中,對數(shù)據(jù)的處理多集成于父系統(tǒng),一方面缺乏可移植性,增加開發(fā)的人力物力,另一方面無法專業(yè)化進(jìn)行有效處理業(yè)務(wù)。為此,本文提出一種Web應(yīng)用系統(tǒng)接口,面向服務(wù)的方式提供用戶對數(shù)據(jù)的查詢統(tǒng)計(jì)及管理,增強(qiáng)用戶對數(shù)據(jù)使用的時(shí)效性及簡易性[1]。
本系統(tǒng)主要設(shè)計(jì)從報(bào)表模板設(shè)計(jì)和前端顯示設(shè)計(jì)開展。通過后臺的報(bào)表設(shè)計(jì),系統(tǒng)將在數(shù)據(jù)庫中生成初始化報(bào)表,該報(bào)表將提取用戶所需的信息進(jìn)行分析整理。而在此,相關(guān)的技術(shù)分別有SQL型的即畫布式報(bào)表和Cell報(bào)表。Cell報(bào)表以MS Excel為原型,在行業(yè)內(nèi)應(yīng)用廣泛,國內(nèi)有用友的Cell組件、插件,國外有例如Formula One。對于本系統(tǒng)而言,利用Cell插件可以大大縮短開發(fā)周期,并且在后續(xù)工作中得到較好的功能擴(kuò)展,因此系統(tǒng)采用Cell的開發(fā)模式。
1.1 關(guān)于Cell
Cell插件用于開發(fā)B/S結(jié)構(gòu)程序,使用Asp,Asp.net, Jsp, VbScript, JavaScript等語言開發(fā),可以在瀏覽器中直接打印報(bào)表[2]。整個(gè)系統(tǒng)界面將由單元格構(gòu)成。作為Web開發(fā)的一個(gè)重要ActiveX控件,它可以實(shí)現(xiàn)Web的HTML顯示、多格式輸出、多控件添加以及數(shù)據(jù)綁定等強(qiáng)大功能。Cell插件的出現(xiàn)為開發(fā)人員實(shí)現(xiàn)表的二次開發(fā)提供了可能,在此基礎(chǔ)上可以進(jìn)行編程和相關(guān)的函數(shù)設(shè)計(jì),實(shí)現(xiàn)報(bào)表的自動(dòng)生成,使得用戶與系統(tǒng)的交互變得更加人性化[3-5]。
1.2 系統(tǒng)的總體設(shè)計(jì)
系統(tǒng)通過五大模塊實(shí)現(xiàn),分別為數(shù)據(jù)預(yù)處理模塊、模板定義模塊、生成模塊、監(jiān)視日志模塊、元素?cái)?shù)據(jù)存儲和生成數(shù)據(jù)存儲。
數(shù)據(jù)預(yù)處理模塊組織處理來自Web消息請求的各種命令,并返回相關(guān)的界面效果給予用戶對前期數(shù)據(jù)做預(yù)處理。模板定義為用戶維護(hù)人員提供自定義模塊設(shè)計(jì)途徑,使得系統(tǒng)的實(shí)用性與適用性結(jié)合更加緊密。在系統(tǒng)數(shù)據(jù)庫中將提供3~4個(gè)冗余的表為系統(tǒng)的數(shù)據(jù)存儲提供數(shù)據(jù)安全保障,包括對原始數(shù)據(jù)的錄入存儲和對生成數(shù)據(jù)的整理存儲。除此以外,系統(tǒng)還提供相關(guān)的日志監(jiān)視等基礎(chǔ)功能為故障恢復(fù)提供智能支持??傮w設(shè)計(jì)圖如圖1。
1.3 系統(tǒng)生成模塊的設(shè)計(jì)
圖1 系統(tǒng)總體設(shè)計(jì)圖
作為系統(tǒng)的核心部分其實(shí)現(xiàn)如下,首先,報(bào)表生成器基于Cell插件的二次開發(fā),根據(jù)其借款設(shè)計(jì)表設(shè)計(jì)模板,一方面計(jì)算公式并避免產(chǎn)生循環(huán)依賴,另一方面則完成和數(shù)據(jù)庫的數(shù)據(jù)交互,將數(shù)據(jù)填入相應(yīng)的模板表中。Cell插件開發(fā)必須要實(shí)現(xiàn)的內(nèi)容:一是調(diào)整報(bào)表的格式,二是單元格的表達(dá)格式函數(shù),三是數(shù)據(jù)交互函數(shù)。
對于不同的表要求,本系統(tǒng)設(shè)計(jì)了自己具有魯棒性的表框架,如圖2。根據(jù)以下定義的元素用戶可以定義自身表格模板并在HTML上顯示網(wǎng)格報(bào)表[6]。
圖2 系統(tǒng)報(bào)表框架設(shè)計(jì)
圖3 判斷其是否有依賴關(guān)系
對于交互過程,客戶端向服務(wù)端發(fā)送查詢統(tǒng)計(jì)服務(wù)的請求,將XML文件傳送到服務(wù)器端經(jīng)過服務(wù)器端解析文件,最后系統(tǒng)將分析處理報(bào)表數(shù)據(jù)后傳遞給客戶端[7]。因此,客戶端解析文件并生成報(bào)表數(shù)據(jù)交互過程可能使用需要的Cell插件函數(shù)必須有打開功能、生成文件功能和讀取數(shù)據(jù)到報(bào)表的功能,根據(jù)文獻(xiàn)[6],在實(shí)際設(shè)計(jì)中可采用函數(shù)為OpenFile(String filename, String pass?word)、SaveToXML()和 ReadFromXML(String xml?content)。而在實(shí)際應(yīng)用中以上使用的xml文件是華表推薦的xml格式。首先,其要求不能有特殊符號并且在支持的數(shù)據(jù)類型中有一定局限性,只能夠支持String和Number類型。其次,在合并的單元格內(nèi)并不支持?jǐn)?shù)據(jù)的顯示,這對實(shí)際應(yīng)用造成一定的困擾。對此,系統(tǒng)必須對合并前的數(shù)據(jù)進(jìn)行一系列的處理,包括特殊符號的代換、數(shù)據(jù)類型的轉(zhuǎn)換以及合并數(shù)據(jù)的重組。在報(bào)表的生成末端則提供了解重裝,對數(shù)據(jù)進(jìn)行恢復(fù)顯示。
對于實(shí)際應(yīng)用中,如上所述必須解決單元格的循環(huán)依賴性以提高系統(tǒng)的運(yùn)行性能,可采用以下算法對其進(jìn)行處理。設(shè)報(bào)表中的單元格按行列號為Cij,其公式為fij,所有單元格的公式構(gòu)成公式集合F。設(shè)fi1j1,fi2j2∈F,公式集合F為圖G的頂點(diǎn)集合,如果fi1j1依賴于fi2j2,則將其依賴關(guān)系計(jì)入O(F)中,O(F)是圖G的有向弧集.當(dāng)圖G中產(chǎn)生一條有向回路的時(shí)候便產(chǎn)生了循環(huán)依賴。算法IsCircle是在掃描公式集合F基礎(chǔ)上建立依賴關(guān)系圖G的,再判斷圖G中是否存在回路,總體流程圖如圖3。對于有依賴關(guān)系的數(shù)據(jù),必須對其進(jìn)行進(jìn)一步的去依賴處理再進(jìn)行重裝入庫。
本文提出一種Web智能統(tǒng)計(jì)管理系統(tǒng)的設(shè)計(jì),該系統(tǒng)通過Cell插件的二次開發(fā),實(shí)現(xiàn)了用戶報(bào)表多功能的生成及智能統(tǒng)計(jì)分析,在實(shí)際應(yīng)用中具有一定的魯棒性和實(shí)效性,可以廣泛應(yīng)用于對數(shù)據(jù)處理較為嚴(yán)格、數(shù)據(jù)分析需求重復(fù)性規(guī)律性較高的行業(yè)生產(chǎn)。
[1]陳媛,徐傳運(yùn),孫曙光.基于Ajax的Web通用報(bào)表生成工具的設(shè)計(jì)[J].重慶工學(xué)院學(xué)報(bào),2009,23(4):65-69.
[2]Kling P,Ozsu MT,Daudjee K.Scaling XML query pro?cessing:distribution,localization and pruning[J]. Distributed and Parallel Databases,2011,29(5-6):445-490.
[3]朱佃波,陸劍江,楊繼文.基于組件的WEB通用報(bào)表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2008,38(1):72-76.
[4]潘福成,張士杰.基于XML的智能報(bào)表生成工具的研究[J].小型微型計(jì)算機(jī)系統(tǒng),2005,26(1):134-138.
[5]劉政敏,王潔.基于XML、Ajax、WebService技術(shù)的復(fù)雜報(bào)表生成系統(tǒng)[J].Computer Era,2009(3):54-56.
[6]Kappel G,Kapsammer E,Retschitzegger W.Integrat?ing XMLand relational database systems[J].World Wide Web,2004,7(4):343-384.
[7]王素霞,于放,臧輝.面向Web應(yīng)用的報(bào)表管理系統(tǒng)生成器[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(1):29-32.
Design and Implementation of Intelligent Web Statistics Management System
WANG Jin-ze
(Shantou Air Traffic Management Station of Civil Aviation of China,Jieyang516669,China)
The article elaborates the basic architecture of report management system generator and introduces the basic thoughts about designing report templates based on Cell-Plugin and the corresponding function library module.According to the related information to achieve the data statistics and management.
Web;report management system generator;cell
TP31
:A
:1009-9492(2014)10-0064-02
10.3969/j.issn.1009-9492.2014.10.017
王錦澤,男,1987年生,廣東汕頭人,大學(xué)本科,助理工程師。研究領(lǐng)域:智能控制、辦公信息化。
(編輯:向 飛)
2014-04-08