ASP技术的智慧食堂网络系统的实现

ASP技术的智慧食堂网络系统的实现

一、B/S模式系统设计

网站及客户端是用户与数据库交互的平台,而硬件终端设备,包括读/写卡器,是采集以及更新数据的重要手段。该系统的面向用户为用餐者(包括注册及非注册用户),食堂管理者以及系统管理员。用餐者的特点是数量庞大,就餐前非常分散,就餐时人流集中且流动性大,所以服务功能由以B/S为模式的动态网站实现。同时,在用餐者在食堂付款时,采用RFID卡(分为注册卡及非注册卡)及读卡器对就餐者的数据进行采集与更新。事实上,RFID卡中仅记录了用餐者的ID号,通过ID号,客户端将与数据库连接,对该ID号下的所有信息进行更新与修改,包括注册用户的剩余金额,就餐记录等信息。

食堂管理者的特点是工作环境固定,需要了解食堂的运营情况,菜品的好恶以及即时更新菜品信息,他既可以使用网站来获得菜品评价信息,又可通过客户端来查询就餐人流量以及计算营业额或者更新菜品信息。其中每个菜品都有一张ID卡记录其ID号,数据库中储存该菜品的金额,描述等信息。既方便了菜品信息的更新,又可以在付款时通过客户端计算用餐者的消费总额,避免了销售人员口算的失误,也为其工作减轻了负担。而系统管理员则是维护系统并负责注册用户的ID卡的信息管理,使用以C/S模式的客户端软件,并连接写卡器,可以直接修改或注销ID卡的号码,对卡进行挂失。本文主要对动态网站的设计及实现进行描述。动态网站为用餐者提供七项功能,分别为查询人流量,食堂信息,菜品信息,菜品排行榜,个人就餐记录,营养价值分析以及为菜品投票。

人流量通过页面直接显示食堂内即时人数以及容纳量百分比,以及预测人数(一般为10分钟之后)。食堂信息包括食堂的基本信息以及即时更新的信息,如营业时间的更新,每日的菜品信息等。用餐者还可以登录之后查询自己一段时间内所用菜品,并且估算各种营养价值的摄取。也可以通过网站,根据当天的运动强度及时间估算所需各种营养摄入量的范围。就餐后,用餐者还可以对菜品进行投票,菜品排行版中会显示出排名及所有菜品的支持率与反对率。为了实现这些功能除了数据库,网站的实现,还需要人流量测算模型以及营养价值模型的建立,以及菜品与用餐者ID卡等终端的配合。

二、人流量模型及营养价值模型

1.人流量预测模型

人流量预测模型以北航校园食堂为基础建立,根据统计学以及历史数据进行修正。下面是符号的意义:Nm(t)–食堂营业开始至t时刻就餐男生的数量Nw(t)-食堂营业开始至t时刻就餐女生的数量Nt–食堂营业时间内总就餐人数Np(t,t0)–食堂从t时刻开始t0时间后的预测总人数t1–食堂营业开始时刻t2–食堂营业结束时刻N(t)–t时刻食堂进入的人数假设就餐男女比例为3:1,且男生平均用餐时间为15分钟,而女生为25分钟。营业时间内用餐总人数被视为常数。人流量预测模型建立在正态分布的基础上,食堂人数在营业时间[t1,t2]内呈正态分布N(μ=0,σ2),其中σ未知,构建[-3σ,3σ]间的正态分布。对于食堂营业时间[t1,t2],做其对[-3σ,3σ]的换元,则取任意时间点t∈[t1,t2],可得t→x(t)∈[-3σ,3σ]。进入的人数N(t)/Nt满足正态分布(0,σ2)。其在一段时间内的积分等于该段时间内食堂的人数,通过有效时间内积分,换算比例,可得食堂即时人数N。则通过以上方法以及采集到的一段时间内食堂即时用餐人数,根据公式(1)的反函数可计算出从营业时间开始每分钟的σ值,取其平均值得到修正后的σ*。公式(1)Φ(x(t);0,σ)为累积分布函数(2)。NtΦ(x(t);=0,σ)Nm(t)+Nw(t)(1)22(();0,)1exp()22xxtuduσσπ∞σΦ=∫(2)而从t时刻开始t0分钟后预测人数由公式(3)给出。在网页代码中,该数学模型简化为一个复杂的分段函数,根据不同的时间段引用不同的公式进行预测人数的计算。

2.营养价值模型

针对人体所需的最重要的三大营养成分:蛋白质,碳水化合物以及脂肪,根据用餐者的年龄,性别,体重,身高,运动强度及时间等特性,建立对应于个人属性的营养价值需求模型。对于蛋白质,碳水化合物,以及脂肪,分别取2×W,7×W,2×W为每天所需要的量(W为用户体重)。而对于所需能量的计算,使用Harris-Bendeict公式,它是至今一直作为临床上计算机体基础能量消耗(BEE)的经典公式。但由于近年来多数研究结果表明,Harris-Benedict公式较我国正常成人实际测量值高出了10%左右。因此在估计正常人体的能量消耗时需要注意。再加上考虑到每天活动量都不同。得到公式(4),(5),分别为男性及女性每天所需能量:(66.473013.75135.00336.7750)/1.1BEEWHAXt=+++(4)(655.09559.56341.84964.6756)/1.1BEEWHAXt=+++(5)其中BEE为所需能量,单位为kcal/day,W为体重,单位为kg,H为身高,单位为cm,A为年龄,X为运动强度,t为运动时间。我们将运动强度分为7档,对应不同的运动可选取对应的X值,如表1。而对应三餐,早午晚餐分别应摄取一天总能量的30%、40%、30%。而在早餐能量来源比例中,碳水化合物提供的能量应占总能量的55-65,脂肪应占20-30,蛋白质占11-15。三种产热营养素所提供的热量比例建议为:碳水化合物提供热量的60%-70%,脂肪提供热量的20%-25%,蛋白质提供热量的10%-15%。蛋白质提供热量的10%-15%。所以早上碳水化合物占27.8%,脂肪占33.3%,蛋白质占31.2%。午餐与晚餐相同,碳水化合物为36.1%,脂肪为33.3%,蛋白质为34.4%。每个人的膳食搭配很难完全与上述的营养模型搭配,我们只需要二者比值满足在一定范围内即视为合理的搭配。配餐标准的范围均为80-120%。

三、网站系统的设计与实现

1.数据库设计与连接

该网站依赖的数据库由SQLServer2008搭建,一共包括16个数据表及一个数据库关系图。其中直接支持网站数据查询更新的数据表共7个,包括51个数据项,包括食堂信息表(EateryInf),用餐者信息表(UserInf),卡信息表(CardInf),菜品信息表(FoodInf),活动等级表(ActivityInf),用餐记录表(UserFoodnote)及投票统计表(Vote)。该数据库用于网站部分,包括以上7个数据表中的除了卡信息表的其他6个表。表之间有信息的流动,同时也互相约束。整个数据库具有良好的完整性约束。网站通过ODBC连接到SQLServer数据库,再利用ADO的Connection对象通过DSN(数据源)对数据库进行访问。这种方法执行速度比较快,使用方法简单,而且采用这种技术的安全性较高,不易受到攻击。

2.网站设计

网站是以ASP为脚本编写环境,使用VBScript及JavaScript脚本语言并结合HTML代码的动态网站。主要支持查询及评价功能。用户群体为用餐者,分为两类:一类为注册用户,注册用户每人都持有一张存有用户ID及卡ID的就餐卡,仅拥有就餐卡的用户才可以成为注册用户;另一类为非注册用户。网站针对两种用户开放了不同的权限。该网站由首页及6个模块组成,包括首页,登录模块,账户管理模块,菜品查询模块,投票模块,营养价值分析模块及个人就餐记录模块。其中首页中提供人流量及食堂信息,人流量信息随时间变化,每隔一段时间(如5分钟)会自动刷新一次。即时人数是通过统计每个食堂在用户查看网页的时间段,总的刷卡记录得到,有多少条不同ID的卡的数据,就有多少人数。预测人数根据模型计算得出。注册登录模块主要是为了完成用户权限分级的任务。注册用户在输入用户名,密码及验证码登录成功后,Session对象中会保存用户ID。注册页面则更为复杂,除了要根据范式来规范用餐者注册的信息,例如检查数据的合理性,重要信息不为空,两次密码输入一致外,还需要通过服务器验证ID是否重复注册,以保证网站及数据库的正常运行。非注册用户除了可登录主页之外,还可获得菜品的所有信息,包括当天提供的菜品名称,价格,图片等,还可知各菜品的排名。

而对于注册用户,可随时修改自己的个人信息,如个人密码,身高,体重等会影响营养价值分析的重要信息,也可为自己喜欢的菜品投票。还可以通过营养价值模块以及个人就餐记录,同时通过Session对象中的用户ID提取数据库中用户的个人信息来获得当天以及一段时间内自己摄入营养的情况。此时,网站将会对比该用户所需的各营养成分与已摄入的作比较,从而给出相应的增减摄入量的建议。网站为了确保合法用户进入系统,同时防止某些用户越过用户验证直接进入他无权访问的页面,在应用程序设计中加上“用户验证”对于系统的安全是必要的手段。利用ASP中的Session对象可以有效地实现网上的用户验证,从而确保该用户具有访问某类资源的权限,而生成的网页与该用户身份直接相关。

四、结论

本文通过分析大学校园的就餐现状和用户的就餐需求,详细阐述了“智慧食堂”网站系统的设计与实现。该网站系统能够为就餐者提供即时有效的就餐信息及评价平台。其中包括系统的功能分析及结构设计、模型的建立及网站的设计与实现等各个方面内容。网站采用B/S模式,使用ASP+SQLServer2008+IIS的较优组合,具有了操作简捷,有较好的可扩展性和安全性等特点。之后,还可对网站进行进一步美化,增加其他功能并优化便于手机的访问。并且,在人流量预测模型部分,仍需要继续采集数据并对模型进行修正。

作者:杜欢 单位:北京航空航天大学中法工程师学院

精选范文