CN116302059A - 服务器与数据库间的对应关系维护方法、装置和系统 - Google Patents

服务器与数据库间的对应关系维护方法、装置和系统 Download PDF

Info

Publication number
CN116302059A
CN116302059A CN202310211477.3A CN202310211477A CN116302059A CN 116302059 A CN116302059 A CN 116302059A CN 202310211477 A CN202310211477 A CN 202310211477A CN 116302059 A CN116302059 A CN 116302059A
Authority
CN
China
Prior art keywords
node
task
state
auxiliary
auxiliary node
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
CN202310211477.3A
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202310211477.3A priority Critical patent/CN116302059A/zh
Publication of CN116302059A publication Critical patent/CN116302059A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提出一种服务器与数据库间的对应关系维护方法、装置和系统,该方法包括:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态;根据切换至的节点状态,获取处于第一任务状态的目标任务;以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。通过本公开能够实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。

Description

服务器与数据库间的对应关系维护方法、装置和系统
技术领域
本公开涉及电子设备技术领域,尤其涉及一种服务器与数据库间的对应关系维护方法、装置和系统。
背景技术
相关技术中,业务相关的数据通常采用分库分表的存储方案,某些业务需要周期性对一些表的数据进行处理。例如,一组服务器(简称为worker)对应一台数据库(简称为db),为了保证服务器分组的高可用,在三个机房各部署1台,相当于3台服务器处理1台数据库的数据。
这种方式下,通过配置文件指定服务器与数据库间的对应关系,并且该配置文件还需要人工维护,容易出错,导致服务器与数据库间的对应关系的部署配置复杂。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的目的在于提出一种服务器与数据库间的对应关系维护方法、装置、系统、电子设备、存储介质及计算机程序产品,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
为达到上述目的,本公开第一方面实施例提出的服务器与数据库间的对应关系维护方法,被主节点执行,方法包括:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态;根据切换至的节点状态,获取处于第一任务状态的目标任务;以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务;
其中,根据切换至的节点状态,获取处于第一任务状态的目标任务,包括:
确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
如果多个候选任务状态中存在与第一任务状态相同候选任务状态,则将相同候选任务状态对应的候选任务作为目标任务;
如果多个候选任务状态中不存在与第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务。
在本公开的一些实施例中,从多个候选辅节点中选择第三辅节点,包括:
确定每个候选辅节点中的任务数量;
将多个任务数量中最多任务数量所属的候选辅节点作为第三辅节点。
在本公开的一些实施例中,根据第三辅节点中已加载任务,获取目标任务,包括:
向第三辅节点发送任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;
接收第三辅节点发送的释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
在本公开的一些实施例中,确定与目标任务对应的第二辅节点,包括:
如果第一辅节点切换至第一节点状态,则向第一辅节点发送配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,切换至的节点状态包括:第二节点状态,第二节点状态用于指示第一辅节点已停机;
其中,根据切换至的节点状态,获取处于第一任务状态的目标任务,包括:
将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务。
在本公开的一些实施例中,确定与目标任务对应的第二辅节点,包括:
如果第一辅节点切换至第二节点状态,则从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点。
在本公开的一些实施例中,方法还包括:
向第一辅节点或第二辅节点发送任务加载消息,其中,任务加载消息用于指示第一辅节点或第二辅节点加载目标任务;
接收第一辅节点或第二辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第一辅节点或第二辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;方法还包括:
确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
根据多个候选任务和候选任务对应候选任务状态,生成所有任务列表;
从多个候选任务中选择第二任务状态的候选任务和第三任务状态的候选任务,并确定与所选择候选任务对应辅节点的标识信息;
根据所选择候选任务和辅节点的标识信息,生成已分配任务列表。
在本公开的一些实施例中,方法还包括:
将所有任务列表和/或已分配任务列表发送至第一辅节点。
本公开第一方面实施例提出的服务器与数据库间的对应关系维护方法,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
为达到上述目的,本公开第二方面实施例提出的服务器与数据库间的对应关系维护方法,被第一辅节点执行,包括:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务。
在本公开的一些实施例中,方法还包括:
接收主节点发送的配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,方法还包括:
接收主节点发送的任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务;
加载目标任务,并对目标数据库中的数据进行处理;
向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括第二节点状态,第二节点状态用于指示第一辅节点已停机;其中,方法还包括:
释放所加载的任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;方法还包括:
接收主节点发送的所有任务列表和/或已分配任务列表,其中,所有任务列表,是根据多个候选任务和候选任务对应候选任务状态生成,已分配任务列表是根据从多个候选任务中所选择的第二任务状态的候选任务和第三任务状态的候选任务,和与所选择候选任务对应辅节点的标识信息所生成;
根据所有任务列表和/或已分配任务列表,进行任务分配。
本公开第二方面实施例提出的服务器与数据库间的对应关系维护方法,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,以支持主节点动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
为达到上述目的,本公开第三方面实施例提出的服务器与数据库间的对应关系维护方法,被第二辅节点执行,方法包括:接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务;加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理;向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务。
本公开第三方面实施例提出的服务器与数据库间的对应关系维护方法,通过接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务,并加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理,以及向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务,以实现基于所维护服务器与数据库间的对应关系及时地加载目标任务处理数据库中的数据,有效提升服务器与数据库间的对应关系的维护与数据处理的连贯性,在维护服务器与数据库间的对应关系的同时,保障服务器集群数据处理的高可用和鲁棒性,还可以支持主节点及时地对目标任务的任务状态进行修改,以保证任务状态维护的准确性。
为达到上述目的,本公开第四方面实施例提出的服务器与数据库间的对应关系维护方法,被第三辅节点执行,方法包括:接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
本公开第四方面实施例提出的服务器与数据库间的对应关系维护方法,通过接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务,以有效地平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。
为达到上述目的,本公开第五方面实施例提出的服务器与数据库间的对应关系维护装置,被主节点执行,装置包括:第一确定模块,用于在第一辅节点状态切换时,则确定第一辅节点切换至的节点状态;获取模块,用于根据切换至的节点状态,获取处于第一任务状态的目标任务;以及第二确定模块,用于确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务;
其中,获取模块,具体用于:
确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
如果多个候选任务状态中存在与第一任务状态相同候选任务状态,则将相同候选任务状态对应的候选任务作为目标任务;
如果多个候选任务状态中不存在与第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务。
在本公开的一些实施例中,获取模块,还用于:
确定每个候选辅节点中的任务数量;
将多个任务数量中最多任务数量所属的候选辅节点作为第三辅节点。
在本公开的一些实施例中,获取模块,还用于:
向第三辅节点发送任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;
接收第三辅节点发送的释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
在本公开的一些实施例中,第二确定模块,具体用于:
如果第一辅节点切换至第一节点状态,则向第一辅节点发送配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,切换至的节点状态包括:第二节点状态,第二节点状态用于指示第一辅节点已停机;
其中,获取模块,具体用于:
将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务。
在本公开的一些实施例中,第二确定模块,具体用于:
如果第一辅节点切换至第二节点状态,则从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点。
在本公开的一些实施例中,装置还包括:
第三发送模块,用于向第一辅节点或第二辅节点发送任务加载消息,其中,任务加载消息用于指示第一辅节点或第二辅节点加载目标任务;
第三接收模块,用于接收第一辅节点或第二辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第一辅节点或第二辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;装置还包括:
第四确定模块,用于确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
第一生成模块,用于根据多个候选任务和候选任务对应候选任务状态,生成所有任务列表;
第五确定模块,用于从多个候选任务中选择第二任务状态的候选任务和第三任务状态的候选任务,并确定与所选择候选任务对应辅节点的标识信息;
第二生成模块,用于根据所选择候选任务和辅节点的标识信息,生成已分配任务列表。
在本公开的一些实施例中,装置还包括:
第四发送模块,用于将所有任务列表和/或已分配任务列表发送至第一辅节点。
本公开第五方面实施例提出的服务器与数据库间的对应关系维护装置,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
为达到上述目的,本公开第六方面实施例提出的服务器与数据库间的对应关系维护装置,被第一辅节点执行,装置包括:
第三确定模块,用于在第一辅节点状态切换时,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务。
在本公开的一些实施例中,装置还包括:
第四接收模块,用于接收主节点发送的配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,装置还包括:
第五接收模块,用于接收主节点发送的任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务;
第二处理模块,用于加载目标任务,并对目标数据库中的数据进行处理;
第五发送模块,用于向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括第二节点状态,第二节点状态用于指示第一辅节点已停机;其中,装置还包括:
第三处理模块,用于释放所加载的任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;装置还包括:
第六接收模块,用于接收主节点发送的所有任务列表和/或已分配任务列表,其中,所有任务列表,是根据多个候选任务和候选任务对应候选任务状态生成,已分配任务列表是根据从多个候选任务中所选择的第二任务状态的候选任务和第三任务状态的候选任务,和与所选择候选任务对应辅节点的标识信息所生成;
第四处理模块,用于根据所有任务列表和/或已分配任务列表,进行任务分配。
本公开第六方面实施例提出的服务器与数据库间的对应关系维护装置,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,以支持主节点动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
为达到上述目的,本公开第七方面实施例提出的服务器与数据库间的对应关系维护装置,被第二辅节点执行,装置包括:第一接收模块,用于接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务;第一处理模块,用于加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理;第一发送模块,用于向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务。
本公开第七方面实施例提出的服务器与数据库间的对应关系维护装置,通过接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务,并加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理,以及向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务,以实现基于所维护服务器与数据库间的对应关系及时地加载目标任务处理数据库中的数据,有效提升服务器与数据库间的对应关系的维护与数据处理的连贯性,在维护服务器与数据库间的对应关系的同时,保障服务器集群数据处理的高可用和鲁棒性,还可以支持主节点及时地对目标任务的任务状态进行修改,以保证任务状态维护的准确性。
为达到上述目的,本公开第八方面实施例提出的服务器与数据库间的对应关系维护装置,被第三辅节点执行,装置包括:第二接收模块,用于接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;第二发送模块,用于释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
本公开第八方面实施例提出的服务器与数据库间的对应关系维护装置,通过接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务,以有效地平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。
为达到上述目的,本公开第九方面实施例提出的服务器与数据库间的对应关系维护系统,包括:主节点、第一辅节点、第二辅节点、以及第三辅节点;其中,主节点被配置为执行如本公开第一方面实施例提出的服务器与数据库间的对应关系维护方法,第一辅节点被配置为执行如本公开第二方面实施例提出的服务器与数据库间的对应关系维护方法,第二辅节点被配置为执行如本公开第三方面实施例提出的服务器与数据库间的对应关系维护方法,第三辅节点被配置为执行如本公开第四方面实施例提出的服务器与数据库间的对应关系维护方法。
本公开第九方面实施例提出的服务器与数据库间的对应关系维护系统,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
本公开第十方面实施例提出的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如本公开上述实施例提出的服务器与数据库间的对应关系维护方法。
本公开第十一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开上述实施例提出的服务器与数据库间的对应关系维护方法。
本公开第十二方面实施例提出了一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如本公开上述实施例提出的服务器与数据库间的对应关系维护方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本公开一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图2是本公开实施例中服务器与数据库间的对应关系的架构示意图;
图3是本公开实施例中节点状态示意图;
图4是本公开实施例中任务状态示意图;
图5是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图6是本公开实施例中第一辅节点切换至第一节点状态时的对应关系维护流程示意图;
图7是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图8是本公开实施例中第一辅节点切换至第二节点状态时的对应关系维护流程示意图;
图9是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图10是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图11是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图12是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图;
图13是本公开实施例中第一辅节点切换至第三节点状态时的对应关系维护方法的时序示意图;
图14是本公开实施例中第一辅节点切换至第一节点状态或第二节点状态的对应关系维护方法的时序示意图;
图15是本公开一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图16是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图17是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图18是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图19是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图20是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图;
图21是本公开一实施例提出的服务器与数据库间的对应关系维护系统的结构示意图;
图22示出了适于用来实现本公开实施方式的示例性电子设备的框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本公开一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例以服务器与数据库间的对应关系维护方法被配置为服务器与数据库间的对应关系维护装置中来举例说明,本实施例中服务器与数据库间的对应关系维护方法可以被配置在服务器与数据库间的对应关系维护装置中,服务器与数据库间的对应关系维护装置可以设置在服务器中,或者也可以设置在电子设备中,本公开实施例对此不作限制。
本实施例以服务器与数据库间的对应关系维护方法被配置在电子设备中为例。其中,电子设备例如智能手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
需要说明的是,本公开实施例的执行主体,在硬件上可以例如为服务器或者电子设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为服务器或者电子设备中的相关的后台服务,对此不作限制。
本公开实施例的服务器与数据库间的对应关系维护方法可以应用于服务器集群中,服务器集群可以包括多个服务器,该多个服务器中可以具有一个主服务器,以及作为从属的辅服务器,多个服务器之间形成主从服务器架构,而主服务器可以被视为一个主节点(master节点),辅服务器可以被视为一个辅节点(slave节点)。
其中,服务器,可以是指执行批处理作业的计算机;数据库可以是指存储数据的计算机;master节点,即服务器主节点,负责维护服务器和数据库间的对应关系;slave节点,即服务器从节点,负责处理数据库数据。
本实施例可以应用于上述服务器架构中的主节点(master节点),服务器存在2中角色,master节点和slave节点,master节点可以用于维护服务器与数据库间的对应关系,slave节点与master节点存在心跳机制,master节点可以对slave节点的心跳数据进行检测,当master节点发现在收到slave节点的心跳数据,或者长时间未收到slave节点的心跳数据时,可以重新调整服务器与数据库间的对应关系,以保证所有服务器的负载相近,所有数据库的数据都能被处理,从而实现动态地、自动化地维护服务器与数据库间的对应关系。
如图2所示,图2是本公开实施例中服务器与数据库间的对应关系的架构示意图。其中,可以包括多个服务器节点,例如辅节点work-1、辅节点work-2、辅节点work-3,每个辅节点work可以加载至少一个任务job,例如任务job-1、任务job-2、任务job-3,不同任务job用于处理相应数据库中的数据(比如对相应数据库中的数据的增删改查等操作),数据库可以例如数据库db-1、数据库db-2、数据库db-3、数据库db-4、数据库db-5,从而本公开实施例中服务器与数据库是多对多的关系,即一台服务器可用对应多个数据库,提高服务器的利用率,同时1个数据库又由多个服务器处理,提高了可靠性。
如图1所示,该服务器与数据库间的对应关系维护方法,包括:
S101:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态。
本公开实施例中,可以由主节点(master节点)对其他服务器启动、无响应、停止的情况进行动态检测,以及时地感知辅节点(slave节点)的状态变化,主节点(master节点)可以根据辅节点(slave节点)的状态变化对服务器与数据库间的对应关系进行动态地调整映射。
本公开实施例中,当前状态切换的辅节点,可以被称为第一辅节点,则主节点(master节点)在识别到第一辅节点的状态切换,可以确定第一辅节点切换至的节点状态。
其中,节点状态用于描述服务器可能处于的工作或者非工作状态。如图3所示,图3是本公开实施例中节点状态示意图。其中,节点状态可以具体例如:startup状态,表示服务器启动;standby状态,表示服务器启动完成,开始向master节点发送心跳数据,且未被分配任务(job);working状态,表示master节点已为此辅节点分配任务(job),该(job)用于处理相应数据库中的数据;shutdown状态,表示服务器停机,当然,节点状态也可能为其他任意可能形式的状态,比如,第一辅节点的角色由辅节点切换为主节点,对此不做限制。
本公开实施例中,主节点(master节点)在识别到第一辅节点的状态切换,可以确定第一辅节点切换至的节点状态,而后,参考第一辅节点切换至的节点状态来对服务器与数据库间的对应关系进行动态地维护管理,具体可以参见下述描述。
S102:根据切换至的节点状态,获取处于第一任务状态的目标任务。
其中,任务(job),是指批处理作业的集合,由于本公开是数据库级别的分配方案,则任务(job)可以是指一个数据库实例。数据库实例就是访问数据库的应用程序,是位于用户和操作系统之间的一层数据管理软件。用户对数据库中的文件(数据)的增、删、查、改以及包括数据定义、数据查询、数据维护、数据库运行控制等任何的操作,均是在数据库实例下进行的,数据库实例就是用户(程序员)访问数据库的通道,应用程序通过数据库实例和数据库打交道。数据库实例,实现对数据库操作的封装,同时也实现了数据库的结构化查询语言的解析,支持用户采用结构化查询语言对数据库内容的操作。通常来说一个数据库实例对应一个数据库。
其中,基于切换至的节点状态所确定的待对其与服务器的对应关系进行调整的任务,可以被称为目标任务。
本公开实施例中,支持获取处于第一任务状态的任务作为目标任务,第一任务状态是多种任务状态中的一种,而任务状态可以用于表示任务可能处于的状态如图4所示,图4是本公开实施例中任务状态示意图。任务状态可以包括锁定状态、释放状态、初始状态、加载状态,其中,锁定状态表示任务已预分配给某个辅节点,并被设定较短的锁定时间,在此锁定时间内,其他辅节点不会尝试领取此任务;如果超过锁定时间,则该任务可以由锁定状态切换至释放状态,在处于释放状态的情况下,其他辅节点可以领取该任务,如果有辅节点处理该任务,则该任务可以由释放状态切换至加载状态,表示当前有辅节点处理该任务,初始状态表示该任务待被初始化配置,对该任务初始化配置后,可以将该任务由初始状态切换至释放状态,等待辅节点的领取,对此不做限制。
其中,第一任务状态,可以是指任务当前未被领取、未被加载、未被占用、以及已经被初始化完毕的状态。第一任务状态具体例如,释放状态,对此不做限制。
本公开实施例中,主节点(master节点)在识别到第一辅节点的状态切换,可以确定第一辅节点切换至的节点状态,而后,参考第一辅节点切换至的节点状态,获取处于第一任务状态的目标任务,并为处于第一任务状态的目标任务分配合适的辅节点。
可以理解的是,可以根据第一辅节点所切换至的节点状态的具体情况,灵活地选择处于第一任务状态的目标任务的获取方式,从而实现对服务器与数据库间的对应关系进行动态维护管理。
S103:确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。
上述在参考第一辅节点切换至的节点状态,获取处于第一任务状态的目标任务后,可以为处于第一任务状态的目标任务分配合适的辅节点,所分配的合适的辅节点,可以被称为第二辅节点,该第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
图5是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的主节点(master节点)。
如图5所示,该服务器与数据库间的对应关系维护方法,包括:
S501:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务。
其中,第一节点状态用于指示第一辅节点已启动且未被分配任务,第一节点状态例如上述图3中的standby状态,表示服务器启动完成,开始向master节点发送心跳数据,且未被分配任务(job)。
S502:确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种。
本实施例中,如果主节点(master节点)确定第一辅节点切换至第一节点状态,则可以选择处于第一任务状态的目标任务分配给第一辅节点,此时,可以将第一辅节点作为加载目标任务的第二辅节点。
本实施例中在选择处于第一任务状态的目标任务时,可以确定多个候选任务,而每个候选任务均对应一个候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种,而后依据候选任务状态来选择处于第一任务状态的目标任务。
其中,第一任务状态,可以是指任务当前未被领取、未被加载、未被占用、以及已经被初始化完毕的状态。第一任务状态具体例如,释放状态,对此不做限制。
其中,第二任务状态,可以是指任务当前已被加载、已被分配、已被领取、已被占用等等的状态,第二任务状态具体例如,加载状态,对此不做限制。
其中,第三任务状态,可以是指任务待被初始化,即初始化尚未完成的状态,第三任务状态具体例如,初始状态,对此不做限制。
其中,第四任务状态,可以是指任务已预分配给某个辅节点,并被设定锁定时间,在此锁定时间内,其他辅节点不会尝试领取此任务,第四任务状态具体例如,锁定状态,对此不做限制。
S503:如果多个候选任务状态中存在与第一任务状态相同候选任务状态,则将相同候选任务状态对应的候选任务作为目标任务。
一些实施例中,主节点(master节点)可以从多个候选任务状态中选择与第一任务状态相同候选任务状态,则将相同候选任务状态对应的候选任务作为目标任务。
S504:如果多个候选任务状态中不存在与第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务。
另一些实施例中,如果主节点(master节点)确定多个候选任务状态中不存在与第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务。
也即是说,主节点(master节点)可以查询是否存在处于释放状态的任务,如果存在,则直接将处于释放状态的任务作为目标任务,如果不存在,则可以从其他已分配任务的辅节点中调度任务,以实现有效平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。
其中,候选辅节点可以是已经加载任务的从属的服务器节点。
可选地,一些实施例中,在从多个候选辅节点中选择第三辅节点时,可以是确定每个候选辅节点中的任务数量,并将多个任务数量中最多任务数量所属的候选辅节点作为第三辅节点,以此尽量保证不同辅节点中的任务数量平均化,避免某个辅节点的资源使用率过高。
可选地,一些实施例中,根据第三辅节点中已加载任务,获取目标任务,可以是向第三辅节点发送任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务,接收第三辅节点发送的释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务,实现及时地通知第三辅节点释放目标任务,将第三辅节点所释放的目标任务调度至第一辅节点中,以实现不同服务器之间资源的有效平衡利用。
其中,可以由主节点先从辅节点的任务列表中选择一个任务作为目标任务,而后,向第三辅节点发送任务释放消息,基于该任务释放消息通知第三辅节点释放目标任务,比如可以将目标任务的任务编号携带至任务释放消息中,以使得第三辅节点释放该任务编号所指示的目标任务,对此不做限制。
S505:如果第一辅节点切换至第一节点状态,则向第一辅节点发送配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
由于第一节点状态指示第一辅节点已启动且未被分配任务,第一节点状态例如上述图3中的standby状态,表示服务器启动完成,开始向master节点发送心跳数据,且未被分配任务(job),则在获取到处于第一任务状态的目标任务后,可以将第一辅节点作为处理目标任务的第二辅节点,也即是说,第一辅节点和第二辅节点相同。
S506:向第一辅节点发送任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务。
在将第一辅节点作为处理目标任务的第二辅节点后,可以指示第一辅节点加载目标任务,比如可以向第一辅节点发送任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务。
S507:接收第一辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务。
如果接收到第一辅节点发送的加载通知消息,则表示第一辅节点已加载目标任务,则可以将目标任务由处于第一任务状态切换至处于第二任务状态,即由处于释放状态标记为处于加载状态。
也即是说,本公开实施例不仅支持实现动态地、自动化地维护服务器与数据库间的对应关系,还能够支持对用于处理数据库数据的任务的状态进行动态地管理和维护,能够有效保障所维护服务器与数据库间的对应关系的正确性,提升服务器与数据库间的对应关系的维护效果。
如图6所示,图6是本公开实施例中第一辅节点切换至第一节点状态时的对应关系维护流程示意图,其中,new即指第一辅节点,表示第一辅节点启动完成,开始向master节点发送心跳数据,且未被分配任务(job),辅节点work-1表示第三辅节点,处于释放状态的job即指处于第一任务状态的目标任务。如果master节点确定第一辅节点切换至第一节点状态,则可以触发成员变更事件(MemberChangeEvent),而后执行获取处于第一任务状态的目标任务的步骤。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务,确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种,在多个候选任务状态中存在与第一任务状态相同候选任务状态的情况下,将相同候选任务状态对应的候选任务作为目标任务,在多个候选任务状态中不存在与第一任务状态相同候选任务状态的情况下,从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。实现根据第一辅节点所切换至的节点状态的具体情况,灵活地选择处于第一任务状态的目标任务的获取方式,有效平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。不仅支持实现动态地、自动化地维护服务器与数据库间的对应关系,还能够支持对用于处理数据库数据的任务的状态进行动态地管理和维护,能够有效保障所维护服务器与数据库间的对应关系的正确性,提升服务器与数据库间的对应关系的维护效果。
图7是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的主节点(master节点)。
如图7所示,该服务器与数据库间的对应关系维护方法,包括:
S701:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态,切换至的节点状态包括:第二节点状态,第二节点状态用于指示第一辅节点已停机。
其中,第二节点状态用于指示第一辅节点已停机,第二节点状态例如上述图3中的shutdown状态,表示服务器停机。
S702:将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务。
在确定第一辅节点切换至第二节点状态的情况下,可以将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务。
S703:如果第一辅节点切换至第二节点状态,则从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点。
在确定第一辅节点切换至第二节点状态的情况下,从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点。
其中,候选辅节点可以是处于第一节点状态的辅节点、已加载任务的辅节点、已预定任务的辅节点、已分配任务的辅节点等等,对此不做限制。
举例而言,可以从多个候选辅节点中选择任务数量最少的候选辅节点作为第二辅节点,或者,也可以从多个候选辅节点中选择数据处理效率最高的候选辅节点作为第二辅节点,对此不做限制。
S704:向第二辅节点发送任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务。
在从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点后,可以指示第二辅节点加载目标任务,比如可以向第二辅节点发送任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务。
S705:接收第二辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务。
如果接收到第二辅节点发送的加载通知消息,则表示第二辅节点已加载目标任务,则可以将目标任务由处于第一任务状态切换至处于第二任务状态,即由处于释放状态标记为处于加载状态。
如图8所示,图8是本公开实施例中第一辅节点切换至第二节点状态时的对应关系维护流程示意图,其中,辅节点work-2即指第一辅节点,表示第一辅节点停机,辅节点work-x表示第二辅节点。如果master节点确定第一辅节点切换至第二节点状态,则可以触发成员变更事件(MemberChangeEvent),而后执行重新为第一辅节点所释放的处于第一任务状态的目标任务分配辅节点的步骤。
本实施例中,在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,切换至的节点状态包括:第二节点状态,第二节点状态用于指示第一辅节点已停机,将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务,从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点,向第二辅节点发送任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务,接收第二辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务,实现将已停机的第一辅节点所释放的任务分配至其他辅节点中,避免第一辅节点的停机事件对数据处理带入影响,提升服务器集群的高可用的稳定性。能够支持对用于处理数据库数据的任务的状态进行动态地管理和维护,能够有效保障所维护服务器与数据库间的对应关系的正确性,提升服务器与数据库间的对应关系的维护效果。
本公开实施例中,如果第一辅节点切换至的状态是第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;方法还包括:确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;根据多个候选任务和候选任务对应候选任务状态,生成所有任务列表;从多个候选任务中选择第二任务状态的候选任务和第三任务状态的候选任务,并确定与所选择候选任务对应辅节点的标识信息;根据所选择候选任务和辅节点的标识信息,生成已分配任务列表,以及将所有任务列表和/或已分配任务列表发送至第一辅节点,即主节点可以将所维护的对应关系形成一份所有任务列表和/或已分配任务列表,以基于所有任务列表和/或已分配任务列表辅助新的master节点维护服务器与数据库间的对应关系。
也即是说,当前的master节点可以将所有任务列表和/或已分配任务列表发送至第一辅节点,或者也可以对所有任务列表和/或已分配任务列表进行存储,以支持新的master节点基于所有任务列表和/或已分配任务列表维护服务器与数据库间的对应关系。
在下述实施例中针对与上述相同术语概念的解释、描述、说明可以一并参见上述实施例,以下不再赘述。
图9是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的第一辅节点。
如图9所示,该服务器与数据库间的对应关系维护方法,包括:
S901:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,以支持主节点动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
图10是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的第一辅节点。
如图10所示,该服务器与数据库间的对应关系维护方法,包括:
S1001:如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态,其中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
S1002:接收主节点发送的配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
S1003:接收主节点发送的任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务。
S1004:加载目标任务,并对目标数据库中的数据进行处理。
S1005:向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至第一节点状态,接收主节点发送的配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点,接收主节点发送的任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务,并加载目标任务,并对目标数据库中的数据进行处理,以及向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务,以支持主节点动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。及时地将处于第一任务状态的目标任务调度至第一辅节点中,以实现不同服务器之间资源的有效平衡利用。
本公开实施例中,在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态包括第二节点状态,第二节点状态用于指示第一辅节点已停机,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,还可以释放第一辅节点中所加载的任务,以支持及时地将第一辅节点所释放的任务调度分配至其他辅节点中,避免第一辅节点的停机对数据库中数据的处理带入影响,提升服务器集群的高可用的稳定性。
本公开实施例中,在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,还可以接收主节点发送的所有任务列表和/或已分配任务列表,其中,所有任务列表,是根据多个候选任务和候选任务对应候选任务状态生成,已分配任务列表是根据从多个候选任务中所选择的第二任务状态的候选任务和第三任务状态的候选任务,和与所选择候选任务对应辅节点的标识信息所生成,并根据所有任务列表和/或已分配任务列表,进行任务分配,实现基于所有任务列表和/或已分配任务列表维护服务器与数据库间的对应关系,避免主辅节点的角色切换对服务器与数据库间的对应关系的维护带入影响,有效提升服务器与数据库间的对应关系维护的准确率。
图11是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的第二辅节点。
如图11所示,该服务器与数据库间的对应关系维护方法,包括:
S1101:接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务。
S1102:加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理。
S1103:向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务。
本实施例中,通过接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务,并加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理,以及向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务,以实现基于所维护服务器与数据库间的对应关系及时地加载目标任务处理数据库中的数据,有效提升服务器与数据库间的对应关系的维护与数据处理的连贯性,在维护服务器与数据库间的对应关系的同时,保障服务器集群数据处理的高可用和鲁棒性,还可以支持主节点及时地对目标任务的任务状态进行修改,以保证任务状态维护的准确性。
图12是本公开另一实施例提出的服务器与数据库间的对应关系维护方法的流程示意图。
本实施例可以应用于上述服务器架构中的第三辅节点。
如图12所示,该服务器与数据库间的对应关系维护方法,包括:
S1201:接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务。
S1202:释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
本实施例中,通过接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务,并释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务,以有效地平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。
如图13和图14所示,图13是本公开实施例中第一辅节点切换至第三节点状态时的对应关系维护方法的时序示意图,图14是本公开实施例中第一辅节点切换至第一节点状态或第二节点状态的对应关系维护方法的时序示意图。
其中,在图13中,可以由成员角色变更监听组件确定发生成员角色变更事件(MemberRoleChangeEventLeader),而后根据任务分配列表初始化第一辅节点的本地变量JobDispatcher.init,而后由第一辅节点中的JobDispatcher调用JobRegistry.iterator方法,以从JobRegistry获取所有任务列表(以便初始化空闲任务对应的数据),并由JobDispatcher调用JobRuntimeInfoStore.iterator方法,以从JobRuntimeInfoStore获取已分配任务列表,而后JobDispatcher可以执行初始化的逻辑,在第一辅节点本地可以配置两个队列和两个Map数据结构,以进行任务分配。
其中,在图14中,包括辅节点成员加入和离开的处理逻辑,在辅节点成员加入的处理逻辑中,可以由成员变更监听组件确认发生辅节点成员加入事件,而后,由主节点中的JobDispatcher根据算法分配或者调拨job,而后还可以保存任务分配结果,在确定不存在处于第一任务状态的目标任务时,可以向第三辅节点(slave-w1)发送任务释放消息,任务释放消息用于指示第三辅节点释放至少一个已加载任务,主节点中的JobDispatcher还可以将第三辅节点(slave-w1)所释放任务配置为锁定状态,将其配置为已被第一辅节点(slave-w2,此时第一辅节点为新加入的辅节点),而后向第一辅节点(slave-w2)发送任务加载消息,任务加载消息用于指示第一辅节点加载目标任务,而后,可以修改任务的状态。在辅节点成员离开的处理逻辑中,可以由成员变更监听组件确认发生辅节点成员离开事件,而后,由成员变更监听组件触发主节点中的JobDispatcher回收离开的辅节点中的任务,例如由主节点中的JobDispatcher向第一辅节点(slave-w2,此时第一辅节点为离开的辅节点)发送任务释放消息,而如果第一辅节点(slave-w2)的离开是由其停机导致,则该任务释放消息可能会发送失败。
图15是本公开一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图。
如图15所示,该服务器与数据库间的对应关系维护装置150,被主节点执行,包括:
第一确定模块1501,用于在第一辅节点状态切换时,则确定第一辅节点切换至的节点状态;
获取模块1502,用于根据切换至的节点状态,获取处于第一任务状态的目标任务;以及
第二确定模块1503,用于确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务;
其中,获取模块1502,具体用于:
确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
如果多个候选任务状态中存在与第一任务状态相同候选任务状态,则将相同候选任务状态对应的候选任务作为目标任务;
如果多个候选任务状态中不存在与第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据第三辅节点中已加载任务,获取目标任务。
在本公开的一些实施例中,获取模块1502,还用于:
确定每个候选辅节点中的任务数量;
将多个任务数量中最多任务数量所属的候选辅节点作为第三辅节点。
在本公开的一些实施例中,获取模块1502,还用于:
向第三辅节点发送任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;
接收第三辅节点发送的释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
在本公开的一些实施例中,第二确定模块1503,具体用于:
如果第一辅节点切换至第一节点状态,则向第一辅节点发送配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,切换至的节点状态包括:第二节点状态,第二节点状态用于指示第一辅节点已停机;
其中,获取模块1502,具体用于:
将第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为目标任务。
在本公开的一些实施例中,第二确定模块1503,具体用于:
如果第一辅节点切换至第二节点状态,则从多个候选辅节点中选择至少一个候选辅节点作为第二辅节点。
在本公开的一些实施例中,如图16所示,图16是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图,装置150还包括:
第三发送模块1504,用于向第一辅节点或第二辅节点发送任务加载消息,其中,任务加载消息用于指示第一辅节点或第二辅节点加载目标任务;
第三接收模块1505,用于接收第一辅节点或第二辅节点发送的加载通知消息,并将目标任务由处于第一任务状态切换至处于第二任务状态,其中,加载通知消息用于向主节点通知第一辅节点或第二辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;装置150还包括:
第四确定模块1506,用于确定多个候选任务,其中,候选任务对应候选任务状态,候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
第一生成模块1507,用于根据多个候选任务和候选任务对应候选任务状态,生成所有任务列表;
第五确定模块1508,用于从多个候选任务中选择第二任务状态的候选任务和第三任务状态的候选任务,并确定与所选择候选任务对应辅节点的标识信息;
第二生成模块1509,用于根据所选择候选任务和辅节点的标识信息,生成已分配任务列表。
在本公开的一些实施例中,装置150还包括:
第四发送模块1510,用于将所有任务列表和/或已分配任务列表发送至第一辅节点。
需要说明的是,前述对服务器与数据库间的对应关系维护方法的解释说明也适用于本实施例的服务器与数据库间的对应关系维护装置,此处不再赘述。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
图17是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图。
如图17所示,该服务器与数据库间的对应关系维护装置170,被第一辅节点执行,包括:
第三确定模块1701,用于在第一辅节点状态切换时,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
在本公开的一些实施例中,切换至的节点状态包括:第一节点状态,第一节点状态用于指示第一辅节点已启动且未被分配任务。
在本公开的一些实施例中,如图18所示,图18是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图,装置170还包括:
第四接收模块1702,用于接收主节点发送的配置通知消息,其中,配置通知消息用于配置第一辅节点为与目标任务对应的第二辅节点。
在本公开的一些实施例中,装置170还包括:
第五接收模块1703,用于接收主节点发送的任务加载消息,其中,任务加载消息用于指示第一辅节点加载目标任务;
第二处理模块1704,用于加载目标任务,并对目标数据库中的数据进行处理;
第五发送模块1705,用于向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第一辅节点已加载目标任务。
在本公开的一些实施例中,切换至的节点状态包括第二节点状态,第二节点状态用于指示第一辅节点已停机;其中,装置170还包括:
第三处理模块1706,用于释放所加载的任务。
在本公开的一些实施例中,切换至的节点状态包括:第三节点状态,第三节点状态用于指示第一辅节点的角色由辅节点角色切换至主节点角色;装置170还包括:
第六接收模块1707,用于接收主节点发送的所有任务列表和/或已分配任务列表,其中,所有任务列表,是根据多个候选任务和候选任务对应候选任务状态生成,已分配任务列表是根据从多个候选任务中所选择的第二任务状态的候选任务和第三任务状态的候选任务,和与所选择候选任务对应辅节点的标识信息所生成;
第四处理模块1708,用于根据所有任务列表和/或已分配任务列表,进行任务分配。
需要说明的是,前述对服务器与数据库间的对应关系维护方法的解释说明也适用于本实施例的服务器与数据库间的对应关系维护装置,此处不再赘述。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,其中,切换至的节点状态用于使主节点确定目标任务,目标任务被第二辅节点加载以对目标数据库中的数据进行处理,以支持主节点动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
图19是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图。
如图19所示,该服务器与数据库间的对应关系维护装置190,被第二辅节点执行,包括:
第一接收模块1901,用于接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务;
第一处理模块1902,用于加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理;
第一发送模块1903,用于向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务。
需要说明的是,前述对服务器与数据库间的对应关系维护方法的解释说明也适用于本实施例的服务器与数据库间的对应关系维护装置,此处不再赘述。
本实施例中,通过接收主节点发送的任务加载消息,其中,任务加载消息用于指示第二辅节点加载目标任务,并加载目标任务,并对与目标任务对应的目标数据库中的数据进行处理,以及向主节点发送加载通知消息,其中,加载通知消息用于向主节点通知第二辅节点已加载目标任务,以实现基于所维护服务器与数据库间的对应关系及时地加载目标任务处理数据库中的数据,有效提升服务器与数据库间的对应关系的维护与数据处理的连贯性,在维护服务器与数据库间的对应关系的同时,保障服务器集群数据处理的高可用和鲁棒性。还可以支持主节点及时地对目标任务的任务状态进行修改,以保证任务状态维护的准确性。
图20是本公开另一实施例提出的服务器与数据库间的对应关系维护装置的结构示意图。
如图20所示,该服务器与数据库间的对应关系维护装置200,被第三辅节点执行,包括:
第二接收模块2001,用于接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务;
第二发送模块2002,用于释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务。
需要说明的是,前述对服务器与数据库间的对应关系维护方法的解释说明也适用于本实施例的服务器与数据库间的对应关系维护装置,此处不再赘述。
本实施例中,通过接收主节点发送的任务释放消息,其中,任务释放消息用于指示第三辅节点从多个已加载任务中释放目标任务,并释放目标任务,并向主节点发送释放通知消息,其中,释放通知消息用于向主节点通知第三辅节点已释放目标任务,以有效地平衡不同服务器之间的资源利用率,且保障服务器分组的高可用。
图21是本公开一实施例提出的服务器与数据库间的对应关系维护系统的结构示意图。
如图21所示,该服务器与数据库间的对应关系维护系统210,包括:
主节点2101、第一辅节点2102、第二辅节点2103、以及第三辅节点2104;其中,主节点2101被配置为执行如上述图1-图8的服务器与数据库间的对应关系维护方法,第一辅节点2102被配置为执行如上述图9-图10的服务器与数据库间的对应关系维护方法,第二辅节点2103被配置为执行如上述图11的服务器与数据库间的对应关系维护方法,第三辅节点2104被配置为执行如上述图12的服务器与数据库间的对应关系维护方法。
需要说明的是,前述对服务器与数据库间的对应关系维护方法的解释说明也适用于本实施例的服务器与数据库间的对应关系维护系统,此处不再赘述。
本实施例中,通过在第一辅节点状态切换的情况下,确定第一辅节点切换至的节点状态,并根据切换至的节点状态,获取处于第一任务状态的目标任务,以及确定与目标任务对应的第二辅节点,其中,第二辅节点用于加载目标任务,以对目标数据库中的数据进行处理,实现动态地、自动化地维护服务器与数据库间的对应关系,无需依赖人工配置和维护,有效地简化服务器与数据库间的对应关系的部署配置。
图22示出了适于用来实现本公开实施方式的示例性电子设备的框图。图22显示的电子设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图22所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图22未显示,通常称为“硬盘驱动器”)。
尽管图22中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得人体能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的服务器与数据库间的对应关系维护方法。
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的服务器与数据库间的对应关系维护方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的服务器与数据库间的对应关系维护方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (26)

