[go: up one dir, main page]

CN112787956B - Method, system, storage medium and application for crowding occupation processing in queue management - Google Patents

Method, system, storage medium and application for crowding occupation processing in queue management Download PDF

Info

Publication number
CN112787956B
CN112787956B CN202110131937.2A CN202110131937A CN112787956B CN 112787956 B CN112787956 B CN 112787956B CN 202110131937 A CN202110131937 A CN 202110131937A CN 112787956 B CN112787956 B CN 112787956B
Authority
CN
China
Prior art keywords
priority
data frame
destination port
port
queue
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
CN202110131937.2A
Other languages
Chinese (zh)
Other versions
CN112787956A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202110131937.2A priority Critical patent/CN112787956B/en
Publication of CN112787956A publication Critical patent/CN112787956A/en
Application granted granted Critical
Publication of CN112787956B publication Critical patent/CN112787956B/en
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/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

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

Abstract

The invention belongs to the technical field of wireless communication, and discloses a method, a system, a storage medium and an application for crowding occupation in queue management, wherein when grouping is enqueued, the residual amount of available cache space of a destination port of a current data frame is judged; judging the priority of the data frame stored in the destination port cache space of the current data frame; after judging that the high-priority data frames which are squeezed to occupy are successfully enqueued, judging that the squeezing to occupy needs to be carried out through the priority of the data frames stored in the destination port cache space of the current data frames, extracting destination port, frame length and priority information in the data frames, and writing the information into a corresponding value in a squeezing to occupy information table; updating the crowding information table; and reading the occupation information table when occupation is effective, and dequeuing and scheduling each priority. The invention ensures that the buffer memory of each port is enough to store the next longest data frame in the limit state for high priority to carry out crowding; when flow control is performed or the input flow exceeds the capacity of the switch, the enqueue of the incoming high-priority data frames is ensured as much as possible.

Description

一种队列管理中挤占处理方法、系统、存储介质及应用A method, system, storage medium and application for crowding processing in queue management

技术领域technical field

本发明属于无线通信技术领域,尤其涉及一种队列管理中挤占处理方法、系统、存储介质及应用。The invention belongs to the technical field of wireless communication, and in particular relates to a method, system, storage medium and application for crowding processing in queue management.

背景技术Background technique

目前:在卫星上配备交换设备,可以大大提高卫星通信系统的数据传输效率,为灵活地满足用户的各种需求提供便利。地面网络和卫星网之间的信息传输能够更方便快捷的实现。星上交换设备可以替代地面站的交换设备,来完成交换管理工作,可以独自构成网络。随着卫星与空间站的发展,处理的业务也随着增加,业务的优先级也随之增加,保障高优先级的业务有重要的意义。At present: the satellite is equipped with switching equipment, which can greatly improve the data transmission efficiency of the satellite communication system and provide convenience for flexibly meeting the various needs of users. The information transmission between the terrestrial network and the satellite network can be realized more conveniently and quickly. The on-board switching equipment can replace the switching equipment of the ground station to complete the switching management work, and can form a network by itself. With the development of satellites and space stations, the services processed also increase, and the priority of services also increases. It is of great significance to ensure high-priority services.

分组的转发流程包括分组接收和缓存,输出端口查找,队列管理,出队调度,分组发送等步骤。队列管理是分组交换设备的重要功能,挤占的处理方法能够进一步保障高优先级业务的稳定传输。The packet forwarding process includes packet reception and buffering, output port lookup, queue management, dequeue scheduling, and packet sending. Queue management is an important function of packet switching equipment, and the crowded processing method can further ensure the stable transmission of high-priority services.

西安电子科技大学在其申请的专利文献“基于定长单元存储变长分组的队列管理方法及设备”(公开号CN 102377682 B)中公开了一种队列管理方法及设备。该方法在基于定长单元存储变长分组的基础上,将队列存储空间划分成等大小的基本缓存单元,并为每个单元设置一个缓存描述符,将这些描述符存在缓存描述符存储表中形成链表;该方法用于分组交换系统的不足之处是:其一,当前业务类型复杂度增加,随着物理端口的下逻辑端口数增加,其队列管理需要的缓存需要大幅增大;其二,对于同一队列存在不同优先级,如果低优先级的分组占据缓存,高优先级分组无法入队。对于一,在具备挤占的队列管理下,无需对每个优先级设置最小门限,则队列缓存无需随着优先级增多而增大。Xi'an University of Electronic Science and Technology disclosed a queue management method and device in the patent document "Queue Management Method and Device for Storing Variable-Length Packet Based on Fixed-Length Unit" (Publication No. CN 102377682 B). On the basis of storing variable-length packets based on fixed-length units, the method divides the queue storage space into basic cache units of equal size, sets a cache descriptor for each unit, and stores these descriptors in the cache descriptor storage table. A linked list is formed; the disadvantages of this method used in packet switching systems are: first, the complexity of the current business type increases, and as the number of logical ports under the physical port increases, the cache required for queue management needs to be greatly increased; second , there are different priorities for the same queue. If the low-priority packet occupies the cache, the high-priority packet cannot be queued. For one, under the queue management with crowding, there is no need to set a minimum threshold for each priority, and the queue buffer does not need to increase as the priority increases.

通过上述分析,现有技术存在的问题及缺陷为:现有分组交换系统里队列管理中,低优先级业务数据占据缓存,高优先级无法入队的问题。Through the above analysis, the existing problems and defects in the prior art are: in the queue management in the existing packet switching system, the low-priority service data occupies the cache, and the high-priority cannot be queued.

解决以上问题及缺陷的难度为:在基于定长单元存储变长分组的队列管理方法及设备中,由于分组长度灵活可变,对变长分组进行挤占,具备较大的随机性,对定长单元的管理十分复杂,涉及到多个表项的随机更新。同时定长单元按照链表进行管理,定长单元的随机覆盖会导致链表混乱。The difficulty of solving the above problems and defects is as follows: in the queue management method and device for storing variable-length packets based on fixed-length units, since the packet length is flexible and variable, the variable-length packets are crowded, which has greater randomness, and the fixed-length packets are occupied. The management of cells is very complex and involves random updates of multiple entries. At the same time, the fixed-length unit is managed according to the linked list, and random coverage of the fixed-length unit will cause the linked list to be chaotic.

解决以上问题及缺陷的意义为:建立一个最长帧的挤占缓存区,在原有的出队基础上进行被挤占的分组的丢弃,能够维护链表的稳定。在现有的通信系统中,高优先级业务常为握手信息,一旦被阻塞会引起链路断开,实现高优先级的挤占能够保证高优先级业务得到更充分的保障,进一步保证链路的可靠性。The significance of solving the above problems and defects is: establishing a crowded buffer area with the longest frame, and discarding crowded packets on the basis of the original dequeuing, which can maintain the stability of the linked list. In the existing communication system, high-priority services are often handshake information. Once blocked, the link will be disconnected. The realization of high-priority crowding can ensure that high-priority services are more fully guaranteed, and further ensure the link reliability.

发明内容SUMMARY OF THE INVENTION

针对现有技术存在的问题,本发明提供了一种队列管理中挤占处理方法、系统、存储介质及应用。Aiming at the problems existing in the prior art, the present invention provides a method, system, storage medium and application for crowding processing in queue management.

本发明是这样实现的,一种队列管理中挤占处理方法,所述队列管理中挤占处理方法包括:The present invention is implemented in the following way, a method for processing crowding in queue management, and the method for processing crowding in queue management includes:

为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;在分组入队时,判断当前数据帧目的端口可用的缓存空间剩余量;判断当前数据帧目的端口缓存空间存储的数据帧的优先级;保障高优先级能够在受限的情况下进入缓存区。Set a buffer area for each port, and each priority queue under each port shares the buffer; when the group is queued, determine the remaining amount of buffer space available at the destination port of the current data frame; determine the buffer space stored in the destination port of the current data frame. The priority of the data frame; ensure that the high priority can enter the buffer area under limited circumstances.

当判断为挤占的高优先级数据帧成功入队后,经过当前数据帧目的端口缓存空间存储的数据帧的优先级的判断需要进行挤占,提取数据帧中目的端口,帧长,优先级信息,写为挤占信息表中对应的值;更新挤占信息表;为出队提供如何对低优先级判断是否被挤占的依据。When the high-priority data frame judged to be crowded is successfully entered into the queue, the priority of the data frame stored in the buffer space of the destination port of the current data frame needs to be crowded, and the destination port, frame length, and priority information in the data frame are extracted. Write it as the corresponding value in the crowding information table; update the crowding information table; provide the basis for how to judge whether the low priority is crowded for dequeuing.

当挤占有效时读取挤占信息表,对各个优先级进行出队调度;访问挤占信息表,在挤占标志位有效时,根据目的端口确定需要进行挤占的端口,判断目的端口可以空间是否满足一个最长帧;按照该端口下各队列优先级从低到挤占信息表中优先级的顺序,逐个进行出队操作直到可用缓存空间满足一个最长帧。从而保障缓存空间能够进行下一次挤占。When the crowding is valid, read the crowding information table, and perform dequeue scheduling for each priority; access the crowding information table, when the crowding flag is valid, determine the port that needs to be crowded according to the destination port, and judge whether the destination port can have enough space for a maximum Long frame: According to the order of priority of each queue under the port from low to the priority in the crowding information table, dequeue operations one by one until the available buffer space satisfies a longest frame. This ensures that the cache space can be squeezed the next time.

进一步,所述队列管理中挤占处理方法判断当前数据帧目的端口可用的缓存空间剩余量包括;Further, determining the remaining amount of buffer space available for the destination port of the current data frame by the crowding processing method in the queue management includes;

如果加上需要入队的数据帧长度后当前目的端口缓存空间会大于实际缓存空间,则入队失败;If the current destination port buffer space is larger than the actual buffer space after adding the length of the data frame to be queued, the queue will fail;

如果加上需要入队的数据帧长度后当前目的端口缓存空间不足以存一个最长数据帧,则需要进行进一步判断;If the current destination port buffer space is not enough to store a longest data frame after adding the length of the data frame to be queued, further judgment is required;

如果当前目的端口可用的缓存空间足以存一个最长数据帧,则此帧入队成功。If the buffer space available on the current destination port is sufficient to store the longest data frame, the frame is successfully enqueued.

进一步,所述队列管理中挤占处理方法判断当前数据帧目的端口缓存空间存储的数据帧的优先级包括;在经过当前数据帧目的端口可用的缓存空间剩余量的判断入队成功且当前目的端口缓存空间不足以存一个最长数据帧的基础上读取当前数据帧目的端口缓存空间存储的数据帧的优先级进行判断;Further, in the described queue management, the processing method for judging the priority of the data frame stored in the destination port cache space of the current data frame includes; after judging the remaining amount of cache space available at the destination port of the current data frame, the enqueue is successful and the current destination port cache is successful. If the space is not enough to store the longest data frame, the priority of the data frame stored in the destination port buffer space of the current data frame is read for judgment;

如果当前目的端口缓存空间低于此数据帧优先级的各队列长度之和小于此优先级数据帧长度,则入队失败;If the current destination port buffer space is lower than the data frame priority and the sum of the queue lengths is less than the data frame length of this priority, the queue will fail;

如果当前目的端口缓存空间低于此数据帧优先级的各队列长度之和大于等于此优先级数据帧长度,则入队成功,且需要进行挤占。If the current destination port buffer space is lower than the data frame priority and the sum of the queue lengths is greater than or equal to the data frame length of this priority, the queue entry is successful and it needs to be crowded.

进一步,所述挤占信息表,用于存放发生挤占的数据帧的信息,它由一个表组成,表项有3项信息:目的端口,帧长度,优先级。Further, the crowding information table is used to store the information of the data frame in which crowding occurs, and it consists of a table, and the table entry has 3 items of information: destination port, frame length, and priority.

进一步,所述当挤占有效时读取挤占信息表,对各个优先级进行出队调度之后需要:当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。Further, when the crowding is valid, the crowding information table is read, and the dequeue scheduling is performed for each priority: when a group of a certain queue is dequeued, if the crowding flag is valid, the frame is discarded, otherwise it is normal. out of the team.

本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:Another object of the present invention is to provide a computer device, the computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the following step:

为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;在分组入队时,判断当前数据帧目的端口可用的缓存空间剩余量;判断当前数据帧目的端口缓存空间存储的数据帧的优先级;Set a buffer area for each port, and each priority queue under each port shares the buffer; when the group is queued, determine the remaining amount of buffer space available at the destination port of the current data frame; determine the buffer space stored in the destination port of the current data frame. the priority of the data frame;

当判断为挤占的高优先级数据帧成功入队后,经过当前数据帧目的端口缓存空间存储的数据帧的优先级的判断需要进行挤占,提取数据帧中目的端口,帧长,优先级信息,写为挤占信息表中对应的值;更新挤占信息表;When the high-priority data frame judged to be crowded is successfully entered into the queue, the priority of the data frame stored in the buffer space of the destination port of the current data frame needs to be crowded, and the destination port, frame length, and priority information in the data frame are extracted. Write as the corresponding value in the crowding information table; update the crowding information table;

当挤占有效时读取挤占信息表,对各个优先级进行出队调度;访问挤占信息表,在挤占标志位有效时,根据目的端口确定需要进行挤占的端口,判断目的端口可以空间是否满足一个最长帧;按照该端口下各队列优先级从低到挤占信息表中优先级的顺序,逐个进行出队操作直到可用缓存空间满足一个最长帧;When the crowding is valid, read the crowding information table, and perform dequeue scheduling for each priority; access the crowding information table, when the crowding flag is valid, determine the port that needs to be crowded according to the destination port, and judge whether the destination port can have enough space for a maximum Long frame; according to the order of priority of each queue under the port from low to the priority in the crowding information table, dequeue operations one by one until the available buffer space satisfies a longest frame;

当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。When a group of a queue is dequeued, if the crowding flag is valid, the frame will be discarded, otherwise it will be dequeued normally.

本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:Another object of the present invention is to provide a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, causes the processor to perform the following steps:

为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;在分组入队时,判断当前数据帧目的端口可用的缓存空间剩余量;判断当前数据帧目的端口缓存空间存储的数据帧的优先级;Set a buffer area for each port, and each priority queue under each port shares the buffer; when the group is queued, determine the remaining amount of buffer space available at the destination port of the current data frame; determine the buffer space stored in the destination port of the current data frame. the priority of the data frame;

当判断为挤占的高优先级数据帧成功入队后,经过当前数据帧目的端口缓存空间存储的数据帧的优先级的判断需要进行挤占,提取数据帧中目的端口,帧长,优先级信息,写为挤占信息表中对应的值;更新挤占信息表;When the high-priority data frame judged to be crowded is successfully entered into the queue, the priority of the data frame stored in the buffer space of the destination port of the current data frame needs to be crowded, and the destination port, frame length, and priority information in the data frame are extracted. Write as the corresponding value in the crowding information table; update the crowding information table;

当挤占有效时读取挤占信息表,对各个优先级进行出队调度;访问挤占信息表,在挤占标志位有效时,根据目的端口确定需要进行挤占的端口,判断目的端口可以空间是否满足一个最长帧;按照该端口下各队列优先级从低到挤占信息表中优先级的顺序,逐个进行出队操作直到可用缓存空间满足一个最长帧;When the crowding is valid, read the crowding information table, and perform dequeue scheduling for each priority; access the crowding information table, when the crowding flag is valid, determine the port that needs to be crowded according to the destination port, and judge whether the destination port can have enough space for a maximum Long frame; according to the order of priority of each queue under the port from low to the priority in the crowding information table, dequeue operations one by one until the available buffer space satisfies a longest frame;

当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。When a group of a queue is dequeued, if the crowding flag is valid, the frame will be discarded, otherwise it will be dequeued normally.

本发明的另一目的在于提供一种实施所述队列管理中挤占处理方法的队列管理中挤占处理系统,所述队列管理中挤占处理系统包括:Another object of the present invention is to provide a queue management crowding processing system for implementing the queue management crowding processing method, and the queue management crowding processing system includes:

优先级队列缓存共享模块,用于为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;The priority queue cache sharing module is used to set a buffer area for each port, and each priority queue under each port shares the buffer;

挤占信息表更新模块,用于当判断为挤占的高优先级数据帧成功入队后,更新挤占信息表;The crowding information table update module is used to update the crowding information table after the high-priority data frame judged to be crowded is successfully entered into the queue;

出队调度模块,用于当挤占有效时读取挤占信息表,对各个优先级进行出队调度;The dequeue scheduling module is used to read the crowding information table when crowding is effective, and perform dequeue scheduling for each priority;

分组出队处理模块,用于当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。The packet dequeue processing module is used to discard the frame if the crowding flag is valid when a group of a queue is dequeued, otherwise, the frame is dequeued normally.

本发明的另一目的在于提供一种无线通信控制系统,所述无线通信控制系统用于实现所述的队列管理中挤占处理方法。Another object of the present invention is to provide a wireless communication control system, the wireless communication control system is used to implement the method for crowding in queue management.

本发明的另一目的在于提供一种卫星通信系统,所述卫星通信系统用于实现所述的队列管理中挤占处理方法。Another object of the present invention is to provide a satellite communication system, which is used for implementing the method for crowding in queue management.

结合上述的所有技术方案,本发明所具备的优点及积极效果为:现有技术当低优先级占据队列管理的缓存区时,高优先级无法被服务,通过挤占的处理方法可以保障高优先级业务。现有技术下同一目的端口下优先级增多时,需要更多的缓存区保证。通过挤占的方式可以避免缓存区的无限制增加。Combining all the above technical solutions, the advantages and positive effects of the present invention are: in the prior art, when a low priority occupies the buffer area managed by the queue, the high priority cannot be served, and the high priority can be guaranteed by the processing method of crowding. business. In the prior art, when the priority of the same destination port increases, more buffer area guarantees are required. The unlimited increase of the buffer area can be avoided by crowding.

假设要求在流量突发容许能力的要求下,缓存区至少为M,一个最长帧的存储空间为N,且M=16N。对于现有技术所需缓存区,一个优先级最小门限为2N,能够保障一个最长帧的入队和出队能够同时进行It is assumed that under the requirement of traffic burst tolerance, the buffer area is at least M, the storage space of a longest frame is N, and M=16N. For the buffer area required by the prior art, the minimum threshold of a priority is 2N, which can ensure that the enqueue and dequeue of a longest frame can be performed at the same time.

Figure BDA0002925674810000051
Figure BDA0002925674810000051

Figure BDA0002925674810000061
Figure BDA0002925674810000061

本发明保证极限状态下每个端口的缓存足以存下一个最长数据帧,以备高优先级进行挤占;在进行流控或者输入流量超过交换机容量时,通过丢弃该端口下低于当前入队帧优先级的低优先级队列的数据帧,尽可能保证到来的高优先级数据帧入队。The invention ensures that the buffer of each port is sufficient to store the longest data frame in the limit state, so as to prepare for the high priority to crowd; when the flow control is performed or the input flow exceeds the capacity of the switch, the lower than the current queue by discarding the port The data frames of the low-priority queue of the frame priority, as far as possible, ensure that the incoming high-priority data frames are queued.

附图说明Description of drawings

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings that need to be used in the embodiments of the present application. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative effort.

图1是本发明实施例提供的队列管理中挤占处理方法流程图。FIG. 1 is a flowchart of a method for processing crowding in queue management provided by an embodiment of the present invention.

图2是本发明实施例提供的队列管理中挤占处理系统的结构示意图;2 is a schematic structural diagram of a crowding processing system in queue management provided by an embodiment of the present invention;

图2中:1、优先级队列缓存共享模块;2、挤占信息表更新模块;3、出队调度模块;4、分组出队处理模块。In Fig. 2: 1. Priority queue cache sharing module; 2. Occupation information table updating module; 3. Dequeue scheduling module; 4. Packet dequeue processing module.

图3是本发明实施例提供的入队的信息处理的实现流程图。FIG. 3 is a flowchart of an implementation of information processing for entering a queue provided by an embodiment of the present invention.

图4是本发明实施例提供的更新挤占信息表的实现流程图。FIG. 4 is a flowchart of an implementation of updating a crowding information table provided by an embodiment of the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention.

针对现有技术存在的问题,本发明提供了一种队列管理中挤占处理方法、系统、存储介质及应用,下面结合附图对本发明作详细的描述。In view of the problems existing in the prior art, the present invention provides a method, system, storage medium and application for crowding in queue management. The present invention will be described in detail below with reference to the accompanying drawings.

如图1所示,本发明提供的队列管理中挤占处理方法包括以下步骤:As shown in FIG. 1 , the method for processing crowding in queue management provided by the present invention includes the following steps:

S101:为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;在分组入队时,判断当前数据帧目的端口可用的缓存空间剩余量;判断当前数据帧目的端口缓存空间存储的数据帧的优先级;S101: Set a buffer area for each port, and each priority queue under each port shares the buffer; when the group is queued, determine the remaining amount of buffer space available at the destination port of the current data frame; determine the buffer space of the destination port of the current data frame the priority of the stored data frame;

S102:当判断为挤占的高优先级数据帧成功入队后,经过当前数据帧目的端口缓存空间存储的数据帧的优先级的判断需要进行挤占,提取数据帧中目的端口,帧长,优先级信息,写为挤占信息表中对应的值;更新挤占信息表;S102: After the high-priority data frame judged to be crowded is successfully entered into the queue, the priority of the data frame stored in the buffer space of the destination port of the current data frame needs to be crowded, and the destination port, frame length, and priority of the data frame are extracted. Information, written as the corresponding value in the crowding information table; update the crowding information table;

S103:当挤占有效时读取挤占信息表,对各个优先级进行出队调度;访问挤占信息表,在挤占标志位有效时,根据目的端口确定需要进行挤占的端口,判断目的端口可以空间是否满足一个最长帧;按照该端口下各队列优先级从低到挤占信息表中优先级的顺序,逐个进行出队操作直到可用缓存空间满足一个最长帧;S103: when the crowding is valid, read the crowding information table, and perform dequeue scheduling for each priority; access the crowding information table, and when the crowding flag is valid, determine the port that needs to be crowded according to the destination port, and determine whether the space available for the destination port is sufficient A longest frame; according to the order of priority of each queue under the port from low to the priority in the crowding information table, dequeue operations one by one until the available buffer space satisfies a longest frame;

S104:当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。S104: When a group in a certain queue is dequeued, if the crowding flag is valid, the frame is discarded, otherwise, it is dequeued normally.

本发明提供的队列管理中挤占处理方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的队列管理中挤占处理方法仅仅是一个具体实施例而已。Those skilled in the art of the method for processing crowding in queue management provided by the present invention may also use other steps to implement the method. The method for processing crowding in queue management provided by the present invention in FIG. 1 is only a specific embodiment.

如图2所示,本发明提供的队列管理中挤占处理系统包括:As shown in Figure 2, the crowding processing system in queue management provided by the present invention includes:

优先级队列缓存共享模块1,用于为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;The priority queue cache sharing module 1 is used to set a cache area for each port, and each priority queue under each port shares the cache;

挤占信息表更新模块2,用于当判断为挤占的高优先级数据帧成功入队后,更新挤占信息表;The crowding information table update module 2 is used to update the crowding information table after the high-priority data frame judged to be crowded is successfully entered into the queue;

出队调度模块3,用于当挤占有效时读取挤占信息表,对各个优先级进行出队调度;The dequeue scheduling module 3 is used to read the crowding information table when the crowding is effective, and perform dequeue scheduling for each priority;

分组出队处理模块4,用于当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。The grouping dequeue processing module 4 is used for discarding the frame if the crowding flag is valid when a group in a certain queue is dequeued, otherwise, the frame is normally dequeued.

下面结合附图对本发明的技术方案作进一步的描述。The technical solutions of the present invention will be further described below with reference to the accompanying drawings.

本发明中队列管理:其作用为对端口的不同优先级分不同队列,在出队时按照从高到低出队,实现服务质量的区分;挤占:基于的队列管理是不同优先级共享一片缓存,当低优先级占据缓存区,高优先级能够挤占低优先级的缓存空间,进一步保障高优先级。Queue management in the present invention: its function is to assign different queues to different priorities of ports, and to dequeue from high to low when dequeuing, so as to realize the distinction of service quality; crowding: based on queue management, different priorities share a cache , when the low priority occupies the buffer area, the high priority can squeeze the cache space of the low priority to further ensure the high priority.

本发明提供的队列管理中挤占处理方法具体包括以下步骤:The crowded processing method in queue management provided by the present invention specifically includes the following steps:

第一步,为每个端口设定缓存区,每个端口下各个优先级队列共享该缓存;在分组入队时,判断当前数据帧目的端口可用的缓存空间剩余量;判断当前数据帧目的端口缓存空间存储的数据帧的优先级;分组入队的处理过程如图3所示:The first step is to set a buffer area for each port, and each priority queue under each port shares the buffer; when the group is queued, determine the remaining amount of buffer space available at the destination port of the current data frame; determine the destination port of the current data frame The priority of the data frame stored in the cache space; the processing process of grouping into the queue is shown in Figure 3:

(1)判断当前数据帧目的端口可用的缓存空间剩余量;(1) Judging the remaining amount of cache space available to the destination port of the current data frame;

如果加上需要入队的数据帧长度后当前目的端口缓存空间会大于实际缓存空间,则入队失败;If the current destination port buffer space is larger than the actual buffer space after adding the length of the data frame to be queued, the queue will fail;

如果加上需要入队的数据帧长度后当前目的端口缓存空间不足以存一个最长数据帧,则需要进行进一步判断;If the current destination port buffer space is not enough to store a longest data frame after adding the length of the data frame to be queued, further judgment is required;

