数据请求的三级响应方法、系统、设备及存储介质技术方案

技术编号:33775318 阅读:61 留言:0更新日期:2022-06-12 14:28
本发明专利技术涉及数据响应领域,公开了一种数据请求的三级响应方法、系统、设备及存储介质。该方法包括:判断数据访问请求是否能在openResty缓存数据库中被查询出;将数据访问请求对应的openResty缓存数据发送至数据访问请求对应的发出地址;若在未能被查询出,则发送数据访问请求至redis缓存系统中;判断数据访问请求是否能在redis缓存数据库中被查询出;将数据访问请求对应的redis缓存数据发送至数据访问请求对应的发出地址;若在redis缓存数据库不能被查询出,则发送数据访问请求至mysql存储系统中;判断数据访问请求是否能在mysql数据库中被查询出;将对应的mysql数据发送至数据访问请求对应的发出地址;若未能查询出,则将数据访问请求对应的数据设置为空白数据,生成结果数据。生成结果数据。生成结果数据。

【技术实现步骤摘要】
数据请求的三级响应方法、系统、设备及存储介质


[0001]本专利技术涉及数据响应领域,尤其涉及一种数据请求的三级响应方法、系统、设备及存储介质。

技术介绍

[0002]目前随着网站的访问量越来越大,流量越来越多,数据也越来越庞大,数据的查询非常的频繁,并发量非常高,特别是热点数据,当所有的查询都访问一个数据库中的时候会造成数据库的连接占满,响应时间变长,造成系统整体的性能下降,严重情况下甚至会导致系统的崩溃,网站无法访问,严重影响用户的体验,而且目前mysql数据库是关系型数据库,主要瓶颈是容灾差,监控数据差,容易达到性能的瓶颈,在大量的数据查询下表现得非常缓慢,不适用于高并发环境下热点数据的即时快速的查询。
[0003]因此,针对当前的mysql数据库无法适应大量数据查询的高并发场景,需要一种技术解决当前问题。

技术实现思路

