本发明涉及计算机应用,具体涉及一种数据查询方法及装置。另外,还涉及一种电子设备及处理器可读存储介质。
背景技术:
1、目前,在态势感知平台的各个业务模块的查询功能中,尤其是数据量级大以及各种组合查询的复杂业务查询功能场景下,通常会产生查询性能下降的情况,因此需要将热点数据缓存起来,来提高查询性能。然而,当前态势感知平台使用的redis缓存型数据库需要使用方分别针对不同业务模块自行指定缓存key值,操作繁琐,使得针对热点数据的实际查询处理过程效率和性能较差。
技术实现思路
1、为此,本发明提供一种数据查询方法及装置,以解决现有技术中存在的针对热点数据的实际查询处理过程效率和性能较差的缺陷。
2、第一方面,本发明提供一种数据查询方法,包括:
3、响应于用户发起的查询请求,对所述查询请求进行解析,获取所述查询请求对应的业务模块的模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解中参与哈希计算的目标属性参数;基于所述模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解信息中参与哈希计算的目标属性参数进行哈希计算,生成缓存键值;其中,所述业务模块为预设的态势感知平台的各个功能业务模块中的至少一个;
4、基于所述缓存键值,到缓存型数据库中获取与所述查询请求对应的缓存结果,并输出所述缓存结果;其中,所述缓存型数据库中预先存储有各个缓存键值对应的缓存结果。
5、进一步的,所述基于所述模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解信息中参与哈希计算的目标属性参数进行哈希计算,生成缓存键值,具体包括:
6、利用预设的目标类型的数据加密算法对所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解信息中参与哈希计算的目标属性参数进行加密计算,分别获得数据加密结果;
7、将所述模块标识和数据加密结果进行拼接组合,获得所述业务模块对应的缓存键值。
8、进一步的,所述对所述查询请求进行解析,获取所述查询请求对应的业务模块的模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解中参与哈希计算的目标属性参数,包括:
9、获取所述查询请求对应的业务模块的系统配置信息,从所述系统配置信息中获取业务模块的模块标识;
10、确定所述业务模块引用的自定义注解,并基于所述系统配置信息获取所述自定义注解的配置路径信息;
11、基于所述自定义注解中的自定义属性,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数。
12、进一步的,所述自定义属性包括第一参数选取范围属性字段和第二参数选取范围属性字段;其中,所述第一参数选取范围属性字段用于表示选取请求对象参数的参数范围,所述第二参数选取范围属性字段用于表示排除请求对象参数的参数范围;
13、所述基于所述自定义注解中的自定义属性,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数,具体包括:
14、基于所述第一参数选取范围属性字段和所述第二参数选取范围属性字段对所述查询请求的请求对象参数进行筛选,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数。
15、进一步的,所述的数据查询方法,还包括:
16、在基于所述缓存键值,到缓存型数据库中未获取到与所述查询请求对应的缓存结果的情况下,基于所述模块标识,到预设的非缓存型数据库中查询相应的新的请求对象信息;
17、基于所述新的请求对象信息生成相应的新的缓存键值,并将所述新的缓存键值对应的所述新的请求对象信息作为新的缓存结果存储到所述缓存型数据库。
18、进一步的,所述基于所述系统配置信息获取所述自定义注解的配置路径信息,具体包括:利用预设的反射机制获取自定义注解所在的配置路径信息;其中,所述配置路径信息包括所述自定义注解所在的包路径、所述包路径下的类名、所述类名下的函数名和所述函数名下的请求对象参数。
19、进一步的,所述的数据查询方法,在生成缓存键值之后,还包括:将所述缓存键值放入到预先存储的键值集合中进行重复校验,判断同一个所述业务模块是否对应至少两个缓存键值,若是,则停止查询缓存结果。
20、第二方面,本发明还提供一种数据查询装置,其特征在于,包括:
21、缓存键值计算单元,用于响应于用户发起的查询请求,对所述查询请求进行解析,获取所述查询请求对应的业务模块的模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解中参与哈希计算的目标属性参数;基于所述模块标识、所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解信息中参与哈希计算的目标属性参数进行哈希计算,生成缓存键值;其中,所述业务模块为预设的态势感知平台的各个功能业务模块中的至少一个;
22、缓存查询处理单元,用于基于所述缓存键值,到缓存型数据库中获取与所述查询请求对应的缓存结果,并输出所述缓存结果;其中,所述缓存型数据库中预先存储有各个缓存键值对应的缓存结果。
23、进一步的,所述缓存键值计算单元,具体用于:
24、获取所述查询请求对应的业务模块的系统配置信息,从所述系统配置信息中获取业务模块的模块标识;
25、确定所述业务模块引用的自定义注解,并基于所述系统配置信息获取所述自定义注解的配置路径信息;
26、基于所述自定义注解中的自定义属性,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数。
27、进一步的,所述自定义属性包括第一参数选取范围属性字段和第二参数选取范围属性字段;其中,所述第一参数选取范围属性字段用于表示选取请求对象参数的参数范围,所述第二参数选取范围属性字段用于表示排除请求对象参数的参数范围;
28、所述基于所述自定义注解中的自定义属性,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数,具体包括:
29、基于所述第一参数选取范围属性字段和所述第二参数选取范围属性字段对所述查询请求的请求对象参数进行筛选,从所述查询请求的请求对象参数中确定用于生成缓存键值的目标属性参数。
30、进一步的,所述缓存键值计算单元,具体用于:
31、利用预设的目标类型的数据加密算法对所述业务模块引用的自定义注解的配置路径信息以及所述自定义注解信息中参与哈希计算的目标属性参数进行加密计算,分别获得数据加密结果;
32、将所述模块标识和数据加密结果进行拼接组合,获得所述业务模块对应的缓存键值。
33、进一步的,所述的数据查询装置,还包括:
34、缓存结果新增处理单元,用于:
35、在基于所述缓存键值,到缓存型数据库中未获取到与所述查询请求对应的缓存结果的情况下,基于所述模块标识,到预设的非缓存型数据库中查询相应的新的请求对象信息;
36、基于所述新的请求对象信息生成相应的新的缓存键值,并将所述新的缓存键值对应的所述新的请求对象信息作为新的缓存结果存储到所述缓存型数据库。
37、进一步的,所述基于所述系统配置信息获取所述自定义注解的配置路径信息,具体包括:利用预设的反射机制获取自定义注解所在的配置路径信息;其中,所述配置路径信息包括所述自定义注解所在的包路径、所述包路径下的类名、所述类名下的函数名和所述函数名下的请求对象参数。
38、进一步的,所述的数据查询装置,在生成缓存键值之后,还包括:重复校验单元,用于将所述缓存键值放入到预先存储的键值集合中进行重复校验,判断同一个所述业务模块是否对应至少两个缓存键值,若是,则停止查询缓存结果。
39、第三方面,本发明还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上述任意一项所述的数据查询方法的步骤。
40、第四方面,本发明还提供一种处理器可读存储介质,所述处理器可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的数据查询方法的步骤。
41、本发明提供的数据查询方法,通过响应于用户发起的查询请求,对查询请求进行解析,获取查询请求对应的业务模块的模块标识、业务模块引用的自定义注解的配置路径信息以及自定义注解中参与哈希计算的目标属性参数,进而生成缓存键值;业务模块为预设的态势感知平台的各个功能业务模块中的至少一个,基于缓存键值,到缓存型数据库中获取与查询请求对应的缓存结果,并输出缓存结果,其能够使用自定义注解的方式构建缓存键值进行缓存查询,提高了查询处理的效率和性能。