公務(wù)員期刊網(wǎng) 論文中心 正文

熱銷推薦下的商品展示系統(tǒng)設(shè)計實現(xiàn)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了熱銷推薦下的商品展示系統(tǒng)設(shè)計實現(xiàn)范文,希望能給你帶來靈感和參考,敬請閱讀。

熱銷推薦下的商品展示系統(tǒng)設(shè)計實現(xiàn)

摘要:商品展示設(shè)計是針對性設(shè)計,布局和施行商品銷售、展示、視覺傳播和購物環(huán)境,以促成銷售,促銷商品并滿足生產(chǎn)者和消費者的需要。消費者的需要創(chuàng)造了愈加的科學、更加合理、更合乎人們購物習慣于生活方式的商品展出系統(tǒng)。適應(yīng)如今的商品展示社會化市場的要求,它結(jié)合了有關(guān)網(wǎng)絡(luò)和商品消費的理論知識,包含多個學科的研究性質(zhì),擁有非常好的研究意義和實現(xiàn)價值。

關(guān)鍵詞:商品展示;促進銷售;推薦服務(wù)

1概述

21世紀中國的互聯(lián)網(wǎng)已經(jīng)進入高速的發(fā)展和應(yīng)用,越來越多的人在與自己休戚相關(guān)的日常生活中使用新的Internet技術(shù)。在商品營銷領(lǐng)域,由于互聯(lián)網(wǎng)可以整合文字、音頻、視頻、動畫等多種媒體信息,使信息的展示更加生動,信息的閱覽更加方便。還可以實現(xiàn)網(wǎng)上平臺交易、客戶信息響應(yīng)等功能,大大方便了企業(yè)、企業(yè)和客戶之間的溝通。由于這些原因,各大商品銷售商紛紛開始建設(shè)自己的商品展出網(wǎng)絡(luò)系統(tǒng),以提高自己的產(chǎn)品曝光度。現(xiàn)在“商品展示設(shè)計”已經(jīng)成為一種商業(yè)策略。通過商品的展示和設(shè)計,提升了企業(yè)形象和產(chǎn)品的附加值和最活躍的商業(yè)活動。在這種新的競爭形式下,只有準確捕捉市場信息并關(guān)注主流時尚,才能博得消費者的信任,才能生存和成長。

2系統(tǒng)功能

商品展示系統(tǒng),作為一個展示平臺,最重要的就是根據(jù)使用者的注冊信息,提供合理的,精準的商品推薦和友好的展示。系統(tǒng)角色可分為3種:普通使用者、商家使用者、系統(tǒng)管理員。針對不同的角色有不同的權(quán)限和功能。具體的詳細描述如下:(1)普通使用者:1)使用者的注冊與登入登出:為使用者提供注冊與登錄功能。使用者注冊時需要填寫個人所在行業(yè)、關(guān)注領(lǐng)域以及感興趣的事物。系統(tǒng)會根據(jù)這類信息為每個使用者提供分布式商品推銷功能。2)商品展示:為使用者提供商品展示功能。商品展示主要有兩種。①根據(jù)使用者個人設(shè)置的標簽進行展示。②搜索展示。3)商品搜索:為使用者提供商品搜索功能。該功能要求滿足商品的多種字段搜索。如:商品名稱、商品分類、商品品牌等等。4)客服系統(tǒng):由于商品展示不涉及支付,只是提供推薦與展示平臺。所以對于的商品需要提供客服服務(wù),以便滿足使用者與商家溝通。5)使用者信息編輯:對個人信息的修改。(2)商家管理人員,除普通的使用者用戶的功能外,有對商品的常用操作功能:產(chǎn)品的相關(guān)操作:包含對自家產(chǎn)品信息的、編輯、邏輯刪除、搜索或查找等。(3)系統(tǒng)管理員:所有商品的管理:擁有對所有商家的商品信息的管理。已注冊用戶使用者的管理:對普通用戶使用者,商家用戶使用者的個人信息的管理。系統(tǒng)設(shè)置管理:針對系統(tǒng)的布局、主色調(diào)、首頁輪播推薦等系統(tǒng)性功能的管理。

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

系統(tǒng)的數(shù)據(jù)保存在MySQL5.7中,共有5張表:(1)產(chǎn)品信息表,存儲商品的基本信息。如ID,商品名稱。(2)注冊用戶表,存儲注冊者的姓名、賬號、密碼、權(quán)限、簡介等信息。如用戶的關(guān)鍵詞,標簽。(3)商品分類表,存放商品分類id與名稱等。(4)離線推薦表,存放每個用戶根據(jù)其自身歷史瀏覽的記錄生成的一段時間的離線推薦列表。(5)實時推薦列表存放redis中,動態(tài)更新。離線推薦列表存放在MySQL數(shù)據(jù)庫中進行周期性更新。

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

從第三部分系統(tǒng)的功能分析中可以得到系統(tǒng)共分為6個模塊:產(chǎn)品管理模塊、分類管理模塊、產(chǎn)品和推薦顯示模塊、用戶信息管理模塊、系統(tǒng)管理模塊和關(guān)鍵字管理模塊。首先描述系統(tǒng)總體的公有部分,然后根據(jù)篇幅適當描述模塊的關(guān)鍵功能的關(guān)鍵業(yè)務(wù)邏輯。

4.1系統(tǒng)common部分實現(xiàn)

系統(tǒng)的整體結(jié)構(gòu)有5個包:cn.myshop.message、cn.myshop.product、cn.myshop.tags、cn.myshop.interactions、cn.myshop.os,各個軟件包下都含有entity,dao,service,controller這4個模塊,這也是大多數(shù)MVC架構(gòu)進行的分層思想。Entity包存放對象類,對應(yīng)數(shù)據(jù)庫中的表;Dao包存放XXXDao接口,負責與數(shù)據(jù)庫交互;Ser-vice包存放XXXXService規(guī)范接口和它對應(yīng)的XXXSer-viceImpl具體的implements類,負責主要的功能與具體業(yè)務(wù)邏輯;Controller控制器的包存放XXXXController類,負責前端與后臺的交互,作為控制器除了這4個類別之外,某些package中也許還可能具有另外幾個class,例如,用于充當工具類的toolspackage,用于充當配置類的configurationpackage。還有負責面向切面編程(使用springAOP)的aspectpackage。統(tǒng)一異常處理得Exceptionpackage。系統(tǒng)使用模板引擎(thymeleaf)作為視圖呈現(xiàn)的一部分,并使用tf作為模型語言來獲取返回的模型數(shù)據(jù)。使用數(shù)據(jù)持久層框架mybatis和關(guān)系型數(shù)據(jù)庫MySQL作為數(shù)據(jù)庫存儲,系統(tǒng)的常規(guī)業(yè)務(wù)操作使用Mybatisplus提供的常用CRUD接口。將Dao接口中的標準類的映射方法與Mybatis的mapper.xml相對應(yīng),并執(zhí)行包掃描mapperScanner(程序包掃描)和映射設(shè)置,以實現(xiàn)Dao和mapper之間的正確關(guān)聯(lián)。系統(tǒng)中使用mybatis-plus簡化mybatis的開發(fā)。使用renren-generator對普通的基礎(chǔ)業(yè)務(wù)進行實現(xiàn)。

4.2推薦頁實現(xiàn)

推薦頁分為實時推薦、離線推薦。實時推薦,實時推薦監(jiān)聽Kafka的用戶行為數(shù)據(jù)(用戶標簽,用戶近期瀏覽(一天之內(nèi))等行為),然后進行實時計算,將結(jié)果寫回redis,離線推薦則是根據(jù)使用者的近期使用足跡進行計算。并且在一個定性的時間段,執(zhí)行提前設(shè)置好的預(yù)設(shè)代碼進行離線計算。之后將計算出來的推薦結(jié)果存儲到MySQL數(shù)據(jù)庫中。推薦頁界面如圖2所示。詳情展示頁會對商品的圖片、評分等信息進行描述。詳情頁展示如圖3所示。

4.3離線推薦

離線推薦主要是采用ALS作為協(xié)同過濾算法,根據(jù)MySQL中的用戶評分表計算離線的用戶商品推薦列表以及商品相似度矩陣。(1)協(xié)調(diào)過濾:利用集體智慧,把大家都喜歡的東西互相推薦。所以要求提前收集用戶偏好,有大量的數(shù)據(jù)可供分析。(2)ALS算法:ALS算法屬于一種協(xié)同過濾算法。(3)實現(xiàn)流程:ALS這個東西的使用在mllib里面已經(jīng)有實現(xiàn)了,它需要先訓練一個模型出來,再通過模型預(yù)測數(shù)據(jù)。訓練數(shù)據(jù)需要使用ALS.train()方法,傳入訓練數(shù)據(jù)以及控制參數(shù)。預(yù)測數(shù)據(jù)需要使用model.predict()方法,傳入測試數(shù)據(jù)即可。加載用戶評分數(shù)據(jù)把userId和productId提取出來形成兩個獨立的RDD,計算它們的笛卡爾積得到userProducts,作為提供訓練的模型數(shù)據(jù)儲備庫。把userId和productId以及score提取出來形成一個三元組構(gòu)造訓練的模型數(shù)據(jù)儲備庫以及測試的模型數(shù)據(jù)儲備庫。訓練的模型數(shù)據(jù)得到model,再通過model預(yù)測得到推薦數(shù)據(jù),然后把推薦數(shù)據(jù)寫入到MySQL。通過model得到的不只有預(yù)測數(shù)據(jù),還可以拿到productFeatures,即各個商品以及它的特征。

