白广争 郑泽熙 冯浩楠 许展瑛 刘海祥 范 楷
(中国铁道科学研究院集团有限公司通信信号研究所,100081,北京)
CBTC(基于通信的列车控制)系统由ATS(列车自动监控)系统、CI(计算机联锁)系统、ZC(区域控制器)系统、VOBC(车载控制器)系统和DCS(数据通信子系统)共同构成,系统构成相对复杂。在运行过程中,若有某一模块发生故障,往往会有多个子系统报警,仅从系统表现出来的故障现象较难确定故障问题来源。不同子系统通过自身逻辑判断提供一定的报警信息,此时需要有经验的维护人员归纳这些信息,同时结合子系统之间实时传输的接口数据信息进行综合判断,才能确定故障发生的来源。这不仅需要维护人员耗费较长的时间进行问题分析,而且其自身也需具有较高的技术水平。因此,设计一套针对CBTC系统进行实时故障诊断定位的分析系统具有重要的应用价值。
将模式匹配应用在故障定位领域是一种有效的方法。文献[1]研究了在设备资源受限情况下,基于云服务器辅助计算策略,完成对模式端和数据库端两方的安全模式匹配协议设计,并通过设计功能函数实现对模式的检测。文献[2]通过对文本关键信息进行模糊化预处理,基于WM(Wu-Manber)算法进行中文信息的初步匹配,最后进行多模式匹配。文献[3]将模糊理论应用于网络故障的实时故障监测,结合模糊理论与数据挖掘方法,建立关联规则知识库,再利用模糊匹配对告警信息进行模糊推理,以达到定位故障的目的。
在进行故障模式匹配过程中,现有文献研究均没有考虑时间约束对故障模式匹配的影响。而在实际应用中,从通信网络上采集到的多方实时数据需要考虑其时间要求,即满足时间要求的数据才能参与模式匹配,传统的字符串模糊匹配算法难以解决该问题。鉴于此,针对系统网络监测数据,本文提出一种基于时间约束的实时故障监测定位方法,以实现城市轨道交通基于CBTC系统的快速故障诊断和定位。本文研究可为CBTC系统的集成测试、故障运维等提供借鉴。
假设在某一时刻,CBTC系统突发故障,针对各子系统的报警信息分别构建数据序列,例如ZC报警数据序列、VOBC报警数据序列、CI报警数据序列、各子系统之间实时通信数据序列等。当特定故障发生时,故障诊断系统结合预先制定好的故障模式库中的不同故障模式,利用故障识别定位算法进行故障模式匹配。在设计模式匹配算法过程中,需要考虑时间约束的问题:
1) 同一数据序列内信息之间的时间约束性。对于同一数据序列,将其中的数据信息与故障的对应子模式进行匹配时,模式中各字符的出现时机与顺序只有满足给定的时间约束,才被认为该故障子模式匹配成功;不满足时间约束的字符,认为其并不处于同一故障状态下,则不满足模式匹配规则。通信周期越长、通信数据量越大,则待匹配字符之间的干扰字符数量越大,数据序列与故障模式之间的ED(编辑距离)越大[4-5];反之,则数据序列与故障模式之间的ED越小。
2) 不同数据序列之间相关信息的同步性。对于CBTC系统,当从不同子系统分别获得数据信息后,会形成多个数据序列。不同数据序列内的信息在参与某一特定故障模式匹配时,只有同一时期内出现的信息才能进行匹配。不同时期产生的信息,即使能够匹配成功,但不具有实际意义。“同一时期”的定义是由系统的响应周期、通信周期等参数共同决定的。例如,当其中一个子系统发生故障后,另一个子系统的响应时间为t,则进行该故障模式匹配时,t时间域内的信息均属于“同一时期”。
根据以上分析,设计基于时间约束的故障识别定位算法,以提高CBTC系统的实时故障快速监测定位与现场恢复能力。
根据实际问题,对模式定义及匹配规则进行说明。
2.1.1 总模式和子模式
1次完整的匹配对应1个总模式,总模式匹配成功,即完成了模式对象的匹配过程。1个总模式由K个子模式组合而成,第n个总模式的第j个子模式称为sn,j(1≤n≤N,1≤j≤K),该子模式对应一个实时数据序列,每个总模式的K个子模式对应K个实时数据序列。子模式sn,j中的字符在数据序列中出现时均具有时间属性,出现的时机和顺序受时间约束。多个总模式共同构成模式库。
2.1.2 子模式sn,j匹配规则
子模式sn,j匹配规则为:①sn,j由xn,j个报警信息组成;②sn,j中的各报警信息在数据序列中可以不相邻;③sn,j中的各报警信息在数据序列中必须按顺序且全部出现;④sn,j中的第m个报警信息sn,j,m与第m+1个报警信息sn,j,m+1之间的时间间隔不超过规定时间t0,则有:
tn,j,m+1-tn,j,m≤t0
(1)
1≤m 式中: tn,j,m+1——报警信息sn,j,m+1出现的时刻。 同时满足上述4个规则,该子模式sn,j匹配成功。 2.1.3 总模式匹配规则 总模式匹配规则为:①对于某一确定的总模式n,其所包含的各个子模式sn,j均匹配成功;②对于总模式n,sn,j的第1个字符sn,j,1出现的时刻必须分布在某一确定的时间围栏T内,即tn,j,1∈T(tn,j,1为sn,j的第1个报警信息sn,j,1的出现时刻)。时间围栏T=[tn,j0,1-t1,tn,j0,1+t1],其中:tn,j0,1为总模式n第j0个子模式sn,j0的第1个报警信息sn,j0,1的出现时刻;t1为设定常数。 同时满足上述2个规则,总模式n匹配成功。 2.1.4 相似度 假设总模式n1中所包含的报警字符在总模式n2中均按顺序出现,则称n1包含于n2,记为n1⊆n2。通过定义相似度R提高故障模式的识别准确度。故障模式n发生的相似度Rn表示总模式n在与实时报警字符序列进行匹配时,所能够实现匹配的字符数。根据定义,若在实时获取的报警字符序列中同时出现了故障模式n1和n2,且Rn2≥Rn1,即所发生的故障与模式n2的相似度更高,故认为发生的是故障模式n2。 根据模式定义及匹配规则,设计模式匹配算法。 步骤1 将故障模式库中所有总模式的相似度初始化为0;选定第1个子模式对应的数据序列作为第1个待匹配对象;选取该数据序列的第1个字符,假定该字符为γstr1,1,则该字符的发生时刻为t1,1。 步骤2 根据γstr1,1,在模式库中搜索所有总模式中第1个子模式sn,1的首字符,选出sn,1的首字符sn,1,1与γstr1,1匹配成功的所有总模式,进而初步筛选出第1个子模式的首字符匹配成功的总模式集合A。若集合A非空,A={a1,a2,…,ap}(1≤p≤N),则返回该集合,并转至步骤3;否则,删除步骤1中所选数据序列中的第1个报警信息,并转至步骤1。 步骤3 根据t1,1计算时间围栏T,T=[t1,1-t1,t1,1+t1]。 步骤4 在时间围栏T内,针对集合A中的总模式集合,任意选取一个总模式ai(1≤i≤p),在除第1个子模式外的ai中的其他各子模式所对应的数据序列中逐个搜索sai,j,1(1≤j≤K且j≠1),其中sai,j,1为总模式ai的第j个子模式的首字符。若在时间围栏T内,存在任意j使得sai,j,1搜索失败,则从集合A中删除ai;否则,将ai加入集合B。遍历集合A中所有ai。 步骤5 若集合B非空,B={b1,b2,…,bq}(1≤q≤p),则返回该集合,并转至步骤6;否则,删除步骤1所选的数据序列中的第1个字符,并转至步骤1。 步骤6 对集合B中的总模式b1按以下过程进行匹配:在[tb1,j,m-1,tb1,j,m-1+t0](1 步骤7 在集合B中继续搜索“包含”步骤6中已完成匹配字符sb1,j,m(1≤j≤j1,1≤m 步骤8 若C不为空集,则选取其中相似度最大的故障模式作为匹配成功的模式进行报警,并将各实时数据序列中已参与匹配的字符删除,转至步骤1;否则,表示没有完成匹配,则删除步骤1所选的数据序列中的第1个字符,并转至步骤1。 在步骤6—步骤8中,通过有效利用每一次匹配成功部分的信息,避免了算法的回溯搜索。当模式库中的一个总模式n与数据序列中的数据进行匹配时,若匹配过程中的某个字符sn,j,ml(1≤n≤N,1≤j≤K,1≤ml CBTC数据监测系统架构示意图如图1所示。CBTC系统的各子系统之间通过骨干网交换机交互接口应用数据,各子系统内的不同模块(或终端)之间,通过子系统交换机实时交互报警数据等信息。利用交换机的端口镜像技术,设计交换机级联方案,将骨干网交换机内的数据和各子系统内部交换机上的通信数据分别镜像到抓包交换机,再对抓包交换机做端口镜像,将所有数据汇总至上层数据处理服务器,并以此作为故障检测模型的原始输入数据。 注:图中将CBTC系统的所有终端均以PC(个人计算机)终端作为示意代替;ATS为列车自动监控;TIU为车载接口单元。 CBTC数据监测系统架构设计从物理上保证了数据获取通道的畅通性。在此基础上,设计CBTC数据监测系统的软件部分,包括抓包模块[6]和故障识别模块。故障识别模块识别流程示意图如图2所示。 图2 故障识别模块识别流程示意图 利用所提故障定位算法及CBTC数据监测系统,在重庆轨道交通9号线的CBTC系统上进行算法验证。所提故障定位算法在CPU(中央处理器)为Intel® Xeon® Silver 4116,主频为2.2 GHz,24线程12核心,内存为16 GiB的服务器上连续运行,内存及CPU占用率始终维持在较低水平。 CBTC数据监测系统的故障标签库规模为2 046条,随机选取故障标签库中的5条故障,作为待测案例。通过人工对CBTC数据监测系统植入相应的故障状态,使得所提故障定位算法能够实时识别出系统内发生的故障,并提供正确的故障定位报警提示。故障定位耗时记录如表1所示。 表1 故障定位耗时记录 根据CBTC系统的系统架构、应用数据传输原理及系统参数,结合测试经验,设计了一套能够进行实时快速故障定位的方法。所提CBTC系统实时故障定位方法在针对具有时间约束的故障诊断定位方面具有普适性,尤其适用于大型分布式软件多点监测控制系统的故障检测及智能故障诊断。根据模式匹配规则设计了故障定位算法,运用了已完成有效匹配信息的继承方法,能够有效避免故障模式的回溯搜索过程。经CBTC数据监测系统验证,所提算法能够快速完成CBTC系统的故障定位功能。所提CBTC系统实时故障定位方法无论在测试阶段还是在现场运营阶段均能发挥重要作用,其不仅降低了系统测试和故障运维的技术难度,通过快速故障定位,大大减少了故障恢复时间。2.2 故障定位算法设计
3 CBTC数据监测系统构建与算法验证
3.1 CBTC数据监测系统构建
3.2 算法验证
4 结语