发明内容
本发明所要解决的技术问题是提供一种分布式转码系统的任务分发方法及装置,以使转码任务的分发更接近用户实际需求,从而提高用户体验。
为了解决上述技术问题,本发明实施例公开了一种分布式转码系统的任务分发方法,包所述分布式转码系统包括基于网络连接的多个转码服务器及用户终端,所述的方法包括:
接收源用户终端提交的转码任务请求;
对所述转码任务请求配置传输参数,所述传输参数中包括优先级参数;
依据所述传输参数分发所述转码任务至相应的转码服务器。
优选的,所述传输参数中还包括目标用户终端的信息和目标转码格式的信息,所述的方法还包括:
所述转码服务器对所述转码任务按照相应的转码格式进行转码处理,并返回转码处理结果;
将所述转码处理结果发送至指定的目标用户终端。
优选的,所述优先级参数通过当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
优选的,所述优先级参数通过读取目标用户终端的预置等级,以及,当前转码任务请求的接收时间确定。
优选的,所述优先级参数通过读取目标用户终端的预置等级,当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
优选的,所述传输参数依据源用户终端或目标用户终端的信息采用预置模板自动配置。
本发明实施例还公开了一种分布式转码系统的任务分发装置,所述分布式转码系统包括基于网络连接的多个转码服务器及用户终端,所述的装置包括:
任务接收模块,用于接收源用户终端提交的转码任务请求;
配置模块,用于对所述转码任务请求配置传输参数,所述传输参数中包括优先级参数;
分发模块,用于依据所述传输参数分发所述转码任务至相应的转码服务器。
优选的,所述传输参数中还包括目标用户终端的信息和目标转码格式的信息,所述转码服务器用于对所述转码任务按照相应的转码格式进行转码处理,并返回转码处理结果;所述装置还包括:
发送模块,用于将转码处理结果发送至指定的目标用户终端。
优选的,所述优先级参数通过当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定;
或者,所述优先级参数通过读取目标用户终端的预置等级,以及,当前转码任务请求的接收时间确定。
优选的,所述优先级参数通过读取目标用户终端的预置等级,当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
与现有技术相比,本发明具有以下优点:
本发明通过在转码任务的分发过程中,针对源用户终端提交的转码任务请求配置带有优先级的传输参数,并且,该优先级通过当前请求的接收时间、目标用户终端的预置等级以及请求中用户设置的紧急度参数等因素综合确定,从而可以客观地反映出用户的实际需求,对任务的轻重缓急做出反应,即对优先级较高的任务先行分发,而对优先级较低的任务延后分发,使用户获得更好的使用体验,并且不影响转码效率及质量。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:多处理器系统、服务器、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明实施例的核心构思之一在于,在分布式转码系统进行任务分发的过程中,不单单针对源用户终端提交的转码任务请求基于堆栈规则进行排除,而是针对相应请求进一步配置带有优先级的传输参数,并且,其中的优先级参数通过当前请求的接收时间、目标用户终端的预置等级和/或请求中用户设置的紧急度参数来确定,从而可以客观地反映出用户的实际需求,对任务的轻重缓急做出反应,即对优先级较高的任务先行分发,而对优先级较低的任务延后分发,使用户获得更好的使用体验。
参考图1,示出了本发明的一种分布式转码系统的任务分发方法实施例的步骤流程图,其中,所述分布式转码系统可以包括基于网络连接的多个转码服务器及用户终端,在任务分发时,所述用户终端可以分为源用户终端(任务发起端)和目标用户终端(任务接收端),本实施例具体可以包括以下步骤:
步骤101、接收源用户终端提交的转码任务请求;
步骤102、对所述转码任务请求配置传输参数,所述传输参数中包括优先级参数;
步骤103、依据所述传输参数分发所述转码任务至相应的转码服务器。
随着当前媒体技术的发展,目前传统媒体也逐渐向服务化发展,并且更加注重用户参与性,如在常见的优酷、土豆等视频网站上,用户可以将自己制作的各种格式的视频作品上传,其它用户就可以通过统一的FLV(Flash Video)格式在线观看;在传统媒体行业,鼓励市民将自己获取的新闻视频资料作为电视台新闻线索的来源,但是目前各种前端采集设备采用不同的格式,如不同公司生产的摄像机采集出的文件格式不一样,而不同播出渠道对文件格式码率又有不同的要求。并且,随着高清的发展以及国家广电总局今年对各电视台高标清同播的要求,除了当前高清节目的播出,以往标清节目的历史资料为适应高清播出要求,也需要进行相应的码率转换。因此,分布式的转码系统如今被广泛应用在各种多媒体技术领域及行业,如电视台、电台、广告公司、视频网站等。
众所周知,多媒体转码,尤其是视频转码是非常耗时、耗费计算机资源的处理过程,因此,在实际中优选的是,采用集群技术来加速这个过程,即分布式的转码系统中可以包括多个转码服务器和用户终端,上述设备之间通过有线网络或无线网络进行通信连接,应用本发明在高效的调度管理下,让多个转码任务在集群内并行进行,从而极大地提高转码的吞吐率。
在本发明实施例中,所述传输参数不仅仅用于指示转码任务的分发次序,还可以进一步描述转码任务的目标,例如,目标用户终端所涉及的目的地址信息,转码后的目标格式信息,如将MPEG4的视频文件转成MPEG2的视频文件等。在实际中,本发明还可以包括以下步骤:
步骤104、所述转码服务器对所述转码任务按照相应的转码格式进行转码处理,并返回转码处理结果;
步骤105、将转码处理结果发送至指定的目标用户终端。
在本发明的一种优选实施例中,所述优先级参数可以通过当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
即在本实施例中,转码系统内任务分发的次序采用“时间+紧急度”两级判断模式,在这种情况下,系统会预先设置紧急度参数,如设置为紧急、普通、低级。即在一种具体应用的示例中,调度服务器接收转码任务请求的输入参数可以参考如下代码:
<Task>
<TaskID></>
<TaskTime></>
<Priority></>
</Task>
其中,TaskTime为该条任务请求的接收时间,在集群中,由于请求数量众多,故所述接收时间最好精确到秒,如AM10:21:55。Priority即对应系统内紧急、普通或低级三级紧急度参数的设置,Priority与TaskTime共同构成了当前任务请求的优先级。默认情况或用户未做设置的情况下,Priority可以自动赋值普通,当调度服务器接收到任务请求后,所有任务请求进入调度服务器的任务队列中,按接收时间顺序排序。当接收的某条任务Priority为紧急时,该任务自动排在任务队列的首位置;当接收的任务的Priority为低级时,自动排在任务队列的末位置;当队列中的任务Priority属性值都一样时,按照任务请求的接收时间先后顺序执行。
在本发明的另一种优选实施例中,所述优先级参数还可以通过读取目标用户终端的预置等级,以及,当前转码任务请求的接收时间确定。
即在本实施例中,转码系统内任务分发的次序采用“时间+目标端等级”两级判断模式,在这种情况下,系统会预先配置用户端的等级参数,如设置为高级用户、一般用户两级。即当接收的某条任务请求中接收端用户是高级用户时,该任务自动排在任务队列的首位置;当接收端用户是一般用户时,按照任务请求的接收时间先后顺序执行。
在本发明的又一种优选实施例中,所述优先级参数还可以通过通过读取目标用户终端的预置等级,当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
即在本实施例中,转码系统内任务分发的次序采用“时间+紧急度+目标端等级”三级判断模式,在这种情况下,系统会预先设置紧急度参数,如设置为紧急、普通、低级;以及,配置用户端的等级参数,如设置为高级用户、一般用户两级。在具体实现中,还可以对所述目标用户终端的预置等级及紧急度参数进一步分配权重以计算优先级,如对紧急度参数配置较高权重,对所述目标用户终端的预置等级配置较低等级,当某个任务的紧急度参数为紧急,但目标用户终端为一般用户时,仍将该任务自动排在任务队列的首位置。
当然,本领域技术人员采用其它易于想到的优先级设置方法都是可行的,本发明对此无需加以限制。
在具体实现中,所述转码系统还可以开放手动调整优先级的接口,以便于相关技术人员依据相关转码服务器的状态手动调整任务的优先级。并且,所述传输参数还可以依据源用户终端或目标用户终端的信息采用预置模板自动配置。例如,对于各地方电视台的源用户终端提交的转码任务请求,自动配置其传输参数为优先级为最高优先级、目标用户终端为中央电视台,目标转码格式为高清格式,从而更进一步提高系统的处理效率。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图2,示出了本发明的一种分布式转码系统的任务分发装置实施例的结构框图,其中,所述分布式转码系统包括基于网络连接的多个转码服务器及用户终端,在任务分发时,所述用户终端分为源用户终端和目标用户终端,所述的装置具体可以包括:
任务接收模块201,用于接收源用户终端提交的转码任务请求;
配置模块202,用于对所述转码任务请求配置传输参数,所述传输参数中包括优先级参数;
分发模块203,用于依据所述传输参数分发所述转码任务至相应的转码服务器。
在具体实现中,所述传输参数中还可以包括目标用户终端的信息和目标转码格式的信息,所述转码服务器用于对所述转码任务按照相应的转码格式进行转码处理,并返回转码处理结果;在这种情况下,本发明实施例还可以包括发送模块,用于将转码处理结果发送至指定的目标用户终端。
作为本发明的优选实施例,所述优先级参数具体可以通过以下方案确定:
方案1:通过当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定;
方案2:所述优先级参数通过读取目标用户终端的预置等级,以及,当前转码任务请求的接收时间确定。
方案3:通过读取目标用户终端的预置等级,当前转码任务请求中用户设置的紧急度参数,以及,当前转码任务请求的接收时间确定。
为提高实际中固定通信端的通信效率,作为另一实现方式,所述传输参数可以依据源用户终端或目标用户终端的信息采用预置模板自动配置。
在实际中,本发明的任务分发装置可以单独配置为位于所述分布式转码系统中的调度服务器,并连接在所述转码服务器和用户终端之间。
由于本实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种分布式转码系统的任务分发方法及一种分布式转码系统的任务分发装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。