宋立 余利群
摘要:本文以某集團(tuán)公司為背景,探討了應(yīng)用于有色金屬行業(yè)的行情平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),從項(xiàng)目的建設(shè)目標(biāo)出發(fā),闡述了項(xiàng)目的范圍和功能,技術(shù)選用,設(shè)計(jì)和數(shù)據(jù)聚合方式等,并總結(jié)了平臺(tái)的應(yīng)用效果和意義,平臺(tái)的設(shè)計(jì)思路和實(shí)現(xiàn)方式,采用的技術(shù)手段在同行業(yè)中具有一定的參考意義。
關(guān)鍵詞:行情;信息聚合;企業(yè)外部數(shù)據(jù)
一、引言
自“十四五”以來(lái),國(guó)家一系列的政策、戰(zhàn)略規(guī)劃和指導(dǎo)意見(jiàn)的頒布,有效地指導(dǎo)了有色金屬行業(yè)的智能礦山建設(shè)[1]。隨著礦業(yè)企業(yè)信息化進(jìn)程的加快,企業(yè)產(chǎn)生的數(shù)據(jù)越來(lái)越多,因此應(yīng)用數(shù)據(jù)技術(shù)合理規(guī)劃,建設(shè)數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)中臺(tái),在此基礎(chǔ)之上進(jìn)行數(shù)據(jù)的分析、挖掘和提供服務(wù)是很多企業(yè)的信息化戰(zhàn)略規(guī)劃路徑。在目前常用的企業(yè)數(shù)據(jù)倉(cāng)庫(kù)構(gòu)成當(dāng)中,主要分為生產(chǎn)經(jīng)營(yíng)數(shù)據(jù)、企業(yè)內(nèi)部數(shù)據(jù)和企業(yè)外部數(shù)據(jù)[2],在目前已有的信息化建設(shè)基礎(chǔ)之上,前二者都已經(jīng)比較容易進(jìn)行采集和處理以支持企業(yè)的生產(chǎn)和管理信息化,而企業(yè)外部數(shù)據(jù)往往被信息化的建設(shè)者忽略,這部分?jǐn)?shù)據(jù)可以有效地和公司內(nèi)部數(shù)據(jù)建立起聯(lián)系,進(jìn)行協(xié)同建模和分析,從而能更有效地進(jìn)行預(yù)測(cè)和決策,是數(shù)據(jù)倉(cāng)庫(kù)建立的重要一環(huán)。
二、項(xiàng)目概述
(一)項(xiàng)目建設(shè)背景
目前企業(yè)的信息化建設(shè)中,移動(dòng)端具備便攜性、碎片化、易于交互等特點(diǎn),在各個(gè)企業(yè)的日常辦公甚至專項(xiàng)業(yè)務(wù)當(dāng)中已經(jīng)應(yīng)用廣泛,集團(tuán)目前已經(jīng)推廣了“企業(yè)微信”作為日常辦公、溝通和交流的工具,應(yīng)用效果較好。但在企業(yè)微信的其他功能上發(fā)覺(jué)較少,對(duì)其提供的豐富移動(dòng)端功能和開(kāi)發(fā)平臺(tái)并沒(méi)有充分利用。基于以上兩點(diǎn),考慮以企業(yè)微信平臺(tái)為載體,獲取如貴金屬和有色金屬行情、匯率、資本市場(chǎng)動(dòng)態(tài)等和從事行業(yè)高度相關(guān)的企業(yè)外部數(shù)據(jù)并進(jìn)行持久化存儲(chǔ)和分析展示,借助企業(yè)微信的移動(dòng)端特性實(shí)現(xiàn)更好的信息展示和分析、信息聚合、消息推送、數(shù)據(jù)服務(wù)提供等,不僅有利于完善集團(tuán)的數(shù)據(jù)倉(cāng)庫(kù),為進(jìn)行更廣泛的數(shù)據(jù)挖掘和決策打下基礎(chǔ),助推整體信息化建設(shè),更可以為子公司拓展信息獲取渠道,起到統(tǒng)一數(shù)據(jù)規(guī)格,進(jìn)一步實(shí)現(xiàn)數(shù)據(jù)標(biāo)準(zhǔn)化的作用。
(二)項(xiàng)目目標(biāo)
通過(guò)行情平臺(tái)建設(shè),為企業(yè)的內(nèi)部管理、以及企業(yè)外部上下游供應(yīng)鏈提供有力的融合措施,提高公司內(nèi)部獲取行業(yè)價(jià)格信息的便捷性,提升公司管理與辦公信息化體驗(yàn)方式,收集企業(yè)外部數(shù)據(jù)作為公司的數(shù)據(jù)資產(chǎn),進(jìn)一步完善集團(tuán)的數(shù)據(jù)標(biāo)準(zhǔn)化工作和數(shù)據(jù)倉(cāng)庫(kù)。
三、項(xiàng)目實(shí)現(xiàn)與應(yīng)用
(一)建設(shè)內(nèi)容
1.業(yè)務(wù)功能
以企業(yè)微信平臺(tái)為依托,借助多種信息技術(shù)獲取企業(yè)外部數(shù)據(jù),并建立多個(gè)業(yè)務(wù)模塊進(jìn)行展示分析。如行情、行業(yè)資訊、經(jīng)濟(jì)指標(biāo)、匯率等,加快獲取信息的效率,完善企業(yè)的數(shù)據(jù)構(gòu)成。主要功能模塊如下:
(1)行情模塊
包括業(yè)務(wù)直接相關(guān)的行情數(shù)據(jù)的獲取,存儲(chǔ)和展示分析,如金、銀、電解銅、鉬、鋁、鉛金屬期貨和現(xiàn)貨的行情、歷史走勢(shì)等;針對(duì)重要貨幣如離岸人民幣、美元、歐元等的匯率實(shí)時(shí)匯率數(shù)據(jù)的存儲(chǔ),分析和展示并進(jìn)行匯率的換算;重要全球期指股指的實(shí)時(shí)行情和國(guó)內(nèi)股票行情,對(duì)行業(yè)內(nèi)企業(yè)股票信息予以重點(diǎn)關(guān)注。該模塊行情可通過(guò)切換商品、外匯、股票進(jìn)行詳細(xì)指標(biāo)查看,實(shí)時(shí)獲取最新動(dòng)態(tài)指標(biāo)變化信息,并提供綜合面板快速聚焦關(guān)鍵指標(biāo)信息,此外在三點(diǎn)進(jìn)行行情信息的推送,包括重點(diǎn)關(guān)注的股票信息、金銅價(jià)格信息等。
(2)資訊模塊
資訊包括多個(gè)渠道的財(cái)經(jīng)新聞、貴金屬資訊、有色金屬資訊、礦業(yè)資訊的最新行業(yè)新聞資訊,以信息流的形式進(jìn)行展示和聚合,支持自定義收藏和存儲(chǔ),并進(jìn)行定時(shí)推送,將最相關(guān)的數(shù)條資訊分時(shí)推送,提升信息獲取效率。
(3)指標(biāo)模塊
指標(biāo)模塊側(cè)重歷史數(shù)據(jù)比對(duì)功能,共分為十大子模塊:存款利率、貸款利率、存款準(zhǔn)備金率、工業(yè)品出廠價(jià)格指數(shù)、居民消費(fèi)價(jià)格指數(shù)、三大產(chǎn)業(yè)貢獻(xiàn)率、三大產(chǎn)業(yè)對(duì)GDP拉動(dòng)、三大需求對(duì)GDP貢獻(xiàn)、國(guó)內(nèi)生產(chǎn)總值(季度)、國(guó)內(nèi)生產(chǎn)總值(年),不同模塊側(cè)重展現(xiàn)要素不同,對(duì)于不同的指標(biāo)采用不同的交互模式,進(jìn)行數(shù)據(jù)的存儲(chǔ),對(duì)比分析和查看。
(4)自定義模塊
可以根據(jù)自身需求,通過(guò)添加自選指標(biāo)進(jìn)行快捷查看,對(duì)主頁(yè)中的所有內(nèi)容進(jìn)行個(gè)人定制,支持金屬、匯率、股票三大看板添加自選數(shù)據(jù),添加的數(shù)據(jù)可點(diǎn)擊查看詳情,獲取即時(shí)的價(jià)格、漲跌額、漲跌幅及歷史K線數(shù)據(jù)。
(5)推送模塊
借助企業(yè)微信的消息推送功能,在以上的業(yè)務(wù)模塊中嵌入推送功能,可以從后臺(tái)對(duì)推送對(duì)象進(jìn)行設(shè)置,根據(jù)不同的推送對(duì)象進(jìn)行不同內(nèi)容的推送,主要包括行情信息,資訊信息等。
系統(tǒng)功能架構(gòu)如下圖所示:
2.技術(shù)架構(gòu)
考慮到系統(tǒng)基于企業(yè)微信平臺(tái),并需要滿足不同平臺(tái)如手機(jī)、平板、PC等多個(gè)應(yīng)用場(chǎng)景,出于兼容性的考慮,整體采用B/S架構(gòu)進(jìn)行實(shí)現(xiàn)。利用云平臺(tái)上的企業(yè)微信web應(yīng)用服務(wù)器,為平臺(tái)功能提供服務(wù)和數(shù)據(jù)支持,并對(duì)外開(kāi)放中金企業(yè)微信web應(yīng)用。在騰訊企業(yè)微信平臺(tái)配置部署此移動(dòng)web應(yīng)用,由企業(yè)微信應(yīng)用實(shí)現(xiàn)全部數(shù)據(jù)檢索,統(tǒng)一用戶認(rèn)證,權(quán)限校驗(yàn)等業(yè)務(wù)。在系統(tǒng)架構(gòu)上,分為數(shù)據(jù)存儲(chǔ)層、業(yè)務(wù)服務(wù)層和展示應(yīng)用層:
(1)數(shù)據(jù)存儲(chǔ)層
實(shí)現(xiàn)了數(shù)據(jù)源的集成和數(shù)據(jù)聚合,通過(guò)不同內(nèi)容源渠道,對(duì)接可提供接口的資訊數(shù)據(jù)和行情數(shù)據(jù)等使用企業(yè)微信web應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)接收,對(duì)確認(rèn)免授權(quán)內(nèi)容原則進(jìn)行數(shù)據(jù)爬取,同時(shí),對(duì)獲取的數(shù)據(jù)根據(jù)實(shí)際需要進(jìn)行本地持久化存儲(chǔ),持久化存儲(chǔ)技術(shù)上選用MYSQL數(shù)據(jù)庫(kù),實(shí)現(xiàn)靈活的數(shù)據(jù)備份、遷移、保證應(yīng)用系統(tǒng)的性能。
(2)業(yè)務(wù)服務(wù)層
提供數(shù)據(jù)的處理,用戶交互邏輯,身份校驗(yàn),定時(shí)任務(wù),信息推送等應(yīng)用平臺(tái)關(guān)鍵功能,采用Django框架實(shí)現(xiàn)整個(gè)業(yè)務(wù)服務(wù)層,保證了較快的開(kāi)發(fā)和迭代周期,并與企業(yè)微信平臺(tái)進(jìn)行有效的集成。
(3)展示應(yīng)用層
通過(guò)HTML5頁(yè)面在企業(yè)微信web端進(jìn)行展示,實(shí)現(xiàn)圖表、數(shù)據(jù)、大屏、分析和信息流等多種類型的數(shù)據(jù)展示。
3.安全設(shè)計(jì)
充分利用公有云和SaaS應(yīng)用的安全性,對(duì)數(shù)據(jù)庫(kù)進(jìn)行專有的安全配置,并設(shè)置了相應(yīng)的數(shù)據(jù)庫(kù)的備份策略和應(yīng)用備份策略,進(jìn)行安全加固;利用企業(yè)微信平臺(tái)的安全認(rèn)證,建立基于用戶的認(rèn)證服務(wù)系統(tǒng),實(shí)現(xiàn)用戶鑒權(quán)、個(gè)人信息管理。對(duì)于數(shù)據(jù)源的渠道進(jìn)行確認(rèn),保證數(shù)據(jù)接口的成熟、可靠和合法,以保證數(shù)據(jù)獲取的穩(wěn)定性。
(二)具體設(shè)計(jì)與實(shí)現(xiàn)
1.行情模塊
可以通過(guò)點(diǎn)擊切換商品、外匯、股票。行情二級(jí)頁(yè)簽包含熱點(diǎn)、金屬期貨、金屬現(xiàn)貨、能源化工內(nèi)容,點(diǎn)擊具體商品進(jìn)入商品詳情頁(yè)面。點(diǎn)擊添加自選,可以直接將商品添加為自選關(guān)注的內(nèi)容,后期可在自選模塊快速檢索到該商品。若要取消自選,再次點(diǎn)擊取消自選即可。
匯率包含及時(shí)匯率和外匯行情內(nèi)容。即時(shí)匯率包含常用匯率:在岸人民幣、離岸人民幣、歐元兌人民幣、英鎊兌人民幣、港幣兌人民幣、美元指數(shù),點(diǎn)擊可查看歷史走勢(shì)K線,支持添加為自選。通過(guò)切換基準(zhǔn)貨幣可查看當(dāng)下人民幣牌價(jià),可點(diǎn)擊切換現(xiàn)匯買入和現(xiàn)鈔買入兩種模式,查看對(duì)應(yīng)的貨幣換算金額。
股票中包括大盤(pán)股指:上證指數(shù)、深證成指、恒生指數(shù)、道瓊斯、納斯達(dá)克、波羅的海BDI指數(shù)。系統(tǒng)內(nèi)置相關(guān)企業(yè)的股價(jià)行情,用戶可點(diǎn)擊添加股票選擇自己的關(guān)注的股票。
2.主頁(yè)
行情動(dòng)態(tài)默認(rèn)進(jìn)入中心頁(yè),作為整個(gè)系統(tǒng)的主頁(yè),中心頁(yè)匯聚了關(guān)鍵指標(biāo)信息,包含常用匯率、熱點(diǎn)商品、股指,可以通過(guò)點(diǎn)擊對(duì)應(yīng)指標(biāo)查看詳情,主頁(yè)支持自定義,可以通過(guò)用戶個(gè)人的企業(yè)微信賬號(hào)進(jìn)行鑒權(quán),以便定制個(gè)性化的主頁(yè)。根據(jù)自身需求,通過(guò)添加自選指標(biāo)進(jìn)行快捷查看,支持商品、匯率、股票三大看板添加自選數(shù)據(jù),添加的數(shù)據(jù)可點(diǎn)擊查看詳情,獲取即時(shí)的價(jià)格、漲跌額、漲跌幅及歷史K線數(shù)據(jù)。
3.指標(biāo)模塊
獲取前文中提到的宏觀經(jīng)濟(jì)指標(biāo),并進(jìn)行存儲(chǔ)之后,根據(jù)不同的指標(biāo)類型采用不同的展示方式,HTML5的圖表展示采用echarts框架,以實(shí)現(xiàn)更好的交互效果。不同的指標(biāo)對(duì)應(yīng)的展示方式如下:
(1)存款利率、取款利率等
采用環(huán)形圖和文字指標(biāo)的方式進(jìn)行展示,重點(diǎn)展示出利率的具體數(shù)值,以起到醒目的目的。
(2)存款準(zhǔn)備金率、工業(yè)品出廠價(jià)格指數(shù)、居民消費(fèi)價(jià)格指數(shù)、國(guó)內(nèi)生產(chǎn)總值(季度)、國(guó)內(nèi)生產(chǎn)總值(年)等。這些指標(biāo)的采用柱狀圖的設(shè)計(jì)進(jìn)行展示。此外要對(duì)變化的幅度進(jìn)行分析,通常的變化幅度分析會(huì)應(yīng)用折線圖,因此采用折線圖和柱狀圖組和展示。在交互層面可以通過(guò)點(diǎn)擊不同的坐標(biāo)進(jìn)行某個(gè)時(shí)間點(diǎn)具體數(shù)據(jù)的查看,并引入拖動(dòng)手勢(shì)進(jìn)行坐標(biāo)的變換和縮放,更利于在移動(dòng)端進(jìn)行查看。
(3)三大產(chǎn)業(yè)貢獻(xiàn)率、三大產(chǎn)業(yè)對(duì)GDP拉動(dòng)、三大需求對(duì)GDP貢獻(xiàn)等。這幾個(gè)指標(biāo)均要體現(xiàn)出三大產(chǎn)業(yè)對(duì)于指標(biāo)的不同拉動(dòng)作用,因此選用餅圖和文字指標(biāo)共同構(gòu)建的方式進(jìn)行展示,此外為了體現(xiàn)不同產(chǎn)業(yè)貢獻(xiàn)率的變化,用折線圖在餅圖下方予以體現(xiàn)變化趨勢(shì),用戶可以通過(guò)點(diǎn)擊不同的餅圖圖例和折線圖進(jìn)行聯(lián)動(dòng),以便實(shí)現(xiàn)單一的產(chǎn)業(yè)分析和多個(gè)產(chǎn)業(yè)的對(duì)比分析。
4.資訊模塊
支持多渠道的行業(yè)信息聚合,并將不同渠道的數(shù)據(jù)進(jìn)行清洗和轉(zhuǎn)碼之后形成統(tǒng)一的格式,以信息流的形式進(jìn)行展示,并且支持用戶的個(gè)人收藏和檢索。資訊信息按照內(nèi)容的分布分為財(cái)經(jīng)信息、行業(yè)信息、礦業(yè)信息,根據(jù)不同的數(shù)據(jù)源、內(nèi)容提供方和咨詢中的關(guān)鍵字進(jìn)行智能分類。信息流按照時(shí)間倒序排列,確保用戶能看到最新消息。
5.消息推送
借助企業(yè)微信平臺(tái)的消息推送機(jī)制,獲取企業(yè)微信Token到應(yīng)用服務(wù)器,通過(guò)Token驗(yàn)證之后讀取配置好的推送配置文件,調(diào)用企業(yè)微信的推送API從而實(shí)現(xiàn)消息的推送。推送API的調(diào)用通過(guò)定時(shí)任務(wù)來(lái)實(shí)現(xiàn)控制,可以進(jìn)行固定時(shí)間的行情信息推送,資訊推送,預(yù)警信息推送等。此外將配置文件寫(xiě)入后臺(tái),可以修改推送對(duì)象,并根據(jù)推送對(duì)象的不同發(fā)送不同的內(nèi)容,充分利用了移動(dòng)端的功能。
6.數(shù)據(jù)獲取
根據(jù)不同的功能模塊的數(shù)據(jù)要求,采用了不同的數(shù)據(jù)獲取方式,針對(duì)實(shí)時(shí)性較高的行情數(shù)據(jù),采用實(shí)時(shí)數(shù)據(jù)接口,通過(guò)Django解析接口中的JSON數(shù)據(jù)實(shí)現(xiàn)存儲(chǔ)和展示;對(duì)于指標(biāo)數(shù)據(jù)和現(xiàn)貨行情數(shù)據(jù),該部分?jǐn)?shù)據(jù)實(shí)時(shí)性要求較低,更新頻率也較低,則在服務(wù)器上建立服務(wù)用于被動(dòng)接收數(shù)據(jù)。對(duì)于資訊等信息,需要獲取數(shù)據(jù)之后進(jìn)行智能區(qū)分資訊類型,則采用接口和網(wǎng)頁(yè)抓取相結(jié)合的形式獲取文本和圖片信息,之后經(jīng)過(guò)中間層處理得到一致的數(shù)據(jù)規(guī)格,在針對(duì)文本進(jìn)行分析,從而實(shí)現(xiàn)資訊的分類和展示。數(shù)據(jù)采用存儲(chǔ)和展示分離的方式實(shí)現(xiàn),以保證數(shù)據(jù)的實(shí)時(shí)性和有效性,數(shù)據(jù)接口調(diào)用的同時(shí)直接發(fā)送到前端進(jìn)行展示,同時(shí)中間層進(jìn)行存儲(chǔ)操作。此外,針對(duì)不同數(shù)據(jù)展示對(duì)實(shí)時(shí)性的要求,設(shè)置了不同的數(shù)據(jù)更新頻率和接口調(diào)用頻率,保證系統(tǒng)的性能穩(wěn)定,避免了數(shù)據(jù)沖突。
(三)項(xiàng)目應(yīng)用效果和意義
項(xiàng)目的設(shè)計(jì)從企業(yè)的實(shí)際出發(fā),貼合了企業(yè)員工最迫切的信息獲取需求,依托于公司的移動(dòng)辦公平臺(tái)進(jìn)行開(kāi)發(fā)和設(shè)計(jì),有效地降低了開(kāi)發(fā)成本,提升了項(xiàng)目的集成程度。本項(xiàng)目借鑒信息聚合的思想,將公司管理層和員工關(guān)注的企業(yè)外部信息進(jìn)行收集,并統(tǒng)一進(jìn)行展示,大大地提升了信息獲取的效率,項(xiàng)目迄今為止集成了財(cái)經(jīng)類媒體網(wǎng)站、統(tǒng)計(jì)局信息、金融行情相關(guān)機(jī)構(gòu)、金屬行情機(jī)構(gòu)、專業(yè)咨詢機(jī)構(gòu)等的數(shù)據(jù)源共計(jì)22個(gè),涵蓋了業(yè)內(nèi)大部分關(guān)注的行情、資訊、經(jīng)濟(jì)指標(biāo)等信息,省去了每個(gè)不同類型的數(shù)據(jù)都要去不同的網(wǎng)站進(jìn)行瀏覽和搜索的麻煩。數(shù)據(jù)獲取效率提升了80%以上。
從信息化建設(shè)和技術(shù)上來(lái)看,本項(xiàng)目的應(yīng)用是對(duì)公有云平臺(tái)和PaaS應(yīng)用的初步探索,充分利用了公有云平臺(tái)易于訪問(wèn)和維護(hù)的特性,提升了項(xiàng)目的迭代效率,降低了維護(hù)成本。此外充分發(fā)掘了企業(yè)微信平臺(tái)提供的服務(wù),省去了成本的同時(shí)也提升了項(xiàng)目建設(shè)效率。有色金屬礦山行業(yè)信息化起步較晚,項(xiàng)目中采用的PaaS和公有云均是基于云計(jì)算技術(shù)而產(chǎn)生的概念,項(xiàng)目的成功實(shí)施可以說(shuō)是對(duì)云計(jì)算技術(shù)的一次成功探索,在行業(yè)內(nèi)也具有借鑒意義。
最后,企業(yè)外部數(shù)據(jù)作為企業(yè)數(shù)據(jù)倉(cāng)庫(kù)的重要組成部分,該項(xiàng)目中獲取的數(shù)據(jù)可以成為集團(tuán)公司的重要數(shù)據(jù)資產(chǎn),可以和公司現(xiàn)有的其他信息化系統(tǒng)形成聯(lián)動(dòng),通過(guò)多種數(shù)據(jù)的交互集成,實(shí)現(xiàn)更多維度的數(shù)據(jù)分析,更充分的發(fā)揮數(shù)據(jù)價(jià)值,是企業(yè)信息化建設(shè)中的重要組成部分。
作者單位:宋立? ? 中金黃金股份有限公司
余利群? ? 中國(guó)黃金集團(tuán)內(nèi)蒙古礦業(yè)有限公司
參? 考? 文? 獻(xiàn)
[1]畢林,王晉淼.數(shù)字礦山建設(shè)目標(biāo)、任務(wù)與方法[J].金屬礦山,2019(06):148-156.
[2]趙占國(guó), 楊榮利, 劉馨蕊,等. 礦山企業(yè)數(shù)據(jù)倉(cāng)庫(kù)建設(shè)初探[J]. 礦山測(cè)量, 2011(6):28-29.