孔垂云
(北京经纬信息技术有限公司,北京 100081)
铁路货运生产管理系统是铁路货物运输的重要工具,经过20多年建设,目前,已建立覆盖生产作业各环节的信息系统,包括电商系统、货票系统和货运站系统等。既有货运生产作业系统存在建设分散、数据共享度低、字典不统一和用户体验较差等问题。按照《铁路信息化总体规划》[1]要求,需要构建新一代铁路货运综合生产管理系统,利用新架构、新技术重构再造既有系统,实现货运作业管理信息化的长足进步,为铁路开展对外服务、提升精细化管理水平提供业务支撑与数据支撑。
按照《铁路信息化总体规划》要求,对货运生产相关信息系统进行融合与集成,通过数据驱动运营服务模式创新,打破各业务板块之间的信息壁垒,优化再造当前铁路各个业务应用系统。
基于以上要求,通过对既有生产业务系统融合再造,形成以一线生产作业为主体,以铁路局集团公司(简称:铁路局)、中国国家铁路集团有限公司(简称:国铁集团)管理决策为辅助的综合货运生产管理系统,以作业流、信息流的全线贯通为目标,实现“重塑货运对外形象,再造货运信息系统”目标。整体设计满足 “四大”原则。
(1)大整合:与货运所有相关信息系统均纳入该系统功能整合范围,实现大整合,并不断努力。
(2)大集中:依托中国铁路主数据中心,实现货运系统部署与数据存储的大集中,充分发掘数据价值。
(3)大平台:打造对外服务大平台,实现货运与铁路外部系统、与市场客户、与社会的互联互通。
(4)大服务:服务一线岗位、服务站段铁路局、服务外部企业和服务社会,以信息服务带动经营效益,实现多方互赢。
在技术设计上,除了满足业务功能需求,兼顾以下方面:
(1)数字化转型,引入敏捷开发、构建方法,增效率、降成本;(2)提高系统的客户体验,提高开发和运维效率;(3)利用平台自动化能力,构建微服务、云原生和持续交付的业务应用;(4)通过微服务和云原生架构,避免和摆脱业务单体应用的强依赖关系,提高系统整体的可靠性、可扩展性;(5)用成熟的新技术,持续保持系统的领先性[2]。
生产部分以货运站(货运中心)为应用单元,以业务办理及生产作业为依据,围绕货运票据电子化,进行子系统拆分,管理部分以铁路局站段业务处室、国铁集团各处室职能管理范围为依据,以数据分析、决策支持为核心,进行专业化管理[3],如图1所示。
以“平台+组件”架构进行开发,形成可灵活组织、灵活集成的应用架构,即新一代开放能力共享架构[4],如图2所示。
(1)共享基础平台。基于云管平台、弹性计算、分布式数据、分布式中间件等,构建共享基础平台,为上层共享能力中心提供基础资源支撑。
(2)共享数据中心。以货运核心作业数据及分析数据为基础,构建共享数据中心,支撑核心生产业务。
(3)共享服务中心。业务建模,抽取业务核心能力,构建共享服务中心,形成一线业务的服务支撑[2]。
(4)货运核心生产业务。基于共享数据中心和共享服务中心,依托货运积累业务管理经验,业务流程的组织及搭建,降低试错风险,提升上线能力。
采用中国铁路主数据中心集中存储数据,采用逻辑拆分的架构。数据架构,如图3所示。
(1)生产数据采集区。生产库满足生产作业、市场经营、设备资源各子系统的日常运行。轻量化数据资源,根据实际需要建立多个业务主题。
(2)统计分析区。生产库同步复制至管理库,管理库主要满足报表台账和统计分析功能。
(3)战略决策区。管理库通过ETL等工具,进入大数据仓库,进行战略分析决策的生成。
(4)数据共享区。为了方便各铁路局的经营数据分析,每日把生产经营结果数据定时同步至各铁路局共享库。同时,把货运相关数据同步至共享库,便于收入、审计和清算等部门使用。
系统包括应用集中和数据集中,为了尽可能地提升系统运行稳定,采用双活架构及分布式部署架构来实现,规避单点故障[5],如图4所示。
(1)铁路货运综合生产管理系统围绕微服务治理体系,依托分布式消息服务、分布式应用部署、数据库集群等中间件,打造“强平台,富组件”的集成架构应用;(2)基于统一PaaS平台打造流水线式的DevOps环境,支撑团队规模化开发,提高软件研发效率[6];(3)利用SpringBoot、SpringCloud微服务架构体系形成统一应用开发框架,定义标准开发测试规范、版本管理规范;(4)构建自动化测试的持续集成环境[7]。整体技术架构,如图5所示。
通过重构既有业务系统,以技术创新驱动业务流程再造的方式,以中国铁路主数据中心建设为基础,构建以开发能力共享架构为基础的新一代铁路货运综合生产管理系统,实现整个货运作业系统的重构再造,一级部署多级应用。实现铁路IT资产与数据资产的双提升和货运生产数据大集中,为后续的延伸服务奠定业务基础与数据基础。
铁路货运综合生产管理系统基于SpringBoot、SpringCloud框架构建基础服务微服务、核心业务处理微服务,为展现层多端应用提供全面、可靠的服务支撑。运用领域驱动模型(DDD),引入EventSourcing事件源和CQRS读写责任分离,分库分表进行系统详细设计和微服务设计。把业务归类、拆分,将各业务模块发布为微服务;将各业务模块的资源以业务能力的形式组织起来,通过微服务开发框架对这些业务能力进行封装,形成易于共享的服务,实现业务能力粒度上的重用、组装、维护和管理。采用分布式服务框架组件进行业务能力的搭建和管理,通过统一方式发布、调用服务,支持服务容量线性扩展,服务可根据部署需求自动上下线,提供接口级、方法级、参数级的服务路由、服务归组、服务限流和安全控制追踪等服务治理能力。
系统通过统一的PaaS平台构建应用程序开发、运行环境。提供PaaS平台用户安全认证、多租户管理、自动化安全补丁升级、安全传输等平台安全相关能力。提供分布式服务管理、分布式消息队列、分布式业务监控、分布式缓存和事务、分布式数据库、平台健康监控、应用性能监控、日志聚合等功能,为整个系统的健康稳定运行提供有力的技术平台支撑[8]。
系统构建完善的研发和运维全生命周期管理机制,包括业务需求提交、协同研发、代码仓库、持续集成、持续交付、性能测试、灰度发布及日志追踪等,建立完整的软件运维团队,实现系统自动化开发、测试和交付[9]。通过PaaS平台提供一键式应用部署、弹性伸缩、监控等交付和运维能力。
系统的建设是一个错综复杂、交互迭代的过程,本着“先核心后外围,快速迭代”原则,分为两阶段实施。
第1阶段:以货运票据电子化生产作业为主线,重构既有生产作业相关系统。
(1)设计统一研发平台。以“平台+组件”模块化开发为目标,结合目前企业研发主流技术,结合铁路货运既有系统的研发实际,制定研发标准及规范,编写示例代码,组织集中技术培训,整体提升各项目组开发水平。
(2)内部生产作业相关系统集成。以生产作业为主线,梳理电商系统、货运站系统、集装箱系统、零散平台、集装化用具系统、货票系统自身功能及对外服务和数据共享内容,本着不改变或少改变既有操作方式,业务代码尽量复用的原则,重构既有系统,形成统一登录、统一基础字典维护、统一用户操作方式的一体化货运生产作业系统。设计货运外勤手持机原型,涵盖外勤作业各个环节,并基于上述原型进行开发实现。
(3)统计分析集成。梳理国铁集团、铁路局、站段各级业务管理部门所需的管理统计报表,形成基础台账报表、统计分析两大块管理统计功能来支撑各级管理需求。
(4)周边系统改造。针对集中式部署的货运整合系统建设实际,梳理同外部系统关系,并同步解决。整合的系统包括现车系统、集成平台、十八点系统、货运精密、收入系统和审计系统等。
第2阶段:重构集成其余系统,针对第一阶段的研发经验,其余货运相关系统进行集成,含保价、接取送达、危险品、货检、计量、货运资源、运到时限和施封锁等。
本文针对铁路货运综合生产管理系统的架构设计及关键技术进行了详细阐述,对后续的实施策略提出了针对性建议。由于该系统的建设是一项综合性工程,仅从整体上完成的设计还不能落地实施,后续要综合考虑既有系统的应用范围、研发团队能力、整体投资估算等一系列因素,进一步研究其实施策略。