技术领域
[0001] 本
发明实施例涉及轨道交通技术领域,尤其涉及一种列车自动监控系统的共享式通信平台。
背景技术
[0002] 城市轨道交通的列车自动监控系统是一种自动化程度很高的分布式系统,作为分布式系统,系统各个设备内部与设备之间传递大量的信息,通常对于这些信息的收取、转存、发送的工作通常由系统内的通信平台实现。该平台运行方式、性能、拓展性影响着整个系统的软
硬件需求、吞吐性能、新功能开发、维护、冗余等各个方面。
[0003]
现有技术中,列车自动监控系统需要采集的信息种类很多,变化速度快,信息量很大,并且随着业务发展导致的信息的类型和总量越来越多,现有通信平台一般是将所有的通信内容看成具有同样效果的数据。对于监控系统的业务特点,需要处理大量的连续的监视数据,按时效性的
角度新数据优于旧数据,同时依托监视数据的控制数据,其有效性和时效性息息相关,因此维持监控业务的高时效性是保证系统有效性的重要指标,在通信恶劣情况下,处理新数据的收益大于继续处理旧数据。
[0004] 但现有技术采用的通信平台没有考虑到运维及安全冗余等类似功能,这些功能往往交于依托于通信平台的其他模
块完成,故而系统复杂度较高,并且系统
稳定性较差。因此,现在亟需一种列车自动监控系统的共享式通信平台来解决上述问题。
发明内容
[0005] 为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的列车自动监控系统的共享式通信平台。
[0006] 本发明实施例提供一种列车自动监控系统的共享式通信平台,所述列车自动监控系统的共享式通信平台包括:
[0007] 多个接入设备,每个所述接入设备的每个
进程对应若干个共享内存块,接入设备内部进程间使用共享内存块进行通信,接入设备之间以组播方式将共享内存块写入的数据进行通信。
[0008] 本发明实施例提供的列车自动监控系统的共享式通信平台,通过以数据存储在共享内存块为核心的共享方式,降低了系统复杂度,提高了系统稳定性。
附图说明
[0009] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010] 图1是本发明实施例提供的列车自动监控系统的共享式通信平台结构示意图;
[0011] 图2是本发明实施例提供的设备内通信架构示意图;
[0012] 图3是本发明实施例提供的设备间通信架构示意图。
具体实施方式
[0013] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0014] 目前,列车自动监控系统有时会因为网络通信故障或者攻击导致输入的数据
频率突然很高,如果系统不进行自动处理,大量的数据会使设备的进程无法按时完成全部任务,导致设备响应速度过低导致故障,更严重的会导致系统其他设备的故障。与此同时,列车自动监控系统的业务范围还在不断增长,为实现新的业务,需要进行新的开发工作,为保证产品
质量,还需要对新开发的内容进行多项测试工作,同时为了确认对原系统的功能和性能没有影响,还需要很多系统测试。
[0015] 而现有的列车自动监控系统的通信平台在设计上以转发为主要实现方式,该方式的优点是功能全面,可实现多种通信设置,稳定性强,不丢失任何数据,移植性好,部署在不同设备上需要
修改的内容小,缺点是性能偏低,数据量大时通信状态迅速恶化,等待处理旧有数据会导致加重延迟,无法防止超高频的数据输入,新增业务时需要大量开发工作,测试复杂,难度大,难以确定对原有功能的影响,扩展性很低。
[0016] 针对上述现有技术的问题,图1是本发明实施例提供的列车自动监控系统的共享式通信平台结构示意图,如图1所示,所述列车自动监控系统的共享式通信平台包括:
[0017] 多个接入设备101,每个所述接入设备的每个进程102对应若干个共享内存块103,接入设备101内部进程间使用共享内存块103进行通信,接入设备101之间以组播方式将共享内存块103写入的数据进行通信。
[0018] 需要说明的是,本发明实施例提供的列车自动监控系统的共享式通信平台是用于实现平台内不同接入设备之间的通信或者是同一设备内部不同进程之间的通信功能。通信实质上是指不同设备或进程间完成数据交换的过程。本发明实施例将以数据为核心,在每个设备内部以共享内存块中写入的数据为交互
接口实现通信过程。如图1所示,平台可以包括若干个接入设备,图1中以两个接入设备为例,每个接入设备包括多个进程,同样的,图1中以两个进程为例,每个进程对应若干个共享内存块,可以理解的是,进程可以将数据写入其对应的共享内存块中,也可以从共享内存块中读出数据,图1中为了简化图样,以一个共享内存块为例进行示意,但实质上一个进程可以对应多个共享内存块,那么在进程正常工作时,按时向对应的若干个共享内存中写入数据,进行通信的另一方从共享内存中读出数据,实现数据交换。
[0019] 进一步的,本发明实施例在进行数据通信时,采用的是组播的形式进行。可以理解的是,组播是一种同时将数据传递给多个设备的通信方式,与广播相比,避免了超大范围的广播域导致的性能降低,与点对点式通信相比,减少了多个设备间的数据复制,从而减小了总体通信次数,提升了通信效率。在列车自动监控系统中,大多数数据类型均有多个数据发送方和多个数据接收方,例如某个命令不仅发向执行的设备,同时还需要进行统计与存储的设备。并且作为冗余的服务端将在同一个组播域内,保证客户端在接收数据时不会主备切换的影响。不同类型的业务数据在不同的组播域内,保证各个类型的业务数据不会相互干扰。
[0020] 本发明实施例提供的列车自动监控系统的共享式通信平台,通过以数据存储在共享内存块为核心的共享方式,降低了系统复杂度,提高了系统稳定性。
[0021] 在上述实施例的
基础上,所述共享内存块包括写入内存块和读出内存块;相应的,每个所述接入设备的每个进程对应若干个写入内存块以及若干个读出内存块。
[0022] 由上述实施例的内容可知,本发明实施例在每个设备内部设有共享内存块,并以共享内存块内数据为交互接口实现通信。
[0023] 共享内存块实际上需要完成数据写入和数据读出的功能,那么对于进程所实现的功能而言,本发明实施例可以将共享内存块分为两种类别,分别是写入内存块和读出内存块,可以理解的是,当进程需要完成数据写入功能时,进程与写入内存块之间进行数据写入,当进程需要完成数据读出功能时,进程与读出内存块之间进行数据读出。与此同时,进程可以对应多个共享内存块,那么同样的进程是对应了多个写入内存块以及多个读出内存块的,可以向对应的多个写入内存块进行数据写入,也可以向对应的多个读出内存块完成数据读出。
[0024] 在上述实施例的基础上,所述共享内存块包括写入接口和写出接口,所述写入接口对应一个进程,所述写出接口对应一个或多个进程。
[0025] 由上述实施例的内容可知,一个进程能够对应多个共享内存块,并且共享内存块对于进程而言从功能上能够划分为写入内存块和读出内存块。但是对于一个共享内存块而言,如果同时能够被多个进程进行数据写入,那么会对控制上的复杂度影响较大。
[0026] 为了较小的控制复杂性,本发明实施例提供的共享内存块包括一个写入接口和一个写出接口,写入接口与一个进程对应,而写出接口与若干个进程对应,可以理解的是,写入接口对应的进程能够向该共享内存块写入数据,也就是说该共享内存块有且只能为其写入接口对应的进程提供写入功能,从而在进行管理时能够通过获知共享内存块的状态判断进程状态。与此同时,写出接口对应了多个进程,每个对应的进程均可以通过写出接口从共享内存块中读出数据,从而以多个共享内存块不同功能设定实现设备级的多输入多输出。
[0027] 在上述实施例的基础上,所述进程包括业务进程和通信进程,所述业务进程用于完成设备的业务功能,所述通信进程用于完成设备的通信功能。
[0028] 可以理解的是,本发明实施例根据进程所执行的功能将进程分为业务进程和通信进程两种类别,业务进程用于完成设备的业务功能,通信进程用于完成设备的通信功能。
[0029] 需要说明的是,本发明实施例提供的业务进程仅仅用于完成设备的业务功能,不进行其他任何功能操作,同样的,本发明实施例提供的通信进程仅仅完成设备的通信功能,也不进行其他任何功能操作。业务进程的输入和输出都是共享内存块,通信进程的输入和输出都是共享内存块,并且无论是哪个进程,必须至少写入一个共享内存块,即使该进程不向外部发送数据或者其数据不为本系统其他进程作为输入,保证全部进程均有类似结构,同时无论是否产生新数据,也要按时更新对应的共享内存块。
[0030] 在上述实施例的基础上,所述进程还包括管理进程,所述管理进程用于管理设备内所有进程的状态。
[0031] 由上述实施例可知,本发明实施例提供的进程主要分为了业务进程和通信进程两种类别,分别进行业务功能和通信功能,那么为了对两类进程的运行状态进行监控,本发明实施例还在每个设备内设置管理进程,通过管理进程能够管理设备内所有进程的状态,并相应的实现控制功能,例如更新、删除、新建等控制操作。
[0032] 在上述实施例的基础上,所述管理进程还用于获取所有共享内存块的写入信息,以根据所述共享内存块的写入信息确定相应进程的
健康状态。
[0033] 由上述实施例的内容可知,本发明实施例提供了一个管理进程对所有进程进行管理和控制,在管理过程中管理进程需要对所有共享内存块的写入信息进行监控并获取,通过写入信息能够衡量向共享内存块进行写入的进程状态,本发明实施例将该进程状态称为进程的健康状态,相应的是指能够向共享内存块进行写入的进程与共享内存块之间的一一对应关系。那么通过进程的健康状态能够确定出不同共享内存的优先级,从而进一步确定设备的有效程度。
[0034] 在上述实施例的基础上,在设备主备机之间将所述进程的健康状态进行组播,以实现所述设备主备机之间的冗余管理。
[0035] 由上述实施例的内容可知,本发明实施例提供的管理进程能够确定出每个进程的健康状态,那么在确定了进程的健康状态之后,管理进程需要将该健康状态信息发送给管理进程对应的共享内存块。需要说明的是,管理进程同样是设备中的进程,故而管理进程同样会对应若干个共享内存块,并向对应的写入内存块中写入健康状态数据。进而将健康状态数据在主备机之间组播,从而实现主备机之间的冗余管理。可以理解的是,主备机是指平台内两个不同的设备一个作为主机一个作为备用机,当需要进行通信时,为了避免冗余,采用本发明实施例提供的健康状态判断,能够选用性能更好地设备进行通信,实现冗余管理。
[0036] 在上述实施例的基础上,所述管理进程还用于检测共享内存块的更新速度,若所述共享内存块的更新速度超过第一预设
阈值,则重启所述共享内存块对应的进程。
[0037] 可以理解的是,管理进程在对进程进行管理时需要根据进程的状态进行合理的调控。例如在某些情况下出现了某些高频数据,需要及时将高频数据隔离,那么通过本发明实施例提供的管理进程能够实现此功能。具体的,本发明实施例提供的管理进程将对共享内存块的更新速度进行检测,即通过判断两次写入的时间间隔来识别其是否在进行高频数据写入,那么检测到共享内存块的更新速度超过第一预设阈值,则立刻结束掉这个进程并按照预设的启动参数对该进程进行重启,从而实现高频数据的隔离。需要说明的是,第一预设阈值可根据实际情况进行设置,本发明实施例对此不作具体限定。
[0038] 本发明实施例提供的列车自动监控系统的共享式通信平台通过内部隔离防止数据超过设备处理能
力,保证列车自动监控系统运行的安全性。
[0039] 在上述实施例的基础上,若所述共享内存块的更新速度低于第二预设阈值,则重启所述共享内存块对应的进程。
[0040] 同样的,当某个共享内存块长期没有数据写入时,本发明实施例提供的管理进程同样会判定该共享内存块对应的进程存在问题,需要对该进程进行重启。判别依据同样是根据共享内存块的更新速度,当共享内存块的更新速度低于第二预设阈值时,需要结束掉共享内存块对应的进程,并按照预设的启动参数将该进程重启,同时,由于共享内存还有管理进程使用,将其仍然保持在系统内存中,从而维持设备的工作能力。
[0041] 图2是本发明实施例提供的设备内通信架构示意图,由上述实施例的内容可知,本发明实施例提供的列车自动监控系统的共享式通信平台能够实现设备内的通信。以图2为例对设备内通信的具体过程进行说明。如图2所示,本发明实施例提供的列车自动监控系统的共享式通信平台其中一个设备包括有三个输入,分别为输入1、输入2以及输入3,在进行设备内通信时,首先由管理进程读取全部进程相关入口、出口对应的共享内存启动参数,包括数据正常工作频率、对应写入进程名称等,并由管理进程读取全部进程对应共享内存的配置文件。如图2所示,管理进程按照读入的参数生成全部的共享内存块1-12,并启动全部的进程,分别为通信进程1-7以及业务进程1-3。当各个进程正常工作时,每个进程按时向对应的共享内存块写入数据,每次写入则改变作为计数器的第一位数据,如果数据其他内容没有发生变化,计数器也要变化。如图2所示,每个共享内存块都只有一个进程作为唯一写入,但一个进程可以对应多个写入的共享内存。当管理进程检测到某个进程任意一个写入的共享内存数据更新速度过低,认定这个进程存在问题,管理进程杀死这个进程,并按其启动参数重启,由于共享内存还有管理进程使用,仍然保持在系统内存中。或者当管理进程检测到某个进程任意一个写入的共享内存数据更新速度过高,认定出现了高频数据,这种情况较多出现在接收输入的通信进程,管理进程杀死这个进程,并按其启动参数重启。最终由管理进程存储全部共享内存的数据,作为进程测试的输入输出状态。在此过程中,管理进程将共享内存对应的进程工作状态作为健康数据,通过确定不同共享内存块的优先级,确定本设备的有效程度。
[0042] 从上述过程能够看出,本发明实施例提供的列车自动监控系统的共享式通信平台有较强的扩展性,新开发的业务仅需要进行从数据到数据的处理,不需要进行复杂的通信控制,并且测试过程仅需要关注共享数据的输入输出,不需要考虑大量不同的进程行为,提升了测试效率。
[0043] 图3是本发明实施例提供的设备间通信架构示意图,由上述实施例的内容可知,本发明实施例提供的列车自动监控系统的共享式通信平台能够实现设备间的通信。以图3为例对设备间通信的具体过程进行说明。图3中,设备和设备B是互为主备机的
服务器,设备C是外部数据来源。在进行通信时设备C将外部的数据通过通信进程C3,与通信进程A3和通信进程B3在通信域组3内完成数据交互。设备A和设备B各自统计好健康数据后,通信进程A1和通信进程B1在通信域组1内完成数据交互,确定只有主机发送信息。最后在设备A和设备B各自的业务进程完成
数据处理后,通信进程A2或通信进程B2向通信域组2内发送数据,从而完成设备间的数据通信。
[0044] 同样的,对于服务器和终端的通信过程同样适用,假设接入的设备A和设备B是互为主备机的服务器,设备C是接收服务数据的终端。那么首先设备A和设备B各自统计好健康数据后,通信进程A1和通信进程B1在通信域组1内完成数据交互,确定只有主机发送信息。然后设备A和设备B各自的业务进程完成数据处理后,通信进程A3或通信进程B3向通信域组
3内发送数据。最后4)设备C通过通信进程C3,与通信进程A3或通信进程B3在通信域组3内完成数据交互,从而实现服务器与终端之间的通信。
[0045] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。