CN113411270B - 一种面向时间敏感网络的报文缓冲区管理方法 - Google Patents

一种面向时间敏感网络的报文缓冲区管理方法 Download PDF

Info

Publication number
CN113411270B
CN113411270B CN202110631566.4A CN202110631566A CN113411270B CN 113411270 B CN113411270 B CN 113411270B CN 202110631566 A CN202110631566 A CN 202110631566A CN 113411270 B CN113411270 B CN 113411270B
Authority
CN
China
Prior art keywords
message
buffer area
descriptor
time
sensitive
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
CN202110631566.4A
Other languages
English (en)
Other versions
CN113411270A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110631566.4A priority Critical patent/CN113411270B/zh
Publication of CN113411270A publication Critical patent/CN113411270A/zh
Application granted granted Critical
Publication of CN113411270B publication Critical patent/CN113411270B/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开一种面向时间敏感网络的报文缓冲区管理方法,该方法包括缓存报文步骤,包括:S1.预先配置ST报文缓冲区以及描述符缓冲区;S2.当接收到时间敏感报文时,查询预先配置的报文缓冲区地址信息表,获取当前接收到的时间敏感报文在ST报文缓冲区中对应的报文缓冲区地址,以及查询描述符队列管理表,获取描述符队列的当前指针;S3.根据获取的当前指针将报文缓冲区地址写入描述符缓冲区,并更新描述符队列管理表,以及根据报文缓冲区地址将当前接收到的时间敏感报文写入ST报文缓冲。本发明能够满足时间敏感报文高优先级的存储需求,且能够为时间敏感报文预先分配缓冲区资源,提高缓冲区资源利用率。

Description

一种面向时间敏感网络的报文缓冲区管理方法
技术领域
本发明涉及时间敏感网络(Time Sensitive Networking,TSN)技术领域,尤其涉及一种面向时间敏感网络的报文缓冲区管理方法。
背景技术
时间敏感网络(Time Sensitive Networking,TSN)技术是一组工作在数据链路层的协议族,通过在标准以太网的基础上引入时间同步、确定性分组转发、帧复制与消除等功能,对传统以太网在实时性、容错性方面进行增强,旨在为时间敏感流量提供确定性、可靠性的服务,在航空航天、5G、高端装备制造等领域有良好的应用前景。
时间敏感网络中存在着三种类型的流量,分别是具有硬实时要求的时间敏感流量(ST流)、具有软实时要求的速率约束流量(RC流)、以及对实时性没有要求的尽力而为流量(BE流)。其中时间敏感流量是一类需要满足低延迟、低抖动需求的周期性流量,该类流量是保证时间敏感网络实时性、确定性的关键。因此,在TSN网络中时间敏感流量通常被设置为最高优先级,以保证网络中时间敏感流量的确定性传输。
随着各类实时应用场景中时间敏感流量的数目越来越多,例如在车载网络中,随着车上传感器数量成倍的提升,网络中时间敏感流的数目由几百条增长到几千条。流量数目的增长直接导致了交换设备上缓冲区资源的紧张,但是传统的工控设备是典型的内存资源有限的嵌入式系统,其中时间敏感流量的传输常采用片上存储器,这使得交换设备上的存储资源更为稀缺,因而传统的基于单端口的缓冲区难以满足报文缓存的需求。为解决上述问题,目前TSN交换机上通常需要采用多个输出端口共享缓冲区资源,以提高缓冲区资源的利用率,而这类实现方式需要配套采用相应的报文缓冲区管理方法。
TSN交换机上现有的报文缓冲区管理,通常采用动态缓冲区管理的方法,即时间敏感报文和非时间敏感报文的缓冲区地址由一个动态缓冲区管理队列进行统一分配,报文从输入端口进入交换机时,动态缓冲区管理队列的队首头部被取出,作为该报文的缓冲区地址;报文被读取后,存储该报文的缓冲区地址送往队尾,以分配给后续输入报文存储。但是该类报文缓冲区管理方式是对所有报文实现缓冲区地址的公平分配,当缓冲区资源发生溢出时,可能会导致时间敏感报文的丢包,因而上述传统方案在面对TSN应用场景中时间敏感流量数目不断增加、交换设备缓冲区资源利用率低的问题时,依旧难以满足时间敏感报文高优先级的存储需求。因此,迫切需要一种实现时间敏感报文缓冲区管理的方法,以满足时间敏感报文高优先级的存储需求,同时提高交换设备缓冲区资源利用率。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、能够满足时间敏感报文高优先级的存储需求,且缓冲区资源利用率高的面向时间敏感网络的报文缓冲区管理方法。
为解决上述技术问题,本发明提出的技术方案为:
一种面向时间敏感网络的报文缓冲区管理方法,该方法包括缓存报文步骤,所述缓存报文步骤包括:
S1.预先配置ST报文缓冲区以及描述符缓冲区,所述ST报文缓冲区用于缓存时间敏感报文,所述描述符缓冲区用于存放描述符队列中下一个报文的报文缓冲区地址描述符,通过描述符队列管理表管理所述描述符队列的指针;
S2.当接收到时间敏感报文时,查询预先配置的报文缓冲区地址信息表,以获取当前接收到的时间敏感报文在所述ST报文缓冲区中对应的报文缓冲区地址,以及查询所述描述符队列管理表,以获取所述描述符队列的当前指针;
S3.根据获取的当前指针将所述报文缓冲区地址写入所述描述符缓冲区,并更新所述描述符队列管理表,以及根据所述报文缓冲区地址将当前接收到的时间敏感报文写入所述ST报文缓冲区。
进一步的,所述报文缓冲区地址信息表中每一条表项对应一个时间槽内一条时间敏感流独占一个报文缓冲区的物理地址,使用时间槽号表示报文到达时刻所处的时间槽编号。
进一步的,所述描述符队列管理表具体记录所述描述符队列对应的编号、头指针、尾指针以及队列长度。
进一步的,所述步骤S2中,根据接收到的时间敏感报文所属流的流id查询所述报文缓冲区地址信息表,以获取所述报文缓冲区地址,所述流id为时间敏感流的标识号;根据接收到的时间敏感报文所进入的所述描述符队列的队列号id,查询所述描述符队列管理表,以获取所述描述符队列的尾指针,所述队列id为描述符队列的标识号。
进一步的,所述步骤S3包括:
S301.判断当前取出的所述描述符队列的尾指针是否为空,如果是转入步骤S302,否则转入步骤S303;
S302.将步骤S2获取的当前报文对应的报文缓冲区地址pkt_id写入所述尾指针指向的所述描述符缓冲区;
S303.更新所述描述符队列管理表,将所述尾指针修改为当前报文对应的报文缓冲区地址pkt_id;
S304.将当前接收到的时间敏感报文写入所述报文缓冲区地址pkt_id指向的所述ST报文缓冲区。
进一步的,所述步骤S303后,还包括将NULL写入所述报文缓冲区地址pkt_id指向的所述描述符缓冲区,以更新所述描述符缓冲区中尾指针指向的内容。
进一步的,还包括读取报文步骤,具体包括:
SA1.获取所需调度分组的队列号;
SA2.获取所述描述符队列的头指针,根据获取的所述头指针,从所述头指针指向的ST报文缓冲区中取出报文;
SA3.根据获取的所述头指针,从所述头指针指向的所述描述符缓冲区中取出报文缓冲区地址描述符;
SA4.更新所述描述符队列管理表,返回步骤SA2。
进一步的,所述步骤SA4中更新所述描述符队列管理表时,具体将所述描述符队列的头指针修改为步骤SA3取出的报文缓冲地址描述符。
进一步的,一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,所述处理器用于执行所述计算机程序,以执行如上述方法。
进一步的,一种存储有计算机程序的计算机可读存储介质,所述计算机程序执行时实现如上述方法。
与现有技术相比,本发明的优点在于:
1、本发明通过预先为时间敏感报文的报文分配报文缓冲区资源,能够满足高优先级的ST报文的存储需求,避免发生缓冲区资源溢出包现象。
2、本发明通过将报文缓冲区分为时间敏感报文缓冲区和非时间敏感报文缓冲区,能够避免低优先级的非时间敏感报文占用高优先级时间敏感报文的缓冲区资源。
3、本发明通过描述符队列管理报文缓冲区地址,能够提高TSN交换机上所有输出端口共享的缓冲区资源利用率。
附图说明
图1是本实施例面向时间敏感网络的报文缓冲区管理方法中缓存报文的实现流程示意图。
图2是TSN网络中时间敏感报文缓存的整体架构原理示意图。
图3是本实施例中ST报文缓冲区管理逻辑的原理示意图。
图4是本实施例中描述符缓冲区管理逻辑的原理示意图。
图5是具体应用实施例中描述符队列管理表的各配置信息示意图。
图6是本实施例中ST报文缓冲区地址信息表的各表项信息示意图。
图7是本实施例中输入报文缓存模块实现报文缓存的详细处理流程示意图。
图8是本实施例中输出报文读取模块处实现报文读取的详细处理流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例面向时间敏感网络的报文缓冲区管理方法包括缓存报文步骤,该缓存报文步骤包括:
S1.预先配置ST报文缓冲区以及描述符缓冲区,ST报文缓冲区用于缓存时间敏感报文,描述符缓冲区用于存放描述符队列中下一个报文的报文缓冲区地址描述符,通过描述符队列管理表管理描述符队列的指针;
S2.当接收到时间敏感报文时,查询预先配置的报文缓冲区地址信息表,以获取当前接收到的时间敏感报文在ST报文缓冲区中对应的报文缓冲区地址,以及查询描述符队列管理表,以获取描述符队列的当前指针;
S3.根据获取的当前指针将报文缓冲区地址写入描述符缓冲区,并更新描述符队列管理表,以及根据报文缓冲区地址将当前接收到的时间敏感报文写入ST报文缓冲区。
本实施例将报文缓冲区分为时间敏感报文缓冲区和非时间敏感报文缓冲区,使用时间敏感报文缓冲区缓存时间敏感报文,通过预先为时间敏感报文的报文分配报文缓冲区资源,能够避免发生缓冲区资源溢出包现象,以及避免低优先级的非时间敏感报文占用高优先级时间敏感报文的缓冲区资源,从而能够满足时间敏感报文高优先级的存储需求,有效提高缓冲区资源利用率。
为实现本实施例上述方法,结合TSN网络中时间敏感报文缓存的架构(如图2),本实施例中由报文写入模块实现报文缓存功能、由输出报文读取模块实现报文读取功能,如图3所示,当缓存报文时,由报文写入模块根据流id查询报文缓冲区地址信息表以获取缓存ST报文的缓冲区地址,通过该地址将报文写入报文缓冲区;当读取报文时,报文读取模块根据描述符队列管理获得报文的缓冲区地址,从报文缓冲区的读端口中读取出报文。
本实施例具体报文缓冲区分为ST报文缓冲区和RC/BE报文缓冲区,每个时间敏感报文的缓冲区地址可以预分配。描述符缓冲区和ST报文缓冲区分别使用两个RAM存储,描述符缓冲区和ST报文缓冲区的深度相同,两个缓冲区的地址一一对应,两个缓冲区缓存的内容不同,其中同一缓冲地址,在描述符缓冲区中存放着队列中下一元素(下一个报文)的报文缓冲区地址或者存放为空,并通过描述符队列管理表维护队列的头指针和尾指针等信息,在ST报文缓冲区中存放时间敏感报文信息。
由于描述符缓冲区存放的是报文缓冲区的地址,本实施例具体使用宽度为9bi、深度为65536(寻址范围为[15:0])的双端口RAM作为报文缓冲区。如图4所示,当缓存报文时,描述符写入模块首先根据入队的队列id查询描述符队列管理表,以获取尾指针;若尾指针为非空,则向尾指针指向的描述符缓冲区写入报文缓冲区的地址,同时将报文缓冲区的地址指向的描述符缓冲区内容置为空。若尾指针为非空,则向报文缓冲区的地址指向的描述符缓冲区内容置为空;最后更新描述符队列管理表,将尾指针置为报文缓冲区的地址。
本实施例中,使用报文缓冲区地址信息表记录每条时间敏感流在特定时间槽内对应的报文缓冲区的物理地址,通过查找该报文缓冲区地址信息表以获取时间敏感报文存放的地址。报文缓冲区地址信息表中表项数目具体为时间敏感流的总数目,如假设缓冲区中每个报文最大的长度为134字节(包括首尾和无效字),因此使用宽度为134bit,深度为65536(寻址范围为[15:0])的双端口RAM作为报文缓冲区。假设每个报文分配128个单元用于存储,那么该报文缓冲区RAM最多能够存储512个报文。每一条表项表示一个时间槽内一条时间敏感流独占一个报文缓冲区的物理地址。
报文缓冲区地址信息表各个字段具体定义如下:
(1)流id,表示TSN网络中时间敏感流的唯一标识号。
(2)时间槽,表示报文到达输入缓存模块的时间槽。
在TSN网络中全局时间被划分为一个个尺寸相等的时间槽,从起始时刻开始编号,时间槽号即表示报文到达时刻所处的时间槽编号。
(3)报文缓冲区地址,表示时间敏感报文缓存的报文缓冲区的物理地址,根据该地址将报文写入报文缓冲区。
在具体应用实施例中,如图5所示,报文缓冲区地址信息表包含3条时间敏感流,其流id分别为f1、f2、f3,表中定义了每一条流在特定时间槽内的报文缓冲区地址pkt_buf1~pkt_buf3
本实施例中,使用描述符队列管理表记录描述符队列的信息,记录的信息具体包括每个队列对应的编号、头指针、尾指针以及队列长度等,描述符队列管理表的表项深度为TSN交换机上一个输出端口内所包含的队列数目。
描述符队列管理表的各个字段具体定义如下:
(1)队列id,表示每个队列唯一的标识号。
(2)头指针,表示描述符队列的第一个元素在描述符缓冲区的物理地址。
(3)尾指针,表示表示描述符队列的最后一个元素在描述符缓冲区的物理地址。
(4)队列长度,表示描述符队列的长度,即该队列存放的报文数目。
如图6所示,在具体应用实施例中,描述符队列管理表包含3个队列的状态信息,队列id分别是q0、q1、q2,表中定义了每一个队列的头指针、尾指针以及队列长度。
本实施例步骤S2中,具体根据接收到的时间敏感报文所属流的流id查询报文缓冲区地址信息表,以获取报文缓冲区地址,流id为每个时间敏感流的唯一标识号;根据接收到的时间敏感报文所进入的描述符队列的队列号id,查询描述符队列管理表,以获取描述符队列的尾指针,队列id为描述符队列的标识号。
本实施例中,步骤S3具体包括:
S301.判断当前取出的描述符队列的尾指针是否为空,如果是转入步骤S302,否则转入步骤S303;
S302.将步骤S2获取的当前报文对应的报文缓冲区地址pkt_id写入尾指针指向的描述符缓冲区;
S303.更新描述符队列管理表,将尾指针修改为当前报文对应的报文缓冲区地址pkt_id;
S304.将当前接收到的时间敏感报文写入报文缓冲区地址pkt_id指向的ST报文缓冲区。
本实施例步骤S303后,还包括将NULL写入报文缓冲区地址pkt_id指向的描述符缓冲区,以更新描述符缓冲区中尾指针内容。
如图7所示,本发明在具体应用实施例中采用上述方法实现报文缓存的详细步骤为:
第1步,离线配置描述符队列管理表和报文缓冲区地址信息表。
第2步,报文携带流id和入队(描述符队列)的队列号id进入报文缓存模块,报文缓存模块获取流id,根据流id查找报文缓冲区地址信息表,以获取报文缓冲区的物理地址pkt_id。
第3步,报文缓存模块获取报文入队的队列号id,根据队列号id查找描述符队列管理表,以获取描述符队列的尾指针。
第4步,判断步骤3取出的尾指针是否为空。若是,跳转至步骤6;否则跳转至步骤5。
第5步,将报文的缓冲区物理地址pkt_id写入尾指针指向的描述符缓冲区。
第6步,更新描述符队列管理表,将尾指针修改为当前报文的缓冲区物理地址pkt_id。
第7步,将NULL写入缓冲区物理地址pkt_id指向的描述符缓冲区。
第8步,将报文写入缓冲区物理地址pkt_id指向的报文缓冲区。
进一步以如图5、图6示例为例对本实施例上述缓存方法进行进一步说明:
首先初始化描述符队列管理表,将所有表项信息置为NULL;
解析ST报文的报文格式,获取流id;利用流id作为索引,查找静态缓冲区地址信息表,获取ST报文在报文缓冲区的地址pkt_buffid。如图4所示,流id为1,2,3的ST报文的报文缓冲区地址为pkt_buf1,pkt_buf3,pkt_buf5
利用流id作为索引,查找描述符队列入队映射表,获取ST分组进入的描述符队列id。如图5所示,流标识为1,2,3的报文缓冲区地址都进入描述符队列q0。
根据ST分组的报文缓冲区地址,分别将流标识为1,2,3的ST分组存放到静态缓冲区地址pkt_buf1,pkt_buf3,pkt_buf5。
利用描述符队列id作为索引,查询描述符队列管理表获取队列尾指针。如果当前队列为空,例如表1所示描述符队列管理表项信息由{}变为{q0,buf1,buf1,1},输入报文写入模块将流id为1的ST报文缓冲区地址pkt_buf1写入描述符队列q0。然后更新描述符队列管理表,将头指针和尾指针都置为pkt_buf1,同时往头指针指向的地址中写入NULL。
表1写入f1更新描述符队列管理表
Figure BDA0003103905410000071
如果当前队列为非空,则需要执行两步写操作,例如表2所示描述符队列管理表项信息由{q0,buf1,buf3,2}变为{q0,buf1,buf5,3},输入报文缓存模块将流id为3的ST报文缓冲区地址写入描述符队列q0。此时利用队列号q0查询描述符队列管理表获取当前队列的尾指针pkt_buf3,同时往尾指针pkt_buf3指向的地址中写入pkt_buf5。之后更新描述符队列管理表,将尾指针都置为pkt_buf5,将队列长度置为3,同时往新的尾指针指向的地址中写入NULL。
表2写入f3更新描述符队列管理表
Figure BDA0003103905410000072
输出报文读取模块获取输出端口上最优先调度的ST报文队列id,通过该队列号作为索引,查找描述符队列管理表获取队列头指针。如果头指针为空,说明描述符队列中已经没有报文;如果头指针为非空,说明描述符队列中存在报文。输出报文读取模块利用头指针指向的地址,从静态缓冲区中取出报文,送往下一跳节点,同时需要更新描述符队列管理表的头指针信息和队列长度信息。例如表3所示{q0,buf1,buf5,3}变为{q0,buf3,buf5,2},输出报文读取模块将流id为1的ST报文缓冲区地址读出描述符队列q0。此时利用队列号q0查询描述符队列管理表获取当前队列的头指针pkt_buf1,通过pkt_buf1从静态缓冲区中取出f1报文,之后需要更新描述符队列管理表,通过pkt_buf1从描述符队列缓冲区中取出pkt_buf3,将头指针置为pkt_buf3,同时将队列长度置为2。
表3读出f1更新描述符队列管理表示例
Figure BDA0003103905410000081
本实施例还包括读取报文步骤,具体包括:
SA1.获取所需调度分组的队列号;
SA2.获取描述符队列的头指针,根据获取的头指针,从头指针指向的ST报文缓冲区中取出报文;
SA3.根据获取的头指针,从头指针指向的描述符缓冲区中取出报文缓冲区地址描述符;
SA4.更新描述符队列管理表,返回步骤SA2。
本实施例上述步骤SA4中更新描述符队列管理表时,具体将描述符队列的头指针修改为步骤SA3取出的报文缓冲地址描述符。
如图8所示,本发明在具体应用实施例中采用上述方法实现报文读取的详细步骤为:
第1步,报文读取模块获取调度分组的队列号que_id。
第2步,报文读取模块根据队列号que_id查找描述符队列管理表,以获取描述符队列的头指针。
第3步,判断步骤2取出的头指针是否为空。若是,跳转至结束;否则跳转至步骤4。
第4步,根据取出的头指针,读取头指针指向的报文缓冲区内容,取出报文。
第5步,根据取出的头指针,读取头指针指向的描述符缓冲区内容,取出报文地址描述符pkt_id。
第6步,判断步骤5取出的报文地址描述符是否为空。若是,跳转至步骤7;否则跳转至结束。
第7步,更新描述符队列管理表。将头指针修改为步骤5取出的报文地址描述符pkt_id,同时跳转至步骤2。
如图4所示,当输入的时间敏感报文需要进行缓存时,首先根据时间敏感流量的流id和报文到达时间槽这两个字段查询报文缓冲区地址信息表,以获取报文的缓冲区地址。例如f1在时间槽t0的报文缓冲区地址为pkt_buf1
如图5所示,当报文缓存到报文缓冲区时,首先根据队列id取出相应队列中的尾指针;然后更新描述符队列管理表,将表中的尾指针置为当前缓存报文的缓冲区地址,同时将队列长度加1。当从报文缓冲区中读取报文时,首先根据调度输出的队列id取出相应队列中的头指针,然后更新描述符队列管理表,将表中的队列长度减1。
本发明可以适用于TSN中交换机,以实现时间敏感报文缓冲区管理,使得能够提高交换设备缓冲区资源利用率,通过预先为时间敏感报文的报文分配报文缓冲区资源,利用描述符队列管理报文缓冲区地址,使得能够满足高优先级的ST报文的存储需求,提高TSN交换机上所有输出端口共享的缓冲区资源利用率。
本实施例还提供计算机装置,包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行计算机程序,处理器用于执行计算机程序,以执行如上述报文缓冲区管理方法。
本实施例还提供存储有计算机程序的计算机可读存储介质,计算机程序执行时实现如上述报文缓冲区管理方法。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (9)

1.一种面向时间敏感网络的报文缓冲区管理方法,其特征在于,该方法包括缓存报文步骤,所述缓存报文步骤包括:
S1.预先配置ST报文缓冲区以及描述符缓冲区,所述ST报文缓冲区用于缓存时间敏感报文,所述描述符缓冲区用于存放描述符队列中下一个报文的报文缓冲区地址描述符,通过描述符队列管理表管理所述描述符队列的指针;
S2.当接收到时间敏感报文时,查询预先配置的报文缓冲区地址信息表,以获取当前接收到的时间敏感报文在所述ST报文缓冲区中对应的报文缓冲区地址,以及查询所述描述符队列管理表,以获取所述描述符队列的当前指针,所述报文缓冲区地址信息表中每一条表项对应一个时间槽内一条时间敏感流独占一个报文缓冲区的物理地址,使用时间槽号表示报文到达时刻所处的时间槽编号;
S3.根据获取的当前指针将所述报文缓冲区地址写入所述描述符缓冲区,并更新所述描述符队列管理表,以及根据所述报文缓冲区地址将当前接收到的时间敏感报文写入所述ST报文缓冲区。
2.根据权利要求1所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于:所述描述符队列管理表具体记录所述描述符队列对应的编号、头指针、尾指针以及队列长度。
3.根据权利要求1所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于,所述步骤S2中,根据接收到的时间敏感报文所属流的流id查询所述报文缓冲区地址信息表,以获取所述报文缓冲区地址,所述流id为时间敏感流的标识号;根据接收到的时间敏感报文所进入的所述描述符队列的队列号id,查询所述描述符队列管理表,以获取所述描述符队列的尾指针,所述队列号id为描述符队列的标识号。
4.根据权利要求1~3中任意一项所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于,所述步骤S3包括:
S301.判断当前取出的所述描述符队列的尾指针是否为空,如果是转入步骤S302,否则转入步骤S303;
S302.将步骤S2获取的当前报文对应的报文缓冲区地址pkt_id写入所述尾指针指向的所述描述符缓冲区;
S303.更新所述描述符队列管理表,将所述尾指针修改为当前报文对应的报文缓冲区地址pkt_id;
S304.将当前接收到的时间敏感报文写入所述报文缓冲区地址pkt_id指向的所述ST报文缓冲区。
5.根据权利要求4所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于,所述步骤S303后,还包括将NULL写入所述报文缓冲区地址pkt_id指向的所述描述符缓冲区,以更新所述描述符缓冲区中尾指针指向的内容。
6.根据权利要求1~3中任意一项所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于,还包括读取报文步骤,具体包括:
SA1.获取所需调度分组的队列号;
SA2.获取所述描述符队列的头指针,根据获取的所述头指针,从所述头指针指向的ST报文缓冲区中取出报文;
SA3.根据获取的所述头指针,从所述头指针指向的所述描述符缓冲区中取出报文缓冲区地址描述符;
SA4.更新所述描述符队列管理表,返回步骤SA2。
7.根据权利要求6所述的面向时间敏感网络的报文缓冲区管理方法,其特征在于,所述步骤SA4中更新所述描述符队列管理表时,具体将所述描述符队列的头指针修改为步骤SA3取出的报文缓冲地址描述符。
8.一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,其特征在于,所述处理器用于执行所述计算机程序,以执行如权利要求1~7中任意一项所述方法。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序执行时实现如权利要求1~7中任意一项所述的方法。
CN202110631566.4A 2021-06-07 2021-06-07 一种面向时间敏感网络的报文缓冲区管理方法 Active CN113411270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110631566.4A CN113411270B (zh) 2021-06-07 2021-06-07 一种面向时间敏感网络的报文缓冲区管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110631566.4A CN113411270B (zh) 2021-06-07 2021-06-07 一种面向时间敏感网络的报文缓冲区管理方法

Publications (2)

Publication Number Publication Date
CN113411270A CN113411270A (zh) 2021-09-17
CN113411270B true CN113411270B (zh) 2023-04-07

Family

ID=77676710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110631566.4A Active CN113411270B (zh) 2021-06-07 2021-06-07 一种面向时间敏感网络的报文缓冲区管理方法

Country Status (1)

Country Link
CN (1) CN113411270B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023108479A1 (zh) * 2021-12-15 2023-06-22 新华三技术有限公司 确定性流传输方法及装置
CN115086238B (zh) * 2022-08-23 2022-11-22 中国人民解放军国防科技大学 一种tsn网络端口输出调度装置
CN115145864B (zh) * 2022-09-05 2022-11-04 深圳比特微电子科技有限公司 数据处理方法、系统、电子设备和存储介质
CN116192747A (zh) * 2022-09-07 2023-05-30 昆高新芯微电子(江苏)有限公司 端口汇聚在tsn网络中的实现方法和装置
CN116233036B (zh) * 2023-03-14 2023-08-25 上海耀芯电子科技有限公司 一种dma传输控制方法及装置
CN116192741B (zh) * 2023-04-27 2023-07-04 顺霆科技(无锡)有限公司 基于自组网的数据传输方法
CN117097815B (zh) * 2023-10-18 2024-02-09 苏州元脑智能科技有限公司 一种报文传输方法、系统、电子设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045258B (zh) * 2010-12-22 2012-12-12 北京星网锐捷网络技术有限公司 数据缓存管理方法及装置
US20190324912A1 (en) * 2018-04-18 2019-10-24 Mediatek Singapore Pte. Ltd. Cache memory shared by software having different time-sensitivity constraints
CN109787919B (zh) * 2018-12-27 2023-04-07 瑞斯康达科技发展股份有限公司 一种信息传输的方法、装置、计算机存储介质及终端

Also Published As

Publication number Publication date
CN113411270A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN113411270B (zh) 一种面向时间敏感网络的报文缓冲区管理方法
CN100521655C (zh) 按每流排队的物理队列动态共享装置
US10044646B1 (en) Systems and methods for efficiently storing packet data in network switches
US7313142B2 (en) Packet processing device
US7529224B2 (en) Scheduler, network processor, and methods for weighted best effort scheduling
CN113032295B (zh) 一种数据包二级缓存方法、系统及应用
US20090187681A1 (en) Buffer controller and management method thereof
JP7074839B2 (ja) パケット処理
WO2017206587A1 (zh) 一种优先级队列调度的方法及装置
CN106789734B (zh) 在交换控制电路中巨帧的控制系统及方法
CN111526097B (zh) 一种报文调度方法、装置及网络芯片
US20120294315A1 (en) Packet buffer comprising a data section and a data description section
US9274586B2 (en) Intelligent memory interface
EP2526478B1 (en) A packet buffer comprising a data section an a data description section
WO2011015055A1 (zh) 一种存储管理的方法和系统
US11949601B1 (en) Efficient buffer utilization for network data units
CN107025184B (zh) 一种数据管理方法及装置
CN114531488A (zh) 一种面向以太网交换器的高效缓存管理系统
US7474662B2 (en) Systems and methods for rate-limited weighted best effort scheduling
CN117749726A (zh) Tsn交换机输出端口优先级队列混合调度方法和装置
EP1508225B1 (en) Method for data storage in external and on-chip memory in a packet switch
CN115086239B (zh) 一种共享式tsn整形调度装置
CN115086238B (zh) 一种tsn网络端口输出调度装置
CN114024844B (zh) 数据调度方法、数据调度装置及电子设备
US20060153184A1 (en) Reducing memory access bandwidth consumption in a hierarchical packet scheduler

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