胡家明
(貴州高質(zhì)云檢信息科技有限公司,貴州 貴陽(yáng)550000)
目前檢驗(yàn)檢測(cè)在全球范圍內(nèi)已經(jīng)建立了完整的產(chǎn)業(yè)鏈,以美國(guó)、歐洲、日本為代表的發(fā)達(dá)國(guó)家基本上主導(dǎo)了全球范圍內(nèi)的檢測(cè)儀器設(shè)備與檢測(cè)服務(wù)認(rèn)證相關(guān)業(yè)務(wù),并在國(guó)際貿(mào)易中承擔(dān)著重要的第三方檢測(cè)服務(wù)角色。當(dāng)前我國(guó)由高速發(fā)展向高質(zhì)量發(fā)展過(guò)渡,在發(fā)展過(guò)程中檢驗(yàn)檢測(cè)機(jī)構(gòu)作為標(biāo)尺的重要作用,但作為現(xiàn)階段的檢驗(yàn)檢測(cè)行業(yè),處于發(fā)展的瓶頸期,如何擺脫傳統(tǒng)技術(shù)束縛,成為了當(dāng)下的熱點(diǎn)話題。本文設(shè)計(jì)采用大數(shù)據(jù)架構(gòu),結(jié)合互聯(lián)網(wǎng)、無(wú)線通信等技術(shù)將實(shí)驗(yàn)儀器采集到的數(shù)據(jù)上傳至云平臺(tái),保證了數(shù)據(jù)的準(zhǔn)確性、實(shí)時(shí)性和可靠性,大大提高了檢測(cè)機(jī)構(gòu)的辦公效率和公信力。
設(shè)計(jì)需要以檢測(cè)機(jī)構(gòu)中實(shí)驗(yàn)室檢測(cè)數(shù)據(jù)作為數(shù)據(jù)源,將海量數(shù)據(jù)提供給運(yùn)營(yíng)商實(shí)現(xiàn)應(yīng)用系統(tǒng)功能開發(fā)。下面介紹實(shí)驗(yàn)室檢測(cè)數(shù)據(jù)如何具體作為數(shù)據(jù)源提供給大數(shù)據(jù)平臺(tái),實(shí)驗(yàn)室儀器用于檢測(cè)分析送檢產(chǎn)品含量超標(biāo),將檢測(cè)的數(shù)據(jù)通過(guò)RS232 總線發(fā)送至PC 機(jī)上,PC 機(jī)應(yīng)用軟件將生成的PDF 文檔數(shù)據(jù)提取出特征數(shù)據(jù)通過(guò)無(wú)線傳輸方式發(fā)送至前置機(jī),而前置機(jī)一方面將數(shù)據(jù)發(fā)送至阿里云OSS 作為數(shù)據(jù)備份存儲(chǔ),另一方面將數(shù)據(jù)發(fā)送至大數(shù)據(jù)平臺(tái)提供數(shù)據(jù)分析、數(shù)據(jù)接口、數(shù)據(jù)查詢和數(shù)據(jù)交換等服務(wù),從而在應(yīng)用層實(shí)現(xiàn)在線認(rèn)定、在線檢測(cè)、在線報(bào)告等遠(yuǎn)程服務(wù)(如圖1)。
在以往中的大數(shù)據(jù)架構(gòu)中需要導(dǎo)入大量復(fù)雜數(shù)據(jù),再借助kappa 架構(gòu)或lambda 架構(gòu)對(duì)數(shù)據(jù)進(jìn)行建模分析、提取出有價(jià)值的數(shù)據(jù),但對(duì)于檢驗(yàn)檢測(cè)機(jī)構(gòu)這是不適用的,不同檢測(cè)機(jī)構(gòu)中的不同實(shí)驗(yàn)室儀器生成的數(shù)據(jù)表格很難統(tǒng)一,存在很多差異,這對(duì)于在大數(shù)據(jù)平臺(tái)實(shí)現(xiàn)數(shù)據(jù)處理難度非常大,所以在檢驗(yàn)檢測(cè)的大數(shù)據(jù)平臺(tái)搭建中數(shù)據(jù)處理在數(shù)據(jù)源就已經(jīng)完成。各種儀器生成的PDF 文檔數(shù)據(jù)在PC 端就實(shí)現(xiàn)數(shù)據(jù)引入、處理和分析,然后發(fā)送至前置機(jī)再轉(zhuǎn)入云端實(shí)現(xiàn)流處理和批處理,通過(guò)數(shù)據(jù)作為平臺(tái)業(yè)務(wù)支撐引入其他服務(wù)。信息化平臺(tái)搭建需要的主要有數(shù)據(jù)源、數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)信息引入、批處理和流處理下面逐一介紹模塊。
圖1 總體框架圖
數(shù)據(jù)是整個(gè)大數(shù)據(jù)平臺(tái)架構(gòu)的基石,為信息化平臺(tái)提供各種服務(wù)支持,本次設(shè)計(jì)檢驗(yàn)檢測(cè)信息化平臺(tái)的搭建使用的數(shù)據(jù)源以實(shí)驗(yàn)室儀器檢測(cè)出的數(shù)據(jù),數(shù)據(jù)源主要包括:報(bào)告時(shí)間、試樣ID、稀釋倍數(shù)、檢測(cè)含量以及相關(guān)性等。
檢驗(yàn)檢測(cè)機(jī)構(gòu)每天處理海量數(shù)據(jù),將數(shù)據(jù)備份存儲(chǔ),建立Web 服務(wù)器日志文件保證數(shù)據(jù)的可靠性、安全性便于后續(xù)查詢,設(shè)計(jì)將實(shí)驗(yàn)室PC 機(jī)生成的PDF 文檔數(shù)據(jù)發(fā)送至前置機(jī)再轉(zhuǎn)發(fā)至阿里云OSS 服務(wù)器實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)隨時(shí)查看上傳數(shù)據(jù)是否失真。
實(shí)時(shí)性是大數(shù)據(jù)信息化平臺(tái)的一個(gè)重要標(biāo)準(zhǔn),將數(shù)據(jù)放入緩存區(qū),確保在規(guī)定的時(shí)間內(nèi)發(fā)送。檢驗(yàn)檢測(cè)機(jī)構(gòu)每天都會(huì)生成大量的數(shù)據(jù),利用Python 腳本實(shí)現(xiàn)PDF 文檔數(shù)據(jù)特征提取發(fā)送至前置機(jī),通過(guò)前置機(jī)發(fā)送至數(shù)據(jù)分析平臺(tái)在提升數(shù)據(jù)的安全性上,保證了數(shù)據(jù)的實(shí)時(shí)性。
由于實(shí)驗(yàn)室檢測(cè)數(shù)據(jù)集是海量的,因此大數(shù)據(jù)信息化平臺(tái)的解決方案通常必須使用長(zhǎng)時(shí)間運(yùn)行的批處理作業(yè)來(lái)處理數(shù)據(jù)文件。本次設(shè)計(jì)改進(jìn)處理方式能夠保證在上傳文件不丟失的基礎(chǔ)上實(shí)現(xiàn)實(shí)時(shí)性,提升批處理文件效率。
圖2 大數(shù)據(jù)信息化平臺(tái)結(jié)構(gòu)圖
實(shí)驗(yàn)室儀器在PC 機(jī)上生成的PDF 文檔數(shù)據(jù)通過(guò)解析形成Json 格式的數(shù)據(jù)發(fā)送至前置機(jī),再由前置機(jī)通過(guò)Http 協(xié)議的POST 請(qǐng)求發(fā)送實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)處理。
數(shù)據(jù)傳輸方式分為有線跟無(wú)線方式兩種,在實(shí)驗(yàn)室采用無(wú)線通信方式。無(wú)線通信一方面減少實(shí)驗(yàn)室網(wǎng)絡(luò)布線,保證原來(lái)實(shí)驗(yàn)室儀器布局。另一方面降低了成本,每臺(tái)PC 機(jī)都連接上網(wǎng)線則需要在每一個(gè)實(shí)驗(yàn)室安裝6 口或8 口網(wǎng)口交換機(jī)同時(shí)需要將網(wǎng)線鋪地或鋪過(guò)墻的方式需要大量的網(wǎng)線布置。本次設(shè)計(jì)采用無(wú)線通信方式實(shí)現(xiàn)數(shù)據(jù)發(fā)送,每個(gè)檢測(cè)機(jī)構(gòu)通過(guò)配備的前置機(jī)與云端建立數(shù)據(jù)通信。
圖3 實(shí)驗(yàn)室數(shù)據(jù)發(fā)送方式
WiFi 網(wǎng)絡(luò)通信:
實(shí)驗(yàn)室PC 機(jī)與機(jī)房中的前置機(jī)通過(guò)無(wú)線傳輸方式實(shí)現(xiàn)數(shù)據(jù)通信,設(shè)計(jì)使用最常用且性價(jià)比較高的WiFi 傳輸方式。在傳輸方式上又分為兩種模式:AP、STA、AP 混合STA。AP 模式為無(wú)線接入點(diǎn),以一個(gè)無(wú)線路由器作為網(wǎng)絡(luò)的中心,接入AP 模式下的設(shè)備能夠相互訪問(wèn)連接,STA 模式由一個(gè)AP 和許多STA 組成,AP 作為無(wú)線網(wǎng)絡(luò)的中心完成STA 信息的轉(zhuǎn)發(fā),STA 設(shè)置Client 實(shí)現(xiàn)com數(shù)據(jù)與WiFi 網(wǎng)絡(luò)數(shù)據(jù)的相互交換。本次設(shè)計(jì)采用STA 模式實(shí)現(xiàn)各個(gè)實(shí)驗(yàn)室PC 機(jī)相互通信,通過(guò)在實(shí)驗(yàn)室放置WiFi 路由器覆蓋整個(gè)檢測(cè)機(jī)構(gòu)設(shè)置實(shí)驗(yàn)室PC 機(jī)使之都在同一IPV4 頻段下,這樣做的目的是與機(jī)房中的前置機(jī)實(shí)現(xiàn)數(shù)據(jù)通信。
圖4 WiFi 網(wǎng)絡(luò)
傳統(tǒng)實(shí)驗(yàn)室儀器采集的數(shù)據(jù)發(fā)送給PC 機(jī)生成PDF文檔數(shù)據(jù),然后再根據(jù)手動(dòng)方式輸入特征數(shù)據(jù)打印產(chǎn)品檢測(cè)報(bào)告,這樣顯然不能滿足現(xiàn)代化處理方式。通過(guò)使用OCR(Optical Character Recognition,光學(xué)字符識(shí)別)字符識(shí)別的手段翻譯成計(jì)算機(jī)文字。對(duì)于OCR 識(shí)別一般采用的識(shí)別軟件將圖片中的文字轉(zhuǎn)為文本格式。本次設(shè)計(jì)利用python 腳本語(yǔ)言使用pdfplumber 識(shí)別框架,該框架能夠?qū)ξ淖?、表格、?shù)據(jù)特征提取。同時(shí)使用pyQt5 設(shè)計(jì)界面,便于實(shí)驗(yàn)室人員操作。
PDF 文件主要有四個(gè)部分:文件頭,對(duì)象集合,交叉引用表,文件尾。在解析的過(guò)程中先解析文件尾,得到交叉應(yīng)用表以及根對(duì)象編號(hào),將這些再逐層解析文檔內(nèi)容。解析中需對(duì)文檔內(nèi)容對(duì)象進(jìn)行分析,如果是直接對(duì)象就直接存儲(chǔ)實(shí)際內(nèi)容,間接對(duì)象通過(guò)指針尋址。
實(shí)驗(yàn)室儀器采集數(shù)據(jù)發(fā)送PC 機(jī)會(huì)生成一個(gè)PDF 文檔,在PC 機(jī)上生成的PDF 文檔數(shù)據(jù)直接發(fā)送至大數(shù)據(jù)信息化平臺(tái)處理對(duì)云服務(wù)器和運(yùn)行算法都很難實(shí)現(xiàn),設(shè)計(jì)采用在本地完成數(shù)據(jù)采集、處理和發(fā)送減輕云服務(wù)器的運(yùn)算負(fù)擔(dān)。通過(guò)python 腳本代碼使用pdfplumber 庫(kù)實(shí)現(xiàn)PDF 文檔轉(zhuǎn)為文本格式數(shù)據(jù),再使用正則方法提取不同的數(shù)據(jù)內(nèi)容。
對(duì)于實(shí)驗(yàn)室人員需要使用人機(jī)操作界面完成一鍵操作。實(shí)現(xiàn)的需求有當(dāng)點(diǎn)擊界面發(fā)送按鈕自動(dòng)將指定路徑下的PDF 文檔數(shù)據(jù)完成解析,將解析過(guò)后的數(shù)據(jù)發(fā)送至另一個(gè)路徑完成保存,然后將解析后的數(shù)據(jù)進(jìn)行特征數(shù)據(jù)提取詳情顯示,一般的顯示內(nèi)容有進(jìn)樣名稱,采集儀器、采集方法等,與此同時(shí)將特征數(shù)據(jù)與對(duì)應(yīng)的文檔內(nèi)容發(fā)送至前置機(jī)。設(shè)計(jì)加入容錯(cuò)機(jī)制,使用線程方法不斷讀取路徑下文檔設(shè)計(jì)界面設(shè)置三個(gè)指示燈,默認(rèn)為全黃色。當(dāng)運(yùn)行時(shí),第一個(gè)指示燈綠色表示PDF 文檔解析成功,第二個(gè)指示燈變?yōu)榫G色表示發(fā)送前置機(jī)成功,第三個(gè)指示燈變綠色表示數(shù)據(jù)發(fā)送云端成功。
圖5 PDF 基本組成
圖6 人機(jī)操作界面
基于pyQt5 設(shè)計(jì)的人機(jī)操作界面在上實(shí)驗(yàn)室PC 機(jī)運(yùn)行,操作步驟第一步將數(shù)據(jù)存儲(chǔ)在指定的文件夾路徑且名字不可設(shè)置與之前相同文件名,第二步雙擊生成好的exe 應(yīng)用程序,第三步點(diǎn)擊開始解析。完成以上操作運(yùn)行過(guò)程會(huì)根據(jù)指示燈顯示,指示燈全部為綠色表示成功入庫(kù),同時(shí)在詳情中顯示提取PDF 文檔的特征數(shù)據(jù)(如圖7)。
搭建檢驗(yàn)檢測(cè)信息化平臺(tái)依托大數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)可視化,平臺(tái)上設(shè)計(jì)了多種多樣的功能幫助檢驗(yàn)檢測(cè)人員簡(jiǎn)化送檢流程提高工作效率,主要功能有日志管理、緩存監(jiān)控、任務(wù)軌跡、流程管理、表單設(shè)計(jì)、表單管理等功能。下面對(duì)這些功能進(jìn)行逐一介紹:
圖7 界面運(yùn)行結(jié)果
(1)日志管理功能:對(duì)平臺(tái)采集過(guò)的數(shù)據(jù)進(jìn)行云存儲(chǔ),做到檢驗(yàn)檢測(cè)進(jìn)行的每一步都有跡可循、有據(jù)可依,存儲(chǔ)方式安全,數(shù)據(jù)不會(huì)遺失。
(2)緩存監(jiān)控功能:對(duì)平臺(tái)采集的數(shù)據(jù)和實(shí)驗(yàn)室環(huán)境進(jìn)行實(shí)時(shí)監(jiān)控,如果采集的數(shù)據(jù)或者是實(shí)驗(yàn)室環(huán)境出現(xiàn)問(wèn)題可以第一時(shí)間發(fā)現(xiàn),極大的提高了采集數(shù)據(jù)的高效性和實(shí)驗(yàn)室的安全性。
(3)任務(wù)軌跡功能:對(duì)已完成和正在進(jìn)行的項(xiàng)目進(jìn)行軌跡追蹤,方便工作人員通過(guò)數(shù)據(jù)可視化直觀的看到項(xiàng)目的進(jìn)行情況。
(4)流程管理功能:對(duì)不同的檢測(cè)任務(wù)流程進(jìn)行監(jiān)控,可以實(shí)時(shí)的監(jiān)控到不同任務(wù)的工作情況以及工作進(jìn)度并且可以對(duì)正在進(jìn)行項(xiàng)目流程進(jìn)行調(diào)整,方便檢測(cè)人員管理項(xiàng)目。
(5)表單設(shè)計(jì)功能:根據(jù)需要,可以在線對(duì)采集的數(shù)據(jù)在線生成合適的表單,編輯方式靈活多變,可以滿足多種數(shù)據(jù)格式要求。
(6)表單管理功能:對(duì)已生成的表單進(jìn)行大批量管理,可以對(duì)已有的表單進(jìn)行刪除、提交和修改。
實(shí)現(xiàn)檢驗(yàn)檢測(cè)機(jī)構(gòu)資源整合,建立在線送檢,實(shí)現(xiàn)傳統(tǒng)檢測(cè)機(jī)構(gòu)與互聯(lián)網(wǎng)結(jié)合,提高檢驗(yàn)檢測(cè)機(jī)構(gòu)的信息化水平和檢測(cè)服務(wù)能力,檢測(cè)過(guò)程信息化、檢測(cè)儀器物聯(lián)網(wǎng)化、檢測(cè)結(jié)果報(bào)告數(shù)字化,確保數(shù)據(jù)檢測(cè)的各環(huán)節(jié)全程可控制。促進(jìn)大數(shù)據(jù)行業(yè)發(fā)展。檢驗(yàn)檢測(cè)認(rèn)證公共服務(wù)平臺(tái)的建設(shè)與大數(shù)據(jù)的發(fā)展緊密相連,平臺(tái)收集各個(gè)渠道的檢測(cè)業(yè)務(wù)數(shù)據(jù),經(jīng)過(guò)大數(shù)據(jù)分析,精準(zhǔn)的為政府工作提供有效的決策,也更好的規(guī)范檢測(cè)業(yè)務(wù)行業(yè)。促進(jìn)高新區(qū)業(yè)務(wù)發(fā)展。大數(shù)據(jù)信息化檢驗(yàn)檢測(cè)、認(rèn)證資源將通過(guò)平臺(tái)實(shí)現(xiàn)共享,為打造以省高新示范區(qū)企業(yè)產(chǎn)品研發(fā)、生產(chǎn)和使用提供檢驗(yàn)檢測(cè)與認(rèn)證的“一站式”服務(wù)。