一种数据列表的缓存方法及装置制造方法及图纸

技术编号:35174586 阅读:17 留言:0更新日期:2022-10-12 17:40
本发明专利技术公开了一种数据列表的缓存方法及装置,获取Web客户端发送的数据列表读取请求,基于该请求从Web缓存服务或数据库获取活跃数据列表,以及从Web缓存服务获取静态文件标识,将活跃数据列表和静态文件标识返回至Web客户端,在接收到Web客户端发送的静态文件请求后,向Web客户端返回携带静态文件的数据包,Web客户端将活跃数据列表和静态文件中静态数据列表中的数据对象去重后合并成完整的数据列表,数据包的头部设置HTTP缓存的缓存配置。Web缓存服务和数据库属于站内资源,HTTP缓存属于站外资源,不计入源站生产硬件成本中,本发明专利技术通过对数据列表进行合理拆分,最大程度上降低了Web缓存服务的使用量。Web缓存服务的使用量。Web缓存服务的使用量。

【技术实现步骤摘要】
一种数据列表的缓存方法及装置


[0001]本专利技术涉及数据存储
,更具体的说,涉及一种数据列表的缓存方法及装置。

技术介绍

[0002]为了支撑用户访问的并发量,Web服务接口通常都会在接口内部设置缓存。这些缓存一般都会采用常见的Web缓存服务,比如redis、memcached等。Web缓存服务为了支撑访问的并发量,会将数据列表作为被缓存对象放在Web缓存服务所在设备的内存里。
[0003]然而,内存缓存的数据越多,消耗就越大。并且相比于其他的存储器硬件(比如硬盘),内存的硬件成本更高。因此,将数据列表缓存在内存是需要一定的硬件成本的。当数据列表太长时,需要的缓存内存消耗也会增大。与此同时,Web缓存服务通常不与Web服务部署在同一个服务器上,因此数据列表太长也会导致Web缓存服务和Web服务之前的传输数据包变大变多,从而形成内网流量瓶颈。
[0004]综上,如何降低Web缓存服务的使用量,实现在降低硬件成本的同时保证大数据列表的正常下发,成为本领域技术人员亟需解决的技术问题。

技术实现思路

