張憲樂(lè) 鄒會(huì)來(lái) 林逢升
摘要隨著國(guó)家農(nóng)墾局農(nóng)產(chǎn)品追溯系統(tǒng)的推廣,如何更好地發(fā)揮數(shù)據(jù)中心的大量追溯查詢信息的作用需要進(jìn)一步研究。就此提出基于IOS平臺(tái)來(lái)構(gòu)建農(nóng)產(chǎn)品追溯查詢信息的OLAP展現(xiàn)的思路,并對(duì)系統(tǒng)的構(gòu)架、多維數(shù)據(jù)模型設(shè)計(jì)、WEB服務(wù)器程序以及IOS客戶端UI展示的實(shí)現(xiàn)等進(jìn)行了重點(diǎn)介紹。
關(guān)鍵詞IOS;農(nóng)產(chǎn)品追溯;多維分析;在線分析處理(OLAP)
中圖分類號(hào)S126;TP391;X836文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)0517-6611(2014)22-07668-02
自2008年開(kāi)始,農(nóng)業(yè)部農(nóng)墾局在全國(guó)農(nóng)墾系統(tǒng)探索建立農(nóng)產(chǎn)品質(zhì)量追溯體系,以強(qiáng)化信息化技術(shù)應(yīng)用為手段,大力推進(jìn)農(nóng)產(chǎn)品質(zhì)量追溯體系建設(shè)。目前,參加全國(guó)農(nóng)墾質(zhì)量追溯系統(tǒng)建設(shè)的可追溯企業(yè)達(dá)300余家,追溯范圍覆蓋谷物、蔬菜、水果、茶葉、畜禽肉等主要農(nóng)產(chǎn)品。系統(tǒng)為消費(fèi)者提供了網(wǎng)站、語(yǔ)音與短信查詢的方式來(lái)查詢農(nóng)產(chǎn)品信息,如產(chǎn)品名稱、種植基地、收購(gòu)日期、收購(gòu)責(zé)任人、加工企業(yè)、生產(chǎn)日期、加工負(fù)責(zé)人、產(chǎn)地等。為更好地發(fā)揮存儲(chǔ)在農(nóng)墾數(shù)據(jù)中心的大量基礎(chǔ)數(shù)據(jù)的作用,為企業(yè)和質(zhì)量監(jiān)管部門提供更好的分析手段,筆者在國(guó)內(nèi)外相關(guān)研究的基礎(chǔ)上[1-5],提出了基于IOS平臺(tái)進(jìn)行農(nóng)墾農(nóng)產(chǎn)品查詢信息的多維分析與展現(xiàn),并對(duì)系統(tǒng)的構(gòu)架、多維數(shù)據(jù)模型的設(shè)計(jì)、IOS客戶端OLAP查詢的UI展示實(shí)現(xiàn)等進(jìn)行了重點(diǎn)分析。
1OLAP系統(tǒng)構(gòu)架的建立
OLAP系統(tǒng)的構(gòu)架需要考慮現(xiàn)有的農(nóng)產(chǎn)品追溯系統(tǒng)的構(gòu)架和特點(diǎn),現(xiàn)有的軟件提供的查詢平臺(tái)的主要方式有網(wǎng)站查詢、語(yǔ)音查詢和短信查詢等方式,以后會(huì)新增手機(jī)App的查詢功能,這些查詢的數(shù)據(jù)分別存放于不同的數(shù)據(jù)庫(kù)中,而OLAP系統(tǒng)需要提供統(tǒng)一的追溯數(shù)據(jù)標(biāo)準(zhǔn),因此需要提供一種方式進(jìn)行數(shù)據(jù)格式的標(biāo)準(zhǔn)化處理。針對(duì)現(xiàn)有的農(nóng)產(chǎn)品追溯系統(tǒng)的特點(diǎn),可以建立一個(gè)統(tǒng)一的數(shù)據(jù)庫(kù),其他的查詢信息生成時(shí),經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換處理,統(tǒng)一往該數(shù)據(jù)庫(kù)存儲(chǔ)。建立的農(nóng)產(chǎn)品追溯查詢OLAP系統(tǒng)構(gòu)架說(shuō)明如圖1所示。
圖1OLAP系統(tǒng)構(gòu)架在源數(shù)據(jù)層,農(nóng)產(chǎn)品追溯信息查詢記錄產(chǎn)生時(shí),利用部署于數(shù)據(jù)中心的數(shù)據(jù)轉(zhuǎn)換程序,轉(zhuǎn)換該追溯查詢數(shù)據(jù)到統(tǒng)一數(shù)據(jù)庫(kù);在OLAP數(shù)據(jù)集層,建立多維數(shù)據(jù)集的主題模型,并利用數(shù)據(jù)轉(zhuǎn)換加載工具加載源數(shù)據(jù)到OLAP服務(wù)器,供WEB層訪問(wèn);在WEB層,利用WEB服務(wù)器端的ASP.NET程序,獲取IOS客戶端的查詢參數(shù)生成MDX查詢語(yǔ)句,訪問(wèn)OLAP服務(wù)器并返回MDX查詢結(jié)果,再把結(jié)果轉(zhuǎn)換為JSON數(shù)據(jù)格式返回給IOS客戶端程序;在IOS客戶端多維展現(xiàn)層,利用基于Tableview或Collectionview實(shí)現(xiàn)的自定義的樹(shù)型組件來(lái)進(jìn)行多維數(shù)據(jù)的UI展示。
2多維數(shù)據(jù)模型設(shè)計(jì)
目前,農(nóng)墾農(nóng)產(chǎn)品追溯軟件的后臺(tái)數(shù)據(jù)為微軟的Sqlserver數(shù)據(jù)庫(kù)。相比較Oracle的OLAP服務(wù)器,微軟的SSAS易用性和可維護(hù)性相對(duì)較好,能較好地支持MDX標(biāo)準(zhǔn),綜合考慮產(chǎn)品的性價(jià)比、兼容性和對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)快速進(jìn)行轉(zhuǎn)換的需求,OLAP服務(wù)器選型定為SQL Server Analysis Services 2008。設(shè)計(jì)的產(chǎn)品追溯信息查詢分析主題的多維數(shù)據(jù)模型如圖2所示。
圖2追溯查詢的多維數(shù)據(jù)模型3IOS客戶端OLAP查詢的UI展示實(shí)現(xiàn)
IOS客戶端OLAP展示的實(shí)現(xiàn)思路如圖3所示,關(guān)鍵的過(guò)程描述如下:IOS客戶端軟件程序通過(guò)http協(xié)議訪問(wèn)WEB服務(wù)器端的程序,提交OLAP查詢的參數(shù)信息,WEB服務(wù)器程序?qū)崿F(xiàn)訪問(wèn)OLAP系統(tǒng)、進(jìn)行數(shù)據(jù)查詢,并把轉(zhuǎn)換查詢結(jié)果成JSON數(shù)據(jù),返回給IOS客戶端,IOS解析JSON數(shù)據(jù),并實(shí)現(xiàn)OLAP查詢結(jié)果的展示。
圖3IOS客戶端UI展示實(shí)現(xiàn)思路3.1WEB程序的實(shí)現(xiàn)思路編寫ASP.NET程序,實(shí)現(xiàn)一個(gè)函數(shù)來(lái)遍歷查詢字符串,獲取查詢參數(shù)與值,生成mdx查詢語(yǔ)句并返回該mdx字符串。關(guān)鍵的偽代碼描述如下: