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