基于双缓存区的缓存方法、装置、设备及存储介质制造方法及图纸

技术编号:25184494 阅读:14 留言:0更新日期:2020-08-07 21:12
本发明专利技术涉及云技术领域,公开了一种基于双缓存区的缓存方法、装置、设备及存储介质,用于利用线程共享的缓存方式与线程隔离的缓存方式缓存数据,提高了数据缓存的灵活性。基于双缓存区的缓存方法包括:获取目标终端的缓存请求;判断缓存请求是否属于写入缓存请求、读取缓存请求或者删除缓存请求;若缓存请求属于写入缓存请求,采用线程共享写入方式或者线程隔离写入方式,将写入映射结构缓存实体写入预置缓存区;若缓存请求属于读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中获取目标预置映射结构缓存实体;若缓存请求属于删除缓存请求,则采用线程共享删除方式或者线程隔离删除方式删除预置待删除缓存请求实体。

【技术实现步骤摘要】
基于双缓存区的缓存方法、装置、设备及存储介质
本专利技术涉及云
,尤其涉及一种基于双缓存区的缓存方法、装置、设备及存储介质。
技术介绍
随着科技的发展,人类在上网时会产生各种各样的数据缓存,由于浏览网页过多,会产生较多的数据缓存,那么如何更好的将数据进行缓存,成为了一个急需解决的问题。目前采用java中的哈希映射(HashMap)以及一些开源的本地缓存框架当作本地缓存使用。在现有的技术中,这种本地全局性的缓存不适合在线程隔离共享的场景中使用,局限性较大,且开源的缓存框架过于笨重,缓存的灵活性较低。
技术实现思路
本专利技术的主要目的在于解决数据缓存中局限性较大且灵活性较低的问题。本专利技术第一方面提供了一种基于双缓存区的缓存方法,包括:获取目标终端的缓存请求;判断所述缓存请求是否属于写入缓存请求、读取缓存请求或者删除缓存请求;若所述缓存请求属于所述写入缓存请求,则获取写入映射结构缓存实体,并采用线程共享写入方式或者线程隔离写入方式,将所述写入映射结构缓存实体写入预置缓存区,所述预置缓存区包括预置线程共享缓存区和预置线程隔离缓存区;若所述缓存请求属于所述读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中,获取目标预置映射结构缓存实体并读取所述目标预置映射结构缓存实体,所述目标预置映射结构缓存实体为第一目标预置映射结构缓存实体或者第二目标预置映射结构缓存实体,所述第一目标预置映射结构缓存实体为通过线程共享读取方式从预置线程共享缓存区获取的预置映射结构缓存实体,所述第二目标预置映射结构缓存实体为通过线程隔离读取方式从预置线程隔离缓存区获取的预置映射结构缓存实体;若所述缓存请求属于所述删除缓存请求,则采用线程共享删除方式或者线程隔离删除方式,在预置缓存区中获取多个预置待删除缓存实体,并删除所述多个预置待删除缓存实体,所述多个预置待删除缓存实体为多个第一预置待删除缓存实体或者多个第二预置待删除缓存实体,所述多个第一预置待删除缓存实体为缓存在预置线程共享缓存区中的预置缓存实体,所述多个第二预置待删除缓存实体为缓存在预置线程隔离缓存区中的预置缓存实体。可选的,在本专利技术第一方面的第一种实现方式中,所述若所述缓存请求属于所述写入缓存请求,则获取写入映射结构缓存实体,并采用线程共享写入方式或者线程隔离写入方式,将所述写入映射结构缓存实体写入预置缓存区,所述预置缓存区包括预置线程共享缓存区和预置线程隔离缓存区包括:若所述缓存请求属于所述写入缓存请求,则判断是否存在预置缓存区,若不存在预置缓存区,则先建立预置线程隔离缓存区,再建立预置线程共享缓存区,得到预置缓存区;根据所述写入缓存请求获取初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型;根据所述写入逻辑类型,判断所述写入缓存请求的写入方式是否为线程共享写入方式或者为线程隔离写入方式;若判定所述写入缓存请求的写入方式为线程共享写入方式,则将所述预置线程共享缓存区的状态调整为临时读写状态,调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程共享缓存区;若判定所述写入缓存请求的写入方式为线程隔离写入方式,则调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程隔离缓存区。可选的,在本专利技术第一方面的第二种实现方式中,所述根据所述写入缓存请求获取初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型包括:根据所述写入缓存请求确定缓存句柄,并根据所述缓存句柄匹配对应的第一映射结构缓存实体;在所述第一映射结构缓存实体中添加键值,生成第二映射结构缓存实体,所述键值用于保存所述第一映射结构缓存实体的内容值;在所述第二映射结构缓存实体中添加有效时长,生成第三映射结构缓存实体;在所述第三映射结构缓存实体中添加更新时刻,生成初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型,所述有效时长与所述更新时刻用于判断所述初始写入映射结构是否超时失效。可选的,在本专利技术第一方面的第三种实现方式中,所述若判定所述写入缓存请求的写入方式为线程隔离写入方式,则调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程隔离缓存区包括:若判定所述写入缓存请求的写入方式为线程隔离写入方式,则将所述初始写入映射结构缓存实体与所述预置线程隔离缓存区中的多个预置写入线程进行匹配,得到目标写入线程;在所述预置线程隔离缓存区中判断所述目标写入线程是否存在对应的写入子缓存区;若在所述预置线程隔离缓存区中,不存在所述目标写入线程对应的写入子缓存区,则建立所述目标写入线程对应的写入子缓存区,得到目标写入子缓存区;将所述初始写入映射结构缓存实体的更新时刻调整为当前时刻,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体存储到所述目标写入子缓存区中,所述目标写入子缓存区设置在所述预置线程隔离缓存区中。可选的,在本专利技术第一方面的第四种实现方式中,所述若所述缓存请求属于所述读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中,获取目标预置映射结构缓存实体并读取所述目标预置映射结构缓存实体,所述目标预置映射结构缓存实体为第一目标预置映射结构缓存实体或者第二目标预置映射结构缓存实体,所述第一目标预置映射结构缓存实体为通过线程共享读取方式从预置线程共享缓存区获取的预置映射结构缓存实体,所述第二目标预置映射结构缓存实体为通过线程隔离读取方式从预置线程隔离缓存区获取的预置映射结构缓存实体包括:若所述缓存请求属于所述读取缓存请求,则基于所述缓存请求提取读取句柄;基于所述读取句柄,确定读取逻辑类型,并基于所述读取逻辑类型判断所述读取缓存请求的读取方式是否为线程共享读取方式或者线程隔离读取方式;若所述读取缓存请求的读取方式为所述线程共享读取方式,则将所述预置线程共享缓存区的状态调整为临时读写状态,并从所述预置线程共享缓存区中获取第一目标预置映射结构缓存实体并读取所述第一目标预置映射结构缓存实体;若所述读取缓存请求的读取方式为所述线程隔离读取方式,则从所述预置线程隔离缓存区中获取第二目标预置映射结构缓存实体,并读取所述第二目标预置映射结构缓存实体。可选的,在本专利技术第一方面的第五种实现方式中,所述若所述读取缓存请求的读取方式为所述线程隔离读取方式,则从所述预置线程隔离缓存区中获取第二目标预置映射结构缓存实体,并读取所述第二目标预置映射结构缓存实体包括:若所述读取缓存请求的读取方式为所述线程隔离读取方式,则在所述预置线程隔离缓存区的多个预置读取线程中,确定目标读取线程;根据所述目标读取线程,提取目标读取子线程,并从所述目标读取子线程中读取第二目标预置映射结构缓存实体;获取所述第二目标预置映射结构缓存实体的预置有效时长、预置更新时刻和当前时刻,对所述预置有效时长和所述预置更新时刻求和,得到失效时刻,并判断所述当前时刻是否大于所述失效时刻;若所述当前时刻大于所述失效时刻,则将第二目标预置映射结构缓存本文档来自技高网...

