CN109314673B - 一种客户业务传输方法和装置 - Google Patents

一种客户业务传输方法和装置 Download PDF

Info

Publication number
CN109314673B
CN109314673B CN201780038563.1A CN201780038563A CN109314673B CN 109314673 B CN109314673 B CN 109314673B CN 201780038563 A CN201780038563 A CN 201780038563A CN 109314673 B CN109314673 B CN 109314673B
Authority
CN
China
Prior art keywords
data blocks
client
counter
transmission
data block
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.)
Active
Application number
CN201780038563.1A
Other languages
English (en)
Other versions
CN109314673A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109314673A publication Critical patent/CN109314673A/zh
Application granted granted Critical
Publication of CN109314673B publication Critical patent/CN109314673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/502Frame based
    • 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/20Traffic policing
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种客户业务传输方法和装置,用以减少输出线路接口发生拥塞的概率,甚至可以避免拥塞的发生。该方法可以包括:接收客户业务;其中,客户业务包括多个数据块,客户业务对应一计数器,计数器用于控制客户业务的输出速率;然后,在多个发送周期发送多个数据块;其中,在每个发送周期,当计数器的计数值达到预设阈值时,发送多个数据块中的至少一个数据块。该技术可以应用于传输节点传输客户业务的场景中。

Description

一种客户业务传输方法和装置
技术领域
本申请涉及数据传输技术领域,尤其涉及一种客户业务传输方法和装置。
背景技术
在分组业务系统中,现有传输节点基于尽力传送机制传输客户业务。例如,若客户设备A通过传输节点向客户设备B发送客户业务,传输节点的输出线路接口带宽是100Gbps(吉比特每秒),则传输节点输出客户业务的速率(即客户业务的输出速率)可尽力接近100Gbps。基于此,若某秒内输入传输节点的客户业务的大小是10M(兆),则客户业务在传输节点中的传输时间理论上可以是10M/100Gbps;若某秒内输入传输节点的客户业务是100M,则客户业务在传输节点中的传输时间理论上可以是100M/100Gbps等。
这样,若多个客户设备同时向一个传输节点发送客户业务,则由于对于每个客户设备发送的客户业务来说,传输节点均采用尽力传送机制传输客户业务,因此,不可避免地会发生拥塞。
发明内容
本申请实施例提供一种客户业务传输方法和装置,用以减少输出线路接口发生拥塞的概率,甚至可以避免拥塞的发生。
为了达到上述目的,本申请提供了如下技术方案:
第一方面,本申请提供了一种客户业务传输方法,包括:接收客户业务;客户业务包括多个数据块,客户业务对应一计数器,计数器用于控制客户业务的输出速率。然后,在多个发送周期发送多个数据块;其中,在每个发送周期,当计数器的计数值达到预设阈值时,发送多个数据块中的至少一个数据块。该方法的执行主体可以是传输节点。该技术方案中,通过在传输节点中设置计数器,并在每个发送周期,基于计数器的计数值控制输出的数据块的个数,这样,能够控制数据块的输出速率,即控制客户业务的输出速率,若按照该技术方案控制每个输入传输节点的客户业务的输出速率,则有助于减少输出线路接口发生拥塞的概率,甚至可以避免拥塞的发生。
在一种可能的设计中,在每个发送周期,在计数器的计数值达到预设阈值之前,该方法还可以包括:在计数器的每个计数周期,将计数器的计数值增加C;其中,C小于或等于预设阈值。本申请对C的物理含义不进行限定,例如,C可以是计数器的计数次数,该情况下,C=1。又如,C可以是根据客户业务的带宽确定的,预设阈值可以是根据输出线路接口带宽确定的。当然,具体实现时不限于此。
在一种可能的设计中,为了便于控制,本申请中引入了单位带宽的概念。基于此,C可以是客户业务的带宽与单位带宽的比值,预设阈值可以是输出线路接口带宽与单位带宽的调整值的比值,其中,单位带宽的调整值大于或等于单位带宽。
在一种可能的设计中,在每个发送周期,计数器从初始值开始计数。可选的,不同发送周期,计数器的初始值可以相同,例如初始值为0。或者,不同发送周期,计数器的初始值可以不同,例如,在第i+1个发送周期,计数器的初始值为第i个发送周期结束时计数器的计数值减去预设阈值之后得到的值;其中,i是大于或等于1的整数。当然,具体实现时不限于此。
在一种可能的设计中,在每个发送周期,当计数器的计数值达到预设阈值时,发送多个数据块中的至少一个数据块,可以包括:在每个发送周期,当计数器的计数值达到预设阈值时,若缓存有客户业务,则发送多个数据块中的至少一个数据块。
在一种可能的设计中,该方法还可以包括:在每个发送周期,当计数器的计数值达到预设阈值时,若没有缓存客户业务,则停止对计数器计数。基于此,该方法还可以包括:在缓存有客户业务时,发送多个数据块中的至少一个数据块,然后计数器从初始值开始计数。或者,在接收到客户业务之后,直接发送至少一个数据块,而不对该至少一个数据块进行缓存。
在一种可能的设计中,在接收客户业务之后,该方法还可以包括:将客户业务存储至缓存队列中;当计数器的计数值达到预设阈值时,从缓存队列中获取至少一个数据块。其中,每个客户业务可以对应一个缓存队列。本申请中通过对客户业务进行缓存,然后从缓存队列中获取至少一个数据块,并发送出去,能够在对数据块的输出速率的控制过程中,降低丢包率。
在一种可能的设计中,多个数据块中的每个数据块具有固定长度。这样,具有实现简单的有益效果。当然,具体实现时,不同数据块的长度可以不同。
在一种可能的设计中,发送多个数据块中的至少一个数据块,可以包括:根据客户业务的优先级,发送多个数据块中的至少一个数据块;其中,期望传输时延越小优先级越高。该实现方式,在输出不同客户业务时,考虑了期望传输时延,从而能够更好地满足不同客户业务对传输时延的要求,从而提高用户体验。
第二方面,本申请提供了一种客户业务传输装置,该装置具有实现上述方法实施例中各步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,该装置可以包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器、该存储器和该通信接口通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行如上述第一方面提供的任一种客户业务传输方法。
第三方面,本申请提供了一种计算机可读存储介质,用于储存为上述装置所用的计算机程序指令,当其在计算机上运行时,使得计算机可以执行上述第一方面提供的任一种客户业务传输方法。
第四方面,本申请提供了一种计算机程序产品,该计算机程序产品包含指令,当该指令在计算机上运行时,使得计算机可以执行上述第一方面提供的任一种客户业务传输方法。
上述提供的任一种装置,计算机可读介质或计算机程序产品的技术效果均可参见对应的方法所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的技术方案所适用的一种系统架构的示意图;
图2为本申请实施例提供的一种客户业务传输装置的结构示意图;
图3为本申请实施例提供的一种上下节点的结构示意图;
图3a为本申请实施例提供的另一种上下节点的结构示意图;
图4为本申请实施例提供的一种传输节点的结构示意图;
图4a为本申请实施例提供的一种线路处理单元的结构示意图;
图4b为本申请实施例提供的另一种传输节点的结构示意图;
图5为本申请实施例提供的技术方案所适用的另一种系统架构的示意图;
图6为本申请实施例提供的一种客户业务传输方法的交互示意图;
图7为本申请实施例提供的一种数据块的结构示意图;
图8为本申请实施例提供的一种替换标签的过程示意图;
图9为本申请实施例提供的一种上下节点的处理过程示意图;
图10为本申请实施例提供的一种传输节点的处理过程示意图;
图11为本申请实施例提供的一种速率监管方法的流程示意图;
图12为本申请实施例提供的一种速率监管方法的过程示意图;
图13为本申请实施例提供的一种策略调度方法的过程示意图;
图14为本申请实施例提供的另一种客户业务传输装置的结构示意图。
具体实施方式
如图1所示,为本申请提供的技术方案所适用的一种系统架构的示意图。该系统架构可以包括:承载网络设备以及多个客户设备100。该系统中,一个或多个客户设备经承载网络设备,将客户业务发送给另外的一个或多个客户设备。其中,为了方便理解,下文中将发送客户业务的客户设备称为发送端客户设备,将接收客户业务的客户设备称为接收端客户设备。可以理解的,同一个客户设备既可以作为发送端客户设备,也可以作为接收端客户设备。承载网络设备可以包括:与发送端客户设备或接收端客户设备连接的上下节点200,以及设置在上下节点200之间的一个或多个传输节点300。其中,任意一个或多个传输节点300可以与任意一个或多个上下节点200集成在一起,也可以是独立设置的。本申请中均是以上下节点200与传输节点300是独立设置为例进行说明的。
客户业务可以包括但不限于:以太网客户业务、同步数字体系(synchronousdigital hierarchy,SDH)客户业务、存储业务、视频业务等。一个发送端客户设备可以将一个或多个客户业务传输至一个或多个接收端客户设备。多个发送端客户设备可以将一个或多个客户业务传输至同一个接收端客户设备。
图1所示的系统可以是光网络,具体可以是接入网,例如无源光网络(passiveoptical network,PON;也可以传送网,例如光传送网(optical transport network,OTN)、分组网络、包交换网络等。
客户设备100(包括发送端客户设备和/或接收端客户设备),可以包括但不限于以下任一种:交换机、路由器、计算机、数据中心、基站等。上下节点200和传输节点300均可以包括但不限于以下任一种:OTN设备、路由器等。
上下节点200,可以用于接收发送端客户设备发送的数据包的形式或连续数据流的形式的客户业务,并将数据包的形式或连续数据流的形式的客户业务分成多个数据块(slice),并根据路由信息将多个数据块交换至对应的传输节点300。或者,接收传输节点300发送的数据块,并将属于同一客户业务的多个数据块恢复成数据包的形式或连续数据流的形式,然后发送给对应的接收端客户设备。每个上下节点200可以包括一个或多个输入/输出端。每个输入/输出端可以与一个或多个客户设备100(包括发送端客户设备或接收端客户设备)连接,或者与一个或多个传输节点300连接。
传输节点300,可以用于根据路由信息将数据块转发至其他传输节点300或上下节点200。每个传输节点300可以包括一个或多个输入/输出端。每个输入/输出端可以与一个或多个传输节点300连接,或者与一个或多个上下节点200连接。需要说明的是,下文中的输出线路接口可以认为是输出节点300的输出端。
可以理解的,在一些场景中,上下节点200和传输节点300中的任一设备的输入端,在另外一些场景中,可以作为该设备的输出端。其中,具体作为输入端还是输出端与本次传输客户业务过程中的路径有关,该路径可以根据路由信息确定。本次传输客户业务的路由信息可以是控制层面配置,并发送给路径上的各路由节点(包括上下节点200和传输节点300)的,其具体实现过程可以参考现有技术。其中,控制层面可以是集成在任一上下节点200和传输节点300中的一个功能模块,也可以是独立于上下节点200和传输节点300的一个设备,本申请对此不进行限定。每个输出端对应一个线路接口带宽,该线路接口带宽用于表征该输出端的承载能力。
可以理解的,图1仅为本申请所适用的系统架构的一种示例,本申请对系统架构中所包含的客户设备100、上下节点200和传输节点300的个数和连接关系均不进行限定,具体实现时,可以根据实际应用场景进行网络布局。
在本申请的一个示例中,图1中的上下节点200和传输节点300中的任一种或多种的结构示意图如图2所示。图2所示的设备可以包括:至少一个处理器21,以及存储器22、通信接口23和通信总线24。
处理器21是该设备的控制中心,具体可以是一个处理元件,也可以是多个处理元件的统称。例如,处理器21可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例提供的技术方案的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA)。其中,处理器21可以通过运行或执行存储在存储器22内的软件程序,以及调用存储在存储器22内的数据,执行该设备的各种功能。
在具体实现中,作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该设备可以包括多个处理器,例如图2中所示的处理器21和处理器25。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器22可以是独立存在,通过通信总线24与处理器21相连接。存储器22也可以和处理器21集成在一起。其中,存储器22用于存储执行本申请实施例提供的技术方案中该设备所执行的软件程序,并由处理器21来控制执行。
通信接口23,可以是使用任何收发器(例如,光接收器、光模块)一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请的一个示例中,图1中的上下节点200的结构示意图可以如图3所示。图3所示的上下节点200可以包括:一个或多个支路处理单元31、业务交换单元32,以及一个或多个线路处理单元33。其中,支路处理单元31可以用于经上下节点200的输入端接收发送端客户设备发送的客户业务,并将接收到的客户业务分成数据块,例如,将客户业务分成固定长度的数据块。然后,经业务交换单元32将该数据块交换至对应的线路处理单元33。其中,关于业务交换单元32将从一个支路处理单元31传输过来的客户业务交换至哪个线路处理单元33,本申请不进行限定,其具体实现过程可以参考现有技术。线路处理单元33可以用于将接收到的数据块经上下节点200的输出端输出该上下节点200。
在硬件实现上,支路处理单元31可以是支路板31a,业务交换单元32可以是交换板32a,线路处理单元33可以是线路板33a,支路板31a、交叉板32a、以及线路板33a均可以与主控板34a连接,如图3a所示。其中,主控板34a是上下节点200的控制中心,用于控制支路板31a、交叉板32a、以及线路板33a执行本申请提供的方法中相应的步骤。为了简便,图3a中示出了一个支路板31a和一个线路板33a与主控板34a连接,实际实现时,每个支路板31a和每个线路板33a均可以与主控板34a连接。可选的,上下节点200还可以包括:补充光处理单元35a,其中,补充光处理单元35a可以包括:光放大单元(optical amplification,OA)、光合波单元(optical multiplexing,OM)、光分波单元(pptical de-multiplexing,OD)、单路光监控信道单元optical supervisory channel,SCI)、线路接口单元(fiber interfaceunit,FIU)等。
在本申请的一个示例中,图1中的传输节点300的结构示意图可以如图4所示。图4所示的传输节点300可以包括:一个或多个源线路处理单元41、业务交换单元42,以及一个或多个目的线路处理单元43。其中,源线路处理单元41可以用于经传输节点300的输入端接收上下节点200或另一个传输节点300发送的数据块;然后,经业务交换单元42将该数据块交换至对应的目的线路处理单元43。其中,关于业务交换单元42将从一个源线路处理单元41传输过来的客户业务交换至哪个目的线路处理单元43,本申请不进行限定,其具体实现过程可以参考现有技术。目的线路处理单元43可以用于将接收到的客户业务经传输节点300的输出端输出该传输节点300。
如图4a所示,线路处理单元(包括:线路处理单元33和/或目的线路处理单元43)可以包括:队列缓存模块431和速率监管模块432,可选的,还可以包括策略调度模块433。可选的,还可以包括速率适配模块434。其中,各模块之间的连接关系的一种示例如图4所示,各模块的功能可以参考下文。
在硬件实现上,源线路处理单元41可以是源线路板41a,业务交换单元42可以是交叉板42a,目的线路处理单元43可以是目的线路板43a。源线路板41a、交叉板42a、以及目的线路板43a均可以与主控板44a连接,如图4b所示。其中,主控板44a是传输节点300的控制中心,用于控制源线路板41a、交叉板42a、以及目的线路板43a执行本申请提供的方法中相应的步骤。为了简便,图4b中示出了一个源线路板41a和一个目的线路板43a与主控板44a连接,实际实现时,每个源线路板41a和每个目的线路板43a均可以与主控板44a连接。可选的,传输节点300还可以包括:补充光处理单元45a,其中,补充光处理单元45a的具体实现可以参考补充光处理单元35a。
需要说明的是,本文中的术语“多个”是指两个或两个以上。
本文中的术语“第一”“第二”等仅是为了区分不同的对象,并不对其顺序进行限定。例如,第一上下节点和第二上下节点仅仅是为了区分不同的上下节点,并不对第一上下节点和第二上下节点的先后顺序进行限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。可以理解的,在公式中,“/”,一般表示前后关联对象是一种“相除”的关系。
下面对本申请实施例中的技术方案进行详细地描述。
需要说明的是,下文中的具体示例是以本申请提供的技术方案应用于图5所示的系统架构为例进行说明的,其中,图5所示的系统架构是图1所示的系统架构的一种具体实现。在图5中,客户设备1将客户业务1经上下节点1、传输节点1、上下节点2传输至客户设备4。客户设备2将客户业务2经上下节点1、传输节点1、上下节点2传输至客户设备5。客户设备3将客户业务3经上下节点1、传输节点2、上下节点3传输至客户设备5。实际上,本申请提供的技术方案也可以适用于一个发送端客户设备向上下节点发送多个客户业务的场景中,其基本原理可参考下文中的描述。
另外需要说明的是,下文中是以对客户业务的数据块进行缓存、速率监管、策略调度、速率适配等操作是应用于传输节点为例进行说明的,实际实现时,这些操作中的一个或多个也可以应用于上下节点(包括第一上下节点和/或第二上下节点)中,其具体实现过程可参考应用于传输节点的描述,本申请对此不再赘述。
如图6所示,为本申请实施例提供的一种客户业务传输方法的交互示意图。图6所示的方法可以包括以下步骤S101~S104:
S101:多个发送端客户设备向第一上下节点发送客户业务。客户业务以数据包的形式或连续数据流的形式传输。第一上下节点可以是图5中的上下节点1,下文中均以此为例进行说明。
该多个发送端客户设备可以是与上下节点1连接的任意的多个发送端客户设备。该多个发送端客户设备中的任意一个或多个发送端客户设备可以连续不断地,或者间断地向上下节点1发送客户业务。
基于图5所示的系统架构,S101可以包括:客户设备1向上下节点1发送客户业务1,客户设备2向上下节点1发送客户业务2,客户设备3向上下节点1发送客户业务3。
在S101之前,该方法还可以包括:每个发送端客户设备向控制层面申请客户业务(例如客户业务1、2、3)的带宽,以使得控制层面控制上下节点1为该发送端客户设备预留一定的带宽,以传输该客户业务。其中,客户业务的带宽可以是发送端客户设备根据需求(例如待传输客户业务的大小、期望传输时延需求等)确定的。同一发送端客户设备发送不同客户业务时,客户业务的带宽可以相同,也可以不同。不同发送端客户设备发送同一客户业务时,客户业务的带宽可以相同,也可以不同。本申请对此不进行限定。
在本申请的一个示例中,为了方便控制,系统中设置了单位带宽(即:最小带宽粒度),每个发送端客户设备可以将客户业务的带宽设置为单位带宽的整数倍。例如,假设单位带宽为2Mbps,则客户业务的带宽可以是n*2Mbps,其中,n可以是大于或等于1的整数。
S102:第一上下节点接收多个发送端客户设备发送的客户业务,并将接收到的客户业务分成固定长度的数据块,并将每个数据块生成一个切片,然后,根据路由信息将每个切片输出至对应的传输节点。
该步骤S102可以理解为:上下节点1将接收到的客户业务映射到承载容器中,每个承载容器用于承载一个数据块。可以理解的,“承载容器”是为了更形象地描述划分数据块的过程而提出的一个逻辑概念,可以不真实存在。
基于图5所示的系统架构,S102可以包括:上下节点1接收客户设备1发送的客户业务1、客户设备2发送的客户业务2、客户设备3发送的客户业务3,将客户业务1、2、3均分为固定长度的数据块,将每个数据块生成一个切片,接着,将客户业务1的每个切片输出至传输节点1,将客户业务2的每个切片输出至传输节点1,将客户业务3的每个切片输出至传输节点2。
上下节点1可以在接收到一个或多个数据包或连续数据流的情况下,按照接收时间先后顺序,将所接收到的数据包或连续数据流分成数据块。每个数据块可以是固定长度,即:上下节点1将接收到的任一发送端客户设备发送的任一客户业务,均分成固定长度的数据块。为了便于描述,本申请中均是以数据块是固定长度为例进行说明的。实际实现时,不同数据块的长度可以是不相等的。可以理解的,这里的“数据块”包括客户业务本身,可选的,还可以包括客户业务的一些随路信息等。
示例的,假设固定长度的数据块的长度为123Bytes,那么,当客户业务的带宽是2Mbps时,输入上下节点1的数据块的平均速率是2Mbps/123Bytes个数据块/秒,即上下节点1的支路处理单元形成容器时,平均每秒产生2Mbps/123Bytes个数据块。当客户业务的带宽是4Mbps时,输入上下节点1的数据块的平均速率是4Mbps/123Bytes个数据块/秒。
为了使承载网络设备(包括第一上下节点、第二上下节点和/或传输节点)对数据块的处理(例如交换、传输等)过程中,可以识别该数据块,在本申请的一个实施例中,上下节点1在将所接收到的数据包或连续数据流分成固定长度的数据块之后,可以为每个数据块添加一个标签(label)。由于发送端客户设备发送至上下节点1的不同类型的客户业务的传输格式可能不同,为了实现方便,本申请提供了一种数据块的格式,如图7所示。传输至上下节点1的任一类型的客户业务的格式均可以被转换成如图7所示的格式。图7中,数据块的格式可以包括:标签和净荷区。可选的,数据块的格式中还可以包括循环冗余校验(cyclicredundancy check,CRC)区。
其中,标签可以是全局标签,也可以是线路接口局部标签。全局标签可以是系统中的各设备均可识别的标签。线路接口局部标签可以是直接通信的两个设备可以识别的标签。相比全局标签,线路接口局部标签占用的比特数较少,下文中均是以标签是线路接口局部标签为例进行说明的。可以理解的,数据块的标签还可以用于区分不同的客户业务。数据块的标签可以是控制层面配置的。净荷区用于承载客户业务本身,可选的还可以用于承载客户业务的一些随路信息等。CRC区用于承载校验比特,校验比特可用于对净荷区承载的信息的完整性进行校验。当然,具体实现时,也可以通过其他方式实现完整性校验,不限定于CRC。
本申请对标签、净荷区和CRC区中的任一部分所占的大小不进行限定。图7中是以标签占4字节(Byte),净荷区占123Bytes,CRC占1Byte为例进行说明的。需要说明的是,为了区分上下节点1将接收到的客户业务区分成的“数据块”,以及如图7所示的“数据块”,本申请中将包含标签的数据块(如图7所示)称为“切片”。每个数据块对应一个切片,每个数据块可以认为承载在该数据块对应的切片的净荷区中的信息。
可选的,若上下节点1的输入端与输出端是一对多的关系,例如一个客户业务通过不同路径传输至不同的接收端客户设备,那么,上下节点1对一个数据块的处理流程可以包括:上下节点1为该数据块添加标签a,然后根据路由信息将标签a替换为标签b,并重新计算CRC。其中,替换标签可以是上下节点1中的支路处理单元,业务交换单元或线路处理单元中的任一单元执行,其具体实现过程可以如图8所示。
如图9所示,为S102的一种实现过程的示意图。图9中是以上下节点1的一个支路处理单元31对接收到的数据包或连续数据流进行分数据块,并将每个数据块生成一个切片为例进行说明的。
S103:传输节点接收第一上下节点发送的客户业务的切片,并根据路由信息对接收到的切片执行交换操作。然后,将交换后的切片按照所属的客户业务进行缓存,其中,每个客户业务对应一个缓存队列。接着,对每个客户业务的切片独立执行速率监管操作,并对速率监管后的客户业务进行策略调度和速率适配等操作,并将执行上述操作后的切片传输至下一个路由节点。其中,下一个路由节点可以是下一个传输节点或第二上下节点,若下一个路由节点是第二上下节点,则执行S104。若下一个路由节点是传输节点,则该传输节点继续执行S103,……直至下一个路由节点是第二上下节点,则执行S104。
可以理解的,一般的,缓存空间是所有缓存队列共享的,在传输节点的承载能力范围内,传输节点每接收一个客户业务,即可为该客户业务分配一个缓存队列。
基于图5所示的系统架构,第二上下节点可以包括上下节点2和上下节点3。S103可以包括:传输节点1接收上下节点1发送的客户业务1、2的切片,将客户业务1、2的切片传输至上下节点2;传输节点2接收上下节点1发送的客户业务3的切片,将客户业务3的切片传输至上下节点3。
可以理解的,传输节点根据路由信息对接收到的切片执行交换操作,可以包括:传输节点根据路由信息,确定切片的下一个路由节点,然后再执行交换操作。可选的,若数据块的标签是线路接口局部标签,则传输节点在执行交换操作的过程中,还需要执行替换标签的动作。例如,基于图5所示的系统架构,假设上下节点1向传输节点2发送的客户业务3的数据块标签为标签b,则传输节点2在执行交换操作的过程中,可以将标签b替换为标签c,可选的,可以重新计算数据块的CRC,该过程的具体实现方式可以参考图8。其中,标签b是上下节点1和传输节点2可识别的标签,标签c是传输节点2和上下节点3可识别的标签。
在本申请的一个示例中,传输节点在接收到客户业务的切片之后,可以根据切片中包含的CRC进行完整性校验,并在校验成功的情况下,执行速率监管、策略调度和速率适配。可选的,在校验不成功的情况下,丢弃该切片。
可以理解的,若传输节点的结构示意图如图4所示,则交换操作可以由业务交换单元42执行,缓存操作可以由队列缓存模块431执行,速率监管操作可以由速率监管模块432执行,策略调度操作可以由策略调度模块433执行,速率适配操作可以由速率适配模块434执行。其中,关于速率监管、策略调度和速率适配的操作的相关解释及具体实现方式可参见下文。
如图10所示,为S103的一种实现过程的示意图。其中,图10中是以传输节点的两个输入端输入的多个客户业务传输至一个输出端为例进行说明的,其中,每个矩形小方格表示一个切片,其中,每种阴影小方格表示一个客户业务,缓存队列中的每个空白小方格表示缓存队列中还未存储切片。每个客户业务独立进行队列缓存和速率监管。多个客户业务统一进行策略调度和速率适配之后,从该输出端输出。
S104:第二上下节点接收传输节点发送的客户业务的切片,并获取每个切片中的数据块,然后,将同一客户业务的数据块按照接收时间先后顺序恢复成数据包的形式或连续数据流的形式或连续数据流,然后将该客户业务发送给对应的接收端客户设备。接收端客户设备接收第二上下节点发送的客户业务。
基于图5所示的系统架构,S104可以包括:上下节点2接收传输节点1发送的客户业务1的切片,然后,将客户业务1的切片恢复成数据包的形式或连续数据流的形式,发送给客户设备4。客户设备4接收上下节点2发送的客户业务1。上下节点2接收传输节点1发送的客户业务2的切片,然后,将客户业务2的切片恢复成数据包的形式或连续数据流的形式,发送给客户设备5。上下节点3接收传输节点2发送的客户业务3的切片,然后,将客户业务3的切片恢复成数据包的形式或连续数据流的形式,发送给客户设备5。客户设备5接收上下节点3发送的客户业务2、3。
在本申请的一个示例中,第二上下节点在接收到客户业务的切片之后,可以根据该切片中包含的CRC进行完整性校验,并在校验成功的情况下,删除切片中的标签,得到该切片中的数据块。
S104的具体实现过程的示意图可以是图9的逆过程。
下面说明S103中的速率监管、策略调度和速率适配等操作。
一、速率监管
速率监管,是本申请提供的一种控制客户业务的输出速率的技术,有助于减少拥塞发生的概率,甚至消除拥塞的发生。具体的:在传输节点中设置多个计数器,每个客户业务可以对应一个计数器,每个计数器用于控制该客户业务的输出速率。然后,在多个发送周期发送多个数据块。其中,在每个发送周期,当计数器的计数值达到预设阈值时,发送该多个数据块中的至少一个数据块。其中,计数器可以通过软件或硬件实现,本申请对此不进行限定。传输节点可以对每个客户业务独立进行速率监管。
在本申请的一个示例中,以对一个客户业务的输出速率进行速率监管为例,如图11所示,在每个发送周期,传输节点(具体可以是传输节点中的速率监管模块432),可以执行如下步骤S201~S205:
S201:在计数器的每个计数周期,将计数器的计数值增加C;其中,C小于或等于预设阈值。
S202:判断计数器的计数值是否达到预设阈值。
若是,则执行S203;若否,则返回S201。
S203:判断客户业务的缓存队列是否缓存有该计数器对应的客户业务数据块。
若是,则执行S204。若否,则执行S205。
S204:从缓存队列中获取至少一个数据块,并发送出去。
执行S204之后,本发送周期结束。
S205:停止对计数器计数。
执行S205之后,执行S203。
可以理解的,在执行速率监管的过程中,传输节点可以连续不断地或者间断地接收第一上下节点发送的客户业务,或规律地接收其他传输节点发送的客户业务。因此,执行S203时,若缓存队列没有缓存客户业务,则执行S205的若干时间之后再执行S203,缓存队列可能已缓存有客户业务,从而可以执行S204。另外,具体实现时,还可以设置该时间的时长,这样,当从计数器停止计数开始的该时长之后,若执行S203时,缓存队列仍没有缓存客户业务,可以认为该客户业务传输结束。其中,本申请对该时长的具体取值不进行限定。
上述S201~S205描述了一个发送周期的速率监管过程。对于多个发送周期来说,可选的,在每个发送周期,计数器从初始值开始计数。其中,不同发送周期的初始值可以相同,也可以不相同。在本申请的一个实施例中,在第i+1个发送周期,计数器的初始值为第i个发送周期结束时计数器的计数值减去预设阈值之后得到的值;其中,i是大于或等于1的整数。在本申请的另一个实施例中,在每个发送周期,计数器的初始值均为小于预设阈值的一个固定的一个值,例如可以是0。
发送周期,是指相邻两次发送数据块的时间间隔,其中,每次可以发送一个或多个数据块。发送周期可以不是预先设置的值,其与计数器的计数值相关,进一步地,与计数值达到预设阈值时,是否缓存有客户业务相关。在任意两个发送周期,若计数值达到预设阈值时,缓存队列均缓存有客户业务,则这两个发送周期相等。或者,虽然计数值达到预设阈值时,缓存队列没有缓存客户业务,但是,计数器停止计数的时间相等,则这两个发送周期相等。若计数值达到预设阈值时,缓存队列没有缓存客户业务,且计数器停止计数的时间不相等,则这两个发送周期不相等。
可以理解的,若计数值达到预设阈值时,缓存队列缓存有客户业务,则发送周期等于预设数量个计数周期。若计数值达到预设阈值时,缓存队列没有缓存客户业务,则发送周期等于预设数量个计数周期与停止计数的时长。基于此,本申请提供的速率监管过程可以理解为,在计数器的技术值达到预设阈值时,客户业务拥有一次发送机会,即传输节点拥有一次发送该客户业务的数据块的机会。每次发送机会可发送至少一个数据块,基于此,来控制数据块的输出速率,即控制客户业务的输出速率。
每个发送周期发送的数据块的个数可以相等,也可以不相等。为了保证输出速率在一定范围内恒定,本申请中引入了“数据块传输周期”的概念,其中,数据块传输周期可以包括一个或多个发送周期,每个数据块传输周期内发送的数据块的个数相等。
例如,每个数据块传输周期包括2个发送周期,在这2个发送周期的一个发送周期发送1个数据块,在另一个发送周期发送2个数据块。该情况下,在多个发送周期内发送的数据块的个数可以为:1,2,1,2,1,2……,或者,1,2,2,1,1,2,1,2,2,1……。由该示例可知,通过控制每个发送周期发送的数据块个数,即可使得每个数据块传输周期发送的数据块的个数相同,从而可以保证数据块的以数据块传输周期为粒度的基础上的输出速率恒定。可以理解的,数据块的实际输出速率小于该恒定的输出速率,因此,只要通过控制每个发送周期的时长,以及每个发送周期发送的数据块个数,即可控制该恒定的输出速率,从而有助于减小输出线路接口发生拥塞的概率。
又如,每个数据块传输周期包括1个发送周期,在这个发送周期内2个数据块。该情况下,在多个发送周期内发送的数据块的个数可以为:2,2,2……。可以理解的,该示例中,数据块传输周期与发送周期相等。因此,只要通过控制每个发送周期的时长,以及每个发送周期发送的数据块个数,即可控制该恒定的输出速率,从而有助于减小输出线路接口发生拥塞的概率。
计数周期,是指计数器的计数值每更新一次所需的时间。实际实现时,可以通过脉冲信号实现计数周期,例如,若脉冲周期等于计数周期,则在每个脉冲周期计数器的计数值增加C。可选的,计数周期可以等于线路接口的数据块传输时间,例如,假设输出线路接口的带宽是100Gbps,数据块所在的切片的长度是128Bytes,则线路接口的数据块传输时间为:128Bytes/100Gbps=10.24ns(纳秒)。当然,计数周期也可以大于线路接口的数据块传输时间。
本申请对计数器的计数值的物理含义不进行限定。下面列举几种实现方式:
方式1:C是计数次数。该情况下,每个计数周期,计数器的计数值增加1。该情况下,预设阈值的取值可以根据下文方式2中的取值换算得到,此处不再赘述。当然,也可以通过其他方式得到,本申请对此不进行限定。
方式2:C是根据客户业务的带宽确定的。该情况下,可选的,预设阈值是根据输出线路接口带宽确定的。
可选的,C是客户业务的带宽与单位带宽的比值,预设阈值是输出线路接口带宽与单位带宽的调整值的比值,其中,单位带宽的调整值大于或等于单位带宽。需要说明的是,为了实现方便,预设阈值可以设置为整数,该情况下,若输出线路接口带宽与单位带宽的调整值的比值为非整数,则预设阈值可以取该非整数向下取整得到的整数。当然,具体实现时,预设阈值也可以设置为非整数,本申请对此不进行限定。
可以理解的,单位带宽的调整值越大,所确定的预设阈值就越小,这样,计数器的计数值更容易达到预设阈值,因此,发送周期较小,发送机会更多,进而输出速率更快。加速是为了消除客户业务输出速率的微小突变,从而避免拥塞的发生。
在本申请的一个示例中,假设C是客户业务的带宽与单位带宽的比值,则预设阈值可以是小于或等于输出线路带宽(即线路物理速率),且是单位带宽乘以一个加速系数后的整数倍的一个值。例如,单位带宽是2Mbps,客户业务的带宽是10Mbps,则C可以是10Mbps/2Mbps=5。若输出线路接口带宽是100Gbps,单位带宽的调整值为单位带宽的1001/1000,即加速系数是1001/1000,则预设阈值(标记为P)可以是100Gbps/(2Mbps*1001/1000)后向下取整得到的值,即49950。也就是说,本申请中通过速率监管,可以将数据块的实时输出速率近似且小于为客户业务的带宽。基于此,由于控制层面可以控制传输节点的输出线路带宽的总和小于或等于该输出接口线路带宽上传输的客户业务的带宽总和,因此,若每个客户业务均按照上述方法进行控制,则有助于减小输出线路带宽发生拥塞的概率。
在本申请的一个示例中,在任一个发送周期的每个计数周期,计数器的计数值增加C,当计数器的计数值达到P时,客户业务拥有一次发送机会。当该客户业务对应的缓存队列缓存有客户业务时,发送该数据业务的至少一个数据块,至此,本发送周期结束。当客户业务对应的缓存队列没有缓存客户业务时,计数器停止计数,并在缓存队列中缓存有客户业务时,至此,本发送周期结束。其中,在本发送周期结束时,将计数器的计数值设置为初始值,至此,下一个发送周期开始。
其中,该过程可以采用如图12所示的过程实现,图12中,在速率监管模块432中设置的触发式饱和漏桶,可相当于一个控制模块,该控制模块可以在每个脉冲周期,控制计数器的计数值增加C,当计数器的计数值达到P时,若检测到队列缓存模块431发送的非空指示,则控制队列缓存中的至少一个数据块输出至策略调度模块433,可选的,可以向策略调度模块433发送一个调度请求,以请求调度资源。
二、策略调度
由于传输节点对每个客户业务独立执行速率监管,且输入传输节点的不同客户业务可以被交换至同一个输出端,因此,可能出现不同客户业务的数据块同时输出速率监管模块432,并输入同一个输出端的情况,这可能造成用拥塞,从而导致部分数据块丢包。基于此,本申请提供了在速率监管操作之后,输出之前,增加了策略调度操作。其中,策略调度,是通过不同客户业务的时延需求,确定不同客户业务的优先级,从而按照优先级输出传输节点的一种调度技术。其具体实针对同时从速率监管模块432输出,并输入同一个输出端的不同客户业务设计的一种调度技术。可扩展地,策略调度可以包括如下内容:
对于任意多个客户业务的切片来说,若该多个切片先后被输入策略调度模块433,则按照输入时间的先后顺序被输出。若该多个切片同时被输入策略调度模块433,则按照切片所属客户业务的严格优先级(strict priority,SP)被输出,其中,优先级高的客户业务的切片先输出,优先级低的客户业务的切片后输出。若任意多个切片所属客户业务的优先级相同,则按照轮询(round robin,RR)方式被输出。该过程的示意图如图13所示,其中,图13中是示出了第一优先级、第二优先级和第三优先级,其中,第一优先级高于第二优先级,第二优先级高于第三优先级。图13中的“H”表示执行SP的两个客户业务中高优先级的客户业务,“L”表示执行SP的两个客户业务中低优先级的客户业务。
具体实现时,传输节点在执行策略调度之前的任一步骤,该方法还可以包括:传输节点按照客户业务的期望传输时延,确定客户业务的优先级。其中,期望传输时延,是根据实际需求设置的一个期望值,其可以是预设值。不同客户业务的期望传输时延可以相同也可以不同。同一客户业务在不同场景中的期望传输时延可以相同也可以不同。可选的,每个优先级级别可以对应一个期望传输时延范围。例如,期望传输时延小于或等于5us(微秒)的客户业务的优先级是第一优先级。期望传输时延小于或等于20us的客户业务的优先级是第二优先级。期望传输时延小于或等于50us的客户业务的优先级是第三优先级。其中,第一优先级高于第二优先级,第二优先级高于第三优先级。示例的,若一个客户业务的期望传输时延是5us,则只有第一优先级能够时刻满足该期望传输时延;其他优先级,例如第二优先级等,虽然有时可以满足该期望传输时延,但是,不能时刻满足该期望时延,因此,该客户业务的优先级为第一优先级。其他示例不再一一列举。
基于本申请提供的速率监管方法,在本申请的一个示例中,控制层面可以根据客户业务的时延要求和本系统的支持能力来分配对应的传输资源,实现不同客户业务的时延需求。示例的,假设输出线路接口带宽是100Gbps,传输节点调度一个数据块的时间是10.24ns,数据块从传输节点的输入端经业务交换模块交换到对应的缓存队列的时间小于3us。那么,如果期望传输时延小于5us,则该客户业务的优先级是第一优先级,由于经过严格速率监管后的客户业务可以达到没有拥塞的效果,因此引入传输时延仅和第一优先级的客户业务的个数客户业务管道数(即第一优先级的客户业务的个数)相关,因此,系统最多可支持(5us-3us)/10.24ns=195个传输时延小于5us的客户业务,即分配的所有第一优先级的客户业务管道数不超过195个时,都可以保证传输时延在5us以内。对于第二优先级客户业务,如果期望传输时延小于20us,则按照同样的方法,系统可以支持(20us-3us)/10.24ns=1660个小于20us的客户业务管道,考虑到可能有195个第一优先级队列,因此,系统可以支持1660-195=1465个传输时延小于20us的客户业务,以此类推,可以得到系统可支持的第三优先级客户业务、第四优先级客户业务的个数。这样,可以根据客户业务的传输时延要求和本系统的支持能力来分配对应的传输资源,实现不同客户业务的时延需求。
三、速率适配
由于有加速等因素的影响,会使得输出线路接口带宽大于输出线路接口传输的所有客户业务的带宽总和,因此,需要进行速率适配。具体的:若某一时刻所有客户业务的实时输出速率之和小于输出线路接口带宽,则该时刻通过填充无效的数据块,该所有客户业务一起输出。其中,速率适配过程中所填充的无效的数据块可以采用和数据块相同的格式,使用一个特殊的标签来识别,也可以采用其他长度或其他格式的数据块,本申请对此不进行限定。
上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,例如上下节点、传输节点或者客户设备,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对上下节点、传输节点或者客户设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,在采用对应各个功能划分各个功能模块的情况下,图14示出了上述实施例中所涉及的客户业务传输装置(具体可以是传输节点,也可以是上下节点)的一种可能的结构示意图。该客户业务传输装置可以包括:接收单元501和发送单元502。其中:
接收单元501,可以用于接收客户业务;其中,客户业务包括多个数据块,客户业务对应一计数器,计数器用于控制客户业务的输出速率。
发送单元502,可以用于在多个发送周期发送多个数据块;其中,在每个发送周期,当计数器的计数值达到预设阈值时,发送多个数据块中的至少一个数据块。
可选的,该客户业务传输装置还可以包括:控制单元503,用于在每个发送周期,在计数器的计数值达到预设阈值之前,在计数器的每个计数周期,将计数器的计数值增加C;其中,C小于或等于预设阈值。
可选的,C是根据客户业务的带宽确定的,预设阈值是根据输出线路接口带宽确定的。可选的,C是客户业务的带宽与单位带宽的比值,预设阈值是输出线路接口带宽与单位带宽的调整值的比值,其中,单位带宽的调整值大于或等于单位带宽。
可选的,在每个发送周期,计数器从初始值开始计数。
可选的,在第i+1个发送周期,计数器的初始值为第i个发送周期结束时计数器的计数值减去预设阈值之后得到的值;其中,i是大于或等于1的整数。
可选的,控制单元503,还可以用于在每个发送周期,当计数器的计数值达到预设阈值时,若没有缓存客户业务,则停止对计数器计数。
可选的,该客户业务传输装置还可以包括:存储单元504,用于将客户业务存储至缓存队列中。获取单元505,用于当计数器的计数值达到预设阈值时,从缓存队列中获取至少一个数据块。
可选的,多个数据块中的每个数据块具有固定长度。
可选的,发送单元502,具体可以用于:根据客户业务的优先级,发送多个数据块中的至少一个数据块;其中,期望传输时延越小优先级越高。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请实施例中,该客户业务传输装置以对应各个功能划分各个功能模块的形式来呈现,或者,该客户业务传输装置以采用集成的方式划分各个功能模块的形式来呈现。这里的“单元”可以指ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,本领域的技术人员可以想到上述客户业务传输装置可以采用图2所示的形式实现。比如,图14中的接收单元501和发送单元502可以通过图2中的通信接口23实现。图14中的存储单元504可以通过图2中的存储器22实现。图14中的控制单元503和获取单元505可以由图2中的处理器21来调用存储器22中存储的应用程序代码来执行,本申请实施例对此不作任何限制。
可以理解的,图4或图5所示的客户业务传输装置与图14所示的客户业务传输装置从不同角度对客户业务传输装置进行了功能模块划分。例如,图14中的控制单元503、存储单元504和获取单元505可以通过图4中的目的线路处理单元43实现,具体的,控制单元503可以通过图5中的速率监管模块432实现,存储单元504和获取单元505可以通过图5中的队列缓存模块431实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

Claims (30)

1.一种客户业务传输方法,所述方法应用于光传送网络(OTN),其特征在于,包括:
接收多个数据块,所述多个数据块用于承载多个客户业务;
根据所述多个数据块中的每一个数据块包含的标签,对所述每一个数据块进行交换;
将所述交换后的数据块进行缓存,得到多个缓存队列,其中,所述多个缓存队列中的属于同一缓存队列中的数据块用于承载同一客户业务;
对所述多个缓存队列中的数据块执行速率监管和策略调度后发送。
2.根据权利要求1所述的方法,其特征在于,所述标签为全局标签或线路接口局部标签。
3.根据权利要求2所述的方法,其特征在于,所述标签为线路接口局部标签时,所述方法还包括:对所述多个数据块执行标签替换。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述多个数据块中的每一个数据块包含的标签,对所述每一个数据块进行交换,包括:
根据所述每一个数据块包含的标签,确定所述每一个数据块的下一个路由节点;
根据所述下一个路由节点,对所述每一个数据块进行交换。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述执行速率监管包括:
针对所述多个缓存队列中的第一队列,设置一计数器,所述计数器用于控制所述第一队列对应的客户业务的输出速率;
在多个发送周期发送所述第一队列中的多个数据块;其中,在每个发送周期,当所述计数器的计数值达到预设阈值时,发送所述多个数据块中的至少一个数据块。
6.根据权利要求5所述的方法,其特征在于,在每个发送周期,在所述计数器的计数值达到预设阈值之前,所述方法还包括:
在所述计数器的每个计数周期,将所述计数器的计数值增加C;其中,所述C小于或等于所述预设阈值。
7.根据权利要求6所述的方法,其特征在于,所述C是根据所述客户业务的带宽确定的,所述预设阈值是根据输出线路接口带宽确定的。
8.根据权利要求7所述的方法,其特征在于,所述C是所述客户业务的带宽与单位带宽的比值,所述预设阈值是所述输出线路接口带宽与所述单位带宽的调整值的比值,其中,所述单位带宽的调整值大于或等于所述单位带宽。
9.根据权利要求1至8任一项所述的方法,其特征在于,在每个发送周期,所述计数器从初始值开始计数。
10.根据权利要求9所述的方法,其特征在于,在第i+1个发送周期,所述计数器的初始值为第i个发送周期结束时所述计数器的计数值减去所述预设阈值之后得到的值;其中,i是大于或等于1的整数。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
在每个发送周期,当所述计数器的计数值达到所述预设阈值时,若没有缓存所述客户业务,则停止对所述计数器计数。
12.根据权利要求1至11任一项所述的方法,其特征在于,在接收客户业务之后,所述方法还包括:
将所述客户业务存储至缓存队列中;
当所述计数器的计数值达到预设阈值时,从所述缓存队列中获取所述至少一个数据块。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述多个数据块中的每个数据块具有固定长度。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述执行策略调度包括:
根据所述多个缓存队列对应的客户业务的优先级,发送所述多个缓存队列中多个数据块中的至少一个数据块;其中,期望传输时延越小的客户业务的优先级越高。
15.一种光传送网络(OTN)中的客户业务传输装置,其特征在于,包括:
接收单元,用于接收多个数据块,所述多个数据块用于承载多个客户业务;
处理单元,用于将所述交换后的数据块进行缓存,得到多个缓存队列,其中,所述多个缓存队列中的属于同一缓存队列中的数据块用于承载同一客户业务;
发送单元,对所述多个缓存队列中的数据块执行速率监管和策略调度后发送。
16.根据权利要求15所述的装置,其特征在于,所述标签为全局标签或线路接口局部标签。
17.根据权利要求16所述的装置,其特征在于,所述标签为线路接口局部标签时,所述处理单元还用于:对所述多个数据块执行标签替换。
18.根据权利要求15-17任一项所述的装置,其特征在于,所述根据所述多个数据块中的每一个数据块包含的标签,对所述每一个数据块进行交换,包括:
根据所述每一个数据块包含的标签,确定所述每一个数据块的下一个路由节点;
根据所述下一个路由节点,对所述每一个数据块进行交换。
19.根据权利要求15-18任一项所述的装置,其特征在于,所述发送单元用于执行速率监管包括:
针对所述多个缓存队列中的第一队列,设置一计数器,所述计数器用于控制所述第一队列对应的客户业务的输出速率;
所述发送单元,用于在多个发送周期发送所述第一队列中的多个数据块;其中,在每个发送周期,当所述计数器的计数值达到预设阈值时,发送所述多个数据块中的至少一个数据块。
20.根据权利要求15-19任一项所述的装置,其特征在于,所述装置还包括:
控制单元,用于在每个发送周期,在所述计数器的计数值达到预设阈值之前,在所述计数器的每个计数周期,将所述计数器的计数值增加C;其中,所述C小于或等于所述预设阈值。
21.根据权利要求20所述的装置,其特征在于,所述C是根据所述客户业务的带宽确定的,所述预设阈值是根据输出线路接口带宽确定的。
22.根据权利要求21所述的装置,其特征在于,所述C是所述客户业务的带宽与单位带宽的比值,所述预设阈值是所述输出线路接口带宽与所述单位带宽的调整值的比值,其中,所述单位带宽的调整值大于或等于所述单位带宽。
23.根据权利要求15至22任一项所述的装置,其特征在于,在每个发送周期,所述计数器从初始值开始计数。
24.根据权利要求23所述的装置,其特征在于,在第i+1个发送周期,所述计数器的初始值为第i个发送周期结束时所述计数器的计数值减去所述预设阈值之后得到的值;其中,i是大于或等于1的整数。
25.根据权利要求15至24任一项所述的装置,其特征在于,所述装置还包括:
控制单元,用于在每个发送周期,当所述计数器的计数值达到所述预设阈值时,若没有缓存所述客户业务,则停止对所述计数器计数。
26.根据权利要求15至25任一项所述的装置,其特征在于,所述装置还包括:
存储单元,用于将所述客户业务存储至缓存队列中;
获取单元,用于当所述计数器的计数值达到预设阈值时,从所述缓存队列中获取所述至少一个数据块。
27.根据权利要求15至26任一项所述的装置,其特征在于,所述多个数据块中的每个数据块具有固定长度。
28.根据权利要求15至27任一项所述的装置,其特征在于,所述发送单元用于执行策略调度,具体包括:根据所述多个缓存队列对应的客户业务的优先级,发送所述缓存队列中多个数据块中的至少一个数据块;其中,期望传输时延越小的客户业务的优先级越高。
29.一种客户业务传输装置,其特征在于,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,所述处理器、所述存储器和所述通信接口通过所述总线连接,当所述装置运行时,所述处理器执行所述存储器存储的计算机执行指令,以使所述装置执行如权利要求1~14任一项所述的客户业务传输方法。
30.一种光传输网络(OTN)系统,其特征在于,包括:如权利要求15-28任一项所述的装置、第一设备和第二设备,其中:所述第一设备用于:发送所述多个数据块给如权利要求15-28任一项所述的装置;
在发送所述多个数据块之前,所述第一设备还用于:
接收多个客户业务,将所述多个客户业务进行分片获得多个另一数据块;
为所述多个另一数据块添加标签后,获得所述多个数据块;
所述第二设备用于:
接收如权利要求15-28任一项所述的装置发送的数据块;
删除接收到的数据块包含的标签,获得客户业务。
CN201780038563.1A 2017-04-24 2017-04-24 一种客户业务传输方法和装置 Active CN109314673B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/081729 WO2018195728A1 (zh) 2017-04-24 2017-04-24 一种客户业务传输方法和装置

Publications (2)

Publication Number Publication Date
CN109314673A CN109314673A (zh) 2019-02-05
CN109314673B true CN109314673B (zh) 2022-04-05

Family

ID=63917918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780038563.1A Active CN109314673B (zh) 2017-04-24 2017-04-24 一种客户业务传输方法和装置

Country Status (7)

Country Link
US (1) US11785113B2 (zh)
EP (1) EP3605975B1 (zh)
JP (1) JP6962599B2 (zh)
KR (2) KR102408176B1 (zh)
CN (1) CN109314673B (zh)
TW (1) TWI680663B (zh)
WO (1) WO2018195728A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545241B (zh) * 2018-05-28 2022-05-17 华为技术有限公司 一种报文处理方法和装置
CN112217733B (zh) * 2019-07-09 2024-02-02 中兴通讯股份有限公司 一种报文处理方法及相关装置
CN110688208A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 线性递增的任务处理方法、装置、计算机设备和存储介质
US12035209B2 (en) * 2020-07-07 2024-07-09 Metrolla Inc. Method for wireless event-driven everything-to-everything (X2X) payload delivery
CN114124831A (zh) * 2020-08-28 2022-03-01 中国移动通信集团终端有限公司 数据发送方法、装置、设备及存储介质
CN112437017A (zh) * 2020-11-17 2021-03-02 锐捷网络股份有限公司 一种数据流控系统、方法、装置、设备及介质
CN114520937B (zh) * 2020-11-20 2023-05-09 华为技术有限公司 Pon中的数据传输方法、装置和系统
CN112540724B (zh) * 2020-11-20 2024-07-19 普联技术有限公司 一种数据发送方法、装置及设备
CN113225241B (zh) * 2021-04-19 2022-09-06 中国科学院计算技术研究所 面向环形数据报文网络的数据传输拥塞控制方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787483A (zh) * 2004-12-10 2006-06-14 华为技术有限公司 一种流量控制方法
CN101860481A (zh) * 2010-05-25 2010-10-13 北京邮电大学 一种MPLS-TP over OTN多层网络中区分优先级的业务传送方法及其装置
CN103416031A (zh) * 2012-09-25 2013-11-27 华为技术有限公司 一种流量控制方法、装置及网络
CN105814934A (zh) * 2014-11-19 2016-07-27 华为技术有限公司 处理被叫业务的方法、移动管理实体和归属用户服务器

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4429415A (en) * 1981-11-30 1984-01-31 Rca Corporation Signal-seeking tuning system with signal loss protection for a television receiver
JPH04257145A (ja) * 1991-02-12 1992-09-11 Hitachi Ltd パケット流量制御方法およびパケット交換システム
JP3478100B2 (ja) * 1997-12-09 2003-12-10 三菱電機株式会社 無線回線割当装置及び無線回線割当方法
JP4006169B2 (ja) * 2000-05-30 2007-11-14 株式会社日立製作所 ラベルスイッチング型パケット転送装置
US7114009B2 (en) * 2001-03-16 2006-09-26 San Valley Systems Encapsulating Fibre Channel signals for transmission over non-Fibre Channel networks
JP3644404B2 (ja) * 2001-04-27 2005-04-27 三菱電機株式会社 光加入者線端局装置及びaponシステム及びセル遅延ゆらぎ抑制方法
JP3994774B2 (ja) * 2002-03-28 2007-10-24 三菱電機株式会社 光加入者線終端装置及びユーザトラヒック収容方法
JP3930035B2 (ja) * 2003-02-03 2007-06-13 日本電信電話株式会社 データ転送装置およびデータ転送システム
ES2327626T3 (es) * 2003-08-11 2009-11-02 Alcatel Lucent Un metodo de suministro de un servicio multimedia en una red de comunicacion inalambrica digital.
WO2005122493A1 (fr) * 2004-06-07 2005-12-22 Huawei Technologies Co., Ltd. Procede de realisation d'une transmission d'acheminement dans un reseau
US20060242319A1 (en) * 2005-04-25 2006-10-26 Nec Laboratories America, Inc. Service Differentiated Downlink Scheduling in Wireless Packet Data Systems
JP4648833B2 (ja) * 2005-12-28 2011-03-09 富士通株式会社 帯域管理装置
US7649910B1 (en) * 2006-07-13 2010-01-19 Atrica Israel Ltd. Clock synchronization and distribution over a legacy optical Ethernet network
JP4839266B2 (ja) * 2007-06-07 2011-12-21 株式会社日立製作所 光通信システム
CN102164067B (zh) * 2010-02-20 2013-11-06 华为技术有限公司 交换网流控实现方法、交换设备及系统
US20120328288A1 (en) * 2011-06-23 2012-12-27 Exar Corporation Method for aggregating multiple client signals into a generic framing procedure (gfp) path
US9025467B2 (en) * 2011-09-29 2015-05-05 Nec Laboratories America, Inc. Hitless protection for traffic received from 1+1 protecting line cards in high-speed switching systems
US9059915B2 (en) * 2012-08-31 2015-06-16 Cisco Technology, Inc. Multicast replication skip
EP2916496B1 (en) * 2012-12-05 2017-08-02 Huawei Technologies Co., Ltd. Data processing method, communication single board and device
US10455301B2 (en) * 2013-01-17 2019-10-22 Infinera Corporation Method to re-provision bandwidth in P-OTN network based on current traffic demand
US9584429B2 (en) * 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
US9538264B2 (en) * 2014-08-07 2017-01-03 Ciena Corporation ODUflex resizing systems and methods
CN107078967A (zh) * 2014-09-16 2017-08-18 华为技术有限公司 调度器、发送器、接收器、网络节点及其方法
US9807024B2 (en) * 2015-06-04 2017-10-31 Mellanox Technologies, Ltd. Management of data transmission limits for congestion control
US10687128B2 (en) * 2015-10-07 2020-06-16 Ted H. Szymanski Reduced-complexity integrated guaranteed-rate optical packet switch
US10027594B1 (en) * 2016-03-30 2018-07-17 Amazon Technologies, Inc. Congestion control for label switching traffic
CN105915468B (zh) * 2016-06-17 2019-03-29 北京邮电大学 一种业务的调度方法及装置
CN106506119B (zh) * 2016-11-16 2019-05-17 南京津码智能科技有限公司 一种窄带非对称信道的rtu数据可靠传输控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787483A (zh) * 2004-12-10 2006-06-14 华为技术有限公司 一种流量控制方法
CN101860481A (zh) * 2010-05-25 2010-10-13 北京邮电大学 一种MPLS-TP over OTN多层网络中区分优先级的业务传送方法及其装置
CN103416031A (zh) * 2012-09-25 2013-11-27 华为技术有限公司 一种流量控制方法、装置及网络
CN105814934A (zh) * 2014-11-19 2016-07-27 华为技术有限公司 处理被叫业务的方法、移动管理实体和归属用户服务器

Also Published As

Publication number Publication date
KR102369305B1 (ko) 2022-02-28
JP6962599B2 (ja) 2021-11-05
CN109314673A (zh) 2019-02-05
EP3605975B1 (en) 2024-02-14
US20200059436A1 (en) 2020-02-20
TW201840169A (zh) 2018-11-01
TWI680663B (zh) 2019-12-21
US11785113B2 (en) 2023-10-10
EP3605975A4 (en) 2020-04-08
KR102408176B1 (ko) 2022-06-10
KR20190138861A (ko) 2019-12-16
KR20220025306A (ko) 2022-03-03
EP3605975A1 (en) 2020-02-05
WO2018195728A1 (zh) 2018-11-01
JP2020518172A (ja) 2020-06-18

Similar Documents

Publication Publication Date Title
CN109314673B (zh) 一种客户业务传输方法和装置
US11968111B2 (en) Packet scheduling method, scheduler, network device, and network system
US20080063004A1 (en) Buffer allocation method for multi-class traffic with dynamic spare buffering
CN101572673B (zh) 扩展交换带宽的分布式包交换系统和分布式包交换方法
US10911364B2 (en) Packet processing method and router
EP3726787A1 (en) Data stream sending method, device and system
EP2323317A1 (en) Band control method and band control device for node device
JP2020072336A (ja) パケット転送装置、方法、及びプログラム
CN116889024A (zh) 一种数据流传输方法、装置及网络设备
CN111131061B (zh) 一种数据传输方法及网络设备
CN104022961A (zh) 一种数据传输方法、装置及系统
CN114070776B (zh) 一种改进的时间敏感网络数据传输方法、装置及设备
EP4436118A1 (en) Message processing method and apparatus, and network device and medium
JP7193787B2 (ja) 通信システム、ブリッジ装置、通信方法、及びプログラム
CN113228538B (zh) 数据传输方法及装置
JP6042284B2 (ja) Tdmネットワークシステムおよびスケジューリング方法
CN116800693A (zh) 一种队列调度的方法及装置
CN114640638A (zh) 一种报文传输方法及发送端设备
CN117897936A (zh) 一种报文转发方法及装置
CN115550161A (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
GR01 Patent grant
GR01 Patent grant