APP下载

数据复制技术在铁路电子支付平台中的应用

2017-05-12海洋

中国铁路 2017年3期
关键词:容灾事务传输

海洋

(中国铁路信息技术中心,北京 100844)

数据复制技术在铁路电子支付平台中的应用

海洋

(中国铁路信息技术中心,北京 100844)

分析基于存储复制、基于逻辑卷(LV)复制、基于文件复制和基于事务复制等的数据复制技术及其优缺点。针对数据复制技术的选择进行调研和测试,选择采用SharePlex数据复制软件。分析SharePlex数据复制软件特点,从数据捕获、数据传输和数据应用方面论述数据复制过程。阐述和分析SharePlex数据复制软件在铁路电子支付平台数据容灾中的应用,为验证铁路电子支付平台数据库容灾系统的有效性,对其数据库容灾系统进行正反向切换演练。

数据复制技术;铁路;电子支付平台;铁路客票;数据库容灾

0 引言

铁路电子支付平台自2011年1月正式上线运行,6年来其支持的交易种类不断增加,目前基于客运支付的互联网交易、手机WAP交易、POS交易、TVM交易、闸机交易、卡务交易的应用已进入平稳运行阶段。铁路电子支付平台的应用,标志着铁路客票销售方式进入了一个新阶段[1]。这种新的售票方式很快被大众接受,其中互联网交易和手机交易成为出行买票的首选方式。随着时间的推移,通过12306网站和手机客户端售出的车票呈现快速增长趋势,目前每天超过500万张,占每天全路客票销售量的60%以上。Oracle作为数据库系统中的核心组成部分,存储了所有的实时交易信息和银行对账信息,一旦其出现故障且不能尽快恢复,将导致电子支付平台无法正常运行,影响旅客购票和出行,造成不良的社会舆论影响[2]。因此,数据库的安全运行至关重要。由于传统的数据库备份恢复机制无法做到实时备份和恢复,恢复点目标(RPO)和恢复时间目标(RTO)不易控制,并存在数据丢失的可能性,因此无法满足数据库系统的高可靠性要求。引入数据容灾系统有以下作用:实现数据级的容灾,实现生产数据库和容灾数据库的实时同步;将容灾数据库设置为打开状态,为应用提供查询和报表生成业务,分担生产数据库的压力;可保证RPO<1 min,RTO<5 min;支持数据的双向复制;实现快速、安全的正向和反向切换。数据容灾系统提高了数据的可靠性、应用的连续性和数据库的可用性,保证了数据库的安全运行。

1 常见数据复制技术

数据容灾基于数据复制技术实现,数据复制是使用复制软件将源端的数据从一个服务器(或存储)实时地传输到目标端另一个服务器(或存储),这样相当于对源端的数据进行了镜像,进而达到容灾的目的。因复制启动时机不同,数据复制可分为异步复制和同步复制。异步复制必须等待目标端返回确认信号后才可进行实时复制;同步复制无需等待目标端返回确认信号即可进行实时复制。根据不同的复制对象以及复制对象所处的层级,数据复制可分为基于存储复制、基于逻辑卷(LV)复制、基于文件复制、基于事务复制。

1.1 基于存储复制

基于存储复制通常采用同步复制技术,复制对象为存储中的变化块(block),相当于对存储做镜像。其优点是实施简单、复制速度快、对服务器影响小、日常维护管理方便易行;缺点是复制时无论好块或坏块均进行复制,且目标端数据库必须处于CLOSE状态,不能验证目标端数据库与源端数据库的一致性。因此,当生产数据库发生故障需要切换到容灾数据库时,很可能发生容灾数据库无法启动状况。基于存储复制一般是作为数据容灾的补充手段。

1.2 基于逻辑卷(LV)复制

基于逻辑卷(LV)复制一般采用同步复制技术,复制对象为LV中的变化块,相当于对LV做镜像。其对系统的I/O影响较大,并与基于存储复制一样,复制时无论好块或坏块均进行复制,且目标端数据库必须处于CLOSE状态,不能验证目标端数据库与源端数据库的一致性。因此,当生产数据库发生故障需要切换到容灾数据库时,很可能发生容灾数据库无法启动状况。大型数据库的容灾很少采用基于逻辑卷(LV)复制。

1.3 基于文件复制

基于文件复制一般采用异步复制技术,复制对象为文件系统中的文件I/O。复制过程是在源端捕获应用文件的I/O,并缓存起来,等缓存达到一定量时,通过传输队列传输到目标端,再写入目标端存储,完成一次复制,相当于对文件的拷贝。其缺点是复制时无论好块或坏块均进行复制,且目标端数据库必须处于CLOSE状态,不能验证目标端数据库与源端数据库的一致性。因此,当生产数据库发生故障需要切换到容灾数据库时,很可能发生容灾数据库无法启动状况。

1.4 基于事务复制

基于事务复制通常采用异步复制技术,复制对象为数据库中的变化数据。复制过程是源端的捕获进程通过解析源端数据库Redo Log和Archive Log找到变化的数据,然后捕获进程把变化的数据放到传输队列中,再经由传输进程发送到目标端,目标端的接收进程把收到的数据写入目标端队列,加载进程按照事物的逻辑顺序对接收到的数据进行排序,最后把数据加载到目标数据库中。基于事务复制可保证源端和目标端数据库数据的一致性,同时目标端数据库处于正常OPEN状态。当源端的生产数据库发生故障无法对外提供服务时,可直接使用目标端的数据库恢复业务,RTO接近于零。基于存储复制、基于逻辑卷(LV)复制、基于文件复制和基于事务复制技术的对比见表1。

表1 基于存储复制、基于逻辑卷(LV)复制、基于文件复制和基于事务复制技术的对比

综上所述,基于事务复制可最大程度保证事务的一致性,源端和目标端的数据库同时可用,是现今最常采用的数据复制技术之一。

2 数据复制软件选择

在选择数据库容灾系统时进行了大量调研和测试,最终选择采用美国Dell股份有限公司的SharePlex数据复制软件,其逻辑结构见图1。SharePlex数据复制软件对网络带宽要求低,可跨不同操作系统平台和不同Oracle版本的Oracle数据库,实时复制速度快,可满足用户对应用和数据库的高可用性、灾难恢复、生产与报表分离等要求,安装配置和日常维护简单易行,售后服务及时完善。与其他主流的数据库复制产品相比,SharePlex数据复制软件特点如下。

图1 SharePlex数据复制软件逻辑结构

(1)对数据库无侵入性,采用基于读取Oracle日志的逻辑复制方式,支持9i以上所有数据库版本,不需要查询Oracle数据库中数据。

(2)不需要在生产数据库创建触发器即可支持绝大部分DDL操作的复制,所有DDL操作均从日志中捕捉。

(3)支持目标端的表增加记录额外信息的列,包括操作类型(Insert/Update/Delete)、操作时间、SCN、RowID、事务ID、事务顺序号、源端代码等。

(4)支持对源端事务的选择性复制,既可指定源端的某个事务不被复制到目标端,也可指定源端某个用户的所有DML、DDL操作不被复制到目标端。

(5)具有复制过程中自动校验功能,当出现数据不一致情况时,复制软件可选择停止复制或记录不一致数据后继续复制,并发出报警信息。

(6)可保证目标端事务与源端的一致性,不会对生产系统产生的事务进行拆分或合并。

(7)支持所有常见的各种共享文件系统,包括Oracle的自动存储管理(ASM)。

(8)支持所有的Oracle数据类型,包括Bfile、XML等。

(9)支持特殊表名,如以数字开头或大小写敏感的表名。

(10)复制是在事务开始后进行,无论复制大事务或小事务,可确保数据的实时性,所有事务与源端完全一致。

(11)从容灾端向生产端回切时,业务系统可快速反向回切,不需要对恢复正常的生产数据库进行数据全同步或重新部署复制软件,仅需将容灾数据库中的增量数据回写到生产数据库中即可完成生产数据库的恢复工作。

(12)数据的复制粒度灵活多样,可通过用户级、表级、列级过滤、表级过滤实现数据库容灾、报表、数据隐藏、分发等。在复制模式上,支持单向复制、双向复制、广播复制、合并复制等。

数据复制过程主要包括以下三方面:一是数据捕获(Capture&Read)。捕获进程位于源端,通过读取数据库Redo Log和Archive Log中的信息获取变化的数据,并将其放到传输队列中。由于是从数据库的日志文件中获取信息,因此捕获进程不会对数据库的性能产生影响。假如捕获进程由于某些原因宕掉,重新启动后复制不会受到影响。二是数据传输(Export&Import)。传输进程是使用复制技术本身的协议和TCP/IP协议将传输队列中的数据发送到目标端,同时可保证传输过程中数据包的顺序是正确的,并确保目标端正确接收数据,如果传输的数据量过大,可分成多个传输队列进行传输。三是数据应用(Post)。应用进程从传输队列中取出数据并转化为SQL语句,再提交到数据库中执行。

3 SharePlex数据复制软件在铁路电子支付平台数据容灾中的应用

铁路电子支付平台使用的数据库版本是Oracle 11G,并采用RAC架构提高数据库的可靠性。生产数据库按业务类型分为交易数据库和对账数据库。交易数据库主要承担售票、退票等支付业务,对账数据库主要承担交易记录查询、银行对账、月/季/年报表生成等查询和管理业务。容灾数据库与生产数据库采用相同的架构。生产数据库与容灾数据库之间的数据同步由数据复制软件完成。同时为交易数据库与对账数据库中的一些数据量很大的表,建立单独的传输队列,以保证数据复制的速度。数据库容灾系统自2014年初建成运用以来,运行平稳、复制延迟小、速度快,基本实现了数据的实时复制,日常维护简单易行,达到设计目的,保证了数据的安全[3]。数据库容灾系统架构见图2。

图2 数据库容灾系统架构

4 数据库容灾系统切换演练

2014年10月28日和30日,铁路电子支付平台数据库容灾系统进行了正向和反向切换演练,其数据复制软件的切换时间不到5 min,极大压缩了系统整体的切换时间。数据库容灾系统在10月28—29日承担了实际的电子支付交易业务,其运行状态良好,未出现因数据库容灾系统处理能力不足导致业务响应慢等问题,保证了铁路售票系统的安全。

[1] 李天翼,王明哲,王芳. 铁路客票系统电子支付关键技术的研究[J]. 中国铁路,2012(6):51-55.

[2] 祝咏升,姚洪磊. 铁路客票系统信息安全保障平台测评体系研究[J]. 中国铁路,2013(10):70-72.

[3] 姚洪磊,李红建,张彦,等. 铁路客运服务系统信息安全测试方法研究[J]. 铁路计算机应用,2013,22(3):1-4.

Application of Data Replication Technologies in Railway Electronic Payment Platform

HAI Yang
(China Railway Information Technology Center,Beijing 100844,China)

This paper analyzes data replication technologies based on storage replication, logical volume (LV) replication, file replication and transaction replication, and their advantages and disadvantages. For choosing data replication technologies, researches and tests are carried out, and SharePlex data replication software is chosen and used. The paper analyzes the characteristics of the software and the data replication process from data capturing, data transmission, and data application. It also describes and analyzes the application of SharePlex data replication software in the data disaster tolerance of railway electronic payment platform. In order to verify the effectiveness of the disaster tolerance system of railway electronic payment platform database, forward and reverse switches of the system are carried out.

data replication technologies;railway;electronic payment platform;railway passenger ticket;database disaster tolerance

U26;TP277

A

1001-683X(2017)03-0088-04

10.19549/j.issn.1001-683x.2017.03.088

苑晓蒙

2017-01-02

海洋(1975—),男,工程师。E-mail:haiyang@sinorail.com

猜你喜欢

容灾事务传输
北京市公共机构节能宣传周活动“云”彩纷呈北京市机关事务管理局
牵引8K超高清传输时代 FIBBR Pure38K
河湖事务
多事务兴趣度的度量方法*
基于改进乐观两阶段锁的移动事务处理模型
高速公路收费中心容灾备份系统建设方案分析
基于同轴传输的网络传输设备及应用
关于无线电力传输的探究
关于建筑企业容灾备份系统方案的探讨
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线