【技术保护点】
1.一种基于双缓存区的缓存方法,其特征在于,所述基于双缓存区的缓存方法包括:/n获取目标终端的缓存请求;/n判断所述缓存请求是否属于写入缓存请求、读取缓存请求或者删除缓存请求;/n若所述缓存请求属于所述写入缓存请求,则获取写入映射结构缓存实体,并采用线程共享写入方式或者线程隔离写入方式,将所述写入映射结构缓存实体写入预置缓存区,所述预置缓存区包括预置线程共享缓存区和预置线程隔离缓存区;/n若所述缓存请求属于所述读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中,获取目标预置映射结构缓存实体并读取所述目标预置映射结构缓存实体,所述目标预置映射结构缓存实体为第一目标预置映射结构缓存实体或者第二目标预置映射结构缓存实体,所述第一目标预置映射结构缓存实体为通过线程共享读取方式从预置线程共享缓存区获取的预置映射结构缓存实体,所述第二目标预置映射结构缓存实体为通过线程隔离读取方式从预置线程隔离缓存区获取的预置映射结构缓存实体;/n若所述缓存请求属于所述删除缓存请求,则采用线程共享删除方式或者线程隔离删除方式,在预置缓存区中获取多个预置待删除缓存实体,并删除所述多个预置待删除缓存实体,所述多个预置待删除缓存实体为多个第一预置待删除缓存实体或者多个第二预置待删除缓存实体,所述多个第一预置待删除缓存实体为缓存在预置线程共享缓存区中的预置缓存实体,所述多个第二预置待删除缓存实体为缓存在预置线程隔离缓存区中的预置缓存实体。/n...

【技术特征摘要】
1.一种基于双缓存区的缓存方法,其特征在于,所述基于双缓存区的缓存方法包括:
获取目标终端的缓存请求;
判断所述缓存请求是否属于写入缓存请求、读取缓存请求或者删除缓存请求;
若所述缓存请求属于所述写入缓存请求,则获取写入映射结构缓存实体,并采用线程共享写入方式或者线程隔离写入方式,将所述写入映射结构缓存实体写入预置缓存区,所述预置缓存区包括预置线程共享缓存区和预置线程隔离缓存区;
若所述缓存请求属于所述读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中,获取目标预置映射结构缓存实体并读取所述目标预置映射结构缓存实体,所述目标预置映射结构缓存实体为第一目标预置映射结构缓存实体或者第二目标预置映射结构缓存实体,所述第一目标预置映射结构缓存实体为通过线程共享读取方式从预置线程共享缓存区获取的预置映射结构缓存实体,所述第二目标预置映射结构缓存实体为通过线程隔离读取方式从预置线程隔离缓存区获取的预置映射结构缓存实体;
若所述缓存请求属于所述删除缓存请求,则采用线程共享删除方式或者线程隔离删除方式,在预置缓存区中获取多个预置待删除缓存实体,并删除所述多个预置待删除缓存实体,所述多个预置待删除缓存实体为多个第一预置待删除缓存实体或者多个第二预置待删除缓存实体,所述多个第一预置待删除缓存实体为缓存在预置线程共享缓存区中的预置缓存实体,所述多个第二预置待删除缓存实体为缓存在预置线程隔离缓存区中的预置缓存实体。


2.根据权利要求1所述的基于双缓存区的缓存方法,其特征在于,所述若所述缓存请求属于所述写入缓存请求,则获取写入映射结构缓存实体,并采用线程共享写入方式或者线程隔离写入方式,将所述写入映射结构缓存实体写入预置缓存区,所述预置缓存区包括预置线程共享缓存区和预置线程隔离缓存区包括:
若所述缓存请求属于所述写入缓存请求,则判断是否存在预置缓存区,若不存在预置缓存区,则先建立预置线程隔离缓存区,再建立预置线程共享缓存区,得到预置缓存区;
根据所述写入缓存请求获取初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型;
根据所述写入逻辑类型,判断所述写入缓存请求的写入方式是否为线程共享写入方式或者为线程隔离写入方式;
若判定所述写入缓存请求的写入方式为线程共享写入方式,则将所述预置线程共享缓存区的状态调整为临时读写状态,调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程共享缓存区;
若判定所述写入缓存请求的写入方式为线程隔离写入方式,则调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程隔离缓存区。


3.根据权利要求2所述的基于双缓存区的缓存方法,其特征在于,所述根据所述写入缓存请求获取初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型包括:
根据所述写入缓存请求确定缓存句柄,并根据所述缓存句柄匹配对应的第一映射结构缓存实体;
在所述第一映射结构缓存实体中添加键值,生成第二映射结构缓存实体,所述键值用于保存所述第一映射结构缓存实体的内容值;
在所述第二映射结构缓存实体中添加有效时长,生成第三映射结构缓存实体;
在所述第三映射结构缓存实体中添加更新时刻,生成初始写入映射结构缓存实体,并根据所述初始写入映射结构缓存实体确定写入逻辑类型,所述有效时长与所述更新时刻用于判断所述初始写入映射结构是否超时失效。


4.根据权利要求2所述的基于双缓存区的缓存方法,其特征在于,所述若判定所述写入缓存请求的写入方式为线程隔离写入方式,则调整所述初始写入映射结构缓存实体,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体写入预置线程隔离缓存区包括:
若判定所述写入缓存请求的写入方式为线程隔离写入方式,则将所述初始写入映射结构缓存实体与所述预置线程隔离缓存区中的多个预置写入线程进行匹配,得到目标写入线程;
在所述预置线程隔离缓存区中判断所述目标写入线程是否存在对应的写入子缓存区;
若在所述预置线程隔离缓存区中,不存在所述目标写入线程对应的写入子缓存区,则建立所述目标写入线程对应的写入子缓存区,得到目标写入子缓存区;
将所述初始写入映射结构缓存实体的更新时刻调整为当前时刻,得到写入映射结构缓存实体,并将所述写入映射结构缓存实体存储到所述目标写入子缓存区中,所述目标写入子缓存区设置在所述预置线程隔离缓存区中。


5.根据权利要求1所述的基于双缓存区的缓存方法,其特征在于,所述若所述缓存请求属于所述读取缓存请求,则采用线程共享读取方式或者线程隔离读取方式从预置缓存区中,获取目标预置映射结构缓存实体并读取所述目标预置映射结构缓存实体,所述目标预置映射结构缓存实体为第一目标预置映射结构缓存实体或者第二目标预置映射结构缓存实体,所述第一目标预置映射结构缓存实体为通过线程共享读取方式从预置线程共享缓存区获取的预置映射结构缓存实体,所述第二目标预置映射结构缓存实体为通过线...

【专利技术属性】
技术研发人员:艾可德
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1