一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

缓存数据查询方法、装置、设备及存储介质与流程

2021-11-25 01:02:00 来源:中国专利 TAG:


1.本发明涉及数据缓存领域,尤其涉及一种缓存数据查询方法、装置、设备及存储介质。


背景技术:

2.随着近年来随着互联网的飞速发展和大力普及,某些大型网站或者app的数据访问量也在日愈增长,在某个时间段或特殊活动时间段内网民可能对某个网站的访问量会突然剧增,使得后台数据库产生巨大的访问压力,甚至出现数据返回差错的问题,严重时会导致网站的崩溃。在保证服务的高可用和优质的用户体验的同时,如何降低请求延迟时间,提升系统数据的吞吐量,一直成为业界关注的焦点。缓存技术有效地减轻了业务端的负载成为解决这一问题的最有效的技术之一。
3.对于一个大型的网络系统来说,为实现用户的良好体验,必须保证系统的响应速度迅速,而提高数据反应速度的一个直接方法即是通过将访问的所需数据通过缓存的方式保存至数据缓存区域中,避免直接访问数据库,从而提高相关数据访问的速度。对此为了提高响应速度,现有技术中,将全部的访问数据都存储至缓存区域,只要用户有访问请求就直接访问缓存区域,由于缓存区域数据是由后端数据库提供的,当后端数据库不存在某些缓存数据时,根据附属关系缓存区域中也不存在有某些缓存数据,当同一时刻有大量缓存数据进行查询时,系统每次访问都会直接访问到数据库,造成数据库的缓存击穿现象的发生,导致缓存与业务逻辑之间的耦合性较差,系统运行的效率低的问题。


技术实现要素:

4.本发明的主要目的在于解决缓存与业务逻辑的耦合性较差,导致系统运行效率低的问题。
5.本发明第一方面提供了一种缓存数据查询方法,包括:获取客户端上传的数据查询信息,并基于所述数据查询信息,构建预置中间数据库对应的数据查询键值;根据所述数据查询键值,采用预置数据库保护方法对所述中间数据库进行缓存防击穿检测,得到检测结果,并根据所述检测结果,判断所述中间数据库是否检测通过;若检测通过,则采用所述数据查询键值遍历所述中间数据库,得到遍历结果,并根据所述遍历结果,判断所述中间数据库是否存储有所述数据查询键值对应的待缓存数据;若所述中间数据库未存储有所述数据查询键值对应的待缓存数据,则从预置原始数据库中获取所述数据查询键值对应的待缓存数据,并将所述待缓存数据存储至所述中间数据库;将所述中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将所述缓存数据发送至所述客户端。
6.可选的,在本发明第一方面的第一种实现方式中,所述基于所述数据查询信息,构建预置中间数据库对应的数据查询键值包括:解析所述数据查询信息,得到所述客户端的查询数据对应的数据类型信息和元素设定值;根据所述数据类型信息,确定所述客户端的查询数据在预置中间数据库对应的查询键值前缀,拼接所述元素设定值和所述查询键值前
缀,得到所述中间数据库对应的数据查询键值。
7.可选的,在本发明第一方面的第二种实现方式中,在所述判断所述中间数据库是否存储有所述数据查询键值对应的待缓存数据之后,还包括:若所述中间数据库存储有所述数据查询键值对应的待缓存数据,则获取所述待缓存数据对应的标识字节序列;将所述待缓存数据的标识字节序列转换为所述数据查询键值对应数据类型,得到字节序列对应的数据缓存类型信息;根据所述数据缓存类型信息,在所述中间数据库中查找与缓存类型信息相匹配的数据,作为缓存数据。
8.可选的,在本发明第一方面的第三种实现方式中,所述若所述中间数据库未存储有所述数据查询键值对应的待缓存数据,则从预置原始数据库中获取所述数据查询键值对应的待缓存数据包括:若所述中间数据库未存储有所述数据查询键值对应的待缓存数据,则采用所述数据查询键值遍历所述原始数据库,得到所述数据查询键值对应的初始数据;对所述初始数据进行反序列化处理,得到所述初始数据对应的反序列数据,将所述反序列数据作为所述数据查询键值对应的待缓存数据。
9.可选的,在本发明第一方面的第四种实现方式中,在所述将所述中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将所述缓存数据发送至所述客户端之后,还包括:获取所述缓存数据在所述缓存区域对应的失效注解信息,并根据所述失效注解信息,依次判别所述缓存区域中的缓存数据是否失效;若所述缓存区域中存在失效的缓存数据,则采用所述失效注解信息构建所述失效的缓存数据对应的失效数据键值;采用所述失效数据键值遍历所述中间数据库,得到键值匹配结果,并根据所述键值匹配结果查找所述中间数据库中的失效数据;将所述失效数据从所述中间数据库中删除。
10.可选的,在本发明第一方面的第五种实现方式中,所述根据所述数据查询键值,采用预置数据库保护方法对所述中间数据库进行缓存防击穿检测,得到检测结果包括:根据所述数据查询键值,采用预置虚拟锁查询所述中间数据库当前的总查询次数,判断所述总查询次数是否超过预置查询次数阈值;若超过所述查询次数阈值,则确定所述中间数据库通过缓存防击穿检测并作为检测结果;若未超过所述查询次数阈值,则确定所述中间数据库未通过缓存防击穿检测并作为检测结果。
11.本发明第二方面提供了一种缓存数据查询装置,包括:键值构建模块,用于获取客户端上传的数据查询信息,并基于所述数据查询信息,构建预置中间数据库对应的数据查询键值;击穿检测模块,用于根据所述数据查询键值,采用预置数据库保护方法对所述中间数据库进行缓存防击穿检测,得到检测结果,并根据所述检测结果,判断所述中间数据库是否检测通过;数据查询模块,用于若检测通过,则采用所述数据查询键值遍历所述中间数据库,得到遍历结果,并根据所述遍历结果,判断所述中间数据库是否存储有所述数据查询键值对应的待缓存数据;数据获取模块,用于若所述中间数据库未存储有所述数据查询键值对应的待缓存数据,则从预置原始数据库中获取所述数据查询键值对应的待缓存数据,并将所述待缓存数据存储至所述中间数据库;数据应用模块,用于将所述中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将所述缓存数据发送至所述客户端。
12.可选的,在本发明第二方面的第一种实现方式中,所述键值构建模块包括:类型查询单元,用于解析所述数据查询信息,得到所述客户端的查询数据对应的数据类型信息和元素设定值;信息组合单元,用于根据所述数据类型信息,确定所述客户端的查询数据在预
置中间数据库对应的查询键值前缀,拼接所述元素设定值和所述查询键值前缀,得到所述中间数据库对应的数据查询键值。
13.可选的,在本发明第二方面的第二种实现方式中,所述数据查询模块还包括:若所述中间数据库存储有所述数据查询键值对应的待缓存数据,则获取所述待缓存数据对应的标识字节序列;将所述待缓存数据的标识字节序列转换为所述数据查询键值对应数据类型,得到字节序列对应的数据缓存类型信息;根据所述数据缓存类型信息,在所述中间数据库中查找与缓存类型信息相匹配的数据,作为缓存数据。
14.可选的,在本发明第二方面的第三种实现方式中,所述数据获取模块包括:键值遍历单元,用于若所述中间数据库未存储有所述数据查询键值对应的待缓存数据,则采用所述数据查询键值遍历所述原始数据库,得到所述数据查询键值对应的初始数据;字节转化单元,用于对所述初始数据进行反序列化处理,得到所述初始数据对应的反序列数据,将所述反序列数据作为所述数据查询键值对应的待缓存数据。
15.可选的,在本发明第二方面的第四种实现方式中,所述数据获取模块还包块:获取所述缓存数据在所述缓存区域对应的失效注解信息,并根据所述失效注解信息,依次判别所述缓存区域中的缓存数据是否失效;若所述缓存区域中存在失效的缓存数据,则采用所述失效注解信息构建所述失效的缓存数据对应的失效数据键值;采用所述失效数据键值遍历所述中间数据库,得到键值匹配结果,并根据所述键值匹配结果查找所述中间数据库中的失效数据;将所述失效数据从所述中间数据库中删除。
16.可选的,在本发明第二方面的第五种实现方式中,所述击穿检测模块包括:次数判断单元,用于根据所述数据查询键值,采用预置虚拟锁查询所述中间数据库当前的总查询次数,判断所述总查询次数是否超过预置查询次数阈值;时间检测单元,用于若超过所述查询次数阈值,则确定所述中间数据库通过缓存防击穿检测并作为检测结果;键值检测单元,用于若未超过所述查询次数阈值,则确定所述中间数据库未通过缓存防击穿检测并作为检测结果。
17.本发明第三方面提供了一种缓存数据查询设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述缓存数据查询设备执行上述的缓存数据查询方法。
18.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的缓存数据查询方法。
19.本发明提供的技术方案中,通过获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。相比于现有技术,本技术通过采用键值的方式实现对相关数据查询信息对缓存数据的查询,并且若中间数据库中未保存有则通过正常获取方法获取并保存在中间数据库中,进而实现缓存数据的快速查询,无需
直接访问数据库信息,降低了缓存与业务逻辑的耦合度,提高了系统的运行效率。
附图说明
20.图1为本发明实施例中缓存数据查询方法的第一个实施例示意图;
21.图2为本发明实施例中缓存数据查询方法的第二个实施例示意图;
22.图3为本发明实施例中缓存数据查询方法的第三个实施例示意图;
23.图4为本发明实施例中缓存数据查询方法的第四个实施例示意图;
24.图5为本发明实施例中缓存数据查询方法的第五个实施例示意图;
25.图6为本发明实施例中缓存数据查询装置的一个实施例示意图;
26.图7为本发明实施例中缓存数据查询装置的另一个实施例示意图;
27.图8为本发明实施例中缓存数据查询设备的一个实施例示意图。
具体实施方式
28.本发明实施例提供了一种缓存数据查询方法、装置、设备及存储介质,人工智能。获取客户端上传的数据查询信息,并构建中间数据库对应的数据查询键值;采用数据库保护方法对中间数据库进行缓存防击穿检测,并判断中间数据库是否检测通过;若检测通过,则采用数据查询键值遍历中间数据库,并判断中间数据库是否存储有数据查询键值对应的待缓存数据;若未存储有,则从原始数据库中获取数据查询键值对应的待缓存数据,并存储至中间数据库;将中间数据库中的待缓存数据缓存至缓存区域,得到缓存数据,并将缓存数据发送至客户端。本发明通过数据查询键值的方式实现对缓存数据的查询,降低缓存与业务逻辑的耦合度,提高了系统的运行效率。
29.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中缓存数据查询方法的第一个实施例包括:
31.101、获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
32.可以理解的是,本发明的执行主体可以为缓存数据查询装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
33.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
34.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
35.本实施例中,这里的数据查询信息,指的是当客户端进行某些程序操作时,为完成相关前端业务的功能,需要调用相关后端数据并返回至前端实现相关业务,此时就需要前端按照客户端查询要求生成相应的数据查询信息发送给后端;这里的第一后端数据库,指的是一个key

value存储系统,是一个由开源的使用ansi c语言编写、遵守bsd协议、支持网络、可基于内存、分布式、可选持久性的键值对(key

value)存储数据库,并提供多种语言的api,该后端数据库不仅存储有键值还有缓存的数据。系统通过获取客户端上传的数据查询信息,并基于获得的数据查询信息构建预置中间数据库对应的数据查询键值。
36.在实际应用中,当客户使用相关应用软件时,该软件系统会根据客户业务的操作需求生成一个所需的数据查询信息,进而系统后端获取上传的数据查询信息,并将得到的数据查询信息根据与预置中间数据库对应的数据查询键值进行匹配对应,生成数据查询信息对应所需的键值,并将该键值组合至数据查询信息前面,形成该数据查询信息的前缀,生成并得到数据查询键值。
37.102、根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
38.本实施例中,这里的缓存击穿,指的是在缓存中没有相关数据但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读取缓存数据时没读到相应的数据,以致又同时去数据库去读取相应的数据,进而引起数据库压力查询瞬间增大,造成过大压力,严重导致数据库和程序的瘫痪;这里的数据库保护方法,指的是通过判断当前的总查询次数是否超过预置的请求查询次数,进而对相应的数据查询次数判断结果进行相应的请求处理操作处理;系统根据处理得到的数据查询键值,采用预置的数据库保护方法对中间数据库进行缓存方击穿检测,检查当前的查询次数是否超过预置的查询次数,进而根据该检测结果,判断中间数据库是否检测通过。
39.在实际应用中,根据步骤101所得的数据查询键值,根据数据查询键值与中间数据库中的键值的对应匹配关系进行查询,但在查询之前要先对当前查询次数进行判断,检查当前的查询次数是否超过预置的请求查询次数,即采用预置数据库保护方法对中间数据库进行缓存防击穿检测,根据判断当前的请求查询次数是否超过预置的请求查询次数,得到检测结果,进而根据检测结果,判断当前中间数据库是否检测通过,以致是否进行数据查询键值是否与中间数据库的键值进行匹配的操作。
40.103、若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
41.本实施例中,这里的键值,指的是可以通过相应的键值来实现相关命令,进而用于管理中间数据库;根据对中间数据库的检测结果,若检测通过,则采用该数据查询键值,通过遍历函数的方式对中间数据库存储的所有键值的进行遍历,得到遍历结果;进而根据所得的遍历结果,若有相应的键值进行匹配的话,判断中间数据库是否存储有当前数据查询键值所对应的待缓存数据。
42.在实际应用中,根据步骤102所进行判断中间数据库是否检测通过的处理操作后,
若检测结果为当前的数据查询键值是进行缓存数据的查询的,则得到检测结果并通过当前的检测,则采用当前的数据查询键值,运用预置的遍历函数以数据查询键值进行遍历整个中间数据库进行匹配对应,得到遍历的结果;进而通过遍历的结果,通过查询对应的键值来查找缓存区域中的数据是否存储有该键值对应的缓存数据,即判断中间数据库中是否存储有当前数据查询键值所对应的待缓存数据。
43.104、若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
44.本实施例中,这里的原始数据库,指的是数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在相关的计算机内的、有组织的、可共享的、统一管理的大量数据的集合;即这里的是存储有该软件提供相关业务所需的全部的数据集合构成原始数据库。系统进行判断的结果若为中间数据库中未存储有当前数据查询键值对应的带缓存数据,则进行从预置原始数据库中获取当前数据查询键值对应的带缓存数据,并将待缓存数据存储至中间数据库中。
45.在实际应用中,软件后端系统进行判断中间数据库是否存储有当前数据查询键值对应的待缓存数据,若判断结果为中间数据库中未存储有当前数据查询键值对应的待缓存数据,则将数据查询键值对应的缓存数据查询指令传送给原始数据库中,进而从原始数据库中获取数据查询键值对应的待缓存的数据,并将获得的待缓存数据返回至中间数据库中,中间数据库将传送得到的数据进行存储操作并建立相应的数据查询关系。
46.105、将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
47.本实施例中,这里的缓存区域,指的是位于中间数据库中一个专门用来存储缓存数据的一个数据库区域;将匹配得到的中间数据库中的待缓存数据缓存存储至预置缓存区域,从而得到当前数据查询键值所要查询的缓存数据,进而将所得的缓存数据发送至客户端中,以致客户端能完成相应的业务功能。
48.本发明实施例中,通过获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。相比于现有技术,本技术通过采用键值的方式实现对相关数据查询信息对缓存数据的查询,并且若中间数据库中未保存有则通过正常获取方法获取并保存在中间数据库中,进而实现缓存数据的快速查询,无需直接访问数据库信息,降低了缓存与业务逻辑的耦合度,提高了系统的运行效率。
49.请参阅图2,本发明实施例中缓存数据查询方法的第二个实施例包括:
50.201、解析数据查询信息,得到客户端的查询数据对应的数据类型信息和元素设定值;
51.本实施例中,这里的键值类型查询方法,指的是由于提供的业务服务不同,对要求
获得处理的缓存数据也不同,不同类型的缓存数据对应的键值也是有所区别的,通过构建的缓存数据类型与键值相对应的关系得到键值类型查询方法;获取客户端上传的数据查询信息,进而利用预置的键值类型查询方法解析系统得到的数据查询信息,从而得到客户端的数据查询信息的查询数据的数据类型。
52.202、根据数据类型信息,确定客户端的查询数据在预置中间数据库对应的查询键值前缀,拼接元素设定值和查询键值前缀,得到中间数据库对应的数据查询键值;
53.本实施例中,根据查询数据的数据类型,确定客户端的查询数据在预置中间数据库对应的查询键值前缀,进而拼接元素设定值和查询键值前缀,得到中间数据库对应的数据查询键值。
54.在实际应用中,系统获取客户端上传的数据查询信息,进而利用预置的键值类型查询方法对所得的数据查询信息进行解析,解析当前数据查询信息所要查询缓存数据的类型,根据数据类型与键值之间的对应方法,得到数据查询信息的查询数据的数据类型;进而根据解析所得的客户端的查询数据的数据类型,利用从预置中间数据库得到对应的数据键值,从而与数据查询信息进行信息拼接,将得到数据键值作为数据查询信息的前缀组合成一个新的查询信息,从而得到带有键值标识的数据查询键值。
55.203、根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
56.204、若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
57.205、若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
58.206、将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
59.本发明实施例中,系统获取客户端上传的数据查询信息,并解析数据查询信息,得到客户端的查询数据对应的数据类型信息和元素设定值;根据数据类型信息,确定客户端的查询数据在预置中间数据库对应的查询键值前缀,拼接元素设定值和查询键值前缀,得到中间数据库对应的数据查询键值。相比于现有技术,本技术通过解析数据查询信息,进而得到数据类型对应的键值,从而组合得到数据查询键值。通过该数据查询键值能实现对相关缓存数据查找,保证了相关缓存数据对应查找的准确性,并通过解析数据类型来构建键值降低了数据与业务之间的耦合性。
60.请参阅图3,本发明实施例中缓存数据查询方法的第三个实施例包括:
61.301、获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
62.302、根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
63.303、若中间数据库存储有数据查询键值对应的待缓存数据,则获取待缓存数据对应的标识字节序列;
64.本实施例中,这里的数据查询键值,指的是系统通过该数据键值能够查询得到该数据键值所对应的缓存数据,进而实现数据查询键值的匹配识别并返回得到相应的缓存数
据;根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;系统进行判断后,若判断结果为中间数据库中存储有数据查询键值对应的待缓存数据对应的标识字节序列,则获取匹配对应的待缓存数据的标识字节序列。
65.304、将待缓存数据的标识字节序列转换为数据查询键值对应数据类型,得到字节序列对应的数据缓存类型信息;
66.本实施例中,系统将得到的待缓存数据的标识字节序列转换为数据查询键值对应数据类型,得到该缓存数据的字节序列对应的数据缓存信息。
67.305、根据数据缓存类型信息,在中间数据库中查找与缓存类型信息相匹配的数据,作为缓存数据;
68.本实施例中,系统根据处理得到的数据缓存类型信息,在中间数据库中进行查找与缓存数据类型信息相匹配器的数据,从而得到本次数据查询请求所需的缓存数据。
69.在实际应用中,系统进行缓存防击穿检查后,若检测结果为通过,则采用数据查询键值匹配中间数据库中的键值,得到中间数据库的键值匹配结果,进而根据中间数据库的键值匹配结果,获得该数据查询键值与中间数据库中对应的数据键值,通过该数据键值,来进行查找中间数据库中是否有相对应的缓存数据,从而判断中间数据库中是否存储有该数据查询键值对应的缓存数据。根据键值检测判断结果,若判断的结果为该数据查询键值在中间数据库存在有对应的待缓存数据的标识字节序列,则获取得到识别对应的待缓存数据的标识字节序列,进而将待缓存数据对应的标识字节序列按照预置的字节类型方法进行字节

类型转化,将该标识字节序列转变为对应数据查询键值所查询数据对应的数据类型,得到该字节序列对应的查询数据缓存的数据类型信息;进而根据所得的数据缓存类型信息,采用第一数据路中缓存区域中的数据与该数据缓存类型信息,进行数据类型和相应数据匹配查询,得到本次数据查询键值所查询的缓存查询数据。
70.306、若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
71.307、将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
72.本发明实施例中,系统通过数据查询键值查询对应的缓存数据,进而根据查询得到的对应标识字节序列进行转化得到数据查询键值的数据类型,进而得到数据缓存类型信息,通过数据缓存类型信息查询得到缓存查询数据。相比于现有技术,本技术通过够贱的键值来进行查找相对应的标识字节序列,进而通过字节转变得到数据缓存类型信息,从而得到所要查询的缓存数据。对缓存数据的查询通过键值即可实现,通过获取键值对应的注解信息即可,查询过程实现较为方便,也容易实现,提高了系统对缓存数据查询的效率。
73.请参阅图4,本发明实施例中缓存数据查询方法的第四个实施例包括:
74.401、获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
75.402、根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
76.403、若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
77.404、若中间数据库未存储有数据查询键值对应的待缓存数据,则采用数据查询键值遍历原始数据库,得到数据查询键值对应的初始数据;
78.本实施例中,若进行判断为中间数据库中为存储有数据查询键值对应的待存储数据,则将该数据查询键值传送至原始数据库,进而原始数据库根据得到的数据查询键值进行遍历查询原始数据库中存储的数据,从而得到对应的初始数据。
79.405、对初始数据进行反序列化处理,得到初始数据对应的反序列数据,将反序列数据作为数据查询键值对应的待缓存数据;
80.本实施例中,系统将得到的待缓存数据类型数据信息利用预置序列转化方法,将其进行反序列化处理得到初始数据对应的反序列数据,这里的预置序列转化方法,指的是根据预置的类型

字节序列转化对应方法,能讲相应的数据类型转化为对应的字节序列;进而将反序列数据作为数据查询键值对应的待缓存数据返回至中间数据库中;中间数据库根据得到的对应字节序列信息构建相对应的键值,得到字节序列键值,进而将待缓存数据存储至中间数据库中。
81.在实际应用中,当系统进行中间数据库中数据键值的遍历查询后,若遍历的结果为中间数据库中为存储有该数据查询键值对应的待缓存数据时,则将数据查询键值信息传送给原始数据库中进行处理,原始数据库则根据得到的数据查询键值信息进行相关数据的遍历查询,通过遍历整个原始数据库中数据信息,得到相对应的缓存类型数据信息;将得到的相对应的缓存类型数据信息利用预置的序列转化方法进行反序列化处理转为对应的反序列数据,并将转化得到的反序列数据和其对应的数据信息返回至中间数据库中;从而中间数据库根据得到对应字节序列信息根据键值生成方法来构建相应的键值,得到数据查询信息所对应的字节序列键值,进而系统能根据该字节序列键值,将从原始数据库得到的数据缓存至中间数据库中,实现相关数据查询请求对该数据在中间数据库中的数据查询,进而将待缓存数据存储至中间数据库。
82.406、获取缓存数据在缓存区域对应的失效注解信息,并根据失效注解信息,依次判别缓存区域中的缓存数据是否失效;
83.本实施例中,系统获取客户端上传的数据失效信息,并解析数据查询信息,得到客户端的查询数据对应的数据类型信息和元素设定值。
84.407、若缓存区域中存在失效的缓存数据,则采用失效注解信息构建失效的缓存数据对应的失效数据键值;
85.本实施例中,若缓存区域中存在失效的缓存数据,利用预置中间数据库对应类型的数据键值与失效注解信息进行信息组合,得到失效数据键值。
86.408、采用失效数据键值遍历中间数据库,得到键值匹配结果,并根据键值匹配结果查找中间数据库中的失效数据;
87.本实施例中,采用该失效数据键值进行遍历中间数据库中的数据,从而得到键值匹配结果,并根据该匹配结果查找中间数据库中的缓存区域中对应的缓存数据,得到需要进行删除处理的失效数据。
88.409、将失效数据从中间数据库中删除;
89.本实施例中,将该缓存失效数据对应的键值信息删除,并将该缓存数据转存储进原始数据库中,实现对中间数据库中相应的缓存数据的失效数据处理。
90.在实际应用中,系统获得客户端上传的数据失效信息,根据失效注解信息,依次判别缓存区域中的缓存数据是否失效,若缓存区域中存在失效的缓存数据,利用预置的键值类型查询方法对所得的失效注解信息进行解析,解析当前失效注解信息所要失效缓存数据的类型,根据数据类型与键值之间的对应方法,得到数据失效信息的失效数据的数据类型;进而根据解析所得的失效数据的数据类型,利用从预置中间数据库得到对应的数据键值,从而与数据失效信息进行信息组合,将得到数据键值作为数据失效信息的前缀组合成一个新的失效信息,从而得到带有键值标识的失效数据键值;进而采用该数据失效利用遍历循环函数对中间数据库数据进行遍历,得到匹配对应的键值匹配结果,并将该键值匹配结果查找中间数据库中缓存区域对应的缓存数据,从而得到所要失效删除的缓存失效数据;进而将缓存失效数据中的键值信息进行删除,使系统失去对该数据在缓存区域的查找,并将该缓存失效数据暂时存储进原始数据库中相应的数据临时存储空间中做临时保存,从而系统实现对相关缓存数据的失效处理。
91.410、将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
92.本发明实施例中,系统若判定为未存储有对应的待缓存数据,则利用数据查询键值在原始数据库中进行查询,并将查询得到的类型数据进行转化,将对应的字节序列传送至中间数据库,并进行构建相应的键值,得到字节序列键值并进行存储。此外若要进行相关缓存数据的删除时,通过解析该失效数据键值,进而通过该失效数据键值遍历中间数据库,得到匹配结果并查找得到相应的缓存失效数据,进而该缓存失效数据的键值删除,并将缓存失效数据存储进原始数据库。相比于现有技术,本技术对中间数据库未存储有的查询数据时,进行原始数据库查询并将得到的数据进行键值组合后存储进中间数据库,可以避免该数据查询请求每次都需要进行原始数据库查找,加快数据查找的速度,此外对于需要进行失效的数据借用键值进行查询,进而删除相应数据的键值并将数据存储进原始数据库中。能实现对所需数据的快速查询和对不需要的数据进行准确删除处理,再处理的过程只需借用构建的键值,数据查找与业务解耦,系统的运行效率更高。
93.请参阅图5,本发明实施例中缓存数据查询方法的第五个实施例包括:
94.501、获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
95.502、根据数据查询键值,采用预置虚拟锁查询中间数据库当前的总查询次数,判断总查询次数是否超过预置查询次数阈值;
96.本实施例中,这里的虚拟锁,指的是将当前的查询请求信息进行拦截,先进行一定的操作如判断、选择等操作,待满足一定的条件的查询请求信息才能将该信息传送给下一步进行操作;这里的预置请求查询次数是根据系统处理数据的速率来进行动态设置的查询次数值;根据处理得到带有键值的数据查询键值,采用预置的虚拟锁进行拦截后相应的数据查询请求指令,并查询当前的总数据查询请求的次数,进而判断当前系统其他数据查询请求和当前数据查询键值的查询请求的总数据查询请求的次数,是否查过预置的请求查询次数阈值。
97.503、若超过查询次数阈值,则确定中间数据库通过缓存防击穿检测并作为检测结果;
98.本实施例中,系统若超过查询次数阈值,则确定中间数据库通过缓存防击穿检测并作为检测结果。
99.504、若未超过查询次数阈值,则确定中间数据库未通过缓存防击穿检测并作为检测结果;
100.本实施例中,系统若判断的结果为未超过预置请求查询阈值,则确定中间数据库未通过缓存防击穿检测并作为检测结果。
101.在实际应用中,根据上一步骤处理得到带有数据查询类型键值的数据查询键值,采用预置的虚拟锁进行拦截当前系统中所有的数据查询请求操作,并统计计算得到当前系统的总数据查询的次数,进而判断当前系统中其其他数据查询请求和该数据查询请求键值对应的查询请求的总查询次数是否超过了预置请求查询次数。若判断的结果为当前的总请求查询次数超过了预置请求查询次数阈值,则则确定中间数据库未通过缓存防击穿检测并作为检测结果;若判断的结果为当前的总请求查询次数未超过预置请求查询次数阈值,则则确定中间数据库未通过缓存防击穿检测并作为检测结果。进而根据检测结果,判断中间数据库是否检测通过。
102.505、若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
103.506、若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
104.507、将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
105.本发明实施例中,系统根据数据查询键值,采用预置虚拟锁查询中间数据库当前的总查询次数,判断总查询次数是否超过预置查询次数阈值;若超过查询次数阈值,则确定中间数据库通过缓存防击穿检测并作为检测结果;若未超过查询次数阈值,则确定中间数据库未通过缓存防击穿检测并作为检测结果。先比于现有技术,本技术在进行缓存数据查询之前,先进行防缓存击穿检测,进而在进行相应的查询操作等,不仅可以防止大并发查询等造成缓存击穿的现象,还能保证系统的安全稳定性,有利于系统的安全运行和较为快速的完成对相关缓存数据的查询请求操作。
106.上面对本发明实施例中缓存数据查询方法进行了描述,下面对本发明实施例中缓存数据查询装置进行描述,请参阅图6,本发明实施例中缓存数据查询装置一个实施例包括:
107.键值构建模块601,用于获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
108.击穿检测模块602,用于根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
109.数据查询模块603,用于若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
110.数据获取模块604,用于若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
111.数据应用模块605,用于将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
112.本发明实施例中,通过获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。相比于现有技术,本技术通过采用键值的方式实现对相关数据查询信息对缓存数据的查询,并且若中间数据库中未保存有则通过正常获取方法获取并保存在中间数据库中,进而实现缓存数据的快速查询,无需直接访问数据库信息,降低了缓存与业务逻辑的耦合度,提高了系统的运行效率。
113.请参阅图7,本发明实施例中缓存数据查询装置的另一个实施例包括:
114.键值构建模块601,用于获取客户端上传的数据查询信息,并基于数据查询信息,构建预置中间数据库对应的数据查询键值;
115.击穿检测模块602,用于根据数据查询键值,采用预置数据库保护方法对中间数据库进行缓存防击穿检测,得到检测结果,并根据检测结果,判断中间数据库是否检测通过;
116.数据查询模块603,用于若检测通过,则采用数据查询键值遍历中间数据库,得到遍历结果,并根据遍历结果,判断中间数据库是否存储有数据查询键值对应的待缓存数据;
117.数据获取模块604,用于若中间数据库未存储有数据查询键值对应的待缓存数据,则从预置原始数据库中获取数据查询键值对应的待缓存数据,并将待缓存数据存储至中间数据库;
118.数据应用模块605,用于将中间数据库中的待缓存数据缓存至预置缓存区域,得到缓存数据,并将缓存数据发送至客户端。
119.具体的,键值构建模块601包括:
120.类型查询单元6011,用于解析数据查询信息,得到客户端的查询数据对应的数据类型信息和元素设定值;
121.信息组合单元6012,用于根据数据类型信息,确定客户端的查询数据在预置中间数据库对应的查询键值前缀,拼接元素设定值和查询键值前缀,得到中间数据库对应的数据查询键值。
122.具体的,数据查询模块还用于:
123.若中间数据库存储有数据查询键值对应的待缓存数据,则获取待缓存数据对应的标识字节序列;将待缓存数据的标识字节序列转换为数据查询键值对应数据类型,得到字节序列对应的数据缓存类型信息;根据数据缓存类型信息,在中间数据库中查找与缓存类型信息相匹配的数据,作为缓存数据。
124.具体的,数据获取模块604包括:
125.键值遍历单元6041,用于若中间数据库未存储有数据查询键值对应的待缓存数据,则采用数据查询键值遍历原始数据库,得到数据查询键值对应的初始数据;
126.字节转化单元6042,用于对初始数据进行反序列化处理,得到初始数据对应的反序列数据,将反序列数据作为数据查询键值对应的待缓存数据。
127.具体的,数据获取模块604还用于:
128.获取缓存数据在缓存区域对应的失效注解信息,并根据失效注解信息,依次判别缓存区域中的缓存数据是否失效;若缓存区域中存在失效的缓存数据,则采用失效注解信息构建失效的缓存数据对应的失效数据键值;采用失效数据键值遍历中间数据库,得到键值匹配结果,并根据键值匹配结果查找中间数据库中的失效数据;将失效数据从中间数据库中删除。
129.具体的,击穿检测模块602包括:
130.次数判断单元6021,用于根据数据查询键值,采用预置虚拟锁查询中间数据库当前的总查询次数,判断总查询次数是否超过预置查询次数阈值;
131.时间检测单元6022,用于若超过查询次数阈值,则确定中间数据库通过缓存防击穿检测并作为检测结果;
132.键值检测单元6023,用于若未超过查询次数阈值,则确定中间数据库未通过缓存防击穿检测并作为检测结果。
133.本发明实施例中,通过对上传的数据查询请求进行解析,并通过构建键值的方式来进行遍历查找相对应的缓存数据,并在进行查询时先进行防缓存击穿检测,进而进行判断,若中间数据库中未存储有相对应的数据,则将查询信息传送至原始数据库中进行查找相应的数据,并将在查找的数据进行构建键值存储至中间数据库,从而将查询得到的数据发送至客户端进行显示。相比于现有技术,本技术通过键值的查询方式查询相应缓存数据,降低了查询缓存数据与业务逻辑之间的耦合性,并在进行键值查询时进行防击穿检测,可以进一步的防止数据同时被大量查询时造成系统瘫痪的情况,提高了系统运行的稳定性和效率。
134.上面图6和图7从模块化功能实体的角度对本发明实施例中的缓存数据查询装置进行详细描述,下面从硬件处理的角度对本发明实施例中缓存数据查询设备进行详细描述。
135.图8是本发明实施例提供的一种缓存数据查询设备的结构示意图,该缓存数据查询设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对缓存数据查询设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在缓存数据查询设备800上执行存储介质830中的一系列指令操作。
136.缓存数据查询设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的缓存数据查询设备结构并不构成对缓存数据查询设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
137.本发明还提供一种缓存数据查询设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述缓存数据查询方法的步骤。
138.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述缓存数据查询方法的步骤。
139.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
140.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
141.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
142.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献