CN117331728A - 数据处理的方法和系统 - Google Patents

数据处理的方法和系统 Download PDF

Info

Publication number
CN117331728A
CN117331728A CN202311137910.XA CN202311137910A CN117331728A CN 117331728 A CN117331728 A CN 117331728A CN 202311137910 A CN202311137910 A CN 202311137910A CN 117331728 A CN117331728 A CN 117331728A
Authority
CN
China
Prior art keywords
computing node
master
slave
management center
metadata management
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
CN202311137910.XA
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.)
Shenzhen Huawei Cloud Computing Technology Co ltd
Original Assignee
Shenzhen Huawei Cloud Computing 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 Shenzhen Huawei Cloud Computing Technology Co ltd filed Critical Shenzhen Huawei Cloud Computing Technology Co ltd
Priority to CN202311137910.XA priority Critical patent/CN117331728A/zh
Publication of CN117331728A publication Critical patent/CN117331728A/zh
Pending legal-status Critical Current

Links

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种数据处理的方法和系统,方法应用于云服务系统,云服务系统包括元数据管理中心、至少一个主计算节点、至少一个从计算节点和共享存储,方法包括:第一主计算节点接收第一数据处理请求,基于第一数据处理请求,对共享存储进行数据读写操作;元数据管理中心确定第一主计算节点故障,在至少一个从计算节点中选择第一从计算节点;元数据管理中心向所述第一从计算节点发送升主请求;响应于升主请求,第一计算节点执行由从计算节点切换为主计算节点的操作;第一从计算节点接收第二数据处理请求,基于第二数据处理请求,对共享存储进行数据读写操作。可以避免由于从节点和主节点中的数据差异,而导致的服务异常问题。

Description

数据处理的方法和系统
技术领域
本公开涉及云技术领域,特别涉及一种数据处理的方法和系统。
背景技术
随着云技术的发展,越来越多的服务开始在云上部署。随着服务上云,大量的云中间件也开始被使用。在云环境下,为了保障云中间件的高可用性,通常采用主从模式设计中间件。
在目前的主从模式中,主节点接收数据处理请求,对存储的数据进行更新,并定时向从节点发送数据更新请求,以指示从节点更新存储的数据,实现主节点和从节点的数据一致性。在主节点故障时,从节点自动切换为主节点,执行数据处理请求。
然而,在目前的主从模式中,由于主节点和从节点中数据的更新存在一定的时间差,那么,在很多时刻主节点和从节点中的数据会存在差异。如果在这些时刻主节点故障,从节点切换为主节点,则可能由于从节点和主节点中的数据差异,导致服务异常。
发明内容
本公开提供了一种数据处理的方法和系统,能够避免由于从节点和主节点中的数据差异,而导致的服务异常问题,相应的技术方案如下:
第一方面,提供了一种数据处理的方法,方法应用于云服务系统,云服务系统包括元数据管理中心、至少一个主计算节点、至少一个从计算节点和共享存储,方法包括:
第一主计算节点接收第一数据处理请求,基于第一数据处理请求,对共享存储进行数据读写操作。元数据管理中心确定第一主计算节点故障,在至少一个从计算节点中选择第一从计算节点,并向该第一从计算节点发送升主请求。响应于升主请求,第一从计算节点执行由从计算节点切换为主计算节点的操作。在完成升主后,第一从计算节点便可以替代第一主计算节点,接收第二数据处理请求,基于第二数据处理请求,对共享存储进行数据读写操作。
在本公开提供的技术方案中,主计算节点和从计算节点之间无需进行数据同步,数据由共享存储进行存储,避免了主节点和从节点间数据差异导致的服务异常问题。此外,因为主计算节点和从计算节点之间无需进行数据同步,减少了对主计算节点的资源占用,避免了数据同步对主计算节点的服务性能的影响。
在一种可能的实现方式中,在元数据管理中心可以记录有各主计算节点对共享存储的读写权限、以及各从计算节点对共享存储的读写权限。对于主计算节点来说,在主计算节点正常运行的情况下,该主计算节点对共享存储的读写权限为可读写,在主计算节点故障的情况下,该主计算节点对共享存储的读写权限为不可读写。对于从计算节点来说,在从计算节点未切换成主计算节点的情况下,该从计算节点对共享存储的读写权限为不可读写,在从计算节点已经切换成主计算节点的情况下,该从计算节点对共享存储的读写权限为可读写。相应的,在第一主计算节点故障,第一从计算节点切换为主计算节点的情况下,元数据管理中心将记录的第一主计算节点对共享存储的读写权限由可读写调整为不可读写,将第一从计算节点对共享存储的读写权限由不可读写调整为可读写。
在一种可能的实现方式中,计算节点在执行数据处理请求对共享存储进行读写之前,要先确定自己是否有对共享存储进行读写的权限。相应的,处理可以如下:
第一从计算节点向元数据管理中心发送对共享存储的读写权限查询请求。响应于读写权限查询请求,元数据管理中心查询第一从计算节点对所述共享存储的读写权限为可读写,并向第一从计算节点发送查询响应消息,其中,查询响应消息中携带可读写指示信息。
在一种可能的实现方式中,元数据管理中心可以对至少一种主计算节点中的每个主计算节点进行探活,以确定其是否故障,处理可以如下:
元数据管理中心向主计算节点发送探活消息。主计算节点接收到探活消息后,如果自身故障,则向元数据管理中心返回探活响应消息,并在探活响应消息中携带故障指示信息。元数据管理中心在接收到探活响应消息后,如果在探活响应消息中携带有故障指示信息,则确定主计算节点故障。
在一种可能的实现方式中,主计算节点如果故障,则可以不向元数据管理中心返回探活响应消息,相应的,元数据管理中心在发送探活消息后的目标时长内,如果未接收到主计算节点发送的探活响应消息,则确定主计算节点故障。
在一种可能的实现方式中,元数据管理中心在向第一从计算节点发送升主请求后,可以以轮询的方式向第一从计算节点发送升主状态查询请求,以询问其升主状态。响应于升主状态查询请求,第一从计算节点如果处于由从计算节点切换为主计算节点的操作中,则向元数据管理中心发送第一升主状态响应消息,其中,第一升主状态响应消息用于指示第一从计算节点处于由从计算节点切换为主计算节点的操作中。第一从计算节点如果完成由从计算节点切换为主计算节点的操作,则向元数据管理中心发送第二升主状态响应消息,其中第二升主状态响应消息用于指示第一从计算节点完成由从计算节点切换为主计算节点的操作。
在一种可能的实现方式中,云服务系统中的至少一个主计算节点用于提供至少一种云中间件服务,例如,远程字典服务(Remote Dictionary Server,Redis)、分布式发布订阅消息服务(Kafka)、基于分布式文件存储的数据库服务(MongoDB)等。
第二方面,提供了一种云服务系统,系统包括元数据管理中心、至少一个主计算节点、至少一个从计算节点和共享存储,其中:
所述至少一个主计算节点中的第一主计算节点,用于接收第一数据处理请求,基于所述第一数据处理请求,对所述共享存储进行数据读写操作;
所述元数据管理中心,用于确定所述第一主计算节点故障,在所述至少一个从计算节点中选择第一从计算节点;向所述第一从计算节点发送升主请求;
所述第一计算节点,用于响应于所述升主请求,执行由从计算节点切换为主计算节点的操作;接收第二数据处理请求;基于所述第二数据处理请求,对所述共享存储进行数据读写操作。
在一种可能的实现方式中,所述第一计算节点执行由从计算节点切换为主计算节点的操作之后,所述元数据管理中心,还用于:
将记录的所述第一主计算节点对所述共享存储的读写权限由可读写调整为不可读写,将所述第一从计算节点对所述共享存储的读写权限由不可读写调整为可读写。
在一种可能的实现方式中,所述第一从计算节点接收数据处理请求之后,所述第一从计算节点,还用于:
向所述元数据管理中心发送对所述共享存储的读写权限查询请求;
所述元数据管理中心,还用于:
响应于所述读写权限查询请求,查询所述第一从计算节点对所述共享存储的读写权限为可读写;
所述元数据管理中心向所述第一从计算节点发送查询响应消息,其中,所述查询响应消息中携带可读写指示信息。
在一种可能的实现方式中,所述元数据管理中心,用于:
向所述主计算节点发送探活消息;
接收所述主计算节点发送的探活响应消息,如果确定所述探活响应消息中携带故障指示信息,则确定所述主计算节点故障。
在一种可能的实现方式中,所述元数据管理中心,用于:
向所述主计算节点发送探活消息;
在发送所述探活消息后的目标时长内,未接收到所述主计算节点发送的探活响应消息,则确定所述主计算节点故障。
在一种可能的实现方式中,所述元数据管理中心向所述第一从计算节点发送升主请求之后,所述元数据管理中心,还用于:
向所述第一从计算节点发送升主状态查询请求;
所述第一从计算节点,还用于:
响应于所述升主状态查询请求,如果处于由从计算节点切换为主计算节点的操作中,则向所述元数据管理中心发送第一升主状态响应消息,其中,所述第一升主状态响应消息用于指示所述第一从计算节点处于由从计算节点切换为主计算节点的操作中;
如果完成由从计算节点切换为主计算节点的操作,则向所述元数据管理中心发送第二升主状态响应消息,其中,所述第二升主状态响应消息用于指示所述第一从计算节点完成由从计算节点切换为主计算节点的操作。
在一种可能的实现方式中,所述主计算节点用于提供至少一种云中间件服务。
附图说明
图1是本公开实施例提供的一种主从模型的系统架构示意图;
图2是本公开实施例提供的一种云服务系统的架构示意图;
图3是本公开实施例提供的一种云服务系统的架构示意图;
图4是本公开实施例提供的一种数据处理的方法流程示意图;
图5是本公开实施例提供的一种云服务系统的架构示意图;
图6是本公开实施例提供的一种云服务系统的架构示意图;
图7是本公开实施例提供的一种云服务系统的架构示意图;
图8是本公开实施例提供的一种计算设备的结构示意图;
图9是本公开实施例提供的一种计算设备集群的示意图;
图10是本公开实施例提供的一种计算设备集群的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开实施例提供了一种数据处理的方法,该方法应用于云中间件服务采用主从模式部署的场景下,其中,云中间件服务可以为持久化存储服务,例如远程字典服务(Remote Dictionary Server,Redis)、分布式发布订阅消息服务(Kafka)、基于分布式文件存储的数据库服务(MongoDB)等。下面先对相关技术中的主从模式进行说明。
图1示出了相关技术中主从模式的系统架构示意图,如图1所示,在相关技术中主从模式的系统架构包括主节点10和从节点20,其中,主节点10包括处理器(CentralProcessing Unit,CPU)101和文件系统102,从节点20包括CPU201和文件系统202。在主节点10正常运行的情况下,主节点10接收用户发送的数据处理请求,执行数据处理请求,在本地的文件系统102中进行数据读写,以更新文件系统102中的数据。此外,为了实现数据一致性,主节点还需要定期将本地的文件系统102中的更新数据发送至从节点20,从节点20将更新数据写入到本地的文件系统202中,实现主节点和从节点的数据一致性。在主节点10故障的情况下,从节点20切换为主节点,接收用户发送的数据处理请求,执行数据处理请求,在本地的文件系统202中进行数据读写,以更新文件系统202中的数据。
相关技术中的主从模式存在以下问题:
一、为了保证数据一致性,主节点和从节点间需要频繁进行数据同步,在数据请求高峰期,主节点进行数据同步会对服务性能产生一定影响。
二、由于主节点和从节点中数据的更新存在一定的时间差,那么,在很多时刻主节点和从节点中的数据会存在差异。如果在这些时刻主节点故障,从节点切换为主节点,则可能由于从节点和主节点中的数据差异,导致服务异常。
本公开实施例提供的数据处理的方法,可以有效解决上述问题,该方法由云服务系统实现。下面对本公开实施例提供的云服务系统的架构进行说明。
图2示出了本公开实施例提供的一种云服务系统的架构示意图,如图2所示,该云服务系统包括主计算节点30、从计算节点40、共享存储50和元数据管理中心60。该云服务系统的架构相比于相关技术中主从模式的系统架构,将节点(主节点和从节点)的计算功能和存储功能进行分离,主节点分离出的主计算节点30和从节点分离出的从计算节点40均只需实现计算功能,而节点原本对用户数据的存储功能由共享存储50实现。此外,在该云服务系统中还增加了元数据管理中心60,该元数据管理中心60用于实现管理主计算节点30和从计算节点40对共享存储的读写权限、对主计算节点30的探活(也可称为故障探测)、指示从计算节点40切换为主计算节点等功能。
在图2所示的云服务系统架构中,在主计算节点30正常运行的情况下,主计算节点30接收用户发送的数据处理请求,执行数据处理请求,对共享存储50进行数据读写,以更新共享存储中的数据,在此情况下,从计算节点40对共享存储的读写权限为不可读写。在元数据管理中心60探测到主计算节点40故障的情况下,元数据管理中心60指示从计算节点40切换为主计算节点,并将故障的主计算节点30对共享存储50的读写权限调整为不可读写,将从计算节点40对共享存储50的读写权限调整为可读写。从计算节点40在切换为主计算节点后,从计算节点40可以接收用户发送的数据处理请求,并执行数据处理请求,对共享存储50进行数据读写。可见,在本公开实施例提供的云服务系统下,主计算节点和从计算节点之间无需进行数据同步,减少了对主计算节点的资源占用,避免了数据同步对主计算节点的服务性能的影响。此外,主计算节点和从计算节点之间无需进行数据同步,数据由共享存储进行存储,避免了主节点和从节点间数据差异导致的服务异常问题。
图3示出了本公开实施例提供的又一种云服务系统的结构示意图,如图3所示,为了使云服务系统的可用性和稳定性更高,在云服务系统中可以部署有业务集群300,业务集群包括多个主计算节点30,同时,还可以部署有计算资源池400,计算资源池包括多个从计算节点40。在业务集群中的任一主计算节点30故障时,可以在计算资源池中选取一个从计算节点40切换为主计算节点,代替故障的主计算节点30。
下面对本公开实施例提供的数据处理的方法进行说明,该方法可以由上述图3所示的云服务系统实现,参见图4,该方法的处理流程可以包括如下步骤:
步骤701、业务集群中的第一主计算节点接收第一数据处理请求。
其中,第一主计算节点为业务集群中的任一主计算节点,第一数据处理请求可以为数据查询、数据更新、数据统计等数据处理请求。
在实施中,用户在需要访问云服务进行数据处理时,可以通过云服务的客户端向提供该云服务的业务集群发送第一数据处理请求。
云服务的客户端可以记录有可用节点信息,在业务集群中的各主计算节点均正常运行的情况下,可用节点信息可以包括业务集群中各主计算节点的标识和通信地址,其中,通信地址可以为互联网协议(Internet Protocol,IP)地址。示例性的,可用节点信息可以如下表1所示。
表1
计算节点 通信地址
主计算节点A 地址1
主计算节点B 地址2
主计算节点C 地址3
...... ……
在业务集群中的各主计算节点均正常运行的情况下,客户端在发送数据处理请求之前,先通过负载均衡算法,在可用节点信息中选择第一主计算节点,并通过该第一主计算节点的通信地址,向第一主计算节点发送第一数据处理请求。
步骤702、第一主计算节点向元数据管理中心发送对共享存储的第一读写权限查询请求。
在实施中,元数据管理中心可以记录有业务集群中每个主计算节点对共享存储的读写权限、以及计算资源池中每个从计算节点对共享存储的读写权限。示例性的,元数据管理中心可以以如下表2的方式记录计算节点对共享存储的读写权限。
表2
对于主计算节点来说,如果主计算节点正常运行的话,则该主计算节点对共享存储的读写权限为可读写;如果主计算节点故障的话,则该主计算节点对共享存储的读写权限为不可读写。对于从计算节点来说,如果从计算节点已经切换为主计算节点,则该从计算节点对共享存储的读写权限为可读写;如果从计算节点未切换为主计算节点,则该从计算节点对共享存储的读写权限为不可读写。
第一主计算节点在接收到第一数据查询请求后,向元数据管理中心发送对共享存储的第一读写权限查询请求,在第一读写权限查询请求中可以携带第一主计算节点的标识。
在一种可能的实现中,第一主计算节点可以通过调用远程过程调用(RemoteProcedure Call,RPC)服务接口,向元数据管理中心发送对共享存储的第一读写权限查询请求。
步骤703、元数据管理中心查询第一主计算节点对共享存储的读写权限,向第一主计算节点发送第一查询响应消息。
其中,第一查询响应消息中携带可读写指示信息。
在实施中,在第一主计算节点正常运行的情况下,元数据管理中心查询第一主计算节点对共享存储的读写权限为可读写,则向第一主计算节点发送第一查询响应消息,在第一查询响应消息中携带可读写指示信息,可读写指示信息用于指示第一主计算节点对共享存储的读写权限为可读写。
步骤704、第一主计算节点基于第一数据处理请求,对共享存储进行数据读写操作。
在实施中,第一主计算节点接收到元数据管理中心返回的第一查询响应消息后,解析查询响应消息,获取可读写指示信息,进而,确定对共享存储的读写权限为可读写。然后,第一主计算节点基于第一数据处理请求,对共享存储进行数据读写操作。
步骤705、元数据管理中心向各主计算节点发送探活消息,确定第一主计算节点故障。
在实施中,元数据管理中心可以周期性的向各主计算节点发送的探活消息,以探测各主计算节点是否故障。此处,各主计算节点中包括业务集群中的主计算节点,还包括在计算资源池中由从计算节点切换成的主计算节点。
针对探活消息,主计算节点可能有如下几种响应:
响应一、如果主计算节点运行正常,则向元数据管理中心返回第一探活响应消息,第一探活响应消息中携带运行正常指示信息,元数据管理中心接收到第一探活响应消息后,通过其中携带的运行正常指示信息,可以确定该主计算节点运行正常。
响应二、如果主计算节点故障,则向元数据管理中心返回第二探活响应消息,第二探活响应消息中携带故障指示信息,元数据管理中心接收到第二探活响应消息后,通过其中携带的故障指示信息,可以确定该主计算节点故障。
响应三、如果主计算节点故障,则不向元数据管理中心返回任何消息,元数据管理中心在向某一个主计算节点发送探活消息后的目标时长内,如果未接收该主计算节点返回的探活响应消息,则确定该主计算节点故障。其中,目标时长可以根据实际需求进行配置,例如1s。
元数据管理中心在向第一主计算节点发送探活消息后,接收到第一主计算节点返回的第二探活响应消息,或者,在向第一主计算节点发送探活消息后的目标时长内,未接收到第一主计算节点返回的探活响应消息,则确定第一主计算节点故障。进而,继续执行如下步骤706,针对第一主计算节点,选择从计算节点对其进行替换。
步骤706、元数据管理中心在计算资源池中选择第一从计算节点。
在实施中,在确定第一主计算节点故障后,如果还未针对该第一主计算节点选择从计算节点,则在计算资源池中选择一个从计算节点,作为用来替换第一主计算节点的第一从计算节点。此处,在计算资源池中选择从计算节点时,可以采用随机选取的方式进行选择。此外,如果某个从计算节点已经切换为主计算节点则不可被再次选择。
步骤707、元数据管理中心向第一从计算节点发送升主请求。
步骤708、响应于升主请求,第一从计算节点执行由从计算节点切换为主计算节点的操作。
在实施中,第一从计算节点在接收到升主请求后,可以通过初始化操作,切换为主计算节点,使得第一从计算节点可以具有主计算节点相同的功能。
步骤709、元数据管理中心将记录的第一主计算节点对共享存储的读写权限由可读写调整为不可读写,将第一从计算节点对共享存储的读写权限由不可读写调整为可读写。
在实施中,元数据管理中心可以采用轮询的方式,向第一从计算节点询问升主状态。具体的,处理可以如下:
元数据管理中心向第一从计算节点发送升主状态查询请求。响应于升主状态查询请求,第一从计算节点如果处于由从计算节点切换为主计算节点的操作中,则向元数据管理中心发送第一升主状态响应消息,其中,第一升主状态响应消息用于指示第一从计算节点处于由从计算节点切换为主计算节点的操作中。第一从计算节点如果完成由从计算节点切换为主计算节点的操作,则向元数据管理中心发送第二升主状态响应消息,其中,第二升主状态响应消息用于指示第一从计算节点完成由从计算节点切换为主计算节点的操作。
元数据管理中心在接收到第二升主状态响应消息,确定第一从计算节点已经由从计算节点切换为主计算节点后,表明第一从计算节点升主成功,则可以将记录的第一主计算节点对共享存储的读写权限由可读写调整为不可读写,将第一从计算节点对共享存储的读写权限由不可读写调整为可读写。
在一种可能的实现中,元数据管理中心还可以记录有计算资源池中,各从计算节点的角色元数据,对于任一从计算节点来说,在未被从计算资源池中选择出之前,该从计算节点的角色为:从节点。在被从计算资源池中选择出之后,且未执行完成切换主计算节点的操作之前,该从计算节点的角色为:升主准备中。在执行完成切换主计算节点的操作后,元数据管理中心将该从计算节点的角色更新为:主节点。
在一种可能的实现中,元数据管理中心在确定第一主计算节点故障后,可以向客户端发送主计算节点故障通知,其中,主计算节点故障通知中携带第一主计算节点的标识。客户端接收到主计算节点故障通知后,将可用节点信息中第一主计算节点的标识和通信地址删除。元数据管理中心在确定第一从计算节点切换为主计算节点后,可以向客户端发送主计算节点添加通知,其中,主计算节点添加通知中携带第一从计算节点的标识和第一从计算节点的通信地址。客户端接收到主计算节点添加通知后,在可用节点信息中添加第一从计算节点的标识和第一从节点的通信地址。
步骤710、第一从计算节点接收第一数据处理请求。
其中,第二数据处理请求可以为数据查询、数据更新、数据统计等数据处理请求。
在实施中,用户在需要访问云服务进行数据处理时,可以通过云服务的客户端向提供该云服务的业务集群发送第二数据处理请求。
对于客户端记录的可用节点信息,在业务集群中有主计算节点故障,且有从计算节点切换为主计算节点的情况下,可用节点信息可以包括业务集群中正常运行的主计算节点的标识和通信地址、以及切换为主计算节点的从计算节点的标识和通信地址。示例性的,在第一主计算节点故障,且第一从计算节点切换为主计算节点的情况下,在可用节点信息可以包括第一从计算节点的标识和通信地址,但是不包括第一主计算节点的标识的通信地址。
在业务集群中有主计算节点故障,且有从计算节点切换为主计算节点的情况下,客户端在发送第二数据处理请求之前,在可用节点信息中选择计算节点,由于第一从计算节点目前为可用节点,则通过负载均衡算法,可能会选择到第一从计算节点。在选择到第一从计算节点的情况下,通过第一从计算节点的通信地址,向第一从计算节点发送第二数据处理请求。
步骤711、第一从计算节点向元数据管理中心发送对共享存储的第二读写权限查询请求。
在实施中,第二计算节点在接收到第一数据查询请求后,向元数据管理中心发送对共享存储的第二读写权限查询请求,在第二读写权限查询请求中可以携带第二主计算节点的标识。
步骤712、元数据管理中心查询第二从计算节点对共享存储的读写权限,向第二从计算节点发送第二查询响应消息。
其中,第二查询响应消息中携带可读写指示信息。
在实施中,在第一从计算节点切换为主计算节点的情况下,元数据管理中心查询第一从计算节点对共享存储的读写权限为可读写,则向第一从计算节点发送第一查询响应消息,在第一查询响应消息中携带可读写指示信息,可读写指示信息用于指示第一从计算节点对共享存储的读写权限为可读写。
步骤713、第一从计算节点基于第二数据处理请求,对共享存储进行数据读写操作。
在实施中,第一从计算节点接收到元数据管理中心返回的第一查询响应消息后,解析查询响应消息,获取可读写指示信息,进而,确定对共享存储的读写权限为可读写。然后,第一从计算节点基于第二数据处理请求,对共享存储进行数据读写操作。
图5示出了本公开实施例提供的又一种云服务系统的结构示意图,参见图5,针对元数据管理中心60来说,可以包括探活模块601、决策模块602和数据模块603。在此基础上,元数据管理节点执行的操作,可以由探活模块601、决策模块602和数据模块603执行。探活模块601、决策模块602和数据模块603均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来介绍决策模块602的实现方式。类似的,探活模块601的实现方式和数据模块603的实现方式可以参考决策模块602的实现方式。
模块作为软件功能单元的一种举例,决策模块602可以包括运行在计算实例上的代码。其中,计算实例可以是物理主机(计算设备)、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算设备可以是一台或者多台。例如,决策模块602可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(Availability Zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(Virtual Private Cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内。同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,决策模块602可以包括至少一个计算设备,如服务器等。或者,决策模块602也可以是利用专用集成电路(Application SpecificIntegrated Circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、通用阵列逻辑器件(Generic Array Logic,GAL)或其任意组合实现。
决策模块602包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。决策模块602包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,决策模块602包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
在对元数据管理中心按照功能进行划分的基础上,相应的,上述图4所示的步骤中:
步骤702可以替换为:第一主计算节点向元数据管理中心中的数据模块,发送对共享存储的第一读写权限查询请求。
步骤703可以替换为:元数据管理中心中的数据模块查询第一主计算节点对共享存储的读写权限,向第一主计算节点发送第一查询响应消息。
步骤705可以替换为:元数据管理中心中的探活模块向各主计算节点发送探活消息,确定第一主计算节点故障,并向元数据管理中心中的决策模块发送探活结果,探活结果中携带第一主计算节点的故障指示信息,故障指示信息用于指示第一主计算节点故障。
步骤706可以替换为:元数据管理中心中的决策模块在计算资源池中选择第一从计算节点,并向数据模块发送对第一从计算节点的第一角色更新消息。响应于第一角色更新消息,数据模块将第一从计算节点的角色更新为:升主准备中,并向决策模块返回对第一从计算节点的第一角色更新响应消息。
步骤707可以替换为:决策模块向第一从计算节点发送升主请求。
步骤709可以替换为:决策模块确定第一从计算模块已经由从计算节点切换为主计算节点,向数据模块发送对第一从计算节点的第二角色更新消息。响应于第二角色更新消息,数据模块将记录的第一主计算节点对共享存储的读写权限由可读写调整为不可读写,将第一从计算节点对共享存储的读写权限由不可读写调整为可读写,将第一从计算节点的角色更新为:主节点。
步骤711可以替换为:第一从计算节点向数据模块发送对共享存储的第二读写权限查询请求。
步骤712可以替换为:数据模块查询第一从计算节点对共享存储的读写权限,向第一从计算节点发送第一查询响应消息。
图6示出了本公开实施例提供的又一种云服务系统的结构示意图,参见图6,元数据管理中心60可以采用集群的方式部署,元数据管理中心60可以包括多个元数据管理节点,每个元数据管理节点均可以实现上述实施例中元数据管理中心的功能。
图7示出了本公开实施例提供的又一种云服务系统的结构示意图,参见图7,在云服务系统中可以包括多个业务集群,如业务集群1、业务集群2……业务集群n。每个业务集群用于提供一种云中间件服务,相应的,元数据管理中心可以通过插件的方式支持对多种云中间件服务的主计算节点的探活功能。示例性的,多个业务集群分别提供Redis服务、Kafka服务、MongoDB服务,相应的,在元数据管理中心可以通过三个插件分别实现对Redis服务、Kafka服务、MongoDB服务的主计算节点的探活功能。
图8是本公开提供的一种计算设备100。如图8所示,计算设备100包括:总线102、处理器104、存储器106和通信接口108。处理器104、存储器106和通信接口108之间通过总线102通信。计算设备100可以是上述实施例中提及的元数据管理节点、元数据管理中心、主计算节点或者从计算节点。应理解,本公开不限定计算设备100中的处理器、存储器的个数。
总线102可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线102可包括在计算设备100各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。
处理器104可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器106可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器106还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器106中存储有可执行的代码,处理器104执行该可执行的代码以实现本公开实施例提供的数据处理的方法。
通信接口108使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。
本公开实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。
如图9所示,所述计算设备集群包括至少一个计算设备100。在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如图10所示,两个计算设备100A和100B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。
本公开实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行数据处理方法。
本公开实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行数据处理方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的保护范围。

Claims (14)

1.一种数据处理的方法,其特征在于,所述方法应用于云服务系统,所述云服务系统包括元数据管理中心、至少一个主计算节点、至少一个从计算节点和共享存储,所述方法包括:
所述至少一个主计算节点中的第一主计算节点接收第一数据处理请求,基于所述第一数据处理请求,对所述共享存储进行数据读写操作;
所述元数据管理中心确定所述第一主计算节点故障,在所述至少一个从计算节点中选择第一从计算节点;
所述元数据管理中心向所述第一从计算节点发送升主请求;
响应于所述升主请求,所述第一从计算节点执行由从计算节点切换为主计算节点的操作;
所述第一从计算节点接收第二数据处理请求,基于所述第二数据处理请求,对所述共享存储进行数据读写操作。
2.根据权利要求1所述的方法,其特征在于,所述第一从计算节点执行由从计算节点切换为主计算节点的操作之后,所述方法还包括:
所述元数据管理中心将记录的所述第一主计算节点对所述共享存储的读写权限由可读写调整为不可读写,将所述第一从计算节点对所述共享存储的读写权限由不可读写调整为可读写。
3.根据权利要求2所述的方法,其特征在于,所述第一从计算节点接收数据处理请求之后,所述方法还包括:
所述第一从计算节点向所述元数据管理中心发送对所述共享存储的读写权限查询请求;
响应于所述读写权限查询请求,所述元数据管理中心查询所述第一从计算节点对所述共享存储的读写权限为可读写;
所述元数据管理中心向所述第一从计算节点发送查询响应消息,其中,所述查询响应消息中携带可读写指示信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述元数据管理中心确定所述第一主计算节点故障,包括:
所述元数据管理中心向所述第一主计算节点发送探活消息;
所述元数据管理中心接收所述第一主计算节点发送的探活响应消息,如果确定所述探活响应消息中携带故障指示信息,则确定所述第一主计算节点故障。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述元数据管理中心确定所述第一主计算节点故障,包括:
所述元数据管理中心向所述第一主计算节点发送探活消息;
所述元数据管理中心在发送所述探活消息后的目标时长内,未接收到所述第一主计算节点发送的探活响应消息,则确定所述第一主计算节点故障。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述元数据管理中心向所述第一从计算节点发送升主请求之后,所述方法还包括:
所述元数据管理中心向所述第一从计算节点发送升主状态查询请求;
响应于所述升主状态查询请求,所述第一从计算节点如果处于由从计算节点切换为主计算节点的操作中,则向所述元数据管理中心发送第一升主状态响应消息,其中,所述第一升主状态响应消息用于指示所述第一从计算节点处于由从计算节点切换为主计算节点的操作中;
所述第一从计算节点如果完成由从计算节点切换为主计算节点的操作,则向所述元数据管理中心发送第二升主状态响应消息,其中,所述第二升主状态响应消息用于指示所述第一从计算节点完成由从计算节点切换为主计算节点的操作。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述至少一个主计算节点用于提供至少一种云中间件服务。
8.一种云服务系统,其特征在于,所述系统包括元数据管理中心、至少一个主计算节点、至少一个从计算节点和共享存储,其中:
所述至少一个主计算节点中的第一主计算节点,用于接收第一数据处理请求,基于所述第一数据处理请求,对所述共享存储进行数据读写操作;
所述元数据管理中心,用于确定所述第一主计算节点故障,在所述至少一个从计算节点中选择第一从计算节点;向所述第一从计算节点发送升主请求;
所述第一从计算节点,用于响应于所述升主请求,执行由从计算节点切换为主计算节点的操作;接收第二数据处理请求;基于所述第二数据处理请求,对所述共享存储进行数据读写操作。
9.根据权利要求8所述的系统,其特征在于,所述第一计算节点执行由从计算节点切换为主计算节点的操作之后,所述元数据管理中心,还用于:
将记录的所述第一主计算节点对所述共享存储的读写权限由可读写调整为不可读写,将所述第一从计算节点对所述共享存储的读写权限由不可读写调整为可读写。
10.根据权利要求9所述的系统,其特征在于,所述第一从计算节点接收数据处理请求之后,所述第一从计算节点,还用于:
向所述元数据管理中心发送对所述共享存储的读写权限查询请求;
所述元数据管理中心,还用于:
响应于所述读写权限查询请求,查询所述第一从计算节点对所述共享存储的读写权限为可读写;
所述元数据管理中心向所述第一从计算节点发送查询响应消息,其中,所述查询响应消息中携带可读写指示信息。
11.根据权利要求8-10中任一项所述的系统,其特征在于,所述元数据管理中心,用于:
向所述第一主计算节点发送探活消息;
接收所述第一主计算节点发送的探活响应消息,如果确定所述探活响应消息中携带故障指示信息,则确定所述第一主计算节点故障。
12.根据权利要求8-10中任一项所述的系统,其特征在于,所述元数据管理中心,用于:
向所述第一主计算节点发送探活消息;
在发送所述探活消息后的目标时长内,未接收到所述第一主计算节点发送的探活响应消息,则确定所述第一主计算节点故障。
13.根据权利要求8-12中任一项所述的系统,其特征在于,所述元数据管理中心向所述第一从计算节点发送升主请求之后,所述元数据管理中心,还用于:
向所述第一从计算节点发送升主状态查询请求;
所述第一从计算节点,还用于:
响应于所述升主状态查询请求,如果处于由从计算节点切换为主计算节点的操作中,则向所述元数据管理中心发送第一升主状态响应消息,其中,所述第一升主状态响应消息用于指示所述第一从计算节点处于由从计算节点切换为主计算节点的操作中;
如果完成由从计算节点切换为主计算节点的操作,则向所述元数据管理中心发送第二升主状态响应消息,其中,所述第二升主状态响应消息用于指示所述第一从计算节点完成由从计算节点切换为主计算节点的操作。
14.根据权利要求8-13中任一项所述的系统,其特征在于,所述主计算节点用于提供至少一种云中间件服务。
CN202311137910.XA 2023-08-31 2023-08-31 数据处理的方法和系统 Pending CN117331728A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311137910.XA CN117331728A (zh) 2023-08-31 2023-08-31 数据处理的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311137910.XA CN117331728A (zh) 2023-08-31 2023-08-31 数据处理的方法和系统

Publications (1)

Publication Number Publication Date
CN117331728A true CN117331728A (zh) 2024-01-02

Family

ID=89276237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311137910.XA Pending CN117331728A (zh) 2023-08-31 2023-08-31 数据处理的方法和系统

Country Status (1)

Country Link
CN (1) CN117331728A (zh)

Similar Documents

Publication Publication Date Title
EP3620905B1 (en) Method and device for identifying osd sub-health, and data storage system
US10642704B2 (en) Storage controller failover system
CN100549960C (zh) 群集计算系统中改变的快速应用程序通知的方法和系统
CN111147274B (zh) 为集群解决方案创建高度可用的仲裁集的系统和方法
US11953997B2 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
CN107666493B (zh) 一种数据库配置方法及其设备
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
US11886309B2 (en) Cell-based storage system with failure isolation
CN114265753A (zh) 消息队列的管理方法、管理系统和电子设备
US10880205B1 (en) Determining path information in a computing network
US20240205292A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
US7673169B1 (en) Techniques for implementing an adaptive data access error handling policy
CN112073499A (zh) 一种多机型云物理服务器的动态服务方法
CN117331728A (zh) 数据处理的方法和系统
CN107491270B (zh) 一种多控存储系统的资源访问方法及装置
CN113596195B (zh) 公共ip地址管理方法、装置、主节点及存储介质
US20220237163A1 (en) Selecting interfaces for device-group identifiers
CN113630317A (zh) 一种数据传输方法、装置、非易失性存储介质及电子装置
WO2024125111A1 (zh) 云服务告警的方法和装置、系统以及计算节点
US20220342726A1 (en) Coordinating and processing events across multiple system managers
CN116962446B (zh) 一种NVMe-oF链路动态管理方法及系统
US11190394B2 (en) Soft-failure protection for multicast communications
CN112328368B (zh) 一种基于云平台的应用层存储方法及设备
WO2024001299A1 (zh) 基于云技术的故障处理方法、云管理平台和相关设备
WO2024051304A1 (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