本发明涉及通信,具体提供一种数据处理方法、电子设备及存储介质。
背景技术:
1、随着网络协议的拓展和广泛应用,汽车在内的工业领域在网络设计时通常设计多网及复杂拓扑结构,甚至配置多个网卡和交换机设备实现冗余通信,以保障信息安全和可靠性。由iec(国际电工委员会)提出的prp(并行冗余协议parallel redundancyprotocol),可保证现场通信数据在传输过程中的正确性和安全性。但prp协议只针对双网链路,在实际使用中也缺少对复杂网络情况的处理,如网络风暴和网络延迟等。
2、相应地,本领域需要一种新的方案来解决上述问题。
技术实现思路
1、为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决上述技术问题。本发明提供了一种数据处理方法、电子设备及存储介质。
2、在第一方面,本发明提供一种数据处理方法,应用于接收端,其特征在于,所述方法包括:创建数据传输协议;接收数据帧;在缓存区创建滑动窗口;基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层。
3、在一个实施方式中,所述基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层,包括:判断所述数据帧的帧序号与所述滑动窗口的位置关系;在所述数据帧的帧序号小于所述滑动窗口的窗口下限情况下,丢弃所述数据帧;在所述数据帧的帧序号位于所述滑动窗口内的情况下,基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层;在所述数据帧的帧序号大于所述滑动窗口的窗口上限情况下,基于所述数据帧的帧序号更新所述滑动窗口,基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层。
4、在一个实施方式中,所述基于所述数据帧的帧序号更新所述滑动窗口,包括:基于所述数据帧的帧序号更新所述滑动窗口的窗口上限,得到更新后的所述滑动窗口。
5、在一个实施方式中,所述基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层,包括:在所述缓存区查询是否存在所述数据帧的帧序号;若是,则丢弃所述数据帧;若否,将所述数据帧存储至所述缓存区,将位于所述缓存区的滑动窗口内连续的数据帧发送至所述应用层,将不连续的数据帧暂存至所述缓存区。
6、在一个实施方式中,所述方法还包括:在所述数据帧存储至所述缓存区后,设置所述缓存区对应位置的标志位为1,和/或在所述连续的数据帧发送至所述应用层后,设置所述缓存区对应位置的标识位为0。
7、在一个实施方式中,所述方法还包括:判断存储至所述缓存区中的数据帧是否超时;若是,则将所述数据帧推送至所述应用层。
8、在一个实施方式中,所述判断存储至所述缓存区中的数据帧是否超时,包括:获取所述数据帧的发送时间和时间阈值;基于所述发送时间与所述滑动窗口的窗口下限确定时间差;在所述时间差大于所述时间阈值的情况下,则确定存储至所述缓存区中的数据帧超时。
9、在一个实施方式中,所述滑动窗口为动态窗口;所述创建滑动窗口,包括:基于所述数据帧的帧序号确定所述滑动窗口的窗口上限和窗口下限;或基于所述数据帧的帧序号确定所述滑动窗口的窗口下限,基于期望的下一数据帧的帧序号确定所述滑动窗口的窗口上限。
10、在第二方面,提供一种电子设备,该电子设备包括至少一个处理器和至少一个存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述任一项所述的数据处理方法。
11、在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述任一项所述的数据处理方法。
12、本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
13、本发明中的数据处理方法,应用于接收端,包括创建数据传输协议;接收数据帧;在缓存区创建滑动窗口;基于数据帧的帧序号和滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层。如此,无需对网络接收硬件做适配和修改,各个链路无优先级差别,对于同一序列号的报文,先收到的数据帧先处理,后收到的冗余帧丢弃,增加了多链路数据处理的灵活性,保证了数据帧的有效性,实现了多网络链路的冗余数据处理功能,提高了数据的处理效率。
1.一种数据处理方法,应用于接收端,其特征在于,所述方法包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层,包括:
3.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述数据帧的帧序号更新所述滑动窗口,包括:基于所述数据帧的帧序号更新所述滑动窗口的窗口上限,得到更新后的所述滑动窗口。
4.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述数据帧的帧序号和所述滑动窗口选择性地丢弃所述数据帧或发送所述数据帧至应用层,包括:
5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:在所述数据帧存储至所述缓存区后,设置所述缓存区对应位置的标志位为1,和/或
6.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的数据处理方法,其特征在于,所述判断存储至所述缓存区中的数据帧是否超时,包括:
8.根据权利要求1所述的数据处理方法,其特征在于,所述滑动窗口为动态窗口;
9.一种电子设备,包括至少一个处理器和至少一个存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至8中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至8中任一项所述的数据处理方法。