CN108089934B - 集群管理方法及集群服务器 - Google Patents
集群管理方法及集群服务器 Download PDFInfo
- Publication number
- CN108089934B CN108089934B CN201611028381.XA CN201611028381A CN108089934B CN 108089934 B CN108089934 B CN 108089934B CN 201611028381 A CN201611028381 A CN 201611028381A CN 108089934 B CN108089934 B CN 108089934B
- Authority
- CN
- China
- Prior art keywords
- cluster
- sub
- data
- server
- query request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0709—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种集群管理方法及集群服务器。该方法包括:确定是否新增了子集群,若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,实现了在集群***新增节点以实现扩容时,集群服务器直接将与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,由于子集群之间的数据不互通,并且,子集群作为一个完整的集群,是可以独立工作的,因此,在扩容之后,子集群之间的数据不会发生迁移,从而,提高了集群管理方法的可靠性。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种集群管理方法及集群服务器。
背景技术
随着通信技术的发展,服务器产生的日志信息越来越多,每天的日志信息的数据量可以达到TB级别,因此,需要一个统一的日志平台收集千台以上服务器的日志信息。可以采用分布式集群***来处理日志信息。
现有技术中的集群***包括至少2个节点,每个节点上可以存储日志信息的数据分片。每个数据分片可以有一个备份。同一个数据分片的主数据和备份数据不能存储在同一个节点上。图1为现有技术中的集群***的结构示意图。如图1所示,节点1上存储有数据分片0、1和2的主数据:P0、P1和P2,节点2上存储有数据分片0、1和2的备份数据:R0、R1和R2。当该集群***新增了节点3以实现扩容时,节点1和节点2上的数据均需要迁移一部分至节点3上,以实现数据均衡。图2为在图1的基础上新增了节点3后的集群***的结构示意图。如图2所示,示例性地,在新增了节点3之后,节点1上的P0和节点2上的R2迁移至节点3上。
但是,在上述实现方式中,在新增了节点以实现扩容之后,为了实现数据平衡,会有很多数据在集群***内的节点间迁移。集群***重新完成数据平衡需要几十个小时的时间,如果此时再发生网络故障或节点故障,会导致日志信息不可恢复。因此,现有技术中的集群管理方法导致集群***的可靠性较差。
发明内容
本发明实施例提供一种集群管理方法及集群服务器,以提高集群***的可靠性。
第一方面,本发明实施例提供一种集群管理方法,包括:集群服务器确定是否新增了子集群;若集群服务器确定新增了子集群,则将与原来的子集群连接的一个或多个数据采集客户端切换至与新增的子集群连接。其实现了在集群***新增节点以实现扩容时,集群服务器直接将与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,由于子集群之间的数据不互通,并且,子集群作为一个完整的集群,是可以独立工作的,因此,在扩容之后,子集群之间的数据不会发生迁移,从而,提高了集群管理方法的可靠性。
在第一方面的一种可能的设计中,方法还包括:集群服务器确定第一子集群是否发生故障;若集群服务器确定第一子集群发生故障,则将与第一子集群连接的数据采集客户端切换至与第二子集群连接。其中,第二子集群为集群***中除了第一子集群之外的其他正常工作的子集群。其实现了在确定子集群出现故障时,可以在不需要数据迁移的情况下,将与出现故障的子集群连接的数据采集客户端切换至与其他正常工作的子集群连接,实现集群***的继续工作,进一步提高了集群***的可靠性。
在第一方面的一种可能的设计中,方法还包括:集群服务器获取数据的需求QoS;集群服务器根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上。其实现了可以根据数据的QoS提供差异化的数据存储服务,将数据存储至能满足其QoS的子集群中,提高了存储数据的可靠性及提高了集群***的利用率。
在第一方面的一种可能的设计中,方法还包括:集群服务器获取数据查询请求;其中,数据查询请求中包括待查询的数据的标识;集群服务器根据查询请求确定是否进行全局查询;若集群服务器确定进行全局查询,则将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息;集群服务器根据结果信息及预设条件确定待查询的数据。其实现了可以满足数据查询的要求。
在第一方面的一种可能的设计中,若集群服务器确定进行指定查询,则将数据查询请求发送给目标子集群,并接收目标子集群根据数据查询请求发送的待查询的数据。其实现了在确定是指定查询时,直接将数据查询请求发送给目标子集群,从而,提高了查询的效率。
在第一方面的一种可能的设计中,集群服务器根据查询请求确定是否进行全局查询,包括:集群服务器根据查询请求中的待查询的数据的标识确定待查询的数据的来源是所有的子集群还是目标子集群;若集群服务器确定待查询的数据的来源是所有子集群,则确定进行全局查询;若集群服务器确定待查询的数据的来源是目标子集群,则确定进行指定查询。其实现过程简单快捷。
在第一方面的一种可能的设计中,将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,包括:集群服务器将与原来的子集群连接的数据采集客户端中对应的子集群的互联网协议IP地址修改为新增的子集群的IP地址。其实现过程效率较高。
第二方面,本发明实施例提供一种集群服务器,包括:第一确定模块,用于确定是否新增了子集群;第一切换模块,用于当确定新增了子集群时,将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接。
在第二方面的一种可能的设计中,集群服务器还包括:第二确定模块,用于确定第一子集群是否发生故障;第二切换模块,用于当确定第一子集群发生故障时,将与第一子集群连接的数据采集客户端切换至与第二子集群连接;其中,第二子集群为集群***中除了第一子集群之外的其他正常工作的子集群。
在第二方面的一种可能的设计中,集群服务器还包括:第一获取模块,用于获取数据的需求服务质量QoS;存储模块,用于根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上。
在第二方面的一种可能的设计中,集群服务器还包括:第二获取模块,用于获取数据查询请求;其中,数据查询请求中包括待查询的数据的标识;第三确定模块,用于器根据查询请求确定是否进行全局查询;发送接收模块,用于当确定进行全局查询时,将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息;第四确定模块,用于根据结果信息及预设条件确定待查询的数据。
在第二方面的一种可能的设计中,发送接收模块还用于当确定进行指定查询时,将数据查询请求发送给目标子集群,并接收目标子集群根据数据查询请求发送的待查询的数据。
在第二方面的一种可能的设计中,第三确定模块具体用于:根据查询请求中的待查询的数据的标识确定待查询的数据的来源是所有的子集群还是目标子集群;当确定待查询的数据的来源是所有子集群时,确定进行全局查询;当确定待查询的数据的来源是目标子集群时,确定进行指定查询。
在第二方面的一种可能的设计中,第一切换模块具体用于:将与原来的子集群连接的数据采集客户端中对应的子集群的互联网协议IP地址修改为新增的子集群的IP地址。
第三方面,本发明实施例提供一种集群***,包括:至少一个子集群、至少一个数据采集客户端及第二方面任一可能的设计提供的集群服务器。其中,每个子集群中包括至少两个节点,每个节点用于存储至少两个数据分片,每个数据分片具有至少一个备份数据分片,子集群之间的数据不互通,子集群与至少一个数据采集客户端连接,集群服务器与每个子集群中的每个节点均连接,集群服务器与每个数据采集客户端均连接。
附图说明
图1为现有技术中的集群***的结构示意图;
图2为在图1的基础上新增了节点3后的集群***的结构示意图;
图3为本发明实施例提供的集群***的结构示意图;
图4为本发明实施例提供的集群管理方法实施例一的流程示意图;
图5为应用图4所示实施例后集群***的结构示意图;
图6为本发明实施例提供的集群管理方法实施例二的流程示意图;
图7为应用图6所示实施例后集群***的结构示意图;
图8为本发明实施例提供的集群服务器实施例一的结构示意图;
图9为本发明实施例提供的集群服务器实施例二的结构示意图;
图10为本发明实施例提供的集群服务器实施例三的结构示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种集群管理方法,应用于集群***中。图3为本发明实施例提供的集群***的结构示意图。如图3所示,本发明实施例提供的集群***包括:至少一个子集群31、至少一个数据采集客户端32及集群服务器33。其中,每个子集群31中包括至少两个节点,每个节点用于存储至少两个数据分片,每个数据分片具有至少一个备份数据分片。子集群31之间的数据不互通。子集群31与至少一个数据采集客户端32连接。集群服务器33与每个子集群31中的每个节点均连接。集群服务器33与每个数据采集客户端32均连接。可以看到,本发明实施例提供的集群***中,采用两级管理方式,即,集群服务器33可以管理和配置每个子集群31。集群服务器33也可以管理和配置数据采集客户端32。
本发明实施例提供的集群管理方法可以由上述集群***中的集群服务器执行。集群服务器通过确定是否新增了子集群,若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,实现了在集群***新增节点以实现扩容时,集群服务器直接将与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,由于子集群之间的数据不互通,并且,子集群作为一个完整的集群,是可以独立工作的,因此,在扩容之后,子集群之间的数据不会发生迁移,从而,提高了集群管理方法的可靠性。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图4为本发明实施例提供的集群管理方法实施例一的流程示意图。如图4所示,本发明实施例提供的集群管理方法包括如下步骤:
S401:集群服务器确定是否新增了子集群。
具体地,本发明实施例中的集群服务器可以是一个计算机,也可以是多个计算机组成的***。可选的,本发明实施例中的集群***中还可以包括备份集群服务器,它可以在集群服务器出现故障时,代替出现故障的集群服务器,执行集群服务器的操作,以进一步提高集群管理的可靠性。
在本发明实施例的集群***中,一个子集群下可以连接多个数据采集客户端,但一个数据采集客户端只能连接至一个子集群下。数据采集客户端设置于服务器上,用于获取服务器上需要使用集群***保存的数据。这些数据是由服务器的硬件或者软件产生的数据,可选的,这里的数据可以是服务器的日志信息。数据采集客户端在获取服务器上的数据时,可以是数据采集客户端在服务器的存储空间中读取设置有预设标识的数据,该预设的标识即表示该数据是需要存储在集群***中的数据,也可以是服务器将需要存储在集群***中的数据直接存储在数据采集客户端中。数据采集客户端在获取到服务器中的数据后,可以将获取到的数据主动发送给与其连接的子集群。或者,将获取到的数据主动发送给集群服务器,以使集群服务器最终将该数据发送给子集群。或者,在接收到与其连接的子集群发送的数据获取请求之后,将该数据发送给子集群。或者,在接收到集群服务器发送的数据获取请求之后,将该数据发送给集群服务器。
子集群中的节点可以是计算机。当某个子集群中的所有的节点的存储空间都已经饱和时,可以在集群***中新增子集群,以实现扩容该集群***。
在一种可能的实现方式中,集群服务器可以通过判断接收到的测试数据包是否是新增的测试数据包,来确定是否新增了子集群。在该种实现方式中,当新增的子集群的硬件部署完成后,即可以通过网络寻找到集群服务器,并向集群服务器发送测试数据包。需要说明的是,可以是新增的子集群中的某一个节点发送测试数据包,也可以是新增的子集群中的所有节点发送测试数据包。集群服务器可以在接收到测试数据包后,获取测试数据包中的源地址,确定该源地址是否在自己的通信列表中。如果该源地址不在集群服务器中的通信列表中,则确定发送该测试数据包的子集群是新增的子集群,即确定新增了子集群。
在另一种可能的实现方式中,集群服务器可以以预设的周期检测其和各个子集群之间的心跳连接。当检测到新的心跳连接时,即确定新增了子集群。
S402:若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接。
具体地,集群服务器在确定新增了子集群之后,可以先确定将哪个数据采集客户端连接至新增的子集群上。
在第一种可能的实现方式中,集群服务器可以随机确定一个与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,也可以随机确定多个与原来的子集群连接的数据采集客户端切换至与该新增的子集群连接。
在第二种可能的实现方式中,集群服务器可以读取每个子集群上的存储空间利用率,将存储空间利用率较大的子集群上连接的一个或多个数据采集客户端切换至与新增的子集群连接。
在第三种可能的实现方式中,集群服务器可以采用轮询的方式确定该数据采集客户端,即,在第一次新增了子集群后,将子集群A上的一个或多个数据采集客户端切换至与新增的子集群连接,在第二次新增了子集群后,将子集群B上的一个或多个数据采集客户端切换至与新增的子集群连接,依次类推,直至将所有原来的子集群循环一遍。则当第N次确定新增了子集群后,再将子集群A上的一个或多个数据采集客户端切换至与新增的子集群连接。
在将原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接之后,该新增的子集群即可以从该至少一个数据采集客户端获取服务器上的数据进行存储或者其他处理。
需要说明的是,将数据采集客户端切换至与新增的子集群连接,意为,该数据采集客户端在此之后与原来它连接的子集群不再连接,而只与该新增的子集群连接。
在一种具体的实现方式中,集群服务器将与原来的子集群连接的数据采集客户端中对应的子集群的互联网协议(Internet Protocol;简称:IP)地址修改为新增的子集群的IP地址,以实现将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接。可选的,集群服务器可以在确定是否新增了子集群时,获取到新增的子集群的IP地址。数据采集客户端中可以存储有其连接的子集群的IP地址,以实现与该IP地址对应的子集群连接。集群服务器将数据采集客户端中存储的其对应的子集群的IP地址进行修改,可以实现该数据采集客户端切换子集群进行连接。
图5为应用图4所示实施例后集群***的结构示意图。如图5所示,在集群***新增了子集群52之后,集群服务器53将与原来的子集群51连接的一个数据采集客户端54切换至与子集群52连接。
本发明实施例提供的集群管理方法,通过确定是否新增了子集群,若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,实现了在集群***新增节点以实现扩容时,集群服务器直接将与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,由于子集群之间的数据不互通,并且,子集群作为一个完整的集群,是可以独立工作的,因此,在扩容之后,子集群之间的数据不会发生迁移,从而,提高了集群管理方法的可靠性。
图6为本发明实施例提供的集群管理方法实施例二的流程示意图。本发明实施例在图4所示实施例的基础上,对集群管理方法其他的步骤作一详细说明。如图6所示,本发明实施例提供的集群管理方法包括如下步骤:
S601:集群服务器确定是否新增了子集群。
S602:若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接。
S601和S602与S401和S402实现过程和技术原理类似,此处不再赘述。
S603:集群服务器确定第一子集群是否发生故障。
具体地,S603和S601之间没有时序关系,即,S601和S603可以以任意的顺序执行。
可选的,集群***中的子集群可以以预设的频率向集群服务器上报测试数据包。当集群服务器在预设的时长内没有接收到第一子集群发送测试数据包时,确定第一子集群发生了故障。第一子集群发生故障指的是第一子集群中的所有节点都发生了故障。这里的故障可以是第一子集群中的所有节点同时断电。
S604:若集群服务器确定第一子集群发生故障,则将与第一子集群连接的数据采集客户端切换至与第二子集群连接。
其中,第二子集群为集群***中除了第一子集群之外的其他正常工作的子集群。
具体地,在集群服务器确定第一子集群发生了故障后,可以先确定与第一子集群连接的数据采集客户端需要切换至的第二子集群。与第一子集群连接的数据采集客户端可以是一个也可以是多个。
在第一种可能的实现方式中,当与第一子集群连接的数据采集客户端是一个时,集群服务器可以随机确定一个工作正常的子集群,作为第二子集群,将该数据采集客户端切换至与第二子集群连接。当与第一子集群的数据采集客户端是多个时,集群服务器可以随机确定一个工作正常的子集群,作为第二子集群,将与第一子集群连接的所有数据采集客户端都切换至与第二子集群连接;集群服务器也可以随机确定多个工作正常的子集群,作为第二子集群,将与第一子集群连接的数据采集客户端随机分配切换至与第二子集群连接。
在第二种可能的实现方式中,集群服务器可以读取每个子集群上的存储空间利用率,根据与第一子集群连接的数据采集客户端的数量,确定存储空间利用率较小的一个或多个工作正常的子集群,作为第二子集群。将与第一子集群连接的一个或多个数据采集客户端切换至与第二子集群连接。
在第三种可能的实现方式中,集群服务器可以根据与第一子集群连接的数据采集客户端的数量,采用轮询的方式确定一个或多个工作正常的子集群,作为第二子集群。
可以理解的是,在S603和S604中不会出现子集群之间的数据的迁移。整体的子集群的工作负荷不会增加,集群***的处理能力不会下降。
需要说明的是,在集群服务器确定第一子集群的故障恢复正常后,可以将原来与第一子集群连接的数据采集客户端再从与第二子集群连接切换至与第一子集群连接。集群服务器中可以保存预设时间段内的数据采集客户端与子集群连接的映射关系。
与S602类似的是,集群服务器在将与第一子集群连接的数据采集客户端切换至与第二子集群连接时,可以是将与第一子集群连接的数据采集客户端中对应的子集群的IP地址修改为第二子集群的IP地址。
图7为应用图6所示实施例后集群***的结构示意图。如图7所示,在集群***的第一子集群72发生故障之后,集群服务器73将与第一子集群72连接的数据采集客户端74切换至与第二子集群71连接。则第一子集群除了连接已连接的数据采集客户端75之外,还连接了数据采集客户端74。
在另一种场景中,可以是某个子集群中的某一个节点发生了故障,由于数据分片都具有备份,该故障不影响集群***的正常工作。在该节点工作正常之后,其他正常工作的节点会会触发同步数据至该节点,具体可以是,其他正常工作的节点直接将其上存储的数据发送至该节点,以使该节点存储数据;也可以是,该节点在正常工作之后,读取其他正常工作的节点上存储的数据,并与自身存储的数据进行比较,如果不一致,则从其他正常工作的节点获取数据并进行存储。在该过程中,其他子集群正常工作,工作负荷不会增加。
S605:集群服务器获取数据的需求QoS。
具体地,S605、S601及S603之间没有时序关系,即,S605、S601与S603可以以任意的顺序执行。
一种实现方式中,集群服务器可以在获取到数据之后,根据数据的重要程度确定数据的需求服务质量(Quality of Service;简称:QoS),或者,根据数据的类型确定数据的需求QoS。另一种实现方式中,数据采集客户端获取到的数据中就携带有该数据的需求QoS,集群服务器直接获取数据的需求QoS即可。
数据的需求QoS可以是数据对存储时长的要求,也可以是数据对存储可靠性的要求等。
S606:集群服务器根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上。
具体地,子集群能提供的QoS可以是子集群中预先存储的,也可以是集群服务器根据子集群的参数确定的。例如,如果该子集群中的存储器是廉价raid0阵列的高IOPS存储器,则确定该子集群能提供的QoS较低。
集群服务器可以根据需求QoS及子集群能提供的QoS,将该数据存储至能满足需求QoS的子集群上。在存储该数据的时候,采用将该数据进行分片存储至不同的节点上的方式,并为每个数据分片设置备份数据分片。
该方式可以实现差异化的数据服务器,满足不同的数据的存储需求,提高集群***的利用率。
S607:集群服务器获取数据查询请求。
其中,数据查询请求中包括待查询的数据的标识。
S607、S605、S601及S603之间没有时序关系,即,S607、S605、S601与S603可以以任意的顺序执行。
该数据查询请求可以是其他的控制设备发送的。例如,开发人员的计算机,该数据查询请求还可以是设置有数据采集客户端的服务器发送的。
该数据查询请求中包括的待查询的数据的标识,可以是待查询的数据的名称,或者,待查询的数据的关键字,或者,待查询的数据的存储时间,或者,待查询的数据的数据量大小等。本发明实施例对此不作限制。
S608:集群服务器根据查询请求确定是否进行全局查询。
具体地,集群服务器可以采用以下方式确定是否进行全局查询:集群服务器根据查询请求中的待查询的数据的标识确定待查询的数据的来源是所有的子集群还是目标子集群;若集群服务器确定待查询的数据的来源是所有子集群,则确定进行全局查询;若集群服务器确定待查询的数据的来源是目标子集群,则确定进行指定查询。
例如,当待查询的数据的标识为存储时间时,则所有子集群上都可能有在该存储时间存储的数据,此时,确定进行全局查询。这里的全局查询意为从所有子集群中进行查询。当待查询的数据的标识为数据的名称时,则可能只有一个子集群中存储有该名称的数据,此时,确定进行指定查询,该子集群即为目标子集群。这里的指定查询是指从指定的子集群中进行查询。
S609:若集群服务器确定进行全局查询,则将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息。
具体地,集群服务器将数据查询请求发送给所有子集群中的所有节点。这些节点在接收到数据查询请求后,根据数据查询请求查询自身的存储器。如果存储有与待查询的数据的标识匹配的数据,则将查询到与标识配置的数据发送至集群服务器。如果没有查找到与标识匹配的数据,则返回没有查询到的信息至集群服务器。
集群服务器接收所有子集群根据数据查询请求发送的结果信息,该结果信息中可以包括子集群查询到的与标识匹配的数据和指示未查询到的信息。
S610:集群服务器根据结果信息及预设条件确定待查询的数据。
具体地,集群服务器根据结果信息中的子集群查询到的与标识匹配的数据及预设条件确定待查询的数据。这里的预设条件可以是:存储时间位于前100个的数据,或者,数据量大于100M的数据,或者,与标识精确匹配的数据等。根据该预设条件即可以从子集群查询到的与标识匹配的数据中确定出待查询的数据。
可选的,在本发明实施例中,若所述集群服务器确定进行指定查询,则将所述数据查询请求发送给目标子集群,并接收所述目标子集群根据所述数据查询请求发送的所述待查询的数据。
本发明实施例提供的集群管理方法,通过集群服务器确定是否新增了子集群,若集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,集群服务器确定第一子集群是否发生故障,若集群服务器确定第一子集群发生故障,则将与第一子集群连接的数据采集客户端切换至与第二子集群连接,集群服务器获取数据的需求QoS,集群服务器根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上,集群服务器获取数据查询请求,集群服务器根据查询请求确定是否进行全局查询,若集群服务器确定进行全局查询,则将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息,集群服务器根据结果信息及预设条件确定待查询的数据,一方面实现了在确定子集群出现故障时,可以在不需要数据迁移的情况下,将与出现故障的子集群连接的数据采集客户端切换至与其他正常工作的子集群连接,实现集群***的继续工作,另一方面实现了可以根据数据的QoS提供差异化的数据存储服务,将数据存储至能满足其QoS的子集群中,提高了存储数据的可靠性及提高了集群***的利用率,再一方面实现了可以根据数据查询请求查询集群***中的数据,从而,进一步提高了集群***的可靠性,提高了集群***的利用率,以及,满足了数据查询的要求。
图8为本发明实施例提供的集群服务器实施例一的结构示意图。如图8所示,本发明实施例提供的集群服务器包括如下模块:
第一确定模块81,用于确定是否新增了子集群。
第一切换模块82,用于当确定新增了子集群时,将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接。
可选的,第一切换模块82具体用于:将与原来的子集群连接的数据采集客户端中对应的子集群的IP地址修改为新增的子集群的IP地址。
本发明实施例提供的集群服务器具体可用于执行图4所示实施例的集群管理方法,其实现过程和技术原理类似,此处不再赘述。
本发明实施例提供的集群服务器,通过设置第一确定模块,用于确定是否新增了子集群,第一切换模块,用于当确定新增了子集群时,将与原来的子集群连接的至少一个数据采集客户端切换至与新增的子集群连接,实现了在集群***新增节点以实现扩容时,集群服务器直接将与原来的子集群连接的数据采集客户端切换至与新增的子集群连接,由于子集群之间的数据不互通,并且,子集群作为一个完整的集群,是可以独立工作的,因此,在扩容之后,子集群之间的数据不会发生迁移,从而,提高了集群管理方法的可靠性。
图9为本发明实施例提供的集群服务器实施例二的结构示意图。本发明实施例在图8所示实施例的基础上,对集群服务器的其他模块作一详细说明。如图9所示,本发明实施例提供的集群服务器在图8所示实施例的基础上,还包括如下模块:
第二确定模块91,用于确定第一子集群是否发生故障。
第二切换模块92,用于当确定第一子集群发生故障时,将与第一子集群连接的数据采集客户端切换至与第二子集群连接。
其中,第二子集群为集群***中除了第一子集群之外的其他正常工作的子集群。
第一获取模块93,用于获取数据的需求QoS。
存储模块94,用于根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上。
第二获取模块95,用于获取数据查询请求。
其中,数据查询请求中包括待查询的数据的标识。
第三确定模块96,用于器根据查询请求确定是否进行全局查询。
可选的,第三确定模块96具体用于:根据查询请求中的待查询的数据的标识确定待查询的数据的来源是所有的子集群还是目标子集群;当确定待查询的数据的来源是所有子集群时,确定进行全局查询;当确定待查询的数据的来源是目标子集群时,确定进行指定查询。
发送接收模块97,用于当确定进行全局查询时,将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息。
可选的,发送接收模块97还用于当确定进行指定查询时,将数据查询请求发送给目标子集群,并接收目标子集群根据数据查询请求发送的待查询的数据。
第四确定模块98,用于根据结果信息及预设条件确定待查询的数据。
本发明实施例提供的集群服务器具体可用于执行图6所示实施例的集群管理方法,其实现过程和技术原理类似,此处不再赘述。
本发明实施例提供的集群服务器,通过设置第二确定模块,用于确定第一子集群是否发生故障,第二切换模块,用于当确定第一子集群发生故障时,将与第一子集群连接的数据采集客户端切换至与第二子集群连接,其中,第二子集群为集群***中除了第一子集群之外的其他正常工作的子集群,第一获取模块,用于获取数据的需求QoS,存储模块,用于根据需求QoS及子集群能提供的QoS,将数据存储至能满足需求QoS的子集群上,第二获取模块,用于获取数据查询请求,其中,数据查询请求中包括待查询的数据的标识,第三确定模块,用于器根据查询请求确定是否进行全局查询,发送接收模块,用于当确定进行全局查询时,将数据查询请求发送给所有子集群,并接收所有子集群根据数据查询请求发送的结果信息,第四确定模块,用于根据结果信息及预设条件确定待查询的数据,一方面实现了在确定子集群出现故障时,可以在不需要数据迁移的情况下,将与出现故障的子集群连接的数据采集客户端切换至与其他正常工作的子集群连接,实现集群***的继续工作,另一方面实现了可以根据数据的QoS提供差异化的数据存储服务,将数据存储至能满足其QoS的子集群中,提高了存储数据的可靠性及提高了集群***的利用率,再一方面实现了可以根据数据查询请求查询集群***中的数据,从而,进一步提高了集群***的可靠性,提高了集群***的利用率,以及,满足了数据查询的要求。
图10为本发明实施例提供的集群服务器实施例三的结构示意图。如图10所示,本发明实施例提供的集群服务器包括:
存储器111和处理器112,存储器111被配置为存储处理器112的可执行指令。处理器112用于执行图4或图6所示的集群管理方法。
请继续参照图3,本发明实施例提供的集群***中的集群服务器可以是图8-图10所示的任一种集群服务器。可选的,该集群***中可以采用2节点、2数据分片、1备份的方式,即,每个子集群包括2个节点,每个节点上存储有2个数据分片,1个数据分片有1个备份数据分片,这种实现方式在节约资源的同时也能保证查询和数据的可靠性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种集群管理方法,其特征在于,包括:
集群服务器确定是否新增了子集群,所述子集群中包括至少两个节点,每个所述节点用于存储至少两个数据分片,每个所述数据分片具有至少一个备份数据分片,所述子集群之间的数据不互通;
若所述集群服务器确定新增了子集群,则将与原来的子集群连接的至少一个所述数据采集客户端切换至与新增的子集群连接。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述集群服务器确定第一子集群是否发生故障;
若所述集群服务器确定所述第一子集群发生故障,则将与所述第一子集群连接的数据采集客户端切换至与第二子集群连接;其中,所述第二子集群为所述集群***中除了所述第一子集群之外的其他正常工作的子集群。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述集群服务器获取数据的需求服务质量QoS;
所述集群服务器根据所述需求QoS及所述子集群能提供的QoS,将所述数据存储至能满足所述需求QoS的子集群上。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述集群服务器获取数据查询请求;其中,所述数据查询请求中包括待查询的数据的标识;
所述集群服务器根据所述查询请求确定是否进行全局查询;
若所述集群服务器确定进行全局查询,则将所述数据查询请求发送给所有子集群,并接收所述所有子集群根据所述数据查询请求发送的结果信息;
所述集群服务器根据所述结果信息及预设条件确定所述待查询的数据。
5.根据权利要求4所述的方法,其特征在于,若所述集群服务器确定进行指定查询,则将所述数据查询请求发送给目标子集群,并接收所述目标子集群根据所述数据查询请求发送的所述待查询的数据。
6.根据权利要求4或5所述的方法,其特征在于,所述集群服务器根据所述查询请求确定是否进行全局查询,包括:
所述集群服务器根据所述查询请求中的待查询的数据的标识确定所述待查询的数据的来源是所有的子集群还是目标子集群;
若所述集群服务器确定所述待查询的数据的来源是所有子集群,则确定进行全局查询;
若所述集群服务器确定所述待查询的数据的来源是目标子集群,则确定进行指定查询。
7.根据权利要求1所述的方法,其特征在于,所述将与原来的子集群连接的至少一个所述数据采集客户端切换至与新增的子集群连接,包括:
所述集群服务器将与所述原来的子集群连接的数据采集客户端中对应的子集群的互联网协议IP地址修改为所述新增的子集群的IP地址。
8.一种集群服务器,其特征在于,包括:
第一确定模块,用于确定是否新增了子集群,所述子集群中包括至少两个节点,每个所述节点用于存储至少两个数据分片,每个所述数据分片具有至少一个备份数据分片,所述子集群之间的数据不互通;
第一切换模块,用于当确定新增了子集群时,将与原来的子集群连接的至少一个所述数据采集客户端切换至与新增的子集群连接。
9.根据权利要求8所述的集群服务器,其特征在于,所述集群服务器还包括:
第二确定模块,用于确定第一子集群是否发生故障;
第二切换模块,用于当确定所述第一子集群发生故障时,将与所述第一子集群连接的数据采集客户端切换至与第二子集群连接;其中,所述第二子集群为所述集群***中除了所述第一子集群之外的其他正常工作的子集群。
10.根据权利要求8或9所述的集群服务器,其特征在于,所述集群服务器还包括:
第一获取模块,用于获取数据的需求服务质量QoS;
存储模块,用于根据所述需求QoS及所述子集群能提供的QoS,将所述数据存储至能满足所述需求QoS的子集群上。
11.根据权利要求8所述的集群服务器,其特征在于,所述集群服务器还包括:
第二获取模块,用于获取数据查询请求;其中,所述数据查询请求中包括待查询的数据的标识;
第三确定模块,用于器根据所述查询请求确定是否进行全局查询;
发送接收模块,用于当确定进行全局查询时,将所述数据查询请求发送给所有子集群,并接收所述所有子集群根据所述数据查询请求发送的结果信息;
第四确定模块,用于根据所述结果信息及预设条件确定所述待查询的数据。
12.根据权利要求11所述的集群服务器,其特征在于,所述发送接收模块还用于当确定进行指定查询时,将所述数据查询请求发送给目标子集群,并接收所述目标子集群根据所述数据查询请求发送的所述待查询的数据。
13.根据权利要求11或12所述的集群服务器,其特征在于,所述第三确定模块具体用于:
根据所述查询请求中的待查询的数据的标识确定所述待查询的数据的来源是所有的子集群还是目标子集群;
当确定所述待查询的数据的来源是所有子集群时,确定进行全局查询;
当确定所述待查询的数据的来源是目标子集群时,确定进行指定查询。
14.根据权利要求8所述的集群服务器,其特征在于,所述第一切换模块具体用于:
将与所述原来的子集群连接的数据采集客户端中对应的子集群的互联网协议IP地址修改为所述新增的子集群的IP地址。
15.一种集群***,其特征在于,包括:至少一个子集群、至少一个数据采集客户端及如权利要求8-14任一项所述的集群服务器;
其中,每个所述子集群中包括至少两个节点,每个节点用于存储至少两个数据分片,每个所述数据分片具有至少一个备份数据分片,所述子集群之间的数据不互通,所述子集群与至少一个所述数据采集客户端连接,所述集群服务器与每个子集群中的每个节点均连接,所述集群服务器与每个数据采集客户端均连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611028381.XA CN108089934B (zh) | 2016-11-22 | 2016-11-22 | 集群管理方法及集群服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611028381.XA CN108089934B (zh) | 2016-11-22 | 2016-11-22 | 集群管理方法及集群服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108089934A CN108089934A (zh) | 2018-05-29 |
CN108089934B true CN108089934B (zh) | 2021-08-03 |
Family
ID=62168830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611028381.XA Active CN108089934B (zh) | 2016-11-22 | 2016-11-22 | 集群管理方法及集群服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108089934B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769060B (zh) * | 2018-06-21 | 2021-06-01 | 曙光信息产业(北京)有限公司 | 自动添加服务器的方法、装置和集群监控*** |
CN109298974B (zh) * | 2018-09-30 | 2023-04-07 | 平安科技(深圳)有限公司 | ***控制方法、装置、计算机及计算机可读存储介质 |
CN110096226B (zh) * | 2019-02-28 | 2022-09-09 | 新华三信息技术有限公司 | 磁盘阵列部署方法和装置 |
CN112738220B (zh) * | 2020-12-28 | 2023-02-28 | 杭州迪普科技股份有限公司 | 服务器集群的管理方法、负载均衡方法和负载均衡设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604569A (zh) * | 2004-10-29 | 2005-04-06 | 清华大学 | 一种鲁棒的基于点对点的流调度方法 |
WO2010142078A1 (zh) * | 2009-06-10 | 2010-12-16 | 华为技术有限公司 | 一种移动搜索接口适配的方法、搜索服务器以及*** |
CN102984267A (zh) * | 2012-12-07 | 2013-03-20 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式缓存节点动态更新到客户端的方法及*** |
CN104199881A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 数据库集群、数据查询方法、数据同步方法和装置 |
CN104486155A (zh) * | 2014-12-15 | 2015-04-01 | 北京趣拿软件科技有限公司 | 一种数据库集群监控的方法及*** |
CN105930519A (zh) * | 2016-05-23 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种基于集群文件***的全局共享读缓存方法 |
-
2016
- 2016-11-22 CN CN201611028381.XA patent/CN108089934B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604569A (zh) * | 2004-10-29 | 2005-04-06 | 清华大学 | 一种鲁棒的基于点对点的流调度方法 |
WO2010142078A1 (zh) * | 2009-06-10 | 2010-12-16 | 华为技术有限公司 | 一种移动搜索接口适配的方法、搜索服务器以及*** |
CN102217413A (zh) * | 2009-06-10 | 2011-10-12 | 华为技术有限公司 | 一种移动搜索接口适配的方法、搜索服务器以及*** |
CN102984267A (zh) * | 2012-12-07 | 2013-03-20 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式缓存节点动态更新到客户端的方法及*** |
CN104199881A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 数据库集群、数据查询方法、数据同步方法和装置 |
CN104486155A (zh) * | 2014-12-15 | 2015-04-01 | 北京趣拿软件科技有限公司 | 一种数据库集群监控的方法及*** |
CN105930519A (zh) * | 2016-05-23 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种基于集群文件***的全局共享读缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108089934A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089934B (zh) | 集群管理方法及集群服务器 | |
US11354283B2 (en) | Data migration method and apparatus | |
US9361039B2 (en) | Method, related apparatus, and system for virtual network migration | |
CN106656682B (zh) | 集群心跳检测方法、***及装置 | |
CN103117901B (zh) | 一种分布式心跳检测方法、装置及*** | |
CN108777640B (zh) | 一种服务器探测方法、装置、***及存储介质 | |
CN111723024B (zh) | 数据处理方法、装置、***、客户端服务器及存储服务器 | |
EP3291487A1 (en) | Method for processing virtual machine cluster and computer system | |
CN109561054B (zh) | 一种数据传输方法、控制器及接入设备 | |
CN106452836B (zh) | 主节点设置方法及装置 | |
JP5617304B2 (ja) | スイッチング装置、情報処理装置および障害通知制御プログラム | |
CN110391940A (zh) | 服务地址的响应方法、装置、***、设备和存储介质 | |
WO2016082078A1 (zh) | 路径管理的***、装置和方法 | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
US11153173B1 (en) | Dynamically updating compute node location information in a distributed computing environment | |
CN111083204A (zh) | 文件传输方法、装置及存储介质 | |
WO2016180156A1 (zh) | 路由器集群的升级***、方法及装置 | |
CN105323271B (zh) | 一种云计算***以及云计算***的处理方法和装置 | |
CN117014492A (zh) | 云桌面动态迁移方法、装置、设备及存储介质 | |
US9015518B1 (en) | Method for hierarchical cluster voting in a cluster spreading more than one site | |
CN110971872B (zh) | 一种基于分布式集群的视频图像信息采集方法 | |
CN105939278B (zh) | 一种流量处理方法及装置 | |
US9798633B2 (en) | Access point controller failover system | |
US11757987B2 (en) | Load balancing systems and methods | |
JP2019508975A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |