云计算在蔬菜安全预警和追溯平台中的应用

2016-11-09 11:48刁海亭郑成良郑晓梅
关键词:分布式服务器蔬菜

刁海亭,郑成良,郑晓梅

1.山东农业大学信息科学与工程学院,山东泰安271018

2.山东省五莲县国土资源局,山东五莲262300

云计算在蔬菜安全预警和追溯平台中的应用

刁海亭1,郑成良1,郑晓梅2

1.山东农业大学信息科学与工程学院,山东泰安271018

2.山东省五莲县国土资源局,山东五莲262300

蔬菜作为中国出口创汇的重要作物和广大人民群众日常生活的必需品,其质量安全非常重要。传统方式建立的蔬菜质量安全监管系统比较庞大,网络终端用户访问的速度较慢。本文讨论了云计算的概念、服务模型及国内外应用,介绍了反向代理服务器Nginx的背景及应用。利用Nginx,结合C#开发语言,借助3台电脑,探讨了蔬菜安全预警和追溯平台中图片数据的分布式动态存储和管理。云计算技术的应用减少了溯源数据库本地服务器的存储数据,提升了用户访问网站的速度,降低了平台维护成本。

云计算;蔬菜;安全预警

蔬菜从农田到餐桌要经过生产、加工、储存、运输、销售等环节,整个产业链工艺、流程错综复杂,存在数据多源、异构。基于这些海量数据建立相关系统往往比较庞大,不仅占用大量存储空间,还降低了系统的效率。因此,需要采取措施应对日益庞大的蔬菜管理系统。目前涌现的云计算(Cloud Computing)技术正是解决这一问题的有力武器。云计算被视为信息技术的第三次浪潮,已从新兴技术发展成为当今的热点技术,它的分布式存储管理理念在国际上和国内都引起了研究的热潮。它将各种资源集中、结合起来提供各种服务,利用虚拟化技术向用户提供高效、可靠和稳定的计算和存储服务,解决海量数据的存储与处理问题。

1 云计算

1.1云计算概念

云计算真正概念的提出是2006年8月9日的谷歌(Google)搜索引擎大会(SES San Jose 2006)上,当时的谷歌首席执行官埃里克·施密特(Eric Schmidt)第一次提出了“云计算”的概念。此后这一思想引起了全世界的重视,关于云计算的概念也众说纷纭,至少有几十种。倪光南院士指出“人们感受到的丰富多样的云服务属于商业模式的范畴,而可以按需提供强大计算资源的云计算平台则属于技术的范畴”[1]。

简要来讲,云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算资源、存储设备、应用程序等)的计算模式(来自美国国家标准与技术研究院的定义)。这个概念明确了云计算的实质就是在互联网上将IT资源当作服务来提供。在云计算的环境之下,一切都是服务。

1.2云计算的服务模型

云计算有三种主要的服务模型,图1是三种服务模型的层次关系[2]。

(1)SaaS:Soft-ware as a Service,软件即服务。将应用程序作为服务提供给用户,面对的是普通用户;

(2)PaaS:Platform as a Service,平台即服务。将服务器平台或者开发环境作为服务提供给用户,面对的是开发人员;

(3)IaaS:Infrastructure as a Service,基础设施即服务。将服务器、存储和网络硬件以及相关软件等资源作为服务提供给用户,面对的是系统管理员[3]。

图1 云服务模型层次关系Fig.1 The hierarchy relationship of cloud service models

1.3云计算的国内外研究

自从云计算的概念被提出以来,国外许多国家如美国、日本、德国、韩国等都进行了大量的研究;一些公司如:Google、IBM、Amazon、微软、雅虎等都是云计算的先行者,在云计算上做了大量的实践工作。Google的技术核心就是云计算,其早期发布的一系列关于分布式文件系统、并行计算、数据和分布式资源管理方面的文章,为全球云计算的发展奠定了技术基础,可以说Google是云计算的先驱。IBM于2007年8月推出“蓝云(Blue Cloud)”计划,为企业客户搭建分布式、可通过互联网访问的云计算体系。Amazon于2008年8月推出弹性计算云(Elastic Compute Cloud,EC2)和简单存储服务(Simple Storage Service,S3),在云计算的发展中也起到了重要的作用。微软于2008年10月推出基于云计算的操作系统—Windows Azure,为开发者提供一个平台,帮助他们在PC、Web、云服务器、数据中心上运行应用程序[6]。我国在云计算上起步较晚,在北京、上海、深圳、杭州和无锡等5个城市先行开展云计算创新发展试点示范工作,随后向全国各城市推开。

随着云技术的广泛应用,云技术和GIS的结合也开始日益得到重视,如美国环境系统研究所公司(Environmental Systems Research Institute,ESR)ArcGIS 10.1推出的私有云GIS服务在美国密苏里州西普兰市的招商引资、印尼国家测绘局的NSDI项目中都有典型应用;中地数码公司推出的MapGIS K9 SP3采用了面向服务的悬浮式体系架构,在数字郴州共享服务平台、数字宜宾共享服务平台等项目得到了应用;中国超图公司研发的SuperMap GIS 6R(2012)支持虚拟化、64位CPU、支持二三维一体化、跨平台等,在福建省地理信息云服务平台、全球建筑机械管理GIS云平台等得到了很好的研究。

2 Nginx

2.1Nginx介绍

随着网络技术的提高和应用的普及,各种网站也越来越复杂。而一个网站同时为成百上千甚至是几百万用户同时服务的情况也并不少见,这就导致客户端浏览网站的速度变慢。因此,为了能够持续性处理随着日益增加的用户量而导致的不断增加的负载以及获得更高的并发性,一个网站必须基于一系列非常高性能的模块来构建。Web服务器需要能够通过非线性扩展来满足每秒钟不断增长的并发连接和请求数。Nginx正是能满足这种需求的Web服务器。

Nginx是2004年俄罗斯人Igor Sysoev(塞索耶夫)为俄罗斯访问量第二的Rambler.ru站点开发的一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx本身就可以托管网站,进行HTTP服务处理,也可以作为反向代理服务器使用[7,8]。

随着Nginx的功能越来越强大,其在国内外的普及率也越来越高。在俄罗斯,大约超过20%的虚拟主机平台采用Nginx作为反向代理服务器。在国内,已经有淘宝、新浪、网易、豆瓣、迅雷在线、六间房等多家网站使用Nginx作为Web服务器或反向代理服务器。本文利用Nginx探讨平台中图片数据分布式动态存储,提升用户访问网站的速度。

2.2Nginx+IIS服务器搭建服务器集群

利用Nginx+IIS服务器搭建服务器集群,架构图如图2所示。

图2 Nginx+IIS服务器搭建服务器集群Fig.2 The servers cluster from Nginx+IIS server

3 云技术在平台中的应用

本文前期开发的蔬菜安全预警与追溯平台基于网络设计,数据量较大,终端用户访问的速度受到影响。平台中保存有大量蔬菜产地图片,本文实验借助3台电脑,探讨蔬菜安全预警和追溯平台中图片数据的分布式动态存储和管理。

3.1环境设计

电脑的环境设计如下:

(1)Nginx服务器:

硬件:华硕笔记本、内存4G

软件:Nginx1.4.7

局域网IP:192.168.191.1:8080

(2)Image服务器:

硬件:联想台式、内存4G

软件:IIS+imgServerX2

局域网:192.168.191.2:80;192.168.191.2:90

说明:可弹性添加Image服务器节点个数

(3)主站服务器:

硬件:联想笔记本(ThinkPad Edge)、内存4G

软件:IIS+主站点

局域网IP:192.168.191.3:80

说明:可弹性添加主站节点个数

3.2分布式存储图片服务器状态设计

Web服务器需要及时掌握所有图片服务器的状态和信息,才能动态决定把图片保存到哪一台图片服务器。因此,需要把所有的图片服务器的状态信息全部记录到数据库服务器中,记录图片服务器信息和状态的表格如1所示。

表1 图片服务器状态信息表Table 1 Image server state information table

状态信息表中的ServerId字段为主键自增列,唯一代表一条图片服务器纪录。ServerName字段记录服务器的名称,方便管理员识别该记录代表哪台服务器。ServerUrl字段标识了图片服务器上图片主目录的URL根路径。PicRootPath字段标识了保存图片的物理主目录。MaxPicAmount字段表示图片服务器能保存的最大图片数,该数可以根据图片服务器的硬件配置和性能以及用户实际需要而进行动态调整。CurPicAmount字段表示当前已保存的图片数,当CurPicAmount≥MaxPicAmount时系统将不再把图片上传到该服务器。FlgUsable字段表示图片服务器是否可用。

表2为平台中涉及到的图片相关信息。

表2 图片信息表Table 2 Image information

3.3平台分布式架构实现

由于图片保存在物理硬盘上,访问图片需要频繁进行I/O操作,因此随着并发用户的数量越来越多,I/O操作就会影响整个系统的性能,最终影响用户访问速度。本文探讨采用图片数据分布式动态存储及负载均衡的方案,以解决用户访问平台中蔬菜产地图片信息时的速度问题。该方案只需增加很少的硬件成本,即可提升网站的访问速度,并且可以根据需要动态调整图片服务器的数量及图片的存储目录,确保系统具有可扩展性和伸缩性。

