本技术属于数据采集与传输控制领域,具体地涉及能够将多种组态数据分类自动采集、高性能解析处理、数据归类并通过网络传输水声数据的组态化关联采集与传输控制方法、其通信设备与系统。
背景技术:
1、舰船航行期间,舰船设备运行过程中会产生大量数据,例如声纳(音频)数据、场景(视频)数据、勤务(日志)数据、阵元域数据等。这些数据种类繁多,数据格式不统一,数据接口不统一,数据的生成周期与使用周期也各不一致,数据生成和采集的方式也不一致。
2、传统的数据记录方式是由用户对各类数据分别进行单一种类的数据采集,例如通过录音设备采集目标噪声数据,通过手持式摄像机采集场景数据,通过纸笔记录勤务数据,其他种类数据也通过不同方式分别采集记录。在用户记录数据的情况下,无法保证各数据采集的时间点是否统一,且数据采集频率不同,数据之间难以进行关联。在这种人工采集的情况下,数据采集效率低,人员工作量大,同时由于人工难免出现的疏漏会导致所采集的数据与实际情况有所偏差。另外,这种人工采集的方式会导致后续对于大数据量的统计极其困难,利用人工记录的数据难以还原数据采集时的场景,难以开展进一步的分析研究。而且,对采集的数据通过线下转储也不利于数据的利用。
3、从而,希望提供对多种具有不同来源、不同传输方式、不同周期的数据的关联话采集与实时传输的方法与通信设备,通过控制数据采集与传输的过程,实现对舰船组态数据的关联采集与传输。
技术实现思路
1、为解决现有技术中存在的一种或多种问题,本技术的实施例提供了基于水声数据的组态化关联采集传输控制方法。对舰船上获取的多种类型数据自动采集和处理,并将采集的各种类数据,以水声勤务数据为主线,以声纳目标数据为核心,对阵元域数据、自噪声数据、场景数据和水声环境数据等数据同步关联采集。从而使得舰船上产生的多种、大量数据形成便于应用分析、处理与利用的数据产品或服务。
2、为解决对多种类型的离散式数据采集并整合成结构化数据,使得各种类型数据形成关联关系的问题。对数据的采集发生在特定的时间,例如,声纳数据形成持续的数据流,其中出现特定目标的数据位于特定的时间点或时间段,相应地,需要该时间点的自噪声数据来协助对目标的识别。然而在数据采集时,并不知晓目标出现的时刻,而需要在后续的对音频数据的分析处理后才能检测出目标。因此,在数据采集时,还需要对来自不同设备不同数据源的多种数据,通过例如时间建立起关联。根据本技术的实施例,采用对各类型数据分布式采集方式,通过对各种类型数据整合和关联实现组态数据的关联采集,并对采集多种类型数据的多个任务统一进行调度。通过分布式、模块化的方式实现了根据本技术实施例的基于水声数据的组态化关联采集方法及其系统,便于后续数据采集功能的改进及扩展,也便于支持新增的待采集数据类型与采集数据的设备。
3、其中,声纳目标数据是指从波束域获得的声纳目标音频数据及其标注信息,以及对声纳目标音频数据同步处理得到的调制谱数据、低频线谱数据、时频数据、特征数据等;水声勤务数据是指声纳单元在声纳搜索、发现、匹配分析、跟踪目标,以及保障平台行动过程中产生的数据。
4、根据本技术的第一方面,提供了根据本技术第一方面的第一数据关联采集与传输控制方法,包括:以指定的时间间隔,从授时设备获取时间并用获取的时间更新本地时统信息;以指定的时间间隔获取声纳目标跟踪信息;设备报文信息采集模块加载同设备信息采集单元对应的一个或多个数据解析动态库,根据设备信息采集单元提供的一个或多个数据种类,创建同数据种类对应的线程,在所创建的每个线程中加入同数据种类对应的组播组,并利用所加载的所述一个或多个数据解析动态库的同数据种类对应的第一数据解析动态库根据自身的数据解析方式接收并解析组播数据包得到所述设备信息采集单元提供的第一数据,累积一份或多份第一数据生成设备报文数据包,将当前的本地时统信息附加到生成的设备报文数据包并存入缓冲区;音频数据采集模块从声卡、音频采集卡和/或音频采集设备采集一种或多种音频数据,累积一份或多份相同种类的音频数据生成音频数据包,将当前的本地时统信息附加到生成的音频数据包并存入缓冲区;自噪声数据采集模块创建自噪声数据采集线程,在创建的自噪声数据采集线程中基于指定的网络地址以指定的时间间隔接收来自噪声监测系统发送的自噪声采样数据包,从自噪声采样数据包获取自噪声数据的采样,对自噪声数据的采样进行转换得到自噪声数据;累积自噪声数据生成自噪声数据包;将当前的本地时统信息以及当前的声纳目标跟踪信息附加到生成的自噪声数据包并存入缓冲区;阵元域数据采集解析子模块创建阵元域数据采集线程,在阵元域数据采集线程中循环地从指定组播地址接收阵元域数据预处理子模块发送的阵元域数据分包,累积从阵元域数据分包中获取阵元域数据以生成阵元域数据包;将当前的本地时统信息以及当前的声纳目标跟踪信息附加到生成的阵元域数据包并存入缓冲区;数据打包与发送模块以一种或多种时间间隔从缓冲区分别获取设备报文数据包、音频数据包、自噪声数据包和/或阵元域数据包,并通过网络发送;其中由独占cpu核的定时器线程对该cpu核的时钟计数,得到微秒级时钟,通过所述微秒级时钟计时所述一种或多种时间间隔,以响应于所述一种或多种时间间隔到时来触发数据打包与发送模块获取设备报文数据包、音频数据包、自噪声数据包与阵元域数据包的一种或多种,并通过网络发送。
5、根据本技术第一方面的第一数据关联采集与传输控制方法,提供了根据本技术第一方面的第二数据关联采集与传输控制方法,还包括:场景数据采集模块为要采集的每路视频创建对应的线程,在创建的线程中基于rtsp协议获取音频数据流与视频数据流,分别解码获取的音频数据流与视频数据流得到音频流数据与视频流数据,将音频流数据与视频流数据分别编码为指定的格式,将编码后的音频流数据与视频流数据合并并生成场景数据包;将当前的本地时统信息以及当前的声纳目标跟踪信息附加到生成的场景数据包并存入缓冲区;数据打包与发送模块以指定的时间间隔从缓冲区获取场景数据包,并通过网络发送;其中响应于所述微秒级时钟计时的指定时间间隔到时来触发数据打包与发送模块获取场景数据包,并通过网络发送。
6、根据本技术第一方面的第二数据关联采集与传输控制方法,提供了根据本技术第一方面的第三数据关联采集与传输控制方法,其中采集场景数据前,场景采集模块发送采集开始指令,对场景数据进行采集;对同时存在的多路视频,创建多个对应的线程分别采集每路视频;通过ffmpeg编解码库提供的avformat_open_input()函数获取视频流地址,通过avformat_find_stream_info()函数获取视频流信息,得到avformatcontext结构体;通过解析avformatcontext结构体中的nb_streams成员变量,获得音频数据流与视频数据流个数,根据枚举值avmediatype,判断数据流的编码类型;对编码后的音频流数据与视频流数据,使用av_read_frame()函数,循环获取数据流数据分包数据,返回格式为avpacket结构体的分包数据;使用av_interleaved_write_frame()合并函数音频流数据与视频流数据。
7、根据本技术第一方面的第一至第三数据关联采集与传输控制方法之一,提供了根据本技术第一方面的第四数据关联采集与传输控制方法,其中自噪声数据采集模块对自噪声数据的采样用公式
8、
9、进行转换得到自噪声数据,其中a为传感器灵敏度,b为噪声监测系统的调理板的调理增益,c为噪声监测系统的ad板的a/d增益,x为自噪声数据的采样。
10、根据本技术第一方面的第四数据关联采集与传输控制方法,提供了根据本技术第一方面的第五数据关联采集与传输控制方法,其中对于声卡,音频数据采集模块监听声卡输入设备从waveinevent事件采集音频数据;对于音频采集卡,音频数据采集模块从网络适配器捕获音频采集卡提供的数据包并根据音频采样率、数据长度解析出音频数据;对于音频采集设备,音频数据采集模块从同音频采集设备对应的组播地址接收音频数据,以及还通过udp组播命令查询音频采集设备状态,发送音频开始采集和停止采集指令来控制音频采集设备发送或停止发送音频数据。
11、根据本技术第一方面的第五数据关联采集与传输控制方法,提供了根据本技术第一方面的第六数据关联采集与传输控制方法,其中所述定时器线程的微秒级定时器计时40ms时间间隔来触发从缓存区对音频数据包的采集和发送。
12、根据本技术第一方面的第六数据关联采集与传输控制方法,提供了根据本技术第一方面的第七数据关联采集与传输控制方法,其中响应于使用新的设备信息采集单元,设备报文信息采集模块加载同新的设备信息采集单元所提供的数据种类对应的新数据解析动态库;所加载的数据解析动态库以委托方法实现接收并解析组播数据包、以及累积从组播数据包解析数据并存入缓存区;设备报文信息采集模块各数据解析动态库以相同的处理流程使用数据解析动态库提供的各委托方法。
13、根据本技术第一方面的第七数据关联采集与传输控制方法,提供了根据本技术第一方面的第八数据关联采集与传输控制方法,其中自噪声数据采集模块通过tcp协议连接噪声监测系统,自噪声数据采集模块向噪声监测系统发送采集控制命令,采集开始后,以每秒一次的指定频率循环接收噪声监测系统发送的自噪声采样数据包,采集结束后,发送采集结束指令给噪声监测系统,以及自噪声数据采集模块关闭自噪声数据采集线程。
14、根据本技术第一方面的第八数据关联采集与传输控制方法,提供了根据本技术第一方面的第九数据关联采集与传输控制方法,其中阵元域数据采集解析子模块向阵元域数据预处理子模块发送指令请求设备状态,若设备正常运行可进行阵元域数据采集时,则向阵元域数据预处理子模块发送阵元域数据采集开始指令,阵元域数据预处理子模块接收数据采集开始指令后,开始对舰船阵元域数据进行采集,同时对采集的阵元域数据进行分包生成阵元域数据分包;阵元域数据预处理子模块发送的阵元域数据分包的大小小于链路层最大传输单元所能携带的数据量大小。
15、根据本技术第一方面的第九数据关联采集与传输控制方法,提供了根据本技术第一方面的第十数据关联采集与传输控制方法,其中所述微秒级计时器以1微秒为精度计时,通过对所述微秒级计时器独占的cpu核的时钟计数,计数次数达到1微秒内的该cpu核的时钟周期数,所述微秒级计时器触发;每秒40次从授时设备获取时间并用获取的时间更新本地时统信息;以及每秒10次获取声纳目标跟踪信息;数据打包与发送模块以40ms间隔从缓冲区分别获取音频数据包并通过网络发送。
16、根据本技术第一方面的第十数据关联采集与传输控制方法,提供了根据本技术第一方面的第十一数据关联采集与传输控制方法,其中设备报文信息采集模块、音频数据采集模块、自噪声数据采集模块、阵元域数据采集解析子模块与场景数据采集模块各自以list<t>泛型作为缓冲区容器将各自的数据包存入缓冲区,在写缓冲区时还对被操作的list<t>缓冲区加锁,操作完成后释放锁;数据打包与发送模块在读取缓冲区时,对被操作的list<t>缓冲区加锁,操作完成后释放锁。
17、根据本技术的第二方面,提供了一种通信设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现根据本技术第一方面的第一至第十一基于水声数据的组态化关联采集与传输控制方法。