首页> 中国专利> 一种基于Git技术的机车车载应用软件集中控制系统

一种基于Git技术的机车车载应用软件集中控制系统

摘要

本发明提供一种基于Git技术的机车车载应用软件集中控制系统,包括:地面综合管理Git服务器、无线通信介子和机车车载设备;所述地面综合管理Git服务器用于管理所述机车车载设备搭载的多个应用软件;所述地面综合管理Git服务器通过所述无线通信介子实现对所述应用软件的管理。本发明能够将不同区域划分、不同型号机车、同型号不同编号机车、不同车载设备等使用的特定应用软件进行统一集中管理,实现机车车载应用软件的在线集中版本控制;节省了人力、物力与时间,简化了车载设备的应用软件的运用维护,增强了对于安全方面的把控能力。

著录项

  • 公开/公告号CN112667280A

    专利类型发明专利

  • 公开/公告日2021-04-16

    原文格式PDF

  • 申请/专利权人 中车大连机车研究所有限公司;

    申请/专利号CN202011612254.0

  • 申请日2020-12-30

  • 分类号G06F8/71(20180101);G06F8/65(20180101);H04W4/42(20180101);H04W4/48(20180101);

  • 代理机构21242 大连至诚专利代理事务所(特殊普通合伙);

  • 代理人杨威;张海燕

  • 地址 116000 辽宁省大连市沙河口区中长街49号

  • 入库时间 2023-06-19 10:38:35

说明书

技术领域

本发明涉及交通应用软件控制技术领域,尤其涉及一种基于Git技术的机车车载应用软件集中控制系统。

背景技术

轨道交通行业的进步推动了铁路机车向着种类更全、功能更完善的方向不断发展,这使得铁路保有的机车种类越来越多,机车数量也越来越庞大,所需要维护的机车车载设备更是一个不可估量的数值,机车车载设备的应用软件的数量也是巨大的。

当前对应用软件的维护管理方式大多是由不同铁路工作人员依据机车型号进行分类,或者由不同设备的提供商负责维护各自车载设备的应用软件。然而针对种类繁多的机车车载应用软件,如何实现较好的维护管理设备中运行的应用软件,就变成一个相当棘手的问题。

发明内容

本发明提供一种基于Git技术的机车车载应用软件集中控制系统,以克服上述技术问题。

一种基于Git技术的机车车载应用软件集中控制系统,包括:地面综合管理Git服务器、无线通信介子和机车车载设备;

所述地面综合管理Git服务器用于管理所述机车车载设备搭载的多个应用软件;所述地面综合管理Git服务器通过所述无线通信介子实现对所述应用软件的管理。

进一步地,所述管理包括:对所述应用软件日常运用维护及软件版本管理。

进一步地,所述软件版本管理包括:软件升级、软件检测和软件回溯。

进一步地,所述地面综合管理Git服务器包括:

安全防火墙单元:用于保护系统安全;

开源Git服务单元:用于接收来自机车车载设备发起的软件版本控制请求信息,并对所述软件版本控制请求信息中可执行应用软件进行指定操作。

进一步地,所述无线通信介子为地面综合管理Git服务器与机车车载设备的双向交互通信提供无线通道;所述无线通信介子为移动网络或WLAN无线网络。

进一步地,所述地面综合管理Git服务器对于所述应用软件的管理为采用目录结构存储于本地。

进一步地,所述地面综合管理Git服务器对所述应用软件采用以下任意一种方式进行管理模式:

即能够对单台机车的多种车载设备上的应用软件进行管理;对同一型号多台机车的车载设备的应用软件进行管理;对不同型号多台机车的车载设备的应用软件进行管理。

进一步地,所述地面综合管理Git服务器对所述应用软件通过ssh和http两种通信方式进行更新。

本发明能够将不同区域划分、不同型号机车、同型号不同编号机车、不同车载设备等使用的特定应用软件进行统一集中管理,实现机车车载应用软件的在线集中版本控制;节省了人力、物力与时间,简化了车载设备的应用软件的运用维护,增强了对于安全方面的把控能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例整体示意图;

图2为本发明实施例地面综合管理Git服务器目录组织示意图;

图3为本发明实施例机车车载设备应用软件更新交互示意图;

图4为本发明实施例中通道搭建的示意图;

图5为机车车载设备主动触发的示意图;

图6为地面综合管理Git服务器主动触发的示意图;

图7为地面综合管理Git服务器连接适配器初始化示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于Git技术的机车车载应用软件集中控制系统,以克服上述技术问题。

本发明结合软件版本管理Git服务,能够实现不同型号机车、机车不同类别车载设备、车载设备不同功能应用软件的集中、统一、安全、便捷的控制方式,更加有利于机车车载设备的日常运用维护、软件版本管理(软件升级、软件检测、软件回溯)工作,并促进整体工作效率的提升。

本发明提供一种基于Git技术的机车车载应用软件集中控制系统,如图1所示,包括:地面综合管理Git服务器、无线通信介子和机车车载设备;

所述地面综合管理Git服务器用于管理所述机车车载设备搭载的多个应用软件;所述地面综合管理Git服务器通过所述无线通信介子实现对所述应用软件的管理。

进一步地,所述管理包括:对所述应用软件日常运用维护及软件版本管理。

进一步地,所述软件版本管理包括:软件升级、软件检测和软件回溯。

地面综合管理Git服务器是基于Git技术的集中管理机车车载设备应用软件的综合性仓库,该服务器具有高性能、双冗余、校验容错、高网络防护等级等特征,可以实现应用软件的集中式管理,为机车车载设备应用软件提供版本更新、版本回溯和版本检测等服务。

版本更新、版本回溯和版本检测三个功能,是git服务器本身具有的三个功能,其分别对应git服务器命令为“git pull(版本更新)”、“git reset(版本回溯)”、“git log或git show(版本检测)”。

本文中描述的“版本更新、版本回溯和版本检测功能”是在git服务器功能基础进行的再次封装处理。这里的处理,包括【通道搭建】、【命令处理】两个方面,“命令”是通过“通道”发送和接收的,具体过程如下:

1、通道搭建:

如图4所示,通道主要用来数据的传输与通信,而通信需要搭建通信链路,通信链路则需要通信源的触发。

其中,“机车车载设备”的通信源为“移动SIM卡”;“中间通路”通信源为“移动无线基站”;“地面综合管理Git服务器”通信源为“公共网络(以太网)”。

通信连接过程包括如下:

步骤1、启动“地面综合管理Git服务器”。服务器正常启动后,同时存在二个应用服务来共同完成软件集中控制功能,分别为:连接适配器(Connective_Module)、git版本控制服务(Git_Server)。

其中,连接适配器(Connective_Module)即为通信Server端、又为通信Client端。具体表现为:

作为通信Server端(服务器端),由rtp_server模块完成服务功能(见上图)。主要实现与多机车、多机车车载设备的通信连接、数据收发。通信连接方式采用并发TCP长连接,数据收发采用基于TCP的HTTP远程过程调用(RTP)方式。

具体的流程步骤为:Connective_Module服务启动后,rtp_server依次调用spdlog初始化、getopt参数初始化、Config配置初始化、基于TCP的HTTP远程过程调用(RTP)初始化、端口监听、基于Hash算法的连接表初始化、基于BlockingConcurrentQueue的多并发队列初始化

作为通信Client端(客户端),由adapt_client模块完成服务功能(见上图)。主要实现与git版本控制服务(Git_Server)的通信连接、数据收发。通信连接方式采用基于Message消息机制的串行TCP长连接。

具体的流程步骤为:Connective_Module服务启动后,adapt_client依次调用spdlog初始化、Yaml配置初始化、基于TCP的客户端始化、启动连接检测、基于RabbitMQ的消息队列处理机制初始化。

步骤2、机车车载设置中的“无线传输模块”启动。该模块启动后,为机车车载设备与“移动无线基站”或“站内WLAN”的连接提供通道。

步骤3、机车车载设备中,具有“版本维护、控制功能”的车载板卡设备以TCP通信客户端的角色,向“地面综合管理Git服务器”的“rtp_server”发起连接请求;如果连接不成功或连接断开,车载板卡设备将启动定时重连处理,定时重连连接采用TimingWheel(时间轮)策略。

步骤4、一旦连接成功,车地之间(即车载设备与“地面综合管理Git服务器”的“rtp_server”之间),将启动连接心跳监测机制,心跳异常时立即启动定时重连。

命令处理:命令处理,即对git pull(版本更新)”、“git reset(版本回溯)”、“gitlog或git show(版本检测)”等命令的触发机制、传输机制、响应处理机制的处理过程。

下面分以“机车车载设备”主动触发、“地面综合管理Git服务器”主动触为出发点,给出具体的命令处理流程。

如图5所示,“机车车载设备”主动触发:即,通过机车车载设备主动请求”版本更新”、“版本回溯”、“版本检测”等操作

如图6所示,“地面综合管理Git服务器”主动触发:即,通过地面综合管理Git服务器主动请求”版本更新”、“版本回溯”、“版本检测”等操作。

进一步地,所述地面综合管理Git服务器包括:

安全防火墙单元:用于保护系统安全;

开源Git服务单元:用于接收来自机车车载设备发起的软件版本控制请求信息,并对所述软件版本控制请求信息中可执行应用软件进行指定操作。

具有高性能、双冗余、校验容错、高网络防护等级等特征,可以实现应用软件的集中式管理,为机车车载设备应用软件提供版本更新、版本回溯和版本检测等服务;

进一步地,所述无线通信介子为地面综合管理Git服务器与机车车载设备的双向交互通信提供无线通道;所述无线通信介子为移动网络或WLAN无线网络。

无线通信介子提供地面综合管理Git服务器与机车车载设备的通信通路,为应用软件的更新提供无线链路通道,所述无线通信介子可以集成到机车车载设备中,也可以单独存在。无线通信介子由两种无线通信方式组成,分别为移动网络5G/4G/3G/2G方式和WLAN无线网络,移动网络为5G/4G/3G/2G,为地面综合管理Git服务器与机车车载设备的双向交互通信提供无线通道。通常情况下,无线通信介子优先使用WLAN进行机车车载设备应用软件的版本管理工作,WLAN通常布置于机务段的整备场内。只有当WLAN无法连接或信号低(信号强度小于等于2)的时候才启用5G/4G/3G/2G无线服务。当机车处于WLAN信号覆盖范围内且机车车载设备已上电时,无线通信介子将凭密连接到WLAN服务器;若连接WLAN服务器失败或无WLAN服务,则交互过程使用5G/4G/3G/2G无线服务完成对应用软件的下载更新。

进一步地,如图2所示,所述地面综合管理Git服务器对于所述应用软件的管理为采用目录结构存储于本地。

进一步地,所述地面综合管理Git服务器对所述应用软件采用以下方式进行管理:

管理单台机车的多种车载设备的应用软件;即即能够对单台机车的多种车载设备上的应用软件进行管理;比如,管理HXD2136机车上辅助驾驶设备的软件、无线通信设备的软件、司机显示单元的软件等;

管理同一型号多台机车的车载设备的应用软件;即对同一型号多台机车的车载设备的应用软件进行管理;比如HXD2这个型号机车,管理HXD21536、HXD21537、HXD21538三辆机车上的辅助驾驶设备的软件;

管理不同型号多台机车的车载设备的应用软件即对不同型号多台机车的车载设备的应用软件进行管理;比如,管理HXD1型号机车、HXD2型号机车、HXD3型号机车三种型号机车中,所有编号机车辅助驾驶设备的软件。

也就是把所有机车上安装的各种设备中使用的应用软件,通过地面Git服务器其中统一管理起来,以便于软件其中起来便于集中统计与管理和地面操作软件更新等,节省时间、经济成本,且更方便。

进一步地,所述地面综合管理Git服务器对所述应用软件通过ssh和http两种通信方式进行更新。

已经在现场环境部署应用的产品为“HXD2型电力机车自动驾驶系统产品”。部署后,可以为“HXD2型自动驾驶机车车载设备产品”的ATO通信板卡软件、ATO核心板卡软件、ATO表决板卡软件、ATO自动驾驶显示单元,进行在线更新服务。

机车车载设备是应用软件的直接使用者,通过无线通信介子与地面综合管理Git服务器连接,当车载设备上电启动或启动后发送特定更新点播申请时,将通过查询、同步地面综合管理Git服务器的方式实现车载设备应用软件的实时在线更新。机车车载应用软件集中控制遵循如下流程:

流程1:机车车载设备接通电源启动;引导加载、配置硬件资源;初始化车载设备软件系统环境;加载系统内核进程;启动无线通信模块;调用Git服务下载、更新或检测、回溯应用软件指令。同时支持设备启动后发送特定更新点播申请方式发送Git服务指令。

点播申请指的是指定替换某个板卡的某个应用软件,因为在机车车载设备的一块硬件板卡上,可能存放着好几个可执行应用软件。

在没有特殊处理的条件下(没有特殊处理,特指没有输入特定的命令参数),会将机车车载设备的一块硬件板卡上的所有可执行应用软件都进行更新操作。

例如,当在地面git服务器命令窗口,输入“hxd2 0156 atogit update-all”或“hxd2 0156 atogit update”时,将对hxd2机车0156机车的ATO板卡进行全部软件更新操作。当输入“hxd2 0156 atogit update-comm”时,仅对ATO通信板应用软件进行更新。此处的命令为简略命令,仅为表述时理解使用。

软件的版本更新、下载是通过不同指令区分的,而指令的发送、接收、响应属于过程中的不同处理,实现步骤如下:

步骤1:地面综合管理Git服务器收到来自机车车载设备的远程过程调用指令后,rtp_server服务会将调用指令进行解析,解析的目的是获取请求软件管理的机车的信息包括:1-路局编号、2-机务段编号、3-车型、4-车号、5-设备编号、6-软件管理类别、7-应用软件名称、8-版本控制类别等;

步骤2:rtp_server服务将解析好的软件管理信息封装整理成不同类别的数据包,通过内部pipe管道通信方式发送给adapt_client服务。此处提及的数据包,包括:机车信息数据包、机车隶属信息数据包、软件版本控制信息数据包等。

步骤3:adapt_client服务查询与Git_Server(git服务器)的TCP网络通信连接是够存在;

如果连接已经存在,则通过现有连接,将机车信息数据包、机车隶属信息数据包、软件版本控制信息数据包等数据,分别发给Git_Server(git服务器)。

如果连接不存在,则adapt_client服务作为通信的client端,主动发起连接请求,待连接成功后,将机车信息数据包、机车隶属信息数据包、软件版本控制信息数据包等数据,分别发给Git_Server(git服务器)。

步骤4:Git_Server(git服务器)收到信息后,通过“机车隶属信息数据包”、“机车信息数据包”、“软件版本控制信息数据包”等信息,解析完成后,便可拼接成一个指定的目录结构,例如“西安铁路局_安康机务段_HXD2型机车_0156号_ATO车载设备_Comm软件”。

步骤5:通过上一步的目录路径,依据“软件版本控制信息数据包”中的操作指令,便可以对目录下的可执行应用软件进行指定操作。

步骤6:操作完成后,将获取的数据以数据包的形式,通过与adapt_client服务的现有连接,返回获取的数据包内容。比如,更新操作时,会将指定目录下(例如西安铁路局_安康机务段_HXD2型机车_0156号_ATO车载设备_Comm软件)的最新日期的软件进行读取读取。

步骤7:数据包将依次传递到机车车载终端的对应板卡上。机车对应板卡上更新应用可执行软件的步骤,

机车车载设备是应用软件的直接使用者,通过无线通信介子与地面综合管理Git服务器连接,当车载设备上电启动或启动后发送特定更新点播申请时,将通过查询、同步地面综合管理Git服务器的方式实现车载设备应用软件的实时在线更新。如图3所示,应用软件集中控制遵循如下流程:

流程2:Git服务指令通过无线通信方式发送至地面综合管理Git服务器。如果发送出错,将启动定时器周期发送,直至发送成功。

流程3:地面综合管理Git服务器接收到Git更新指令后,将对本地指定路径下的应用软件进行版本检测,响应请求更新、检测或回溯指令。

流程4:地面综合管理Git服务器通过相同的无线通信方式将响应应答给机车车载设备,如果应答过程中出错,将遵循断点续传原理周期重发,直至全部应答发送成功。

流程5:机车车载设备依据地面综合管理Git服务器的应答,进行更新、检测或回溯本地环境中的应用软件,操作完成后重启应用软件,并主动关闭无线双向交互通路。

本发明能够将不同区域划分、不同型号机车、同型号不同编号机车、不同车载设备等使用的特定应用软件进行统一集中管理,实现机车车载应用软件的在线集中版本控制;节省了人力、物力与时间,简化了车载设备的应用软件的运用维护,增强了对于安全方面的把控能力。

本发明所述的一种基于Git技术的机车车载应用软件集中控制系统,能够将不同区域划分、不同型号机车、同型号不同编号机车、不同车载设备等使用的特定应用软件进行统一集中管理,实现机车车载应用软件的在线集中版本控制。同现行的机车车载设备的软件升级方式相比,不但节省了人力、物力与时间,而且简化了车载设备软件的运用维护,增强了对于安全方面的把控能力。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号