1 背景
保险司每年都承保大量的乘意险业务,客户在客运站点购买车票的同时会投保乘客人身意外伤害保险。为了有效控制乘客人身意外伤害保险保单的有效性和安全性,提高乘客人身意外伤害保险的数据质量,提升乘客人身意外伤害保险业务的管理水平,有效促进各分公司乘客人身意外伤害保险业务的发展,公司经研究决定,开发一套乘意险出单系统,实时打印出单,并将出单数据记录下来,用于出险事故认定以及统计分析。
各模块功能说明如下:
l 售票终端
a) 系统管理:管理数据交换格式(文本/数据表)、数据库连接、打印机、打印模版等
b) 打印管理:保单打印的相关管理
c) 统计查询:个人数据的统计,包括日结汇总表、日接明细清单、售票员销售/退单/废单日结明细清单、单证使用日/月清单等
l 站点管理
d) 系统管理:操作员管理、权限管理等;
e) 单证管理:用于单证的发放、核销、撤销等,以及单证的统计等;
f) 查询统计:查询站点内售票员日结汇总表、售票站点日结汇总表、售票员日结明细清单、售票员销售/退单/废单日结明细清单、车站乘意险月结清单等;
l 公司管理
g) 系统管理:操作员管理、权限管理等;
h) 单证管理:用于单证的发放、核销、撤销等,以及单证的统计等;
i) 保费设置管理:对车票的保费进行管理;
j) 查询统计:查询站点内售票员日结汇总表、售票站点日结汇总表、售票员日结明细清单、售票员销售/退单/废单日结明细清单、车站乘意险月结清单等;
售票终端:仅允许售票员使用,并仅限于操作/查询该售票员本人相关内容;
站点管理:允许车站的财务人员、管理人员进行查询本站点内的相关内容;
公司管理:允许公司财务人员、管理人员查询所有信息。
启动乘意险出单系统时显示符合我司CI的欢迎界面,出单系统操作界面的上部显示我司标志。如图:
由于直接面对乘客,售票的实效性要求很高。为了最大限度的降低对售票业务的影响,出单系统与售票系统安装在同一个PC机上,上班后,操作员分别在两个系统签到。同一个操作员在两个系统里的工号相同。当前活动界面始终为售票系统的售票界面,当售票系统完成一次售票,如果客户还需要购买乘意险,售票员只要点击一个快捷键,便可切换到出单系统的出单界面,默认点击回车键,进行保单打印。保单打印结束后,出单系统的出单界面自动最小化,当前活动界面又恢复到售票系统的售票界面。对操作员来讲,就像在一个系统里操作。
出单系统要从售票系统得到必要的售票信息,然后打印到保单上,比如车票号。为了保证出单系统的相对独立性及可移植性,我们决定采用文件/数据表的方式进行信息交换,系统需要通过配置文件的方式在两种不同的方式之间进行切换,即前台系统无需修改,只需要修改系统的配置文件中的相应参数即可实现不同信息交换方式的切换。
文件交换方式的操作如下:该文件相当于一缓存器,只保存当前最新的一次售票交易的信息。售票系统每完成一次售票交易,就将本次交易的售票信息记录到文件里,一张票一条记录。因为乘客很有可能只卖票,不买保险,为了防止垃圾数据存在,售票系统在向文件写数据之前,要先将文件内容清空。所以,售票系统是要进行部分调整的,就是生成交换文件并正确写入信息。切换到出单系统后,出单系统会自动读入文件内容,保存到数据库,打印,最后将文件清空,同时为了结算及对帐,应将有关的保单信息以文件方式返回给售票系统。文件放在程序运行的PC机上,或共享的服务器上。文件名为当前登录的操作员工号,存放目录双方约定,在配置文件里设置,定为:C:\chyx\ticket\TICKET_对方售票员代码.txt(乘意险系统操作员代码为8位,一般对方售票系统小于8位,此时,乘意险系统操作员代码要求在售票系统操作员工号前加前缀形成。文件格式如下:
免票儿童标志(0无,1有)|车次|座位号|售票时间|始发站|始发站代码|终到站|终到站编码|票价|发车时间|操作员编码|系统票号|旅客证件号|旅客姓名|
说明:域间用”|”分割,每个按实际长度填写。
出单系统本身带有独立的数据库,出单系统会将出单信息记录到数据库里。为了保证系统的稳定性及实效性,数据库被安装到售票网点所在数据中心的数据库服务器上,出单时实时把数据写入总部数据库。
乘意险的保单以套打的方式进行打印。打印格式由公司业务部门提供,如下:
卷筒式票样:
平推式票样:
首先读取特例线路表,若存在特例情况,则按照特例情况执行保费计算。若无特例数据则读取正常数据表,按照以下计算规则计算保费,可按客运站实际情况设置。
正常定义表:
10元以下售0.5元保险;
10元(含)--30元售1元保险;
30(含)—100元售2元保险;
100元(含)以上售5元(春运期间,期间自行定义);
实时按线路(起、止站名)、站点、售票员工号、时间段查询保费情况。(每日业务终了)系统生成日结汇总或明细清单、结算表,内容包括售票员工号(姓名)、保险单起始号、终止号、作废张数、退保张数、保费金额等内容。在出险时,能够按照车票的信息、保单号码等查询相关信息,以便迅速对乘车人员、事故进行认定。
此系统采由专业技术公司开发,开发语言为JAVA。系统现场测试、上线安装、后期维护,主要由分工司信息技术部与开发方共同提供技术支持。
1,客户端:winxp及以上
2,数据库服务器操作系统:Linux(centos7)
3,数据库:PostgreSQL
1,客户端:普通PC,一般要求与售票系统安装在同一台PC上。
2,数据库服务器:普通PC Server
3,打印机:一般针打即可,支持串口/USB口通信。
站点上的备份数据保留五年。每月对逻辑备份进行一次永久归档保存。
l 安全性:应有完善的权限控制,防止泄密及不可抵赖性;鉴于本系统的特点,我们将采用银行级的系统安全机制及机密技术,对本次系统采用的安全标准为:美国国防部B1级安全程度(虚拟保险箱安全级别)。
l 稳定性:系统要能够满足大用户量的应用需求,具有长时间正常工作的能力;
l 先进性:所用技术是目前国际上所广泛采用主流技术;
l 完整性:必须满足总部和各分支机构的基本功能需求;
l 标准性:与各应用系统互联、数据交换等应遵守国际上成熟的XML标准与规范;
l 可扩充性:满足企业经营管理中,随着市场和经营管理的发展变化而不断深入的要求,具有良好的可扩充性、可升级性,具有与其它系统互联的良好接口;
l 灵活性:系统须能适应运在具体操作中, 因业务流程不断变动而产生的需求,因此,我们将在生产标准、考核标准、组织架构、表单格式等设计为灵活可变,可根据需要进行调整,另外,我们将在系统权限上采用多维角度组合,可以根据不同的管理层级、不同个管理智能自由组合其可以操作的功能模块和权限,比如,我们可以根据烟站、生产部等不同的管理部门,组合成不同的管理界面,并可以自由划定其管辖的网格范围。
l 易用性:保证系统易用性,可操作性,方便性,实现信息资源的有限共享;方 便性:应有简捷的操作、维护界面,提高工作效率
l 本系统平台的开发建设将采用B/S模式设计;系统平台采用J2EE(Java2 platform Enterprise Edition)技术标准开发,服务端运行在LINUX操作系统下,也支持windows系列操作系统,客户端运行在WINDOWS平台或LINUX平台。
l 平台端主要采用JAVA、JSP、HTML、XML、JAVASCRIPT技术开发,可以运行于多种关系型数据库(SQL Server/PostgreSQL/Sybase/Oracle)、操作系统支持(WindowsNT/Windows 2000/Linux/Unix)、应用服务器平台(Websphere/Weblogic/Jboss),有效保护企业原来投资,方便企业未来数据的集成,大大提高了企业应用的扩展性和灵活性。
l 本系统数库构架:横向采用了历史库+当前库的分库架构或者单一的当前库架构,其中历史库只作 为web平台读数据库;纵向结合了applications的memcache+postgresql+传统永久磁盘化数据库架构。
l 实现方式:可引用成熟的数据库主从分离,读写分离技术,大数据表可充分利用postgresql分区表,分区索引的特性来提升性能,可采用基于内存数据库的分布式数据库架构的混合集群技术。比如在postgresql数据库及Web服务之间加一层 Ameoba 分布式数据库代理结合内存数据库的架构,对数据量老是大的的业务系统数据可以采用非关系型数据库(NOSQL)技术。
l 横向分库数据库架构图:
l 纵向app+memcach+disk db图:
l 其中web层指的是客户端浏览器层,逻辑上:app层指的是应用服务层,mc层指的是memcache的客户端层,ms层指的是memcache的服务层,db层指的是目前永久磁盘化的数据库层,当然在物理机器上可能app层跟mc层,ms层是重叠的部署在相同服务器上。
l 如下图所示,应用系统的总体框架和长远规划将按照分布式三层结构来实现,主要采用SUN公司提出的J2EE(Java2 platform Enterprise Edition)技术平台理论。
l 三层结构的基本思想是将用户界面同企业逻辑分离,把信息系统按功能划分为表示、功能和数据三大块,分别放置在相同或不同的硬件平台上。
l J2EE平台提供多层分布式应用模型,为设计、开发、集成和部署企业应用提供基于组件的方法。这种方法可重用组件,不但能降低成本,还能对整个设计和实施过程进行快速跟踪,能为用户提供统一安全模型和灵活的事务处理控制。多层分布式应用模型意味着应用逻辑能根据功能分成多个组件,而且可以在相同的或不同的服务器上安装不同应用组件组成J2EE应用。组件安装在哪里取决于应用组件属于多层J2EE环境中哪一层。
l 从上图来看,平台结构按照J2EE标准分为表示层、业务逻辑层、数据层。
l 表示层 (客户层)
l 信息系统的用户接口部分,即人机界面,是用户与系统间交互信息的窗口,主要功能是指导操作人员使用界面,输入数据、输出结果。不拥有企业逻辑,或只拥有部分不涉及企业核心机密的应用逻辑。是在客户端运行的浏览器、基于Java的程序或其它Web编程环境下的应用。
l 业务逻辑层 (应用服务层)
l 是应用的主体,包括了系统中核心的和易变的企业逻辑(规划、运作方法、管理模式等),它的功能是接收输入,处理后返回结果。这里包含了业务逻辑控制和业务流程控制。通过HTML页面的JSP页面和Servlets实现表达逻辑,由RMI对象和EJB实现业务逻辑。EJB依靠EJB容器进行事务处理、生命周期和状态管理、资源共享、安全保护等。
l 数据层 (后端)
l 是现有应用和数据库的组合,负责管理对数据库的读写和维护,能够迅速执行大量数据的更新和检索。
l WEBSPHERE/WEBLOGIC/JBOSS/TOMCAT作为J2EE中的应用服务器和EJB容器,它能够智能管理多种部署组件所需资源,这样,多层体系结构整体的扩展性和可靠性就能够得到增强。这些资源包括线程、套接字连接、数据库连接等等。
l 为了防止业务处理高峰期间对WEB应用服务器压力过大造成该部分处理能力的瓶颈,数据中心可以同时配置多个应用服务器组成群集(Cluster)结构,共同承担来自于前台的业务处理请求,并通过软件内置的接口调用交易服务器的远程方法调用(RMI)。同时专门配置一台服务器作为负载平衡服务,统一接受来自于前台的实时数据处理请求,并均匀分配给各WEB应用服务器。当业务信息处理量不大时,可暂时考虑采用一台或少量几台服务器组成群集及负载均衡系统结构,可减少开支。
l 整个中小企业项目管理数据平台用户可以使用浏览器和专有的业务系统应用作为前台界面,连接到WEB服务器完成业务处理。
l 随着将来大量商户与用户的接入,可采用集群服务器来满足大并发、大存储、大流量、大数据的需求,可满足亿级用户规模的业务需求:
系统的安全是一个综合问题,既涉及了技术、也涉及到管理等诸多方面,针对该系统的特点和安全方面的实际需要,并考虑到实用性和投资成本等因素,我们建议本系统的安全防护应该在建立严格完整的管理措施的基础上,采用高标准的技术措施,分别从服务器操作系统、接入层面、开发技术、应用环境与权限等多个方面来建立系统的安全保障体系:
a) 管理方面
公司内部应该制定一套严格的计算机操作管理办法。
应该与外部技术协作单位、ISP提供商签订保密协议和管理维护章程。
b) 操作系统的安全措施
服务器操作系统使用Linux/Unix类的系统。这类系统由于是开放源代码,系统经过无数次代码级的安全性检验,性能、稳定性和安全性都是目前全世界最先进的,几乎所有的大型企业、机构都使用它们。较之WINDOWS系列的操作系统,其安全性更好。
Internet提供了一个广阔的信息源,但也存在着许多陷井。连入Internet的系统就必需加强自身的安全保护措施,对于企业系统尤其如此。我们所提供的操作系统本身就有一个很强大的内置式防火墙,通过精心的设置,就可以预防大多数的恶意攻击。
系统内置的防火墙不仅功能强大,而且完全免费,性能不弱于专业的防火墙。国内部分防火墙也就是一台普通的PC机,安装Linux/Unix系统,然后使用系统的内置防火墙,进行针对性、个性化端口配置和安全防护设置,这样将达到事半功倍的安全防范效果。
这类系统具有很强大的网络功能,其网络处理能力普遍高于Windows类系统。系统的漏洞少,这样系统就很难会因为外界的攻击瘫痪,从而导致数据的丢失。
我们将数据库服务器和WEB服务器分开,WEB服务器只有网站程序没有数据,WEB服务器直接接入Internet,而数据库服务器则只是在局域网内部,这样即使WEB服务器被攻破,也不会影响到数据库的安全。
虽然大多数攻击来自于外界,但也排除内部职工恶意破坏。系统对防火墙同样适用于Intranet。
Intranet也必须实现各部门之间的资源共享,但是对于共享的资源也需要根据不同的用户,提供不同的共享级别。我们将客户机上安装防火墙,用自行设置自己资源的访问权限,限制不授权的用户。这种防火墙可以使用较为简单的个人防火墙,功能能够满足,而且价格低。
e)开发技术方面
本项目我们采用JAVA体系下的J2EE企业级应用解决方案构建,全部代码将在基于内部防火墙下的Linux环境下开发测试,从源头把关,杜绝黑客程序和木马植入。
f)其它安全方法措施
在网络接入点处架设有入侵检测系统,检测一切网络入侵行为,当有入侵企图发生时,系统进行报警记录,并对严重的入侵行为进行复位操作,切断连接。
身份认证:用户使用采用帐号,密码、CFCA数字证书、USBKey动态密码校验
业务管理:用户分为普通用户和管理人员,系统管理人员,授权管理人员,拥有不同的操作权限;企业用户通过5重5级的授权模式加强系统的管理,并通过加密、数字签名等环节控制可能出现的任何风险。
操作安全防范:用户系统登录后15分钟内不进行任何操作(可自定义时间),系统将会自动关闭,必须重新登录后才能进行操作;可以对系统管理员配发USBKey,不在机子上,立即退出。
加密措施:为了保证系统的安全,我们采用的加密强度128位。
数据库采用磁盘阵列进行实时备份,并定期进行物理备份转存,有条件的情况下,将尽量采用双击热备份和异地容灾系统。