[发明专利]一种基于java平台的数据缓存方法在审
申请号: | 201510830707.X | 申请日: | 2015-11-25 |
公开(公告)号: | CN105279104A | 公开(公告)日: | 2016-01-27 |
发明(设计)人: | 杨超 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F12/0802 | 分类号: | G06F12/0802 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 宋焰琴 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 平台 数据 缓存 方法 | ||
技术领域
本发明涉及电子商务中数据存储领域,尤其涉及一种基于java平台的数据缓存方法。
背景技术
近年来,随着电子商务的兴起,网购中的“购物车”已成为各大电商企业最为核心交易基础组件。购物车也是用户购物必经之路和枢纽,不容有任何闪失,数据访问量庞大,而且不定期量高峰,“购物车”稳定性也成为电子商务企业系统追求的主要目标之一。由于影响购物车稳定性因素特多,汇聚了基础服务和自身存储于一体,直接面向公网的购物枢纽。支持购物车的主要基础服务:商品、促销、用户和购物车自身存储,全部为动态实时调用服务,当时的工作重点是处理流量过大时会出现基础服务无法访问的问题。此问题真正的瓶颈在于基础服务:当大量用户抢购时,经常会出现对热销商品的服务,包括促销、价格、用户等,最后落点仅分摊到单个redis片上,导致整个交易集群连接数据过高,无法响应。为了解决此问题,向用户提供更好的购物体验,设计出了热数据缓存的方案。
现有技术中,如图1所示,通过利用应用服务器的富余资源,缓存最热的相关数据。缓存最热的数据时效很短,缓解基础服务的存储以及服务器的压力,而应用服务可水平扩充,达到频繁访问的效果,使得整体的速度更快,容量更大。然而,这种“用时间换取空间”的方式并不适用于电商中的某些具体应用场景,例如,“购物车”到结算页的数据都是实时数据,为了达到较好用户体验,其缓存时间要维持在毫秒级,显然现有技术的这种方式并不能满足需求;另外,在一些电商平台中,其平台架构是以java语言实现的,而Redis存储是在C语言开辟的内存中,跟java平台交互需要通过转换,这显然也延误了时间。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种基于java平台的数据缓存方法及系统,在缓解因请求量巨大而对源站带来压力的情况下,解决现有技术方案中时效性差的问题,彻底满足了对商品价格展示的实时性的需求,并能根据流量增长的需求进行扩容。
(二)技术方案
本发明提供一种基于java平台的数据缓存方法及系统,包括:
S1,在每次数据访问中,获取海量数据中每个数据被访问的频率;
S2,筛选出被访问频率最高的多个数据,并将这些数据缓存于java内存中。
本发明提供还一种基于java平台的数据缓存系统,包括:
访问频率获取单元,用于在每次数据访问中,获取海量数据中每个数据被访问的频率;
数据筛选缓存单元,用于筛选出被访问频率最高的多个数据,并将多个数据缓存于java内存中。
(三)有益效果
本发明提供的数据缓存方法及系统,通过将热数据直接缓存于java内存中,并通过queue序列按照先进先出的方式存放该热数据,缓解了访问压力同时,具有较好的时效性,提高了用户体验。
附图说明
图1是现有技术中利用应用服务器缓存最热数据的示意图。
图2是本发明实施例提供的电子商务中的数据缓存的示意图。
具体实施方式
本发明提供一种基于java平台的数据缓存方法及系统,将被访问频率最高的多个数据缓存于java内存,同时,通过queue序列按照先进先出的方式存放该热数据,缓解了访问压力同时,具有较好的时效性,提高了用户体验。
根据本发明的一种实施方式,基于java平台的数据缓存方法包括:
S1,在每次数据访问中,获取海量数据中每个数据被访问的频率;
S2,筛选出被访问频率最高的多个数据,并将这些数据缓存于java内存中。
根据本发明的一种实施方式,在步骤S2中,在java内存中创建一个queue序列,将被访问频率最高的前N个数据作为热数据,按照先入先出的顺序放入queue序列中,其中,N为所述queue序列的大小,N的取值可根据海量数据的大小而确定,例如,在海量数据的大小为1T时,N取1000。
根据本发明的一种实施方式,根据热数据在所述queue序列存在的时间,判断该热数据是否失效,若未失效,则将该热数据保留在所述queue序列中,否则将该热数据从所述queue序列中删除。
根据本发明的一种实施方式,在判断该热数据是否失效时,将该热数据存在于queue序列的时间与一阈值进行比较,若小于等于该阈值,则判定该热数据未失效,否则判定该热数据已失效。
根据本发明的一种实施方式,基于java平台的数据缓存系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510830707.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置