唐文靜 張志勤 王慶軍
(魯東大學(xué)信息與電氣工程學(xué)院 煙臺(tái) 264025)
隨著互聯(lián)網(wǎng)的發(fā)展,人們進(jìn)入信息化時(shí)代的二十一世紀(jì)。據(jù)相關(guān)統(tǒng)計(jì)資料顯示,2015 年底,我國(guó)網(wǎng)購(gòu)用戶(hù)突破4 億人,網(wǎng)絡(luò)市場(chǎng)交易規(guī)模3.8 萬(wàn)億元,占社會(huì)消費(fèi)品零售總額12.6%[1]。龐大的用戶(hù)基礎(chǔ)推動(dòng)了網(wǎng)上購(gòu)物的迅速發(fā)展,網(wǎng)上購(gòu)物已經(jīng)成為大眾所趨[2]。基于Web 平臺(tái)開(kāi)發(fā)的網(wǎng)上商城(network mall)是商品銷(xiāo)售企業(yè)應(yīng)用信息技術(shù)的產(chǎn)物。它的出現(xiàn)幫助消費(fèi)者節(jié)省大量的時(shí)間和精力[3],伴隨著“信息超載”也越來(lái)越嚴(yán)重[4],用戶(hù)很難從中找到自己感興趣的內(nèi)容[5],但對(duì)于消費(fèi)者購(gòu)買(mǎi)過(guò)程中輔助選擇商品的功能卻并不完善,使消費(fèi)者要么沒(méi)買(mǎi)到價(jià)格合適的商品,要么對(duì)商品的細(xì)節(jié)了解不夠而導(dǎo)致對(duì)購(gòu)買(mǎi)商品不滿(mǎn)意。
本文網(wǎng)上商城的架構(gòu)采用B/S的三層結(jié)構(gòu),B/S模式的工作過(guò)程是客戶(hù)端請(qǐng)求→服務(wù)器處理→對(duì)客戶(hù)端響應(yīng)[6],除了采用B/S的三層結(jié)構(gòu),本商城還運(yùn)用了Struts2、Spring、Hibernate三種目前非常流行的開(kāi)源技術(shù)[7~8],它們具有層次分明、可重復(fù)性、修改維護(hù)容易、良好的擴(kuò)展性、優(yōu)秀的解耦性等優(yōu)點(diǎn)。
本文商城的需求分析是對(duì)廣大用戶(hù)進(jìn)行了許多調(diào)查分析得出的,分為前臺(tái)需求分析和后臺(tái)需求分析。前臺(tái)需求分析面向客戶(hù);后臺(tái)需求分析面向管理員。本文網(wǎng)上商城的結(jié)構(gòu)功能如圖1 所示。

圖1 系統(tǒng)結(jié)構(gòu)功能圖
根據(jù)商城的需求分析,系統(tǒng)分為三個(gè)角色,游客角色、用戶(hù)角色、管理員角色,游客角色和用戶(hù)角色是面向前臺(tái)的,管理員角色則是面向后臺(tái)的。游客可瀏覽商品,查看商品的用戶(hù)評(píng)價(jià)和價(jià)格走向,查看商城活動(dòng)欄;游客進(jìn)行注冊(cè)登錄后可變?yōu)橛脩?hù)角色,用戶(hù)角色可以進(jìn)行將商品加入購(gòu)物車(chē)、修改訂單、付款、查看物流、商品評(píng)價(jià)等操作;管理員則是在后臺(tái)對(duì)一級(jí)分類(lèi)、二級(jí)分類(lèi)、商品、訂單進(jìn)行相關(guān)操作。
前臺(tái)主要是給消費(fèi)者使用,供消費(fèi)者查看、選擇、購(gòu)買(mǎi)自己喜歡的商品,其處理流程如圖2所示。
一級(jí)分類(lèi)管理:對(duì)一級(jí)分類(lèi)的增加,刪除,修改,同時(shí)級(jí)聯(lián)一級(jí)分類(lèi),如果一級(jí)分類(lèi)刪除后,對(duì)應(yīng)的二級(jí)分類(lèi)也刪除。二級(jí)分類(lèi)管理:對(duì)二級(jí)分類(lèi)的增加,刪除,修改,級(jí)聯(lián)二級(jí)商品,二級(jí)分類(lèi)刪除后,對(duì)應(yīng)的商品也進(jìn)行刪除。商品的管理:對(duì)商品的增加,刪除,修改。
訂單的管理:利用Ajax 技術(shù),通過(guò)異步的方式可查看訂單詳情,修改訂單狀態(tài),更新物流信息。

圖2 前臺(tái)處理流程圖
根據(jù)本商城的業(yè)務(wù)流程,該系統(tǒng)設(shè)計(jì)的前臺(tái)部分共包括8 個(gè)數(shù)據(jù)庫(kù)表:用戶(hù)表、一級(jí)分類(lèi)表、二級(jí)分類(lèi)表、商品表、訂單項(xiàng)表、訂單物品表、歷史價(jià)格表,商品購(gòu)買(mǎi)記錄評(píng)分表,對(duì)應(yīng)的實(shí)體包括用戶(hù)、商品一級(jí)分類(lèi)、商品二級(jí)分類(lèi)、商品、訂單、訂單中的商品、商品的歷史價(jià)格,用戶(hù)評(píng)分記錄。數(shù)據(jù)表之間對(duì)應(yīng)的關(guān)系如圖3所示。

圖3 前臺(tái)數(shù)據(jù)庫(kù)關(guān)系表
該網(wǎng)上商城的后臺(tái)是對(duì)一級(jí)分類(lèi)、二級(jí)分類(lèi)、商品、訂單的管理,僅包括一個(gè)后臺(tái)用戶(hù)登錄數(shù)據(jù)表,如表1所示。

表1 網(wǎng)上商城的后臺(tái)數(shù)據(jù)表
按照4 中對(duì)商城的設(shè)計(jì),下面介紹本商城的幾個(gè)特色功能的實(shí)現(xiàn)。
猜你喜歡推薦欄在用戶(hù)購(gòu)買(mǎi)的歷史記錄和用戶(hù)的評(píng)價(jià)的數(shù)據(jù)基礎(chǔ)上,利用基于物品的協(xié)同過(guò)濾算法來(lái)計(jì)算出用戶(hù)最想購(gòu)買(mǎi)的商品?;谖锲返膮f(xié)同過(guò)濾算法是目前商業(yè)界運(yùn)用最多的算法,無(wú)論是亞馬遜網(wǎng)還是YouTube,其推薦算法的基礎(chǔ)都是該算法[9],該算法主要思想是用戶(hù)對(duì)于相似的項(xiàng)目具有相似的看法[10]。采用基于物品的協(xié)同過(guò)濾算法實(shí)現(xiàn)猜你喜歡推薦欄的步驟如下:
1)首先需要建立用戶(hù)物品倒排表。
2)根據(jù)用戶(hù)物品倒排表,對(duì)于每個(gè)用戶(hù)的物品集合將物品兩兩加一,計(jì)算共現(xiàn)矩陣C。
3)計(jì)算出喜歡物品的用戶(hù)數(shù)矩陣N。
4)在矩陣N 的基礎(chǔ)上利用式(1)求出余弦相似度矩陣W,所示其中分母N(i),N(j)代表喜歡物品i,j 的用戶(hù)數(shù)即用戶(hù)數(shù)矩陣N 的數(shù)據(jù),分子N(i)∩N(j)代表同時(shí)喜歡物品i,物品j 的用戶(hù)數(shù)即共現(xiàn)矩陣C的數(shù)據(jù)。

在得到物品的相似度之后,利用式(2)計(jì)算用戶(hù)u 對(duì)一個(gè)物品的興趣,取用戶(hù)對(duì)物品的興趣度最高的前三個(gè)物品推薦給用戶(hù)u,得到結(jié)果如圖4 所示。

這里的N(u)是用戶(hù)喜歡物品的集合,S(j,k)是和物品i 最相似k 個(gè)物品的集合,wji是物品j 和物品i 的相似度,rui是用戶(hù)u 對(duì)物品i 的興趣(即用戶(hù)對(duì)物品的打分)。該公式的含義是:和用戶(hù)歷史上感興趣越相似的物品,越有可能在用戶(hù)的推薦列表當(dāng)中獲得比較高的排名。

圖4 猜你喜歡推薦欄實(shí)現(xiàn)圖
為了實(shí)現(xiàn)用戶(hù)的便捷支付,本網(wǎng)上商城實(shí)現(xiàn)了在線(xiàn)支付功能,借助易付寶的支付接口,網(wǎng)站向易付 寶(https://www.yeepay.com/app-merchant-proxy/node)發(fā)送業(yè)務(wù)類(lèi)型、商戶(hù)編號(hào)、訂單編號(hào)、付款金額、交易幣種、商品名稱(chēng)、商品種類(lèi)、支付通道編碼、應(yīng)答機(jī)制、秘鑰等信息,發(fā)送成功后,易付寶會(huì)跳轉(zhuǎn)到網(wǎng)銀界面,付款成功后跳轉(zhuǎn)到網(wǎng)站首頁(yè),支付流程如圖5所示。

圖5 商城的支付流程
商品的價(jià)格預(yù)測(cè)主要使用二次平滑法,這是對(duì)一次指數(shù)平滑值作再一次指數(shù)平滑的方法[11~12],計(jì)算簡(jiǎn)單、樣本要求量較少、適應(yīng)性較強(qiáng)、結(jié)果較穩(wěn)定[13~14],因此本文選擇該方法進(jìn)行價(jià)格預(yù)測(cè)。

二次指數(shù)平滑法其計(jì)算公式如下:式中,St(2),St-1(2)分別為t 期和t-1 期的二次指數(shù)平滑值[15];a 為平滑系數(shù)。在上式基礎(chǔ)上,可得到二次指數(shù)平滑法的預(yù)測(cè)模型,如式(5)所示,其中,T為想要預(yù)測(cè)期數(shù),參數(shù)at,bt采用式(6)、(7)求解。

本文給出了3~7 月份共5 個(gè)月份的數(shù)據(jù),取平滑系數(shù)a=0.6,利用式(3)、(4)分別求出4 月份的一次平滑指數(shù)、二次平滑指數(shù),依次類(lèi)推求出7 月份的二次平滑指數(shù),然后根據(jù)式(6)、式(7)則求出二次平滑法模型中的參數(shù)a10,b10,最后本系統(tǒng)獲取當(dāng)前月份M,T=M-9將T帶入式(5),求出12月份的商品價(jià)格為1260.154。價(jià)格走向和預(yù)測(cè)結(jié)果如圖6所示,實(shí)線(xiàn)代表商品的歷史價(jià)格走向,虛線(xiàn)部分代表商品的價(jià)格預(yù)測(cè)。

圖6 某商品的價(jià)格走向圖
在21 世紀(jì)的信息化時(shí)代,網(wǎng)絡(luò)商城的發(fā)展適應(yīng)了人們的需求,雖然現(xiàn)在的電子商城能幫助人足不出戶(hù)購(gòu)買(mǎi)商品,但是人們往往購(gòu)買(mǎi)不到令自己十分滿(mǎn)意的商品,要么沒(méi)買(mǎi)到價(jià)格合適的商品,要么對(duì)商品的細(xì)節(jié)了解不夠,本文商城設(shè)計(jì)就為解決這一問(wèn)題而提出。本商城設(shè)計(jì)從人性化角度出發(fā),設(shè)計(jì)了商品推薦,價(jià)格走向,用戶(hù)使用心得等功能,使用戶(hù)能更好地參考到有價(jià)值的信息,從而購(gòu)買(mǎi)到放心的商品。但該商城設(shè)計(jì)還有如下問(wèn)題需要進(jìn)一步完善,以期達(dá)到標(biāo)準(zhǔn)應(yīng)用程序的水平,如:1)該商城的界面美化問(wèn)題;2)如何獲得物流體系的支撐等。