分布式数据库系统的资源隔离方法、装置和服务器制造方法及图纸

技术编号:19489109 阅读:21 留言:0更新日期:2018-11-17 12:02
本发明专利技术实施例提出一种分布式数据库系统的资源隔离方法、装置和服务器。分布式数据库系统包括多个服务器,每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,所述方法包括:接收来自所述分布式数据库系统外部的业务或租户的待处理请求;将待处理请求发送到为业务或租户分配的数据库实例;通过为业务或租户分配的各数据库实例对应的各容器处理待处理请求。本发明专利技术实施例可以通过为业务或租户分配的各数据库实例对应的容器处理该业务或租户的请求,能够将该请求按照业务或租户限定在对应的容器允许使用的服务器资源内部处理,实现对不同的业务或租户资源隔离。

【技术实现步骤摘要】
分布式数据库系统的资源隔离方法、装置和服务器
本专利技术涉及数据库
,尤其涉及一种分布式数据库系统的资源隔离方法、装置和服务器。
技术介绍
随着互联网业务及大数据技术的快速发展,要求数据库系统并发处理的数据量越来越大,存量数据也在持续增长。各厂商及企业设计和实现自己的分布式数据库系统。为了解决多业务使用同一套数据库系统带来的资源竞争问题,目前常见的方法是:为每一个业务(或者租户)单独部署一套独立的集群,通过集群物理上隔离不同业务之间的对硬件资源竞争,解决业务(或者租户)之间的资源分配和竞争问题。但是,如果业务和集群数量接近1:1,运维管理成本高。特别是在业务种类比较多的场景下,大量的小集群管理难度大。并且,由于需要为每个集群单独分配物理机器,对小规模业务来说资源浪费严重。例如,在云上部署之后这种问题会更加突出,会加剧了云服务提供商的硬件投入。此外,集群之间完全隔离,不能相互访问。因此,物理上隔离不同业务之间的对硬件资源竞争,容易导致管理运维成本上升以及机器资源利用效率不高。
技术实现思路
本专利技术实施例提供一种分布式数据库系统的资源隔离方法、装置和服务器,以解决现有技术中的一个或多个技术问题。第一方面,本专利技术实施例提供了一种分布式数据库系统的资源隔离方法,所述分布式数据库系统包括多个服务器,每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,所述方法包括:接收来自所述分布式数据库系统外部的业务或租户的待处理请求;将所述待处理请求发送到为所述业务或租户分配的数据库实例;通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求。结合第一方面,本专利技术实施例在第一方面的第一种实现方式中,接收来自所述分布式数据库系统外部的业务或租户的待处理请求,包括:通过与业务或租户连接的代理接收来自所述业务或租户的待处理请求;将所述待处理请求发送到为所述业务或租户分配的数据库实例,包括:通过所述代理从为所述业务或租户分配的各数据库实例中选择一个数据库实例,并向所选择的数据库实例发送所述待处理请求。结合第一方面,本专利技术实施例在第一方面的第二种实现方式中,通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求,包括:数据库实例将收到的待处理请求转换为待执行计划;获取待执行计划所涉及的待处理数据;在为所述业务或租户分配的各数据库实例对应的各容器内部,按照所述待执行计划对所述待处理数据进行处理。结合第一方面的第二种实现方式,本专利技术实施例在第一方面的第三种实现方式中,在为所述业务或租户分配的各数据库实例对应的各容器内部,按照所述待执行计划对所述待处理数据进行处理,包括:数据库实例中的数据路由器根据待处理数据中的数据标签,确定待处理数据在为所述业务或租户分配的各数据库实例中的数据分布位置,所述数据标签用于标识所述待处理数据所属的业务或租户;在所述数据分布位置对所述待处理数据执行读操作、写操作和修改操作中的至少一种或者任意组合。结合第一方面、第一方面的第一种实现方式、第二种实现方式或第三种实现方式,本专利技术实施例在第一方面的第四种实现方式中,还包括:如果均衡器监测到需要对数据库实例中的数据进行均衡,根据待均衡数据的数据标签确定待均衡数据所属的业务或租户的各数据库实例;在待均衡数据所属的业务或租户的各数据库实例对应的容器之间,对所述待均衡数据进行迁移处理。第二方面,本专利技术实施例提供了一种分布式数据库系统的资源隔离装置,所述分布式数据库系统包括多个服务器,每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,所述装置包括:接收模块,用于接收来自所述分布式数据库系统外部的业务或租户的待处理请求;发送模块,用于将所述待处理请求发送到为所述业务或租户分配的数据库实例;处理模块,用于通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求。结合第二方面,本专利技术实施例在第二方面的第一种实现方式中,所述接收模块还用于通过与业务或租户连接的代理接收来自所述业务或租户的待处理请求;所述发送模块还用于通过所述代理从为所述业务或租户分配的各数据库实例中选择一个数据库实例,并向所选择的数据库实例发送所述待处理请求。。结合第二方面,本专利技术实施例在第二方面的第二种实现方式中,所述处理模块包括:计划转换子模块,用于数据库实例将收到的待处理请求转换为待执行计划;数据获取子模块,用于获取待执行计划所涉及的待处理数据;计划执行子模块,用于在为所述业务或租户分配的各数据库实例对应的各容器内部,按照所述待执行计划对所述待处理数据进行处理。结合第二方面的第二种实现方式,本专利技术实施例在第二方面的第三种实现方式中,所述计划执行子模块还用于通过数据库实例中的数据路由器根据待处理数据中的数据标签,确定待处理数据在为所述业务或租户分配的各数据库实例中的数据分布位置,所述数据标签用于标识所述待处理数据所属的业务或租户;在所述数据分布位置对所述待处理数据执行读操作、写操作和修改操作中的至少一种或者任意组合。结合第二方面、第二方面的第一种实现方式、第二种实现方式或第三种实现方式,本专利技术实施例在第二方面的第四种实现方式中,还包括:均衡模块,用于如果均衡器监测到需要对数据库实例中的数据进行均衡,根据待均衡数据的数据标签确定待均衡数据所属的业务或租户的各数据库实例;在待均衡数据所属的业务或租户的各数据库实例对应的容器之间,对所述待均衡数据进行迁移处理。第三方面,本专利技术实施例提供了一种服务器,所述服务器的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,服务器的结构中包括处理器和存储器,所述存储器用于存储支持服务器执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述服务器还可以包括通信接口,用于服务器与其他设备或通信网络通信。第四方面,本专利技术实施例提供了计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述方法。上述技术方案中的一个技术方案具有如下优点或有益效果:每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,可以将分布式数据库系统外部的待处理请求发送到对应的第一数据库实例,以通过第一数据库实例对应的第一容器处理该请求。这样,能够将该请求限定在容器允许使用的服务器资源内部处理,实现资源隔离。上述技术方案中的另一个技术方案具有如下优点或有益效果:将业务或租户的待处理请求发送到为业务或租户分配的数据库实例,通过为业务或租户分配的各数据库实例对应的容器处理该业务或租户的请求,能够将该请求按照业务或租户限定在对应的容器允许使用的服务器资源内部处理,实现对不同的业务或租户资源隔离。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本专利技术进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本文档来自技高网...

