一种流数据任务的处理方法和装置与流程

文档序号:12068783阅读:145来源:国知局
一种流数据任务的处理方法和装置与流程

本发明涉及通信技术领域,具体涉及一种流数据任务的处理方法以及一种流数据任务的处理装置。



背景技术:

为满足用户对观看视频的清晰度的不同需求,对视频录制端推送的视频流数据进行转码处理,得到多个分辨率的视频流数据供用户选择。

目前转码视频流数据时,转码服务器使用内置的多个线程同时处理多个转码任务,每个线程处理一个转码任务,转码结束后将所得的视频流数据推送至预设存储空间。

虽然现有方法实现了视频流数据的转码处理,但是存在以下缺陷:转码服务器内置的多个线程相互关联,当某一线程处理转码任务出现问题时,如线程卡死或崩溃,会导致整个转码服务器无法正常工作,从而影响其他转码任务的进行。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的流数据任务的处理方法和相应的流数据任务的处理装置。

依据本发明的一个方面,提供了一种流数据任务的处理方法,包括:

将流数据任务拆分成多个流数据子任务;

将多个流数据子任务分配至至少一个目标处理节点;

调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务;

接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

可选地,所述将多个流数据子任务分配至至少一个目标处理节点包括:

从管理节点获取各个处理节点的负载状态;

选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。

可选地,各处理节点对应一个任务队列,在所述向各选取的目标处理节点下发至少一个流数据子任务之前,所述方法还包括:

获取各目标处理节点的任务队列;

设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值。

可选地,所述设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值包括:

根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;

确定处理时间最晚的目标流数据子任务;

按照所述目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

可选地,所述获取各目标处理节点的任务队列包括:

从各目标处理节点的管理进程获取任务队列。

可选地,在所述将流数据任务拆分为多个流数据子任务之前,所述方法还包括:

接收携带流数据地址的流数据处理指令;

通过访问所述流数据地址,下载待处理的流数据。

可选地,所述流数据任务为转码任务,所述将流数据任务拆分为多个流数据子任务包括:

按照所述流数据处理指令携带的多种转码格式,将所述流数据处理任务拆分为对应各种转码格式的多个流数据子任务。

可选地,所述流数据任务为转码任务,所述将流数据任务拆分为多个流数据子任务包括:

提取所述流数据处理指令携带的业务标识;

查找针对所述业务标识预设的多种转码格式;

按照所查找的多种转码格式,将所述流数据处理任务拆分为多个流数据子任务。

可选地,所述方法还包括:

监控各个处理进程的处理进度;

将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

可选地,所述方法还包括:

接收处理进程上报至管理进程的处理异常通知,并在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

可选地,所述方法还包括:

接收当前目标处理节点上报至管理节点的处理异常通知,并在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

依据本发明的另一个方面,提供了一种流数据任务的处理装置,包括:

任务拆分模块,用于将流数据任务拆分成多个流数据子任务;

子任务分配模块,用于将多个流数据子任务分配至至少一个目标处理节点;

处理进程调用模块,用于调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务;

处理结果接收模块,用于接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

可选地,所述子任务分配模块包括:

负载状态获取子模块,用于从管理节点获取各个处理节点的负载状态;

目标处理节点选取子模块,用于选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。

可选地,所述装置还包括:

任务队列获取模块,用于在所述向各选取的目标处理节点下发至少一个流数据子任务之前,获取各目标处理节点的任务队列,各处理节点对应一个任务队列;

排序设置子模块,用于设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值。

可选地,所述排序设置子模块包括:

处理时间预测单元,用于根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;

目标流数据子任务确定单元,用于确定处理时间最晚的目标流数据子任务;

处理时间安排单元,用于按照所述目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

可选地,所述任务队列获取模块,具体用于从各目标处理节点的管理进程获取任务队列。

可选地,所述装置还包括:

处理指令接收模块,用于在所述将流数据任务拆分为多个流数据子任务之前,接收携带流数据地址的流数据处理指令;

流数据下载模块,用于通过访问所述流数据地址,下载待处理的流数据。

可选地,所述任务拆分模块,具体用于按照所述流数据处理指令携带的多种转码格式,将所述流数据处理任务拆分为对应各种转码格式的多个流数据子任务,所述流数据任务为转码任务。

可选地,所述任务拆分模块包括:

业务标识提取子模块,用于提取所述流数据处理指令携带的业务标识,所述流数据任务为转码任务;

转码格式查找子模块,用于查找针对所述业务标识预设的多种转码格式;

任务划分子模块,用于按照所查找的多种转码格式,将所述流数据处理任务拆分为多个流数据子任务。

可选地,所述装置还包括:

处理进度监控模块,用于监控各个处理进程的处理进度;

流数据推送模块,用于将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

可选地,所述装置还包括:

第一通知接收模块,用于接收处理进程上报至管理进程的处理异常通知;

处理进程重新分配模块,用于在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

可选地,所述装置还包括:

第二通知接收模块,用于接收当前目标处理节点上报至管理节点的处理异常通知;

目标处理节点重新分配模块,用于在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

目标处理节点调用模块,用于调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

依据本发明实施例,调用目标处理节点内的处理进程对多个流数据子任务进行处理,由于多个处理进程在执行过程中互不影响,因此避免了背景技术中一个线程出现问题导致整个节点无法正常工作的情况的发生,有效保证了目标处理节点的正常工作。同时,各流数据子任务的处理结果以及汇集得到的流数据任务的处理结果可以作为任务监控、子任务分发的依据,从而完善了处理机制。

本发明实施例在各传输节点内置了管理进程并设置了管理节点,使用管理进程和管理节点对流数据子任务的处理进行管理,当处理进程出现处理异常时,管理进程或管理节点会为处理异常的流数据子任务重新分配处理进程或处理节点,从而保证了流数据任务的处理过程的顺利完成。由于处理过程中的异常修复是通过管理进程和管理节点完成的,无需人工操作,因此可以同时处理大量的任务,提高了任务处理效率,缩短了流数据的处理操作的等待时间。

本发明实施例使用管理节点监控各处理节点的负载状态,将从管理节点提取的各处理节点的负载状态作为依据,为多个流数据子任务分配目标传输节点,从而保证多个处理节点的负载均衡。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明实施例一的一种流数据任务的处理方法的步骤流程示意图;

图2示出了根据本发明实施例二的一种流数据任务的处理方法的步骤流程示意图;

图3示出了根据本发明实施例三的一种流数据任务的处理装置的结构框图;

图4示出了根据本发明实施例四的一种流数据任务的处理装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了根据本发明实施例一的一种流数据任务的处理方法的步骤流程示意图,具体可以包括如下步骤:

步骤101、将流数据任务拆分多个流数据子任务。

本发明实施例所述的方法应用于存在以流式传输方式传输的流数据的场景,如流数据转码场景、流数据传输场景等。相应地,流数据任务可以为视频流转码任务、音频流转码任务、视频流传输任务、音频流传输任务等,流数据任务携带相应的流数据。

执行本发明实施例所述方法的系统包括管理节点和多个处理节点,各处理节点内置有多个处理进程,其中,管理节点用于流数据任务的接收和分发,并且用于对多个处理节点的运行情况进行管理;处理进程用于处理划分后的流数据子任务。在某一时刻某一处理进程处理一个子任务,每个处理进程可以按照任务分配顺序,依次对分配给该处理进程的多个子任务进行处理。

管理节点和多个处理节点可以为内容分发网络(Content Delivery Networ k,CDN)中的节点,可以使用内容分发网络对管理节点和多个处理节点间的流数据任务进行传输。

管理节点在接收到流数据任务后,会将其拆分成多个流数据子任务,以使用处理节点中的处理进程对流数据子任务进行处理。

可以根据流数据任务的种类对流数据任务进行划分,例如,当流数据任务为视频流转码任务,任务指示将1080P格式的视频流转码成超清、高清和标清三种视频流,这时管理节点将视频流转码任务划分成将1080P格式的流数据转码成超清流数据、将1080P格式的流数据转码成高清流数据以及将1080P格式的流数据转码成标清流数据三个子任务;当流数据任务为流数据传输任务时,管理节点可以将流数据任务携带的流数据划分为多个子流数据,每个流数据子任务为传输部分流数据。

步骤102、将多个流数据子任务分配至至少一个目标处理节点。

本发明实施例中,流数据子任务由处理节点处理,管理节点完成对流数据任务的拆分后,会从多个处理节点中选出至少一个目标处理节点,之后将所得的多个流数据子任务分配至选择的目标处理节点。分配至某一目标处理节点的流数据子任务可以为一个或多个,例如,当流数据子任务为三个时,将三个流数据子任务分配至三个不同的目标处理节点,或将两个流数据子任务分配至一个目标传输节点,将剩余的一个流数据子任务分配至另一个目标传输节点。

可以依据多种因素为流数据子任务分配目标处理节点,具体地可以根据各处理节点的负载情况、管理节点所在区域的地理位置信息等信息中的一种或多种选择目标传输节点。

步骤103、调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务。

各目标传输节点接收到流数据子任务后,会使用内置的处理进程对流数据进行处理。可以根据各处理进程的剩余处理能力,选择一个或多个处理进程处理流数据子任务。

当某一目标传输节点接收到多个流数据子任务时,可以调用多个处理进程对流数据子任务进行处理,每个处理进程可以处理一个或多个流数据子任务;也可以调用一个处理进程对多个流数据子任务进行处理。

步骤104、接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

本发明实施例中,目标处理节点可以获取流数据子任务的处理结果并将其反馈给管理节点。处理结果可以是预设信息,例如,预设当流数据子任务处理完成时处理结果为1,当流数据子任务处理异常时处理结果为2。

目标传输节点可以通过多种方式确定流数据子任务的处理结果,例如,目标传输节点可以定期对处理进程进行检测,从而确定各流数据子任务的处理结果;或者,当流数据子任务处理完成时,处理进程可以发送指示处理完成的指令或信息,如果目标传输节点在预设时长内未接收到处理进程发送的指示处理完成的指令或信息,则判定流数据子任务的处理结果为处理异常,否则为处理正常。

进一步管理节点可以对各目标处理节点反馈的流数据子任务的处理结果进行汇总,得到流数据任务的处理结果,可以根据反馈结果确定流数据任务的处理情况。

依据本发明实施例,调用目标处理节点内的处理进程对多个流数据子任务进行处理,由于多个处理进程在执行过程中互不影响,因此避免了背景技术中一个线程出现问题导致整个节点无法正常工作的情况的发生,有效保证了目标处理节点的正常工作。同时,各流数据子任务的处理结果以及汇集得到的流数据任务的处理结果可以作为任务监控、子任务分发的依据,从而完善了处理机制。

参照图2,示出了根据本发明实施例二的一种流数据任务的处理方法的步骤流程示意图,具体可以包括如下步骤:

步骤201、将流数据任务拆分成多个流数据子任务。

本发明实施例所述的方法应用于存在以流式传输方式传输的流数据的场景,如流数据转码场景、流数据传输场景等。

当应用于流数据转码场景时,流数据任务为转码任务。可以预先限定让流数据处理指令即转码指令携带多种转码格式,这时将流数据任务拆分为多个流数据子任务的步骤可以包括:按照流数据处理指令携带的多种转码格式,将流数据处理任务拆分为对应各种转码格式的多个流数据子任务。例如,流数据处理指令为将1080P格式的视频流数据转码成720P和480P两种格式,携带720P和480P两种转码格式,管理节点会根据按照流数据处理指令携带的两种转码格式,对1080P格式的视频流数据进行转码,得到720P和480P两种格式的视频流数据。

还可以预先在管理节点存储业务标识和转码格式的对应关系,同时限定流数据处理指令即转码指令携带业务标识,其中,业务标识可以指示具体应用,可以为应用名称即AppName,业务标识与转码格式的对应关系可以是一对多的关系,这时将流数据任务拆分为多个流数据子任务的步骤可以包括:提取流数据处理指令携带的业务标识,查找针对该业务标识预设的多种转码格式,按照所查找的多种转码格式,将流数据处理任务拆分为多个流数据子任务。

在将流数据任务拆分为多个流数据子任务之前,需要获取流数据。实际中预转码流数据的业务端在向管理节点发送流数据处理指令时,可以让流数据处理指令携带流数据的流数据地址,当管理节点接收到流数据的流数据地址后,可以通过以下步骤获取流数据:接收携带流数据地址的流数据处理指令,通过访问所述流数据地址,下载待处理的流数据。

例如,管理节点接收到的流数据处理指令携带的流数据地址为***/AppName/SN,其中AppName为业务标识,SN为客户端标识,管理节点可以通过访问流数据地址获取流数据,并且根据预先存储的业务标识和转码格式的对应关系,确定所需的多种转码格式,进一步根据确定的多种转码格式,将流数据任务拆分成多个流数据子任务,每个流数据子任务对应一种转码格式。

步骤202、将多个流数据子任务分配至至少一个目标处理节点。

管理节点用于对多个处理节点进行管理,管理各处理节点的负载情况、各处理节点中处理进程的运行情况等,管理节点可以记录各处理节点的负载情况以及进行运行情况并不断更新。

本发明实施例中管理节点可以向调度发送针对多个流数据子任务的目标处理节点的分配请求,调度可以根据各处理节点的负载状态为多个流数据子任务分配目标处理节点,具体地可以选择负载较轻的处理节点作为目标处理节点,以保证多个处理节点的负载均衡,分配的目标处理节点的数目可以为一个或多个,随后调度将分配的目标处理节点反馈至管理节点。

由于管理节点内记录有多个处理节点的负载情况,因此本步骤将多个流数据子任务分配至至少一个目标处理节点的步骤可以包括:从管理节点获取各个处理节点的负载状态,选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。其中,设定条件可以包括多种限定内容,如负载最轻的N(N为正整数)个处理节点、待处理任务的数目小于M(M为正整数)的处理节点等。一个目标处理节点可以分配一个或多个流数据子任务。

本发明实施例中各处理节点对应一个任务队列,任务队列中记录了分配至该处理节点的多个流数据子任务的排队顺序。本发明实施例在根据负载状态确定至少一个目标处理节点后,为使多个流数据子任务的处理结束时间相近或相同,可以在向各选取的目标处理节点下发至少一个流数据子任务之前,对各处理节点中流数据子任务的排队顺序进行调整。具体地,对各处理节点中流数据子任务的排队顺序进行调整的步骤可以包括:获取各目标处理节点的任务队列;设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值,其中设定阈值可以根据实际进行设置。

进一步所述设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值的步骤可以包括:根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;确定处理时间最晚的目标流数据子任务;按照该目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

具体地,在确定处理时间最晚的目标流数据子任务后,将分配至其他处理节点的流数据子任务的排序向后调整,如果目标处理节点中其他流数据子任务均处理结束且未到安排的处理时间,则等待一定时间间隔后再对流数据子任务进行处理。

本发明实施例在各传输节点中设置了管理进程,管理进程用于对多个处理进行的运行情况进行监控和管理,并将流数据子任务的处理情况反馈给管理节点。各目标处理节点的任务队列可以设置于管理进程中,相应地获取各目标处理节点的任务队列的步骤可以包括:从各目标处理节点的管理进程获取任务队列。

管理进程记录的任务队列可以包括针对多个处理进程设置的多个任务子队列,从某一任务子队列可知等待对应的处理进程处理的子任务的数目。在确定处理时间最晚的目标流数据子任务后,可以根据最晚处理时间在某一任务子队列中对流数据子任务的排序进行调整,也可以根据最晚处理时间选择一合适的任务子队列,将流数据子任务排序至该任务子队列最后。

步骤203、调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务。

步骤204、接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

步骤205、监控各个处理进程的处理进度,将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

本发明实施例中,各处理节点中内置有管理进程,可以使用管理进程监控处理节点中多个处理进程的处理进度,如果监控到流数据子任务处理结束,则可以通知目标处理节点将处理完的流数据子任务对应的流数据推送至存储服务器。存储服务器可以是预设的,可以是流数据处理指令指示的,可以是调度从预设的多个存储服务器中分配的,本发明在此不做限制。

存储服务器接收到推送的流数据后,如果接收到流数据的传输节点或播放客户端的调用请求,则将流数据传输至传输节点和播放客户端供传输或播放。

本发明实施例中,优选地,所述方法还包括:

接收处理进程上报至管理进程的处理异常通知,并在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

本发明实施例使用内置在处理节点内的管理进程对多个处理进程的运行情况进行监控和管理。当处理进程针对某一流数据子任务的处理发生异常时,如处理进程卡死或崩溃,处理进程可以向管理进程上报处理异常通知,管理进程在接收到处理异常通知后,会对目标处理节点内的其他处理进程的运行情况、负载状态等进行查看和分析,进一步根据分析结果选择运行良好且负载较轻的其他处理进程,对处理异常的流数据子任务进行重新处理,从而保证了该流数据子任务的顺利完成。

除上述处理进程主动上报处理异常通知至管理进程的方式外,管理进程可以按照预设时间间隔定时检查处理进程的运行情况,如果检测到处理进程发生异常,则为处理异常的流数据子任务重新分配处理进程。

本发明实施例中,优选地,所述方法还包括:

接收当前目标处理节点上报至管理节点的处理异常通知,并在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

本发明实施例中,目标处理节点内的管理进程在接收到处理进程上报的处理异常通知后,如果确定该目标处理节点内的所有处理进程均已负载较重或负载满,则管理进程可以向管理节点上报处理异常通知。管理节点接收到某一目标处理节点上报的处理异常通知后,可以根据其他处理节点的负载情况或其他因素,在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点,将处理异常的流数据子任务发送至重新分配的目标处理节点进行处理。

新分配的目标处理节点接收到该流数据子任务后,调用其内部的一个处理进程对该子任务进行处理。具体地,该目标处理节点内的管理进程可以查看和分析各处理进程的情况,选择运行良好且负载较轻的处理进程处理该子任务。

本发明实施例所述方法可以应用于视频流转码的场景中,可以使用设置的管理进程和管理节点对视频流转码过程进行管理,当处理进程出现处理异常时,管理进程或管理节点会为处理异常的流数据转码子任务重新分配处理进程或处理节点,从而保证了视频流转码任务的顺利完成。由于处理过程中的异常修复是通过管理进程和管理节点完成的,无需人工操作,因此可以同时处理大量的转码任务,满足了转码需求。

依据本发明实施例,调用目标处理节点内的处理进程对多个流数据子任务进行处理,由于多个处理进程在执行过程中互不影响,因此避免了背景技术中一个线程出现问题导致整个节点无法正常工作的情况的发生,有效保证了目标处理节点的正常工作。同时,各流数据子任务的处理结果以及汇集得到的流数据任务的处理结果可以作为任务监控、子任务分发的依据,从而完善了处理机制。

本发明实施例在各传输节点内置了管理进程并设置了管理节点,使用管理进程和管理节点对流数据子任务的处理进行管理,当处理进程出现处理异常时,管理进程或管理节点会为处理异常的流数据子任务重新分配处理进程或处理节点,从而保证了流数据任务的处理过程的顺利完成。由于处理过程中的异常修复是通过管理进程和管理节点完成的,无需人工操作,因此可以同时处理大量的任务,提高了任务处理效率,缩短了流数据的处理操作的等待时间。

本发明实施例使用管理节点监控各处理节点的负载状态,将从管理节点提取的各处理节点的负载状态作为依据,为多个流数据子任务分配目标传输节点,从而保证多个处理节点的负载均衡。

图3示出了根据本发明实施例三的一种流数据任务的处理装置的结构框图。图3中的流数据任务的处理装置包括:

任务拆分模块301,用于将流数据任务拆分成多个流数据子任务。

子任务分配模块302,用于将多个流数据子任务分配至至少一个目标处理节点。

处理进程调用模块303,用于调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务。

处理结果接收模块304,用于接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

依据本发明实施例,调用目标处理节点内的处理进程对多个流数据子任务进行处理,由于多个处理进程在执行过程中互不影响,因此避免了背景技术中一个线程出现问题导致整个节点无法正常工作的情况的发生,有效保证了目标处理节点的正常工作。同时,各流数据子任务的处理结果以及汇集得到的流数据任务的处理结果可以作为任务监控、子任务分发的依据,从而完善了处理机制。

图4示出了根据本发明实施例四的一种流数据任务的处理装置的结构框图。图4中的流数据任务的处理装置包括:

任务拆分模块401,用于将流数据任务拆分成多个流数据子任务。

子任务分配模块402,用于将多个流数据子任务分配至至少一个目标处理节点。

处理进程调用模块403,用于调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务。

处理结果接收模块404,用于接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

处理进度监控模块405,用于监控各个处理进程的处理进度。

流数据推送模块406,用于将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

本发明实施例中,优选地,所述子任务分配模块包括:

负载状态获取子模块,用于从管理节点获取各个处理节点的负载状态;

目标处理节点选取子模块,用于选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。

本发明实施例中,优选地,所述装置还包括:

任务队列获取模块,用于在所述向各选取的目标处理节点下发至少一个流数据子任务之前,获取各目标处理节点的任务队列,各处理节点对应一个任务队列;

排序设置子模块,用于设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值。

本发明实施例中,优选地,所述排序设置子模块包括:

处理时间预测单元,用于根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;

目标流数据子任务确定单元,用于确定处理时间最晚的目标流数据子任务;

处理时间安排单元,用于按照所述目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

本发明实施例中,优选地,所述任务队列获取模块,具体用于从各目标处理节点的管理进程获取任务队列。

本发明实施例中,优选地,所述装置还包括:

处理指令接收模块,用于在所述将流数据任务拆分为多个流数据子任务之前,接收携带流数据地址的流数据处理指令;

流数据下载模块,用于通过访问所述流数据地址,下载待处理的流数据。

本发明实施例中,优选地,所述任务拆分模块,具体用于按照所述流数据处理指令携带的多种转码格式,将所述流数据处理任务拆分为对应各种转码格式的多个流数据子任务,所述流数据任务为转码任务。

本发明实施例中,优选地,所述任务拆分模块包括:

业务标识提取子模块,用于提取所述流数据处理指令携带的业务标识,所述流数据任务为转码任务;

转码格式查找子模块,用于查找针对所述业务标识预设的多种转码格式;

任务划分子模块,用于按照所查找的多种转码格式,将所述流数据处理任务拆分为多个流数据子任务。

本发明实施例中,优选地,所述装置还包括:

第一通知接收模块,用于接收处理进程上报至管理进程的处理异常通知;

处理进程重新分配模块,用于在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

本发明实施例中,优选地,所述装置还包括:

第二通知接收模块,用于接收当前目标处理节点上报至管理节点的处理异常通知;

目标处理节点重新分配模块,用于在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

目标处理节点调用模块,用于调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

依据本发明实施例,调用目标处理节点内的处理进程对多个流数据子任务进行处理,由于多个处理进程在执行过程中互不影响,因此避免了背景技术中一个线程出现问题导致整个节点无法正常工作的情况的发生,有效保证了目标处理节点的正常工作。同时,各流数据子任务的处理结果以及汇集得到的流数据任务的处理结果可以作为任务监控、子任务分发的依据,从而完善了处理机制。

本发明实施例在各传输节点内置了管理进程并设置了管理节点,使用管理进程和管理节点对流数据子任务的处理进行管理,当处理进程出现处理异常时,管理进程或管理节点会为处理异常的流数据子任务重新分配处理进程或处理节点,从而保证了流数据任务的处理过程的顺利完成。由于处理过程中的异常修复是通过管理进程和管理节点完成的,无需人工操作,因此可以同时处理大量的任务,提高了任务处理效率,缩短了流数据的处理操作的等待时间。

本发明实施例使用管理节点监控各处理节点的负载状态,将从管理节点提取的各处理节点的负载状态作为依据,为多个流数据子任务分配目标传输节点,从而保证多个处理节点的负载均衡。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的流数据任务的处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种流数据任务的处理方法,包括:

将流数据任务拆分成多个流数据子任务;

将多个流数据子任务分配至至少一个目标处理节点;

调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务;

接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

A2、根据A1所述的方法,其中,所述将多个流数据子任务分配至至少一个目标处理节点包括:

从管理节点获取各个处理节点的负载状态;

选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。

A3、根据A1所述的方法,其中,各处理节点对应一个任务队列,在所述向各选取的目标处理节点下发至少一个流数据子任务之前,所述方法还包括:

获取各目标处理节点的任务队列;

设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值。

A4、根据A3所述的方法,其中,所述设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值包括:

根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;

确定处理时间最晚的目标流数据子任务;

按照所述目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

A5、根据A3所述的方法,其中,所述获取各目标处理节点的任务队列包括:

从各目标处理节点的管理进程获取任务队列。

A6、根据A1所述的方法,其中,在所述将流数据任务拆分为多个流数据子任务之前,所述方法还包括:

接收携带流数据地址的流数据处理指令;

通过访问所述流数据地址,下载待处理的流数据。

A7、根据A6所述的方法,其中,所述流数据任务为转码任务,所述将流数据任务拆分为多个流数据子任务包括:

按照所述流数据处理指令携带的多种转码格式,将所述流数据处理任务拆分为对应各种转码格式的多个流数据子任务。

A8、根据A6所述的方法,其中,所述流数据任务为转码任务,所述将流数据任务拆分为多个流数据子任务包括:

提取所述流数据处理指令携带的业务标识;

查找针对所述业务标识预设的多种转码格式;

按照所查找的多种转码格式,将所述流数据处理任务拆分为多个流数据子任务。

A9、根据A1所述的方法,其中,所述方法还包括:

监控各个处理进程的处理进度;

将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

A10、根据A1所述的方法,其中,所述方法还包括:

接收处理进程上报至管理进程的处理异常通知,并在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

A11、根据A10所述的方法,其中,所述方法还包括:

接收当前目标处理节点上报至管理节点的处理异常通知,并在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

本发明还公开了B12、一种流数据任务的处理装置,包括:

任务拆分模块,用于将流数据任务拆分成多个流数据子任务;

子任务分配模块,用于将多个流数据子任务分配至至少一个目标处理节点;

处理进程调用模块,用于调用各目标处理节点运行至少一个处理进程处理所述多个流数据子任务,其中,一个所调用的处理进程处理一个或多个流数据子任务;

处理结果接收模块,用于接收各目标处理节点针对流数据子任务反馈的处理结果,汇集得到所述流数据任务的处理结果。

B13、根据B12所述的装置,其中,所述子任务分配模块包括:

负载状态获取子模块,用于从管理节点获取各个处理节点的负载状态;

目标处理节点选取子模块,用于选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个流数据子任务。

B14、根据B12所述的装置,其中,所述装置还包括:

任务队列获取模块,用于在所述向各选取的目标处理节点下发至少一个流数据子任务之前,获取各目标处理节点的任务队列,各处理节点对应一个任务队列;

排序设置子模块,用于设置待下发的流数据子任务在各任务队列中的排序,使各个流数据子任务的处理时间的差值小于设定阈值。

B15、根据B14所述的装置,其中,所述排序设置子模块包括:

处理时间预测单元,用于根据各目标处理节点的任务队列中已有的流数据子任务,预测各个待下发的流数据子任务的处理时间;

目标流数据子任务确定单元,用于确定处理时间最晚的目标流数据子任务;

处理时间安排单元,用于按照所述目标流数据子任务的处理时间安排各个待下发的流数据子任务的处理时间。

B16、根据B14所述的装置,其中,所述任务队列获取模块,具体用于从各目标处理节点的管理进程获取任务队列。

B17、根据B12所述的装置,其中,所述装置还包括:

处理指令接收模块,用于在所述将流数据任务拆分为多个流数据子任务之前,接收携带流数据地址的流数据处理指令;

流数据下载模块,用于通过访问所述流数据地址,下载待处理的流数据。

B18、根据B17所述的装置,其中,所述任务拆分模块,具体用于按照所述流数据处理指令携带的多种转码格式,将所述流数据处理任务拆分为对应各种转码格式的多个流数据子任务,所述流数据任务为转码任务。

B19、根据B17所述的装置,其中,所述任务拆分模块包括:

业务标识提取子模块,用于提取所述流数据处理指令携带的业务标识,所述流数据任务为转码任务;

转码格式查找子模块,用于查找针对所述业务标识预设的多种转码格式;

任务划分子模块,用于按照所查找的多种转码格式,将所述流数据处理任务拆分为多个流数据子任务。

B20、根据B12所述的装置,其中,所述装置还包括:

处理进度监控模块,用于监控各个处理进程的处理进度;

流数据推送模块,用于将已处理完的流数据子任务对应的流数据推送至存储服务器,以供流数据的传输节点或流数据的播放客户端调用。

B21、根据B12所述的装置,其中,所述装置还包括:

第一通知接收模块,用于接收处理进程上报至管理进程的处理异常通知;

处理进程重新分配模块,用于在当前目标处理节点内为处理异常的流数据子任务重新分配处理进程。

B22、根据B21所述的装置,其中,所述装置还包括:

第二通知接收模块,用于接收当前目标处理节点上报至管理节点的处理异常通知;

目标处理节点重新分配模块,用于在其他处理节点中为处理异常的流数据子任务重新分配一个目标处理节点;

目标处理节点调用模块,用于调用重新分配的目标处理节点的一个处理进程对处理异常的流数据子任务进行处理。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1