1.一种服务器与数据库间的对应关系维护方法,其特征在于,被主节点执行,所述方法包括:
如果第一辅节点状态切换,则确定第一辅节点切换至的节点状态;
根据所述切换至的节点状态,获取处于第一任务状态的目标任务;以及
确定与所述目标任务对应的第二辅节点,其中,所述第二辅节点用于加载所述目标任务,以对目标数据库中的数据进行处理。
2.如权利要求1所述的方法,其特征在于,所述切换至的节点状态包括:第一节点状态,所述第一节点状态用于指示所述第一辅节点已启动且未被分配任务;
其中,所述根据所述切换至的节点状态,获取处于第一任务状态的目标任务,包括:
确定多个候选任务,其中,所述候选任务对应候选任务状态,所述候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
如果多个所述候选任务状态中存在与所述第一任务状态相同候选任务状态,则将所述相同候选任务状态对应的候选任务作为所述目标任务;
如果多个所述候选任务状态中不存在与所述第一任务状态相同候选任务状态,则从多个候选辅节点中选择第三辅节点,并根据所述第三辅节点中已加载任务,获取所述目标任务。
3.如权利要求2所述的方法,其特征在于,所述从多个候选辅节点中选择第三辅节点,包括:
确定每个所述候选辅节点中的任务数量;
将多个所述任务数量中最多任务数量所属的候选辅节点作为所述第三辅节点。
4.如权利要求2所述的方法,其特征在于,所述根据所述第三辅节点中已加载任务,获取所述目标任务,包括:
向所述第三辅节点发送任务释放消息,其中,所述任务释放消息用于指示所述第三辅节点从多个所述已加载任务中释放所述目标任务;
接收所述第三辅节点发送的释放通知消息,其中,所述释放通知消息用于向所述主节点通知所述第三辅节点已释放目标任务。
5.如权利要求2-4任一项所述的方法,其特征在于,所述确定与所述目标任务对应的第二辅节点,包括:
如果所述第一辅节点切换至所述第一节点状态,则向所述第一辅节点发送配置通知消息,其中,所述配置通知消息用于配置所述第一辅节点为与所述目标任务对应的第二辅节点。
6.如权利要求1所述的方法,其特征在于,所述切换至的节点状态包括:第二节点状态,所述第二节点状态用于指示所述第一辅节点已停机;
其中,所述根据所述切换至的节点状态,获取处于第一任务状态的目标任务,包括:
将所述第一辅节点释放的任务标记为第一任务状态,并将标记所得任务作为所述目标任务。
7.如权利要求6所述的方法,其特征在于,所述确定与所述目标任务对应的第二辅节点,包括:
如果所述第一辅节点切换至所述第二节点状态,则从多个候选辅节点中选择至少一个候选辅节点作为所述第二辅节点。
8.如权利要求5或7所述的方法,其特征在于,所述方法还包括:
向所述第一辅节点或所述第二辅节点发送任务加载消息,其中,所述任务加载消息用于指示所述第一辅节点或所述第二辅节点加载所述目标任务;
接收所述第一辅节点或所述第二辅节点发送的加载通知消息,并将所述目标任务由处于所述第一任务状态切换至处于第二任务状态,其中,所述加载通知消息用于向所述主节点通知所述第一辅节点或所述第二辅节点已加载所述目标任务。
9.如权利要求1所述的方法,其特征在于,所述切换至的节点状态包括:第三节点状态,所述第三节点状态用于指示所述第一辅节点的角色由辅节点角色切换至主节点角色;所述方法还包括:
确定多个候选任务,其中,所述候选任务对应候选任务状态,所述候选任务状态是第一任务状态、第二任务状态、第三任务状态,以及第四任务状态中的任一种;
根据所述多个候选任务和所述候选任务对应候选任务状态,生成所有任务列表;
从所述多个候选任务中选择所述第二任务状态的候选任务和所述第三任务状态的候选任务,并确定与所选择候选任务对应辅节点的标识信息;
根据所述所选择候选任务和所述辅节点的标识信息,生成已分配任务列表。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
将所述所有任务列表和/或所述已分配任务列表发送至所述第一辅节点。
11.一种服务器与数据库间的对应关系维护方法,其特征在于,被第一辅节点执行,所述方法包括:
如果所述第一辅节点状态切换,则确定所述第一辅节点切换至的节点状态,其中,所述切换至的节点状态用于使主节点确定目标任务,所述目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
12.如权利要求11所述的方法,其特征在于,所述切换至的节点状态包括:第一节点状态,所述第一节点状态用于指示所述第一辅节点已启动且未被分配任务。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
接收所述主节点发送的配置通知消息,其中,所述配置通知消息用于配置所述第一辅节点为与所述目标任务对应的第二辅节点。
14.如权利要求13所述的方法,其特征在于,所述方法还包括:
接收主节点发送的任务加载消息,其中,所述任务加载消息用于指示所述第一辅节点加载所述目标任务;
加载所述目标任务,并对所述目标数据库中的数据进行处理;
向所述主节点发送加载通知消息,其中,所述加载通知消息用于向所述主节点通知所述第一辅节点已加载所述目标任务。
15.如权利要求11所述的方法,其特征在于,所述切换至的节点状态包括第二节点状态,所述第二节点状态用于指示所述第一辅节点已停机;其中,所述方法还包括:
释放所加载的任务。
16.如权利要求11所述的方法,其特征在于,所述切换至的节点状态包括:第三节点状态,所述第三节点状态用于指示所述第一辅节点的角色由辅节点角色切换至主节点角色;所述方法还包括:
接收所述主节点发送的所有任务列表和/或已分配任务列表,其中,所述所有任务列表,是根据多个候选任务和所述候选任务对应候选任务状态生成,所述已分配任务列表是根据从所述多个候选任务中所选择的第二任务状态的候选任务和第三任务状态的候选任务,和与所选择候选任务对应辅节点的标识信息所生成;
根据所述所有任务列表和/或已分配任务列表,进行任务分配。
17.一种服务器与数据库间的对应关系维护方法,其特征在于,被第二辅节点执行,所述方法包括:
接收主节点发送的任务加载消息,其中,所述任务加载消息用于指示所述第二辅节点加载目标任务;
加载所述目标任务,并对与所述目标任务对应的目标数据库中的数据进行处理;
向所述主节点发送加载通知消息,其中,所述加载通知消息用于向所述主节点通知所述第二辅节点已加载所述目标任务。
18.一种服务器与数据库间的对应关系维护方法,其特征在于,被第三辅节点执行,所述方法包括:
接收主节点发送的任务释放消息,其中,所述任务释放消息用于指示所述第三辅节点从多个所述已加载任务中释放所述目标任务;
释放所述目标任务,并向所述主节点发送释放通知消息,其中,所述释放通知消息用于向所述主节点通知所述第三辅节点已释放目标任务。
19.一种服务器与数据库间的对应关系维护装置,其特征在于,被主节点执行,所述装置包括:
第一确定模块,用于在第一辅节点状态切换时,则确定第一辅节点切换至的节点状态;
获取模块,用于根据所述切换至的节点状态,获取处于第一任务状态的目标任务;以及
第二确定模块,用于确定与所述目标任务对应的第二辅节点,其中,所述第二辅节点用于加载所述目标任务,以对目标数据库中的数据进行处理。
20.一种服务器与数据库间的对应关系维护装置,其特征在于,被第一辅节点执行,所述装置包括:
第三确定模块,用于在所述第一辅节点状态切换时,确定所述第一辅节点切换至的节点状态,其中,所述切换至的节点状态用于使主节点确定目标任务,所述目标任务被第二辅节点加载以对目标数据库中的数据进行处理。
21.一种服务器与数据库间的对应关系维护装置,其特征在于,被第二辅节点执行,所述装置包括:
第一接收模块,用于接收主节点发送的任务加载消息,其中,所述任务加载消息用于指示所述第二辅节点加载目标任务;
第一处理模块,用于加载所述目标任务,并对与所述目标任务对应的目标数据库中的数据进行处理;
第一发送模块,用于向所述主节点发送加载通知消息,其中,所述加载通知消息用于向所述主节点通知所述第二辅节点已加载所述目标任务。
22.一种服务器与数据库间的对应关系维护装置,其特征在于,被第三辅节点执行,所述装置包括:
第二接收模块,用于接收主节点发送的任务释放消息,其中,所述任务释放消息用于指示所述第三辅节点释放至少一个已加载任务;
第二发送模块,用于释放至少一个已加载任务,并向所述主节点发送释放通知消息,其中,所述释放通知消息用于向所述主节点通知所述第三辅节点已释放任务。
23.一种服务器与数据库间的对应关系维护系统,其特征在于,包括:主节点、第一辅节点、第二辅节点、以及第三辅节点;其中,所述主节点被配置为执行如上述权利要求1-10任一项所述的服务器与数据库间的对应关系维护方法,所述第一辅节点被配置为执行如上述权利要求11-16任一项所述的服务器与数据库间的对应关系维护方法,所述第二辅节点被配置为执行如上述权利要求17所述的服务器与数据库间的对应关系维护方法,所述第三辅节点被配置为执行如上述权利要求18所述的服务器与数据库间的对应关系维护方法。
24.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-18中任一项所述的方法。
25.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行权利要求1-18中任一项所述的方法。
26.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-18中任一项所述方法的步骤。
CN202310211477.3A 2023-02-27 2023-02-27 服务器与数据库间的对应关系维护方法、装置和系统 Pending CN116302059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310211477.3A CN116302059A (zh) 2023-02-27 2023-02-27 服务器与数据库间的对应关系维护方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310211477.3A CN116302059A (zh) 2023-02-27 2023-02-27 服务器与数据库间的对应关系维护方法、装置和系统

Publications (1)

Publication Number Publication Date
CN116302059A true CN116302059A (zh) 2023-06-23

Family

ID=86782882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310211477.3A Pending CN116302059A (zh) 2023-02-27 2023-02-27 服务器与数据库间的对应关系维护方法、装置和系统

Country Status (1)

Country Link
CN (1) CN116302059A (zh)

Similar Documents

Publication Publication Date Title
US20220075643A1 (en) Unified resource management for containers and virtual machines
EP3469478B1 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
US20080307425A1 (en) Data Processing System and Method
US20060212871A1 (en) Resource allocation in computing systems
JP2001331333A (ja) 計算機システム及び計算機システムの制御方法
WO2007096350A1 (en) Dynamic resource allocation for disparate application performance requirements
EP3951607A1 (en) Data reading method, data writing method, and server
CN112379971B (zh) 应用容器管理方法、装置及设备
WO2012039053A1 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
CN113971095A (zh) 扩展进程中的kubernetes应用程序接口
US8205207B2 (en) Method of automated resource management in a partition migration capable environment
CN111343219B (zh) 计算服务云平台
US20160103744A1 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
CN111857977B (zh) 弹性伸缩方法、装置、服务器和存储介质
CN112199193A (zh) 资源调度方法、装置、电子设备和存储介质
JP2019191951A (ja) 情報処理システム及びボリューム割当て方法
JP2017138895A (ja) 仮想化環境管理システムおよび仮想化環境管理方法
CN111988160B (zh) 一种虚拟化网络功能的部署方法和装置
CN113204353A (zh) 一种大数据平台组件部署方法及装置
US10095533B1 (en) Method and apparatus for monitoring and automatically reserving computer resources for operating an application within a computer environment
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
CN114675927A (zh) 服务实例部署方法、装置、电子设备及存储介质
US20230229477A1 (en) Upgrade of cell sites with reduced downtime in telco node cluster running containerized applications
CN116302059A (zh) 服务器与数据库间的对应关系维护方法、装置和系统
JPH10293695A (ja) 論理計算機システムの動的再構成方式

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