基于PHP与MySQL的农产品追溯购买一体化平台建设
2017-12-21宋佳乾汤哲君
宋佳乾++汤哲君
摘要:六盘山地区风景优美且物产丰富,“六盘山珍”蘑菇则是近年来备受瞩目的特色有机农产品的代表之一。在“互联网+”背景下,其传统的销售模式受到一定挑战,建立兼备追溯购买的一体化网络直销平台刻不容缓。当今环境下,食品可追溯是保障农产品安全的重要手段,网上直销模式则是提高“六盘山珍”蘑菇销量的辅助手段。本文首先阐述了网站搭建的基本要求,采用LNMP架构,即在Linux环境下使用Nginx+MySQL+PHP的网站架构搭建平台,使其具备完整的平台功能,不但可以线上购买“六盘山珍”品牌蘑菇,还可实现购买产品的网上溯源。
关键词:农产品;溯源系统;电商平台;一体化建设
中图分类号:F322 文献标识码:A 文章编号:1007-9416(2017)10-0062-02
六盘山地区风景优美,独特的地理环境带来众多的农产品,其中,彭阳县“六盘山珍”蘑菇在固原市品牌带动战略的带领下,不断摸索发展,成为众人皆知的有机食用菌产品,其产品暢销上海、广东、湖北等地。然而,其传统的销售模式不外乎批发商从生产者处批发产品后再卖到零售商,由零售商卖给消费者。而互联网的飞速发展,带来电商平台如雨后春笋般的出现[1-2],原有的销售模式已不能满足日益生长的互联网需求,如何满足消费者不需要到零售商手中购买,而是直接从网上下单即可获得自己所需要的蘑菇,成为厂商的迫切需要解决的一个问题。
农产品的安全问题近几年引起社会的重视[3-4],在对农产品进行监管的过程中,追溯制度是很有效的一个方法,我国也出台了很多法律法规,旨在为农产品建立追溯制度奠定基础[5],追溯制度可以对农产品从采摘到出厂再到销售直至消费者手中的一系列环节进行跟踪,以期提高消费者的食品安全指数,达到对厂商的监管,为此,在为“六盘山珍”蘑菇建立电商销售平台的同时,考虑将溯源系统直接加入平台,让消费者可以直接通过所购买产品的条形码完成对产品的溯源。
1 系统需求
首先是系统的前台,其功能主要要求普通用户可以登录website的首页,对所有商品进行浏览,对有需求的商品可以点击查看其详情,并且通过设立明星商品标签,给首次购买本品牌的用户推荐“六盘山珍”明星产品;用户在有购买需求的时候,可以在网站页面通过注册或者登录界面完成账号的注册或登录,将感兴趣的商品加入购物车,通过购物车界面或者直接购买按钮完成对商品的选择和结账,进入个人中心后可以查看订单详情和管理自己的地址;通过溯源界面,输入所购买产品的条形码完成对自己所购买产品的溯源。
然后是系统的后台功能,主要包括管理员的管理界面,其功能主要有管理员登录后对产品名称、图片、单价、库存等信息进行添加、删除、修改、查看等操作;对注册用户的信息进行查看、添加、修改的功能;对购物车列表查看修改的功能。
综上,所建立的平台基本的系统需求如图1所示。
2 系统架构
系统总体包含用户前端、管理前端、控制层、逻辑层、数据层、基类base层,其整体架构和基础运行框架如图2所示。
2.1 中前端部分
本产品采用了目前世界上前端界最流行的网页框架Broostrap 来设计,页面简洁,直观,可塑性强。前后台交接主要使用My SQL + PHP 的模式,为动态页面提供支持。总体而言,此种开发模式让本产品具备以下几项特征:
(1)动态元素增多。除实现内容展示之外,网站增添了大量动态元素,如切换页面动画,slidebar等等,页面更加丰富。
(2)控件模块化。网页控件如按钮组、输入框组、缩略图等均以模块的形式包装,形成‘控件库。页面可随时调用该‘控件库的控件自由组合页面布局,避免‘现用现编的繁琐。
2.2 Sever端部分
(1)采用LNMP架构[6],即在Linux环境下使用Nginx+MySQL +PHP的网站架构。
(2)Nginx:和同为Web服务器的Apache,Nginx 使用的资源更少,具有支持更多的并发连接,能够体现更高的效率的特点。另一方面,当其为负载均衡服务器时,Nginx不但能够在内部直接支持Rails和PHP,也能够支持作为HTTP代理服务器对外进行服务。Nginx 使用C语言进行编写,在系统资源开销还是CPU使用效率方面均比使用其他语言要好很多。
(3)PHP:PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,在执行效率方面,PHP要比完全生成htmL标记的CGI的效率高许多。
(4)MySQL:如果想对数据进行各种详细的查询等功能,可以选择使用几乎免费的MySql,它是一个快速、多线程、多用户的SQL数据库服务器[7]。支持正规的SQL查询语言和采用多种数据类型,。MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的占用系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。
MySql支持大型的数据库。虽然对于用PHP编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySql可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySql可以针对不同的应用进行相应的修改。MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。事实上,MySql的稳定性足以应付一个超大规模的数据库。强大的查询功能。MySql支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。PHP为MySql提供了强力支持,PHP中提供了一整套的MySql函数,对MySql进行了全方位的支持。
2.3 底层系统架构
(1)接入层。接入层采取动静分离机制。静态文件,诸如ico,html等,直接通过Nginx返回;动态脚本,诸如php文件,通过Nginx转发到FastCGI,由PHP进程处理后返回。
(2)PHP脚本处理。PHP采用FastCGI的模式运行。FastCGI是Web服务器和处理程序之间通信的一种协议,是CGI的一种改进方案,FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行,在请求到达时不会花费时间去fork一个进程来处理。正是由于它的性质是一个通信协议,所以还支持分布式的运算,即 FastCGI程序能够在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
PHP的FastCGI使所有php应用软件通过mod_fastci运行,而不是mod_phpsusexec。FastCGI应用速度很快是因为他们持久稳定,不必对每一个请求都启动和初始化。这大大的提高了对并发的处理能力。
(3)代码层级。API目录下为后台服务端代码文件夹。采用统一配置文件config.php,通过加载该文件,各脚本可以获取到统一的配置项。避免多个文件,多个接口需要多次配置。每个接口独立为单一文件,减少各个接口之间的耦合,提高开发效率和后期扩展效率。
(4)权限限制。目前会在session中记录当前用户的登录状态和用户信息,每次获取敏感信息或者要对数据库进行操作时,会校验当前操作用户和session中用户信息是否一致。
3 结语
“六盘山珍”农产品追溯购买一体化平台的建设给六盘山地区农产品的销售带来了以传统渠道为主,电商销售为辅的新方式,有需求的用户可以足不出户获取想要的“六盘山珍”,外地客商也可以直接通过电商平台下单,完成采购,其中溯源系统的加入使得在购买产品的同时即可获得农产品采摘运输等信息,真正实现从田间地头安全进入寻常百姓家中。
随着六盘山区的经济发展,预计越来越多的农产品将通过电商这一平台从不发达地区走向全国各个省区,“六盘山珍”农产品追溯购买一体化平台的建设将引领更多的农产品改变原有单一的销售方式,使销售朝着多元化,利益化和安全化方向发展。
参考文献
[1]莫兵,唐胜,唐红琴.“互联网+”助推广西农产品质量安全追溯系统发展[J].江苏农业科学,2017,45(12):157-160.
[2]张勇,董会停.农产品电商平台建设及消费选择[J].浙江农业科学,2017,58(7):1281-1287.
[3]涂传清,王爱虎.我国农产品质量安全追溯体系建设中存在的问题与对策[J].农机化研究,2011,33(3):16-20.
[4]Yang Y S,Bao W X.The designation andimplementation of halal beef wholly quality traceability system[C].IFIP Advances in Information and Communication Technology: Series Volume 346Berlin:Springer Berlin Heidelberg,2010:464-472.
[5]張驰,张晓东,王登位,王亚辉.农产品质量安全可追溯研究进展[J].中国农业科技导报,2017,19(01):18-28.
[6]罗恒.基于LNMP架构订单管理系统设计与实现[D].华中科技大学,2015.
[7]王凤玲.基于PHP+MYSQL的新闻发布系统的研究与实现[J].计算机应用与软件,2012,29(02):234-236.