图4 分布式平台存储设计图Fig.4 The design for the storage of distributed platform

结合Nginx与文件分布式存储方案,本平台的分布式存储设计如图4所示,其中方框中的服务器代表可扩展的节点。平台实施过程中,通过Nginx,将用户的请求分发给IIS服务器。本文在设计时,根据实际情况选择了一台Nginx服务器,两台IIS服务器,在实际应用中可以建立Nginx服务器集群。

3.3.1图片文件上传当生产用户上传产地图片时,Web服务器需要及时掌握所有图片服务器的状态和信息才能动态决定把图片保存到哪一台图片服务器。因此,需要把所有的图片服务器的状态信息全部记录到数据库服务器中,记录图片服务器信息和状态如表1所示。但由于B/S架构本身技术限制,图片无法通过Web服务器直接上传到不同的图片服务器,因此需要在所有图片服务器上部署一个Web Service以便Web服务器可通过调用不同图片服务器上的Web Service执行保存。

从状态表筛选出可用的图片服务器集合记作A,获取集合的总记录数N。然后用随机函数产生一个随机数R1,并用R1与N进行取余运算,记作I=R1%N。则A[I]即为要保存图片的图片服务器。3.3.2图片浏览客户端用户通过浏览器向Web服务器发出浏览某页面的请求,Web服务器从数据库服务器中获取该页面的所有图片URL信息,并根据URL信息去搜索图片服务器的状态信息表,判断该URL所指向的图片服务器的状态字段FlgUsable,若FlgUsable=false表示该图片服务器当前因某种原因处于不可用状态,则把该图片的URL替换成Web服务器上保存的一个默认图片的URL,否则把该URL直接返回给客户端。客户端再根据图片的URL路径自动从不同的图片服务器上下载并显示相应的图片。由于图片URL路径直接指向具体的图片服务器,因此需要在每个图片服务器的保存图片的主目录上建立一个Web站点。由于客户端浏览器所需要的图片是从多个图片服务器上直接下载,因此浏览器可以并发地从多台服务器上同时下载图片,这样就缩短了图片下载时间,同时也减轻了Web服务器的I/O请求及性能压力,提高了网站的访问速度。实现效果如图5所示,向192.168.191.1:8080地址发送请求,Nginx接到请求后分发给192.168.191.3(主站点),然后主站点向两台图片服务器发送请求,由192.168.191.2:80和192.168.191.2:90做出响应。

图5 分布式平台实现效果图Fig.5 The implementation effect of the distributed platform

4 结论

本文结合云计算技术利用Nginx探讨了蔬菜安全预警和追溯平台中图片数据的分布式动态存储,提升用户网站的访问速度。对于Web服务器而言,用户对图片信息的访问是很消耗服务器资源的。页面中图片越多Web服务器受到的压力也就越大。平台设立单独的图片服务器来专门存放图片,可以根据需要动态调整图片服务器的数量及图片数据存储目录,提高用户的访问速度,确保所建平台具有可扩展性和伸缩性。但蔬菜管理系统中的数据多源异构,本文仅仅探讨了图片数据的分布式动态存储,下一步将对其它数据格式的云存储展开研究。

[1]姚宏宇,田溯宁.云计算:大数据时代的系统工程[M].北京:电子工业出版社,2013

[2]林利,石文昌.构建云计算平台的开源软件综述[J].计算机科学,2012,39(11):1-7,28

[3]孙香花.云计算研究现状与发展趋势[J].计算机测量与控制,2011,19(5):998-1001

[4]修长虹,梁建坤,董鸿晔.云计算技术综述[J].网络安全技术与应用,2012(3):9-11

[5]姚有真.云计算及其发展趋势[J].通信管理与技术,2011(4):13-15

[6]刘越.云计算综述与移动云计算的应用研究[J].信息通信技术,2010(2):14-20

[7]田纯青.利用Nginx实现基于URI的Web负载分配[J].现代计算机:专业版,2009(7):187-191

[8]聂鹏.基于Nginx的云计算访问控制网关的设计与实现[D].北京:北京交通大学,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

国家科技支撑计划课题资助(2012BAK17B05)

刁海亭(1978-),女,讲师,博士,主要从事地理信息系统及国土资源信息化的研究.E-mail:htdiao@sdau.edu.cn

猜你喜欢
分布式服务器蔬菜
奇怪的蔬菜
蔬菜
通信控制服务器(CCS)维护终端的设计与实现
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
基于DDS的分布式三维协同仿真研究
蔬菜也“疯狂”