李青 朱曉輝
摘要:信息化技術(shù)已在光纜企業(yè)得到較好的應(yīng)用,很多企業(yè)都先后開發(fā)了各種管理系統(tǒng)來提升生產(chǎn)和管理效率,但由于各系統(tǒng)開發(fā)時間不同,各系統(tǒng)相互獨立,無法實現(xiàn)資源共享。為進一步提升企業(yè)信息化管理能力,該文設(shè)計并實現(xiàn)了多源數(shù)據(jù)集成系統(tǒng),采用分布式架構(gòu),利用Web API技術(shù)對四個異地系統(tǒng)的生產(chǎn)數(shù)據(jù)進行遠程訪問,從而實現(xiàn)數(shù)據(jù)共享,并使企業(yè)管理人員能準確分析各生產(chǎn)線生產(chǎn)數(shù)據(jù)、產(chǎn)品合格率等關(guān)鍵數(shù)據(jù)。實驗結(jié)果表明該系統(tǒng)能有效提升企業(yè)精細化管理能力。
關(guān)鍵詞:多源數(shù)據(jù)集成;Web API;分布式架構(gòu);Windows服務(wù)
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)29-0021-05
Abstract: Information technology has been well applied in fiber optic cable companies, and many companies have developed various management systems to improve production and management efficiency. However, due to the different development time, the systems are independent of each other and cannot share resources. In order to further improve the enterprise information management ability, this paper designs and implements a multi-source data integration system. In order to share data with each other, the distributed architecture and Web API technology are used to remotely access the production data of four different systems, which enables the administrator to accurately analyze the key data of each production line and the qualification rate. Experimental results show that it can improve the companys management capabilities.
Key words: Multi-source data integration; Web API; Distributed architecture; Windows service
1 背景
我國光通信產(chǎn)業(yè)在過去幾年中迅速發(fā)展,如今已成為全球矚目的焦點。作為光通信產(chǎn)業(yè)命脈,我國光纜行業(yè)如今面臨著機遇與挑戰(zhàn)并存的局面:一方面,我國光纜的產(chǎn)量和需求均處于世界領(lǐng)先地位,在“一帶一路”等政策刺激下,未來出口份額還會進一步上升;另一方面,目前大多數(shù)光纜企業(yè)成本受控、生產(chǎn)管理系統(tǒng)老舊、新產(chǎn)品開發(fā)力度不足,企業(yè)競爭力難以進一步提升[1,2]。在這種形勢下,應(yīng)考慮“互聯(lián)網(wǎng)+”思想實現(xiàn)光纜企業(yè)的智能化轉(zhuǎn)型,既是信息化生產(chǎn)數(shù)據(jù)管理的發(fā)展趨勢,也是企業(yè)提高自身競爭力的關(guān)鍵[3]。
如何有效管理光纜生產(chǎn)數(shù)據(jù)、提高企業(yè)生產(chǎn)效率,成為企業(yè)亟待解決的重要問題。國內(nèi)多數(shù)企業(yè)生產(chǎn)數(shù)據(jù)的信息化管理還不完善,各信息化系統(tǒng)相互獨立,生產(chǎn)數(shù)據(jù)無法互聯(lián)互通,甚至日常生產(chǎn)數(shù)據(jù)仍采用人工統(tǒng)計形式,耗費人力、工時,大大降低了生產(chǎn)線效率[4]。我們需要對大量的多源生產(chǎn)數(shù)據(jù)進行有效的管理,并做一定的分析,從中直觀的讀取有價值的信息。這樣能在生產(chǎn)過程中迅速發(fā)現(xiàn)問題,做到早發(fā)現(xiàn)早解決,并隨時掌握生產(chǎn)成品率、工人工作效率等信息,提高生產(chǎn)效率,實現(xiàn)智能化管理。在信息技術(shù)飛速發(fā)展的背景下,多源數(shù)據(jù)的信息化管理已經(jīng)證明是光纜企業(yè)提高生產(chǎn)效率、提高企業(yè)效益和競爭力的有效手段[5,6]。
目前中天科技集團如東軟微纜廠的生產(chǎn)信息化建設(shè)取得階段性成果,分階段建設(shè)了生產(chǎn)管理系統(tǒng)、報修系統(tǒng)、廢料稱重系統(tǒng)、工控數(shù)據(jù)采集系統(tǒng)等,對各種數(shù)據(jù)進行信息化管理,提升了生產(chǎn)效率。但由于歷史原因,這些數(shù)據(jù)分布在不同的獨立子系統(tǒng)中,無法充分發(fā)揮數(shù)據(jù)的作用,因此日常生產(chǎn)數(shù)據(jù)仍采用人工統(tǒng)計形式,從而導致生產(chǎn)數(shù)據(jù)掌握不精確、財務(wù)部門工作繁重、無法有效掌握各生產(chǎn)線成品率、各個工人生產(chǎn)效率等重要的生產(chǎn)數(shù)據(jù)。
為進一步提升企業(yè)信息化管理能力,需要研發(fā)一套光纜生產(chǎn)企業(yè)多源數(shù)據(jù)集成系統(tǒng),使企業(yè)管理人員能實時、精確掌握各生產(chǎn)線生產(chǎn)數(shù)據(jù),為進一步提升企業(yè)精細化管理能力提供技術(shù)保證和決策支持。
2 平臺工具及技術(shù)
2.1 Web API
ASP.NET Web API(簡稱Web API)是一個開源的、理想的、構(gòu)建RESTful服務(wù)的技術(shù),是一個輕量級的框架,并且對智能手機等限制帶寬的設(shè)備支持得很好。它利用Http作為應(yīng)用層協(xié)議的特征,也支持MVC特征,像路由、控制器、action、filter、模型綁定、控制反轉(zhuǎn)或依賴注入、單元測試[7]。Http請求除了利用URI目標資源外,還需要通過Http方法指明GET、POST、PUT、DELETE等方法來Request或Response請求或返回媒體類型,可以用XML格式來表示,也可以用JSON格式來表示[8]。Web API的優(yōu)點:通用、輕量級、靈活、優(yōu)化的情況下,性能更有優(yōu)勢,能夠直接利用Http的動態(tài)網(wǎng)頁技術(shù)開發(fā)接口與功能,對交互數(shù)據(jù)格式?jīng)]有明確的規(guī)定,使得其可以更好地使用在特定的軟件運行平臺[9]。
ASP.NET Web API是基于.NET Framework的同時借用了ASP.NET MVC設(shè)計理念,便于.NET開發(fā)者接受和使用,是構(gòu)建RESTful應(yīng)用得最佳平臺。微軟從ASP.NET MVC4開始引入Web API。如今已經(jīng)升級到Web API2.2版本。
2.2 分布式架構(gòu)
在互聯(lián)網(wǎng)大行其道的今天,各種分布式系統(tǒng)已經(jīng)司空見慣。在傳統(tǒng)的B/S架構(gòu)的系統(tǒng)里,技術(shù)架構(gòu)往往是一個工程項目,各個邏輯分層都是該工程的業(yè)務(wù)邏輯模塊。但是有些網(wǎng)站,用戶群龐大,網(wǎng)站并發(fā)量高,且需求變化大,以及對網(wǎng)站的安全考慮,以上的邏輯分層在技術(shù)架構(gòu)上的實現(xiàn)會復雜得多[10]。那么考慮采用分布式架構(gòu),將系統(tǒng)拆分成多個子系統(tǒng)。
分布式架構(gòu)具有分布性、對等性、并發(fā)性。分布式架構(gòu)在空間上可以隨意分布,并且分布情況可能隨時變動;所有的節(jié)點都是對等的,在任意一個節(jié)點發(fā)生故障時不影響整體,且同一個分布式系統(tǒng)中的多個節(jié)點可以同時訪問一個共享資源[11]。相較于傳統(tǒng)架構(gòu),分布式架構(gòu)把系統(tǒng)拆分成多個子系統(tǒng),具有如下優(yōu)點:1)把模塊拆分,使用接口通信,降低模塊之間的耦合度;2)把項目拆分成若干個子項目,不同團隊負責不同的子項目;3)增加功能時只需要增加一個子項目,調(diào)用其他系統(tǒng)的接口就可以;4)可以靈活地進行分布式部署;5)提高代碼的復用性。分布式架構(gòu)的缺點是系統(tǒng)之間的交互使用遠程通信,接口開發(fā)增大工作量,但是總的來說利大于弊。
3 系統(tǒng)設(shè)計
3.1 系統(tǒng)架構(gòu)
由于所有生產(chǎn)數(shù)據(jù)分布在不同的軟件系統(tǒng)中,在項目實施前需要獲取多源數(shù)據(jù)并匯總到數(shù)據(jù)中心,以便后期對數(shù)據(jù)進行統(tǒng)計和分析,因此整個系統(tǒng)采用分布式架構(gòu),各子系統(tǒng)通過互聯(lián)網(wǎng)與遠程數(shù)據(jù)中心相連,系統(tǒng)架構(gòu)如圖1所示。
整個系統(tǒng)基于互聯(lián)網(wǎng),采用分布式技術(shù),由遠程數(shù)據(jù)中心通過Web服務(wù)向各子系統(tǒng)請求數(shù)據(jù),經(jīng)過安全認證后各子系統(tǒng)根據(jù)數(shù)據(jù)中心查詢請求向數(shù)據(jù)中心返回json數(shù)據(jù),數(shù)據(jù)中心對所有返回的數(shù)據(jù)進行處理后保存到統(tǒng)一的數(shù)據(jù)庫中,生產(chǎn)數(shù)據(jù)報表系統(tǒng)通過訪問數(shù)據(jù)庫生成各類數(shù)據(jù)報表。
3.1.1 工控機系統(tǒng)
工控機系統(tǒng)又稱為工控采集系統(tǒng),該系統(tǒng)采集工廠每天所有運作機臺的牽引機轉(zhuǎn)速,并記錄下采集的時間。通過該系統(tǒng)采集到的數(shù)據(jù),可以知道某時間段內(nèi)所有機臺牽引速度,也可以了解某臺機臺某時間段內(nèi)牽引機速度。采集并記錄下所有機臺牽引機轉(zhuǎn)速是為了能夠?qū)崟r監(jiān)督機臺的運作狀況。
3.1.2 生產(chǎn)管理系統(tǒng)
生產(chǎn)管理系統(tǒng),該系統(tǒng)采集工人們每天產(chǎn)出光纜的詳細信息,記錄下光纜的編號、規(guī)格型號、客戶名稱等信息,其中關(guān)鍵數(shù)據(jù)就是合格成品的長度、非標成品的長度、不合格成品長度以及它們的檢測時間。通過該系統(tǒng)采集的數(shù)據(jù),可以知道指定時間段內(nèi)所有成品檢測信息,也可以了解指定時間段內(nèi)某個工人或所有工人生產(chǎn)成品檢測信息。通過生產(chǎn)管理系統(tǒng),根據(jù)每個時間段每個工人的生產(chǎn)情況,合理的給工人發(fā)工資。
3.1.3 報修系統(tǒng)
報修系統(tǒng)又稱為機臺維修系統(tǒng),該系統(tǒng)采集工廠每天所有機臺故障報修信息,記錄下出現(xiàn)故障的機臺信息、維修和報修人信息、維修的時長,以及故障是否導致停機。該系統(tǒng)還采集工人們雜工信息,例如雜工類型、雜工時長。通過報修系統(tǒng),我們可以知道指定時間某臺或所有機臺的報修信息,根據(jù)這些數(shù)據(jù),可以知道在該機臺工作的工人是否因為機臺出現(xiàn)故障而導致產(chǎn)量降低。
3.1.4 地秤系統(tǒng)
地秤系統(tǒng)又稱為廢料稱重系統(tǒng),該系統(tǒng)采集工廠每天所有運作機臺因某種原因而產(chǎn)生的廢品信息,其中關(guān)鍵信息為產(chǎn)出的廢品重量。通過這個系統(tǒng),我們可以知道某段時間內(nèi)所有或某個工人產(chǎn)出廢品的信息。根據(jù)每個工人產(chǎn)出的廢品重量信息,可以避免廢品的丟失,并對廢品做出合理的安排。
3.2 數(shù)據(jù)接口定義
開發(fā)、對接Web服務(wù)接口,實現(xiàn)對生產(chǎn)管理系統(tǒng)、報修系統(tǒng)、廢料稱重系統(tǒng)、工控數(shù)據(jù)采集系統(tǒng)等多個異地系統(tǒng)遠程訪問。通過訪問各個接口,獲取多源數(shù)據(jù),然后對所采集的多源數(shù)據(jù)進行規(guī)范和整合并存入到數(shù)據(jù)庫中。
3.2.1 各個子系統(tǒng)及其數(shù)據(jù)集
生產(chǎn)數(shù)據(jù)分布于各子系統(tǒng)中,各子系統(tǒng)的數(shù)據(jù)如表1所示。
3.2.2 接口共性
3.2.2.1 訪問權(quán)限認證
該系統(tǒng)的接口統(tǒng)一采用HTTP協(xié)議的形式,接口返回數(shù)據(jù)采用json格式。所有接口均僅從該系統(tǒng)部署的服務(wù)器中發(fā)起請求,故訪問權(quán)限認證過程中簡化為限定固定IP地址的形式。為方便更改發(fā)起請求的服務(wù)器IP地址,各個對接系統(tǒng)采用配置文件的形式管理發(fā)起請求的IP限定值。各系統(tǒng)對所有接口訪問進行IP地址匹配檢查,檢查后返回相應(yīng)的狀態(tài)碼所對應(yīng)的json數(shù)據(jù)。
3.2.2.2 全局返回狀態(tài)碼
調(diào)用各系統(tǒng)接口時,可能獲得正確或錯誤的返回狀態(tài)碼,狀態(tài)碼名稱為status,統(tǒng)一規(guī)范如表2所示。
3.2.2.3 返回數(shù)據(jù)形式
接口返回數(shù)據(jù)統(tǒng)一為json格式,狀態(tài)碼為status,數(shù)據(jù)部分封裝在data內(nèi),數(shù)據(jù)可為單個對象或多個對象的數(shù)據(jù)集合,返回格式示例如下:
單個對象數(shù)據(jù):{status:200;data:{key1:value1;key2:value2;…}}
多個對象數(shù)據(jù):{status:200;data[{key1:value;key2:value2;…},{key1:
value1;key2:value2;…},…]}
接口訪問錯誤時,返回數(shù)據(jù)中附帶錯誤信息,其名稱為msg,示例如下:{status:400;msg: “日期格式不正確”}
3.2.3.4 其他
日期數(shù)據(jù)格式:“2018-08-15”
時間數(shù)據(jù)格式:“2018-08-15 20:15:30”
3.3 數(shù)據(jù)庫設(shè)計
項目中將從各個系統(tǒng)獲取到的數(shù)據(jù)存入到數(shù)據(jù)庫中,這些數(shù)據(jù)由SQL Server 2014數(shù)據(jù)庫進行統(tǒng)一管理,由于篇幅原因,此處挑選關(guān)鍵表進行說明。
3.3.1 成品檢測信息表:該表存放所有成品檢測后的相關(guān)信息
如表3所示。
3.3.2 廢品信息表:該表存放光纜生產(chǎn)過程中報廢品的相關(guān)信息
如表4所示。
3.3.3 機臺維修表
該表存放光纜生產(chǎn)過程中機臺因故障停止而報修的相關(guān)信息,如表5所示。
3.3.4 牽引速度表:該表存放機臺的牽引速度信息
如表6所示。
3.3.5 日報表:該表存放各類信息統(tǒng)計后的數(shù)據(jù)
如表7所示。
3.4 windows服務(wù)抓取數(shù)據(jù)
該系統(tǒng)創(chuàng)建一個Windows服務(wù)用來從定義的接口獲取數(shù)據(jù)。當我們啟動操作系統(tǒng)后不需要和該應(yīng)用程序進行任何交互,該程序就可以在后臺自動啟動,這樣大大簡化了工廠工人的工作,無需工人手動操作,更不會因意外耽擱或遺忘疏忽而導致延誤數(shù)據(jù)的采集。該Windows服務(wù)定義的運行時間為每天8點,在服務(wù)的OnStart事件里編寫服務(wù)啟動后所要實現(xiàn)的功能,即從成品檢測接口、廢料稱重接口、機臺維修接口和雜工接口獲取數(shù)據(jù),并將各子系統(tǒng)返回的json格式數(shù)據(jù)進行規(guī)范處理后存入數(shù)據(jù)庫,最后對數(shù)據(jù)庫各表中現(xiàn)有的數(shù)據(jù)進行分析,對關(guān)鍵數(shù)據(jù)做進一步統(tǒng)計生成報表。Windows服務(wù)的流程圖如下圖2所示。
4 系統(tǒng)功能實現(xiàn)
該系統(tǒng)定時從各個接口抓取數(shù)據(jù)并存入數(shù)據(jù)庫,可以很便捷地對庫中成品光纜檢測數(shù)據(jù)、機臺維修數(shù)據(jù)、廢料稱重數(shù)據(jù)、牽引機速度等數(shù)據(jù)進行查找。對庫中各表的數(shù)據(jù)進行統(tǒng)計匯總生成日報表,通過一張表就可以詳細了解每個工人的生產(chǎn)情況。對一段時間的數(shù)據(jù)進行分析,并將這些數(shù)據(jù)繪制成折線圖,更加直接明確的反映出數(shù)據(jù)的變化,從而挖掘隱藏在數(shù)據(jù)背后的價值。
4.1 系統(tǒng)登錄界面
如圖3所示。
4.2 系統(tǒng)主界面如圖4所示
4.3 生產(chǎn)數(shù)據(jù)列舉成品檢測數(shù)據(jù)詳細說明
4.3.1 點擊搜索
可以添加搜索條件如圖5所示,搜索結(jié)果如圖6所示,可以點擊操作下的按鈕查看成品檢測數(shù)據(jù)詳情如圖7所示。
4.3.2 統(tǒng)計報表列舉日數(shù)據(jù)報表說明
與生產(chǎn)數(shù)據(jù)報表相同,在日報表列表中點擊操作下的按鈕,可以查看詳情,在詳情頁面中點擊導出按鈕,可以導出某員工日報表詳情的excel文件,在這里選擇工人“楊桂英”為例,如圖8所示。
4.3.3 工人統(tǒng)計圖標列舉生產(chǎn)數(shù)據(jù)說明
選擇員工姓名以及查詢的起止日期,點擊搜索就可以得到某員工的生產(chǎn)數(shù)據(jù)折線圖,例如選擇員工蔡雪峰,選擇起止時間為2018-07-26 - 2018-08-10,查詢結(jié)果如圖9所示。
5 結(jié)束語
該文分析了光纜生產(chǎn)企業(yè)發(fā)展現(xiàn)狀和未來發(fā)展方向,從中天科技軟微纜廠實際情況出發(fā),針對工廠面臨的實際問題,結(jié)合工廠已有設(shè)備、現(xiàn)有系統(tǒng)以及工人操作習慣,將Web API、分布式架構(gòu)、Windows服務(wù)等技術(shù)投入到項目中,研發(fā)了基于Web API的光纜生產(chǎn)數(shù)據(jù)多源集成系統(tǒng),從而進一步提升了工廠光纜生產(chǎn)的效率和企業(yè)信息化管理能力。
參考文獻:
[1] 潘春暉. 光纖光纜產(chǎn)業(yè)國內(nèi)外發(fā)展狀況[J]. 新材料產(chǎn)業(yè), 2002(3): 24-29.
[2] 胡平. 中國光纖光纜企業(yè)發(fā)展戰(zhàn)略研究[D]. 武漢: 武漢理工大學, 2002.
[3] 韓超, 劉泰, 謝飛, 等. 我國通信光纜行業(yè)的生產(chǎn)管理信息化實踐與發(fā)展[J]. 現(xiàn)代電信科技, 2016, 46(4): 34-38.
[4] 熊向峰. 中國光纖光纜產(chǎn)業(yè)的發(fā)展趨勢探討[J]. 中國新通信, 2010, 12(9): 5-9.
[5] Hoshikawa M. History of Optical Fiber Development and the latest Trends[J]. Technical Report of Ieice Oft, 2004(104): 7-12.
[6] 李超. 中天科技集團市場營銷策略研究[D]. 北京: 北京郵電大學, 2012.
[7] 鄭略略, 陳躍軍, 王映龍. 基于WebAPI移動醫(yī)生站的應(yīng)用與研究[J]. 科技信息, 2013(23): 110-111.
[8] 張爾喜, 先曉兵, 王雪鋒. 基于WebAPI的移動端學生綜合服務(wù)平臺設(shè)計與實現(xiàn)[J]. 軟件工程, 2017, 20(10): 40-42.
[9] 吳孟春, 周捷, 朱忠勇. 基于Web API的氣象業(yè)務(wù)數(shù)據(jù)接口的開發(fā)和實現(xiàn)[J]. 電子技術(shù)與軟件工程, 2016(23): 78-79.
[10] 阮軍, 楊春金. 基于模式的多層分布式軟件系統(tǒng)架構(gòu)的設(shè)計[J]. 計算機工程, 2006, 32(14): 57-59.
[11] 黃革新. 基于.NET的N層分布式系統(tǒng)架構(gòu)設(shè)計[J]. 電腦與信息技術(shù), 2005, 13(5): 31-34.
[12] 劉高平, 葉金印. 基于分布式架構(gòu)的縣級氣象業(yè)務(wù)系統(tǒng)設(shè)計與實現(xiàn)[J]. 軟件工程, 2015(4): 36-38.
【通聯(lián)編輯:謝媛媛】