CN104598320A - 基于分布式系统的任务执行方法及系统 - Google Patents
基于分布式系统的任务执行方法及系统 Download PDFInfo
- Publication number
- CN104598320A CN104598320A CN201510051889.0A CN201510051889A CN104598320A CN 104598320 A CN104598320 A CN 104598320A CN 201510051889 A CN201510051889 A CN 201510051889A CN 104598320 A CN104598320 A CN 104598320A
- Authority
- CN
- China
- Prior art keywords
- task
- actuating station
- module
- management end
- distributed system
- 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
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分布式系统的任务执行方法,所述分布式系统包括管理端和多个执行端;所述管理端将接收到的任务发送给选定的第一执行端,其中,所述任务包括多个可顺序执行的任务模块,并至少有一个是对可切片的任务模块进行封装后的封装模块;在所述第一执行端执行该任务时,还包括以下步骤拆封所述封装模块,并将切分请求及拆封后的任务模块原信息发送给所述管理端;所述管理端根据任务模块原信息和可用的第二执行端数量,将所述任务模块切分成多个切片任务,并将所述多个切片任务分别发送给第一执行端和多个第二执行端;所述第一执行端和多个第二执行端执行相应的切片任务。本发明流程清晰,缩短了任务的执行时间,充分利用了现有资源。
Description
技术领域
本发明涉及广播电视播出系统技术领域,具体涉及一种基于分布式系统的任务执行方法和系统。
背景技术
广播电视台的设备系统目前大部分为分布式计算机系统,其通常以执行相应的任务来完成某一项工作。工作要求的内容不同,任务不同,其占用的资源也不同。例如素材的迁移任务主要占用磁盘I/O和网络的I/O,转码和文件技审任务主要占用CPU、内存、磁盘I/O、网络I/O资源。当系统中的某一个用于执行任务的计算机(以下称为执行端)在执行一项任务时,如果该任务耗时很长,则其长时间处于工作状态,而其它的执行端却处于闲置状态。这就产生了两个问题:
其一,该任务由单一机器来执行,执行时间过长,不能满足时限要求。例如技审任务。当有紧急播出某个视频的需要时,要求对该视频文件能够快速完成技审。技审的目的是检查内容是否适合播放,例如内容是否完整,画面是否清晰,是否有技术上的如马塞克、“黑场”(全屏幕黑色)、“彩场”(全屏幕彩色),“彩条”(彩色条状)、静帧(几帧画面完全一致)、雪花场(雪花屏幕)、静音等问题。目前的处理方式通常是将其作为任务发送给一个执行端,由其来完成技审。而在紧急状态下,希望能够在最短时间内完成技审,但是这种单机执行的方式无法满足要求。
其二,没有充分利用资源,间接地造成资源浪费。由于任务的长短不一,则在任务分配时会导致多台执行端处于空闲状态,而有一台执行端处于长时间工作状态,因而不能充分利用现有资源。
发明内容
为解决现有技术的不足,本发明提供一种基于分布式系统的任务执行方法和系统,充分利用分布式系统资源,提高工作效率。
根据本发明的一个方面,本发明提供了一种基于分布式系统的任务执行方法,所述分布式系统包括管理端和多个执行端;所述管理端将接收到的任务发送给选定的第一执行端,其中,所述任务包括多个可顺序执行的任务模块,并至少有一个是对可切片的任务模块进行封装后的封装模块;在所述第一执行端执行该任务时,还包括以下步骤:
拆封所述封装模块,并将切分请求及拆封后的任务模块原信息发送给所述管理端;
所述管理端根据任务模块原信息和可用的第二执行端数量,将所述任务模块切分成多个切片任务,并将所述多个切片任务分别发送给第一执行端和多个第二执行端;
所述第一执行端和多个第二执行端执行相应的切片任务。
优选地,在所述基于分布式系统的任务执行方法中,在所述管理端接收到所述任务之前,还包括任务的生成步骤;在生成任务时,将可切片的任务模块原信息设为所述封装模块的一个参数。
优选地,在所述基于分布式系统的任务执行方法中,还包括以下步骤:
所述多个第二执行端向所述管理端报告切片任务执行进程;
所述第一执行端通过查询所述管理端获得各切片任务执行结果,并合并各个切片任务的执行结果。
优选地,在所述基于分布式系统的任务执行方法中,所述第一执行端接收到所述任务后,对该任务进行拆分;顺序执行拆分出来的任务模块。
优选地,在所述基于分布式系统的任务执行方法中,将所述任务发送给选定的第一执行端之前,所述管理端检测每个执行端的负载情况,确定所述第一执行端。
优选地,在所述基于分布式系统的任务执行方法中,管理端将所述任务模块切分成多个切片任务之前,检测每个执行端的负载情况,确定所述第二执行端的数量。
根据本发明的另一方面,本发明提供一种基于分布式系统的任务执行系统,包括分布式连接的管理端和多个执行端,其中,所述管理端将接收到的任务发送给从多个执行端中选定的第一执行端,所述任务中包括已封装了可切分任务模块的封装模块,并且根据所述第一执行端的切分请求,切分所述任务模块,向从多个执行端中选定的多个第二执行端发送切片任务;
所述第一执行端执行管理端发送来的任务,拆封所述封装模块,并向管理端发送切分请求和拆分后的可切分的任务模块原信息;
所述多个第二执行端执行管理端发来的切片任务。
优选地,在基于分布式系统的任务执行系统中,所述管理端包括:
任务接收单元,用于接收任务,所述任务包括多个可顺序执行的任务模块;
管理端管理单元,用于选定执行任务的第一执行端,并根据第一执行端的切分请求,选定执行切片任务的第二执行端;和
切分单元,根据第二执行端的数量及第一执行端发送来的可切分的任务模块的原信息,切分所述任务模块。
优选地,在基于分布式系统的任务执行系统中,所述执行端包括:
执行端管理单元,用于接收管理端发来的任务或切片任务,并向管理端发送切分请求及拆分后的任务模块原信息;
拆封单元,用于拆封封装模块,得到可切分任务模块的原信息,和
任务执行单元,用于执行各个任务模块。
优选地,在基于分布式系统的任务执行系统中,还包括任务生成单元,所述任务生成单元包括:
输入子单元,用于按模块的形式进行任务的输入;
模块检测子单元,用于检测输入的各个任务模块,确定是否有切分的任务模块;和
封装子单元,用于将可切分的任务模块封装成为一个封装模块。
本发明充分利用了分布式系统的优势,在任务被某个执行端执行的过程中,如果有其他的执行端空闲出来,通过切分任务模块,将不同的切片任务分配给这些空闲的执行端,不但缩短了任务的执行时间,而且充分利用了现有资源。另外,本发明中的任务分为多个任务模块,在形式上比较清晰,很好地体现了业务上的流程,并且在执行该任务时,基本限定了任务的主要执行端和执行顺序。在某些情况下,上一个任务模块的某些执行结果,可以直接作为下一个模块的运行参数,减少了对管理端的依赖。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1为本发明所述基于分布式系统的任务执行系统的原理结构框图;
图2为本发明所述基于分布式系统的任务执行系统中管理端的具体结构示意图;
图3为本发明所述基于分布式系统的任务执行系统中执行端的具体结构示意图;
图4为本发明所述基于分布式系统的任务执行方法的流程示意图;
图5为管理端接收到的任务结构示意图;
图6为模块封装示意图;
图7为管理端发出的任务结构示意图;
图8为本发明所述管理端发出任务的流程图;
图9为执行端接收到任务后执行任务的流程图;
图10为切片任务执行流程图。
具体实施方式
如图1所示,为本发明基于分布式系统的任务执行系统的原理结构框图。本发明所述系统包括一个管理端1和多个执行端,管理端1与多个执行端为分布式连接。其中,所述管理端1和执行端可以为服务器、工作站或一台计算机。所述管理端1在该分布式系统中实现对分布式系统内资源的动态获取,例如各个执行端计算机的CPU占用率,内存占用率,网络I/O,磁盘I/O以及对任务的分配等。执行端负责执行具体的任务模块。当任务到达管理端后,管理端会根据当前各个执行端的负载情况确定一合适的执行端并将任务分配到具体的执行端。
如图4所示,为本发明所述基于分布式系统的任务执行方法的流程示意图。在本发明中,管理端接收外部输入的任务,该任务包括多个任务模块,每一个任务模块具有相应的任务描述。在该任务中,对于可以进行切分的任务模块,已将其封装成特定的任务模块,通过该特定模块的任务描述,可知这是一个封装了其他任务模块的模块。管理端根据各个执行端的负载情况,选择合适的执行端(为以示区分,将用来执行该任务的执行端命名为第一执行端)来执行该任务。该第一执行端接收到该任务后,对该任务进行拆分,拆分出各个任务模块,然后按既定的顺序逐一执行各个任务模块。当执行到该特定模块时,对该特定模块进行拆封得到任务模块的原信息,并将切分请求及该原信息发送给管理端,管理端根据可用执行端的负载情况,确定N个第二执行端,然后对该任务模块进行切分,切分为N+1个切片,并分别发送给第一执行端及N个第二执行端来执行各个切片任务,各个执行端向管理端报告进程及相应的执行结果。第一执行端通过向管理端发送查询请求获得各个执行端的执行进度,当所有执行端全部完成时,由第一执行端合并该任务模块的结果,至此,第一执行端执行完了该可切分的任务模块,接下来,完成剩余任务模块。当所有任务模块完成,则完成该任务。
本发明将一个任务分为多个任务模块,在形式上比较清晰,很好地体现了业务上的流程,并且在执行该任务时,基本限定了任务的主要执行端和执行顺序。在某些情况下,上一个任务模块的某些执行结果,可以直接作为下一个模块的运行参数,减少了对管理端的依赖。在任务被某个执行端执行的过程中,如果有其他的执行端空闲出来,通过切分任务模块,将不同的切片任务分配给这些空闲的执行端,不但缩短了任务的执行时间,而且充分利用了现有资源。
图2为本发明所述将任务实时切片的系统中管理端的具体结构示意图。图8-10为本发明所述方法的流程图,结合各图,对本发明所述系统及方法进行详细说明。
如图2所示,所述管理端1包括任务接收单元11、管理端管理单元12、执行端检测单元13和切分单元14。步骤S10,任务接收单元11接收从外部输入的任务,该任务包括多个任务模块(一具体实施例如图5,包括模块a、模块b……模块x)、整体任务描述及单个任务模块的描述。参见图2及图8所示,图8为任务生成流程图。图2中的任务生成单元可以为管理端外部的一个系统或管理端的一个单元。本发明以管理端外部系统为例,说明任务的生成过程。当要生成一个具体任务时,步骤S10,输入子单元30按模块的形式进行任务的输入,即一个任务模块一个任务模块地输入。步骤S11,模块检测子单元31检测各个任务模块。根据各个任务模块的描述,确定其任务类型、时长,并根据其是否有代码及程序支持,在步骤S12来确定是否需要切片。如果有需要切片的模块,如模块B和模块X,则在步骤S14,由封装子单元32分别将模块b和模块x封装为模块B和模块X。在封装时,将模块b的原始信息封装在特定模块B中,作为其的一个参数存在,如图6所示。然后在步骤S13,确定是否检测完所有的任务模块,如果全部检测完,则该任务生成完毕,等待需要时发送给具体的管理端。如果没有检测完毕,则继续检测。
管理端的任务接收单元11接收到任务后,将该任务发送给管理端管理单元12。管理端管理单元12通知执行端检测单元13对各个执行端的负载情况进行检测,选择一个合适的第一执行端来执行该任务,并将该任务发给第一执行端。
如图3所示,图3为本发明所述将任务实时切片的系统中执行端的具体结构示意图。每个执行端包括端管理单元20、任务执行单元21和拆封单元22。如图9所示,为第一执行端执行任务的流程图。步骤S20,执行端管理单元20接收管理端1发送来的任务,步骤S21,从该任务拆分出各个任务模块;步骤S22,任务执行单元21依次执行各个任务模块;步骤S23,判断当前任务模块是否为被管理端1封装的封装模块B,如果是,在步骤S24,由拆封单元21将封状模块B拆封,得到可切分任务模块b的原始信息。如果不是,则继续执行任务;步骤S25,由执行端管理单元20将模块b的原信息发送给管理端1,同时由将所述第一执行端设置成等待状态。
如图10所示,为切片任务执行流程图。在步骤S30,管理端1的管理端管理单元12收到第一执行端发送来的模块B的原信息,在步骤S31,执行端检测单元13检测到可用的第二执行端数量N。在步骤S32,根据该可用的第二执行端数量N,由切分单元14将模块b切分成N+1个切片。在步骤S33,将所述N+1个切片中的一个和切分信息发送给所述第一执行端,并同时将其他N个切片发送给其他N个第二执行端。其中,所述的拆分信息为文件大小、时长等。
步骤S34,所述N个第二执行端接收到切片任务时,将该切片任务发送给各自的任务执行子单元21,由所述任务执行单元21执行所述切片任务。在步骤S35,各个第二执行端向管理端报告其进程。
当第一执行端完成所述的切片任务后,在步骤S36,向管理端发送查询请求,查询其他第二执行端的切片任务执行情况,在步骤S37,判断是否所有的第二执行端全部执行完,如果没有完成,则在步骤S38,等待第二执行端完成各自的切片任务。如果所有的第二执行端都已完成任务,则步骤S39,第一执行端合并该任务结果,结束该任务模块。接下来,执行下一个任务模块c。直到执行完所有的任务模块,则本系统完成任务1。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (10)
1.一种基于分布式系统的任务执行方法,所述分布式系统包括管理端和多个执行端;所述管理端将接收到的任务发送给选定的第一执行端,其中,所述任务包括多个可顺序执行的任务模块,并至少有一个是对可切片的任务模块进行封装后的封装模块;在所述第一执行端执行该任务时,还包括以下步骤:
拆封所述封装模块,并将切分请求及拆封后的任务模块原信息发送给所述管理端;
所述管理端根据任务模块原信息和可用的第二执行端数量,将所述任务模块切分成多个切片任务,并将所述多个切片任务分别发送给第一执行端和多个第二执行端;
所述第一执行端和多个第二执行端执行相应的切片任务。
2.如权利要求1所述的基于分布式系统的任务执行方法,其中,在所述管理端接收到所述任务之前,还包括任务的生成步骤;在生成任务时,将可切片的任务模块原信息设为所述封装模块的一个参数。
3.如权利要求1或2所述的基于分布式系统的任务执行方法,其中,还包括以下步骤:
所述多个第二执行端向所述管理端报告切片任务执行进程;
所述第一执行端通过查询所述管理端获得各切片任务执行结果,并合并各个切片任务的执行结果。
4.如权利要求1所述的基于分布式系统的任务执行方法,其中,所述第一执行端接收到所述任务后,对该任务进行拆分;顺序执行拆分出来的任务模块。
5.如权利要求1所述的基于分布式系统的任务执行方法,其中,将所述任务发送给选定的第一执行端之前,所述管理端检测每个执行端的负载情况,确定所述第一执行端。
6.如权利要求1所述的基于分布式系统的任务执行方法,其中,管理端将所述任务模块切分成多个切片任务之前,检测每个执行端的负载情况,确定所述第二执行端的数量。
7.一种基于分布式系统的任务执行系统,包括分布式连接的管理端和多个执行端,其中,所述管理端将接收到的任务发送给从多个执行端中选定的第一执行端,所述任务中包括已封装了可切分任务模块的封装模块,并且根据所述第一执行端的切分请求,切分所述任务模块,向从多个执行端中选定的多个第二执行端发送切片任务;
所述第一执行端执行管理端发送来的任务,拆封所述封装模块,并向管理端发送切分请求和拆分后的可切分的任务模块原信息;
所述多个第二执行端执行管理端发来的切片任务。
8.如权利要求7所述的基于分布式系统的任务执行系统,其中,所述管理端包括:
任务接收单元,用于接收任务,所述任务包括多个可顺序执行的任务模块;
管理端管理单元,用于选定执行任务的第一执行端,并根据第一执行端的切分请求,选定执行切片任务的第二执行端;和
切分单元,根据第二执行端的数量及第一执行端发送来的可切分的任务模块的原信息,切分所述任务模块。
9.如权利要求7所述的基于分布式系统的任务执行系统,其中,所述执行端包括:
执行端管理单元,用于接收管理端发来的任务或切片任务,并向管理端发送切分请求及拆分后的任务模块原信息;
拆封单元,用于拆封封装模块,得到可切分任务模块的原信息,和
任务执行单元,用于执行各个任务模块。
10.如权利要求7-9任一所述的基于分布式系统的任务执行系统,其中,还包括任务生成单元,所述任务生成单元包括:
输入子单元,用于按模块的形式进行任务的输入;
模块检测子单元,用于检测输入的各个任务模块,确定是否有切分的任务模块;和
封装子单元,用于将可切分的任务模块封装成为一个封装模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510051889.0A CN104598320B (zh) | 2015-01-30 | 2015-01-30 | 基于分布式系统的任务执行方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510051889.0A CN104598320B (zh) | 2015-01-30 | 2015-01-30 | 基于分布式系统的任务执行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598320A true CN104598320A (zh) | 2015-05-06 |
CN104598320B CN104598320B (zh) | 2018-11-30 |
Family
ID=53124134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510051889.0A Active CN104598320B (zh) | 2015-01-30 | 2015-01-30 | 基于分布式系统的任务执行方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598320B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791434A (zh) * | 2016-04-27 | 2016-07-20 | 深圳市永兴元科技有限公司 | 分布式数据处理方法及数据中心 |
CN105847279A (zh) * | 2016-05-03 | 2016-08-10 | 深圳市永兴元科技有限公司 | 分布式数据处理方法及数据中心 |
CN108228326A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 批量任务处理方法和分布式系统 |
CN108900639A (zh) * | 2018-08-10 | 2018-11-27 | 陈雪 | 集群式云计算系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283351A1 (en) * | 2006-05-31 | 2007-12-06 | Degenaro Louis R | Unified job processing of interdependent heterogeneous tasks |
US20120158816A1 (en) * | 2010-12-15 | 2012-06-21 | Electronics And Telecommunications Research Institute | Service providing method and device using the same |
CN103294533A (zh) * | 2012-10-30 | 2013-09-11 | 北京安天电子设备有限公司 | 任务流控制方法及系统 |
CN103473119A (zh) * | 2012-06-06 | 2013-12-25 | 百度在线网络技术(北京)有限公司 | 任务协作装置及方法 |
CN104253850A (zh) * | 2014-01-07 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种任务分布式调度方法和系统 |
-
2015
- 2015-01-30 CN CN201510051889.0A patent/CN104598320B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283351A1 (en) * | 2006-05-31 | 2007-12-06 | Degenaro Louis R | Unified job processing of interdependent heterogeneous tasks |
US20120158816A1 (en) * | 2010-12-15 | 2012-06-21 | Electronics And Telecommunications Research Institute | Service providing method and device using the same |
CN103473119A (zh) * | 2012-06-06 | 2013-12-25 | 百度在线网络技术(北京)有限公司 | 任务协作装置及方法 |
CN103294533A (zh) * | 2012-10-30 | 2013-09-11 | 北京安天电子设备有限公司 | 任务流控制方法及系统 |
CN104253850A (zh) * | 2014-01-07 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种任务分布式调度方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791434A (zh) * | 2016-04-27 | 2016-07-20 | 深圳市永兴元科技有限公司 | 分布式数据处理方法及数据中心 |
CN105847279A (zh) * | 2016-05-03 | 2016-08-10 | 深圳市永兴元科技有限公司 | 分布式数据处理方法及数据中心 |
CN108228326A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 批量任务处理方法和分布式系统 |
CN108900639A (zh) * | 2018-08-10 | 2018-11-27 | 陈雪 | 集群式云计算系统 |
CN108900639B (zh) * | 2018-08-10 | 2021-04-06 | 乾元云硕科技(深圳)有限公司 | 集群式云计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104598320B (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598320A (zh) | 基于分布式系统的任务执行方法及系统 | |
US10771323B2 (en) | Alarm information processing method, related device, and system | |
KR101707606B1 (ko) | 서비스 기반의 통신 네트워크 평가 방법 및 평가 장치 | |
EP2838228B1 (en) | Alarm correlation analysis method, apparatus, and system | |
CN106933709B (zh) | 一种测试方法及装置 | |
CN112596885A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN102882705B (zh) | 终端设备上报日志的方法及日志上报系统 | |
WO2020103925A1 (zh) | 一种容器化虚拟网络功能的部署方法和装置 | |
US11418385B2 (en) | Network alarm method, device, system and terminal | |
CN106874189A (zh) | 一种电网实时数据库系统的自动化测试系统的实现方法 | |
CN103731870B (zh) | 监控任务的管理方法及装置 | |
CN105787364A (zh) | 任务的自动化测试方法、装置及系统 | |
US20150006459A1 (en) | Alarm Correlation Analysis Method, Apparatus and System | |
CN104899142A (zh) | 一种远程mock测试方法及装置 | |
CN108965282B (zh) | 一种非入侵式跨安全区消息跟踪与监测的系统及方法 | |
CN109040178A (zh) | 配置信息发送方法及装置 | |
CN104850491A (zh) | 一种软件测试方法、设备及系统 | |
EP3185475A1 (en) | Rack diagram display method and apparatus | |
CN110162381B (zh) | 一种容器内代理执行方法 | |
CN111797008A (zh) | 移动端埋点数据的自动验证方法、设备和存储介质 | |
CN101895439A (zh) | 多网元巡检的装置及方法 | |
CN114070855B (zh) | 资源分配方法、资源分配装置、资源分配系统、存储介质 | |
CN114489930A (zh) | 一种虚拟机热迁移方法、装置及系统 | |
CN108268300A (zh) | 一种虚拟机的迁移方法及装置 | |
CN113934552A (zh) | 功能代码的确定方法及装置、存储介质、电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |