CN114463162A - 图像缓存处理方法、装置、电子设备以及存储介质 - Google Patents
图像缓存处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN114463162A CN114463162A CN202011130180.7A CN202011130180A CN114463162A CN 114463162 A CN114463162 A CN 114463162A CN 202011130180 A CN202011130180 A CN 202011130180A CN 114463162 A CN114463162 A CN 114463162A
- Authority
- CN
- China
- Prior art keywords
- cache
- image
- node
- service request
- space
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种图像缓存处理方法、装置、电子设备以及存储介质。所述方法包括:接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。采用本申请方案,在进行缓存之前,可以根据业务需求对目标缓存空间所使用的缓存长度基本单位进行自定义设置,保证缓存数据长度上有着很好的通用性和扩展性。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种图像缓存处理方法、装置、电子设备以及存储介质。
背景技术
在安防存储技术领域,很多应用场景需要提供对大数据块大规模的异步并发处理以提高读写性能。但是,往往由于数据结构和业务类型不一致,需要采取不同的缓存策略与结构,导致缓存应用的通用性低,甚至会造成结构一致性难以保障和缓存空间利用率有限。为此,如何保证有效地对图像进行缓存变得十分重要。
发明内容
本发明实施例中提供了一种图像缓存处理方法、装置、电子设备以及存储介质,以实现图像缓存策略的通用性,以及提高缓存空间利用率。
第一方面,本发明实施例中提供了一种图像缓存处理方法,包括:
接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
第二方面,本发明实施例中还提供了一种图像缓存处理装置,包括:
业务请求接收模块,用于接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
业务请求处理模块,用于通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
第三方面,本发明实施例中还提供了一种电子设备,包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现本发明实施例中任一所述的图像缓存处理方法。
第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现本发明实施例中任一所述的图像缓存处理方法。
本申请实施例中提供了一种图像缓存处理方法,目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分;在接收前端设备下发的至少一个图像缓存业务请求后,将至少一个图像缓存业务请求发送到图像缓存处理线程,通过图像缓存处理线程,在目标缓存空间下对至少一个图像缓存业务请求进行任务处理。
采用本申请技术方案,在进行缓存之前,可以根据业务需求对目标缓存空间所使用的缓存长度基本单位进行自定义设置,保证缓存数据长度上有着很好的通用性和扩展性,缓存空间中包括不同类型的数据部分,各种类型数据的长度都统一为一个固定的缓存长度基本单位,使得在缓存时能够统一的通过固定的缓存长度基本单位的id去寻址和管理,同时还可极大的提高了缓存空间的使用效率,尽可能避免出现由于不同类型信息的格式长度不同而导致部分类型信息使用完毕,其余信息还有很大剩余的情况。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种图像缓存处理方法的流程图;
图2是本发明实施例中提供的一种图像数据缓存结构的整体结构示意图;
图3是本发明实施例中提供的一种缓存节点的节点结构示意图;
图4是本发明实施例中提供的一种图像缓存处理装置的结构框图;
图5是本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本发明实施例中提供的一种图像缓存处理方法的流程图。本申请实施例的技术方案可适用于对监控场景下前端设备发送的图像数据进行缓存的情况,该方法可以由图像缓存处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并集成在任何具有网络通信功能的电子设备上。如图1所示,本申请实施例中的图像缓存处理方法,可以包括以下步骤:
S110、接收前端设备下发的至少一个图像缓存业务请求,并将至少一个图像缓存业务请求发送到图像缓存处理线程。
S120、通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理。
其中,目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
在本实施例中,前端设备可以采集获取图像数据,并将采集的图像数据进行缓存处理,进而将缓存的图像数据集中刷到磁盘中进行存储,这样可以避免前端设备直接向磁盘中存储数据,导致频繁对磁盘进行读写,影响磁盘的读写性能。这样一来,就需要设计采用高效地图像缓存空间来进行图像缓存。
在本实施例中,图2是本发明实施例中提供的一种图像数据缓存结构的整体结构示意图。参见图2,图像数据缓存从结构划分为3个部分,其可包括缓存结构总体部分head、缓存节点描述部分inode以及缓存节点存储部分cache_group。其中,缓存结构总体部分head主要存储整个图像数据缓存结构的总体信息;缓存节点描述部分inode表征缓存节点存储部分中各个缓存节点的使用情况;缓存节点存储部分cache_group存储各个缓存节点的具体信息。
在本实施例中,参见图2,目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定。其中,物理空间可包括物理内存以及其他高速缓存器。在目标缓存空间中,图像数据缓存中的缓存结构总体部分head、缓存节点描述部分inode以及缓存节点存储部分cache_group中承载的各类型数据长度均统一为一个固定长度的缓存长度基本单位slice。这样一来就能统一的通过缓存长度基本单位slice的id去寻址和管理,提高了寻址和管理的便捷性;同时,可尽可能避免出现由于不同类型信息的格式长度不同而导致部分类型信息使用完毕,其余信息还有很大剩余的情况,提高了缓存空间的使用效率。
在本实施例中,在对前端设备的图像数据进行缓存时,可针对前端设备提供一套图像缓存业务请求的标准接口,例如,图像缓存业务请求的标准接口包括缓存节点创建请求接口open、缓存数据写入请求接口write、缓存节点关闭请求接口close以及缓存数据读取请求接口read。由于同一时间会有大量前端设备发送不同的图像缓存业务请求,所以图像缓存业务请求的标准接口设置成异步非阻塞模式。
在本实施例中,在接收到前端设备发送的图像缓存业务请求后,可以将各个图像缓存业务请求发送到图像缓存处理线程。进而,可通过图像缓存处理线程,在目标缓存空间下的对应缓存节点对至少一个图像缓存业务请求进行处理。
在本实施例的又一种可选方案中,本实施例可以与上述一个或者多个实施例中各个可选方案结合。其中,将至少一个图像缓存业务请求发送到图像缓存处理线程,可包括以下步骤A1-A2:
步骤A1、通过业务请求裁决,对前端设备下发的各图像缓存业务请求进行任务排序。
步骤A2、依据任务排序结果将各图像缓存业务请求依次下发给图像缓存处理线程;其中,图像缓存业务请求包括以下至少一项:缓存节点创建请求、缓存数据写入请求、缓存节点关闭请求以及缓存数据读取请求。
在本实施例中,业务请求裁决adjuster的主要作用就是为接收的各个图像缓存业务请求进行排序,以便实现缓存节点释放和打开根据缓存结构空闲容量实现动态平衡。图像缓存业务请求包括从前端设备下发的缓存节点创建请求open_in、缓存数据写入请求write_in、缓存数据读取请求read_in、缓存节点关闭请求close_in,还有内部缓存节点处理完毕回收产生的free任务请求。
在本实施例中,需要指出的是这些内部的业务请求任务都是非阻塞的,这些任务只和内存进行交互。对于缓存节点创建请求open_in,当缓存空间没有足够的空间创建缓存节点时,其会再由adjuster进行排序,不会丢弃。对于其他业务请求任务,在业务请求任务处理失败时会直接丢弃并返回响应错误或者打印相应告警信息。经过adjuster进行排序,可以将各个图像缓存业务请求依次下发到图像缓存处理线程,由其处理这些非阻塞的业务请求任务。
在本实施例的又一种可选方案中,本实施例可以与上述一个或者多个实施例中各个可选方案结合。其中,通过图像缓存处理线程,在目标缓存空间下对至少一个图像缓存业务请求进行任务处理,可包括以下步骤B1-B2:
步骤B1、若图像缓存业务请求为缓存节点创建请求,则通过图像缓存处理线程调用缓存节点创建接口,在目标缓存空间的缓存节点存储部分下,创建一个添加有描述信息和标签信息的缓存节点。
步骤B2、在创建完成一个缓存节点后,将缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待填充链表头,使缓存节点状态变更为待填充。
在本实施例中,缓存节点创建请求中携带有需要缓存的图像数据的描述信息和标签信息,在调用缓存节点创建接口create接口,以及跟踪参数信息和数据块大小,在目标缓存空间的缓存节点存储部分下创建一个缓存节点,同步地会在创建的缓存节点中添加描述信息和标签信息。
在本实施例中,缓存结构总体部分head包括管理信息和缓存节点cache的结构信息。管理信息中主要是5个链表头,代表着缓存节点处于的不同阶段状态,其分别可为等待填充链表头、等待操作链表头、等待回调链表头、等待重载链表头,以及等待释放链表头。结构信息中包括缓存节点描述部分inode校验值、结构头信息、校验魔术签名、版本、缓存结构总体部分head在物理空间(例如物理内存)中的起始位置、缓存总大小、缓存长度基本单位slice大小、缓存节点的个数以及预留的空间。
在本实施例中,在创建完成缓存节点后,将该缓存节点信息加入缓存结构总体部分head中的等待填充链表头Waiting_Fill_Head链表,并更新缓存节点状态为待填充,等待图像数据的写入。这里,缓存节点创建请求open_in没有寻找缓存节点位置功能,避免在该线程中不必要的耗时操作。缓存节点中的回调函数goback函数会进行回调告知缓存任务已经下发到目的地,不需要在向缓存结构中进行读操作了,可以避免耗时的遍历动作。
在本实施例中,参见图2,可选地,缓存节点描述部分inode描述缓存节点存储部分cache组的使用情况,每2个map位表征一个缓存节点存储部分cache组的使用情况,00表示空闲,01表示在使用、11表示未满。缓存节点描述部分inode的有效长度由缓存节点存储部分cache总容量决定。
在本实施例的又一种可选方案中,本实施例可以与上述一个或者多个实施例中各个可选方案结合。其中,通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理,还可包括以下步骤:
在创建一个缓存节点后,若图像缓存业务请求包括缓存节点写入请求,则通过图像缓存处理线程调用缓存节点写入接口,向目标缓存空间的缓存节点存储部分下的对应缓存节点写入前端设备传送的图像数据。
在本实施例中,参见图2,在填充数据过程中,调用缓存节点写入接口write接口,向目标缓存空间的缓存节点存储部分下的对应缓存节点写入前端设备传送的图像数据。
在本实施例的又一种可选方案中,本实施例可以与上述一个或者多个实施例中各个可选方案结合。其中,通过图像缓存处理线程,在目标缓存空间下对至少一个图像缓存业务请求进行任务处理,还可包括以下步骤C1-C2:
步骤C1、在向一个缓存节点写入图像数据后,若图像缓存业务请求包括缓存节点关闭请求,则通过图像缓存处理线程调用缓存节点关闭接口,关闭目标缓存空间的缓存节点存储部分下的缓存节点。
步骤C2、将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头,使该缓存节点状态变更为待执行。
在本实施例中,当前端设备向目标缓存空间的缓存节点存储部分下的缓存节点中传输数据完成后,可继续下发对应的一个缓存节点关闭请求,以通过缓存节点关闭请求判断缓存节点是否已经将数据写入完成。进而,在图像缓存处理线程下,通过调用缓存节点关闭接口,关闭目标缓存空间的缓存节点存储部分下的缓存节点。
在本实施例中,参见图2,在判断缓存节点已经准备好,需要执行响应的自定义操作opt任务,可将准备好的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头Waiting_Opt_Head节点,并更新缓存节点状态为待填充。例如,在监控卡口应用场合里,写入的数据还需要做进一步处理,比如提取图像数据中的关键信息上传数据库,因此自定义Opt函数,多线程处理缓存里多个待执行的缓存任务,处理结果由回调函数通知对应的缓存节点。由此,缓存任务正常上已经处理完毕,更新任务状态为待释放。
在本实施例的又一种可选方案中,本实施例可以与上述一个或者多个实施例中各个可选方案结合。其中,在将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头之后,还可包括以下步骤D1-D3:
步骤D1、将缓存节点从目标缓存空间的缓存结构总体部分下的等待操作链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义操作函数。
步骤D2、将缓存节点从目标缓存空间的缓存结构总体部分下的等待回调链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义回调函数。
步骤D3、在加载过程中,将未执行完毕的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待重载链表头,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义重加载函数。
在本实施例中,参见图2,缓存节点存储部分cache_group主要分为2部分,缓存节点存储部分的头部信息head和缓存节点存储部分的iteam数组。缓存节点存储部分的头部信息head描述该缓存节点存储部分cache_group的长度和使用情况,具体有head的校验、iteam的总数(该值不固定的原因是最后一个cache_group支持长度比标准小)、使用的数目、inode和预留。其中缓存节点描述部分inode每2位标识一个iteam的类型和使用,00标识未启用,01标识缓存节点iteam类型为cache节点的标签信息(tag),10标识iteam类型为cache节点的描述信息(desc),11标识iteam类型为cache节点的数据信息。
在本实施例中,图3是本发明实施例中提供的一种缓存节点的节点结构示意图。参见图3,一个cache节点包括三种信息,分别是标签信息(tag)、描述信息(desc)、数据信息(data)。其中,标签信息和描述信息是必需的,数据信息根据使用者的需求而定。
在本实施例中,参见图3,标签信息(tag)记录着该缓存节点cache节点的总体信息,包括hang_info(状态挂载信息)、tag信息校验、tag_flag(标识该iteam为tag信息)、status(标识cache节点的状态,后续介绍)、描述信息的校验值、描述信息开始iteam的id、数据信息校验值、数据信息所在iteam的id列表、执行任务的执行结果、子cache头信息的id以及预留空间。考虑到有效任务的数据信息,一个cache头信息中的memid-list不够存储所有数据信息,故而以链表的信息增加数据信息iteam的id存储总数。
在本实施例中,参见图3,描述信息(desc)描述任务在各个阶段的执行函数及其所需要的参数,其具体上可分为两部分:执行函数信息和执行参数信息。执行函数信息中包括标识(desc_flag标识该iteam属于描述信息)、下个描述信息的指针、三种执行函数的名字、执行函数所在动态库的全路径、预留。三种执行函数分别是opt(任务执行的函数)、goback(任务执行完毕回调的函数)、reload(设备重启后,缓存重新加载后的重载处理函数)。执行参数信息包括标识信息、下个标识信息的指针、参数信息。这样,将动态库路径和函数名写入缓存结构的方式使得缓存任务配置的高度灵活,且回调函数具体功能完全由业务层自定义实现,只要满足固定的接口类型即可。
在本实施例中,可选地,可将缓存节点从目标缓存空间的缓存结构总体部分下的等待操作链表头Waiting_Opt_Head中取出,并选择一个空闲线程依据自定义创建的操作函数执行任务。依据执行结果,对目标缓存空间的缓存节点存储部分下缓存节点的标签信息中的执行结果字段进行更新,并将缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待回调链表头Waiting_goback_Head。例如任务分离器Dispatcher 1将缓存节点从Waiting_Opt_Head取出,选择一个线程去执行任务,执行的任务是由创建时自定义的opt函数,这个过程是阻塞的。根据执行结果,将返回的错误码,更新如缓存节点中的tag信息中的result字段;然后加入等待回调链表头Waiting_goback_Head,并更新缓存节点状态为待回调。
在本实施例中,可选地,在回调时,可将缓存节点从等待回调链表头Waiting_goback_Head链表中取出,执行回调函数。其中,回调函数是在创建时自定义的goback函数,该函数可以根据上面说的result做出不同的处理,当然也可以什么都不做。处理完后,更新缓存节点状态为待释放,并加入等待释放链表头Waiting_free_Head。Lib_ACC_MNG中主要动态保存着自定义的缓存节点的回调接口,避免重复加载动态库的开销。
在本实施例中,重载的过程主要是在缓存信息从其他非易失性介质中加载到内存中后,在加载过程中加还未执行完毕的缓存节点信息加入等待重载链表头Waiting_Reload_Head,然后根据自定义的reload方法去处理。可选地,可根据adjuster将释放的任务和其他创建的缓存节点进行排序,以保障,释放的空间和创建的要均衡,并通过非阻塞线程对缓存节点进行回收。
在本实施例中,加载的过程支持数据不一致时的校验和重建,以保障缓存结构的一致性。具体包括:校验头部,如果有问题通过缓存大小和slice大小重新格式化头部信息;初始化head中的mng_info,这部分信息必须重建;校验inode信息,如果无效需要根据缓存节点的标识找到每个缓存节点,进行校验,最后重建inode区;校验每个缓存节点,无效的删除,有效的根据状态挂载在head中的不同链表上;启动各个服务线程;初始化成功。
在本实施例中,待释放的缓存任务通过free接口进入adjuster与其他前端设备的请求排序,释放缓存空间,数据刷入下一级存储空间比如磁盘。如果前端发送了针对该图片数据的读请求,那么在图片数据刷入磁盘之前,通过调用缓存节点读取接口read接口可以直接读缓存节点中的图像数据。
在本申请实施例的图像缓存处理方案中,在进行缓存之前,可以根据业务需求对目标缓存空间所使用的缓存长度基本单位进行自定义设置,保证缓存数据长度上有着很好的通用性和扩展性,缓存空间中包括不同类型的数据部分,各种类型数据的长度都统一为一个固定的缓存长度基本单位,使得在缓存时能够统一的通过固定的缓存长度基本单位的id去寻址和管理,同时还可极大的提高了缓存空间的使用效率,尽可能避免出现由于不同类型信息的格式长度不同而导致部分类型信息使用完毕,其余信息还有很大剩余的情况。
图4是本发明实施例中提供的一种图像缓存处理装置的结构框图。本申请实施例的技术方案可适用于对监控场景下前端设备发送的图像数据进行缓存的情况,该装置可以采用软件和/或硬件的方式实现,并集成在任何具有网络通信功能的电子设备上。如图4所示,本申请实施例中的图像缓存处理装置,可以包括以下:业务请求接收模块410和业务请求处理模块420。其中:
业务请求接收模块410,用于接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
业务请求处理模块420,用于通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
在上述实施例的基础上,可选地,所述缓存结构总体部分存储整个图像数据缓存结构的总体信息;缓存节点描述部分存储有各个缓存节点的使用情况;缓存节点存储部分存储有各个缓存节点的具体信息,缓存节点的具体信息包括标签信息、描述信息以及数据信息。
在上述实施例的基础上,可选地,业务请求接收模块410包括:
通过业务请求裁决,对前端设备下发的各图像缓存业务请求进行任务排序;
依据任务排序结果将各图像缓存业务请求依次下发给图像缓存处理线程;
其中,图像缓存业务请求包括以下至少一项:缓存节点创建请求、缓存数据写入请求、缓存节点关闭请求以及缓存数据读取请求。
在上述实施例的基础上,可选地,业务请求处理模块420包括:
若所述图像缓存业务请求为缓存节点创建请求,则通过图像缓存处理线程调用缓存节点创建接口,在目标缓存空间的缓存节点存储部分下,创建一个添加有描述信息和标签信息的缓存节点;
在创建完成一个缓存节点后,将缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待填充链表头,使缓存节点状态变更为待填充。
在上述实施例的基础上,可选地,业务请求处理模块420包括:
在创建一个缓存节点后,若所述图像缓存业务请求包括缓存节点写入请求,则通过图像缓存处理线程调用缓存节点写入接口,向目标缓存空间的缓存节点存储部分下的对应缓存节点写入前端设备传送的图像数据。
在上述实施例的基础上,可选地,业务请求处理模块420包括:
在向一个缓存节点写入图像数据后,若所述图像缓存业务请求包括缓存节点关闭请求,则通过图像缓存处理线程调用缓存节点关闭接口,关闭目标缓存空间的缓存节点存储部分下的缓存节点;
将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头,使该缓存节点状态变更为待执行。
在上述实施例的基础上,可选地,在将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头之后,还包括:
将缓存节点从目标缓存空间的缓存结构总体部分下的等待操作链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义操作函数;
将缓存节点从目标缓存空间的缓存结构总体部分下的等待回调链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义回调函数;
在加载过程中,将未执行完毕的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待重载链表头,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义重加载函数。
本申请实施例中所提供的图像缓存处理装置可执行上述本申请任意实施例中所提供的图像缓存处理方法,具备执行该图像缓存处理方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例中所提供的图像缓存处理方法。
图5是本发明实施例中提供的一种电子设备的结构示意图。如图5所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器510和存储装置520;该电子设备中的处理器510可以是一个或多个,图5中以一个处理器510为例;存储装置520用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器510执行,使得所述一个或多个处理器510实现如本发明实施例中任一项所述的图像缓存处理方法。
该电子设备还可以包括:输入装置530和输出装置540。
该电子设备中的处理器510、存储装置520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
该电子设备中的存储装置520作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的图像缓存处理方法对应的程序指令/模块。处理器510通过运行存储在存储装置520中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中图像缓存处理方法。
存储装置520可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器510执行时,程序进行如下操作:
接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器510执行时,程序还可以进行本发明任意实施例中所提供的图像缓存处理方法中的相关操作。
本发明实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行存储卡处理方法,该方法包括:
接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的图像缓存处理方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种图像缓存处理方法,其特征在于,包括:
接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
2.根据权利要求1所述的方法,其特征在于,所述缓存结构总体部分存储整个图像数据缓存结构的总体信息;缓存节点描述部分存储有各个缓存节点的使用情况;缓存节点存储部分存储有各个缓存节点的具体信息,缓存节点的具体信息包括标签信息、描述信息以及数据信息。
3.根据权利要求1所述的方法,其特征在于,将所述至少一个图像缓存业务请求发送到图像缓存处理线程,包括:
通过业务请求裁决,对前端设备下发的各图像缓存业务请求进行任务排序;
依据任务排序结果将各图像缓存业务请求依次下发给图像缓存处理线程;
其中,图像缓存业务请求包括以下至少一项:缓存节点创建请求、缓存数据写入请求、缓存节点关闭请求以及缓存数据读取请求。
4.根据权利要求1所述的方法,其特征在于,通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理,包括:
若所述图像缓存业务请求为缓存节点创建请求,则通过图像缓存处理线程调用缓存节点创建接口,在目标缓存空间的缓存节点存储部分下,创建一个添加有描述信息和标签信息的缓存节点;
在创建完成一个缓存节点后,将缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待填充链表头,使缓存节点状态变更为待填充。
5.根据权利要求1所述的方法,其特征在于,通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理,包括:
在创建一个缓存节点后,若所述图像缓存业务请求包括缓存节点写入请求,则通过图像缓存处理线程调用缓存节点写入接口,向目标缓存空间的缓存节点存储部分下的对应缓存节点写入前端设备传送的图像数据。
6.根据权利要求1所述的方法,其特征在于,通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理,包括:
在向一个缓存节点写入图像数据后,若所述图像缓存业务请求包括缓存节点关闭请求,则通过图像缓存处理线程调用缓存节点关闭接口,关闭目标缓存空间的缓存节点存储部分下的缓存节点;
将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头,使该缓存节点状态变更为待执行。
7.根据权利要求6所述的方法,其特征在于,在将创建的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待操作链表头之后,还包括:
将缓存节点从目标缓存空间的缓存结构总体部分下的等待操作链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义操作函数;
将缓存节点从目标缓存空间的缓存结构总体部分下的等待回调链表头中取出,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义回调函数;
在加载过程中,将未执行完毕的缓存节点挂载到目标缓存空间的缓存结构总体部分下的等待重载链表头,执行目标缓存空间的缓存节点存储部分下描述信息记录的自定义重加载函数。
8.一种图像缓存处理装置,其特征在于,包括:
业务请求接收模块,用于接收前端设备下发的至少一个图像缓存业务请求,并将所述至少一个图像缓存业务请求发送到图像缓存处理线程;
业务请求处理模块,用于通过图像缓存处理线程,在目标缓存空间下对所述至少一个图像缓存业务请求进行任务处理;
其中,所述目标缓存空间采用预设的图像数据缓存结构按照一个预设的缓存长度基本单位对预设物理空间进行初始化确定,且所述预设的图像数据缓存结构包括缓存结构总体部分、缓存节点描述部分以及缓存节点存储部分。
9.一种电子设备,其特征在于,包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现权利要求1-7中任一项所述的图像缓存处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述的图像缓存处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011130180.7A CN114463162A (zh) | 2020-10-21 | 2020-10-21 | 图像缓存处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011130180.7A CN114463162A (zh) | 2020-10-21 | 2020-10-21 | 图像缓存处理方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114463162A true CN114463162A (zh) | 2022-05-10 |
Family
ID=81405047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011130180.7A Pending CN114463162A (zh) | 2020-10-21 | 2020-10-21 | 图像缓存处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114463162A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539636A (zh) * | 2023-12-06 | 2024-02-09 | 摩尔线程智能科技(北京)有限责任公司 | 总线模块的内存管理方法、装置、电子设备和存储介质 |
-
2020
- 2020-10-21 CN CN202011130180.7A patent/CN114463162A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539636A (zh) * | 2023-12-06 | 2024-02-09 | 摩尔线程智能科技(北京)有限责任公司 | 总线模块的内存管理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597818A (zh) | 数据更新方法、装置、存储介质和设备 | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN111949568B (zh) | 一种报文处理方法、装置及网络芯片 | |
CN103607428B (zh) | 一种访问共享内存的方法和装置 | |
US9086920B2 (en) | Device for managing data buffers in a memory space divided into a plurality of memory elements | |
CN110750356B (zh) | 适用于非易失性内存的多核交互方法、***及存储介质 | |
US7770177B2 (en) | System for memory reclamation based on thread entry and release request times | |
TW200406672A (en) | Free list and ring data structure management | |
US20130080738A1 (en) | Processor configured to perform transactional memory operations | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
US11579874B2 (en) | Handling an input/output store instruction | |
CN113438184B (zh) | 网卡的队列管理方法、装置及电子设备 | |
CN114463162A (zh) | 图像缓存处理方法、装置、电子设备以及存储介质 | |
US9021492B2 (en) | Dual mode reader writer lock | |
CN116755635B (zh) | 一种硬盘控制器缓存***、方法、硬盘设备及电子设备 | |
CN112948336B (zh) | 数据加速方法及缓存单元、电子设备及存储介质 | |
CN108874560B (zh) | 进行通信的方法和通信设备 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
JP2011248468A (ja) | 情報処理装置および情報処理方法 | |
CN113760465A (zh) | 一种事务执行方法、装置、服务器、设备和存储介质 | |
US8112584B1 (en) | Storage controller performing a set of multiple operations on cached data with a no-miss guarantee until all of the operations are complete | |
CN116821058B (zh) | 元数据访问方法、装置、设备及存储介质 | |
CN116303125B (zh) | 请求调度方法、缓存、装置、计算机设备及存储介质 | |
CN112486421B (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
KR100725921B1 (ko) | 전송 제어 프로토콜과 사용자 데이터그램 프로토콜의 소켓검색 장치 |
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 |