CN111355673A - 一种数据处理方法、装置、设备及存储介质 - Google Patents

一种数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111355673A
CN111355673A CN201811585237.5A CN201811585237A CN111355673A CN 111355673 A CN111355673 A CN 111355673A CN 201811585237 A CN201811585237 A CN 201811585237A CN 111355673 A CN111355673 A CN 111355673A
Authority
CN
China
Prior art keywords
cached
queue
priority
buffered
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811585237.5A
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.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips 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 Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201811585237.5A priority Critical patent/CN111355673A/zh
Priority to PCT/CN2019/112792 priority patent/WO2020134425A1/zh
Publication of CN111355673A publication Critical patent/CN111355673A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • 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
    • 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/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

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

Abstract

本申请实施例提供一种数据处理方法、装置、设备及存储介质,其中,所述方法包括:服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;将所述待缓存数据包缓存至所述目标缓存队列中。

Description

一种数据处理方法、装置、设备及存储介质
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种数据处理方法、装置、设备及存储介质。
背景技术
在目前的网络通讯中,往往存在多种服务级别的通讯需求,为了保证及时性高的通讯需求,一般采用优先级队列的方式处理报文的存储与转发。
在这些转发方案里,为每个服务优先级提供一个缓存空间。报文到达时,首先通过解析报文的特征字段分辨报文所属的服务级别,将报文映射到相应的服务优先级上,然后查询报文所属优先级的队列缓存情况,如果相应优先级缓存占用量过大,则丢弃该报文,否则将报文写入相应优先级队列缓存。在各优先级队列缓存的分配上,一般采取各队列独立分配缓存的方式,根据各队列分配缓存的总深度和实际缓存总量的关系进行缓存分配。
但是,现有技术的方案会出现缓存闲置和高优先级缓存被占用的问题。
发明内容
有鉴于此,本申请实施例提供一种数据处理方法、装置、设备及存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种数据处理方法,所述方法包括:
服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;
根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;
将所述待缓存数据包缓存至所述目标缓存队列中。
在其他实施例中,每一所述待缓存队列具有预设的优先级;对应地,所述服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合,包括:
所述服务器比较每一所述待缓存队列的优先级与所述待缓存数据包的优先级的高低;
将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合。
在其他实施例中,所述根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列,包括:
针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中;
针对所述待缓存队列集合中的每一待缓存队列,如果确定结果为允许时,从所述待缓存队列集合中,将与所述待缓存数据包的优先级相同的待缓存队列,确定为所述目标缓存队列。
在其他实施例中,所述待缓存队列的属性信息包括待缓存队列中的以下至少之一:已缓存数据包的数量和已缓存数据包的内存空间,对应地,与所述属性信息对应的预设阈值包括以下至少之一:数量阈值和内存空间阈值;
对应地,所述针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中,包括:
针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的数量,小于等于对应待缓存队列的所述数量阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中;
和/或,
针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的内存空间,小于等于对应待缓存队列的所述内存空间阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中;
在其他实施例中,所述方法还包括:
当所述已缓存数据包流出所述待缓存队列时,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级;
将优先级大于所述缓存优先级的待缓存队列的属性信息,确定为目标属性信息;
更新所述目标属性信息。
在其他实施例中,所述方法还包括:
如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值,则丢弃所述待缓存数据包;
和/或,
如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值,则丢弃所述待缓存数据包。
第二方面,本申请实施例提供一种数据处理装置,所述装置包括:
第一确定单元,用于根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;
第二确定单元,用于根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;
缓存单元,用于将所述待缓存数据包缓存至所述目标缓存队列中。
第三方面,本申请实施例提供一种数据处理设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
所述可执行指令配置为执行上述数据处理方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述数据处理方法。
本申请实施例提供一种数据处理方法、装置、设备及存储介质,其中,所述方法包括:服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;将所述待缓存数据包缓存至所述目标缓存队列中。这样,由于是根据每一待缓存队列的属性信息和所述待缓存数据包的优先级,确定目标缓存队列,因此,可以实现分优先级进行缓存队列抢占的目的,从而能够解决队列缓存分配中缓存闲置的问题和高优先级缓存被占用的问题。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本申请实施例一所提供的数据处理方法的实现流程示意图;
图2为本申请实施例二所提供的数据处理方法的实现流程示意图;
图3为本申请实施例三所提供的数据处理方法的实现流程示意图;
图4为本申请实施例四所提供的数据处理方法的实现流程示意图;
图5为本申请实施例各优先级可占用的缓存空间关系示意图;
图6为本申请实施例所提供的数据处理装置的组成结构示意图;
图7为本申请实施例所提供的数据处理方法的实现流程示意图;
图8为本申请实施例所提供的数据处理方法中报文读出过程的实现流程示意图;
图9为本申请实施例所提供的数据处理装置的组成结构示意图;
图10为本申请实施例所提供的数据处理设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
在目前的网络通讯中,往往存在多种服务级别的通讯需求,如语音通话、视频通话、网络浏览、文件传输等,有的通讯需求对数据包和报文转发的及时性要求较高,如视频通话;有的通讯需求对数据包和报文转发的及时性要求较低,如网络浏览。但从路由转发的角度看,所有的通讯报文都是混杂进入路由器等待处理的,因此为了保证及时性高的通讯需求,一般采用优先级队列的方式处理报文的存储与转发。
在这些转发方案里,为每个服务优先级提供一个缓存空间。报文到达时,首先通过解析报文的特征字段分辨报文所属的服务级别,将报文映射到相应的服务优先级上,然后查询报文所属优先级的队列缓存情况,如果相应优先级缓存占用量过大,则丢弃该报文,否则将报文写入相应优先级队列缓存。当输出端口空闲时,根据优先级队列的服务等级,选取具有报文的最高优先级队列,优先出队。当高优先级队列入队带宽小于端口带宽时,高优先级队列将得到最及时的服务,保证高优先级队列的低延时需求。
在各优先级队列缓存的分配上,一般采取各队列独立分配缓存的方式,即,各个优先级队列可占用的缓存最大值之和,不超过***缓存最大值。这样当低优先级队列无法获得输出带宽导致缓存被占用时,不会影响其他优先级队列的报文入队和出队。
但是,当路由器输入没有高优先级报文时,就会浪费一部分缓存能力。例如,缓存分配中的互斥配置方式,某路由器设置了4个优先级队列,并为每个队列设置最大缓存深度T,且T*4<总缓存AT。则假如某段时间仅存在两个较低优先级的报文进入路由器,则将有一半深度的缓存被闲置浪费。由于输入流量是可能随时变化的,因此无法通过调整预设的最大缓存深度来解决这个问题。
如果将各个队列的总深度设置为大于总缓存深度,则可以有效避免过多缓存被闲置浪费的问题。例如,缓存分配中的抢占配置方式,某路由器设置了4个优先级队列,并为每个队列设置最大缓存深度T<总缓存AT,且T*4>总缓存AT。则当某段时间仅存在两个较低优先级报文进入路由器时,被浪费的缓存将小于一半深度。但是,假如2T>AT,且此时输入带宽大于输出带宽,总缓存将被这两个较低优先级报文耗尽。假如此时高优先级报文恢复流量,则会发生此高优先级报文无法占用缓存,导致高优先级报文被丢弃的问题。
由此可见,相关技术中的互斥配置方式存在缓存闲置的问题,抢占配置方式存在高优先级缓存被占用的问题。
基于相关技术中所存在的上述问题,本申请实施例提供一种数据处理方法,目的在于通过分优先级抢占,在为高优先级队列预留缓存的同时,为低优先级提供更大的缓存占用机会,同时解决传统队列缓存分配中互斥配置方式缓存闲置的问题和抢占配置方式高优先级缓存被占用的问题。通过所述数据处理方法,可以更加有效的利用设备内部的缓存,并达到分优先级服务的效果。
图1为本申请实施例一所提供的数据处理方法的实现流程示意图,如图1所示,该方法包括:
步骤S101,服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合。
这里,所述服务器可以为交换网络***或者路由***中的网络服务器,所述服务器可以通过路由器接收终端发送的待缓存数据包。所述待缓存数据包可以是终端以数据包的形式发送的,也可以是终端以数据报文的形式发送的。
当服务器接收到所述待缓存数据包之后,对所述待缓存数据包进行特征分析,确定与所述待缓存数据包的特征对应的优先级。举例来说,视频通话的优先级高于网络浏览的优先级,假设优先级最高对应的优先级等级为0,那么,可以将视频通话的优先级等级设置为0。因此,当服务器接收到视频通话的数据包时,进行特征分析后得到与视频通话对应的优先级等级为0。
需要说明的是,本实施例中,可以认为优先级等级0大于(即高于)优先级等级1,优先级等级1大于优先级等级2,优先级等级2大于优先级等级3……
当服务器确定了待缓存数据包的优先级之后,服务器根据待缓存数据包的优先级确定待缓存队列集合。
本实施例中,所述待缓存队列集合中包括至少一个待缓存队列,所述待缓存队列用于缓存数据包,例如所述待缓存数据包。所述待缓存队列中可以已经缓存有数据包,也可以为未缓存任何数据包的空队列。
在本申请一实施例中,服务器预先将数据处理***的缓存空间划分成预设数目的待缓存队列,每一待缓存队列用于缓存满足一定条件的数据包。举例来说,可以将缓存空间划分成预设数据的缓存不同优先级数据包的待缓存队列,即,优先级等级为0的视频通话对应一个待缓存队列;优先级等级为4的网络浏览对应另一个待缓存队列。
本实施例中,在确定了待缓存数据包的优先级之后,可以在缓存空间中的全部待缓存队列中,确定至少一个满足预设条件的待缓存队列,形成所述待缓存队列集合。其中,所述预设条件可以为优先级大于等于所述待缓存数据包的优先级。
步骤S102,根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列。
这里,所述待缓存队列的属性信息包括以下至少之一:待缓存队列中的已缓存数据包的数量、待缓存队列中的已缓存数据包的内存空间。其中,所述已缓存数据包的数量可以是根据数据包分片个数、数据包的包个数为计量单位统计的;所述已缓存数据包的内存空间可以是根据比特、字节等为计量单元统计的。
本实施例中,在确定目标缓存队列之前,需要先根据每一待缓存队列的属性信息和所述待缓存数据包的优先级,确定该待缓存数据包是否被允许缓存至待缓存队列集合中的某一待缓存队列中。如果允许,再将所述待缓存数据包缓存至目标缓存队列中。所述目标缓存队列是从所述待缓存队列集合中选择的一个待缓存队列。这样,对于待缓存数据包,只有满足条件才能被缓存至目标缓存队列,因而可以避免高优先级缓存被占用。
步骤S103,将所述待缓存数据包缓存至所述目标缓存队列中。
这里,当确定待缓存数据包允许被缓存至待缓存队列集合中的目标缓存队列中时,将所述待缓存数据包缓存至所述目标缓存队列中,以保证所述待缓存数据包能够被有效传输。
本申请实施例提供的数据处理方法,服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;将所述待缓存数据包缓存至所述目标缓存队列中。这样,由于是根据每一待缓存队列的属性信息和所述待缓存数据包的优先级,确定目标缓存队列,因此,可以实现分优先级进行缓存队列抢占的目的,从而能够解决队列缓存分配中缓存闲置的问题和高优先级缓存被占用的问题。
图2为本申请实施例二所提供的数据处理方法的实现流程示意图,如图2所示,该方法包括:
步骤S201,服务器比较每一待缓存队列的优先级与待缓存数据包的优先级的高低。
这里,每一所述待缓存队列具有预设的优先级。举例来说,可以将缓存空间划分为多个待缓存队列,每一待缓存队列用于缓存不同的数据包,例如,视频通话数据包、文件传输数据包、网络浏览数据包等。用于缓存视频通话数据包的待缓存队列,相对于用于缓存网络浏览数据包的待缓存队列具有较高的优先级。每一待缓存队列的优先级固定。
本实施例中,服务器在接收到待缓存数据包之后,是将待缓存数据包的优先级与***中的全部待缓存队列的优先级进行比较。
步骤S202,将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合。
这里,在将待缓存数据包的优先级与***中的全部待缓存队列的优先级进行比较之后,选择优先级大于等于待缓存数据包的优先级的待缓存队列形成所述待缓存队列集合,也就是说,在所述待缓存队列集合中,是包含有至少一个待缓存队列,且所述待缓存队列集合中的全部待缓存队列的优先级是大于等于待缓存数据包的优先级的。
步骤S203,根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列。
这里,在确定目标缓存队列之前,需要先根据每一待缓存队列的属性信息和所述待缓存数据包的优先级,确定该待缓存数据包是否被允许缓存至待缓存队列集合中的某一待缓存队列中。如果允许,再将所述待缓存数据包缓存至目标缓存队列中。所述目标缓存队列是从所述待缓存队列集合中选择的一个待缓存队列。这样,对于待缓存数据包,只有满足条件才能被缓存至目标缓存队列,因而可以避免高优先级缓存被占用。
步骤S204,将所述待缓存数据包缓存至所述目标缓存队列中。
这里,当确定待缓存数据包允许被缓存至待缓存队列集合中的目标缓存队列中时,将所述待缓存数据包缓存至所述目标缓存队列中,以保证所述待缓存数据包能够被有效传输。
本申请实施例提供的数据处理方法,服务器比较每一待缓存队列的优先级与待缓存数据包的优先级的高低;将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合;根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;将所述待缓存数据包缓存至所述目标缓存队列中。这样,由于是根据每一待缓存队列的属性信息和所述待缓存数据包的优先级,确定目标缓存队列,因此,可以实现分优先级进行缓存队列抢占的目的,从而能够解决队列缓存分配中缓存闲置的问题和高优先级缓存被占用的问题。
图3为本申请实施例三所提供的数据处理方法的实现流程示意图,如图3所示,该方法包括:
步骤S301,服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合。
这里,待缓存队列集合具有至少一个待缓存队列,每一所述待缓存队列具有预设的优先级。举例来说,可以将缓存空间划分为多个待缓存队列,每一待缓存队列用于缓存不同的数据包。
本实施例中,可以将待缓存数据包的优先级与***中的全部待缓存队列的优先级进行比较,然后选择优先级大于等于待缓存数据包的优先级的待缓存队列形成所述待缓存队列集合。
步骤S302,针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中。
这里,所述待缓存队列的属性信息包括以下至少之一:待缓存队列中的已缓存数据包的数量、待缓存队列中的已缓存数据包的内存空间。对应地,与所述属性信息对应的预设阈值包括以下至少之一:数量阈值、内存空间阈值。
那么,本实施例中步骤S302的过程,包括以下三种实现方式:
方式一:当所述待缓存队列的属性信息为待缓存队列中的已缓存数据包的数量,与所述属性信息对应的预设阈值为数量阈值时;所述针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中,包括:针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的数量,小于等于对应待缓存队列的所述数量阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中。
方式二:当所述待缓存队列的属性信息为待缓存队列中的已缓存数据包的内存空间,与所述属性信息对应的预设阈值为内存空间阈值时;所述针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中,包括:针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的内存空间,小于等于对应待缓存队列的所述内存空间阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中。
方式三:当所述待缓存队列的属性信息为待缓存队列中的已缓存数据包的数量和已缓存数据包的内存空间,与所述属性信息对应的预设阈值为数量阈值和内存空间阈值时;所述针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中,包括:针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的已缓存数据包的数量和已缓存数据包的内存空间,均小于等于对应待缓存队列的数量阈值和内存空间阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中。
本实施例中,所述待缓存队列的属性信息中的已缓存数据包的数量可以是根据数据包分片个数、数据包的包个数为计量单位统计的;所述已缓存数据包的内存空间可以是根据比特、字节等为计量单元统计的。
本实施例中,与所述属性信息对应的预设阈值是根据对应待缓存队列的优先级确定的,也就是说,每一待缓存队列对应一个预设阈值,且每一待缓存队列的预设阈值不同。当某一待缓存队列的优先级高于其他待缓存队列的优先级时,该待缓存队列的预设阈值也大于其他待缓存队列的预设阈值。
举例来说,可以根据所述待缓存队列集合中的第N个待缓存队列的所述预设优先级,确定与所述第N个缓存队列对应的预设阈值;其中,如果所述第N个待缓存队列的预设优先级高于第M个待缓存队列的预设优先级,则所述第N个缓存队列对应的预设阈值大于所述第M个待缓存队列对应的预设阈值。
需要说明的是,本实施例中,是将待缓存队列集合中的全部待缓存队列的属性信息与对应的预设阈值进行比较,只有全部待缓存队列的属性信息与对应的预设阈值之间满足上述三种方式中的任意一种时,才能确定允许将所述待缓存数据包缓存至对应的待缓存队列中,否则,禁止将所述待缓存数据包缓存至对应的待缓存队列中。
步骤S303,针对所述待缓存队列集合中的每一待缓存队列,如果确定结果为允许时,从所述待缓存队列集合中,将与所述待缓存数据包的优先级相同的待缓存队列,确定为所述目标缓存队列。
这里,所述目标缓存队列的优先级与所述待缓存数据包的优先级相同。由于所述待缓存队列集合是根据优先级大于等于所述待缓存数据包的优先级的待缓存队列确定的。那么,也就是说,与所述待缓存数据包的优先级相同的目标缓存队列,是所述待缓存队列集合中具有最低优先级的待缓存队列。
因此,步骤S303还可以通过以下步骤实现:
步骤S3031,针对所述待缓存队列集合中的每一待缓存队列,如果确定结果为允许时,从所述待缓存队列集合中,将具有最低优先级的待缓存队列,确定为所述目标缓存队列。
在其他实施例中,所述方法还包括以下步骤:
步骤S310,如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值,则丢弃所述数据包;和/或,如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值,则丢弃所述数据包。
这里,确定丢弃所述待缓存数据包的情况包括以下三种:
第一种,判断在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值。
第二种,判断在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值。
第三种,判断在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值,并且,在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值。
步骤S304,将所述待缓存数据包缓存至所述目标缓存队列中。
这里,当确定待缓存数据包允许被缓存至待缓存队列集合中的目标缓存队列中时,将所述待缓存数据包缓存至所述目标缓存队列中,以保证所述待缓存数据包能够被有效传输。
本申请实施例提供的数据处理方法,针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中。这样,由于是通过对每一待缓存队列的属性信息和对应的预设阈值进行判断,确定是否允许待缓存数据包进入待缓存队列,只有在允许的情况下,才确定目标缓存队列并缓存待缓存数据包,因此,可以实现分优先级进行缓存队列抢占的目的,从而能够解决队列缓存分配中缓存闲置的问题和高优先级缓存被占用的问题。
图4为本申请实施例四所提供的数据处理方法的实现流程示意图,如图4所示,该方法包括:
步骤S401,服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合。
步骤S402,根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列。
步骤S403,将所述待缓存数据包缓存至所述目标缓存队列中。
需要说明的是,步骤S401至步骤S403与上述步骤S101至步骤S103相同,本实施例不再赘述。
步骤S404,当所述已缓存数据包流出所述待缓存队列时,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级。
这里,已缓存数据包流出所述待缓存队列时,可以为***中的任意一个待缓存队列中的已缓存数据包流出,也就是说,所述待缓存队列可以为所述待缓存队列集合中的待缓存队列,也可以不是所述待缓存队列集合中的待缓存队列,只要是当前数据处理***中的任意一个待缓存队列中存在已缓存数据包流出时,均执行步骤S404的动作,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级。即,确定缓存该流出的待缓存数据包的待缓存队列的优先级,将该优先级确定为所述缓存优先级。
步骤S405,将优先级大于所述缓存优先级的待缓存队列的属性信息,确定为目标属性信息。
这里,首先,比较***中的全部待缓存队列的优先级,与所述缓存优先级的大小;然后,将优先级大于所述缓存优先级的待缓存队列的属性信息确定为目标属性信息。
步骤S406,更新所述目标属性信息。
本实施例中,更新优先级大于所述缓存优先级的待缓存队列的属性信息,包括以下三种情况:
情况一:当流出所述待缓存队列的已缓存数据包是以数量为统计基础所统计的,则更新待缓存队列中的已缓存数据包的数量。
情况二:当流出所述待缓存队列的已缓存数据包是以内存空间大小为统计基础所统计的,则更新待缓存队列中的已缓存数据包的内存空间。
情况三:当流出所述待缓存队列的已缓存数据包是以数量和内存空间大小为统计基础所统计的,则更新待缓存队列中的已缓存数据包的数量和内存空间。
需要说明的是,本实施例中,当存在已缓存数据包流出待缓存队列时,是对于优先级高于所流出的待缓存队列的全部待缓存队列的属性信息进行更新。
本申请实施例提供的数据处理方法,当所述已缓存数据包流出所述待缓存队列时,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级,将优先级大于所述缓存优先级的待缓存队列的属性信息,确定为目标属性信息,更新所述目标属性信息。这样,可以保证在有数据包流出待缓存队列时,及时对待缓存队列的属性信息进行更新,以保证后续进入队列的待缓存数据包能够被有效缓存。
基于上述实施例,本申请实施例再提供一种数据处理方法,通过分优先级抢占的方法,在为高优先级队列预留缓存的同时,为低优先级提供更大的缓存占用机会,同时解决传统队列缓存分配中互斥配置方式缓存闲置的问题和抢占配置方式高优先级缓存被占用的问题。通过这种方法,可以更加有效的利用设备内部的缓存,并达到分优先级服务的效果。
以下对本实施例的方法进行详细解释。
本实施例中,首先,为n个具有优先级关系的队列(对应上述待缓存队列)编号为0~n-1,其中最高优先级队列编号为0,次高优先级队列编号为1,再次高优先级队列编号为2……以此类推,最低优先级队列编号为n-1。
为每个队列设置一个计数器cntx(x=0~n-1),记录该队列已占用的缓存深度(对应上述属性信息)。计数器可以以比特、字节、分片个数、包个数等各种缓存计量单位为单位。
为每个队列设置一个丢弃阈值Tx(x=0~n-1),丢弃阈值(对应上述预设阈值)的设置遵循以下关系:T0>T1>……>Tn-1。即,高优先级队列的丢弃阈值需要大于低优先级队列的丢弃阈值。
当一个报文(对应上述待缓存数据包)到达时,假如该报文所属优先级为i,判断所有x≤i(x=0~n-1)的计数器和丢弃阈值,如果cntx<Tx(x=0~n-1,x≤i),则该报文可以进入缓存,否则丢弃该报文。
需要说明的是,以上表达式内小于号也可更改为小于等于号,即,在其他实施例中,上述cntx<Tx也可以为cntx≤Tx
假如判断结果表示报文可以进入队列缓存,则将所有x≤i(x=0~n-1)的计数器根据计数器单位和报文长度做相应增加。例如,报文是以比特为单位,则按照报文比特数增加;报文是以字节为单位,则按照报文字节数增加。
当某一报文(假设该报文优先级为j)从缓存中读出,释放缓存时,同样按进入缓存的规则,将所有满足x≤j(x=0~n-1)的计数器根据计数器单位和报文长度做相应减少。
以上方案使高优先级报文可以占用低优先级报文的缓存空间,但低优先级报文无法占用高优先级的缓存空间,使用以上方案各优先级可占用的缓存空间关系如图5所示的各优先级可占用的缓存空间关系示意图。
如图5所示,每个优先级的报文最大可以占用Tx(x=0~n-1)的缓存空间,任意一个优先级队列都可以在其他一部分优先级流量缺失的情况下更多的占用缓存空间。同时,当较低优先级队列拥塞时,高优先级队列仍有更多的空间供其占用,不会出现低优先级队列耗空缓存导致高优先级报文丢包的情况发生。
图6为本申请实施例所提供的数据处理装置的组成结构示意图,如图6所示,所述数据处理装置包括:
队列深度计数器模块601,用于为每个队列优先级维护相应的缓存占用深度计数器
入队判断模块602,用于当一个报文到达时,假如该报文所属优先级为i,判断所有x≤i(x=0~n-1)的计数器和丢弃阈值,如果cntx<Tx(x=0~n-1,x≤i),则该报文可以进入缓存,否则丢弃该报文。根据设计需要,以上表达式内小于号也可更改为小于等于号。
入队深度计算模块603,用于假如报文判断可以进入缓存,则将所有x≤i(x=0~n-1)的计数器根据计数器单位和报文长度做相应增加。
出队深度计算模块604,用于假如优先级为j的报文需要读出缓存,则将所有x≤j(x=0~n-1)的计数器根据计数器单位和报文长度做相应减少。
本申请实施例提供一种数据处理方法,该方法可以使用滑窗实现的队列轮询装置运行,图7为本申请实施例所提供的数据处理方法的实现流程示意图,如图7所示,所述方法包括以下步骤:
步骤S701,***上电时,初始化每个队列深度计数器为0。
步骤S702,检测到有报文进入。
步骤S703,当报文进入***,根据该报文优先级i判断所有x≤i(x=0~n-1)的计数器和丢弃阈值,是否满足表达式cntx<Tx(x=0~n-1,x≤i)。
根据设计需要,以上表达式内小于号也可更改为小于等于号。
步骤S704,如果步骤S702的判断结果为是,则同意该报文入队;如果该报文入队,则将所有x≤i(x=0~n-1)的计数器根据计数器单位和报文长度做相应增加。
步骤S705,如果步骤S702的判断结果为否,丢弃该报文。
图8为本申请实施例所提供的数据处理方法中报文读出过程的实现流程示意图,如图8所示,所述方法包括以下步骤:
步骤S801,检查到有报文读出。
步骤S802,如果有报文出队,根据该报文优先级j将所有x≤j(x=0~n-1)的计数器根据计数器单位和报文长度做相应减少。
下面对本申请实施例的技术方案的实施作进一步的详细描述:
假设存在n个优先级队列,现以n=5为例详细描述,队列优先级从高到低依次为Q0、Q1、Q2、Q3、Q4。为五个优先级提供五个缓存深度计数器cnt0、cnt1、cnt2、cnt3、cnt4。深度计数器以包个数为单位为例,五个优先级的丢弃阈值分别为T0、T1、T2、T3、T4,且满足T0>T1>T2>T3>T4
当优先级为4的报文进入***时,比较以下表达式:
cnt0<T0;cnt1<T1;cnt2<T2;cnt3<T3;cnt4<T4
当以上条件全部满足时,报文判断入队,cnt0、cnt1、cnt2、cnt3、cnt4各自加一;否则丢弃该报文,计数器不变。
当优先级为3的报文进入***时,比较以下表达式:
cnt0<T0;cnt1<T1;cnt2<T2;cnt3<T3
当以上条件全部满足时,报文判断入队,cnt0、cnt1、cnt2、cnt3各自加一;否则丢弃该报文,计数器不变。
当优先级为2的报文进入***时,比较以下表达式:
cnt0<T0;cnt1<T1;cnt2<T2
当以上条件全部满足时,报文判断入队,cnt0、cnt1、cnt2各自加一;否则丢弃该报文,计数器不变。
当优先级为1的报文进入***时,比较以下表达式:
cnt0<T0;cnt1<T1
当以上条件全部满足时,报文判断入队,cnt0、cnt1各自加一;否则丢弃该报文,计数器不变。
当优先级为0的报文进入***时,比较以下表达式:cnt0<T0
当以上条件满足时,报文判断入队,cnt0加一;否则丢弃该报文,计数器不变。
当***内有报文需要出队:
当优先级为4的报文需要出队时,cnt0、cnt1、cnt2、cnt3、cnt4各自减一。
当优先级为3的报文需要出队时,cnt0、cnt1、cnt2、cnt3各自减一。
当优先级为2的报文需要出队时,cnt0、cnt1、cnt2各自减一。
当优先级为1的报文需要出队时,cnt0、cnt1各自减一。
当优先级为0的报文需要出队时,cnt0减一。
本申请实施例所提供的数据处理方法,通过分优先级抢占的方法,在为高优先级队列预留缓存的同时,为低优先级提供更大的缓存占用机会,同时解决传统队列缓存分配中互斥配置方式缓存闲置的问题和抢占配置方式高优先级缓存被占用的问题。本申请实施例的方法,每个优先级的报文最大可以占用Tx(x=0~n-1)的缓存空间,任意一个优先级队列都可以在其他一部分优先级流量缺失的情况下更多的占用缓存空间。同时,当较低优先级队列拥塞时,高优先级队列仍有更多的空间供其占用,不会出现低优先级队列耗空缓存导致高优先级报文丢包的情况发生。
基于前述的实施例,本申请实施例提供一种数据处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过数据处理设备中的处理器来实现;当然也可通过逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图9为本申请实施例所提供的数据处理装置的组成结构示意图,如图9所示,该数据处理装置900包括:
第一确定单元901,用于根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;
第二确定单元902,用于根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;
缓存单元903,用于将所述待缓存数据包缓存至所述目标缓存队列中。
在其他实施例中,每一所述待缓存队列具有预设的优先级;对应地,所述第一确定单元包括:
比较模块,用于比较每一所述待缓存队列的优先级与所述待缓存数据包的优先级的高低;
第一确定模块,用于将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合。
在其他实施例中,所述第二确定单元包括:
第二确定模块,用于针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中;
第三确定模块,用于针对所述待缓存队列集合中的每一待缓存队列,如果确定结果为允许时,从所述待缓存队列集合中,将与所述待缓存数据包的优先级相同的待缓存队列,确定为所述目标缓存队列。
在其他实施例中,所述待缓存队列的属性信息包括待缓存队列中的以下至少之一:已缓存数据包的数量和已缓存数据包的内存空间,对应地,与所述属性信息对应的预设阈值包括以下至少之一:数量阈值和内存空间阈值;
对应地,所述第二确定模块包括:
第一控制模块,用于针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的数量,小于等于对应待缓存队列的所述数量阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中;和/或,第二控制模块,用于针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的内存空间,小于等于对应待缓存队列的所述内存空间阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中;
在其他实施例中,所述装置还包括:
第三确定单元,用于当所述已缓存数据包流出所述待缓存队列时,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级;
第四确定单元,用于将优先级大于所述缓存优先级的待缓存队列的属性信息,确定为目标属性信息;
更新单元,用于更新所述目标属性信息。
在其他实施例中,所述装置还包括:
第一丢弃单元,用于如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值,则丢弃所述待缓存数据包;和/或,
第二丢弃单元,用于如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值,则丢弃所述待缓存数据包。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应的,本申请实施例提供一种数据处理设备,图10为本申请实施例所提供的数据处理设备的组成结构示意图,如图10所示,所述数据处理设备1000至少包括:处理器1001、通信接口1002和配置为存储可执行指令的存储介质1003,其中:
处理器1001通常控制所述数据处理设备1000的总体操作。
通信接口1002可以使数据处理设备通过网络与其他终端或服务器通信。
存储介质1003配置为存储由处理器1001可执行的指令和应用,还可以缓存待处理器1001以及数据处理设备1000中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;
根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;
将所述待缓存数据包缓存至所述目标缓存队列中。
2.根据权利要求1所述的方法,其特征在于,每一所述待缓存队列具有预设的优先级;对应地,所述服务器根据终端发送的待缓存数据包的优先级,确定待缓存队列集合,包括:
所述服务器比较每一所述待缓存队列的优先级与所述待缓存数据包的优先级的高低;
将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列,包括:
针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中;
针对所述待缓存队列集合中的每一待缓存队列,如果确定结果为允许时,从所述待缓存队列集合中,将与所述待缓存数据包的优先级相同的待缓存队列,确定为所述目标缓存队列。
4.根据权利要求3所述的方法,其特征在于,所述待缓存队列的属性信息包括待缓存队列中的以下至少之一:已缓存数据包的数量和已缓存数据包的内存空间,对应地,与所述属性信息对应的预设阈值包括以下至少之一:数量阈值和内存空间阈值;
对应地,所述针对所述待缓存队列集合中的每一待缓存队列,根据每一待缓存队列的属性信息,和与所述属性信息对应的预设阈值,确定是否允许将所述待缓存数据包缓存至对应的待缓存队列中,包括:
针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的数量,小于等于对应待缓存队列的所述数量阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中;
和/或,
针对所述待缓存队列集合中的每一待缓存队列,如果所述每一待缓存队列中的所述已缓存数据包的内存空间,小于等于对应待缓存队列的所述内存空间阈值,则允许将所述待缓存数据包缓存至对应的待缓存队列中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述已缓存数据包流出所述待缓存队列时,确定缓存所述已缓存数据包的待缓存队列的优先级为缓存优先级;
将优先级大于所述缓存优先级的待缓存队列的属性信息,确定为目标属性信息;
更新所述目标属性信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的数量,大于对应待缓存队列的所述数量阈值,则丢弃所述待缓存数据包;
和/或,
如果在所述待缓存队列集合中,存在至少一个待缓存队列的所述已缓存数据包的内存空间,大于对应待缓存队列的所述内存空间阈值,则丢弃所述待缓存数据包。
7.一种数据处理装置,其特征在于,所述装置包括:
第一确定单元,用于根据终端发送的待缓存数据包的优先级,确定待缓存队列集合;
第二确定单元,用于根据所述待缓存队列集合中的每一待缓存队列的属性信息和所述待缓存数据包的优先级,从所述待缓存队列集合中确定目标缓存队列;
缓存单元,用于将所述待缓存数据包缓存至所述目标缓存队列中。
8.根据权利要求7所述的装置,其特征在于,每一所述待缓存队列具有预设的优先级;对应地,所述第一确定单元包括:
比较模块,用于比较每一所述待缓存队列的优先级与所述待缓存数据包的优先级的高低;
第一确定模块,用于将优先级大于等于所述待缓存数据包的优先级的待缓存队列,确定为所述待缓存队列集合。
9.一种数据处理设备,其特征在于,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
所述可执行指令配置为执行上述权利要求1至6任一项所提供的数据处理方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述权利要求1至6任一项所提供的数据处理方法。
CN201811585237.5A 2018-12-24 2018-12-24 一种数据处理方法、装置、设备及存储介质 Pending CN111355673A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811585237.5A CN111355673A (zh) 2018-12-24 2018-12-24 一种数据处理方法、装置、设备及存储介质
PCT/CN2019/112792 WO2020134425A1 (zh) 2018-12-24 2019-10-23 一种数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811585237.5A CN111355673A (zh) 2018-12-24 2018-12-24 一种数据处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111355673A true CN111355673A (zh) 2020-06-30

Family

ID=71126853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811585237.5A Pending CN111355673A (zh) 2018-12-24 2018-12-24 一种数据处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111355673A (zh)
WO (1) WO2020134425A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202681A (zh) * 2020-09-18 2021-01-08 京信通信***(中国)有限公司 数据拥塞处理方法、装置、计算机设备和存储介质
CN113315720A (zh) * 2021-04-23 2021-08-27 深圳震有科技股份有限公司 一种数据流控制方法、***及设备
CN114979023A (zh) * 2022-07-26 2022-08-30 浙江大华技术股份有限公司 一种数据传输方法、***、电子设备及存储介质
CN115209166A (zh) * 2021-04-12 2022-10-18 北京字节跳动网络技术有限公司 一种消息发送方法、装置、设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567674B (zh) * 2022-02-25 2024-03-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及可读存储介质
CN115080468B (zh) * 2022-05-12 2024-06-14 珠海全志科技股份有限公司 一种非阻塞的信息传输方法和装置
CN115396384B (zh) * 2022-07-28 2023-11-28 广东技术师范大学 一种数据包调度方法、***及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2314444A1 (en) * 1999-08-02 2001-02-02 At&T Corp. Apparatus and method for providing a high-priority service for emergency messages on a network
CN102594691A (zh) * 2012-02-23 2012-07-18 中兴通讯股份有限公司 一种处理报文的方法及装置
CN104199790A (zh) * 2014-08-21 2014-12-10 北京奇艺世纪科技有限公司 数据处理方法及装置
CN105763481A (zh) * 2014-12-19 2016-07-13 北大方正集团有限公司 一种信息缓存方法及装置
WO2017000657A1 (zh) * 2015-06-30 2017-01-05 深圳市中兴微电子技术有限公司 一种缓存管理的方法、装置和计算机存储介质
CN108632169A (zh) * 2017-03-21 2018-10-09 中兴通讯股份有限公司 一种分片的服务质量保证方法及现场可编程逻辑门阵列

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521151A (zh) * 2011-11-28 2012-06-27 华为技术有限公司 数据缓存方法和装置
CN104079502B (zh) * 2014-06-27 2017-05-10 国家计算机网络与信息安全管理中心 一种多用户多队列调度方法
CN107450971B (zh) * 2017-06-29 2021-01-29 北京五八信息技术有限公司 任务处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2314444A1 (en) * 1999-08-02 2001-02-02 At&T Corp. Apparatus and method for providing a high-priority service for emergency messages on a network
CN102594691A (zh) * 2012-02-23 2012-07-18 中兴通讯股份有限公司 一种处理报文的方法及装置
CN104199790A (zh) * 2014-08-21 2014-12-10 北京奇艺世纪科技有限公司 数据处理方法及装置
CN105763481A (zh) * 2014-12-19 2016-07-13 北大方正集团有限公司 一种信息缓存方法及装置
WO2017000657A1 (zh) * 2015-06-30 2017-01-05 深圳市中兴微电子技术有限公司 一种缓存管理的方法、装置和计算机存储介质
CN108632169A (zh) * 2017-03-21 2018-10-09 中兴通讯股份有限公司 一种分片的服务质量保证方法及现场可编程逻辑门阵列

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202681A (zh) * 2020-09-18 2021-01-08 京信通信***(中国)有限公司 数据拥塞处理方法、装置、计算机设备和存储介质
CN112202681B (zh) * 2020-09-18 2022-07-29 京信网络***股份有限公司 数据拥塞处理方法、装置、计算机设备和存储介质
CN115209166A (zh) * 2021-04-12 2022-10-18 北京字节跳动网络技术有限公司 一种消息发送方法、装置、设备和存储介质
CN113315720A (zh) * 2021-04-23 2021-08-27 深圳震有科技股份有限公司 一种数据流控制方法、***及设备
CN114979023A (zh) * 2022-07-26 2022-08-30 浙江大华技术股份有限公司 一种数据传输方法、***、电子设备及存储介质

Also Published As

Publication number Publication date
WO2020134425A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
CN111355673A (zh) 一种数据处理方法、装置、设备及存储介质
KR100323258B1 (ko) 버퍼 관리를 통한 속도 보증
US6810426B2 (en) Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
CA2575869C (en) Hierarchal scheduler with multiple scheduling lanes
US20070070895A1 (en) Scaleable channel scheduler system and method
US7190674B2 (en) Apparatus for controlling packet output
US6795870B1 (en) Method and system for network processor scheduler
JP4447521B2 (ja) パケットスケジューラおよびパケットスケジューリング方法
EP4175232A1 (en) Congestion control method and device
WO2006104804A2 (en) Mechanism for managing access to resources in a heterogeneous data redirection device
US20120294315A1 (en) Packet buffer comprising a data section and a data description section
EP3823228A1 (en) Message processing method and apparatus, communication device, and switching circuit
EP3907944A1 (en) Congestion control measures in multi-host network adapter
JP2004242333A (ja) 高速交換環境で共有されたメモリ資源を管理するシステム、方法及び論理
EP3461085B1 (en) Method and device for queue management
CN110830388A (zh) 一种数据调度方法、装置、网络设备及计算机存储介质
US8879578B2 (en) Reducing store and forward delay in distributed systems
JP4408376B2 (ja) 交換のためにメモリに書き込まれるパケットをキューイングするシステム、方法及び論理
CN111092825B (zh) 一种传输报文的方法和装置
EP1235393B1 (en) Packet switch
JP4852138B2 (ja) 高速交換環境でマルチキャスティングするシステム、方法及び論理
CN116889024A (zh) 一种数据流传输方法、装置及网络设备
CN111277513B (zh) 一种pq队列扩容实现方法、装置、设备及存储介质
CN110661724B (zh) 一种分配缓存的方法和设备
JP2006135762A (ja) パケット伝送制御装置及びパケット伝送制御方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200630