江雨燕,邵源,李平,李常訓(xùn),趙文輝
(安徽工業(yè)大學(xué)a.管理科學(xué)與工程學(xué)院;b.外國(guó)語(yǔ)學(xué)院,安徽馬鞍山243032)
基于云計(jì)算的電子商務(wù)推薦系統(tǒng)研究
江雨燕a,邵源a,李平a,李常訓(xùn)a,趙文輝b
(安徽工業(yè)大學(xué)a.管理科學(xué)與工程學(xué)院;b.外國(guó)語(yǔ)學(xué)院,安徽馬鞍山243032)
通過(guò)對(duì)云計(jì)算系統(tǒng)架構(gòu)、平臺(tái)開(kāi)發(fā)、用戶行為分析、電子商務(wù)應(yīng)用等方面的研究,提出了一種新型的分布式存儲(chǔ)系統(tǒng),并在此基礎(chǔ)上構(gòu)建了一種新的智能化電子商務(wù)個(gè)性化推薦系統(tǒng)。該推薦系統(tǒng)有效解決了大型日志數(shù)據(jù)存儲(chǔ)、無(wú)法實(shí)時(shí)推薦、算法伸縮性低等問(wèn)題,為用戶提供動(dòng)態(tài)、實(shí)時(shí)的個(gè)性化服務(wù),實(shí)現(xiàn)了商務(wù)推薦引擎的個(gè)性化和智能化。
云計(jì)算;電子商務(wù);用戶行為分析;推薦系統(tǒng)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,電子商務(wù)的應(yīng)用越來(lái)越廣泛。但互聯(lián)網(wǎng)數(shù)據(jù)和內(nèi)容的不斷增長(zhǎng),使得電子商務(wù)的發(fā)展瓶頸日益凸顯[1]。作為電子商務(wù)的重要工具,推薦引擎的發(fā)展也受到了限制。云計(jì)算的提出和發(fā)展為電子商務(wù)推薦引擎處理海量數(shù)據(jù),以及在集群上的應(yīng)用奠定了基礎(chǔ)。
分布式系統(tǒng)能有效解決高性能計(jì)算系統(tǒng)的海量數(shù)據(jù)存儲(chǔ)和I/O瓶頸問(wèn)題[2]。分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,為海量數(shù)據(jù)的存儲(chǔ)提供了條件?;ヂ?lián)網(wǎng)中的大量數(shù)據(jù)可以通過(guò)分布式文件系統(tǒng),存儲(chǔ)在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上。MapReduce[3]是分布式的計(jì)算模型,它與分布式存儲(chǔ)系統(tǒng)由于其優(yōu)秀的性能已經(jīng)廣泛應(yīng)用于科學(xué)計(jì)算、互聯(lián)網(wǎng)服務(wù)、海量數(shù)據(jù)處理等任務(wù)中。
云計(jì)算是并行計(jì)算、分布式計(jì)算和網(wǎng)格計(jì)算的延伸,是這些計(jì)算科學(xué)概念的商業(yè)化,是一種能夠動(dòng)態(tài)伸縮的虛擬化資源,該資源在互聯(lián)網(wǎng)上通過(guò)服務(wù)的形式來(lái)提供給客戶,同時(shí)客戶無(wú)需知道如何管理支持云計(jì)算的這些基礎(chǔ)設(shè)施。
1.1 云計(jì)算系統(tǒng)的定義
云計(jì)算系統(tǒng)是由一組內(nèi)部互聯(lián)的虛擬機(jī)組成的并行和分布式計(jì)算系統(tǒng),該系統(tǒng)能夠根據(jù)服務(wù)提供商和客戶之間協(xié)商的服務(wù)等級(jí)協(xié)議動(dòng)態(tài)提供計(jì)算資源。云計(jì)算系統(tǒng)是以付費(fèi)使用的形式向用戶提供各種服務(wù)的分布式計(jì)算系統(tǒng),系統(tǒng)對(duì)用戶來(lái)說(shuō)是透明的,其本質(zhì)是對(duì)虛擬化的計(jì)算和存儲(chǔ)資源池進(jìn)行動(dòng)態(tài)部署、動(dòng)態(tài)分配/重分配、實(shí)時(shí)監(jiān)控的系統(tǒng)。從而向用戶提供滿足Qos要求的計(jì)算服務(wù)、數(shù)據(jù)存儲(chǔ)服務(wù)以及平臺(tái)服務(wù)[4]。它為用戶屏蔽了底層異構(gòu)的軟硬件資源,為其提供服務(wù)和資源,各種不同類型的資源經(jīng)過(guò)層層的虛擬化技術(shù)后,針對(duì)虛擬資源的分配、共享和使用。
1.2 分布式文件系統(tǒng)
分布式文件系統(tǒng)(Distributed File System)是指文件系統(tǒng)管理的物理存儲(chǔ)資源并不是直接連接在本地節(jié)點(diǎn)上,而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。分布式文件系統(tǒng)的設(shè)計(jì)基于客戶機(jī)/服務(wù)器模式。一個(gè)典型的網(wǎng)絡(luò)可能包括多個(gè)供多用戶訪問(wèn)的服務(wù)器。另外,對(duì)等特性允許一些系統(tǒng)扮演客戶機(jī)和服務(wù)器的雙重角色。分布式文件系統(tǒng)Distributed File System(DFS)采用主從架構(gòu),一個(gè)分布式文件系統(tǒng)由唯一一個(gè)目錄節(jié)點(diǎn)NameNode(主節(jié)點(diǎn)),和多個(gè)數(shù)據(jù)節(jié)點(diǎn)DataNode(子節(jié)點(diǎn))組成。分布式文件系統(tǒng)對(duì)外表現(xiàn)為一個(gè)普通的文件系統(tǒng),用戶可以用文件名去存取文件,而實(shí)際上這個(gè)文件是被分成不同的數(shù)據(jù)塊,這些數(shù)據(jù)塊就是存儲(chǔ)在數(shù)據(jù)節(jié)點(diǎn)上面[5]。
1.3 分布式計(jì)算
MapReduce是一種用于大規(guī)模數(shù)據(jù)集(大于1 TB)的并行運(yùn)算的編程模型,其起源于函數(shù)式編程模型主要包含兩項(xiàng)核心操作:Map和Reduce。Map是把一組數(shù)據(jù)一對(duì)一的映射為另外的一組數(shù)據(jù),其映射的規(guī)則由一個(gè)Map函數(shù)來(lái)指定。Reduce是對(duì)一組數(shù)據(jù)進(jìn)行規(guī)約,這個(gè)規(guī)約由一個(gè)Reduce函數(shù)指定。Map是一個(gè)把數(shù)據(jù)分開(kāi)的過(guò)程,Reduce則是把數(shù)據(jù)合并的過(guò)程。
2.1 推薦引擎定義
推薦引擎利用特殊的信息過(guò)濾[6](IF,Information Filtering)技術(shù),將不同的內(nèi)容(例如電影、音樂(lè)、書(shū)籍、新聞、圖片、網(wǎng)頁(yè)等)推薦給可能感興趣的用戶[7]。通常情況下,推薦引擎的實(shí)現(xiàn)是通過(guò)將用戶的個(gè)人喜好與特定的參考特征進(jìn)行比較,并試圖預(yù)測(cè)用戶對(duì)一些未評(píng)分項(xiàng)目的喜好程度。參考特征的選取可能是從項(xiàng)目本身的信息中提取的,或是基于用戶所在的社會(huì)或社團(tuán)環(huán)境。
電子商務(wù)推薦系統(tǒng)(E-Commence Recommendation System)向客戶提供商品信息和購(gòu)買(mǎi)建議,模擬銷(xiāo)售人員幫助客戶完成購(gòu)買(mǎi)過(guò)程。智能推薦系統(tǒng)的作用可以概括為:將電子商務(wù)網(wǎng)站的瀏覽者轉(zhuǎn)變?yōu)橘?gòu)買(mǎi)者,提高電子商務(wù)網(wǎng)站的交叉銷(xiāo)售能力,提高客戶對(duì)電子商務(wù)網(wǎng)站的忠誠(chéng)度。
2.2 推薦引擎現(xiàn)狀
1)隨著電子商務(wù)網(wǎng)站規(guī)模的擴(kuò)大,一般大型電子商務(wù)系統(tǒng)擁有百萬(wàn)數(shù)量級(jí)的產(chǎn)品和用戶,用戶和產(chǎn)品數(shù)的增長(zhǎng)都會(huì)導(dǎo)致算法運(yùn)行的性能下降?;趙eb的推薦算法面臨嚴(yán)重的伸縮性問(wèn)題。
2)電子商務(wù)推薦系統(tǒng)是和電子商務(wù)應(yīng)用服務(wù)系統(tǒng)相結(jié)合的,由于瀏覽者的耐心有限,因此推薦系統(tǒng)的實(shí)時(shí)性和它的推薦效果直接關(guān)系。但在大型電子商務(wù)推薦系統(tǒng)中,由于數(shù)據(jù)量日結(jié)越累,并快速增長(zhǎng),推薦系統(tǒng)的實(shí)時(shí)性越來(lái)越難以保證。這對(duì)推薦計(jì)數(shù)和推薦系統(tǒng)架構(gòu)提出了新的挑戰(zhàn)。
圖1 主流的電子商務(wù)推薦系統(tǒng)架構(gòu)Fig.1 M ainstream architecture ofe-commerce recommendation system
3)數(shù)據(jù)存儲(chǔ)面臨的問(wèn)題。當(dāng)前主流的電子商務(wù)推薦系統(tǒng)構(gòu)架如圖1所示。從圖1中可以看目前電子商務(wù)企業(yè)使用的推薦引擎基本采用B/S架構(gòu),一般部署于一臺(tái)或幾臺(tái)Web應(yīng)用服務(wù)器上,對(duì)用戶輸入數(shù)據(jù)和服務(wù)器日志及統(tǒng)計(jì)數(shù)據(jù)進(jìn)行挖掘處理。
隨著數(shù)據(jù)的膨脹,單臺(tái)服務(wù)器的存儲(chǔ)已無(wú)法滿足存儲(chǔ)需求。同時(shí)隨著客戶端的增加,單位時(shí)間內(nèi)并發(fā)用戶不斷增加,這會(huì)給服務(wù)器帶來(lái)巨大壓力,響應(yīng)給客戶端的時(shí)間會(huì)大大增加。雖然以上瓶頸可以通過(guò)增加硬盤(pán)的方式擴(kuò)大存儲(chǔ),甚至采用磁盤(pán)陣列,負(fù)載均衡等方式解決,但仍然存在I/O讀寫(xiě)瓶頸,硬件設(shè)備過(guò)于集中,硬件成本過(guò)高,網(wǎng)絡(luò)帶寬消耗過(guò)大等問(wèn)題。
3.1 云計(jì)算環(huán)境下推薦系統(tǒng)架構(gòu)設(shè)計(jì)
針對(duì)云計(jì)算環(huán)境下數(shù)據(jù)存儲(chǔ)的形式和分布式算法的特點(diǎn),設(shè)計(jì)基于云計(jì)算的電子商務(wù)推薦引擎的系統(tǒng)架構(gòu),如圖2,包括持久層、控制層和表示層。
其中持久層即云計(jì)算平臺(tái)的分布式存儲(chǔ)系統(tǒng),由分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)組成。由于互聯(lián)網(wǎng)中用戶眾多,而每個(gè)用戶都有其對(duì)應(yīng)的日志數(shù)據(jù),普通的存儲(chǔ)系統(tǒng)挖掘存儲(chǔ)數(shù)量巨大的用戶數(shù)據(jù),因此分布式存儲(chǔ)系統(tǒng)是構(gòu)建電子商務(wù)推薦系統(tǒng)的基礎(chǔ),其為推薦系統(tǒng)的用戶行為分析、關(guān)聯(lián)規(guī)則產(chǎn)生等任務(wù)提供重要的基礎(chǔ)支撐。控制層通過(guò)分布式計(jì)算即MapReduce程序建立資源模型和索引,其中包含大量復(fù)雜的智能推薦算法和信息處理過(guò)程。普通用戶和系統(tǒng)用戶通過(guò)開(kāi)發(fā)的表示層與推薦引擎進(jìn)行交互。這種架構(gòu)為用戶屏蔽所有的底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和業(yè)務(wù)處理程序。
圖2 基于云計(jì)算的商務(wù)推薦引擎架構(gòu)Fig.2 A rchitecture of recomm endation system based on cloud computing
3.2 分布式存儲(chǔ)系統(tǒng)設(shè)計(jì)
隨著互聯(lián)網(wǎng)上數(shù)據(jù)和內(nèi)容的不斷增長(zhǎng),互聯(lián)網(wǎng)上的數(shù)據(jù)量變得非常巨大,用戶難以找到自己想要的信息,通過(guò)提供簡(jiǎn)單的基于單臺(tái)服務(wù)器或者小集群不能滿足用戶需求。海量數(shù)據(jù)的存儲(chǔ)已成為制約推薦引擎發(fā)展的關(guān)鍵因素。推薦引擎的系統(tǒng)性能極大地依賴于底層的文件系統(tǒng)。如果單純依賴操作系統(tǒng)提供文件系統(tǒng)基本功能,將無(wú)法獲得理想的性能。分布式文件系統(tǒng)具有高吞吐量、高I/O寬帶擴(kuò)展特點(diǎn),它可以將多個(gè)節(jié)點(diǎn)的硬盤(pán)組織成為全局的存儲(chǔ)系統(tǒng),提供聚合的存儲(chǔ)容量和I/O寬帶,并易于隨系統(tǒng)規(guī)模擴(kuò)展而擴(kuò)展。
本文設(shè)計(jì)的分布式存儲(chǔ)系統(tǒng)中數(shù)據(jù)被分成單位大小的分塊(block),可以被存儲(chǔ)在集群的任意一個(gè)磁盤(pán)上。同時(shí)一個(gè)分塊被復(fù)制成多份并且分布在不同的磁盤(pán)上,這就保證了容錯(cuò)性和并行復(fù)制。對(duì)于用戶來(lái)說(shuō)對(duì)文件的讀寫(xiě)等操作完全透明,用戶可以像操作個(gè)人計(jì)算機(jī)上的文件一樣操作分布式系統(tǒng)中的文件。分布式存儲(chǔ)系統(tǒng)的架構(gòu)如圖3所示,其中名稱結(jié)點(diǎn)(Namenode)提供整個(gè)分布式存儲(chǔ)系統(tǒng)的命名空間管理,塊管理等所有服務(wù),而與元數(shù)據(jù)(metadata)所有的相關(guān)服務(wù)都是由名稱結(jié)點(diǎn)提供??蛻舳耍–lient)可以通過(guò)名稱結(jié)點(diǎn)獲得相應(yīng)的數(shù)據(jù)節(jié)點(diǎn)(Datenodes)存儲(chǔ)的數(shù)據(jù)塊(Blocks),并對(duì)它們進(jìn)行相應(yīng)的讀寫(xiě)操作。
圖3 DFS系統(tǒng)架構(gòu)Fig.3 Architectureof distributed file system
3.3 智能推薦過(guò)程設(shè)計(jì)
從海量數(shù)據(jù)中尋找有用的模式,已成為推薦引擎的重要任務(wù)。MapReduce編程模型的提出無(wú)疑是對(duì)海量數(shù)據(jù)處理方法提供了強(qiáng)有力的工具。海量數(shù)據(jù)挖掘的關(guān)鍵問(wèn)題為數(shù)據(jù)挖掘算法的并行化。云計(jì)算系統(tǒng)主要采用MapReduce等新型計(jì)算模型,這意味著現(xiàn)有的數(shù)據(jù)挖掘算法和并行化策略不能直接應(yīng)用于云計(jì)算平臺(tái),需要進(jìn)行一定改造。目前已經(jīng)有許多優(yōu)秀的數(shù)據(jù)挖掘算法被移植到了云計(jì)算平臺(tái)。如,PFPGrow th算法[8],K-means算法[9],決策樹(shù)算法[10]等。本文設(shè)計(jì)中采用MapReduce作為分布式并行計(jì)算模型,將大型任務(wù)分成很多細(xì)粒度的子任務(wù),這些子任務(wù)分布式且并行地在多個(gè)計(jì)算節(jié)點(diǎn)上進(jìn)行調(diào)度和計(jì)算,從而在云平臺(tái)上獲得對(duì)海量數(shù)據(jù)的處理能力。其中Map操作和Reduce操作被包裹為任務(wù)(task),而任務(wù)又以Map-Reduce對(duì)的形式被包裹為作業(yè)(job)。負(fù)責(zé)在集群節(jié)點(diǎn)上安排任務(wù)執(zhí)行的軟件被稱作TaskTracker,每個(gè)計(jì)算節(jié)點(diǎn)上部署一個(gè)。負(fù)責(zé)在集群范圍內(nèi)調(diào)度作業(yè)和任務(wù)執(zhí)行的軟件被稱作JobTracker,在集群內(nèi)挑選獨(dú)立的機(jī)器來(lái)部署。
本文將個(gè)性化推薦方法與云計(jì)算相關(guān)技術(shù)進(jìn)行結(jié)合提出一種新的智能商務(wù)推薦過(guò)程模型,該模型可以有效解決智能推薦方法無(wú)法與實(shí)際的云計(jì)算平臺(tái)相結(jié)合的問(wèn)題,并可充分利用云計(jì)算環(huán)境中的各種計(jì)算資源同時(shí)為用戶提供精確的個(gè)性化推薦服務(wù)。模型的基本結(jié)構(gòu)如圖4。
圖4源數(shù)據(jù)采集主要功能為收集和整理客戶端的日志數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行整理;數(shù)據(jù)預(yù)處理部分主要功能為對(duì)原始的粗糙數(shù)據(jù)去噪、降維,是推薦系統(tǒng)精確性的主要影響因素。模塊主要包含數(shù)據(jù)清洗、用戶鑒定、序列鑒定、會(huì)話鑒定4個(gè)子模塊;模式發(fā)現(xiàn)模塊的主要功能為通過(guò)智能推薦算法對(duì)數(shù)據(jù)進(jìn)行分析,并且發(fā)現(xiàn)其中的模式,產(chǎn)生頻繁項(xiàng)集。模式發(fā)現(xiàn)層實(shí)現(xiàn)聚類、分類、協(xié)同過(guò)濾、進(jìn)化編程等數(shù)據(jù)挖掘算法,并且允許擴(kuò)展,根據(jù)客戶端的業(yè)務(wù)需求定制算法庫(kù),并且以服務(wù)方式供模式分析調(diào)用;模式分析部分可以利用各種各樣的模式分析工具進(jìn)行處理,并將最終推薦結(jié)果反饋給用戶。
圖4 智能商務(wù)推薦過(guò)程模型Fig.4 M odelof intelligent recommendation process
云計(jì)算強(qiáng)大的存儲(chǔ)、運(yùn)算和安全功能,以及理想的資源分配和共享模式,為電子商務(wù)推薦引擎的發(fā)展奠定了良好的基礎(chǔ),從而產(chǎn)生了全新的商務(wù)推薦模式。本文通過(guò)對(duì)當(dāng)前主流的電子商務(wù)推薦系統(tǒng)研究,詳細(xì)分析了當(dāng)前電子商務(wù)推薦系統(tǒng)的不足,構(gòu)建了一種新的分布式文件存儲(chǔ)系統(tǒng)結(jié)構(gòu)。該分布式存儲(chǔ)系統(tǒng)通過(guò)將大型文件分塊并存儲(chǔ)在不同的計(jì)算機(jī)節(jié)點(diǎn)上,實(shí)現(xiàn)了大型日志文件的分布式存儲(chǔ)。并在此基礎(chǔ)上構(gòu)建了基于云計(jì)算環(huán)境的電子商務(wù)推薦系統(tǒng),為用戶提供動(dòng)態(tài)、實(shí)時(shí)的個(gè)性化服務(wù),實(shí)現(xiàn)了商務(wù)推薦引擎的個(gè)性化和智能化。
[1] 吳衛(wèi)華. 云計(jì)算環(huán)境下電子商務(wù)發(fā)展模式研究[J]. 情報(bào)雜志,2011, 30(5):147-151.
[2] 董守斌, 趙鐵柱. 面向搜索引擎的分布式文件系統(tǒng)性能分析[J]. 華南理工大學(xué)學(xué)報(bào):自然科學(xué)版,2011, 39(4):7-14.
[3] Dean J, Ghemawat S. MapReduce: simplified data processing on large clusters[J]. Communications of the ACM, 2008, 51(1): 107-113.
[4] 張建勛, 古志民, 鄭超. 云計(jì)算研究進(jìn)展綜述[J]. 計(jì)算機(jī)應(yīng)用研究,2010, 27(2):430-433. [5] 林樂(lè)然, 陳德龍. 基于云計(jì)算的分布式企業(yè)搜索引擎研究[J]. 電腦知識(shí)與技術(shù),2009, 33(5):9429-9430.
[6] Shardanand U, Maes P. Social information filtering: algorithms for automating“word of mouth”[C]// Proceedings of the SIGCHI conference on Human factors in computing systems. ACM Press/Addison-Wesley Publishing Co., 1995:210-217. [7] 余力, 劉魯. 電子商務(wù)個(gè)性化推薦系統(tǒng)研究[J]. 計(jì)算機(jī)集成制造, 2004, 10(10):1036-1313.
[8] Li H, Wang Y, Zhang D, et al. Pfp: parallel fp-growth for query recommendation[C]//Proceedings of the 2008 ACM conference on Recommender systems. ACM, 2008: 107-114.
[9] 雷小鋒, 謝昆青, 林帆. 一種基于K-Means局部最優(yōu)性的高效聚類算法[J]. 軟件學(xué)報(bào), 2008, 19(7):1683-1692.
[10] Safavian S R, Landgrebe D. Asurvey of decision tree classifier methodology[J]. Systems, Man and Cybernetics, IEEE Transactions on, 1991, 21(3):660-674.
責(zé)任編輯:丁吉海
Research on Recommendation System of E-commerce Based on Cloud Computing
JIANG Yuyana,SHAO Yuana,LIPinga,LIChangxuna,ZHAOWenhuib
(a.SchoolofManagementScience&Engineering;b.Schoolof Foreign Langnage,AnhuiUniversity of Technology, Ma'anshan 243032,China)
Based on the study of the system architecture of cloud computing,Platform Developer,user log analysis and the application of E-commerce,a new distributed file system is proposed which can solve problems ofmassive data storage,non-real-time recommendation and low scalability.On the basis of this,an intelligent recommendation system is built which can provide users with dynam ic,real-time personalized services and achievea individualization and intellectualization of the recommendation engine.
cloud computing;E-commerce;user log analysis;recommendation system
F716
A
10.3969/j.issn.1671-7872.2014.02.020
1671-7872(2014)02-0199-04
2013-04-22
安徽省高校自然科學(xué)研究項(xiàng)目(KJ2011Z039,KJ2013A053)
江雨燕(1966-),女,安徽宣城人,副教授,研究方向?yàn)槲锪餍畔⒒ IS、計(jì)算機(jī)系統(tǒng)。