CN115734404A - 基站内数据传输方法、装置及网络设备 - Google Patents
基站内数据传输方法、装置及网络设备 Download PDFInfo
- Publication number
- CN115734404A CN115734404A CN202110984555.4A CN202110984555A CN115734404A CN 115734404 A CN115734404 A CN 115734404A CN 202110984555 A CN202110984555 A CN 202110984555A CN 115734404 A CN115734404 A CN 115734404A
- Authority
- CN
- China
- Prior art keywords
- message
- base station
- station module
- packet
- lost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种基站内数据传输方法、装置及网络设备,该方法包括:在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一SDI向第二基站模块发送多个连续编号的第一报文;在第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收第二基站模块反馈的重传丢失报文编号对应的丢失报文的ACK报文,丢失报文编号为第二基站模块根据第二报文的编号和第三报文的编号确定的;根据ACK报文,重传丢失报文编号对应的丢失报文。上述方案,能够准确的检测出丢包数据,完成丢失报文的重传,保障传输质量。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种基站内数据传输方法、装置及网络设备。
背景技术
5G基站设备是由多个分布式的硬件板卡拼装而成,不同功能的硬件板卡组装成一个完整的基站功能主体,而相同硬件板卡组合则提升基站容量和处理能力。在上述分布式多模块的设备中,多个模块间通信要求满足高并发、低时延、高可靠性、灵活组合易扩展等要求。以太网Ethernet技术虽先天满足高并发、灵活组合的需求,但面对高可靠性和高并发、低时延的矛盾,仍然无能为力,无法准确检测出丢包数据,影响传输质量。
发明内容
本发明实施例提供一种基站内数据传输方法、装置及网络设备,以解决现有技术不能无法准确检测出丢包数据,影响传输质量的问题。
第一方面,本发明实施例提供了一种基站内数据传输方法,应用于第一基站模块,上述方法包括:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
可选的,在接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文之前,所述方法还包括:
保存向所述第二基站模块发送的多个连续编号的第一报文。
可选的,所述根据所述ACK报文,重传所述丢失报文编号对应的丢失报文,包括:
根据所述ACK报文,获取所述丢失报文编号对应的丢失报文;
将所述丢失报文发送至所述第二基站模块。
可选的,所述根据所述ACK报文,获取所述丢失报文编号对应的丢失报文之后,所述方法还包括:
根据所述ACK报文以及所述丢失报文,生成丢失报文信息;
将所述丢失报文信息上报至维测系统。
可选的,在向所述第二基站模块发送每一个第一报文之前,所述方法还包括:
确定每一个第一报文的第一尾签封装方式、第一原始缓冲区以及第一尾签长度;
根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区;
在所述第一目标缓冲区中的尾签区域填充第一尾签数据。
可选的,所述第一尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区,包括:
在所述第一尾签封装方式为拷贝方式的情况下,在所述第一原始缓冲区的基础上扩充第一尾签长度区域,得到第一目标缓冲区;
在所述第一尾签封装方式为非拷贝方式的情况下,按照所述第一原始缓冲区和所述第一尾签长度,配置第一目标缓冲区。
可选的,所述第一尾签数据包括以下至少一项:
指示所述第一报文的发送时刻半帧号的第一指示信息;
指示所述第一报文的发送时刻半帧时间偏移的第二指示信息;
指示所述第一基站模块对所述第一报文连续编号的第三指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第一报文的第一SDI的第四指示信息;
指示所述第一尾签数据类型为数据尾签的第五指示信息。
第二方面,本发明实施例还提供了一种基站内数据传输方法,应用于第二基站模块,所述方法包括:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
可选的,所述方法还包括:
接收所述第一基站模块发送的第二报文,所述第二报文中包含第二尾签数据;
根据所述第二尾签数据,确定报文传输时延。
可选的,所述第二尾签数据包括以下至少一项:
指示所述第二报文的发送时刻半帧号的第六指示信息;
指示所述第二报文的发送时刻半帧时间偏移的第七指示信息;
指示所述第一基站模块对所述第一报文连续编号的第八指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第二报文的第一SDI的第九指示信息;
指示所述第二尾签数据类型为数据尾签的第十指示信息。
可选的,在所述第二尾签数据包括第六指示信息和第七指示信息的情况下,所述根据所述第二尾签数据,确定报文传输时延,包括:
获取当前接收到的第二报文的接收时间;
根据所述接收时间、所述第二报文的发送时刻半帧号以及所述第二报文的发送时刻半帧时间偏移,确定报文传输时延。
可选的,所述根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号,包括:
将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较;
在所述第一编号大于所述最大编号的情况下,则根据所述第二报文的编号与所述第三报文的编号,确定丢失报文编号。
可选的,在将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较之后,所述方法还包括:
在所述第一编号小于所述最大编号的情况下,则将所述第二报文上报至应用程序。
可选的,所述将所述ACK报文发送至所述第一基站模块之后,所述方法还包括:
接收所述第一基站模块根据所述ACK报文反馈的所述丢失报文编号对应的丢失报文;
将所述丢失报文上报至应用程序。
可选的,所述根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文,包括:
确定所述ACK报文的第二尾签封装方式、第二原始缓冲区以及第二尾签长度;
根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区;
在所述第二目标缓冲区中的尾签区域填充第三尾签数据。
可选的,所述第二尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区,包括:
在所述第二尾签封装方式为拷贝方式的情况下,在所述第二原始缓冲区的基础上扩充第二尾签长度区域,得到第二目标缓冲区;
在所述第二尾签封装方式为非拷贝方式的情况下,按照所述第二原始缓冲区和所述第二尾签长度,配置第二目标缓冲区。
可选的,所述第三尾签数据包括以下至少一项:
指示所述ACK报文的发送时刻半帧号的第十一指示信息;
指示所述ACK报文的发送时刻半帧时间偏移的第十二指示信息;
指示所述丢失报文的丢失报文编号的第十三指示信息;
指示所述第二基站模块向所述第一基站模块发送所述ACK报文的第一SDI的第十四指示信息;
指示所述第三尾签数据类型为ACK尾签的第十五指示信息;
指示当前第三尾签数据是否为最后一个尾签数据的第十六指示信息。
第三方面,本发明实施例还提供了一种网络设备,所述网络设备为第一基站模块,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
第四方面,本发明实施例还提供了一种网络设备,所述网络设备为第二基站模块,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
第五方面,本发明实施例还提供了一种基站内数据传输装置,应用于第一基站模块,,包括:
第一发送模块,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
第一接收模块,用于在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
重传模块,用于根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
第六方面,本发明实施例还提供了一种基站内数据传输装置,应用于第二基站模块,包括:
第一处理模块,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
第二处理模块,用于根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
第二发送模块,用于将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
第七方面,本发明实施例还提供了一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述基站内数据传输方法。
在本发明实施例中,在第一基站模块和第二基站模块通信连接、且第一基站模块和第二基站模块的半帧号和半帧时间偏移同步的情况下,第一基站模块通过第一SDI向第二基站模块发送多个连续编号的第一报文,如果第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号,由于第一基站模块发送的报文编号是连续的,因此在第二基站模块收到的报文编号不连续时,可以得知丢失的报文编号,能够准确的检测出丢包数据。并且,第一基站模块接收第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,该丢失报文编号为第二基站模块根据第二报文的编号和第三报文的编号确定的,第一基站模块根据ACK报文,重传丢失报文编号对应的丢失报文,由此完成丢失报文的重传,能够保障传输质量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基站内数据传输方法的步骤流程图之一;
图2为本发明实施例提供的SDI缓存的数组队列形式;
图3为本发明实施例提供的丢失报文信息格式示意图;
图4为本发明实施例提供的数据报文格式示意图;
图5为本发明实施例提供的基站内数据传输方法的步骤流程图之二;
图6为本发明实施例提供的基站内数据流向示意图之一;
图7为本发明实施例提供的基站内数据流向示意图之二;
图8为本发明实施例提供的基站内数据传输方法的步骤流程图之三;
图9为本发明实施例提供的基站内数据传输方法的步骤流程图之四;
图10为本发明实施例提供的ACK报文格式示意图;
图11为本发明实施例提供的基站内数据传输方法的步骤流程图之五;
图12为本发明实施例提供的基站内数据传输装置的结构框图之一;
图13为本发明实施例提供的基站内数据传输装置的结构框图之二;
图14为本发明实施例提供的网络设备的结构框图。
具体实施方式
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,基于Ethernet的可靠性传输方案主要为高层协议保证,即传输层协议保证,包括传输控制协议(Transmission Control Protocol,TCP)、流控制传输协议(StreamControl Transmission Protocol,SCTP)等,对于维测手段,则主要有各协议层面的计数及协议栈抓包插件。下面描述上述各技术:
TCP传输协议:是工作在传输层的可靠性传输协议,其基于字节流的传输确认机制,达到可靠性保障。引入窗长概念,通过发送窗的控制自适应传输带宽,防止持续链路拥塞。其设计初衷是为了解决长距离复杂网络情况下的数据可靠传输问题,具有普适性,但有显著缺点:重传时延大(百毫秒级)、协议复杂效率低下,无法满足追求处理器物理极限的设备内传输需求,如基站等电信设备。
SCTP传输协议:是针对电信设备的特殊需求,融合TCP和用户数据包协议(UserDatagram Protocol,UDP)的优点形成,与TCP协议非常类似,但又有如下四点不同:
第一:SCTP基于多流的传输,一个SCTP链路可以建立多条传输流,避免单流拥塞导致数据传输阻滞问题,相对的TCP则是单流传输;
第二:SCTP基于数据块的可靠传输,将应用交付的数据划分为块进行编号,而非TCP流的按字节编号,如此具有更友好的应用编程接口;
第三:SCTP支持多宿特性,多宿则是多对端因特网协议(Internet Protocol,IP),如此可以形成M*N条通路(设本地设备M个IP,对端设备N个IP),如此避免单通路传输路由问题导致的数据中断;
第四:SCTP建链更安全,基于储存在用户本地终端上的数据COOKIE的延迟资源分配策略,防止TCP协议面对的磁盘操作系统(Disk Operating System,DOS)泛洪攻击。可见SCTP传输协议相对TCP协议在传输的可靠性、传输时延、协议复杂度并无明显优势,同样不适用于最求极致性能的局域环境。
统计计数维测手段:TCP/IP/Ethernet各协议层面均实现了大量统计计数器,只能明确出现了什么类型的异常,比如出现数据校验和失败而丢包,但此计数器面向所有上层软件,无法明确哪个应用软件的数据在传输和交付中发生了此异常,无法满足具体问题的分析定位需求。
抓包分析方案:TCP/IP协议栈可以实现抓取数据报文,然后离线分析数据抓包明确问题点,其中,抓包的维测方法具有如下三点不足:
第一:只有TCP/SCTP报文可以实现对丢包的判断,丢包分析依赖数据报文的编号,对于UDP协议报文或裸Ethernet报文(应用净荷直接承载在Ethernet层,无高层协议封装)无法分析丢包问题;
第二:在线无差别的抓包处理能力和内存开销巨大,系统开销大,影响正常业务,不能作为常用手段,对于偶发问题的捕捉困难;
第三:单点抓包无法分析端到端的时延,报文中不携带发送时间信息,只有抓包时间点信息,除非发端和收端同时抓包,操作复杂。
由此,现有以太可靠性传输保证方案以及维测手段缺点明显,分析如下:
TCP/SCTP协议保证可靠性端到端时延大、效率低,无法满足电信设备内高可靠性、高实时性及高效率传输需求;
现有的协议栈统计技术维测手段无法精准定位应用软件问题,具体来说则是无法明确底层异常计数与上层应用程序的相关性;
抓包分析的维测手段无法满足非TCP协议报文的丢包分析,与高效传输的需求要求数据承载在UDP存在矛盾;并且,抓包方法需要巨大的处理能力支撑,或者对业务性能影响大,或者无法支撑抓包功能,不能作为常规分析手段;
分析端到端传输时延要求收发双侧同时抓包,操作复杂度高。
因此,本申请实施例提供了一种基站内数据传输方法、装置及网络设备,不仅可以保证Ethernet高并发、低时延、高可靠性的通信要求,实现基于丢包和时延异常分析的精准维测,还可以高效监测局域网络通信状态,保障传输质量。
其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
本申请实施例涉及的网络设备,可以是基站,该基站可以包括多个为终端提供服务的小区。根据具体应用场合不同,基站又可以称为接入点,或者可以是接入网中在空中接口上通过一个或多个扇区与无线终端通信的设备,或者其它名称。网络设备可用于将收到的空中帧与网际协议(Internet Protocol,IP)分组进行相互更换,作为无线终端与接入网的其余部分之间的路由器,其中接入网的其余部分可包括网际协议(IP)通信网络。网络设备还可协调对空中接口的属性管理。例如,本申请实施例涉及的网络设备可以是全球移动通信系统(Global System for Mobile communications,GSM)或码分多址接入(CodeDivision Multiple Access,CDMA)中的网络设备(Base Transceiver Station,BTS),也可以是带宽码分多址接入(Wide-band Code Division Multiple Access,WCDMA)中的网络设备(NodeB),还可以是长期演进(long term evolution,LTE)系统中的演进型网络设备(evolutional Node B,eNB或e-NodeB)、5G网络架构(next generation system)中的5G基站(gNB),也可以是家庭演进基站(Home evolved Node B,HeNB)、中继节点(relay node)、家庭基站(femto)、微微基站(pico)等,本申请实施例中并不限定。在一些网络结构中,网络设备可以包括集中单元(centralized unit,CU)节点和分布单元(distributed unit,DU)节点,集中单元和分布单元也可以地理上分开布置。
具体的,如图1所示,本发明实施例提供了一种基站内数据传输方法,应用于第一基站模块。上述方法具体可以包括:
步骤101,在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文。
具体的,基站系统内多模块之间组成星型网络,两两之间可以互通。上述第一基站模块和第二基站模块为基站系统中的不同模块,彼此之间通信连接。基站系统要求所有模块帧号同步,在基站系统做业务之前需要首先完成各模块的“对表”,即半帧号和半帧时间偏移同步的过程,此过程通过硬件信号编码完成,精度可以达到纳秒级,避免双侧同时抓包,实现和操作更为简洁。下述实施例均基于已经同步完成的基站系统描述。
其中,通过对相同目的数据报文编号,可以实现丢包判断。相同源和目的决定一条发送链路,称之为源-目的地标识(Source Destination Identification,SDI),对SDI进行编号,以区分链路;在一个SDI内对发送数据连续编号,即去往同一个目的的报文统一编号,称之为目的地序列号(Destination Sequence Number,DSN)。第一基站模块与第二基站模块的链路即为第一SDI,第一基站模块通过第一SDI向第二基站模块发送的多个连续编号的第一报文,即为多个DSN编号的第一报文。具体的,第一基站模块连续编号规则可以为:按照发送链路(即第一SDI)为单位连续编号,可以是以源IP和目的IP对或者源媒体接入控制(Medium Access Control,MAC)和目的MAC对位单位连续编号。
步骤102,在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认(Acknowledgement,ACK)报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;其中,所述第一报文包括所述第二报文和所述第三报文。
具体的,如果第二基站模块收到的第二报文和第三报文不是连续编号,则第二基站模块得知丢失报文的编号,则该第二基站模块根据第二报文的编号和第三报文的编号确定丢失报文编号,并向第一基站模块发送携带丢失报文编号的ACK报文,该ACK报文指示第一基站模块重传丢失报文编号对应的丢失报文,可明确哪个应用软件哪个数据报文传输异常,结果更精准,可以实现动态传输状态监测。
例如:第一基站模块和第二基站模块决定一条链路,对其编号为SDI:1(即第一SDI);SDI:1链路内为每个发送报文连续编号,即DSN从1开始累计,即第一基站模块发送DSN:1、DSN:2、DSN:3以及DSN:4。如果第二基站模块接收到的第三报文为DSN:1以及DSN:2,接收到的第二报文为DSN:4,则第二基站模块确定丢失报文编号为DSN:3,第二基站模块向第一基站模块发送携带DSN:3编号的ACK报文,该ACK报文指示第一基站模块重传DSN:3对应的丢失报文。
步骤103,根据所述ACK报文,重传所述丢失报文编号对应的丢失报文。
具体的,第一基站模块在接收到ACK报文之后,根据ACK报文的指示在第一SDI上重发丢失报文编号对应的丢失报文。
在本发明上述实施例中,在第一基站模块和第二基站模块通信连接、且第一基站模块和第二基站模块的半帧号和半帧时间偏移同步的情况下,第一基站模块通过第一SDI向第二基站模块发送多个连续编号的第一报文,如果第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号,由于第一基站模块发送的报文编号是连续的,因此在第二基站模块收到的报文编号不连续时,可以得知丢失的报文编号,能够准确的检测出丢包数据。并且,第一基站模块接收第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,该丢失报文编号为第二基站模块根据第二报文的编号和第三报文的编号确定的,第一基站模块根据ACK报文,重传丢失报文编号对应的丢失报文,由此完成丢失报文的重传,能够保障传输质量。
作为一可选的实施例,在步骤102接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文之前,所述方法还包括:
保存向所述第二基站模块发送的多个连续编号的第一报文。
具体的,保存多个连续编号的第一报文可以采用SDI缓存,用于备份数据,以便丢包时触发重传。如果第二基站模块为多个,可以采取多SDI队列方式,每个SDI队列按照DSN连续存储。进一步的,如图2所示,可以将SDI的缓存例化为一个数组队列,每个数组成员存储一个报文描述块,报文描述块包括报文地址及其DSN编号,存储的位置索引INDEX为DSNN,其中N为队列深度,即对应的报文编号。当ACK报文反馈丢包后,可以根据DSN编号N快速找到对应报文。
例如:如图2所示,如果第一SDI为SDI 0队列,则缓存例化的数组队列形式可以如图2所示。N的取值为1~9。
作为一可选的实施例,所述步骤103根据所述ACK报文,重传所述丢失报文编号对应的丢失报文,包括:
根据所述ACK报文,获取所述丢失报文编号对应的丢失报文;
将所述丢失报文发送至所述第二基站模块。
具体的,在第一基站模块接收到丢包反馈的ACK报文之后,触发丢失报文的重发,即需要从已保存的备份报文数据中获取丢失报文的存储位置INDEX,从本地缓存中读取数据,即需要从已保存的备份报文数据得到丢失报文编号对应的丢失报文,并将该丢失报文通过第一SDI发送至第二基站模块,由此完成丢失报文的重传。
作为一可选的实施例,所述步骤103根据所述ACK报文,获取所述丢失报文编号对应的丢失报文之后,所述方法还包括:
根据所述ACK报文以及所述丢失报文,生成丢失报文信息;
将所述丢失报文信息上报至维测系统。
具体的,在第一基站模块接收到丢包反馈的ACK报文之后,触发维测日志抄送。具体为:获取反馈的ACK报文,需要从已保存的备份报文数据中获取丢失报文的存储位置INDEX,从本地缓存中读取数据,得到丢失报文;并根据丢失报文以及ACK报文生成丢失报文的相关信息,该丢失报文的相关信息明确问题发生时间点和对应丢失报文,将该丢失报文的相关信息上报至维测系统,以便维测系统分析定位使用,维测手段简洁高效,基于丢包和时延异常的维测信息上传,性能更高,最大化降低对业务系统性能的影响。
其中,上传维测系统的携带ACK报文以及丢失报文的丢失报文信息格式如图3所示。
作为一可选的实施例,在向所述第二基站模块发送每一个第一报文之前,所述方法还包括:
确定每一个第一报文的第一尾签封装方式、第一原始缓冲区以及第一尾签长度;
根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区;
在所述第一目标缓冲区中的尾签区域填充第一尾签数据。
具体的,在第一基站模块发送每一个第一报文之前,首先对每一第一报文进行尾签封装,具体为:确定每一第一报文的第一尾签封装方式,并确定第一原始缓冲区,并确定第一尾签长度;然后第一基站模块根据上述第一尾签封装方式、第一原始缓冲区以及第一尾签长度,可以确定包含尾签空间的第一目标缓冲区,并在第一目标缓冲区中的尾签区域(即尾签空间)填充对应的第一尾签数据,由此完成报文的尾签封装;然后第一基站模块缓存该报文,并将该报文发送至第二基站模块。其中,报文携带第一尾签数据格式如图4所示。
例如:如图5所示,对报文尾签封装并缓存报文的步骤如下:
步骤51,获取当前报文的半帧号和半帧时间偏移;具体的,开始对第一报文打尾签,首先获取当前第一报文的半帧号和半帧时间偏移。
步骤52,在报文尾部填充数据尾签时间信息;具体的,跳到该第一报文的数据尾部,将填充数据尾签的时间填充至尾签区域。
步骤53,分配该报文的DSN编号,并将该DSN编号填充至尾签区域。
步骤54,按照SDI为粒度缓存报文;具体的,每个SDI队列按照DSN连续存储第一报文。
具体的,上述实施例适用于裸以太帧或用户数据报协议(User DatagramProtocol,UDP)帧实现,裸以太帧或UDP帧发送时,在报文尾部插入标签字段,称之为“尾签”,可以用于实现丢包检测及时延分析功能,保障承载在UDP帧或裸Ethernet帧的数据传输可靠性,协议简洁,解决TCP/SCTP低效、时延无法满足高性能高实时性传输需求的问题。具体可以分为两种情况,会话层可靠性传输和数据链路层可靠性传输。
如图6所示,第一基站模块和第二基站模块间在会话层实现可靠性传输。第一基站模块向第二基站模块发送第一报文时,第一基站模块的应用数据在第一会话层编码后提交给底层协议栈前打尾签;第二基站模块在第二会话层解码前检查是否有丢包,若有丢包触发重传,分析时延并上报给第二应用程序;第二基站模块向第一基站模块发送报文同理。其中,双箭头曲线表示第一基站模块和第二基站模块之间发送接收报文的数据流向。
如图7所示,第一基站模块和第二基站模块间在数据链路层实现可靠性传输。第一基站模块向第二基站模块发送第一报文时,第一基站模块的应用数据在数据链路层提交给以太网设备前打尾签,第二基站模块在以太网设备收到报文后检查是否有丢包,若有丢包触发重传,分析时延并上报给应用程序;第二基站模块向第一基站模块发送报文同理。其中,双箭头曲线表示第一基站模块和第二基站模块之间发送接收报文的数据流向。
其中,数据平面开发套件(Data Plane Development Kit,DPDK)为用户面以太驱动加速模块,用于操作系统LINUX设备上实现高效的业务数据传输。
进一步的,所述第一尾签数据包括以下五项中的至少一项:
第一项:指示所述第一报文的发送时刻半帧号的第一指示信息。
具体的,第一尾签数据中包含了该第一报文发送时刻半帧号,第二基站模块接收到该第一报文后,可以根据该第一报文中的第一尾签数据得知该第一报文的发送时刻半帧号。
第二项:指示所述第一报文的发送时刻半帧时间偏移的第二指示信息。
具体的,第一尾签数据中包含了该第一报文发送时刻半帧时间偏移,第二基站模块接收到该第一报文后,可以根据该第一报文中的第一尾签数据得知该第一报文的发送时刻半帧时间偏移。
第三项:指示所述第一基站模块对所述第一报文连续编号的第三指示信息。
具体的,第一尾签数据中包含了第一基站模块对目的相同的第一报文连续编号,第二基站模块接收到该第一报文后,可以根据该第一报文中的第一尾签数据得知第一基站模块发送的第一报文是连续编号的。
第四项:指示所述第一基站模块向所述第二基站模块发送所述第一报文的第一SDI的第四指示信息。
具体的,第一尾签数据中包含了第一基站模块对逻辑链路(具有相同源和目的)的标识,即第一基站模块向第二基站模块发送第一报文采用的逻辑链路。
第五项:指示所述第一尾签数据类型为数据尾签的第五指示信息。
具体的,第一尾签数据中包含了自身的尾签类型,如果第一尾签数据为数据尾签,则该第一报文为数据发送报文。
作为一可选的实施例,所述第一尾签封装方式包括拷贝方式和非拷贝方式;
其中,上述根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区,具体包括:
在所述第一尾签封装方式为拷贝方式的情况下,在所述第一原始缓冲区的基础上扩充第一尾签长度区域,得到第一目标缓冲区;
在所述第一尾签封装方式为非拷贝方式的情况下,按照所述第一原始缓冲区和所述第一尾签长度,配置第一目标缓冲区。
具体的,尾签封装可以分为两种,免拷贝发送(即非拷贝方式)和有拷贝发送(即拷贝方式)。对于免拷贝发送,需要将预申请的第一原始缓冲区BUFFER增大,预留尾签空间(即尾签长度);如:原来定义的第一原始缓冲区为1664B,且保持应用层面看到的大小SIZE依然为1664B不变,需要扩充为1792B,预留128B在尾部填充尾签,即第一尾签长度为128B,即扩充后的第一目标缓冲区为1792B。
对于有拷贝发送,则需要重新申请新的BUFFER,重新申请的新的BUFFER即为第一目标缓冲区,该第一目标缓冲区包含第一原始缓冲区长度以及第一尾签长度,即第一目标缓冲区是由第一原始缓冲区长度以及第一尾签长度构成;如:原来定义的第一原始缓冲区为1664B,第一尾签长度为128B,该第一原始缓冲区不变,重新申请新的缓冲区,新的缓冲区为1664B加上128B构成的1792B,即配置后的第一目标缓冲区为1792B。
下面通过一具体实施例对上述方法进行详细说明:
如图8所示,如果第一基站模块向第二基站模块和第三基站模块发送报文,具体实现丢包分析机制如下:
第一基站模块和第二基站模块决定一条链路,对其编号为SDI:1;第一基站模块和第三基站模块决定一条链路对其编号SDI:2。
第一基站模块在SDI:1链路内为每个发送报文连续编号,DSN从1开始编号,即发送SDI:1DSN:1、SDI:1DSN:2、SDI:1DSN:3以及SDI:1DSN:4等。第一基站模块在SDI:2链路内为每个发送报文连续编号,DSN从1开始编号,即发送SDI:2DSN:1、SDI:2DSN:2、SDI:2DSN:3以及SDI:2DSN:4等。
当第二基站模块仅接收到SDI:1DSN:1、SDI:1DSN:2以及SDI:1DSN:4报文时,则第二基站模块确定SDI:1DSN:3丢失,第二基站模块向第一基站模块反馈ACK SDI:1DSN:3描述丢失报文。第一基站模块收到ACK报文后,根据其描述信息重发SDI:1DSN:3报文;并且,第一基站模块将收到的ACK报文及重传的SDI:1DSN:3报文等(明确问题发生时间点和对应报文的)相关信息上报维测系统,供维测系统分析定位使用。其中,对于第一基站模块通SDI:2链路向第三基站模块发送报文的不受影响。
需要说明的是,本发明上述实施例包括并不限于如下适用场景:业务承载在UDP帧的或裸Ethernet帧(应用净荷直接承载在Ethernet层,无高层协议封装)的L2局域网络,对时延和性能有极致要求的场景(丢包响应时延在100us级甚至10us级),典型应用为基于UDP协议栈或DPDK开源组件承载应用程序的场景,将上述高可靠性通信和维测机制的实施例作为独立插件植入其中即可,具有很好的协议兼容性。
综上所述,本发明上述实施例,将第一基站模块和第二基站模块的半帧号和半帧时间偏移同步,即基于基站时间同步系统的时延分析机制避免双侧同时抓包,实现和操作更为简洁。并且,第二基站模块根据第二报文的编号和第三报文的编号确定丢失报文编号,可明确哪个应用软件哪个数据报文传输异常,结果更精准,可以实现动态传输状态监测。并且,根据丢失报文以及ACK报文生成丢失报文的相关信息,该丢失报文的相关信息明确问题发生时间点和对应丢失报文,将该丢失报文的相关信息上报至维测系统,以便维测系统分析定位使用,维测手段简洁高效,基于丢包和时延异常的维测信息上传,性能更高,最大化降低对业务系统性能的影响。并且,通过丢包检测及时延分析功能,保障承载在UDP帧或裸Ethernet帧的数据传输可靠性,协议简洁,解决TCP/SCTP低效、时延无法满足高性能高实时性传输需求的问题,能够实现百微秒级端到端时延可靠性保障,可以满足电信设备等局域高可靠性、高实时性及高效率传输需求。
如图9所示,本发明实施例提供了一种基站内数据传输方法,应用于第二基站模块,所述方法具体包括:
步骤901,在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
具体的,基站系统内多模块之间组成星型网络,两两之间可以互通。上述第一基站模块和第二基站模块为基站系统中的不同模块,彼此之间通信连接。基站系统要求所有模块帧号同步,在基站系统做业务之前需要首先完成各模块的“对表”,即半帧号和半帧时间偏移同步的过程,此过程通过硬件信号编码完成,精度可以达到纳秒级,避免双侧同时抓包,实现和操作更为简洁。下述实施例均基于已经同步完成的基站系统描述。
其中,通过对相同目的数据报文编号,可以实现丢包判断。相同源和目的决定一条发送链路,称之为源-目的地标识(Source Destination Identification,SDI),对SDI进行编号,以区分链路;在一个SDI内对发送数据连续编号,即去往同一个目的的报文统一编号,称之为目的地序列号(Destination Sequence Number,DSN)。第一基站模块与第二基站模块的链路即为第一SDI,第一基站模块通过第一SDI向第二基站模块发送的多个连续编号的第一报文,即为多个DSN编号的第一报文。具体的,第一基站模块连续编号规则可以为:按照发送链路(即第一SDI)为单位连续编号,可以是以源IP和目的IP对或者源媒体接入控制(Medium Access Control,MAC)和目的MAC对位单位连续编号。
如果第二基站模块收到的第二报文和第三报文不是连续编号,则第一基站发送的第一报文有丢失,第二基站模块得知丢失报文的编号,则该第二基站模块根据第二报文的编号和第三报文的编号可以确定丢失报文编号,即可明确哪个应用软件哪个数据报文传输异常,结果更精准,可以实现动态传输状态监测。
例如:第一基站模块和第二基站模块决定一条链路,对其编号为SDI:1(即第一SDI);SDI:1链路内为每个发送报文连续编号,即DSN从1开始累计,即第一基站模块发送DSN:1、DSN:2、DSN:3以及DSN:4。如果第二基站模块接收到的第三报文为DSN:1以及DSN:2,接收到的第二报文为DSN:4,则第二基站模块确定丢失报文编号为DSN:3。
步骤902,根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文。
具体的,第二基站模块根据丢失报文编号,生成ACK报文,该ACK报文携带丢失报文编号,该ACK报文用于指示第一基站模块重传丢失报文编号对应的丢失报文。换句话说,第二基站模块根据第二报文和第三报文的编号,分析是否丢包,即判断相同SDI的所有报文DSN编号是否连续,若不连续则发送ACK报文,ACK报文中携带SDI、DSN,其中DSN为丢失报文的DSN,即空洞DSN。
步骤903,将所述ACK报文发送至所述第一基站模块。
具体的,第二基站模块将ACK报文发送至第一基站模块,以使第一基站模块根据ACK报文重传丢失报文。
本发明上述实施例中,在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号,即由于第一基站模块发送的报文编号是连续的,因此在第二基站模块收到的报文编号不连续时,可以得知丢失的报文编号,可明确哪个应用软件哪个数据报文传输异常,结果更精准,可以实现动态传输状态监测。并且,根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文,并将所述ACK报文发送至所述第一基站模块,以使第一基站模块根据ACK报文重传丢失报文,由此完成丢失报文的重传,能够保障传输质量。
作为一具体实施例,所述方法还包括:
接收所述第一基站模块发送的第二报文,所述第二报文中包含第二尾签数据;
根据所述第二尾签数据,确定报文传输时延。
具体的,第二基站模块当前时间接收到第一基站模块发送的第二报文,该第二报文为第一基站发送的连续编号的第一报文的其中一部分,其中,第二报文包含有第二尾签数据,每一个第三报文也包含有第二尾签数据。第二基站模块在接收到每一个第二报文或者第三报文之后,均跳到该报文尾部提取尾签信息,即第二尾签数据,根据第二尾签数据可以得到该报文的传输时延,第二尾签数据可以用于实现丢包检测及时延分析功能,保障承载在UDP帧或裸Ethernet帧的数据传输可靠性,协议简洁,解决TCP/SCTP低效、时延无法满足高性能高实时性传输需求的问题。
作为一可选的实施例,所述第二尾签数据包括以下五项中的至少一项:
第一项:指示所述第二报文的发送时刻半帧号的第六指示信息。
具体的,第一尾签数据中包含了该第二报文发送时刻半帧号,第二基站模块接收到该第二报文后,可以根据该第二报文中的第二尾签数据得知该第二报文的发送时刻半帧号。
第二项:指示所述第二报文的发送时刻半帧时间偏移的第七指示信息。
具体的,第而尾签数据中包含了该第二报文发送时刻半帧时间偏移,第二基站模块接收到该第二报文后,可以根据该第二报文中的第而尾签数据得知该第二报文的发送时刻半帧时间偏移。
第三项:指示所述第一基站模块对所述第一报文连续编号的第八指示信息。
具体的,第二尾签数据中包含了第一基站模块对目的相同的第一报文连续编号,第二基站模块当前时间接收到该第一报文中的第二报文后,可以根据该第二报文中的第二尾签数据得知第一基站模块发送的第一报文是连续编号的,即第二报文与第三报文应该是连续编号的。
第四项:指示所述第一基站模块向所述第二基站模块发送所述第二报文的第一SDI的第九指示信息。
具体的,第二尾签数据中包含了第一基站模块对逻辑链路(具有相同源和目的)的标识,即第一基站模块向第二基站模块发送第二报文采用的逻辑链路。
第五项:指示所述第二尾签数据类型为数据尾签的第十指示信息。
具体的,第二尾签数据中包含了自身的尾签类型,如果第二尾签数据为数据尾签,则该第二报文为发送报文。
作为一可选的实施例,在所述第二尾签数据包括第六指示信息和第七指示信息的情况下,上述根据所述第二尾签数据,确定报文传输时延的步骤,具体包括:
获取当前接收到的第二报文的接收时间;
根据所述接收时间、所述第二报文的发送时刻半帧号以及所述第二报文的发送时刻半帧时间偏移,确定报文传输时延。
具体的,根据基站的帧号同步性,第二基站模块在当前时间接收到第二报文之后,确定接收第二报文的接收时间(即当前时间的半帧号和半帧号时间偏移);并且,跳到该第二报文的数据尾部提取尾签信息,即第而尾签数据,提取第而尾签数据中包含的第二报文的发送时刻半帧号、发送时刻半帧时间偏移,并将第二报文的发送时刻半帧号、发送时刻半帧时间偏移与当前时间的半帧号、半帧时间偏移进行比较,由此获取第二报文的报文传输时延。
作为一可选的实施例,所述步骤901根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号,包括:
将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较;
在所述第一编号大于所述最大编号的情况下,则根据所述第二报文的编号与所述第三报文的编号,确定丢失报文编号。
具体的,若第一SDI内DSN编号连续,则直接将当前接收到的第二报文提交给对应的应用;如果第一SDI内DSN编号不连续,则将当前接收到的第二报文对应的第一编号与当前时间接收到的多个第三报文中的最大编号进行大小比较,如果第一编号大于第三报文中的最大编号,则可以确定丢失报文编号为缺失的报文编号,并触发ACK报文发送。
作为一可选的实施例,在上述将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较之后,所述方法还包括:
在所述第一编号小于所述最大编号的情况下,则将所述第二报文上报至应用程序。
具体的,如果第一SDI内DSN编号不连续,则将当前接收到的第二报文对应的第一编号与当前时间接收到的多个第三报文中的最大编号进行大小比较,如果第一编号小于第三报文中的最大编号,则证明该第二报文为重传报文或乱序报文(L2交换网络无乱序),可以直接将该第二报文上报至对应的应用。
作为一可选的实施例,所述步骤903将所述ACK报文发送至所述第一基站模块之后,所述方法还包括:
接收所述第一基站模块根据所述ACK报文反馈的所述丢失报文编号对应的丢失报文;
将所述丢失报文上报至应用程序。
具体的,在第二基站模块触发重传生成ACK报文反馈至第一基站模块之后,则第二基站模块跳过此空洞DSN(即丢失报文)继续接收其他报文,以保证消息的时效性。并且,为了能够进一步保证消息时效性,可以仅允许一次重传。
作为一可选的实施例,所述步骤902根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文,具体包括:
确定所述ACK报文的第二尾签封装方式、第二原始缓冲区以及第二尾签长度;
根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区;
在所述第二目标缓冲区中的尾签区域填充第三尾签数据。
具体的,在第二基站模块发送ACK报文之前,首先对ACK报文进行尾签封装。具体为:确定ACK报文的第二尾签封装方式,并确定第二原始缓冲区,并确定第二尾签长度;然后第二基站模块根据上述第二尾签封装方式、第二原始缓冲区以及第二尾签长度,可以确定包含尾签空间的第二目标缓冲区,并在第二目标缓冲区中的尾签区域(即尾签空间)填充对应的第三尾签数据,由此完成ACK报文的尾签封装。其中,当丢失多个报文编号时,ACK报文通过多个第三尾签数据描述,ACK报文携带多个第三尾签数据格式如图10所示。
作为一可选的实施例,所述第二尾签封装方式包括拷贝方式和非拷贝方式;
其中,上述根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区,具体包括:
在所述第二尾签封装方式为拷贝方式的情况下,在所述第二原始缓冲区的基础上扩充第二尾签长度区域,得到第二目标缓冲区;
在所述第二尾签封装方式为非拷贝方式的情况下,按照所述第二原始缓冲区和所述第二尾签长度,配置第二目标缓冲区。
具体的,尾签封装可以分为两种,免拷贝发送(即非拷贝方式)和有拷贝发送(即拷贝方式)。对于免拷贝发送,需要将预申请的第二原始缓冲区增大,预留尾签空间(即尾签长度);如:原来定义的第二原始缓冲区为1664B,且保持应用层面看到的大小SIZE依然为1664B不变,需要扩充为1792B,预留128B在尾部填充尾签,即第二尾签长度为128B,即扩充后的第二目标缓冲区为1792B。
对于有拷贝发送,则需要重新申请新的BUFFER,重新申请的新的BUFFER即为第二目标缓冲区,该第二目标缓冲区包含第二原始缓冲区长度以及第二尾签长度,即第二目标缓冲区是由第二原始缓冲区长度以及第二尾签长度构成;如:原来定义的第二原始缓冲区为1664B,第二尾签长度为128B,该第二原始缓冲区不变,重新申请新的缓冲区,新的缓冲区为1664B加上128B构成的1792B,即配置后的第二目标缓冲区为1792B。
作为一可选的实施例,所述第三尾签数据包括以下六项中的至少一项:
第一项:指示所述ACK报文的发送时刻半帧号的第十一指示信息。
具体的,第二尾签数据中包含了该ACK报文发送时刻半帧号,第一基站模块接收到该ACK报文后,可以根据该ACK报文中的第二尾签数据得知该ACK报文的发送时刻半帧号。
第二项:指示所述ACK报文的发送时刻半帧时间偏移的第十二指示信息。
具体的,第二尾签数据中包含了该ACK报文发送时刻半帧时间偏移,第一基站模块接收到该ACK报文后,可以根据该ACK报文中的第二尾签数据得知该ACK报文的发送时刻半帧时间偏移。
第三项:指示所述丢失报文的丢失报文编号的第十三指示信息。
具体的,第二尾签数据中包含了丢失报文的丢失报文编号,第一基站模块接收到丢失报文的丢失报文编号后,可以根据丢失报文编号获取对应的丢失报文并重传至第二基站模块。
第四项:指示所述第二基站模块向所述第一基站模块发送所述ACK报文的第一SDI的第十四指示信息。
具体的,第三尾签数据中包含了第二基站模块对逻辑链路(具有相同源和目的)的标识,即第二基站模块向第一基站模块发送ACK报文采用的逻辑链路。
第五项:指示所述第三尾签数据类型为ACK尾签的第十五指示信息。
具体的,第三尾签数据中包含了自身的尾签类型,如果第三尾签数据为ACK尾签,则该报文为ACK报文。
第六项:指示当前第三尾签数据是否为最后一个尾签数据的第十六指示信息。
具体的,第三尾签数据包含了指示当前第三尾签数据是否为最后一个尾签数据的指示信息,如果指示信息为0,则表示此第三尾签数据为最后一个尾签数据;如果指示信息为1,则此第三尾签数据后面还有其他尾签数据。
下面通过一具体实施例对上述方案进行说明:
如图11所示,步骤111,获取当前半帧号以及半帧时间偏移;具体的,第二基站模块在接收到报文之后,获取当前时间的半帧号以及半帧时间偏移。
步骤112,获取报文的发送时刻半帧号和半帧时间偏移;具体的,从接收到的报文的尾签数据中获取该报文发送时刻的半帧号和半帧时间偏移。
步骤113,获取报文传输时延;具体的,第二基站模块根据当前时间的半帧号、当前时间的半帧时间偏移、报文发送时刻的半帧号以及报文发送时刻的半帧时间偏移,计算该报文的报文传输时延。
步骤114,判断是否为数据尾签;具体的,第二基站模块根据接收到的报文中的尾签数据,判断是否为数据尾签,如果为数据尾签,则进入步骤115,如果为ACK尾签,则进入步骤118。
步骤115,判断接收到的报文编号是否连续。如果报文编号连续,则进入步骤116,如果报文编号不连续,则进入步骤117。
步骤116,将接收到的报文上报至应用。
步骤117,生成ACK报文反馈至发送报文的基站模块。
步骤118,根据ACK尾签重传对应的丢失报文。
综上所述,本发明上述实施例,将第一基站模块和第二基站模块的半帧号和半帧时间偏移同步,即基于基站时间同步系统的时延分析机制避免双侧同时抓包,实现和操作更为简洁。并且,第二基站模块根据第二报文的编号和第三报文的编号确定丢失报文编号,可明确哪个应用软件哪个数据报文传输异常,结果更精准,可以实现动态传输状态监测。并且,通过第二尾签数据实现丢包检测及时延分析功能,保障承载在UDP帧或裸Ethernet帧的数据传输可靠性,协议简洁,解决TCP/SCTP低效、时延无法满足高性能高实时性传输需求的问题,能够实现百微秒级端到端时延可靠性保障,可以满足电信设备等局域高可靠性、高实时性及高效率传输需求。
以上介绍了本发明实施例提供的基站内数据传输方法,下面将结合附图介绍本发明实施例提供的基站内数据传输装置。
如图12所示,本发明实施例还提供了一种基站内数据传输装置1200,应用于第一基站模块,包括:
第一发送模块1201,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
第一接收模块1202,用于在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
重传模块1203,用于根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;其中,所述第一报文包括所述第二报文和所述第三报文。
可选的,所述装置还包括:
保存模块,用于保存向所述第二基站模块发送的多个连续编号的第一报文。
可选的,所述重传模块1203,包括:
根据所述ACK报文,获取所述丢失报文编号对应的丢失报文;
将所述丢失报文发送至所述第二基站模块。
可选的,所述装置还包括:
第一生成模块,用于根据所述ACK报文以及所述丢失报文,生成丢失报文信息;
第一上报模块,用于将所述丢失报文信息上报至维测系统。
可选的,在向所述第二基站模块发送每一个第一报文之前,所述装置还包括:
第一确定模块,用于确定每一个第一报文的第一尾签封装方式、第一原始缓冲区以及第一尾签长度;
第二确定模块,用于根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区;
第一填充模块,用于在所述第一目标缓冲区中的尾签区域填充第一尾签数据。
可选的,所述第一尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述第二确定模块,具体用于:
在所述第一尾签封装方式为拷贝方式的情况下,在所述第一原始缓冲区的基础上扩充第一尾签长度区域,得到第一目标缓冲区;
在所述第一尾签封装方式为非拷贝方式的情况下,按照所述第一原始缓冲区和所述第一尾签长度,配置第一目标缓冲区。
可选的,所述第一尾签数据包括以下至少一项:
指示所述第一报文的发送时刻半帧号的第一指示信息;
指示所述第一报文的发送时刻半帧时间偏移的第二指示信息;
指示所述第一基站模块对所述第一报文连续编号的第三指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第一报文的第一SDI的第四指示信息;
指示所述第一尾签数据类型为数据尾签的第五指示信息。
在此需要说明的是,本发明实施例提供的上述应用于第一基站模块的装置,能够实现上述应用于第一基站模块的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图13所示,本发明实施例还提供了一种基站内数据传输装置1300,应用于第二基站模块,包括:
第一处理模块1301,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
第二处理模块1302,用于根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
第二发送模块1303,用于将所述ACK报文发送至所述第一基站模块;其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
可选的,所述装置还包括:
第二接收模块,用于接收所述第一基站模块发送的第二报文,所述第二报文中包含第二尾签数据;
第三确定模块,用于根据所述第二尾签数据,确定报文传输时延。
可选的,所述第二尾签数据包括以下至少一项:
指示所述第二报文的发送时刻半帧号的第六指示信息;
指示所述第二报文的发送时刻半帧时间偏移的第七指示信息;
指示所述第一基站模块对所述第一报文连续编号的第八指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第二报文的第一SDI的第九指示信息;
指示所述第二尾签数据类型为数据尾签的第十指示信息。
可选的,在所述第一尾签数据包括第六指示信息和第七指示信息的情况下,所述第三确定模块,具体用于:
获取当前接收到的第二报文的接收时间;
根据所述接收时间、所述第二报文的发送时刻半帧号以及所述第二报文的发送时刻半帧时间偏移,确定报文传输时延。
可选的,所述第一处理模块1301,具体用于:
将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较;
在所述第一编号大于所述最大编号的情况下,则根据所述第二报文的编号与所述第三报文的编号,确定丢失报文编号。
可选的,所述装置还包括:
第二上报模块,用于在所述第一编号小于所述最大编号的情况下,则将所述第二报文上报至应用程序。
可选的,所述装置还包括:
第三接收模块,用于接收所述第一基站模块根据所述ACK报文反馈的所述丢失报文编号对应的丢失报文;
第三上报模块,用于将所述丢失报文上报至应用程序。
可选的,所述第二处理模块1302,具体用于:
确定所述ACK报文的第二尾签封装方式、第二原始缓冲区以及第二尾签长度;
根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区;
在所述第二目标缓冲区中的尾签区域填充第三尾签数据。
可选的,所述第二尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述第二处理模块1302用于根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区时,具体用于:
在所述第二尾签封装方式为拷贝方式的情况下,在所述第二原始缓冲区的基础上扩充第二尾签长度区域,得到第二目标缓冲区;
在所述第二尾签封装方式为非拷贝方式的情况下,按照所述第二原始缓冲区和所述第二尾签长度,配置第二目标缓冲区。
可选的,所述第三尾签数据包括以下至少一项:
指示所述ACK报文的发送时刻半帧号的第十一指示信息;
指示所述ACK报文的发送时刻半帧时间偏移的第十二指示信息;
指示所述丢失报文的丢失报文编号的第十三指示信息;
指示所述第二基站模块向所述第一基站模块发送所述ACK报文的第一SDI的第十四指示信息;
指示所述第三尾签数据类型为ACK尾签的第十五指示信息;
指示当前第三尾签数据是否为最后一个尾签数据的第十六指示信息。
在此需要说明的是,本发明实施例提供的上述应用于第二基站模块的装置,能够实现上述应用于第二基站模块的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
如图14所示,本发明的实施例还提供了一种网络设备,所述网络设备为第一基站模块,包括存储器1420,收发机1410,处理器1400:
存储器1420,用于存储计算机程序;
收发机1410,用于在处理器的控制下收发数据;
处理器1400,用于读取存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
可选的,在所述处理器1400执行接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文之前,所述处理器还用于:
保存向所述第二基站模块发送的多个连续编号的第一报文。
可选的,所述处理器1400执行根据所述ACK报文,重传所述丢失报文编号对应的丢失报文时,具体用于:
根据所述ACK报文,获取所述丢失报文编号对应的丢失报文;
将所述丢失报文发送至所述第二基站模块。
可选的,所述处理器1400执行根据所述ACK报文,获取所述丢失报文编号对应的丢失报文之后,所述处理器还用于:
根据所述ACK报文以及所述丢失报文,生成丢失报文信息;
将所述丢失报文信息上报至维测系统。
可选的,在向所述第二基站模块发送每一个第一报文之前,所述处理器1400还用于:
确定每一个第一报文的第一尾签封装方式、第一原始缓冲区以及第一尾签长度;
根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区;
在所述第一目标缓冲区中的尾签区域填充第一尾签数据。
可选的,所述第一尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述处理器1400执行根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区时,具体用于:
在所述第一尾签封装方式为拷贝方式的情况下,在所述第一原始缓冲区的基础上扩充第一尾签长度区域,得到第一目标缓冲区;
在所述第一尾签封装方式为非拷贝方式的情况下,按照所述第一原始缓冲区和所述第一尾签长度,配置第一目标缓冲区。
可选的,所述第一尾签数据包括以下至少一项:
指示所述第一报文的发送时刻半帧号的第一指示信息;
指示所述第一报文的发送时刻半帧时间偏移的第二指示信息;
指示所述第一基站模块对所述第一报文连续编号的第三指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第一报文的第一SDI的第四指示信息;
指示所述第一尾签数据类型为数据尾签的第五指示信息。
如图14所示,本发明的实施例还提供了另一种网络设备,所述网络设备为第二基站模块,包括存储器1420,收发机1410,处理器1400:
存储器1420,用于存储计算机程序;
收发机1410,用于在处理器的控制下收发数据;
处理器1400,用于读取存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
可选的,所述处理器1400还用于:
接收所述第一基站模块发送的第二报文,所述第二报文中包含第二尾签数据;
根据所述第二尾签数据,确定报文传输时延。
可选的,所述第二尾签数据包括以下至少一项:
指示所述第二报文的发送时刻半帧号的第六指示信息;
指示所述第二报文的发送时刻半帧时间偏移的第七指示信息;
指示所述第一基站模块对所述第一报文连续编号的第八指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第二报文的第一SDI的第九指示信息;
指示所述第二尾签数据类型为数据尾签的第十指示信息。
可选的,在所述第二尾签数据包括第六指示信息和第七指示信息的情况下,所述处理器1400执行根据所述第二尾签数据,确定报文传输时延时,具体用于:
获取当前接收到的第二报文的接收时间;
根据所述接收时间、所述第二报文的发送时刻半帧号以及所述第二报文的发送时刻半帧时间偏移,确定报文传输时延。
可选的,所述处理器1400执行根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号时,具体用于:
将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较;
在所述第一编号大于所述最大编号的情况下,则根据所述第二报文的编号与所述第三报文的编号,确定丢失报文编号。
可选的,在所述处理器1400执行将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较之后,所述处理器还用于:
在所述第一编号小于所述最大编号的情况下,则将所述第二报文上报至应用程序。
可选的,所述处理器1400执行将所述ACK报文发送至所述第一基站模块之后,所述处理器还用于:
接收所述第一基站模块根据所述ACK报文反馈的所述丢失报文编号对应的丢失报文;
将所述丢失报文上报至应用程序。
可选的,所述处理器1400执行根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文时,具体用于:
确定所述ACK报文的第二尾签封装方式、第二原始缓冲区以及第二尾签长度;
根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区;
在所述第二目标缓冲区中的尾签区域填充第三尾签数据。
可选的,所述第二尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述处理器1400执行根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区时,具体用于:
在所述第二尾签封装方式为拷贝方式的情况下,在所述第二原始缓冲区的基础上扩充第二尾签长度区域,得到第二目标缓冲区;
在所述第二尾签封装方式为非拷贝方式的情况下,按照所述第二原始缓冲区和所述第二尾签长度,配置第二目标缓冲区。
可选的,所述第三尾签数据包括以下至少一项:
指示所述ACK报文的发送时刻半帧号的第十一指示信息;
指示所述ACK报文的发送时刻半帧时间偏移的第十二指示信息;
指示所述丢失报文的丢失报文编号的第十三指示信息;
指示所述第二基站模块向所述第一基站模块发送所述ACK报文的第一SDI的第十四指示信息;
指示所述第三尾签数据类型为ACK尾签的第十五指示信息;
指示当前第三尾签数据是否为最后一个尾签数据的第十六指示信息。
其中,在图14中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1400代表的一个或多个处理器和存储器1420代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1410可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元,这些传输介质包括无线信道、有线信道、光缆等传输介质。处理器1400负责管理总线架构和通常的处理,存储器1420可以存储处理器1400在执行操作时所使用的数据。
处理器1400可以是中央处埋器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),处理器也可以采用多核架构。
处理器通过调用存储器存储的计算机程序,用于按照获得的可执行指令执行本申请实施例提供的任一基站内数据传输方法。处理器与存储器也可以物理上分开布置。
在此需要说明的是,本发明实施例提供的上述网络设备,能够实现上述基站内数据传输方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本发明的实施例还提供了一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述基站内数据传输方法。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可执行指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些处理器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的处理器可读存储器中,使得存储在该处理器可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些处理器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
1.一种基站内数据传输方法,应用于第一基站模块,其特征在于,所述方法包括:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
2.根据权利要求1所述的方法,其特征在于,在接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文之前,所述方法还包括:
保存向所述第二基站模块发送的多个连续编号的第一报文。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述ACK报文,重传所述丢失报文编号对应的丢失报文,包括:
根据所述ACK报文,获取所述丢失报文编号对应的丢失报文;
将所述丢失报文发送至所述第二基站模块。
4.根据权利要求3所述的方法,其特征在于,所述根据所述ACK报文,获取所述丢失报文编号对应的丢失报文之后,所述方法还包括:
根据所述ACK报文以及所述丢失报文,生成丢失报文信息;
将所述丢失报文信息上报至维测系统。
5.根据权利要求1所述的方法,其特征在于,在向所述第二基站模块发送每一个第一报文之前,所述方法还包括:
确定每一个第一报文的第一尾签封装方式、第一原始缓冲区以及第一尾签长度;
根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区;
在所述第一目标缓冲区中的尾签区域填充第一尾签数据。
6.根据权利要求1所述的方法,其特征在于,所述第一尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述根据所述第一尾签封装方式、所述第一原始缓冲区以及所述第一尾签长度,确定第一目标缓冲区,包括:
在所述第一尾签封装方式为拷贝方式的情况下,在所述第一原始缓冲区的基础上扩充第一尾签长度区域,得到第一目标缓冲区;
在所述第一尾签封装方式为非拷贝方式的情况下,按照所述第一原始缓冲区和所述第一尾签长度,配置第一目标缓冲区。
7.根据权利要求5所述的方法,其特征在于,所述第一尾签数据包括以下至少一项:
指示所述第一报文的发送时刻半帧号的第一指示信息;
指示所述第一报文的发送时刻半帧时间偏移的第二指示信息;
指示所述第一基站模块对所述第一报文连续编号的第三指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第一报文的第一SDI的第四指示信息;
指示所述第一尾签数据类型为数据尾签的第五指示信息。
8.一种基站内数据传输方法,应用于第二基站模块,其特征在于,所述方法包括:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述第一基站模块发送的第二报文,所述第二报文中包含第二尾签数据;
根据所述第二尾签数据,确定报文传输时延。
10.根据权利要求9所述的方法,其特征在于,所述第二尾签数据包括以下至少一项:
指示所述第二报文的发送时刻半帧号的第六指示信息;
指示所述第二报文的发送时刻半帧时间偏移的第七指示信息;
指示所述第一基站模块对所述第一报文连续编号的第八指示信息;
指示所述第一基站模块向所述第二基站模块发送所述第二报文的第一SDI的第九指示信息;
指示所述第二尾签数据类型为数据尾签的第十指示信息。
11.根据权利要求10所述的方法,其特征在于,在所述第二尾签数据包括第六指示信息和第七指示信息的情况下,所述根据所述第二尾签数据,确定报文传输时延,包括:
获取当前接收到的第二报文的接收时间;
根据所述接收时间、所述第二报文的发送时刻半帧号以及所述第二报文的发送时刻半帧时间偏移,确定报文传输时延。
12.根据权利要求8所述的方法,其特征在于,所述根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号,包括:
将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较;
在所述第一编号大于所述最大编号的情况下,则根据所述第二报文的编号与所述第三报文的编号,确定丢失报文编号。
13.根据权利要求12所述的方法,其特征在于,在将当前时间接收到的第二报文对应的第一编号与当前时间之前接收到的第三报文中的最大编号进行大小比较之后,所述方法还包括:
在所述第一编号小于所述最大编号的情况下,则将所述第二报文上报至应用程序。
14.根据权利要求8所述的方法,其特征在于,所述将所述ACK报文发送至所述第一基站模块之后,所述方法还包括:
接收所述第一基站模块根据所述ACK报文反馈的所述丢失报文编号对应的丢失报文;
将所述丢失报文上报至应用程序。
15.根据权利要求8所述的方法,其特征在于,所述根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文,包括:
确定所述ACK报文的第二尾签封装方式、第二原始缓冲区以及第二尾签长度;
根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区;
在所述第二目标缓冲区中的尾签区域填充第三尾签数据。
16.根据权利要求15所述的方法,其特征在于,所述第二尾签封装方式包括拷贝方式和非拷贝方式;
其中,所述根据所述第二尾签封装方式、所述第二原始缓冲区以及所述第二尾签长度,确定第二目标缓冲区,包括:
在所述第二尾签封装方式为拷贝方式的情况下,在所述第二原始缓冲区的基础上扩充第二尾签长度区域,得到第二目标缓冲区;
在所述第二尾签封装方式为非拷贝方式的情况下,按照所述第二原始缓冲区和所述第二尾签长度,配置第二目标缓冲区。
17.根据权利要求15所述的方法,其特征在于,所述第三尾签数据包括以下至少一项:
指示所述ACK报文的发送时刻半帧号的第十一指示信息;
指示所述ACK报文的发送时刻半帧时间偏移的第十二指示信息;
指示所述丢失报文的丢失报文编号的第十三指示信息;
指示所述第二基站模块向所述第一基站模块发送所述ACK报文的第一SDI的第十四指示信息;
指示所述第三尾签数据类型为ACK尾签的第十五指示信息;
指示当前第三尾签数据是否为最后一个尾签数据的第十六指示信息。
18.一种网络设备,所述网络设备为第一基站模块,其特征在于,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
19.一种网络设备,所述网络设备为第二基站模块,其特征在于,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
20.一种基站内数据传输装置,应用于第一基站模块,其特征在于,包括:
第一发送模块,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步的情况下,通过第一源-目的地标识SDI向所述第二基站模块发送多个连续编号的第一报文;
第一接收模块,用于在所述第二基站模块当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,接收所述第二基站模块反馈的重传丢失报文编号对应的丢失报文的确认ACK报文,所述丢失报文编号为所述第二基站模块根据所述第二报文的编号和所述第三报文的编号确定的;
重传模块,用于根据所述ACK报文,重传所述丢失报文编号对应的丢失报文;
其中,所述第一报文包括所述第二报文和所述第三报文。
21.一种基站内数据传输装置,应用于第二基站模块,其特征在于,包括:
第一处理模块,用于在第一基站模块和第二基站模块通信连接、且所述第一基站模块和所述第二基站模块的半帧号和半帧时间偏移同步、且当前时间接收到的第二报文与当前时间之前接收到的第三报文为非连续编号的情况下,根据所述第二报文的编号和所述第三报文的编号,确定丢失报文编号;
第二处理模块,用于根据所述丢失报文编号,生成重传与所述丢失报文编号对应的丢失报文的ACK报文;
第二发送模块,用于将所述ACK报文发送至所述第一基站模块;
其中,所述第二报文和所述第三报文为所述第一基站模块发送的第一报文的至少一部分。
22.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行权利要求1至17任一项所述的基站内数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984555.4A CN115734404A (zh) | 2021-08-25 | 2021-08-25 | 基站内数据传输方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110984555.4A CN115734404A (zh) | 2021-08-25 | 2021-08-25 | 基站内数据传输方法、装置及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115734404A true CN115734404A (zh) | 2023-03-03 |
Family
ID=85289833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110984555.4A Pending CN115734404A (zh) | 2021-08-25 | 2021-08-25 | 基站内数据传输方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115734404A (zh) |
-
2021
- 2021-08-25 CN CN202110984555.4A patent/CN115734404A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3474519B1 (en) | Method for in-network dynamic radio access network functional split change utilizing software defined networking with in-switch packet generation and stateful flow processing | |
US10009793B2 (en) | Reverse insertion of management packet into a deterministic track | |
US20160117213A1 (en) | Dynamic adaptive approach for failure detection of node in a cluster | |
US10484247B2 (en) | Transmission control of a multi-hop relay radio | |
KR20140077936A (ko) | 무선 통신 네트워크에서 다중경로 전송 접속을 위한 동적 서브플로우 제어 | |
US20090201809A1 (en) | Method and system for controlling link saturation of synchronous data across packet networks | |
US10728134B2 (en) | Methods, systems, and computer readable media for measuring delivery latency in a frame-preemption-capable network | |
US9992703B2 (en) | Insertion of management packet into a deterministic track | |
WO2016090978A1 (zh) | 一种流量切换方法和装置 | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
CN110311865B (zh) | 一种视频数据的传输方法以及相关设备 | |
CN103647724B (zh) | 一种mtu适配方法及装置 | |
CN109673021B (zh) | 业务时延确定方法 | |
CN110381071B (zh) | 一种报文传输方法、装置及发送方设备 | |
US20150139100A1 (en) | Method for operating a network element of a wireless communication network and network element | |
US20240114383A1 (en) | Communication method and apparatus | |
CN111355561B (zh) | 数据重传的指示、处理方法及装置 | |
CN114270953B (zh) | 通信方法、装置及系统 | |
CN107995315B (zh) | 业务板间信息的同步方法、装置、存储介质及计算机设备 | |
CN115734404A (zh) | 基站内数据传输方法、装置及网络设备 | |
US11632326B1 (en) | Selection of network paths for reliable communications based on network reliability metrics | |
KR102601348B1 (ko) | 데이터 송신 방법, 송신 장치, 데이터 수신 방법 및 수신 장치 | |
CN111294864A (zh) | 无线通信方法以及相关无线装置 | |
Turk et al. | A dynamic replication scheme of user plane data over lossy backhaul links | |
WO2022174672A1 (zh) | 时延测量方法、装置、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |