随着军事装备的发展,特种车辆已经发展成为集机械、电子、液压和武器系统于一体的信息化作战系统,其组成结构十分复杂,作战环境涉及沙滩、海岛、荒漠和高原等,使得维护与故障诊断较普通车辆也更为复杂[1]。随着特种车辆可靠性、维修性和安全性等技战术指标不断提高,对车辆维护保障和故障诊断提出更高的要求[2]。故障诊断技术利用各种先进传感器和智能诊断模型算法对车辆及部件进行诊断、监控和预测,其准确性和实效性在装备保障体系中尤为重要,而且特种车辆故障诊断系统中数据库系统性能的好坏对诊断结果的准确性和诊断效率产生直接影响。
国内车辆故障诊断技术及其数据库设计的相关文献中,卢玉传等[3]对无人车类特种车辆的故障预测与健康管理进行了可行性分析,给出了数据库总体设计原则;陈伟等[4]针对特种车辆液压系统建立综合诊断和健康管理系统,运用SOM神经网络进行故障的诊断,给出了数据中心功能;王威杰等[5]改进车辆故障维修数据库中数据查询算法,采用模糊粗糙集方法提高查询效率并仿真验证;吴婷婷等[6]针对特种车辆机电系统故障提出了一套测试方法,支持全寿命周期的故障诊断和监控管理,给出了数据库功能分类;赵媛媛等[7]对国外特种车辆故障预测系统最新发展给出了介绍,并展示了各类车载系统解决方案(包括数据库组成)。上述研究主要针对状态监控和故障诊断中各类系统架构设计或诊断方法模型的研究,在实现过程中部分给出了数据库功能设计,并未结合车辆状态监控和故障实际进行数据库系统深入研究。
本文分析了特种车辆状态监控和故障诊断的底层数据需求特点,利用统一建模语言(unified modeling language,UML)对数据库系统整体功能进行描述[8],给出以特种车辆和故障诊断为中心的E-R图模型[9]及关键实体字段示例;在索引结构方面,对时空R树进行改进,并结合B*树构建索引数据库,并利用MySQL5.6完成数据库系统搭建和测试。
在特种车辆远程状态监控管理和故障诊断系统中,故障诊断不仅需要故障点时刻的数据,还需要故障点附近相关数据来判断故障。本节主要从数据库系统功能分析、E-R模型设计和索引结构等3个方面进行研究。
数据库系统主要为各功能模块提供数据存储、共享和快速查询,利用UML语言对系统功能进行描述,如图1所示。状态监测终端主要将各传感器采集到的数据存入数据库,并为指挥员提供车辆状态实时显示,包括任务执行状态、健康状态、位置信息和武器系统信息等;故障诊断功能从数据库中查询预先建立的各类故障诊断模型(神经网络模型、专家系统、故障树和SVM等)[10],并根据相关状态监控信息做出判断,得出故障结论并进行报警提醒;维修保障人员根据故障报警和保养提醒进行故障排除和定期保养,将故障处理过程和结果反馈存储到数据库系统中。
图1 数据库系统功能模块框图
Fig.1 Database system function use case diagram
不同用户角色拥有不同的数据库操作权限。专家可更新维护故障诊断模型相关表;维修保障人员可以查询调用故障诊断模型给出诊断结论,并录入处理过程;指挥员可以实时查看车辆状态,掌握装备完好率和执行任务情况;系统管理员分配角色维护用户信息;兵工厂人员针对返回厂维修的车辆制定针对性维修计划。整个业务流程核心以数据库操作为中心,各项功能运行效率取决于数据库操作的性能。
存储的数据主要分为以下几个方面:
1) 特种车辆状态数据。车载状态信息采集终端主要对车辆动力系统、底盘总成、电气系统和武器系统等进行监控,监控产生大量实时数据,采用不同的传输方式和采样频率添加到数据库中。
2) 状态数据索引库。考虑到建立索引会降低数据入库效率,将索引更新与数据更新采用分布式的方式分开,并引入缓存机制,这部分将在后文重点阐述。
3) 故障诊断模型库。主要存储经过训练的智能诊断算法模型,算法模型再利用收集到的各类故障状态数据进行自身更新和不断完善。
4) 专家系统知识库。专家系统运用产生式规则作为主要表示形式,存储的数据主要包括事实库和规则库。事实库存储现象和故障结论,规则库分为规则前件库和规则结论库[11]。
数据库系统性能的优劣关键在于数据库实体关系模型(E-R模型)建立,根据系统功能需求的设计,分析业务逻辑,本节给出系统全局E-R图模型表述实体与实体的关系,如图2所示,2.1节实现部分通过表结构示例表述部分关键实体与属性之间的关系。以故障诊断模型和状态监控为中心表述与其他实体之间的关系,更有利于故障诊断的准确性,同时,模型可根据实际需求数据和诊断模型的不同进行调整。
图2 系统全局E-R模型框图
Fig.2 Global E-R diagram of the system
数据库索引的设计不仅要结合数据本身特点,更要紧贴查询需求,创建效率、存储利用率、查询效率和缓存机制等都是设计索引结构需要考虑的因素[12]。目前,MySql数据库自带的索引类型主要包括全文索引、哈希索引、B树索引和R树索引等4种,其并未提供混合索引机制,在处理时空特性较强的车辆数据和故障的能力较弱[13-15]。
本文数据库系统主要为特种车辆的状态监测和故障诊断提供索引支持,实现快速高效的查询,针对数据时空特性较为明显、种类较多的特点,利用改进的时空R树+B*树的混合索引方法。其中,主体索引结构为改进的时空R树,用于实现时空范围内故障信息的高效查询;B*树为次要索引,主要实现对单一目标的时序一维索引[16],可以用于故障点数据精确查询,如图3所示。
图3 改进的时空R树和B*树混合索引原理框图
Fig.3 Improved spatiotemporal R tree and B* tree hybrid index principle and framework
改进的时空R树是N+1维的R树,其中N是指空间维数、1指时间维,R树中叶子节点最小包围盒MBR(minimal bounding rectangle)是其孩子集合的时空坐标轴最小范围[17],以此来改进R树的结构。
具体为:利用节点插入算法优化特征车辆实时状态信息时空R树结构,同时引入节点分裂算法改进时空R树结构。改进的时空R树对某范围的车辆监控状态集合、车辆轨迹,或者某时刻的车辆状态合集(或故障点状态)、车辆位置等有较好的支持。
采用节点对象标识符OID和Start-Time组成一维关键码构建B*树,高效精确定位特种车辆在某时刻的状态信息,进而利用B*树节点双向指针进行车辆轨迹追溯[18],相比于不采用树结构的索引,能节约75%的存储空间。
在应用过程中,由于车辆状态信息和故障表象与时间空间紧密相关,索引的创建同样按照数据元组的有效时间顺序进行。故障点是查询访问的重点,被查询的故障点时刻数据及其附近时刻数据,近期被再次访问的几率较大,将这部分数据加入缓存中可减少从外存调入时间。状态数据和故障诊断模型库的元组数目庞大,很难在内存中构建全部索引。利用LRU算法(近期最少使用算法)设计索引的缓存实现机制,根据数据量大小设定一个时间阈值T,一个时间周期T内被访问到的数据维持在缓存中,将一个时间周期T内未被访问的数据从缓存中释放,当再次需要时从外存中调取,如图4所示。
图4 时空R树+B*树索引缓存机制框图
Fig.4 Spatiotemporal R tree+B* tree index caching mechanism
在索引节点结构中,定义变量TL记录该节点最近被访问的时刻,被访问时更新变量TL为被访问时刻[19]。树形索引的查询通常以根节点或父节点起始,访问子节点的同时一定已访问父节点,若父节点在缓存中超时,其子树中的所有节点也均超时,与父节点一同释放[19],TLRU置为0。
3.1.1 状态监控字段
车辆状态数据是故障诊断的基础,状态监控信息如表1所示。
表1 特种车辆状态信息
Table 1 Special vehicle status information table
字段名称数据类型长度/格式数据内容IDUUID#状态数据ID(KEY)EquipIDUUID#设备IDTaskStatusTINYINT0,9任务执行状态Weapon StatusTINYINT0,1武器系统状态TemperatureSMALLINT-100,+100关键部位温度Tire PressureMEDIUMINT0,20 000胎压SpeedSMALLINT0,200车速HealthSMALLINT0,100车辆整体健康状态…………TimeTIMESTAMPYYYY-MM-DDhh∶mm∶ss[.fraction]时间戳LocationDOUBLE256位置
3.1.2 故障诊断模型
专家系统利用专家知识对故障进行定性的诊断,故障诊断模型准确定位故障发生的具体部位,算法所涉及参数需要结合具体的诊断对象存储在数据库中,且保持特征提取、特征降维、诊断模型之间参数的一致性。以神经网络为例,设计一个故障诊断模型和一系列子实体(神经网络、支持向量机等)[20],如表2~3所示。
表2 神经网络数据
Table 2 Neural network structure table
字段名称数据类型长度/格式数据内容NetIDUUID#模型ID(KEY)InputNodesNumSMALLINT32767输入层节点数ImpliedNodesNumSMALLINT32767隐含层节点数OutputNodesNumSMALLINT32767输出层节点数ImpliedFuncIDVARCHAR65535隐含层传递函数IDOutFuncIDVARCHAR65 535输出层传递函数ID…………
表3 神经网络权值
Table 3 Neural network weight table
字段名称数据类型长度/格式数据内容ModelIDUUID#模型识别ID (KEY)FrontNodeNoTINYINT128前层节点序号BackNodeNoTINYINT128后层节点序号WeightValueSMALLINT32 767权值…………
将索引结构单独存储在独立从服务器上,利用MySQL的binlog功能实现主从同步和读写分离,提高查询效率,架构设计如图5所示。主库Master在执行完SQL语句之后会把语句记录在binlog中,当从库Slave连接主库Master时,将得到主库中的binlog文件并存于本地,然后从中读取上次同步时的位置节点,执行SQL语句[21]。
图5 分布式主从架构框图
Fig.5 Distributed master-slave architecture diagram
数据库系统平台选用MySQL版本为5.6,操作系统为64位Windows Server 2012,服务器硬件配置信息如表4所示。车辆状态数据库选用现役某型装甲车真实数据集,专家系统和故障诊断模型库均经过该型车故障数据集的训练。索引方面,叶节点采用双向链表指针[22]。
表4 数据库服务器配置信息
Table 4 Database server configuration information
参数名称配置CPUIntel Xeon E3-1280 3.9 GHz内存光威16GB*3 DDR4 2400 固态IO卡Fusion-IO 1.5GB/s硬盘Barracuda 500TB *20 7200 r/min主服务器磁盘阵列RAID 10从服务器磁盘阵列RAID 5
在数据存储过程中,考虑处理器线程阻塞、存储器缓存、网络延迟等多种因素的影响,测试数据存储或读取速度为在持续存储请求压力下系统单位时间内处理存储或读取请求的能力[23],即:
Zmax=Qs/T
(1)
式(1)中:Qs为存储或读取成功的数据点数量;T为总耗时。
通过编写脚本,测试本文设计的数据库系统插入10、100、1 000、10 000、100 000条数据的耗时(数据结构参考数据库设计部分),对于因阻塞超时未能成功存储的数据记录,再次发出存储请求,根据机器性能发出存入系统的请求后,统计存储全部数据耗时[24],将结果与同样实验条件下Mysql自带索引结构相关性能进行对比(见图6),计算每秒处理速度,如图7所示。数据库的读取测试,在100 000条数据集中分别查询1、10、100、1 000、10 000条数据的查询耗时如图8所示。
图6 数据库写入速度直方图
Fig.6 Database write speed
图7 数据库处理速度直方图
Fig.7 Database processing speed
图6、图7表明本文索引结构数据库写入速度、处理速度与Mysql相差不大。图8表明,在数据量较大时,在数据库查询耗时上,以本文索引结构构建的数据库性能要优于Mysql自带索引结构。
图8 数据库读取时间直方图
Fig.8 Database read time
目前,TB*树在时空数据索引方面综合性能较优,选择将其与本文索引方法(索引创建和时空查询处理方面)进行对比分析[25]。以1 000数据样本为例,两者均采用经典R树的平方级分裂策略,设索引树的创建算法时间复杂度均为O(N/M),其中,M是叶子节点的扇出参数,N是故障时刻点数量[26],索引创建的试验结果如表5所示,其中包括时间开销和存储代价。
表5 索引创建试验结果
Table 5 Index creation trial results
索引时间/s节点数目节点选择次数存储空间/MByteTB*56886 95179 563368R+B*树52487 56378 542245
时间开销方面,改进的时空R树在创建和插入叶子节点时包括节点选择和节点分裂等2个操作[27]。创建改进的时空R树过程中节点选择与节点分裂算法使得时间开销较高,如图9所示。
图9 索引创建时间曲线
Fig.9 Index creation time comparison
存储代价方面,本文索引结构数据量为R树和B*树二者之和,改进的时空R树节点中,绝大多数超过83.7%的是叶节点,结合了B*数据,并采用独立数据库后,在数据集为 100 000数据量时存储空间为865.3MByte,其存储代价远小于TB*树。
本文数据库系统为特种车辆的状态监控和故障诊断提供支持,从系统功能模型出发,利用UML完成功能建模,建立实体关系模型,并设计了索引结构实现高效快速查询检索。在系统实现上,结合故障诊断需求和特点,给出数据库字段示例,引入索引缓存机制,并设计主从服务器集群实现读写分离。测试结果表明,数据库系统整体性能可满足故障诊断需求,可提高装备保障效率,适用于工程实践。
[1] 石秉良,王显会,张云,等.军用车辆底部防护研究与发展综述[J].兵工学报,2016,37(10):1902-1914.
Shi B L,Wang X H,Zhang Y,et al.An Overview of Developmentand Research on Bottom Protection Capability of Military Vehicle[J].Acta Armamentarii,2016,37(10):1902-1914.
[2] 杨诚,宋萍,刘雄军,等.特种车辆油气弹簧漏气故障的识别与预测[J].仪器仪表学报,2016,37(11):2536-2544.
Yang C,Song P,Liu X J,et al.Gas Leakage Fault Recognition and Prognostics of Special Vehicle Hydro-pneumatic Spring[J].Chinese Journal of Scientific Instrument,2016,37(11):2536-2544.
[3] 卢玉传,江磊,赵洪雷.地面无人车辆故障预测与健康管理系统研究[J].兵工学报,2014,35(S1):68-73.
Lu Y C,Jiang L,Zhao H L.Research on Fault Prediction and Health Management System for Unmanned Ground Vehicles[J].Acta Armamentarii,2014,35(S1):68-73.
[4] 陈伟,王亮,李伟,等.特种车辆液压装置综合诊断与健康管理系统设计[J].液压与气动,2013(01):56-62.
Chen W,Wang L,Li W,et al.Design and Implementation of Integrated Diagnostics and Health Management System for Hydraulic Device[J].Chinese Hydraulics & Pneumatics,2013(01):56-62.
[5] 王威杰.汽车维修数据库中关键故障数据查询模型仿真[J].计算机仿真,2014,31(12):442-445.
Wang W J.Key Fault Data Query Model Simulation of Database of Vehicle Maintenance and Repair[J].Computer Simulation,2014,31(12):442-445.
[6] 吴婷婷,高诠,李雅琪,等.特种车辆机电系统的故障测试方案[J].车辆与动力技术,2018(03):55-59.
Wu T T,Gao Q,Li Y Q,et al.Fault Test Scheme for Electromechanical Systems of Special Vehicles[J].Vehicle & Power Technology,2018(03):55-59.
[7] 赵媛媛,陈姝.国外军用车辆故障预测与健康管理系统的最新发展[J].国外坦克,2017(11):38-41.
Zhao Y Y,Chen S.The Latest Development of Foreign Military Vehicle Fault Prediction and Health Management System[J].Foreign Tank,2017(11):38-41.
[8] 王国辉,赵铁军.基于UML的装甲装备IETM建模[J].计算机应用与软件,2018,35(08):175-179.
Wang G H,Zhao T J.Modeling of Armored Equipment IETM Based on UML[J].Computer Applications and Software,2018,35(08):175-179.
[9] 李威.基于E-R图的关系数据库关键字查询[D].济南:山东建筑大学,2012.
Li W.Relational Database Keyword Search Based on E-R Diagram[D].Jinan:Shandong Jianzhu University,2012.
[10] 吕瑞,孙林夫.基于多源信息融合故障树与模糊Petri网的复杂系统故障诊断方法[J].计算机集成制造系统,2017,23(08):1817-1831.
Lv R,Sun L F.Fault Diagnosis Method of Complex System Based on Multi-source Information Fusion Fault Tree and Fuzzy Petri Ner[J].Computer Integrated Manufacturing Systems,2017,23(08):1817-1831.
[11] 杨斌,张卫冬,伍章明,等.基于SOA的设备远程监测与故障诊断系统体系结构研究[J].振动与冲击,2011,30(03):85-90.
Yang B,Zhang W D,Wu Z M,et al.Architecture of Remote Monitoring and Diagnosis System Based on Service-oriented Architecture(SOA)[J].Journal of Vibration and Shock,2011,30(03):85-90.
[12] CHEN N,SHOU L D,CHEN G,et al.Adaptive Indexing of Moving Objects with Highly Variable Update Frequencies[J].Journal of Computer Science & Technology.2008(06):998-1014.
[13] 陈年飞,王麒森,王志勃.MySQL数据库中关于索引的研究[J].信息与电脑(理论版),2019(05):175-176.
Chen Y F,Wang Q S,Wang Z B.Research on Index in MySQL Database[J].China Computer & Communication,2019(05):175-176.
[14] 罗凡,彭秀增,申春,等.MySQL中InnoDB引擎索引树的搜索策略[C]//2006年全国理论计算机科学学术年会论文集.长春:2006:399-401.
Luo F,Peng X Z,Shen C,et al.Search Strategy of Index Tree of InnoDB Engine in MySQL[C]//Proceedings of The 2006 National Academic Annual Conference of Theoretical Computer Science,2006:399-401.
[15] 郭冰.基于MySQL数据库的索引优化研究[J].信息与电脑(理论版),2019(12):154-156.
Guo B.Research on Index Optimization Based on MySQL Database[J].China Computer & Communication,2019(12):154-156.
[16] 刘洁.基于B*树聚簇索引数据库中加密字符串数据查询方法研究[D].镇江:江苏科技大学,2013.
Liu J.The Research of Quering Mthod over Encryption Character Data in Database Based on B*Tree Clustered Index[D].Zhenjiang:Jiangsu University of Science and Technology,2013.
[17] 龚俊,柯胜男,朱庆,等.一种集成R树、哈希表和B*树的高效轨迹数据索引方法[J].测绘学报,2015,44(05):570-577.
Gong J,Ke S N,Zhu Q,et al.An Efficient Trajectory Data Index Integrating R-tree,Hash and B*-tree[J].Acta Geodaetica et Cartographica Sinica,2015,44(05):570-577.
[18] 龚俊,柯胜男,朱庆,等.一种八叉树和三维R树集成的激光点云数据管理方法[J].测绘学报,2012,41(04):597-604.
Gong J,Ke S N,Zhu Q,et al.An Efficient Management Method for Point Cloud Data Based on Octree and 3D R-tree[J].Acta Geodaetica et Cartographica Sinica,2012,41(04):597-604.
[19] 李现艳,赵书俊,初元萍.基于MySQL的数据库服务器性能测试[J].核电子学与探测技术,2011,31(01):48-52.
Li X Y,Zhao S J,Chu Y P.Database Server Performance Test Based on MySQL[J].Nuclear Electronics & amp; Detection Technology,2011,31(01):48-52.
[20] 崔英,杜文辽,李根,等.起重机远程监控及故障诊断数据库系统[J].机械设计与研究,2013,29(01):97-103.
Cui Y,Du W L,Li G,et al.Database System of Remote Monitoring and Fault Diagnosis for Cranes[J].Machine Design and Research,2013,29(01):97-103.
[21] 李军,劳凤丹,邹仁明.校园网云盘系统构建研究[J].通信学报,2013,34(S2):133-137.
Li J,Lao F D,Zou R M.Research of Cloud Disk System Construction in Campus Network[J].Journal on Communication,2013,34(S2):133-137.
[22] LEE D W,LIANG S H L.Geopot:a Cloud-based geolocation data service for mobile applications[J].International Journal of Geographical Information Science,2011,25(08):1283-1301.
[23] 黄一,王鸿东,程锋瑞,等.基于时序数据库的无人船信息管理系统设计与性能测试[J].中国舰船研究,2019,14(04):161-166.
Huang Y,Wang H D,Cheng F R,et al.Design and Performance Test of USV Information management System Based on Time-series Database[J].Chinese Journal of Ship Research,2019,14(04):161-166.
[24] 张琳,谭军,白明泽.基于MongoDB的蛋白质组学大数据存储系统设计[J].计算机应用,2016,36(S1):232-236.
Zhang L,Tan J,Bai M Z.A Storage System Design of Big Proteomic Data Based on MongoDB Database[J].Journal of Computer Applications,2016,36(S1):232-236.
[25] 靳明星,汤小春,李琴琴.基于TB+树云服务性能监控数据索引算法研究[J].科学技术与工程,2016,36(S1):232-236..
Jin M X,Tang X C,Li Q Q.Research on Index Algorithm of Monitoring Data Based on TB+ Tree Cloud Service Performance[J].Science Technology and Engineering,2016,36(S1):232-236..
[26] KE S N,GONG J,LI S N,et al.A Hybrid Spatio-Temporal Data Indexing Method for Trajectory Databases[J].Sensors,2014(7):12990-13005.
[27] WU S F,SONG H Z,CHENG G,et al.Civil engineering supervision video retrieval method optimization based on spectral clustering and R-tree[J].Neural Computing & Applications,2019,31(09):4513-4525.
Citation format:FAN Huijin, OUYANG Zhonghui, CHEN Qinghua, et al.Database System for Special Vehicle Condition Monitoring and Fault Diagnosis[J].Journal of Ordnance Equipment Engineering,2021,42(07):178-184.