1.本发明涉及数据存储领域,特别是涉及一种数据缓存方法、资源配置方法、缓存器、介质及电子设备。
背景技术:2.为了实现安防领域的智能化、专业化以及数据化,从而最大限度地发挥视频监控应用效能,在立体化治安防控体系中部署安防物联网已成为一种必然趋势。作为安防物联网的核心组成部分之一,网络摄像机ipc(ip camera)在安防物联网中起着相当重要的作用。具体来说,网络摄像机是一种由传统摄像机与网络技术结合所产生的新一代摄像机,在实际应用中,网络摄像机可以与路由器、交换机、网络硬盘录像机(net video recorder,nvr)等设备组建成监控息系统。此外,不同应用场景中对网络摄像机的要求可能也不相同。
3.对于监控系统来说,由于视频的传输是一种突发方式,例如,假设网络摄像机的视频参数是1m定码率25帧每秒,那么网络摄像机会每隔40ms就把所有数据全部发完,然后空闲等待,在下一个40ms继续把所有数据发完,然后空闲等待,以此类推。实际应用中,在网络摄像机发送数据的时候有可能达到线速,这部分就是突发流量,此种突发流量可能会导致视频出现卡顿。针对这一问题,相关技术中基本都是采用将缓存容量扩大,以便吸纳所有突发流量,从而避免出现卡顿。然而,路由器等设备中的不同端口可能连接不同的网络摄像机,而不同网络摄像机的突发流量状况各不相同,相关技术中对设备的所有端口均采用相同的方式进行处理,这会导致缓存的资源利用率较低。
技术实现要素:4.鉴于以上所述相关技术的缺点,本发明的目的在于提供一种数据缓存方法、资源配置方法、缓存器、介质及电子设备,用于解决相关技术中缓存利用率低的问题。
5.为实现上述目的及其他相关目的,本发明的第一方面提供一种数据缓存方法,应用于一电子设备,所述电子设备包括至少一第一优先级端口和至少一第二优先级端口,所述第一优先级端口的优先级高于所述第二优先级端口,所述电子设备还具有缓存,所述缓存包括至少一第一缓存区和一第二缓存区,各所述第一优先级端口均独占一所述第一缓存区,各所述第二优先级端口共享所述第二缓存区,所述数据缓存方法包括:通过所述电子设备的端口接收一数据流;若所述端口属于所述第一优先级端口,且所述端口独占的所述第一缓存区可用,则将所述数据流缓存至所述端口独占的所述第一缓存区;若所述端口属于所述第二优先级端口,且所述第二缓存区可用,则将所述数据流缓存至所述第二缓存区。
6.于所述第一方面的一实施例中,所述第一优先级端口包括至少两个具有不同优先级的队列,所述第一缓存区包括至少两个第一缓存子区,各所述队列独占一所述第一缓存子区,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法包括:获取所述数据流的对应队列;若所述对应队列独占的所述第一缓存子区可用,则将所述数据流缓存至所述对应队列独占的所述第一缓存子区。
7.于所述第一方面的一实施例中,所述缓存还包括至少一第三缓存区,所述第三缓存区包括至少两个第三缓存子区,各所述队列占有一所述第三缓存子区,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法还包括:若所述对应队列独占的所述第一缓存子区不可用,而所述对应队列占有的所述第三缓存子区可用,则将所述数据流缓存至所述对应队列占有的所述第三缓存子区。
8.于所述第一方面的一实施例中,低优先级的所述队列占有的所述第三缓存子区包含于高优先级的所述队列占有的所述第三缓存子区。
9.于所述第一方面的一实施例中,各所述第二优先级端口完全共享所述第二缓存区;或者,各所述第二优先级端口限制共享所述第二缓存区,其中,各所述第二优先级端口在所述第二缓存区中均具有一限制空间和一阈值空间,所述限制空间为所述第二优先级端口中的队列所占用的最小空间,所述阈值空间为所述第二优先级端口所占用的最大空间,所述限制共享是指各所述第二优先级端口在所述限制空间的和所述阈值空间的限制下共享所述第二缓存区。
10.于所述第一方面的一实施例中,所述缓存还具有一全局空间阈值,所述数据缓存方法还包括:若所述缓存中的数据量大于或等于所述全局空间阈值,则丢弃所述数据流。
11.本发明的第二方面提供一种资源配置方法,所述资源配置方法包括:在缓存器中配置至少一第一缓存区,各所述第一缓存区支持被一第一优先级端口所独占;在缓存器中配置一第二缓存区,所述第二缓存区支持被两个或多个第二优先级端口所共享,其中,所述第一优先级端口的优先级高于所述第二优先级端口。
12.本发明的第三方面提供一种缓存器,所述缓存器包括至少一第一缓存区和一第二缓存区,其中:各所述第一缓存区支持被一第一优先级端口所独占,所述第二缓存区支持被两个或多个第二优先级端口所共享,所述第一优先级端口的优先级高于所述第二优先级端口。
13.本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面任一项所述的数据缓存方法,和/或本发明第二方面所述的资源配置方法。
14.本发明的第五方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本发明第一方面任一项所述的数据缓存方法,和/或本发明第二方面所述的资源配置方法。
15.如上所述,本发明一个或多个实施例中所述的数据缓存方法具有以下有益效果:
16.所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本发明所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。
附图说明
17.图1显示为本发明实施例中所述数据缓存方法的流程图。
18.图2a显示为本发明实施例中所述数据缓存方法的步骤s12的详细流程图。
19.图2b显示为本发明实施例中第三缓存区的分区示意图。
20.图3a显示为本发明实施例中缓存的分区示意图。
21.图3b显示为本发明实施例中对缓存进行配置的流程图。
22.图3c显示为本发明实施例中所述数据缓存方法的流程图。
23.图4a显示为本发明实施例中缓存的分区示意图。
24.图4b显示为本发明实施例中对缓存进行配置的流程图。
25.图4c显示为本发明实施例中所述数据缓存方法的流程图。
26.图5显示为本发明实施例中所述电子设备的结构示意图。
27.元件标号说明
28.50
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
电子设备
29.510
ꢀꢀꢀꢀꢀꢀꢀꢀ
存储器
30.520
ꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
31.530
ꢀꢀꢀꢀꢀꢀꢀꢀ
显示器
32.s11~s13
ꢀꢀꢀ
步骤
33.s121~s122 步骤
34.s31~s36
ꢀꢀꢀ
步骤
35.s41~s47
ꢀꢀꢀ
步骤
具体实施方式
36.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
37.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。此外,在本文中,诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
38.路由器等设备中的不同端口可能连接不同的网络摄像机,而不同网络摄像机的突发流量状况各不相同,相关技术中对设备的所有端口均采用相同的方式进行处理,这会导致缓存的资源利用率较低。针对这一问题,于本发明的一实施例中提供一种数据缓存方法,所述数据缓存方法应用于一电子设备,所述电子设备例如为路由器。所述电子设备包括至少一第一优先级端口和至少一第二优先级端口,所述第一优先级端口和所述第二优先级端口例如为所述电子设备中芯片对接的端口,且所述第一优先级端口的优先级高于所述第二优先级端口。其中,端口的优先级可以根据其业务范围确定,高优先级端口的突发更加频繁且流量更大,而低优先级端口的突发则相对稀疏且流量较小,在某种程度上可以忽略。此
外,所述电子设备还具有缓存,所述缓存包括至少一第一缓存区和一第二缓存区,各所述第一优先级端口均独占一所述第一缓存区,各所述第二优先级端口共享所述第二缓存区。
39.具体地,请参阅图1,本实施例中所述数据缓存方法包括:
40.s11,通过所述电子设备的端口接收一数据流。所述数据流例如为网络摄像机所产生的数据流,且所述数据流中会持续或者间歇性地出现突发流量。
41.s12,若所述端口属于所述第一优先级端口,且所述端口独占的所述第一缓存区可用,则将所述数据流缓存至所述端口独占的所述第一缓存区。其中,所述第一缓存区可用是指所述第一缓存区中有足够的空间来缓存所述数据流。
42.s13,若所述端口属于所述第二优先级端口,且所述第二缓存区可用,则将所述数据流缓存至所述第二缓存区。其中,所述第二缓存区可用是指所述第二缓存区中有足够的空间来缓存所述数据流。
43.根据以上描述可知,本实施例所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本实施例所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。
44.于本发明的一实施例中,所述数据缓存方法还包括:在所述电子设备上电以后、运行之前,根据缓存总量配置所述第一优先级端口的独享空间,也即,各所述第一优先级端口所独占的所述第一缓存区。该独享空闲只用于缓存第一优先级端口的数据流,来自其他优先级的端口的数据流不被允许进入。
45.于本发明的一实施例中,所述第一优先级端口包括至少两个具有不同优先级的队列。特别地,所述队列的数量为4个。并且,所述第一缓存区包括至少两个第一缓存子区,各所述队列独占一所述第一缓存子区。基于此,请参阅图2a,本实施例中将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法包括:
46.s121,获取所述数据流的对应队列,其中,所述对应队列是指所述数据流所流入的队列,也即,所述第一优先级端口中用于存放所述数据流的队列。
47.s122,若所述对应队列独占的所述第一缓存子区可用,则将所述数据流缓存至所述对应队列独占的所述第一缓存子区。其中,所述第一缓存子区可用是指所述第一缓存子区中有足够的空间来缓存所述数据流。
48.优选地,本实施例中所述队列独占的所述第一缓存子区的尺寸与所述队列的优先级正相关,也即,所述队列的优先级越高,其独占的所述第一缓存子区越大。此种方式能够保证第一优先级端口中优先级最高的队列享有最大的独享空间,进而保证了突发场景中最易突发的端口的线速流量。同时,此种方式还能够保证所述第一优先级端口中的其余队列也能够享有一定的独享空间。其中,某一队列的独享空间对于同一个第一优先级端口中的其他队列都不能够占用。
49.优选地,本实施例中所述缓存还包括至少一第三缓存区,所述第三缓存区包括至少两个第三缓存子区,各所述队列占有一所述第三缓存子区。需要说明的是,各所述队列可以独占所述第三缓存子区,也可以采用其他方式,例如完全共享方式或部分共享方式,来占
有所述第三缓存子区,本发明对此不做限制。具体地,每个所述第一优先级端口均对应一所述第三缓存区,每一第三缓存区会根据所述第一优先级端口中所述队列的数量被划分成对应数量的第三缓存子区。此时,将所述数据流缓存至所述端口独占的所述第一缓存区的实现方法还包括:若所述对应队列独占的所述第一缓存子区不可用,而所述对应队列占有的所述第三缓存子区可用,则将所述数据流缓存至所述对应队列占有的所述第三缓存子区。通过此种方式能够保证所述第一优先级端口在使用完独享空间(也即,所述第一优先级端口独占的所述第一缓存区)后,仍然可以占用贪婪空间(也即,所述第三缓存区中的空间)。
50.进一步优选地,本实施例中低优先级的所述队列占有的所述第三缓存子区包含于高优先级的所述队列占有的所述第三缓存子区,此时,优先级最高的所述队列享有最大的第三缓存子区,优先级最低的所述队列享有最小的第三缓存子区。此时,各所述队列可以共享所述第三缓存区中的部分或全部空间。
51.举例来说,若某一第一优先级端口a具有优先级依次降低的0号队列、1号队列、2号队列和3号队列,且它们对应的第三缓存子区分别为a、b、c和d,则
52.可选地,本实施例中每个队列均对应一阈值,所述阈值的大小与其对应的所述阵列的优先级正相关,也即,所述阵列的优先级越高,其对应的所述阈值的数值越大。例如,请参阅图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号队列占有的所述第三缓存子区域。此时:
53.当该端口a只有3号队列的数据流时,那么3号队列最多只能占用0-d的缓存空间,当资源管理系统检查到3号队列又有数据流来临、且此时3号队列的资源已经到达了d的阈值线时,将会判断该新来的数据流为丢弃。
54.当该端口a只有0号队列的数据流时,那么0号队列最多只能占用0-a的缓存空间,当资源管理系统检查到0号队列又有数据流来临、且此时0号队列的资源已经到达了a的阈值线时,将会判断该新来的数据流为丢弃。
55.当该端口a不仅有3号队列还有0号队列的数据流时,那么3号队列最多只能占用0-d的缓存空间,而此时0号队列最多能占用a-d的缓存空间。进一步可知,尽管该端口a中仅有0号队列时0号队列可以占满整个缓存空间,但如果所述第三缓存区中有1到3号队列的数据流时,0号队列最多能占用的缓存空间量为:a-(1到3号队列占用的空间量)。
56.此种方式既保证了第一优先级端口中不同优先级队列的独享空间,从而保证网络摄像机场景中的高优先级端口能够正常进行数据通信,同时又保证了在某些队列突发的情况下,仍然可以弹性占用到临时的第三缓存区空间,等到突发结束时,第三缓存区中的空间也会被释放出来给其余的队列使用。
57.由于所述第二优先级端口相对于所述第一优先级端口来说,其突发流量的情况会少很多,因此,于本发明的一实施例中,各所述第二优先级端口可以采用共享模式或限制模式来共享所述第二缓存区。
58.可选地,在所述共享模式中,各所述第二优先级端口完全共享所述第二缓存区,其
中,所述第二缓存区通常为一份很大的缓存资源,以供各所述第二优先级端口及其中的队列共享使用。
59.可选地,所述第二缓存区的空间量=所述缓存的总缓存空间量-全局空间量-所述第一缓存区的空间量-所述第三缓存区的最大空间量。其中,所述全局空间量是指一全局空间的空间量,所述全局空间的阈值为一全局空间阈值,当所述缓存中的数据量到达所述全局空间阈值时,说明所述缓存中已经没有可用空间,此时,所有入向的数据流无论其是否对应于高优先级端口,均会被丢弃。此种方式用于实现对整个缓存资源的保护,因为在数据流的流量模型中,可能前一个数据流的判断未达到阈值,但当数据流写入缓存后达到了全局空间阈值,那么就需要触发到全局丢弃的情况。
60.本实施例中,所述共享模式的配置既保证了第二优先级端口的正常数据流量,又保证了第二优先级端口的突发场景。
61.根据以上描述可知,在所述共享模式下,在对所述第二缓存空间配置完成以后,当所述第二优先级端口接收到数据流时就会将所述数据流存放至所述第二缓存空间中,此模式下不会对任一各端口的空间进行限制,而仅会针对总的共享空间进行阈值判断。例如,如果仅有一个第二优先级端口接收到数据流,那么该第二优先级端口可以使用整个第二缓存空间。又例如,如果有一个第二优先级端口首次使用所述第二缓存空间,而资源管理模块判断此时已经达到共享空间的阈值,那么该第二优先级端口的数据流会被判断为丢弃。
62.可选地,在所述限制模式下,各所述第二优先级端口限制共享所述第二缓存区。其中,各所述第二优先级端口在所述第二缓存区中均具有一限制空间和一阈值空间,所述限制空间为所述第二优先级端口中的队列所占用的最小空间,所述阈值空间为所述第二优先级端口所占用的最大空间,所述限制共享是指各所述第二优先级端口在所述限制空间的和所述阈值空间的限制下共享所述第二缓存区。此时,所述第二缓存区在所述限制模式下被进行了一定程度的划分,各所述第二优先级端口并不能完全共享所述第二缓存区,而是在所述最小空间和所述阈值空间的限制下共享所述第二缓存区。
63.可选地,在所述限制模式下,如果某一第二优先级端口b的阈值空间已经达到,但是该第二优先级端口b中的某一队列的限制空间尚未达到,且此时所述缓存中的数据量并没有触发全局空间阈值时,则该第二优先级端口b的数据仍然能够被存入所述第二缓存区。由此可知,该第二优先级端口b所能占有的真实最大空间为:阈值空间+其余队列的限制空间之和。
64.根据以上描述可知,本实施例中各所述第二优先级端口均具有一限制空间,该限制空间保证了非高优先级端口在未达到全局空间阈值之前至少能够占用的缓存空间。
65.于本发明的一实施例中,所述缓存还具有一全局空间阈值,所述数据缓存方法还包括:若所述缓存中的数据量大于或等于所述全局空间阈值,则丢弃所述数据流。
66.于本发明的一实施例中,所述数据缓存方法应用于一电子设备,所述电子设备例如为路由器,所述电子设备包括第一优先级端口和第二优先级端口,所述第一优先级端口和所述第二优先级端口均包括至少两个队列,且所述第一优先级端口的优先级高于所述第二优先级端口。所述缓存包括至少一第一缓存区、一第二缓存区以及至少一第三缓存区,所述第一优先级端口可以使用所述第一缓存区和/或所述第三缓存区来缓存其接收到的数据流,各所述第二优先级端口能够以共享模式或限制模式使用所述第二缓存区来缓存器接收
到的数据流。
67.本实施例中,在入向数据流来临时,调度器会先检查端口优先级,再检查端口中的队列优先级,其中,高优先级端口的最低优先级队列的优先级比低优先级端口的高优先级队列的优先级要高。
68.可选地,当各所述第二优先级端口以共享模式使用所述第二缓存区时,所述缓存的分区状况例如图3a所示。此时,对所述缓存的配置方法如图3b所示,包括:
69.s31,在所述电子设备上电后,配置所述缓存的全局空间。其中,所述全局空间对应一全局空间阈值,当所述缓存中的数据量大于或等于所述全局空间阈值时,丢弃接收到的数据流。
70.s32,根据端口优先级将所述电子设备的端口划分为第一优先级端口和第二优先级端口。
71.s33,配置各所述第一优先级端口独占的第一缓存区。
72.s34,根据各所述第一优先级端口及其队列的优先级,配置所述第三缓存区。其中,所述第三缓存区的结构例如图2所示,其包含多个第三缓存子区,且本实施例中所述第三缓存子区与所述队列一一对应。
73.s35,根据各所述第二优先级端口配置所述第二缓存区,其中,在所述共享模式下,各所述第二优先级端口完全共享所述第二缓存区。
74.s36,完成对所述缓存的配置,并开始运行所述电子设备。
75.进一步地,当各所述第二优先级端口以共享模式使用所述第二缓存区时,所述数据缓存方法例如图3c所示,具体包括:
76.s301,资源管理模块接收数据流。
77.s302,查询缓存深度。
78.s303,判断缓存中的数据量是否已达到所述全局空间阈值,若已达到所述全局空间阈值,则丢弃所述数据流,否则,执行步骤s304。
79.s304,判断所述数据流对应的端口c是否为第一优先级端口,若是则执行步骤s306,否则执行步骤s305。
80.s305,判断共享空间(即,所述第二缓存区)是否可用,若判断结果为可用,则将所述数据流存入所述第二缓存区,否则,丢弃所述数据流。
81.s306,判断端口c的独享空间(即,端口c所独占的第一缓存区)是否可用,若判断结果为可用,则将所述数据流存入端口c的独享空间,否则,执行步骤s307。
82.s307,判断所述数据流对应的队列d的贪婪空间(即,队列d所占用的第三缓存子区)是否可用,若判断结果为可用,则将所述数据流存入队列d的贪婪空间,否则,丢弃所述数据流。
83.可选地,当各所述第二优先级端口以限制模式使用所述第二缓存区时,所述缓存的分区状况例如图4a所示。此时,对所述缓存的配置方法如图4b所示,包括:
84.s41,在所述电子设备上电后,配置所述缓存的全局空间。其中,所述全局空间对应一全局空间阈值,当所述缓存中的数据量大于或等于所述全局空间阈值时,丢弃接收到的数据流。
85.s42,根据端口优先级将所述电子设备的端口划分为第一优先级端口和第二优先
级端口。
86.s43,配置各所述第一优先级端口独占的第一缓存区。
87.s44,根据各所述第一优先级端口及其队列的优先级,配置所述第三缓存区。其中,所述第三缓存区的结构例如图2所示,其包含多个第三缓存子区,且本实施例中所述第三缓存子区与所述队列一一对应。
88.s45,根据各所述第二优先级端口中队列的优先级配置其限制空间。
89.s46,根据各所述第二优先级端口的优先级配置其阈值空间。
90.s47,完成对所述缓存的配置,并开始运行所述电子设备。
91.进一步地,所述数据缓存方法例如图4c所示,具体包括:
92.s401,资源管理模块接收数据流。
93.s402,查询缓存深度。
94.s403,判断缓存中的数据量是否已达到所述全局空间阈值,若已达到所述全局空间阈值,则丢弃所述数据流,否则,执行步骤s404。
95.s404,判断所述数据流对应的端口e是否为第一优先级端口,若是则执行步骤s409,否则执行步骤s405。
96.s405,判断各所述第二优先级端口是否以限制模式共享所述第二缓存区,若是则执行步骤s406,否则执行步骤s407。
97.s406,判断共享空间(也即,所述第二缓存区)是否可用,若判断结果为可用,则将所述数据流存入所述共享空间,否则,丢弃所述数据流。
98.s407,判断所述数据流对应的队列f的限制空间是否可用,若判断结果为可用,则将所述数据流存入该队列f的限制空间,否则,执行步骤s408。
99.s408,判断端口e的阈值空间是否已满,若判断结果为是,丢弃所述数据流,否则,将所述数据流存入所述端口e的阈值空间。
100.s409,判断端口e的独享空间(即,端口e所占用的第一缓存区)是否可用,若判断结果为可用,则将所述数据流存入端口e的独享空间,否则,执行步骤s410。
101.s410,判断所述数据流对应的队列g的贪婪空间(即,队列g所占用的第三缓存子区)是否可用,若判断结果为可用,则将所述数据流存入队列g的贪婪空间,否则,丢弃所述数据流。
102.基于以上对所述数据缓存方法的描述,本发明还提供一种资源配置方法。具体地,于本发明的一实施例中,所述资源配置方法包括:在缓存器中配置至少一第一缓存区,各所述第一缓存区支持被一第一优先级端口所独占;在缓存器中配置一第二缓存区,所述第二缓存区支持被两个或多个第二优先级端口所共享,其中,所述第一优先级端口的优先级高于所述第二优先级端口。需要说明的是,通过本实施例所述资源配置方法配置完成后的缓存器可以作为电子设备的缓存使用,以使所述电子设备支持图1所示的数据缓存方法。
103.基于以上对所述数据缓存方法的描述,本发明还提供一种缓存器。于本发明的一实施例中,所述缓存器包括至少一第一缓存区和一第二缓存区,其中:各所述第一缓存区支持被一第一优先级端口所独占,所述第二缓存区支持被两个或多个第二优先级端口所共享,所述第一优先级端口的优先级高于所述第二优先级端口。需要说明的是,本实施例所述缓存器可以作为电子设备的缓存使用,以使所述电子设备支持图1所示的数据缓存方法。
104.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
105.基于以上对所述数据缓存方法的描述,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现图1所示的数据缓存方法。
106.基于以上对所述数据缓存方法的描述,本发明还提供一种电子设备。具体地,请参阅图5,于本发明的一实施例中,所述电子设备500包括存储器510和处理器520,所述存储器510存储有一计算机程序;所述处理器520与所述存储器510通信相连,调用所述计算机程序时执行本发明所述的数据缓存方法,和/或本发明所述的资源配置方法。
107.可选地,所述电子设备500还包括显示器530,所述显示器530与所述存储器510和所述处理器520通信相连,用于显示所述数据缓存方法和/或所述资源配置方法的相关gui交互界面。
108.本发明所述的数据缓存方法和资源配置方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
109.综上所述,本发明所述数据缓存方法在第一优先级端口接收到数据流时,将该数据流缓存至所述第一优先级端口独占的第一缓存区,从而尽可能地保证高优先级端口接收到的数据流具有充足的缓存空间,以减少卡顿的产生。此外,所述数据缓存方法在第二优先级端口接收到数据流时,将该数据流缓存至各所述第二优先级端口共享的第二缓存区,以尽可能地提升第二缓存区的利用率。因此,本发明所述数据缓存方法能够根据不同端口的优先级来选择相应的缓存方式,能够在减少卡顿的同时提升缓存的利用率。故,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
110.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。