系统技术架构说明书_第1页
系统技术架构说明书_第2页
系统技术架构说明书_第3页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、全网电子商务平台技术架构说明书2010年3月18日北京友联慧通科技有限公司目录技术性需求分析 4一致的逻辑数据 4优秀的网络环境适应性 4系统的兼容性 4优异的系统性能 4开放的界面和接口 4完备的操作日志管理策略 4高度的安全性 4技术性设计思想和原则 5最小成本原则 5安全性、可靠性、先进性原则 5安全性与可靠性原则 5先进性原则: 5实用性、易用性、可扩展性原则 5实用性原则 5统一及一致性原则 6业务引导及易用性原则 6友好及方便性原则 6扩展性和适应性原则 6数据共享原则 7系统技术架构的设计 7技术架构的特点 7系统的架构图 7技术架构图 7系统请求数据处理流程图 9体系结构图 1

2、0系统核心功能分布图 11架构层次的说明 11数据库层 11中间件层 12基础服务层 16应用层 20业务表现层和系统接口层 21系统部署环境 22商城平台部署环境 22运行平台 22操作系统 22应用服务器 23Web 服务器 23数据库服务器 23缓存服务器 23图片文件服务器 23系统部署拓扑图 23系统部署结构图 24技术性需求分析一致的逻辑数据一般来说, 平台所有的服务接点都是这个数据库的客户端访问; 因此从逻辑上, 任意服 务网络接入点的数据应该是一致的。优秀的网络环境适应性从系统的实现角度考虑,要满足各种复杂的网络环境。系统的兼容性由于服务结点的数量巨大, 其使用的平台和语言各不

3、相同, 需要能够容纳所有类型的服 务结点;优异的系统性能从系统架构设计上需要考虑巨大量数据的处理引擎, 从系统本身进行性能上的优化, 而 不是仅仅凭借于硬件服务器的性能。开放的界面和接口不仅个人用户能够方便地通过 Web 应用查询信息,同时也需要能够预留非 GUI 的交互 界面的接口, 以便使其它应用系统也能使用数据管理系统提供的信息服务, 同时还需要为第 三方软件预留标准的集成接口,使系统具有高度的可扩展性;完备的操作日志管理策略需要有完备的操作日志管理引擎,记录系统交互过程中的日志数据。高度的安全性利用 JAVA 所特有的安全性 ,更多的从系统角度去维护数据的安全, 同时需要从数据库和 服

4、务器的角度提出安全维护的有效建议。技术性设计思想和原则最小成本原则系统建设充分考虑目前已实施的业务系统的实际情况, 充分利用原系统资源, 在实现新 系统建设同时保护原有系统的资源。任何一个系统的建设, 如果不能合理和有效地利用现有的资源和之前的系统的资源, 这 样的系统应该算不了绝对的成功。 因此, 在进行系统重建时, 充分考虑如何利用以前的信息 系统、 网络和其他设备, 并对以前实施的应用系统进行整合, 一方面保证原有的设备可以重 新利用, 另一方面保证以前的应用重获新生。 在真正意义上做到既完成了新系统的建设又保 护了原有设备和系统的资源。安全性、可靠性、先进性原则安全性与可靠性原则 :考

5、虑到电子商务系统工程建设项目安全性、 可靠性的需求, 在系统设计中, 应充分注意 系统的安全性和可靠性, 采用多种安全防范技术和措施, 保障系统的信息安全, 保障系统长 期稳定可靠运行,同时在系统设计要充分考虑系统运行性能,达到“简便、实用、快捷、安 全、准确”的目的。先进性原则:由于 IT 技术发展的速度惊人。因此,在电子商务项目进行系统总体规划时,我们选择 业界到目前为止先进和成熟的技术作为整个系统的技术架构, 以保证系统有不断发展和扩充 的余地。系统总体设计的先进性原则主要体现在以下几方面:1) 系统结构选择当前先进的 SSH 架构进行逻辑和业务和展示分层的架构进行系统开发;2) 软件的

6、设计中利用先进的面向对象技术、设计模式、 接口技术和组件技术来提高软件的通用性和复用性。实用性、易用性、可扩展性原则实用性原则衡量一个电子商务系统的好坏决不是看它投入了多少、 如何的先进, 而是看它是否真正 满足运营业务需求, 是否真的符合真正的运营情况。因此,在进行系统的建设时, 我们始终 不忘实用性原则, 努力保证投资花在实处, 保证建设出来的系统切切实实是所需要的, 而不 是一个富丽堂皇的空架子,光有一个外表而没有实际的内容。实用性是每个信息系统在建设过程中所必须考虑的,从实际应用的角度来看,这个性能更 加重要。为了提高系统的实用性,本系统考虑如下几个方面:设计上充分考虑当前各业务层次、

7、各环节管理中数据处理的便利和可行,把满足用户 业务管理作为第一要素进行考虑; 采取总体设计、分步实施的技术方案,在总体设计的前提下,系统实施时先进行业务 处理层及低层管理, 稳步向中高层管理及全面自动化过渡。 这样做可以使系统始终与业务实 际需求紧密连在一起,不但增加了系统的实用性,而且可使系统建设保持很好的连贯性; 全部人机操作设计均充分考虑不同使用者的实际需要; 用户接口及界面设计充分考虑人体结构特征及视觉特征进行优化设计,界面尽可能美 观大方,操作简便实用。统一及一致性原则在统一的用户界面风格前提下,实现各 GUI 中各类按钮、图标、文字(字体、大小) 、 热键(快捷键)的统一和一致,达

8、到便于使用、便于学习、交互友好的目的。人机工程及标准化原则在保证界面风格统一、一致的基础上,按照人机工程原理,遵循IBM 和 Microsoft 的界面设计标准,将界面的布局(包括按钮、菜单、显示框等)设计成符合操作者习惯的形式, 并在界面颜色的搭配上满足操作者长时间工作要求, 提供一个人性化的人机操作环境, 以保 证用户使用的舒适性。业务引导及易用性原则充分考虑业务的管理需求, 在界面的菜单及功能的组合设计中, 将界面的操作顺序按业 务归类,以便操作的有效引导,保证软件的易用性。同时,在各功能名称的用词、信息提示 文字等方面,使用政府审批业务的规范化、习惯化用词,以保证软件使用者的习惯性,

9、符合现有政府审批管理模式,有利于操作者在较快的时间熟练用好软件。友好及方便性原则鼠标、键盘的灵活输入方式;热键的使用,以保证各种业务数据信息的录入界面,更新 维护界面和记录增删界面及部门内部信息查询界面和信息统计报表界面等使用的方便性、友好性,确保各种业务信息数据都能通过用户界面方便地、快速录入。扩展性和适应性原则扩展性和适应性是系统升级前要考虑的首要元素, 为了进一步让客户能够降低成本来完 成未来可预见的系统升级开发, 系统在设计时就充分考虑到实际系统在今后工作发展而产生 的升级需求,尽量保证在原有代码基础上容易适应、容易修改和升级的目标。数据共享原则对所有的数据采用合理的数据结构, 把它们

10、有效地组织好, 进行统一维护管理, 避免数 据重复,减少冗余,提高准确性和可靠性,保证数据的统一性和完整性。系统技术架构的设计技术架构的特点我们的技术架构有以下特点:采用目前安全性能高, 扩展性好,框架技术最为完善 JAVA语言作为系统开发的语言。采用SSH框架技术,使系统能够分层开发,各层之间逻辑分明,层与层之间提供接口 方式来实现业务和数据的沟通。让系统具有极强的扩展性。 基于组件技术,力求将变化封装在组件内部。对应组件可以对外提供API 。 适应能力强,同步、异步都能处理,既能满足快速反映的业务的需求,又能满足大数 据量、复杂的、异步的业务的需求。与OS、中间件平台、数据库系统无关。 具

11、有很好的可扩展性。模块化使得系统很容易在纵向和水平两个方向拓展:一方面可 以将系统升级为更大、 更有力的平台, 同时也可以适当增加规模来增强系统的网络应用。 在 扩充或修改功能时,基本不会破坏原有结构的稳定性。 强而可靠的数据库搜索引擎 实用且安全的 SEO 搜索引擎设计 支持分布式部署的缓存引擎系统的架构图技术架构图触摸屏电话Web接入邮件手机客户端多渠道整合基础框接口引擎数 据 服 务多种开发语言GoogleMap基于 COMPASS自定义的路径支持分布式的Jsp, velocity.RSS订阅的搜索引擎规则引擎Memcache 缓存界面引擎中间件引擎搜索引擎规则引擎缓存引擎实用可靠的SE

12、O优化引擎接口引擎帮助您无缝对接第三方接口实现数据的无缝对接全网电子商务平台服务架构(SSH=Spring2.5 + Struts + Hibernate3.0)高可用性高扩展性高可靠性高安全性高性能匚会员匚数据数据数据J A频道数据数据商品 内容 数据匸其它訐匸其它a运营业务匚数据”l 一数据J数据库整合系统技术架构图数据仓库会员 数据 集合营销数据销售数据集合供应链数据集合集合系统请求数据处理流程图体系结构图体系结构图JSp, taglib , javabean, cache, helper,html逻辑数:据接口务 逻 辑 层PubSpri ngUtillmpI业务数据接口数据接口层数据

13、接口ORACLEMYSQLMSSQL体系结构图系统核心功能分布图访客/个人会员/企业会员/商家会员/客服人员/总平台管理人员/地区管理人员Internet 接入语音接入其他接入商城接入层总平台门户地区门户企业会员门户商家会员门户客服门户运营后台门户商城核心业务层总平台门户、地区门户企业会员门户、商家会员门户商品浏览商品搜索商户申请商户自管理商品购买会员注册商品管理虚拟商品管理商品排序会员自管理缺货管理咨询管理订单管理积分管理促销管理对账结算管理商品咨询商品评论退货管理退款管理浏览历史留言板信息管理订单管理优惠券管理会员投诉投诉管理统计报表业务定制商品促销账号权限管理内容管理支付管理物流管理支付

14、管理物流管理会员管理商户管理权限管理客服销售订单管理代金卷管理商品管理客服角色管理排行榜管理商品推荐管理支付方式 管理客服查询促销管理对账结算管理评论管理客服受理记录关键字过滤 管理调查问卷管理广告管理客服报表系统统计分析日志查询搜索及静态页 生成帮助管理运营监控流量统计网站联盟管埋 系统网站联盟管埋 系统地区管理商机管理支付管理物流管理客服门户、运营后台门户、地区运营后台门户商城基础服务层接口服务层商品管理服务订单管理服务会员管理服务系统管理服务客服管理服务促销管理服务系统配置服务系统安全服务内容管理服务日志管理服务缓存管理服务权限管理服务中文外贸平台接口支付系统接口物流系统接口邮件接口短信

15、接口身份验证接口IM接口诚信认证等接口商城核心数据层会员/商户/商品/订单/营销/统计/监控/对账/结算/内容/促销等库ORACLE10GJ2EE / Security / PKI架构层次的说明数据库层对于平台中的所有应用,都存在着各种各样的配置信息、业务数据、系统运行状态等信息。数 据库层对这些数据信息本身进行归档,提供快速查询的底层接口,并保证数据的完整性、可靠 性。在数据库方面, 我们的程序是可以无缝对接主流数据库的包括Oracle,Mysql ,和 MSSql ,但建议采用 Oracle 或者是 MySQL 。因为他们和程序一样具备跨平台的特性,但这两种数据库分 别有不同的适用环境。O

16、racle适合大型的电子商务应用。能使用所有的商城平台功能。如访问量排行榜、降价排行榜、销售排行榜、访问量统计等Oracle,再配合我们专门对可以使用Oracle RAC (真等,就以往的经验来看,这些功能每天要处理的数据都会超过一千万。这种数据量如果使用传 统的统计方法,统计一次的时间就可能会以天来计算了。如果使用Oracle 进行优化的高效率的统计程序,那么只需十数秒便可完成。 此外, 如果只用一台数据库无法应付日益增长的服务器访问量, 正应用集群) ,通过增加数据库服务器进行集群。MySQL 适合中小型的电子商务应用。 无法使用商城平台一些高级应用,如排行榜、统计分析、MIS 系统对接等

17、。这是由于MySQL 设计上强调访问速度,牺牲了一些数据库的高级功能,虽然用程序也可以实现这些 功能,但是在性能上无法满足需求。 比较难实现数据库集群。中间件层中间件层主要是购通平台使用的J2EE中间件,包括平台使用到的应用服务器和中间件技术。一、应用服务器应用服务器为购通提供的整个J2EE平台实现,商城系统基础服务层和应用层、业务层都是建立在应用服务器之上。购通设计上遵循 SUN 公司提出的 J2EE 规范,这样能够尽可能的保证在不同的 J2EE 应用服 务器中进行移植。经过测试购通平台支持Tomcat、WebLogic、JBoss, webShare这几种J2EE应用服务器。二、中间件技术

18、 本着重用的设计原则,购通在一些功能中采用了已有的成熟技术,这些都是经过实践考验的中间件。主要以 java 标准包和开源项目为主,大部分都针对系统作了相应调整,以便适合系统 的需要。1. Apache commons:著名的开源组织 Apache 的一个 java 工具包,提供很多实用的功能。1) commons-beanutils :提供对 Java 反射和自省 API 的包装。 在平台中用于通用的接口设计。2) commons-codec:包含一些通用的编码解码算法。 Hex, Base64, 以及 URL encoder 。 平台中主要用来做消息摘要,实现数据加密等功能。3) commo

19、ns-collections :提供一个类包来扩展和增加标准的 Java Collection 框架。提供了比 j2sdk 更全面的数据结构, 平台中继承并实现了一些特殊的数据结构。4) commons-pool : 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池。 我们在原有的基础上进行了优化,在性能和使用性方面有所提高。5) commons-dbcp :这是一个基于 apache的对象池(apache commo ns pool )实现的数据库连接池。我们在原有的基础上进行了优化,对数据库连接进行了特别的处理,防止数据库连接泄漏的 问题,并提供了监控的功能。6)

20、commons-discovery :供工具来定位资源(包括类) ,通过使用各种模式来映射服务/ 引用名称和资源名称。7) commons-el :提供在 JSP2.0 规范中定义的 EL 表达式的解释器。对平台中的 JSP 提供 EL 表达式支持。8) commons-fileupload :强大和高性能的文件上传功能。平台中被用于上传各种图片、Flash、文档等资源,我们在原有的基础上进行了优化。9) commons-logging : 提供通用的日志操作接口。主要用于程序调试和服务器日常的日志输出。10) commons-validator :提供了一个简单的,可扩展的框架来在一个 XM

21、L 文件中定义校验器(校验方法)和校验规 则。支持校验规则的和错误消息的国际化。平台中用来校验各种 xml 数据。2. Dom4j :Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java 集合框架并完全支持 DOM , SAX 和 JAXP 。主要用来处理 XML 数据。XML 在商城有广泛的应用,主要是作为配置文件使用。由于 XML 严格的格式要求和层次结 构,也有用来作为参数在 HTML 表单中传递。如组合商品功能,因为组合商品中的商品是由管 理员挑选的,参数数量并不确定,如果每从组合商品中添加/删除一个商品都直接更新到数据库话,会对系统

22、造成负荷。所以,在组合商品的管理中,将操作的数据类转换成XML 传递,就可以一次进行修改。3. Hibernate:Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象 封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web 应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。在平台中,我们采用 Hibernate 进行数据库操作,只有在一些对数据库

23、性能有特别要求的 模块,才直接使用 jdbc 进行连接。4. Memcache:Memcache 是一个支持分布式部署的动态缓存引擎。5. Spring 定时器:自动计算年排行榜。 自动计算月排行榜。 自动计算周排行榜。 自动计算日排行榜。我们主要用 Spring 定时器管理以下一些定时任务:1) 年排行榜后台更新进程2) 月排行榜后台更新进程3) 周排行榜后台更新进程4) 日排行榜后台更新进程5) 更新对象缓存:实现对象缓存的更新,处理那些长期没被再一次访问的对象缓存。6) 清页面缓存: 当管理员使用的手工刷新页面缓存的功能时, 系统会将这些需要刷新的 缓存加到一个队列中,由本进程负责刷新。

24、7) 相关产品自动实现间隔: 相关产品的计算对系统消耗比较大, 所以系统不会对所有几 十万个商品进行计算, 只有在用户查看单个商品时算出这个商品的相关产品并进行缓存。 那 么当用户下一次访问这个商品的相关产品时就直接从缓存中读取出来。 而这个进程就是为了 定时更新这个缓存。8) 自动推荐后台更新进程:进程根据商品推荐规则进行自动推荐。9) 新闻推荐后台更新进程:进程根据新闻推荐规则进行自动推荐。10) 关键字后台进程:当用户在前台搜索栏中输入一个查询值时,系统并不马上将其统 计到关键字,而是放到内存中,由此进程定时统计。11) 保存访问量信息进程:用户每访问一次系统,系统并不马上统计,而是放到

25、内存中, 由此进程定时保存到数据库,供统计进程进行统计。12) 年访问量排行计算:计算年访问量排行榜。13) 月访问量排行计算:计算月访问量排行榜。14) 周访问量排行计算:计算周访问量排行榜。15) 日访问量排行计算:计算日访问量排行榜。16) 年降价排行计算:计算年降价排行榜。17) 月降价排行计算:计算月降价排行榜。18) 周降价排行计算:计算周降价排行榜。19) 日降价排行计算:计算日降价排行榜。20) 统计计算:每天对访问量进行统计。21) 生成订阅邮件列表进程:根据用户的订阅设置,生成需要发送的邮件队列。22) 发送订阅邮件进程:根据要发送的邮件队列发送邮件。23) 拍卖自动出价进

26、程:实现拍卖模块中的自动出价功能。6. Log4j :Log4j 是 Apache 的一个开放源代码项目,通过使用Log4j ,我们可以控制日志信息输送的目的地是控制台、 文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog 守护进程等; 我们也可以控制每一条日志的输出格式; 通过定义每一条日志信息的级别, 我 们能够更加细致地控制日志的生成过程。 最令人感兴趣的就是, 这些可以通过一个配置文件 来灵活地进行配置,而不需要修改应用的代码。这是一个可选包,如果不使用 Log4j 的话, commons-logging 会自动使用 SUN J2SDK 的 日志包,不过我们

27、还是推荐使用Log4j ,它的功能非常强大。7. Compass:Compass 是一个开放源程序的搜寻器引擎, 利用它可以轻易地为 Java 软件加入全文搜寻功能。Compass的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高, Compass 提供一组解读,过滤,分析文件,编排和使用索引的API ,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。我们使用 Compass 建立索引,并在这基础上实现了全文搜索功能。8. Ant :Ant 是一个基于 Java 的自动化脚本引擎,脚本格式为 XML 。我们除了用 Ant 做 Java

28、 编译相关任务外,还通过插件实现很多应用的调用。包括程序编 译、打包、 Hibernate 配置文件自动生成、部署、以及单元测试等操作。当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java中应用是平台无关性的,当然不会用平台相关的 make脚本来完成这些批处理任务了,Ant本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA 是平台无关的外,脚本的格式是基于 XML的,比make脚本来说还要好维护一些。9. Axis :Axis 是一个 SOAP 引擎,提供创建服务器

29、端、 客户端和网关 SOAP 操作的基本框架。 SOAP 是被广泛作为新一代跨平台、跨语言分布计算Web Services的重要部分。商城平台使用 Axis 提供 WebService 支持, 广泛应用于通用数据接口, 对外系统提供服务 等功能。如:1) 商品查询服务:提供接口让外接系统可以查到平台中的商品信息。2) 新闻发布服务:提供接口让外接系统可以取到各类新闻。3) 订单服务:提供接口让外接系统可以在平台中生成订单,并获取各种订单信息。 注:上述服务都有严格的权限控制。10. JavaMail :JavaMail是Sun发布的用来处理 email的API。它可以方便地执行一些常用的邮件传

30、输。 我们使用 JavaMail 实现了平台中邮件发送、群发等相关功能,供业务系统使用。11. JSTL:JSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web应用程序中常见的 通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。我们使用 JSTL 封装各种业务逻辑。12. JUnit:JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架( regression testing framework)。 Junit 测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件

31、如 何(How)完成功能和完成什么样( What)的功能。我们主要用 JUnit 来进行单元测试。基础服务层基础服务层构建于 J2EE 平台之上, 借助于中间件的接口服务, 提供电子商务平台系统所需 要的通用服务接口组件。系统将提供以下主要的服务接口支撑不同业务需求的实现。栏目管理模块: 栏目是一个抽象资源对象,是一种特殊的内容类型。栏目可以表示产品、新闻信息类别、资 源节点、导航栏的项、菜单中的项等等。栏目是一种组织管理型的资源。系统设计上支持多级子栏目, 采用虚拟文件系统 ( Virtual File System )技术以支持直观的树 型导航风格,一个栏目节点相当于一个虚拟的文件目录。对

32、于大型电子商务系统,栏目的节点是个非常大的数字,这对系统栏目树展示的速度和性能 有极高要求。考虑到以上原因系统采取了栏目对象缓存策略,同时对于页面节点的呈现通过动 态 JavaScript 输出的技术,从而使系统能很好的支持上万个栏目数据节点操作管理。能平滑、 高效的展示树型风格的栏目结构。 用户权限管理模块: 大型电子商务应用系统有用户多,模块多,权限多的特点,因此必须采用分组的用户管理系统,并设置一个具有最高权限的管理员,负责对整个系统用户设置,为每个用户角色、 用户指定不同的权限,依照不同的权限在系统中可以使用不同的功能。系统设置了 Administrator 用户组,并设置了 root

33、 这个具有最高权限、不可删除的用户。 您可以根据您的需要使用 root 这一个管理员用户。管理员可以创建、编辑和删除用户组, 您可以根据您的需要给每个用户组合理的权限划分, 并给每个用户组添加、 编辑和删除用户。 用户登录系统后, 系统会根据该用户的权限提供相应的功能, 并对用户的每个操作检查用户 的使用权限。系统采用 Window 用户权限的思想, 将用户、用户组的权限通过各个栏目节点进行绑定, 在各个栏目节点上实现继承与非继承的设置管理,从而使管理员可以进行灵活的配置。 属性管理模块:在现实情况中,不同的事物对象存在其特殊的信息描述;比如一个手机,存在 “网络类 型一GSM、外观样式一翻盖

34、”等等;同时这些特殊的信息描述在同类别的数据对象下经常 存在共性;比如 TCL 和 联想 生产的手机,应该都存在以上两种属性的描述。针对以上的情况,系统进行了一个数据抽象,定义了一套属性管理组件,可以方便、有 效的描述相关的需求情况, 同时对于存在共性描述的对象采用继承模式来描述, 从而很好的 表现一个事物对象的特征。 继承性管理模块: 继承是面向对象接口特性之一。考虑到抽象事物的通用性,系统通过一个通用的对象继承模型接口, 对所有需要实现继承的功能提供基础的支持。 从而提高系统的重用性和降低系 统的偶合度。 日志服务管理模块: 日志是一个成熟的电子商务应用系统所必备的功能。日志可以用于数据统

35、计,为系统其他功能提供初始数据; 用于查看一个对象的修改历史记录, 用于方便追踪对象的修改状态和 明确事务责任。通过对系统各种操作数据的分析,根据各操作功能,系统将日志进行类别的划分:比如:用户某个时间登陆了系统 )(比如:商品价格发生变化)(比如:某管理员增加了一个新的促(比如:某个订单已经进行了送货处1、系统日志:记录系统各种操作的信息数据。2、商品日志:记录系统商品数据发生改变的信息。3、信息日志:记录系统信息数据发生改变的信息。 销公告)4、订单日志:记录系统订单数据发生改变的信息。 理 )系统通过抽象出一个 Log 日志接口,采用 Abstract Factory 模式,通过不同的构

36、造参数 来获取不同分类的 Log 日志实现。系统将各中类别下的日志,又区分不同的操作。日志组 件将通过抽象和封装后, 给各功能模块提供统一接口服务, 方便系统各模块的日志功能的开 发和维护。缓存服务管理模块:页面访问的时候,生成动态 Web 页会耗用各种各样的系统资源。当 Web 服务器收到 页面请求时, 它通常必须从数据库或其他存储系统中实时的检索所请求的信息。 对这些资源 的访问通常需要通过有限的资源池 (如数据库连接、 套接字或文件描述符) 进行。因为 Web 服务器通常需要处理很多并发请求, 所以对这些共享资源的争夺可能会延迟页面请求, 直到 资源变为可用。在将请求发送后,仍然必须将结

37、果转换为 HTML 代码以便进行显示。使系统速度更快的一种显而易见的方法是购买更多、配置更好的硬件。此方法可能很吸 引人, 因为硬件便宜, 而且不必更改程序, 但更多的硬件只能在未达到其物理限制之前才会 对性能有所帮助。系统中实施缓存管理,是一个有效的解决方案。系统中存在两中缓存对象:1、Java 对象缓存:对于一些经常被使用的 Java 对象保存于规定的内存空间,通过配 置的更新规则,同步更新数据库内容。2、前台页面缓存:对于前台的 html 页面按不同的块来区分,然后通过一个 key 对象, 通过开源 JCS 技术存储于内存或磁盘空间。(请求中的页面对象不在缓存对象中)(请求中的页面对象存

38、在于缓存对象中)从上边两幅图可以很清晰的看到,对于并发访问的页面请求,通过页面的缓存可以极大的减少对紧缺资源(数据库连接)的调用,减少访问响应的时间,从而提高系统的访问速度和整体性能。2上传文件的共享我们采用共性文件形式的文件共享,主要使用磁盘阵列技术,简称RAID(Redu ndantArrays of In expe nsive Disks)。磁盘阵列是由一个硬盘控制器来控制多个硬盘的相互连接, 使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。磁盘阵列有以下优点:1)传输速率快;2)储存容量可提升;3)提升I/O每秒的数量;4)增加数据安全性及稳定性;5)大量数据快速及简易管理;6

39、)增加可用运时间,减少维护;7)通过磁盘阵列,可以将不同服务器上传的文件统一管理。如图所示:各台服务器共享磁盘阵列,这样所有的上传的文档都放到磁盘阵列之中。3. 高可用性我们建议采用负载平衡器,负载均衡器可以根据实际的响应时间制定优先级交付决策,从而实现高性能、智能化流量管理,达到最佳的服务器群性能。采用第七层应用控制还可以 减少通信高峰期的错误讯息,因为差错控制和流量管理技术可以侦测到一些错误信息,并透明地将会话重定向到另一个服务器,使用户顺利地进行使用。例如,服务器A不可用或者数据库出现错误,错误信息将会返回到负载均衡器上,然后会将客户的访问指向服务器B或者将消息重放到其他数据库中去,整个

40、过程对用户是透明的。将内部的多个私有IP的服务器,对外映射成一个相同的IP。而且当其中某台服务器Down掉的时候,负载均衡器将不会将这个服务器映射出去。6.数据库集群如果数据库是用 Oracle的话,数据库集群可以采用 Oracle RAC。基于RAC的电子商务 应用的用户或者中间层应用服务器客户,可以通过虚拟数据库服务名连接到数据库上。Oracle在集群中多个节点之间自动平衡用户负载。不同节点上的Real Application Clusters数据库实例预订所有数据库服务或者部分子集数据库服务。这使得DBA高度灵活地选定,连接到特定数据库服务的特定应用程序客户是否可以连接到某些或者全部的数

41、据库节点。RAC在工作期间,每个节点可以单独的被使用并且被应用程序负载均衡。如果发生意外, 如一个节点的失败,可以实现节点的失败切换,保证数据库24*7的高可用性。虽然每一个节点有一个不同的物理IP地址时,应用客户仍可以在一个逻辑数据库服务名的水平上进行连接。因此客户端对于不相关的事情如多服务器的多个地址可以毫不关心。任务调度模块:对于电子大型的成熟的电子商务平台系统,每天都有很多特定的数据需要进行分析或处 理(比如:每天都有大量的邮件需要发送)。对于大数据量、高数据运算的处理功能,往往不希望在系统繁忙的时间进行处理。针对这种状况,系统采用Spring定时器提供的基础服务,通过Spring定时

42、器接口的扩展, 实现对系统自动执行的任务灵活的、人性化的配置。管理员可以根据系统的实际情况,配置相应的系统任务来执行。应用层应用层提供各种业务实体的操作,使用商城平台基础服务进行搭建。应用层的基本设计都是建立在商城平台基础服务层之上。就是栏目一一属性/权限一一业务实体。所有业务都可以在栏目中统一管理,从而使用统一的权限配置,使用分层的动 态属性这些基础功能。这样做的好处是,当业务实体发生改变或者是有新的业务时,系统的基础架构都不需 要做出任何调整,直接就可以使用原有的功能。比如说订单系统,订单系统可以处理的就是一个业务实体,如果平台现在要加上网上购买服务的功能,那么只需要新加一个订 单类型,就可以好像处理一般的商品订单那样处理这种购买服务的订单。一 商品管理二 订单系统三 评论管理四 内容管理五 会员管理六 促销管理七 统计报表八 推广渠道九 商户管理十 系统管理十一 客服系统业务表现层和系统接口层业务表现层业务表现层就是

温馨提示

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

评论

0/150

提交评论