一种数据查询方法、缓存服务器及终端技术

技术编号:21891725 阅读:54 留言:0更新日期:2019-08-17 14:26
本发明专利技术实施例提供一种数据查询方法、缓存服务器和终端。所述方法包括:接收并解析终端发送的带有缓存标识的SQL语句,SQL语句还包括查询表名、查询表版本号、查询参数和自定义操作名;将查询表名、查询表版本号、查询参数和自定义操作名构成的第一键值与第二键值进行匹配获得匹配结果;根据匹配结果将查询结果数据返回至终端。所述缓存服务器用于执行所述方法,本发明专利技术实施例通过接收终端发送的带有缓存标识的SQL语句,根据SQL语句对应的第一键值与第二键值进行匹配,根据匹配结果获得查询结果数据,无需每次都通过数据库来进行查询,也无需对SQL语句进行复杂的解析操作即可获取到查询结果数据,从而提高数据查询效率,降低了数据库的负载。

A Data Query Method, Cache Server and Terminal

【技术实现步骤摘要】
一种数据查询方法、缓存服务器及终端
本专利技术实施例涉及计算机
,尤其涉及一种数据查询方法、缓存服务器及终端。
技术介绍
许多Web应用程序都将数据保存到关系数据库管理系统(RelationalDatabaseManagementSystem,简称RDBMS)中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。图1为现有技术提供的一种数据读取过程示意图,如图1所示,由于缓存系统存在高性能的分布式存储对象缓存系统(Memcached)和数据库之间数据的同步,属于间接缓存,因此,在数据读取过程中,无法通过SQL语句读取缓存数据,而是通过Memcached的接口和数据类型进行读数,从而需要对缓存系统的接口进行修改,且终端在接收到缓存系统返回的数据后,需要对数据的格式进行修改,导致返回数据的效率比较低。另一种方案是,终端通过SQL语句读取数据库的数据,该方法都需要到数据库运行,再返回结果。这样带来的一个问题是,即便数据未有任何变化,数据库都需要进行语法分析、语义分析、权限检查、表达式转换、变量绑定、生成执行计划等复杂操作,随着系统访问量的增大,数据库负载越来越高,最终性能直线下降。最糟糕的是碰到未按编码规范写的SQL语句,没采用变量绑定,使得数据库反复进行硬解析,从而导致数据库存在大量Latch锁。那无疑会大大增加数据库的负载,从而降低系统的整体性能。因此,如何提高数据查询的效率,同时降低数据库的负载是现如今亟待解决的课题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种数据查询方法、缓存服务器及终端。第一方面,本专利技术实施例提供一种数据查询方法,包括:接收并解析终端发送的带有缓存标识的SQL语句,所述SQL语句还包括查询表名、查询表版本号、查询参数和自定义操作名;将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果;根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端。第二方面,本专利技术实施例提供一种数据查询方法,包括:接收并解析用户根据SQL语句模板输入的SQL语句,所述SQL语句包括查询表名、查询表版本号、查询参数和自定义操作名;若判断获知所述SQL语句中还包括缓存标识,则将所述SQL语句发送至缓存服务器,以使所述缓存服务器将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果;接收所述缓存服务器根据匹配结果获得的所述SQL语句对应的查询结果数据。第三方面,本专利技术实施例提供一种缓存服务器,包括:收发器和处理器;所述收发器用于接收终端发送的带有缓存标识的SQL语句,并根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端;所述处理器用于解析终端发送的带有缓存标识的SQL语句,将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果。第四方面,本专利技术实施例提供一种终端包括收发器和处理器;所述收发器用于接收用户根据SQL语句模板输入的SQL语句,将所述SQL语句发送至缓存服务器,接收所述缓存服务器根据匹配结果获得的所述SQL语句对应的查询结果数据;所述处理器用于解析用户根据SQL语句模板输入的SQL语句,并判断所述SQL语句中是否包括缓存标识。第五方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。第六方面,本专利技术实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。第七方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第二方面的方法步骤。第八方面,本专利技术实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第二方面的方法步骤。本专利技术实施例提供的一种数据查询方法、缓存服务器及终端,通过接收终端发送的带有缓存标识的SQL语句,并根据SQL语句对应的第一键值与第二键值进行匹配,根据匹配结果获得查询结果数据,无需每次都通过数据库来进行查询,也无需对SQL语句进行复杂的解析操作即可获取到查询结果数据,从而提高数据查询效率的同时,降低了数据库的负载。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术提供的一种数据读取过程示意图;图2为本专利技术实施例提供的一种数据查询方法流程示意图;图3为本专利技术实施例提供的一种数据查询方法流程示意图;图4为本专利技术实施例提供的SQL文件发布示意图;图5为本专利技术实施例提供的版本号表示意图;图6为本专利技术实施例提供的一种数据查询方法信令交互图;图7为本专利技术实施例提供的一种缓存服务器结构示意图;图8为本专利技术实施例提供的一种终端结构示意图;图9为本专利技术实施例提供的一种数据查询系统结构示意图;图10为本专利技术实施例提供的电子设备实体结构示意图;图11为本专利技术实施例提供的电子设备实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图2为本专利技术实施例提供的一种数据查询方法流程示意图,如图2所示,所述方法,包括:步骤201:接收并解析终端发送的带有缓存标识的SQL语句,所述SQL语句还包括查询表名、查询表版本号、查询参数和自定义操作名;具体的,终端上的各种APP通过与数据库的交互来获取数据,并将数据反馈给用户,根据经验,有很多数据实际上是不怎么变化的,而这些不怎么变化的数据有时候有需要频繁的被访问,如果每次都从数据库中取数据,则数据库需要进行繁重的语法分析、语义分析、权限检查、表达式转换、变量绑定、生成执行计划等工作。为了降低数据库的工作量,当终端需要读取数据时,首先生成所需数据的SQL语句,如果SQL语句中包括缓存标识的字段,则说明终端选择从缓存服务器中获取数据,此时,缓存服务器接收终端发送的带有缓存标识的SQL语句,并对该SQL语句进行解析,可以获得SQL语句中包括的查询表名、查询表版本号、查询参数和自定义操作名,其中,自定义操作名是用户自定义的,应当说明的是,SQL语句中还可以本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:接收并解析终端发送的带有缓存标识的SQL语句,所述SQL语句还包括查询表名、查询表版本号、查询参数和自定义操作名;将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果;根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:接收并解析终端发送的带有缓存标识的SQL语句,所述SQL语句还包括查询表名、查询表版本号、查询参数和自定义操作名;将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果;根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端。2.根据权利要求1所述的方法,其特征在于,所述根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端,包括:若匹配成功,则获取与所述第一键值匹配成功的第二键值对应的表数据;根据所述SQL语句从所述表数据中获得所述查询结果数据,并将所述查询结果数据返回至所述终端。3.根据权利要求1或2所述的方法,其特征在于,所述根据匹配结果将所述SQL语句对应的查询结果数据返回至所述终端,包括:若匹配失败,则将所述SQL语句发送至数据库,以使所述数据库根据所述SQL语句进行查询,并将所述查询结果数据返回至所述终端。4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:从所述数据库中获取所述查询结果数据,构建所述查询结果数据与所述第一键值的关联关系,并将所述关联关系进行存储。5.根据权利要求4所述的方法,其特征在于,所述将所述关联关系进行存储,包括:根据LRU算法将所述关联关系进行存储。6.一种数据查询方法,其特征在于,包括:接收并解析用户根据SQL语句模板输入的SQL语句,所述SQL语句包括查询表名、查询表版本号、查询参数和自定义操作名;若判断获知所述SQL语句中还包括缓存标识,则将所述SQL语句发送至缓存服务器,以使所述缓存服务器将所述查询表名、所述查询表版本号、所述查询参数和所述自定义操作名构成的第一键值分别与缓存服务器中包括的多个第二键值进行匹配,获得匹配结果;接收所述缓存服务器根据匹配结果获得的所述SQL语句对应的查询结果数据。7.根据权利要求6所述的方法,其特征在于,所述方法,还包括:若判断获知所述SQL语句中不包括缓存...

【专利技术属性】
技术研发人员:张伟锋
申请(专利权)人:中国移动通信集团有限公司中国移动通信集团湖南有限公司
类型:发明
国别省市:北京,11

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

1