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

圖1 系統結構功能圖
根據商城的需求分析,系統分為三個角色,游客角色、用戶角色、管理員角色,游客角色和用戶角色是面向前臺的,管理員角色則是面向后臺的。游客可瀏覽商品,查看商品的用戶評價和價格走向,查看商城活動欄;游客進行注冊登錄后可變為用戶角色,用戶角色可以進行將商品加入購物車、修改訂單、付款、查看物流、商品評價等操作;管理員則是在后臺對一級分類、二級分類、商品、訂單進行相關操作。
前臺主要是給消費者使用,供消費者查看、選擇、購買自己喜歡的商品,其處理流程如圖2所示。
一級分類管理:對一級分類的增加,刪除,修改,同時級聯一級分類,如果一級分類刪除后,對應的二級分類也刪除。二級分類管理:對二級分類的增加,刪除,修改,級聯二級商品,二級分類刪除后,對應的商品也進行刪除。商品的管理:對商品的增加,刪除,修改。
訂單的管理:利用Ajax 技術,通過異步的方式可查看訂單詳情,修改訂單狀態,更新物流信息。

圖2 前臺處理流程圖
根據本商城的業務流程,該系統設計的前臺部分共包括8 個數據庫表:用戶表、一級分類表、二級分類表、商品表、訂單項表、訂單物品表、歷史價格表,商品購買記錄評分表,對應的實體包括用戶、商品一級分類、商品二級分類、商品、訂單、訂單中的商品、商品的歷史價格,用戶評分記錄。數據表之間對應的關系如圖3所示。

圖3 前臺數據庫關系表
該網上商城的后臺是對一級分類、二級分類、商品、訂單的管理,僅包括一個后臺用戶登錄數據表,如表1所示。

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

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

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

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

圖5 商城的支付流程
商品的價格預測主要使用二次平滑法,這是對一次指數平滑值作再一次指數平滑的方法[11~12],計算簡單、樣本要求量較少、適應性較強、結果較穩定[13~14],因此本文選擇該方法進行價格預測。

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

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

圖6 某商品的價格走向圖
在21 世紀的信息化時代,網絡商城的發展適應了人們的需求,雖然現在的電子商城能幫助人足不出戶購買商品,但是人們往往購買不到令自己十分滿意的商品,要么沒買到價格合適的商品,要么對商品的細節了解不夠,本文商城設計就為解決這一問題而提出。本商城設計從人性化角度出發,設計了商品推薦,價格走向,用戶使用心得等功能,使用戶能更好地參考到有價值的信息,從而購買到放心的商品。但該商城設計還有如下問題需要進一步完善,以期達到標準應用程序的水平,如:1)該商城的界面美化問題;2)如何獲得物流體系的支撐等。