一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于BS架构的遥测接收机的数据处理方法与流程

2022-06-12 00:24:53 来源:中国专利 TAG:

一种基于bs架构的遥测接收机的数据处理方法
技术领域
1.本发明涉及遥测技术领域,尤其涉及一种基于bs架构的遥测接收机的数据处理方法。


背景技术:

2.遥测机的数据接收软件作为遥测机的上位机软件,主要负责配合硬件层完成遥测机参数控制、状态监控、遥测数据的接收、记录、回放与网络转发。为了提高数据展示实时性,以往多数上位机软件均采用cs(client-server,服务器-客户机)桌面应用形式,然而随着信息化技术的发展,人们对设备的远程控制,远程访问,无人化运作等需求日渐突出,cs桌面应用在这些方面显得格外笨拙。
3.此外,对高码率串行遥测数据帧同步处理的时效性决定了整个遥测数据处理系统的性能,一般单线程帧同步处理仅能应对低码率遥测数据流,在高码率数据流的冲击下则会产生缓存堆积造成内存泄露同时难以保证数据时效性。


技术实现要素:

4.针对现有技术中所存在的不足,本发明提供一种基于bs架构的遥测接收机的数据处理方法。
5.在一个实施例中,本发明提供一种基于bs架构的遥测接收机的数据处理方法,包括:
6.接收遥测接收机发送的初始遥测数据并进行接收缓存;
7.对接收缓存得到的初始遥测数据进行多线程同步处理,得到目标遥测数据,对目标遥测数据进行多队列存入和提取,得到全帧数据;
8.对全帧数据进行发布缓存;
9.将发布缓存得到的全帧数据按照第一时间间隔上传到ui端进行显示。
10.在一个实施例中,对接收缓存得到的初始遥测数据进行多线程同步处理,包括:
11.将某个初始线程转换为目标线程并对接收缓存得到的初始遥测数据进行同步处理;
12.若接收缓存产生堆积且数量超过设定值则将剩余的初始线程中优先级最高的一个初始线程转换为目标线程并对接收缓存得到的剩余的初始遥测数据进行同步处理,直至完成接收缓存得到的所有初始遥测数据的同步处理。
13.在一个实施例中,在将某个初始线程转换为目标线程的步骤之前,上述基于bs架构的遥测接收机的数据处理方法还包括:
14.将所有初始线程按照优先级从高到低依次排列;
15.将剩余的初始线程中优先级最高的一个初始线程转换为目标线程,包括:
16.按照初始线程的排列顺序将下一个初始线程转换为目标线程;
17.其中,目标线程完成同步处理后转换为初始线程并按照优先级从高到低排列到剩
余的初始线程中。
18.在一个实施例中,对目标遥测数据进行多队列存入和提取,包括:
19.按照进行同步处理的顺序将每个目标线程完成同步处理后得到的目标遥测数据存入对应的初始队列,存入目标遥测数据的初始队列转换为目标队列;
20.按照进行同步处理的顺序提取目标队列中的目标遥测数据。
21.在一个实施例中,对接收缓存得到的初始遥测数据进行多线程同步处理,得到目标遥测数据,包括:
22.对初始遥测数据进行同步处理,得到待检测遥测数据;
23.判断待检测遥测数据是否同步成功,若是则将待检测遥测数据作为目标遥测数据,若否则重新进入对初始遥测数据进行同步处理的步骤,直至得到目标遥测数据。
24.在一个实施例中,判断待检测遥测数据是否同步成功,包括:
25.对待检测遥测数据进行同步字相似度判断,若不在容错范围内,则判定同步不成功,否则对待检测遥测数据进行假同步判断;
26.若是假同步,则判定同步不成功,否则判定同步成功。
27.在一个实施例中,在对所述全帧数据进行发布缓存的步骤之后,上述基于bs架构的遥测接收机的数据处理方法还包括:
28.对发布缓存得到的全帧数据进行挑帧处理,得到挑帧数据;
29.将挑帧数据按照第二时间间隔上传到ui端进行显示;第二时间间隔小于第一时间间隔。
30.在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
31.接收遥测接收机发送的初始状态数据并进行接收缓存;
32.对接收缓存得到的初始状态数据进行协议拆封,得到目标状态数据;
33.对目标状态数据进行发布缓存;
34.将发布缓存得到的目标状态数据按照第三时间间隔上传到ui端进行显示;第三时间间隔大于第一时间间隔。
35.在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
36.接收遥测接收机发送的初始iq数据并进行接收缓存;
37.对接收缓存得到的初始iq数据进行解析处理,得到目标iq数据;
38.对目标iq数据进行发布缓存;
39.将发布缓存得到的目标iq数据按照第三时间间隔上传到ui端进行显示。
40.在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
41.接收遥测接收机发送的初始星座图数据并进行接收缓存;
42.对接收缓存得到的初始星座图数据进行解析处理,得到目标星座图数据;
43.对目标星座图数据进行发布缓存;
44.将发布缓存得到的目标星座图数据按照第三时间间隔上传到ui端进行显示。
45.通过上述基于bs架构的遥测接收机的数据处理方法,采用bs(browser/server architecture,浏览器和服务器)架构,具有的远程访问优势;通过多线程对初始遥测数据的帧同步处理,通过多队列对同步后的目标遥测数据进行对应的多队列存入和提取,有效解决高码率串行遥测数据的帧同步时效问题,方便进行系统开发。
architecture,浏览器和服务器)架构,具有的远程访问优势;通过多线程对初始遥测数据的帧同步处理,通过多队列对同步后的目标遥测数据进行对应的多队列存入和提取,有效解决高码率串行遥测数据的帧同步时效问题,方便进行系统开发。
68.在一个实施例中,对接收缓存得到的初始遥测数据进行多线程同步处理,包括:
69.将某个初始线程转换为目标线程并对接收缓存得到的初始遥测数据进行同步处理;
70.其中,初始线程和目标线程在功能上并无区别,仅仅只是表示其状态,初始线程的状态为“备用状态”,而目标线程的状态为“使用状态”。
71.若接收缓存产生堆积且数量超过设定值则将剩余的初始线程中优先级最高的一个初始线程转换为目标线程并对接收缓存得到的剩余的初始遥测数据进行同步处理,直至完成接收缓存得到的所有初始遥测数据的同步处理。
72.通过对线程设定对应的优先级,从而能够保证按照设定的规则来调用新一个线程,避免发生系统错乱。
73.在一个实施例中,在将某个初始线程转换为目标线程的步骤之前,上述基于bs架构的遥测接收机的数据处理方法还包括:
74.将所有初始线程按照优先级从高到低依次排列;
75.将剩余的初始线程中优先级最高的一个初始线程转换为目标线程,包括:
76.按照初始线程的排列顺序将下一个初始线程转换为目标线程;
77.其中,目标线程完成同步处理后转换为初始线程并按照优先级从高到低排列到剩余的初始线程中。
78.其中,为了使本实施例理解更加清楚,现进行详细说明;如图2所示,对高码率串行遥测数据的帧同步处理,帧格式越短(如无副帧格式)帧同步数据处理越慢,若单线程进行帧同步处理,数据堆积越多,照成遥测数据接收缓存溢出最终导致系统崩溃;为解决单线程对串行数据处理的瓶颈,本实施例具体提出了选择器 线程池的方式来对串行遥测数据进行帧同步处理,其原理如下:
79.(1)如图3所示,适配器a初始化一个线程链表,通过链表来选择调用线程执行,保证串行数据不错乱;
80.(2)线程序号越小执行优先级越高,在链表中线程序号从小到大排列;
81.(3)如图4所示,线程开始均为空闲状态,线程状态分:“空闲”,“运行”,“满负荷”三种状态,状态间转化;
82.(4)如图5所示,被选择线程从接收缓存一次读取全部原始遥测数据进行帧同步处理,线程状态从“空闲
”‑
》“运行”处理完成后再次从接收缓存读取全部数据进行处理;如图6所示,在线程执行过程中适配器a监控接收缓存大小,若接收缓存产生堆积,数量超出设定值,线程状态从“运行
”‑
》“满负荷”,同时启用新线程,选择指针后移,调用下一节点线程进行帧同步处理;
83.(5)如图7所示,当高负荷线程执行完成时,查看适配器a选择指针状态,若指向其他节点,则线程状态从“满负荷
”‑
》“空闲”,同时进行线程链表变换队形操作,从当前节点断开移位到指针当前节点之后,同时高优先级空闲节点可插队排在低优先级空闲节点之前;
84.(6)适配器a线程链表指针只能向后移动,一次只能移动一个节点。
85.在一个实施例中,对目标遥测数据进行多队列存入和提取,包括:
86.按照进行同步处理的顺序将每个目标线程完成同步处理后得到的目标遥测数据存入对应的初始队列,存入目标遥测数据的初始队列转换为目标队列;
87.按照进行同步处理的顺序提取目标队列中的目标遥测数据。
88.其中,为了使本实施例理解更加清楚,现进行详细说明;如图10所示,帧同步处理时,需保证数据顺序执行,同步完成后的数据也需保证按序网络转发或上传ui端进行显示;本方法通过多队列 选择器来完成同步后数据的存入和提取,具体包括:
89.(1)如图8所示,为每一个帧同步处理线程均分配一个缓存队列,线程同步后数据输出到对应的队列中;
90.(2)如图9所示,适配器b提取数据链表,与适配器a线程调用链表同步;存储指针随适配器a线程调用链表指针移动,取数据指针随数据读取进度进行移位;
91.(3)取数据指针所指缓存队列为空时,指针后移同时删除前一节点。
92.在一个实施例中,对接收缓存得到的初始遥测数据进行多线程同步处理,得到目标遥测数据,包括:
93.对初始遥测数据进行同步处理,得到待检测遥测数据;
94.判断待检测遥测数据是否同步成功,若是则将待检测遥测数据作为目标遥测数据,若否则重新进入对初始遥测数据进行同步处理的步骤,直至得到目标遥测数据。
95.通过对同步进行误差检测,能够提高目标遥测数据的准确性。
96.在一个实施例中,判断待检测遥测数据是否同步成功,包括:
97.对待检测遥测数据进行同步字相似度判断,若不在容错范围内,则判定同步不成功,否则对待检测遥测数据进行假同步判断;
98.其中,同步字相似度判断:根据参数设置增加容错位处理;按同步字位数从数据头部取数据,进行按位与操作,统计结果中位不同数量,若在容错范围内,则表示同步成功,若超出容错位范围,则同步失败,从数据头部移除一个字节,重复操作;
99.若是假同步,则判定同步不成功,否则判定同步成功;
100.其中,排除“假同步”:考虑数据区域内出现同步字,产生假同步导致相邻帧有效数据丢失。当同步字锁定时,按帧长度读取下一帧位置同步字,若可找到则为真同步,否则对该段数据按序进行搜索,若在中段位置找到新同步字,则当前锁定的同步字位为假同步,从后一个同步字处进行新同步处理。
101.在一个实施例中,在直至得到目标遥测数据的步骤之后,还包括:
102.对有子帧格式的数据进行“首子帧”标示搜索。
103.其中,同步完整帧取当前“首子帧”到下一“首子帧”上一副帧为完整帧数据,搜索下一“首子帧”时需在子帧长度范围内搜索,防止误码导致同步返回多帧合一帧情况。
104.通过对同步过程进行检测,能够有效解决传统帧同步策略数据丢失等弊端,具有容错性,可靠性,同时不会丢失有效数据。
105.在一个实施例中,在对所述全帧数据进行发布缓存的步骤之后,上述基于bs架构的遥测接收机的数据处理方法还包括:
106.对发布缓存得到的全帧数据进行挑帧处理,得到挑帧数据;
107.将挑帧数据按照第二时间间隔上传到ui端进行显示;第二时间间隔小于第一时间
间隔。
108.其中,如图10所示,为观察帧同步后数据的连续性,可通过挑帧处理显示,将ui端要呈现的数据进行挑帧配置,服务端对全帧数据进行挑帧处理,同时缓存一定量数据(比如500帧)并间隔时间20毫秒(即第二时间间隔可以设定为20毫秒)上传ui端,ui端拿到挑帧数据一次画图,这样既减轻了高频次大数据量对前端的压力,又加快了服务端处理数据的效率,可应对20m码率数据流。
109.如图1所示,在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
110.接收遥测接收机发送的初始状态数据并进行接收缓存;
111.对接收缓存得到的初始状态数据进行协议拆封,得到目标状态数据;
112.对目标状态数据进行发布缓存;
113.将发布缓存得到的目标状态数据按照第三时间间隔上传到ui端进行显示;第三时间间隔大于第一时间间隔。
114.其中,将状态数据间隔时间1秒(即第三时间间隔可以设定为1秒)采集处理并上传到ui端进行显示。
115.如图1所示,在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
116.接收遥测接收机发送的初始iq数据并进行接收缓存;
117.对接收缓存得到的初始iq数据进行解析处理,得到目标iq数据;
118.对目标iq数据进行发布缓存;
119.将发布缓存得到的目标iq数据按照第三时间间隔上传到ui端进行显示。
120.其中,将iq数据间隔时间1秒(即第三时间间隔可以设定为1秒)采集处理并上传到ui端进行显示。
121.如图1所示,在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
122.接收遥测接收机发送的初始星座图数据并进行接收缓存;
123.对接收缓存得到的初始星座图数据进行解析处理,得到目标星座图数据;
124.对目标星座图数据进行发布缓存;
125.将发布缓存得到的目标星座图数据按照第三时间间隔上传到ui端进行显示。
126.其中,由于画图所需数据量较大,加之板卡底层数据带宽较低,一次上传完整数据会对底层造成压力,本实施例从底层采用高频次少数据的方式采集数据并处理,同时进行定量缓存,最后间隔时间1秒(即第三时间间隔可以设定为1秒)上传ui端进行显示。
127.如图1所示,在一个实施例中,上述基于bs架构的遥测接收机的数据处理方法还包括:
128.控制参数通过数据交互协议实时下发板卡端同时下发下行数据下发计数,板卡端通过查询下发计数进行参数生效判断。
129.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
130.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献