CN113938441B - 数据缓存方法、资源配置方法、缓存器、介质及电子设备 - Google Patents
数据缓存方法、资源配置方法、缓存器、介质及电子设备 Download PDFInfo
- Publication number
- CN113938441B CN113938441B CN202111204811.XA CN202111204811A CN113938441B CN 113938441 B CN113938441 B CN 113938441B CN 202111204811 A CN202111204811 A CN 202111204811A CN 113938441 B CN113938441 B CN 113938441B
- Authority
- CN
- China
- Prior art keywords
- cache
- priority
- port
- buffer
- cache region
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000013468 resource allocation Methods 0.000 title claims abstract description 17
- 239000000872 buffer Substances 0.000 claims abstract description 124
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003139 buffering effect Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000007726 management method Methods 0.000 description 5
- 239000000306 component Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/722—Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据缓存方法、资源配置方法、缓存器、介质及电子设备。其中,数据缓存方法包括:通过电子设备的端口接收一数据流;若端口属于第一优先级端口,且端口独占的第一缓存区可用,则将数据流缓存至端口独占的第一缓存区;若端口属于第二优先级端口,且第二缓存区可用,则将数据流缓存至第二缓存区。所述数据缓存方法能够提升缓存的资源利用率。
Description
技术领域
本发明涉及数据存储领域,特别是涉及一种数据缓存方法、资源配置方法、缓存器、介质及电子设备。
背景技术
为了实现安防领域的智能化、专业化以及数据化,从而最大限度地发挥视频监控应用效能,在立体化治安防控体系中部署安防物联网已成为一种必然趋势。作为安防物联网的核心组成部分之一,网络摄像机IPC(IP camera)在安防物联网中起着相当重要的作用。具体来说,网络摄像机是一种由传统摄像机与网络技术结合所产生的新一代摄像机,在实际应用中,网络摄像机可以与路由器、交换机、网络硬盘录像机(Net Video Recorder,NVR)等设备组建成监控息系统。此外,不同应用场景中对网络摄像机的要求可能也不相同。
对于监控系统来说,由于视频的传输是一种突发方式,例如,假设网络摄像机的视频参数是1M定码率25帧每秒,那么网络摄像机会每隔40ms就把所有数据全部发完,然后空闲等待,在下一个40ms继续把所有数据发完,然后空闲等待,以此类推。实际应用中,在网络摄像机发送数据的时候有可能达到线速,这部分就是突发流量,此种突发流量可能会导致视频出现卡顿。针对这一问题,相关技术中基本都是采用将缓存容量扩大,以便吸纳所有突发流量,从而避免出现卡顿。然而,路由器等设备中的不同端口可能连接不同的网络摄像机,而不同网络摄像机的突发流量状况各不相同,相关技术中对设备的所有端口均采用相同的方式进行处理,这会导致缓存的资源利用率较低。
发明内容
鉴于以上所述相关技术的缺点,本发明的目的在于提供一种数据缓存方法、资源配置方法、缓存器、介质及电子设备,用于解决相关技术中缓存利用率低的问题。
为实现上述目的及其他相关目的,本发明的第一方面提供一种数据缓存方法,应用于一电子设备,所述电子设备包括至少一第一优先级端口和至少一第二优先级端口,所述第一优先级端口的优先级高于所述第二优先级端口,所述电子设备还具有缓存,所述缓存包括至少一第一缓存区和一第二缓存区,各所述第一优先级端口均独占一所述第一缓存区,各所述第二优先级端口共享所述第二缓存区,所述数据缓存方法包括:通过所述电子设备的端口接收一数据流;若所述端口属于所述第一优先级端口,且所述端口独占的所述第一缓存区可用,则将所述数据流缓存至所述端口独占的所述第一缓存区;若所述端口属于所述第二优先级端口,且所述第二缓存区可用,则将所述数据流缓存至所述第二缓存区。
于所述第一方面的一实施例中,所述第一优先级端口包括至少两个具有不同优先级的队列,所述第一缓存区包括至少两个第一缓存子区,各所述队列独占一所述第一缓存子区,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法包括:获取所述数据流的对应队列;若所述对应队列独占的所述第一缓存子区可用,则将所述数据流缓存至所述对应队列独占的所述第一缓存子区。
于所述第一方面的一实施例中,所述缓存还包括至少一第三缓存区,所述第三缓存区包括至少两个第三缓存子区,各所述队列占有一所述第三缓存子区,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法还包括:若所述对应队列独占的所述第一缓存子区不可用,而所述对应队列占有的所述第三缓存子区可用,则将所述数据流缓存至所述对应队列占有的所述第三缓存子区。
于所述第一方面的一实施例中,低优先级的所述队列占有的所述第三缓存子区包含于高优先级的所述队列占有的所述第三缓存子区。
于所述第一方面的一实施例中,各所述第二优先级端口完全共享所述第二缓存区;或者,各所述第二优先级端口限制共享所述第二缓存区,其中,各所述第二优先级端口在所述第二缓存区中均具有一限制空间和一阈值空间,所述限制空间为所述第二优先级端口中的队列所占用的最小空间,所述阈值空间为所述第二优先级端口所占用的最大空间,所述限制共享是指各所述第二优先级端口在所述限制空间的和所述阈值空间的限制下共享所述第二缓存区。
于所述第一方面的一实施例中,所述缓存还具有一全局空间阈值,所述数据缓存方法还包括:若所述缓存中的数据量大于或等于所述全局空间阈值,则丢弃所述数据流。
本发明的第二方面提供一种资源配置方法,所述资源配置方法包括:在缓存器中配置至少一第一缓存区,各所述第一缓存区支持被一第一优先级端口所独占;在缓存器中配置一第二缓存区,所述第二缓存区支持被两个或多个第二优先级端口所共享,其中,所述第一优先级端口的优先级高于所述第二优先级端口。
本发明的第三方面提供一种缓存器,所述缓存器包括至少一第一缓存区和一第二缓存区,其中:各所述第一缓存区支持被一第一优先级端口所独占,所述第二缓存区支持被两个或多个第二优先级端口所共享,所述第一优先级端口的优先级高于所述第二优先级端口。
本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面任一项所述的数据缓存方法,和/或本发明第二方面所述的资源配置方法。
本发明的第五方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本发明第一方面任一项所述的数据缓存方法,和/或本发明第二方面所述的资源配置方法。
如上所述,本发明一个或多个实施例中所述的数据缓存方法具有以下有益效果:
所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本发明所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。
附图说明
图1显示为本发明实施例中所述数据缓存方法的流程图。
图2A显示为本发明实施例中所述数据缓存方法的步骤S12的详细流程图。
图2B显示为本发明实施例中第三缓存区的分区示意图。
图3A显示为本发明实施例中缓存的分区示意图。
图3B显示为本发明实施例中对缓存进行配置的流程图。
图3C显示为本发明实施例中所述数据缓存方法的流程图。
图4A显示为本发明实施例中缓存的分区示意图。
图4B显示为本发明实施例中对缓存进行配置的流程图。
图4C显示为本发明实施例中所述数据缓存方法的流程图。
图5显示为本发明实施例中所述电子设备的结构示意图。
元件标号说明
50 电子设备
510 存储器
520 处理器
530 显示器
S11~S13 步骤
S121~S122 步骤
S31~S36 步骤
S41~S47 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。此外,在本文中,诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
路由器等设备中的不同端口可能连接不同的网络摄像机,而不同网络摄像机的突发流量状况各不相同,相关技术中对设备的所有端口均采用相同的方式进行处理,这会导致缓存的资源利用率较低。针对这一问题,于本发明的一实施例中提供一种数据缓存方法,所述数据缓存方法应用于一电子设备,所述电子设备例如为路由器。所述电子设备包括至少一第一优先级端口和至少一第二优先级端口,所述第一优先级端口和所述第二优先级端口例如为所述电子设备中芯片对接的端口,且所述第一优先级端口的优先级高于所述第二优先级端口。其中,端口的优先级可以根据其业务范围确定,高优先级端口的突发更加频繁且流量更大,而低优先级端口的突发则相对稀疏且流量较小,在某种程度上可以忽略。此外,所述电子设备还具有缓存,所述缓存包括至少一第一缓存区和一第二缓存区,各所述第一优先级端口均独占一所述第一缓存区,各所述第二优先级端口共享所述第二缓存区。
具体地,请参阅图1,本实施例中所述数据缓存方法包括:
S11,通过所述电子设备的端口接收一数据流。所述数据流例如为网络摄像机所产生的数据流,且所述数据流中会持续或者间歇性地出现突发流量。
S12,若所述端口属于所述第一优先级端口,且所述端口独占的所述第一缓存区可用,则将所述数据流缓存至所述端口独占的所述第一缓存区。其中,所述第一缓存区可用是指所述第一缓存区中有足够的空间来缓存所述数据流。
S13,若所述端口属于所述第二优先级端口,且所述第二缓存区可用,则将所述数据流缓存至所述第二缓存区。其中,所述第二缓存区可用是指所述第二缓存区中有足够的空间来缓存所述数据流。
根据以上描述可知,本实施例所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本实施例所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。
于本发明的一实施例中,所述数据缓存方法还包括:在所述电子设备上电以后、运行之前,根据缓存总量配置所述第一优先级端口的独享空间,也即,各所述第一优先级端口所独占的所述第一缓存区。该独享空闲只用于缓存第一优先级端口的数据流,来自其他优先级的端口的数据流不被允许进入。
于本发明的一实施例中,所述第一优先级端口包括至少两个具有不同优先级的队列。特别地,所述队列的数量为4个。并且,所述第一缓存区包括至少两个第一缓存子区,各所述队列独占一所述第一缓存子区。基于此,请参阅图2A,本实施例中将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法包括:
S121,获取所述数据流的对应队列,其中,所述对应队列是指所述数据流所流入的队列,也即,所述第一优先级端口中用于存放所述数据流的队列。
S122,若所述对应队列独占的所述第一缓存子区可用,则将所述数据流缓存至所述对应队列独占的所述第一缓存子区。其中,所述第一缓存子区可用是指所述第一缓存子区中有足够的空间来缓存所述数据流。
优选地,本实施例中所述队列独占的所述第一缓存子区的尺寸与所述队列的优先级正相关,也即,所述队列的优先级越高,其独占的所述第一缓存子区越大。此种方式能够保证第一优先级端口中优先级最高的队列享有最大的独享空间,进而保证了突发场景中最易突发的端口的线速流量。同时,此种方式还能够保证所述第一优先级端口中的其余队列也能够享有一定的独享空间。其中,某一队列的独享空间对于同一个第一优先级端口中的其他队列都不能够占用。
优选地,本实施例中所述缓存还包括至少一第三缓存区,所述第三缓存区包括至少两个第三缓存子区,各所述队列占有一所述第三缓存子区。需要说明的是,各所述队列可以独占所述第三缓存子区,也可以采用其他方式,例如完全共享方式或部分共享方式,来占有所述第三缓存子区,本发明对此不做限制。具体地,每个所述第一优先级端口均对应一所述第三缓存区,每一第三缓存区会根据所述第一优先级端口中所述队列的数量被划分成对应数量的第三缓存子区。此时,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法还包括:若所述对应队列独占的所述第一缓存子区不可用,而所述对应队列占有的所述第三缓存子区可用,则将所述数据流缓存至所述对应队列占有的所述第三缓存子区。通过此种方式能够保证所述第一优先级端口在使用完独享空间(也即,所述第一优先级端口独占的所述第一缓存区)后,仍然可以占用贪婪空间(也即,所述第三缓存区中的空间)。
进一步优选地,本实施例中低优先级的所述队列占有的所述第三缓存子区包含于高优先级的所述队列占有的所述第三缓存子区,此时,优先级最高的所述队列享有最大的第三缓存子区,优先级最低的所述队列享有最小的第三缓存子区。此时,各所述队列可以共享所述第三缓存区中的部分或全部空间。
可选地,本实施例中每个队列均对应一阈值,所述阈值的大小与其对应的所述阵列的优先级正相关,也即,所述阵列的优先级越高,其对应的所述阈值的数值越大。例如,请参阅图2B,其中,四个阈值的关系为a>b>c>d>0,a为优先级最高的0号队列的缓存空间最大值,b为优先级次高的1号队列的缓存空间最大值,c为优先级第三高的2号队列的缓存空间最大值,d为优先级最低的3号队列的缓存空间的最大值,也即,0-a的缓存空间为0号队列占有的所述第三缓存子区域,0-b的缓存空间为1号队列占有的所述第三缓存子区域,0-c的缓存空间为2号队列占有的所述第三缓存子区域,0-d的缓存空间为1号队列占有的所述第三缓存子区域。此时:
当该端口A只有3号队列的数据流时,那么3号队列最多只能占用0-d的缓存空间,当资源管理系统检查到3号队列又有数据流来临、且此时3号队列的资源已经到达了d的阈值线时,将会判断该新来的数据流为丢弃。
当该端口A只有0号队列的数据流时,那么0号队列最多只能占用0-a的缓存空间,当资源管理系统检查到0号队列又有数据流来临、且此时0号队列的资源已经到达了a的阈值线时,将会判断该新来的数据流为丢弃。
当该端口A不仅有3号队列还有0号队列的数据流时,那么3号队列最多只能占用0-d的缓存空间,而此时0号队列最多能占用a-d的缓存空间。进一步可知,尽管该端口A中仅有0号队列时0号队列可以占满整个缓存空间,但如果所述第三缓存区中有1到3号队列的数据流时,0号队列最多能占用的缓存空间量为:a-(1到3号队列占用的空间量)。
此种方式既保证了第一优先级端口中不同优先级队列的独享空间,从而保证网络摄像机场景中的高优先级端口能够正常进行数据通信,同时又保证了在某些队列突发的情况下,仍然可以弹性占用到临时的第三缓存区空间,等到突发结束时,第三缓存区中的空间也会被释放出来给其余的队列使用。
由于所述第二优先级端口相对于所述第一优先级端口来说,其突发流量的情况会少很多,因此,于本发明的一实施例中,各所述第二优先级端口可以采用共享模式或限制模式来共享所述第二缓存区。
可选地,在所述共享模式中,各所述第二优先级端口完全共享所述第二缓存区,其中,所述第二缓存区通常为一份很大的缓存资源,以供各所述第二优先级端口及其中的队列共享使用。
可选地,所述第二缓存区的空间量=所述缓存的总缓存空间量-全局空间量-所述第一缓存区的空间量-所述第三缓存区的最大空间量。其中,所述全局空间量是指一全局空间的空间量,所述全局空间的阈值为一全局空间阈值,当所述缓存中的数据量到达所述全局空间阈值时,说明所述缓存中已经没有可用空间,此时,所有入向的数据流无论其是否对应于高优先级端口,均会被丢弃。此种方式用于实现对整个缓存资源的保护,因为在数据流的流量模型中,可能前一个数据流的判断未达到阈值,但当数据流写入缓存后达到了全局空间阈值,那么就需要触发到全局丢弃的情况。
本实施例中,所述共享模式的配置既保证了第二优先级端口的正常数据流量,又保证了第二优先级端口的突发场景。
根据以上描述可知,在所述共享模式下,在对所述第二缓存空间配置完成以后,当所述第二优先级端口接收到数据流时就会将所述数据流存放至所述第二缓存空间中,此模式下不会对任一各端口的空间进行限制,而仅会针对总的共享空间进行阈值判断。例如,如果仅有一个第二优先级端口接收到数据流,那么该第二优先级端口可以使用整个第二缓存空间。又例如,如果有一个第二优先级端口首次使用所述第二缓存空间,而资源管理模块判断此时已经达到共享空间的阈值,那么该第二优先级端口的数据流会被判断为丢弃。
可选地,在所述限制模式下,各所述第二优先级端口限制共享所述第二缓存区。其中,各所述第二优先级端口在所述第二缓存区中均具有一限制空间和一阈值空间,所述限制空间为所述第二优先级端口中的队列所占用的最小空间,所述阈值空间为所述第二优先级端口所占用的最大空间,所述限制共享是指各所述第二优先级端口在所述限制空间的和所述阈值空间的限制下共享所述第二缓存区。此时,所述第二缓存区在所述限制模式下被进行了一定程度的划分,各所述第二优先级端口并不能完全共享所述第二缓存区,而是在所述最小空间和所述阈值空间的限制下共享所述第二缓存区。
可选地,在所述限制模式下,如果某一第二优先级端口B的阈值空间已经达到,但是该第二优先级端口B中的某一队列的限制空间尚未达到,且此时所述缓存中的数据量并没有触发全局空间阈值时,则该第二优先级端口B的数据仍然能够被存入所述第二缓存区。由此可知,该第二优先级端口B所能占有的真实最大空间为:阈值空间+其余队列的限制空间之和。
根据以上描述可知,本实施例中各所述第二优先级端口均具有一限制空间,该限制空间保证了非高优先级端口在未达到全局空间阈值之前至少能够占用的缓存空间。
于本发明的一实施例中,所述缓存还具有一全局空间阈值,所述数据缓存方法还包括:若所述缓存中的数据量大于或等于所述全局空间阈值,则丢弃所述数据流。
于本发明的一实施例中,所述数据缓存方法应用于一电子设备,所述电子设备例如为路由器,所述电子设备包括第一优先级端口和第二优先级端口,所述第一优先级端口和所述第二优先级端口均包括至少两个队列,且所述第一优先级端口的优先级高于所述第二优先级端口。所述缓存包括至少一第一缓存区、一第二缓存区以及至少一第三缓存区,所述第一优先级端口可以使用所述第一缓存区和/或所述第三缓存区来缓存其接收到的数据流,各所述第二优先级端口能够以共享模式或限制模式使用所述第二缓存区来缓存器接收到的数据流。
本实施例中,在入向数据流来临时,调度器会先检查端口优先级,再检查端口中的队列优先级,其中,高优先级端口的最低优先级队列的优先级比低优先级端口的高优先级队列的优先级要高。
可选地,当各所述第二优先级端口以共享模式使用所述第二缓存区时,所述缓存的分区状况例如图3A所示。此时,对所述缓存的配置方法如图3B所示,包括:
S31,在所述电子设备上电后,配置所述缓存的全局空间。其中,所述全局空间对应一全局空间阈值,当所述缓存中的数据量大于或等于所述全局空间阈值时,丢弃接收到的数据流。
S32,根据端口优先级将所述电子设备的端口划分为第一优先级端口和第二优先级端口。
S33,配置各所述第一优先级端口独占的第一缓存区。
S34,根据各所述第一优先级端口及其队列的优先级,配置所述第三缓存区。其中,所述第三缓存区的结构例如图2所示,其包含多个第三缓存子区,且本实施例中所述第三缓存子区与所述队列一一对应。
S35,根据各所述第二优先级端口配置所述第二缓存区,其中,在所述共享模式下,各所述第二优先级端口完全共享所述第二缓存区。
S36,完成对所述缓存的配置,并开始运行所述电子设备。
进一步地,当各所述第二优先级端口以共享模式使用所述第二缓存区时,所述数据缓存方法例如图3C所示,具体包括:
S301,资源管理模块接收数据流。
S302,查询缓存深度。
S303,判断缓存中的数据量是否已达到所述全局空间阈值,若已达到所述全局空间阈值,则丢弃所述数据流,否则,执行步骤S304。
S304,判断所述数据流对应的端口C是否为第一优先级端口,若是则执行步骤S306,否则执行步骤S305。
S305,判断共享空间(即,所述第二缓存区)是否可用,若判断结果为可用,则将所述数据流存入所述第二缓存区,否则,丢弃所述数据流。
S306,判断端口C的独享空间(即,端口C所独占的第一缓存区)是否可用,若判断结果为可用,则将所述数据流存入端口C的独享空间,否则,执行步骤S307。
S307,判断所述数据流对应的队列D的贪婪空间(即,队列D所占用的第三缓存子区)是否可用,若判断结果为可用,则将所述数据流存入队列D的贪婪空间,否则,丢弃所述数据流。
可选地,当各所述第二优先级端口以限制模式使用所述第二缓存区时,所述缓存的分区状况例如图4A所示。此时,对所述缓存的配置方法如图4B所示,包括:
S41,在所述电子设备上电后,配置所述缓存的全局空间。其中,所述全局空间对应一全局空间阈值,当所述缓存中的数据量大于或等于所述全局空间阈值时,丢弃接收到的数据流。
S42,根据端口优先级将所述电子设备的端口划分为第一优先级端口和第二优先级端口。
S43,配置各所述第一优先级端口独占的第一缓存区。
S44,根据各所述第一优先级端口及其队列的优先级,配置所述第三缓存区。其中,所述第三缓存区的结构例如图2所示,其包含多个第三缓存子区,且本实施例中所述第三缓存子区与所述队列一一对应。
S45,根据各所述第二优先级端口中队列的优先级配置其限制空间。
S46,根据各所述第二优先级端口的优先级配置其阈值空间。
S47,完成对所述缓存的配置,并开始运行所述电子设备。
进一步地,所述数据缓存方法例如图4C所示,具体包括:
S401,资源管理模块接收数据流。
S402,查询缓存深度。
S403,判断缓存中的数据量是否已达到所述全局空间阈值,若已达到所述全局空间阈值,则丢弃所述数据流,否则,执行步骤S404。
S404,判断所述数据流对应的端口E是否为第一优先级端口,若是则执行步骤S409,否则执行步骤S405。
S405,判断各所述第二优先级端口是否以限制模式共享所述第二缓存区,若是则执行步骤S406,否则执行步骤S407。
S406,判断共享空间(也即,所述第二缓存区)是否可用,若判断结果为可用,则将所述数据流存入所述共享空间,否则,丢弃所述数据流。
S407,判断所述数据流对应的队列F的限制空间是否可用,若判断结果为可用,则将所述数据流存入该队列F的限制空间,否则,执行步骤S408。
S408,判断端口E的阈值空间是否已满,若判断结果为是,丢弃所述数据流,否则,将所述数据流存入所述端口E的阈值空间。
S409,判断端口E的独享空间(即,端口E所占用的第一缓存区)是否可用,若判断结果为可用,则将所述数据流存入端口E的独享空间,否则,执行步骤S410。
S410,判断所述数据流对应的队列G的贪婪空间(即,队列G所占用的第三缓存子区)是否可用,若判断结果为可用,则将所述数据流存入队列G的贪婪空间,否则,丢弃所述数据流。
基于以上对所述数据缓存方法的描述,本发明还提供一种资源配置方法。具体地,于本发明的一实施例中,所述资源配置方法包括:在缓存器中配置至少一第一缓存区,各所述第一缓存区支持被一第一优先级端口所独占;在缓存器中配置一第二缓存区,所述第二缓存区支持被两个或多个第二优先级端口所共享,其中,所述第一优先级端口的优先级高于所述第二优先级端口。需要说明的是,通过本实施例所述资源配置方法配置完成后的缓存器可以作为电子设备的缓存使用,以使所述电子设备支持图1所示的数据缓存方法。
基于以上对所述数据缓存方法的描述,本发明还提供一种缓存器。于本发明的一实施例中,所述缓存器包括至少一第一缓存区和一第二缓存区,其中:各所述第一缓存区支持被一第一优先级端口所独占,所述第二缓存区支持被两个或多个第二优先级端口所共享,所述第一优先级端口的优先级高于所述第二优先级端口。需要说明的是,本实施例所述缓存器可以作为电子设备的缓存使用,以使所述电子设备支持图1所示的数据缓存方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上对所述数据缓存方法的描述,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现图1所示的数据缓存方法。
基于以上对所述数据缓存方法的描述,本发明还提供一种电子设备。具体地,请参阅图5,于本发明的一实施例中,所述电子设备500包括存储器510和处理器520,所述存储器510存储有一计算机程序;所述处理器520与所述存储器510通信相连,调用所述计算机程序时执行本发明所述的数据缓存方法,和/或本发明所述的资源配置方法。
可选地,所述电子设备500还包括显示器530,所述显示器530与所述存储器510和所述处理器520通信相连,用于显示所述数据缓存方法和/或所述资源配置方法的相关GUI交互界面。
本发明所述的数据缓存方法和资源配置方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
综上所述,本发明所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本发明所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。故,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种数据缓存方法,其特征在于,应用于一电子设备,所述电子设备包括至少一第一优先级端口和至少一第二优先级端口,所述第一优先级端口的优先级高于所述第二优先级端口,所述电子设备还具有缓存,所述缓存包括至少一第一缓存区、一第二缓存区和至少一第三缓存区,各所述第一优先级端口均独占一所述第一缓存区,各所述第二优先级端口共享所述第二缓存区,所述数据缓存方法包括:
通过所述电子设备的端口接收一数据流;
若所述端口属于所述第一优先级端口,且所述端口独占的所述第一缓存区可用,则将所述数据流缓存至所述端口独占的所述第一缓存区;
若所述端口属于所述第二优先级端口,且所述第二缓存区可用,则将所述数据流缓存至所述第二缓存区;
其中,所述第一优先级端口包括至少两个具有不同优先级的队列,所述第一缓存区包括至少两个第一缓存子区,所述第三缓存区包括至少两个第三缓存子区,各所述队列独占一所述第一缓存子区或者各所述队列占有一所述第三缓存子区,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法包括:获取所述数据流的对应队列;若所述对应队列独占的所述第一缓存子区可用,则将所述数据流缓存至所述对应队列独占的所述第一缓存子区;若所述对应队列独占的所述第一缓存子区不可用,而所述对应队列占有的所述第三缓存子区可用,则将所述数据流缓存至所述对应队列占有的所述第三缓存子区。
2.根据权利要求1所述的数据缓存方法,其特征在于:低优先级的所述队列占有的所述第三缓存子区包含于高优先级的所述队列占有的所述第三缓存子区。
3.根据权利要求1所述的数据缓存方法,其特征在于:
各所述第二优先级端口完全共享所述第二缓存区;或者,
各所述第二优先级端口限制共享所述第二缓存区,其中,各所述第二优先级端口在所述第二缓存区中均具有一限制空间和一阈值空间,所述限制空间为所述第二优先级端口中的队列所占用的最小空间,所述阈值空间为所述第二优先级端口所占用的最大空间,所述限制共享是指各所述第二优先级端口在所述限制空间的和所述阈值空间的限制下共享所述第二缓存区。
4.根据权利要求1所述的数据缓存方法,其特征在于,所述缓存还具有一全局空间阈值,所述数据缓存方法还包括:
若所述缓存中的数据量大于或等于所述全局空间阈值,则丢弃所述数据流。
5.一种资源配置方法,其特征在于,用于对一电子设备中的缓存器进行配置,其中所述电子设备采用权利要求1-4任一项所述的数据缓存方法对数据流进行缓存,所述资源配置方法包括:
在所述缓存器中配置至少一第一缓存区,各所述第一缓存区支持被一第一优先级端口所独占;
在所述缓存器中配置一第二缓存区,所述第二缓存区支持被两个或多个第二优先级端口所共享,其中,所述第一优先级端口的优先级高于所述第二优先级端口;
在所述缓存器中配置至少一第三缓存区,所述第三缓存区包括至少两个第三缓存子区,所述第三缓存子区支持被所述第一优先级端口中的各所述队列独占或者共享。
6.一种缓存器,其特征在于,应用于一电子设备,所述电子设备采用权利要求1-4任一项所述的数据缓存方法对数据流进行缓存,所述缓存器包括至少一第一缓存区、一第二缓存区和至少一第三缓存区,其中:各所述第一缓存区支持被一第一优先级端口所独占,所述第二缓存区支持被两个或多个第二优先级端口所共享,所述第一优先级端口的优先级高于所述第二优先级端口,所述第三缓存区包括至少两个第三缓存子区,所述第三缓存子区支持被所述第一优先级端口中的各所述队列独占或者共享。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1-4任一项所述的数据缓存方法,和/或权利要求5所述的资源配置方法。
8.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1-4任一项所述的数据缓存方法,和/或权利要求5所述的资源配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111204811.XA CN113938441B (zh) | 2021-10-15 | 2021-10-15 | 数据缓存方法、资源配置方法、缓存器、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111204811.XA CN113938441B (zh) | 2021-10-15 | 2021-10-15 | 数据缓存方法、资源配置方法、缓存器、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113938441A CN113938441A (zh) | 2022-01-14 |
CN113938441B true CN113938441B (zh) | 2022-07-12 |
Family
ID=79279773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111204811.XA Active CN113938441B (zh) | 2021-10-15 | 2021-10-15 | 数据缓存方法、资源配置方法、缓存器、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938441B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0681241A1 (en) * | 1994-05-04 | 1995-11-08 | Compaq Computer Corporation | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
US11030104B1 (en) * | 2020-01-21 | 2021-06-08 | International Business Machines Corporation | Picket fence staging in a multi-tier cache |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290704A (ja) * | 2000-04-06 | 2001-10-19 | Nec Microsystems Ltd | マルチプロセス制御装置及びマルチプロセス制御方法 |
US7457297B2 (en) * | 2001-11-16 | 2008-11-25 | Enterasys Networks, Inc. | Methods and apparatus for differentiated services over a packet-based network |
CN1389799A (zh) * | 2002-07-31 | 2003-01-08 | 清华大学 | 多优先级最佳动态域值缓存管理算法 |
CN101547150B (zh) * | 2009-04-30 | 2011-12-28 | 中兴通讯股份有限公司 | 数据通信输入端口调度的方法及装置 |
US9225668B2 (en) * | 2012-07-31 | 2015-12-29 | Futurewei Technologies, Inc. | Priority driven channel allocation for packet transferring |
CN105812285A (zh) * | 2016-04-29 | 2016-07-27 | 华为技术有限公司 | 一种端口拥塞管理方法及装置 |
US10891773B2 (en) * | 2017-04-07 | 2021-01-12 | Intel Corporation | Apparatus and method for efficient graphics virtualization |
CN110557432B (zh) * | 2019-07-26 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种缓存池均衡优化方法、系统、终端及存储介质 |
CN110493145B (zh) * | 2019-08-01 | 2022-06-24 | 新华三大数据技术有限公司 | 一种缓存方法及装置 |
CN110798414B (zh) * | 2019-12-03 | 2022-03-18 | 锐捷网络股份有限公司 | 一种端口镜像的方法和路由器 |
CN112597075B (zh) * | 2020-12-28 | 2023-02-17 | 成都海光集成电路设计有限公司 | 用于路由器的缓存分配方法、片上网络及电子设备 |
CN114124848B (zh) * | 2021-11-02 | 2024-04-16 | 西安云维智联科技有限公司 | 一种基于vlid监控的交换机多监控端口方法 |
-
2021
- 2021-10-15 CN CN202111204811.XA patent/CN113938441B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0681241A1 (en) * | 1994-05-04 | 1995-11-08 | Compaq Computer Corporation | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
US11030104B1 (en) * | 2020-01-21 | 2021-06-08 | International Business Machines Corporation | Picket fence staging in a multi-tier cache |
Also Published As
Publication number | Publication date |
---|---|
CN113938441A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0993635B1 (en) | Method and apparatus for dynamic queue sizing | |
US10511538B1 (en) | Efficient resource tracking | |
US9225668B2 (en) | Priority driven channel allocation for packet transferring | |
US7752413B2 (en) | Method and apparatus for communicating between threads | |
KR100875739B1 (ko) | Ip 네트워크 시스템에서의 패킷 버퍼 관리 장치 및 방법 | |
WO2017000872A1 (zh) | 缓存分配方法及装置 | |
CN106571978B (zh) | 数据包捕获方法及装置 | |
CN110830388B (zh) | 一种数据调度方法、装置、网络设备及计算机存储介质 | |
US8335157B2 (en) | Adaptive queue-management | |
US8645960B2 (en) | Method and apparatus for data processing using queuing | |
WO2021259321A1 (zh) | 存储调度方法、设备和存储介质 | |
CN113938441B (zh) | 数据缓存方法、资源配置方法、缓存器、介质及电子设备 | |
US7933283B1 (en) | Shared memory management | |
WO2022057131A1 (zh) | 数据拥塞处理方法、装置、计算机设备和存储介质 | |
CN116996600B (zh) | 以太网芯片自适应资源管理方法、芯片、装置和介质 | |
US11552907B2 (en) | Efficient packet queueing for computer networks | |
WO2017070869A1 (zh) | 一种内存配置方法、装置及系统 | |
CN115766582A (zh) | 流量控制方法、装置和系统、介质和计算机设备 | |
CN111966736B (zh) | 一种高吞吐低延时大容量Flume通道及其传输方法 | |
CN110708255B (zh) | 一种报文控制方法及节点设备 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN112073325A (zh) | 数据拥塞控制及带宽预估方法 | |
CN109302353B (zh) | 一种分配报文缓存空间的方法及装置 | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 | |
WO2023125430A1 (zh) | 流量管理装置、报文缓存方法、芯片及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |