云计算在电子商务中的运用.pdf
- 格式:pdf
- 大小:95.24 KB
- 文档页数:2
1云计算及Hadoop
云计算技术可以借助网络获取需要的资源,以实现资源的统一管理和调度,并按需提供服务,其主要价值是实现了软硬件需求的按需扩展能力。和传统的计算方式不同,云计算中的计算任务是并行分布在大量server中的,每个server完成分配给自己的任务后,汇总的计算结果形成最后的需求。一般而言,云计算的特点主要包括[1]:(1)资源的动态分配。不同用户对云环境的资源需求是不一样的,云计算平台可以根据用户的需求动态分配相应的资源,实现资源的动态计算;一旦用户不再需要这些资源了,那么这些分配的资源就会被回收,这种动态分配和回收资源的能力使无限扩展资源成为可能。(2)资源的虚拟化。云环境的计算、存储资源等一般分布在不同的位置,虚拟化技术可以整合这些资源,使用户可以不考虑设备类型而透明地访问各种资源。(3)智能化的自动服务。用户无需了解虚拟化及各种资源分配的知识,各种需求资源服务都是自动化的,云环境会提供相应的导航服务。目前云计算主要有三种服务模式:IaaS,PaaS以及SaaS。IaaS(Infrastructureasaservice)允许用户从计算机基础设施获得计算及存储等服务,典型代表是亚马逊的弹性云。PaaS(Platformasaservice)把软件平台作为一种服务,用户可以直接使用软件平台。
SaaS(Softwareasaservice)提供给用户的是基于WEB的软件,用户无需购买,可以直接使用Webservice。现在比较流行的云计算平台是Hadoop生态圈,主要包括HDFS文件系统、MapReduce计算框架以及HBase数据库[2],其中核心是MapReduce。MapReduce在执行计算任务时,首先将输入数据划分为若干份,并拷贝到所有的计算节点,每份输入数据都有若干副本,每个副本部署在一个server上。当一个副本执行Map作业时,会从输入数据中抽取部分键值对作为
Map?per方法的参数,计算中间值被存储在内存中。每个中间值都会执行一个Reduce作业,将此server上的所有中间值排序后,整合所有键值相同的数据。最后,每一个唯一的键值都会被传递给Reducer方法,输出数据被添加到输出文件中。这整个过程的输入数据来自于分布式文件系统,中间结果缓存在本地,最终的输出又被写回到分布式文件系统。数据的多个副本不仅可以实现容错,而且能够避免节点的闲置或过载,最大化优化资源配置。
2电子商务数据管理模型
电子商务网站的主要数据是小图片,而且每个网页中的图片一般不会重复,另外,同一商家在不同地区的受欢迎程度也不尽相同;所以可以将电子商务数据做如下分类:结构化数据、小文件以及大文件。结构化数据包含用户、用户的订单等信息;小文件主要是网页数据、商品的图片以及对应的商品文本描述等;大文件一般是日志、备份信息以及索引文件等。结构化数据可以存放在关系型数据中,并利用分表、规则分库等手段解决数据量巨大的问题。Hadoop的HDFS文件系统对大文件有良好的支持,因此可以将大文件存放在HDFS中;在对系统做一定修改后,也可以存放小文件。站在用户的角度可以将电子商务中涉及到的各种信息进行分类,然后按照不同的层次组织成电子商务数据的逻辑模型。电子商务数据按照网络信息组织方式可以分为三种类型:微观、中观以及宏观。电子商务信息只经过一次组织的模式称为微观组织模式,这种信息组织模式以最直接的方式展现给用户,用户可以直接看到对应的数据,主要包括[3]:(1)普通文件数据以及自由文本数据。前者对非结构化信息进行管理的,后者一般用于全文数据库中,目的是用自然语言揭示数据库文献内的知识单元。(2)主页数据。类似于网络黄页,用主页将对机构、个人等介绍的页面集中组织起来。(3)超媒体数据。以超文本方式组织了网页上的文字、声音、图片以及视频等多媒体信息。相对微观数据模式而言,中观模式中的信息的二次组织对微观数据模式的信息进行再次组织,三次信息模式对二次信息进行再次组织。二次信息组织数据常用的有搜索引擎、主题树的形式以及数据库等。三次信息组织数据的典型代表是多元搜索引擎中的搜索引擎目录。电子商务网站主要涉及到微观和中观两种信息组织方式。微观层次上包含的数据主要有ht?ml文件、脚本文件、图片和视频、用户及订单数据及上述各种数据的组合。中观层面则主要是各种商品目录和搜索引擎接口。从上述分析可以看出,电子商务网站数据的逻辑模型如图1所示:图1电子商务网站数据的逻辑模型在实际实现过程中,将电子商务网站的数据模型分为多级结构:前端页面缓存(Squid)直接和用户交互,它的下一级是WebServer;WebServer往下又连接了页面片段缓存ESI和DAL数据接口,同时还会和Hbase数据库交互。前端页面缓存在接收到用户的请求后,会检查缓存中是否有用户请求的数据,如果没有,页面缓存会将请求提交到Web服务器;Web服务器从页面片段缓存中查看是否存在用户请求的数据,如果还没有将按照请求类型进行后续处理:非结构化数据请求发往HDFS,结构化请求发送到数据库。这一模型在实际使用中具有很大的优势[4]:(1)高响应性。电子商务网站的pv值一般都高达百万,模型中的前端代理服务器和页面片段缓存可以有效提高用户访问的响应度。(2)统一的数据接口。为存储用户及其订单数据、商品评论信息等不同类型的结构化数据,需要一个接口层来对数据库进行功能上的划分。对于非结构化数据,借助Hadoop的HDFS文件系统来存储。前端页面缓存是通过squid技术实现的,squid反向代理技术多用于将不同的URL请求分发到不同WEBserver,在提高电子商务网站访问速度的同时,让用户之看到反向代理服务器的地址,一定程度上也提高了电子商务网站的安全性。反向代理服务器一般位于WEBserver的前端,作为WEBserver的内容缓存。然而,在同一个商店中,不同页面的css、swf等文件可能相同,更有可能不同商店的这些文件也是相同的,这种情况下载入不同页面只需要刷新网页部分即可,此时squid技术就存在反复缓存的问题。页面片段缓存ESI技术很好的解决了这一问题,它是一种基于XML的标记语言,根本目的是在HTTP中进行资源的组装。页面片段缓存的标记能够区分出页面的静态部分和需要动态更新的页面片段,静态部分始终被存储在HDFS分布式文件系统中;动态部分在载入新页面时需要更新。squid技术和页面