一种数据缓存方法、装置、系统、计算机设备及存储介质与流程

文档序号:31340136发布日期:2022-08-31 09:55阅读:49来源:国知局
一种数据缓存方法、装置、系统、计算机设备及存储介质与流程

1.本技术涉及数据存储技术领域,尤其涉及一种数据缓存方法、装置、系统、计算机设备及存储介质。


背景技术:

2.在图像数据处理系统中,通常会需要将接收的数据流进行缓存,再在指定的时刻分发给需要的处理模块。由于图像数据流一般流量比较大,在缓存量比较大的系统里会同时用到片上存储单元和片外存储单元。
3.片上存储单元和片外存储单元各有优缺点:片上存储单元的优势在于读写速度快,但价格高,也不容易做成比较大的容量;片外存储单元的成本低、适合做大容量存储,但在数字系统里的延时比片上存储单元大,且使用片外存储单元会加大系统带宽的负担。然而,现有技术中,存在难以充分利用片上存储单元的存储空间,且片外存储单元会对系统造成延迟的问题。


技术实现要素:

4.本技术提供了一种数据缓存方法、装置、系统、计算机设备及存储介质,能够达到充分利用内部存储,并避免外部存储对系统造成延时的效果。
5.第一方面,本技术实施例提供了一种数据缓存方法,该方法包括:
6.数据接收步骤,接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块;
7.数据存储步骤,对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,判断第一内部存储单元的当前剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元;若否,将该数据块存入第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;
8.存储去向记录步骤,记录各数据块的存储去向信息;
9.数据发送步骤,在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。
10.在其中一个实施例中,将数据流划分为多个预设大小的数据块,包括:
11.获取预设的第一阈值,并根据第一阈值将数据流按时间顺序依次划分为多个相同大小的数据块,每个数据块的大小等于第一阈值。
12.在其中一个实施例中,判断第一内部存储单元的当前剩余空间是否足够存入该数据块,包括:
13.检测第一内部存储单元的当前剩余存储容量值;
14.根据第一内部存储单元的当前剩余存储容量值和第一阈值判断第一内部存储单
元的剩余空间是否足够存入该数据块。
15.优选地,第一阈值大于或等于第二阈值。
16.在其中一个实施例中,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,包括:
17.获取记录的各数据块的存储去向信息,每个数据块的存储去向信息为用于标示该数据块存储到第一内部存储单元的第一标识或用于标示该数据块存储到外部存储单元的第二标识;
18.在数据块的存储去向信息为第一标识时,从第一内部存储单元获取该数据块;
19.在数据块的存储去向信息为第二标识时,从第三内部存储单元获取该数据块。
20.在其中一个实施例中,外部存储单元包括用于接收第二内部存储单元输出数据的第一外部存储单元和用于向第三内部存储单元输出数据的第二外部存储单元;该方法还包括:
21.迭代存储步骤,确定下一级的第一内部存储单元、外部存储单元、第二内部存储单元及第三内部存储单元,并以第一外部存储单元作为下一级的数据输入单元,以第二外部存储单元作为下一级的数据输出单元,依次迭代执行迭代配置步骤、数据接收步骤、数据存储步骤、存储去向记录步骤及数据发送步骤,直至迭代次数达到预设迭代次数。
22.优选地,预设迭代次数为2次。
23.在其中一个实施例中,第一内部存储单元、第二内部存储单元及第三内部存储单元均为片上存储器,外部存储单元为片外存储器。
24.优选地,片上存储器为静态随机存取存储器;片外存储器为动态随机存取存储器。
25.在其中一个实施例中,数据流为图像数据流。
26.第二方面,本技术实施例提供了一种数据缓存装置,该装置包括:
27.数据接收模块,用于接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块;
28.数据存储模块,用于多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,判断第一内部存储单元的剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元;若否,将该数据块存入第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;
29.存储去向记录模块,用于记录各数据块的存储去向信息;
30.数据发送模块,用于在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。
31.第三方面,本技术实施例提供了一种数据缓存系统,该系统包括控制单元、数据接收单元、第一内部存储单元、第二内部存储单元、第三内部存储单元、外部存储单元、内部标记单元及数据发送单元;
32.数据接收单元,用于接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块,每个数据块的大小等于第一阈值;对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,获取第一内部存储单元的当前剩余存储容量值,判断第一
内部存储单元的当前剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元;若否,将该数据块存入第二内部存储单元;将各数据块的存储去向信息存入内部标记单元;
33.第一内部存储单元,用于接收和存储数据接收单元发送的数据,并将第一内部存储单元的当前剩余存储容量值发送给数据接收单元;
34.第二内部存储单元,用于缓存需要发送到外部存储单元的数据,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;
35.第三内部存储单元,用于缓存需要从外部存储单元读取的数据,第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据;
36.内部标记单元,用于缓存各数据块的存储去向信息;
37.数据发送单元,用于在满足数据发送条件时,从内部标记单元中获取各数据块的存储去向信息,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;
38.外部存储单元,用于缓存需要存储在该外部存储单元的数据;
39.控制单元,用于配置第一阈值、第二阈值、第三阈值及数据发送条件。
40.在其中一个实施例中,该系统的外部存储单元包括用于接收第二内部存储单元输出数据的第一外部存储单元和用于向第三内部存储单元输出数据的第二外部存储单元;
41.上述系统还包括迭代模块;迭代模块包括下一级的控制单元、数据接收单元、第一内部存储单元、第二内部存储单元、第三内部存储单元、外部存储单元、内部标记单元及数据发送单元;
42.系统中的第一外部存储单元连接迭代模块所包含的下一级的数据接收单元以作为迭代模块中的下一级的数据输入单元,第二外部存储单元连接迭代模块所包含的下一级的数据发送单元以作为迭代模块中的下一级的数据输出单元;
43.迭代模块中下一级的各单元之间的连接关系与系统中各单元之间的连接关系相同。
44.第四方面,本技术实施例提供了一种计算机设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行如上述任一实施例的数据缓存方法的步骤。
45.第五方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的数据缓存方法的步骤。
46.综上,与现有技术相比,本技术提供的技术方案带来的有益效果至少包括:
47.本技术提供的一种数据缓存方法、装置、系统、计算机设备及存储介质,其中,该方法包括:接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块;对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,判断第一内部存储单元的当前剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元,以便充分利用内部存储;若否,将该数据块存入第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;记录各数据块的存储去向信息;在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存
储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。上述方法可以通过对数据流进行分块,使得第一内部存储单元的剩余空间只要还足够存储一个预设大小的数据块,就将接收到的数据继续存入第一内部存储单元,能够充分利用第一内部存储单元,降低需要缓存到外部存储单元的数据量;同时,通过本身为内部存储的第一内部存储单元直接对接数据输入单元和数据输出单元进行数据传输,且无需通过外部存储单元与数据输入单元和数据输出单元直接对接,而是通过同为内部存储的第二内部存储单元和第三内部存储单元实现与数据处理系统之间的数据存取,保证了系统只和内部存储交互数据,可以避免外部存储导致的延时和系统带宽负担,提高数据缓存效率。
附图说明
48.图1为本技术一个示例性实施例提供的数据缓存方法的流程图。
49.图2为本技术一个示例性实施例提供的数据存入步骤的流程图。
50.图3为本技术一个示例性实施例提供的数据发送步骤的流程图。
51.图4为本技术又一个示例性实施例提供的数据缓存方法的流程图。
52.图5为本技术一个示例性实施例提供的数据缓存装置的结构图。
53.图6为本技术又一个示例性实施例提供的数据缓存装置的结构图。
54.图7为本技术一个示例性实施例提供的数据缓存系统的结构图。
55.图8为本技术又一个示例性实施例提供的数据缓存系统的结构图。
具体实施方式
56.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
57.请参见图1,本技术一实施例提供了一种数据缓存方法,该方法应用于数据处理系统的缓存过程中,以执行主体是缓存系统为例进行说明,该方法具体包括以下步骤:
58.步骤s1,数据接收步骤:接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块。
59.其中,数据输入单元为输入数据流的数据源,可以是音频采集设备、图像采集设备及其他需要实时获取大量数据的硬件设备,数据流可以为音频、图像等各种类型数据流,例如图像数据流。具体地,缓存系统可以实时接收数据输入单元输入的数据流,并根据缓存系统中预设的数据分块阈值将该数据流划分为多个预设大小的数据块,以使每个数据块的大小相同且不超过上述数据分块阈值,数据块大小可以等于数据分块阈值或者比数据分块阈值小一些,例如:数据分块阈值为两行图像数据时,既可以将数据流划分为多个大小为两行图像数据的数据块,也可以将数据流划分为多个大小为两行图像数据的数据块。
60.步骤s2,数据存储步骤:对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,根据第一内部存储单元的当前剩余空间是否足够存入该数据块,将该数据块存入第一内部存储单元或第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元。
61.其中,第一内部存储单元和第二内部存储单元均为内部存储,第二内部存储单元用于缓存需要发送到外部存储单元的数据;第二阈值可以是用户预先设置的阈值,例如半行图像数据。
62.步骤s3,存储去向记录步骤:记录各数据块的存储去向信息。
63.其中,每个数据块的存储去向信息可以是存储单元的标识信息或地址信息;具体地,在一个数据块被存入第一内部存储单元的情况下,该数据块的存储去向信息可以是第一内部存储单元的标识信息,例如tag1;而当一个数据块被发送到第二内部存储单元,又由第二内部存储单元存入外部存储单元的情况下,该数据块的存储去向信息则可以是外部存储单元的标识信息,例如tag2。
64.具体地,请参见图2,数据存入步骤可包括以下步骤:
65.步骤s21,接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块。
66.步骤s22,判断第一内部存储单元的当前剩余空间是否足够存入该数据块。
67.步骤s23,若是,将该数据块存入第一内部存储单元,并记录该数据块的存储去向信息。
68.步骤s24,若否,将该数据块存入第二内部存储单元,并记录该数据块的存储去向信息。
69.步骤s25,判断第二内部存储单元存储的数据量是否达到第二阈值。
70.步骤s26,若是,将第二内部存储单元存储的数据发送给外部存储单元。
71.步骤s4,数据发送步骤:在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。
72.其中,数据发送条件可以为内部触发条件或外部触发条件;内部触发条件可以是缓存系统内部预先配置的数据发送条件,例如预先设置定时数据发送的情况下,缓存系统内部可以设有的计时器到达预设时间时,即满足数据发送条件,开始获取数据用以发送;外部触发条件可以为接收到外部的数据处理模块发送的数据获取请求,例如:在图像数据处理系统中,缓存系统的下游图像处理模块已经空闲等。
73.具体地,缓存系统在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并按时间顺序将各数据块依次发送给数据输出单元。
74.在具体实施过程中,第一内部存储单元、第二内部存储单元及第三内部存储单元可以均使用fifo(first input first output)存储器,可以对连续的数据流进行缓存,具有防止丢失数据,并提高数据的传输速度的效果。
75.在步骤s4中,在满足数据发送条件要对外输出数据时,可优先从第一内部存储单元获取其缓存的数据块。在缓存数据不多,第一内部存储单元就够用的情况下,可以仅从第一内部存储单元获取数据发送给数据输出单元,提高了数据缓存效率;在缓存数据较多,第一内部存储单元不够用的情况下,使用外部存储单元来存储第一内部存储单元存储不下的数据,可以先从第一内部存储单元获取其缓存的数据块输出,再从第三内部存储单元中获
取其缓存的数据块输出;其中,第三内部存储单元在其剩余存储空间大于或等于第三阈值时会自动从外部存储单元中获取数据,而非等到满足数据发送条件时再从外部存储单元中获取数据,因此,在从第三内部存储单元获取数据前,要先输出的部分数据通常已从外部存储单元中存入第三内部存储单元中,在输出数据时无需费时等待第三内部存储单元从外部存储单元获取数据。上述数据发送步骤可以通过内部存储直接对接数据输出单元,能够避免外部存储导致的延时和带宽负担,提高缓存效率。
76.上述实施例中提供的一种数据缓存方法,该方法包括:接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块;对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,判断第一内部存储单元的当前剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元,以便充分利用内部存储;若否,将该数据块存入第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;记录各数据块的存储去向信息;在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。上述方法可以通过对数据流进行分块,使得第一内部存储单元的剩余空间只要还足够存储一个预设大小的数据块,就将接收到的数据继续存入第一内部存储单元,能够充分利用第一内部存储单元,降低需要缓存到外部存储单元的数据量;同时,通过本身为内部存储的第一内部存储单元直接对接数据输入单元和数据输出单元进行数据传输,且无需通过外部存储单元与数据输入单元和数据输出单元直接对接,而是通过同为内部存储的第二内部存储单元和第三内部存储单元实现与数据处理系统之间的数据存取,保证了系统只和内部存储交互数据,可以避免外部存储导致的延时和系统带宽负担,提高数据缓存效率。
77.在一些实施例中,步骤s1具体包括以下步骤:
78.获取预设的第一阈值,并根据第一阈值将数据流按时间顺序依次划分为多个相同大小的数据块,每个数据块的大小等于第一阈值。其中,第一阈值为数据流分块所使用的阈值,可以是用户预先设置的一个阈值,例如一行图像数据。
79.上述实施例中可以按照预设的第一阈值对数据流进行分块,以使每个数据块的大小等于第一阈值,用户可根据实际需要自行配置第一阈值,便于对数据分块的大小进行配置和调整。
80.在一些实施例中,步骤s2具体包括以下步骤:
81.检测第一内部存储单元的当前剩余存储容量值;根据第一内部存储单元的当前剩余存储容量值和第一阈值判断第一内部存储单元的剩余空间是否足够存入该数据块。
82.具体地,缓存系统可以实时监测第一内部存储单元的剩余存储容量值,将第一内部存储单元的当前剩余存储容量值与第一阈值进行比较;若第一内部存储单元的当前剩余存储容量值大于或等于第一阈值,则判定第一内部存储单元的当前剩余空间足够存入该数据块;否则,判定第一内部存储单元的当前剩余空间不足以存入该数据块。
83.本实施例中通过获取第一内部存储单元的当前剩余存储容量值,再比较第一内部存储单元的当前剩余存储容量值与第一阈值的大小来判断第一内部存储单元的当前剩余空间是否足够存入数据块,可以简单快捷地判断出要将数据块存储到何处,进一步提高效
率。
84.在上述各实施例中,第一阈值大于或等于第二阈值。
85.上述实施例可以通过设置第一阈值大于或等于第二阈值,使得每个数据块的大小大于第二内部存储单元要向外部存储发送数据的第二阈值,即一旦有一个数据块存入第二内部存储单元,第二内部存储单元就会将该数据块发送给外部存储单元进行存储,从而空出第二内部存储单元的存储空间以接收下一个数据块,能够进一步降低延时,提高数据缓存效率。
86.在一些实施例中,请参见图3,步骤s4具体包括以下步骤:
87.步骤s41,在满足数据发送条件时,获取记录的各数据块的存储去向信息。
88.其中,每个数据块的存储去向信息为用于标示该数据块存储到第一内部存储单元的第一标识或用于标示该数据块存储到外部存储单元的第二标识。在具体实施过程中,第一标识和第二标识可以使用简单的数字标识,以节省存储去向信息所需的存储空间和加快对存储去向信息的识别速度。例如,在数据块的存储去向为第一内部存储单元时,可设置第一标识为1,而数据块的存储去向为外部存储单元时,可设置第二标识为0。
89.步骤s42,判断数据块的存储去向信息为第一标识或第二标识。
90.步骤s43,在数据块的存储去向信息为第一标识时,从第一内部存储单元获取该数据块;在数据块的存储去向信息为第二标识时,从第三内部存储单元获取该数据块。
91.其中,第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从所述外部存储单元中获取数据。具体地,判断第三内部存储单元的剩余存储空间是否大于或等于第三阈值,若是,从外部存储单元获取数据存入第三内部存储单元中。其中,第三阈值可以是用户预先设置的阈值,例如半行图像数据。
92.步骤s44,将获取到的各数据块依次发送给数据输出单元。
93.具体地,缓存系统按照时间顺序将获取到的各数据块依次发送给数据输出单元。
94.上述实施例中采用第一标识或第二标识作为数据块的存储去向信息,可以更高效地确定出各数据块的存储位置,从而确定是由第一内部存储单元还是由第三内部存储单元获取数据进行输出。
95.在一些实施例中,外部存储单元包括用于接收第二内部存储单元输出数据的第一外部存储单元和用于向第三内部存储单元输出数据的第二外部存储单元;请参见图4,该方法还可以包括以下步骤:
96.步骤s5,迭代存储步骤:确定下一级的第一内部存储单元、外部存储单元、第二内部存储单元及第三内部存储单元,并以第一外部存储单元作为下一级的数据输入单元,以第二外部存储单元作为下一级的数据输出单元,依次迭代执行迭代配置步骤、数据接收步骤、数据存储步骤、存储去向记录步骤及数据发送步骤,直至迭代次数达到预设迭代次数。
97.在具体实施过程中,上述预设迭代次数可以为1次或2次。
98.上述实施例中可以采用迭代方式实现数据存储,在原有缓存系统的基础上,通过配置迭代的下一级内外存储组合,灵活地调整缓存系统中内部存储和外部存储的配置,便于用户根据实际需求对缓存结构进行配置或拓展,比如通过调整内外存储设置比例来实现总成本更低或延时更小的内外存储组合架构。
99.在一些实施例中,第一内部存储单元、第二内部存储单元及第三内部存储单元均
为片上存储器,外部存储单元为片外存储器。
100.其中,片上存储器也被称为片内存储器。单片机的片内存储器包括片内只读存储器(read-only memory,rom)和片内随机存取存储器(random access memory,ram),片内rom用于存储程序代码,片内ram用于存储数据;片外存储器包括片外rom和片外ram,片外rom用于存储程序代码,片外ram用于存储用户的可改写数据。
101.优选地,片上存储器可为静态随机存取存储器(static random-access memory,sram);片外存储器可为动态随机存取存储器(dynamic random access memory,dram)。
102.其中,sram读写速度快,缺点是价格高、容量小;dram与sram相比,集成度高、功耗低、成本低、适合做大容量存储。
103.上述实施例中的第一内部存储单元、第一内部存储单元和第一内部存储单元均为片上存储器(例如sram),外部存储单元为片外存储器(例如dram),通过片上存储器和片外存储器的优化组合,能够达到降低成本,避免延时的效果。
104.请参见图5,本技术一实施例提供了一种数据缓存装置,该装置包括:
105.数据接收模块11,用于接收数据输入单元输入的数据流,并将数据流划分为多个预设大小的数据块;
106.数据存储模块12,用于多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,判断第一内部存储单元的剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元;若否,将该数据块存入第二内部存储单元,第二内部存储单元被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元;
107.存储去向记录模块13,用于记录各数据块的存储去向信息;
108.数据发送模块14,用于在满足数据发送条件时,根据各数据块的存储去向信息从第一内部存储单元或第三内部存储单元获取各数据块,并将各数据块依次发送给数据输出单元;第三内部存储单元被配置为当其剩余存储空间大于或等于第三阈值时从外部存储单元中获取数据。
109.在一些实施例中,请参见图6,外部存储单元包括用于接收第二内部存储单元输出数据的第一外部存储单元和用于向第三内部存储单元输出数据的第二外部存储单元;该装置还包括:
110.迭代存储模块15,用于确定下一级的第一内部存储单元、外部存储单元、第二内部存储单元及第三内部存储单元,并以第一外部存储单元作为下一级的数据输入单元,以第二外部存储单元作为下一级的数据输出单元,依次迭代执行迭代配置步骤、数据接收步骤、数据存储步骤、存储去向记录步骤及数据发送步骤,直至迭代次数达到预设迭代次数。
111.在具体实施过程中,上述预设迭代次数可以为1次或2次。
112.在一些实施例中,数据接收模块11具体用于:
113.获取预设的第一阈值,并根据第一阈值将数据流按时间顺序依次划分为多个相同大小的数据块,每个数据块的大小等于第一阈值。
114.在一些实施例中,数据存储模块12具体用于:
115.检测第一内部存储单元的当前剩余存储容量值;根据第一内部存储单元的当前剩余存储容量值和第一阈值判断第一内部存储单元的剩余空间是否足够存入该数据块。
116.在一些实施例中,第一阈值大于或等于第二阈值。
117.在一些实施例中,数据发送模块14具体用于:
118.获取记录的各数据块的存储去向信息,每个数据块的存储去向信息为用于标示该数据块存储到第一内部存储单元的第一标识或用于标示该数据块存储到外部存储单元的第二标识;在数据块的存储去向信息为第一标识时,从第一内部存储单元获取该数据块;在数据块的存储去向信息为第二标识时,从第三内部存储单元获取该数据块。
119.在一些实施例中,第一内部存储单元、第二内部存储单元及第三内部存储单元均为片上存储器,外部存储单元为片外存储器。
120.优选地,片上存储器为静态随机存取存储器;片外存储器为动态随机存取存储器。
121.在一些实施例中,数据流为图像数据流。
122.本实施例中提供的关于数据缓存装置的具体限定,可以参见上文中关于数据缓存方法的实施例,于此不再赘述。上述数据缓存装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
123.请参见图7,本技术一实施例提供了一种数据缓存系统,该系统包括控制单元、数据接收单元101a、第一内部存储单元102a、第二内部存储单元103a、第三内部存储单元104a、外部存储单元105a、内部标记单元106a及数据发送单元107a;
124.数据接收单元101a,用于接收数据输入单元108a输入的数据流,并将数据流划分为多个预设大小的数据块,每个数据块的大小等于第一阈值;对多个预设大小的数据块依次进行存储;在每个数据块的存储过程中,获取第一内部存储单元102a的当前剩余存储容量值,判断第一内部存储单元102a的当前剩余空间是否足够存入该数据块;若是,将该数据块存入第一内部存储单元102a;若否,将该数据块存入第二内部存储单元103a;将各数据块的存储去向信息存入内部标记单元106a;
125.第一内部存储单元102a,用于接收和存储数据接收单元101a发送的数据,并将第一内部存储单元102a的当前剩余存储容量值发送给数据接收单元101a;
126.第二内部存储单元103a,用于缓存需要发送到外部存储单元105a的数据,第二内部存储单元103a被配置为当其存储的数据量达到第二阈值时将其存储的数据发送给外部存储单元105a;
127.第三内部存储单元104a,用于缓存需要从外部存储单元105a读取的数据,第三内部存储单元104a被配置为在其剩余存储空间大于或等于第三阈值时从外部存储单元105a中获取数据;
128.内部标记单元106a,用于缓存各数据块的存储去向信息;
129.数据发送单元107a,用于在满足数据发送条件时,从内部标记单元106a中获取各数据块的存储去向信息,根据各数据块的存储去向信息从第一内部存储单元102a或第三内部存储单元104a获取各数据块,并将各数据块依次发送给数据输出单元109a;
130.外部存储单元105a,用于缓存需要存储在该外部存储单元105a的数据;
131.控制单元,用于配置第一阈值、第二阈值、第三阈值及数据发送条件。
132.其中,数据输入单元108a为数据源,数据输出单元109a为数据输出的去向,例如外部的数据处理系统。数据接收单元101a分别连接数据输入单元108a、第一内部存储单元
102a、第二内部存储单元103a及内部标记单元106a;数据发送单元107a分别连接数据输出单元109a、第一内部存储单元102a、第三内部存储单元104a及内部标记单元106a;外部存储单元105a分别连接第二内部存储单元103a和第三内部存储单元104a;控制单元分别连接数据接收单元101a、数据发送单元107a、第二内部存储单元103a及第三内部存储单元104a。
133.上述系统中,内部标记单元106a与数据接收单元101a、数据发送单元107a之间的交互是标记流。
134.在一些实施例中,请参见图8,该系统的外部存储单元105a包括用于接收第二内部存储单元输出数据的第一外部存储单元1051a和用于向第三内部存储单元输出数据的第二外部存储单元1052a;
135.该系统还包括迭代模块;迭代模块包括下一级的控制单元、数据接收单元101b、第一内部存储单元102b、第二内部存储单元103b、第三内部存储单元104b、外部存储单元105b、内部标记单元106b及数据发送单元107b;
136.该系统中的第一外部存储单元1051a连接迭代模块所包含的下一级的数据接收单元101b以作为迭代模块中的下一级的数据输入单元108b,第二外部存储单元1052a连接迭代模块所包含的下一级的数据发送单元107b以作为迭代模块中的下一级的数据输出单元109b;
137.迭代模块中下一级的各单元之间的连接关系与该系统中各单元之间的连接关系相同。
138.在一些实施例中,第一阈值大于或等于第二阈值。
139.在一些实施例中,第一内部存储单元、第二内部存储单元及第三内部存储单元均为片上存储器,外部存储单元为片外存储器。
140.优选地,片上存储器为静态随机存取存储器;片外存储器为动态随机存取存储器。
141.本实施例中提供的关于数据缓存系统的具体限定,可以参见上文中关于数据缓存方法的实施例,于此不再赘述。上述数据缓存系统中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。
142.本技术一实施例提供了一种计算机设备,该计算机设备可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。处计算机程序被处理器执行时,使得处理器执行如上述任一实施例的数据缓存方法的步骤。
143.本实施例提供的计算机设备的工作过程、工作细节和技术效果,可以参见上文中关于数据缓存方法的实施例,于此不再赘述。
144.本技术一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的数据缓存方法的步骤。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或
记忆棒(memory stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
145.本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见上文中关于数据缓存方法的实施例,于此不再赘述。
146.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
147.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
148.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1