基于统计分析的网店数据管理系统.doc_第1页
基于统计分析的网店数据管理系统.doc_第2页
基于统计分析的网店数据管理系统.doc_第3页
基于统计分析的网店数据管理系统.doc_第4页
基于统计分析的网店数据管理系统.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五届浙江省大学生电子商务竞赛作品名称:基于统计分析的网店数据管理系统 作品类别: 技术开发类 2010年4月9日 摘要随着Internet的不断普及,日益忙碌的人们开始追求足不出户的利用互联网这一强大的平台进行一些活动,如网上游戏,网上阅读,网上购物等。其中电子商务这种新的商务模式越来越被人们所接受,受到了年轻人的喜爱,但是在电子商务环境当中,信息的相互沟通,只有信息的搜索寻找以及评价功能,在搜寻过程中产生了大量的记录文件和浏览信息,这些数据当中隐含了很多潜在的信息,如用户的兴趣和爱好,商品销售的潜在规律等,需要对这些数据进行一定的分析和加工处理提炼,从而为用户提供更加高效便捷的服务,这是电子商务发展的迫切要求。我们决定设计一个数据管理系统,此系统采用C#作为开发语言,MVC作为设计模式,SQL SERVER数据库,独特运用ExtJS的相关特性构建而成的。系统主要实现了数据管理分类所需要的采购,销售,客户关系管理,数据分析服务,系统管理等这六大模块。同时,本系统的数据分析核心是采用了Apriroi算法和ID3决策树算法,对商品的销售情况进行统计分析,对商品的相关联度进行了排列,对商品的摆放进行了重新设置以便为用户提供精确的信息。以及本系统通过对用户购买记录进行统计分析,对顾客的满意度进行了分析,提高了消费者的信任度,增强了消费者的购买意愿。 关键字: .Net B/S结构 关联规则 决策树 SQL SERVER 数据库目录目录- 3 -第一章 引言- 5 -1.1 选题背景- 5 -1.2 本系统概述- 6 -1.3 本系统简介- 7 -1.4 系统创新点- 8 -1.5 本文章节安排- 10 -第二章 系统技术介绍- 10 -2.1 .NET技术简介- 10 -2.2 Web Services技术简介- 15 -2.3 RIA,ExtJS ,Coolite Toolkit技术简介- 18 -2.4 Chartlet技术简介- 20 -第三章 系统关键技术的实现- 22 -3.1 基于关联规则的数据挖掘算法- 22 -3.1.1 简介- 22 -3.1.2 关联规则Apriori算法原理- 23 -3.1.3 算法实现的简要描述- 24 -3.1.4 算法实现- 25 -3.1.5 算法的实现过程- 25 -3.2 基于机器学习的数据挖掘技术- 29 -3.2.1 简介- 29 -3.2.2 ID3算法- 30 -3.2.3 ID3算法在本系统中的体现- 32 -3.2.4 算法的实现过程- 33 -第四章 网店数据管理分析系统分析设计与实现- 41 -4.1 系统内容- 41 -4.2 系统目标- 41 -4.2.1建立一个界面友好,操作简单的数据管理系统- 41 -4.2.2建立一个通用性较强的数据管理系统- 41 -4.3 系统设计- 42 -4.4 系统总体架构以及功能基本配置- 44 -4.5 数据库设计- 45 -4.5.1物理数据模型- 45 -4.5.2 数据库设计- 45 -4.6系统主要模块设计- 47 -4.6.1 采购管理模块- 47 -4.6.2数据分析模块- 48 -4.6.3客户管理关系模块- 51 -4.6.4销售管理模块- 52 -4.7测试- 55 -5.1 系统总结与成果- 56 -5.2 运用前景- 57 -5.3 未来展望- 57 -参考文献- 58 -附录 系统关键性功能实现代码- 59 -附录1 (系统中添加订单明细部分实现代码)- 59 -(1)添加订单信息进入数据库并验证时候存在对应的产品编号- 59 -(2)对添加进入的数据进行正则表达式的验证- 60 -(3)打开和关闭相应的数据库信息以及执行相应的操作- 60 -(4)Chartlet图表控件的使用- 62 -附录2 对Apriori算法配置信息进行装载,编辑,保存- 63 -(1)配置文件如下- 63 -(2)装载配置文件信息- 64 -(3)修改并保存配置信息- 64 -附录3 ExtJS框架下的Coolite Toolkit实现- 65 -附录4 数据库设计代码- 66 -(1)创建表- 66 -(2)创建视图- 70 -(3)创建函数- 71 -附录5 Web Services的实现代码- 71 -正文第一章 引言1.1 选题背景进入21世纪以来,电子商务伴随着IT的成熟,逐渐发展壮大,成为网络经济的核心,在电子商务的发展过程中,人们逐渐意识到在线购物的无地域界限,安全,方便快捷及其价格优势,在线购物的队伍也不断扩大,不断增长的强大需求成为电子商务的发展动力,基础环境的成熟和需求欲望的增长将推动商务网站不断发展。在电子商务环境当中,没有销售人员,没有信息的相互沟通,只有信息的搜索寻找,比较以及评价,消费决策更加的自由,影响网络消费者购买决策与影响传统消费购买决策的因素明显不同,因此很有必要对网络消费者购买决策影响因素进行更加深入的研究分析以及对消费者满意度进行调查分析。电子商务是数据分析的最理想的应用领域之一,每天电子商务网站产生上百万次的在线交易,生成了大量的记录文件和浏览信息,这些数据都是和消费者行为是息息相关的,其中隐含了用户的兴趣和爱好,但这些数据并不是信息,它本身没有任何意义,从数据到知识到智慧,需要经过分析加工处理精炼的过程。这正是统计学和数据分析的优势所在。数据分析使企业的各级决策者获得知识或洞察力,并辅助业务经营决策,既可以是操作层的,也可以是战术层和战略层的决策,促使他们最终做出对企业更有利的决策。数据分析发挥作用的方面可以是理解业务,客户分类和特点分析,改善关系,市场营销策略分析等。在这个信息的准确和快捷主宰着决策的信息时代,我们需要开辟出数据挖掘和分析的新市场,从而为消费者提供更加高效便捷的服务。另外,有研究者认为消费者产生购买行为才是购买决策,也有研究者认为不仅购买行为代表购买决策,消费者产生购买意愿也是购买决策的一部分。消费者的购买决策一般建立在先前的购物体验之上,一般来说,先前的体验越满意,越容易做出新的购买的决策,还可以影响和吸引其他网络消费者进行网络消费,本系统对消费者的购买的商品进行了分析,对商品的销量进行了统计分析,对商品的相关联度进行了排列,是使得相关联度高的商品尽量排在一起,从而达到畅销的效果。同时,本系统对顾客对本次购买的满意度进行了分析,并以决策树的形式进行展示,提高消费者对网店的信任度,增强了购买意愿,进而影响购买行为。网上商店作为一种随着电子商务的发展而发展起来的新兴商业零售业态,充分利用了网络信息技术来进行商品和服务的销售。目前,网上商店主要有两种形式,一种是建立在第三方提供的电子商务平台上由商家执行开展销售业务的个人网店,这种方式相当于在一些大的商场租用一个店铺或柜台,借助大商场的影响和人气做生意,另一种是自立门户型的网上商店,是经营者自己亲自创建服务器或者申请虚拟空间所建立的网店,这种方式的初期投资大,并且需要相应的专业知识,因此企业开展得比较多。这两种网上商店相比,个人网店具有启动资金少,创业成本低,手续简单,交易快捷,经营与维护不需要太多的专业知识,容易上手等诸多优点,同时也由于这些优点使得个人网点的进入退出壁垒低,从而导致个人网店良莠不齐,它的产品或服务质量还不能得到完全的保证。因此,要与自立门户型的网上商店进行竞争,个人网店还需要从质量,信誉,品牌等方面提升竞争力。所以,我们选择了个人网上商店数据管理系统作为本次参赛主题。我们计划开发一个基于数据统计分析的数据管理系统,它通过对商品销售数量进行统计以得到基于商品特征的结果。我们的算法分析模块分为两大模块,即关联规则和决策树。关联规则是为所销售的各种商品进行的统计分析而提供的,以图表的方式显示可视化结果,并附加归类分析、以及对指定商品进行统计等功能;而决策树则是,我们计划对顾客的购买行为进行统计分析,以客户满意度为分析,同时使用决策树的形式进行展现,提高了客户的忠诚度,影响客户以后的购买行为。网店数据管理系统的出现是顺应了时代的要求。本系统坚持,科学性,先进性,实用性,开放性,稳定性,安全性,可扩展性,可管理性,规范性等开发原则,设计出更加人性化,更加具有实用性的系统平台。本系统将采用B/S(浏览器/服务器)结构和ASP.NET技术开发,以SQL SERVER 2005为数据库软件。用户可以通过PC机上的浏览器进行职能范围内的操作。本系统具有一定的可扩充性和灵活性、数据完整、完全可靠、方便易用,能够提高数据处理效率、减轻工作强度,效果直观,界面友好,便于上手;功能完善等优点。1.2 本系统概述 网店数据管理系统旨在为个人网店提供一个中间平台,便于管理者对自己的进存销进行管理,同时管理自己的客户关系,结合算法向顾客提供最适合他的商品,建立一个功能完善,适用性高的个人网店数据管理系统。本系统在.Net框架下的编程语言采用C#开发语言,同时利用了ASP.NET技术,结合了Extjs框架进行构建和实现的独特运用,同时使用了Chartlet图表控件对系统的功能进行补充和扩展,还有使用了WebServices对算法进行了封装,达到了跨平台的效果,整个系统的浏览器页面通过采用AJAX技术实现,具有了仿桌面运用程序的效果,实现了丰富客户端的效果,在细节方面,结合了Javascript客户端技术,实现了选项之间的点击替换等功能,以使得用户得到更好的体验,方便易用,效果直观,界面上显得美观大方。同时采用了可视化界面操作方式,使用了一些直观图来展示数据,从而使用户易于理解,便于上手整个系统仿桌面客户端实现,界面友好,操作简单,员工除了可以在本网店后台的平台上浏览多种商品的交易订单等信息外,还可以在系统平台上添加修改各种具体信息,便于用户管理及数据更新。本系统在数据分析方面实现了关联规则中的Apriori算法和决策树算法方面的ID3算法,能够对相应的时间段内的商品的销售情况进行分析以及用户满意度进行分析。促进商品的销售和提高消费者的满意度和购买意愿。1.3 本系统简介 本系统主要是针对网店后台管理的操作,实现了一个简单的管理流程。相较于其他的网店,本作品更具安全性,严谨性。在修改或添加订单信息时,它要按顺序一一校对订单编号,客户编号,员工编号。一旦中间哪个数据不正确或不存在都不能实现操作。这也大大减少了员工因操作误差而引起的损失,同时防止了某些不法操作,增加了数据的完整性和可靠性。本系统在数据分析方面实现了关联规则中的Apriori算法以及决策树当中的ID3算法,并很好的与系统进行结合,采用了Apriori算法找出了不同商品之间的关联性,对任意时间段内商品的销售情况进行了分析,例如 :指定时间段内销量排行榜,指定时间内商品的相关联度的排行榜以及获取与指定商品最相关的商品。然后再根据各个商品间相关联程度的高低重新排版各种商品的摆放位置,使关联性明显很高的商品尽量聚集在一起,从而达到畅销的效果,提高网店的利益。其实,这就有着跟当年“啤酒与尿布”的例子有着异曲同工之妙之处。因此,我们认为本作品是网店后台更新的一个发展方向。在决策树当中,本系统对消费者的满意度进行了分析,将影响消费者满意度的因素分成年龄 ,购买资金,购买折扣,交货日期,付款方式,教育程度这六大类,并以决策树的形式将结果进行展现,提升消费者的满意度,提高消费者的购买意愿,进而形成消费者的购买行为。总之,电子商务提供了大量属性的数据,可以从这些数据挖掘出隐含的,未知的,具有潜在应用价值的信息,为用户提供精准的信息,为购买提供了方便,同时也为网店获得更多的利益。1.4 系统创新点我们建立的系统平台有以下几个创新点:(1) 数据分析:本系统采用了关联规则方面的Apriori算法和决策树ID3算法进行数据分析,找出了不同商品之间的相关联度,指定时间内畅销榜,以及使用决策树对消费者的满意度进行了分析判断,为制定决策提供依据。例如图1.1和图1.2 图1.1 Apriori算法的展示图1.2 ID3算法的展示(2) Webservice架构:本系统当中的数据分析模块的Apriori算法使用的是Web Services,通过传入的关联规则参数以及数据库连接部分,返回计算出的xml数据,同时以XmlDataDocument和XmlNode的形式返回xml数据。如图1.3所示。图1.3 XML数据形式 (3) 仿桌面应用程序:本系统采用Extjs框架,结合Ajax技术,基本实现了无刷新效果,同时在页面功能设计上,依照人机交互的原理,从用户的角度对诸如窗口的隐藏、窗口的设置等进行了多种人性化的设置,使用户在B/S结构下得到了和/S结构相媲美的体验。图1.4 后台管理框架(4) 直观显示:本系统采用了Coolite Toolkit控件以及Chartlet图表控件等富客户端进行显示,比visual studio 2005 自带的控件要来的美观大方,提高了用户的感知度,在各种浏览器下均能够良好运行。采用了可视化界面操作方式,使用了一些直观图来展示数据,从而使用户易于理解,便于上手。1.5 本文章节安排本文在第一章当中对本系统的选题背景和系统的构建方式进行了简要的概述,在第二章中全面的介绍系统基本技术以及技术应用在本系统的那些方面。第三章对系统的关键性技术Apriori算法和ID3算法进行了重点介绍,附上简单的举例,还添加上关键的代码。第四章对本系统的实现进行了描述,并对体系结构,开发方法进行了介绍,以及物理数据库的实现,功能进行了介绍,算法结果进行解释。在第五章中,对本系统的未来做出相应的描述,并指出系统的未来的发展工作。第二章 系统技术介绍 本系统是采用以下几种技术来实现的,以.net框架为根本通过结合Extjs框架,Coolite Toolkit 控件,以及Chartlet图表控件对系统的功能进行补充和扩展,同时使用了WebServices对算法进行了封装,界面美观大方,使用了visual studio 2005作为集成开发环境,,以sql server 2005作为数据库软件,IIS作为应用服务器,系统的实现的关键就是对这些技术的理解掌握与灵活运用,下面对涉及到的技术进行初步介绍以及在系统中的使用情况。2.1 .NET技术简介.NET技术介绍 .NET是微软公司为了与Sun公司的Java/Java EE/EJB竞争,于2000年6月提出来的一种跨语言、跨平台、支持组件编程的新型计算技术。.NET适用于客户端程序、Web服务(Web Services)和因特网分布式应用(如云计算),是生成、部署和运行托管应用程序和XML Web服务的一种多语言环境和可视化开发工具。.NET开发平台是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件,用该平台创建的应用程序在Common Language Runtime(CLR)(通用语言运行环境)(底层)的控制下运行。CLR是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。Web服务器应用程序通常依赖于ASP.NET,一个处理Web请求的服务器端的库。ASP.NET又依赖一个用于发送和接收SOAP信息的Web Services库,以及一个用于以浏览器接收用户输入并动态地生成Web页面以示响应的Web用户接口(UI)(有时称作Web 表单)。Windows桌面应用程序通过使用Win表单库(也称作Windows 表单)可以显示一个图形UI。最后,Visual Studio .NET提供了一个用于在该平台上创建应用程序的图形Integrated Development Ewironment(IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Visual Basic .NET(VB.NET),Visual C+, Visual C#和JScrjpt .NET等。大量其它的.NET编程语言可以从第三方厂商获得。1.NET的构成微软的.NET技术,主要由.NET框架(.NET Framework)和Visual Studio,这两大部分组成,参见图2.1。.NET框架主要包含公共语言运行环境CLR(Common Language Runtime,公共语言运行时)和FCL(Framework Class Library,框架类库)两个部分,后者的主体则是BCL(Base Class Library,基类库)。Visual Studio是托管程序的开发平台,包含C#、VB、J#、F#、MC+、C+/CLI等高级编程语言工具,可以进行.NET应用程序和CLR组件的编写和开发。 图2.12 .NET Framework 核心.NET框架(.NET Framework)是微软为Windows平台设计的一种托管编程模型。这里的托管(managed)是指,程序的代码(元数据、MSIL),特别是程序中的数据和对象所对应内存的分配、指向和释放,全都由.NET的运行环境CLR来代为管理。换句话说,程序员在托管程序中,是不能自己来具体分配和手工释放内存对象的。之所以必须这样,是因为.NET/CLR为了安全和方便,(似Java)具有内存垃圾自动回收功能(包括根据需要,移动内存中的数据和所对应的指针。所以,在远堆的托管内存中,再也不存在传统意义上的指针了),不让程序自己管理内存。托管是所有.NET程序的特点。托管代码的优点有:跨平台运行、跨语言集成、共享FCL(框架类库)、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等。所有在.NET开发平台上创建的应用程序运行都需要运行两个核心块:Common Language Runtime(CLR)(通用语言运行环境),这是一个软件引擎,用来加载应用程序,确认它们可以没有错误地运行,进行相应的安全许可验证,执行应用程序,然后在完成后将它们清除。.NET Framework类库,向程序员提供所需用来编写在CLR的控制下运行的代码的软件组件。它们按照单一有序的分级组织提供了一个庞大的功能集从文件系统到对XML功能的网络访问的每一样功能。Web服务器应用程序主要使用ASP .NET作为开发语言。3.C#和ASP.NETC#是微软唯一一种从一开始设计就专门针对CLR的语言,微软本身已经使用C#来创建诸如类库和ASP.NET等子系统中的可控制代码。C#和CLR被有效地设计在一起,并且每一个的设计都会影响另一个。C#比C+更为简单,它仍深深植根于“C”语言家族。C#包括对能够更直接访问底层.NET开发平台基础结构的不可控制代码的支持。ASP.NET(Active Server Page for .NET,.NET的动态服务器网页)用于构建Web应用程序,在System.Web命名空间中实现,它是Windows操作系统上极为流行的微软ASP技术的发展和继任者。ASP.NET建立在.NET Framework的编程类之上,它提供了一个Web应用程序模型,并且包含使生成ASP Web应用程序变得简单的控件集和结构。ASP.NET应用程序由一到多个网页构成,每个网页都包含HTML和(或)可执行代码,对应的文件一般带有扩展名.aspx(ASP应用程序的扩展名为.asp)。从浏览器发出的请求,经由HTTP传输,导致指定网页被加载和执行,而该网页所产生的任何输出都被返回给浏览器。参见图2.2。IISCLR *.aspxHTTP图2.2 ASP.NET允许开发人员创建可通过浏览器访问的Web应用程序为了创建高效的Web应用程序,ASP.NET还提供了对如下功能的支持:(1) Web控件允许通过拖曳标准的ASP.NET控件到浏览器的窗体,像本地Windows应用程序一样,开发Web应用程序的GUI。(2) 用于管理应用程序状态信息的机制。(3) 对维护应用程序的用户相关信息的内建支持。(4) 对数据绑定的支持,允许更轻松地访问存储于DBMS、XML文档和其他数据源中的信息。4 ADO.NETADO.NET(ActiveX Data Object for .NET,.NET的ActiveX数据对象)提供对数据的访问,在System.Data命名空间中实现。ADO是微软用OLE DB提供的接口实现的一种功能强大的高级数据交互接口,ADO.NET是ADO在.NET下的继任者。ADO.NET在支持对传统的DBMS型数据库(如SQL Server、Oracle、DB2等)访问的同时,还增加了对Web数据库和XML数据文档访问的支持。参见图2.3。CLR客户端应用程序DataSetRows.NET框架数据供应链XML文档DBMSWindows图2.3 ADO.NET允许.NET应用程序访问存储于DBMS和XML文档中的数据ADO.NET中的DataSet对象,扮演着内存中的数据缓冲区的角色,特别适用于对Web网络数据库的访问。一个DataSet对象可以包含一个到多个表,每个表都可以持有不同的查询结果,它们可以来自于不同的DBMS和XML文档。5 Visual Studio开发平台Microsoft Visual Studio是微软公司推出的一种Windows环境下的跨语言IDE(Intergrated Development Enviroment,集成开发环境)。是微软极力推荐的创建.NET应用程序的软件开发工具集。同时解决了许多过去困扰开发者使用微软工具创建应用程序的问题。其中的Visual Studio .NET/2005/2008版本是基于.NET框架软件的开发平台,也是.NET的主要组成部分。在Visual Studio中集成了Visual Basic、Visual C#、Visual J# 和Visual C+等编程语言,也支持脚本语言JScript。其中,C# 是微软公司于2000年7月自己创造的一种类似于Java的编程语言,Visual C# 随VS.NET 1.0一起正式推出; JScript则是JavaScript的微软变种。各种.NET编程语言中,C# 与.NET结合得最紧密,是.NET的首选语言,实际上C# 本身就是专门为.NET设计的。 Visual Studio的构成功能与开发流程参见图2.4和图2.5。Visual Studio 2005集成开发环境Web窗体工具Windows窗体工具XML Web服务工具错误调试多语言支持数据访问设计开发调试部署访问帮助文档 图2.4 Visual Studio 2005的构成与功能 Visual Studio 2005项目设计与规划创建新项目创建用户界面及编写代码测试与调试生成部署 图2.5 Visual Studio 2005的开发流程6 .NET在本系统当中的使用本系统采用B/S结构,编程语言采用的是ASP.NET和C#,使用的是visual studio 2005作为集成开发环境,,同时结合了ExtJS进行可视化界面设计,以sql server 2005作为数据库软件,运行服务器为IIS,所有数据库的操作和复杂业务逻辑操作都是通过ADO.NET调用sql server数据库来实现的。用户可以通过PC机上的浏览器进行相关操作的。2.2 Web Services技术简介Web Service 最基本的组成部分为服务的提供者(Service Provider)和服务的请求者(Service Requester)。这看起来很像 C/S 架构的软件,与之不同的是,Web Service 两端的应用是通过基于标准的 XML 格式的协议进行通信的,这种最常用的协议就是 SOAP(Simple Object Access Protocol)。当然,Web Services 不简单地只是按这种方式进行通信。按照 Web Service 的相关标准描述,服务的提供者应该首先通过 WSDL(Web Service Definition Language)和 UDDI (Universal Description, Discovery, and Integration)发布它所提供的服务到一个统注册这些服务信息的存储库中去。这样,服务的请求者就也可以通过 WSDL 和 UDDI 发现到服务提供者提供的服务,并可以通过应用的调用方法来使用这个服务了。Web Services是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。Web Services是一个软件组件,它通过将消息以XML格式进行编码,并将消息通过标准的Internet协议(例如Hypertext Transfer Prorocol (HTTP)(超文本传输协议)发送出去来与其它的应用程序进行通信。一个Web Services类似于这样一个Web站点:没有用户接口,向应用程序而非用户提供服务。Web Services不从浏览器获得请求并返回相应的Web页面,而是从应用程序接收XML格式的请求消息,执行任务,然后向应用程序返回XML格式的响应消息。IBM和微软一致提倡将SOAP作为一种用于Web services的消息标准。一条SOAP消息如同一封信,由一个基于XML格式的“信封”和载有消息数据的“正文”两部分组成,“信封”部分包含一个指明消息接收者地址的头部和一系列投递选项(例如加密信息)。这个基于一套World Wide Web Consortium (W3C)协议标准的模型,业界习惯上简单称其为“Web Services”。微软和IBM等其他供应商提倡将Web Services作为用于Internet上的互连应用程序通信的程序设计模型。这些公司相信通过Internet相互连接的应用程序,将增强与它们的合作供应商和客户协同工作的商务能力。通过在一个现有的公司应用程序的顶层创建一个Web Services层,各个组织可以允许外部系统通过Internet(或企业Intranet)调用应用程序的功能,但却不必修改应用程序本身。1 Web Services技术Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。使用 Web 服务技术,应用程序可以与平台和编程语言无关的方式相互通信。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。事实证明:跨多个操作系统、编程语言和硬件平台集成软件应用程序不可能由任何一种专门的环境来解决。在 Web 服务出现之前,在大多数系统上,采用的是固定的接口,但对于不断变化的环境或需求,这样做缺乏灵活性或适用性。但是web服务出现之后,Web 服务所使用的 XML 可以用真正与平台无关的方式来描述任何(所有)数据,以跨系统交换数据,因此转向了松耦合应用程序。而且,Web 服务可以在较抽象的层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理数据类型。所以,从技术层面上讲,Web 服务可以更方便地处理数据,并且允许软件更自由地进行通信。 2 Web Services与其他技术之间的关系Web 服务主要是技术的集成。不过,它本身是独立于形式的。组成 Web 服务的技术通常是用 XML 进行定义和交互的。然而,由于 XML 本身是一种独立的语言,所以 Web 服务也是独立的。因此,可以用许多编程语言(其中包括 Java、Python、Perl、C#、Basic 等等)来开发 Web 服务。Web 服务的初衷是努力为 Internet 和 Web 应用程序的体系结构找到一种更好的方法,以便更好地进行通信和相互交互。一些最优秀的 Web 服务工具是为这样的环境而设计的。通过提供更简单的统一接口,Web 服务还有助于改进用于移动环境和可移植环境的普及计算模型的工作方式。有了通用定义的接口和设计良好的任务,重用这些任务就变得更容易了,因而重用这些任务所代表的应用程序也就变得容易了。应用程序软件的可重用性意味着在软件上的投资有了更好的回报,因为可以从同一资源产生更多收益。3 Web Services在本系统当中的使用本系统当中的数据分析模块的Apriori算法使用的是Web Services,通过传入的关联规则参数以及数据库连接部分,返回计算出的xml数据,同时以XmlDataDocument和XmlNode的形式返回xml数据,如下图2.6和图2.7所示:图2.6 调用的Web Services形式图2.7 返回的xml 数据2.3 RIA,ExtJS ,Coolite Toolkit技术简介RIA(Rich Internet Applications)即富互联网应用,是一种具有近似于传统桌面应用程序系统功能和特性的网络应用系统。RIA系统最大的特点是将大部分处理任务都从用户界面端移植到客户端,仅保留一些必要数据与服务器端进行信息交互。RIA具有的Web应用程序的主要特点有:立即部署,跨平台,采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准,客户端在RIA中的作用不仅仅是展现页面,还可以在幕后与服务器进行异步的传送和检索数据。传统的网络应用程序将所有交互应用都集中在基于“瘦”客户端的B/S架构上。在这样的系统中,所有处理操作均在服务器端执行,客户端仅仅是用于显示静态的信息内容(如HTML)。这种系统最大的缺陷是所有的交互操作都必须经由服务器端进行,首先客户端要将请求数据上传至服务器端,然后服务器端作出响应并传回结果,最后客户端在重载响应信息。而通过使用在客户端执行指令的客户端技术。在过去几年当中,web开发人员一直使用的是传统的html界面,但是,个人计算机上早就实现了绚丽多彩的客户端,这两者之间的差异使得RIA技术应运而生,它可以使我们在因特网上以一种向使用Web一样简单的方式来部署富客户端程序,RIA能够完全替代传统的html,为采用C/S架构的胖客户端和采用B/S的瘦客户端机构提供了新的选择。RIA具有以下优点:(1) 安装简便,更新与使用费用与桌面程序和操作系统相比要经济的多。 (2) 终端用户可以自动或简单手动的更新到最新版本。 (3) 用户可以在任何连接到互联网上的电脑中使用程序。 (4) 多数丰富互联网应用程序程序可以跨平台使用 。(5) 与可执行文件相比,基于网络的应用程序可以有效的避免病毒的侵袭。 (6) 表现力丰富。丰富互联网应用程序能在基于标准浏览器的网页应用实现HTML标签根本无法实现的用户界面效果。这种内涵更丰富的交互涵盖所有在客户端所能实现的功能。 (7) 反应更加迅速。与那些总须与远程服务器进行交互的标准网页浏览器相比,IRA界面功能的反应要迅速的多,这也是丰富互联网应用程序特点之一。 (8) C/S结构的负担平衡。丰富互联网应用程序可以使客户端和服务器端对资源的需求更加平衡,从而使服务器不必再像传统网页应用中那样一直高负荷的运转。(9) 网络效率高。丰富互联网应用程序的网络通信量也会明显减少,这是由于在决定需要与服务器端交换什么数据时,为应用程序专门设计的客户端引擎会比标准的网页浏览器更智能。在本系统当中,我们采用的RIA方面的技术是ExtJS,具体使用的是Coolite Toolkit控件。ExtJS是用JavaScript写的一种主要用于创建前端用户界面,与后台技术无关的前端ajax框架。主要用于开发RIA(富客户端)的AJAX应用,可以将其应用在例如.net ,java ,php等各种语言开发的应用当中,ajax+json操作简单方便,无论从UI界面上CSS样式的应用,到数据解析上的异常处理上来说,都是一个很好的JavaScript富客户端产品。ExtJS框架完全基于纯Html/CSS+JS技术,提供了丰富的跨浏览器UI组件,灵活的采用了JSON/XML数据源来开发,使得服务端表现层的负荷真正的减轻,从而达到客户端MVC的应用。ExtJS将数据存储在JSON里面,通过ExtJS的GridPanel等各种组件的形式进行显示。ExtJS具有以下优点:(1) 漂亮的界面,浏览器兼容性好,在各个浏览器下测试都兼容性良好。(2) 统一的类库,各个版本的整体上还是相对一致的。 (3) 组件化的思想。EXTJS将JavaScript的面向对象编程的特性发挥的淋漓尽致。很清晰的继承体系,让我们可以拆成不同的组件使用和扩展。 (4) 丰富的UI。丰富的UI是区别于property,jQuery等轻量级框架所不具有的特性。 5 详细的文档。EXTJS团队的确把文档做的非常不错,内容丰富且易于使用,并且准备了在线文档和离线文档等多种文档形式。Coolite Toolkit是一个支持ASP.NET AJAX的Web控件,是基于跨浏览器的ExtJS库开发而来的,并且简化了开发步骤,并且包含了丰富的Ajax运用。Coolite Toolkit非常适合做web应用程序的开发,它提供了很多专业的A输入/验证/显示控件,和页面布局的框架,同时完全支持ajax,因为它是所有的组件是居于ExtJS上封装出来,让开发人员在可视化的设计器内进行方面的属性配置。从页面布局和使用的控件TextBox,Combox,Button,ToolBar,StateBar,Panel,TabPanel,ExplorerBar,MenuBar,PictureBox都用统一的样式非常方便的配置,基本不需要额外美工处理,同时支持ajax无刷新效果。1 RIA等在本系统当中的使用情况在本系统中采用了基于RIA的JavaScript的ExtJS框架来实现系统的高度仿桌面的效果。所有界面均使用ExtJS框架来实现,通过Coolite Toolkit的可视化界面设计工具进行属性方面的配置,将数据存储在JSON里面,通过ExtJS的GridPanel控件进行展示。页面布局和输入输出的大多数都是由Coolite Toolkit控件进行开发,样式统一,系统的用户得到了良好的体验。效果展示如图2.8如下:图2.8 Coolite Toolkit控件实现2.4 Chartlet技术简介Chartlet是个完全免费的ASP.NET的图表控件,可以用在ASP.NET页面上将数据库的数据动态转换成统计图表进行显示,也可以将数组数据以统计图表的形式展现出来,能够绘制出柱状图,饼状图,曲线图等,编程更加简洁,图表变得更加美观大方,Chartlet正是为了满足一般应用而开发的免费控件,可以满足基本的图标要求。以最少的代码创造出最美丽的图表,告别图表控件繁多的属性设置和方法调用,将时间真正华仔项目的开发当中。1 Chartlet在本系统当中的使用情况本系统中的数据分析部分的数据展示部分柱状图,决策树等均为Chartlet控件动态生成的。 效果展示如图2.9和图2.10所示: 图2.9 图2.10 第三章 系统关键技术的实现3.1 基于关联规则的数据挖掘算法3.1.1 简介数据挖掘是一种从大量数据中提取出隐含的、未知的、潜在的和有用的信息的过程。数据挖掘技术和数据库知识发现(Knowledge Discovery in Database,KDD)都是近年来随着数据库技术、人工智能技术,以及计算机科学技术的发展而出现的一种全新信息技术。虽然数据挖掘技术的发展仅有短短十余年的历史,但发展势头却相当迅猛,现已在实际领域中得到广泛的应用,并且产生了良好效果。关联规则挖掘是数据挖掘研究的一个重要分支,是数据挖掘的众多知识类型中最为典型的一种。关联规则挖掘是数据挖掘中的一个重要研究内容,它是发现大量数据中项集之间有趣的关联或相关关系,这些关系是预先未知的或者被隐藏的。从大量商务事务记录中发现许多有趣的关联关系,可以帮助制定许多商务决策,。 有一个关联规则的例子就是 “70%的顾客在购买面包和黄油的同时也会购买牛奶”,其直观意义为顾客在购买某些商品的时候有多大倾向会购买另外一些商品。具体是在一个给定的数据项以及交易集合中,分析数据项在交易集合中出项的频度关系,在众多的关联规则中,常见的算法有Apriori算法,FP-Tree算法,AIS算法,SETM算法。关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rules)。一般使用支持度(support)和置信度(confidence)两个参数来描述关联规则的属性。 (1)支持度规则在数据库中的支持度是交易集中同时包含, 的事务数与所有事务数之比,记为 。支持度描述了,这两个项集在所有事务中同时出现的概率。(2)置信度规则在事务集中的置信度(confidence)是指同时包含,的事务数与包含的事务数之比,它用来衡量关联规则的可信程度。记为记为。一般情况下,只有关联规则的置信度大于期望可信度,才说明的出现对的出现有促进作用,也说明了它们之间的某种程度的相关性。给定一个事务集,挖掘关联规则的问题就是产生支持度和置信度分别大于用户事先给定的最小支持度和最小置信度的关联规则。关联规则挖掘的任务就是要挖掘出中所有的强规则。强规则对应的项目集必定是频繁项目集,频繁项目集导出的关联规则的置信度可由频繁项目集和的支持度计算。关联规则挖掘的一个典型例子是购物篮分析。关联规则有助于防线交易数据库中不同商品项之间的联系,找出顾客购买行为模式,如购买了某一商品对购买其他商品的影响。分析结果可以应用于商品货架的布局,货存安排以及根据购买模式对用户进行分类。本系统所采用的关联规则算法为Apriori算法。3.1.2 关联规则Apriori算法原理关联规则的算法相当多,其中经典算法Apriori是最有影响的挖掘布尔关联规则频繁项目集的算法。此算法源于使用频繁项集性质的先验知识,其核心思想是基于频繁理论的一种递推方法,目的是从数据库中挖掘出那些支持度和置信度都不低于给定的最小支持度和最小置信度的关联规则,它的理论基础是频繁项集的两个单调性原则:(1) 频繁项集的任一子集一定是频繁的,(2)非频繁项集的任一超集一定是非频繁的。此算法利用一种逐层搜索的迭代K项集用于探索(k+1)项集。首先,找出频繁1项集的集合,该集合记作L1,L1用于找频繁2项集的集合L2,而L2用于找L3,如此下去,知道不能找到频繁K项集,找每一个LK需要一次数据库扫描,同时,为了提高频繁项集逐层产生的效率,以上的两条单调性原则被用于找出并压缩搜索空间。(频繁项集:所有支持度大于最小支持度的项集称为频繁项集,或简称项集。)在Apriori算法中,遍历数据库,得到大一项集。如果非空,由产生长度为2的候选项集合,对事务处理数据库中的每一个事务,求出在中的全部子集,对于中的每一个长度为2的候选取项集,令的计数c. count加1。当扫描事务处理数据库一遍后,筛选取出候选项集合中所有计数满足最小支持度的项集组成了长度为2的频繁项集合。用以上步骤重复处理新得到的频繁项集合,直到没有频

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论