[0005]有鉴于此,本专利技术公开一种数据列表的缓存方法及装置,以实现在降低硬件成本的同时保证大数据列表的正常下发。
[0006]一种数据列表的缓存方法,应用于Web服务器,所述缓存方法包括:获取Web客户端发送的数据列表读取请求,其中,所述数据列表读取请求中携带有数据列表ID;基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表,其中,所述活跃数据列表为由最新增量数据组成的数据列表;基于所述数据列表读取请求从所述Web缓存服务获取对应的静态文件标识;将所述活跃数据列表和所述静态文件标识返回至所述Web客户端;获取所述Web客户端发送的静态文件请求,其中,所述静态文件请求在所述Web客户端基于所述静态文件标识的值大于第一数值确定静态文件存在时生成,所述静态文件请求中携带有所述数据列表ID和所述静态文件标识;向所述Web客户端返回携带所述静态文件的数据包,由所述Web客户端将所述活跃数据列表中的数据对象和所述静态文件中静态数据列表中的数据对象基于数据对象ID去重后合并成完整的数据列表,其中,所述数据包的头部设置HTTP缓存的缓存配置。
[0007]可选的,所述基于所述数据列表ID从Web缓存服务或数据库获取对应的活跃数据列表,包括:根据所述数据列表ID确定活跃数据列表键值;基于所述活跃数据列表键值判断在所述Web缓存服务中是否能够查询到所述活跃
数据列表;如果是,则直接从所述Web缓存服务中获取所述活跃数据列表。
[0008]可选的,还包括:如果否,则基于所述数据列表ID向数据库发送活跃数据列表查询请求;获取所述数据库返回的活跃数据列表,并基于所述活跃数据列表键值,将所述活跃数据列表写入所述Web缓存服务中,其中,所述活跃数据列表中的数据对象按照ID从大到小的顺序排序,且最大长度为所述预设长度限值。
[0009]可选的,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度小于所述预设长度限值时,将所述活跃数据列表和值为第一数值的所述静态文件标识返回至所述Web客户端,使所述Web客户端基于所述第一数值确定仅使用所述活跃数据列表,其中,所述第一数值表明所述静态文件不存在。
[0010]可选的,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度等于所述预设长度限值时,基于静态文件键值查询Web缓存服务获得所述静态文件标识,其中,所述静态文件键值基于所述数据列表ID确定。
[0011]可选的,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度等于预设长度限值时,检查静态文件标识,当所述静态文件标识的缓存不存在时,将所述数据列表ID提交到任务池生成对应的静态文件;将所述静态文件标识的值设置为第二数值,所述第二数值用于表征静态文件正在生成;将所述活跃数据列表和所述静态文件标识返回至所述Web客户端,由所述Web客户端基于所述静态文件标识的值确定是否使用所述静态文件。
[0012]可选的,还包括:当所述活跃数据列表的长度等于所述预设长度限值,且所述静态文件标识的缓存存在时,判断所述活跃数据列表中的最小数据对象ID是否小于所述静态文件标识的值;如果是,则确定所述活跃数据列表与所述静态文件中的数据有重合;如果否,则确定活跃数据列表与静态文件中的数据不完全重合,并将所述数据列表ID提交到所述任务池重新生成所述静态文件。
[0013]可选的,所述将所述数据列表ID提交到任务池生成对应的静态文件,包括:基于所述数据列表ID向数据库发送全量数据列表读取请求,并为全量数据列表创建一个内容为空的静态文件;获取所述数据库返回的所述全量数据列表,并将所述全量数据列表写入所述静态文件中;将所述全量数据列表中的最大数据对象ID作为静态文件标识的值写入Web缓存服务中;将所述数据列表ID和所述静态文件标识的值作为创建的所述静态文件的文件名唯一标识。
[0014]一种数据列表的缓存装置,应用于Web服务器,所述缓存装置包括:列表请求获取单元,用于获取Web客户端发送的数据列表读取请求,其中,所述数据列表读取请求中携带有数据列表ID;列表获取单元,用于基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表,其中,所述活跃数据列表为由最新增量数据组成的数据列表;第一静态文件标识获取单元,用于基于所述数据列表读取请求从所述Web缓存服务获取对应的静态文件标识;第一返回单元,用于将所述活跃数据列表和所述静态文件标识返回至所述Web客户端;文件请求获取单元,用于获取所述Web客户端发送的静态文件请求,其中,所述静态文件请求在所述Web客户端基于所述静态文件标识的值大于第一数值确定静态文件存在时生成,所述静态文件请求中携带有所述数据列表ID和所述静态文件标识;第二返回单元,用于向所述Web客户端返回携带所述静态文件的数据包,由所述Web客户端将所述活跃数据列表中的数据对象和所述静态文件中静态数据列表中的数据对象基于数据对象ID去重后合并成完整的数据列表,其中,所述数据包的头部设置HTTP缓存的缓存配置。
[0015]可选的,所述列表获取单元包括:键值确定子单元,用于根据所述数据列表ID确定活跃数据列表键值;判断子单元,用于基于所述活跃数据列表键值判断在所述Web缓存服务中是否能够查询到所述活跃数据列表;第一获取子单元,用于在所述判断子单元判断为是的情况下,直接从所述Web缓存服务中获取所述活跃数据列表。
[0016]可选的,所述列表获取单元还包括:发送子单元,用于在所述判断子单元判断为否的情况下,基于所述数据列表ID向数据库发送活跃数据列表查询请求;第二获取子单元,用于获取所述数据库返回的活跃数据列表,并基于所述活跃数据列表键值,将所述活跃数据列表写入所述Web缓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据列表的缓存方法,其特征在于,应用于Web服务器,所述缓存方法包括:获取Web客户端发送的数据列表读取请求,其中,所述数据列表读取请求中携带有数据列表ID;基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表,其中,所述活跃数据列表为由最新增量数据组成的数据列表,所述活跃数据列表的长度不大于预设长度限值;基于所述数据列表读取请求从所述Web缓存服务获取对应的静态文件标识;将所述活跃数据列表和所述静态文件标识返回至所述Web客户端;获取所述Web客户端发送的静态文件请求,其中,所述静态文件请求在所述Web客户端基于所述静态文件标识的值大于第一数值确定静态文件存在时生成,所述静态文件请求中携带有所述数据列表ID和所述静态文件标识;向所述Web客户端返回携带所述静态文件的数据包,由所述Web客户端将所述活跃数据列表中的数据对象和所述静态文件中静态数据列表中的数据对象基于数据对象ID去重后合并成完整的数据列表,其中,所述数据包的头部设置HTTP缓存的缓存配置。2.根据权利要求1所述的缓存方法,其特征在于,所述基于所述数据列表ID从Web缓存服务或数据库获取对应的活跃数据列表,包括:根据所述数据列表ID确定活跃数据列表键值;基于所述活跃数据列表键值判断在所述Web缓存服务中是否能够查询到所述活跃数据列表;如果是,则直接从所述Web缓存服务中获取所述活跃数据列表。3.根据权利要求2所述的缓存方法,其特征在于,还包括:如果否,则基于所述数据列表ID向数据库发送活跃数据列表查询请求;获取所述数据库返回的活跃数据列表,并基于所述活跃数据列表键值,将所述活跃数据列表写入所述Web缓存服务中,其中,所述活跃数据列表中的数据对象按照ID从大到小的顺序排序,且最大长度为所述预设长度限值。4.根据权利要求1所述的缓存方法,其特征在于,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度小于所述预设长度限值时,将所述活跃数据列表和值为第一数值的所述静态文件标识返回至所述Web客户端,使所述Web客户端基于所述第一数值确定仅使用所述活跃数据列表,其中,所述第一数值表明所述静态文件不存在。5.根据权利要求1所述的缓存方法,其特征在于,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度等于所述预设长度限值时,基于静态文件键值查询Web缓存服务获得所述静态文件标识,其中,所述静态文件键值基于所述数据列表ID确定。6.根据权利要求1所述的缓存方法,其特征在于,在所述基于所述数据列表读取请求从Web缓存服务或数据库获取对应的活跃数据列表之后,还包括:当所述活跃数据列表的长度等于所述预设长度限值时,检查静态文件标识,当所述静态文件标识的缓存不存在时,将所述数据列表ID提交到任务池生成对应的静态文件;将所述静态文件标识的值设置为第二数值,所述第二数值用于表征静态文件正在生
成;将所述活跃数据列表和所述静态文件标识返回至所述Web客户端,由所述Web客户端基于所述静态文件标识的值确定是否使用所述静态文件。7.根据权利要求1所述的缓存方法,其特征在于,还包括:当所述活跃数据列表的长度等于所述预设长度限值,且所述静态文件标识的缓存存在时,判断所述活跃数据列表中的最小数据对象ID是否小于所述静态文件标识的值;如果是,则确定所述活跃数据列表与所述静态文件中的数据有重合;如果否,则确定活跃数据列表与静态文件中的数据不完全重合,并将所述数据列表ID提交到任务池重新生成所述静态文件。8.根据权利要求6所述的缓存方法,其特征在于,所述将所述数据列表ID提交到任务池生成对应的静态文件,包括:基于所述数据列表ID向数据库发送全量数据列表读取请求,并为全量数据列表创建一个内容为空的静态文件;获取所述数据库返回的所述全量数据列表,并将所述全量数据列表写入所述静态文件中;将所述全量数据列表中的最大数据对象ID作为静态文件标识的值写入Web缓存服务中;将所述数据列表ID和所述静态文件标识的值作为创建的所述静态文件的文件名唯一标识。9.一种数据列表的缓存装置,其特征在于,应用于Web服务器,所述缓存装置包括:列表请求获取单元,用于获取Web客户端发送的数据列表读取请求,其中,所述数据列表读取请求中携带有数据列表ID;列表获取单元,用于基于所述数据列表读取请求...

【专利技术属性】
技术研发人员:周俊君李静连周辉
申请(专利权)人:广州市千钧网络科技有限公司
类型:发明
国别省市:

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

1