利索能及
我要发布
收藏
专利号: 2018112573924
申请人: 杭州海康威视系统技术有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据报文传输方法,其特征在于,所述方法包括:

接收发送方发送的数据报文,所述数据报文包括报文序号;

按照报文序号缓存接收到的数据报文;

获取缓存的数据报文的报文序号中的最大报文序号;

确定等待接收的数据报文的报文序号;

若缓存的最大报文序号与所述等待接收的数据报文的报文序号之间的差大于报文序号阈值,则确定满足数据报文重传条件,所述报文序号阈值为单位时间内接收到的数据报文的个数与参考阈值中的最大值;

若满足数据报文重传条件,则确定是否触发重传;

若触发重传,则向所述发送方下发重传命令,所述重传命令用于指示重传的数据报文的报文序号;

其中,所述重传的数据报文的报文序号的确定方式包括:

获取所述等待接收的数据报文的报文序号与重传的数据报文的报文序号参考值的和,得到第一数值;获取所述缓存的最大报文序号与单位时间接收数据报文的数量的差,得到第二数值;将所述第一数值与所述第二数值中的较小值确定为重传的最大报文序号;将所述等待接收的数据报文的报文序号与所述重传的最大报文序号之间的报文序号作为所述重传命令中指示重传的数据报文的报文序号;其中,所述重传的数据报文的报文序号参考值根据所述缓存的最大报文序号和所述等待接收的数据报文的报文序号确定。

2.根据权利要求1所述的方法,其特征在于,所述确定是否触发重传,包括:

获取需要重传的数据报文的已重传次数以及上次发送重传命令的时间;

如果已重传次数小于重传次数阈值,且当前时间与上次发送重传命令的时间的差大于时间差阈值,则确定触发重传;

如果已重传次数等于重传次数阈值,且当前时间与上次发送重传命令的时间的差大于时间差阈值,则放弃等待接收数据报文;

如果已重传次数不大于重传次数阈值,且当前时间与上次发送重传命令的时间的差不大于时间差阈值,则不触发重传,继续等待接收数据报文。

3.根据权利要求1或2所述的方法,其特征在于,所述按照报文序号缓存接收到的数据报文,包括:获取接收的数据报文的报文序号与缓存的最大报文序号的差值;

若所述差值大于参考序号,则将接收的数据报文按照报文序号进行缓存。

4.一种数据报文传输方法,其特征在于,所述方法包括:

获取待传输的数据报文;

将获取的数据报文存入缓冲区;

将所述数据报文从所述缓冲区加入到发送队列中,按照报文序号遍历所述发送队列中的数据报文,并依次发送至接收方,所述数据报文包括报文序号,所述接收方用于按照报文序号缓存接收到的数据报文,且若缓存的最大报文序号与等待接收的数据报文的报文序号之间的差大于报文序号阈值则确定满足数据报文重传条件,若满足数据报文重传条件则确定是否触发重传,确定触发重传后,下发重传命令,所述重传命令用于指示重传的数据报文的报文序号,所述报文序号阈值为单位时间内接收到的数据报文的个数与参考阈值中的最大值;其中,所述重传的数据报文的报文序号为等待接收的数据报文的报文序号与重传的最大报文序号之间的报文序号,所述重传的最大报文序号为第一数值与第二数值中的较小值,所述第一数值为所述等待接收的数据报文的报文序号与重传的数据报文的报文序号参考值的和,所述第二数值为所述缓存的最大报文序号与单位时间接收数据报文的数量的差,所述重传的数据报文的报文序号参考值根据所述缓存的最大报文序号和所述等待接收的数据报文的报文序号确定;

接收所述接收方下发的重传命令;

根据所述重传命令指示的报文序号从所述缓冲区中取出对应的数据报文,将取出的数据报文添加到重传队列中,按照报文序号遍历所述重传队列中的数据报文,并依次发送至所述接收方。

5.一种数据报文传输装置,其特征在于,所述装置包括:

接收模块,用于接收发送方发送的数据报文,所述数据报文包括报文序号;

缓存模块,用于按照报文序号缓存接收到的数据报文;

获取模块,用于获取缓存的数据报文的报文序号中的最大报文序号;确定等待接收的数据报文的报文序号;

第一确定模块,用于若缓存的最大报文序号与所述等待接收的数据报文的报文序号之间的差大于报文序号阈值,则确定满足数据报文重传条件,所述报文序号阈值为单位时间内接收到的数据报文的个数与参考阈值中的最大值;

第二确定模块,用于若满足数据报文重传条件,则确定是否触发重传;

下发模块,用于若触发重传,则向所述发送方下发重传命令,所述重传命令用于指示重传的数据报文的报文序号;

所述下发模块,还用于获取所述等待接收的数据报文的报文序号与重传的数据报文的报文序号参考值的和,得到第一数值;获取所述缓存的最大报文序号与单位时间接收数据报文的数量的差,得到第二数值;将所述第一数值与所述第二数值中的较小值确定为重传的最大报文序号;将所述等待接收的数据报文的报文序号与所述重传的最大报文序号之间的报文序号作为所述重传命令中指示重传的数据报文的报文序号;其中,所述重传的数据报文的报文序号参考值根据所述缓存的最大报文序号和所述等待接收的数据报文的报文序号确定。

6.根据权利要求5所述的装置,其特征在于,所述第二确定模块,用于获取需要重传的数据报文的已重传次数以及上次发送重传命令的时间;

如果已重传次数小于重传次数阈值,且当前时间与上次发送重传命令的时间的差大于时间差阈值,则确定触发重传;

如果已重传次数等于重传次数阈值,且当前时间与上次发送重传命令的时间的差大于时间差阈值,则放弃等待接收数据报文;

如果已重传次数不大于重传次数阈值,且当前时间与上次发送重传命令的时间的差不大于时间差阈值,则不触发重传,继续等待接收数据报文。

7.根据权利要求5或6所述的装置,其特征在于,所述缓存模块,用于获取接收的数据报文的报文序号与缓存的最大报文序号的差值;若所述差值大于参考序号,则将接收的数据报文按照报文序号进行缓存。

8.一种数据报文传输装置,其特征在于,所述装置包括:

获取模块,用于获取待传输的数据报文;

缓存模块,用于将获取的数据报文存入缓冲区;

发送模块,用于将所述数据报文从所述缓冲区加入到发送队列中,按照报文序号遍历所述发送队列中的数据报文,并依次发送至接收方,所述数据报文包括报文序号,所述接收方用于按照报文序号缓存接收到的数据报文,且若缓存的最大报文序号与等待接收的数据报文的报文序号之间的差大于报文序号阈值则确定满足数据报文重传条件,若满足数据报文重传条件则确定是否触发重传,确定触发重传后,下发重传命令,所述重传命令用于指示重传的数据报文的报文序号,所述报文序号阈值为单位时间内接收到的数据报文的个数与参考阈值中的最大值;其中,所述重传的数据报文的报文序号为等待接收的数据报文的报文序号与重传的最大报文序号之间的报文序号,所述重传的最大报文序号为第一数值与第二数值中的较小值,所述第一数值为所述等待接收的数据报文的报文序号与重传的数据报文的报文序号参考值的和,所述第二数值为所述缓存的最大报文序号与单位时间接收数据报文的数量的差,所述重传的数据报文的报文序号参考值根据所述缓存的最大报文序号和所述等待接收的数据报文的报文序号确定;

接收模块,用于接收所述接收方下发的重传命令;

重传模块,用于根据所述重传命令指示的报文序号从所述缓冲区中取出对应的数据报文,将取出的数据报文添加到重传队列中,按照报文序号遍历所述重传队列中的数据报文,并依次传输至所述接收方。

9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令在被所述处理器执行时实现如权利要求1至3任一项所述的数据报文传输方法,或者,所述至少一条指令在被所述处理器执行时实现如权利要求4所述的数据报文传输方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令在被执行时实现如权利要求1至3任一项所述的数据报文传输方法,或者所述至少一条指令在被执行时实现如权利要求4所述的数据报文传输方法。