基于云计算的电子商务推荐系统研究

2014-07-10 11:43江雨燕邵源李平李常训赵文辉
关键词:存储系统引擎分布式

江雨燕,邵源,李平,李常训,赵文辉

(安徽工业大学a.管理科学与工程学院;b.外国语学院,安徽马鞍山243032)

基于云计算的电子商务推荐系统研究

江雨燕a,邵源a,李平a,李常训a,赵文辉b

(安徽工业大学a.管理科学与工程学院;b.外国语学院,安徽马鞍山243032)

通过对云计算系统架构、平台开发、用户行为分析、电子商务应用等方面的研究,提出了一种新型的分布式存储系统,并在此基础上构建了一种新的智能化电子商务个性化推荐系统。该推荐系统有效解决了大型日志数据存储、无法实时推荐、算法伸缩性低等问题,为用户提供动态、实时的个性化服务,实现了商务推荐引擎的个性化和智能化。

云计算;电子商务;用户行为分析;推荐系统

随着互联网技术的发展,电子商务的应用越来越广泛。但互联网数据和内容的不断增长,使得电子商务的发展瓶颈日益凸显[1]。作为电子商务的重要工具,推荐引擎的发展也受到了限制。云计算的提出和发展为电子商务推荐引擎处理海量数据,以及在集群上的应用奠定了基础。

分布式系统能有效解决高性能计算系统的海量数据存储和I/O瓶颈问题[2]。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,为海量数据的存储提供了条件。互联网中的大量数据可以通过分布式文件系统,存储在多个数据节点上。MapReduce[3]是分布式的计算模型,它与分布式存储系统由于其优秀的性能已经广泛应用于科学计算、互联网服务、海量数据处理等任务中。

1 云计算概念

云计算是并行计算、分布式计算和网格计算的延伸,是这些计算科学概念的商业化,是一种能够动态伸缩的虚拟化资源,该资源在互联网上通过服务的形式来提供给客户,同时客户无需知道如何管理支持云计算的这些基础设施。

1.1 云计算系统的定义

云计算系统是由一组内部互联的虚拟机组成的并行和分布式计算系统,该系统能够根据服务提供商和客户之间协商的服务等级协议动态提供计算资源。云计算系统是以付费使用的形式向用户提供各种服务的分布式计算系统,系统对用户来说是透明的,其本质是对虚拟化的计算和存储资源池进行动态部署、动态分配/重分配、实时监控的系统。从而向用户提供满足Qos要求的计算服务、数据存储服务以及平台服务[4]。它为用户屏蔽了底层异构的软硬件资源,为其提供服务和资源,各种不同类型的资源经过层层的虚拟化技术后,针对虚拟资源的分配、共享和使用。

1.2 分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源并不是直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。分布式文件系统Distributed File System(DFS)采用主从架构,一个分布式文件系统由唯一一个目录节点NameNode(主节点),和多个数据节点DataNode(子节点)组成。分布式文件系统对外表现为一个普通的文件系统,用户可以用文件名去存取文件,而实际上这个文件是被分成不同的数据块,这些数据块就是存储在数据节点上面[5]。

1.3 分布式计算

MapReduce是一种用于大规模数据集(大于1 TB)的并行运算的编程模型,其起源于函数式编程模型主要包含两项核心操作:Map和Reduce。Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个Map函数来指定。Reduce是对一组数据进行规约,这个规约由一个Reduce函数指定。Map是一个把数据分开的过程,Reduce则是把数据合并的过程。

2.1 推荐引擎定义

推荐引擎利用特殊的信息过滤[6](IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户[7]。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境。

电子商务推荐系统(E-Commence Recommendation System)向客户提供商品信息和购买建议,模拟销售人员帮助客户完成购买过程。智能推荐系统的作用可以概括为:将电子商务网站的浏览者转变为购买者,提高电子商务网站的交叉销售能力,提高客户对电子商务网站的忠诚度。

2.2 推荐引擎现状

1)随着电子商务网站规模的扩大,一般大型电子商务系统拥有百万数量级的产品和用户,用户和产品数的增长都会导致算法运行的性能下降。基于web的推荐算法面临严重的伸缩性问题。

2)电子商务推荐系统是和电子商务应用服务系统相结合的,由于浏览者的耐心有限,因此推荐系统的实时性和它的推荐效果直接关系。但在大型电子商务推荐系统中,由于数据量日结越累,并快速增长,推荐系统的实时性越来越难以保证。这对推荐计数和推荐系统架构提出了新的挑战。

图1 主流的电子商务推荐系统架构Fig.1 M ainstream architecture ofe-commerce recommendation system

3)数据存储面临的问题。当前主流的电子商务推荐系统构架如图1所示。从图1中可以看目前电子商务企业使用的推荐引擎基本采用B/S架构,一般部署于一台或几台Web应用服务器上,对用户输入数据和服务器日志及统计数据进行挖掘处理。

随着数据的膨胀,单台服务器的存储已无法满足存储需求。同时随着客户端的增加,单位时间内并发用户不断增加,这会给服务器带来巨大压力,响应给客户端的时间会大大增加。虽然以上瓶颈可以通过增加硬盘的方式扩大存储,甚至采用磁盘阵列,负载均衡等方式解决,但仍然存在I/O读写瓶颈,硬件设备过于集中,硬件成本过高,网络带宽消耗过大等问题。

3 云计算环境下电子商务推荐系统设计

3.1 云计算环境下推荐系统架构设计

针对云计算环境下数据存储的形式和分布式算法的特点,设计基于云计算的电子商务推荐引擎的系统架构,如图2,包括持久层、控制层和表示层。

其中持久层即云计算平台的分布式存储系统,由分布式文件系统和分布式数据库系统组成。由于互联网中用户众多,而每个用户都有其对应的日志数据,普通的存储系统挖掘存储数量巨大的用户数据,因此分布式存储系统是构建电子商务推荐系统的基础,其为推荐系统的用户行为分析、关联规则产生等任务提供重要的基础支撑。控制层通过分布式计算即MapReduce程序建立资源模型和索引,其中包含大量复杂的智能推荐算法和信息处理过程。普通用户和系统用户通过开发的表示层与推荐引擎进行交互。这种架构为用户屏蔽所有的底层数据存储结构和业务处理程序。

图2 基于云计算的商务推荐引擎架构Fig.2 A rchitecture of recomm endation system based on cloud computing

3.2 分布式存储系统设计

随着互联网上数据和内容的不断增长,互联网上的数据量变得非常巨大,用户难以找到自己想要的信息,通过提供简单的基于单台服务器或者小集群不能满足用户需求。海量数据的存储已成为制约推荐引擎发展的关键因素。推荐引擎的系统性能极大地依赖于底层的文件系统。如果单纯依赖操作系统提供文件系统基本功能,将无法获得理想的性能。分布式文件系统具有高吞吐量、高I/O宽带扩展特点,它可以将多个节点的硬盘组织成为全局的存储系统,提供聚合的存储容量和I/O宽带,并易于随系统规模扩展而扩展。

本文设计的分布式存储系统中数据被分成单位大小的分块(block),可以被存储在集群的任意一个磁盘上。同时一个分块被复制成多份并且分布在不同的磁盘上,这就保证了容错性和并行复制。对于用户来说对文件的读写等操作完全透明,用户可以像操作个人计算机上的文件一样操作分布式系统中的文件。分布式存储系统的架构如图3所示,其中名称结点(Namenode)提供整个分布式存储系统的命名空间管理,块管理等所有服务,而与元数据(metadata)所有的相关服务都是由名称结点提供。客户端(Client)可以通过名称结点获得相应的数据节点(Datenodes)存储的数据块(Blocks),并对它们进行相应的读写操作。

图3 DFS系统架构Fig.3 Architectureof distributed file system

3.3 智能推荐过程设计

从海量数据中寻找有用的模式,已成为推荐引擎的重要任务。MapReduce编程模型的提出无疑是对海量数据处理方法提供了强有力的工具。海量数据挖掘的关键问题为数据挖掘算法的并行化。云计算系统主要采用MapReduce等新型计算模型,这意味着现有的数据挖掘算法和并行化策略不能直接应用于云计算平台,需要进行一定改造。目前已经有许多优秀的数据挖掘算法被移植到了云计算平台。如,PFPGrow th算法[8],K-means算法[9],决策树算法[10]等。本文设计中采用MapReduce作为分布式并行计算模型,将大型任务分成很多细粒度的子任务,这些子任务分布式且并行地在多个计算节点上进行调度和计算,从而在云平台上获得对海量数据的处理能力。其中Map操作和Reduce操作被包裹为任务(task),而任务又以Map-Reduce对的形式被包裹为作业(job)。负责在集群节点上安排任务执行的软件被称作TaskTracker,每个计算节点上部署一个。负责在集群范围内调度作业和任务执行的软件被称作JobTracker,在集群内挑选独立的机器来部署。

本文将个性化推荐方法与云计算相关技术进行结合提出一种新的智能商务推荐过程模型,该模型可以有效解决智能推荐方法无法与实际的云计算平台相结合的问题,并可充分利用云计算环境中的各种计算资源同时为用户提供精确的个性化推荐服务。模型的基本结构如图4。

图4源数据采集主要功能为收集和整理客户端的日志数据,并对这些数据进行整理;数据预处理部分主要功能为对原始的粗糙数据去噪、降维,是推荐系统精确性的主要影响因素。模块主要包含数据清洗、用户鉴定、序列鉴定、会话鉴定4个子模块;模式发现模块的主要功能为通过智能推荐算法对数据进行分析,并且发现其中的模式,产生频繁项集。模式发现层实现聚类、分类、协同过滤、进化编程等数据挖掘算法,并且允许扩展,根据客户端的业务需求定制算法库,并且以服务方式供模式分析调用;模式分析部分可以利用各种各样的模式分析工具进行处理,并将最终推荐结果反馈给用户。

图4 智能商务推荐过程模型Fig.4 M odelof intelligent recommendation process

4 结语

云计算强大的存储、运算和安全功能,以及理想的资源分配和共享模式,为电子商务推荐引擎的发展奠定了良好的基础,从而产生了全新的商务推荐模式。本文通过对当前主流的电子商务推荐系统研究,详细分析了当前电子商务推荐系统的不足,构建了一种新的分布式文件存储系统结构。该分布式存储系统通过将大型文件分块并存储在不同的计算机节点上,实现了大型日志文件的分布式存储。并在此基础上构建了基于云计算环境的电子商务推荐系统,为用户提供动态、实时的个性化服务,实现了商务推荐引擎的个性化和智能化。

[1] 吴卫华. 云计算环境下电子商务发展模式研究[J]. 情报杂志,2011, 30(5):147-151.

[2] 董守斌, 赵铁柱. 面向搜索引擎的分布式文件系统性能分析[J]. 华南理工大学学报:自然科学版,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]. 计算机应用研究,2010, 27(2):430-433. [5] 林乐然, 陈德龙. 基于云计算的分布式企业搜索引擎研究[J]. 电脑知识与技术,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] 余力, 刘鲁. 电子商务个性化推荐系统研究[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局部最优性的高效聚类算法[J]. 软件学报, 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.

责任编辑:丁吉海

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

安徽省高校自然科学研究项目(KJ2011Z039,KJ2013A053)

江雨燕(1966-),女,安徽宣城人,副教授,研究方向为物流信息化、M IS、计算机系统。

猜你喜欢
存储系统引擎分布式
分布式存储系统在企业档案管理中的应用
天河超算存储系统在美创佳绩
分布式光伏热钱汹涌
蓝谷: “涉蓝”新引擎
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
无形的引擎
西门子 分布式I/O Simatic ET 200AL
基于电池管理系统的数据存储系统设计