如果当前目的端口可用的缓存空间足以存一个最长数据帧,则此帧入队成功。If the buffer space available on the current destination port is sufficient to store the longest data frame, the frame is successfully enqueued.

(2)判断当前数据帧目的端口缓存空间存储的数据帧的优先级;(2) judging the priority of the data frame stored in the destination port buffer space of the current data frame;

在经过(1)的判断入队成功且当前目的端口缓存空间不足以存一个最长数据帧的基础上读取当前数据帧目的端口缓存空间存储的数据帧的优先级进行判断;After the judgment of (1), the entry into the team is successful and the current destination port cache space is not enough to store a longest data frame on the basis of reading the priority of the data frame stored in the destination port cache space of the current data frame to judge;

如果当前目的端口缓存空间低于此数据帧优先级的各队列长度之和小于此优先级数据帧长度,则入队失败;If the current destination port buffer space is lower than the data frame priority and the sum of the queue lengths is less than the data frame length of this priority, the queue will fail;

如果当前目的端口缓存空间低于此数据帧优先级的各队列长度之和大于等于此优先级数据帧长度,则入队成功,且需要进行挤占。If the current destination port buffer space is lower than the data frame priority and the sum of the queue lengths is greater than or equal to the data frame length of this priority, the queue entry is successful and it needs to be crowded.

第二步,当判断为挤占的高优先级数据帧成功入队后,经过当前数据帧目的端口缓存空间存储的数据帧的优先级的判断需要进行挤占,提取数据帧中目的端口,帧长,优先级信息,写为挤占信息表中对应的值;更新挤占信息表如图4所示;所述挤占信息表,用于存放发生挤占的数据帧的信息,它由一个表组成,表项有3项信息:目的端口,帧长度,优先级;In the second step, after the high-priority data frame that is judged to be crowded is successfully entered into the queue, the priority of the data frame stored in the buffer space of the destination port of the current data frame needs to be crowded, and the destination port in the data frame, the frame length, The priority information is written as the corresponding value in the crowding information table; the crowding information table is updated as shown in Figure 4; the crowding information table is used to store the information of the data frame where crowding occurs, it consists of a table, and the table items are 3 items of information: destination port, frame length, priority;

第三步,当挤占有效时读取挤占信息表,对各个优先级进行出队调度;将低于挤占信息表中优先级的数据帧按从低到高进行出队,直至可用缓存区满足一个最长帧,同时更新挤占标志位为有效;出队调度过程包括:访问挤占信息表,在挤占标志位有效时,根据目的端口确定需要进行挤占的端口,判断目的端口可以空间是否满足一个最长帧;按照该端口下各队列优先级从低到挤占信息表中优先级的顺序,逐个进行出队操作直到可用缓存空间满足一个最长帧;The third step is to read the crowding information table when the crowding is valid, and dequeue each priority; dequeue the data frames lower than the priority in the crowding information table from low to high until the available buffer area satisfies a The longest frame is valid, and the crowded flag is updated at the same time; the dequeue scheduling process includes: accessing the crowding information table, when the crowding flag is valid, determining the port that needs to be crowded according to the destination port, and judging whether the space available for the destination port satisfies a longest frame. frame; according to the order of priority of each queue under the port from low to the priority in the crowding information table, dequeue operations one by one until the available buffer space satisfies a longest frame;

第四步,当某一队列的有分组出队时,如果挤占标志位有效,将该帧丢弃,反之则正常出队。In the fourth step, when a group of a queue is dequeued, if the crowding flag is valid, the frame will be discarded, otherwise, it will be dequeued normally.

通过网络测试仪进行测试,八个优先级327692-327689,优先级从低到高,每个优先级12M,总流量96M,流控到44.4M,挤占处理方法保障相对高优先级对应无丢帧。Tested by a network tester, the eight priorities are 327692-327689, the priority is from low to high, each priority is 12M, the total flow is 96M, and the flow control is 44.4M. The crowding processing method ensures that relatively high priority corresponds to no frame loss .

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。It should be noted that the embodiments of the present invention may be implemented by hardware, software, or a combination of software and hardware. The hardware portion may be implemented using special purpose logic; the software portion may be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those of ordinary skill in the art will appreciate that the apparatus and methods described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory Such code is provided on a programmable memory (firmware) or a data carrier such as an optical or electronic signal carrier. The device and its modules of the present invention can be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., It can also be implemented by software executed by various types of processors, or by a combination of the above-mentioned hardware circuits and software, such as firmware.

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited to this. Any person skilled in the art is within the technical scope disclosed by the present invention, and all within the spirit and principle of the present invention Any modifications, equivalent replacements and improvements made within the scope of the present invention should be included within the protection scope of the present invention.

Claims (8)

