CN117596303B - 业务访问方法、装置、电子设备及存储介质 - Google Patents

业务访问方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117596303B
CN117596303B CN202410071981.2A CN202410071981A CN117596303B CN 117596303 B CN117596303 B CN 117596303B CN 202410071981 A CN202410071981 A CN 202410071981A CN 117596303 B CN117596303 B CN 117596303B
Authority
CN
China
Prior art keywords
service
node
cluster
target
state information
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.)
Active
Application number
CN202410071981.2A
Other languages
English (en)
Other versions
CN117596303A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410071981.2A priority Critical patent/CN117596303B/zh
Publication of CN117596303A publication Critical patent/CN117596303A/zh
Application granted granted Critical
Publication of CN117596303B publication Critical patent/CN117596303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种业务访问方法、装置、电子设备及存储介质;方法包括:管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息;当集群状态信息指示业务节点集群不存在故障时,响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求;其中,业务访问请求,为调度节点在接收到各业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;接收目标业务节点返回的业务访问结果,并向调度节点发送业务访问结果。通过本申请,能够有效降低故障对业务访问的影响。

Description

业务访问方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务访问方法、装置、电子设备及存储介质。
背景技术
集群技术,是近来随着互联网发展而兴起的一种技术,其通过高速网络将一组相互独立的计算机连接,组成一个能统一管理调度的集群系统,用于处理各种大数据场景下的业务,从而提高服务的可扩展性和可靠性。为了保证大数据场景下的业务能够正常运行,集群系统中通常是存储了海量的数据,以支持大数据场景下的各种业务。
相关技术中,对于业务访问,通常通过单一的业务节点直接对业务访问请求进行响应,这样在业务节点出现故障时,导致业务访问请求无法正常被响应,导致故障对业务访问的影响甚大。
发明内容
本申请实施例提供一种业务访问方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效降低故障对业务访问的影响。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种业务访问方法,应用于分布式存储系统的管理节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括所述管理节点和多个业务节点,包括:
所述管理节点响应于所述调度节点发送的状态查询请求,向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息;
当所述集群状态信息指示所述业务节点集群不存在故障时,响应于所述调度节点所发送的业务访问请求,向所述业务节点集群中不存在故障的目标业务节点发送所述业务访问请求;
其中,所述业务访问请求,为所述调度节点在接收到各所述业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;
接收所述目标业务节点返回的业务访问结果,并向所述调度节点发送所述业务访问结果。
本申请实施例提供一种业务访问方法,应用于分布式存储系统的调度节点,所述分布式存储系统包括所述调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个业务节点,包括:
响应于目标访问对象发送的业务访问请求,向各所述业务节点集群中的管理节点发送状态查询请求,并接收各所述管理节点发送的集群状态信息;
针对各所述业务节点集群,当所述业务节点集群的集群状态信息指示所述业务节点集群不存在故障时,将所述业务节点集群确定为目标节点集群;
向所述目标节点集群中的管理节点发送所述业务访问请求,并接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果,并向所述目标访问对象发送所述业务访问结果。
本申请实施例提供一种业务访问方法,应用于分布式存储系统的业务节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个所述业务节点,包括:
响应于所述管理节点发送的状态查询请求,获取所述业务节点的节点状态信息,并发送所述节点状态信息至所述管理节点;
其中,所述节点状态信息,用于供所述管理节点确定所述业务节点集群的集群状态信息并将所述集群状态信息发送至所述调度节点;
当所述节点状态信息指示所述业务节点不存在故障,且所述管理节点接收到所述调度节点发送的业务访问请求时,接收所述管理节点发送的业务访问请求;
其中,所述业务访问请求是所述调度节点在所述集群状态信息指示所述业务节点所在的业务节点集群不存在故障时发送至所述管理节点的;
基于所述业务节点上存储的业务资源,调用所述业务组件对所述业务访问请求进行响应,得到所述业务访问结果,并向所述管理节点发送所述业务访问结果。
本申请实施例提供一种业务访问装置,应用于分布式存储系统的管理节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括所述管理节点和多个业务节点,上述装置包括:
管理响应模块,用于所述管理节点响应于所述调度节点发送的状态查询请求,向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息;
管理请求模块,用于当所述集群状态信息指示所述业务节点集群不存在故障时,响应于所述调度节点所发送的业务访问请求,向所述业务节点集群中不存在故障的目标业务节点发送所述业务访问请求;其中,所述业务访问请求,为所述调度节点在接收到各所述业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;
管理反馈模块,用于接收所述目标业务节点返回的业务访问结果,并向所述调度节点发送所述业务访问结果。
上述方案中,上述业务访问装置,还包括:集群状态模块,用于向所述业务节点集群中的各所述业务节点发送所述状态查询请求,并接收各所述业务节点所返回的节点状态信息;针对各所述业务节点,当所述节点状态信息指示所述业务节点不存在故障时,将所述业务节点确定为目标业务节点;统计所述目标业务节点的数量,并基于所述目标业务节点的数量,确定所述业务节点集群的集群状态信息。
上述方案中,上述集群状态模块,还用于当所述目标业务节点的数量大于或等于数量阈值时,将所述业务节点集群的集群状态信息确定为第一集群状态信息;当所述目标业务节点的数量小于所述数量阈值时,将所述业务节点集群的集群状态信息确定为第二集群状态信息;其中,所述第一集群状态信息,用于指示所述业务节点集群不存在故障,所述第二集群状态信息,用于指示所述业务节点集群存在故障。
上述方案中,上述管理请求模块,还用于向各所述目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系;当所述关联关系指示所述目标业务组件与所述业务组件不相同时,向运行所述业务组件的目标业务节点发送所述目标业务组件,以使所述目标业务节点能够响应所述业务访问请求;上述管理请求模块,还用于向各所述目标业务节点发送所述业务访问请求。
上述方案中,上述管理请求模块,还用于向各所述目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系;当所述关联关系指示所述目标业务组件与所述业务组件相同时,将运行所述业务组件的目标业务节点,确定为参考业务节点;上述管理请求模块,还用于向各所述参考业务节点发送所述业务访问请求。
上述方案中,上述管理反馈模块,还用于当所述业务访问结果的数量为多个时,将各所述目标业务节点分别对应的业务访问结果进行对比,得到对比结果;其中,所述对比结果,用于指示各所述业务访问结果是否均相同;上述管理反馈模块,还用于当所述对比结果指示各所述业务访问结果均相同时,向所述调度节点发送所述业务访问结果;当所述对比结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述调度节点。
本申请实施例提供一种业务访问装置,应用于分布式存储系统的调度节点,所述分布式存储系统包括所述调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个业务节点,上述装置包括:
调度响应模块,用于响应于目标访问对象发送的业务访问请求,向各所述业务节点集群中的管理节点发送状态查询请求,并接收各所述管理节点发送的集群状态信息;
调度确定模块,用于针对各所述业务节点集群,当所述业务节点集群的集群状态信息指示所述业务节点集群不存在故障时,将所述业务节点集群确定为目标节点集群;
调度反馈模块,用于向所述目标节点集群中的管理节点发送所述业务访问请求,并接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果,并向所述目标访问对象发送所述业务访问结果。
上述方案中,上述调度反馈模块,还用于当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;当所述目标节点集群的数量为多个时,获取各所述目标节点集群的历史访问数量,并向所述历史访问数量最小的所述目标节点集群发送所述业务访问请求。
上述方案中,上述调度反馈模块,还用于当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;当所述目标节点集群的数量为多个时,获取各所述目标节点集群的集群性能,并向所述集群性能最大的所述目标节点集群发送所述业务访问请求。
上述方案中,上述调度反馈模块,还用于当接收到的所述业务访问结果的数量为多个时,将各所述目标业务节点分别对应的业务访问结果进行比较,得到比较结果;其中,所述比较结果,用于指示各所述业务访问结果是否相同;上述调度反馈模块,还用于当所述比较结果指示各所述业务访问结果均相同时,向所述目标访问对象发送所述业务访问结果;当所述比较结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述目标访问对象。
本申请实施例提供一种业务访问装置,应用于分布式存储系统的业务节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个所述业务节点,上述装置包括:
业务响应模块,用于响应于所述管理节点发送的状态查询请求,获取所述业务节点的节点状态信息,并发送所述节点状态信息至所述管理节点;其中,所述节点状态信息,用于供所述管理节点确定所述业务节点集群的集群状态信息并将所述集群状态信息发送至所述调度节点;
业务接收模块,用于当所述节点状态信息指示所述业务节点不存在故障,且所述管理节点接收到所述调度节点发送的业务访问请求时,接收所述管理节点发送的业务访问请求,所述业务访问请求是所述调度节点在所述集群状态信息指示所述业务节点所在的业务节点集群不存在故障时发送至所述管理节点的;
业务反馈模块,用于基于所述业务节点上存储的业务资源,调用所述业务组件对所述业务访问请求进行响应,得到所述业务访问结果,并向所述管理节点发送所述业务访问结果。
上述方案中,上述业务响应模块,还用于获取所述业务节点的物理状态信息和虚拟状态信息;其中,所述物理状态信息,用于指示所述业务节点对应的物理设备的运行状态,所述虚拟状态信息,用于指示所述业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态;结合所述物理状态信息和所述虚拟状态信息,确定所述业务节点的节点状态信息。
上述方案中,上述业务响应模块,还用于当所述物理状态信息指示所述业务节点对应的物理设备的运行状态存在异常时,将所述节点状态信息确定为第一节点状态信息;当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态存在异常或者所述业务组件的运行状态存在异常时,将所述节点状态信息确定为所述第一节点状态信息;当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态不存在异常且所述业务组件的运行状态不存在异常时,将所述节点状态信息确定为第二节点状态信息;其中,所述第一节点状态信息,用于指示所述业务节点存在故障,所述第二节点状态信息,用于指示所述业务节点不存在故障。
上述方案中,上述业务反馈模块,还用于响应于所述管理节点发送的业务组件查询请求,向所述管理节点发送所述业务节点中运行的业务组件;当所述业务组件与能够对所述业务访问请求进行响应的目标业务组件不相同时,接收所述管理节点发送的所述目标业务组件;并将所述业务节点中运行的业务组件,更新为所述目标业务组件。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的业务访问方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起处理器执行时,实现本申请实施例提供的业务访问方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的业务访问方法。
本申请实施例具有以下有益效果:
通过分布式存储系统中的管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息,在集群状态信息指示业务节点集群不存在故障时,管理节点响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求,接收目标业务节点所返回的业务访问结果,并向调度节点发送业务访问结果。如此,管理节点通过向调度节点发送管理节点所在的业务节点集群的集群状态信息,在管理节点所在的业务节点集群不存在故障时,对业务访问请求进行响应,并向业务节点集群中不存在故障的目标业务节点发送业务访问请求,从而保证了业务访问请求,能够在不存在故障的业务节点集群中,不存在故障的业务节点上被响应,实现了在部分业务节点出现故障的情况下,业务访问的故障无感知,实现了业务访问的过程中的故障感知和避障,在部分业务节点存在故障的情况下能够无感知的得到业务访问结果,有效降低了故障对业务访问的影响。
附图说明
图1是本申请实施例提供的业务访问系统的架构示意图;
图2是本申请实施例提供的用于业务访问的电子设备的结构示意图一;
图3是本申请实施例提供的用于业务访问的电子设备的结构示意图二;
图4是本申请实施例提供的用于业务访问的电子设备的结构示意图三;
图5是本申请实施例提供的分布式存储系统的架构示意图;
图6是本申请实施例提供的业务访问方法的流程示意图一;
图7是本申请实施例提供的业务访问方法的流程示意图二;
图8是本申请实施例提供的业务访问方法的流程示意图三;
图9是本申请实施例提供的业务访问方法的流程示意图四;
图10是本申请实施例提供的业务访问方法的流程示意图五;
图11是本申请实施例提供的业务访问方法的流程示意图六;
图12是本申请实施例提供的业务访问方法的原理示意图一;
图13是本申请实施例提供的业务访问方法的原理示意图二;
图14是本申请实施例提供的业务访问方法的原理示意图三;
图15是本申请实施例提供的业务访问方法的原理示意图四;
图16是本申请实施例提供的业务访问方法的原理示意图五;
图17是本申请实施例提供的业务访问方法的原理示意图六;
图18是本申请实施例提供的业务访问方法的原理示意图七。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)分布式文件系统(Hadoop Distributed File System,HDFS):是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed FileSystem)。它和现有的分布式文件系统有很多共同点,但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(Streaming Access)文件系统中的数据。
2)数据仓库工具(Hive):是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。
3)客户端:终端中运行的用于提供各种服务的应用程序,例如视频播放客户端、游戏客户端等。
4)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
5)云技术(Cloud Technology):云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
6)业务资源:指业务应用运行所使用的数据,可以理解为业务应用运行进行数据库调用(如增删查改)的直接对象。业务资源包括但不限于业务应用响应业务请求所需的各种业务资源数据、业务应用采集并存储的用户业务资源等。具体地,业务资源可包括文本数据、图像数据、文件数据等。本申请实施例中,存储于集群系统中除元数据以外的数据均可以称之为业务资源。业务资源在本系统中通常通过数据库库表的形式进行访问。
在本申请实施例的实施过程中,申请人发现相关技术存在以下问题:
相关技术中,对于业务访问,通常通过单一的业务节点直接对业务访问请求进行响应,这样在业务节点出现故障时,导致业务访问请求无法正常被响应,导致故障对业务访问的影响甚大。
本申请实施例提供一种业务访问方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效降低故障对业务访问的影响,下面说明本申请实施例提供的虚拟相机的参数处理系统的示例性应用。
参见图1,图1是本申请实施例提供的业务访问系统100的架构示意图,终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示业务访问结果。终端400和服务器200通过有线或者无线网络相互连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表、车载终端等,但并不局限于此。本申请实施例提供的电子设备可以实施为终端,也可以实施为服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,本申请实施例提供的业务访问系统可以是智能交通系统,智能交通系统(Intelligent Traffic System,ITS)又称智能运输系统(IntelligentTransportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
在一些实施例中,本申请实施例提供的业务访问系统可以是智能车路协同系统,智能车路协同系统(Intelligent Vehicle Infrastructure Cooperative Systems,IVICS),简称车路协同系统,是智能交通系统(ITS)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
在一些实施例中,服务器200中的管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息;当集群状态信息指示业务节点集群不存在故障时,响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求;接收目标业务节点返回的业务访问结果,并向调度节点发送业务访问结果,服务器200中的调度节点将业务访问结果发送至终端400。
在另一些实施例中,终端400中的管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息;当集群状态信息指示业务节点集群不存在故障时,响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求;接收目标业务节点返回的业务访问结果,并向调度节点发送业务访问结果,服务器200中的调度节点将业务访问结果发送至服务器200。
在另一些实施例中,本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
参见图2,图2是本申请实施例提供的用于业务访问的电子设备的结构示意图一,其中,图2所示出的电子设备500可以是图1中的服务器200或者终端400,图2所示的电子设备500包括:至少一个处理器430、存储器450、至少一个网络接口420。电子设备500中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器430可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器430的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的业务访问装置可以采用软件方式实现,图2示出了存储在存储器450中的业务访问装置455,其可以是程序和插件等形式的软件,包括以下软件模块:管理响应模块4551、管理请求模块4552、管理反馈模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
参见图3,图3是本申请实施例提供的用于业务访问的电子设备的结构示意图二,其中,图3所示出的电子设备600可以是图1中的服务器200或者终端400,图3所示的电子设备600包括:至少一个处理器530、存储器550、至少一个网络接口520。电子设备600中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统540。
处理器530可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器530的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的业务访问装置可以采用软件方式实现,图3示出了存储在存储器550中的业务访问装置555,其可以是程序和插件等形式的软件,包括以下软件模块:调度响应模块5551、调度确定模块5552、调度反馈模块5553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
参见图4,图4是本申请实施例提供的用于业务访问的电子设备的结构示意图三,其中,图4所示出的电子设备700可以是图1中的服务器200或者终端400,图4所示的电子设备700包括:至少一个处理器630、存储器660、至少一个网络接口620。电子设备700中的各个组件通过总线系统640耦合在一起。可理解,总线系统640用于实现这些组件之间的连接通信。总线系统640除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统640。
处理器630可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器660可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器660可选地包括在物理位置上远离处理器630的一个或多个存储设备。
存储器660包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器660旨在包括任意适合类型的存储器。
在一些实施例中,存储器660能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统651,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块652,用于经由一个或多个(有线或无线)网络接口620到达其他电子设备,示例性的网络接口620包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的业务访问装置可以采用软件方式实现,图4示出了存储在存储器660中的业务访问装置666,其可以是程序和插件等形式的软件,包括以下软件模块:业务响应模块6661、业务确定模块6662、业务反馈模块6663,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的业务访问装置可以采用硬件方式实现,作为示例,本申请实施例提供的业务访问装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的业务访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序或计算机可执行指令来实现本申请实施例提供的业务访问方法。举例来说,计算机程序可以是操作系统中的原生程序(例如,专用的业务访问程序)或软件模块,例如,可以嵌入到任意程序(如即时通信客户端、相册程序、电子地图客户端、导航客户端)中的业务访问模块;例如可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
参见图5,图5是本申请实施例提供的分布式存储系统的架构示意图,本申请实施例提供的分布式存储系统包括调度节点40和至少一个业务节点集群(例如,如图5所示出的业务节点集群41和业务节点集群42),业务节点集群包括管理节点和多个业务节点,例如,图5所示出的业务节点集群41包括管理节点411、业务节点412和业务节点413,图5所示出的业务节点集群42包括管理节点421、业务节点422和业务节点423。
将结合本申请实施例提供的服务器或终端的示例性应用和实施,说明本申请实施例提供的业务访问方法。
参见图6,图6是本申请实施例提供的业务访问方法的流程示意图一,将结合图6示出的步骤101至步骤104进行说明,本申请实施例提供的业务访问方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施为例,从分布式存储系统的管理节点的角度,对本申请实施例提供的业务访问方法进行说明。
在步骤101中,管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息。
在一些实施例中,管理节点接收调度节点发送的状态查询请求。
在一些实施例中,业务节点集群的集群状态信息,用于指示业务节点集群是否存在故障,业务节点集群的集群状态信息包括第一集群状态信息和第二集群状态信息,第一集群状态信息,用于指示业务节点集群不存在故障,第二集群状态信息,用于指示业务节点集群存在故障。
在一些实施例中,状态查询请求,用于查询相应的节点或集群的状态是否存在故障。
作为示例,参见图5,管理节点411响应于调度节点40发送的状态查询请求,向调度节点40发送管理节点411所在的业务节点集群41的集群状态信息。
作为示例,参见图5,管理节点421响应于调度节点40发送的状态查询请求,向调度节点40发送管理节点421所在的业务节点集群42的集群状态信息。
在一些实施例中,参见图7,图7是本申请实施例提供的业务访问方法的流程示意图二,在图6所示出的步骤101之前,还可以通过图7所示出的步骤105至步骤107确定集群状态信息。
在步骤105中,向业务节点集群中的各业务节点发送状态查询请求,并接收各业务节点所返回的节点状态信息。
作为示例,参见图5,管理节点411向管理节点411所在的业务节点集群41中的各业务节点(业务节点412和业务节点413)发送状态查询请求,并接收业务节点412和业务节点413分别所返回的节点状态信息。
作为示例,参见图5,管理节点421向管理节点421所在的业务节点集群42中的各业务节点(业务节点422和业务节点423)发送状态查询请求,并接收业务节点422和业务节点423分别所返回的节点状态信息。
在一些实施例中,上述节点状态信息,用于指示业务节点是否存在故障,节点状态信息包括第一节点状态信息和第二节点状态信息,第一节点状态信息,用于指示业务节点存在故障,第二节点状态信息,用于指示业务节点不存在故障。
在步骤106中,针对各业务节点,当节点状态信息指示业务节点不存在故障时,将业务节点确定为目标业务节点。
在一些实施例中,上述目标业务节点为不存在故障的业务节点。
作为示例,参见图5,针对业务节点412,当业务节点412的节点状态信息指示业务节点412不存在故障时,将业务节点412确定为目标业务节点。
作为示例,参见图5,针对业务节点422,当业务节点422的节点状态信息指示业务节点422不存在故障时,将业务节点422确定为目标业务节点。
在步骤107中,统计目标业务节点的数量,并基于目标业务节点的数量,确定业务节点集群的集群状态信息。
作为示例,参见图5,针对业务节点集群41,当目标业务节点为业务节点412,那么目标业务节点的数量为1,当目标业务节点为业务节点413和业务节点412时,那么目标业务节点的数量为2。
作为示例,参见图5,针对业务节点集群42,当目标业务节点为业务节点422,那么目标业务节点的数量为1,当目标业务节点为业务节点423和业务节点422时,那么目标业务节点的数量为2。
在一些实施例中,参见图8,图8是本申请实施例提供的业务访问方法的流程示意图三,图7所示出的步骤107可以通过图8所示出的步骤1071至步骤1072实现。
在步骤1071中,当目标业务节点的数量大于或等于数量阈值时,将业务节点集群的集群状态信息确定为第一集群状态信息。
在一些实施例中,上述数量阈值小于分布式存储系统中业务节点的总数量,数量阈值的具体设定可以根据具体的应用场景而具体设定。
作为示例,当目标业务节点的数量为5,数量阈值为3时,目标业务节点的数量大于或等于数量阈值,则将业务节点集群的集群状态信息确定为第一集群状态信息,第一集群状态信息,用于指示业务节点集群不存在故障。
作为示例,参见图5,针对业务节点集群42,当目标业务节点为业务节点422,那么目标业务节点的数量为1,数量阈值为1,那么目标业务节点的数量等于数量阈值,将业务节点集群42的集群状态信息确定为第一集群状态信息。
在步骤1072中,当目标业务节点的数量小于数量阈值时,将业务节点集群的集群状态信息确定为第二集群状态信息。
在一些实施例中,第一集群状态信息,用于指示业务节点集群不存在故障,第二集群状态信息,用于指示业务节点集群存在故障。
作为示例,参见图5,针对业务节点集群42,当业务节点集群42中没有目标业务节点时,对应的目标业务节点的数量为零,数量阈值为1,那么目标业务节点的数量小于数量阈值,将业务节点集群42的集群状态信息确定为第二集群状态信息。
如此,通过向业务节点集群中的各业务节点发送状态查询请求,并接收各业务节点所返回的节点状态信息,统计目标业务节点的数量,并基于目标业务节点的数量,确定业务节点集群的集群状态信息,从而能够通过业务节点集群中不存在故障的目标业务节点的数量,确定业务节点集群的集群状态信息,从而使得所确定的集群状态信息能够准确指示业务节点集群的整体性能。
在步骤102中,当集群状态信息指示业务节点集群不存在故障时,响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求。
在一些实施例中,业务访问请求,为调度节点在接收到各业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的。
作为示例,参见图5,针对业务节点集群41,业务节点集群41中不存在故障的目标业务节点可以为业务节点412和业务节点413,集群状态信息指示业务节点集群41不存在故障时,响应于调度节点40所发送的业务访问请求,管理节点411向业务节点集群41中不存在故障的目标业务节点(业务节点412和业务节点413)发送业务访问请求。
作为示例,参见图5,针对业务节点集群42,业务节点集群42的集群状态信息指示业务节点集群42存在故障。
承接上例,参见图5,业务访问请求,为调度节点40在接收到各业务节点集群(业务节点集群41和业务节点集群42)的集群状态信息之后,向不存在故障的业务节点集群41所发送的。
在一些实施例中,在向业务节点集群中不存在故障的目标业务节点发送业务访问请求之前,还可以通过如下方式进行业务组件的配置:向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件不相同时,向运行业务组件的目标业务节点发送目标业务组件,以使目标业务节点能够响应业务访问请求。
在一些实施例中,组件信息用于指示相应的目标业务节点中所运行的业务组件。
作为示例,参见图5,当目标业务节点为业务节点412和业务节点413时,向目标业务节点412和目标业务节点413发送业务组件查询请求,并接收目标业务节点412和目标业务节点413分别所返回的组件信息,目标业务节点413的组件信息,用于指示目标业务节点413中所运行的业务组件,目标业务节点412的组件信息,用于指示目标业务节点412中所运行的业务组件;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与目标业务节点413中所运行的业务组件和目标业务节点412中所运行的业务组件之间的关联关系,当关联关系指示目标业务组件与目标业务节点413中所运行的业务组件不相同时,向运行业务组件的目标业务节点413发送目标业务组件,以使目标业务节点413能够响应业务访问请求。
在一些实施例中,上述向业务节点集群中不存在故障的目标业务节点发送业务访问请求,可以通过如下方式实现:向各目标业务节点发送业务访问请求。
在一些实施例中,通过向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件不相同时,向运行业务组件的目标业务节点发送目标业务组件,从而使得每个目标业务组件中均具有能够对业务访问请求进行响应的目标业务组件,从而可以向各目标业务节点发送业务访问请求,以使各目标业务节点分别对业务访问请求进行响应。
在另一些实施例中,在向业务节点集群中不存在故障的目标业务节点发送业务访问请求之前,还可以通过如下方式进行业务组件的配置:向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点,确定为参考业务节点。
作为示例,参见图5,当目标业务节点为业务节点412和业务节点413时,向目标业务节点412和目标业务节点413发送业务组件查询请求,并接收目标业务节点412和目标业务节点413分别所返回的组件信息,目标业务节点413的组件信息,用于指示目标业务节点413中所运行的业务组件,目标业务节点412的组件信息,用于指示目标业务节点412中所运行的业务组件;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与目标业务节点413中所运行的业务组件和目标业务节点412中所运行的业务组件之间的关联关系,当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点412,确定为参考业务节点。
如此,通过向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点,确定为参考业务节点,从而无需向每个目标业务组件发送目标业务组件,从而有效提升了分布式存储系统内部的通信效率。
在一些实施例中,上述向业务节点集群中不存在故障的目标业务节点发送业务访问请求,可以通过如下方式实现:向各参考业务节点发送业务访问请求。
在一些实施例中,向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点,确定为参考业务节点,从而使得业务访问请求仅需向能够对业务访问请求进行响应的参考业务节点发送,从而有效提升了分布式存储系统内部的通信效率,同时保证了业务访问请求的精准收发。
在步骤103中,接收目标业务节点返回的业务访问结果。
作为示例,参见图5,当目标业务节点为业务节点412和业务节点413时,管理节点411接收目标业务节点412返回的业务访问结果,管理节点411接收目标业务节点413发送的业务访问结果。
在一些实施例中,在接收目标业务节点返回的业务访问结果之后,在业务访问结果的数量为多个时,可以通过如下方式进行业务访问结果的对比:当业务访问结果的数量为多个时,将各目标业务节点分别对应的业务访问结果进行对比,得到对比结果。
在一些实施例中,对比结果,用于指示各业务访问结果是否均相同。
在一些实施例中,在接收目标业务节点返回的业务访问结果之后,在业务访问结果的数量为一个时,则将业务访问结果直接确定为待向调度节点发送的业务访问结果。
作为示例,参见图5,当目标业务节点为业务节点412和业务节点413时,管理节点411接收目标业务节点412返回的业务访问结果,管理节点411接收目标业务节点413发送的业务访问结果,当业务访问结果的数量为多个时,管理节点411将目标业务节点413和目标业务节点412分别对应的业务访问结果进行对比,得到对比结果。
在步骤104中,向调度节点发送业务访问结果。
在一些实施例中,当业务访问结果的数量为一个时,上述步骤104可以通过如下方式实现:直接向调度节点发送业务访问结果。
在一些实施例中,当业务访问结果的数量为多个时,参见图9,图9是本申请实施例提供的业务访问方法的流程示意图四,图7所示出的步骤104可以通过图9所示出的步骤1041至步骤1043实现。
在步骤1041中,当对比结果指示各业务访问结果均相同时,向调度节点发送业务访问结果。
作为示例,参见图5,当对比结果指示目标业务节点413和目标业务节点412分别对应的业务访问结果相同时,管理节点411直接向调度节点40发送业务访问结果。
在步骤1042中,当对比结果指示存在不同的业务访问结果时,对各业务访问结果进行聚类,得到多个业务访问结果组,业务访问结果组中的各业务访问结果均相同。
作为示例,参见图5,当对比结果指示存在不同的业务访问结果时,对目标业务节点413和目标业务节点412分别对应的业务访问结果进行聚类,得到业务访问结果组A和业务访问结果组B,业务访问结果组A中包括目标业务节点413对应的业务访问结果,业务访问结果组B中包括目标业务节点412对应的业务访问结果。
作为示例,当对比结果指示存在不同的业务访问结果时,对目标业务节点A1、目标业务节点A2、目标业务节点A3和目标业务节点A4分别对应的业务访问结果进行聚类,得到业务访问结果组B1和业务访问结果组B2,业务访问结果组B1中包括目标业务节点A1对应的业务访问结果,业务访问结果组B2中包括目标业务节点A2、目标业务节点A3和目标业务节点A4分别对应的业务访问结果。
在步骤1043中,获取各业务访问结果组中的业务访问结果的总数量,将总数量最大的业务访问结果组中的业务访问结果,发送至调度节点。
承接上例,业务访问结果组A中的业务访问结果的总数量为1,业务访问结果组B中的业务访问结果的总数量为1,那么管理节点411则将业务访问结果组A中的业务访问结果发送至调度节点40,或者将业务访问结果组B中的业务访问结果发送至调度节点40。
承接上例,业务访问结果组B1中包括目标业务节点A1对应的业务访问结果,业务访问结果组B2中包括目标业务节点A2、目标业务节点A3和目标业务节点A4分别对应的业务访问结果,业务访问结果组B1中的业务访问结果的总数量为1,业务访问结果组B2中的业务访问结果的总数量为3,那么管理节点则将总数量最大的业务访问结果组B2中的业务访问结果,发送至调度节点。
参见图10,图10是本申请实施例提供的业务访问方法的流程示意图五,将结合图10示出的步骤201至步骤205进行说明,本申请实施例提供的业务访问方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施为例,从分布式存储系统的调度节点的角度,对本申请实施例提供的业务访问方法进行说明。
在步骤201中,响应于目标访问对象发送的业务访问请求,向各业务节点集群中的管理节点发送状态查询请求。
在一些实施例中,业务访问请求,为调度节点在接收到各业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的。状态查询请求,用于查询各业务节点集群的集群状态信息。
作为示例,参见图5,调度节点40响应于目标访问对象发送的业务访问请求,向业务节点集群41和业务节点集群42中的管理节点411和管理节点421发送状态查询请求。
在步骤202中,接收各管理节点发送的集群状态信息。
在一些实施例中,管理节点所发送的集群状态信息,用于指示管理节点所在的业务节点集群是否存在故障,业务节点集群的集群状态信息,用于指示业务节点集群是否存在故障,业务节点集群的集群状态信息包括第一集群状态信息和第二集群状态信息,第一集群状态信息,用于指示业务节点集群不存在故障,第二集群状态信息,用于指示业务节点集群存在故障。
作为示例,参见图5,调度节点40接收管理节点411和管理节点421分别所发送的集群状态信息。
在步骤203中,针对各业务节点集群,当业务节点集群的集群状态信息指示业务节点集群不存在故障时,将业务节点集群确定为目标节点集群。
作为示例,参见图5,针对业务节点集群41,当业务节点集群41的集群状态信息指示业务节点集群41不存在故障时,将业务节点集群41确定为目标节点集群。
作为示例,参见图5,针对业务节点集群42,当业务节点集群42的集群状态信息指示业务节点集群42不存在故障时,将业务节点集群42确定为目标节点集群。
在步骤204中,向目标节点集群中的管理节点发送业务访问请求。
在一些实施例中,上述步骤204可以通过如下方式实现:当目标节点集群的数量为一个时,向目标节点集群发送业务访问请求;当目标节点集群的数量为多个时,获取各目标节点集群的历史访问数量,并向历史访问数量最小的目标节点集群发送业务访问请求。
在一些实施例中,上述历史访问数量,用于指示目标节点集群在历史运行的过程中,曾被访问过的总次数。
作为示例,参见图5,当目标节点集群为业务节点集群41时,目标节点集群的数量为一个,向目标节点集群41发送业务访问请求。
作为示例,参见图5,当目标节点集群为业务节点集群41和业务节点集群42,目标节点集群的数量为多个,获取业务节点集群41和业务节点集群42分别对应的历史访问数量,当业务节点集群41的历史访问数量大于业务节点集群42的历史访问数量时,向业务节点集群42发送业务访问请求。
如此,在目标节点集群的数量为多个时,获取各目标节点集群的历史访问数量,并向历史访问数量最小的目标节点集群发送业务访问请求,从而使得每个目标节点集群能够被均匀的访问,从而有效防止了部分目标节点集群被频繁访问,有效提高了目标节点集群的访问效率。
在另一些实施例中,上述步骤204可以通过如下方式实现:当目标节点集群的数量为一个时,向目标节点集群发送业务访问请求;当目标节点集群的数量为多个时,获取各目标节点集群的集群性能,并向集群性能最大的目标节点集群发送业务访问请求。
在一些实施例中,上述目标节点集群的集群性能与目标节点集群对业务访问请求的响应速度正相关,集群性能越高,目标节点集群对业务访问请求的响应速度越快,集群性能越低,目标节点集群对目标访问请求的响应速度越慢。
作为示例,参见图5,当目标节点集群为业务节点集群41时,目标节点集群的数量为一个,向目标节点集群41发送业务访问请求。
作为示例,参见图5,当目标节点集群为业务节点集群41和业务节点集群42,目标节点集群的数量为多个,获取业务节点集群41和业务节点集群42分别对应的集群性能,当业务节点集群41的集群性能高于业务节点集群42的集群性能,向业务节点集群41发送业务访问请求。
如此,在目标节点集群的数量为多个时,获取各目标节点集群的历史访问数量,并向集群性能最大的目标节点集群发送业务访问请求,从而能够通过集群性能最强的目标节点集群对业务访问请求进行响应,从而有效提高了业务访问请求的响应速度。
在步骤205中,接收目标节点集群中的管理节点针对业务访问请求所反馈的业务访问结果,并向目标访问对象发送业务访问结果。
作为示例,参见图5,当目标节点集群为业务节点集群41时,调度节点40接收目标节点集群41中的管理节点411针对业务访问请求所反馈的业务访问结果,并向目标访问对象发送业务访问结果。
在一些实施例中,在接收目标节点集群中的管理节点针对业务访问请求所反馈的业务访问结果之后,还可以通过如下方式确定比较结果:当接收到的业务访问结果的数量为多个时,将各目标业务节点分别对应的业务访问结果进行比较,得到比较结果。
在一些实施例中,比较结果,用于指示各业务访问结果是否相同。
在一些实施例中,在接收目标节点集群中的管理节点针对业务访问请求所反馈的业务访问结果之后,在业务访问结果的数量为一个时,则将业务访问结果直接确定为待向目标访问对象发送的业务访问结果。
作为示例,参见图5,当目标节点集群为业务节点集群41和业务节点集群42时,业务访问结果的数量为多个,调度节点40将业务节点集群41和业务节点集群42分别对应的业务访问结果进行比较,得到比较结果。
在一些实施例中,上述向目标访问对象发送业务访问结果,可以通过如下方式实现:当比较结果指示各业务访问结果均相同时,向目标访问对象发送业务访问结果;当比较结果指示存在不同的业务访问结果时,对各业务访问结果进行聚类,得到多个业务访问结果组,业务访问结果组中的各业务访问结果均相同;获取各业务访问结果组中的业务访问结果的总数量,将总数量最大的业务访问结果组中的业务访问结果,发送至目标访问对象。
作为示例,参见图5,当比较结果指示业务节点集群41和业务节点集群42分别对应的业务访问结果相同时,调度节点40直接向目标访问对象发送业务访问结果。
作为示例,参见图5,当比较结果指示存在不同的业务访问结果时,对业务节点集群41和业务节点集群42分别对应的业务访问结果进行聚类,得到业务访问结果组A和业务访问结果组B,业务访问结果组A中包括业务节点集群41对应的业务访问结果,业务访问结果组B中包括业务节点集群41对应的业务访问结果。
承接上例,业务访问结果组A中的业务访问结果的总数量为1,业务访问结果组B中的业务访问结果的总数量为1,那么管理节点411则将业务访问结果组A中的业务访问结果发送至目标访问对象,或者将业务访问结果组B中的业务访问结果发送至目标访问对象。
参见图11,图11是本申请实施例提供的业务访问方法的流程示意图六,将结合图11示出的步骤301至步骤304进行说明,本申请实施例提供的业务访问方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施为例,从分布式存储系统的业务节点的角度,对本申请实施例提供的业务访问方法进行说明。
在步骤301中,响应于管理节点发送的状态查询请求,获取业务节点的节点状态信息,并发送节点状态信息至管理节点。
在一些实施例中,节点状态信息,用于供管理节点确定业务节点集群的集群状态信息并将集群状态信息发送至调度节点。
在一些实施例中,响应于业务节点所在的业务节点集群中的管理节点发送的状态查询请求,获取业务节点的节点状态信息,并发送节点状态信息至业务节点所在的业务节点集群中的管理节点。
作为示例,参见图5,针对业务节点412,业务节点412响应于管理节点411发送的状态查询请求,获取业务节点412的节点状态信息,并发送节点状态信息至管理节点411。
作为示例,参见图5,针对业务节点422,业务节点422响应于管理节点421发送的状态查询请求,获取业务节点422的节点状态信息,并发送节点状态信息至管理节点421。
在一些实施例中,上述获取业务节点的节点状态信息,可以通过如下方式实现:获取业务节点的物理状态信息和虚拟状态信息;结合物理状态信息和虚拟状态信息,确定业务节点的节点状态信息。
在一些实施例中,物理状态信息,用于指示业务节点对应的物理设备的运行状态,虚拟状态信息,用于指示业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态。
在一些实施例中,上述结合物理状态信息和虚拟状态信息,确定业务节点的节点状态信息,可以通过如下方式实现:当物理状态信息指示业务节点对应的物理设备的运行状态存在异常时,将节点状态信息确定为第一节点状态信息;当物理状态信息指示物理设备的运行状态不存在异常,且虚拟状态信息指示存储状态存在异常或者业务组件的运行状态存在异常时,将节点状态信息确定为第一节点状态信息;当物理状态信息指示物理设备的运行状态不存在异常,且虚拟状态信息指示存储状态不存在异常且业务组件的运行状态不存在异常时,将节点状态信息确定为第二节点状态信息。
在一些实施例中,第一节点状态信息,用于指示业务节点存在故障,第二节点状态信息,用于指示业务节点不存在故障。
在一些实施例中,当物理状态信息指示业务节点对应的物理设备的运行状态存在异常时,则说明业务节点对应的物理设备已经无法正常运行,此时即便虚拟状态信息指示存储状态不存在异常且业务组件的运行状态不存在异常,业务节点仍无法对业务访问请求进行响应,那么可以将节点状态信息确定为用于指示业务节点存在故障的第一节点状态信息。
在一些实施例中,当物理状态信息指示物理设备的运行状态不存在异常,且虚拟状态信息指示存储状态存在异常或者业务组件的运行状态存在异常时,业务节点仍无法对业务访问请求进行响应,那么可以将节点状态信息确定为用于指示业务节点存在故障的第一节点状态信息。
在一些实施例中,当物理状态信息指示物理设备的运行状态不存在异常,且虚拟状态信息指示存储状态不存在异常且业务组件的运行状态不存在异常时,业务节点可以对业务访问请求进行响应,那么可以将节点状态信息确定为用于指示业务节点不存在故障的第二节点状态信息。
如此,通过用于指示业务节点对应的物理设备的运行状态的物理状态信息,用于指示业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态的虚拟状态信息,综合确定业务节点的节点状态信息,从而有效提高了所确定的节点状态信息的准确性。
在步骤302中,当节点状态信息指示业务节点不存在故障,且管理节点接收到调度节点发送的业务访问请求时,接收管理节点发送的业务访问请求。
在一些实施例中,业务访问请求是调度节点在集群状态信息指示业务节点所在的业务节点集群不存在故障时发送至管理节点的。
作为示例,参见图5,针对业务节点412,当业务节点412的节点状态信息指示业务节点412不存在故障,且管理节点411接收到调度节点40发送的业务访问请求时,接收管理节点411发送的业务访问请求。
作为示例,参见图5,针对业务节点422,当业务节点422的节点状态信息指示业务节点422不存在故障,且管理节点421接收到调度节点40发送的业务访问请求时,接收管理节点421发送的业务访问请求。
在一些实施例中,在接收管理节点发送的业务访问请求之前,可以通过如下方式对业务节点中的业务组件进行更新:响应于管理节点发送的业务组件查询请求,向管理节点发送业务节点中运行的业务组件;当业务组件与能够对业务访问请求进行响应的目标业务组件不相同时,接收管理节点发送的目标业务组件;并将业务节点中运行的业务组件,更新为目标业务组件。
作为示例,参见图5,针对业务节点422,响应于管理节点421发送的业务组件查询请求,向管理节点421发送业务节点422中运行的业务组件;当业务组件与能够对业务访问请求进行响应的目标业务组件不相同时,接收管理节点421发送的目标业务组件;并将业务节点422中运行的业务组件,更新为目标业务组件。
作为示例,参见图5,针对业务节点412,响应于管理节点411发送的业务组件查询请求,向管理节点411发送业务节点412中运行的业务组件;当业务组件与能够对业务访问请求进行响应的目标业务组件不相同时,接收管理节点411发送的目标业务组件;并将业务节点412中运行的业务组件,更新为目标业务组件。
在步骤303中,基于业务节点上存储的业务资源,调用业务组件对业务访问请求进行响应,得到业务访问结果。
在一些实施例中,不同的业务资源对应的业务访问结果不同,相同的业务资源对应的业务访问结果相同。
作为示例,参见图5,针对业务节点412,业务节点412上存储的业务资源为业务资源A,针对业务节点413,业务节点413上存储的业务资源为业务资源B,基于业务节点412上存储的业务资源,调用业务组件对业务访问请求进行响应,得到业务访问结果A1,基于业务节点413上存储的业务资源,调用业务组件对业务访问请求进行响应,得到业务访问结果B1。
在步骤304中,向管理节点发送业务访问结果。
作为示例,参见图5,针对业务节点412,业务节点412向管理节点发送业务访问结果,针对业务节点423,业务节点423向管理节点发送业务访问结果。
如此,通过分布式存储系统中的管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息,在集群状态信息指示业务节点集群不存在故障时,管理节点响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求,接收目标业务节点所返回的业务访问结果,并向调度节点发送业务访问结果。如此,管理节点通过向调度节点发送管理节点所在的业务节点集群的集群状态信息,在管理节点所在的业务节点集群不存在故障时,对业务访问请求进行响应,并向业务节点集群中不存在故障的目标业务节点发送业务访问请求,从而保证了业务访问请求,能够在不存在故障的业务节点集群中,不存在故障的业务节点上被响应,实现了在部分业务节点出现故障的情况下,业务访问的故障无感知,实现了业务访问的过程中的故障感知和避障,在部分业务节点存在故障的情况下能够无感知的得到业务访问结果,有效降低了故障对业务访问的影响。
下面,将说明本申请实施例在一个实际的业务访问的应用场景中的示例性应用。
在一些实施例中,参见图12,图12是本申请实施例提供的业务访问方法的原理示意图一,本申请实施例将集群组件从上到下分为用户访问层35、网络连接层36(上文所描述的调度节点)、应用组件层37(上文所描述的业务组件)、中间件层38(上文所描述的业务资源)、容器编排层39、机器资源层40(上文所描述的物理设备),每层都实现了高可用能力。具体来说,最底层的机器资源层40可支持物理机、虚拟机、信创机器、其他各类异构机型等,都可以通过K8s统一抽象为Node节点资源,供上层业务应用使用。中间件层以中间件的典型代表如中间件A(ETCD)、中间件B(MySQL)、中间件C(Redis)和中间件D(Kafka)等为例进行多集群的高可用部署,上层业务应用若不需要这些中间件(如无状态服务),则可直接使用 K8s中 Deployment ->Pod 进行业务应用的部署、管理。
在一些实施例中,参见图13,图13是本申请实施例提供的业务访问方法的原理示意图二,可用区(AZ,Available Zone),也即上文所描述的集群、业务节点集群,是指在同一区域下电力和网络相互独立的区域,可用区之间可以做到故障隔离,可用区存在的意义在于构建高容灾高可用架构。
本申请实施例支持单AZ、双AZ、三AZ等多种高可用部署模式,每种部署模式都支持故障时自动切换与恢复。分别说明如下:
单AZ:K8s 集群可由3个主节点(Master节点)+0-N个副节点组成。当业务机器资源不足时,可不需要副节点(0个),直接将业务应用部署到Master节点上,其他多 AZ 都可使用这种0副节点模式。这种模式可容忍一个Master节点(对应一台机器)宕机或故障,需要上面各层组件多副本(Master/Slave主从模式或Leader/Follower领导/跟从模式)打散部署,分别落在不同的 Master 节点上,即可提供高可用的能力。
双AZ:有两个AZ组成的K8s集群,可由5个(一个AZ3个,另一个AZ2个)Master节点、每个AZ各自0-N个副节点组成。这种模式可容忍一个AZ整体(对应AZ里面所有机器)宕机或故障,需要上面各层组件多副本(Master/Slave主从模式或Leader/Follower领导/跟从模式)打散部署,分别落在不同的 AZ 节点上,即可提供高可用的能力。
三AZ:有三个AZ组成的K8s集群,可由7个(一个AZ3个,另两个AZ各2个)Master节点、每个AZ各自0-N副节点组成。这种模式可容忍一个AZ整体(对应AZ里面所有机器)宕机或故障,需要上面各层组件多副本(Master/Slave主从模式或Leader/Follower领导/跟从模式)打散部署,分别落在不同的AZ节点上,即可提供高可用的能力。
在一些实施例中,参见图14,图14是本申请实施例提供的业务访问方法的原理示意图三,本申请实施例以中间件的典型代表如ETCD、MySQL、Redis、Kafka等为例进行多AZ的高可用部署。中间件默认使用Operator+自定义调度策略进行部署,但也可以基于K8sStatefulSet 或CRD+调度策略进行部署。分别说明如下:
在一些实施例中,针对单AZ(AZ1):所有中间件都以3副本(Master/Slave主从模式或Leader/Follower领导/跟从模式)进行部署,多个副本分别打散落在不同的Master节点上,这种模式可容忍一个 Master 节点(对应一台机器)宕机或故障,提供高可用的能力。
在一些实施例中,针对双AZ(AZ1和(AZ2):不同中间件部署模式略有差异,分别是ETCD(3+2模式),MySQL(2+1模式),Redis(2+1模式),Kafka(2+2模式)模式多副本(Master/Slave主从模式或Leader/Follower领导/跟从模式)进行部署,多个副本分别打散落在不同的AZ节点上,这种模式可容忍一个AZ整体(对应 AZ 里面所有机器)宕机或故障,提供高可用的能力。
在一些实施例中,针对三AZ(AZ1、AZ2和AZ3):不同中间件部署模式略有差异,分别是ETCD(3+2+2模式),MySQL(1+1+1模式),Redis(1+1+1模式),Kafka(2+2+2模式)模式多副本(Master/Slave 主从模式或Leader/Follower领导/跟从模式)进行部署,多个副本分别打散落在不同的AZ节点上,这种模式可容忍一个AZ整体(对应AZ里面所有机器)宕机或故障,提供高可用的能力。
在一些实施例中,参见图15,图15是本申请实施例提供的业务访问方法的原理示意图四,本申请实施例以K8s中典型的两种应用类型(无状态服务、有状态服务)为例进行高可用部署,故障自动切换与恢复。其中,无状态服务在K8s中用Deployment进行管理,有状态服务用StatefulSet进行管理,分别说明如下:
在一些实施例中,针对单AZ(AZ1):Deployment和StatefulSet 都以3副本进行部署,多个副本分别打散落在不同的Master节点上,这种模式可容忍一个Master节点(对应一台机器)宕机或故障,提供高可用的能力。
在一些实施例中,针对双AZ(AZ1和AZ2):Deployment 和 StatefulSet都以3副本进行部署,多个副本分别打散落在不同的AZ节点上,这种模式可容忍一个AZ整体(对应AZ里面所有机器)宕机或故障,提供高可用的能力。
在一些实施例中,针对三AZ(AZ1、AZ2和AZ3):Deployment 和 StatefulSet都以3副本进行部署,多个副本分别打散落在不同的AZ节点上,这种模式可容忍一个AZ整体(对应AZ里面所有机器)宕机或故障,提供高可用的能力。
在一些实施例中,参见图16,图16是本申请实施例提供的业务访问方法的原理示意图五,本方案采用K8s中Ingress+Service进行高可用部署,其中Service使用LoadBalancer模式自动分配VIP,上层用户访问层通过LB即可对接多个VIP,实现用户层的统一接入。具体来说,一个AZ可生成一个VIP给到Service,双/三AZ分别生成2/3个VIP,由上层用户访问层通过LB绑定生成的多个VIP,按策略(如随机、源IPhash、权重等)进行路由访问。当AZ发生故障时,Service层自动剔除对应AZ的VIP,当AZ故障恢复时,自动生成对应AZ的VIP加到Service中,实现业务应用的高可用能力。
在一些实施例中,参见图17,图17是本申请实施例提供的业务访问方法的原理示意图六,本申请实施例各层在故障时自动感知、自动切换,保障上层业务服务的高可用能力。当故障域恢复时,组件自动进行恢复,上层业务无需感知。以中间件、应用组件分别说明如下:
自动感知:通过配置合适的 Probe 探针,如Readiness和Liveness Probe,当故障发生时,自动探测感知到故障,触发启动对应的切换流程。中间件的故障切换:以中间件的典型代表如 ETCD、MySQL、Redis、Kafka等为例进行说明,其中ETCD、Kafka通过Leader/Follower(领导/跟从模式)进行自动感知、自动切换,若需要则重新选举Leader;MySQL、Redis以Master/Slave(主从模式)进行自动感知、自动切换,若需要则切换Slave为Master。
在一些实施例中,参见图18,图18是本申请实施例提供的业务访问方法的原理示意图七,应用组件的故障切换:以K8s中典型的两种应用类型(无状态服务、有状态服务)为例进行高可用部署,故障自动切换与恢复。其中,无状态服务在 K8s 中用Deployment进行管理,有状态服务用StatefulSet进行管理。当发生故障时,自动在其他正常的Master或AZ拉起对应的Pod,满足应用期望的副本个数,实现业务应用的高可用能力。
如此,通过集群中的组件分层方式,可支持单AZ、双AZ、三AZ等多种高可用部署模式,实现各层如网络连接层、应用组件层、中间件层、K8s组件层等在单AZ整体故障时进行自动感知、自动切换,保障上层业务服务的高可用能力。当故障域恢复时,组件自动进行恢复,上层业务无需感知。本申请实施例能够实现多AZ高可用能力,可以满足业务对用户承诺的SLA服务等级要求,为业务应用提供持久化的高可用服务能力。
另外,在本申请实施例中提出的多AZ高可用部署方案,除了支持示例中的三AZ高可用部署,还可以拓展到更多AZ、多Region多AZ等高可用部署模式。
可以理解的是,在本申请实施例中,涉及到的业务资源等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的业务访问装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的业务访问装置455中的软件模块可以包括:管理响应模块,用于所述管理节点响应于所述调度节点发送的状态查询请求,向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息;管理请求模块,用于当所述集群状态信息指示所述业务节点集群不存在故障时,响应于所述调度节点所发送的业务访问请求,向所述业务节点集群中不存在故障的目标业务节点发送所述业务访问请求;其中,所述业务访问请求,为所述调度节点在接收到各所述业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;管理反馈模块,用于接收所述目标业务节点返回的业务访问结果,并向所述调度节点发送所述业务访问结果。
在一些实施例中,上述业务访问装置,还包括:集群状态模块,用于向所述业务节点集群中的各所述业务节点发送所述状态查询请求,并接收各所述业务节点所返回的节点状态信息;针对各所述业务节点,当所述节点状态信息指示所述业务节点不存在故障时,将所述业务节点确定为目标业务节点;统计所述目标业务节点的数量,并基于所述目标业务节点的数量,确定所述业务节点集群的集群状态信息。
在一些实施例中,上述集群状态模块,还用于当所述目标业务节点的数量大于或等于数量阈值时,将所述业务节点集群的集群状态信息确定为第一集群状态信息;当所述目标业务节点的数量小于所述数量阈值时,将所述业务节点集群的集群状态信息确定为第二集群状态信息;其中,所述第一集群状态信息,用于指示所述业务节点集群不存在故障,所述第二集群状态信息,用于指示所述业务节点集群存在故障。
在一些实施例中,上述管理请求模块,还用于向各所述目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系;当所述关联关系指示所述目标业务组件与所述业务组件不相同时,向运行所述业务组件的目标业务节点发送所述目标业务组件,以使所述目标业务节点能够响应所述业务访问请求;上述管理请求模块,还用于向各所述目标业务节点发送所述业务访问请求。
在一些实施例中,上述管理请求模块,还用于向各所述目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系;当所述关联关系指示所述目标业务组件与所述业务组件相同时,将运行所述业务组件的目标业务节点,确定为参考业务节点;上述管理请求模块,还用于向各所述参考业务节点发送所述业务访问请求。
在一些实施例中,上述管理反馈模块,还用于当所述业务访问结果的数量为多个时,将各所述目标业务节点分别对应的业务访问结果进行对比,得到对比结果;其中,所述对比结果,用于指示各所述业务访问结果是否均相同;上述管理反馈模块,还用于当所述对比结果指示各所述业务访问结果均相同时,向所述调度节点发送所述业务访问结果;当所述对比结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述调度节点。
下面继续说明本申请实施例提供的业务访问装置555的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器550的业务访问装置555中的软件模块可以包括:调度响应模块,用于响应于目标访问对象发送的业务访问请求,向各所述业务节点集群中的管理节点发送状态查询请求,并接收各所述管理节点发送的集群状态信息;调度确定模块,用于针对各所述业务节点集群,当所述业务节点集群的集群状态信息指示所述业务节点集群不存在故障时,将所述业务节点集群确定为目标节点集群;调度反馈模块,用于向所述目标节点集群中的管理节点发送所述业务访问请求,并接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果,并向所述目标访问对象发送所述业务访问结果。
在一些实施例中,上述调度反馈模块,还用于当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;当所述目标节点集群的数量为多个时,获取各所述目标节点集群的历史访问数量,并向所述历史访问数量最小的所述目标节点集群发送所述业务访问请求。
在一些实施例中,上述调度反馈模块,还用于当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;当所述目标节点集群的数量为多个时,获取各所述目标节点集群的集群性能,并向所述集群性能最大的所述目标节点集群发送所述业务访问请求。
在一些实施例中,上述调度反馈模块,还用于当接收到的所述业务访问结果的数量为多个时,将各所述目标业务节点分别对应的业务访问结果进行比较,得到比较结果;其中,所述比较结果,用于指示各所述业务访问结果是否相同;上述调度反馈模块,还用于当所述比较结果指示各所述业务访问结果均相同时,向所述目标访问对象发送所述业务访问结果;当所述比较结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述目标访问对象。
下面继续说明本申请实施例提供的业务访问装置666的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器660的业务访问装置666中的软件模块可以包括:业务响应模块,用于响应于所述管理节点发送的状态查询请求,获取所述业务节点的节点状态信息,并发送所述节点状态信息至所述管理节点;其中,所述节点状态信息,用于供所述管理节点确定所述业务节点集群的集群状态信息并将所述集群状态信息发送至所述调度节点;业务接收模块,用于当所述节点状态信息指示所述业务节点不存在故障,且所述管理节点接收到所述调度节点发送的业务访问请求时,接收所述管理节点发送的业务访问请求,所述业务访问请求是所述调度节点在所述集群状态信息指示所述业务节点所在的业务节点集群不存在故障时发送至所述管理节点的;业务反馈模块,用于基于所述业务节点上存储的业务资源,调用所述业务组件对所述业务访问请求进行响应,得到所述业务访问结果,并向所述管理节点发送所述业务访问结果。
在一些实施例中,上述业务响应模块,还用于获取所述业务节点的物理状态信息和虚拟状态信息;其中,所述物理状态信息,用于指示所述业务节点对应的物理设备的运行状态,所述虚拟状态信息,用于指示所述业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态;结合所述物理状态信息和所述虚拟状态信息,确定所述业务节点的节点状态信息。
在一些实施例中,上述业务响应模块,还用于当所述物理状态信息指示所述业务节点对应的物理设备的运行状态存在异常时,将所述节点状态信息确定为第一节点状态信息;当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态存在异常或者所述业务组件的运行状态存在异常时,将所述节点状态信息确定为所述第一节点状态信息;当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态不存在异常且所述业务组件的运行状态不存在异常时,将所述节点状态信息确定为第二节点状态信息;其中,所述第一节点状态信息,用于指示所述业务节点存在故障,所述第二节点状态信息,用于指示所述业务节点不存在故障。
在一些实施例中,上述业务反馈模块,还用于响应于所述管理节点发送的业务组件查询请求,向所述管理节点发送所述业务节点中运行的业务组件;当所述业务组件与能够对所述业务访问请求进行响应的目标业务组件不相同时,接收所述管理节点发送的所述目标业务组件;并将所述业务节点中运行的业务组件,更新为所述目标业务组件。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的业务访问方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的业务访问方法,例如,如图6示出的业务访问方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上,本申请实施例具有如下有益效果:
(1)通过分布式存储系统中的管理节点响应于调度节点发送的状态查询请求,向调度节点发送管理节点所在的业务节点集群的集群状态信息,在集群状态信息指示业务节点集群不存在故障时,管理节点响应于调度节点所发送的业务访问请求,向业务节点集群中不存在故障的目标业务节点发送业务访问请求,接收目标业务节点所返回的业务访问结果,并向调度节点发送业务访问结果。如此,管理节点通过向调度节点发送管理节点所在的业务节点集群的集群状态信息,在管理节点所在的业务节点集群不存在故障时,对业务访问请求进行响应,并向业务节点集群中不存在故障的目标业务节点发送业务访问请求,从而保证了业务访问请求,能够在不存在故障的业务节点集群中,不存在故障的业务节点上被响应,实现了在部分业务节点出现故障的情况下,业务访问的故障无感知,实现了业务访问的过程中的故障感知和避障,在部分业务节点存在故障的情况下能够无感知的得到业务访问结果,有效降低了故障对业务访问的影响。
(2)通过向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件不相同时,向运行业务组件的目标业务节点发送目标业务组件,从而使得每个目标业务组件中均具有能够对业务访问请求进行响应的目标业务组件,从而可以向各目标业务节点发送业务访问请求,以使各目标业务节点分别对业务访问请求进行响应。
(3)通过向业务节点集群中的各业务节点发送状态查询请求,并接收各业务节点所返回的节点状态信息,统计目标业务节点的数量,并基于目标业务节点的数量,确定业务节点集群的集群状态信息,从而能够通过业务节点集群中不存在故障的目标业务节点的数量,确定业务节点集群的集群状态信息,从而使得所确定的集群状态信息能够准确指示业务节点集群的整体性能。
(4)通过向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点,确定为参考业务节点,从而无需向每个目标业务组件发送目标业务组件,从而有效提升了分布式存储系统内部的通信效率。
(5)向各目标业务节点发送业务组件查询请求,并接收各目标业务节点所返回的组件信息;获取预设的能够对业务访问请求进行响应的目标业务组件,并确定目标业务组件分别与各业务组件之间的关联关系;当关联关系指示目标业务组件与业务组件相同时,将运行业务组件的目标业务节点,确定为参考业务节点,从而使得业务访问请求仅需向能够对业务访问请求进行响应的参考业务节点发送,从而有效提升了分布式存储系统内部的通信效率,同时保证了业务访问请求的精准收发。
(6)在目标节点集群的数量为多个时,获取各目标节点集群的历史访问数量,并向历史访问数量最小的目标节点集群发送业务访问请求,从而使得每个目标节点集群能够被均匀的访问,从而有效防止了部分目标节点集群被频繁访问,有效提高了目标节点集群的访问效率。
(7)在目标节点集群的数量为多个时,获取各目标节点集群的历史访问数量,并向集群性能最大的目标节点集群发送业务访问请求,从而能够通过集群性能最强的目标节点集群对业务访问请求进行响应,从而有效提高了业务访问请求的响应速度。
(8)通过用于指示业务节点对应的物理设备的运行状态的物理状态信息,用于指示业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态的虚拟状态信息,综合确定业务节点的节点状态信息,从而有效提高了所确定的节点状态信息的准确性。
(10)通过集群中的组件分层方式,可支持单AZ、双AZ、三AZ等多种高可用部署模式,实现各层如网络连接层、应用组件层、中间件层、K8s组件层等在单AZ整体故障时进行自动感知、自动切换,保障上层业务服务的高可用能力。当故障域恢复时,组件自动进行恢复,上层业务无需感知。本申请实施例能够实现多AZ高可用能力,可以满足业务对用户承诺的SLA服务等级要求,为业务应用提供持久化的高可用服务能力。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (20)

1.一种业务访问方法,其特征在于,应用于分布式存储系统的管理节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括所述管理节点和多个业务节点,所述方法包括:
所述管理节点响应于所述调度节点发送的状态查询请求,向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息;
当所述集群状态信息指示所述业务节点集群不存在故障时,响应于所述调度节点所发送的业务访问请求,向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同;
基于所述关联关系,向所述目标业务节点发送所述业务访问请求;
其中,所述业务访问请求,为所述调度节点在接收到各所述业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;
接收所述目标业务节点返回的业务访问结果,并向所述调度节点发送所述业务访问结果。
2.根据权利要求1所述的方法,其特征在于,所述向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息之前,所述方法还包括:
向所述业务节点集群中的各所述业务节点发送所述状态查询请求,并接收各所述业务节点所返回的节点状态信息;
针对各所述业务节点,当所述节点状态信息指示所述业务节点不存在故障时,将所述业务节点确定为目标业务节点;
统计所述目标业务节点的数量,并基于所述目标业务节点的数量,确定所述业务节点集群的集群状态信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标业务节点的数量,确定所述业务节点集群的集群状态信息,包括:
当所述目标业务节点的数量大于或等于数量阈值时,将所述业务节点集群的集群状态信息确定为第一集群状态信息;
当所述目标业务节点的数量小于所述数量阈值时,将所述业务节点集群的集群状态信息确定为第二集群状态信息;
其中,所述第一集群状态信息,用于指示所述业务节点集群不存在故障,所述第二集群状态信息,用于指示所述业务节点集群存在故障。
4.根据权利要求1所述的方法,其特征在于,所述基于所述关联关系,向所述目标业务节点发送所述业务访问请求,包括:
当所述关联关系指示所述目标业务组件与所述业务组件不相同时,向运行所述业务组件的目标业务节点发送所述目标业务组件,以使所述目标业务节点能够响应所述业务访问请求;
向各所述目标业务节点发送所述业务访问请求。
5.根据权利要求1所述的方法,其特征在于,所述基于所述关联关系,向所述目标业务节点发送所述业务访问请求,包括:
当所述关联关系指示所述目标业务组件与所述业务组件相同时,将运行所述业务组件的目标业务节点,确定为参考业务节点;
向各所述参考业务节点发送所述业务访问请求。
6.根据权利要求1所述的方法,其特征在于,所述接收所述目标业务节点返回的业务访问结果之后,所述方法还包括:
当所述业务访问结果的数量为多个时,将各所述目标业务节点分别对应的业务访问结果进行对比,得到对比结果;
其中,所述对比结果,用于指示各所述业务访问结果是否均相同;
所述向所述调度节点发送所述业务访问结果,包括:
当所述对比结果指示各所述业务访问结果均相同时,向所述调度节点发送所述业务访问结果;
当所述对比结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;
获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述调度节点。
7.一种业务访问方法,其特征在于,应用于分布式存储系统的调度节点,所述分布式存储系统包括所述调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个业务节点,所述方法包括:
响应于目标访问对象发送的业务访问请求,向各所述业务节点集群中的管理节点发送状态查询请求,并接收各所述管理节点发送的集群状态信息;
针对各所述业务节点集群,当所述业务节点集群的集群状态信息指示所述业务节点集群不存在故障时,将所述业务节点集群确定为目标节点集群;
向所述目标节点集群中的管理节点发送所述业务访问请求;
其中,所述业务访问请求,用于触发所述目标节点集群中的管理节点向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件,并确定预设的能够对所述业务访问请求进行响应的目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同,基于所述关联关系,向所述目标业务节点发送所述业务访问请求;
接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果,并向所述目标访问对象发送所述业务访问结果。
8.根据权利要求7所述的方法,其特征在于,所述向所述目标节点集群中的管理节点发送所述业务访问请求,包括:
当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;
当所述目标节点集群的数量为多个时,获取各所述目标节点集群的历史访问数量,并向所述历史访问数量最小的所述目标节点集群发送所述业务访问请求。
9.根据权利要求7所述的方法,其特征在于,所述向所述目标节点集群中的管理节点发送所述业务访问请求,包括:
当所述目标节点集群的数量为一个时,向所述目标节点集群发送所述业务访问请求;
当所述目标节点集群的数量为多个时,获取各所述目标节点集群的集群性能,并向所述集群性能最大的所述目标节点集群发送所述业务访问请求。
10.根据权利要求7所述的方法,其特征在于,所述接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果之后,所述方法还包括:
当接收到的所述业务访问结果的数量为多个时,将各目标业务节点分别对应的业务访问结果进行比较,得到比较结果;
其中,所述比较结果,用于指示各所述业务访问结果是否相同;
所述向所述目标访问对象发送所述业务访问结果,包括:
当所述比较结果指示各所述业务访问结果均相同时,向所述目标访问对象发送所述业务访问结果;
当所述比较结果指示存在不同的所述业务访问结果时,对各所述业务访问结果进行聚类,得到多个业务访问结果组,所述业务访问结果组中的各所述业务访问结果均相同;
获取各所述业务访问结果组中的所述业务访问结果的总数量,将所述总数量最大的所述业务访问结果组中的所述业务访问结果,发送至所述目标访问对象。
11.一种业务访问方法,其特征在于,应用于分布式存储系统的业务节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个所述业务节点,所述方法包括:
响应于所述管理节点发送的状态查询请求,获取所述业务节点的节点状态信息,并发送所述节点状态信息至所述管理节点;
其中,所述节点状态信息,用于供所述管理节点确定所述业务节点集群的集群状态信息并将所述集群状态信息发送至所述调度节点;
当所述节点状态信息指示所述业务节点不存在故障,且所述管理节点接收到所述调度节点发送的业务访问请求时,接收所述管理节点发送的业务访问请求;
其中,所述业务访问请求是所述调度节点在所述集群状态信息指示所述业务节点所在的业务节点集群不存在故障时发送至所述管理节点的;所述业务访问请求,用于触发所述管理节点向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件,并确定预设的能够对所述业务访问请求进行响应的目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同,基于所述关联关系,向所述目标业务节点发送所述业务访问请求;
基于所述业务节点上存储的业务资源,调用业务组件对所述业务访问请求进行响应,得到所述业务访问结果,并向所述管理节点发送所述业务访问结果。
12.根据权利要求11所述的方法,其特征在于,所述获取所述业务节点的节点状态信息,包括:
获取所述业务节点的物理状态信息和虚拟状态信息;
其中,所述物理状态信息,用于指示所述业务节点对应的物理设备的运行状态,所述虚拟状态信息,用于指示所述业务节点上存储的业务资源的存储状态和运行的业务组件的运行状态;
结合所述物理状态信息和所述虚拟状态信息,确定所述业务节点的节点状态信息。
13.根据权利要求12所述的方法,其特征在于,所述结合所述物理状态信息和所述虚拟状态信息,确定所述业务节点的节点状态信息,包括:
当所述物理状态信息指示所述业务节点对应的物理设备的运行状态存在异常时,将所述节点状态信息确定为第一节点状态信息;
当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态存在异常或者所述业务组件的运行状态存在异常时,将所述节点状态信息确定为所述第一节点状态信息;
当所述物理状态信息指示所述物理设备的运行状态不存在异常,且所述虚拟状态信息指示所述存储状态不存在异常且所述业务组件的运行状态不存在异常时,将所述节点状态信息确定为第二节点状态信息;
其中,所述第一节点状态信息,用于指示所述业务节点存在故障,所述第二节点状态信息,用于指示所述业务节点不存在故障。
14.根据权利要求11所述的方法,其特征在于,所述接收所述管理节点发送的业务访问请求之前,所述方法还包括:
响应于所述管理节点发送的业务组件查询请求,向所述管理节点发送所述业务节点中运行的业务组件;
当所述业务组件与能够对所述业务访问请求进行响应的目标业务组件不相同时,接收所述管理节点发送的所述目标业务组件;
并将所述业务节点中运行的业务组件,更新为所述目标业务组件。
15.一种业务访问装置,其特征在于,应用于分布式存储系统的管理节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括所述管理节点和多个业务节点,所述装置包括:
管理响应模块,用于所述管理节点响应于所述调度节点发送的状态查询请求,向所述调度节点发送所述管理节点所在的业务节点集群的集群状态信息;
管理请求模块,用于当所述集群状态信息指示所述业务节点集群不存在故障时,响应于所述调度节点所发送的业务访问请求,向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件;获取预设的能够对所述业务访问请求进行响应的目标业务组件,并确定所述目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同;
基于所述关联关系,向所述目标业务节点发送所述业务访问请求;其中,所述业务访问请求,为所述调度节点在接收到各所述业务节点集群的集群状态信息之后,向不存在故障的业务节点集群所发送的;
管理反馈模块,用于接收所述目标业务节点返回的业务访问结果,并向所述调度节点发送所述业务访问结果。
16.一种业务访问装置,其特征在于,应用于分布式存储系统的调度节点,所述分布式存储系统包括所述调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个业务节点,所述装置包括:
调度响应模块,用于响应于目标访问对象发送的业务访问请求,向各所述业务节点集群中的管理节点发送状态查询请求,并接收各所述管理节点发送的集群状态信息;
调度确定模块,用于针对各所述业务节点集群,当所述业务节点集群的集群状态信息指示所述业务节点集群不存在故障时,将所述业务节点集群确定为目标节点集群;
调度反馈模块,用于向所述目标节点集群中的管理节点发送所述业务访问请求;其中,所述业务访问请求,用于触发所述目标节点集群中的管理节点向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件,并确定预设的能够对所述业务访问请求进行响应的目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同,基于所述关联关系,向所述目标业务节点发送所述业务访问请求;接收所述目标节点集群中的管理节点针对所述业务访问请求所反馈的业务访问结果,并向所述目标访问对象发送所述业务访问结果。
17.一种业务访问装置,其特征在于,应用于分布式存储系统的业务节点,所述分布式存储系统包括调度节点和至少一个业务节点集群,所述业务节点集群包括管理节点和多个所述业务节点,所述装置包括:
业务响应模块,用于响应于所述管理节点发送的状态查询请求,获取所述业务节点的节点状态信息,并发送所述节点状态信息至所述管理节点;其中,所述节点状态信息,用于供所述管理节点确定所述业务节点集群的集群状态信息并将所述集群状态信息发送至所述调度节点;
业务接收模块,用于当所述节点状态信息指示所述业务节点不存在故障,且所述管理节点接收到所述调度节点发送的业务访问请求时,接收所述管理节点发送的业务访问请求,所述业务访问请求是所述调度节点在所述集群状态信息指示所述业务节点所在的业务节点集群不存在故障时发送至所述管理节点的;所述业务访问请求,用于触发所述管理节点向所述业务节点集群中不存在故障的各目标业务节点发送业务组件查询请求,并接收各所述目标业务节点所返回的组件信息,所述组件信息用于指示相应的所述目标业务节点中所运行的业务组件,并确定预设的能够对所述业务访问请求进行响应的目标业务组件分别与各所述业务组件之间的关联关系,所述关联关系用于指示所述目标业务组件与所述业务组件是否相同,基于所述关联关系,向所述目标业务节点发送所述业务访问请求;
业务反馈模块,用于基于所述业务节点上存储的业务资源,调用业务组件对所述业务访问请求进行响应,得到所述业务访问结果,并向所述管理节点发送所述业务访问结果。
18.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至14任一项所述的业务访问方法。
19.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至14任一项所述的业务访问方法。
20.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至14任一项所述的业务访问方法。
CN202410071981.2A 2024-01-18 2024-01-18 业务访问方法、装置、电子设备及存储介质 Active CN117596303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410071981.2A CN117596303B (zh) 2024-01-18 2024-01-18 业务访问方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410071981.2A CN117596303B (zh) 2024-01-18 2024-01-18 业务访问方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN117596303A CN117596303A (zh) 2024-02-23
CN117596303B true CN117596303B (zh) 2024-04-09

Family

ID=89918688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410071981.2A Active CN117596303B (zh) 2024-01-18 2024-01-18 业务访问方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117596303B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756571A (zh) * 2020-05-28 2020-10-09 苏州浪潮智能科技有限公司 一种集群节点故障的处理方法、装置、设备及可读介质
CN112114950A (zh) * 2020-09-21 2020-12-22 中国建设银行股份有限公司 任务调度方法和装置、以及集群管理系统
CN113342520A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 一种基于联邦实现的跨集群远程持续发布方法及系统
CN115378798A (zh) * 2022-08-22 2022-11-22 中国联合网络通信集团有限公司 基于动态感知的多集群网关协同方法及系统
CN116954816A (zh) * 2023-04-12 2023-10-27 腾讯科技(深圳)有限公司 容器集群控制方法、装置、设备及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838477B2 (en) * 2014-10-30 2017-12-05 Netapp, Inc. Techniques for storing and distributing metadata among nodes in a storage cluster system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756571A (zh) * 2020-05-28 2020-10-09 苏州浪潮智能科技有限公司 一种集群节点故障的处理方法、装置、设备及可读介质
CN112114950A (zh) * 2020-09-21 2020-12-22 中国建设银行股份有限公司 任务调度方法和装置、以及集群管理系统
CN113342520A (zh) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 一种基于联邦实现的跨集群远程持续发布方法及系统
CN115378798A (zh) * 2022-08-22 2022-11-22 中国联合网络通信集团有限公司 基于动态感知的多集群网关协同方法及系统
CN116954816A (zh) * 2023-04-12 2023-10-27 腾讯科技(深圳)有限公司 容器集群控制方法、装置、设备及计算机存储介质

Also Published As

Publication number Publication date
CN117596303A (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN109492040B (zh) 一种适用于数据中心海量短报文数据处理的系统
CN103873279B (zh) 一种服务器管理方法,及装置
US9201742B2 (en) Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm
CN102402395B (zh) 基于仲裁磁盘的高可用系统不间断运行方法
KR102013004B1 (ko) 확장 가능한 환경에서의 동적 로드 밸런싱 기법
CN112600891B (zh) 一种基于信息物理融合的边云协同系统及工作方法
US9521194B1 (en) Nondeterministic value source
EP2984551A1 (en) Creating global aggregated namespaces for storage management
CN107430603A (zh) 大规模并行处理数据库的系统和方法
CN109802986B (zh) 设备管理方法、系统、装置及服务器
US20200112499A1 (en) Multiple quorum witness
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN104167817A (zh) 一种电力设备实时信息集成的系统及方法
CN116680040B (zh) 一种容器处理方法、装置、设备、存储介质及程序产品
CN104750757A (zh) 一种基于HBase的数据存储方法和设备
CN107992491A (zh) 一种分布式文件系统、数据访问和数据存储的方法及装置
CN113326100B (zh) 一种集群管理方法、装置、设备及计算机存储介质
CN114138568A (zh) Redis哨兵模式下客户端故障转移的调度方法及系统
CN117596303B (zh) 业务访问方法、装置、电子设备及存储介质
AU2013403300B2 (en) Dynamically scalable distributed heterogenous platform relational database
CN117056303A (zh) 适用于军事行动大数据的数据存储方法及装置
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质
US20170169048A1 (en) Multi-Level High Availability Model for an Object Storage Service
CN112395269B (zh) MySQL高可用组的搭建方法及装置
CN113032477B (zh) 基于gtid的长距离数据同步方法、装置及计算设备

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
GR01 Patent grant
GR01 Patent grant