刁海亭,鄭成良,鄭曉梅
1.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018
2.山東省五蓮縣國(guó)土資源局,山東五蓮262300
云計(jì)算在蔬菜安全預(yù)警和追溯平臺(tái)中的應(yīng)用
刁海亭1,鄭成良1,鄭曉梅2
1.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018
2.山東省五蓮縣國(guó)土資源局,山東五蓮262300
蔬菜作為中國(guó)出口創(chuàng)匯的重要作物和廣大人民群眾日常生活的必需品,其質(zhì)量安全非常重要。傳統(tǒng)方式建立的蔬菜質(zhì)量安全監(jiān)管系統(tǒng)比較龐大,網(wǎng)絡(luò)終端用戶訪問的速度較慢。本文討論了云計(jì)算的概念、服務(wù)模型及國(guó)內(nèi)外應(yīng)用,介紹了反向代理服務(wù)器Nginx的背景及應(yīng)用。利用Nginx,結(jié)合C#開發(fā)語言,借助3臺(tái)電腦,探討了蔬菜安全預(yù)警和追溯平臺(tái)中圖片數(shù)據(jù)的分布式動(dòng)態(tài)存儲(chǔ)和管理。云計(jì)算技術(shù)的應(yīng)用減少了溯源數(shù)據(jù)庫本地服務(wù)器的存儲(chǔ)數(shù)據(jù),提升了用戶訪問網(wǎng)站的速度,降低了平臺(tái)維護(hù)成本。
云計(jì)算;蔬菜;安全預(yù)警
蔬菜從農(nóng)田到餐桌要經(jīng)過生產(chǎn)、加工、儲(chǔ)存、運(yùn)輸、銷售等環(huán)節(jié),整個(gè)產(chǎn)業(yè)鏈工藝、流程錯(cuò)綜復(fù)雜,存在數(shù)據(jù)多源、異構(gòu)。基于這些海量數(shù)據(jù)建立相關(guān)系統(tǒng)往往比較龐大,不僅占用大量存儲(chǔ)空間,還降低了系統(tǒng)的效率。因此,需要采取措施應(yīng)對(duì)日益龐大的蔬菜管理系統(tǒng)。目前涌現(xiàn)的云計(jì)算(Cloud Computing)技術(shù)正是解決這一問題的有力武器。云計(jì)算被視為信息技術(shù)的第三次浪潮,已從新興技術(shù)發(fā)展成為當(dāng)今的熱點(diǎn)技術(shù),它的分布式存儲(chǔ)管理理念在國(guó)際上和國(guó)內(nèi)都引起了研究的熱潮。它將各種資源集中、結(jié)合起來提供各種服務(wù),利用虛擬化技術(shù)向用戶提供高效、可靠和穩(wěn)定的計(jì)算和存儲(chǔ)服務(wù),解決海量數(shù)據(jù)的存儲(chǔ)與處理問題。
1.1云計(jì)算概念
云計(jì)算真正概念的提出是2006年8月9日的谷歌(Google)搜索引擎大會(huì)(SES San Jose 2006)上,當(dāng)時(shí)的谷歌首席執(zhí)行官埃里克·施密特(Eric Schmidt)第一次提出了“云計(jì)算”的概念。此后這一思想引起了全世界的重視,關(guān)于云計(jì)算的概念也眾說紛紜,至少有幾十種。倪光南院士指出“人們感受到的豐富多樣的云服務(wù)屬于商業(yè)模式的范疇,而可以按需提供強(qiáng)大計(jì)算資源的云計(jì)算平臺(tái)則屬于技術(shù)的范疇”[1]。
簡(jiǎn)要來講,云計(jì)算是一種利用互聯(lián)網(wǎng)實(shí)現(xiàn)隨時(shí)隨地、按需、便捷地訪問共享資源池(如計(jì)算資源、存儲(chǔ)設(shè)備、應(yīng)用程序等)的計(jì)算模式(來自美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院的定義)。這個(gè)概念明確了云計(jì)算的實(shí)質(zhì)就是在互聯(lián)網(wǎng)上將IT資源當(dāng)作服務(wù)來提供。在云計(jì)算的環(huán)境之下,一切都是服務(wù)。
1.2云計(jì)算的服務(wù)模型
云計(jì)算有三種主要的服務(wù)模型,圖1是三種服務(wù)模型的層次關(guān)系[2]。
(1)SaaS:Soft-ware as a Service,軟件即服務(wù)。將應(yīng)用程序作為服務(wù)提供給用戶,面對(duì)的是普通用戶;
(2)PaaS:Platform as a Service,平臺(tái)即服務(wù)。將服務(wù)器平臺(tái)或者開發(fā)環(huán)境作為服務(wù)提供給用戶,面對(duì)的是開發(fā)人員;
(3)IaaS:Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)。將服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)硬件以及相關(guān)軟件等資源作為服務(wù)提供給用戶,面對(duì)的是系統(tǒng)管理員[3]。
圖1 云服務(wù)模型層次關(guān)系Fig.1 The hierarchy relationship of cloud service models
1.3云計(jì)算的國(guó)內(nèi)外研究
自從云計(jì)算的概念被提出以來,國(guó)外許多國(guó)家如美國(guó)、日本、德國(guó)、韓國(guó)等都進(jìn)行了大量的研究;一些公司如:Google、IBM、Amazon、微軟、雅虎等都是云計(jì)算的先行者,在云計(jì)算上做了大量的實(shí)踐工作。Google的技術(shù)核心就是云計(jì)算,其早期發(fā)布的一系列關(guān)于分布式文件系統(tǒng)、并行計(jì)算、數(shù)據(jù)和分布式資源管理方面的文章,為全球云計(jì)算的發(fā)展奠定了技術(shù)基礎(chǔ),可以說Google是云計(jì)算的先驅(qū)。IBM于2007年8月推出“藍(lán)云(Blue Cloud)”計(jì)劃,為企業(yè)客戶搭建分布式、可通過互聯(lián)網(wǎng)訪問的云計(jì)算體系。Amazon于2008年8月推出彈性計(jì)算云(Elastic Compute Cloud,EC2)和簡(jiǎn)單存儲(chǔ)服務(wù)(Simple Storage Service,S3),在云計(jì)算的發(fā)展中也起到了重要的作用。微軟于2008年10月推出基于云計(jì)算的操作系統(tǒng)—Windows Azure,為開發(fā)者提供一個(gè)平臺(tái),幫助他們?cè)赑C、Web、云服務(wù)器、數(shù)據(jù)中心上運(yùn)行應(yīng)用程序[6]。我國(guó)在云計(jì)算上起步較晚,在北京、上海、深圳、杭州和無錫等5個(gè)城市先行開展云計(jì)算創(chuàng)新發(fā)展試點(diǎn)示范工作,隨后向全國(guó)各城市推開。
隨著云技術(shù)的廣泛應(yīng)用,云技術(shù)和GIS的結(jié)合也開始日益得到重視,如美國(guó)環(huán)境系統(tǒng)研究所公司(Environmental Systems Research Institute,ESR)ArcGIS 10.1推出的私有云GIS服務(wù)在美國(guó)密蘇里州西普蘭市的招商引資、印尼國(guó)家測(cè)繪局的NSDI項(xiàng)目中都有典型應(yīng)用;中地?cái)?shù)碼公司推出的MapGIS K9 SP3采用了面向服務(wù)的懸浮式體系架構(gòu),在數(shù)字郴州共享服務(wù)平臺(tái)、數(shù)字宜賓共享服務(wù)平臺(tái)等項(xiàng)目得到了應(yīng)用;中國(guó)超圖公司研發(fā)的SuperMap GIS 6R(2012)支持虛擬化、64位CPU、支持二三維一體化、跨平臺(tái)等,在福建省地理信息云服務(wù)平臺(tái)、全球建筑機(jī)械管理GIS云平臺(tái)等得到了很好的研究。
2.1Nginx介紹
隨著網(wǎng)絡(luò)技術(shù)的提高和應(yīng)用的普及,各種網(wǎng)站也越來越復(fù)雜。而一個(gè)網(wǎng)站同時(shí)為成百上千甚至是幾百萬用戶同時(shí)服務(wù)的情況也并不少見,這就導(dǎo)致客戶端瀏覽網(wǎng)站的速度變慢。因此,為了能夠持續(xù)性處理隨著日益增加的用戶量而導(dǎo)致的不斷增加的負(fù)載以及獲得更高的并發(fā)性,一個(gè)網(wǎng)站必須基于一系列非常高性能的模塊來構(gòu)建。Web服務(wù)器需要能夠通過非線性擴(kuò)展來滿足每秒鐘不斷增長(zhǎng)的并發(fā)連接和請(qǐng)求數(shù)。Nginx正是能滿足這種需求的Web服務(wù)器。
Nginx是2004年俄羅斯人Igor Sysoev(塞索耶夫)為俄羅斯訪問量第二的Rambler.ru站點(diǎn)開發(fā)的一款高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP代理服務(wù)器。Nginx本身就可以托管網(wǎng)站,進(jìn)行HTTP服務(wù)處理,也可以作為反向代理服務(wù)器使用[7,8]。
隨著Nginx的功能越來越強(qiáng)大,其在國(guó)內(nèi)外的普及率也越來越高。在俄羅斯,大約超過20%的虛擬主機(jī)平臺(tái)采用Nginx作為反向代理服務(wù)器。在國(guó)內(nèi),已經(jīng)有淘寶、新浪、網(wǎng)易、豆瓣、迅雷在線、六間房等多家網(wǎng)站使用Nginx作為Web服務(wù)器或反向代理服務(wù)器。本文利用Nginx探討平臺(tái)中圖片數(shù)據(jù)分布式動(dòng)態(tài)存儲(chǔ),提升用戶訪問網(wǎng)站的速度。
2.2Nginx+IIS服務(wù)器搭建服務(wù)器集群
利用Nginx+IIS服務(wù)器搭建服務(wù)器集群,架構(gòu)圖如圖2所示。
圖2 Nginx+IIS服務(wù)器搭建服務(wù)器集群Fig.2 The servers cluster from Nginx+IIS server
本文前期開發(fā)的蔬菜安全預(yù)警與追溯平臺(tái)基于網(wǎng)絡(luò)設(shè)計(jì),數(shù)據(jù)量較大,終端用戶訪問的速度受到影響。平臺(tái)中保存有大量蔬菜產(chǎn)地圖片,本文實(shí)驗(yàn)借助3臺(tái)電腦,探討蔬菜安全預(yù)警和追溯平臺(tái)中圖片數(shù)據(jù)的分布式動(dòng)態(tài)存儲(chǔ)和管理。
3.1環(huán)境設(shè)計(jì)
電腦的環(huán)境設(shè)計(jì)如下:
(1)Nginx服務(wù)器:
硬件:華碩筆記本、內(nèi)存4G
軟件:Nginx1.4.7
局域網(wǎng)IP:192.168.191.1:8080
(2)Image服務(wù)器:
硬件:聯(lián)想臺(tái)式、內(nèi)存4G
軟件:IIS+imgServerX2
局域網(wǎng):192.168.191.2:80;192.168.191.2:90
說明:可彈性添加Image服務(wù)器節(jié)點(diǎn)個(gè)數(shù)
(3)主站服務(wù)器:
硬件:聯(lián)想筆記本(ThinkPad Edge)、內(nèi)存4G
軟件:IIS+主站點(diǎn)
局域網(wǎng)IP:192.168.191.3:80
說明:可彈性添加主站節(jié)點(diǎn)個(gè)數(shù)
3.2分布式存儲(chǔ)圖片服務(wù)器狀態(tài)設(shè)計(jì)
Web服務(wù)器需要及時(shí)掌握所有圖片服務(wù)器的狀態(tài)和信息,才能動(dòng)態(tài)決定把圖片保存到哪一臺(tái)圖片服務(wù)器。因此,需要把所有的圖片服務(wù)器的狀態(tài)信息全部記錄到數(shù)據(jù)庫服務(wù)器中,記錄圖片服務(wù)器信息和狀態(tài)的表格如1所示。
表1 圖片服務(wù)器狀態(tài)信息表Table 1 Image server state information table
狀態(tài)信息表中的ServerId字段為主鍵自增列,唯一代表一條圖片服務(wù)器紀(jì)錄。ServerName字段記錄服務(wù)器的名稱,方便管理員識(shí)別該記錄代表哪臺(tái)服務(wù)器。ServerUrl字段標(biāo)識(shí)了圖片服務(wù)器上圖片主目錄的URL根路徑。PicRootPath字段標(biāo)識(shí)了保存圖片的物理主目錄。MaxPicAmount字段表示圖片服務(wù)器能保存的最大圖片數(shù),該數(shù)可以根據(jù)圖片服務(wù)器的硬件配置和性能以及用戶實(shí)際需要而進(jìn)行動(dòng)態(tài)調(diào)整。CurPicAmount字段表示當(dāng)前已保存的圖片數(shù),當(dāng)CurPicAmount≥MaxPicAmount時(shí)系統(tǒng)將不再把圖片上傳到該服務(wù)器。FlgUsable字段表示圖片服務(wù)器是否可用。
表2為平臺(tái)中涉及到的圖片相關(guān)信息。
表2 圖片信息表Table 2 Image information
3.3平臺(tái)分布式架構(gòu)實(shí)現(xiàn)
由于圖片保存在物理硬盤上,訪問圖片需要頻繁進(jìn)行I/O操作,因此隨著并發(fā)用戶的數(shù)量越來越多,I/O操作就會(huì)影響整個(gè)系統(tǒng)的性能,最終影響用戶訪問速度。本文探討采用圖片數(shù)據(jù)分布式動(dòng)態(tài)存儲(chǔ)及負(fù)載均衡的方案,以解決用戶訪問平臺(tái)中蔬菜產(chǎn)地圖片信息時(shí)的速度問題。該方案只需增加很少的硬件成本,即可提升網(wǎng)站的訪問速度,并且可以根據(jù)需要?jiǎng)討B(tài)調(diào)整圖片服務(wù)器的數(shù)量及圖片的存儲(chǔ)目錄,確保系統(tǒng)具有可擴(kuò)展性和伸縮性。
圖4 分布式平臺(tái)存儲(chǔ)設(shè)計(jì)圖Fig.4 The design for the storage of distributed platform
結(jié)合Nginx與文件分布式存儲(chǔ)方案,本平臺(tái)的分布式存儲(chǔ)設(shè)計(jì)如圖4所示,其中方框中的服務(wù)器代表可擴(kuò)展的節(jié)點(diǎn)。平臺(tái)實(shí)施過程中,通過Nginx,將用戶的請(qǐng)求分發(fā)給IIS服務(wù)器。本文在設(shè)計(jì)時(shí),根據(jù)實(shí)際情況選擇了一臺(tái)Nginx服務(wù)器,兩臺(tái)IIS服務(wù)器,在實(shí)際應(yīng)用中可以建立Nginx服務(wù)器集群。
3.3.1圖片文件上傳當(dāng)生產(chǎn)用戶上傳產(chǎn)地圖片時(shí),Web服務(wù)器需要及時(shí)掌握所有圖片服務(wù)器的狀態(tài)和信息才能動(dòng)態(tài)決定把圖片保存到哪一臺(tái)圖片服務(wù)器。因此,需要把所有的圖片服務(wù)器的狀態(tài)信息全部記錄到數(shù)據(jù)庫服務(wù)器中,記錄圖片服務(wù)器信息和狀態(tài)如表1所示。但由于B/S架構(gòu)本身技術(shù)限制,圖片無法通過Web服務(wù)器直接上傳到不同的圖片服務(wù)器,因此需要在所有圖片服務(wù)器上部署一個(gè)Web Service以便Web服務(wù)器可通過調(diào)用不同圖片服務(wù)器上的Web Service執(zhí)行保存。
從狀態(tài)表篩選出可用的圖片服務(wù)器集合記作A,獲取集合的總記錄數(shù)N。然后用隨機(jī)函數(shù)產(chǎn)生一個(gè)隨機(jī)數(shù)R1,并用R1與N進(jìn)行取余運(yùn)算,記作I=R1%N。則A[I]即為要保存圖片的圖片服務(wù)器。3.3.2圖片瀏覽客戶端用戶通過瀏覽器向Web服務(wù)器發(fā)出瀏覽某頁面的請(qǐng)求,Web服務(wù)器從數(shù)據(jù)庫服務(wù)器中獲取該頁面的所有圖片URL信息,并根據(jù)URL信息去搜索圖片服務(wù)器的狀態(tài)信息表,判斷該URL所指向的圖片服務(wù)器的狀態(tài)字段FlgUsable,若FlgUsable=false表示該圖片服務(wù)器當(dāng)前因某種原因處于不可用狀態(tài),則把該圖片的URL替換成Web服務(wù)器上保存的一個(gè)默認(rèn)圖片的URL,否則把該URL直接返回給客戶端。客戶端再根據(jù)圖片的URL路徑自動(dòng)從不同的圖片服務(wù)器上下載并顯示相應(yīng)的圖片。由于圖片URL路徑直接指向具體的圖片服務(wù)器,因此需要在每個(gè)圖片服務(wù)器的保存圖片的主目錄上建立一個(gè)Web站點(diǎn)。由于客戶端瀏覽器所需要的圖片是從多個(gè)圖片服務(wù)器上直接下載,因此瀏覽器可以并發(fā)地從多臺(tái)服務(wù)器上同時(shí)下載圖片,這樣就縮短了圖片下載時(shí)間,同時(shí)也減輕了Web服務(wù)器的I/O請(qǐng)求及性能壓力,提高了網(wǎng)站的訪問速度。實(shí)現(xiàn)效果如圖5所示,向192.168.191.1:8080地址發(fā)送請(qǐng)求,Nginx接到請(qǐng)求后分發(fā)給192.168.191.3(主站點(diǎn)),然后主站點(diǎn)向兩臺(tái)圖片服務(wù)器發(fā)送請(qǐng)求,由192.168.191.2:80和192.168.191.2:90做出響應(yīng)。
圖5 分布式平臺(tái)實(shí)現(xiàn)效果圖Fig.5 The implementation effect of the distributed platform
本文結(jié)合云計(jì)算技術(shù)利用Nginx探討了蔬菜安全預(yù)警和追溯平臺(tái)中圖片數(shù)據(jù)的分布式動(dòng)態(tài)存儲(chǔ),提升用戶網(wǎng)站的訪問速度。對(duì)于Web服務(wù)器而言,用戶對(duì)圖片信息的訪問是很消耗服務(wù)器資源的。頁面中圖片越多Web服務(wù)器受到的壓力也就越大。平臺(tái)設(shè)立單獨(dú)的圖片服務(wù)器來專門存放圖片,可以根據(jù)需要?jiǎng)討B(tài)調(diào)整圖片服務(wù)器的數(shù)量及圖片數(shù)據(jù)存儲(chǔ)目錄,提高用戶的訪問速度,確保所建平臺(tái)具有可擴(kuò)展性和伸縮性。但蔬菜管理系統(tǒng)中的數(shù)據(jù)多源異構(gòu),本文僅僅探討了圖片數(shù)據(jù)的分布式動(dòng)態(tài)存儲(chǔ),下一步將對(duì)其它數(shù)據(jù)格式的云存儲(chǔ)展開研究。
[1]姚宏宇,田溯寧.云計(jì)算:大數(shù)據(jù)時(shí)代的系統(tǒng)工程[M].北京:電子工業(yè)出版社,2013
[2]林利,石文昌.構(gòu)建云計(jì)算平臺(tái)的開源軟件綜述[J].計(jì)算機(jī)科學(xué),2012,39(11):1-7,28
[3]孫香花.云計(jì)算研究現(xiàn)狀與發(fā)展趨勢(shì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(5):998-1001
[4]修長(zhǎng)虹,梁建坤,董鴻曄.云計(jì)算技術(shù)綜述[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2012(3):9-11
[5]姚有真.云計(jì)算及其發(fā)展趨勢(shì)[J].通信管理與技術(shù),2011(4):13-15
[6]劉越.云計(jì)算綜述與移動(dòng)云計(jì)算的應(yīng)用研究[J].信息通信技術(shù),2010(2):14-20
[7]田純青.利用Nginx實(shí)現(xiàn)基于URI的Web負(fù)載分配[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2009(7):187-191
[8]聶鵬.基于Nginx的云計(jì)算訪問控制網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2011
The Application of the Cloud Computing in Vegetable Safety Early Warning and Traceability Platform
DIAO Hai-ting1,ZHENG Cheng-liang1,ZHENG Xiao-mei2
1.College of Information Science and Engineering/Shandong Agricultural University,Tai'an 271018,China
2.Wulian Land and Resources Bureau of Shandong,Wulian 262300,China
Vegetables,as China's important export crops and the people's necessities in daily life,their quality and safety are very important.The supervision system for traditional vegetable quality and safety is relatively large,so the access speed of the network terminal users is slow.The concept of cloud computing,service model and application in domestic and abroad were discussed in this paper and also introduced the background and the application of the reverse proxy server Nginx.Using Nginx and C#development language with 3 computers,the distributed dynamic storage and management of the picture data in vegetable safety early warning and traceability platform were explored in this paper.The use of cloud computing technology reduced data quantity of the local database,enhanced access speed of the user and reduced maintenance cost of the platform.
Cloud computing;vegetable;safety early warning
TS207.7;TP315
A
1000-2324(2016)05-0768-05
2015-03-14
2015-04-15
國(guó)家科技支撐計(jì)劃課題資助(2012BAK17B05)
刁海亭(1978-),女,講師,博士,主要從事地理信息系統(tǒng)及國(guó)土資源信息化的研究.E-mail:htdiao@sdau.edu.cn
山東農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2016年5期