应对大流量数据的多级缓存方法与流程

文档序号:24790707发布日期:2021-04-23 14:02阅读:124来源:国知局

1.本发明涉及计算机技术领域,尤其涉及一种应对大流量数据的多级缓存方法。


背景技术:

2.传统计算机系统中,数据存储大多为即时存储、即时落库的处理方式,比如系统接收到一条数据信息就直接处理并存储到后台数据库。单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终产生服务宕机的严重问题。
3.随着微服务技术的推广使用,部分系统会将接收的数据进行数据库存储后,再进行缓存存储,当用户访问请求后先读取缓存,如果缓存不存在该数据,则再读取数据库,这样可以减少访问的数据读取时间,降低数据库访问量,从而提升访问的流畅度。这种技术主要以分布式的高速缓存系统(memcached)、基于内存的数据库存储系统(redis)为主,但此类存储技术均为集中式缓存技术,在大流量访问的情况下,需要高频网络访问,随之带来了带宽瓶颈和网络延迟。


技术实现要素:

4.本发明所要解决的技术问题是提供一种应对大流量数据的多级缓存方法,本方法解决系统在高并发的访问情况下,高效分级存储大数据,提高大数据处理的及时性,提升系统流畅性和稳定性,同时极大降低服务器的存储成本以及流量费用。
5.为解决上述技术问题,本发明应对大流量数据的多级缓存方法包括如下步骤:步骤一、初始化建立不同类型的缓存,并根据终端用户的距离远近进行缓存等级分类,缓存类型包括app客户端本地缓存、业务网关缓存、服务器单元节点本地缓存、远程集中式数据缓存;步骤二、系统通过所提供的对外服务,接收外部提交的大流量缓存数据,大流量缓存数据包括数据基础信息和数据内容信息,其中,数据基础信息包括数据的终端app标记、用户id、ip、系统描述生成时间;步骤三、将大流量缓存数据进行前置数据处理和后置数据处理,完成缓存数据的分片和分级,产生缓存数据版本标识和时间标记;步骤四、根据缓存数据的分片和分级,若缓存数据涉及用户展示页面相关,存入app客户端的本地内存缓存,若缓存数据涉及后台服务数据,则存储到相对应的应用服务器节点;步骤五、经过路由处理后的缓存数据,复制一份缓存数据副本,异步提交到数据处理队列,更新到远程集中式数据缓存以及后台数据库;步骤六、根据缓存数据版本标识和时间标记,对缓存数据进行定时存储处理、定时更新并清除失效缓存数据,检查不同级别缓存数据的一致性;
步骤七、当系统用户对缓存数据进行访问读取时,根据缓存数据的读取路由处理规则,按照不同的缓存数据分级方式,进行缓存数据的访问。
6.进一步,所述步骤一中,根据终端用户的距离远近进行缓存等级分类是根据数据从用户终端到服务器、再到后台数据库的上送和回传的传输距离远近,将平台的缓存数据分为用户app客户端的一级缓存、业务网关的二级缓存、服务器单元节点本地三级缓存以及远程集中式数据缓存,用户终端的缓存数据根据一级缓存、二级缓存和三级缓存的顺序读取和存储。
7.进一步,所述步骤三中,前置数据处理的规则是将缓存数据按照终端app标记、用户id、区域位置、数据时间戳进行基础分类,创建对应处理作业;缓存数据分级规则是解析流量缓存数据里的系统描述信息,根据系统进行重要性分级;缓存数据分片规则是将缓存数据根据终端app标记、用户id、区域位置信息进行hash,然后取模,形成数据片,经过分片后的缓存数据,形成分片缓存数据信息、缓存数据版本标识和时间标记的基本缓存数据结构;后置数据处理规则是缓存数据分片处理完成后,为保证缓存数据的有效性,根据缓存数据重要性分级进行异步存储处理,缓存数据重要性决定了缓存数据异步存储的先后顺序,重要性高的优先存储,并上送到远程集中式数据缓存。
8.进一步,所述数据时间戳按数据流量大小设定,一般缓存数据流量的数据时间戳设定为分钟级,大缓存数据流量的数据时间戳设定为秒级,更大缓存数据流量的数据时间戳设定为毫秒级。
9.进一步,所述步骤六中,不同级别缓存数据一致性的检查包括;根据缓存类型,优先检查后台数据库和远程集中式数据缓存的数据一致性,判断存储的缓存数据版本、时间是否一致,如果不一致,则与服务器单元节点本地缓存核对,如三者中两个相同,则取该缓存数据为更新的缓存数据,如三者均不相同,则要求调用用户终端的缓存数据,以用户终端的缓存数据为更新的缓存数据。
10.进一步,所述步骤七中,缓存数据的读取路由处理规则为优先访问app客户端本地缓存,并与业务网关缓存判断缓存数据的时间戳和版本,不一致则更新app客户端本地缓存,业务网关缓存请求判断app客户端本地缓存中缓存数据的时间戳和版本。
11.由于本发明应对大流量数据的多级缓存方法采用了上述技术方案,即本方法初始化建立不同类型的缓存,并对终端用户分级,划分缓存类型;系统接收大流量缓存数据后进行路由处理,完成缓存数据的分片和分级,产生缓存数据版本标识和时间标记;按缓存数据类型存储到不同类型的缓存,复制缓存数据副本并更新到远程集中式数据缓存以及后台数据库;根据缓存数据版本标识和时间标记,对缓存数据进行存储、更新并清除失效缓存数据;缓存数据访问读取时,根据读取路由规则按照不同的数据分级方式,进行缓存数据的访问。本方法解决系统在高并发的访问情况下,高效分级存储大数据,提高大数据处理的及时性,提升系统流畅性和稳定性,同时极大降低服务器的存储成本以及流量费用。
附图说明
12.下面结合附图和实施方式对本发明作进一步的详细说明:
图1为本发明应对大流量数据的多级缓存方法的原理框图;图2为本方法中缓存构架示意图;图3为本方法实际应用的流程框图。
具体实施方式
13.实施例如图1和图3所示,本发明应对大流量数据的多级缓存方法包括如下步骤:步骤一、如图2所示,初始化建立不同类型的缓存,并根据终端用户的距离远近进行缓存等级分类,缓存类型包括app客户端本地缓存、业务网关缓存、服务器单元节点本地缓存、远程集中式数据缓存;步骤二、系统通过所提供的对外服务,接收外部提交的大流量缓存数据,大流量缓存数据包括数据基础信息和数据内容信息,其中,数据基础信息包括数据的终端app标记、用户id、ip、系统描述生成时间;步骤三、将大流量缓存数据进行前置数据处理和后置数据处理,完成缓存数据的分片和分级,产生缓存数据版本标识和时间标记;步骤四、根据缓存数据的分片和分级,若缓存数据涉及用户展示页面相关,存入app客户端的本地内存缓存,若缓存数据涉及后台服务数据,则存储到相对应的应用服务器节点;步骤五、经过路由处理后的缓存数据,复制一份缓存数据副本,异步提交到数据处理队列,更新到远程集中式数据缓存以及后台数据库;步骤六、根据缓存数据版本标识和时间标记,对缓存数据进行定时存储处理、定时更新并清除失效缓存数据,检查不同级别缓存数据的一致性;步骤七、当系统用户对缓存数据进行访问读取时,根据缓存数据的读取路由处理规则,按照不同的缓存数据分级方式,进行缓存数据的访问。
14.优选的,所述步骤一中,根据终端用户的距离远近进行缓存等级分类是根据数据从用户终端到服务器、再到后台数据库的上送和回传的传输距离远近,将平台的缓存数据分为用户app客户端的一级缓存、业务网关的二级缓存、服务器单元节点本地三级缓存以及远程集中式数据缓存,用户终端的缓存数据根据一级缓存、二级缓存和三级缓存的顺序读取和存储。
15.优选的,所述步骤三中,前置数据处理的规则是将缓存数据按照终端app标记、用户id、区域位置、数据时间戳进行基础分类,创建对应处理作业;缓存数据分级规则是解析流量缓存数据里的系统描述信息,根据系统进行重要性分级;本方法将重要性分为5级,举例来说用户、交易、支付系统这些核心系统数据为重要性1级类型数据,临时性展示等数据为5级。
16.缓存数据分片规则是将缓存数据根据终端app标记、用户id、区域位置信息进行hash,然后取模,形成数据片,经过分片后的缓存数据,形成分片缓存数据信息、缓存数据版本标识和时间标记的基本缓存数据结构;缓存数据片的好处就是相类似数据集中缓存,方便校验、失效或续期等后期处理,经过分片后的数据,形成了基本的缓存数据结构:分片数据信息+数据版本标识+时间标记,采用分片策略,将大流量的数据分而治之,降低网络存储开销、网络传输开销以及数据处理开销;
后置数据处理规则是缓存数据分片处理完成后,为保证缓存数据的有效性,根据缓存数据重要性分级进行异步存储处理,缓存数据重要性决定了缓存数据异步存储的先后顺序,重要性高的优先存储,并上送到远程集中式数据缓存。
17.优选的,所述数据时间戳按数据流量大小设定,一般缓存数据流量的数据时间戳设定为分钟级,大缓存数据流量的数据时间戳设定为秒级,更大缓存数据流量的数据时间戳设定为毫秒级。
18.优选的,所述步骤六中,不同级别缓存数据一致性的检查包括;根据缓存类型,优先检查后台数据库和远程集中式数据缓存的数据一致性,判断存储的缓存数据版本、时间是否一致,如果不一致,则与服务器单元节点本地缓存核对,如三者中两个相同,则取该缓存数据为更新的缓存数据,如三者均不相同,则要求调用用户终端的缓存数据,以用户终端的缓存数据为更新的缓存数据。
19.优选的,所述步骤七中,缓存数据的读取路由处理规则为优先访问app客户端本地缓存,并与业务网关缓存判断缓存数据的时间戳和版本,不一致则更新app客户端本地缓存,业务网关缓存请求判断app客户端本地缓存中缓存数据的时间戳和版本。
20.本方法通过制定多级缓存的机制,对缓存数据实施分片和分类,将缓存数据存储于离终端最近,并提供数据路由访问策略,从而降低数据的网路传输流量,数据的访问时延,从而降低带宽成本以及服务器存储成本,提升系统流畅度。同时,提供缓存数据的一致性保障措施,保证多级缓存数据的准确性。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1