APP下载

基于TDCS/CTC生产与查询系统的数据库同步方案研究

2019-11-06陈震解周学兵

铁路通信信号工程技术 2019年10期
关键词:运行图串口服务器

陈震解,周学兵

(卡斯柯信号有限公司,上海 200071)

1 概述

随着国内经济的高速发展与路网的扩充,TDCS/CTC 系统在全路大规模使用,为了满足日益增长的系统查询需求,又不影响生产系统的稳定性和安全性,各路局陆续建设了TDCS/CTC 查询系统。最初的查询系统只提供调监画面、调整运行图和历史运行图的查询,通过接口服务器应用程序实现生产系统向查询系统的同步。目前路局在用生产查询系统整体结构如图1 所示。

查询系统和生产系统的各服务器间通过网络相连,生产系统接口服务器和查询系统接口服务器间通过USB 电缆连接,接口程序使用专用协议进行网络隔离条件下的信息同步。查询系统从生产系统获取调监画面、调整运行图信息,满足用户基本的调监和运行图的查询需求。

但随着查询系统的大面积推广使用,用户提出需要查询日班计划、基本图、调度命令及报警信息等更多需求。采用接口服务器通过接口程序进行数据同步方式数据格式较为固定,面对提出的新需求需要不断的扩展升级接口服务器程序。而日班计划、基本图、调度命令及报警信息等信息存储在生产系统数据库中,最为简单的方法就是基于数据库实现生产系统向查询系统同步数据。

图1 生产查询系统结构示意图Fig.1 Structure diagram of production and inquiry system

为确保信息安全,生产系统与查询系统之间USB 串口为独占式调用访问,已无法通过USB 串口进行数据库同步流传输。为确保网络隔离,需要采用另外的非网络的数据库同步载体。

2 方案比选

查询子系统与生产系统数据库同步,可以通过以下两种方案实现。

1)研发实现数据库同步程序。

2)通过商用数据库同步软件实现数据库同步。

采用商用数据同步软件实现具有以下缺点:a.部署成本高,一般需要数十万软件费用;b.要求维护人员具有较高技术水平;c.部署不够灵活,商用数据库同步软件建立在TCP/IP 基础上,这样就需要沟通生产系统和查询系统之间的网络,存在信息安全风险。

结合TDCS/CTC 生产查询系统的实际情况,用户要求数据同步方案需部署灵活,使用方便,维护简单,网络隔离,这都是传统商用数据同步方案实现不了的,这样就基本否定了采用商用数据同步软件方案,需自研数据库同步程序。

与传统数据库同步软件相比,自研数据库同步方案具有以下优点。

a.部署成本低

HW4504机心专为史诗陀飞轮Histoire de Tourbillon 9号腕表研发,确保这款腕表成为不可多得的非凡臻品。腕表一共限量发行20只,白18K金和玫瑰18K金款式各10只。

本方案使用了成熟的串口通信技术和数据库技术,实现过程广泛采用脚本和第三方软件,降低方案的开发工作量和复杂性,使得部署成本非常低廉。

b.对维护人员要求低

本方案的整个过程都是自动完成,中间环节少,维护人员易于理解执行过程,维护简单。

c.部署灵活

本方案广泛使用了命令脚本,可根据实际需要灵活调整脚本参数,程序配置也可灵活调整,部署灵活性比较高。

d.网络安全隔离

通过调用串口进行数据同步,避免生产系统与查询系统之间的网络沟通,保证系统之间的网络安全。

3 设计与实现

3.1 方案设计

基于成本效率和网络安全考虑,如图2 所示,设计一种简单可靠的数据同步方案。

对比图1、2 的系统结构,增加数据同步功能后并未在原有系统结构中增加新的设备,只是增加了查询系统从生产系统通过RS-232 串口同步数据库中数据的过程。这样查询系统除了可以查询调监画面,调整运行图和历史运行图等现有功能外,还可以查询日班计划、基本图、调度命令及报警信息等。即使日后查询系统需要查询更多的信息,包括以后生产系统扩展的新业务的信息,都可以通过该方式将数据从生产系统的数据库同步到查询系统的数据库。

图2 增加数据同步功能后的生产查询系统结构示意图Fig.2 Structure diagram of inquiry system after adding data synchronization function

3.2 实现过程

方案的实现过程如图3 所示。

图3 数据流程图Fig.3 Data flow diagram

数据库服务器上部署的数据同步程序周期性定时调用数据导出脚本完成数据导出工作。数据导出后数据同步程序自动调用FTP 脚本传送数据文件到接口服务器的指定目录。生产系统接口服务器通过RS-232 串口与查询系统接口服务器连接,由数据同步软件执行串口文件同步将数据文件传送到查询系统接口服务器的指定目录。查询系统接口服务器上的数据同步程序检测到数据后,调用FTP 脚本传送到查询系统的数据库服务器,最后由查询系统数据库服务器上的数据同步程序调用相应的数据导入脚本将数据文件导入数据库。

整个过程由生产系统的数据库服务器上的数据同步程序定时发起,后续各环节自动接力完成。

查询系统与生产系统之间数据库同步程序实现难点主要如下。

1)数据一致性的保证

数据导出时,利用数据库快照(FLASHBACK)技术,确保导出数据的一致性。

2)数据传送时效性的保证

对于大数据量的数据表,利用其中时间相关的字段,数据同步程序在调用数据导出脚本时,给出参数过滤导出数据,只导出增量数据,时间参数可以为班别、日期、时间(包括time_t,timestamp 等)。

对于小数据量的数据表,每次均为全表同步。

3)数据传输准确性的保证

数据同步程序在串口通信过程中建立有反馈机制,通过校验码技术,确保数据准确传输。

4)数据不遗漏、不重复导入的保证

对于增量同步的数据表,需要确保数据不遗漏,不重复。

比如调度命令,在编制后,由于签收等情况,数据还会更新。后续增量同步时还需要同步该命令,同时需保证覆盖原数据,而非增加。

同时需要确保某几次增量同步由于某种原因失败后,后续能够自动恢复,简化维护。

本方案通过如下机制来确保数据不遗漏、不重复。

a. 导出端每小时进行一次导出,导出为最近一天的数据。

b. 导入端在数据导入前,先删除最近一天的数据(时间范围与导入数据时间范围一致)

c. 上述时间范围一天、导出间隔1 h 均为示例,根据业务数据的实际情况确定。

3.3 关键技术

1) 串口通信技术

为不影响在用软件的功能及架构,且为了实现功能独立,不能采用既有的USB 通信线通信方式,必须采用另一种独立的并且可以实现通信隔离的技术。经过查阅相关资料,结合易用性,可维护性的需求,本方案选择串口通信技术,采用RS-232 串口线实现查询系统从生产系统同步数据的功能。商用服务器硬件都自带串口,且串口通信具有使用广泛,安全可靠的优点,保证方案的可行性。

2) Oracle 数据库导入导出技术

TDCS/CTC 系统采用的都是Oracle 数据库,因此在生产系统数据导出和查询系统数据导入方面,选择Oracle 自带的imp/exp 导出导入技术。Oracle 自带的导出导入技术具有使用广泛,导出导入速度快,数据一致,可靠性高的优点,保证方案的可行性。

4 总结

本文设计的方案易于实现且简单灵活,在既有硬件条件下,开发数据同步程序实现查询信息扩充、完善,降低了接管单位运营成本和运维复杂性,提高了安全隔离程度。

目前该数据同步方案已在多个铁路集团公司TDCS/CTC 生产查询系统中运用实现,包括沈阳局集团有限公司(同步报警信息等用于后期大数据分析),南昌局集团有限公司(同步基本图、调度命令等供查询使用)等,至今运行稳定可靠,实现了方案的设计目标,满足了用户对查询系统的需求,提高查询系统的可用性,同时对其他系统中的类似需求也有一定的参考价值。

猜你喜欢

运行图串口服务器
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
怎么做能在学习运行图时更好地进行数据分析
(六年级)怎么做能在学习运行图时更好地进行数据分析
关于城市轨道交通运行图在线管理的优化研究
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
基于EM9000工控板高性能双串口通信模型设计与实现
PowerTCP Server Tool
船舶电子设备串口数据的软件共享方法
铁路运行图编制系统的现状与思考