数据处理方法和装置

阅读: 评论:0

著录项
  • CN202010361543.1
  • 20200430
  • CN111563132A
  • 20200821
  • 中国银行股份有限公司
  • 付昕;王鹏鹏;胡传杰;王冠华;刘辰
  • G06F16/28
  • G06F16/28 G06F9/50

  • 北京市西城区复兴门内大街1号
  • 北京(11)
  • 北京集佳知识产权代理有限公司
  • 薛娇
摘要
本申请公开了一种数据处理方法和装置,应用于云平台,云平台中部署有容器编码调度引擎,容器编码调度引擎创建有至少一个工作节点,该至少一个工作节点上运行有分布式关系型数据库,分布式关系型数据库为支持结构化数据和非结构化数据。其中,分布式关系型数据库在接收到数据处理请求后,如所具有的资源无法满足数据处理请求,向容器编码调度引擎发送资源申请请求;容器编码调度引擎为分布式关系型数据库调度并分配资源;在分布式关系型数据库具有的资源满足数据处理请求的情况下,基于数据处理请求执行数据处理操作。本申请可以在数据库支持结构化和非结构化数据的存储的前提下,更为有效应对高并发的数据访问。
权利要求

1.一种数据处理方法,其特征在于,应用于云平台,所述云平台中部署有容器编码调度引擎,所述容器编码调度引擎创建有至少一个工作节点,所述至少一个工作节点上运行有分布式关系型数据库,所述分布式关系型数据库为支持结构化数据和非结构化数据的数据库,所述方法包括:

所述分布式关系型数据库接收数据处理请求;

在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求;

所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,以使得所述分布式关系型数据具有满足所述数据处理请求所需的资源;

在所述分布式关系型数据库具有的资源满足所述数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

2.根据权利要求1所述的方法,其特征在于,所述分布式关系型数据库包括:请求处理模块、位置驱动模块和存储模块集,所述存储模块集包括用于存储数据的至少一个存储模块;

其中,所述分布式关系型数据库接收数据处理请求,包括:

所述分布式关系型数据库中的请求处理模块接收数据处理请求;

所述在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求,包括:

所述请求处理模块基于所述数据处理请求向所述位置驱动模块发送数据处理指示,所述数据处理指示用于指示存在所述数据处理请求;

所述位置驱动模块响应于所述数据处理指示,基于该数据处理请求所请求的数据操作,检测所述存储模块集中是否存在可用且资源充足的至少一个存储模块;

在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求;

所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,包括:

所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,以使得所述存储模块集能够满足所述数据处理请求的处理需求。

3.根据权利要求2所述的方法,其特征在于,所述在所述位置驱动模块检测到所述存储模块集中不存在可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求,包括:

在所述位置驱动模块检测到所述存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送第一资源申请请求,所述第一资源申请请求用于请求为至少一个候选存储模块中的至少部分第一存储模块调度并分配资源;

所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,包括:

所述容器编码调度引擎响应于所述第一资源申请请求,为所述至少部分候选存储模块调度并分配资源,以使得所述至少部分第一存储模块具有能够满足处理所述数据处理请求所需的资源。

4.根据权利要求2所述的方法,其特征在于,所述在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求,包括:

在所述位置驱动模块检测到所述存储模块集中不存在可用的存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送第二资源申请请求,所述第二资源申请请求用于请求为所述分布式关系型数据库新增存储模块,以增加所述存储模块集中存储模块的资源;

所述所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,包括:

所述容器编码调度引擎响应于所述第二资源申请请求,在所述容器编码调度引擎创建的工作节点上为所述分布式关系型数据库创建并运行存储模块。

5.根据权利要求1所述的方法,其特征在于,在所述容器编码调度引擎为所述分布式关系型数据库调度并分配资源之前,还包括:

如所述容器编码调度引擎检测到已创建的至少一个工作节点所具有的剩余资源不足,向所述云平台请求分配用于创建工作节点的资源;

所述容器编码调度引擎基于所述云平台分配的资源创建工作节点。

6.一种数据处理装置,其特征在于,应用于云平台,所述云平台中部署有容器编码调度引擎,所述容器编码调度引擎创建有至少一个工作节点,所述至少一个工作节点上运行有分布式关系型数据库,所述分布式关系型数据库为支持结构化数据和非结构化数据的数据库,所述装置包括:

请求接收单元,用于通过所述分布式关系型数据库接收数据处理请求;

资源申请单元,用于在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,通过所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求;

资源调度单元,用于通过所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,以使得所述分布式关系型数据具有满足所述数据处理请求所需的资源;

数据操作单元,用于在所述分布式关系型数据库具有的资源满足所述数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

7.根据权利要求6所述的装置,其特征在于,所述分布式关系型数据库包括:请求处理模块、位置驱动模块和存储模块集,所述存储模块集包括用于存储数据的至少一个存储模块;

其中,所述请求接收单元,具体为,用于通过所述分布式关系型数据库中的请求处理模块接收数据处理请求;

所述资源申请单元,包括:

处理指示单元,用于通过所述请求处理模块基于所述数据处理请求向所述位置驱动模块发送数据处理指示,所述数据处理指示用于指示存在所述数据处理请求;

检测单元,用于通过所述位置驱动模块响应于所述数据处理指示,基于该数据处理请求所请求的数据操作,检测所述存储模块集中是否存在可用且资源充足的至少一个存储模块;

资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送资源申请请求;

所述资源调度单元,具体为,用于通过所述容器编码调度引擎响应所述资源申请请求,为所述存储模块集调用并分配资源,以使得所述存储模块集能够满足所述数据处理请求的处理需求。

8.根据权利要求7所述的装置,其特征在于,所述资源请求单元,包括:

第一资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第一资源申请请求,所述第一资源申请请求用于请求为至少一个候选存储模块中的至少部分第一存储模块调度并分配资源;

所述资源调度单元,包括:

第一资源调度单元,用于通过所述容器编码调度引擎响应所述第一资源申请请求,为所述至少部分候选存储模块调度并分配资源,以使得所述至少部分第一存储模块具有能够满足处理所述数据处理请求所需的资源。

9.根据权利要求7所述的装置,其特征在于,所述资源请求单元,包括:

第二资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在可用的存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第二资源申请请求,所述第二资源申请请求用于请求为所述分布式关系型数据库新增存储模块,以增加所述存储模块集中存储模块的资源;

所述资源调度单元,包括:

第二资源调度单元,用于通过所述容器编码调度引擎响应所述第二资源申请请求,在所述容器编码调度引擎创建的工作节点上为所述分布式关系型数据库创建并运行存储模块。

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

引擎资源检测单元,用于在所述容器编码调度引擎为所述分布式关系型数据库调度并分配资源之前,如所述容器编码调度引擎检测到已创建的至少一个工作节点所具有的剩余资源不足,向所述云平台请求分配用于创建工作节点的资源;

节点创建单元,用于通过所述容器编码调度引擎基于所述云平台分配的资源创建工作节点。

说明书
技术领域

本申请涉及数据处理技术领域,尤其涉及一种数据处理方法和装置。

随着信息化的不断发展,银行等企业所涉及到数据的类型不逐渐多样化,使得企业可能需要同时维护结构化数据和非结构化数据。如,银行中客户信息可能会同时涉及到结构化和非结构化的数据。

结构化和非结构化数据并存对数据维护提出了较高要求。因此,在企业所需维护的数据量较大,且结构化数据和非结构化数据并存的情况下,如何较为可靠的实现数据存储并能够有效应对高并发的数据访问是本领域技术人员需要解决的技术问题。

有鉴于此,本申请提供了一种数据处理方法和装置,以在数据库支持结构化和非结构化数据的存储的前提下,更为有效应对高并发的数据访问。

为实现上述目的,一方面,本申请提供了一种数据处理方法,应用于云平台,所述云平台中部署有容器编码调度引擎,所述容器编码调度引擎创建有至少一个工作节点,所述至少一个工作节点上运行有分布式关系型数据库,所述分布式关系型数据库为支持结构化数据和非结构化数据的数据库,所述方法包括:

所述分布式关系型数据库接收数据处理请求;

在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求;

所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,以使得所述分布式关系型数据具有满足所述数据处理请求所需的资源;

在所述分布式关系型数据库具有的资源满足所述数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

优选的,所述分布式关系型数据库包括:请求处理模块、位置驱动模块和存储模块集,所述存储模块集包括用于存储数据的至少一个存储模块;

其中,所述分布式关系型数据库接收数据处理请求,包括:

所述分布式关系型数据库中的请求处理模块接收数据处理请求;

所述在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求,包括:

所述请求处理模块基于所述数据处理请求向所述位置驱动模块发送数据处理指示,所述数据处理指示用于指示存在所述数据处理请求;

所述位置驱动模块响应于所述数据处理指示,基于该数据处理请求所请求的数据操作,检测所述存储模块集中是否存在可用且资源充足的至少一个存储模块;

在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求;

所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,包括:

所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,以使得所述存储模块集能够满足所述数据处理请求的处理需求。

优选的,所述在所述位置驱动模块检测到所述存储模块集中不存在可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求,包括:

在所述位置驱动模块检测到所述存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送第一资源申请请求,所述第一资源申请请求用于请求为至少一个候选存储模块中的至少部分第一存储模块调度并分配资源;

所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,包括:

所述容器编码调度引擎响应于所述第一资源申请请求,为所述至少部分候选存储模块调度并分配资源,以使得所述至少部分第一存储模块具有能够满足处理所述数据处理请求所需的资源。

优选的,所述在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送资源申请请求,包括:

在所述位置驱动模块检测到所述存储模块集中不存在可用的存储模块的情况下,所述位置驱动模块向所述容器编码调度引擎发送第二资源申请请求,所述第二资源申请请求用于请求为所述分布式关系型数据库新增存储模块,以增加所述存储模块集中存储模块的资源;

所述所述容器编码调度引擎响应于所述资源申请请求,为所述存储模块集调用并分配资源,包括:

所述容器编码调度引擎响应于所述第二资源申请请求,在所述容器编码调度引擎创建的工作节点上为所述分布式关系型数据库创建并运行存储模块。

优选的,在所述容器编码调度引擎为所述分布式关系型数据库调度并分配资源之前,还包括:

如所述容器编码调度引擎检测到已创建的至少一个工作节点所具有的剩余资源不足,向所述云平台请求分配用于创建工作节点的资源;

所述容器编码调度引擎基于所述云平台分配的资源创建工作节点。

又一方面,本申请提供了一种数据处理装置,应用于云平台,所述云平台中部署有容器编码调度引擎,所述容器编码调度引擎创建有至少一个工作节点,所述至少一个工作节点上运行有分布式关系型数据库,所述分布式关系型数据库为支持结构化数据和非结构化数据的数据库,所述装置包括:

请求接收单元,用于通过所述分布式关系型数据库接收数据处理请求;

资源申请单元,用于在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,通过所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求;

资源调度单元,用于通过所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,以使得所述分布式关系型数据具有满足所述数据处理请求所需的资源;

数据操作单元,用于在所述分布式关系型数据库具有的资源满足所述数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

优选的,所述分布式关系型数据库包括:请求处理模块、位置驱动模块和存储模块集,所述存储模块集包括用于存储数据的至少一个存储模块;

其中,所述请求接收单元,具体为,用于通过所述分布式关系型数据库中的请求处理模块接收数据处理请求;

所述资源申请单元,包括:

处理指示单元,用于通过所述请求处理模块基于所述数据处理请求向所述位置驱动模块发送数据处理指示,所述数据处理指示用于指示存在所述数据处理请求;

检测单元,用于通过所述位置驱动模块响应于所述数据处理指示,基于该数据处理请求所请求的数据操作,检测所述存储模块集中是否存在可用且资源充足的至少一个存储模块;

资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送资源申请请求;

所述资源调度单元,具体为,用于通过所述容器编码调度引擎响应所述资源申请请求,为所述存储模块集调用并分配资源,以使得所述存储模块集能够满足所述数据处理请求的处理需求。

优选的,所述资源请求单元,包括:

第一资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第一资源申请请求,所述第一资源申请请求用于请求为至少一个候选存储模块中的至少部分第一存储模块调度并分配资源;

所述资源调度单元,包括:

第一资源调度单元,用于通过所述容器编码调度引擎响应所述第一资源申请请求,为所述至少部分候选存储模块调度并分配资源,以使得所述至少部分第一存储模块具有能够满足处理所述数据处理请求所需的资源。

优选的,所述资源请求单元,包括:

第二资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在可用的存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第二资源申请请求,所述第二资源申请请求用于请求为所述分布式关系型数据库新增存储模块,以增加所述存储模块集中存储模块的资源;

所述资源调度单元,包括:

第二资源调度单元,用于通过所述容器编码调度引擎响应所述第二资源申请请求,在所述容器编码调度引擎创建的工作节点上为所述分布式关系型数据库创建并运行存储模块。

优选的,还包括:

引擎资源检测单元,用于在所述容器编码调度引擎为所述分布式关系型数据库调度并分配资源之前,如所述容器编码调度引擎检测到已创建的至少一个工作节点所具有的剩余资源不足,向所述云平台请求分配用于创建工作节点的资源;

节点创建单元,用于通过所述容器编码调度引擎基于所述云平台分配的资源创建工作节点。

经由上述的技术方案可知,在云平台中部署有容器编码调度引擎,同时,在该容器编码调度引擎创建并运行的工作节点中运行有能够支持结构化数据和非结构化数据的分布式关系型数据。在该分布式关系型数据库处理数据处理请求的过程中,如果该分布式关系型数据库所具有的资源无法满足数据处理请求的情况下,该分布式关系型数据库可以向容器编码调度引擎发送资源申请请求,并通过容器编码调度引擎为分布式关系型数据库调度并分配资源,从而可靠支撑了分布式关系型数据库所需资源的弹性扩展,即使在高并发的数据访问场景中,也能够有效保证数据的可靠处理,从而可以更为有效的应对高并发的数据访问。

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了一种数据处理方法的一种流程示意图;

图2示出了本申请的数据处理方法所适用的云平台的一种组成架构示意图;

图3示出了本申请一种数据处理方法又一个实施例的流程示意图;

图4示出了本申请一种数据处理装置一个实施例的组成结构示意图。

本申请的数据处理方法适用于云平台,通过在云平台中部署容器编码调度引擎,并在容器编码调度引擎创建的工作节点上运行分布式关系型数据库,可以实现通过容器编码引擎合理为分布式关系型数据库分配数据处理所需的资源,在使得分布式关系型数据库能够支持结构化数据和非结构化数据存储的前提下,能够有效保证分布式关系型数据库可以有效的应对数据访问。

其中,云平台中部署的容器编码调度引擎是用于管理云平台中多个主机上的容器化的应用,其目标是让部署容器化的应用简单并且高效,其提供了应用部署,规划,更新,维护的一种机制。

在本申请中容器编码调度引擎可以有多种可能,如,作为一种可选,该容器编码调度引擎可以为kubernetes,简称K8s。

其中,容器编码调度引擎可以创建并运行至少一个工作节点,在工作节点上可以运行应用。当然,该容器编码调度引擎还运行有主节点,主节点可以用于控制各个工作节点。其中,工作节点和主节点可以为容器编码调度引擎创建的逻辑节点,每个逻辑节点分配有处理器和内存等资源,每个逻辑节点可以认为是一个虚拟机。

在本申请实施例中,该分布式关系型数据库可以为任意能够支持结构化和非结构化数据存储与处理的数据,对此不加限制。如,该分布式关系型数据库可以为分布式NewSQL(新型的关系型数据库),即简称为TiDB数据库。

该分布式关系型数据库可以运行在容器编码调度引擎创建的工作节点上。

下面结合流程图对本申请的数据处理方法进行介绍。如图1,其示出了本申请一种数据处理方法一个实施例的流程示意图,本实施例的方法应用于云平台,该云平台中部署有容器编码调度引擎,该容器编码调度引擎创建有至少一个工作节点,该至少一个工作节点上运行有分布式关系型数据库,该分布式关系型数据库为支持结构化数据和非结构化数据的数据库。

本实施例的方法包括:

S101,分布式关系型数据库接收数据处理请求。

该数据处理请求可以为云平台内或者云平台之外的其他应用向该分布式关系型数据库发送的。

其中,该数据处理请求为请求访问该分布式关系型数据库并对分布式关系型数据进行数据操作的请求。

如,数据处理请求可以请求对分布式关系型数据库进行数据存储、数据读写、数据同步或者数据迁移等等。

S102,在该分布式关系型数据库所具有的资源无法满足该数据处理请求的情况下,分布式关系型数据库向容器编码调度引擎发送资源申请请求。

可以理解的是,在分布式关系型数据库所存储以及处理的数据量较大的情况下,该分布式关系型数据库所具有的资源可能无法满足对该数据处理请求的处理,如,分布式关系型数据库的负载较大,性能较差;或者是,剩余可用资源不足以完成对数据处理请求的处理等。在此基础上,就会出现分布式关系型数据库具有的资源不足的情况。

在本申请中,分布式关系型数据库运行在容器编码调度引擎创建的工作节点上,分布式关系型数据库所具有的资源是由容器编码调度引擎分配的,因此,为了能够保证数据处理请求的可靠处理,本申请的分布式关系型数据库能够向容器编码调度引擎申请资源,以实现分布式关系型数据库的数据存储与处理所需资源的扩展。

相应的,该资源申请请求用于请求为分布式关系型数据库调度并分配资源,以增加分布式关系型数据库所分配有的资源。其中,该资源可以为分布式关系型数据库中所具有的CPU和内存等资源,也可以是分布式关系型数据库中存储数据的存储模块的数量等等。

S103,该容器编码调度引擎响应于该资源申请请求,为该分布式关系型数据库调度并分配资源,以使得该分布式关系型数据具有满足该数据处理请求所需的资源。

如,容器编码调度引擎可以从至少一个工作节点所具有的剩余资源中,调度资源并分配给分布式关系型数据库。

作为一种可选方式,该容器编码调度引擎还可以先检测已创建的该至少一个工作节点所具有的剩余资源是否充足。

如检测已创建的该至少一个工作节点中剩余可用资源(例如,尚未分配给该分布式关系型数据库的资源)是否能够满足该资源申请请求所请求的资源,如果剩余可用资源充足,则可以直接为分布式关系型数据库调度并分配资源。

如果已创建的至少一个工作节点所具有的剩余资源不足,则可以向云平台请求分配用于创建工作节点的资源。相应的,云平台可以执行资源调度,为容器编码调度引擎分配资源,以使得容器编码调度引擎具备创建新的工作节点所需的资源。在此基础上,容器编码调度引擎基于云平台分配的资源创建工作节点,从而使得容器编码调度引擎已创建的工作节点的剩余资源增多,进而可以对剩余资源进行调度并分配给分布式关系型数据库。

S104,在该分布式关系型数据库具有的资源满足该数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

可以理解的是,无论是在接收到数据处理请求时分布式关系型数据库的资源便是充足的,还是经过以上步骤S103使得分布式关系型数据库具有的资源满足该数据处理请求,分布式关系型数据库在资源充足的情况下,均可以基于数据处理请求所请求的具体数据操作内容对分布式关系型数据库内的数据进行操作。

可以理解的是,为了能够同时支持结构化数据和非结构化数据,本申请可以采用能够支持关系型数据和非关系型数据的分布式关系型数据库进行数据存储。同时,为了保证分布式关系型数据库更好的运行,本申请将分布式关系型数据库部署到云端。然而,在结构化和非结构化数据并存的情况下,伴随着高并发的数据访问,云平台可能无法合理的为分布式关系型数据库分配资源,从而使得分布式关系型数据库无法较好的应对高并发的数据访问。在此基础上,本申请在云平台部署容器编码调度引擎,并通过容器编码调度引擎来合理编排和调度分布式关系型数据库所需的资源。

可见,本申请在云平台中部署有容器编码调度引擎,同时,在该容器编码调度引擎创建并运行的工作节点中运行有能够支持结构化数据和非结构化数据的分布式关系型数据。在该分布式关系型数据库处理数据处理请求的过程中,如果该分布式关系型数据库所具有的资源无法满足数据处理请求的情况下,该分布式关系型数据库可以向容器编码调度引擎发送资源申请请求,并通过容器编码调度引擎为分布式关系型数据库调度并分配资源,从而可靠支撑了分布式关系型数据库所需资源的弹性扩展,即使在高并发的数据访问场景中,也能够有效保证数据的可靠处理,从而可以更为有效的应对高并发的数据访问。

可以理解的是,分布式关系型数据库可以有多个组件构建,分布式关系型数据库完成数据处理请求的处理过程涉及到该分布式关系型数据库内多个组件之间的交互。

为了便于理解,下面结合图2进行介绍。图2示出了本申请的方案所适用的云平台的一种组成架构示意图。

由图2可知,云平台210中部署有容器编码调度引擎220,如k8s。容器编码调度引擎创建有至少一个工作节点(图2中未示出),在容器编码调度引擎220创建的工作节点上运行有分布式关系型数据库230。

其中,该分布式关系型230包括请求处理模块231、位置驱动模块232和至少一个存储模块233。该至少一个存储模块233构成了存储模块集。

其中,请求处理模块用于获得数据处理请求并执行通过位置驱动模块确定所需操作的数据的存储数据。

该存储模块集包括用于存储数据的至少一个存储模块;

而位置驱动模块用于管理各个存储模块的数据存储状态,并定位数据在存储模块中的位置等。

可选的,该分布式关系型数据库中请求处理模块可以为多个,在该种情况下,该分布式关系型数据库还可以包括负载均衡模块,负载均衡模块负责从该多个请求处理模块中确定用于处理接收到的数据处理请求的请求处理模块。

如,以分布式关系型数据库为TiDB数据库为例,在该TiDB数据库中的请求处理模块为TiDB Server或者多个TiDB Server构建的TIDB服务集,该位置驱动模块为PDServer或者多个PD Server构成的PD集;存储模块为TiKV Server,存储模块集为由至少一个TikV Server构成的集。其中,TiDB Server、PD Server和TiKV Server均可以看成是一个程序或者虚拟的逻辑节点。

其中,TiDB Server负责结构化查询语言SQL逻辑,通过PD Server寻址到实际数据所在的TiKV Server的位置,并进行SQL操作。

PD Server负责管理调度,如数据和TiKV位置的路由信息维护,TiKV Server数据均衡等;

TikV Server负责数据存储,是一个提供事务的分布式Key-Value存储引擎。

当然,在TiDB数据库中还可以包括负载均衡模块,通过服务均衡模块确定待处理数据处理请求的TiDB Server,并将数据处理请求发送给确定出的该TiDB Server。

为了便于理解,结合图2所示的云平台的结构对本申请的数据处理方法进行介绍。如图3所示,其示出了本申请一种数据处理方法又一个实施例的流程示意图,本实施例的方法可以包括:

S301,分布式关系型数据库中的请求处理模块接收数据处理请求。

如,请求处理模块通过分布式关系型数据库获得应用发送的数据处理请求。

如,以分布式关系型数据库为TiDB数据库为例,可以通过TiDB Server节点获得数据处理请求,例如,通过负载均衡模块获得数据处理请求。

S302,请求处理模块基于该数据处理请求向该位置驱动模块发送数据处理指示。

该数据处理指示用于指示存在该数据处理请求。

相应的,通过该数据处理指示可以触发位置驱动模块查询存储模块集中各个存储模块的服务状态以及确定能够用于处理该数据处理请求的存储模块。

如,以分布式关系型数据库为TiDB数据库为例,TiDB Server可以向PD Server发送数据处理指示,以使得PD Server确定用于实现数据处理的TiKV Server并执行相关操作等。

S303,位置驱动模块响应于该数据处理指示,基于该数据处理请求所请求的数据操作,检测存储模块集中是否存在可用且资源充足的至少一个存储模块,如果是,则执行步骤S308;如果否,则执行步骤S304。

其中,基于数据处理请求所请求的数据操作,确定出的可用的存储模块是指能够满足该数据处理请求的处理需求的存储模块,且不存在由于异常或者性能等原因导致无法响应数据操作的存储模块。具体的,指在不考虑存储模块资源是否充足的前提下,存储模块具备实现该数据处理请求所请求处理的数据操作的条件。

如,满足该数据处理请求所请求处理的数据操作的存储模块可以包括:该存储模块存储有该数据处理请求所请求操作(如,读取、修改、删除或者同步等)的数据;或者,该存储模块的存储空间能够满足该数据处理请求所请求的操作,如,存储模块的存储空间能够容纳数据处理请求所请求迁移的数据等等。当然,根据数据处理请求所请求的数据操作的不同内容,存储模块满足该数据处理请求所请求处理的数据操作的具体情况也会有所差别。

可以理解的是,在存储模块能够满足数据处理请求所请求处理的数据操作的前提下,为了保证数据处理请求的可靠处理,还需要分析存储模块的剩余可用资源,以确定该存储模块的性能(如负载状况等)以及其他处理数据所需的处理资源等是否充足,以判断该存储模块当前具备处理该数据处理请求的能力。

如,以数据处理请求为请求读取数据的请求,那么需要存储模块集中存储有该数据处理请求所请求读取的数据的至少一个存储模块就是可用的存储模块。同时,针对可用的存储模块,还需要检测存储模块中是否存在资源充足的存储模块。

S304,在位置驱动模块检测到存储模块集中不存在可用且资源充足的至少一个存储模块的情况下,该位置驱动模块向该容器编码调度引擎发送资源申请请求。

其中,该资源申请请求用于向容器编码调度引擎申请为分布式关系型数据库调度资源,具体的,申请向存储模块集中存储模块集分配资源,以增加存储模块集中的可用资源。其中,增加存储模块集中的可用资源可以包括增加存储模块集中存储模块的数量和/或存储模块所分配的资源。

在一种可能的情况中,如果位置驱动模块检测到存储模块集中不存在可用且资源充足的存储模块的情况下,该位置驱动模块向容器编码调度引擎发送的资源申请请求可以为申请创建存储模块,以使得存储模块集中新增存储模块。

在又一种可能的情况中,考虑到容器编码调度引擎创建存储模块需要耗费时间和较多资源,位置驱动模块检测到存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,向容器编码调度引擎发送第一资源申请请求,该第一资源申请请求用于请求为该至少一个候选存储模块中的至少部分候选存储模块分配资源。

其中,请求为候选存储模块分配的资源可以为内存和处理器等资源。

为了便于区分,将存储模块集中存在可用但是仅仅是资源不充足的存储模块称为候选存储模块。可以理解的是,候选存储模块仅仅是由于资源不足而无法可靠处理该数据处理请求,在该种情况下,只要通过为候选存储模块分配资源,以保证该候选存储模块的数据处理所需的各种运行资源充足,便可以实现对数据处理请求相关操作的数据。

可以理解的是,在候选存储模块为多个的情况下,位置驱动模块可以根据实际需要仅仅请求为某一个候选存储模块分配资源;也可以是请求为该多个候选模块中的两个或者多个候选存储模块分配资源,具体可以根据实际需要设定。

相应的,只有在基于数据处理请求所请求的数据操作,确定出存储模块集中不存在任何可用的存储模块的情况下,该位置驱动模块可以向容器编码调度引擎发送第二资源申请请求。该第二资源申请请求用于请求为该分布式关系型数据库新增存储模块,以增加该存储模块集中存储模块的资源。

如,由于存储模块集中具备处理资源处理请求所请求的数据操作的存储模块出现运行异常等,导致存储模块集中不存在可用的存储模块,则需要申请新建一个存储模块。

以分布式关系型数据库为TiDB数据库为例说明,PD Server基于数据处理请求所请求的操作,检测TiKV Server集中不存在可用的TiKV Server,则该PD Server会向k8s(以容器编码调度引擎为k8s为例)申请新建TiKV Server。如果PD Server检测TiKV Server集中存在可用的TiKV Server,但是这些可用的TiKV Server的资源不足,则可以从可用的TiKV Server中选取出待处理该数据处理请求的TiKV Server,并向k8s申请为该TiKVServer新增分配的资源。

S305,容器编码调度引擎响应于该资源申请请求,检测到已创建的至少一个工作节点所具有的剩余资源是否充足,如果否,则执行步骤S306;如果是,则执行步骤S308。

可以理解的是,分布式关系型数据库是运行在该容器编码调度引擎创建的工作节点上,工作节点所具有的资源也就是能够分配给分布式关系型数据库的资源,因此,如果该容器编码调度引擎当前已创建的各工作节点的剩余资源不足,则无法保证有效并可靠的为分布式关系型数据库分配所申请的资源。在该种情况下,容器编码调度引擎需要向云平台申请资源,即执行步骤S306,以增加容器编码调度引擎可用于分配的资源。

相应的,如果该至少一个节点当前剩余可分配给分布式关系型数据库的资源充足,则可以直接为分布式关系型数据库分配资源。

S306,容器编码调度引擎向该云平台请求分配用于创建工作节点的资源,以使得云平台为容器编码调度引擎分配资源。

其中,云平台在接收到容器编码调度引擎资源请求之后,会执行资源调度,并为该容器编码调度引擎分配资源。

S307,该容器编码调度引擎基于该云平台分配的资源创建工作节点,并步骤S308。

在云平台为容器编码调度引擎调度了新的资源之后,该容器编码调度引擎基于新分配的资源可以创建工作节点,以使得新创建的工作节点具有相应的资源,从而增加了容器编码调度引擎当前剩余的可用资源。

需要说明的是,以上步骤S305到S307为可选步骤,在实际应用中,如果容器编码调度引擎向云平台申请的资源足够充分,也可以不执行这几个步骤,而直接执行后续步骤S308。

S308,容器编码调度引擎为该存储模块集调用并分配资源,以使得该存储模块集的可用资源能够满足该数据处理请求的处理需求,并执行步骤S309。

由前面步骤可知,容器编码调度引擎为存储模块集调用并分配资源可以包括为存储模块集中已存在的存储模块的分配资源,或者是,为分布式关系型数据库新创建存储模块,即,向存储模块集中增加存储模块。

如,在一种可能的情况中,容器编码调度引擎接收到用于申请为至少部分候选存储模块分配资源的第一资源申请请求之后,该容器编码调度引擎可以响应于该第一资源申请请求,为该至少部分候选存储模块调度并分配资源,以使得该至少部分第一存储模块具有能够满足处理该数据处理请求所需的资源。

在又一种可能的情况中,容器编码调度引擎接收到创建存储模块的第二资源申请请求后,响应于该第二资源申请请求,在容器编码调度引擎创建的工作节点上为该分布式关系型数据库创建并运行存储模块。如,容器编码调度引擎中配置有存储模块的安装包,容器编码调度引擎通过在工作节点上加载并运行安装包可以实现创建存储模块。

当然,容器编码调度引擎在创建了存储模块之后,还可以将创建的该存储模块所在的工作节点等相关信息通知给位置驱动程序,以使得后续位置驱动程序可以基于历史创建的存储模块对新创建的存储模块进行数据同步或者状态同步等操作。

可以理解的是,容器编码调度引擎为该存储模块集调用并分配资源之后,存储模块集中便存在可用且资源充足的存储模块,在该种情况下,可以直接执行步骤S309。当然,为了保证数据处理请求更为可靠的执行,也可以是返回执行步骤S303进行判断。

S309,在位置驱动模块检测到存储模块集中存在可用且资源充足的至少一个存储模块的情况下,位置驱动模块从可用且资源充足的至少一个存储模块中确定用于处理该数据处理请求的目标存储模块,并将目标存储模块的信息通知给请求处理模块。

其中,为了便于区分,将位置驱动模块选取出的用于与请求处理模块交互实现该数据处理请求处理的存储模块称为目标存储模块。

其中,在可用且资源充足的存储模块有多个的情况下,位置驱动模块可以随机选择一个存储模块为目标存储模块,也可以按照性能或者负载状态等选择目标存储模块。

特别的,在位置驱动模块通过向容器编码调度引擎申请创建了存储模块的前提下,可以将新创建的该存储模块作为目标存储模块。

S310,请求处理模块基于该数据处理请求对目标存储模块进行数据操作。

如,以分布式关系型数据库为TiDB数据库为例说明,TiDB Server基于数据处理请求与TiKV Server进行交互,以完成该数据处理请求相关的数据操作。

其中,该步骤S309到S310为在位置驱动模块检测到存储模块集中存在可用且资源充足的至少一个存储模块的情况下,分布式关系型数据库基于该数据处理请求执行数据处理操作的具体方法还可以有其他可能,对此不加限制。

对应本申请的一种数据处理方法,本申请还提供了一种数据处理装置。如图4所示,其示出了本申请一种数据处理装置的一种组成结构示意图,本实施例的装置应用于云平台,该云平台中部署有容器编码调度引擎,该容器编码调度引擎创建有至少一个工作节点,该至少一个工作节点上运行有分布式关系型数据库,该分布式关系型数据库为支持结构化数据和非结构化数据的数据库,所述装置包括:

请求接收单元401,用于通过所述分布式关系型数据库接收数据处理请求;

资源申请单元402,用于在所述分布式关系型数据库所具有的资源无法满足所述数据处理请求的情况下,通过所述分布式关系型数据库向所述容器编码调度引擎发送资源申请请求;

资源调度单元403,用于通过所述容器编码调度引擎响应于所述资源申请请求,为所述分布式关系型数据库调度并分配资源,以使得所述分布式关系型数据具有满足所述数据处理请求所需的资源;

数据操作单元404,用于在所述分布式关系型数据库具有的资源满足所述数据处理请求的情况下,基于所述数据处理请求执行数据处理操作。

在一种实现方式中,所述分布式关系型数据库包括:请求处理模块、位置驱动模块和存储模块集,所述存储模块集包括用于存储数据的至少一个存储模块;

其中,所述请求接收单元,具体为,用于通过所述分布式关系型数据库中的请求处理模块接收数据处理请求;

所述资源申请单元,包括:

处理指示单元,用于通过所述请求处理模块基于所述数据处理请求向所述位置驱动模块发送数据处理指示,所述数据处理指示用于指示存在所述数据处理请求;

检测单元,用于通过所述位置驱动模块响应于所述数据处理指示,基于该数据处理请求所请求的数据操作,检测所述存储模块集中是否存在可用且资源充足的至少一个存储模块;

资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在所述可用且资源充足的至少一个存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送资源申请请求;

所述资源调度单元,具体为,用于通过所述容器编码调度引擎响应所述资源申请请求,为所述存储模块集调用并分配资源,以使得所述存储模块集能够满足所述数据处理请求的处理需求。

在一种可能的情况中,所述资源请求单元,包括:

第一资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中存在可用但资源不充足的至少一个候选存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第一资源申请请求,所述第一资源申请请求用于请求为至少一个候选存储模块中的至少部分第一存储模块调度并分配资源;

所述资源调度单元,包括:

第一资源调度单元,用于通过所述容器编码调度引擎响应所述第一资源申请请求,为所述至少部分候选存储模块调度并分配资源,以使得所述至少部分第一存储模块具有能够满足处理所述数据处理请求所需的资源。

在又一种可能的情况中,所述资源请求单元,包括:

第二资源请求单元,用于在所述位置驱动模块检测到所述存储模块集中不存在可用的存储模块的情况下,通过所述位置驱动模块向所述容器编码调度引擎发送第二资源申请请求,所述第二资源申请请求用于请求为所述分布式关系型数据库新增存储模块,以增加所述存储模块集中存储模块的资源;

所述资源调度单元,包括:

第二资源调度单元,用于通过所述容器编码调度引擎响应所述第二资源申请请求,在所述容器编码调度引擎创建的工作节点上为所述分布式关系型数据库创建并运行存储模块。

可选的,本申请的装置还可以包括:

引擎资源检测单元,用于在所述容器编码调度引擎为所述分布式关系型数据库调度并分配资源之前,如所述容器编码调度引擎检测到已创建的至少一个工作节点所具有的剩余资源不足,向所述云平台请求分配用于创建工作节点的资源;

节点创建单元,用于通过所述容器编码调度引擎基于所述云平台分配的资源创建工作节点。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

本文发布于:2023-04-14 09:56:25,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/86435.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图