1107agm管控一体化技术方案.docx
《1107agm管控一体化技术方案.docx》由会员分享,可在线阅读,更多相关《1107agm管控一体化技术方案.docx(27页珍藏版)》请在冰点文库上搜索。
1107agm管控一体化技术方案
运城市烟草专卖局(公司)
管控一体化平台
技
术
方
案
第1章引言
1.1背景
当前,网络的迅速普及和应用的日益发展,尤其是INTERNET的飞速发展和商业化,促使计算机技术,电信技术不断融合,使得人们获取信息的方式,相互交流信息的方式产生了巨大地变化。
除了Email、FTP、WWW等传统应用以外,电子地图、远程教学、远程医疗、网上购物、虚拟专网、电子金融、电子贸易等新兴的应用日益发展和成起来。
随之而来,信息为人民生活方式和工作方式也带来巨大的变化,也为网络和信息的开发者和经营者带来了巨大的商业机会。
正当全行业以崭新的精神状态推进卷烟上水平这一要求,继省局8月2日全省“12313”服务平台的正式启用和运行,运城烟草按照省局的要求实行广泛宣传和学习,同时投入运行,效果明显,通过运行,我们感觉“12313”这一服务平台一定程度上解决了零售户和消费者的相关咨询和投诉,所以我们为了要实现信息实现流程管理,我们建设管控一体化平台来解决这一不足之处,全面实现服务,管控,查询,评价一体化,体现“过程管理受控,全员流程高效”之目的。
我们按照省局的指导拟定此方案。
1.2项目目标
为了实现管理的信息化以及作业过程的自动化,即把现实中的工作内容与工作方式,用信息化的手段来表现,因为人的精力和能力是有限的,现实事务达到一定的繁杂程度后,人就会在所难免的出错,将工作内容与工作方式信息化,就能形成管控一体化体系,才能拥有可靠的信息化管理工具。
同时需要众多部门的配合,从业务承接、计划制定、生产执行、库场管理、财务结算到客户服务,各部门围绕物流、信息流、资金流展开工作。
只有依靠管控一体化技术才能实现管理层与生产层信息实时互通,促进各部门高效协作,保证货物在港安全高效周转,提高竞争实力。
利用B/S架构的优势,达到国家和行业现行标准、规范一体化平台要求。
实现三员数据中心及三员管控一体化,通过三员智能终端项目建设的系统部署和业务系统接口,最终实现运城烟草三员管控一体化。
1.3文档范围
本文档主要描述该系统的背景,目标,实现方案及核心功能介绍,以及一些系统配置和开发管理。
第2章系统实现
2.1设计原则
系统软件是控制和协调计算机以及外部设备,支持应用的软件开发和运行的系统,是不需要用户干预的各种程序的集合。
主要功能是调度、监控和维护计算机系统,负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
所以,可以说软件系统是连接需求分析、硬件系统以及使得系统实现的桥梁,对软件的设计应首先了解软件设计的设计原则:
实用性的原则:
整个项目方案都是根据山西省烟草行业的实际需要来设计的,强调了实用、合用的原则。
稳定性原则:
在本项目建议中的硬件设备及软件的中间件产品等都是采用国际权威公司的产品,我公司提供的应用软件也是经过长时间的测试及应用,所以整个系统的稳定性比较高。
标准性和开放性原则:
在本项目建议书中的建议产品包括Microsoft、SUN、IBM、Cisco公司的产品,从网络协议到操作系统,全部遵循通用的国际或行业标准。
可靠性:
用软件系统规模越做越大越复杂,其可靠性越来越难保证。
应用本身对系统运行的可靠性要求越来越高,软件系统的可靠性也直接关系到设计自身的声誉和生存发展竞争能力。
软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。
软件可靠性和硬件可靠性本质区别在于:
后者为物理机理的衰变和老化所致,而前者是由于设计和实现的错误所致。
故软件的可靠性必须在设计阶段就确定,在生产和测试阶段再考虑就困难了。
健壮性:
健壮性又称鲁棒性,是指软件对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。
软件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。
软件设计的健壮与否直接反应了分析设计和编码人员的水平。
可修改性:
要求以科学的方法设计软件,使之有良好的结构和完备的文档,系统性能易于调整。
容易理解性:
软件的可理解性是其可靠性和可修改性的前提。
它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。
这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。
程序简便操作简便性
可测试性:
可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。
效率性:
软件的效率性一般用程序的执行时间和所占用的内存容量来度量。
在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。
标准化原则:
在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。
先进性:
满足客户需求,系统性能可靠,易于维护。
可扩展性原则:
整体解决方案采用微软的.NET的技术,完全符合工业标准,具有良好的跨平台性,可移植性,可扩展性,可在各种Windows操作系统上安装,与各种系统的接口方便,可以不断升级、扩展功能,可以不断增加用户容量,有升级接口和升级空间,而不影响系统本身的运行。
2.2网络拓扑结构
2.2.1硬件方案
(一)
以上负载均衡器组建,负载均衡器在很多网络服务器部署方案中都起到重要的作用。
负载均衡器配合通过各种协议和系统的控制和交换完美地进行着分配规划工作。
那么,在部署中,也容易发生一些问题,下面我们将简要的分析一下负载均衡器在其方案中的作用:
1、keepalived是lvs的扩展项目,因此它们之间具备良好的兼容性。
这点应该是keepalived部署比其他类似工具能更简洁的原因吧!
2、通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。
3、负载均衡器之间的失败切换failover,是通过VRRPv2(VirtualRouterRedundancyProtocol)stack实现的。
keepalived体系结构:
如图
图1keepalived内部结构图在这个结构图里,处于下端的是内核空间,它包括ipvs和NETLINK两个部分。
netlink提供高级路由及其他相关的网络功能,如果我们在负载均衡器上启用netfilter/iptable,将会直接影响它的性能。
出于图形上方的组件为用户空间,由它来实现具体的功能,下面选取几个重要的来做说明:
1、WatchDog负责监控checkers和VRRP进程的状况。
2、Checkers负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。
换句话说-可以没有VRRPStack,但健康检查healthchecking是一定要有的。
3、VRRPStack负责负载均衡器之间的失败切换FailOver.如果只用一个负载均衡器,则VRRP不是必须的。
4、IPVSwrapper用来发送设定的规则到内核ipvs代码。
5、NetlinkReflector用来设定vrrp的vip地址等。
Keepalived各种功能的实现是通过设置其配置文件keepalived.conf来完成的,关于配置文件各项的用途,将在后面进行描述。
优点:
满足基本功能需要,两台WEB做负载均衡能平衡流量,减少高峰时期对单一WEB服务器的压力,成本较低。
缺点:
只能保护数据,对于由于数据库服务器问题造成的单点故障,无法及时恢复;没有使用专业存储,增加数据库服务器发生故障的可能。
2.2.2硬件方案
(二)
硬件负载均衡器、两台数据库服务器及磁盘阵列由于存储数:
用硬件负载均衡器做负载均衡。
说明如硬件方案
(一)。
两台数据库服务器做双机热备。
双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:
主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。
而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。
组成双机热备有三种方案:
一:
基于共享存储(磁盘阵列)的方式
共享存储方式主要通过磁盘阵列提供切换后,对数据完整性和连续性的保障。
用户数据一般会放在磁盘阵列上,当主机宕机后,备机继续从磁盘阵列上取得原有数据。
如下图所示
传统的单存储方式
这种方式因为使用一台存储设备,往往被业内人士称为磁盘单点故障。
但一般来讲存储的安全性较高。
所以如果忽略存储设备故障的情况下,这种方式也是业内采用最多的热备方式。
二:
全冗余(双机双存储)方式
基于单台存储的传统双机热备方式,确实存在存储单点故障的情况,为实现存储冗余,存储高可用也已经越来越多的被用户接受。
我们从理解上可以看出,双机热备最早是为解决服务器的计划性停机与非计划性宕机的解决方案,但是我们无法实现存储的计划性停机与非计划性宕机带来的服务器停机,而存储作为双机热备中唯一存储数据的设备,它一旦发生故障往往会造成双机热备系统全面崩溃。
随着科技的进步,云存储,云计算发展,对于存储热备已经进入了成熟及快速发展阶段,双机热备也随着技术的进步,进入到了没有单点故障的全冗余双机热备方式。
如图:
存储热备方式
这种方式的特点在于:
1、存储之间的数据复制不经过网络,而是由存储之间进行复制。
2、两个存储之间的复制是完全实时的,不存在任何时间延时。
3、主备存储之间的切换时间小于500ms,以确保系统存储时不产生延时。
4、硬盘盘符及分区不因为主备存储之间的切换而改变。
5、服务器的切换,不影响存储之间的初始化,增量同步及数据复制。
6、某一存储设备的计划性停机,不影响整个服务器双机热备系统的工作。
7、存储设备之间使用重复数据删除技术,完成增量同步工作。
8、真正的7X24小时或切换的全冗余方案。
三:
基于数据复制的方式
这种方式主要利用数据的同步方式,保证主备服务器的数据一致性。
数据同步方式
基于数据复制的方式有多种方法,其性能和安全也不尽相同,其主要方法有以下几种:
A、单纯的文件方式的拷贝不适用于数据库等应用,因为打开的文件是不能被复制的,如果要复制必须将数据库关闭,这显然是不可以的。
以文件方式的复制主要适用于WEB页的更新,FTP上传应用,对主备机数据完整性,连续性要求不高的情况下使用。
B、利用数据库所带有复制功能,比如SQLServer2000或2005所带的定阅复制,这种方式用户要根据自己的应用小心使用,原因主要是:
(1)SQLServer的定阅复制会在用户表上增加字段,对那些应用软件编程要求较高,如果在应用软件端书写时未明确指定字段的用户,而使用此功能会造成应用程序无法正常工作。
(2)数据滞留,这个限制怕也是最要命的,因为SQLServer在数据传输过程中数据并非实时的到达主备机,而是数据先写到主机,再写到备机,如此一来,备机的数据往往来不及更新,此时如果发生切换,备机的数据将不完整,也不连续,如果用户发现已写入的数据在备机找不到,重新写入的话,则主机修复后,就会发生主备机数据严重冲突,数据库会乱掉。
(3)复杂应用切莫使用定阅复制来做双机热备,包括数据结构中存储过程的处理,触发器和序列,一旦发生冲突,修改起来非常麻烦。
(4)服务器性能降低,对于大一点的数据库,SQLServer2000或2005所带的定阅复制会造成服务器数据库运行缓慢。
总之SQLServer2005或2008所带的定阅复制主要还是应用于数据快照服务,切莫用他来做双机热备中的数据同步。
C:
硬盘数据拦截,目前国际国内,比较成熟的双机热备软件通常会使用硬盘数据拦截的技术,通常称为镜像软件即Mirror软件,这种技术当前已非常成熟,拦截的方式也不尽相同。
(1)分区拦截技术,以Pluswell热备份产品为例,他采用的是一种分区硬盘扇区拦截的技术,通过驱动级的拦截方式,将数据写往硬盘的数据提取,并着先写到备用服务器,以保证备用服务器的数据最新,然后再将数据回写到主机硬盘。
这种方式将绝对保证,主备机数据库的数据完全一致,无论发生哪种切换,都能保证数据库的完整性与连续性。
由于采用分区拦截技术,所以用户可以根据需要在一块硬盘上划分适合大小的分区来完成数据同步工作。
(2)硬盘拦截技术,以Symantec的Co-Standby为例,也是一种有效的硬盘拦截软件,他的拦截主要基于一整块硬盘,往往在硬盘初始化时需要消耗大量的时间。
目前双机热备产品分类:
国外产品
NECExpressCluster
微软MSCS
SymantecVCS
Legato
LifeKeeperEMCAutostart
红帽RHCS
RoseHA软件
国内产品
PlusWell集群软件
LanderCluster集群软件
EterneCluster集群软件
ServHACluster双机集群软件
ATang集群软件
磁盘阵列由于存储数据库数据。
磁盘阵列(DiscArray)是由许多台磁盘机或光盘机按一定的规则,如分条(Striping)、分块(Declustering)、交叉存取(Interleaving)等组成一个快速,超大容量的外存储器子系统。
它在阵列控制器的控制和管理下,实现快速,并行或交叉存取,并有较强的容错能力。
从用户观点看,磁盘阵列虽然是由几个、几十个甚至上百个盘组成,但仍可认为是一个单一磁盘,其容量可以高达几百~上千千兆字节,因此这一技术广泛为多媒体系统所欢迎。
磁盘阵列的功能
磁盘阵列技术
磁盘阵列内的硬盘连接方式是用SCA-II整体后背板还是只是用SCSI线连的?
在SCA-II整体后背板上是否有隔绝芯片以防硬盘在热插拔时所产生的高/低电压,使系统电压回流,造成系统的不稳定,产生数据丢失的情形。
我们一定要重视这个问题,因为在磁盘阵列内很多硬盘都是共用这同一SCSI总线!
一个硬盘热插拔,可不能引响其它的硬盘!
什么是热插拔或带电插拔?
硬盘有分热插拔硬盘,80针的硬盘是热插拔硬盘,68针的不是热插拔硬盘,有没有热插拔,在电路上的设计差异就在于有没有保护线路的设计,同样的硬盘拖架也是一样有分真的热插拔及假的热插拔的区别。
磁盘阵列内的硬盘是否有顺序的要求?
也就是说硬盘可否不按次序地插回阵列中,数据仍能正常的存取?
很多人认为不是很重要,不太会发生,但是可能会发生的,我们就要防止它发生。
假如您用六个硬盘做阵列,在最出初始化时,此六个硬盘是有顺序放置在磁盘阵列内,分为第一、第二……到第六个硬盘,是有顺序的,如果您买的磁盘阵列是有顺序的要求,则您要注意了:
有一天您将硬盘取出,做清洁时一定要以原来的摆放顺序插回磁盘阵列中,否则您的数据可能因硬盘顺序与原来的不苻,磁盘阵列上的控制器不认而数据丢失!
因为您的硬盘的SCSIID号乱掉所致。
现在的磁盘阵列产品都已有这种不要求硬盘有顺序的功能,为了防止上述的事件发生,都是不要求硬盘有顺序的。
我们将讨论这些新技术,以及不同级别RAID的优缺点。
我们并不想涉及那些关键性的技术细节问题,而是将磁盘阵列和RAID技术介绍给对它们尚不熟悉的人们。
相信这将帮助你选用合适的RAID技术。
说白了,磁盘阵列也就是服务器对硬盘的应用和管理。
如果硬盘出现问题呢。
解决办法如下:
硬盘故障恢复
镜像和RAID提供了从硬盘故障中恢复数据的新方法。
因为数据的所有部分都是有冗余的,数据有效性很高(即使在硬盘发生故障时)。
另一重要优点是,恢复数据的工作不用立即进行,因为系统可以在一个硬盘有故障的情况下正常工作,当然在这种情况下,剩下的系统就不再有容错性能。
要避免丢失数据就必须在第二个硬盘故障前恢复数据。
更换故障硬盘后,要进行数据恢复。
在镜像系统中“镜像”盘上有一个数据备份,因此故障硬盘(主硬盘或镜像硬盘)通过简单的硬盘到硬盘的拷贝操作就能重建数据,如图6所示。
这个拷贝操作比从磁带上恢复数据要快得多。
磁盘阵列技术
RAID5硬盘子系统中,故障硬盘通过无故障硬盘上存放的纠错(奇偶)码信息来重建数据。
正常盘上的数据(包括奇偶信息部分)被读出,并计算出故障盘丢失的那些数据,然后写入新替换的盘。
这个过程示于图7,它比从磁带上恢复数据要快不少。
设计灵活的磁盘阵列可以重新配置,替换盘的地址不一定和故障盘的地址相同,见图8。
这种灵活性使安装过程变得更为简单。
备用盘甚至可以在硬盘故障前预先连在系统上。
在那种情况下,它就成了随时可用的备份盘。
这种盘通常称为“热备份”。
编辑本段可靠性和可用性
这二个名词虽然相互关连,事实上却代表了硬盘故障的二个不同的方面,可靠
磁盘阵列技术
性指的是硬盘在给定条件下发生故障的概率。
可用性指的是硬盘在某种用途中可能用的时间。
利用这二个名词,我们可以看到磁盘阵列是怎样把我们的硬盘系统可靠性提高到接近百分之百的程度的。
磁盘阵列可以改善硬盘系统的可靠性。
因为某一硬盘中的数据可以从其它硬盘的数据中重新产生出来(例如RAID5),所以很少会有机会使整个硬盘系统失效。
硬盘子系统的可靠性因而大大改善了。
图表9是RAID硬盘子系统与单个硬盘子系统的可靠性比较:
磁盘阵列技术
我们还必须考虑系统的可用性。
单一硬盘系统的可用性比没有数据冗余的磁盘阵列要好,而冗余磁盘阵列的可用性比单个硬盘的好得多。
这是因为冗余磁盘阵列允许单个硬盘出错,而继续正常工作。
此外,一个硬盘故障后的系统恢复时间也大大缩短(与从磁带恢复数据相比)。
最后,因为发生故障时,硬盘上的数据是故障当时的数据,替后的硬盘也将包含故障时的数据(举例说,前天晚上的备份数据)。
要得到完全的容错性能,计算器硬盘子系统的其它部件也必须有冗余例如提供二个电源,或者配备双份硬盘控制器。
没有其它部件的冗余,即使有非常可靠的硬盘子系统,还是不能完全防止计算机系统的失效。
编辑本段最佳化的容错系统
如先前所述,直接分段的子系统(RAID0)可以大大提高读写速度(相对单个硬盘),因为数据分散在多个硬盘,硬盘操作可以同时进行。
磁盘阵列技术
把二个直接分段的硬盘子系统组成镜像,可以有效地构成全冗余的快速硬盘子系统。
这样的子系统,其硬盘操作甚至比直接分段的硬盘子系统还快,因为该系统能同时执行二个读操作(每个硬盘一个读操作),而写操作的速度则与非镜像直接分段子系统几乎一样,因为把数据同时写入二个硬盘只需花费很少的额外开销。
通过我们前面所述的概念,例如双工:
(双控制器,双电源等),可以进一步改善有关冗余方面的问题。
双控制器还使我们得到更高的数据传输速度,因为控制器成为子系统性能瓶颈的可能性更小了。
编辑本段磁盘阵列技术术语
硬盘镜像(DiskMirroring):
硬盘镜像最简单的形式是,一个主机控制器带二个互为镜像的硬盘。
数据同时写入二个硬盘,二个硬盘上的数据完全相同,因此一个硬盘故障时,另一个硬盘可提供数据。
硬盘数据跨盘(DiskSpanning):
利用这种技术,几个硬盘看上去像是一个大硬盘;这个虚拟盘可以把数据跨盘存储在不同的物理盘上,用户不需关心哪个盘上存有他需要的数据。
硬盘数据分段(DiskStriping):
数据分散存储在几个盘上。
数据的第一段放在盘0,第2段放在盘1,……直至达到硬盘链中的最后一个盘,然后下一个逻辑段将放在硬盘0,再下一个逻辑段放在盘1,如此循环直至完成写操作。
双控(Duplexing):
这里指的是用二个控制器来驱动一个硬盘子系统。
一个控制器发生故障,另一个控制器马上控制硬盘操作。
此外,如果编写恰当的控制器软件,可实现不同的硬盘驱动器同时工作。
容错(FaultTolerant):
具有容错功能的机器有抗故障的能力。
例如RAID1镜像系统是容错的,镜像盘中的一个出故障,硬盘子系统仍能正常工作。
主机控制器(HostAdapter):
这里指的是使主机和外设进行数据交换的控制部件(如SCSI控制器)。
热修复(HotFix):
指用一个硬盘热备份来替换发生的故障的硬盘。
要注意故障盘并不是真正地被物理替换了。
用作热备份的盘被加载上故障盘原来的数据,然后系统恢复工作。
热补(HotPatch):
具有硬盘热备份,可随时替换故障盘的系统。
热备份(HotSpare):
与CPU系统电连接的硬盘,它能替换下系统中的故障盘。
与冷备份的区别是,冷备份盘平时与机器不相连接,硬盘故障时才换下故障盘。
平均数据丢失时间(MTBDL-MeanTimeBetweenDataLoss):
发生数据丢失的事件间的平均时间。
平均无故障工作时间(MTBF-MeanTimeBetweenFailure或MTIF):
设备平均无故障运行时间。
廉价冗余磁盘阵列(RAID-RedundantArrayofInexpensiveDrives):
一种将多个廉价硬盘组合成快速,有容错功能的硬盘子系统的技术。
系统重建(ReconstructionorRebuild):
一个硬盘发生故障后,从其它正确的硬盘数据和奇偶信息恢复故障盘数据的过程。
恢复时间(ReconstructionTime):
为故障盘重建数据所需要的时间。
单个大容量硬盘(SLED-SingeExpensiveDrive)。
传输速率(TransferRate):
指在不同条件下存取数据的速度。
虚拟盘(VirtualDisk):
与虚拟存储器类似,虚拟盘是一个概念盘,用户不必关心他的数据写在哪个物理盘上。
虚拟盘一般跨越几个物理盘,但用户看到的只是一个盘。
优点:
硬件负载均衡器可以按照流量、服务器性能分配负载,同时可以有网页暂存功能,优化访问速度;数据库服务器做双机热备,有效防止单点故障,保证业务不间断运行;磁盘阵列存储数据,可以提供较大容量存储,并可以用于其他数据库存储,方便统一管理。
缺点:
成本较高
2.3系统架构
浏览器/服务器/(Browser/Server)的三层架构体系,这是随因特网的主流。
一种新型的浏览器/服务器/(Browser/Server)的三层架构体系(简称B/S架构),用户可以通过浏览器向web服务器发送请求,应用程序对数据库进行对数据库的访问和处理,这些操作流程全在web服务器上执行。
三层架构体系图:
B/S架构的三层体系图:
由表示层(presentation),业务逻辑层(businesslogic),数据访问层(dataserver)组成。
第一层,表示层(web浏览器)
它的作用就是用户通过web浏览器向web服务器发送指令请求,web服务器通过接受的指令进行处理。
从web服务器的数据库取出需要的信息。
再通过web浏览器显示在用户操作界面(web浏览器)。
第二层业务逻辑层(包含应用服务器功能的web服务器)
它的作用就是接受了用户指令以后,通过一些web服务器的一些特定核心功能对指令处理。
通过专用的应用程序系统(管控一体化平台)链接到数据库,取到数据的信息,这些都是数据库自带的处理数据功能。
然后通过这中间业务逻辑层把得到的数据信息处理。
再通过web浏览器