本公开涉及数据处理和缓存管理,尤其涉及一种数据缓存方法、系统、设备及介质。
背景技术:
1、随着微服务架构的广泛采用,系统的分布式和云化部署已成为主流的部署形式。这一转变导致了数据库也必须适应分布式环境。尽管分布式数据库在大多数情况下能够满足应用需求,但在处理大规模和高并发的数据访问时,其性能瓶颈问题逐渐凸显,可能导致系统响应延迟或崩溃。在大数据时代,随着数据量的持续增长和用户访问频率的不断提高,分布式数据库面临的并发访问压力也在持续增大。
2、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
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、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种数据缓存方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述数据操作请求,包括如下操作中的一种或多种:
4.根据权利要求2所述的方法,其特征在于,所述在所述第一虚拟数据库中执行所述数据操作请求之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述第一虚拟数据库中已完成修改的数据,同步至所述分布式数据库中之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述在计算节点的内存中构建虚拟缓存空间,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1-9任一所述的方法,其特征在于,所述计算节点为容器或系统服务器。
11.一种数据缓存系统,其特征在于,包括:
12.根据权利要求11所述数据缓存系统,其特征在于,所述应用程序接口模块还获取对所述目标数据的数据操作请求;
13.根据权利要求12所述数据缓存系统,其特征在于,所述结构化查询语言执行模块,还在所述第一虚拟数据库中执行所述数据操作请求之后,通知所述智能路由模块将所述第一虚拟数据库中已完成修改的数据,同步至所述分布式数据库中。
14.根据权利要求13所述数据缓存系统,其特征在于,所述智能路由模块将所述第一虚拟数据库中已完成修改的数据,同步至所述分布式数据库中之后,所述缓存控制模块删除所述虚拟缓存空间。
15.一种电子设备,其特征在于,包括:
16.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-10中任意一项所述的数据缓存方法。
