您现在的位置:CSAI首页技术应用案例剖析正文石化金卡工程软件方案与改进作者:尤一浩来源:希赛网2003年2月1日进入社区摘要:本文概要地介绍了目前正在开展的中国石化加油IC卡工程,从软件技术角度,详细介绍了该系统的软件方案,包括系统的软件结构、配置、体系架构等,也从系统分析的角度阐述了作者对实践中一些问题的见解,同时对系统实施遇到的问题作了充分的探讨。一、如火如荼的石化金卡工程用IC卡取代现金、油票加油,是加油支付手段的一次技术革命,近年来在国内外十分流行。为提高竞争力,发挥石化行业的集团优势和网络优势,提高现代化管理水平,迎接加入WTO给石化行业带来的机遇与挑战,中石化决定在全国实施加油IC卡工程(即金卡工程),实现一卡在手,全国加油、全省加油、各地加油的总体目标。中石化系统将在二省一市,即江苏省、福建省、北京市首先试点,打通流程后再进行全国推广,目前该工程试点正在紧锣密鼓开展。而其核心应用软件也初现端倪,下面着重对软件分析与设计作一概要介绍。二、技术方案概述系统总体结构参见下图:系统由如下部分组成:油站部分:该系统的前台将在加油站的加油机进行卡机联动改造,实现加油机的卡控制加油,或在油站建立支付柱、消费POS机形式支持持卡加油,同时将在油站后台建立包括油站进、销、存等业务的管理信息系统。油站数据每日定时至少二次传送至省中心。发卡充值网点:系统采用数据大集中的模式,全省统一发卡,各地发卡、充值网点通过网络或以拨号方式以实时联机的方式(与省数据中心相连)运行。发卡网点设备由充值POS或PC-POS组成。地级前置:为油站和发卡网点接入前置和数据缓冲、存取转发,也是地级数据与管理中心,客户电话服务中心。在江苏省,地级管理中心与地级前置合二为一。省中心:是全省的数据与处理中心、管理中心、清算、清分中心、制发卡中心,也是WEB客户服务中心。省管理中心在江苏省与数据中心合二为一。石化数据交换中心与管理总中心:收集和下发加油卡黑、灰名单,为省间异地消费的清算、清分中心以及加油卡密钥管理中心。另外,系统还包括安全系统,范围较广,主要有PSAM卡、加密机、防火墙系统、防病毒系统、网管系统、AAA认证系统等组成。该方案整体呈四级结构。三、核心应用软件组成在石化金卡工程中,起关键和重要作用的还在于其核心应用软件,其质量好坏、是否洽合石化业务,其平台选择和体系架构效率的高低将直接影响该工程的成败。中国石化金卡工程核心应用软件系统包括八大子系统,如下图示。(1)加油站管理系统:在加油站提供加油卡支付功能,使客户持卡在加油站消费,并实现相关数据采集、管理和上送。(2)石油公司加油卡管理系统:实现与加油卡业务相关的各项管理职能,包括数据统计分析、加油业务和预收款业务的对帐处理;银行加油手续费统计、异地加油结算的对帐处理等。(3)省市数据处理中心:负责加油卡的核心业务处理,包括各种联机、脱机交易处理、帐户管理、与银行的数据交换接口、对地市进行管理和交易数据交换、与金卡管理总中心进行异地交易和黑灰名单的交换。(4)密钥管理系统:为保证数据在卡交易系统以及传输过程中的安全可靠,不被攻击和篡改,需要建立一套包括全国密钥总中心、省级密钥管理中心和发卡行省行密钥管理中心组成的密钥体系,由中国石化和银行共同生成加油卡系统的密钥,完成密钥的生成、分散、下载、保管、分发、维护等工作。(5)制卡/发卡系统:根据中石化加油卡规范制作系统所需的IC卡,并提供必要的安全管理方案,保证制卡过程的安全。为客户提供开户、发卡、预收、圈存等与加油卡业务相关的各种服务,并实现网点的内部管理。(6)中国石化金卡管理中心:用于转发加油卡异地交易数据、汇总和下传黑灰名单数据、接收各省管理中心上报的加油卡业务统计数据并对管理中心下发业务控制信息。(7)地市银行前置预处理系统:为脱机业务实现数据的存储转发,为联机业务实现网络的接入,并根据石化管理要求向地市级石油公司提供所需的数据。(8)客户服务系统:通过INTERNET、自助终端为客户提供方便快捷的服务,扩大了服务方式和服务内容。四、软件开发与组织本次核心软件的开发由该项目的总集成商负责,但由于受自身开发力量和时间的限制,其开发的软件仅限于IC卡支付模块,并对第三方开发开放接口,还将利用社会优秀开发力量,对核心软件进行二次开发与扩充。五、软件平台、架构、配置、分析、设计技术1、软件配置操作系统:省中心、石化总中心的小型机采用IBMRS/6000M85系列,运行IBMAIX4.3(64位UNIX体系),地市前置服务器、应用服务器、管理服务器、油站管控PC采用TURBOLINUX7.0,发卡网点、管理PC采用WINODWS系列操作系统。数据库:SYBASEserverenterprise12.5foraix(运行于小型机上),SYBASEserverenterprise12.5forLinux(运行于PCSERVER与客户机上)中间件BEATUXEDO8.0(runtime、add-onworkstationclient、developer)双机群集软件:1、aixhacmp2、sybasehaforaix3、turbolinuxha6.0,在省中心、市中心的两台小型机、两台服务器都采用双机热备技术,安装了操作系统和数据库的群集软件,确保系统的高可靠性。油站:TURBOLINUX7.0、BEA消息中间件、SYBASE客户端发卡网点:WINDOWS平台、BEA交易中间件、SYBASE客户端系统分析工具:POWERDESIGNER系统开发工具:BEAdeveloper、POWERBUILDER软件模式:分布式结合集中式数据处理模式,油站数据单独脱机分布处理,数据上传后,连同发卡充值信息集中处理。体系结构:以中间件为平台的三层客户/服务器模式,采用中间件技术,独立于客户端和数据库服务器,业务逻辑层集中于中间件层,并通过负载均衡机制,将业务逻辑层划分在应用服务器和管理服务器中。如下图所示:2、基于大型关系统数据库的应用在商业应用中,大型关系数据库支持了大数据量的存贮、交换、并发处理,在石化加油卡工程中,也是不可或缺的系统平台。加油卡工程数据库按如下图模式配置组织应用,将来的中间件设计、各类应用软件设计均围绕此结构基础进行。3、中间件设计由于系统分布、多平台和异构特性,在设计上引入了中间件,中间件是位于平台(硬件和操作系统)和应用之间的通用服务,中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。中间件提供了广域网环境下开发、管理和维护关键应用系统的软件平台,大大减轻了应用系统开发人员的工作量,提高了应用系统性能的可靠性,确保了数据的完整性和一致性,同时使应用的管理、维护和升级更加简便。目前,中间件技术广泛应用于电信、银行、证券等领域。中国石化加油IC卡系统是典型的多层分布式系统,整个系统跨越广阔地域,网络环境复杂,对联机事务处理与数据的可靠传输有很高的要求。因此,在系统中采用中间件支持联机交易与数据传输,可满足系统在性能、可靠性、可管理性、安全性、数据传输机制等方面的要求。●脱机交易的中间件实现在加油站与地级前置系统中,地级前置系统与省级数据中心,省级数据中心与中国石化数据交换总中心间产生大量的脱机信息需要交换,如图所示,信息的交换需要以可靠、高效的数据通讯作保证,且系统需能在复杂的广域网环境下稳定运行。通过消息中间件的异步传输和数据压缩功能,可满足系统对数据传输的要求。因此,设计在加油站与地级前置系统,地级前置系统与省级数据中心,省级数据中心与中国石化数据交换总中心之间通过消息中间件传输脱机数据。●联机交易的中间件实现对于发卡网点和POS,其业务需求是典型的联机事务处理。要求保证交易数据的完整性和一致性,同时大量的并发交易将增加数据库的压力。交易中间件通过两阶段所提交的技术,保证了事务交易的完整性,并管理对数据库的访问,以支持大量的交易请求。因此,设计在加油站与省级数据中心,地级前置系统的POS前置应用与省级数据中心之间通过交易中间件进行联机事务处理。●管理业务的中间件实现在中国石化IC卡系统中,由于县级管理终端与地级管理中心、地级管理中心与省级管理中心之间的网络环境复杂,不稳定的通讯网络将造成管理业务的联机处理失败,因此设计利用消息中间件的数据异步传输模式来提高管理业务的处理成功率。在县级管理终端与地级管理中心,地级管理中心、省级管理中心的应用终端与省级管理中心的管理应用服务器之间通过消息中间件来传输管理请求,并返回结果。省级数据中心处理来自省级管理中心管理应用服务器的管理请求,大量的管理业务将造成对数据库的压力,进而影响系统对加油业务的处理。因此设计在省级管理中心管理应用服务器与省级数据中心之间使用交易中间件,以减轻管理业务对数据库的压力,并保证数据的完整性与有效性。同样在中国石化管理总中心,对省级管理中心的设计同样适用于中国石化管理总中心,设计在中国石化管理总中心的应用终端与管理应用服务器之间使用消息中间件,而在管理应用服务器与中国石化数据交换总中心之间使用交易中间件。最终,整个系统的中间件配置结构如下图所示:4、采用的系统分析方法与技术中石化的加油站业务需求虽然各地有一定的差异,但其需求基本上是固定不变的,因此适用于采用总体上的传统的结构化分析方法,再配合快速原型法和面向对象分析方法加以分析。系统分析模型:采用演进型的螺旋型模型,程序设计技术:现今几乎所有的企业级开发平台均采用OOP面向对象的开发技术。软件测试:单元测试和集成测试由总集成商内部进行,但软件的系统确认测试提交中国计算机软件测评中心进行测试,测试方法采用黑盒测试。六、存在问题、做法与改进尽管目前软件开发技术也十分成熟,也不断有新技术出现,OOP技术、构件技术、中间件技术,各类CASE工具、功能强大的开发工具等等虽加快了软件的开发进度和提高了软件的质量与效率,但是事实上软件的开发还是成为影响项目实施进度的瓶颈。究其原因:1、项目经验的缺乏如果要提交高质量的软件,除了高水平的系统分析与系统设计外,经验积累也十分重要,对于石化加油卡工程,史无前例,经验的积累只能借鉴其他行业的开发经验,引进这些行业的人才,采用主流成熟开发技术降低风险,开发人员并应不断加强技术学习与交流方可弥补经验的欠缺与不足。2、系统分析员的缺乏说到技术方案,业界流行着技术方案等于系统分析员这样一句话,可见系统分析员(亦称为系统工程师)的重要性,在项目实施过程中,我们明显感觉到专业系统分析员人才的缺乏,从技术职务分类上,我们至少需要如下领域的分析员:控制系统、管理信息系统、网络系统、安全系统、卡系统。由于分析员自身经验积累和工作经历的问题,他并不能精通以上所有领域。另外,从项目各利益体、组织体系方面来看,在中石化IC卡工程试点办公室、总集成商、各地区集成商、各省工程建设办、第三开发方都需要有专业的系统分析员,究其原因,由于各方利益的需求不同,以及各省需求情况不尽相同,各有特色,他们之间的相互充分探讨与交流才使最终方案确实符合各方利益和需求,才能切实反映业务需求。如果一方缺乏这类的人员,将明显导致某方的利益得不到保证或受损。目前,我国的专业系统分析员人才奇缺(全国通过中软考系统分析员只有700人左右),现实的做法只能是1、集体充当系统分析员角色2、专业资深工程师替代3、请求专业咨询。例如,我省加油卡数据是走银行网还是自建广域网,就是公司领导、项目主管、资深工程师集体充当系统工程师的角色进行决策而定的,江苏石油作为中石化的加油卡、ERP的试点单位,两项目都对网络有较高要求,同时,如果基于计算机进行企业的现代化管理,在网上还有相当多的管理数据和自身的业务数据,基于信息资源的宝贵性,并且江苏石油的广域网建设已初具规模,最终决定自建广域网,进行主干网扩容,追加网络管理与安全的投资,保证金卡工程对网络的要求。3、集成技术水平有待提高集成重要之处不在于按照技术方案进行铺开实施,其难点在于集成各家技术、方案于一体,实施平滑无缝、