CN111782441A - 分布式数据库的管理方法、装置、电子设备和介质 - Google Patents

分布式数据库的管理方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN111782441A
CN111782441A CN202010638070.5A CN202010638070A CN111782441A CN 111782441 A CN111782441 A CN 111782441A CN 202010638070 A CN202010638070 A CN 202010638070A CN 111782441 A CN111782441 A CN 111782441A
Authority
CN
China
Prior art keywords
container
working
distributed database
work
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010638070.5A
Other languages
English (en)
Inventor
陈镛先
黄颢
王君轶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010638070.5A priority Critical patent/CN111782441A/zh
Publication of CN111782441A publication Critical patent/CN111782441A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种分布式数据库的管理方法,包括:监听所述分布式数据库中的各工作容器的工作状态;响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数;基于所述配置参数,生成备用容器;以及将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。本公开实施例还提供了一种分布式数据库的管理装置、一种电子设备和一种计算机可读介质。

Description

分布式数据库的管理方法、装置、电子设备和介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种分布式数据库的管理方法、一种分布式数据库的管理装置、一种电子设备和一种计算机可读介质。
背景技术
在互联网、金融和电信等诸多领域,随着企业业务的不断发展,企业的IT环境也在不断进行演变,单个数据库已经很难满足海量数据的存储和高并发的数据访问。分布式数据库应运而生,分布式数据库能够有效地解决海量数据存储和高并发的问题。
然而,在实现本发明构思的过程中,发明人发现相关技术中至少存在如下问题:当分布式数据库节点出现故障时,通常需要人工干预,不能进行节点的自动恢复,运维繁琐。
发明内容
有鉴于此,为解决分布式数据库容器出现异常时,不能进行自动调度和恢复的问题,本公开提供了一种分布式数据库的管理方法、一种分布式数据库的管理装置、一种电子设备和一种计算机可读介质。
本公开的一个方面提供了一种分布式数据库的管理方法,包括:监听所述分布式数据库中的各工作容器的工作状态,响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数,基于所述配置参数,生成备用容器,以及将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述工作容器出现异常,包括:所述工作容器出现故障,或者所述工作容器的运行指标超过预设阈值。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器出现故障的情况下,将所述工作容器的全部工作任务分配到所述备用容器中。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器的运行指标超过预设阈值的情况下,将所述工作容器的部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述方法还包括:响应于监听到所述出现异常的工作容器恢复正常,将所述备用容器的工作任务分配到恢复正常的工作容器中,以及释放所述备用容器所占用的资源。
根据本公开的实施例,所述方法还包括:接收来自用户的配置信息,基于所述配置信息生成与所述用户对应的分布式数据库,所述分布式数据中包括至少一个容器,所述至少一个容器包括计算容器、存储容器和管理容器中的至少一个。
本公开的另一个方面提供了一种分布式数据库的管理装置,该管理装置包括监听模块、获取模块、第一生成模块和第一分配模块。其中,监听模块用于监听所述分布式数据库中的各工作容器的工作状态。获取模块用于响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数。第一生成模块用于基于所述配置参数,生成备用容器。第一分配模块用于将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述工作容器出现异常,包括:所述工作容器出现故障,或者所述工作容器的运行指标超过预设阈值。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器出现故障的情况下,将所述工作容器的全部工作任务分配到所述备用容器中。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器的运行指标超过预设阈值的情况下,将所述工作容器的部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述装置还包括第二分配模块和释放模块。其中,第二分配模块用于响应于监听到所述出现异常的工作容器恢复正常,将所述备用容器的工作任务分配到恢复正常的工作容器中。释放模块用于释放所述备用容器所占用的资源。
根据本公开的实施例,所述装置还包括接收模块和第二生成模块。其中,接收模块用于接收来自用户的配置信息。第二生成模块用于基于所述配置信息生成与所述用户对应的分布式数据库,所述分布式数据库中包括至少一个容器,所述至少一个容器包括计算容器、存储容器和管理容器中的至少一个。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器,存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一个方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开实施例通过使用备用资源生成与出现异常的工作容器相匹配的备用容器,以分担出现异常的工作容器的工作任务,从而可以实现故障自动转移和弹性调度资源的目的,为用户提供无感知运维服务,减少人工干预,减轻运维人员的压力。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用分布式数据库的管理方法的架构示例;
图2示意性示出了根据本公开实施例的分布式数据库的管理方法的流程图;
图3示意性示出了根据本公开实施例的分布式数据库的管理装置的框图;以及
图4示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种分布式数据库的管理方法和装置。该方法包括:监听分布式数据库中的各工作容器的工作状态,响应于监听到分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数。然后,基于该配置参数,生成备用容器,并将出现异常的工作容器的至少部分工作任务分配到备用容器中。
图1示意性示出了根据本公开实施例的可以应用分布式数据库的管理方法的架构示例100。
需要注意的是,图1所示仅为可以应用本公开实施例的分布式数据库的管理方法的架构示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的应用场景100可以包括分布式数据库集群111、112,分布式数据库集群管理器120和云平台管理程序130。
根据本公开实施例,分布式数据库集群111、112可以包括有计算模块、管理模块和存储模块。其中,计算模块是无状态的,负责接收应用端的SQL请求,处理SQL相关的逻辑,并与存储模块交互获取数据,最终给应用端返回结果。管理模块是无状态的,负责管理整个数据库集群的信息。存储模块是有状态的,负责存储整个数据库集群的数据。
在本公开实施例中,可以将计算模块、管理模块和存储模块根据不同数据库的需求按比例打包成容器。例如,分布式数据库集群111包括三个存储容器、两个计算容器和一个管理容器。分布式数据库集群112包括两个存储容器、两个计算容器和两个管理容器。可以理解,本公开实施例不限定各分布式数据库集群中的存储容器、计算容器和管理容器之间的比例,也不限定每个容器所占用的资源(例如,分布式数据库集群111中的存储容器所占用的存储空间可以比分布式数据库集群112中的存储容器所占用的存储空间大,或者分布式数据库集群111中的存储容器1所占用的存储空间可以比分布式数据库集群111中的存储容器2所占用的存储空间大),本领域技术人员可以根据实际需要对每个分布式数据库集群中的容器比例和每个容器所占用的资源进行设定。
在本公开实施例中,有状态的模块(例如,存储容器)需要进行持久化存储。
根据本公开实施例,由于不同数据库调度逻辑不同,可以通过分布式数据库集群管理器120来管理单个或多个分布式数据库集群的调度。例如,可以通过云平台管理程序130控制分布式数据库集群管理器120来管理单个或多个分布式数据库集群的调度。
需要说明的是,本公开实施例所提供的分布式数据库的管理方法一般可以由分布式数据库集群管理器120执行。相应地,本公开实施例所提供的分布式数据库的管理装置一般可以设置于分布式数据库集群管理器120中。本公开实施例所提供的分布式数据库的管理方法电可以由不同于分布式数据库集群管理器120且能够与分布式数据库集群111、112和/或分布式数据库集群管理器120通信的服务器或服务器集群执行。相应地,本公开实施例所提供的分布式数据库的管理装置也可以设置于不同于分布式数据库集群管理器120且能够与分布式数据库集群111、112和/或分布式数据库集群管理器120通信的服务器或服务器集群中。
例如,分布式数据库集群管理器120可以监控分布式数据库111和/或112中的各工作容器的工作状态,响应于监听到分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数。然后可以基于该配置参数,使用备用资源生成与出现异常的工作容器相匹配的备用容器,从而可以将出现异常的工作容器的至少部分工作任务分配到备用容器中。
应该理解,图1中的分布式数据库集群、分布式数据库集群管理器和云平台管理程序的数目仅仅是示意性的。根据实现需要,可以具有任意数目的分布式数据库集群、分布式数据库集群管理器和云平台管理程序。
图2示意性示出了根据本公开实施例的分布式数据库的管理方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,监听分布式数据库中的各工作容器的工作状态。
根据本公开实施例,分布式数据库中可以包括多个工作容器,各工作容器承担一定的工作任务。
例如,一个分布式数据库可以包括多个服务器节点,每个服务器节点中可以设置有一个或多个工作容器。
在本公开实施例中,工作容器例如可以包括计算容器、存储容器和管理容器。
例如,可以将分布式数据库中的计算资源打包成一个或多个计算容器。计算容器可以用于执行接收应用端的SQL请求,处理SQL相关的逻辑,并与存储模块交互获取数据,最终给应用端返回结果等工作任务。
又例如,可以将分布式数据库中的管理资源打包成一个或多个管理容器。管理容器可以用于执行管理整个数据库的信息等工作任务。
再例如,可以将分布式数据库中的存储资源打包成一个或多个存储容器。存储容器可以用于执行存储数据库的数据等工作任务。
在本公开实施例中,各分布式数据库中的工作容器配置可以由用户需求决定。例如,用户可以自行配置其对应的分布式数据库所包含的工作容器的种类和数量,也可以自行配置每个工作容器所占用的资源情况,或者也可以执行默认配置等等。
根据本公开实施例,可以接收来自用户的配置信息,基于配置信息生成与用户对应的分布式数据库。该分布式数据中包括至少一个容器,至少一个容器包括计算容器、存储容器和管理容器中的至少一个。
例如,用户可以填写配置清单,对其所需的环境资源进行描述。云平台可以根据用户填写的配置清单生成配置文件,通过云平台管理程序调度相应资源,自动进行容器化部署来为用户部署满足其需求的分布式数据库。首次部署可以创建集群管理器,该管理器可以添加在云平台管理程序上的自定义控制器和调度器扩展以控制和调度分布式数据库集群,并挂载持久化卷组。例如,可以配置整个分布式数据库的监控节点。部署时可以设置master角色,以便接下来管理分布式数据库。分布式数据库的存储容器、计算容器和管理容器设置为slave角色。其中,存储容器因为有状态,可以挂载持久化卷组以保证正常运行。
上述操作可以通过云平台管理程序实现,在云平台管理程序搭建完毕后,只需选择部署,后续无需人工干预即可自动完成所有部署。云平台可以提供命令行工具进行运维操作。若是操作出现错误,则会中断操作并返回错误信息给操作人员。相较于现有的环境搭建操作,更加方便快捷,无需漫长的审批和设备配置流程。
可以理解,本公开实施例不限定各分布式数据库集群中的存储容器、计算容器和管理容器之间的比例和数量,也不限定每个容器所占用的资源情况,本领域技术人员可以根据实际需要对每个分布式数据库集群中的容器数量和每个容器所占用的资源进行设定。
根据本公开实施例,可以实时监听分布式数据库中的各工作容器的工作状态。工作状态例如可以包括正常状态或者异常状态。
在操作S202,响应于监听到分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数。
根据本公开实施例,可以响应于监听到某一工作容器出现异常,获取该工作容器的配置参数。配置参数例如可以包括该工作容器所占用的资源信息。例如,可以响应于监听到某一存储容器出现异常,获取该存储容器所占用的存储空间信息。或者,可以响应于监听到某一计算容器出现异常,获取该计算容器所占用的CPU使用率和内存使用率信息。
在本公开一实施例中,工作容器出现异常可以是该工作容器出现故障,无法继续处理工作任务。例如,计算容器挂机无法正常运行。
在本公开另一实施例中,工作容器出现异常也可以是该工作容器的运行指标超过预设阈值,则可以确定该工作容器压力过大,无法承担更多的工作任务。运行指标例如可以包括存储空间、CPU使用率或者内存使用率等等。例如,存储容器的已占用存储空间已经超过总存储空间的90%。又例如,计算容器的当前CPU使用率和内容使用率达到瓶颈阈值。
在操作S203,基于配置参数,生成备用容器。
根据本公开实施例,可以基于出现异常的工作容器的配置参数,使用备用资源,生成备用容器。备用资源例如可以是出现异常的工作容器所在的分布式数据库中的备用资源,也可以是其他分布式数据库中的备用资源。
例如,在工作容器出现故障的情况下,可以生成与出现故障的工作容器具有相同配置参数的备用容器。例如,存储空间为1GB的存储容器出现故障,则可以生成一个具有1GB存储空间的备用存储容器。
又例如,在工作容器的运行指标超过预设阈值的情况下,可以基于运行指标生成备用容器。例如,计算容器的CPU使用率超过预设阈值,则可以考虑其目前的工作压力,生成足够分担其工作压力的备用计算容器。
在操作S204,将出现异常的工作容器的至少部分工作任务分配到备用容器中。
在本公开一实施例中,在工作容器出现故障的情况下,可以将出现故障的工作容器的全部工作任务分配到备用容器中,以通过备用容器替代出现故障的工作容器。
在本公开另一实施例中,在工作容器的运行指标超过预设阈值的情况下,可以将该工作容器的部分工作任务分配到备用容器中,以通过备用容器分担原工作容器的工作压力,实现自动扩容。
根据本公开实施例,可以响应于监听到出现异常的工作容器恢复正常,将备用容器的工作任务分配到恢复正常的工作容器中,并释放备用容器所占用的资源。例如,可以将备用容器的全部工作任务分配到已经恢复正常的工作容器中,并释放备用容器所占用的资源,以使该些资源可以继续作为备用资源生成其他出现异常的工作容器的备用容器。
在本公开实施例中,对于计算容器,若监控到某计算容器存在挂掉超过一定时间的问题,可以尝试重新拉起该计算容器,若重新拉起失败,则可以确定该计算容器出现故障。在确定计算容器出现故障后,可以发消息给集群管理器,集群管理器可以基于该计算容器的配置参数生成一个备用计算容器以替代出现故障的计算容器。若监控到某计算容器的CPU使用率或者内存使用率持续过高,则可以确定该计算容器压力过大,可以发消息给集群管理器,集群管理器可以新增一个备用计算容器以分担原始计算容器的工作任务。待该计算容器恢复正常后,可以将备用计算容器中的工作任务转移到恢复正常的计算容器中,并删除该备用计算容器以释放备用计算容器所占用的资源。
在本公开实施例中,对于管理容器,若监控到某管理容器存在挂掉超过一定时间的问题,可以尝试重新拉起该管理容器,若重新拉起失败则可以确定该管理容器出现故障。或者,若监控到某管理容器出现写盘慢或者管理容器间通信延时过高的问题,也可以确定该管理容器出现故障。在确定管理容器出现故障后,可以通知集群管理器,集群管理器可以基于该管理容器的配置参数生成一个备用管理容器以替代出现故障的管理容器。若监控到某管理容器出现通信阻塞的问题,则可以确定该管理容器压力过大,可以发消息给集群管理器,集群管理器可以新增一个备用管理容器以分担原始管理容器的工作任务。待该管理容器恢复正常后,可以将备用管理容器中的工作任务转移到恢复正常的管理容器中,并删除该备用管理容器以释放备用管理容器所占用的资源。
在本公开实施例中,对于存储容器,若监控到某存储容器存在挂掉超过一定时间的问题,可以尝试重新拉起该存储容器,若重新拉起失败则可以确定该存储容器出现故障。在确定存储容器出现故障后,可以通知集群管理器,集群管理器可以基于该存储容器的配置参数生成一个备用存储容器以替代出现故障的存储容器。若监控到某存储容器的剩余存储空间不足,且持续存在写入该存储容器的命令,则可以确定该存储容器压力过大,可以发消息给集群管理器,集群管理器可以新增一个备用存储容器以分担原始存储容器的工作任务。待该存储容器恢复正常后,可以将备用存储容器中的工作任务转移到恢复正常的存储容器中。在本公开一些实施例中,可以自动将备用存储容器中的数据同步到恢复正常的存储容器中,在同步完成后可以自动删除该备用存储容器以释放备用存储容器所占用的资源。在本公开另一些实施例中,也可以响应于用户的删除操作删除备用存储容器。例如,用户可以在确定备用存储容器中的数据已经保存好的情况下,手动删除备用存储容器,避免数据丢失。
本公开实施例充分利用容器的特性,实现集群故障自动转移、弹性调度等无感知运维操作,达到减少人工干预,减轻运维人员运维压力的目的。本公开实施例可以使用云平台管理程序自动实现容器化部署,可以简化部署步骤,提高部署效率。
图3示意性示出了根据本公开实施例的分布式数据库的管理装置300的框图。
如图3所示,该装置300包括监听模块310、获取模块320、第一生成模块330和第一分配模块340。
监听模块310用于监听所述分布式数据库中的各工作容器的工作状态。
获取模块320用于响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数。
第一生成模块330用于基于所述配置参数,生成备用容器。
第一分配模块340用于将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述工作容器出现异常,包括:所述工作容器出现故障,或者所述工作容器的运行指标超过预设阈值。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器出现故障的情况下,将所述工作容器的全部工作任务分配到所述备用容器中。
根据本公开的实施例,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:在所述工作容器的运行指标超过预设阈值的情况下,将所述工作容器的部分工作任务分配到所述备用容器中。
根据本公开的实施例,所述装置还包括第二分配模块和释放模块。其中,第二分配模块用于响应于监听到所述出现异常的工作容器恢复正常,将所述备用容器的工作任务分配到恢复正常的工作容器中。释放模块用于释放所述备用容器所占用的资源。
根据本公开的实施例,所述装置还包括接收模块和第二生成模块。其中,接收模块用于接收来自用户的配置信息。第二生成模块用于基于所述配置信息生成与所述用户对应的分布式数据库,所述分布式数据中包括至少一个容器,所述至少一个容器包括计算容器、存储容器和管理容器中的至少一个。
根据本公开实施例,装置300例如可以执行上文参考图2描述的方法,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监听模块310、获取模块320、第一生成模块330和第一分配模块340中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,监听模块310、获取模块320、第一生成模块330和第一分配模块340中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监听模块310、获取模块320、第一生成模块330和第一分配模块340中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图4示意性示出了根据本公开实施例的电子设备的方框图。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,根据本公开实施例的电子设备400包括处理器401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。处理器401例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器401还可以包括用于缓存用途的板载存储器。处理器401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 403中,存储有系统400操作所需的各种程序和数据。处理器401、ROM 402以及RAM 403通过总线404彼此相连。处理器401通过执行ROM 402和/或RAM 403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 402和RAM 403以外的一个或多个存储器中。处理器401也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统400还可以包括输入/输出(I/O)接口405,输入/输出(I/O)接口405也连接至总线404。系统400还可以包括连接至I/O接口405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被处理器401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 402和/或RAM 403和/或ROM 402和RAM 403以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种分布式数据库的管理方法,包括:
监听所述分布式数据库中的各工作容器的工作状态;
响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数;
基于所述配置参数,生成备用容器;以及
将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。
2.根据权利要求1所述的方法,其中,所述工作容器出现异常,包括:
所述工作容器出现故障;或者
所述工作容器的运行指标超过预设阈值。
3.根据权利要求2所述的方法,其中,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:
在所述工作容器出现故障的情况下,将所述工作容器的全部工作任务分配到所述备用容器中。
4.根据权利要求2所述的方法,其中,将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中,包括:
在所述工作容器的运行指标超过预设阈值的情况下,将所述工作容器的部分工作任务分配到所述备用容器中。
5.根据权利要求1所述的方法,还包括:
响应于监听到所述出现异常的工作容器恢复正常,将所述备用容器的工作任务分配到恢复正常的工作容器中;以及
释放所述备用容器所占用的资源。
6.根据权利要求1所述的方法,还包括:
接收来自用户的配置信息;
基于所述配置信息生成与所述用户对应的分布式数据库,所述分布式数据中包括至少一个容器,所述至少一个容器包括计算容器、存储容器和管理容器中的至少一个。
7.一种分布式数据库的管理装置,包括:
监听模块,用于监听所述分布式数据库中的各工作容器的工作状态;
获取模块,用于响应于监听到所述分布式数据库中的工作容器出现异常,获取出现异常的工作容器的配置参数;
第一生成模块,用于基于所述配置参数,生成备用容器;以及
第一分配模块,用于将所述出现异常的工作容器的至少部分工作任务分配到所述备用容器中。
8.根据权利要求7所述的装置,还包括:
第二分配模块,用于响应于监听到所述出现异常的工作容器恢复正常,将所述备用容器的工作任务分配到恢复正常的工作容器中;以及
释放模块,用于释放所述备用容器所占用的资源。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的方法。
10.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
CN202010638070.5A 2020-07-03 2020-07-03 分布式数据库的管理方法、装置、电子设备和介质 Pending CN111782441A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010638070.5A CN111782441A (zh) 2020-07-03 2020-07-03 分布式数据库的管理方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010638070.5A CN111782441A (zh) 2020-07-03 2020-07-03 分布式数据库的管理方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN111782441A true CN111782441A (zh) 2020-10-16

