CN115543574A - 应用于视频类数字藏品生成中的任务调度方法和系统 - Google Patents

应用于视频类数字藏品生成中的任务调度方法和系统 Download PDF

Info

Publication number
CN115543574A
CN115543574A CN202211244018.7A CN202211244018A CN115543574A CN 115543574 A CN115543574 A CN 115543574A CN 202211244018 A CN202211244018 A CN 202211244018A CN 115543574 A CN115543574 A CN 115543574A
Authority
CN
China
Prior art keywords
task
tasks
slave servers
executable
video
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
Application number
CN202211244018.7A
Other languages
English (en)
Inventor
周康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Encryption Native Technology Co ltd
Original Assignee
Shanghai Encryption Native Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Encryption Native Technology Co ltd filed Critical Shanghai Encryption Native Technology Co ltd
Priority to CN202211244018.7A priority Critical patent/CN115543574A/zh
Publication of CN115543574A publication Critical patent/CN115543574A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种应用于视频类数字藏品生成中的任务调度方法和系统,其中,所述方法包括:接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;响应于所述调度请求,根据所述待处理工程任务发布多个任务;在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。从而通过将待处理工程任务分发到更多的机器上进行处理,增加了执行任务的设备,提高任务执行的效率。

Description

应用于视频类数字藏品生成中的任务调度方法和系统
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种应用于视频类数字藏品生成中的任务调度方法、系统、计算机设备及计算机可读存储介质。
背景技术
视频的产出有多种多样,但渲染输出的过程又是非常耗时的操作。网络联机渲染技术都是指定单个工程不同机器通过各机器渲染不同的帧来实现分布式渲染的,功能单一不能应对复杂的场景。例如:需要通过Adobe Effect生成5000个差异化的视频,其中,差异化的实现是通过修改复制AE工程,然后替换工程中不同的素材资源实现的,所以会复制出5000个素材不一样的AE工程,每个成品需要执行aerender命令行执行渲染,工程和参数也会不一样,传统的AE渲染通过一台机器渲染出成品太慢,多机联网渲染也只能针对一个工程文件进行,而且网络环境等条件严格。
发明内容
本申请实施例的目的是提供一种应用于视频类数字藏品生成中的任务调度方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:AE工程网络联机渲染只适合渲染单一工程,渲染效率低,无法满更复杂的渲染场景。
本申请实施例的一个方面提供了一种应用于视频类数字藏品生成中的任务调度方法,应用于主服务器,包括:
接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始资源进行渲染处理以输出多个不同的数字藏品视频;
响应于所述调度请求,根据所述待处理工程任务发布多个任务;
在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
可选地,所述在所述主服务器中对多个从服务器进行任务调度配置,包括:
所述主服务器响应于所述多个从服务器发送的注册请求,向所述多个从服务器返回配置信息,以基于所述配置信息对所述多个从服务器进行任务调度配置。
可选地,所述向所述多个从服务器返回配置信息包括:
确定执行所述多个任务所需要的脚本环境数据;
生成携带所述脚本环境数据的配置信息,并向所述多个从服务器返回所述配置信息。
可选地,所述向所述多个从服务器返回配置信息包括:
响应用户通过所述主服务器提供的监控界面输入的任务并发数量和/或任务超时时间,生成携带所述任务并发数量和/或任务超时时间的配置信息,并向所述多个从服务器返回所述配置信息。
可选地,还包括:
接收所述多个从服务器上报的任务执行状态的消息;
在所述主服务器提供的监控界面上展示所述任务执行状态。
可选地,所述任务执行状态的消息包含所述多个从服务器开始处理所述可执行任务的第一消息,或,所述多个从服务器对所述可执行任务执行成功的第二消息,或,所述多个从服务器对所述可执行任务执行失败的第三消息。
可选地,还包括:
在所述任务执行状态的消息为多个从服务器对所述可执行任务执行失败的第三消息的情况下,重新发布所述可执行任务。
可选地,所述多个任务对应的结构体相同,所述结构体包含如下参数:任务标识,任务名,执行的命令路径,执行的返回参数,任务执行过程的日志,任务执行的状态。
可选地,所述通过所述多个从服务器执行所述可执行任务,以获得所需要的数字藏品视频,包括:
通过所述多个从服务器依据所述可执行任务的结构体中执行的命令路径确定用于执行所述可执行任务的命令脚本程序,并通过所述命令脚本程序执行所述可执行任务,以获得所需要的数字藏品视频。
本申请实施例的一个方面又提供了一种应用于视频类数字藏品生成中的任务调度系统,应用于主服务器,包括:
调度请求接收模块,用于接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;
任务发布模块,用于响应于所述调度请求,根据所述待处理工程任务发布多个任务;
任务调度配置模块,用于在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述的应用于视频类数字藏品生成中的任务调度方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的应用于视频类数字藏品生成中的任务调度方法的步骤。
本申请实施例提供的应用于视频类数字藏品生成中的任务调度方法、系统、设备及计算机可读存储介质,接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;响应于所述调度请求,根据所述待处理工程任务发布多个任务;在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。从而通过将系统发布的任务分发到更多的机器上进行处理,增加了执行任务的设备,提高任务执行的效率,本方案适用的场景会更为复杂,类别也可以是多种多样,可以是满足不局限于渲染视频任务,例如,还可以处理图片输出,Ai训练等任务,目的是打造一个轻量的跨平台的分布式任务调度服务。
附图说明
图1示意性示出了根据本申请实施例的应用于视频类数字藏品生成中的任务调度方法的应用环境图;
图2示意性示出了根据本申请实施例一的应用于视频类数字藏品生成中的任务调度方法的流程图;
图3示意性示出了根据本申请实施例一的任务结构体的示意图;
图4示意性示出了根据本申请实施例一的一种监控界面的示意图;
图5示意性示出了根据本申请实施例一的另一种监控界面的示意图;
图6示意性示出了根据本申请实施例一的应用于视频类数字藏品生成中的任务调度方法对应的系统框架示意图;
图7示意性示出了根据本申请实施例一的一种通过任务调度方法渲染得到的数字藏品视频的示意图;
图8示意性示出了根据本申请实施例二的应用于视频类数字藏品生成中的任务调度系统的框图;及
图9示意性示出了根据本申请实施例三的适于实现应用于视频类数字藏品生成中的任务调度方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
现有技术中,分布式渲染的方式并不适用于AE视频,Blender模型、图片等各种复杂的渲染场景,尤其是AE视频渲染时间过长,且占用CPU的利用率高,如果需要生产成千上万的差异化视频不仅耗时严重,人为操作失误率大,而且不模块化进行渲染处理导致遇到下次的任务相当于重新开始渲染,进一步加大耗时。
有鉴于此,本申请旨在提出一种应用于视频类数字藏品生成中的任务调度方法,接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;响应于所述调度请求,根据所述待处理工程任务发布多个任务;在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。从而通过将系统发布的任务分发到更多的机器上进行处理,增加了执行任务的设备,提高任务执行的效率,本方案适用的场景会更为复杂,类别也可以是多种多样,可以是满足不局限于渲染视频任务,例如,还可以处理图片输出,Ai训练等任务,目的是打造一个轻量的跨平台的分布式任务调度服务。
本申请提供了多个实施例进一步介绍应用于视频类数字藏品生成中的任务调度方案,具体参照下文。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
分布式计算:计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。
任务调度:任务调度是操作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实时性能。
Nodejs:任务调度系统的核心代码,通过HTTP,MQTT等协议完成不同机器之间通信。
HTTP:提供了监控页面查看任务状态,包括机器之间的一些Api请求。
MQTT:负责执行任务的机器和主要机器直接完成连接,通信,任务交接,日志显示的工作。
Redis:任务队列的实现载体,发布任务和消费任务的工具。
Aerender:渲染任务的命令行,最终成品渲染所使用的命令行。
Ffmpeg:视频操作截图等。
图1示意性示出了根据本申请实施例的环境应用示意图。如图1所示:
计算机设备10000可以通过网络20000连接客户端30000。
计算机设备10000可以提供服务,如进行网络调试,或返回任务调度结果数据给客户端30000等。
计算机设备10000可以位于诸如单个场所之类的数据中心,或者分布在不同的地理位置(例如,在多个场所)中。计算机设备10000可以经由一个或多个网络20000提供服务。网络20000包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。网络20000可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络20000可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
计算机设备10000可以由一个或多个计算节点实现。一个或多个计算节点可以包括虚拟化的计算实例。虚拟化的计算实例可以包括虚拟机,例如计算机系统,操作系统,服务器等的仿真。计算节点可以基于虚拟映像和/或定义用于仿真的特定软件(例如,操作系统,专用应用程序,服务器)的其他数据,由计算节点加载虚拟机。随着对不同类型的处理服务的需求改变,可以在一个或多个计算节点上加载和/或终止不同的虚拟机。可以实现管理程序来管理同一计算节点上不同虚拟机的使用。
客户端30000可以被配置为访问计算机设备10000的内容和服务。客户端30000可以包括任何类型的电子设备,诸如移动设备、平板设备、膝上型计算机、工作站、虚拟现实设备,游戏设备、机顶盒、数字流媒体设备、车辆终端、智能电视、机顶盒等。
客户端30000可以将任务调度结果数据等输出(例如,显示、渲染、呈现)给用户。
以下将通过多个实施例介绍网络调试方案。该方案可以通过计算机设备10000实施。
实施例一
图2示意性示出了根据本申请实施例一的应用于视频类数字藏品生成中的任务调度方法的流程图,应用于主服务器,包括步骤S200-S204,其中,
步骤S200,接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;
其中,待处理工程任务为当前需要处理的属于某一个工程中的任务,如,视频渲染,图片裁剪,AI训练等任务。
在本实施例中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频。任务的复杂程度由处理任务的脚本决定,例如:任务为渲染一段视频,用Node脚本表示就是调用系统命令行执行渲染任务,实际场景会增加很多业务上个的要求,以渲染输出多个差异化的视频。
在一种示例中,待处理工程任务可以为基于初始的视频资源,渲染输出5000个差异化的视频,其中,差异化的实现可以是通过修改复制初始的视频资源,然后替换初始的视频资源中不同的视频帧实现的。实际场景会增加很多业务上个的要求。在另一种示例中,待处理工程任务还可以为基于初始的图片资源,渲染输出5000个差异化的图片素材,其中,差异化的实现可以是通过修改复制初始的图片资源,然后替换初始的图片资源中不同的区域的图片像素实现的。
步骤S202,响应于所述调度请求,根据所述待处理工程任务发布多个任务;
在本实施例中,主服务器在接收到针对待处理工程任务的调度请求之后,通过对该调度请求进行响应,根据待处理工程任务发布多个任务,这些任务将被发布到Redis队列中供从服务器进行消费,例如:待处理工程任务为基于初始视频资源生成1000个差异化视频,则可以通过主服务器中的任务发布脚本来发布1000个颗粒化的子任务。
步骤S204,在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
在本实施例中,在主服务器中对多个从服务器进行任务调度配置,例如,配置任务并发数,执行任务的脚本环境等,进行任务调度配置之后的从服务器,可以消费主服务器发布到Redis任务队列中的任务。具体的,从服务器会一直从任务队列中获取可执行的任务,从服务器根据当前服务器上任务的执行情况,大于当前机器可执行任务数则不从任务队列中消费任务,小于或等于当前机器可执行任务数则从任务队列中消费任务。当从服务器上有任务完成时可以标记任务已完成,并继续消费任务直到当前任务可执行最大数量。在具体实现中,从服务器在执行任务时,将所有的任务运行在单独的进程中,可以提高任务的并发量。
以下提供几个可选地实施例,以进行优化所述任务调度方法,具体如下:
在本申请的一种优选实施例中,所述多个任务对应的结构体相同,所述结构体包含如下参数:任务标识,任务名,执行的命令路径,执行的返回参数,任务执行过程的日志,任务执行的状态。
在本实施例中,所述多个任务可以为视频渲染子任务,主服务器在发布任务时,可以将所述任务转化为预设结构体,该预设结构体为预先设定的任务结构体,因此,每一个任务具有公共的任务结构体。如图3所示,每个任务对应一个Task,Task的结构体包含:id任务标识,为int整数型;name任务名,为string字符串型;code_path执行的命令路径,为string字符串型;response执行的返回,为json类型;log任务执行过程的日志,为string字符串型;status任务执行的状态:0失败1成功2失败3为执行,为enum枚举类型。
通过主服务器发布的任务已经是颗粒化的一个个子任务。任务复杂程度由处理任务的脚本决定,因此,主服务器发布的这些任务不会被拆分,每个任务都是独立的线性的,以保证执行子任务后输出得到的内容的完整性和可靠性。作为一种示例,任务为渲染一段视频,可以利用Node脚本表示就是调用系统命令行执行渲染任务,实际渲染场景还可以增加一些业务上的要求,以渲染输出多个差异化的视频。
在本申请的一种优选实施例中,所述步骤S204可以包括如下步骤:
所述主服务器响应于所述多个从服务器发送的注册请求,向所述多个从服务器返回配置信息,以基于所述配置信息对所述多个从服务器进行任务调度配置。
在本实施例中,从服务器可以基于物联网传输协议发布订阅主服务器,以自动的让主从服务器通信,例如,从服务器基于MQTT向主服务器发送的注册请求,主服务器在接收到从服务器发送的注册请求之后,通过对该注册请求响应向该从服务器返回配置信息,以基于该配置信息对从服务器进行任务调度配置。通过主服务器告知从服务器需要哪些脚本环境,比如是否安装了blender,从服务器会接收到这些配置信息进行安装和部署,同步完成后告诉主服务器可以接受任务了。通过从服务器主动发布订阅的方式,只要从服务器与主服务器处于同一局域网中就可以主动订阅任务调度配置,以执行主服务器所发布的任务,从而增加了执行任务的设备,提高任务执行的效率。
在本申请的一种优选实施例中,所述向所述多个从服务器返回配置信息,可以包括如下步骤:确定执行所述多个任务所需要的脚本环境数据;生成携带所述脚本环境数据的配置信息,并向所述多个从服务器返回所述配置信息。
在本实施例中,主服务器可以根据任务结构体中的code_path确定执行所发布的多个任务所需要的脚本环境数据,然后生成携带脚本环境数据的配置信息,并向多个从服务器返回配置信息。
在本申请的一种优选实施例中,所述向所述多个从服务器返回配置信息,可以包括如下步骤:响应用户通过所述主服务器提供的监控界面输入的任务并发数量和/或任务超时时间,生成携带所述任务并发数量和/或任务超时时间的配置信息,并向所述多个从服务器返回所述配置信息。
在本实施例中,用户可以根据需要自定义一些配置属性,如:任务并发数量,任务超时时间等,通过修改这些配置信息来控制任务进度。主服务器可以提供一监控界面,供用户进行监控任务的执行状态以及进行任务配置等操作,用户基于HTTP请求在终端设备上展示监控界面,并在监控界面上输入的任务并发数量和/或任务超时时间,主服务器在接收到用户通过主服务器提供的监控界面输入的任务并发数量和/或任务超时时间之后,生成携带任务并发数量和/或任务超时时间的配置信息,并向多个从服务器返回配置信息。
在本申请的一种优选实施例中,所述的任务调度方法还可以包括如下步骤:接收所述多个从服务器上报的任务执行状态的消息;在所述主服务器提供的监控界面上展示所述任务执行状态。
具体的,从服务器可以进行2次任务上报,第一次:任务开始消费时告诉主服务器任务已经开始执行;第二次:任务结束时不管任务成功还是失败都会将执行情况上报给主服务器。通过主服务器接收多个从服务器上报的任务执行状态的消息,然后在主服务器提供的监控界面上展示任务执行状态,以便于用户可以及时监控任务执行状态,对于执行失败的任务,可以重新发布一个任务进行处理,从而可以通过及时排查问题以减少任务的出错概率,提高任务的可靠性。如图4示出了一种监控界面的示意图,监控界面中包含发布任务控件,重试任务控件和删除任务队列控件,其中,当用户监控到任务失败时,通过重试任务控件重新发布该任务。图4监控界面中还可以展示其他的一些参数,如任务数,失败,成功,执行中,未执行,任务耗时等参数,此外,监控界面中还可以展示机器情况,包括机器名,任务数,cpu利用率,剩余内存,总内存等参数,这些参数可以从从服务器中获取,从而通过主服务器提供的监控界面可以检测到从服务器的资源使用率还有任务执行情况。如图5示出了另一种监控界面的示意图,图5中,监控界面中还可以展示任务的一些参数,如任务ID,任务状态,首帧,图片,视频,耗时,部件选择等参数,用户可以通过监控界面上展示的这些数据查看任务的情况。
在本申请的一种优选实施例中,所述任务执行状态的消息包含所述多个从服务器开始处理所述可执行任务的第一消息,或,所述多个从服务器对所述可执行任务执行成功的第二消息,或,所述多个从服务器对所述可执行任务执行失败的第三消息。
在本申请的一种优选实施例中,所述的任务调度方法还可以包括如下步骤:
在所述任务执行状态的消息为多个从服务器对所述可执行任务执行失败的第三消息的情况下,重新发布所述可执行任务。
在本实施例中,在任务执行状态的消息为多个从服务器对可执行任务执行失败的第三消息的情况下,通过主服务器重新发布该可执行任务,以减少任务的出错概率,提高任务的可靠性。
在本申请的一种优选实施例中,所述通过所述多个从服务器执行所述可执行任务,以获得所需要的数字藏品视频,包括:
通过所述多个从服务器依据所述可执行任务的结构体中执行的命令路径确定用于执行所述可执行任务的命令脚本程序,并通过所述命令脚本程序执行所述可执行任务,以获得所需要的数字藏品视频。
作为一种示例,假设执行待处理工程任务需要8种脚本环境,则主服务可以预先对从服务进行调度配置,在从服务器中部署这8种脚本环境,使得从服务可以执行从服务器基于待处理工程任务发布的每一个颗粒化的子任务。在从服务器执行可行任务时,假设依据可执行任务的结构体中执行的命令路径确定用于执行当前的可执行任务的命令脚本程序为A,则从服务器可以通过命令脚本程序A执行当前的可执行任务,以获得所需要的数字藏品视频。
为了更为进一步描述本实施例的应用于视频类数字藏品生成中的任务调度方法,如图6示出了一种应用于视频类数字藏品生成中的任务调度方法对应的系统框架示意图,系统包含主服务器,多个从服务器和Redis,用户可以通过主服务器进行发布任务配置,具体的,通过HTTP请求展示监控页面,并在监控页面上发布任务到Redis,该Redis为任务队列的载体,由主服务器发布任务,从服务器消费任务。从服务器基于MQTT在主服务器中注册服务,并接受调度配置,然后从服务器就可以从Redis中消费任务(如aerender渲染视频任务),每个任务为一个Task,分别在不同的线程中执行。如图7示出了一种通过任务调度方法渲染得到的视频的示意图。
本实施例提供的应用于视频类数字藏品生成中的任务调度方法,可以有效减少执行待处理工程任务的耗时。例如,对于背景技术中生成5000个差异化的视频的任务,本系统可以通过将5000个视频渲染任务分发到10台或者更多的机器(从服务器)上执行,让渲染生成的速度提升到了10倍以上。并且每个渲染任务都是独立的,保证了任务的完整性和可靠性。除了AE视频渲染,其他任意类型的任务都可以在该系统上通过简单的配置就可以完成分发和执行,如:blender渲染视频、图片,执行命令行,执行shell,python脚本等。例如,泠鸢十周年数字藏品生成5000个素材视频,采用原始的分布式渲染方案需要10天,使用本实施例提供的任务调度方法后,增加了执行的机器和并行数量,将最终任务时长控制到了1天,并减少了的出错概率,成功率接近100%。对于任务量非常庞大的渲染场景,单机操作无法覆盖很多情况,比如:任务中的网络错误,磁盘不足,资源缺失等情况,通过实施例提供的任务调度方法提高了处理效率,并能够及时排查问题,提高了任务的可靠性。
实施例二
图8示意性示出了根据本申请实施例二的应用于视频类数字藏品生成中的任务调度系统的框图,该应用于视频类数字藏品生成中的任务调度系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本申请实施例中各程序模块的功能。
如图8所示,该应用于视频类数字藏品生成中的任务调度系统800可以包括如下模块:
调度请求接收模块810,用于接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;
任务发布模块820,用于响应于所述调度请求,根据所述待处理工程任务发布多个任务;
任务调度配置模块830,用于在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
在本申请的一种优选实施例中,所述任务调度配置模块830,包括:
服务注册子模块,用于所述主服务器响应于所述多个从服务器发送的注册请求,向所述多个从服务器返回配置信息,以基于所述配置信息对所述多个从服务器进行任务调度配置。
在本申请的一种优选实施例中,所述服务注册子模块,包括:
脚本环境确定单元,用于确定执行所述多个任务所需要的脚本环境数据;
第一配置信息发送单元,用于生成携带所述脚本环境数据的配置信息,并向所述多个从服务器返回所述配置信息。
在本申请的一种优选实施例中,所述服务注册子模块,包括:
第二配置信息发送单元,用于响应用户通过所述主服务器提供的监控界面输入的任务并发数量和/或任务超时时间,生成携带所述任务并发数量和/或任务超时时间的配置信息,并向所述多个从服务器返回所述配置信息。
在本申请的一种优选实施例中,所述任务调度系统800还包括:
任务状态接收模块,用于接收所述多个从服务器上报的任务执行状态的消息;
任务状态展示模块,用于在所述主服务器提供的监控界面上展示所述任务执行状态。
在本申请的一种优选实施例中,所述任务执行状态的消息包含所述多个从服务器开始处理所述可执行任务的第一消息,或,所述多个从服务器对所述可执行任务执行成功的第二消息,或,所述多个从服务器对所述可执行任务执行失败的第三消息。
在本申请的一种优选实施例中,所述任务调度系统800还包括:
任务重试模块,用于在所述任务执行状态的消息为多个从服务器对所述可执行任务执行失败的第三消息的情况下,重新发布所述可执行任务。
在本申请的一种优选实施例中,所述多个任务对应的结构体相同,所述结构体包含如下参数:任务标识,任务名,执行的命令路径,执行的返回参数,任务执行过程的日志,任务执行的状态。
在本申请的一种优选实施例中,所述通过所述多个从服务器执行所述可执行任务,以获得所需要的数字藏品视频,包括:
通过所述多个从服务器依据所述可执行任务的结构体中执行的命令路径确定用于执行所述可执行任务的命令脚本程序,并通过所述命令脚本程序执行所述可执行任务,以获得所需要的数字藏品视频。
实施例三
图9示意性示出了根据本申请实施例三的适于实现应用于视频类数字藏品生成中的任务调度方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括FEN独立的服务器,或者多个服务器所组成的服务器集群)等。如图9所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如应用于视频类数字藏品生成中的任务调度方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图9仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的应用于视频类数字藏品生成中的任务调度方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的应用于视频类数字藏品生成中的任务调度方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中应用于视频类数字藏品生成中的任务调度方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种应用于视频类数字藏品生成中的任务调度方法,其特征在于,应用于主服务器,包括:
接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;
响应于所述调度请求,根据所述待处理工程任务发布多个任务;
在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
2.根据权利要求1所述的任务调度方法,其特征在于,所述在所述主服务器中对多个从服务器进行任务调度配置,包括:
所述主服务器响应于所述多个从服务器发送的注册请求,向所述多个从服务器返回配置信息,以基于所述配置信息对所述多个从服务器进行任务调度配置。
3.根据权利要求2所述的任务调度方法,其特征在于,所述向所述多个从服务器返回配置信息包括:
确定执行所述多个任务所需要的脚本环境数据;
生成携带所述脚本环境数据的配置信息,并向所述多个从服务器返回所述配置信息。
4.根据权利要求2所述的任务调度方法,其特征在于,所述向所述多个从服务器返回配置信息包括:
响应用户通过所述主服务器提供的监控界面输入的任务并发数量和/或任务超时时间,生成携带所述任务并发数量和/或任务超时时间的配置信息,并向所述多个从服务器返回所述配置信息。
5.根据权利要求1所述的任务调度方法,其特征在于,还包括:
接收所述多个从服务器上报的任务执行状态的消息;
在所述主服务器提供的监控界面上展示所述任务执行状态。
6.根据权利要求5所述的任务调度方法,其特征在于,所述任务执行状态的消息包含所述多个从服务器开始处理所述可执行任务的第一消息,或,所述多个从服务器对所述可执行任务执行成功的第二消息,或,所述多个从服务器对所述可执行任务执行失败的第三消息。
7.根据权利要求6所述的任务调度方法,其特征在于,还包括:
在所述任务执行状态的消息为多个从服务器对所述可执行任务执行失败的第三消息的情况下,重新发布所述可执行任务。
8.根据权利要求1所述的任务调度方法,其特征在于,所述多个任务对应的结构体相同,所述结构体包含如下参数:任务标识,任务名,执行的命令路径,执行的返回参数,任务执行过程的日志,任务执行的状态。
9.根据权利要求8所述的任务调度方法,其特征在于,所述通过所述多个从服务器执行所述可执行任务,以获得所需要的数字藏品视频,包括:
通过所述多个从服务器依据所述可执行任务的结构体中执行的命令路径确定用于执行所述可执行任务的命令脚本程序,并通过所述命令脚本程序执行所述可执行任务,以获得所需要的数字藏品视频。
10.一种应用于视频类数字藏品生成中的任务调度系统,其特征在于,应用于主服务器,包括:
调度请求接收模块,用于接收针对待处理工程任务的调度请求;其中,所述待处理工程任务用于根据初始视频资源进行渲染处理以输出多个不同的数字藏品视频;
任务发布模块,用于响应于所述调度请求,根据所述待处理工程任务发布多个任务;
任务调度配置模块,用于在所述主服务器中对多个从服务器进行任务调度配置,以通过所述多个从服务器依据所述任务调度配置从所述多个任务中确定可执行任务,并执行所述可执行任务,以获得所需要的数字藏品视频。
11.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至9中任意一项所述的应用于视频类数字藏品生成中的任务调度方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至9中任意一项所述的应用于视频类数字藏品生成中的任务调度方法的步骤。
CN202211244018.7A 2022-10-11 2022-10-11 应用于视频类数字藏品生成中的任务调度方法和系统 Pending CN115543574A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211244018.7A CN115543574A (zh) 2022-10-11 2022-10-11 应用于视频类数字藏品生成中的任务调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211244018.7A CN115543574A (zh) 2022-10-11 2022-10-11 应用于视频类数字藏品生成中的任务调度方法和系统

Publications (1)

Publication Number Publication Date
CN115543574A true CN115543574A (zh) 2022-12-30

Family

ID=84732759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211244018.7A Pending CN115543574A (zh) 2022-10-11 2022-10-11 应用于视频类数字藏品生成中的任务调度方法和系统

Country Status (1)

Country Link
CN (1) CN115543574A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389820A (zh) * 2023-03-28 2023-07-04 北京睿芯通量科技发展有限公司 一种视频处理方法、视频处理设备、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389820A (zh) * 2023-03-28 2023-07-04 北京睿芯通量科技发展有限公司 一种视频处理方法、视频处理设备、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US7587638B2 (en) Method and system for generating and monitoring variable load on an application under test
CN105975351A (zh) 一种用户行为消息上报方法和装置
CN108900627B (zh) 一种网络请求方法、终端装置及存储介质
CN113377665B (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN111400041A (zh) 服务器配置文件的管理方法、装置及计算机可读存储介质
CN111651219A (zh) 一种多模块项目配置文件管理的方法及设备
CN115543574A (zh) 应用于视频类数字藏品生成中的任务调度方法和系统
CN113626211A (zh) 消息队列的切换方法、切换系统、电子设备及存储介质
US10120744B1 (en) Graph execution system and method for a computing environment
US9832137B1 (en) Provisioning system and method for a distributed computing environment using a map reduce process
CN112698838A (zh) 多云容器部署系统及其容器部署方法
CN112672210A (zh) 一种可变帧率多路视频渲染方法及系统
CN115794317A (zh) 一种基于虚拟机的处理方法、装置、设备及介质
CN115361382B (zh) 基于数据群组的数据处理方法、装置、设备和存储介质
CN110012003B (zh) 一种云应用抓屏方法和装置
CN115378937A (zh) 任务的分布式并发方法、装置、设备和可读存储介质
CN111399942A (zh) 网卡配置方法、网卡配置装置、网卡配置设备及存储介质
CN111447258B (zh) 离线任务调度的方法、装置、设备及存储介质
CN110971954B (zh) 一种不同位置图标的显示方法、装置、设备及介质
WO2022007645A1 (zh) 一种容器组的创建方法和装置
CN116401013A (zh) 支持多云资源的脚本作业方法、装置、设备及存储介质
CN115729594A (zh) 应用功能的处理方法和系统
CN117950679A (zh) 一种实现云物理主机实例插件自动安装的方法与装置
CN114610416A (zh) 一种基于配置参数的数据处理方法及装置
CN115794449A (zh) 动态线程池构建方法、远程过程调用方法及装置

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