一种数据缓存管理方法、系统、设备以及介质技术方案

技术编号:25802071 阅读:16 留言:0更新日期:2020-09-29 18:36
本发明专利技术公开了一种数据缓存管理方法,包括以下步骤:从存储设备中获取待管理的数据;将待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;将字节序列存到缓存中;响应于接收到请求方获取缓存中的数据的请求,基于该请求获取待获取数据对应的字节序列;对对应的字节序列按照多个属性的预设顺序依次解析以得到对应的多个属性;将解析后的多个属性封装成对象以供请求方使用。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案通过将数据本身进行缓存到字节序列中,通过设计对象封装器,在缓存数据被请求时,将所请求数据封装成高级编程语言对象,用完释放这些对象,节约了高级编程语言对象本身所占的内存大小。

【技术实现步骤摘要】
一种数据缓存管理方法、系统、设备以及介质
本专利技术涉及数据管理领域,具体涉及一种数据缓存管理方法、系统、设备以及存储介质。
技术介绍
当今社会互联网高速发展,用户与应用数据快速增长,特别地,对于存储系统,系统比较复杂,需要管理的对象很多,为提高用户体验,管理软件往往会利用缓存提高软件响应速度。目前对于存储管理软件的数据缓存,一般做法是将管理的数据封装成高级编程语言对象放到内存中,监控这些被管理的数据是否有变化,当存在变化时,更新对应的高级编程语言对象。以Java为例,比如存储系统中的卷有44个属性,将1个卷数据封装成高级编程语言Java对象,至少需要44个引用,每个引用4字节,共需要167字节,如果6万个卷,则需要约10M,存放这些卷数据可能只需要30M内存,但为了保存这些对象,需要额外增加33%的容量。对于存储系统来说,系统本身业务复杂,需要很多内存来处理自身业务,管理软件属于辅助业务,是不允许占用太多内存的,除非存储系统内存较多,但为了适应不同客户,存储厂商一般均会提供小内存(比如4GB、8GB)存储设备。
技术实现思路
有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种数据缓存管理方法,包括以下步骤:从存储设备中获取待管理的数据;将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;将所述字节序列存到缓存中;响应于接收到请求方获取所述缓存中的数据的请求,基于该请求获取待获取数据对应的字节序列;对所述对应的字节序列按照所述多个属性的预设顺序依次解析以得到对应的所述多个属性;将解析后的所述多个属性封装成对象以供所述请求方使用。在一些实施例中,将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列,进一步包括:以所述待管理的数据的类型作为key,数据map对象作为value创建缓存map对象;将所述待管理的数据中同类型的多个数据以ID作为key,字节序列作为value放入同一个所述数据map对象中;将所述数据map对象和所述缓存map对象存到所述缓存中。在一些实施例中,响应于接收到请求方获取所述缓存中的数据的请求,基于该请求获取待获取数据对应的字节序列,进一步包括:判断所述请求中是否包括所述待获取数据的类型和ID;响应于所述请求中包括所述待获取数据的类型和ID,根据所述待获取数据的类型在所述缓存map对象获取到对应的数据map对象,再根据所述待获取的数据的ID在所述对应的数据map对象中获取到对应的字节序列。在一些实施例中,还包括:响应于所述请求中仅包括所述待获取数据的类型,根据所述待获取数据的类型在所述缓存map对象获取到对应的数据map对象,将所述对应的数据map对象中所有的字节序列作为所述对应的字节序列。在一些实施例中,还包括:响应于所述对象使用完成后,将所述对象释放以释放占用的内存。在一些实施例中,还包括:响应于监控到所述待管理的数据在所述存储设备中被删除,根据被删除的数据的类型和ID将对应的所述数据map对象中的数据删除;响应于监控到所述待管理的数据在所述存储设备中被修改,根据被修改的数据的类型和ID更新对应的所述数据map对象中对应的字节序列;响应于监控到新增待管理的数据,根据新增的数据的类型和ID将所述新增的数据对应的字节序列存放到对应的所述数据map对象中。在一些实施例中,响应于监控到所述待管理的数据在所述存储设备中被修改,根据被修改的数据的类型和ID更新对应的所述数据map对象中对应的字节序列,进一步包括:将所述被修改的数据对应的字节序列替换所述数据map对象中原字节序列。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种数据缓存管理系统,包括:获取模块,所述获取模块配置为从存储设备中获取待管理的数据;生成模块,所述生成模块配置为将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;缓存模块,所述缓存模块配置为将所述字节序列存到缓存中;第一响应模块,所述第一响应模块配置为响应于接收到请求方获取所述缓存中的数据的请求,基于该请求获取待获取数据对应的字节序列;解析模块,所述解析模块配置为对所述对应的字节序列按照所述多个属性的预设顺序依次解析以得到对应的所述多个属性;封装模块,所述封装模块配置为将解析后的所述多个属性封装成对象以供所述请求方使用。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种数据缓存管理方法的步骤。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种数据缓存管理方法的步骤。本专利技术具有以下有益技术效果之一:本专利技术提出的方案通过将数据本身进行缓存到字节序列中,通过设计对象封装器,在缓存数据被请求时,将所请求数据封装成高级编程语言对象,用完释放这些对象,节约了高级编程语言对象本身所占的内存大小。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术的实施例提供的数据缓存管理方法的流程示意图;图2为本专利技术的实施例提供的请求缓存中的数据的流程示意图;图3为本专利技术的实施例提供的数据存入缓存的流程示意图;图4为本专利技术的实施例提供的数据缓存管理系统的结构示意图;图5为本专利技术的实施例提供的计算机设备的结构示意图;图6为本专利技术的实施例提供的计算机可读存储介质的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。需要说明的是,在本专利技术的实施例中,所述数据均是指管理软件所管理的数据。根据本专利技术的一个方面,本专利技术的实施例提出一种数据缓存管理方法,如图1所示,其可以包括步骤:S1,从存储设备中获取待管理的数据;S2,将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;S3,将所述字节序列存到缓存中;S4,响应于接收到请求方获取所述缓存中的数据的请求本文档来自技高网...

【技术保护点】
1.一种数据缓存管理方法,其特征在于,包括以下步骤:/n从存储设备中获取待管理的数据;/n将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;/n将所述字节序列存到缓存中;/n响应于接收到请求方获取所述缓存中的数据的请求,基于所述请求获取待获取数据对应的字节序列;/n对所述对应的字节序列按照所述多个属性的预设顺序依次解析以得到对应的所述多个属性;/n将解析后的所述多个属性封装成对象以供所述请求方使用。/n

【技术特征摘要】
1.一种数据缓存管理方法,其特征在于,包括以下步骤:
从存储设备中获取待管理的数据;
将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列;
将所述字节序列存到缓存中;
响应于接收到请求方获取所述缓存中的数据的请求,基于所述请求获取待获取数据对应的字节序列;
对所述对应的字节序列按照所述多个属性的预设顺序依次解析以得到对应的所述多个属性;
将解析后的所述多个属性封装成对象以供所述请求方使用。


2.如权利要求1所述的方法,其特征在于,将所述待管理的数据的多个属性按照预设顺序排序以生成对应的字节序列,进一步包括:
以所述待管理的数据的类型作为key,数据map对象作为value创建缓存map对象;
将所述待管理的数据中同类型的多个数据以ID作为key,字节序列作为value放入同一个所述数据map对象中;
将所述数据map对象和所述缓存map对象存到所述缓存中。


3.如权利要求2所述的方法,其特征在于,响应于接收到请求方获取所述缓存中的数据的请求,基于所述请求获取待获取数据对应的字节序列,进一步包括:
判断所述请求中是否包括所述待获取数据的类型和ID;
响应于所述请求中包括所述待获取数据的类型和ID,根据所述待获取数据的类型在所述缓存map对象获取到对应的数据map对象,再根据所述待获取的数据的ID在所述对应的数据map对象中获取到对应的字节序列。


4.如权利要求3所述的方法,其特征在于,还包括:
响应于所述请求中仅包括所述待获取数据的类型,根据所述待获取数据的类型在所述缓存map对象获取到对应的数据map对象,将所述对应的数据map对象中所有的字节序列作为所述对应的字节序列。


5.如权利要求1所述的方法,其特征在于,还包括:
响应于所述对象使用完成后,将所述对象释放以释放占用的内存。


6.如权利要求2所述的方...

【专利技术属性】
技术研发人员:高瑞胜
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1