Family

ID=72758658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010638070.5A Pending CN111782441A (zh) 2020-07-03 2020-07-03 分布式数据库的管理方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN111782441A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391313A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种容器的运行方法及装置
CN109918360A (zh) * 2019-02-28 2019-06-21 携程旅游信息技术(上海)有限公司 数据库平台系统、创建方法、管理方法、设备及存储介质
US20200034258A1 (en) * 2018-07-26 2020-01-30 International Business Machines Corporation Container replication and failover orchestration in distributed computing enviroments
CN111190888A (zh) * 2020-01-03 2020-05-22 中国建设银行股份有限公司 一种管理图数据库集群的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391313A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种容器的运行方法及装置
US20200034258A1 (en) * 2018-07-26 2020-01-30 International Business Machines Corporation Container replication and failover orchestration in distributed computing enviroments
CN109918360A (zh) * 2019-02-28 2019-06-21 携程旅游信息技术(上海)有限公司 数据库平台系统、创建方法、管理方法、设备及存储介质
CN111190888A (zh) * 2020-01-03 2020-05-22 中国建设银行股份有限公司 一种管理图数据库集群的方法和装置

Similar Documents

Publication Publication Date Title
US11526386B2 (en) System and method for automatically scaling a cluster based on metrics being monitored
US10999147B2 (en) Allocating VNFC instances with anti affinity rule to hosts
US9319281B2 (en) Resource management method, resource management device, and program product
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
US20120173838A1 (en) Data storage system and method
CN107534570A (zh) 虚拟化网络功能监控
CN113886089B (zh) 一种任务处理方法、装置、系统、设备及介质
US9699053B2 (en) IT system infrastructure prediction based on epidemiologic algorithm
CN111414229A (zh) 一种应用容器异常处理方法及装置
CN113064744A (zh) 任务处理方法、装置、计算机可读介质及电子设备
US20170149864A1 (en) Distributed applications management with dependent resilient distributed services
CN111611086A (zh) 信息处理方法、装置、电子设备和介质
CN109684130A (zh) 一种机房间数据备份的方法及装置
CN111782441A (zh) 分布式数据库的管理方法、装置、电子设备和介质
US9703601B2 (en) Assigning levels of pools of resources to a super process having sub-processes
CN117112121A (zh) 分布式任务处理系统、方法、装置及计算机程序产品
CN114461957A (zh) 一种道具发放方法、装置、设备及存储介质
US20190250957A1 (en) System and method of dynamic allocation of hardware accelerator
US9557984B2 (en) Performing code load operations on managed components in a system
CN113760441A (zh) 容器创建方法、装置、电子设备及存储介质
CN113746676A (zh) 基于容器集群的网卡管理方法、装置、设备、介质及产品
CN112000720A (zh) 数据库连接的管理方法、管理系统以及数据库连接池
CN116720179B (zh) Api接口管理方法、终端设备及计算机可读存储介质
US20090024998A1 (en) Initiation of batch jobs in message queuing information systems
CN108509268A (zh) 集群资源分配方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination