智慧燃气大数据服务平台技术方案V3.0
现,并向上层提供Interface以供调用。
数据访问层
对数据层访问的接口层,在J2EE平台中对数据库的访问可以通过
JDBC直接建立连接或者通过连接池共享连接的方式进行数据访问。对于一些简单的数据访问也可以在JDBC层次上通过实体Bean实现数据持久层,其好处是数据的持久性和事务的管理由容器来负责。 ? 数据层
存放系统中的各类数据,通过JDBC进行本地数据库的访问,与核心TIS系统的数据交互通过webservice方式获取。
2.1.6 关键设计考虑
2.1.6.1 可靠性设计
xxx系统是一个基于在线生产系统派生系统,直接关系到客户服务的质量以及企业运营的效率与收入,因此要求系统能够达到7X24小时不间断稳定运行。由于xxx系统模块功能复杂,系统间结构与层次较多,在系统建设时需要对系统未来运行稳定型进行全面考虑与设计,并纳入系统设计的关键考量。我们将主要从主机与平台软件的可靠性、网络可靠性、应用软件可靠性三个方面来考虑并设计: ?
平台可靠性
平台是指整个系统运行的基础硬件与软件环境,包括主机、网络、数据库、交易中间件、J2EE应用服务器、流程引擎等基础软件。平台是构造先进而实用的应用系统的物理基础。将几个方面来保证平台的可靠性:
A. 从系统的先进性、业务容量、成熟性、实用性、可靠性出发,综合以上
考虑与未来的扩展因素,同时考虑本期工程的资金投资,选择具有成熟应用案例与经验的软硬件平台,构造应用系统稳定的基础;
B. 充分考虑系统关键网络节点、网络链路、关键应用平台等的在线热备份,
包括核心交换机与路由器、数据库服务器、关键应用服务器等,适当考
15
智慧燃气大数据服务平台技术方案V3.0
虑平台的冗余性,避免单点故障的产生,保证关键平台故障发生时的透明快速接管。
?
应用软件可靠性
应用软件的可靠性是系统不间断运行的能力。应用软件可靠性需要从软件架构设计部署与在线系统应用备份设计两个方面来考虑以提高系统的稳定性与容错性。
一、 软件架构设计与部署
为了能够从软件体系架构上提高软件的可靠性,xxx系统采用了运行核心平台与上层业务系统分离的设计模式,所有的业务应用都基于稳定的基础业务运行平台而构建,基础业务运行平台独立于应用开发并统一演进,提供上层应用运行所必需的基础引擎与环境,以保证应用的稳定性与可靠性。
分布式应用软件的部署也是关系到系统稳定性的重要因素之一。我们在进行本系统应用部署设计时将充分考虑一下原则与方法:
1. 区分关键应用与非关键应用考虑部署,一方面减少应用间的相互影响,
另一方面提高未来根据系统运行情况进行部署调整优化时的灵活性与伸缩性。
2. 区分快速联机交易与批量业务考虑部署,这也是提高系统性能并保证核
心业务稳定运行的主要策略。
3. 考虑硬件平台的处理能力,并结合预计业务的发展情况,根据相关资源
的消耗情况涉及足够的处理能力冗余,以降低由于出现性能瓶颈进而导致系统稳定性下降的可能性。
4. 在系统上线之前将进行充分的、具有足够业务冗余的业务量测试,并根
据测试结果合理调整应用的部署。 二、 应用备份设计
为了能够降低系统故障导致应用处理中断给业务运营带来的影响,必须在系统规划与建设初期对应用软件的备份进行设计。应用的备份根据是否存在人工干预、备份切换时间等可以分为在线热备与冷备份两种,而从应用的分布与层次则主要考虑各类应用服务器的备份,而应用服务器则又可以分为交易应用服务器、
16
智慧燃气大数据服务平台技术方案V3.0
WEB应用服务器、后端处理应用服务器等类型,设计时需要结合应用的特点与重要性考虑不同种类应用备份的实现方式。在本次系统建设中建议对关键应用包括计费应用、前台业务受理应用、服务开通进行在线热备份,保证系统故障时的自动切换;对其他应用采用独立服务器进行冷备份。各种类型应用服务器的在线热备方式考虑如下:
? 后台处理服务器
后台处理服务器采用基于主机的HA cluster方式进行,在平台或者应用故障中断运行时由备机快速接管应用,保证不间断运行。考虑到业务量与投资规模,在本系统可以采用一台应用服务器备份多台机器的策略。
? 交易应用服务器
交易应用服务器需要接收客户端的请求并进行业务逻辑的处理,因此该应用服务器的备份需要同时考虑远程客户端的接入切换与后台服务器的应用接管。在xxx系统中,主要考虑以下可能的在线交易的应用备份策略:
1. IP映射技术。这种方式通过网络设备(如交换机或者路由器)对内部的
在线应用服务器与备份应用服务器位置进行映射,对客户端提供统一的IP地址。并可以由网络设备自动检测应用的状态,在线应用发生故障时,可以自动把客户端请求转发至备份应用服务器,整个过程对客户端透明,同时这种方式在系统正常运行时也可由网络设备根据预定义的策略实现负载分担,且缺点是需要网络设备支持(需要四层交换功能)。 2. 通过主机cluster集群软件进行。这种方式采用浮动的IP网络地址来向
客户端屏蔽内部服务器的位置,当在线系统失败时,集群软件无须人工干预即可自动启动备份应用服务器并对外提供服务,整个过程对客户端透明。
3. 动态域名解析。在线应用服务器与备份应用服务器各自保证应用的运行,
客户端接入通过域名进行,在发生故障时,由域名解析服务器动态的将域名切换到备份应用服务器。这种方式的缺点是需要实现应用检测并动态调整域名解析表的功能。
4. 应用实现名字解析功能。这种方式类似于J2EE中JNDI机制:客户端不
直接通过固定的IP地址访问特定的应用服务器,而是首先通过名字服务
17
智慧燃气大数据服务平台技术方案V3.0
器获得对应应用逻辑的位置后再通过该调用该位置的应用逻辑。这种方式的优点是可以灵活调整应用的分布而无需客户端做出任何改变,可以实现应用的?部分备份?;其缺点是名字服务器本身需要确保足够稳定。 5. 利用应用服务器基础件本身的功能。部分交易中间件具有客户端自动监
测并切换后端应用的功能,当系统正常运行时,客户端通过轮换机制实现后台在线与备份应用服务器的自动分担;当系统发生故障时,客户端则根据相关的配置切换对应的后台应用,以达到不间断运行的目的。 在本期xxx系统的建设中,主要推荐1、2、5三种应用服务器的热备份策略。 ? WEB应用服务器
WEB应用服务器的备份实现与交易应用服务器的备份实现具有较多的类似可参考之处,同时针对web应用及相关J2EE平台的特点,还可以考虑充分利用绝大部分J2EE应用服务器具有的软集群功能,同时在WEB应用服务器前侧增加专用的HTTP接入proxy server来实现后端企业应用间的负载分担与灾难备份,在发生故障时,由HTTP proxy server负责将请求转发到备份web应用服务器。
2.1.6.2 灵活性与可扩展性设计
在建设xxx系统时不仅需要参考系统的设计容量,同时也需要充分考虑到未来随着业务的发展如何对现有的设备与软件进行扩展和平滑升级。一般来说,一个软件的系统扩展需要从硬件和软件两个方面进行,因此在考虑系统的扩展性时硬件平台需要考虑相关网络与主机方面的处理能力扩展与延伸;软件则需要从功能与处理性能两个方面来进行系统的可扩展性设计,同时也需要考虑到保护投资、充分利旧等因素。 ?
网络与主机能力扩展
网络的升级扩展需要从多个方面综合考虑,并在系统建设初期根据相关原则,参考设计容量以及业务发展趋势对支撑网的影响,并结合以往系统的建设经验,合理规划具有良好扩展性与易于升级的网络建设方案。
A. 网络接入能力的扩展:接入能力是指交换机/路由器接入用户数的扩展能
力,这种能力扩展一般出现在网络边缘,对于本次建设的xxx系统,则
18
智慧燃气大数据服务平台技术方案V3.0
需要充分考虑未来xxx系统各种网络接入的终端数目的增加,因此在设计相关的网络方案时,充分考虑了接入部分的扩展能力,包括各类交换机端口数目的预留等。
B. 处理能力扩展:处理能力主要是指的核心网络设备的数据转发与处理能
力。 这种要求主要出现在支撑网络的汇聚层与核心层。随着业务量的增多、业务数据流量的逐渐增大,或者当出现较多的网络质量与安全控制策略时,这些核心网络设备处理能力的不足就可能影响到正常业务的运行。在本项目方案中,将根据设计容量并考虑未来必要的冗余,同时参考目前xxxTCIS系统中支撑网业务量的大小与网络设备的关系,并结合各主流网络设备的特点来综合设计各类核心网络设备的处理能力并选型,以保证未来业务需要时,能够尽快地通过模块增加、引擎升级、负载分担等手段快速的进行核心网络设备处理能力的扩展。
C. 通信带宽的扩展:随着数据量的增大以及各类应用功能的调整与增加,
网络带宽将会有更高的要求,网络通信的带宽也是影响各类业务正常运行尤其是处理性能的重要因素之一。在本系统的建设中将充分考虑业务的特点及网络数据交换量的大小,预留足够的网络带宽以适应未来的带宽需求。
主机服务器的可扩展性是指服务器(包括存储)的硬件配置可以根据需要灵活配置,如内存、适配器、硬盘、处理器等,因为服务器的硬件配置可能是根据不同时期的网络配置与业务容量而改变。因此在设计本系统的主机相关配置时,将充分考虑本次设计容量、服务器所承载的数据或者应用特点考虑对应的硬件选型方案。 ?
软件能力扩展
软件扩展能力是应用适应未来业务量与业务需求变化的能力。这些变化有的要求增加软件功能,有的要求应用处理能力能够实现良好的动态伸缩。xxx系统作为业务运营的支撑系统,本身具有较大的业务需求覆盖度与软件规模,同时作为飞速发展的燃气行业应用软件,将会面临着用户规模与业务量的不断增大以及各种新业务的推出,这些都要求支撑系统能够快速的适应需求的变化,包括性能
19