CN110190991A - 一种多应用场景下的分布式流处理系统的容错方法 - Google Patents
一种多应用场景下的分布式流处理系统的容错方法 Download PDFInfo
- Publication number
- CN110190991A CN110190991A CN201910423546.0A CN201910423546A CN110190991A CN 110190991 A CN110190991 A CN 110190991A CN 201910423546 A CN201910423546 A CN 201910423546A CN 110190991 A CN110190991 A CN 110190991A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- tasks
- processing system
- stream processing
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 67
- 238000013459 approach Methods 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000007246 mechanism Effects 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000008901 benefit Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 22
- 238000007405 data analysis Methods 0.000 abstract 1
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种多应用场景下的分布式流处理系统的容错方法,属于分布式流处理领域。本发明通过对所有节点的历史有效数据分析以及实时负载数据的监测,有效地根据节点不同负载状态采取了主动备份机制或者检查点机制,从而有效解决了流处理系统中的计算节点故障恢复延迟高的问题,降低了容错开销,极大缩短了恢复延迟,提高系统的可靠性。通过在多应用场景下通过负载感知进行热备任务选择和备用节点选择,合理选取备用节点用于运行部分任务的副本任务,利用空闲节点上的空闲资源为忙碌节点上的任务做热备,从而显著缩短忙碌节点在发生故障时的恢复时延,同时提高分布式流处理系统容错机制的资源利用率和可靠性。
Description
技术领域
本发明属于分布式流处理领域,更具体地,涉及一种多应用场景下的分布式流处理系统的容错方法。
背景技术
随着分布式计算技术在各个应用领域的不断扩展,分布式流处理系统被广泛应用在众多领域,例如,金融管理、网络监视、通讯数据管理、WEB应用、传感器网络数据处理等。分布式流处理系统是指采用分布式系统处理数据流业务的互联网软件系统。通过分布式技术,使得流数据不再集中放置于一个单一的服务器(节点)上进行处理,而是把所有应用逻辑分布在网络中的各个子节点上,通过子节点进行独立处理,然后将结果汇总到下游传输节点,形成数据流传输中的特有的有向无环图,最终将结果输出给用户。
分布式流处理系统中要处理规模巨大的流数据,系统往往需要成百上千个机器共同协作运行,机器发生故障的频率逐渐增高,范围逐渐增大。当单个节点发生故障时就会导致数据处理中断,失效节点丢失内存中处理的数据以及状态信息,该节点即将发送给其他下游节点的数据以及近期接收到的数据也将全部丢失。进而将导致流处理系统无法实时处理源源不断流入的数据,无法满足系统的实时性以及高可用性。因此需要流处理系统具备良好的容错机制从而具备较强的容错性。分布式流处理系统的容错是指系统内容出现故障的情况下,仍然能够向外部环境提供正确服务的能力。
典型的流处理系统的容错机制一般分为三种:(1)主动备份(activereplication)是指在流处理系统中每个节点都有一个节点作为备份,称原来的节点为主节点,其备份为备用节点。两节点运行相同的实例。一般来说,备用节点与主节点接收相同的数据流,执行的相同的操作,然后将处理结果发送给同一个下游节点,由下游节点去除重复的数据。一旦主节点发生失效,备用节点立刻替代已失效主节点继续进行处理,原主节点重新恢复后作为新的备用节点继续工作。主动备份机制由于需要同时运行主节点以及备用节点,二者在数据处理,通信,资源消耗方面基本同步,因此失效恢复时用时基本为零,但是需要耗费几乎两倍的计算及网络资源,因此常常用在容错实时性以及准确性较高的应用场景中。(2)检查点(checkpoints)是指通过周期性的提取主节点上实例的状态,例如,节点上实例的内部计算状态以及输入输出队列,存储到备用节点中,当主节点发生故障时,新的可用节点可以从备用节点中读取最近一次的检查点,获取其状态信息及数据,重新连接上下游节点然后重新进行计算,由于检查点机制所需要消耗的系统资源量较少,因此检查点机制适合应用在资源消耗少而可容忍较长恢复延时的应用中。(3)上游备份(upstream backup)是指将数据保存在上游节点而非备用节点中,因此可以在下游节点发生失效时由上游节点进行数据重发,下游节点重新计算。并且上游节点中保存的数据会随着处理结果产生而更新删除。对于资源消耗严苛的应用场景则适用于上游备份机制,以牺牲恢复延迟的代价保证资源消耗最低。
然而,上述容错机制都是针对系统中单个节点发生故障时采取的解决方法,并不适用于多节点同时失效的情况。在分布式流处理系统中,当路由、交换机或机架等发生故障时,会导致大量节点同时失效,称为关联失效。而分布式流处理系统中为了降低上下游节点间通信延迟以及提高资源利用率,通常将上下游的相邻节点部署在临近机器,同一机器或者同一机架上,因此在发生上述故障时,大量上下游节点往往同时发生关联失效。在这种情况下,分布式流处理系统的恢复延迟就会因为下游节点需要等待上游节点恢复正常以后重发最新的数据,然后开始自身的恢复工作而大大增加系统恢复时延。此外,上述容错机制都是针对单应用环境,即在一个流处理系统中同时只部署并运行仅一个流应用的情况。实际上,大规模流处理系统上往往运行着多个流处理应用,不同的应用在不同时间都呈现着不同的数据流入速率,因此每个计算节点的负载处于动态变化且无法准确预测的状态。已有的针对单应用的流处理系统容错机制往往难以解决大规模节点发生关联失效的问题,因此导致系统长时间宕机,系统性能降低。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术分布式流处理系统的容错方法在多应用场景多流应用时恢复时间很长、备用节点利用率低的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种多应用场景下的分布式流处理系统的容错方法,所述分布式流处理系统初始为检查点机制,分布式流处理系统中所有工作节点集合Ω={N1,…,Ni,…,Nn},运行在工作节点Ni上的所有任务集合n为分布式流处理系统中所有工作节点的总个数,mi为工作节点Ni上的所有任务的总个数;
该方法包括以下步骤:
S1.实时监测分布式流处理系统中所有工作节点的所有任务的运行状态信息;
S2.根据各工作节点Ni的所有任务的运行状态信息,计算该工作节点的负载增长比和该工作节点上任务tj的负载增长比
S3.集合Ω中满足的所有工作节点构成热备节点候选集合Q,剩余节点构成空闲节点集合R;
S4.集合Q中满足的所有任务构成热备任务候选集合P;
S5.从集合P中选取无备份的任务构成热备任务集合P*,采用主动备份机制,将集合P*的任务备份部署到集合R上。
具体地,所述任务的运行状态信息包括:该任务对应的等待队列长度该任务对应的实时数据输入速率该任务需要的计算资源
具体地,
其中,为节点Ni时刻s的总负载;为节点Ni上任务tj时刻s的负载,s为当前时刻,s-1表示从当前时刻开始Δs的时间间隔以前的时刻称为上一时刻。
具体地,步骤S5采用排序法,具体如下:
对P中所有任务以节点为范围,对每个节点上所有任务的负载进行排序,然后依次选择P集合中每个节点上第一个未被部署的任务备份部署到空闲节点上,直至所有任务都部署完或者找不到任何一个空闲节点来放。
具体地,步骤S5采用随机法,具体如下:
将P中所有任务备份依次随机部署到空闲节点上,直至所有任务都部署完或者找不到任何一个空闲节点来放。
具体地,步骤S5采用贪婪方法,包括以下步骤:
(1)每准备将P中一个任务tj备份部署到空闲节点上时,判断是否满足若是,将该任务添加到P*中,否则,不添加,添加任务tj后更新 为P*中当前所有任务进行热备后所得到平均收益;
(2)对P*中每个节点的任务的负载增长比进行降序排序,结果为集合Y={y1,y2,…,yq},其中,yi表示节点Ni的负载增长比排序列表,m′i为节点Ni上热备任务的总个数,q为P*中任务所在节点的个数;
(3)R中所有节点按照空余资源情况降序排序,得到节点列表R′={R1,R2,…R|R|},|R|为集合R中节点总个数;
(4)将P*中各节点的第一个任务备份依次部署到R′中第一个备用节点上去;
(5)判断第一个备用节点剩余空闲资源是否为0,若是,则移除已经备份过的任务以及该节点,否则,移除已经备份过的任务;更新集合Y和R′,判断Y是否为空或者R′是否为空,若是,结束,否则,进入步骤(3)。
具体地,P*中当前所有任务进行热备后所得到平均收益计算公式如下:
其中,为任务tj进行热备后的备份效益,为节点Ni上任务tj时刻s的负载。
具体地,P*中的所有任务进行热备后对γ个节点所带来的整体收益U计算公式如下:
其中,γ为P*中的k个任务所在的节点的总个数。
具体地,从集合P中选取无备份的任务构成热备任务集合P*时,需要同时满足以下两个限制条件:
①每个被选取的任务在所有节点上拥有的备份个数应当等于0;
②可用节点Ri∈R上用于任务备份的资源不能大于当前节点上的所有剩余可用资源。
第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的多应用场景下的分布式流处理系统的容错方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明通过对所有节点的历史有效数据分析以及实时负载数据的监测,有效地根据节点不同负载状态采取了主动备份机制或者检查点机制,从而有效解决了流处理系统中的计算节点故障恢复延迟高的问题,降低了容错开销,极大缩短了恢复延迟,提高系统的可靠性。
2.本发明通过在多应用场景下通过负载感知进行热备任务选择和备用节点选择,合理选取备用节点用于运行部分任务的副本任务,利用空闲节点上的空闲资源为忙碌节点上的任务做热备,最终满足节点忙碌状态下的低恢复延时以及节点空闲状态下的资源节约性需求,从而显著缩短忙碌节点在发生故障时的恢复时延,同时提高分布式流处理系统容错机制的资源利用率和可靠性。
附图说明
图1为本发明实施例提供的一种多应用场景下的分布式流处理系统的容错方法流程图;
图2为本发明实施例提供的贪婪方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
分布式流处理系统中往往同时部署并运行着多个不同的流应用,每个流应用由于其应用独特性以及数据流的波动性,会导致同一时间各个应用之间存在工作负载差异,从而出现同一时间不同节点之间以及同一节点上的不同任务之间呈现显著不同的负载差异。针对流处理应用数据流的波动性,本发明提出在多应用场景下利用空闲节点上的空闲资源为忙碌节点上的任务做热备,从而显著缩短忙碌节点在发生故障时的恢复时延,同时提高分布式流处理系统容错机制的资源利用率和可靠性。
如图1所示,本发明提出一种多应用场景下的分布式流处理系统的容错方法,所述分布式流处理系统初始为检查点机制,分布式流处理系统中所有工作节点集合Ω={N1,…,Ni,…,Nn},运行在工作节点Ni上的所有任务集合n为分布式流处理系统中所有工作节点的总个数,mi为工作节点Ni上的所有任务的总个数,该方法包括以下步骤:
S1.实时监测分布式流处理系统中所有工作节点的所有任务的运行状态信息;
S2.根据各工作节点Ni的所有任务的运行状态信息,计算该工作节点的负载增长比和该工作节点上任务tj的负载增长比
S3.集合Ω中满足的所有工作节点构成热备节点候选集合Q,剩余节点构成空闲节点集合R;
S4.集合Q中满足的所有任务构成热备任务候选集合P;
S5.从集合P中选取无备份的任务构成热备任务集合P*,采用主动备份机制,将集合P*的任务备份部署到集合R上。
步骤S1.实时监测分布式流处理系统中所有工作节点的所有任务的运行状态信息。
分布式流处理系统中所有工作节点(Worker节点)集合Ω={N1,…,Ni,…,Nn},运行在工作节点Ni上的所有任务集合n为分布式流处理系统中所有工作节点的总个数,mi为工作节点Ni上的所有任务的总个数。每个任务对应一个等待队列,队列元素为来不及处理的元组。分布式流处理系统初始为检查点机制。时间间隔Δs的取值范围[5s,5min]。
通过实时监测节点负载信息,结合节点历史负载信息预测节点未来的负载情况。具体地,实时监测分布式流处理系统中所有工作节点的所有任务的运行状态信息,每个任务的运行状态信息包括:该任务对应的等待队列长度该任务对应的实时数据输入速率该任务需要的计算资源
步骤S2.根据各工作节点Ni的所有任务的运行状态信息,计算该工作节点的负载增长比和该工作节点上任务tj的负载增长比
其中,为节点Ni时刻s的总负载,反映了节点负载情况;为节点Ni上任务tj时刻s的负载。s为当前时刻,s-1表示从当前时刻开始Δs的时间间隔以前的时刻称为上一时刻。
步骤S3.集合Ω中满足的所有工作节点构成热备节点候选集合Q,剩余节点构成空闲节点集合R。
通过实时监测节点负载信息,结合节点历史负载信息预测节点未来的负载情况,并将部署在忙碌节点上的任务加入到热备任务候选集。
当大于等于设定阈值α时,该节点为忙碌节点,则将该节点添加到热备节点候选集合Q中;当小于设定阈值α时,该节点为空闲节点,取消该节点上的已有的主动备份任务,将该节点添加到空闲节点集合R中,最终,集合Q中的元素个数应小于等于总的节点个数n。设定阈值α取值范围[0.7,∞)。R∪Q=Ω。
取消该节点上的已有的主动备份任务后,只有检查点机制。
步骤S4.集合Q中满足的所有任务构成热备任务候选集合P。
热备任务是指主动备份的任务。从集合Q各节点中筛选出满足大于等于设定阈值β的任务,添加到热备任务候选集P中,集合P用于集中所有负载满足备份条件的任务。但是并非集合中所有任务都能被备份,为提高热备效率,这些任务将等待进一步筛选。设定阈值β取值范围[0.7,∞)。
步骤S5.从集合P中选取无备份的任务构成热备任务集合P*,采用主动备份机制,将集合P*的任务备份部署到集合R上。
根据空闲节点的资源使用情况,从热备任务候选集中选取使得忙碌节点在发生故障时的恢复时延最小的部分关键任务,将其切换到热备状态。对处于热备状态的任务,将其副本任务部署到指定的空闲节点。
热备任务候选集合P={t1,…,tj,…,tK},且任务tj的负载增长比空闲节点集合R满足ri为节点Ri上所有的空余资源量,r代表每个工作节点上的计算资源。由于空闲资源有限,因此,只能在K个任务选择k个任务进行热备,满足0<k≤K。这k个任务tj组成集合P*={t1,…,tj,…,tk}。
用表示任务tj在节点Ni上是否有备份,即
每个任务在整个分布式流处理系统中最多只有一个备份任务。从K个任务选择k个任务进行热备时,需要同时满足以下两个限制条件:
①每个任务tj在所有节点上拥有的备份个数应当等于0,即 即不能有备份;
②可用节点Ri∈R上用于任务备份的资源不能大于当前节点上的所有剩余可用资源,即其中,表示将要部署在可用节点Ri的任务tj′所需的资源。
热备任务越多,系统的恢复延迟越低,所以k需要最大化。本发明设计了三种不同的方法,从K个任务选择k个任务进行热备。
第一种方法:排序法
对P中所有任务以节点为范围,对每个节点上所有任务的负载进行排序,例如,Node A上Node B上然后依次选择P集合中每个节点上第一个任务t3、t2备份部署到空闲节点上,然后,依次选择集合中第二个任务t5、t1,以此类推,直至所有任务都部署完或者找不到任何一个空闲节点来放。
第二种方法:随机方法将P中所有任务备份依次随机部署到空闲节点上,直至所有任务都部署完或者找不到任何一个空闲节点来放。
第三种方法:贪婪方法
由于节点的恢复延迟与节点上的任务的负载直接相关,任务负载越重,节点恢复延迟越高,因此对负载重的任务进行热备,使得这部分任务发生节点失效时,恢复时间为零,从而使整体节点恢复延迟降低。如图2所示,贪婪方法包括以下步骤:
(1)从K个候选热备任务筛选出k个热备任务
为了保证添加的每一个任务的收益都能使整体收益U增加,对热备任务候选集合P中的所有任务,每准备添加一个任务tj时,判断是否满足若是,将该任务添加到P*中,否则,不添加,添加任务tj后更新平均收益
P*中当前所有任务进行热备后所得到平均收益计算公式如下:
其中,为任务tj进行热备后的备份效益。
P*中的所有任务进行热备后对γ个节点所带来的整体收益U计算公式如下:
其中,γ为P*中的k个任务所在的节点的总个数,满足γ≤k。
(2)排序
P*中任务所在节点的个数为q,对P*中每个节点的任务的负载增长比进行降序排序,结果为集合Y={y1,y2,…,yq},其中,yi表示节点Ni的负载增长比排序列表,其中,m′i为节点Ni上热备任务的总个数,满足m′i≤mi。
(3)R中所有节点按照空余资源情况降序排序,得到节点列表R′={R1,R2,…R|R′|};
(4)将P*中各节点的第一个任务备份依次部署到R′中第一个备用节点上去;
(5)判断第一个备用节点剩余空闲资源是否为0,若是,则移除已经备份过的任务以及该节点,否则,移除已经备份过的任务;更新集合Y和R’,判断Y是否为空或者R’是否为空,若是,结束,否则,进入步骤(3)。
通过执行上述方法,能够保障在充分利用空闲节点资源的情况下,最小化系统恢复时延。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种多应用场景下的分布式流处理系统的容错方法,其特征在于,
所述分布式流处理系统初始为检查点机制,分布式流处理系统中所有工作节点集合Ω={N1,…,Ni,...,Nn},运行在工作节点Ni上的所有任务集合n为分布式流处理系统中所有工作节点的总个数,mi为工作节点Ni上的所有任务的总个数;
该方法包括以下步骤:
S1.实时监测分布式流处理系统中所有工作节点的所有任务的运行状态信息;
S2.根据各工作节点Ni的所有任务的运行状态信息,计算该工作节点的负载增长比和该工作节点上任务tj的负载增长比
S3.集合Ω中满足的所有工作节点构成热备节点候选集合Q,剩余节点构成空闲节点集合R;
S4.集合Q中满足的所有任务构成热备任务候选集合P;
S5.从集合P中选取无备份的任务构成热备任务集合P*,采用主动备份机制,将集合P*的任务备份部署到集合R上。
2.如权利要求1所述的分布式流处理系统的容错方法,其特征在于,所述任务的运行状态信息包括:该任务对应的等待队列长度该任务对应的实时数据输入速率该任务需要的计算资源
3.如权利要求2所述的分布式流处理系统的容错方法,其特征在于,
其中,为节点Ni时刻s的总负载;为节点Ni上任务tj时刻s的负载,s为当前时刻,s-1表示从当前时刻开始Δs的时间间隔以前的时刻称为上一时刻。
4.如权利要求1所述的分布式流处理系统的容错方法,其特征在于,步骤S5采用排序法,具体如下:
对P中所有任务以节点为范围,对每个节点上所有任务的负载进行排序,然后依次选择P集合中每个节点上第一个未被部署的任务备份部署到空闲节点上,直至所有任务都部署完或者找不到任何一个空闲节点来放。
5.如权利要求1所述的分布式流处理系统的容错方法,其特征在于,步骤S5采用随机法,具体如下:
将P中所有任务备份依次随机部署到空闲节点上,直至所有任务都部署完或者找不到任何一个空闲节点来放。
6.如权利要求1所述的分布式流处理系统的容错方法,其特征在于,步骤S5采用贪婪方法,包括以下步骤:
(1)每准备将P中一个任务tj备份部署到空闲节点上时,判断是否满足若是,将该任务添加到P*中,否则,不添加,添加任务tj后更新 为P*中当前所有任务进行热备后所得到平均收益;
(2)对P*中每个节点的任务的负载增长比进行降序排序,结果为集合Y={y1,y2,…,yq},其中,yi表示节点Ni的负载增长比排序列表,m′i为节点Ni上热备任务的总个数,q为P*中任务所在节点的个数;
(3)R中所有节点按照空余资源情况降序排序,得到节点列表R′={R1,R2,…R|R|},|R|为集合R中节点总个数;
(4)将P*中各节点的第一个任务备份依次部署到R′中第一个备用节点上去;
(5)判断第一个备用节点剩余空闲资源是否为0,若是,则移除已经备份过的任务以及该节点,否则,移除已经备份过的任务;更新集合Y和R′,判断Y是否为空或者R′是否为空,若是,结束,否则,进入步骤(3)。
7.如权利要求6所述的分布式流处理系统的容错方法,其特征在于,P*中当前所有任务进行热备后所得到平均收益计算公式如下:
其中,为任务tj进行热备后的备份效益,为节点Ni上任务tj时刻s的负载。
8.如权利要求6所述的分布式流处理系统的容错方法,其特征在于,P*中的所有任务进行热备后对γ个节点所带来的整体收益U计算公式如下:
其中,γ为P*中的k个任务所在的节点的总个数。
9.如权利要求4至8任一项所述的分布式流处理系统的容错方法,其特征在于,从集合P中选取无备份的任务构成热备任务集合P*时,需要同时满足以下两个限制条件:
①每个被选取的任务在所有节点上拥有的备份个数应当等于0;
②可用节点Ri∈R上用于任务备份的资源不能大于当前节点上的所有剩余可用资源。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的多应用场景下的分布式流处理系统的容错方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423546.0A CN110190991B (zh) | 2019-05-21 | 2019-05-21 | 一种多应用场景下的分布式流处理系统的容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423546.0A CN110190991B (zh) | 2019-05-21 | 2019-05-21 | 一种多应用场景下的分布式流处理系统的容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110190991A true CN110190991A (zh) | 2019-08-30 |
CN110190991B CN110190991B (zh) | 2020-06-02 |
Family
ID=67717141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910423546.0A Active CN110190991B (zh) | 2019-05-21 | 2019-05-21 | 一种多应用场景下的分布式流处理系统的容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110190991B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780974A (zh) * | 2019-09-10 | 2020-02-11 | 杭州电子科技大学 | 一种移动边缘计算环境下面向工作流的容错调度方法 |
CN110888761A (zh) * | 2019-11-29 | 2020-03-17 | 北京仿真中心 | 一种基于关键任务部分主动备份的容错方法和流处理平台 |
CN111400026A (zh) * | 2019-11-15 | 2020-07-10 | 河海大学 | 一种基于主从备份技术的分布式负载均衡方法 |
CN113312210A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种流式处理系统的轻量级容错方法 |
CN114153640A (zh) * | 2021-11-26 | 2022-03-08 | 哈尔滨工程大学 | 一种基于深度强化学习的系统容错策略方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090192981A1 (en) * | 2008-01-29 | 2009-07-30 | Olga Papaemmanouil | Query Deployment Plan For A Distributed Shared Stream Processing System |
CN102833095A (zh) * | 2012-08-10 | 2012-12-19 | 南京南瑞继保电气有限公司 | 一种多专业、大容量实时数据采集方法 |
CN103763373A (zh) * | 2014-01-23 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的调度方法和调度器 |
US20160269247A1 (en) * | 2015-03-13 | 2016-09-15 | Nec Laboratories America, Inc. | Accelerating stream processing by dynamic network aware topology re-optimization |
CN108540559A (zh) * | 2018-04-16 | 2018-09-14 | 北京航空航天大学 | 一种支持IPSec VPN负载均衡的SDN控制器 |
-
2019
- 2019-05-21 CN CN201910423546.0A patent/CN110190991B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090192981A1 (en) * | 2008-01-29 | 2009-07-30 | Olga Papaemmanouil | Query Deployment Plan For A Distributed Shared Stream Processing System |
CN102833095A (zh) * | 2012-08-10 | 2012-12-19 | 南京南瑞继保电气有限公司 | 一种多专业、大容量实时数据采集方法 |
CN103763373A (zh) * | 2014-01-23 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的调度方法和调度器 |
US20160269247A1 (en) * | 2015-03-13 | 2016-09-15 | Nec Laboratories America, Inc. | Accelerating stream processing by dynamic network aware topology re-optimization |
CN108540559A (zh) * | 2018-04-16 | 2018-09-14 | 北京航空航天大学 | 一种支持IPSec VPN负载均衡的SDN控制器 |
Non-Patent Citations (2)
Title |
---|
CHANGFU LIN等: "Ares:a High Performance and Fault-tolerant Distributed Stream Proccessing System", 《2018 IEEE 26TH INTERNATIONAL COFERENCE ON NETWORK PROTOCOLS》 * |
赵作博: "云平台容错能力测试套件的设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780974A (zh) * | 2019-09-10 | 2020-02-11 | 杭州电子科技大学 | 一种移动边缘计算环境下面向工作流的容错调度方法 |
CN110780974B (zh) * | 2019-09-10 | 2022-03-01 | 杭州电子科技大学 | 一种移动边缘计算环境下面向工作流的容错调度方法 |
CN111400026A (zh) * | 2019-11-15 | 2020-07-10 | 河海大学 | 一种基于主从备份技术的分布式负载均衡方法 |
CN111400026B (zh) * | 2019-11-15 | 2023-02-28 | 河海大学 | 一种基于主从备份技术的分布式负载均衡方法 |
CN110888761A (zh) * | 2019-11-29 | 2020-03-17 | 北京仿真中心 | 一种基于关键任务部分主动备份的容错方法和流处理平台 |
CN110888761B (zh) * | 2019-11-29 | 2023-04-28 | 北京仿真中心 | 一种基于关键任务部分主动备份的容错方法和流处理平台 |
CN113312210A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种流式处理系统的轻量级容错方法 |
CN113312210B (zh) * | 2021-05-28 | 2022-07-29 | 北京航空航天大学 | 一种流式处理系统的轻量级容错方法 |
CN114153640A (zh) * | 2021-11-26 | 2022-03-08 | 哈尔滨工程大学 | 一种基于深度强化学习的系统容错策略方法 |
CN114153640B (zh) * | 2021-11-26 | 2024-05-31 | 哈尔滨工程大学 | 一种基于深度强化学习的系统容错策略方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110190991B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110190991B (zh) | 一种多应用场景下的分布式流处理系统的容错方法 | |
CN108733509B (zh) | 用于在集群系统中备份和恢复数据的方法和系统 | |
CN107315760B (zh) | 用于连续图更新和计算的平台 | |
CN103139302A (zh) | 考虑负载均衡的实时副本调度方法 | |
CN105335251A (zh) | 一种故障恢复方法及系统 | |
Cao et al. | Checkpointing and rollback of wide-area distributed applications using mobile agents | |
Talwar et al. | An energy efficient agent aware proactive fault tolerance for preventing deterioration of virtual machines within cloud environment | |
Garg et al. | Fault tolerant task scheduling on computational grid using checkpointing under transient faults | |
Altameem | Fault tolerance techniques in grid computing systems | |
CN108763312B (zh) | 一种基于负载的从数据节点筛选方法 | |
Huda et al. | An agent oriented proactive fault-tolerant framework for grid computing | |
Ali et al. | Probabilistic normed load monitoring in large scale distributed systems using mobile agents | |
Amoon | A job checkpointing system for computational grids | |
CN111274111A (zh) | 一种用于微服务老化的预测与抗衰方法 | |
Amoon | A fault tolerant scheduling system based on check pointing for computational grids | |
Singh et al. | Using host criticalities for fault tolerance in mobile agent systems | |
CN114598591A (zh) | 嵌入式平台节点故障恢复系统及方法 | |
CN104516778B (zh) | 一种多任务环境下进程检查点的保存与恢复系统及方法 | |
Zhu et al. | Supporting fault-tolerance in streaming grid applications | |
CN113010295A (zh) | 流式计算方法、装置、设备以及存储介质 | |
Kim et al. | The adaptable distributed recovery block scheme and a modular implementation model | |
Bhagyashree et al. | A hierarchical fault detection and recovery in a computational grid using watchdog timers | |
CN114595000B (zh) | 一种面向边缘智能的高弹性多节点协同模型卸载方法 | |
CN106777238A (zh) | 一种hdfs分布式文件系统的自适应容错调节方法 | |
Singh et al. | Comprehensive Analysis of Checkpointing Approach in Grid Computing |
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 |