侯世中 周芳 宋傳磊 張光亮 張秀國(guó)
摘要:隨著大數(shù)據(jù)技術(shù)的廣泛應(yīng)用,越來(lái)越多的餐飲企業(yè)發(fā)現(xiàn)校園里的大學(xué)生是一個(gè)特殊的群體,人數(shù)多且比較集中,對(duì)外賣(mài)訂餐的需求特別迫切,基于這樣的形勢(shì),該文設(shè)計(jì)了一款校園訂餐系統(tǒng)。校園訂餐系統(tǒng)的前臺(tái)是在Android手機(jī)端完成,學(xué)生使用起來(lái)非常方便;后臺(tái)是一個(gè)基于JavaEE的網(wǎng)站,存儲(chǔ)了眾多餐飲企業(yè)的外賣(mài)信息。
關(guān)鍵詞:大數(shù)據(jù)技術(shù);校園訂餐系統(tǒng);Android;JavaEE
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)16-0060-02
1 引言
大數(shù)據(jù)技術(shù)作為目前的一種熱門(mén)技術(shù),已經(jīng)在大型公司或企業(yè)廣泛應(yīng)用,取得了非常好的效果;針對(duì)目前大學(xué)校園學(xué)生的訂餐需求,搜集各大外賣(mài)網(wǎng)站提供的數(shù)據(jù)以及大學(xué)校園的調(diào)查問(wèn)卷數(shù)據(jù),本文將采用大數(shù)據(jù)技術(shù),從海量數(shù)據(jù)中挖掘出有價(jià)值的信息,為校園訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)提供一手的資料。
2 基礎(chǔ)理論
2.1 大數(shù)據(jù)技術(shù)
本系統(tǒng)采用的大數(shù)據(jù)技術(shù)是Hadoop,Hadoop是一種優(yōu)秀的分布式框架,其特點(diǎn):程序員不用深入了解分布式底層,充分發(fā)揮集群的高可靠性、高性能運(yùn)算和海量存儲(chǔ)信息的能力。Hadoop容錯(cuò)性能好,可部署在價(jià)格便宜的硬件設(shè)備上;而且它可以訪(fǎng)問(wèn)程序中的各種類(lèi)型數(shù)據(jù),適用于超大數(shù)據(jù)量的項(xiàng)目。Hadoop最關(guān)鍵的部件包括:HDFS和MapReduce。HDFS負(fù)責(zé)提供海量數(shù)據(jù)的存儲(chǔ),MapReduce可快速計(jì)算海量數(shù)據(jù)。
2.2 JavaEE技術(shù)
Java是非常優(yōu)秀的程序語(yǔ)言,具有跨平臺(tái)優(yōu)點(diǎn),Java已經(jīng)應(yīng)用于幾十億的設(shè)備上。而Java EE是甲骨文公司的企業(yè)級(jí)規(guī)模的應(yīng)用程序架構(gòu),可以幫助程序員編寫(xiě)和部署服務(wù)器端 Java程序,基于該架構(gòu)的程序具有可移植性、可伸縮性、健壯性、安全性的特征。Java EE 是還可以實(shí)現(xiàn)企業(yè)級(jí)的Web 2.0和SOA的應(yīng)用程序。
2.3 android結(jié)構(gòu)
android系統(tǒng)是一種開(kāi)源智能操作系統(tǒng),它以L(fǎng)inux、JAVA為基礎(chǔ),應(yīng)用于各種類(lèi)型設(shè)備。其主要構(gòu)成部分包含:
1)Android分為四層:程序?qū)?、運(yùn)行庫(kù)層、框架層、linux內(nèi)核層。
2)程序框架結(jié)構(gòu):采用API接口,程序員可以反復(fù)利用簡(jiǎn)化的組件。
3)安全調(diào)用機(jī)制:采用Linux系統(tǒng)身份認(rèn)證,將不同的應(yīng)用隔離開(kāi),每個(gè)應(yīng)用通過(guò)單獨(dú)的認(rèn)證方式。
3 校園訂餐大數(shù)據(jù)研究
3.1 大數(shù)據(jù)采集與挖掘
要研究全國(guó)校園大學(xué)生的訂餐的需求情況,就要多方面的搜集數(shù)據(jù),首先要從搜索引擎中查找一些資料,然后再?gòu)哪壳按髮W(xué)生普遍使用的美團(tuán)、餓了網(wǎng)等網(wǎng)站搜集信息,另外需要成立多個(gè)團(tuán)隊(duì),招聘校園代理人,深入校園內(nèi)部以紙質(zhì)、網(wǎng)絡(luò)調(diào)查問(wèn)卷的方式去搜集到一手的資料,這個(gè)過(guò)程可能花費(fèi)很長(zhǎng)時(shí)間。
掌握到一手?jǐn)?shù)據(jù)后,由于數(shù)據(jù)很多、雜亂無(wú)章,由于不同人群生活習(xí)慣不同,數(shù)據(jù)甚至毫無(wú)規(guī)律,很難一次挖掘出有價(jià)值的信息,所以要采用多種手段并用;對(duì)于關(guān)系型數(shù)據(jù),可以在關(guān)系數(shù)據(jù)庫(kù)和相關(guān)軟件中處理;對(duì)于非關(guān)系數(shù)據(jù),可以存放在NOSQL類(lèi)型的數(shù)據(jù)庫(kù)中處理。
3.2大數(shù)據(jù)分析
從根本上說(shuō),大數(shù)據(jù)有兩大特征:多維性和時(shí)效性。下面將從這兩個(gè)方面來(lái)展開(kāi)分析:
1)多維性
數(shù)據(jù)維度可以包含:地域、位置、生活習(xí)慣、購(gòu)買(mǎi)力等多方面。簡(jiǎn)單來(lái)說(shuō),由于全國(guó)大學(xué)很多,從地域上講,分為南方和北方,南北方人的生活習(xí)慣不同;從大學(xué)位置來(lái)講,全國(guó)大學(xué)分布在不同的省和直轄市,發(fā)展情況不一樣,學(xué)生的購(gòu)買(mǎi)力不同;從大學(xué)的性質(zhì)看,有重點(diǎn)大學(xué)和地方性大學(xué),其中重點(diǎn)大學(xué)學(xué)生包含了全國(guó)四面八方,甚至包含國(guó)外留學(xué)生,而地方性大學(xué)以本地學(xué)生為主。
綜上所述,校園訂餐系統(tǒng)中的菜譜應(yīng)該多元化,既要包含全國(guó)的各大菜系,又要包含少數(shù)民族的特色菜譜;餐飲的價(jià)格要分為廉價(jià)、中等、較高,分別滿(mǎn)足不同人群的就餐需要。
2)時(shí)效性:
從大數(shù)據(jù)的時(shí)效性來(lái)看,訂餐系統(tǒng)中的菜譜應(yīng)該不斷變化,至少應(yīng)該包含春季菜譜、夏季菜譜、秋季菜譜和冬季菜譜,分別滿(mǎn)足不同季節(jié)的就餐特色需要。另外,學(xué)生的生活習(xí)慣、口感不斷改變,這就要求菜譜要及時(shí)更新。
4 訂餐系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)架構(gòu)
結(jié)合目前在市場(chǎng)上應(yīng)用的訂餐軟件,以及通過(guò)大數(shù)據(jù)挖掘出的有價(jià)值的信息,寫(xiě)出系統(tǒng)的需求分析說(shuō)明書(shū)。此訂餐系統(tǒng)前臺(tái)采用Android Studio作為開(kāi)發(fā)工具,本地?cái)?shù)據(jù)庫(kù)采用SQLite;系統(tǒng)后臺(tái)是一個(gè)基于JavaEE的網(wǎng)站,數(shù)據(jù)存儲(chǔ)在MySQL中。在需求分析的基礎(chǔ)上,對(duì)軟件的功能進(jìn)行概要設(shè)計(jì),在概要設(shè)計(jì)的基礎(chǔ)上進(jìn)行詳細(xì)設(shè)計(jì)。
系統(tǒng)前臺(tái)需要調(diào)用系統(tǒng)后臺(tái)提供的數(shù)據(jù),而后臺(tái)中的數(shù)據(jù)是通過(guò)大數(shù)據(jù)技術(shù)獲取的,其數(shù)據(jù)流程指向如圖1所示:
4.2關(guān)鍵模塊
校園訂餐系統(tǒng)由數(shù)個(gè)子系統(tǒng)構(gòu)成,子系統(tǒng)作為一個(gè)大的模塊,跟其他子系統(tǒng)之間盡量相互獨(dú)立,子系統(tǒng)之間通過(guò)定義好的接口來(lái)銜接,從總體上看,該系統(tǒng)包含手機(jī)端、服務(wù)器端兩部分,手機(jī)端實(shí)現(xiàn)的功能有:用戶(hù)注冊(cè)、用戶(hù)登錄、查找餐品、餐品列表、我的訂單、系統(tǒng)幫助等功能模塊;服務(wù)器功能包括:菜品管理、用戶(hù)管理、訂單管理等功能。
4.3系統(tǒng)流程
學(xué)生打開(kāi)手機(jī)軟件后,點(diǎn)擊登錄功能,輸入帳號(hào)和密碼,如果系統(tǒng)驗(yàn)證通過(guò),則提示“成功登錄”,找到餐品列表,從中選擇打算訂購(gòu)的餐品,并且加入購(gòu)物車(chē),在購(gòu)物車(chē)中點(diǎn)擊要購(gòu)買(mǎi)的商品,信息輸入完成后,完成訂單的提交,在確認(rèn)收貨后進(jìn)行評(píng)論。
5 關(guān)鍵模塊實(shí)現(xiàn)與演示
5.1前臺(tái)訂單模塊
前臺(tái)訂單模塊是整個(gè)訂餐系統(tǒng)的核心之一,學(xué)生可查看訂單詳情,例如:配送地址,下單時(shí)間;下單時(shí),學(xué)生需要錄入關(guān)鍵信息(菜品、數(shù)量、特殊要求),方可確認(rèn)下單。部分關(guān)鍵代碼如下:
if(bean.getStatus() == 0){
holder.orderstatus.setText("訂單狀態(tài):正在處理");
holder.confirm.setVisibility (View.GONE);
holder.comments.setVisibility (View.GONE);
}
訂單確認(rèn)頁(yè)面是訂餐系統(tǒng)的手機(jī)端的一個(gè)重要功能,主要包括:收貨人姓名、地址、聯(lián)系電話(huà)、支付方式等,如圖2所示:
5.2后臺(tái)菜譜管理模塊
菜譜管理模塊屬于訂餐系統(tǒng)的后臺(tái)功能,包括:商家上傳菜品、修改菜品和刪除菜品等功能。商家在后臺(tái)上傳菜譜是訂餐系統(tǒng)的一個(gè)關(guān)鍵功能,包括:菜譜名稱(chēng)、優(yōu)惠價(jià)格、原價(jià)格、描述、分類(lèi)等信息,如圖3所示:
6 結(jié)束語(yǔ)
通過(guò)大數(shù)據(jù)技術(shù),可以把采集到的無(wú)規(guī)則的、雜亂的數(shù)據(jù)進(jìn)行有效的梳理,把梳理后的海量數(shù)據(jù)進(jìn)行科學(xué)計(jì)算,計(jì)算產(chǎn)生的有價(jià)值的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。訂餐系統(tǒng)手機(jī)端APP可以向后臺(tái)請(qǐng)求訂餐數(shù)據(jù),后臺(tái)根據(jù)請(qǐng)求從數(shù)據(jù)庫(kù)提取數(shù)據(jù),并以視圖的形式傳遞給手機(jī)APP。
參考文獻(xiàn):
[1] 張傳文.基于大數(shù)據(jù)的區(qū)域醫(yī)療信息共享體系研究[D].廣州:華南理工大學(xué),2015.
[2] 張尼.大數(shù)據(jù)安全技術(shù)與應(yīng)用[M].北京:人民郵電出版社,2014.
[3] 陳群,蔡桂煜.基于Android的智能家庭健康監(jiān)控設(shè)備開(kāi)發(fā)[J].三明學(xué)院學(xué)報(bào),2015(4):16-22.
[4] 李慧,劉星橋.基于物聯(lián)網(wǎng)Android平臺(tái)的水產(chǎn)養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào),2013(13):175-181.
[5] 朱科峰,曹靜.基于SSH2架構(gòu)的農(nóng)村信息服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].江蘇農(nóng)業(yè)學(xué)報(bào),2013(4):885-891.