访问数据库的方法、装置、计算设备和存储介质制造方法及图纸

技术编号:33876547 阅读:14 留言:0更新日期:2022-06-22 17:05
本申请提供了一种访问数据库的方法、装置、计算设备和存储介质,属于大数据技术领域。该方法包括:接收业务请求,获取该业务请求对应的目标分片因子。基于该目标分片因子,访问该业务请求对应的数据库。采用本申请,可以在数据库分库分表后,减少对业务的侵入。减少对业务的侵入。减少对业务的侵入。

【技术实现步骤摘要】
访问数据库的方法、装置、计算设备和存储介质


[0001]本申请涉及大数据
,特别涉及一种访问数据库的方法、装置、计算设备和存储介质。

技术介绍

[0002]随着大数据技术的发展,数据库广泛应用于各种在线交易平台以及社交平台等互联网平台中,数据库存储互联网平台的数据记录,互联网平台的用户可以查询数据库中的数据记录。随着互联网业务的发展,互联网平台上的用户量越来越大,访问频率越来越高,导致高并发的访问数据库的情况越来越多。
[0003]相关技术中,为了实现高并发的访问数据库,互联网平台的业务层使用分片因子,将数据库拆分为多个数据库和/或多个数据表。业务层在访问数据库时,携带分片因子这个字段,实现数据库的访问。
[0004]由于业务层在访问数据库时,需要携带分片因子这个字段,会导致业务侵入比较严重。

技术实现思路

[0005]本申请提供了一种访问数据库的方法、装置、计算设备和存储介质,用以在对数据库分库分表后,降低对业务的侵入。
[0006]第一方面,本申请提供了一种访问数据库的方法,该方法包括:
[0007]接收业务请求,获取该业务请求对应的目标分片因子,基于目标分片因子,访问该业务请求对应的数据库。
[0008]本申请所示的方案,访问数据库的方法可以由访问数据库的装置执行,访问数据库的装置简称为访问装置。访问装置接收到业务请求,获取该业务请求对应的目标分片因子。然后使用目标分片因子,访问业务请求对应的数据库。这样,是访问装置获取业务请求对应的分片因子,而不是由业务层在业务请求中携带分片因子,所以业务层不需要知晓业务请求对应的分片因子,因此,在对数据库分库分表后,对业务的侵入比较低。
[0009]在一种可能的实现方式中,该方法还包括:将获取的目标分片因子,添加至业务请求中。这样,可以使得业务请求符合规则。
[0010]在一种可能的实现方式中,业务请求中不包括目标分片因子。这样,在业务请求中不包括目标分片因子时,才添加目标分片因子,可以减少获取分片因子的处理量。
[0011]在一种可能的实现方式中,业务请求为用于增加数据记录、删除数据记录、修改数据记录或者查询数据记录的请求。
[0012]在一种可能的实现方式中,获取业务请求对应的目标分片因子,包括:在存储的分片因子中,获取业务请求对应的目标分片因子。
[0013]本申请所示的方案,访问装置可以存储有分片因子,在存储的分片因子中,获取到业务请求对应的目标分片因子。这样,不需要访问数据库就可以获取到目标分片因子,所以
可以提升获取分片因子的效率。
[0014]在一种可能的实现方式中,获取业务请求对应的目标分片因子,包括:在与业务请求对应的数据记录存在关联关系的数据记录中,获取业务请求对应的目标分片因子。
[0015]本申请所示的方案,访问装置使用业务请求,确定与业务请求对应的数据记录存在关联关系的数据记录,在该数据记录中,获取业务请求对应的目标分片因子。这样,在访问装置不存储分片因子时,也可以获取到业务请求对应的目标分片因子。
[0016]在一种可能的实现方式中,基于目标分片因子,访问业务请求对应的数据库,包括:通过主数据库中间件基于目标分片因子,访问业务请求对应的数据库。
[0017]本申请所示的方案,访问装置包括主数据库中间件,访问装置可以将业务请求提交给主数据库中间件,由主数据库中间件基于目标分片因子,访问业务请求对应的数据库。使用数据库中间件可以使得数据库与业务层隔离。
[0018]在一种可能的实现方式中,通过主数据库中间件基于目标分片因子,访问业务请求对应的数据库,包括:检测到主数据库中间件可用的情况下,通过主数据库中间件基于目标分片因子,访问业务请求对应的数据库;该方法还包括:检测到主数据库中间件不可用的情况下,通过备数据库中间件基于目标分片因子,访问业务请求对应的数据库。
[0019]本申请所示的方案,访问装置可以判断主数据库中间件是否可用,访问装置在确定主数据库中间件可用的情况下,可以通过主数据库中间件基于目标分片因子,访问业务请求对应的数据库。访问装置在确定主数据库中间件不可用的情况下,可以通过备数据库中间件基于目标分片因子,访问业务请求对应的数据库。这样,可以避免主数据库中间件异常而导致的业务中断。
[0020]在一种可能的实现方式中,通过备数据库中间件基于目标分片因子,访问业务请求对应的数据库之前,还包括:控制备数据库中间件升级为主数据库中间件。这样,可以通知备数据库中间件执行业务请求。
[0021]第二方面,本申请提供了一种数据库系统,该系统包括处理节点和存储节点;其中,处理节点用于实现第一方面所述的访问数据库的方法,存储节点设置有数据库。
[0022]第三方面,本申请提供了一种访问数据库的装置,该装置包括一个或多个模块,该一个或多个模块用于实现第一方面所述的访问数据库的方法。
[0023]第四方面,本申请提供了一种访问数据库的计算设备,计算设备包括处理器和存储器,其中,存储器中存储有计算机指令,处理器执行存储器中的计算机指令,以实现第一方面及其可能的实现方式的方法。
[0024]第五方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中的计算机指令被计算设备执行时,使得计算设备执行第一方面及其可能的实现方式的方法,或者使得计算设备实现上述第三方面及其可能的实现方式的装置的功能。
[0025]第六方面,提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面及其可能的实现方式的方法,或者使得计算设备实现上述第三方面及其可能的实现方式的装置的功能。
附图说明
[0026]图1是本申请一个示例性实施例提供的一种数据库系统的示意图;
[0027]图2是本申请一个示例性实施例提供的一种数据库系统的示意图;
[0028]图3是本申请一个示例性实施例提供的计算设备的结构示意图;
[0029]图4是本申请一个示例性实施例提供的分库分表的流程示意图;
[0030]图5是本申请一个示例性实施例提供的分库分表的逻辑示意图;
[0031]图6是本申请一个示例性实施例提供的访问数据库的方法的流程示意图;
[0032]图7是本申请一个示例性实施例提供的主数据库中间件与备数据库中间件的切换示意图;
[0033]图8是本申请一个示例性实施例提供的访问数据库的装置的结构示意图。
具体实施方式
[0034]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步的详细描述。
[0035]为了便于对本申请实施例的理解,下面首先介绍所涉及到的名词的概念:
[0036]1、分库分表,可以包括水平分库分表,水平分库分表指将原数据库中单张数据表的数据记录切分到多个数据库的数据表上,不同数据库中数据表的数据记录不相同,所有数据库中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问数据库的方法,其特征在于,所述方法包括:接收业务请求;获取所述业务请求对应的目标分片因子;基于所述目标分片因子,访问所述业务请求对应的数据库。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将获取的目标分片因子,添加至所述业务请求中。3.根据权利要求1或2所述的方法,其特征在于,所述业务请求中不包括所述目标分片因子。4.根据权利要求1至3任一项所述的方法,其特征在于,所述业务请求为用于增加数据记录、删除数据记录、修改数据记录或者查询数据记录的请求。5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取所述业务请求对应的目标分片因子,包括:在存储的分片因子中,获取所述业务请求对应的目标分片因子。6.根据权利要求1至4任一项所述的方法,其特征在于,所述获取所述业务请求对应的目标分片因子,包括:在与所述业务请求对应的数据记录存在关联关系的数据记录中,获取所述业务请求对应的目标分片因子。7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述目标分片因子,访问所述业务请求对应的数据库,包括:通过主数据库中间件基于所述目标分片因子,访问所述业务请求对应的数据库。8.根据权利要求7所述的方法,其特征在于,所述通过主数据库中间件基于所述目标分片因子,访问所述业务请求对应的数据库,包括:检测到所述主数据库中间件可用的情况下,通过主数据库中间件基于所述目标分片因子,访问所述业务请求对应的数据库;所述方法还包括:检测到所述主数据库中间件不可用的情况下,通过备数据库中间件基于所述目标分片因子,访问所述业务请求对应的数据库。9.根据权利要求8所述的方法,其特征在于,所述通过备数据库中间件基于所述目标分片因子,访问所述业务请求对应的数据库之前,还包括:控制所述备数据库中间件升级为主数据库中间件。10.一种数据库系统,其特征在于,所述系统包括处理节点和存储节点;其中,所述处理节点用于实现权利要求1至9任一项所述的方法;所述存储节点设置有数据库。11.一种访问数据库的装置,其特征在于,所述装置包括:接收模块,用于接收业务请求;获取模块,用于获取所述业务请求对应的目标分片因子;访问模块,用于基于所述目标...

【专利技术属性】
技术研发人员:刘为怀周佳宸刘运国范华忠华胜
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1