亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動農(nóng)業(yè)信息推薦系統(tǒng)設(shè)計

        2016-09-27 07:34:36狄查美玲張富彬
        大連民族大學(xué)學(xué)報 2016年5期
        關(guān)鍵詞:后臺資訊頁面

        姜 楠,趙 杏,狄查美玲,張富彬

        (大連民族大學(xué) 計算機科學(xué)與工程學(xué)院,遼寧 大連 116605)

        ?

        移動農(nóng)業(yè)信息推薦系統(tǒng)設(shè)計

        姜楠,趙杏,狄查美玲,張富彬

        (大連民族大學(xué) 計算機科學(xué)與工程學(xué)院,遼寧 大連 116605)

        設(shè)計了一個農(nóng)業(yè)信息移動服務(wù)系統(tǒng),該系統(tǒng)包括三個模塊:農(nóng)業(yè)信息展示模塊、推薦系統(tǒng)模塊和后臺管理端模塊,分別能夠?qū)崿F(xiàn)對農(nóng)業(yè)信息的展示,農(nóng)作物種子信息的推薦以及對整個系統(tǒng)信息的管理與維護。系統(tǒng)的移動端基于iOS系統(tǒng)采用Object-C語言進行開發(fā);后臺接口采用MVC架構(gòu)模式,通過Java語言結(jié)合SpringMVC、Mybatis架構(gòu)封裝;推薦系統(tǒng)采用較前沿的協(xié)同過濾和Spark MLlib推薦系統(tǒng)技術(shù),并且實現(xiàn)了推薦算法的參數(shù)調(diào)優(yōu)。

        農(nóng)業(yè)信息系統(tǒng);協(xié)同過濾;Spark推薦系統(tǒng);移動技術(shù)

        1 研究背景

        “互聯(lián)網(wǎng)+”為許多傳統(tǒng)行業(yè)的升級提供了良好的契機和條件,“互聯(lián)網(wǎng)+現(xiàn)代農(nóng)業(yè)”正是這一新趨勢的產(chǎn)物[1]。當今互聯(lián)網(wǎng)技術(shù)迅猛發(fā)展,網(wǎng)上擁有海量信息資源,而農(nóng)民接收這些信息則存在“延遲”的問題。隨著推薦系統(tǒng)在實際應(yīng)用中受到了廣泛關(guān)注和迅速發(fā)展,改變了以往信息推送的方式,且能夠?qū)崿F(xiàn)個性化推薦。通過移動互聯(lián)網(wǎng)和智能推薦技術(shù)相結(jié)合,可以為農(nóng)民進行農(nóng)業(yè)相關(guān)資訊和信息的推薦。

        本文設(shè)計了一個基于iOS的移動農(nóng)業(yè)信息服務(wù)系統(tǒng),通過該系統(tǒng)可以方便農(nóng)民用戶及時了解農(nóng)業(yè)資訊、最新農(nóng)業(yè)品種以及市場需求和天氣狀況等信息,提高農(nóng)民接受信息的效率,進而促進農(nóng)業(yè)生產(chǎn)的發(fā)展。

        2 需求分析

        根據(jù)當前農(nóng)民獲取農(nóng)業(yè)相關(guān)信息的現(xiàn)狀,為了改變其中的不足,給農(nóng)民帶來更多便利,本研究針對這一問題進行了系統(tǒng)需求分析。具體設(shè)置為:系統(tǒng)后臺管理端由系統(tǒng)管理員登錄,負責對用戶信息的管理、農(nóng)業(yè)資訊的管理、種子信息的管理、市場需求信息的管理,同時還能夠?qū)μ囟óa(chǎn)品加入對應(yīng)農(nóng)民用戶的評分,以此來提供推薦系統(tǒng)的數(shù)據(jù)集。后臺管理端能夠通過管理員的操作來維護手機客戶端的信息展示和正確運行。移動端能夠?qū)⑥r(nóng)業(yè)資訊信息、種子信息、由推薦系統(tǒng)推薦的種子信息、市場需求信息等展示給用戶,農(nóng)戶可以就相關(guān)技術(shù)問題或者農(nóng)業(yè)生產(chǎn)過程中遇到的問題進行網(wǎng)上咨詢。能夠方便農(nóng)民用戶關(guān)注農(nóng)業(yè)新聞,查看農(nóng)業(yè)新品種的種子信息,并且系統(tǒng)還會對農(nóng)民用戶可能感興趣的種子產(chǎn)品做出推薦。市場需求模塊可方便農(nóng)民用戶及時了解市場動態(tài),把握農(nóng)業(yè)經(jīng)營方向,在農(nóng)業(yè)生產(chǎn)中遇到的問題及時獲得解決,同時加入天氣預(yù)報功能,使農(nóng)民能夠?qū)崟r了解天氣情況,更好地管理農(nóng)作物。

        3 系統(tǒng)設(shè)計

        3.1總體架構(gòu)

        農(nóng)業(yè)信息服務(wù)系統(tǒng)的系統(tǒng)架構(gòu)圖如圖1。客戶端通過基于iOS平臺的Object-C語言設(shè)計,服務(wù)器采用MVC三層結(jié)構(gòu),分別為表示層(View)、業(yè)務(wù)邏輯層(Controller)和模型層(Model)。Web端通過jsp技術(shù)實現(xiàn),以Json和Model的形式與后臺進行交互,通過SpringMVC進行參數(shù)解析和視圖解析,然后調(diào)用Service層的業(yè)務(wù)邏輯處理,最后通過Dao層訪問數(shù)據(jù)庫完成數(shù)據(jù)操作[2]。iOS客戶端通過請求服務(wù)器間接與數(shù)據(jù)庫交互,從服務(wù)器通過參數(shù)解析、數(shù)據(jù)處理最終以Json的形式向客戶端返回數(shù)據(jù),其后臺的調(diào)用過程與Web后臺數(shù)據(jù)處理相同。天氣預(yù)報的數(shù)據(jù)通過調(diào)用第三方API接口將數(shù)據(jù)進行返回,通過客戶端進行展示。

        圖1 系統(tǒng)架構(gòu)圖

        3.2數(shù)據(jù)庫設(shè)計

        針對于各個模塊的需求,為提供系統(tǒng)數(shù)據(jù)存儲的支撐,農(nóng)業(yè)信息服務(wù)系統(tǒng)的應(yīng)用需求抽象為信息世界的結(jié)構(gòu),從而能夠準確的用數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)這些需求。表示概念模型的方式有很多,通常采用實體-聯(lián)系方法(Entity-Relationship Approach),本系統(tǒng)的E-R圖(E-R Diagram)如圖2。

        圖2 E-R圖

        3.3推薦系統(tǒng)設(shè)計

        本系統(tǒng)數(shù)據(jù)集通過實際調(diào)查、回訪獲取數(shù)據(jù),然后由管理員從后臺錄入系統(tǒng)數(shù)據(jù)庫,生成用戶偏好數(shù)據(jù),供推薦系統(tǒng)分析、計算。目標用戶登錄手機客戶端,系統(tǒng)會獲取用戶登錄id編號,當用戶點擊種子推薦頁面時,系統(tǒng)會根據(jù)用戶行為判斷,如果用戶沒有通過按鈕點擊種子詳細信息,則通過基于用戶的推薦算法推薦,此時,通過分析不同用戶可能具有相同的興趣愛好而向用戶推薦其他具有相同興趣的用戶也感興趣的物品;如果用戶發(fā)生了點擊種子詳細信息的動作,則通過基于物品的推薦算法為用戶提供推薦[3]。如果用戶點擊了某個種子信息,則表明用戶對這個種子感興趣,因此通過分析與此種子相似度較高的種子信息為用戶推薦,最后生成推薦列表顯示在手機客戶端。

        4 系統(tǒng)實現(xiàn)

        根據(jù)移動開發(fā)設(shè)計準則,本系統(tǒng)采用了簡潔易操作的設(shè)計風格,其布局和頁面清晰明了,擁有較好的用戶體驗。

        4.1移動客戶端實現(xiàn)

        以農(nóng)業(yè)資訊頁面為例,通過從服務(wù)器獲取農(nóng)業(yè)資訊相關(guān)數(shù)據(jù),用列表的形式進行展現(xiàn),包括新聞圖片、新聞標題、新聞預(yù)覽等內(nèi)容,點擊每一條新聞進入詳情頁面,顯示新聞標題、發(fā)布時間、新聞圖片以及新聞?wù)摹?/p>

        此模塊涉及NewsViewController類、NewsDetailViewController類以及NewsTableViewCell類。其中,前兩個類分別負責展示農(nóng)業(yè)資訊列表和資訊詳情, NewsTableViewCell類負責顯示資訊列表中每條資訊的UI。NewsTableViewCell類同時創(chuàng)建了同名的xib文件,通過xib的方式創(chuàng)建相應(yīng)的控件,根據(jù)設(shè)計圖分別拖選UIImageView、UILabel等控件,對于不同機型的適配,采用添加約束的方式,通過把cell加載到NewsViewController類中的UITableView上來實現(xiàn)列表的展示。為防止出現(xiàn)手機因加載圖片過多、內(nèi)存飆升而導(dǎo)致crash的情況,UITableView的cell利用了復(fù)用機制。

        進入該模塊或下拉列表時,調(diào)用getNewsArray方法利用ServerCommunicator類從服務(wù)器請求農(nóng)業(yè)資訊的最新json信息,數(shù)據(jù)獲取成功或失敗會通過代理的方式回調(diào)到NewsViewController,在成功的回調(diào)方法handleRequestCompletion中,通過NSJSONSerialization類對json數(shù)據(jù)進行解析來獲得標題、內(nèi)容等信息,顯示到對應(yīng)的label上;對于新聞圖片,服務(wù)器返回圖片的地址,利用SDWebImage第三方庫將圖片從網(wǎng)絡(luò)異步下載之后,加載到頁面上,圖片緩存到本地,下次進入模塊或下拉刷新時,相同圖片不必再次請求網(wǎng)絡(luò)。

        點擊每一個新聞,在UITableViewCell的代理方法didSelectRowAtIndexPath中init一個NewsDetailViewControllew類的對象來顯示新聞詳情頁面,該頁面所需控件為UILabel、UIImage以及UITextView,通過請求服務(wù)器獲取詳情的json信息,解析之后把結(jié)果存儲到NewsInfo實體類中,再把數(shù)據(jù)顯示到對應(yīng)的控件上,該模塊采用mvc的設(shè)計模式。

        4.2后臺管理系統(tǒng)實現(xiàn)

        本系統(tǒng)后臺管理端模塊實現(xiàn)的功能包括所有功能模塊信息的錄入以及信息的維護,主要包括農(nóng)業(yè)資訊信息、種子產(chǎn)品信息、市場需求信息的管理、農(nóng)業(yè)咨詢留言的管理以及對用戶信息的維護。

        后臺管理端采用瀏覽器/服務(wù)器(B/S)架構(gòu),開發(fā)工具使用intelliJ IDEA,服務(wù)器采用jetty服務(wù)器,通過maven代碼管理工具構(gòu)建項目,技術(shù)上采用主流的三層架構(gòu),分別為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。表示層采用Html、Css、JavaScript和bootstrap等技術(shù)設(shè)計網(wǎng)頁,通過SpringMVC解析前臺傳過來的參數(shù),通過Controller對應(yīng)前端頁面;業(yè)務(wù)邏輯層通過Service作出相應(yīng)的處理,供Controller調(diào)用,從而實現(xiàn)代碼的通用性,有效避免代碼復(fù)用,使程序邏輯更加清新;數(shù)據(jù)持久層采用Mybatis進行對數(shù)據(jù)庫的添加、修改、查詢和刪除等操作。后臺服務(wù)端管理界面如圖3。

        圖3 后臺管理系統(tǒng)界面

        服務(wù)器與客戶端之間的數(shù)據(jù)交互主要通過JSON獲取對象的形式,然后采用Ajax以GET或者POST方式發(fā)出請求,并且以JSON的形式將所請求的數(shù)據(jù)返回。前臺通過EL表達式和jstl標簽將數(shù)據(jù)或者通過jQuery動態(tài)加載在頁面上。因為系統(tǒng)采用Spring框架,所以controller文件需要@Controller注解,Service文件需要@Service注解,系統(tǒng)在啟動時,會通過注解加載這些文件。

        以農(nóng)業(yè)資訊為例,農(nóng)業(yè)資訊列表頁通過訪問路徑Http://localhost:8080/rest/web/news/list,根據(jù)配置找到controller文件@RequestMapping注解,找到指定的方法,controller方法依次調(diào)用Service,再通過Service調(diào)用Dao,返回農(nóng)業(yè)資訊String類型頁面文件名,并將獲取的News類型的List存入Model中,然后在頁面通過EL表達式的方式顯示。如果修改農(nóng)業(yè)資訊,首先需要頁面發(fā)起請求,通過Ajax訪問路徑Http://localhost:8080/rest/web/news/update?id=1,根據(jù)@RequestMapping注解找到對應(yīng)的方法,調(diào)用Service和Dao返回需要修改的記錄,以JSON的形式返回,然后通過jQuery動態(tài)填入修改信息的表單中用以顯示,修改需要改動的數(shù)據(jù)后提交表單,訪問Controller中updateDo方法將數(shù)據(jù)封裝成對象傳入Service和Dao進行修改,并返回“操作成功”提示。

        4.3推薦系統(tǒng)的實現(xiàn)

        由于Spark提供了豐富的接口,包括Java、Python、Scala語言的API和內(nèi)建的程序庫。Spark可以與其他大數(shù)據(jù)工具配合使用,運行在Hadoop集群上[4]。由于本系統(tǒng)后臺開發(fā)語言采用的是Java語言,所以首先需要在程序中引入Java的Spark相關(guān)jar包,基于Spark MLlib協(xié)同過濾推薦系統(tǒng)的數(shù)據(jù)集要以用戶信息、農(nóng)作物種子產(chǎn)品信息和用戶-產(chǎn)品評分為依托,創(chuàng)建一個JavaSparkContext(Spark容器),然后將用戶評分表中的數(shù)據(jù)轉(zhuǎn)化為一個String類型的JavaRDD,通過對JavaRDD進行轉(zhuǎn)化操作用Rating的格式包裝,此時JavaRDD變成Rating類型,調(diào)用ALS(最小交替二乘)的訓(xùn)練函數(shù)。ALS的訓(xùn)練函數(shù)train包含rdd,rank,iterations,lambda四個參數(shù):(1)rdd為數(shù)據(jù)集。(2)rank表示ALS模型中因子個數(shù),也就是將稀疏矩陣轉(zhuǎn)變?yōu)閮蓚€低階矩陣隱含特征個數(shù)。因子個數(shù)影響訓(xùn)練效果和系統(tǒng)開銷,二者為反比,合理取值為10~200,需要在實踐中調(diào)節(jié)參數(shù),選擇合理的一個。(3)iterations表示運行時迭代次數(shù),ALS每次迭代降低評級矩陣的重建誤差,一般少數(shù)次迭代就可以收斂為一個合理的模型。(4)Lambda用于控制模型的正則化過程,從而控制過擬合情況,該參數(shù)要根據(jù)實際數(shù)據(jù)的特征、大小和稀疏程度來確定。在本項目中我們將rank、iterations、lambda參數(shù)的值依次確定為100,15,0.01。通過訓(xùn)練模型得到一個MatrixFactoriaztionModel(用戶對所有物品的評分)。MatrixFactoriaztionModel中有很多方法,可以預(yù)估特定用戶對特定物品的評分,也可以將用戶對物品的評分以倒序形式輸出,從而得到推薦列表。

        5 結(jié) 語

        本文采用Spark技術(shù)實現(xiàn)了農(nóng)業(yè)信息移動服務(wù)系統(tǒng)的推薦子系統(tǒng),可以有效提高系統(tǒng)的計算速度,進行物品推薦,能夠幫助農(nóng)戶在眾多可選項中發(fā)現(xiàn)新物品,做出更好的選擇,進而對農(nóng)業(yè)發(fā)展起到積極的作用。

        [1] 國務(wù)院.國務(wù)院關(guān)于積極推進“互聯(lián)網(wǎng)+”行動的指導(dǎo)意見[R]. 中華人民共和國國務(wù)院公報, 2015(20):20-22.

        [2] 徐雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J]. 微型電腦應(yīng)用, 2012, 28(7):1-4.

        [3] 楊志偉. 基于Spark平臺推薦系統(tǒng)研究[D]. 北京:中國科學(xué)技術(shù)大學(xué),2015.

        [4] 黃潔,夏俊鸞,劉旭暉,等.Spark大數(shù)據(jù)處理技術(shù)[M].北京:電子工業(yè)出版社,2015.

        (責任編輯鄒永紅)

        The Design of Mobile Agricultural Information Recommendation System

        JIANG Nan, ZHAO Xing, DI Cha-meiling, ZHANG Fu-bin

        (College of Computer Science and Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China)

        Design a agricultural information mobile service system, consists of three modules of the system, including agricultural information display module, recommend system module and background management module, respectively to achieve the display of agricultural information, the recommendation of crop seeds and the management and maintenance of system information. Front-end of the system using Object-C language development; backend interface using MVC architecture pattern, through the Java language combined with SpringMVC and Mybatis to develop; recommendation system using collaborative filtering and spark MLlib Advance technology, and realize the recommendation algorithm parameter tuning.

        Agricultural information system; collaborative filtering; Spark recommendation system; mobile technology

        2096-1383(2016)05-0505-04

        2016-07-01;最后

        2016-08-15

        全國工程專業(yè)學(xué)位研究生教育自選課題(2014-JY-106 );國家民委科研項目(14DLZ012)。

        姜楠(1964-),女,山東龍口人,教授,主要從事信息安全研究。

        TP39

        A

        猜你喜歡
        后臺資訊頁面
        大狗熊在睡覺
        刷新生活的頁面
        資訊Information①
        后臺暗戀
        前臺、后臺精彩花絮停不了
        風采童裝(2016年2期)2016-08-02 09:18:38
        電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
        河南科技(2014年11期)2014-02-27 14:10:03
        后臺
        中國攝影(2013年6期)2013-04-29 21:58:19
        同一Word文檔 縱橫頁面并存
        淺析ASP.NET頁面導(dǎo)航技術(shù)
        資訊
        福利视频自拍偷拍视频| 精品国产乱码久久久软件下载| 91视频免费国产成人| 中文字幕亚洲乱亚洲乱妇| 久久一区二区国产精品| 国产人妻人伦精品1国产| 欧美喷潮久久久xxxxx| 综合图区亚洲另类偷窥| 美女与黑人巨大进入免费观看| 在办公室被c到呻吟的动态图| 一本大道东京热无码| 亚洲色四在线视频观看| 久久久亚洲av成人乱码| 妺妺窝人体色www看人体| 精品久久久久久久无码| 无遮挡很爽视频在线观看| 国产一区二区av免费观看| 少妇被粗大的猛烈进出69影院一 | av有码在线一区二区三区| 全免费a级毛片免费看无码| 成全高清在线播放电视剧| 婷婷色国产精品视频一区 | 色婷婷色99国产综合精品| 国产黄色一区二区三区av| 大学生粉嫩无套流白浆| 人妻丰满熟妇AV无码区HD| 国产目拍亚洲精品区一区| 真实夫妻露脸爱视频九色网| 麻豆成人精品国产免费| 亚洲人成人一区二区三区| 日本一区二区三区免费| 久久精品国产字幕高潮| 亚洲不卡中文字幕无码| 国产精品亚洲综合色区丝瓜| 97中文字幕精品一区二区三区| 中文字幕人妻被公上司喝醉 | 免费看黄片的视频在线观看| 一本本月无码-| 久久se精品一区精品二区国产| 久久91精品国产91久久跳舞| 私人vps一夜爽毛片免费|