CN110278158A - 组播数据包发送方法、计算机设备和存储介质 - Google Patents

组播数据包发送方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN110278158A
CN110278158A CN201910735689.5A CN201910735689A CN110278158A CN 110278158 A CN110278158 A CN 110278158A CN 201910735689 A CN201910735689 A CN 201910735689A CN 110278158 A CN110278158 A CN 110278158A
Authority
CN
China
Prior art keywords
equipment
multicast
packet
time window
multicast packet
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.)
Granted
Application number
CN201910735689.5A
Other languages
English (en)
Other versions
CN110278158B (zh
Inventor
李伟丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201910735689.5A priority Critical patent/CN110278158B/zh
Publication of CN110278158A publication Critical patent/CN110278158A/zh
Application granted granted Critical
Publication of CN110278158B publication Critical patent/CN110278158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Abstract

本发明涉及一种组播数据包发送方法、计算机设备和存储介质,应用于组播系统,所述组播系统包括第一设备和多个第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同数据包的设备,其方法包括以下步骤:所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备;所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。本发明可以剔除接收第一设备所发送的相同组播数据包的第二设备中的非首设备对组播发送的影响,减少第二设备所需划分的组播组数量,有效降低组播频次。

Description

组播数据包发送方法、计算机设备和存储介质
技术领域
本发明涉及通信技术领域,更具体地,涉及一种组播数据包发送方法、计算机设备和存储介质。
背景技术
随着移动互联网及垂直应用的蓬勃发展,业界对高带宽及多类型业务需求呈爆发式增长,基于传统专用硬件平台所开发的基站系统,在应对成本压力、容量升级、多网络协同、多服务等级管理、能力开放等诸多方面,都存在明显不足,移动通信网络架构急需往更为开放的架构迈进。在行业的共同努力下,ORAN联盟应运而生,该联盟旨在让网络向更为开放及智能的方向演进,以便为客户带来更为灵活、敏捷的服务。
而在未来的网络架构中,信息科技化(IT化)是其中一个重要特征,在IT化下,RRU(Remote Radio Unit,远端射频模块)与BBU(Building Baseband Unit,室内基带处理单元)间的通信将跳出传统前传架构基于专有网络及专有协议的限制,直接引进基于以太网交换网络的前传模式,以此提升设备互联互通的便捷性。由于移动通信网络存在共小区组网的形态,该形态下,BBU发往共小区的多个RRU的前传数据包是一致的,因此,IT化后,为了提升前传包的传输效率,需要开展基于组播包的数据发送,以此节省前传带宽及降低包发送压力。然而,由于移动通信网络无线信号收发需要空口对齐且BBU前传包经交换网络到达RRU存在时延抖动,因此,对于RRU而言,意味着前传包必须在提前于空口一定时间的时间窗内到达RRU,并经过RRU处理后在空口对齐发送出去,相应地,对于BBU而言,也需要基于所述RRU的网络时延特性及接收时间窗,推导出在某个特定时间窗内往RRU发送数据包,以保证所述数据包到达RRU后能够落入RRU的接收时间窗,最终保证数据被RRU正确接收。然而,由于网络拓扑的多样化,因此,共小区的多台RRU的网络时延特性也是不同的,且彼此间差异可能很大,因此,共小区的多台RRU被BBU划分到一个组播组进行共数据包接收后,BBU侧需控制好发送时间窗,使得所发送的组播数据包到达网络时延特性互异的共包接收的共小区多个RRU间时可以落入所述多台RRU的接收时间窗,保证组播包正确发送及接收。
而现有技术关于组播包的发送,是根据组播包的所有接收端设备的发送时间窗进行组播组的划分,容易导致组播组过多,最终引起组播效率低下,甚至带宽超额而影响组网应用等。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷(不足),提供一种组播数据包发送方法、计算机设备和存储介质,可以剔除接收第一设备所发送的相同组播数据包的第二设备中的非首设备对组播发送的影响,减少接收相同数据包的第二设备所需划分的组播组数量,有效降低组播频次。
本发明采取的技术方案是:
一种组播数据包发送方法,应用于组播系统,所述组播系统包括第一设备和多个第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同组播数据包的设备,包括以下步骤:
所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备;
所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
根据所述组播系统的连接拓扑,可以将接收第一设备所发送的相同组播数据包的第二设备分为首设备和非首设备,在进行组播组划分时剔除第二设备中的非首设备,仅仅对首设备进行组播组的划分,由此可以减少所需划分的组播组数量,有效降低组播频次,提升整个系统的组播数据包发送效率。在组播数据包发送过程中,可以先将组播数据包组播到组播组中的首设备,再通过首设备直接转发或处理后转发到与首设备连接的非首设备。
进一步地,所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备,包括以下步骤:
所述第一设备基于所述组播系统的连接拓扑关系,得到至少一条链路信息;
所述第一设备根据各条所述链路信息,确定各条链路中的至少一台所述第二设备为所述首设备。
在一条链路中,至少一台第二设备为首设备,其余第二设备为非首设备,首设备接收到第一设备组播发送的组播数据包后,可以通过链路将组播数据包转发给非首设备,由此使得与首设备接收相同组播数据包的非首设备可以快速、可靠地接收到该组播数据包。
进一步地,所述第一设备根据各条所述链路信息,确定各条链路中的至少一台所述第二设备为所述首设备,具体为:
所述第一设备根据各条所述链路信息,确定各条链路中与所述第一设备的链路路径最短的第二设备为所述首设备。
将与第一设备之间的链路路径最短的第二设备作为首设备,可以减少组播数据包组播到首设备所需要的传输时间。
进一步地,所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备,包括以下步骤:
所述第一设备获取各所述首设备的发送时间窗,根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组;
所述第一设备发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
在对首设备进行组播组的划分时,可以根据各个首设备发送时间窗的时域位置重合程度确定哪台或哪些首设备划分为一个组播组。若首设备发送时间窗的时域位置比较重合,可划分为同一个组播组;若首设备发送时间窗的时域位置较少重合或者不重合,可划分为不同的组播组。根据首设备的发送时间窗的时域位置对首设备进行组播组划分,可以优化数据传输资源的利用。
进一步地,所述第一设备根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组,具体为:
所述第一设备将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,x=1,2,……,n,n为首设备的总数。
在组播组划分的过程中,需要考虑组播数据包发送所需的发送耗时,避免发送耗时对组播数据包组播产生不利影响,导致组播数据包发送的延迟或失败。
进一步地,所述第一设备将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,包括以下步骤:
所述第一设备根据各所述发送时间窗的时域位置,确定各所述发送时间窗的顺序;
所述第一设备按照所述顺序,从第一个发送时间窗开始,将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组。
进一步地,所述第一设备获取各所述首设备的发送时间窗的步骤,包括:
所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗。
在确定首设备的发送时间窗时,需要考虑第一设备到首设备的传输时延,以避免第一设备到首设备的传输时延对组播数据包组播产生不利影响。
进一步地,所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗的步骤之前,还包括以下步骤:
对于任意一个所述首设备,所述第一设备根据空口时刻、所述首设备将所述组播数据包转发到各所述非首设备所需的最大转发耗时、所述首设备或所述非首设备对所述组播数据包处理所需的处理延时,确定所述首设备的接收时间窗的最晚时间、所述第一设备根据接收缓存时长和所述最晚时间,确定所述首设备的接收时间窗的最早时间;
所述第一设备根据各所述首设备的接收时间窗最晚的时间和接收时间窗的最早的时间,确定各所述首设备的接收时间窗。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述组播数据包发送方法的步骤。
一种组播数据包发送装置,应用于组播系统,所述组播系统包括第一设备和多个第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同组播数据包的设备,包括:
首设备确定模块,用于根据所述组播系统的连接拓扑,确定至少一台第二设备为首设备,其余所述第二设备为非首设备;
数据包发送模块,用于发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
根据所述组播系统的连接拓扑,首设备确定模块可以将接收第一设备所发送的相同组播数据包的第二设备分为首设备和非首设备,在进行组播组划分时剔除了非首设备,组播组划分单元仅仅对首设备进行组播组的划分,由此可以减少所需划分的组播组数量,有效降低组播频次,提升整个系统的组播数据包发送效率。在组播数据包发送过程中,数据包发送模块可以先将组播数据包组播到组播组中的首设备,再通过首设备直接转发或处理后转发到与首设备连接的非首设备。
进一步地,所述首设备确定模块,具体包括:
链路获取单元,用于基于所述组播系统的连接拓扑,得到至少一条链路信息;
类型确定单元,用于根据各条所述链路信息,确定各条链路中的至少一台第二设备为所述首设备。
在一条链路中,类型确定单元将至少一台第二设备确定为首设备,其余第二设备确定为非首设备,首设备接收到第一设备组播发送的组播数据包后,可以通过链路将组播数据包转发给非首设备,由此使得与首设备接收相同组播数据包的非首设备可以快速、可靠地接收到组播数据包。
进一步地,所述类型确定单元,具体用于根据各条所述链路信息,确定各条链路中与所述第一设备的链路路径最短的第二设备为所述首设备。
类型确定单元将与第一设备之间的链路路径最短的第二设备作为首设备,可以减少组播数据包组播到首设备所需要的传输时间。
进一步地,所述数据包发送模块,具体包括:
组播组划分单元,用于获取各所述首设备的发送时间窗,根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组;
数据包发送单元,用于发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
组播组划分单元在对首设备进行组播组的划分时,可以根据各个首设备发送时间窗的时域位置重合程度确定哪台或哪些首设备划分为一个组播组。若首设备发送时间窗的时域位置比较重合,可划分为同一个组播组;若首设备发送时间窗的时域位置较少重合或者不重合,可划分为不同的组播组。组播组划分单元根据首设备的发送时间窗的时域位置对首设备进行组播组划分,可以优化数据传输资源的利用。
进一步地,所述组播组划分单元,具体用于将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,x=1,2,……,n,n为首设备的总数。
在组播组划分单元进行组播组划分的过程中,需要考虑组播数据包发送所需的发送耗时,划分为同一个组播组的首设备,其发送时间窗的交集不小于发送耗时,可以避免发送耗时对组播数据包组播产生不利影响,导致组播数据包发送的延迟或失败。
进一步地,所述组播组划分单元,具体用于根据各所述发送时间窗的时域位置,确定各所述发送时间窗的顺序,按照所述顺序,从第一个发送时间窗开始,将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组。
进一步地,所述装置还包括:
发送时间窗确定模块,用于根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗。
通过发送时间窗确定模块可以确定首设备的发送时间窗,首设备发送时间窗的确定需要考虑第一设备到首设备的传输时延,以避免第一设备到首设备的传输时延对组播数据包组播产生不利影响。
进一步地,所述装置还包括:
接收时间窗确定模块,用于对于任意一个所述首设备,根据空口时刻、所述首设备将所述组播数据包转发到各所述非首设备所需的最大转发耗时、所述首设备或所述非首设备对所述组播数据包处理所需的处理延时,确定所述首设备的接收时间窗的最晚时间、所述第一设备根据接收缓存时长和所述最晚时间,确定所述首设备的接收时间窗的最早时间,根据各所述首设备的接收时间窗最晚的时间和接收时间窗的最早的时间,确定各所述首设备的接收时间窗。
与现有技术相比,本发明的有益效果为:
(1)将接收第一设备所发送的相同组播数据包的第二设备划分为首设备和非首设备,剔除了非首设备对组播组划分的影响,仅仅针对首设备进行组播组划分,通过非首设备将组播数据包转发给非首设备,可以减少所需划分的组播组数量,有效降低组播频次,提升整个系统的组播数据包发送效率;
(2)剔除了非首设备对联合发送时间窗的影响,使得影响联合发送时间窗制定的设备数量下降,进一步提升整个系统的组播数据包发送效率。
附图说明
图1为本发明实施例的组播数据包发送方法流程图。
图2为现有组播包发送技术示意图。
图3为本发明实施例的组播分组和组播数据包发送示意图。
图4为本发明实施例的另一个组播数据包发送方法流程图。
图5为本发明实施例的第一设备与第二设备网络连接拓扑示意图一。
图6为本发明实施例的第一设备与第二设备网络连接拓扑示意图二。
图7为本发明实施例的第一设备与第二设备网络连接拓扑示意图三。
图8为本发明实施例的第一设备与第二设备网络连接拓扑示意图四。
图9为本发明实施例的发送时间窗确定示意图。
图10为本发明实施例的组播分组装置组成原理图。
说明:图5至图8中实线示意的第二设备为首设备,虚线示意的第二设备为非首设备。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本申请提供的组播数据包发送方法,可以应用于如图7所示的组播系统中。该组播系统包括第一设备和多个第二设备,第一设备与多个第二设备直接或间接通信连接。例如,如图7中,第一设备与第二设备0_0直接通信连接,第一设备通过第二设备0_0与第二设备0_1通信连接。所有第二设备均用于接收来自第一设备的相同组播数据包。如图1所示,在一个实施例中,提供一种组播数据包发送方法,所述组播系统包括第一设备和多个第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同组播数据包的设备,包括以下步骤:
S1.所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备;
S2.所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
根据所述组播系统的连接拓扑,可以将接收第一设备所发送的相同组播数据包的第二设备分为首设备和非首设备,在进行组播组划分时剔除第二设备中的非首设备,仅仅对首设备进行组播组的划分,由此可以减少所需划分的组播组数量,有效降低组播频次,提升整个系统的组播数据包发送效率。在组播数据包发送过程中,先将组播数据包组播到组播组中的首设备,后续再根据首设备与非首设备之间的连接拓扑,通过首设备直接转发或处理后转发到与首设备连接的非首设备。
具体实施过程中,第一设备可以基于有线或者无线与第二设备进行连接;第一设备可以通过另外的设备,如交换机、其它接收相同组播数据包或接收不同组播数据包的第二设备等的其中一个或多个,与第二设备进行间接连接,第一设备也可以与第二设备进行直接连接。
具体实施过程中,首设备可以基于有线或者无线与非首设备进行连接;首设备可以通过另外的设备,如交换机或者其它非首设备等,与非首设备进行间接连接,首设备也可以与非首设备进行直接连接。
以1台BBU设备向6台RRH(Remote Radio Head,射频拉远头)设备进行组播为例,6台RRH设备分别为RRH0~RRH5,6台RRH设备即为第二设备。
采用传统技术的组播包发送技术,其组播策略如图2所示。RRH0~RRH5分别对应有时域位置不同的6个发送时间窗,若基于联合发送时间窗进行组播数据包组播,则分别针对RRH0~RRH5的发送时间窗可以将RRH0~RRH5最终分为3个组播组:RRH0与RRH3、RRH1与RRH4、RRH2与RRH5。
采用本实施例所提供的组播数据包发送方法,其组播策略如图3所示。假设根据该台BBU设备与6台RRH设备的连接拓扑,确定了RRH0和RRH3为首设备,RRH1、RRH2、RRH4和RRH5为非首设备。RRH0和RRH3的发送时间窗的时域位置很接近,可以将RRH0和RRH3划分为一个组播组,BBU将组播数据包组播到RRH0和RRH3,RRH0和RRH3接收到组播数据包后,可以将组播数据包直接转发或处理后转发到RRH1、RRH2、RRH4、RRH5,从而完成对所有第二设备——6台RRH设备的数据包组播,也即最终只有一个组播组:RRH0与RRH3。
如图4所示,在一个实施例中,步骤S1具体包括以下步骤:
S11.所述第一设备基于所述组播系统的连接拓扑关系,得到至少一条链路信息;
S12.所述第一设备根据各条所述链路信息,确定各条链路中的至少一台所述第二设备为所述首设备。
其中,一条链路信息包括该条链路上各第二设备的标识和各第二设备的连接关系信息。
在一条链路中,至少一台第二设备为首设备,其余第二设备为非首设备,首设备接收到第一设备组播发送的组播数据包后,可以通过链路将组播数据包转发给非首设备,由此使得与首设备接收相同组播数据包的非首设备可以快速、可靠地接收到组播数据包。
当链路较长时,首设备通过长链路将组播数据包转发到非首设备的传输时间会很长,而且传输可靠性会降低,因此对于长链路可以确定多台第二设备为首设备,通过多台首设备分别进行组播数据包的转发,使得非首设备可以更快速、更可靠地接收到组播数据包。
具体实施过程中,可以根据链路中接收相同组播数据包的第二设备数量控制该条链路中首设备的数量。具体地,可以预设一个或多个阈值,将链路中接收相同组播数据包的第二设备数量与预设的阈值进行比较,根据比较结果控制该条链路中首设备的数量。
在一个实施例中,步骤S12具体为:根据各条所述链路信息,确定各条链路中与所述第一设备的链路路径最短的第二设备为所述首设备。
将与第一设备之间的链路路径最短的第二设备作为首设备,可以减少组播数据包组播到首设备所需要的传输时间。
具体实施过程中,若首设备将组播数据包直接转发到非首设备,则首设备可以基于组播或者单播将组播数据包发送到非首设备。若首设备将组播数据包处理后再转发到非首设备,则首设备可以基于流式(如CPRI)或组播或单播将组播数据包发送到非首设备。所述处理包括数据传送功能处理,数据传送功能处理包括链路功能处理中的分层映射、预编码运算、FFT/IFFT、滤波等的一个或多个。
在一个实施例中,步骤S2具体包括以下步骤:
S21.所述第一设备获取各所述首设备的发送时间窗,根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组;
S22.所述第一设备发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
在对首设备进行组播组的划分时,可以根据各个首设备发送时间窗的时域位置确定哪台或哪些首设备划分为一个组播组。若首设备发送时间窗的时域位置比较重合,可划分为同一个组播组,在相近的时间里向组播组发送组播数据包;若首设备发送时间窗的时域位置较少重合或者不重合,可划分为不同的组播组。根据首设备的发送时间窗的时域位置对首设备进行组播组划分,可以优化数据传输资源的利用。
假设组播系统的连接拓扑如图5所示,第一设备通过交换网络与第二设备连接。若M取值为1、K取值为2,则第二设备有6台,假设6台第二设备对应的是可共小区收发的6台RRH设备,第一设备对应的是BBU设备,并将第二设备0_0、第二设备0_1、第二设备0_2、第二设备1_0、第二设备1_1、第二设备1_2依次命名为RRH0、RRH1、RRH2、RRH3、RRH4、RRH5,6台RRH设备组成2条链路:RRH0—RRH1—RRH2和RRH3—RRH4—RRH5。
若采用如图2所示的现有组播包发送技术,最终有3个组播组RRH0与RRH3、RRH1与RRH4、RRH2与RRH5,每个组播组承载2台RRH的组播数据包需要发送,由于RRH0、RRH1、RRH2是在同一条链路上的,但是又属于不同的3个组播组,则意味着RRH0—RRH1—RRH2这条链路承载了3个组播组对应3次发送的组播数据包,是实际需求的三倍,造成组播效率低下。
若采用本实施例所提供的方法,先确定接收第一设备所发送的相同组播数据包的第二设备中的首设备,由于RRH0是RRH0—RRH1—RRH2这条链路上最靠近第一设备的第二设备,也即RRH0是链路中与第一设备的链路路径最短的第二设备,所以确定RRH0是RRH0—RRH1—RRH2这条链路上的首设备,RRH1、RRH2是RRH0—RRH1—RRH2这条链路上的非首设备;同理,RRH3是RRH3—RRH4—RRH5这条链路上的首设备,RRH4、RRH5是RRH3—RRH4—RRH5这条链路上的非首设备。如图3所示,根据RRH0和RRH3的发送时间窗的重合程度,将RRH0和RRH3划分为1个组播组,BBU将组播数据包组播到RRH0和RRH3,RRH0接收到组播数据包后通过RRH0—RRH1—RRH2这条链路将组播数据包发送到RRH1、RRH2,RRH3接收到组播数据包后也通过RRH3—RRH4—RRH5这条链路将组播数据包发送到RRH4、RRH5。与采用现有组播包发送技术相比,采用本实施例所提供的方法只需要划分为1个组播组,同一个链路中只存在1个组播组,使得链路中承载的组播数据包数量与实际需求一致,组播效率明显提升,极大改善组播数据包的发送效率。
假设组播系统的连接拓扑如图6所示,第一设备与第二设备通过交换网络连接,每条链路有多个第二设备集合,同一个集合内的第二设备是接收第一设备所发送的相同组播数据包的设备,不同集合内的第二设备是接收第一设备所发送的不同组播数据包的设备,在组播数据包组播过程中需要单独对每个第二设备集合进行组播分组以及数据包组播。具体实施过程中,可以通过获取载波配置信息,从而获知需要接收相同组播数据包的第二设备集合。若M取值为1、K取值为3,则第二设备有8台,其中第二设备0_0、第二设备0_1、第二设备1_0、第二设备1_1属于第二设备集合1,第二设备0_2、第二设备0_3、第二设备1_2、第二设备1_3属于第二设备集合2。若采用本实施例所提供的方法,由于在第二设备集合1中第二设备0_0和第二设备1_0是与第一设备的链路路径最短的第二设备,所以确定第二设备0_0和第二设备1_0是第二设备集合1中的首设备;由于在第二设备集合2中第二设备0_2和第二设备1_2是与第一设备的链路路径最短的第二设备,所以确定第二设备0_2和第二设备1_2是第二设备集合2中的首设备。因此,每条链路上有2个首设备,其中第一条链路上的首设备为第二设备0_0和第二设备0_2,非首设备为第二设备0_1、第二设备0_3,第二条链路上的首设备为第二设备1_0、第二设备1_2,非首设备为第二设备1_1、第二设备1_3。此时,只需要分别对第二设备0_0和第二设备1_0、第二设备0_2和第二设备1_2这其中4个第二设备进行组播组划分,并对所划分的组播组进行组播数据包组播,第二设备0_0接收到组播数据包后通过第一条链路将组播数据包发送到第二设备0_1,第二设备0_2接收到组播数据包后通过第一条链路将组播数据包发送到第二设备0_3,第二设备1_0接收到组播数据包后通过第二条链路将组播数据包发送到第二设备1_1,第二设备1_2接收到组播数据包后通过第二条链路将组播数据包发送到第二设备1_3。
假设组播系统的连接拓扑如图7所示,第一设备与第二设备直接连接,首设备的确定、组播组的划分、组播数据包的组播和转发与上述同理。
假设组播系统的连接拓扑如图8所示,第一设备与第二设备通过无线网络连接,首设备的确定、组播组的划分、后续组播数据包的组播和转发也与上述同理。
在一个实施例中,步骤S21具体为:
所述第一设备将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,x=1,2,……,n,n为首设备的总数。
在组播组划分的过程中,需要考虑组播数据包发送所需的发送耗时,划分为同一个组播组的首设备,其发送时间窗的交集不小于发送耗时,可以避免发送耗时对组播数据包的组播产生不利影响,导致组播数据包发送的延迟或失败。
具体实施过程中,步骤S21具体包括:
所述第一设备根据各所述发送时间窗的时域位置,确定各所述发送时间窗的顺序;
所述第一设备按照所述顺序,从第一个发送时间窗开始,将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组。
更具体地,在一个实施例中,步骤S21包括以下步骤:
A1.令i=1,j=1;
A2.按照所述顺序,计算第i台至第i+j台首设备的发送时间窗的交集;
A3.若所述交集的时长小于发送所述组播数据包所需的发送耗时,则将第i台至第i+j-1台首设备划分为一个组播组并执行步骤A4;若所述交集的时长不小于发送所述组播数据包所需的发送耗时,则执行步骤A5;
A4.判断i+j是否等于n,若是则将第i+j台首设备划分为一个组播组并结束步骤,若否则令i=i+j,j=1,跳转至步骤A2;其中n为首设备总数量;
A5.判断i+j是否等于n,若是则将第i台至第i+j台首设备划分为一个组播组并结束步骤,若否则令j=j+1,跳转至步骤A2。
如图3所示,首设备RRH0和RRH3的发送时间窗分别为T00至T01、T02至T03。根据步骤S21,根据RRH0和RRH3发送时间窗的时域位置前后,可以确定第1台首设备为RRH0,第2台首设备为RRH3。假设组播数据包的发送所需的发送耗时为T,根据步骤S22,计算第1台首设备和第2台首设备的发送时间窗的交集得到联合的发送时间窗,若该联合的发送时间窗的时长小于T,则单独将RRH0划分为一个组播组,由于首设备的总数只有2台,所以单独将RRH3划分为另一个组播组,此时全部首设备已完成组播组划分,若首设备的总数不只有2台,则继续计算RRH3和第3台首设备的发送时间窗的交集,重复步骤A3;若该联合的发送时间窗的时长不小于T,由于首设备的总数只有2台,所以将RRH0、RRH3划分为同一个组播组,若首设备的总数不只有2台,则继续计算RRH0、RRH3和第3台首设备的发送时间窗交集,重复步骤A3。
在一个实施例中,所述第一设备获取各所述首设备的发送时间窗的步骤,包括:
所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗。
在确定首设备的发送时间窗时,需要考虑第一设备到首设备的传输时延,以避免第一设备到首设备的传输时延对组播数据包的组播产生不利影响。
如图9所示,假设某首设备的最早提前接收时长为T2a_max、最晚提前接收时长为T2a_min,也即接收时间窗的时长为T2a_max-T2a_min,而第一设备到该首设备的最大传输时延为T12_max、最小网络时延为T12_min,则该首设备的发送时间窗应为T2a_max+T12_min~T2a_min+T12_max
如图3所示,在BBU向首设备RRH0和RRH3进行组播的例子中,RRH0的发送时间窗为T00~T01,RRH3的发送时间窗为T02~T03。RRH0发送时间窗中的最早发送时间T00是根据RRH0接收时间窗中的最早接收时间和BBU与RRH0之间的最小传输延时确定的,RRH0发送时间窗中的最晚发送时间T00是根据RRH0接收时间窗中的最晚接收时间和BBU与RRH0之间的最大传输延时确定的。RRH3的发送时间窗确定与RRH1的同理。BBU与RRH0、RRH3之间通过光纤连接,则传输时延包括光纤拉远时延。
在一个实施例中,所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗的步骤之前,还包括以下步骤:
对于任意一个所述首设备,所述第一设备根据空口时刻、所述首设备将所述组播数据包转发到各所述非首设备所需的最大转发耗时、所述首设备或所述非首设备对所述组播数据包处理所需的处理延时,确定所述首设备的接收时间窗的最晚时间、所述第一设备根据接收缓存时长和所述最晚时间,确定所述首设备的接收时间窗的最早时间;
所述第一设备根据各所述首设备的接收时间窗最晚的时间和接收时间窗的最早的时间,确定各所述首设备的接收时间窗。
对于移动通信网络无线信号的收发,是需要空口对齐的。第二设备中的首设备和非首设备需要对接收到的组播数据包进行相应的处理,所述处理包括但不限于通信协议中规定的处理、射频处理等,处理延时即为首设备或非首设备对接收到的组播数据包进行相应处理所需的时间。首设备需要将接收到的组播数据包直接转发或处理后转发到非首设备,而且在组播数据包发送的过程中会有时延抖动,转发耗时即为首设备将组播数据包转发到各个非首设备所需的时间,最大转发耗时为首设备将组播数据包转发到最后一个接收到组播数据包的非首设备所需的时间。因此,为了满足空口对齐,组播数据包需要提前于空口时刻一定时间的时间窗内到达首设备。而该提前于空口时刻的时长,需要考虑处理延时和转发耗时。
如图3所示,在BBU向首设备RRH0和RRH3进行组播的例子中,RRH0和RRH3接收时间窗提前于空口时刻一定的时长,该时长包括处理延时、转发耗时。
具体实施过程中,首设备的接收时间窗的最晚时间为空口时刻减去转发耗时,再减去处理延时而得到,首设备的接收窗的最早时间为空口时刻减去转发耗时,再减去处理延时和缓存时长而得到。
假设组播系统的连接拓扑如图5所示。当M=0时,只有一条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为该条链路的首设备(第二设备0_0)将组播数据包转发到该条链路最后一个非首设备(第二设备0_K)所需的转发耗时。当M>0时,有多条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为各条链路中的首设备(第二设备0_0、第二设备1_0、……、第二设备M_0)将组播数据包分别对应转发到各条链路最后一个非首设备(第二设备0_K、第二设备1_K、……、第二设备K_M)所需的最大转发耗时。
假设组播系统的连接拓扑如图6所示。当M=0时,只有一条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为该条链路的首设备(第二设备0_0、第二设备0_X)分别对应转发到最后一个非首设备(第二设备0_0、第二设备0_X)的单条链路最大转发耗时。当M>0时,有多条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为各条链路的单条链路最大转发耗时中的最大值。
在一个实施例中,步骤S22具体包括以下步骤:
所述第一设备根据组播组中首设备的发送时间窗的交集,确定联合发送时间窗;
所述第一设备基于联合发送时间窗将所述组播数据包组播到组播组中的首设备。
在将组播数据包组播到组播组中的首设备时,先根据组播组中首设备的发送时间窗确定联合发送时间窗,再基于联合发送时间窗将组播数据包组播到组播组中的首设备。而联合发送时间窗可以根据组播组中首设备的发送时间窗的交集确定。
如图3所示,首设备RRH0和RRH3的发送时间窗分别为T00~T01和T02~T03,计算两者的交集可以得到时间窗T00~T03。对于RRH0和RRH3的组播,则可以在时间窗T00~T03的范围内确定联合发送时间窗。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述组播数据包发送方法的步骤。
本实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述组播数据包发送方法的步骤。
如图10所示,本申请实施例还提供一种组播数据包发送装置,应用于组播系统,所述组播系统包括第一设备和第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同组播数据包的设备,包括:
首设备确定模块10,用于根据所述组播系统的连接拓扑,确定至少一台第二设备为首设备;数据包发送模块20,用于发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
根据组播系统的连接拓扑,首设备确定模块10可以将接收第一设备所发送的相同组播数据包的第二设备分为首设备和非首设备,在进行组播组划分时剔除了第二设备中的非首设备,仅仅对首设备进行组播组的划分,由此可以减少所需划分的组播组数量,有效降低组播频次,提升整个系统的组播数据包发送效率。在组播数据包发送过程中,数据包发送模块20先将组播数据包组播到组播组中的首设备,后续再根据首设备与非首设备之间的连接拓扑,通过首设备直接转发或处理后转发到与首设备连接的非首设备。
优选地,首设备确定模块10设有类型配置模块,当确定第二设备的首设备和非首设备后,类型配置模块配置确定为首设备的第二设备的类型为首设备和/或配置确定为非首设备的第二设备的类型为非首设备。
具体实施过程中,第一设备可以基于有线或者无线与第二设备进行连接;第一设备可以通过另外的设备,如交换机、其它接收相同组播数据包或接收不同组播数据包的第二设备等的其中一个或多个,与第二设备进行间接连接,第一设备也可以与第二设备进行直接连接。
具体实施过程中,首设备可以基于有线或者无线与非首设备进行连接;首设备可以通过另外的设备,如交换机或者其它非首设备等,与非首设备进行间接连接,首设备也可以与非首设备进行直接连接。
以1台BBU设备向6台RRH设备进行组播为例,6台RRH设备分别为RRH0~RRH5,6台RRH设备即为第二设备。
采用传统技术的组播包发送技术,其组播策略如图2所示。RRH0~RRH5分别对应有时域位置不同的6个发送时间窗,若基于联合发送时间窗进行组播数据包组播,则分别针对RRH0~RRH5的发送时间窗可以将RRH0~RRH5最终分为3个组播组:RRH0与RRH3、RRH1与RRH4、RRH2与RRH5。
采用本实施例所提供的组播分组装置,其组播策略如图3所示。假设首设备确定模块10根据该台BBU设备与6台RRH设备的连接拓扑,确定了RRH0和RRH3为首设备,RRH1、RRH2、RRH4和RRH5为非首设备。RRH0和RRH3的发送时间窗的时域位置很接近,组播组划分单元20将RRH0和RRH3划分为一个组播组,BBU将组播数据包组播到RRH0和RRH3,RRH0和RRH3接收到组播数据包后,再根据其与RRH1、RRH2、RRH4、RRH5之间的连接拓扑,可以将组播数据包转发到RRH1、RRH2、RRH4、RRH5,从而完成对所有第二设备——6台RRH设备组播数据包的组播,也即最终只有一个组播组:RRH0与RRH3。。
如图10所示,在一个实施例中,首设备确定模块10,具体包括:
链路获取单元11,用于基于所述组播系统的连接拓扑,得到至少一条链路信息;
类型确定单元12,用于根据各条所述链路信息,确定各条链路中的至少一台第二设备为所述首设备。
在一条链路中,类型确定单元12将至少一台第二设备确定为首设备,其余第二设备确定为非首设备,首设备接收到第一设备组播发送的组播数据包后,可以通过链路将组播数据包转发给非首设备,由此使得与首设备接收相同组播数据包的非首设备可以快速、可靠地接收到组播数据包。
当链路较长时,首设备通过长链路将组播数据包转发到非首设备的传输时间会很长,而且传输可靠性会降低,因此对于长链路可以确定多台第二设备为首设备,通过多台首设备分别进行组播数据包的转发,使得非首设备可以更快速、更可靠地接收到组播数据包。
具体实施过程中,可以增设链路判断模块,所述链路判断模块,用于根据链路中接收相同组播数据包的第二设备数量控制该条链路中首设备的数量。具体地,所述链路判断模块具体用于将链路中接收相同组播数据包的第二设备数量与预设的一个或多个阈值进行比较,根据比较结果控制该条链路中首设备的数量。
在一个实施例中,类型确定单元12,具体用于根据各条所述链路信息,确定各条链路中与第一设备的链路路径最短的一台第二设备为首设备。
类型确定单元12将与第一设备之间的链路路径最短的第二设备作为首设备,可以减少组播数据包组播到首设备所需要的传输时间。
具体实施过程中,若首设备将组播数据包直接转发到非首设备,则首设备可以基于组播或者单播将组播数据包发送到非首设备。若首设备将组播数据包处理后再转发到非首设备,则首设备可以基于流式(如CPRI)或组播或单播将组播数据包发送到非首设备。所述处理包括数据传送功能处理,数据传送功能处理包括链路功能处理中的分层映射、预编码运算、FFT/IFFT、滤波等的一个或多个。
在一个实施例中,数据包发送模块20,具体包括:
组播组划分单元21,用于获取各所述首设备的发送时间窗,根据所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组;
数据包发送单元22,用于发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
在对首设备进行组播组的划分时,组播组划分单元21可以根据各个首设备发送时间窗的时域位置确定哪台或哪些首设备划分为一个组播组。若首设备发送时间窗的时域位置比较重合,可划分为同一个组播组;若首设备发送时间窗的时域位置较少重合或者不重合,可划分为不同的组播组。数据包发送单元22根据首设备的发送时间窗的时域位置对首设备进行组播组划分,可以优化数据传输资源的利用。
假设第一设备与第二设备的连接拓扑如图5所示,第一设备通过交换网络与第二设备连接。若M取值为1、K取值为2,则第二设备有6台,假设对应的是可共小区收发的6台RRH设备,第一设备对应的是BBU设备,并将第二设备0_0、第二设备0_1、第二设备0_2、第二设备1_0、第二设备1_1、第二设备1_2依次命名为RRH0、RRH1、RRH2、RRH3、RRH4、RRH5,6台RRH设备组成2条链路:RRH0—RRH1—RRH2和RRH3—RRH4—RRH5。
若采用如图1所示的现有组播包发送技术,最终有3个组播组RRH0与RRH3、RRH1与RRH4、RRH2与RRH5,每个组播组承载2台RRH的组播数据包需要发送,由于RRH0、RRH1、RRH2是在同一条链路上的,但是又属于不同的3个组播组,则意味着RRH0—RRH1—RRH2这条链路承载了3个组播组对应3次发送的组播数据包,是实际需求的三倍,造成组播效率低下。
若采用本实施例所提供的装置,通过首设备确定模块10先确定接收第一设备所发送的相同组播数据包的第二设备中的首设备,由于RRH0是RRH0—RRH1—RRH2这条链路上最靠近第一设备的第二设备,也即RRH0是链路中与第一设备的链路路径最短的第二设备,所以确定RRH0是RRH0—RRH1—RRH2这条链路上的首设备,RRH1、RRH2是RRH0—RRH1—RRH2这条链路上的非首设备;同理,RRH3是RRH3—RRH4—RRH5这条链路上的首设备,RRH4、RRH5是RRH3—RRH4—RRH5这条链路上的非首设备。如图3所示,根据RRH0和RRH3的发送时间窗的重合程度,通过组播组划分单元20将RRH0和RRH3划分为1个组播组,BBU将组播数据包组播到RRH0和RRH3,RRH0接收到组播数据包后通过RRH0—RRH1—RRH2这条链路将组播数据包发送到RRH1、RRH2,RRH3接收到组播数据包后也通过RRH3—RRH4—RRH5这条链路将组播数据包发送到RRH4、RRH5。与采用现有组播包发送技术相比,采用本实施例所提供的装置只需要划分为1个组播组,同一个链路中只存在1个组播组,使得链路中承载的组播数据包数量与实际需求一致,组播效率明显提升,极大改善组播数据包的发送效率。
假设第一设备与第二设备的连接拓扑如图6所示,第一设备与第二设备通过交换网络连接,每条链路有多个第二设备集合,同一个集合内的第二设备是接收第一设备所发送的相同组播数据包的设备,不同集合内的第二设备是接收第一设备所发送的不同组播数据包的设备,在组播数据包组播过程中需要单独对每个第二设备集合进行组播分组以及组播数据包的组播。具体实施过程中,可以通过载波配置信息获取模块获取载波配置信息,从而获知需要接收相同组播数据包的第二设备集合。若M取值为1、K取值为3,则第二设备有8台,其中第二设备0_0、第二设备0_1、第二设备1_0、第二设备1_1属于第二设备集合1,第二设备0_2、第二设备0_3、第二设备1_2、第二设备1_3属于第二设备集合2。若采用本实施例所提供的装置,由于在第二设备集合1中第二设备0_0和第二设备1_0是与第一设备的链路路径最短的第二设备,所以类型确定单元12确定第二设备0_0和第二设备1_0是第二设备集合1中的首设备;由于在第二设备集合2中第二设备0_2和第二设备1_2是与第一设备的链路路径最短的第二设备,所以类型确定单元12确定第二设备0_2和第二设备1_2是第二设备集合2中的首设备。因此,每条链路上有2个首设备,其中第一条链路上的首设备为第二设备0_0和第二设备0_2,非首设备为第二设备0_1、第二设备0_3,第二条链路上的首设备为第二设备1_0、第二设备1_2,非首设备为第二设备1_1、第二设备1_3。此时,组播组划分单元20只需要对第二设备0_0和第二设备1_0、第二设备0_2、第二设备1_2这其中4个第二设备进行组播组划分,再对所划分的组播组进行组播数据包组播,第二设备0_0接收到组播数据包后通过第一条链路将组播数据包发送到第二设备0_1,第二设备0_2接收到组播数据包后通过第一条链路将组播数据包发送到第二设备0_3,第二设备1_0接收到组播数据包后通过第二条链路将组播数据包发送到第二设备1_1,第二设备1_2接收到组播数据包后通过第二条链路将组播数据包发送到第二设备1_3。
假设第一设备与第二设备的连接拓扑如图7所示,第一设备与第二设备直接连接,首设备确定模块10对首设备的确定、组播组划分单元20对组播组的划分、后续组播数据包的组播和转发与上述同理。
假设第一设备与第二设备的连接拓扑如图8所示,第一设备与第二设备通过无线网络连接,首设备确定模块10对首设备的确定、组播组划分单元20对组播组的划分、后续组播数据包的组播和转发也与上述同理。
在一个实施例中,组播组划分单元21,更具体用于将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,x=1,2,……,n,n为首设备的总数。
在组播组划分单元21进行组播组划分的过程中,需要考虑组播数据包发送所需的发送耗时,划分为同一个组播组的首设备,其发送时间窗的交集不小于发送耗时,可以避免发送耗时对组播数据包组播产生不利影响,导致组播数据包发送的延迟或失败。
具体实施过程中,组播组划分单元21可以根据各所述发送时间窗的时域位置,确定各所述发送时间窗的顺序,按照所述顺序,从第一个发送时间窗开始,将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组。
更具体地,组播组划分单元21具体是执行以下步骤:
A1.令i=1,j=1;
A2.按照所述顺序,计算第i台至第i+j台首设备的发送时间窗的交集;
A3.若所述交集的时长小于发送所述组播数据包所需的发送耗时,则将第i台至第i+j-1台首设备划分为一个组播组并执行步骤A4;若所述交集的时长不小于发送所述组播数据包所需的发送耗时,则执行步骤A5;
A4.判断i+j是否等于n,若是则将第i+j台首设备划分为一个组播组并结束步骤,若否则令i=i+j,j=1,跳转至步骤A2;
A5.判断i+j是否等于n,若是则将第i台至第i+j台首设备划分为一个组播组并结束步骤,若否则令j=j+1,跳转至步骤A2。
如图3所示,首设备RRH0和RRH3的发送时间窗分别为T00至T01、T02至T03。顺序确定模块21根据RRH0和RRH3发送时间窗的时域位置前后,可以确定第1台首设备为RRH0,第2台首设备为RRH3。假设组播数据包发送所需的发送耗时为T,划分确定模块22计算第1台首设备和第2台首设备的发送时间窗的交集得到联合的发送时间窗,若该联合的发送时间窗的时长小于T,则单独将RRH0划分为一个组播组,由于首设备的总数只有2台,所以单独将RRH3划分为另一个组播组,此时全部首设备已完成组播组划分,若首设备的总数不只有2台,则继续计算RRH3和第3台首设备的发送时间窗的交集,重复步骤A3;若该联合的发送时间窗的时长不小于T,由于首设备的总数只有2台,所以将RRH0、RRH3划分为同一个组播组,若首设备的总数不只有2台,则继续计算RRH0、RRH3和第3台首设备的发送时间窗交集,重复步骤A3。
如图10所示,在一个实施例中,所述装置还包括:
发送时间窗确定模块31,用于根据所述首设备的接收时间窗和第一设备到所述首设备的传输时延,确定所述首设备的发送时间窗。
通过发送时间窗确定模块31可以确定首设备的发送时间窗,首设备发送时间窗的确定需要考虑第一设备到首设备的传输时延,以避免第一设备到首设备的传输时延对组播数据包的组播产生不利影响。
如图9所示,假设某首设备的最早提前接收时长为T2a_max、最晚提前接收时长为T2a_min,也即接收时间窗为T2a_max~T2a_min,而第一设备到该首设备的最大传输时延为T12_max、最小网络时延为T12_min,则该首设备的发送时间窗应为T2a_max+T12_min~T2a_min+T12_max
如图3所示,在BBU向首设备RRH0和RRH3进行组播的例子中,RRH0的发送时间窗为T00~T01,RRH3的发送时间窗为T02~T03。RRH0发送时间窗中的最早发送时间T00是通过发送时间窗确定模块31根据RRH0接收时间窗中的最早接收时间和BBU与RRH0之间的最小传输延时确定的,RRH0发送时间窗中的最晚发送时间T00是通过发送时间窗确定模块31根据RRH0接收时间窗中的最晚接收时间和BBU与RRH0之间的最大传输延时确定的。RRH3的发送时间窗确定与RRH1的同理。BBU与RRH0、RRH3之间通过光纤连接,则传输时延包括光纤最大拉远时延。
如图10所示,在一个实施例中,所述装置还包括:
接收时间窗确定模块32,用于对于任意一个所述首设备,根据空口时刻、所述首设备将所述组播数据包转发到各所述非首设备所需的最大转发耗时、所述首设备或所述非首设备对所述组播数据包处理所需的处理延时,确定所述首设备的接收时间窗的最晚时间、所述第一设备根据接收缓存时长和所述最晚时间,确定所述首设备的接收时间窗的最早时间,根据各所述首设备的接收时间窗最晚的时间和接收时间窗的最早的时间,确定各所述首设备的接收时间窗。
对于移动通信网络无线信号的收发,是需要空口对齐的。第二设备中的首设备和非首设备需要对接收到的组播数据包进行相应的处理,所述处理包括但不限于通信协议中规定的处理、射频处理等,处理延时即为首设备或非首设备对接收到的组播数据包进行相应处理所需的时间。首设备需要将接收到的组播数据包直接转发或处理后转发到非首设备,而且在组播数据包发送的过程中会有时延抖动,转发耗时即为首设备将组播数据包转发到各个非首设备所需的时间,最大转发耗时为首设备将组播数据包转发到最后一个接收到组播数据包的非首设备所需的时间。因此,为了满足空口对齐,组播数据包需要提前于空口时刻一定时间的时间窗内到达首设备。而这个提前于空口时刻的时长,需要通过接收时间窗确定模块32根据转发耗时和处理延时确定。
发送时间窗确定模块31、接收时间窗确定模块32可以分别设置在所述第一设备或所述第二设备或第三方设备等。
如图3所示,在BBU向首设备RRH0和RRH3进行组播的例子中,RRH0和RRH3接收时间窗提前于空口一定的时长,而该时长包括处理延时、转发耗时。
具体实施过程中,首设备的接收时间窗的最晚时间为空口时刻减去转发耗时,再减去处理延时而得到,首设备的接收窗的最早时间为空口时刻减去转发耗时,再减去处理延时和缓存时长而得到。
假设第一设备与第二设备的连接拓扑如图5所示。当M=0时,只有一条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为该条链路的首设备(第二设备0_0)将组播数据包转发到该条链路最后一个非首设备(第二设备0_K)所需的转发耗时。当M>0时,有多条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为各条链路中的首设备(第二设备0_0、第二设备1_0、……、第二设备M_0)将组播数据包分别对应转发到各条链路最后一个非首设备(第二设备0_K、第二设备1_K、……、第二设备K_M)所需的最大转发耗时。
假设第一设备与第二设备的连接拓扑如图6所示。当M=0时,只有一条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为该条链路的首设备(第二设备0_0、第二设备0_X)分别对应转发到最后一个非首设备(第二设备0_0、第二设备0_X)的单条链路最大转发耗时。当M>0时,有多条链路,首设备将组播数据包转发到各个非首设备所需的最大转发耗时,应为各条链路的单条链路最大转发耗时中的最大值。
如图10所示,在一个实施例中,所述装置还包括:
联合发送时间窗确定模块33,用于根据组播组中首设备的发送时间窗的交集,确定联合发送时间窗;
数据包发送模块30,具体用于基于联合发送时间窗发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
在将组播数据包组播到组播组中的首设备时,联合发送时间窗确定模块33先根据组播组中首设备的发送时间窗确定联合发送时间窗,数据包发送模块20再基于联合发送时间窗将组播数据包组播到组播组中的首设备。而联合发送时间窗确定模块33可以根据组播组中首设备的发送时间窗的交集确定联合发送时间窗。
联合发送时间窗确定模块33可以设置在所述第一设备或所述第二设备或第三方设备等。
如图3所示,首设备RRH0和RRH3的发送时间窗分别为T00~T01和T02~T03,通过联合发送时间窗确定模块33计算两者的交集可以得到时间窗T00~T03。对于RRH0和RRH3的组播,则联合发送时间窗确定模块33可以在时间窗T00~T03的范围内确定联合发送时间窗。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种组播数据包发送方法,其特征在于,应用于组播系统,所述组播系统包括第一设备和多个第二设备,所述第一设备与多个所述第二设备直接或间接通信连接,所述第二设备是接收第一设备所发送的相同组播数据包的设备,包括以下步骤:
所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备;
所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
2.根据权利要求1所述的一种组播数据包发送方法,其特征在于,所述第一设备根据所述组播系统的连接拓扑关系,确定至少一台所述第二设备为首设备,其余所述第二设备为非首设备,包括以下步骤:
所述第一设备基于所述组播系统的连接拓扑关系,得到至少一条链路信息;
所述第一设备根据各条所述链路信息,确定各条链路中的至少一台所述第二设备为所述首设备。
3.根据权利要求2所述的一种组播数据包发送方法,其特征在于,所述第一设备根据各条所述链路信息,确定各条链路中的至少一台所述第二设备为所述首设备,具体为:
所述第一设备根据各条所述链路信息,确定各条链路中与所述第一设备的链路路径最短的第二设备为所述首设备。
4.根据权利要求1至3任一项所述的组播数据包发送方法,其特征在于,所述第一设备发送组播数据包至所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备,包括以下步骤:
所述第一设备获取各所述首设备的发送时间窗,根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组;
所述第一设备发送组播数据包至所述组播组中的各所述首设备,以使所述首设备将所述组播数据包直接转发或处理后转发至所述非首设备。
5.根据权利要求4所述的一种组播数据包发送方法,其特征在于,所述第一设备根据各所述首设备的发送时间窗的重合程度,将至少一台所述首设备划分为一个组播组,具体为:
所述第一设备将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,x=1,2,……,n,n为首设备的总数。
6.根据权利要求5所述的一种组播数据包发送方法,其特征在于,所述第一设备将各所述发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组,包括以下步骤:
所述第一设备根据各所述发送时间窗的时域位置,确定各所述发送时间窗的顺序;
所述第一设备按照所述顺序,从第一个发送时间窗开始,将发送时间窗的交集的时长不小于发送所述组播数据包所需的发送耗时的连续x台首设备划分为一个组播组。
7.根据权利要求4所述的一种组播数据包发送方法,其特征在于,所述第一设备获取各所述首设备的发送时间窗的步骤,包括:
所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗。
8.根据权利要求7所述的一种组播数据包发送方法,其特征在于,所述第一设备根据各所述首设备的接收时间窗和所述第一设备到各所述首设备的传输时延,确定各所述首设备的发送时间窗的步骤之前,还包括以下步骤:
对于任意一个所述首设备,所述第一设备根据空口时刻、所述首设备将所述组播数据包转发到各所述非首设备所需的最大转发耗时、所述首设备或所述非首设备对所述组播数据包处理所需的处理延时,确定所述首设备的接收时间窗的最晚时间、所述第一设备根据接收缓存时长和所述最晚时间,确定所述首设备的接收时间窗的最早时间;
所述第一设备根据各所述首设备的接收时间窗最晚的时间和接收时间窗的最早的时间,确定各所述首设备的接收时间窗。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN201910735689.5A 2019-08-09 2019-08-09 组播数据包发送方法、计算机设备和存储介质 Active CN110278158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910735689.5A CN110278158B (zh) 2019-08-09 2019-08-09 组播数据包发送方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910735689.5A CN110278158B (zh) 2019-08-09 2019-08-09 组播数据包发送方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110278158A true CN110278158A (zh) 2019-09-24
CN110278158B CN110278158B (zh) 2024-01-30

Family

ID=67965930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910735689.5A Active CN110278158B (zh) 2019-08-09 2019-08-09 组播数据包发送方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110278158B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804068A (zh) * 2021-03-19 2021-05-14 恒生电子股份有限公司 发送次序的设置方法、装置、可读介质以及电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996931A (zh) * 2005-12-31 2007-07-11 迈普(四川)通信技术有限公司 网络组播方法
CN101299671A (zh) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
CN101370175A (zh) * 2007-08-15 2009-02-18 华为技术有限公司 确定数据发送时间的方法、组播分组方法、装置和系统
CN102025629A (zh) * 2010-12-10 2011-04-20 中兴通讯股份有限公司 一种组播业务实现方法、装置及系统
US20150256576A1 (en) * 2012-11-21 2015-09-10 Huawei Technologies Co., Ltd. Multicast Packet Forwarding Method and Device
CN105359423A (zh) * 2013-11-14 2016-02-24 华为技术有限公司 无线接入网络的数据传输方法、设备及系统
CN105791054A (zh) * 2016-04-22 2016-07-20 西安交通大学 一种基于流分类实现的自主可控可靠组播传输方法
WO2017000677A1 (zh) * 2015-06-30 2017-01-05 中兴通讯股份有限公司 组播控制方法和装置
CN106357540A (zh) * 2016-08-24 2017-01-25 浪潮(北京)电子信息产业有限公司 一种组播控制方法及装置、组播系统
US20170331670A1 (en) * 2016-05-13 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Network Architecture, Methods, and Devices for a Wireless Communications Network
CN110022534A (zh) * 2019-03-28 2019-07-16 山东省计算中心(国家超级计算济南中心) 一种基于组播的数据传输方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996931A (zh) * 2005-12-31 2007-07-11 迈普(四川)通信技术有限公司 网络组播方法
CN101299671A (zh) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
CN101370175A (zh) * 2007-08-15 2009-02-18 华为技术有限公司 确定数据发送时间的方法、组播分组方法、装置和系统
CN102025629A (zh) * 2010-12-10 2011-04-20 中兴通讯股份有限公司 一种组播业务实现方法、装置及系统
US20150256576A1 (en) * 2012-11-21 2015-09-10 Huawei Technologies Co., Ltd. Multicast Packet Forwarding Method and Device
CN105359423A (zh) * 2013-11-14 2016-02-24 华为技术有限公司 无线接入网络的数据传输方法、设备及系统
WO2017000677A1 (zh) * 2015-06-30 2017-01-05 中兴通讯股份有限公司 组播控制方法和装置
CN105791054A (zh) * 2016-04-22 2016-07-20 西安交通大学 一种基于流分类实现的自主可控可靠组播传输方法
US20170331670A1 (en) * 2016-05-13 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Network Architecture, Methods, and Devices for a Wireless Communications Network
CN106357540A (zh) * 2016-08-24 2017-01-25 浪潮(北京)电子信息产业有限公司 一种组播控制方法及装置、组播系统
CN110022534A (zh) * 2019-03-28 2019-07-16 山东省计算中心(国家超级计算济南中心) 一种基于组播的数据传输方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FENG XIE等: "The effects of NAK-based loss recovery mechanism on window-based multicast congestion control", GLOBECOM \'05. IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, 2005. *
孙卓: "链路可靠性关系认知DTN无线中继组播路由", 《信息技术》 *
孙卓: "链路可靠性关系认知DTN无线中继组播路由", 《信息技术》, no. 10, 31 October 2017 (2017-10-31), pages 168 - 174 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804068A (zh) * 2021-03-19 2021-05-14 恒生电子股份有限公司 发送次序的设置方法、装置、可读介质以及电子设备
CN112804068B (zh) * 2021-03-19 2021-06-18 恒生电子股份有限公司 发送次序的设置方法、装置、可读介质以及电子设备

Also Published As

Publication number Publication date
CN110278158B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
WO2017211171A1 (en) System and method for cell switching
CN102812647B (zh) 利用中继进行收发的宽频局域网的无线通信方法及装置
US8885504B2 (en) Method, apparatus and system for bandwidth aggregation of mobile internet access node
US20170207851A1 (en) Data transmission method and apparatus
CN104519493A (zh) 一种多个蓝牙设备组网的方法
CN105101301A (zh) 多用户协作通信场景下的数据传输方法、装置及系统
US10499305B2 (en) Method for transmitting data in wireless local area network mesh network, apparatus, and system
CN104980988A (zh) 多链路聚合的无线通信系统及方法
CN105813213A (zh) 双连接方案中传输数据的方法、基站和系统
CN105025524A (zh) 一种多路径并行传输数据调度方法及传输控制协议
CN108847919A (zh) 一种数据传输的方法、基站和无线通信设备
CN107135547A (zh) 一种多连接系统中的数据处理方法和装置
CN103108354B (zh) 控制数据传输
CN104244359A (zh) 一种用于无线网络路由路径优化的方法
CN104009901B (zh) 基于lpc1768平台的can中继器及数据转发方法
CN110278158A (zh) 组播数据包发送方法、计算机设备和存储介质
US20170208529A1 (en) Packet processing method for software-defined network
CN105657671B (zh) 一种实现组播的方法和设备
CN110224948A (zh) 一种基于fpga的多协议通信数据交换装置及方法
CN101743723A (zh) 用于自适应接入点模式的系统和方法
CN108668323A (zh) 传输速率调整方法及相关装置
CN103179656B (zh) 一种异构网络中业务流的同步传输方法及系统
CN103905143B (zh) 一种上行数据的处理方法及系统
CN103988459B (zh) 在数据报文的面向分组移动无线传输中运行时间优化的方法
CN107534619A (zh) 用于QoS增强的触发机制以及不按顺序封包传递

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
TA01 Transfer of patent application right

Effective date of registration: 20200220

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Applicant before: COMBA TELECOM SYSTEMS (GUANGZHOU) Ltd.

Applicant before: COMBA TELECOM TECHNOLOGY (GUANGZHOU) Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant