CN111708643A - 分布式流媒体平台的批量作业方法及装置 - Google Patents
分布式流媒体平台的批量作业方法及装置 Download PDFInfo
- Publication number
- CN111708643A CN111708643A CN202010527992.9A CN202010527992A CN111708643A CN 111708643 A CN111708643 A CN 111708643A CN 202010527992 A CN202010527992 A CN 202010527992A CN 111708643 A CN111708643 A CN 111708643A
- Authority
- CN
- China
- Prior art keywords
- job
- node
- initiating node
- distributed
- target
- 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.)
- Pending
Links
Images
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种分布式流媒体平台的批量作业方法及装置,方法包括:各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁。本发明能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
Description
技术领域
本发明涉及分布式批处理技术领域,具体涉及一种分布式流媒体平台的批量作业方法及装置。
背景技术
资产托管平台的作业节点通过定时作业的方式执行批量作业,并且每个作业都需要有一套程序来管理作业的整个生命周期及运行日志,执行程序时需要占用作业平台的硬件资源,如内存、CPU等。
随着资产托管平台内作业的数量和种类不断增多,在作业发起节点负载均衡的情况下,会存在多个作业发起节点同时发起作业的作业状态,从而导致作业重复执行和作业效率低下的问题。
发明内容
针对现有技术中的问题,本发明提供一种分布式流媒体平台的批量作业方法及装置,通过批量作业的动态配置和分布式执行实现的批量作业的执行,进而提高了作业的效率。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种分布式流媒体平台的批量作业方法,包括:
各个作业发起节点发起作业;
确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;
将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
释放目标作业发起节点获取的分布式锁。
进一步的,在所述各个作业发起节点发起作业之后,还包括:
将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,所述将目标作业发起节点发起的作业发送至作业执行节点,包括:
将目标作业发起的至少两个子作业发送至作业执行节点。
进一步的,在所述确定各个作业发起节点中的目标作业发起节点之后,还包括:
设置所述分布式锁的超时时间;
相对应的,所述释放目标作业发起节点获取的分布式锁,包括:
在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
进一步的,在所述确定各个作业发起节点中的目标作业发起节点之后,还包括:
取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
进一步的,所述将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业,包括:
将所述目标作业发起节点发起的作业发送至分布式消息队列,以使所述作业执行节点监听该分布式消息队列,接收并执行该分布式消息队列中的作业。
其中,各个作业发起节点发起的作业的类型为定时作业。
第二方面,本发明提供一种分布式流媒体平台的批量作业装置,包括:
发起单元,用于各个作业发起节点发起作业;
目标单元,用于确定各个作业发起节点中的目标作业发起节点;所述目标作业发起节点是获取到分布式锁的作业发起节点;
发送单元,用于将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
释放单元,用于释放目标作业发起节点获取的分布式锁。
进一步的,还包括:
拆分单元,用于将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,所述发送单元包括:
发送子单元,用于将目标作业发起的至少两个子作业发送至作业执行节点。
进一步的,还包括:
延时单元,用于设置所述分布式锁的超时时间;
相对应的,所述释放单元包括:
释放子单元,用于在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
进一步的,还包括:
轮换单元,用于取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
进一步的,所述发送单元包括:
消息队列子单元,用于将所述目标作业发起节点发起的作业发送至分布式消息队列,以使所述作业执行节点监听该分布式消息队列,接收并执行该分布式消息队列中的作业。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的分布式流媒体平台的批量作业方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的分布式流媒体平台的批量作业方法的步骤。
由上述技术方案可知,本发明提供一种分布式流媒体平台的批量作业方法及装置,通过各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁,能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的分布式流媒体平台的批量作业方法的第一流程示意图。
图2为本发明实施例中的分布式流媒体平台的批量作业方法的第二流程示意图。
图3为本发明实施例中的分布式流媒体平台的批量作业方法的第三流程示意图。
图4为本发明实施例中的分布式流媒体平台的批量作业方法的第四流程示意图。
图5为本发明实施例中应用分布式锁作的流程图。
图6为本发明实施例中作业执行节点的流程图。
图7为本发明实施例中的分布式流媒体平台的批量作业装置的一种结构示意图。
图8为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种分布式流媒体平台的批量作业方法的实施例,参见图1,所述分布式流媒体平台的批量作业方法具体包含有如下内容:
S101:各个作业发起节点发起作业;
S102:确定各个作业发起节点中的目标作业发起节点;
在作业发起节点负载均衡的情况下,各个作业节点同时发起作业。每个作业发起节点确定自身是否获取到分布式锁,确定各个作业发起节点中获取到分布式锁的作业发起节点。含有分布式锁的作业节点可以优先于其他作业节点进行作业。
在本实施例中,作业的类型是定时作业(设定时间定时发起)或即时作业(业务逻辑流程中发起,如用户点击按钮),其中,作业的参数包括:队列名(topicName)和组名(groupName)。
S103:将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
在本步骤中,含有分布式锁的作业节点可以优先于其他作业节点进行作业,即获取到分布式锁的作业发起节点将发起的作业发送至作业执行节点,作业执行节点接收到作业发起节点的作业后开始执行作业。
在具体实施时,各个作业发起节点将发起的作业发到分布式消息队列;所述分布式消息队列中的作业被作业执行节点监听并接收,以使所述作业执行节点执行监听并接收的作业。
需要说明的是,作业发起节点使用librasKafkaTemplate.send方法将作业信息发到分布式消息队列;分布式作业执行节点使用@KafkaListener注解来监听Kafka队列,接收任务,节点内并发执行。
Kafka是一个分布式、分区的、多副本的、多订阅者,zookeeper协调的分布式日志系统(也可以当做MQ系统)。
在本步骤中,作业发起节点将作业信息通过分布式消息队列(Kafka)来异步发送作业到作业执行节点,异步发送充分利用了同步发送时浪费的时间,减少了系统卡死的可能性,利用消息队列高吞吐量,削峰填谷,解决了高并发下作业执行信息拥堵的情况,比如某一时刻有大量作业涌入,如果按照同步方式进行处理,单节点的硬件性能会导致处理作业的线程不够用,因此,一个暂存作业消息的高性能队列显得尤其重要。
S104:释放目标作业发起节点获取的分布式锁。
在本步骤中,获取到分布式锁的作业发起节点释放分布式锁,各个作业发起节点中其他作业发起节点重新发起作业并确定重新发起作业后确定的作业发起节点。
从上述描述可知,本发明实施例提供的分布式流媒体平台的批量作业方法,通过各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁,能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
在本发明的一实施例中,参见图2,所述分布式流媒体平台的批量作业方法的步骤S101之后,还包括:
S105:将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,步骤S103将目标作业发起节点发起的作业发送至作业执行节点,包括:
S1031:将目标作业发起的至少两个子作业发送至作业执行节点。
在本实施例中,将作业发起节点的作业拆分为至少两个子作业,被拆分的作业队应的作业发起节点可以是还有分布式锁的作业发起节点,也可以是不含有分布式锁的作业发起节点。
在进行拆分时,可以按不同业务作业的执行特点,将各种不同的作业执行代码移至作业执行节点;或者可以按照相同的处理逻辑,将各种不同的作业执行代码移至作业执行节点需要说明的是,子作业为可执行的最小粒度。
在本实施例中,对作业进行拆分实现对作业进行分发,并且将核心作业执行功能剥离出平台,达到平台管理逻辑清晰,可维护性高的作用。
例如:数据检查的作业在节点A执行,数据处理的作业在节点B执行,减小硬件资源的压力,将批量作业按照作业生成序号拆分,比如序号1-100为一批,200-300另一批,分批执行,这样的话,不同类型的作业即可同一时间并发执行处理,最终做到提高作业执行效率。
在本发明的一实施例中,参见图3,所述分布式流媒体平台的批量作业方法的步骤S102之后,还包括:
S106:设置所述分布式锁的超时时间;
相对应的,步骤S104释放目标作业发起节点获取的分布式锁,包括:
S1041:在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
在本实施例中,设置分布式锁的超时时间(maxTimeOut),在作业发起节点保持所述超时时间后释放获取的分布式锁,进而能够防止平台宕机导致任务出错,定时的方式不限,本实施例中使用定时注解。
在本发明的一实施例中,参见图4,所述分布式流媒体平台的批量作业方法的步骤S102之后,还包括:
S107:取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
在本实施例中,各个作业发起节点中未获取到分布式锁的作业发起节点取消本次发起的作业,减少执行程序时需要占用作业平台的硬件资源,如内存、CPU等,进而提高正在作业的作业执行节点的硬件资源,提高作业效率。
需要说明的是,在上述各个实施例中,各个作业发起节点发起的作业的类型为定时作业。即时作业可不使用该分布式锁。
定时作业和即时作业作业都使用LibrasKafkaTemplate.send方法来发送作业消息,该作业的参数包括:队列名(topicName),作业名(taskName),作业序号(taskRunId),子作业作业序号(taskLogId)和作业具体内容(data)。
为进一步地说明本方案,本发明提供一种分布式流媒体平台的批量作业方法的实例,具体包含有如下内容:
图5为应用分布式锁的流程图。
201:定时作业尝试获取锁。
在本步骤中,定时作业尝试获取分布式锁
202:该锁是否已被其他相同作业获取;
在本步骤中,由于作业发起节点负载均衡的原因,同一时间各个作业发起节点容器都会发起定时作业,故检查该锁是否被其他相同批次的作业获取。
203:退出本次作业;
在本步骤中,如果该锁已被获取,则说明该作业已被其他容器发起,取消本容器本次定时作业。
204:定时作业获取锁并写入到Redis,持有时间为指定时间,默认30秒;
在本步骤中,成功获取到分布式锁的容器,将锁设置到缓存数据库(Redis),并设置默认30秒的持有时间(超时时间)该持有时间可更改,默认30,秒,防止系统崩坏导致锁不释放,影响下次作业执行。
205:定时作业发送作业消息到kafka。
206:释放锁。
典型作业场景都是一个作业下分为多个子作业,如检查多个表中的记录是否合法。作业为检查所有范围的记录合集,子作业检查具体某个表的记录是否合法。因此,作业可按一定规则拆分为若干子作业,子作业作为可执行的最小粒度。
图6为作业执行节点的流程图。
501:作业发起节点发送作业信息到Kafka;
在本步骤中,作业由上游系统作业发起节点使用librasKafkaTemplate.send方法将作业信息发到Kafka。
该作业可能为定时作业或即时作业,批量作业通常有N个相同逻辑的子作业,可按照需求对大作业进行拆分,如100个大作业,可以拆分成10个作业为一批,共10批,分10次发送。大作业可在作业发起节点进行拆分后发送到作业执行节点,如果拆分作业需要更细的粒度,比如100个作业拆分10份,每份10个子作业,可以更进一步将这10份拆成每份1个,即100个作业先拆分成10x10,再由拆成10拆成1x10,这样的话,逻辑上作业发起节点可以将大作业信息发送给作业执行节点后,作业执行节点再将大作业进行拆分,再次将子作业信息发送到作业执行节点。
502:监听Kafka是否有作业信息;
在本步骤中,分布式作业执行节点使用KafkaListener注解来监听Kafka队列,接收任务,节点内并发执行。
503:继续监听等待;
在本步骤中,如果没有新的作业进入队列,作业执行节点则会继续监听消息队列,等待作业信息。
504:分发到节点内各个具体作业执行逻辑;
在本步骤中,如果有新的作业进入队列,则会将作业信息分发到节点内各个具体作业执行逻辑(即使用KafkaListener注解的方法)。
505:记录大作业的日志信息到数据库;
在本步骤中,作业执行之前,使用切面编程拦截,如果为第一条子作业,则将记录大作业的日志信息到数据库。之后将子作业的日志信息记录到数据库。
506:子作业执行;
507:记录子作业的执行结果并更新日志信息到数据库;
在本步骤中,子作业执行完成后,使用切面AOP来记录子作业的执行结果并更新日志信息到数据库。
508:是否为最后一次子作业;
在本步骤中,检查是否为最后一次子作业。如果是,则完成该子作业后更新大作业结束时间和状态。如果不是,则继续执行下一个子作业。
509:更新大作业状态;
在本步骤中,记录大作业的结束时间和任务状态并更新到数据库。
统一记录作业执行情况日志,方便统一查询管理作业,而原平台各个作业日志零散,无法做到快速整合。
从上述描述可知,本发明实施例可以将各个大任务按具体业务逻辑拆分为子任务,通过容器化技术实现资源的弹性伸缩,解决扩展性不足的问题;通过动态配置,降低了开发和维护代码的难度和复杂度;通过分布式锁,解决了定时任务会由于负载均衡的原因而重复执行的问题;通过异步发送,减少了系统卡死的可能性;通过统一记录执行日志,解决了各个作业表日志不统一而无法做到快速整合的问题;通过执行作业的作业执行节点的分布式运行,并发执行作业来提升计算效率,从而实现资产托管领域的批量作业执行。
本发明实施例提供一种能够实现所述分布式流媒体平台的批量作业方法中全部内容的分布式流媒体平台的批量作业装置的具体实施方式,参见图7,所述分布式流媒体平台的批量作业装置具体包括如下内容:
发起单元10,用于各个作业发起节点发起作业;
目标单元20,用于确定各个作业发起节点中的目标作业发起节点;所述目标作业发起节点是获取到分布式锁的作业发起节点;
发送单元30,用于将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
释放单元40,用于释放目标作业发起节点获取的分布式锁。
进一步的,还包括:
拆分单元,用于将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,所述发送单元包括:
发送子单元,用于将目标作业发起的至少两个子作业发送至作业执行节点。
进一步的,还包括:
延时单元,用于设置所述分布式锁的超时时间;
相对应的,所述释放单元包括:
释放子单元,用于在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
进一步的,还包括:
轮换单元,用于取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
进一步的,所述发送单元包括:
消息队列子单元,用于将所述目标作业发起节点发起的作业发送至分布式消息队列,以使所述作业执行节点监听该分布式消息队列,接收并执行该分布式消息队列中的作业。
本发明提供的分布式流媒体平台的批量作业装置的实施例具体可以用于执行上述实施例中的分布式流媒体平台的批量作业方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本发明实施例提供的分布式流媒体平台的批量作业装置,通过各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁,能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
本申请提供一种用于实现所述分布式流媒体平台的批量作业方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述分布式流媒体平台的批量作业方法的实施例及用于实现所述分布式流媒体平台的批量作业装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图8为本申请实施例的电子设备9600的系统构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,分布式流媒体平台的批量作业功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁。
从上述描述可知,本申请的实施例提供的电子设备,通过各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁,能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
在另一个实施方式中,分布式流媒体平台的批量作业装置可以与中央处理器9100分开配置,例如可以将分布式流媒体平台的批量作业配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现分布式流媒体平台的批量作业功能。
如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的分布式流媒体平台的批量作业方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的分布式流媒体平台的批量作业方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁。
从上述描述可知,本发明实施例提供的计算机可读存储介质,通过各个作业发起节点发起作业;确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;释放目标作业发起节点获取的分布式锁,能够进行批量作业的动态配置和分布式执行,实现的批量作业的执行,进而提高了作业的效率。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (13)
1.一种分布式流媒体平台的批量作业方法,其特征在于,包括:
各个作业发起节点发起作业;
确定各个作业发起节点中的目标作业发起节点,所述目标作业发起节点是获取到分布式锁的作业发起节点;
将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
释放目标作业发起节点获取的分布式锁。
2.根据权利要求1所述的分布式流媒体平台的批量作业方法,其特征在于,在所述各个作业发起节点发起作业之后,还包括:
将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,所述将目标作业发起节点发起的作业发送至作业执行节点,包括:
将目标作业发起的至少两个子作业发送至作业执行节点。
3.根据权利要求1所述的分布式流媒体平台的批量作业方法,其特征在于,在所述确定各个作业发起节点中的目标作业发起节点之后,还包括:
设置所述分布式锁的超时时间;
相对应的,所述释放目标作业发起节点获取的分布式锁,包括:
在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
4.根据权利要求1所述的分布式流媒体平台的批量作业方法,其特征在于,在所述确定各个作业发起节点中的目标作业发起节点之后,还包括:
取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
5.根据权利要求1所述的分布式流媒体平台的批量作业方法,其特征在于,所述将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业,包括:
将所述目标作业发起节点发起的作业发送至分布式消息队列,以使所述作业执行节点监听该分布式消息队列,接收并执行该分布式消息队列中的作业。
6.根据权利要求1所述的分布式流媒体平台的批量作业方法,其特征在于,各个作业发起节点发起的作业的类型为定时作业。
7.一种分布式流媒体平台的批量作业装置,其特征在于,包括:
发起单元,用于各个作业发起节点发起作业;
目标单元,用于确定各个作业发起节点中的目标作业发起节点;所述目标作业发起节点是获取到分布式锁的作业发起节点;
发送单元,用于将目标作业发起节点发起的作业发送至作业执行节点,以使所述作业执行节点执行作业;
释放单元,用于释放目标作业发起节点获取的分布式锁。
8.根据权利要求7所述的分布式流媒体平台的批量作业装置,其特征在于,还包括:
拆分单元,用于将作业发起节点发起的作业进行拆分处理得到至少两个子作业;
相对应的,所述发送单元包括:
发送子单元,用于将目标作业发起的至少两个子作业发送至作业执行节点。
9.根据权利要求7所述的分布式流媒体平台的批量作业装置,其特征在于,还包括:
延时单元,用于设置所述分布式锁的超时时间;
相对应的,所述释放单元包括:
释放子单元,用于在目标作业发起节点保持所述超时时间后,释放目标作业发起节点保持的所述分布式锁。
10.根据权利要求7所述的分布式流媒体平台的批量作业装置,其特征在于,还包括:
轮换单元,用于取消各个作业发起节点中除目标作业发起节点外的作业发起节点本次发起的作业。
11.根据权利要求7所述的分布式流媒体平台的批量作业装置,其特征在于,所述发送单元包括:
消息队列子单元,用于将所述目标作业发起节点发起的作业发送至分布式消息队列,以使所述作业执行节点监听该分布式消息队列,接收并执行该分布式消息队列中的作业。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的分布式流媒体平台的批量作业方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的分布式流媒体平台的批量作业方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010527992.9A CN111708643A (zh) | 2020-06-11 | 2020-06-11 | 分布式流媒体平台的批量作业方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010527992.9A CN111708643A (zh) | 2020-06-11 | 2020-06-11 | 分布式流媒体平台的批量作业方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708643A true CN111708643A (zh) | 2020-09-25 |
Family
ID=72539522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010527992.9A Pending CN111708643A (zh) | 2020-06-11 | 2020-06-11 | 分布式流媒体平台的批量作业方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708643A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961330A (zh) * | 2021-11-04 | 2022-01-21 | 京东科技信息技术有限公司 | 分布式定时任务执行方法、装置、设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102763086A (zh) * | 2012-01-18 | 2012-10-31 | 华为技术有限公司 | 分布式计算任务处理系统和任务处理方法 |
WO2013140412A1 (en) * | 2012-03-23 | 2013-09-26 | Infosys Limited | A method and system for distributed computing of jobs |
CN108089926A (zh) * | 2018-01-08 | 2018-05-29 | 马上消费金融股份有限公司 | 一种获取分布式锁的方法、装置、设备及可读存储介质 |
CN109558234A (zh) * | 2018-11-30 | 2019-04-02 | 中国联合网络通信集团有限公司 | 一种定时任务调度方法和装置 |
CN110971700A (zh) * | 2019-12-10 | 2020-04-07 | 腾讯云计算(北京)有限责任公司 | 分布式锁的实现方法及装置 |
-
2020
- 2020-06-11 CN CN202010527992.9A patent/CN111708643A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102763086A (zh) * | 2012-01-18 | 2012-10-31 | 华为技术有限公司 | 分布式计算任务处理系统和任务处理方法 |
WO2013140412A1 (en) * | 2012-03-23 | 2013-09-26 | Infosys Limited | A method and system for distributed computing of jobs |
CN108089926A (zh) * | 2018-01-08 | 2018-05-29 | 马上消费金融股份有限公司 | 一种获取分布式锁的方法、装置、设备及可读存储介质 |
CN109558234A (zh) * | 2018-11-30 | 2019-04-02 | 中国联合网络通信集团有限公司 | 一种定时任务调度方法和装置 |
CN110971700A (zh) * | 2019-12-10 | 2020-04-07 | 腾讯云计算(北京)有限责任公司 | 分布式锁的实现方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961330A (zh) * | 2021-11-04 | 2022-01-21 | 京东科技信息技术有限公司 | 分布式定时任务执行方法、装置、设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582472B (zh) | 一种微服务处理方法及设备 | |
CN108449410B (zh) | 一种云平台中消息管理方法、系统及相关装置 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN111782360A (zh) | 分布式任务调度方法及装置 | |
CN113452774B (zh) | 消息推送方法、装置、设备及存储介质 | |
CN111953784B (zh) | 基于异步通信框架的文件传输方法、装置及系统 | |
CN111586140A (zh) | 一种数据交互的方法及服务器 | |
CN107066339A (zh) | 分布式作业管理器及分布式作业管理方法 | |
CN113641410A (zh) | 一种基于Netty的高性能网关系统的处理方法及系统 | |
CN105516086A (zh) | 业务处理方法及装置 | |
CN111240812A (zh) | 任务执行方法及装置 | |
CN111858007A (zh) | 一种基于消息中间件的任务调度方法方法和装置 | |
CN112231073A (zh) | 一种分布式任务调度方法及其装置 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN116405547A (zh) | 消息推送方法、装置及处理器、电子设备、存储介质 | |
CN110413398B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN112346980A (zh) | 软件性能测试方法、系统和可读存储介质 | |
CN111510493A (zh) | 分布式数据传输方法及装置 | |
CN111708643A (zh) | 分布式流媒体平台的批量作业方法及装置 | |
WO2022257247A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN113326025A (zh) | 一种单一集群远程持续发布方法及装置 | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN111274047A (zh) | 信息处理方法、终端、系统、计算机设备和存储介质 | |
JP2017194729A (ja) | 計算機システムおよびシステム状態再現方法 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium |
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 |