4.4實時推薦

離線服務(wù)是綜合歷史數(shù)據(jù)來計算的,但實時服務(wù)應(yīng)該根據(jù)用戶最近的行為來推薦,實時推薦要求響應(yīng)迅速,所以不能再使用ALS了。為了快速響應(yīng),應(yīng)該提前預(yù)熱數(shù)據(jù),在已有的數(shù)據(jù)集上再次少量計算即可。為了能夠?qū)崿F(xiàn)實時推薦的動態(tài)響應(yīng)的動態(tài)性,勢必會對其準確度與推薦算法的流程進行適當?shù)暮喕?,在保證推薦結(jié)果正確的情況下,減少一定的推薦元素的計算。這樣可以充分地將實時推薦的速度進行一個適當?shù)奶嵘?。實現(xiàn)流程:(1)加載redis里面的ProductResult作為實時計算的基礎(chǔ)數(shù)據(jù)。(2)用戶user1對商品p1進行了評分,就觸發(fā)一次實時計算。(3)從ProductResult中選出與商品p1最相似的K個商品作為集合S。(4)要過濾掉用戶user1自己評分過的其他全部商品,過濾掉之后推薦的東西才是他沒有見過的。(5)從Redis中獲取用戶user1最近時間內(nèi)的K條評分,包含本次評分,作為集合RK。(6)把從(1)、(2)、(3)里面拿到的數(shù)據(jù)作為參數(shù),開始計算推薦的產(chǎn)品優(yōu)先級,并生成更新過后的標識符集。(7)將更新過后的標識符集與用戶user1的最后推薦結(jié)果Result組合,以加工的最新的推薦結(jié)果NewResult作為最后的推薦結(jié)果輸出。

5測試

商品展示系統(tǒng)的測試主要分為服務(wù)端測試、和客戶端業(yè)務(wù)功能測試、推薦功能測試。(1)服務(wù)端測試:針對的是服務(wù)器的壓力、性能、吞吐量、并發(fā)量,以及容錯機制的測試。測試方法:為了提高測試的準確性,采用多種測試方法,其中有典型的黑白盒測試。(2)客戶端業(yè)務(wù)功能測試:針對的是用戶正常使用系統(tǒng)的各個功能,確保指定的某個功能按照預(yù)設(shè)的結(jié)果去執(zhí)行。如:登錄注冊測試、展示功能測試、編輯功能測試、權(quán)限功能測試、安全可靠性測試。通過實際的生產(chǎn)環(huán)境模擬真實的系統(tǒng)運行環(huán)境,確保測試結(jié)果的準確,使系統(tǒng)更加的完善、健全。(3)推薦功能測試屬于客戶端測試之一,但由于其較為復(fù)雜也需要單獨進行單元測試,確保推薦的商品時的精準性。

6結(jié)語

對商品展示系統(tǒng)的研究,對其兩大問題進行了主要表述與研究:一個是業(yè)務(wù),一個是推薦。雖然商品展示系統(tǒng)已經(jīng)初步實施,但是由于研究和實施時間以及一些內(nèi)部和外部條件,仍有一些領(lǐng)域需要補充、優(yōu)化和擴展。比如可以整合下單服務(wù),形成一個完整的消費流程。同時系統(tǒng)對于商品審計功能可以進行進一步的優(yōu)化,提取出一個單獨的審計模塊,實現(xiàn)部分商品的自動化審計。

參考文獻

[1]陳瑞.基于Springboot高并發(fā)JavaWeb開發(fā)模式[J].電腦編程技巧與維護,2019,(04):27-30.

[2]陳忠菊.NoSQL數(shù)據(jù)庫的研究和應(yīng)用[J].電腦編程技巧與維護,2020,(09):81-83.

[3]周千元.基于Spark的個性化推薦系統(tǒng)的研究[D].中南林業(yè)科技大學,2019.

[4]AhmedAbdulhadiAwadhHanshi.推薦系統(tǒng)精度提高的實用方法[D].中南大學,2014.

[5]林琛,黃潔,劉杜鋼.一種基于數(shù)據(jù)非隨機缺失機制的推薦系統(tǒng)方法[P].

作者:胡繼米 張倚霖 牛玲 單位:周口師范學院