【技术保护点】
1.一种分布式数据库系统的资源隔离方法,其特征在于,所述分布式数据库系统包括多个服务器,每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,所述方法包括:接收来自所述分布式数据库系统外部的业务或租户的待处理请求;将所述待处理请求发送到为所述业务或租户分配的数据库实例;通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求。

【技术特征摘要】
1.一种分布式数据库系统的资源隔离方法,其特征在于,所述分布式数据库系统包括多个服务器,每个服务器上部署有多个容器,每个容器在所归属的服务器中占用预分配的资源,每个容器对应一个数据库实例,所述方法包括:接收来自所述分布式数据库系统外部的业务或租户的待处理请求;将所述待处理请求发送到为所述业务或租户分配的数据库实例;通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求。2.根据权利要求1所述的方法,其特征在于,接收来自所述分布式数据库系统外部的业务或租户的待处理请求,包括:通过与业务或租户连接的代理接收来自所述业务或租户的待处理请求;将所述待处理请求发送到为所述业务或租户分配的数据库实例,包括:通过所述代理从为所述业务或租户分配的各数据库实例中选择一个数据库实例,并向所选择的数据库实例发送所述待处理请求。3.根据权利要求1所述的方法,其特征在于,通过为所述业务或租户分配的各数据库实例对应的各容器处理所述待处理请求,包括:数据库实例将收到的待处理请求转换为待执行计划;获取待执行计划所涉及的待处理数据;在为所述业务或租户分配的各数据库实例对应的各容器内部,按照所述待执行计划对所述待处理数据进行处理。4.根据权利要求3所述的方法,其特征在于,在为所述业务或租户分配的各数据库实例对应的各容器内部,按照所述待执行计划对所述待处理数据进行处理,包括:数据库实例中的数据路由器根据待处理数据中的数据标签,确定待处理数据在为所述业务或租户分配的各数据库实例中的数据分布位置,所述数据标签用于标识所述待处理数据所属的业务或租户;在所述数据分布位置对所述待处理数据执行读操作、写操作和修改操作中的至少一种或者任意组合。5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:如果均衡器监测到需要对数据库实例中的数据进行均衡,根据待均衡数据的数据标签确定待均衡数据所属的业务或租户的各数据库实例;在待均衡数据所属的业务或租户的各数据库实例对应的容器之间,对所述待均衡数据进行迁移处理。6.一种分布式数据库系统的资源隔离装置,其特征在于,所述分布式数据库系统包括多个服务器,每个服务器上部署有多...

【专利技术属性】
技术研发人员:严龙赖宝华宋浩曾倩婷
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1