[0004]本专利技术的主要目的在于解决当前的mysql数据库无法适应大量数据查询的高并发场景的技术问题。
[0005]本专利技术第一方面提供了一种数据请求的三级响应方法,所述数据请求的三级响应方法应用于数据请求的三级响应系统,所述数据请求的三级响应系统包括:openResty缓存系统、redis缓存系统、mysql存储系统,所述数据请求的三级响应方法包括:
[0006]所述openResty缓存系统接收数据访问请求,判断所述数据访问请求对应的数据是否能在openResty缓存数据库中被查询出,其中,所述openResty缓存数据库设置在所述openResty缓存系统中;
[0007]若在openResty缓存数据库能查询出,则将所述数据访问请求对应的openResty缓存数据发送至所述数据访问请求对应的发出地址;
[0008]若在openResty缓存数据库未能被查询出,则发送数据访问请求至所述redis缓存系统中;
[0009]所述redis缓存系统接收所述数据访问请求,判断所述数据访问请求对应的数据是否能在redis缓存数据库中被查询出,其中,所述redis缓存数据库设置在所述redis缓存系统中;
[0010]若在redis缓存数据库能被查询出,则将所述数据访问请求对应的redis缓存数据发送至所述数据访问请求对应的发出地址;
[0011]若在redis缓存数据库不能被查询出,则发送数据访问请求至所述mysql存储系统中;
[0012]所述mysql存储系统接收所述数据访问请求,判断所述数据访问请求对应的mysql数据是否能在mysql数据库中被查询出,其中,所述mysql数据库设置在所述mysql存储系统
中;
[0013]若在mysql数据库能查询出,则将所述数据访问请求对应的mysql数据发送至所述数据访问请求对应的发出地址;
[0014]若在mysql数据库未能查询出,则将所述数据访问请求对应的数据设置为空白数据,生成结果数据,以及将所述结果数据发送至所述openResty缓存系统。
[0015]可选的,在本专利技术第一方面的第一种实现方式中,所述数据请求的三级响应系统还包括:canal监控系统,所述canal监控系统监控所述mysql存储系统的binglog日志,判断所述binglog日志是否存在变动;
[0016]若binglog日志存在变动,则读取所述binglog日志的变动数据,将所述变动数据发送至所述openResty缓存系统和所述redis缓存系统中。
[0017]可选的,在本专利技术第一方面的第二种实现方式中,所述mysql存储系统放置在K8S容器中,所述判断所述数据访问请求对应的mysql数据是否能在mysql数据库中被查询出包括:
[0018]读取所述数据访问请求的请求参数,基于预置k8s管理组件,匹配所述请求参数对应的DNS地址,得到匹配结果;
[0019]判断所述匹配结果是否为空;
[0020]若为空,则将所述数据访问请求对应的数据确定不能在mysql数据库中被查询出;
[0021]若不为空,则根据所述DNS地址,查询出所述K8S容器中的pod镜像,将所述pod镜像确定为查询出的mysql数据库。
[0022]可选的,在本专利技术第一方面的第三种实现方式中,所述将所述数据访问请求对应的redis缓存数据发送至所述数据访问请求对应地址包括:
[0023]读取所述数据访问请求对应的redis缓存数据;
[0024]基于LUR脚本,将所述redis缓存数据存储至所述openResty缓存系统中,用于所述数据访问请求对应的发出地址从所述openResty缓存系统获取访问数据。
[0025]可选的,在本专利技术第一方面的第四种实现方式中,所述将所述数据访问请求对应的数据设置为空白数据,生成结果数据,以及将所述结果数据发送至所述openResty缓存系统包括:
[0026]将所述数据访问请求确定为key数据,将空白数据确定为value数据,生成缓存增加数据;
[0027]将所述缓存增加数据发送至所述openResty缓存系统,以便所述openResty缓存系统添加所述缓存增加数据至所述openResty缓存数据库中。
[0028]可选的,在本专利技术第一方面的第五种实现方式中,在所述将所述数据访问请求确定为key数据,将空白数据确定为value数据,生成缓存增加数据之后,在所述将所述缓存增加数据发送至所述openResty缓存系统,以便所述openResty缓存系统添加所述缓存增加数据至所述openResty缓存数据库中之前,还包括:
[0029]对所述缓存增加数据设置过期时刻,用于防止所述openResty缓存系统的缓存超容量。
[0030]可选的,在本专利技术第一方面的第六种实现方式中,所述openResty缓存系统接收数据访问请求,判断所述数据访问请求对应的数据是否能在openResty缓存数据库中被查询
出包括:
[0031]所述openResty缓存系统接收数据访问请求;
[0032]分析openResty缓存数据库的处理线程是否饱和;
[0033]若openResty缓存数据库的处理线程饱和,则将所述数据访问请求锁定,并持续分析openResty缓存数据库的处理线程是否饱和;
[0034]若openResty缓存数据库的处理线程未饱和,则判断所述数据访问请求对应的数据是否能在openResty缓存数据库中被查询出。
[0035]本专利技术第二方面提供了一种数据请求的三级响应系统,所述数据请求的三级响应系统包括:
[0036]openResty缓存系统、redis缓存系统、mysql存储系统;
[0037]所述openResty缓存系统,用于接收数据访问请求,判断所述数据访问请求对应的数据是否能在openResty缓存数据库中被查询出,其中,所述openResty缓存数据库设置在所述openResty缓存系统中;
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据请求的三级响应方法,其特征在于,所述数据请求的三级响应方法应用于数据请求的三级响应系统,所述数据请求的三级响应系统包括:openResty缓存系统、redis缓存系统、mysql存储系统,所述数据请求的三级响应方法包括:所述openResty缓存系统接收数据访问请求,判断所述数据访问请求对应的数据是否能在openResty缓存数据库中被查询出,其中,所述openResty缓存数据库设置在所述openResty缓存系统中;若在openResty缓存数据库能查询出,则将所述数据访问请求对应的openResty缓存数据发送至所述数据访问请求对应的发出地址;若在openResty缓存数据库未能被查询出,则发送数据访问请求至所述redis缓存系统中;所述redis缓存系统接收所述数据访问请求,判断所述数据访问请求对应的数据是否能在redis缓存数据库中被查询出,其中,所述redis缓存数据库设置在所述redis缓存系统中;若在redis缓存数据库能被查询出,则将所述数据访问请求对应的redis缓存数据发送至所述数据访问请求对应的发出地址;若在redis缓存数据库不能被查询出,则发送数据访问请求至所述mysql存储系统中;所述mysql存储系统接收所述数据访问请求,判断所述数据访问请求对应的mysql数据是否能在mysql数据库中被查询出,其中,所述mysql数据库设置在所述mysql存储系统中;若在mysql数据库能查询出,则将所述数据访问请求对应的mysql数据发送至所述数据访问请求对应的发出地址;若在mysql数据库未能查询出,则将所述数据访问请求对应的数据设置为空白数据,生成结果数据,以及将所述结果数据发送至所述openResty缓存系统。2.根据权利要求1所述的数据请求的三级响应方法,其特征在于,所述数据请求的三级响应系统还包括:canal监控系统,所述canal监控系统监控所述mysql存储系统的binglog日志,判断所述binglog日志是否存在变动;若binglog日志存在变动,则读取所述binglog日志的变动数据,将所述变动数据发送至所述openResty缓存系统和所述redis缓存系统中。3.根据权利要求2所述的数据请求的三级响应方法,其特征在于,所述mysql存储系统放置在K8S容器中,所述判断所述数据访问请求对应的mysql数据是否能在mysql数据库中被查询出包括:读取所述数据访问请求的请求参数,基于预置k8s管理组件,匹配所述请求参数对应的DNS地址,得到匹配结果;判断所述匹配结果是否为空;若为空,则将所述数据访问请求对应的数据确定不能在mysql数据库中被查询出;若不为空,则根据所述DNS地址,查询出所述K8S容器中的pod镜像,将所述pod镜像确定为查询出的mysql数据库。4.根据权利要求1所述的数据请求的三级响应方法,其特征在于,所述将所述数据访问请求对应的redis缓存数据发送至所述数据访问请求对应地址包括:读取所述数据访问请求对应的redis缓存数据;
基于LUR脚本,将所述redis缓存数据存储至所述openResty缓存系统中,用于所述数据访问请求对应的发出地址从所述openResty缓存系统获取访问数据。5.根据权利要求1所述的数据请求的三级响应方法,其特征在于,所述将所述数据访问请求对应的的数据设置为空白数据,生成结果数据,以及将所述结果数据发送至所述openResty缓存系统包括:将所述数据访问请求确定为key数据,将空白数据确定为value数据,生成缓存增加数据;将所述缓存增加数据发送至所述openR...

【专利技术属性】
技术研发人员:刘奕鹏李六七罗鑫邝迎波
申请(专利权)人:深圳前海硬之城信息技术有限公司
类型:发明
国别省市:

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

1