System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于cassandra的数据查询方法及装置制造方法及图纸_技高网

一种基于cassandra的数据查询方法及装置制造方法及图纸

技术编号:40532937 阅读:8 留言:0更新日期:2024-03-01 13:54
本发明专利技术公开了一种基于cassandra的数据查询方法及装置,用于解决现在的基于cassandra的数据查询方式查询效率低下的技术问题。本发明专利技术包括:当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件;在预设的mysql库的辅助表中查询所述查询条件对应的目标分区主键值;根据所述目标分区主键值查询预设的cassandra库的业务表,得到所述查询请求对应的目标数据。本发明专利技术通过建立mysql库辅助表来存储cassandra库的分区主键值,从而简洁化对cassandra库的查询条件,从而提高了对cassandra库的查询效率。

【技术实现步骤摘要】

本专利技术涉及数据查询,尤其涉及一种基于cassandra的数据查询方法及装置


技术介绍

1、随着信息化的发展和业务规模的增多,很多设备的消息告警已经达到每日10亿+的数量,按照传统使用cassandra方式存储数据能够满足存储要求,但是传统的存储方式有如下问题:

2、(1)复杂条件的查询场景cassandra有限制,默认不支持非分区查询,可以加allowfiltering查询,但是会影响查询效率;

3、(2)复杂条件的查询场景cassandra有限制,非分区建查询可以加普通索引,但是数据量超过10万+查询效率会显得低下。


技术实现思路

1、本专利技术提供了一种基于cassandra的数据查询方法及装置,用于解决现在的基于cassandra的数据查询方式查询效率低下的技术问题。

2、本专利技术提供了一种基于cassandra的数据查询方法,包括:

3、当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件;

4、在预设的mysql库的辅助表中查询所述查询条件对应的目标分区主键值;

5、根据所述目标分区主键值查询预设的cassandra库的业务表,得到所述查询请求对应的目标数据。

6、可选地,所述当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件的步骤之前,还包括:

7、获取各业务的第一查询条件,并确定各业务的第一查询条件对应的第一分区主键值;

8、采用所述第一分区主键值在所述cassandra库中建立所述业务表;

9、采用各业务的第一查询条件和对应的第一分区主键值,在所述mysql库中建立所述辅助表。

10、可选地,还包括:

11、当接收到预设摄像头上报的告警消息时,确定所述告警消息对应的第二分区主键值,并根据所述第二分区主键值,将所述告警消息存储在所述业务表中;

12、获取所述告警消息对应的第二查询条件,将所述第二查询条件和所述第二分区主键值存储在所述辅助表中。

13、可选地,所述查询条件由设备码、告警消息类型、告警时间中的一种或多种与用户账号构成。

14、本专利技术还提供了一种基于cassandra的数据查询装置,包括:

15、查询条件提取模块,用于当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件;

16、目标分区主键值查询模块,用于在预设的mysql库的辅助表中查询所述查询条件对应的目标分区主键值;

17、目标数据查询模块,用于根据所述目标分区主键值查询预设的cassandra库的业务表,得到所述查询请求对应的目标数据。

18、可选地,还包括:

19、第一分区主键值确定模块,用于获取各业务的第一查询条件,并确定各业务的第一查询条件对应的第一分区主键值;

20、业务表建立模块,用于采用所述第一分区主键值在所述cassandra库中建立所述业务表;

21、辅助表建立模块,用于采用各业务的第一查询条件和对应的第一分区主键值,在所述mysql库中建立所述辅助表。

22、可选地,还包括:

23、业务表信息存储模块,用于当接收到预设摄像头上报的告警消息时,确定所述告警消息对应的第二分区主键值,并根据所述第二分区主键值,将所述告警消息存储在所述业务表中;

24、辅助表信息存储模块,用于获取所述告警消息对应的第二查询条件,将所述第二查询条件和所述第二分区主键值存储在所述辅助表中。

25、可选地,所述查询条件由设备码、告警消息类型、告警时间中的一种或多种与用户账号构成。

26、本专利技术还提供了一种电子设备,所述设备包括处理器以及存储器:

27、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

28、所述处理器用于根据所述程序代码中的指令执行如上任一项所述的基于cassandra的数据查询方法。

29、本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的基于cassandra的数据查询方法。

30、从以上技术方案可以看出,本专利技术具有以下优点:本专利技术公开了一种基于cassandra的数据查询方法,包括:当接收到客户端发出的查询请求时,从查询请求中提取查询条件;在预设的mysql库的辅助表中查询查询条件对应的目标分区主键值;根据目标分区主键值查询预设的cassandra库的业务表,得到查询请求对应的目标数据。本专利技术通过建立mysql库辅助表来存储cassandra库的分区主键值,从而简洁化对cassandra库的查询条件,从而提高了对cassandra库的查询效率。

本文档来自技高网...

【技术保护点】

1.一种基于cassandra的数据查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件的步骤之前,还包括:

3.根据权利要求1所述的方法,其特征在于,还包括:

4.根据权利要求1所述的方法,其特征在于,所述查询条件由设备码、告警消息类型、告警时间中的一种或多种与用户账号构成。

5.一种基于cassandra的数据查询装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,还包括:

7.根据权利要求5所述的装置,其特征在于,还包括:

8.根据权利要求5所述的装置,其特征在于,所述查询条件由设备码、告警消息类型、告警时间中的一种或多种与用户账号构成。

9.一种电子设备,其特征在于,所述设备包括处理器以及存储器:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-4任一项所述的基于cassandra的数据查询方法。>...

【技术特征摘要】

1.一种基于cassandra的数据查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述当接收到客户端发出的查询请求时,从所述查询请求中提取查询条件的步骤之前,还包括:

3.根据权利要求1所述的方法,其特征在于,还包括:

4.根据权利要求1所述的方法,其特征在于,所述查询条件由设备码、告警消息类型、告警时间中的一种或多种与用户账号构成。

5.一种基于cassandra的数据查询装置,其特征在于,包括:

6....

【专利技术属性】
技术研发人员:刘斌
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

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

1