CN112015561B - 用于流式计算服务的方法、装置和系统 - Google Patents
用于流式计算服务的方法、装置和系统 Download PDFInfo
- Publication number
- CN112015561B CN112015561B CN202010974346.7A CN202010974346A CN112015561B CN 112015561 B CN112015561 B CN 112015561B CN 202010974346 A CN202010974346 A CN 202010974346A CN 112015561 B CN112015561 B CN 112015561B
- Authority
- CN
- China
- Prior art keywords
- computing
- cluster
- node
- streaming
- message queue
- 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
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000005192 partition Methods 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000003862 health status Effects 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000036541 health Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书的实施例提供了用于流式计算服务的方法、装置、计算设备、机器可读存储介质和系统。该方法包括:确定待分配的M个消息队列分区;基于一致性哈希算法,将M个消息队列分区映射到一致性哈希环上;基于M个消息队列分区的映射结果,将M个消息队列分区分别分配给流式计算集群中的N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,N个计算节点基于一致性哈希算法被映射到一致性哈希环上。
Description
技术领域
本说明书的实施例涉及流式计算领域,并且具体地,涉及用于流式计算服务的方法、装置、计算设备、机器可读存储介质和系统。
背景技术
随着信息技术的快速发展,信息呈爆炸式增长。在这种情况下,流式计算技术应运而生。流式计算技术可以对海量的实时数据流进行计算或处理,产生实时处理结果,具有低时延、高吞吐量等优点。目前,很多应用是基于实时数据流来实现的,因此随着业务需求的不断增长,对流式计算技术的各种性能的要求也越来越高。
发明内容
考虑到现有技术的上述问题,本说明书的实施例提供了用于流式计算服务的方法、装置、计算设备、机器可读存储介质和系统。
一方面,本说明书的实施例提供了一种用于流式计算服务的方法,其中,流式计算集群包括控制节点和N个计算节点,N为大于1的正整数,所述方法由所述控制节点执行并且所述方法包括:确定待分配的M个消息队列分区,其中,M为正整数;基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上。
另一方面,本说明书的实施例提供了一种用于流式计算服务的方法,其中,流式计算集群包括控制节点、N个计算节点和至少一个热备节点,N为大于1的正整数,所述方法由所述控制节点执行并且所述方法包括:监控所述N个计算节点是否正常运行;当确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理消息队列中的被分配给所述第一计算节点的消息,其中,所述至少一个热备节点是在所述流式计算集群启动时初始化的。
另一方面,本说明书的实施例提供了一种用于流式计算服务的方法,其中,所述方法由集群管控节点执行,所述方法包括:从由所述集群管控节点管理的多个流式计算集群分别接收集群健康状态消息,其中,所述多个流式计算集群分别同步地处理相同的消息,每个流式计算集群的集群健康状态消息用于指示该流式计算集群是否正常运行;基于所述多个流式计算集群的集群健康状态消息,确定由所述多个流式计算集群中的哪个流式计算集群对外提供服务。
另一方面,本说明书的实施例提供了一种用于流式计算服务的控制节点,其中,流式计算集群包括所述控制节点和N个计算节点,N为大于1的正整数,所述控制节点包括:确定单元,其确定待分配的M个消息队列分区,其中,M为正整数;映射单元,其基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;分配单元,其基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上。
另一方面,本说明书的实施例提供了一种用于流式计算服务的控制节点,其中,流式计算集群包括所述控制节点、N个计算节点和至少一个热备节点,N为大于1的正整数,所述控制节点包括:监控单元,其监控所述N个计算节点是否正常运行;切换单元,其在确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理消息队列中的被分配给所述第一计算节点的消息,其中,所述至少一个热备节点是在所述流式计算集群启动时初始化的。
另一方面,本说明书的实施例提供了一种用于流式计算服务的集群管控节点,包括:接收单元,其从由所述集群管控节点管理的多个流式计算集群分别接收集群健康状态消息,其中,所述多个流式计算集群分别同步地处理相同的消息,每个流式计算集群的集群健康状态消息用于指示该流式计算集群是否正常运行;切换单元,其基于所述多个流式计算集群的集群健康状态消息,确定由所述多个流式计算集群中的哪个流式计算集群对外提供服务。
另一方面,本说明书的实施例提供了一种计算设备,包括:至少一个处理器;与所述至少一个处理器进行通信的存储器,其上存储有可执行代码,所述可执行代码在被所述至少一个处理器执行时使得所述至少一个处理器实现上述第一种方法。
另一方面,本说明书的实施例提供了一种计算设备,包括:至少一个处理器;与所述至少一个处理器进行通信的存储器,其上存储有可执行代码,所述可执行代码在被所述至少一个处理器执行时使得所述至少一个处理器实现上述第二种方法。
另一方面,本说明书的实施例提供了一种计算设备,包括:至少一个处理器;与所述至少一个处理器进行通信的存储器,其上存储有可执行代码,所述可执行代码在被所述至少一个处理器执行时使得所述至少一个处理器实现上述第三种方法。
另一方面,本说明书的实施例提供了一种流式计算集群,包括:上述控制节点;N个计算节点,其中,N为大于1的正整数。
另一方面,本说明书的实施例提供了一种流式计算集群,包括:上述控制节点;至少一个热备节点;N个计算节点,其中,N为大于1的正整数。
另一方面,本说明书的实施例提供了一种流式计算部署系统,包括:上述集群管控节点;多个上述流式计算集群。
另一方面,本说明书的实施例提供了一种机器可读存储介质,其存储有可执行代码,所述可执行代码在被执行时使得机器执行上述第一种方法。
另一方面,本说明书的实施例提供了一种机器可读存储介质,其存储有可执行代码,所述可执行代码在被执行时使得机器执行上述第二种方法。
另一方面,本说明书的实施例提供了一种机器可读存储介质,其存储有可执行代码,所述可执行代码在被执行时使得机器执行上述第三种方法。
附图说明
通过结合附图对本说明书的实施例的更详细的描述,本说明书的实施例的上述以及其它目的、特征和优势将变得更加明显,其中,在本说明书的实施例中,相同的附图标记通常代表相同的元素。
图1是根据一个实施例的流式计算集群的部署场景的简化示意图。
图2示出了根据一个实施例的多集群部署场景的简化视图。
图3是根据一个实施例的用于流式计算服务的方法的示意性流程图。
图4是根据一个实施例的消息队列分区的分配示意图。
图5是根据一个实施例的用于流式计算服务的方法的示意性流程图。
图6是根据一个实施例的用于流式计算服务的方法的示意性流程图。
图7是根据一个实施例的用于流式计算服务的控制节点的示意性框图。
图8是根据一个实施例的用于流式计算服务的控制节点的示意性框图。
图9是根据一个实施例的用于流式计算服务的集群管控节点。
图10是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。
图11是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。
图12是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。
图13是根据一个实施例的流式计算集群的示意性框图。
图14是根据一个实施例的流式计算集群的示意性框图。
图15是根据一个实施例的流式计算部署系统的示意性框图。
具体实施方式
现在将参考各实施例讨论本文描述的主题。应当理解的是,讨论这些实施例仅是为了使得本领域技术人员能够更好地理解并且实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者例子的限制。可以在不脱离权利要求书的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个实施例可以根据需要,省略、替换或者添加各种过程或组件。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其它实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其它的定义,无论是明确的还是隐含的,除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
流式计算技术通常可以通过流式计算集群来实现。流式计算集群可以用于各种在线应用的海量数据处理。比如,在与在线支付相关联的应用场景中,每一笔用户支付请求都需要进行资金流转,在资金流转过程中可能涉及不同的支付工具(比如,银行卡、花呗、余额宝、积分等)。当某一支付工具对应的支付渠道出现问题时,需要尽快进行渠道切换,从而保障支付成功率。通常,在支付工具中,银行卡是最为复杂的支付工具,而可能存在几百家银行提供在线支付渠道,每家银行又有多个支付渠道,各家银行提供的系统吞吐量等不同。在这种情况下,通常期望流式计算集群实时地在线计算各个银行渠道的健康度决策指标,以便保障支付成功率。当然,在其它应用场景中,流式计算集群可以对其它各种决策指标进行实时处理。
鉴于对流式计算的需求不断增长,所以目前对于流式计算集群的性能(例如,实时性、服务稳定性和可用性等)要求也越来越高。例如,在上述支付应用场景下,流式计算集群的计算服务的短暂不可用都可能引起支付渠道决策判断错误,造成资金损失。因此,如何提高流式计算集群的稳定性成为亟需解决的问题之一。
鉴于此,本说明书的实施例提供了一种用于流式计算服务的技术方案。下面将结合具体实施例进行描述。应当理解的是,下面的示例仅是为了帮助本领域技术人员更好地理解本说明书的实施例,而非对本文的技术方案进行限制。
图1是根据一个实施例的流式计算集群的部署场景的简化示意图。
在本文中,流式计算集群可以是各种适用的流式计算集群,例如Ray Streaming集群。本文对此不作限定。
如图1所示,流式计算集群100可以与上游的消息中心对接,从而可以对消息中心的消息队列进行相应的处理。流式计算集群100还可以与外部存储系统106对接,以便将所得到的处理结果存储到外部存储系统106中,供其它应用或需求方消费使用。本文中,外部存储系统106可以包括各种适用的存储系统,例如HBase。
另外,流式计算集群100可以包括用于处理各种计算逻辑的计算节点。例如,如图1所示,流式计算集群100可以包括source节点、process节点和sink节点。
source节点可以从消息中心获取消息,进而传递给process节点进行处理,process节点在处理之后可以将处理结果提供给sink节点,sink节点可以将处理结果存储到外部存储系统106中。可见,数据可以在这些节点之间进行有向流转,因此source节点、process节点和sink节点可以形成流式计算流水线。
此外,流式计算集群100还可以包括控制节点102(例如,其也可以被称为JobMaster节点),控制节点102可以对流式计算集群100中的各个计算节点进行管理、控制、协调等等。
如前所述,由于流式计算集群通常可以以毫秒级进行实时处理,因此对其的稳定性要求也是非常高的。比如,在某个计算节点宕机时,希望仍然能够保证计算任务的正常执行,而不会产生过高的延迟。
为此,在本文的部署方案中,流式计算集群100还可以包括至少一个热备节点。例如,在图1中,为了便于说明,以两个热备节点104A和104B为例进行说明。
热备节点可以是在流式计算集群100启动时进行初始化的,这与“冷备”概念是相对的。当流式计算集群100中的某个计算节点无法正常执行计算任务时,比如发生故障或异常时,某个热备节点可以代替该计算节点执行相应的计算任务。由于热备节点在流式计算集群100启动时已经完成初始化,因此热备节点可以快速地顶替发生故障的计算节点继续执行计算任务。可见,热备节点能够极大地减少在流式计算集群出现单机故障时的作业恢复时间,由此节省了重新调度启动新节点的时间。
此处,计算节点的故障检测、热备节点的启用等的操作可以是由控制节点102来控制和协调的。
应当理解的是,在图1中示出的各种节点的具体数量仅是为了便于说明本文的技术方案,在实际应用中,流式计算集群可以包括其它数量的节点,本文对此不作限定。
在一些情况下,与流式计算集群100对接的上游的消息中心也可能发生抖动或其它异常,而这也可能影响流式计算集群100的稳定性。
为此,在本文的技术方案中,可以采用一致性哈希算法来为流式计算集群的各个计算节点分配要处理的消息。例如,消息中心的消息队列通常可以被划分为多个消息队列分区(partition)。每个消息队列分区可以包括一个或多个待处理的消息。可以基于一致性哈希算法,将各个消息队列分区分配给相应的计算节点,使得消息队列分区尽可能均匀地分配到各个计算节点上。这样,即使某个消息队列分区出现故障或其它异常,也仅影响一个计算节点,而不会导致其它计算节点异常。这样,能够确保流式计算集群稳定地提供流式计算服务。该方案将在下文进一步详细描述。
另外,除了上述对流式计算集群的稳定性影响之外,还可能存在机房级别不可用的情况,例如,在某些情况下,整个流式计算集群100无法正常提供计算服务。
为此,在本文的技术方案中,可以通过多集群部署来解决机房级别不可用的问题。为了便于说明,图2示出了根据一个实施例的多集群部署场景的简化视图。
在图2的示例中,假设存在两个流式计算集群,例如,流式计算集群100和流式计算集群200。这两个流式计算集群可以部署在两个不同的机房中。比如,这两个流式计算集群可以部署在不同的地理位置上。
流式计算集群200可以与流式计算集群100是类似的,因此,流式计算集群200中的各种节点的具体操作和功能可以参见上述关于流式计算集群100的具体描述,此处不再赘述。
此处,流式计算集群100和流式计算集群200可以互为彼此的备份。例如,这两个流式计算集群可以同步地处理相同的消息,也就是说,这两个流式计算集群同时处于运行状态。
为了便于管理多个集群,可以存在集群管控节点210。集群管控节点210可以对两个流式计算集群进行管理和协调,以确定由哪一者对外提供计算服务。
例如,流式计算集群100中的控制节点102可以收集集群100内的各个计算节点的运行状态相关信息。基于各个计算节点的相关信息,控制节点102可以生成第一集群健康状态消息。第一集群健康状况消息可以用于指示流式计算集群100是否正常运行。然后,控制节点102可以将第一集群健康状态消息发送给集群管控节点210。
同样地,流式计算集群200中的控制节点202可以收集集群200内的各个计算节点的运行状态相关信息。基于各个计算节点的相关信息,控制节点202可以生成第二集群健康状态消息。第二集群健康状况消息可以用于指示流式计算集群200是否正常运行。然后,控制节点202可以将第二集群健康状态消息发送给集群管控节点210。
集群管控节点210可以基于第一集群健康状态消息和第二集群健康状态消息来决定流式计算集群100和200中的哪一者对外提供计算服务。
例如,如果第一集群健康状态消息指示流式计算集群100无法正常运行,则集群管控节点210可以使得流式计算集群200对外提供计算服务,例如,可以将需求方链接到流式计算集群200的存储系统206,这样,需求方可以从存储系统206中获取流式计算集群200的处理结果,而不是从存储系统106中获取流式计算集群100的处理结果。
通常,控制节点上报集群健康状态消息的频率可以是1秒/次,而集群管控节点210进行决策以及在集群之间进行切换通常可以在毫秒级完成,因此,集群切换所需的时间可能不会超过2秒。由此,在某个集群不可用的情况下,能够在秒级切换到其备份集群,从而保持流式计算服务的稳定性。
在一些情况下,存储系统106和存储系统206可以是同一存储系统。
在另一些情况下,存储系统106和206可以是不同的存储系统。两者中的数据可以彼此备份(比如通过双向复制方式),这样能够降低数据丢失的风险。在这种情况下,能够有效地降低存储系统的抖动影响。
应当理解的是,在图2中示出的流式计算集群的数量仅是为了便于进行说明,在实际实现时,可以部署更多个流式计算集群作为彼此的备份,本文对此不作限定。
图3是根据一个实施例的用于流式计算服务的方法的示意性流程图。
图3的方法可以由流式计算集群中的控制节点来执行,例如,上面图1中的控制节点102。
在图3的实施例中,假设流式计算集群可以包括N个计算节点,N可以为大于1的整数值。
如图3所示,在步骤302中,可以确定待处理的M个消息队列分区,M可以为正整数。
例如,如前所述,消息中心的消息可以被划分到不同的主题(topic)下,每个主题下的消息队列可以划分为不同的分区。每个消息队列分区可以包括待处理的消息。
在步骤304中,可以基于一致性哈希算法,将M个消息队列分区映射到一致性哈希环上。
在步骤306中,可以基于M个消息队列分区的映射结果,将M个消息队列分区分别分配给N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息。此处,N个计算节点可以是基于一致性哈希算法而被映射到一致性哈希环上的。
可见,在该实施例中,通过一致性哈希算法,能够将消息队列分区尽量均匀地分配给各个计算节点。这样,即使其中某个消息队列分区出现故障,也仅会有一个计算节点受到影响,而不会导致其它节点出现异常,从而有效地确保流式计算服务的稳定性。这种方式能够有效地降低上游抖动对于流式计算集群的影响。
在一个实施例中,在步骤302中,可以基于一致性哈希算法,对M个消息队列分区的标识进行哈希运算,以得到M个消息队列分区各自的哈希结果。例如,消息队列分区的标识可以包括消息队列分区的名称等信息。
然后,可以基于M个消息队列分区各自的哈希结果,将M个消息队列分区映射到一致性哈希环上。
在一个实施例中,可以在步骤306之前,确定N个计算节点各自对应的至少一个虚拟节点。然后,基于一致性哈希算法,可以将N个计算节点以及其各自对应的至少一个虚拟节点映射到一致性哈希环上。
这样,可以将M个消息队列分区更加均匀地分配给N个计算节点,从而在上游消息队列出现异常的情况下能够有效地降低其对计算节点的影响,由此确保流式计算集群的稳定性。
为了便于说明,下面将结合具体示例进行描述。图4是根据一个实施例的消息队列分区的分配示意图。应当理解的是,该示例仅是为了帮助理解本文的技术方案,而并不对其范围进行限制。
在图4的示例中,假设存在4个计算节点,即节点A、节点B、节点C和节点D。
此外,假设存在4个待分配的消息队列分区,即分区1、分区2、分区3和分区4。
另外,假设每个计算节点可以对应于一个虚拟节点,例如,节点A对应于虚拟节点A1,节点B对应于虚拟节点B1,节点C对应于虚拟节点C1,并且节点D对应于虚拟节点D1。
可以基于一致性哈希算法,将节点A-节点D以及其各自的虚拟节点A1-D1分别映射到一致性哈希环上。例如,可以对各个节点的标识进行哈希运算,然后基于其哈希结果,将这些节点分别映射到一致性哈希环上。
同样地,可以基于一致性哈希算法,将分区1-分区4映射到一致性哈希环上。例如,可以对4个消息队列分区各自的标识进行哈希运算,得到其各自的哈希结果。然后,可以基于哈希结果将这些分区映射到一致性哈希环上。
之后,可以基于映射结果,将4个分区分配给相应的节点。通常,按照就近分配原则以及顺时针方向,将每个分区分配给离其最近的节点。例如,在图4的示例中,可以将分区1分配给节点A,将分区2分配给节点B,将分区3分配给节点C,将分区4分配给节点D。
从图4的示例可以看出,通过虚拟节点的加入,能够使得分区的分配更加均匀。
可见,如果某个分区出现故障或者异常,也仅有相应的计算节点受到影响,而不会导致所有计算节点出现异常。例如,当分区1出现故障时,仅有节点A受到影响,而其它节点仍然能够保证正常运行,从而能够确保流式计算服务的稳定性。
在一个实施例中,流式计算集群还可以包括至少一个热备节点。热备节点可以是指在流式计算集群启动时被初始化的节点。
因此,可以监控N个计算节点是否正常运行。例如,可以通过心跳消息机制来监控N个计算节点的运行状态,比如可以确认每个计算节点是否存活、其作业执行情况、数据处理是否缓慢、CPU占用率是否高过阈值、是否出现反压等等,由此确定该计算节点是否在正常运行。
例如,当确定N个计算节点中的第一计算节点无法正常运行时,可以使得热备节点中的某个热备节点(例如,第一热备节点)代替第一计算节点来处理被分配给第一计算节点的消息队列分区中的消息。当存在多个热备节点时,具体选择哪个热备节点来代替故障节点,可以通过各种适用的方式来实现。例如,可以基于热备节点的处理能力、热备节点状况、或者某种预先定义的规则等等,来从多个热备节点中选择一个热备节点来代替故障节点。
在一个实施例中,从集群或机房级别而言,可以采用多集群部署方案来应对集群或机房级别不可用的情况,如前面关于图2的示例所描述的。
具体地,可以监控N个计算节点是否正常运行。然后,可以基于监控结果,生成集群健康状态消息。集群健康状态消息可以用于指示流式计算集群是否正常运行。
之后,可以将集群健康状态消息发送给集群管控节点。如前所述,集群管控节点可以用于管理多个集群。例如,集群管控节点可以从其管理的多个集群分别接收集群健康状态消息,然后基于集群健康状态消息,来确定每个集群以及其对应的备用集群中的哪一者对外提供服务。
具体地,对于上述提到的流式计算集群,可以部署其对应的备用流式计算集群。这两个流式计算集群的控制节点都可以向集群管控节点发送集群健康状态消息,这样,如果集群管控节点发现其中一个流式计算集群无法正常运行,则可以使另一流式计算集群对外提供服务。比如,将对外的查询等各种功能链接到要对外提供服务的该流式计算集群的存储系统上。
此处,两个流式计算集群为彼此的备用集群,可以意味着两个流式计算集群同步地处理相同的任务,比如相同的消息队列分区。也就是说,这两个流式计算集群可以都处于运行状态。在一些情况下,这两个流式计算集群可以部署在不同的机房中,比如可以部署在不同的地理区域中。在一些情况下,这两个流式计算集群可以分别对应于不同的外部存储系统,即可以连接到不同的外部存储系统。例如,在图2中,流式计算集群100和200分别连接到两个外部存储系统106和206。这两个外部存储系统可以是彼此的备份,比如通过双向复制方式,将两个外部存储系统中的数据进行彼此备份。
可见,在该实施例中,当其中一个流式计算集群出现故障或异常时,可以无缝且快速地使用另一流式计算集群来对外提供服务。例如,在一种严格的情况下,当流式计算集群中的一个计算节点出现异常或故障时,可以认为该流式计算集群无法正常运行。
在一个实施例中,本文提到的流式计算集群可以是Ray Streaming集群。
图5是根据一个实施例的用于流式计算服务的方法的示意性流程图。
流式计算集群可以包括控制节点、N个计算节点和至少一个热备节点,N可以为大于1的正整数。图5的方法可以由流式计算集群的控制节点来执行,比如图1的控制节点102或者图2的控制节点202。
如图5所示,在步骤502中,可以监控N个计算节点是否正常运行。比如,可以通过心跳消息机制来监控N个计算节点是否正常运行。
在步骤504中,当确定N个计算节点中的第一计算节点无法正常运行时,可以使得至少一个热备节点中的第一热备节点代替第一计算节点来处理消息队列中的被分配给第一计算节点的消息。
此处,至少一个热备节点可以是在流式计算集群启动时初始化的。
可见,在某个计算节点出现异常或故障的情况下,热备节点可以迅速地代替该故障计算节点来继续执行计算任务,从而能够加快流式计算集群的作业恢复时间。
图6是根据一个实施例的用于流式计算服务的方法的示意性流程图。例如,图6的方法可以由集群管控节点来执行,比如图2的集群管控节点210。
如图6所示,在步骤602中,可以从由集群管控节点管理的多个流式计算集群分别接收集群健康状态消息。
每个流式计算集群的集群健康状态消息可以用于指示该流式计算集群是否正常运行。多个流式计算集群可以分别同步地处理相同的消息,也就是说,多个流式计算集群可以是彼此的备用集群。
在步骤604中,基于多个流式计算集群的集群健康状态消息,确定多个流式计算集群中的哪个流式计算集群对外提供服务。
例如,在正常情况下,可以指定其中的第一流式计算集群对外提供服务,而其它流式计算集群可以同步地处理相同的消息,但是并不直接对外提供服务。如果第一流式计算集群的集群健康状态消息指示其无法正常运行,则集群管控节点可以使得其它备用流式计算集群来对外提供服务。
在一些情况下,各个流式计算集群上报集群健康状态消息的频率可以为1秒/次,而集群管控节点基于集群健康状态消息进行决策以及集群切换的时间可以在毫秒级,因此,整个集群级别的切换所需要的时间可以不超过2秒。由此,在出现集群级别不可用的情况下,本文的技术方案能够快速地切换到正常服务的集群。
在一些情况下,上述多个流式计算集群的数量可以是两个。
图7是根据一个实施例的用于流式计算服务的控制节点的示意性框图。例如,图7的控制节点700可以是上述图1或图2中的控制节点102或202。
在图7的实施例中,流式计算集群可以包括控制节点700和N个计算节点。N可以为大于1的正整数。
如图7所示,控制节点700可以包括确定单元702、映射单元704和分配单元706。
确定单元702可以确定待分配的M个消息队列分区,其中,M为正整数。
映射单元704可以基于一致性哈希算法,将M个消息队列分区映射到一致性哈希环上。
分配单元706可以基于M个消息队列分区的映射结果,将M个消息队列分区分别分配给N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息。N个计算节点基于一致性哈希算法被映射到一致性哈希环上。
在一个实施例中,映射单元704可以基于一致性哈希算法,对M个消息队列分区各自的标识进行哈希运算,以得到M个消息队列分区各自的哈希结果。映射单元704可以基于M个消息队列分区各自的哈希结果,将M个消息队列分区映射到一致性哈希环上。
在一个实施例中,在分配单元706将M个消息队列分区分别分配给N个计算节点中的相应的计算节点之前,映射单元704可以确定N个计算节点各自对应的至少一个虚拟节点,然后基于一致性哈希算法,将N个计算节点以及N个计算节点各自对应的至少一个虚拟节点映射到一致性哈希环上。
在一个实施例中,流式计算集群还可以包括至少一个热备节点,其中,至少一个热备节点是在流式计算集群启动时初始化的。
控制节点700还可以包括监控单元708和切换单元710。
监控单元708可以监控N个计算节点是否正常运行。
在监控单元708确定N个计算节点中的第一计算节点无法正常运行时,切换单元710可以使得至少一个热备节点中的第一热备节点代替第一计算节点来处理被分配给第一计算节点的消息队列分区中的消息。
在一个实施例中,控制节点700还可以包括生成单元712和发送单元714。
监控单元708可以监控N个计算节点是否正常运行。
生成单元712可以基于监控结果,生成集群健康状态消息。集群健康状态消息用于指示流式计算集群是否正常运行。
发送单元714可以向集群管控节点发送集群健康状态消息,
在该实施例中,集群管控节点可以用于管理流式计算集群以及流式计算集群对应的备用流式计算集群。流式计算集群和备用流式计算集群可以同步地处理相同的消息队列分区。集群健康状态消息可以由集群管控节点用来确定由该流式计算集群还是其备用流式计算集群对外提供服务。
在一个实施例中,流式计算集群和备用流式计算集群都可以是Ray Streaming集群。
控制节点700的各个单元可以执行上述方法实施例中的相应步骤,因此,为了描述的简洁,控制节点700的各个单元的具体操作和功能此处不再赘述。
图8是根据一个实施例的用于流式计算服务的控制节点的示意性框图。
例如,图8的控制节点800可以是上述图1或图2中的控制节点102或202。
在图8的实施例中,流式计算集群可以包括控制节点800、至少一个热备节点和N个计算节点。N可以为大于1的正整数。例如,该流式计算集群可以是Ray Streaming集群。
如图8所示,控制节点800可以包括监控单元802和切换单元804。
监控单元802可以监控N个计算节点是否正常运行。
在监控单元802确定N个计算节点中的第一计算节点无法正常运行时,切换单元804可以使得至少一个热备节点中的第一热备节点代替第一计算节点来处理消息队列中的被分配给第一计算节点的消息。其中,至少一个热备节点可以是在流式计算集群启动时初始化的。
控制节点800的各个单元可以执行上述方法实施例中的相应步骤,因此,为了描述的简洁,控制节点800的各个单元的具体操作和功能此处不再赘述。
图9是根据一个实施例的用于流式计算服务的集群管控节点。例如,图9的集群管控节点900可以是图2的集群管控节点210。
如图9所示,集群管控节点900可以包括接收单元902和切换单元904。
接收单元902可以从由集群管控节点900管理的多个流式计算集群分别接收集群健康状态消息。多个流式计算集群分别同步地处理相同的消息,每个流式计算集群的集群健康状态消息用于指示该流式计算集群是否正常运行。
切换单元904可以基于多个流式计算集群的集群健康状态消息,确定由多个流式计算集群中的哪个流式计算集群对外提供服务。
集群管控节点900的各个单元可以执行上述方法实施例中的相应步骤,因此,为了描述的简洁,集群管控节点900的各个单元的具体操作和功能此处不再赘述。
上述控制节点700、800以及集群管控节点900可以采用硬件实现,也可以采用软件实现,或者可以通过软硬件的组合来实现。例如,上述控制节点700、800或集群管控节点900在采用软件实现时,其可以通过其所在设备的处理器将存储器(比如非易失性存储器)中对应的可执行代码读取到内存中运行来形成。
图10是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。如图10所示,计算设备1000可以包括至少一个处理器1002、存储器1004、内存1006和通信接口1008,并且至少一个处理器1002、存储器1004、内存1006和通信接口1008经由总线1010连接在一起。至少一个处理器1002执行在存储器1004中存储或编码的至少一个可执行代码(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1004中存储的可执行代码在被至少一个处理器1002执行时,使得计算设备1000执行以上各种过程中的相应操作。例如,计算设备1000可以实现以上关于控制节点所描述的功能和操作。
图11是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。如图11所示,计算设备1100可以包括至少一个处理器1102、存储器1104、内存1106和通信接口1108,并且至少一个处理器1102、存储器1104、内存1106和通信接口1108经由总线1110连接在一起。至少一个处理器1102执行在存储器1104中存储或编码的至少一个可执行代码(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1104中存储的可执行代码在被至少一个处理器1102执行时,使得计算设备1100执行以上各种过程中的相应操作。例如,计算设备1100可以实现以上在图5中关于控制节点所描述的功能和操作。
图12是根据一个实施例的用于流式计算服务的计算设备的硬件结构图。如图12所示,计算设备1200可以包括至少一个处理器1202、存储器1204、内存1206和通信接口1208,并且至少一个处理器1202、存储器1204、内存1206和通信接口1208经由总线1210连接在一起。至少一个处理器1202执行在存储器1204中存储或编码的至少一个可执行代码(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1204中存储的可执行代码在被至少一个处理器1202执行时,使得计算设备1200执行以上各种过程中的相应操作。例如,计算设备1200可以实现关于集群管控节点所描述的功能和操作。
计算设备1000、1100或1200可以采用本领域任何适用的形式来实现,例如,其包括但不限于台式计算机、膝上型计算机、智能电话、平板计算机、消费电子设备、可穿戴智能设备等等。
本说明书的实施例还提供了一种机器可读存储介质。该机器可读存储介质可以存储有可执行代码,可执行代码在被机器执行时使得机器实现以上关于图3描述的方法实施例的具体过程。
本说明书的实施例还提供了一种机器可读存储介质。该机器可读存储介质可以存储有可执行代码,可执行代码在被机器执行时使得机器实现以上关于图5描述的方法实施例的具体过程。
本说明书的实施例还提供了一种机器可读存储介质。该机器可读存储介质可以存储有可执行代码,可执行代码在被机器执行时使得机器实现以上关于图6描述的方法实施例的具体过程。
例如,上述机器可读存储介质可以包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、静态随机存取存储器(Static Random Access Memory,SRAM)、硬盘、闪存等等。
图13是根据一个实施例的流式计算集群的示意性框图。
如图13所示,流式计算集群1300可以包括控制节点700和N个计算节点1302(1)-1302(N)。
各个节点的具体功能和操作可以参照上面关于方法实施例的描述,此处不再赘述。
在一个实施例中,流式计算集群1300可以是Ray Streaming集群。
图14是根据一个实施例的流式计算集群的示意性框图。
如图14所示,流式计算集群1400可以包括控制节点800、N个计算节点1402(1)-1402(N)以及至少一个热备节点1404。
各个节点的具体功能和操作可以参照上面关于方法实施例的描述,此处不再赘述。
在一个实施例中,流式计算集群1400可以是Ray Streaming集群。
图15是根据一个实施例的流式计算部署系统的示意性框图。
如图15所示,流式计算部署系统1500可以包括集群管控节点900、多个流式计算集群1502(1)-1502(X)。集群管控节点900、X个流式计算集群1502(1)-1502(X)的具体功能和操作可以参照上面关于方法实施例的描述,此处不再赘述。此处,X可以为大于1的正整数。
例如,流式计算集群1502(1)-1502(X)的功能和操作可以类似于流式计算集群1300的功能和操作。再例如,流式计算集群1502(1)-1502(X)的功能和操作可以类似于流式计算集群1400的功能和操作。再例如,流式计算集群1502(1)-1502(X)中的一者或多者的功能和操作可以类似于流式计算集群1300的功能和操作,而其余的流式计算集群的功能和操作可以类似于流式计算集群1400的功能和操作。
在一个实施例中,流式计算集群1502(1)-1502(X)可以均是Ray Streaming集群。
如前所述,流式计算集群1502(1)-1502(X)可以是彼此的备用集群。在一种实现方式中,X可以为2,即流式计算部署系统1500可以包括互为备份的两个流式计算集群。
应当理解的是,本说明书中的各个实施例均采用递进的方式来描述,各个实施例之间相同或相似的部分相互参见即可,每个实施例重点说明的都是与其它实施例的不同之处。例如,对于上述关于装置的实施例、关于计算设备的实施例以及关于机器可读存储介质的实施例而言,由于它们基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上文对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分别由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作例子、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开内容的实施例的可选实施方式,但是,本公开内容的实施例并不限于上述实施方式中的具体细节,在本公开内容的实施例的技术构思范围内,可以对本公开内容的实施例的技术方案进行多种变型,这些变型均属于本公开内容的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的例子和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (18)
1.一种用于流式计算服务的方法,其中,流式计算集群包括控制节点、N个计算节点以及至少一个热备节点,N为大于1的正整数,所述方法由所述控制节点执行并且所述方法包括:
确定待分配的M个消息队列分区,其中,M为正整数;
基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;
基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上,
其中,所述至少一个热备节点是在所述流式计算集群启动时初始化的;
所述方法还包括:
监控所述N个计算节点是否正常运行;
当确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理被分配给所述第一计算节点的消息队列分区中的消息。
2.根据权利要求1所述的方法,其中,将所述M个消息队列分区映射到一致性哈希环上,包括:
基于所述一致性哈希算法,对所述M个消息队列分区各自的标识进行哈希运算,以得到所述M个消息队列分区各自的哈希结果;
基于所述M个消息队列分区各自的哈希结果,将所述M个消息队列分区映射到所述一致性哈希环上。
3.根据权利要求1所述的方法,其中,在将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点之前,所述方法还包括:
确定所述N个计算节点各自对应的至少一个虚拟节点;
基于所述一致性哈希算法,将所述N个计算节点以及所述N个计算节点各自对应的至少一个虚拟节点映射到所述一致性哈希环上。
4.根据权利要求1至3中任一项所述的方法,还包括:
监控所述N个计算节点是否正常运行;
基于监控结果,生成集群健康状态消息,其中,所述集群健康状态消息用于指示所述流式计算集群是否正常运行;
向集群管控节点发送所述集群健康状态消息,
其中:
所述集群管控节点用于管理所述流式计算集群以及所述流式计算集群对应的备用流式计算集群,
所述流式计算集群和所述备用流式计算集群同步地处理相同的消息队列分区,
所述集群健康状态消息由所述集群管控节点用来确定由所述流式计算集群还是所述备用流式计算集群对外提供服务。
5.根据权利要求1至3中任一项所述的方法,其中,所述流式计算集群为Ray Streaming集群。
6.一种用于流式计算服务的方法,其中,所述方法由集群管控节点执行,所述方法包括:
从由所述集群管控节点管理的多个流式计算集群分别接收集群健康状态消息,其中,所述多个流式计算集群分别同步地处理相同的消息,每个流式计算集群的集群健康状态消息用于指示该流式计算集群是否正常运行;
基于所述多个流式计算集群的集群健康状态消息,确定由所述多个流式计算集群中的哪个流式计算集群对外提供服务,
其中,针对所述多个流式计算集群中的任一流式计算集群:
该流式计算集群包括控制节点、N个计算节点以及至少一个热备节点,N为大于1的正整数,所述至少一个热备节点是在该流式计算集群启动时初始化的,所述控制节点执行以下操作:
确定待分配的M个消息队列分区,其中,M为正整数;
基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;
基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上;
所述控制节点还执行以下操作:
监控所述N个计算节点是否正常运行;
当确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理被分配给所述第一计算节点的消息队列分区中的消息。
7.根据权利要求6所述的方法,其中,
所述多个流式计算集群连接到相同的外部存储系统;或者
所述多个流式计算集群连接到不同的外部存储系统,并且所述不同的外部存储系统是彼此的备份。
8.一种用于流式计算服务的控制节点,其中,流式计算集群包括所述控制节点、N个计算节点以及至少一个热备节点,N为大于1的正整数,所述控制节点包括:
确定单元,其确定待分配的M个消息队列分区,其中,M为正整数;
映射单元,其基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;
分配单元,其基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上,
其中,所述至少一个热备节点是在所述流式计算集群启动时初始化的;
所述控制节点还包括:
监控单元,其监控所述N个计算节点是否正常运行;
切换单元,其在确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理被分配给所述第一计算节点的消息队列分区中的消息。
9.根据权利要求8所述的控制节点,其中,所述映射单元进一步执行以下操作:
基于所述一致性哈希算法,对所述M个消息队列分区各自的标识进行哈希运算,以得到所述M个消息队列分区各自的哈希结果;
基于所述M个消息队列分区各自的哈希结果,将所述M个消息队列分区映射到所述一致性哈希环上。
10.根据权利要求8所述的控制节点,其中,所述映射单元进一步执行以下操作:在将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点之前:
确定所述N个计算节点各自对应的至少一个虚拟节点;
基于所述一致性哈希算法,将所述N个计算节点以及所述N个计算节点各自对应的至少一个虚拟节点映射到所述一致性哈希环上。
11.根据权利要求8至10中任一项所述的控制节点,还包括:
监控单元,其监控所述N个计算节点是否正常运行;
生成单元,其基于监控结果,生成集群健康状态消息,其中,所述集群健康状态消息用于指示所述流式计算集群是否正常运行;
发送单元,其向集群管控节点发送所述集群健康状态消息,
其中:
所述集群管控节点用于管理所述流式计算集群以及所述流式计算集群对应的备用流式计算集群,
所述流式计算集群和所述备用流式计算集群同步地处理相同的消息队列分区,
所述集群健康状态消息由所述集群管控节点用来确定由所述流式计算集群还是所述备用流式计算集群对外提供服务。
12.一种用于流式计算服务的集群管控节点,包括:
接收单元,其从由所述集群管控节点管理的多个流式计算集群分别接收集群健康状态消息,其中,所述多个流式计算集群分别同步地处理相同的消息,每个流式计算集群的集群健康状态消息用于指示该流式计算集群是否正常运行;
切换单元,其基于所述多个流式计算集群的集群健康状态消息,确定由所述多个流式计算集群中的哪个流式计算集群对外提供服务,
其中,针对所述多个流式计算集群中的任一流式计算集群:
该流式计算集群包括控制节点、N个计算节点以及至少一个热备节点,N为大于1的正整数,所述至少一个热备节点是在该流式计算集群启动时初始化的,所述控制节点执行以下操作:
确定待分配的M个消息队列分区,其中,M为正整数;
基于一致性哈希算法,将所述M个消息队列分区映射到一致性哈希环上;
基于所述M个消息队列分区的映射结果,将所述M个消息队列分区分别分配给所述N个计算节点中的相应的计算节点,以便由相应的计算节点处理相应的消息队列分区中的消息,其中,所述N个计算节点基于所述一致性哈希算法被映射到所述一致性哈希环上;
所述控制节点还执行以下操作:
监控所述N个计算节点是否正常运行;
当确定所述N个计算节点中的第一计算节点无法正常运行时,使得所述至少一个热备节点中的第一热备节点代替所述第一计算节点来处理被分配给所述第一计算节点的消息队列分区中的消息。
13.一种计算设备,包括:
至少一个处理器;
与所述至少一个处理器进行通信的存储器,其上存储有可执行代码,所述可执行代码在被所述至少一个处理器执行时使得所述至少一个处理器实现根据权利要求1至5中任一项所述的方法。
14.一种计算设备,包括:
至少一个处理器;
与所述至少一个处理器进行通信的存储器,其上存储有可执行代码,所述可执行代码在被所述至少一个处理器执行时使得所述至少一个处理器实现根据权利要求6或7所述的方法。
15.一种流式计算集群,包括:
根据权利要求8至11中任一项所述的控制节点;
N个计算节点,其中,N为大于1的正整数;
至少一个热备节点。
16.一种流式计算部署系统,包括:
根据权利要求12所述的集群管控节点;以及
多个根据权利要求15所述的流式计算集群。
17.一种机器可读存储介质,其存储有可执行代码,所述可执行代码在被执行时使得机器执行根据权利要求1至5中任一项所述的方法。
18.一种机器可读存储介质,其存储有可执行代码,所述可执行代码在被执行时使得机器执行根据权利要求6或7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974346.7A CN112015561B (zh) | 2020-09-16 | 2020-09-16 | 用于流式计算服务的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974346.7A CN112015561B (zh) | 2020-09-16 | 2020-09-16 | 用于流式计算服务的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015561A CN112015561A (zh) | 2020-12-01 |
CN112015561B true CN112015561B (zh) | 2024-07-30 |
Family
ID=73521883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010974346.7A Active CN112015561B (zh) | 2020-09-16 | 2020-09-16 | 用于流式计算服务的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015561B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925662B (zh) * | 2021-03-25 | 2024-02-27 | 支付宝(杭州)信息技术有限公司 | 标识生成方法和装置 |
CN116820795A (zh) * | 2023-04-18 | 2023-09-29 | 上海百秋新网商数字科技有限公司 | 加快消息处理速度并维持处理顺序的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881415A (zh) * | 2018-05-31 | 2018-11-23 | 广州亿程交通信息集团有限公司 | 分布式实时大数据分析系统 |
CN109542330A (zh) * | 2017-09-21 | 2019-03-29 | 杭州海康威视系统技术有限公司 | 数据存储方法、数据查询方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9197900B2 (en) * | 2011-09-14 | 2015-11-24 | Mobitv, Inc. | Localized redundancy for fragment processing |
CN104331270B (zh) * | 2014-10-24 | 2017-07-21 | 华为技术有限公司 | 一种流数据处理的方法、装置及系统 |
US11010341B2 (en) * | 2015-04-30 | 2021-05-18 | Netflix, Inc. | Tiered cache filling |
US20170124464A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | Rapid predictive analysis of very large data sets using the distributed computational graph |
CN108600321A (zh) * | 2018-03-26 | 2018-09-28 | 中国科学院计算技术研究所 | 一种基于分布式内存云的图数据存储方法和系统 |
CN109040212B (zh) * | 2018-07-24 | 2021-09-21 | 苏州科达科技股份有限公司 | 设备接入服务器集群方法、系统、设备及存储介质 |
-
2020
- 2020-09-16 CN CN202010974346.7A patent/CN112015561B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542330A (zh) * | 2017-09-21 | 2019-03-29 | 杭州海康威视系统技术有限公司 | 数据存储方法、数据查询方法及装置 |
CN108881415A (zh) * | 2018-05-31 | 2018-11-23 | 广州亿程交通信息集团有限公司 | 分布式实时大数据分析系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112015561A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109949111B (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
EP3620905B1 (en) | Method and device for identifying osd sub-health, and data storage system | |
CN105337780B (zh) | 一种服务器节点配置方法及物理节点 | |
US9330199B2 (en) | Striping of directed graphs and nodes with improved functionality | |
CN110807064B (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
CN110071821A (zh) | 备用节点的指定 | |
US10367676B1 (en) | Stable leader selection for distributed services | |
CN112015561B (zh) | 用于流式计算服务的方法、装置和系统 | |
CN108319618B (zh) | 一种分布式存储系统的数据分布控制方法、系统及装置 | |
CN105357042B (zh) | 一种高可用集群系统及其主节点和从节点 | |
CN111045602B (zh) | 集群系统控制方法及集群系统 | |
CN104063293A (zh) | 一种数据备份方法及流计算系统 | |
EP3813335B1 (en) | Service processing methods and systems based on a consortium blockchain network | |
CN109739435B (zh) | 文件存储和更新方法及装置 | |
CN105827678B (zh) | 一种基于高可用架构下的通信方法和节点 | |
CN106874142B (zh) | 一种实时数据容错处理方法及系统 | |
CN111045811A (zh) | 一种任务分配方法、装置、电子设备及存储介质 | |
KR101586354B1 (ko) | 병렬 연결식 서버시스템의 통신 장애 복구방법 | |
CN108462756B (zh) | 一种数据写入方法和装置 | |
CN114265753A (zh) | 消息队列的管理方法、管理系统和电子设备 | |
CN115167992A (zh) | 任务处理方法、系统、装置、服务器、介质及程序产品 | |
CN115225642A (zh) | 超融合系统的弹性负载均衡方法及系统 | |
Kang et al. | Fault-tolerant resource allocation model for service function chains with joint diversity and redundancy | |
CN112788108A (zh) | 一种跨区块链分布式消息处理方法、平台及存储介质 | |
CN107645396B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |