周進(jìn)群,卞正軍
?
基于MongoDB的文件系統(tǒng)和簽廢軟件的設(shè)計(jì)與開(kāi)發(fā)
周進(jìn)群1,卞正軍2
(1.深南電路股份有限公司,深圳 518000;2.無(wú)錫深南電路股份有限公司,江蘇 無(wú)錫 214000)
文章主要闡述基于一個(gè)分布式文件數(shù)據(jù)庫(kù)(MongoDB數(shù)據(jù)庫(kù)),解決現(xiàn)條件下工廠內(nèi)文件管理不規(guī)范、查詢(xún)不方便、數(shù)據(jù)利用率低等原因提出的一個(gè)解決方案;使用WebService技術(shù)對(duì)工廠內(nèi)文件數(shù)據(jù)采集、處理、保存及傳遞,做到了文件的規(guī)范管理,繼而開(kāi)發(fā)出相關(guān)上位機(jī)軟件,對(duì)過(guò)程中文件的數(shù)據(jù)進(jìn)行處理,提高了文件數(shù)據(jù)的利用率以及工廠的生產(chǎn)效率,對(duì)企業(yè)產(chǎn)生了較好的效益。
MongoDB數(shù)據(jù)庫(kù);WebService;文件數(shù)據(jù)
一塊PCB板從下料到成品,過(guò)程中需要經(jīng)過(guò)諸多廠家種類(lèi)各異的設(shè)備,而由不同設(shè)備產(chǎn)生的文件廢點(diǎn)數(shù)據(jù)也十分重要,需要從上一工序的設(shè)備傳遞給下一工序設(shè)備,以提高設(shè)備的加工效率。在現(xiàn)有情況下,廢點(diǎn)文件數(shù)據(jù)的傳遞主要是由員工在局域網(wǎng)內(nèi)設(shè)置共享盤(pán),把上一工序產(chǎn)生的數(shù)據(jù)拷貝到共享盤(pán)中,并由下一工序的員工把共享盤(pán)中的數(shù)據(jù)拷貝到本工序的設(shè)備中,再進(jìn)行加工生產(chǎn)。由于是人員手動(dòng)拷貝數(shù)據(jù),經(jīng)常會(huì)發(fā)生網(wǎng)路不穩(wěn)定和人員操作不規(guī)范導(dǎo)致文件數(shù)據(jù)丟失,延誤生產(chǎn)等情況發(fā)生。本文根據(jù)對(duì)工廠現(xiàn)有模式下操作流程的不足和以提高數(shù)據(jù)的規(guī)范性為目標(biāo),構(gòu)建了以MongoDB為基礎(chǔ),采用WebService技術(shù)管理不同設(shè)備的廢點(diǎn)數(shù)據(jù)并把廢點(diǎn)數(shù)據(jù)結(jié)構(gòu)化存儲(chǔ)到數(shù)據(jù)庫(kù)中,保證了數(shù)據(jù)的安全性和完整性,繼而開(kāi)發(fā)出以C/S為架構(gòu)的上位機(jī)軟件處理過(guò)程中的廢點(diǎn)數(shù)據(jù)。做到了數(shù)據(jù)的采集,結(jié)構(gòu)化存儲(chǔ)和傳遞,提高了工廠的加工效率,降低了生產(chǎn)成本。
基于MongoDB的文件系統(tǒng)和過(guò)程簽廢軟件的主體架構(gòu)如圖1所示。底層為工廠內(nèi)不同的加工設(shè)備,中間層為WebService和MongoDB組成的數(shù)據(jù)采集、傳遞和存儲(chǔ)的服務(wù)層,最上層為過(guò)程簽廢上位機(jī)軟件。系統(tǒng)運(yùn)行時(shí)設(shè)備首先請(qǐng)求下載所需要的廢點(diǎn)數(shù)據(jù)再進(jìn)行加工,設(shè)備加工完成后把產(chǎn)生廢點(diǎn)數(shù)據(jù)與請(qǐng)求下載的廢點(diǎn)數(shù)據(jù)進(jìn)行整合,然后再通過(guò)WebService接口把整合好的廢點(diǎn)數(shù)據(jù)進(jìn)行上傳,在WebSer -vice服務(wù)中把上傳的廢點(diǎn)數(shù)據(jù)以文件結(jié)構(gòu)的形式保存到MongoDB數(shù)據(jù)庫(kù)中;過(guò)程簽廢軟件是為了解決不是在檢驗(yàn)設(shè)備上產(chǎn)生的報(bào)廢數(shù)據(jù),需要人員根據(jù)板件情況手動(dòng)輸入報(bào)廢數(shù)據(jù),之后調(diào)用WebService服務(wù)把報(bào)廢數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。
圖1 系統(tǒng)總體架構(gòu)圖
本文創(chuàng)建的WebService服務(wù)是基于Net Framework4.0,采用C#語(yǔ)言編寫(xiě)的WebService服務(wù),在此服務(wù)中提供廢點(diǎn)數(shù)據(jù)的上傳和下載接口,為設(shè)備之間的廢點(diǎn)數(shù)據(jù)傳遞起到了橋梁的作用。
通過(guò)Net Framework4.0框架中的System.ServiceModel的引用接口,就可以利用C#的特性使用WebService服務(wù),在服務(wù)類(lèi)上標(biāo)注[ServiceBehavior]特性。在服務(wù)類(lèi)創(chuàng)建好之后還需創(chuàng)建具體的服務(wù)方法,創(chuàng)建服務(wù)的方法也是利用C#特性,在服務(wù)方法上標(biāo)注[OperationContract]特性,就可以在服務(wù)類(lèi)中實(shí)現(xiàn)具體的方法,服務(wù)方法返回的消息通過(guò)引用System.Runtime.Serialization接口的[DataContract]特性標(biāo)注的消息類(lèi)返回給客戶(hù)端,在消息類(lèi)中通過(guò) [DataMember]特性標(biāo)注消息類(lèi)需要保存的信息。經(jīng)過(guò)上述步驟就完成了WebService服務(wù)框架的搭建,之后只需在服務(wù)方法中具體實(shí)現(xiàn)業(yè)務(wù)邏輯即可。
WebService接口具體如下所示:
[OperationContract]
WebResponse upLoadFile(string filename,object file);
[OperationContract]
WebResponse downLoadFile(string filename);
其中WebResponse為具體的消息類(lèi),upLoadFile為上傳接口,實(shí)現(xiàn)數(shù)據(jù)的采集、處理和存儲(chǔ)工作,downLoadFile為請(qǐng)求下載接口,實(shí)現(xiàn)把數(shù)據(jù)庫(kù)中的數(shù)據(jù)的下發(fā)到設(shè)備。
最后把寫(xiě)好的WebService服務(wù)類(lèi)注冊(cè)到ServiceHost主機(jī)中,并且打開(kāi)這個(gè)主機(jī)服務(wù),客戶(hù)端就可以根據(jù)服務(wù)端的設(shè)置的IP地址訪問(wèn)這個(gè)服務(wù),并調(diào)用提供的接口實(shí)現(xiàn)廢點(diǎn)文件數(shù)據(jù)上傳和下載功能。
過(guò)程簽廢軟件首先根據(jù)二維碼信息查找MongoDB數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù),并在簽廢軟件界面上顯示二維碼對(duì)應(yīng)板件的Mapping圖,員工可以在Mapping界面上選擇Strip或者Panel進(jìn)行報(bào)廢,并輸入報(bào)廢的缺陷代碼,申報(bào)工序及申報(bào)站點(diǎn),上位機(jī)軟件自動(dòng)整合這些數(shù)據(jù),并按照指定格式更新到數(shù)據(jù)庫(kù)中;
根據(jù)業(yè)務(wù)部門(mén)對(duì)過(guò)程簽廢軟件的需求本文設(shè)計(jì)的過(guò)程簽廢軟件主要實(shí)現(xiàn)了以下功能:
(1)掃描板件二維碼時(shí),顯示料號(hào)/批號(hào)等信息,并顯示該P(yáng)anel/Strip的Mapping圖。
(2)可在Mapping圖界面中點(diǎn)選Panel或Strip,實(shí)現(xiàn)Panel或Strip的報(bào)廢,并且可以得到報(bào)廢Panel或者Strip的二維碼。
(3)可在界面上輸入缺陷的代碼,并在界面上顯示代碼的中文說(shuō)明。
(4)把報(bào)廢的相關(guān)數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。
在簽廢軟件的運(yùn)行界面中,員工使用掃碼槍掃描板件的二維碼,軟件根據(jù)二維碼信息自動(dòng)去數(shù)據(jù)庫(kù)中查詢(xún)?cè)摪寮膹U點(diǎn)數(shù)據(jù),并根據(jù)工單號(hào)自動(dòng)生成該板件的Mapping圖,如圖2所示,在Mapping圖簽廢界面中,人員手動(dòng)點(diǎn)擊可以選擇Panel或者Strip,在輸入框中選擇具體的報(bào)廢代碼并點(diǎn)擊報(bào)廢按鈕就可以實(shí)現(xiàn)Panel或者Strip的報(bào)廢,報(bào)廢時(shí)把人員手動(dòng)點(diǎn)擊的報(bào)廢數(shù)據(jù)按照規(guī)定的格式更新到數(shù)據(jù)庫(kù)中,做到報(bào)廢數(shù)據(jù)的更新。
圖2 簽廢軟件主界面
通過(guò)新技術(shù)(MongoDB)對(duì)工廠內(nèi)廢點(diǎn)文件數(shù)據(jù)的統(tǒng)一管理,極大的提高了數(shù)據(jù)的安全性、完整性和規(guī)范性,并在檢驗(yàn)過(guò)程中設(shè)置簽廢站點(diǎn),對(duì)廢點(diǎn)數(shù)據(jù)進(jìn)行人員的處理,減少了數(shù)據(jù)冗余,避免了設(shè)備重復(fù)檢驗(yàn)。最終做到了廢點(diǎn)數(shù)據(jù)在各種設(shè)備間的高效傳遞,提高了設(shè)備的生產(chǎn)率,實(shí)現(xiàn)了產(chǎn)能的提升,為企業(yè)帶來(lái)了良好的效益。
[1] 李紀(jì)偉,段中帥,王順曄.非結(jié)構(gòu)化數(shù)據(jù)庫(kù)MongoDB的數(shù)據(jù)存儲(chǔ)[J].電腦知識(shí)與技術(shù),2018,14(27):7-9.
[2] 劉德軍.C#調(diào)用WebService實(shí)現(xiàn)區(qū)域衛(wèi)生平臺(tái)數(shù)據(jù)接口上傳[J].科學(xué)與財(cái)富,2018,(36):232-233.
[3] 喻紅蘭.WebService在校園信息系統(tǒng)中的應(yīng)用[J].電腦知識(shí)與技 術(shù),2018,14(20):243-245.
[4] 蔣仕龍,林斌,陳劍雄,等.PCB缺陷檢測(cè)上下料系統(tǒng)的應(yīng)用研究[J].機(jī)電工程技術(shù),2018,47(8):97-100,252. DOI:10.3969/j.issn.1009- 9492.2018.08.029.
[5] 劉鵬.基于XML序列化技術(shù)的分布式數(shù)據(jù)庫(kù)同步實(shí)現(xiàn)[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2018,17(1):22-25. DOI:10.3969/j.issn. 1671-802X.2018.01.007.
[6] 戴傳飛,馬明棟.MongoDB分頁(yè)技術(shù)優(yōu)化研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018,28(6):97-101. DOI:10.3969/j.issn.1673-629X.2018.06.022.
[7] 牛倩.MongoDB數(shù)據(jù)庫(kù)中自動(dòng)分片技術(shù)應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2016,(6):112.
Design and development of file system and sign-off software based on MongoDB
Zhou Jinqun1, Bian Zhengjun2
(1.Shennan Circuits co. LTD, Shenzhen 518000; 2.Wuxi Shennan Circuits co. LTD, Jiangsu Wuxi 214000)
This paper mainly describes a solution based on a distributed file database (MongoDB database), which solves the problems of unregulated file management, inconvenient query and low data utilization under the current conditions; using WebService technology for in-plant files Data collection, processing, storage and transfer, to achieve the standardized management of documents, and then develop the relevant PC software, process the data of the files in the process, improve the utilization of file data and the production efficiency of the factory, resulting in the enterprise Better efficiency.
MongoDB database; WebService; File data
TP311
A
1671-7988(2019)08-191-03
TP311
A
1671-7988(2019)08-191-03
周進(jìn)群,就職于深南電路股份有限公司。卞正軍,就職于無(wú)錫深南電路股份有限公司。
10.16638/j.cnki.1671-7988.2019.08.059