CN117749726A - Tsn交换机输出端口优先级队列混合调度方法和装置 - Google Patents

Tsn交换机输出端口优先级队列混合调度方法和装置 Download PDF

Info

Publication number
CN117749726A
CN117749726A CN202311789872.6A CN202311789872A CN117749726A CN 117749726 A CN117749726 A CN 117749726A CN 202311789872 A CN202311789872 A CN 202311789872A CN 117749726 A CN117749726 A CN 117749726A
Authority
CN
China
Prior art keywords
priority
buffer area
linked list
tsn
idle
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
Application number
CN202311789872.6A
Other languages
English (en)
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.)
Hefei Huakong Tianxin Technology Co ltd
Original Assignee
Hefei Huakong Tianxin Technology 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 Hefei Huakong Tianxin Technology Co ltd filed Critical Hefei Huakong Tianxin Technology Co ltd
Priority to CN202311789872.6A priority Critical patent/CN117749726A/zh
Publication of CN117749726A publication Critical patent/CN117749726A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请的实施例提供了一种TSN交换机输出端口优先级队列混合调度方法和装置,应用于交换机,方法包括:接收新进TSN流,确定所述新进TSN流的第一优先级;判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。以此方式,可以保证高优先级TSN流优先级传输。

Description

TSN交换机输出端口优先级队列混合调度方法和装置
技术领域
本申请涉及通信领域,具体涉及一种TSN交换机输出端口优先级队列混合调度方法和装置。
背景技术
随着工业互联网的发展,工业以太网网络中保证传输的实时性和确定性的前提下传输大容量数据的需求越来越迫切。TSN交换机具备流量分类、流量整形和流量的调度与抢占功能,依据以太网流中源MAC地址、目的MAC地址、VLAN ID、VLAN的302.1p优先级、以太帧类型或IP五元组识别流类型,以太网流支持8种服务类型,按照优先级从高到低依次为网络控制、内网控制、音频、视频、严格应用、卓越努力、最大努力和基础。在有限的网络带宽资源下,TSN技术依靠服务质量(Quality-of-Service,以下简称“QoS”)保证时间敏感流的带宽、时延、抖动和丢包率。实际应用中,TSN交换机一般采用存储转发模式,在交换机的输入端口和输出端口使用片上缓存对TSN流按照其服务类型进行分组存储。
TSN设备厂商的交换机设备一般采用集中式分组缓存方式和严格优先级调度策略实现输出端口的TSN流缓存管理。集中式分组缓存有效降低设备缓存资源的使用率,严格优先级调度策略保证高优先级TSN流传输的实时性和超低时延要求。但在大数据超高网络流量情况下,严格优先级调度策略容易造成低优先级在交换机集中式缓存中没有存储空间可用,从而出现低优先级TSN流长时间被丢弃现象。
发明内容
本申请提供了一种TSN交换机输出端口优先级队列混合调度方法和装置。
根据本申请的第一方面,提供了一种TSN交换机输出端口优先级队列混合调度方法,应用于交换机,包括:
接收新进TSN流,确定所述新进TSN流的第一优先级;
判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;
响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;
响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级;
响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
在一些实施例中,还包括:
响应于与第二优先级对应的单向链表中不存在第二空闲缓存区,将与第二优先级对应的单向链表列尾的队列信息回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的末尾。
在一些实施例中,还包括:
判断与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,则将所述新进TSN流退出。
在一些实施例中,还包括:
判断与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,判断与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区不小于所述新进TSN流的帧数,将与第二优先级对应的单向链表的倒数两个队列信息都回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的倒数两个队列信息对应的缓存区。
在一些实施例中,TSN流的优先级分为八个优先级,每个优先级的TSN流在交换机的缓存中有对应的缓存区域,缓存区域中的TSN流以单向链表的形式存储。
在一些实施例中,所述缓存区域中的TSN流以单向链表的形式存储,包括:
每一级优先级的TSN流的报文储存完成时,以当前数据报文储存的结束地址作为写地址,下一帧数据报文储存的起始地址作为写数据,写入缓存区域中,将当前数据报文储存的结束地址链接到下一帧数据报文的起始地址,形成单向链表。
在一些实施例中,还包括:
对各级优先级对应的缓存区域中的空闲区域进行记录,在判断对各级优先级对应的缓存区域中是否存在空闲区域时,通过查询记录信息确定各级优先级对应的缓存区域中是否存在空闲区域。
根据本申请的第二方面,提供了一种TSN交换机输出端口优先级队列混合调度装置,应用于交换机,包括:
数据接收模块,用于接收新进TSN流,确定所述新进TSN流的第一优先级;
逻辑判断模块,用于判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级;
数据写入模块,用于响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
根据本申请的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
本申请实施例提供的TSN交换机输出端口优先级队列混合调度方法,能够有效减低输出端口对片上RAM资源的占用,保证高优先级TSN流优先级传输的同时,为低优先级TSN流预留一定缓存空间,在大数据量情况下不会出现低优先级TSN流饿死现象。
应当理解,发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本申请的限定在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本申请的实施例的TSN交换机输出端口优先级队列混合调度方法的流程图;
图2示出了根据本申请的实施例的TSN交换机输出端口优先级队列混合调度装置的方框图;
图3示出了能够实施本申请的实施例的示例性电子设备的方框图;
图4示出了单向链表结构示意图;
图5示出了根据本申请的实施例的TSN交换机输出端口优先级队列混合调度装置的一个应用实例的框图;
图6示出了多级优先级地址交替存储式缓存区结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例中的,TSN(Time-Sensitive-Networking,时间敏感网络)交换机输出端口优先级队列混合调度方法,可以应用于交换机中的缓存区域中的优先级队列的调度。具体地,如图1所示,为本申请的实施例的TSN交换机输出端口优先级队列混合调度方法的流程图。本实施例的TSN交换机输出端口优先级队列混合调度方法,可以包括以下步骤:
S101:接收新进TSN流,确定所述新进TSN流的第一优先级。
在本实施例中,当有新的TSN流进入交换机中时,确定所述新进TSN流的第一优先级,即确定新进TSN流对应的优先级。在本申请的技术方案中,TSN流会对应有不同的优先级,不同的优先级对应有不同的缓存队列。在确定了所述新进TSN流的优先级后,可以进一步确定缓存所述新进TSN流的队列。
本申请的技术方案中,TSN流的优先级划分为八个等级,每个等级的TSN流对应一个缓存队列,通常情况下,在TSN流进入交换机的缓存区域中时,会根据TSN流的优先级将TSN流存入相应的优先级队列。每一级优先级队列的数据报文储存完成时,以当前数据报文储存的结束地址作为写地址,下一帧数据报文储存的起始地址作为写数据,写入地址RAM,将当前数据报文储存的结束地址链接到下一帧数据报文的起始地址,实现优先级队列缓存区的单向链表结构。具体地,如图4所示,为单向链表结构示意图。
S102:判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区。
在本实施例中,当确定所述新进TSN流的第一优先级后,可以进一步判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区。需要说明的是,本实施例的中的“第一”只是为了方便区分,而并非对新进TSN流的优先级以及缓存区域的限定。例如,新进TSN流的优先级为二级,则判断缓存区域中优先级为二级的单向链表是否存在空闲的缓存区,即是否存在能够存储所述新进TSN流的缓存区域。由于通常情况下,在TSN流进入交换机的缓存区域中时,会根据TSN流的优先级将TSN流存入相应的优先级队列,因此需要判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区。
S103:响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中。
在本实施例中,当优先级与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区时,将所述新进TSN流写入到第一空闲缓存区中,即写入优先级与所述第一优先级对应的缓存区域中的单向链表中。
S104:响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级。
在本实施例中,当当优先级与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区时,则进一步判断优先级比所述新进TSN流低一级的单向链表中是否存在空闲缓存区。在本申请的实施例中,当上一级优先级的单向链表中不存在空闲的缓存区时,可以将新进TSN流存储在下一级优先级的单向链表中,因此,当与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区时,需要进一步判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,第二优先级比第一优先级的优先级低一个优先等级。
S105:响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
在本实施例中,当与第二优先级对应的单向链表中存在第二空闲缓存区,这将新进TSN流写入到第二空闲缓存区中。
本申请实施例的TSN交换机输出端口优先级队列混合调度方法,能够有效减低输出端口对片上RAM资源的占用,保证高优先级TSN流优先级传输的同时,为低优先级TSN流预留一定缓存空间,在大数据量情况下不会出现低优先级TSN流饿死现象。
此外,在一些其他实施例中,还包括:
响应于与第二优先级对应的单向链表中不存在第二空闲缓存区,将与第二优先级对应的单向链表列尾的队列信息回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的末尾。
具体地,在本申请实施例的技术方案中,采用了可被释放缓存优先级队列机制,即在优先级高的TSN流对应的单向链表中没有空闲的缓存区时,将优先级低一级的单向链表中的末尾的队列信息回退至前一帧,并将新进TSN流写入到单向链表的末尾。这样,保证了优先级高的数据帧的写入,进而保证了优先级高的数据的传输。
此外,在上述实施例中,还包括:
判断与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数是否小于所述新进TSN流的帧数;响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,则将所述新进TSN流退出。
响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,判断与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区不小于所述新进TSN流的帧数,将与第二优先级对应的单向链表的倒数两个队列信息都回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的倒数两个队列信息对应的缓存区。
在本实施例中,当采用可被释放缓存优先级队列机制对新进TSN流进行缓存时,判断下一级优先级的单向链表列尾的一帧队列信息的缓存区是否能够存储新进TSN流,当能存储时,将该队列信息回退至前一帧,并将新进TSN流存储。当不能存储时,则进一步判断单向链表列尾的两帧队列信息的缓存区时候能否存储新进TSN流,当单向链表列尾的两帧队列信息的缓存区时候能够存储新进TSN流时,将单向链表列尾的两帧队列信息各自回退前一帧,并将新进TSN流存储。这样,保证了优先级高的数据帧的写入,进而保证了优先级高的数据的传输。
此外,在本申请的一些其他实施例中,还包括:
对各级优先级对应的缓存区域中的空闲区域进行记录,在判断对各级优先级对应的缓存区域中是否存在空闲区域时,通过查询记录信息确定各级优先级对应的缓存区域中是否存在空闲区域。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。
如图2所示,为本申请实施例的TSN交换机输出端口优先级队列混合调度装置的方框图。本实施例的TSN交换机输出端口优先级队列混合调度装置,可以应用于交换机,包括:
数据接收模块201,用于接收新进TSN流,确定所述新进TSN流的第一优先级;
逻辑判断模块202,用于判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级;
数据写入模块203,用于响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
下面结合具体的应用实例对本申请的技术方案进行再一次说明。图5示出了根据本申请的实施例的TSN交换机输出端口优先级队列混合调度装置的一个应用实例的框图。本实施的TSN交换机输出端口优先级队列混合调度装置,优先级队列调度采用基于严格优先级和加权公平策略的混合调度方法。,输出端口优先级队列调度模块由优先级映射模块、缓存调度管理模块、队列缓存模块、优先级队列信息模块、加权缓存配置模块组成。
优先级映射模块与N*N数据交换模块和队列缓存模块连接,N*N数据交换模块传输的TSN流包含输入端口处理模块获取的流优先级和帧长度等流信息以及以太网原始报文转发端口信息为交换机内部端口间数据交换的输出端口索引;优先级信息为TSN流将被存储的优先级缓存队列序号,优先级缓存队列支持八级;帧长度信息为优先级流信息缓存队列输入,数据报文信息为优先级流缓存队列输入。
队列缓存模块与优先级映射模块、优先级队列信息模块、队列输出处理模块以及缓存调度模块连接,用于实现数据报文的八级优先级队列储存。队列缓存采用嵌入式芯片片上双端口RAM实现,双端口RAM可以在同一时刻并行访问两个地址,因而可以支持优先级队列的入队和出队并行操作。
缓存区的各级优先级队列呈现地址交替储存状态,每级优先级队列均可以使用缓存区所有地址空间进行存储,有效提高了缓存的利用率。图6示出了多级优先级地址交替存储式缓存区结构示意图。
优先级队列信息模块与队列缓存模块和缓存调度模块连接,包括缓存区空闲信息模块、各级优先级队列缓存区信息模块和可被释放优先级队列缓存区信息模块。缓存区空闲信息模块用于记录整个缓存的空闲区域信息,包括空闲缓存区的起始地址、结束地址和缓存区满标志。各级优先级队列缓存区信息模块采用二维数组形式记录各级优先级队列对这个缓存区的占用信息,每一级优先级队列的记录信息包括队列起始地址、队列结束地址、队列最近一次存储数据帧的起始地址和队列空标志。可被释放优先级队列缓存区信息模块用于记录当前整个缓存区存储的优先级队列中可被释放缓存的优先级队列信息,包括可被释放缓存队列的起始地址、结束地址、缓存空间大小、缓存区释放标识和被释放的优先级。
可被释放缓存的优先级队列的选择策略:初始化后,缓存调度模块为每级优先级队列分配缓存区占用百分比配置值,缓存区占用百分比乘以缓存区深度即为每级优先级队列的可用缓存空间,以字节为单位,每级优先级队列的缺省配置值按照优先级等级从高到低依次递减,总和等于100%。优先级队列每完成一帧数据报文存储时,该队列缓存区字节数计数器增加该数据报文的长度,每完成一帧数据报文读取或者队列数据缓存被高优先级队列数据报文覆盖时,该队列缓存区字节数计数器减去该数据报文的长度。若优先级队列的缓存区字节数计数器大于其可用缓存空间值,则该队列被标记为缓存溢出队列,并根据严格优先级策略选择缓存溢出队列组中最低优先级等级队列并标记其为可被释放缓存队列。此外,当缓存溢出队列的缓存区字节数计数器小于其可用缓存空间值时,清除该优先级队列的缓存溢出队列标记,同时重新在缓存溢出组中选择可被释放缓存队列。
缓存调度模块与队列缓存模块和优先级队列信息模块连接,包括门控列表状态模块、队列缓存占比加权值配置模块和严格优先级策略模块。门控列表状态模块用于响应每级优先级队列数据报文的发送请求。队列缓存占比加权值配置模块用于静态配置每级优先级队列的缓存区占用比例。严格优先级策略模块用于保证高优先级队列的优先传输。实际应用时,非阻塞场景下,输出端口数据传输方式类似直通模式,数据报文开始存储到优先级队列缓存区,同时标记对应优先级队列的队列空信息标志为非空,并向下一级队列输出处理模块请求队列发送,接收输出处理模块的发送应答后,从对应优先级队列的缓存区读取数据报文,经队列输出处理模块发送到端口,数据报文传输延时约几十纳秒。在阻塞场景下,每级优先级队列存储的数据报文超过其可用缓存空间,即达到队列的传输上限后,若整个缓存区未被占满,新进数据报文继续存储到其对应的优先级队列中;若缓存区空间被占满时,且新进数据报文的优先级高于可被释放缓存队列优先级,新进数据报文覆盖可被释放缓存优先级队列缓存区;否则,丢弃新进数据报文。在此过程中,当被释放优先级队列缓存区小于其存储上限时,该队列退出被缓存溢出队列组,其缓存区不可被新进高优先级数据报文覆盖。
队列输出处理模块与队列缓存模块和端口发送模块连接,用于处理每级队列的发送请求和端口发送模块回复的发送应答交互。
本申请的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图3出了能够实施本申请的实施例的示例性电子设备300的方框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
电子设备300包括计算单元301,其可以根据存储在ROM302中的计算机程序或者从存储单元308加载到RAM303中的计算机程序,来执行各种适当的动作和处理。在RAM303中,还可存储电子设备300操作所需的各种程序和数据。计算单元301、ROM302以及RAM303通过总线304彼此相连。I/O接口305也连接至总线304。
电子设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许电子设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如上述方法。例如,在一些实施例中,上述方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM302和/或通信单元309而被载入和/或安装到电子设备300上。当计算机程序加载到RAM303并由计算单元301执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置;以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种TSN交换机输出端口优先级队列混合调度方法,应用于交换机,其特征在于,包括:
接收新进TSN流,确定所述新进TSN流的第一优先级;
判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;
响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;
响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级;
响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于与第二优先级对应的单向链表中不存在第二空闲缓存区,将与第二优先级对应的单向链表列尾的队列信息回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的末尾。
3.根据权利要求2所述的方法,其特征在于,还包括:
判断与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,则将所述新进TSN流退出。
4.根据权利要求2所述的方法,其特征在于,还包括:
判断与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表列尾的队列信息对应的缓存区对应的帧数小于所述新进TSN流的帧数,判断与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区是否小于所述新进TSN流的帧数;
响应于与第二优先级对应的单向链表的倒数两个队列信息的共同缓存区不小于所述新进TSN流的帧数,将与第二优先级对应的单向链表的倒数两个队列信息都回退至前一帧,并将所述新进TSN流写入到与第二优先级对应的单向链表的倒数两个队列信息对应的缓存区。
5.根据权利要求3或4所述的方法,其特征在于,TSN流的优先级分为八个优先级,每个优先级的TSN流在交换机的缓存中有对应的缓存区域,缓存区域中的TSN流以单向链表的形式存储。
6.根据权利要求5所述的方法,其特征在于,所述缓存区域中的TSN流以单向链表的形式存储,包括:
每一级优先级的TSN流的报文储存完成时,以当前数据报文储存的结束地址作为写地址,下一帧数据报文储存的起始地址作为写数据,写入缓存区域中,将当前数据报文储存的结束地址链接到下一帧数据报文的起始地址,形成单向链表。
7.根据权利要求6所述的方法,其特征在于,还包括:
对各级优先级对应的缓存区域中的空闲区域进行记录,在判断对各级优先级对应的缓存区域中是否存在空闲区域时,通过查询记录信息确定各级优先级对应的缓存区域中是否存在空闲区域。
8.一种TSN交换机输出端口优先级队列混合调度装置,应用于交换机,其特征在于,包括:
数据接收模块,用于接收新进TSN流,确定所述新进TSN流的第一优先级;
逻辑判断模块,用于判断优先级与所述第一优先级对应的缓存区域中的单向链表中是否存在第一空闲缓存区;响应于与所述第一优先级对应的缓存区域中的单向链表中存在第一空闲缓存区,将所述新进TSN流写入到第一空闲缓存区中;响应于与所述第一优先级对应的缓存区域中的单向链表中不存在第一空闲缓存区,判断与第二优先级对应的单向链表中是否存在第二空闲缓存区,其中,第二优先级比第一优先级的优先级低一个优先等级;
数据写入模块,用于响应于与第二优先级对应的单向链表中存在第二空闲缓存区,将所述新进TSN流写入到第二空闲缓存区中。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一权利要求所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一权利要求所述的方法。
CN202311789872.6A 2023-12-22 2023-12-22 Tsn交换机输出端口优先级队列混合调度方法和装置 Pending CN117749726A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311789872.6A CN117749726A (zh) 2023-12-22 2023-12-22 Tsn交换机输出端口优先级队列混合调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311789872.6A CN117749726A (zh) 2023-12-22 2023-12-22 Tsn交换机输出端口优先级队列混合调度方法和装置

Publications (1)

Publication Number Publication Date
CN117749726A true CN117749726A (zh) 2024-03-22

Family

ID=90256250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311789872.6A Pending CN117749726A (zh) 2023-12-22 2023-12-22 Tsn交换机输出端口优先级队列混合调度方法和装置

Country Status (1)

Country Link
CN (1) CN117749726A (zh)

Similar Documents

Publication Publication Date Title
US11799764B2 (en) System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC)
US8248930B2 (en) Method and apparatus for a network queuing engine and congestion management gateway
US9185047B2 (en) Hierarchical profiled scheduling and shaping
CN108616458B (zh) 客户端设备上调度分组传输的系统和方法
US10193831B2 (en) Device and method for packet processing with memories having different latencies
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
US11968111B2 (en) Packet scheduling method, scheduler, network device, and network system
US8989037B2 (en) System for performing data cut-through
US20230164078A1 (en) Congestion Control Method and Apparatus
CN108206787A (zh) 一种拥塞避免方法和装置
US20230283578A1 (en) Method for forwarding data packet, electronic device, and storage medium for the same
CN110830388B (zh) 一种数据调度方法、装置、网络设备及计算机存储介质
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing
WO2019109902A1 (zh) 队列调度方法及装置、通信设备、存储介质
US6973036B2 (en) QoS scheduler and method for implementing peak service distance using next peak service time violated indication
CN111756586A (zh) 一种数据中心网络中基于优先级队列的公平带宽分配方法、交换机及可读存储介质
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN113765796B (zh) 流量转发控制方法及装置
CN117749726A (zh) Tsn交换机输出端口优先级队列混合调度方法和装置
WO2022174444A1 (zh) 一种数据流传输方法、装置及网络设备
JP4276094B2 (ja) パケットの優先制御を行う通信装置及び優先制御方法
CN114401235A (zh) 一种队列管理中重载处理方法、系统、介质、设备及应用
US7583678B1 (en) Methods and apparatus for scheduling entities using a primary scheduling mechanism such as calendar scheduling filled in with entities from a secondary scheduling mechanism
CN112055382A (zh) 一种基于精细化区分的业务接入方法
CN114205299A (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