1. A method for handling crowding in queue management is characterized in that the method for handling crowding in queue management comprises the following steps:
setting a buffer area for each port, wherein each priority queue under each port shares the buffer; when the packet is enqueued, judging the residual amount of available buffer space of a destination port of the current data frame; judging the priority of the data frame stored in the destination port cache space of the current data frame;
after judging that the high-priority data frames which are squeezed to occupy are successfully enqueued, judging that the squeezing to occupy needs to be carried out through the priority of the data frames stored in the destination port cache space of the current data frames, extracting destination port, frame length and priority information in the data frames, and writing the information into a corresponding value in a squeezing to occupy information table; updating the crowding information table;
reading the occupation information table when occupation is effective, and dequeuing and scheduling each priority; accessing an occupation information table, determining a port needing to be occupied according to a target port when an occupation flag bit is effective, and judging whether the available space of the target port meets a longest frame; according to the sequence of the priority of each queue in the port from low to the priority in the crowding occupation information table, dequeuing one by one until the available buffer space meets a longest frame;
the method for processing the crowding in the queue management judges that the priority of the data frame stored in the target port cache space of the current data frame comprises the priority; reading the priority of the data frame stored in the buffer space of the destination port of the current data frame for judgment on the basis that the queuing is successfully judged through the residual amount of the buffer space available at the destination port of the current data frame and the buffer space of the current destination port is not enough to store one longest data frame;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is less than the length of the priority data frame, the enqueue is failed;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is greater than or equal to the length of the priority data frame, the enqueue is successful and the data frame needs to be crowded and occupied;
when the occupation is effective, the occupation information table is read, and after dequeuing and scheduling are carried out on each priority, the following steps are required: when a certain queue has a packet to be dequeued, if the occupation flag bit is effective, the frame is discarded, otherwise, the queue is normally dequeued.
2. The method according to claim 1, wherein the method for handling squashing in queue management determines the remaining amount of available buffer space of the destination port of the current data frame;
if the current destination port cache space is larger than the actual cache space after the length of the data frame needing to be enqueued is added, the enqueuing fails;
if the current destination port cache space is not enough to store a longest data frame after adding the length of the data frame to be enqueued, further judgment is needed;
if the available buffer space of the current destination port is enough to store one longest data frame, the frame is enqueued successfully.
3. The method as claimed in claim 1, wherein the preemption information table is used to store information of data frames where preemption occurs, and comprises a table, and the table entry has 3 items of information: destination port, frame length, priority.
4. A computer device, characterized in that the computer device comprises a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to carry out the steps of:
setting a buffer area for each port, wherein each priority queue under each port shares the buffer; when the grouping is enqueued, judging the residual amount of the available buffer space of the destination port of the current data frame; judging the priority of the data frame stored in the destination port cache space of the current data frame;
after judging that the high-priority data frames which are squeezed to occupy are successfully enqueued, judging that the squeezing to occupy needs to be carried out through the priority of the data frames stored in the destination port cache space of the current data frames, extracting destination port, frame length and priority information in the data frames, and writing the information into a corresponding value in a squeezing to occupy information table; updating the crowding information table;
reading the occupation information table when occupation is effective, and dequeuing and scheduling each priority; accessing an occupation information table, determining a port needing occupation according to a target port when an occupation flag bit is effective, and judging whether the space of the target port can meet a longest frame; according to the sequence of the priority of each queue in the port from low to the priority in the crowding occupation information table, dequeuing one by one until the available buffer space meets a longest frame;
when a certain queue has packets to dequeue, if the occupation flag bit is effective, the frame is discarded, otherwise, the packets are dequeued normally;
the method for processing the crowding in the queue management judges that the priority of the data frame stored in the target port cache space of the current data frame comprises the priority; reading the priority of the data frame stored in the buffer space of the destination port of the current data frame for judgment on the basis that the queuing is successfully judged through the residual amount of the buffer space available at the destination port of the current data frame and the buffer space of the current destination port is not enough to store one longest data frame;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is less than the length of the priority data frame, the enqueue is failed;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is greater than or equal to the length of the priority data frame, the enqueue is successful and the data frame needs to be crowded and occupied.
5. A computer-readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of:
setting a buffer area for each port, wherein each priority queue under each port shares the buffer; when the packet is enqueued, judging the residual amount of available buffer space of a destination port of the current data frame; judging the priority of the data frame stored in the destination port cache space of the current data frame;
after judging that the high-priority data frames which are squeezed to occupy are successfully enqueued, judging that the squeezing to occupy needs to be carried out through the priority of the data frames stored in the destination port cache space of the current data frames, extracting destination port, frame length and priority information in the data frames, and writing the information into a corresponding value in a squeezing to occupy information table; updating the crowding information table;
reading the occupation information table when the occupation is effective, and performing dequeue scheduling on each priority; accessing an occupation information table, determining a port needing occupation according to a target port when an occupation flag bit is effective, and judging whether the space of the target port can meet a longest frame; according to the sequence of the priority of each queue from low priority to the priority in the crowding occupation information table under the port, dequeuing one by one until the available buffer space meets a longest frame;
when a certain queue has packets to dequeue, if the occupation flag bit is effective, the frame is discarded, otherwise, the packets are dequeued normally;
the method for processing the crowding in the queue management judges that the priority of the data frame stored in the target port cache space of the current data frame comprises the priority; reading the priority of the data frame stored in the buffer space of the destination port of the current data frame for judgment on the basis that the queuing is successfully judged through the residual amount of the buffer space available at the destination port of the current data frame and the buffer space of the current destination port is not enough to store one longest data frame;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is less than the length of the priority data frame, the enqueue is failed;
if the sum of the queue lengths of the current destination port cache space lower than the priority of the data frame is greater than or equal to the length of the priority data frame, the enqueue is successful and the data frame needs to be crowded and occupied.
6. A queue management preemption processing system for implementing the queue management preemption processing method of any claim from 1 to 3, wherein the queue management preemption processing system comprises:
the priority queue cache sharing module is used for setting a cache region for each port, and each priority queue under each port shares the cache;
the system comprises an occupation information table updating module, a display module and a display module, wherein the occupation information table updating module is used for updating an occupation information table after judging that the occupied high-priority data frames are successfully enqueued;
the dequeue scheduling module is used for reading the occupation information table when occupation is effective and dequeue scheduling each priority;
and the packet dequeuing processing module is used for discarding the frame if the occupation flag bit is effective when a certain queue has a packet dequeue, and otherwise, dequeuing normally.
7. A wireless communication control system, wherein the wireless communication control system is configured to implement the method for handling preemption in queue management according to any one of claims 1 to 3.
8. A satellite communication system, wherein the satellite communication system is configured to implement the method for handling preemption in queue management according to any one of claims 1 to 3.
CN202110131937.2A 2021-01-30 2021-01-30 Method, system, storage medium and application for crowding occupation processing in queue management Active CN112787956B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110131937.2A CN112787956B (en) 2021-01-30 2021-01-30 Method, system, storage medium and application for crowding occupation processing in queue management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110131937.2A CN112787956B (en) 2021-01-30 2021-01-30 Method, system, storage medium and application for crowding occupation processing in queue management

Publications (2)

Publication Number Publication Date
CN112787956A CN112787956A (en) 2021-05-11
CN112787956B true CN112787956B (en) 2022-07-08

Family

ID=75760087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110131937.2A Active CN112787956B (en) 2021-01-30 2021-01-30 Method, system, storage medium and application for crowding occupation processing in queue management

Country Status (1)

Country Link
CN (1) CN112787956B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401235B (en) * 2021-12-15 2024-03-08 西安电子科技大学 Method, system, medium, equipment and application for processing heavy load in queue management
CN115396384B (en) * 2022-07-28 2023-11-28 广东技术师范大学 Data packet scheduling method, system and storage medium
CN116233200B (en) * 2023-05-10 2023-08-15 浙江正泰仪器仪表有限责任公司 Electric energy meter communication method and system based on subsequent frame dynamic registration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789729A (en) * 2016-12-13 2017-05-31 华为技术有限公司 Buffer memory management method and device in a kind of network equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8718067B2 (en) * 2004-11-24 2014-05-06 Lantiq Deutschland Gmbh Pre-emption mechanism for packet transport
CN101848149B (en) * 2010-04-22 2013-10-23 北京航空航天大学 Method and device for hierarchical queue scheduling in packet network
CN102571188A (en) * 2012-02-21 2012-07-11 西安电子科技大学 Signaling processing method and system for satellite communication network with satellite switch capability
CN106130930B (en) * 2016-06-24 2019-04-19 西安电子科技大学 Device and method for pre-queuing processing of data frame
CN108462650B (en) * 2016-12-12 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 Output unit based on TTE switch
US11171891B2 (en) * 2019-07-19 2021-11-09 Ciena Corporation Congestion drop decisions in packet queues
CN110493145B (en) * 2019-08-01 2022-06-24 新华三大数据技术有限公司 Caching method and device
CN111400206B (en) * 2020-03-13 2023-03-24 西安电子科技大学 Cache management method based on dynamic virtual threshold

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789729A (en) * 2016-12-13 2017-05-31 华为技术有限公司 Buffer memory management method and device in a kind of network equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
带挤占的星载交换机中队列管理器的FPGA设计;王孟磊等;《军事通信技术》;20120925(第03期);全文 *

Also Published As

Publication number Publication date
CN112787956A (en) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112787956B (en) Method, system, storage medium and application for crowding occupation processing in queue management
US11082366B2 (en) Method and apparatus for using multiple linked memory lists
US7260104B2 (en) Deferred queuing in a buffered switch
US7433363B2 (en) Low latency switch architecture for high-performance packet-switched networks
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
US8149708B2 (en) Dynamically switching streams of packets among dedicated and shared queues
US8761204B2 (en) Packet assembly module for multi-core, multi-thread network processors
US8699491B2 (en) Network element with shared buffers
US20060031643A1 (en) Implementing FIFOs in shared memory using linked lists and interleaved linked lists
JP2005510893A (en) Manipulating data streams in a data stream processor
US10567273B2 (en) Method and apparatus for bypass routing of multicast data packets and avoiding replication to reduce overall switch latency
US8223788B1 (en) Method and system for queuing descriptors
US11470016B1 (en) Efficient buffer utilization for network data units
US20040218592A1 (en) Method and apparatus for fast contention-free, buffer management in a multi-lane communication system
US8599694B2 (en) Cell copy count
US12184556B2 (en) Flow control method
US7609693B2 (en) Multicast packet queuing
CN118316888B (en) Message order-preserving transmission method, chip and electronic equipment
CN106850457B (en) Cache sharing method and device
US7822051B1 (en) Method and system for transmitting packets
US20020176424A1 (en) System and method for switching asynchronous transfer mode cells
US10164906B1 (en) Scalable switch fabric cell reordering
CN114401235B (en) Method, system, medium, equipment and application for processing heavy load in queue management
CN116366573A (en) Queue management and calling method, network card device and storage medium
US7590056B2 (en) Processor configured for efficient processing of single-cell protocol data units

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