孫月瑩 張佳澤 張勝茂 鄒國華








摘要:近年來,我國的水產品貿易市場持續(xù)發(fā)展,在世界水產品貿易市場中占據了愈發(fā)重要的地位。該文基于我國水產品貿易市場的進出口數據,設計并實現了中國水產品進出口貿易數據可視化,可展示水產品進出口貿易變化。首先對獲取到的海關數據進行需求分析,其次進行數據庫設計,將數據存儲到MYSQL數據庫中,然后使用Flask框架進行開發(fā),展示頁面用Echarts渲染,結合Ajax請求實現數據可視化。該系統(tǒng)相較以往圖表等類型的數據統(tǒng)計方式有直觀、清晰的特點,便于分析水產品的貿易規(guī)律。當前,受中美貿易摩擦等因素的影響,進出口量有所下降。
關鍵詞:水產品貿易;Flask;Echarts;數據可視化
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)03-0012-04
開放科學(資源服務)標識碼(OSID):
1 引言
我國是世界上主要的水產品生產國,水產品總產量自1989年起連續(xù)30年居世界第一,占世界總產量的40%以上[1]。2020年全球新冠病毒肺炎疫情迅速蔓延,對人民群眾生命健康安全和經濟社會穩(wěn)定發(fā)展都帶來嚴重考驗[2],加之中美貿易摩擦,水產品行業(yè)也受影響[3]。目前現有的對于水產品進出口貿易數據的展示形式多為表格形式,相對單調。
數據可視化指一種表示數據或信息的技術,將數據或信息編碼為包含在圖形里的可見對象,如點、線、條等,可以把信息更加清晰有效地傳達給用戶,是數據分析或數據科學的關鍵技術之一[4]。當前,可供進行數據可視化的工具琳瑯滿目,數據可視化在各行各業(yè)中的應用也十分廣泛,應用場景也不斷增加。例如,基于CiteSpace對歷史文化名城的研究進程、趨勢和特點進行數據可視化分析,實現了對歷史文化名城的研究進程的把握[5];警務數據可視化分析可以把人腦難以處理的海量數據轉換為易于感知的圖像,利用人類感知與計算機系統(tǒng)的深度耦合,挖掘警務數據背后隱藏的信息與規(guī)律[6];在電力通信方面,基于Flask和Echarts的光纜數據管理平臺幫助實現了對光纜數據的高效高質量管理[7];軟件開發(fā)方面,有基于Flask與爬蟲技術的可視化深度學習數據標注系統(tǒng)有效提高了數據標注師對圖文數據的標注質量。
通過對各種數據可視化的對比并結合水產品貿易數據的特點,本文基于Flask和Echarts,對我國2020年的水產品進出口貿易數據進行了可視化展示,實現對水產品進出口數據更清晰的展示,便于進行水產品進出口數據的分析。
2 系統(tǒng)設計
2.1 關鍵技術
1)Flask框架,當前大多數的web管理系統(tǒng)一部分是基于SSM框架的用java語言編寫的網站,前端大同小異都是使用了html5的網頁技術。綜合文獻資料可得,基于SSM框架的web應用優(yōu)點很明顯,最大的優(yōu)勢是便于后期維護管理。但是在編寫可視化系統(tǒng)時,由于SSM框架的層次穩(wěn)定性,對于中國水產品進出口貿易數據可視化的小型web網站來說,會導致代碼量大,相較于本文采用的Python下的Flask框架會多出很多繁雜的代碼。此外,在Python下還有多款不同的web框架,Django框架最具代表性的一種。而作為重量級的開發(fā)框架,Django框架的缺點與SSM框架相似。Flask是一個輕量級的可定制框架,使用Python語言編寫,較其他同類型框架更為靈活、輕便、安全且容易上手,在短時間內就可以完成功能豐富的中小型網站。另外,Flask還有很強的定制性,用戶可以根據自己的需求通過添加插件實現各種功能的拓展[7]。
2)Echarts可視化,本文目的是進行數據可視化展示,目前市場上可以做可視化的工具較多,綜合本文研究內容開發(fā)時間短和盡量減少開發(fā)成本的特點,確定采用 Echarts對數據進行可視化展示。Echarts是國內IT三巨頭之一的百度推出一款相對較為成功的開源項目,總體上來說它有這樣的一些優(yōu)點:
①Echarts.js容易使用。
Echarts.js的官方文檔比較詳細,而且官網中提供大量的使用示例供開發(fā)者使用。
②Echarts.js支持按需求打包。
Echarts.js官網提供了在線構建的工具,在線構建項目時,選擇項目需要使用到的模塊,從而達到減小JS文件體積的效果。
③Echarts.js開源。
④支持中國地圖、世界地圖功能。
這個在其他的一些可視化工具中是沒有的,而本文統(tǒng)計的數據在進行可視化展示時借助中國地圖和世界地圖會更加形象。
3)開發(fā)工具
后端開發(fā)使用的IDE為JetBrains開發(fā)的PyCharm工具。該IDE提供了一些高級功能以用于支持Flask框架下的專業(yè)Web開發(fā)。在進行前端頁面編寫時,采用了HBuilder工具。在HBuilder中,前端代碼具有自動補全的功能,一些提示使得代碼的格式更加規(guī)范。加載文件時有自動識別的功能,以防止文件路徑輸入錯誤導致文件加載失敗。此外,PyCharm和HBuilder兩個軟件具有并行開發(fā)的功能,在HBuilder中編寫的前端代碼PyCharm中自動同步,大大提高了開發(fā)效率。在數據庫部分使用的是MYSQL數據庫,MYSQL是一個關系型數據庫管理系統(tǒng)。其社區(qū)版免費,且性能足夠滿足本系統(tǒng)的需求。此外,MYSQL還提供加密功能,該功能對于需要存儲涉及敏感信息的系統(tǒng)是十分必要的。使用的數據庫管理工具是Navicat,以直覺化的圖形用戶界面而建,使得開發(fā)者可以以安全簡單的方式創(chuàng)建、組織、訪問并共用信息。
2.2 系統(tǒng)架構
1)功能分析,通過對本文要實現的水產品進出口貿易系統(tǒng)進行功能分析,得到如圖1所示的系統(tǒng)用例圖。
通過對水產品進出口貿易可視化系統(tǒng)的非功能性進行分析得到如表1所示的系統(tǒng)非功能性需求。
2)非功能分析,通過對中國水產品進出口貿易數據可視化系統(tǒng)的基本功能需求和非功能需求分析,得到本系統(tǒng)的總體功能結構圖,如圖2所示。本可視化平臺主要包括兩個頁面,一個是從中國角度展示國內的水產品貿易情況,例如各時間段的進出口趨勢、進出口貿易方式的采用頻率、各省份的進出口狀況等;另一個頁面是從世界的角度展示同時間各國間的水產品貿易情況。
水產品進出口貿易系統(tǒng)的總體架構如圖3所示,分為前端和后端兩部分,實現前后端分離的開發(fā)模式,后端提供接口,前端利用Ajax請求獲取數據。開發(fā)流程大致為:首先將海關數據持久化存儲到MYSQL數據庫中,后端使用Flask框架編寫程序。在Flask框架中調用MYSQL數據庫中的數據,同時將數據解析成與前端匹配的數據形式,利用前端組件Ajax實現前后端數據交互,實現前端同步展示后端數據。使用Echarts等組件將數據可視化為圖形模塊,展示在瀏覽器的前端頁面中供用戶瀏覽。
3 數據庫設計
3.1 數據分析
爬取到的海關數據是按照月份分進口數據和出口數據兩個文件存放的。兩個文件中的數據屬性相同,含有的數據屬性有:數據年月、商品編碼、商品名稱、貿易伙伴編碼、貿易伙伴名稱、貿易方式編碼、貿易方式名稱、注冊地編碼、注冊地名稱、第一數量、第一計量單位、第二數量、第二數量單位、出口金額(美元)、洲編碼、洲名稱。因為在數據可視化時要以分貿易伙伴、分注冊地、分時間、分商品、分方式進行,所以,先根據可視化的內容對數據庫進行設計,對數據進行結構化存儲。初步計劃分為8個表:洲別表、貿易伙伴表、貿易方式表、收發(fā)貨人注冊地表、商品表、計量單位表、進口數據表和出口數據表。洲編碼作為洲別表的主鍵,貿易伙伴編碼作為貿易伙伴表的主鍵,貿易方式編碼作為貿易方式表的主鍵,收發(fā)貨人注冊地表作為收發(fā)貨人注冊地表的主鍵,商品編碼作為商品表的主鍵,計量單位編碼作為計量單位表的主鍵。進口數據表和出口數據表兩個表的結構一致,為每一條進出口貿易數據設置一個ID作為主鍵,在這兩個表中都設置外鍵:貿易伙伴編碼、貿易方式編碼、注冊地編碼、第一數量單位編碼、第二數量單位編碼等與其他表構建關系實現結構化存儲。
3.2 數據結構與關系
1)概念結構設計,根據以上分析可得到本可視化系統(tǒng)的E-R圖,如圖4所示。其中進口數據表和出口數據表都是通過數據稅號、貿易伙伴編碼、貿易方式編碼、注冊地編碼、第一數量單位編碼、第二數量單位編碼屬性分別與商品表、貿易伙伴表、貿易方式表、收發(fā)貨人注冊地表、計量單位表建立聯系。因為有第一數量單位編碼和第二數量單位編碼,所以進口數據表和出口數據表兩個表都與計量單位表有兩個聯系,計量單位表和進口數據表、出口數據表都是一對二的關系。貿易伙伴表通過所在洲編碼這個外鍵與洲別表建立聯系。
2)邏輯結構設計,根據E-R圖映射的關系模式如下(下劃線表示主鍵、波浪線表示外鍵):
洲別表(洲編碼、洲名稱)。
貿易伙伴表(貿易伙伴編碼、貿易伙伴名稱、所在洲編碼)。
貿易方式表(貿易方式編碼、貿易方式名稱)。
收發(fā)貨人注冊地表(注冊地編碼、注冊地名稱)。
商品表(稅號、商品名稱及說明)。
計量單位表(計量單位編碼、計量單位名稱)。
進口數據表(數據ID、數據年月、進口數據稅號、貿易伙伴編碼、貿易方式編碼、注冊地編碼、第一數量、第一數量單位編碼、第二數量、第二數量單位編碼、進口金額)。
出口數據表(數據ID、數據年月、出口數據稅號、貿易伙伴編碼、貿易方式編碼、注冊地編碼、第一數量、第一數量單位編碼、第二數量、第二數量單位編碼、出口金額)。
4 系統(tǒng)實現
4.1 后臺服務
根據上面進行的需求分析和系統(tǒng)設計,最終實現的系統(tǒng)的時序圖如圖5所示。系統(tǒng)主要實現的是:通過前后端的數據交互,使得用戶可以動態(tài)地瀏覽中國水產品貿易信息以及中國同世界各國間的水產品貿易信息。
4.2 前臺展示
本系統(tǒng)對中國水產品進出口貿易數據實現了可視化展示。主要有兩個頁面,一個是從中國的角度展示水產品貿易情況,如圖6所示。在該頁面中,首先動態(tài)顯示了本年度中國水產品總進口金額和總出口金額(單位是美元)。右上角的時間戳動態(tài)顯示了通過中國地圖可視化中國各省市2020年的水產品進出口情況。當鼠標經過某個省份時,會動態(tài)地顯示該省份的年度進口金額和出口金額。每個省份根據進出口金額的不同顯示為不同顏色,直觀地反映了中國水產品進出口市場的分布情況,如圖6所示,東南沿海省份的顏色偏深,根據圖例,即可直觀地得出我國主要的水產品進出口省份集中在東南沿海地區(qū)。此外容易觀察得到,因為地域條件的限制,西部、西北部內陸地區(qū)的省份圖標顏色較淺,水產品進出口貿易額相對較少。
頁面中左上角的折線圖可視化了中國2020年各月份的水產品進出口金額的變化情況。鼠標經過折線上的某個月份時,展示該月份的進口金額和出口金額,兩條折線之間的差距即為該月份的貿易順差額。該折線圖一方面展示了在2020年間我國的水產品貿易進口和出口的變化趨勢,另一方面展示了貿易順差額的變化趨勢。此外,從圖中可以直觀地可以得到我國常年呈現貿易順差。
頁面右側的兩個柱狀圖可視化了我國2020年新冠病毒肺炎疫情背景下水產品出口和進口金額前十位的省份,鼠標經過時顯示該省份的累計進口、出口金額。根據省份的名稱可以直觀地得到:山東省是我國水產品進出口的第一大省份;進出口金額前十省份的進出口金額之和占到了我國累計進出口金額的絕大部分。
餅狀圖可視化了2020年間我國在水產品出口和進口貿易中采用各種貿易方式的頻率。從餅狀圖中可以直觀地得到,我國在同世界各國間的水產品貿易中主要采用的貿易方式為一般貿易,在水產品出口貿易中還常采用進料加工貿易方式。
另一個頁面是從世界的角度展示2020年我國同世界各國的水產品貿易情況,基本機制和中國一致,鼠標經過某個國家會展示該國家或地區(qū)的名稱以及2020年我國出口到該國的水產品總金額和從該國家進口的水產品總金額。兩份數據同時展示更直觀地反映出我國同世界各地區(qū)的水產品貿易是順差還是逆差。例如,鼠標經過美國時,顯示國家名稱“美國”、2020年我國出口到美國的水產品總金額、2020年我國從美國進口的水產品總金額。根據進出口數據來看,顯然我國同美國之間的水產品貿易,出口金額大于進口金額,呈現為貿易順差,所以,我國在與美國之間進行水產品進出口貿易時需考慮貿易順差對我國的優(yōu)勢與危害,及時調整我國的水產品進出口貿易政策,保證兩國間的水產品貿易持續(xù)健康發(fā)展。
5 總結與展望
本文主要實現2020年間新冠病毒肺炎疫情背景下我國水產品進出口數據可視化,數據可視化部分采用的是Python中的Flask框架,Flask輕量級框架的開發(fā)優(yōu)勢在本文實現的系統(tǒng)中得到了很好體現。Echarts作為前端渲染工具的開發(fā)優(yōu)勢在本文實現的系統(tǒng)中也得到了很好的體現,尤其是其繪制的中國地圖和世界地圖部分,很好地展示了我國的水產品貿易情況。通過本文實現的可視化系統(tǒng)來看,2020年我國水產品貿易市場的貿易雙額在2020年相較于往年都出現了不同程度的下降,貿易順差趨勢擴大。同時,東部主要水產品貿易省份的貿易額也都不同程度地出現了下降。
水產品進出口貿易萎縮的情況下,做好內銷成了我國水產品貿易市場的當務之急。我國應不斷發(fā)掘國內水產品貿易市場的潛力,制定相關政策,保證我國水產品貿易市場的持續(xù)健康發(fā)展。繼續(xù)加強市場監(jiān)管制度管理,一方面保證出口質量,避免出口鏈因出口質量問題出現大幅斷鏈,另一方面,讓本國人民放心購買本國產品,釋放消費潛能以幫助水產品貿易市場順利渡過難關。此外,還要繼續(xù)關心扶持我國東南沿海地區(qū)主要水產品貿易省份的水產品進出口情況,幫助其繼續(xù)發(fā)揮地域優(yōu)勢,促進我國水產品進出口貿易市場的持續(xù)發(fā)展。
參考文獻:
[1] 趙海軍,楊志龍,劉漢雄,等.新冠肺炎疫情對我國進出口水產品行業(yè)影響及應對[J].食品安全質量檢測學報,2020,11(22):8180-8185.
[2] 甄玉潔,陳述平.2020年我國水產品進出口貿易情況分析[J].科學養(yǎng)魚,2021(4):5-6.
[3] 莊海燕.數據可視化分析在創(chuàng)新城市建設中的應用探析[J].無線互聯科技,2019,16(3):119-122.
[4] 張楊,何依.歷史文化名城的研究進程、特點及趨勢——基于CiteSpace的數據可視化分析[J].城市規(guī)劃,2020,44(6):73-82.
[5] 何巍.警務數據可視化分析[J].福建電腦,2020,36(6):81-83.
[6] 張藝豪,盛丹紅,翟丹丹.基于Flask和Echarts的光纜數據管理平臺[J].電腦編程技巧與維護,2021(6):94-95.
[7] 趙北庚.基于Flask與爬蟲技術的可視化深度學習數據標注系統(tǒng)[J].電子制作,2020(20):36-37.
【通聯編輯:謝媛媛】