
技术摘要:
本发明实施例提供数据记录回灌系统和方法。包括:上位机中的数据回灌单元和下位机中的实时激励引擎单元;其中:数据回灌单元用于:获取目标数据记录文件;对目标数据记录文件中的工程参数进行分组;对各工程参数组进行预处理,得到预处理后的各工程参数组;对预处理后 全部
背景技术:
在电子系统集成验证领域,例如飞机系统地面研发试验、机上地面试验、试飞试验 等场景中,均会采集和存储试验过程中飞机系统(例如航电系统、飞控系统)间的通信数据。 试验结束后,可在地面试验环境中通过回灌数据记录的方式对被测设备进行数据激励,还 原出现问题时的试验过程和工况,从而支持在地面试验环境中有针对性的复现和定位问 题。 在试验过程中,以总线通信为例,各飞机系统的传感器会产生传感器数据,将传感 器数据打包成数据包发送至总线上,接收方会解析数据包,将数据包中的数据记录至数据 记录文件。一个数据记录文件中会记录多个工程参数(物理参数,例如高度、速度、电压、姿 态)的信息,包括参数名、参数值、时间戳信息。 所谓的数据回灌,基本思想是将数据记录文件重新打包成数据包,放在总线上传 输。 常见的数据回灌方案由基于Windows操作系统的桌面回灌软件完成,其操作包括: 桌面回灌软件加载并解析数据记录文件,启动不同的线程,这些线程并行调度执 行如下步骤: 基于数据包的定义,对数据记录文件中的属于不同数据包的参数分开,将属于同 一数据包的参数重组,重新再打包成数据包(同一数据包中的参数,时间戳是相一致的)。根 据数据包的时间戳,确定数据包间的时间间隔,根据发送时间间隔对数据包的发送时序进 行控制。例如,数据包1与数据包2时间间隔为49ms,则在发送数据包1后,等待49ms发送数据 包2。 发明人发现: 回灌软件需要根据每一总线消息的数据包各自的更新间隔进行并行调度,在需回 灌消息数量较多的复杂试验场景,假定其有几百条总线消息,那可能需要启动上百条线程, 软件开销会过大; 此外,Windows操作系统是非实时操作系统,基于非实时操作系统的回灌软件的定 时分辨率只能达到1ms。而电子系统采集数据的时间戳分辨率可达到1us。对于小于1ms的发 送间隔(例如500us),当前的回灌软件可能无法进行精准的时序控制,造成数据回灌时数据 包的发送间隔与数据记录文件中真实的发送间隔相比存在较大的偏差。
技术实现要素:
有鉴于此,本发明实施例提供数据记录回灌系统和方法,以降低软件开销,并减少 数据包间发送间隔与真实发送间隔间的偏差。 为实现上述目的,本发明实施例提供如下技术方案: 4 CN 111581137 A 说 明 书 2/12 页 一种数据记录回灌系统,包括:数据回灌单元和实时激励引擎单元,所述数据回灌 单元部署于上位机中,所述实时激励引擎单元部署于运行实时操作系统的下位机中;其中: 所述数据回灌单元用于: 获取目标数据记录文件;所述目标数据记录文件用于数据回灌; 按照各总线消息的数据定义对所述目标数据记录文件中的工程参数进行分组,得 到工程参数组;其中,同一工程参数组中的工程参数的绝对时间戳相同且对应同一数据包; 对各工程参数组进行预处理,得到预处理后的各工程参数组; 对预处理后的各工程参数组进行封装,得到相应的二进制数据包; 生成数据文件;所述数据文件包括:按绝对时间戳进行排序后的二进制数据包; 将所述数据文件发送给所述实时激励引擎单元; 所述实时激励引擎单元用于执行独立的调度线程和发送线程; 其中, 所述调度线程用于: 在第N调度周期从所述数据文件中获取与调度起始时刻的间隔位于Nt至(N 1)t之 间的二进制数据包;其中,t表示调度周期的时长;N为整数;所述调度起始时刻为零时刻,所 述数据文件中最早的绝对时间戳与所述零时刻相对应; 所述发送线程用于: 将所述调度线程获取的二进制数据包逐个发送至被测设备。 可选的,所述数据文件还包括:各二进制数据包的相对时刻,其中,所述数据文件 中绝对时间戳相同的二进制数据包对应同一相对时刻;在第N调度周期从所述数据文件中 获取与调度起始时刻的间隔位于Nt至(N 1)t之间的二进制数据包,包括:在第N调度周期从 所述数据文件中获取相对时刻位于Nt至(N 1)t之间的二进制数据包,所述数据文件中最早 的绝对时间戳的相对时刻为所述零时刻。 可选的,所述对各工程参数组进行预处理包括:时间规整、缺点补偿和时间对齐中 的至少一种。 可选的,所述时间规整包括:计算同一总线消息中时间相邻的两工程参数组间的 时间间隔;将同一总线消息中时间相邻且满足预设条件的工程参数组间的时间间隔,调整 为标准时间间隔;每一总线消息对应一个预设发送周期,所述预设发送周期的时长等于所 述标准时间间隔;其中,所述预设条件包括:相邻两工程参数组的时间间隔与标准时间间隔 的差值不等于0且小于预设阈值,或者,所述差值与所述标准时间间隔的比值不等于0且小 于预设比值。 可选的,所述缺点补偿包括:从多条总线消息中选择发送开始时间最早的总线消 息作为第一基准总线消息;按照目标总线消息的发送周期添加至少一个工程参数组;所述 目标总线消息包括:产生丢包的总线消息,以及,发送开始时间晚于所述第一基准总线消息 的发送开始时间的总线消息;添加完成后,所述目标总线消息的最早绝对时间戳等于所述 第一基准总线消息的最早绝对时间戳,并且,所述目标总线消息的每一发送周期都对应一 个工程参数组。 可选的,所述时间对齐包括:从多条总线消息中选择一条总线消息作为第二基准 总线消息;所述第二基准总线消息的时间轴为基准时间轴;所述基准时间轴上的时刻点包 5 CN 111581137 A 说 明 书 3/12 页 括所述第二基准总线消息所对应的各工程参数组的绝对时间戳;将其他总线消息中各工程 参数组的绝对时间戳与所述基准时间轴的时刻点进行时间对齐。 可选的,所述获取目标数据记录文件包括:获取不同数据采集系统产生的原始数 据记录;将各数据采集系统产生的原始数据记录的格式转化为统一的数据格式,得到目标 数据记录文件。 可选的,所述数据回灌单元还用于:向所述实时激励引擎单元发送控制指令,以控 制所述实时激励引擎单元执行与所述控制指令相对应的操作。 可选的,所述控制指令包括:开始回灌指令、停止回灌指令、暂停指令、设置回灌进 度指令以及汇报回灌进度指令中的至少一种。 一种数据记录回灌方法,基于数据记录回灌系统,所述数据记录回灌系统包括:数 据回灌单元和实时激励引擎单元,所述数据回灌单元部署于上位机中,所述实时激励引擎 单元部署于运行实时操作系统的下位机中;所述方法包括: 所述数据回灌单元获取目标数据记录文件;所述目标数据记录文件用于数据回 灌; 所述数据回灌单元按照各总线消息的数据定义对所述目标数据记录文件中的工 程参数进行分组,得到工程参数组;其中,同一工程参数组中的工程参数的绝对时间戳相同 且对应同一数据包; 所述数据回灌单元对各工程参数组进行预处理,得到预处理后的各工程参数组; 所述数据回灌单元对预处理后的各工程参数组进行封装,得到相应的二进制数据 包; 所述数据回灌单元生成数据文件;所述数据文件包括:按绝对时间戳进行排序后 的二进制数据包; 所述数据回灌单元将所述数据文件发送给所述实时激励引擎单元; 所述实时激励引擎单元执行独立的调度线程和发送线程; 其中, 所述调度线程用于: 在第N调度周期从所述数据文件中获取与调度起始时刻的间隔位于Nt至(N 1)t之 间的二进制数据包;其中,t表示调度周期的时长;N为整数;所述调度起始时刻为零时刻,所 述数据文件中最早的绝对时间戳与所述零时刻相对应; 所述发送线程用于: 将所述调度线程获取的二进制数据包逐个发送至被测设备。 可见,在本实施例中,将回灌过程分为上位机准备处理和实时激励两个环节,实时 激励引擎单元只负责调度和数据发送,其他工作(分组、预处理、封装、排序等)都前置到上 位机的准备阶段。 通过统一的数据排序,以及实时激励引擎单元所提供的独立调度线程,可实现对 调度时序(发送时序)的统一处理,避免了传统回灌方案中几百个线程并发调度所带来的软 件开销过大等性能瓶颈; 同时,实时激励引擎单元运行在实时操作系统上,实时操作系统定时分辨率小于 1us,与Windows操作系统相比,更能满足数据回灌的时序控制的精度要求。 6 CN 111581137 A 说 明 书 4/12 页 附图说明 图1为本发明实施例提供的数据记录回灌系统的示例性结构; 图2为本发明实施例提供的数据记录回灌系统的示例性硬件架构; 图3为本发明实施例提供的数据记录回灌方法一种示例性流程; 图4为本发明实施例提供的数据回灌单元的UI界面示意图。