1. 第一阶段实现磁带备份;
2. 第二阶段将在第一阶段的基础上增加本地集群,实现本地备份容灾; 3. 第三步将在第二阶段的基础上实现异地集群从而实现异地的容灾和数据备份。
5 技术架构及运行环境
5.1 系统技术架构
本系统构建于J2EE平台,采用分层提供服务支持的设计思想,将系统划分为数据库层、中间件层、基础服务层、业务表现层和系统接口层。系统对每一层定义明确的功能接口,同时在层次内实现组件化的接口实现。层次化、模块组件化的实现,使系统具备了最大程度的灵活度,从而能对业务需求的变化作出快速的反应,使系统具有很好的扩展性。
5.1.1 多层技术架构
业务表现、系统接口层业务应用 商品管理层Controller 、 JSP 、HTML 、SCRIPT 订单管理 广告管理 信息发布 …基础服务用户权限管理组栏目管理组属性管理组统计管理组日志服务组件 …层件件件件数据库层Mysql
上图可以清晰的了解到整个系统的层次划分,系统从最底部的数据库层开始,一层一层的向上提供接口服务,最终实现用户按业务要求的可见操作界面和其他系统接口。各层次专著于自身功能的接口实现,整个层次保持相对的稳定。系统通过不改变接口,各个层次、各个组件进行优化的策略,能在不影响整个业务的前提下,不断的完善和改进。 下面将对各个层次进行进一步的论述。
5.1.1.1 数据库层
对于平台中的所有应用,都存在着各种各样的配置信息、业务数据、系统运行状态等信息。数据库层对这些数据信息本身进行归档、提供快速查询的底层接口、并保证数据的完整性、可靠性。
在数据库方面,我们采用MySQL 。 ? MySQL
适合中小型的电子商务应用。
5.1.1.2 商城基础服务层
基础服务层构建于J2EE平台之上,借助于中间件的接口服务,提供电子商务平台系统所需要的通用服务接口组件。系统将提供以下主要的服务接口支撑不同业务需求的实现。
? 用户权限管理模块:
大型电子商务应用系统有用户多,模块多,权限多的特点,因此必须采用分组的用户管理系统,并设置一个具有最高权限的管理员,负责对整个系统用户设置,为每个用户角色、用户指定不同的权限,依照不同的权限在系统中可以使用不同的功能。
系统设置了Administrator用户组,并设置了root这个具有最高权限、不可删除的用户。您可以根据您的需要使用root这一个管理员用户。管理员可以创建、编辑和删除用户组,您可以根据您的需要给每个用户组合理的权限划分,并给每个用户组添加、编辑和删除用户。用户登录系统后,系统会根据该用户的权限提供相应的功能,并对用户的每个操作检查用户的使用权限。
系统采用Window用户权限的思想,将用户、用户组的权限通过各个栏目节点进行绑定,在各个栏目节点上实现继承与非继承的设置管理,从而使管理员可以进行灵活的配置。
? 属性管理模块:
在现实情况中,不同的事物对象存在其特殊的信息描述;比如一个手机,存在 “网络类型—GSM”、“外观样式—翻盖”等等;同时这些特殊的信息描述在同类别的数据对象下经常存在共性;比如TCL和 联想 生产的手机,应该都存在以上两种属性的描述。
针对以上的情况,系统进行了一个数据抽象,定义了一套属性管理组件,可以方便、有效的描述相关的需求情况,同时对于存在共性描述的对象采用继承模式来描述,从而很好的表现一个事物对象的特征。
? 继承性管理模块:
继承是面向对象接口特性之一。考虑到抽象事物的通用性,系统通过一个通用的对象继承模型接口,对所有需要实现继承的功能提供基础的支持。从而提高系统的重用性和降低系统的偶合度。
? 日志服务管理模块:
日志是一个成熟的电子商务应用系统所必备的功能。日志可以用于数据统计,为系统其他功能提供初始数据;用于查看一个对象的修改历史记录,用于方便追踪对象的修改状态和明确事务责任。
通过对系统各种操作数据的分析,根据各操作功能,系统将日志进行类别的划分: 1、系统日志:记录系统各种操作的信息数据。(比如:用户某个时间登陆了系统。。。) 2、商品日志:记录系统商品数据发生改变的信息。(比如:商品价格发生变化) 3、信息日志:记录系统信息数据发生改变的信息。(比如:某管理员增加了一个新的促销公告…)
4、订单日志:记录系统订单数据发生改变的信息。(比如:某个订单已经进行了送货处理…)
系统通过抽象出一个Log日志接口,采用Abstract Factory 模式,通过不同的构造参数来获取不同分类的Log日志实现。系统将各中类别下的日志,又区分不同的操作。日志组件将通过抽象和封装后,给各功能模块提供统一接口服务,方便系统各模块的日志功能的开发和维护。
? 缓存服务管理模块:
页面访问的时候,生成动态 Web 页会耗用各种各样的系统资源。当 Web 服务器收到页面请求时,它通常必须从数据库或其他存储系统中实时的检索所请求的信息。对这些资源的访问通常需要通过有限的资源池(如数据库连接、套接字或文件描述符)进行。因为 Web 服务器通常需要处理很多并发请求,所以对这些共享资源的争夺可能会延迟页面请求,直到资源变为可用。在将请求发送后,仍然必须将结果转换为 HTML 代码以便进行显示。
使系统速度更快的一种显而易见的方法是购买更多、配置更好的硬件。此方法可能很吸引人,因为硬件便宜,而且不必更改程序,但更多的硬件只能在未达到其物理限制之前才会对性能有所帮助。系统中实施缓存管理,是一个有效的解决方案。
系统中存在两中缓存对象:
1、 Java对象缓存:对于一些经常被使用的Java对象保存于规定的内存空间,通过配置
的更新规则,同步更新数据库内容。
2、 前台页面缓存:对于前台的html页面按不同的块来区分,然后通过一个key对象,
通过开源JCS技术存储于内存或磁盘空间。
客户端Web服务器页面缓存数据库服务器视图URL请求存储的缓存Key对象false(没有缓存)获取数据返回数据生成页面Html存储页面Html返回页面内容
(请求中的页面对象不在缓存对象中)
客户端Web服务器页面缓存数据库服务器视图URL请求存储的缓存Key对象True(有缓存)返回页面内容
(请求中的页面对象存在于缓存对象中)
从上边两幅图可以很清晰的看到,对于并发访问的页面请求,通过页面的缓存可以极大的减少对紧缺资源(数据库连接)的调用,减少访问响应的时间,从而提高系统的访问速度和整体性能。 ? 任务调度模块:
对于电子大型的成熟的电子商务平台系统,每天都有很多特定的数据需要进行分析或处理(比如:每天都有大量的邮件需要发送)。对于大数据量、高数据运算的处理功能,往往不希望在系统繁忙的时间进行处理。
针对这种状况,系统采用Jcrontab提供的基础服务,通过Jcrontab接口的扩展,实现对系统自动执行的任务灵活的、人性化的配置。管理员可以根据系统的实际情况,配置相应的系统任务来执行。
5.1.1.3 业务表现层、系统接口层
业务表现层和系统接口层是商城对外的接口,下面分别进行介绍。
5.1.1.3.1 业务表现层
业务表现层就是最终对客户的接口,平台以网页的方式提供各种业务供客户使用。相当于View(视图),与应用层(Model)、Servlet(Controller)组成Model / View / Controller(MVC)结构。主要是用JSF架构实现。
5.1.1.3.2 系统接口层
系统接口层是对外部系统的接口。提供各种数据导入导出,数据查询等功能。 平台主要使用WebService提供系统接口。
实际上,Web Service的主要目标是跨平台的可互操作性。为了达到这一目标,Web Service 完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件商家的标准,是创建可互操作的、分布式应用程序的新平台。使用Web Service有以下优点。
1. 跨防火墙的通信
出于安全性考虑,服务器通常只对公网开放80(HTTP)端口,WebService使用Http协议进行传输,正好能自由穿越防火墙。
2. 应用程序集成
在企业中会有其他的应用程序,比如说MIS、CRM等,这些应用可能是建立在不同的平台之上,比如说.Net。那么商城和这些平台集成的话就会存在很大的问题,因为我们采用的是J2EE。解决这应用程序集成的最佳方案就是WebService了。通过Web Service,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。
3. B2B的集成
同样的,将上面的一个问题扩充到企业和企业之间,跨公司的商务交易集成通常叫做B2B集成。不同企业所采用的平台就更加五花八门了。
农产品电子商务平台解决方案 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)