本发明涉及数据通信,具体涉及一种航天分布式网络实时通信方法及系统。
背景技术:
1、对于航天分布式嵌入系统这样包括大量传感器和多个计算资源的复杂系统,受航天业务复杂性和运行环境的恶劣性影响,航天分布式嵌入系统具备高度动态特性,这种动态性既表现在计算资源的动态性和物理过程的动态性上。航天嵌入式系统中诸多要素可能在运行过程中发生剧烈的变动。这种变动的原因是多样的,包括系统要素的临时性失效、持续性失效、业务变更、通信噪音、系统重构等。因此,分布嵌入式实时系统的动态性对连接各系统要素的网络、网络协议提出了特殊的要求,以适应这种动态变化特性。
2、目前,大部分的通信协议采用基于cache的方式来提高通信质量。在这种方式中,需要传输的数据被置于cache中,极大减少通信和计算负载。例如,对于那些经常被使用的对象,一旦第一次被传输到目标位置,将其保存在cache中;如果后续再访问该对象,那么无需再次向源端发起传输请求,直接从cache中获取该对象的值即可。这种方式在基于web的服务系统中成为标准的通信模式。cache方式对于那些相对静态,但是又经常被访问的系统效果比较明显;但是对于数据源实时变化的系统,cache方式难以满足系统的动态需求。
技术实现思路
1、有鉴于此,本发明提供了一种一种航天分布式网络实时通信方法及系统,以解决相关技术无法满足数据源实时变化的系统中的动态需求的问题。
2、第一方面,本发明提供了一种航天分布式网络实时通信方法,应用于由发布者端、订阅者端和多个采集模块构成的航天分布式网络实时通信系统中的发布者端,发布者端和订阅者端依赖于多个采集模块采集的数据,每个采集模块均关联一个用于表征采集模块的数据特征的数据预测模型,该方法包括:
3、获取在当前时刻下通过采集模块采集的观察值;
4、基于与采集模块相关联的数据预测模型,得到数据预测模型输出的与当前时刻相对应的预测值;
5、在检测到观察值与预测值之间的误差超过预设范围时,将观察值发送给订阅者端,以使订阅者端基于观察值对数据预测模型进行更新,并将观察值进行存储以供应用程序调用;
6、和/或,在检测到观察值与预测值之间的误差未超过预设范围时,舍弃观察值,以使订阅者端将数据预测模型输出的预测值进行存储以供应用程序调用。
7、从而通过发布者端获取在当前时刻下通过采集模块采集的观察值,并基于与采集模块相关联的数据预测模型,得到数据预测模型输出的与当前时刻相对应的预测值。在检测到观察值与预测值之间的误差超过预设范围时,发布者端和订阅者端双方才会产生真正的通信,利用观察值对数据预测模型进行更新,对数据预测模型的预测精度进行纠正。在检测到观察值与预测值之间的误差未超过预设范围时,通过数据预测模型预测采集模块的值,不会受到通信延迟影响,保证了通信的实时性。
8、从而使得数据预测模型的精度又能回归到预定的范围内。
9、在一种可选的实施方式中,该方法还包括:
10、获取不同时刻下发布者端的资源利用率以及当前采集模块的精度;
11、根据预先获取的目标资源利用率和不同时刻的资源利用率以及精度,计算使发布者端在当前时刻的资源利用率达到目标资源利用率的控制参数;控制参数为当前采集模块在当前时刻的精度。
12、从而通过预先获取的目标资源利用率和不同时刻的资源利用率以及精度,计算使发布者端在当前时刻的资源利用率达到目标资源利用率的控制参数,以对发布者端的资源利用率进行有效控制。
13、在一种可选的实施方式中,订阅者端包括多个订阅者,将观察值发送给订阅者端,包括:
14、通过组播的方式将观察值发送给订阅者端的各个订阅者。
15、从而通过组播的方式将观察值发送给订阅者端的各个订阅者,使各订阅者都能获得最新的采集模块的值。
16、第二方面,本发明提供了一种航天分布式网络实时通信方法,应用于由发布者端、订阅者端和多个采集模块构成的航天分布式网络实时通信系统中的订阅者端,发布者端和订阅者端依赖于多个采集模块采集的数据,每个采集模块均关联一个用于表征采集模块的数据特征的数据预测模型,该方法包括:
17、在接收到发布者端发送的在当前时刻下通过采集模块采集的观察值时,基于观察值对与采集模块相关联的数据预测模型进行更新,并将观察值进行存储以供应用程序调用;
18、和/或,在未接收到发布者端发送的观察值时,通过数据预测模型对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值,并将预测值进行存储以供应用程序调用。
19、从而在接收到发布者端发送的在当前时刻下通过采集模块采集的观察值时,基于观察值对与采集模块相关联的数据预测模型进行更新,对数据预测模型的预测精度进行纠正。在未接收到发布者端发送的观察值时,通过数据预测模型对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值,不会受到通信延迟影响,保证了通信的实时性。
20、在一种可选的实施方式中,数据预测模型依赖于采集模块的状态向量;基于观察值对与采集模块相关联的数据预测模型进行更新,包括:
21、基于观察值对当前时刻数据预测模型依赖的状态向量进行更新;
22、在更新前,在当前时刻t1数据预测模型依赖的状态向量为:
23、
24、在更新后,在当前时刻t1数据预测模型依赖的状态向量为:
25、
26、其中,xt表示采集模块在任意t时刻的观察值,表示采集模块的数据变化速率,v表示发布者端发送的观察值。
27、从而通过基于观察值对当前时刻数据预测模型依赖的状态向量进行更新,保证数据通信的高效性和实时性。
28、在一种可选的实施方式中,通过数据预测模型对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值,包括:
29、按照预设周期,通过数据预测模型重复对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值;
30、其中,预设周期小于采集模块对应的数据有效周期,数据有效周期是基于采集模块的精度和数据变化速率得到的。
31、从而通过按照预设周期重复对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值,来保证数据的新鲜性和有效性。
32、在一种可选的实施方式中,该方法还包括:
33、对订阅者端用于存储数据的缓冲区的占用进行预测,得到缓冲区占用预测值;
34、基于缓冲区占用预测值,对订阅者端的数据接收速度进行调整。
35、从而通过对订阅者端用于存储数据的缓冲区的占用进行预测,对订阅者端的数据接收速度进行调整。
36、第三方面,本发明提供了一种航天分布式网络实时通信系统,包括:发布者端、订阅者端和多个采集模块;发布者端和订阅者端依赖于多个采集模块采集的数据,每个采集模块均关联一个用于表征采集模块的数据特征的数据预测模型;
37、发布者端获取在当前时刻下通过采集模块采集的观察值;基于与采集模块相关联的数据预测模型,得到数据预测模型输出的与当前时刻相对应的预测值;在检测到观察值与预测值之间的误差超过预设范围时,将观察值发送给订阅者端;
38、订阅者端在接收到发布者端发送的在当前时刻下通过采集模块采集的观察值时,基于观察值对与采集模块相关联的数据预测模型进行更新,并将观察值进行存储以供应用程序调用。
39、在一种可选的实施方式中,发布者端在检测到观察值与预测值之间的误差未超过预设范围时,舍弃观察值;
40、订阅者端在未接收到发布者端发送的观察值时,通过数据预测模型对采集模块在当前时刻采集的数据进行预测,得到与当前时刻相对应的预测值,并将预测值进行存储以供应用程序调用。
41、在一种可选的实施方式中,每个采集模块的精度按照预设质量规范进行动态调整;
42、预设质量规范包括数据质量规范和服务质量规范,数据质量规范是基于每个采集模块的预设精度上限得到的,服务质量规范是基于发布者端或订阅者端的资源利用率得到的。