基于分布式数据库的请求处理方法及装置与流程
- 国知局
- 2024-12-26 15:02:39
本发明涉及计算机,尤其涉及数据库,更具体地,涉及一种基于分布式数据库的请求处理方法及装置。
背景技术:
1、在分布式数据库系统中,处理查询请求时确保系统稳定性和可靠性是至关重要的。然而,在高并发场景中,如果多个用户或应用程序同时提交大量查询请求,或由于某些包含复杂逻辑的查询请求会导致系统负载过高,在系统负载过高的情况下可能会造成数据库系统的响应延迟增加、甚至系统崩溃,从而影响数据库服务的稳定性和可靠性。
技术实现思路
1、有鉴于此,本发明提供了一种基于分布式数据库的请求处理方法及装置。
2、本发明的一个方面提供了一种基于分布式数据库的请求处理方法,包括:响应于用户对分布式数据库的访问请求,根据上述访问请求包括的查询语句,确定执行树结构,其中,上述执行树结构包括至少一个执行节点;在至少一个上述执行节点中目标执行节点的操作类型为数据迁移操作类型的情况下,在上述执行树结构中为上述目标执行节点创建前置节点,得到目标执行树结构,其中,上述前置节点用于读取与上述目标执行节点对应的待迁移数据;在上述前置节点的数目小于或等于节点数目阈值的情况下,基于每个上述前置节点读取的数据量、每个上述执行节点执行上述查询语句的资源消耗量,确定上述目标执行树结构的执行代价;在上述目标执行树结构的执行代价大于或者等于资源消耗阈值的情况下,基于限流策略对上述访问请求进行限流处理,其中,上述资源消耗阈值是基于当前时刻上述分布式数据库的剩余资源量确定的。
3、根据本发明的实施例,上述方法还包括:在上述前置节点的数目大于上述节点数目阈值的情况下,基于上述限流策略对上述访问请求进行限流处理。
4、根据本发明的实施例,上述基于每个上述前置节点读取的数据量、每个上述执行节点执行上述查询语句的资源消耗量,确定上述目标执行树结构的执行代价包括:在上述前置节点的数目小于或者等于上述节点数目阈值的情况下,基于每个上述前置节点读取的数据量和上述前置节点的数目,确定上述前置节点执行数据读取操作的执行代价;在上述前置节点执行数据读取操作的执行代价小于或者等于上述资源消耗阈值的情况下,基于上述前置节点执行数据读取操作的执行代价、上述执行节点的数目以及每个上述执行节点执行查询操作的资源消耗量,确定上述目标执行树结构的执行代价。
5、根据本发明的实施例,上述方法还包括:在上述前置节点执行数据读取操作的执行代价大于上述资源消耗阈值的情况下,基于上述限流策略对上述访问请求进行限流处理。
6、根据本发明的实施例,上述基于上述限流策略对上述访问请求进行限流处理包括:将上述访问请求添加至等待队列中;或,生成拒绝执行上述访问请求的指令,以对上述访问请求进行限流处理。
7、根据本发明的实施例,上述响应于用户对分布式数据库的访问请求,根据上述访问请求包括的查询语句,确定执行树结构包括:对上述查询语句进行解析,得到多个查询语句子序列以及多个上述查询语句子序列之间的查询逻辑,其中,每个上述查询语句子序列表征一个查询操作或查询条件;将表征上述查询操作的查询语句子序列分别映射到至少一个上述执行节点上;基于多个上述查询语句子序列之间的查询逻辑,将至少一个上述执行节点连接为上述执行树结构。
8、根据本发明的实施例,上述在至少一个上述执行节点中目标执行节点的操作类型为数据迁移操作类型的情况下,在上述执行树结构中为上述目标执行节点创建前置节点,得到目标执行树结构包括:在至少一个上述执行节点中的目标执行节点的操作类型为数据迁移操作类型的情况下,基于数据迁移操作的操作顺序,确定上述前置节点的创建位置;基于上述前置节点的创建位置,在上述执行树结构中为上述目标执行节点创建上述前置节点;建立上述前置节点与上述目标执行节点之间的连接关系;基于上述前置节点以及上述连接关系,对上述执行树结构进行更新,得到上述目标执行树结构。
9、根据本发明的实施例,上述方法还包括:对上述执行树结构进行遍历,得到至少一个上述执行节点各自的操作类型;将上述操作类型为数据迁移操作类型的执行节点确定为目标执行节点。
10、根据本发明的实施例,上述方法还包括:在上述目标执行树结构的执行代价小于上述资源消耗阈值的情况下,按照上述目标执行树结构执行上述查询语句。
11、本发明的另一个方面提供了一种基于分布式数据库的请求处理装置,包括:第一确定模块,用于响应于用户对分布式数据库的访问请求,根据上述访问请求包括的查询语句,确定执行树结构,其中,上述执行树结构包括至少一个执行节点;第二确定模块,在至少一个上述执行节点中目标执行节点的操作类型为数据迁移操作类型的情况下,在上述执行树结构中为上述目标执行节点创建前置节点,得到目标执行树结构,其中,上述前置节点用于读取与上述目标执行节点对应的待迁移数据;第三确定模块,用于在上述前置节点的数目小于或等于节点数目阈值的情况下,基于每个上述前置节点读取的数据量、每个上述执行节点执行上述查询语句的资源消耗量,确定上述目标执行树结构的执行代价;第一限流模块,用于在上述目标执行树结构的执行代价大于或者等于资源消耗阈值的情况下,基于限流策略对上述访问请求进行限流处理,其中,上述资源消耗阈值是基于当前时刻上述分布式数据库的剩余资源量确定的。
12、本发明的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上上述的方法。
13、本发明的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上上述的方法。
14、本发明的另一方面提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述指令在被执行时用于实现如上上述的方法。
15、根据本发明的实施例,根据访问请求包括的查询语句构建执行树结构,并在执行树结构中为目标执行节点创建前置节点,并将前置节点的数目与节点数目阈值进行比较,以防止前置节点过多而导致系统过载;在前置节点的数目满足条件的情况下,对目标执行树结构的执行代价进行评估,以合理分配数据库资源,在超出资源消耗阈值的情况下基于限流策略对访问请求进行限流处理,从而有效地控制数据库的访问请求流量,防止访问请求一次性消耗大量资源而导致系统崩溃,提高数据库的稳定性和可靠性。
技术特征:1.一种基于分布式数据库的请求处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述基于每个所述前置节点读取的数据量、每个所述执行节点执行所述查询语句的资源消耗量,确定所述目标执行树结构的执行代价包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1、2或4所述的方法,其特征在于,所述基于所述限流策略对所述访问请求进行限流处理包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于用户对分布式数据库的访问请求,根据所述访问请求包括的查询语句,确定执行树结构包括:
7.根据权利要求1所述的方法,其特征在于,所述在至少一个所述执行节点中目标执行节点的操作类型为数据迁移操作类型的情况下,在所述执行树结构中为所述目标执行节点创建前置节点,得到目标执行树结构包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.一种基于分布式数据库的请求处理装置,其特征在于,所述装置包括:
技术总结本发明提供了一种基于分布式数据库的请求处理方法及装置,主要涉及计算机技术领域,尤其涉及数据库技术领域。该方法包括:响应于用户对分布式数据库的访问请求,根据上述访问请求包括的查询语句,确定执行树结构;在至少一个上述执行节点中目标执行节点的操作类型为数据迁移操作类型的情况下为上述目标执行节点创建前置节点,得到目标执行树结构;在上述前置节点的数目小于或等于节点数目阈值的情况下,基于每个上述前置节点读取的数据量、每个上述执行节点执行上述查询语句的资源消耗量,确定上述目标执行树结构的执行代价;在上述目标执行树结构的执行代价大于或者等于资源消耗阈值的情况下,基于限流策略对上述访问请求进行限流处理。技术研发人员:侯晓凡受保护的技术使用者:苏州吉呗思数据技术有限公司技术研发日:技术公布日:2024/12/23本文地址:https://www.jishuxx.com/zhuanli/20241226/344294.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。