CN111274017A - 一种资源的处理方法、装置、电子设备及存储介质 - Google Patents
一种资源的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111274017A CN111274017A CN202010069564.6A CN202010069564A CN111274017A CN 111274017 A CN111274017 A CN 111274017A CN 202010069564 A CN202010069564 A CN 202010069564A CN 111274017 A CN111274017 A CN 111274017A
- Authority
- CN
- China
- Prior art keywords
- processing
- task
- resource
- processed
- processing task
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种资源的处理方法、装置、电子设备及存储介质。
背景技术
异步处理是目前的资源处理技术中非常常见的一种处理方式,发起者在发起对资源的异步处理时,平台会针对该资源先返回一个异步处理的任务编号,当资源经过一段时间处理完成后,再基于该任务编号将获得的所有处理结果回调给发起者。
在采用异步处理时,其可以通过一次请求+一次返回来将异步过程中多个处理步骤产生的多个处理结果一并回调给发起者,避免多次调用。比如针对音视频资源进行后期管理的业务,用户通过发送视频截图请求而发起对视频的异步截图处理后,用户可以一次性的获得视频的所有截图。
但随着业务的不断发展,一个处理步骤往往包含多个异步任务,所以对资源执行一个处理步骤会获得多个处理结果。若还是采用该资源的任务编号来回调多个处理结果,则可能导致对多个处理结果的回调出现遗漏,进而导致回调失败。
发明内容
本申请实施例的目的在于提供一种资源的处理方法、装置、电子设备及存储介质,用以实现在回调异步处理所得的结果时,能够准确的返回每个结果,避免对结果的返回出现遗漏,进而避免返回失败。
第一方面,本申请实施例提供了一种资源的处理方法,所述方法包括:
接收客户端针对待处理资源而发送的处理请求;通过执行所述处理请求中指示的处理任务而处理所述待处理资源,并根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号;利用所述唯一编号,获取到所述处理任务执行完成后所得的结果;将所述处理任务执行完成后所得的结果返回给所述客户端。
在本申请实施例中,基于处理任务在待处理资源的处理流程中的位置为处理任务对应分配一个唯一编号,那么在处理任务执行完成而获得结果后,则也通过该唯一编号将结果返回,从而可以避免对结果的返回出现遗漏,进而避免返回失败。
结合第一方面,在第一种可能的实现方式中,根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号,包括:
根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号。
在本申请实施例中,基于位置以及任务类型来多维度的确定出唯一编号可以更有效的区分各处理任务。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号,包括:
若所述处理任务属于所述处理流程中的主干任务,则根据所述处理任务属于所述处理流程中的哪一个层级,确定出所述处理任务对应的一个层级号;根据所述层级号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
在本申请实施例中,由于唯一编号由层级号和任务号构成,故可以唯一编号可以有效的将处理流程中各层级的任务区分。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号,包括:
若所述处理任务属于所述处理流程中的分支任务,则根据所述处理任务属于所述处理流程中的哪一个层级,为所述处理任务对应分配一个层级号,以及还根据所述处理任务属于所述层级中的哪一个分支,为所述处理任务对应分配一个分支号;根据所述层级号、所述分支号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
在本申请实施例中,由于唯一编号由层级号、分支号和任务号构成,故可以唯一编号可以有效的将处理流程中同一层级的各任务区分。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,将所述处理任务执行完成后所得的结果返回给所述客户端,包括:
判断所有执行完成的所述处理任务的数量是否等于所述主干任务的数量与所述分支任务的数量之和;若等于,将所有的所述处理任务执行完成后所得的结果打包返回给所述客户端。
在本申请实施例中,若同一层级中各任务的结果之间是“和”的关系,那么可在确定完成的处理任务数量等于主干任务的数量与分支任务的数量之和时才将所有结果返回,以避免遗漏。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,将所述处理任务执行完成后所得的结果返回给所述客户端,包括:
判断是否获得了所述处理流程中每一层级对应的一个结果,其中,每一层级对应的一个结果为该层级的所有处理任务执行完成后所得的所有结果中最先获得的结果;若是,将各层级各自对应的一个结果一并打包返回给所述客户端。
在本申请实施例中,若同一层级中各任务的结果之间是“或”的关系,那么一旦确定完成的处理任务数量等于主干任务的数量时便将结果返回,实现了对结果的快速返回。
结合第一方面,在第六种可能的实现方式中,所述处理任务为多个,为所述处理任务对应分配一个唯一编号,包括:
在确定每个所述处理任务开始执行时,为该处理任务分配一个唯一编号。
在本申请实施例中,由于在每个处理任务开始执行时才为该处理任务分配一个唯一编号,其使得分配唯一编号是一个持续的动作。正由于其是一个持续的动作,较于一次性的分配所有处理任务的唯一编号,其不仅可以避免分配出错,还可以降低分配唯一编号所产生的负荷。
第二方面,本申请实施例提供了一种资源的处理装置,所述装置包括:
数据收发模块,用于接收客户端针对待处理资源而发送的处理请求;
数据处理模块,用于通过执行所述处理请求中指示的处理任务而处理所述待处理资源,并根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号;以及,利用所述唯一编号,获取到所述处理任务执行完成后所得的结果;
所述数据收发模块,还用于将所述处理任务执行完成后所得的结果返回给所述客户端。
结合第二方面,在第一种可能的实现方式中,
所述数据处理模块,用于根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述数据处理模块,用于若所述处理任务属于所述处理流程中的主干任务,则根据所述处理任务属于所述处理流程中的哪一个层级,确定出所述处理任务对应的一个层级号;根据所述层级号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述数据处理模块,用于若所述处理任务属于所述处理流程中的分支任务,则根据所述处理任务属于所述处理流程中的哪一个层级,为所述处理任务对应分配一个层级号,以及还根据所述处理任务属于所述层级中的哪一个分支,为所述处理任务对应分配一个分支号;根据所述层级号、所述分支号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述数据收发模块,用于判断所有执行完成的所述处理任务的数量是否等于所述主干任务的数量与所述分支任务的数量之和;若等于,将所有的所述处理任务执行完成后所得的结果打包返回给所述客户端。
结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,
所述数据收发模块,用于判断是否获得了所述处理流程中每一层级对应的一个结果,其中,每一层级对应的一个结果为该层级的所有处理任务执行完成后所得的所有结果中最先获得的结果;若是,将各层级各自对应的一个结果一并打包返回给所述客户端。
结合第二方面,在第六种可能的实现方式中,
所述处理任务为多个,所述数据处理模块,用于在确定每个所述处理任务开始执行时,为该处理任务分配一个唯一编号。
第三方面,本申请实施例提供了一种具有计算机可执行的非易失程序代码的计算机可读存储介质,所述程序代码使所述计算机执行如第一方面或者第一方面的任一种可能的实现方式所述的资源的处理方法。
第四方面,本申请实施例提供了一种电子设备,所述电子设备包括:处理器,存储器,总线和通信接口;所述处理器、所述通信接口和存储器通过所述总线连接;所述通信接口,用于接收客户端针对待处理资源而发送的处理请求;所述存储器,用于存储程序;所述处理器,用于通过调用存储在所述存储器中的程序,以根据所述处理请求执行如第一方面或者第一方面的任一种可能的实现方式所述的资源的处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种资源的处理方法的流程图;
图2为本申请实施例提供的一种资源的处理方法的处理示例图;
图3为本申请实施例提供的一种电子设备的结构框图;
图4为本申请实施例提供的一种资源的处理装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,本申请实施例提供了一种资源的处理方法,该资源的处理方法可以由电子设备来执行,该电子设备可以是终端或者服务器,其中,终端可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digitalassistant,PDA)等;服务器可以为网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。
具体的,该资源的处理方法可以包括:步骤S100、步骤S200、步骤S300以及步骤S400。
步骤S100:接收客户端针对待处理资源而发送的处理请求。
步骤S200:通过执行该处理请求中指示的处理任务而处理该待处理资源,并根据该处理任务在该待处理资源的处理流程中的位置,为该处理任务对应分配一个唯一编号。
步骤S300:利用该唯一编号,获取到该处理任务执行完成后所得的结果。
步骤S400:将该结果返回给所述客户端。
下面将结合示例对上述流程进行详细的说明。
步骤S100:接收客户端针对待处理资源而发送的处理请求。
在用户需要对某个待处理资源进行处理时,用户可以通过客户端生成携带有客户端的地址以及需要对该待处理资源执行哪些处理任务的处理请求,并通过客户端将该处理请求发送给电子设备。
对应的,电子设备便可以接收客户端发送的携带有客户端的地址以及需要对该待处理资源执行哪些处理任务的处理请求。
下面通过一个示例来说明。
如图2所示,当用户需要对一段视频进行剪辑、转码以及截图时,用户通过客户端可以生成携带有剪辑任务、转码任务以及截图任务的处理请求。例如,该处理请求具体格式可以为:
callbackURL:http://example.com/cb
template:clip,transcode,covershot
在上述格式中,“http://example.com/cb”表示客户端的地址;“callbackURL:http://example.com/cb”则表示剪辑任务、转码任务以及截图任务所得的所有结果需要返回该地址;“clip”表示剪辑任务;“transcode”表示转码任务;“covershot”则表示截图任务,“template:clip,transcode,co vershot”表示需要对该视频依次执行剪辑任务、转码任务以及截图任务。
在接收到该处理请求后,电子设备可以执行步骤S200。
步骤S200:通过执行该处理请求中指示的处理任务而处理该待处理资源,并根据该处理任务在该待处理资源的处理流程中的位置,为该处理任务对应分配一个唯一编号。
本实施例中,处理请求中除了携带客户端的地址以及需要执行的处理任务外,处理请求还可以携带该待处理资源。这样,电子设备通过对处理请求进行解封装,便可以直接获得该待处理资源,提高了电子设备对待处理资源进行处理的实时性。
可以理解到,采用在处理请求中携带待处理资源的方式仅为本实施例的一种示例方式,并不作为限定。例如,处理请求也可以不携带该待处理资源,而在处理请求中携带该待处理资源的地址。这样,电子设备通过对处理请求进行解封装,便可以获得该待处理资源的地址。比如待处理资源存储在电子设备的非易失性存储器中,那么待处理资源的地址可以是待处理资源在非易失性存储器中的偏移地址,且该待处理资源的地址可以由电子设备预先返回客户端,以便客户端在生成处理请求时携带该地址。因此,电子设备基于该待处理资源的地址便可以对应获取到该待处理资源。由于待处理资源本身未携带在处理请求中,这种方式可使得处理请求的数据包非常小,其开销小,可以节约传输资源。
本实施例中,由于处理请求中携带有需要执行的处理任务,处理请求在对处理请求解封装而确定出这些需要执行的处理任务,那么处理请求可以根据这些需要执行的处理任务而构建出对该待处理资源的处理流程。
作为构建处理流程的一种方式,电子设备可以根据这些需要执行的处理任务携带在处理请求中的先后顺序,依次构建出该处理流程。
继续对前述示例性进行说明。
如图2所示,由于处理请求中的“template:clip,transcode,covershot”表示需要对该视频依次执行剪辑任务、转码任务以及截图任务。那么,电子设备根据该先后顺序,确定出的处理流程为:剪辑任务→转码任务→截图任务。
作为构建处理流程的另一种方式,电子设备中预设了各种处理流程,那么电子设备可以将这些需要执行的处理任务与每种处理流程匹配。若确定某一种处理流程中包含的处理任务与这些需要执行的处理任务完全相同,则结束匹配,该匹配的处理流程便是需要对待处理资源执行的流程。
在确定出待处理资源的处理流程后,一方面,电子设备可以按照处理流程依次执行各处理任务,以处理该待处理资源。另一方面,电子设备可以根据每个处理任务在该处理流程中的位置,为每个处理任务都分配一个唯一编号,以区分各处理任务。可以理解到,电子设备可以在处理流程开始执行时,便为所有的处理任务各自分配一个唯一编号;或者,电子设备也可以在每个处理任务开始执行时,为该处理任务分配一个唯一编号。
可以理解到,由于电子设备为每个处理任务分配该处理任务的一个唯一编号的原理都相同,下面将以电子设备为某一个处理任务分配一个唯一编号为例来进行详细说明。
作为基于处理任务在处理流程中的位置来分配唯一编号的示例性方式。
首先,由于该待处理资源需要通过处理流程来对其进行处理,那么对该待处理资源的处理可以作为一个整体任务,故可以针对待处理资源的该整体任务为该待处理资源分配的一个任务号,且该待处理资源的任务号也可以是唯一的。
其次,由于处理流程可以有多层,那么电子设备可以根据处理任务属于该处理流程中的哪一个层级,确定出该处理任务对应的一个层级号。
再者,在处理流程的同一个层级中,可能只有主干任务,也可能在有主干任务的基础上还有分支任务。比如,若经上一层级的处理任务的处理只产生了一个结果,则说明本层级只有一个主干任务,本层级仅通过利用该为主干任务的处理任务来处理该结果即可。又比如,若经上一层级的处理任务的处理产生了N个结果,N为大于1的整数,则说明本层级有一个主干任务以及还有N-1个分支任务,因此,本层级不仅需要利用为主干任务的处理任务来处理N个结果中的一个结果,还需要利用每一个为分支任务的处理任务来处理剩余的N-1个结果中对应的一个结果。
因此,作为区分同一个层级中的主干任务和分支任务的一种示例方式,电子设备可以通过为分支任务确定出对应的分支号的方式来区分同一个层级中的主干任务和分支任务。
具体来说,基于上一层处理所得的结果数量,电子设备可以确定是否需要区分本层级中的主干任务和分支任务。
若结果为1个,说明本层级中只有主干任务,该处理任务即属于处理流程中的主干任务,无需区分。因此,电子设备可以根据该处理任务的层级号以及预先为待处理资源分配的任务号,确定出该处理任务的一个唯一编号,比如将该处理任务的层级号与该待处理资源的任务号并列组成一个数组,该数组即为该处理任务的唯一编号。
若结果为N个,N为大于1的整数,说明本层级中不仅有一个主干任务,还有N-1个分支任务。因此,电子设备可以确定出该处理任务属于本层级中的主干任务还是分支任务。
可选的,电子设备可以采用随机选择的方式确定该处理任务属于本层级中的主干任务还是分支任务。比如,若随机选择到主干任务,则确定该处理任务属于本层级中的主干任务,若随机选择到分支任务,则确定该处理任务属于本层级中的分支任务。此外,电子设备也可以时序判断的方式来确定该处理任务属于本层级中的主干任务还是分支任务。比如,电子设备可以判断上一层处理所得的N个结果中哪一个结果最先获得,并确定本层级中需要对该最先获得的结果执行的处理任务为本层级中的主干任务,那么在N个结果中,除该最先获得的结果以外的其它结果在本层级中对应的处理任务则都为分支任务。
进一步的,若确定该处理任务为本层级中的主干任务,电子设备也根据该处理任务的层级号以及预先为待处理资源分配的任务号,确定出该处理任务的一个唯一编号,比如将该处理任务的层级号与该待处理资源的任务号并列组成一个数组,该数组即为该处理任务的唯一编号。若确定该处理任务为本层级中的分支任务,电子设备可以根据该处理任务属于本层级中的哪一个分支,为该处理任务对应分配一个分支号。这样,电子设备可以根据该处理任务的层级号、该处理任务的分支号以及预先为待处理资源分配的任务号,确定出该处理任务的一个唯一编号,比如将该处理任务的层级号、该处理任务的分支号与该待处理资源的任务号并列组成一个数组,该数组即为该处理任务的唯一编号。
需要指出的是,上述分配唯一编号的方式仅为本实施例举例说明的一种方式,其并不作为本实施例的限定。比如,电子设备不仅可以为为分支任务的处理任务分配一个分支号,其也可以为为主干任务的处理任务也分配一个主干号,且同一层级中的主干号与分支号不同。
在为处理任务分配一个唯一编号后,电子设备可以进一步执行S300。
步骤S300:利用该唯一编号,获取到该处理任务执行完成后所得的结果。
电子设备可以利用该处理任务的唯一编号保存或更新该处理任务的状态。换言之,电子设备可以将该处理任务交由其它设备处理,其它设备可以通过回调的方式来将携带有该处理任务的最新状态的回调结果返回给电子设备。这样,电子设备基于该唯一编号以及回调结果中该处理任务的最新状态,便可以将保存或更新该处理任务的状态。
具体的,电子设备将该处理任务交由其它设备处理的同时,电子设备还可以将该处理任务的唯一编号放入到该处理任务的回调函数中,然后将该回调函数也发送给其它设备。这样,该其它设备通过执行该回调函数,便可以获得该处理任务的回调结果,并将该回调结果返回给电子设备。
若回调结果中该处理任务的状态为空,说明该处理任务还未执行完成,且该回调结果中也不包含任何结果,电子设备继续等待其他设备下次返回的回调结果。若回调结果中该处理任务的状态不为空,说明该处理任务已经执行完成。
结合图2,继续对前述示例进行说明。
电子设备可以为视频的处理分配一个任务号为674788517。由于处理流程为:剪辑任务→转码任务→截图任务,那么处理流程可以包括三个层级,其分别是:第零层级的剪辑任务、第一层级的转码任务、以及第二层级的截图任务。
基于该处理流程,电子设备可以先对视频执行剪辑任务。由于该剪辑任务的处理对象是该视频,说明处理对象有且只有一个,那么第零层级中的该剪辑任务为仅有的一个主干任务,因此,在开始执行该剪辑任务时,电子设备可以根据该剪辑任务所属的第零层级为该剪辑任务分配一个层级号为0。根据任务号为674788517以及层级号为0,为该剪辑任务分配一个唯一编号为674788517.0。
电子设备可以将该唯一编号为674788517.0放入到该剪辑任务的回调函数中,获得回调函数具体表示为:
callbackURL:gtask://674788517.0template:clip
然后,电子设备通过分析其它设备执行回调函数而获得的回调结果,便可以获得该剪辑任务执行所获得一个视频剪辑片段。
进一步的,基于该处理流程,电子设备可以对该视频剪辑片段执行转码任务。由于该视频剪辑片段只有一个,那么第一层级中的该转码任务为仅有的一个主干任务,因此,在开始执行该转码任务时,电子设备可以根据该转码任务所属的第一层级为该剪辑任务分配一个层级号为1。根据任务号为674788517以及层级号为1,为该转码任务分配一个唯一编号为674788517.1。
电子设备可以将该唯一编号为674788517.1放入到该转码任务的回调函数中,获得回调函数具体表示为:
callbackURL:gtask://674788517.1template:transcode
然后,电子设备通过分析其它设备执行回调函数而获得的回调结果,便可以获得该转码任务执行所获得一个转码后的片段。
进一步的,基于该处理流程,电子设备可以继续为该转码后的片段执行截图任务,从而获取三个不同时间点的截图。由于需要截取在三个不同时间点的三张图片,那么第二层级中的该截图任务也有三个,其中一个为主干任务,另外两个则为分支任务。
因此,在开始执行被确定为主干任务的第一个截图任务时,电子设备可以根据该截图任务所属的第二层级为该剪辑任务分配一个层级号为2。根据任务号为674788517以及层级号为2,为该第一个截图任务分配一个唯一编号为674788517.2。
电子设备可以将该唯一编号为674788517.2放入到该转码任务的回调函数中,获得回调函数具体表示为:
callbackURL:gtask://674788517.2template:covershot
然后,电子设备通过分析其它设备执行回调函数而获得的回调结果,便可以获得该转码任务执行所获得第一个视频截图。
而在开始执行被确定为分支任务的第二个截图任务时,电子设备可以根据该截图任务所属的分支,为该剪辑任务分配一个分支号为#0,以及根据该截图任务所属的第二层级为该剪辑任务分配一个层级号为2。根据任务号为674788517、分支号为#0以及层级号为2,为该第二个截图任务分配一个唯一编号为674788517#0.2。
电子设备可以将该唯一编号为674788517#0.2放入到该转码任务的回调函数中,获得回调函数具体表示为:
callbackURL:gtask://674788517#0.2template:covershot
然后,电子设备通过分析其它设备执行回调函数而获得的回调结果,便可以获得该转码任务执行所获得第二个视频截图。
而在开始执行被确定为分支任务的第三个截图任务时,电子设备可以根据该截图任务所属的分支,为该剪辑任务分配一个分支号为#1,以及根据该截图任务所属的第二层级为该剪辑任务分配一个层级号为2。根据任务号为674788517、分支号为#1以及层级号为2,为该第三个截图任务分配一个唯一编号为674788517#1.2。
电子设备可以将该唯一编号为674788517#1.2放入到该转码任务的回调函数中,获得回调函数具体表示为:
callbackURL:gtask://674788517#1.2template:covershot
然后,电子设备通过分析其它设备执行回调函数而获得的回调结果,便可以获得该转码任务执行所获得第三个视频截图。
步骤S400:将该结果返回给客户端。
本实施例中,当处理流程执行到最后一个层级时,电子设备可以通过分析其它设备执行回调函数而获得的回调结果,而判断是否获得了所有的结果,若是,则将获得的结果返回给客户端,否则,则继续执行判断。
具体来说,在同一层级中,若执行分支任务所得的结果与执行主干任务所得的结果是“和”的关系,则说明所有的结果都是必要的。那么电子设备可以判断所有执行完成的处理任务的数量是否等于主干任务的数量与分支任务的数量之和。若不等于,说明还有主干任务和/或分支任务还未执行完成,此时还不能够将结果返回给客户端,电子设备可以继续进行判断。若等于,说明所有的主干任务与分支任务都已经执行完成,并说明所有的结果都已经获得。因此,电子设备可以将所有的处理任务执行完成后所得的结果打包,按照客户端的地址返回给客户端。
结合图2,继续对前述示例进行说明。
当执行完成的处理任务的数量为5个,说明所有处理任务都已经执行完成,且所有的结果都已经获得,那么电子设备可以将一个视频剪辑片段、一个转码后的片段以及三个视频截图打包返回给http://example.com/cb。
在同一层级中,若执行分支任务所得的结果与执行主干任务所得的结果是“或”的关系,则说明同一层级所得的所有结果,只需选择对应一个结果来作为最终返回的结果即可。因此,电子设备可以从每一层级的所有处理任务执行完成后所得的所有结果中选择出最先获得的结果,每一层级的最先获得的结果即为该层级对应的一个结果。在此基础上,电子设备可以判断是否获得了处理流程中每一层级对应的一个结果,若为否,说明还有某些层级对应的结果未获得,此时还不能够将结果返回给客户端,电子设备可以继续进行判断。若为是,电子设备便将各层级各自对应的一个结果一并打包,按照客户端的地址返回给客户端。
结合图2,继续对前述示例进行说明。
当获得三个层级各自对应的结果后,电子设备可以将一个视频剪辑片段、一个转码后的片段、以及三个视频截图中最先获得的一个视频截图打包返回给http://example.com/cb。
请参阅图3,基于同一发明构思,本申请实施例提供了一种电子设备10,该电子设备10可以包括连接到网络的通信接口11、用于执行程序指令的一个或多个处理器12、总线13、和不同形式的存储器14,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。
通信接口11,用于接收客户端针对待处理资源而发送的处理请求。存储器14用于存储程序,处理器12用于调用并运行存储器14中的程序,以根据该处理请求执行前述的资源的处理方法。
请参阅图4,本申请实施例提供了一种资源的处理装置100,该资源的处理装置100应用于电子设备,该资源的处理装置100包括:
数据收发模块110,用于接收客户端针对待处理资源而发送的处理请求;
数据处理模块120,用于通过执行所述处理请求中指示的处理任务而处理所述待处理资源,并根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号;以及,利用所述唯一编号,获取到所述处理任务执行完成后所得的结果;
所述数据收发模块110,还用于将所述处理任务执行完成后所得的结果返回给所述客户端。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请一些实施例还提供了一种计算机可执行的非易失的程序代码的计算机可读储存介质,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上存储有程序代码,该程序代码被计算机运行时执行上述任一实施方式的资源的处理方法的步骤。
本申请实施例所提供的资源的处理方法的程序代码产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
综上所述,本申请实施例提供了一种资源的处理方法、装置、电子设备及存储介质。基于处理任务在待处理资源的处理流程中的位置为处理任务对应分配一个唯一编号,那么在处理任务执行完成而获得结果后,则也通过该唯一编号将结果返回,从而可以避免对结果的返回出现遗漏,进而避免返回失败。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种资源的处理方法,其特征在于,所述方法包括:
接收客户端针对待处理资源而发送的处理请求;
通过执行所述处理请求中指示的处理任务而处理所述待处理资源,并根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号;
利用所述唯一编号,获取到所述处理任务执行完成后所得的结果;
将所述处理任务执行完成后所得的结果返回给所述客户端。
2.根据权利要求1所述的资源的处理方法,其特征在于,根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号,包括:
根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号。
3.根据权利要求2所述的资源的处理方法,其特征在于,根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号,包括:
若所述处理任务属于所述处理流程中的主干任务,则根据所述处理任务属于所述处理流程中的哪一个层级,确定出所述处理任务对应的一个层级号;
根据所述层级号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
4.根据权利要求3所述的资源的处理方法,其特征在于,根据所述位置以及所述处理任务在所述处理流程中的任务类型,分配一个所述唯一编号,包括:
若所述处理任务属于所述处理流程中的分支任务,则根据所述处理任务属于所述处理流程中的哪一个层级,为所述处理任务对应分配一个层级号,以及还根据所述处理任务属于所述层级中的哪一个分支,为所述处理任务对应分配一个分支号;
根据所述层级号、所述分支号以及预先为所述待处理资源分配的任务号,确定出一个所述唯一编号。
5.根据权利要求4所述的资源的处理方法,其特征在于,将所述处理任务执行完成后所得的结果返回给所述客户端,包括:
判断所有执行完成的所述处理任务的数量是否等于所述主干任务的数量与所述分支任务的数量之和;
若等于,将所有的所述处理任务执行完成后所得的结果打包返回给所述客户端。
6.根据权利要求4所述的资源的处理方法,其特征在于,将所述处理任务执行完成后所得的结果返回给所述客户端,包括:
判断是否获得了所述处理流程中每一层级对应的一个结果,其中,每一层级对应的一个结果为该层级的所有处理任务执行完成后所得的所有结果中最先获得的结果;
若是,将各层级各自对应的一个结果一并打包返回给所述客户端。
7.根据权利要求1所述的资源的处理方法,其特征在于,所述处理任务为多个,为所述处理任务对应分配一个唯一编号,包括:
在确定每个所述处理任务开始执行时,为该处理任务分配一个唯一编号。
8.一种资源的处理装置,其特征在于,所述装置包括:
数据收发模块,用于接收客户端针对待处理资源而发送的处理请求;
数据处理模块,用于通过执行所述处理请求中指示的处理任务而处理所述待处理资源,并根据所述处理任务在所述待处理资源的处理流程中的位置,为所述处理任务对应分配一个唯一编号;以及,利用所述唯一编号,获取到所述处理任务执行完成后所得的结果;
所述数据收发模块,还用于将所述处理任务执行完成后所得的结果返回给所述客户端。
9.一种具有计算机可执行的非易失程序代码的计算机可读存储介质,其特征在于,所述程序代码使所述计算机执行如权利要求1-7任一权项所述的资源的处理方法。
10.一种电子设备,其特征在于,所述电子设备包括:处理器,存储器,总线和通信接口;所述处理器、所述通信接口和存储器通过所述总线连接;
所述通信接口,用于接收客户端针对待处理资源而发送的处理请求;
所述存储器,用于存储程序;
所述处理器,用于通过调用存储在所述存储器中的程序,以根据所述处理请求执行权利要求1-7任一权项所述的资源的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010069564.6A CN111274017B (zh) | 2020-01-19 | 2020-01-19 | 一种资源的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010069564.6A CN111274017B (zh) | 2020-01-19 | 2020-01-19 | 一种资源的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274017A true CN111274017A (zh) | 2020-06-12 |
CN111274017B CN111274017B (zh) | 2024-02-09 |
Family
ID=71003308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010069564.6A Active CN111274017B (zh) | 2020-01-19 | 2020-01-19 | 一种资源的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274017B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697706A (zh) * | 2022-03-29 | 2022-07-01 | 深圳市恒扬数据股份有限公司 | 一种视频内容处理方法、装置、终端及存储介质 |
CN116627543A (zh) * | 2023-07-20 | 2023-08-22 | 深圳市豪斯莱科技有限公司 | 图片处理方法、装置、终端设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527645B1 (en) * | 2012-10-15 | 2013-09-03 | Limelight Networks, Inc. | Distributing transcoding tasks across a dynamic set of resources using a queue responsive to restriction-inclusive queries |
CN110321119A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法、服务器和客户端 |
CN110458407A (zh) * | 2019-07-12 | 2019-11-15 | 平安普惠企业管理有限公司 | 一种任务分配方法、装置及计算机可读存储介质 |
-
2020
- 2020-01-19 CN CN202010069564.6A patent/CN111274017B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527645B1 (en) * | 2012-10-15 | 2013-09-03 | Limelight Networks, Inc. | Distributing transcoding tasks across a dynamic set of resources using a queue responsive to restriction-inclusive queries |
CN110321119A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法、服务器和客户端 |
CN110458407A (zh) * | 2019-07-12 | 2019-11-15 | 平安普惠企业管理有限公司 | 一种任务分配方法、装置及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697706A (zh) * | 2022-03-29 | 2022-07-01 | 深圳市恒扬数据股份有限公司 | 一种视频内容处理方法、装置、终端及存储介质 |
CN116627543A (zh) * | 2023-07-20 | 2023-08-22 | 深圳市豪斯莱科技有限公司 | 图片处理方法、装置、终端设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111274017B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520454B (zh) | 实时回调订单的方法和系统 | |
CN108052615B (zh) | 访问请求的处理方法、装置、介质及电子设备 | |
US11210131B2 (en) | Method and apparatus for assigning computing task | |
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN109218356B (zh) | 管理服务器上有状态应用的方法和设备 | |
CN109416646B (zh) | 一种容器分配的优化方法及处理设备 | |
CN114051055B (zh) | 一种不同系统中的数据传输方法及装置 | |
CN111274017B (zh) | 一种资源的处理方法、装置、电子设备及存储介质 | |
CN109819023B (zh) | 分布式事务处理方法及相关产品 | |
CN111045833A (zh) | 接口调用的方法和装置 | |
CN112769943A (zh) | 一种业务处理的方法及装置 | |
CN110225082B (zh) | 任务处理方法、装置、电子设备和计算机可读介质 | |
CN106790501B (zh) | 一种基于接口跳转的业务处理方法及装置 | |
CN111539683A (zh) | 一种合同签署方法、装置、设备及介质 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN111062572A (zh) | 任务分配的方法和装置 | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
CN110489356B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN112003930A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN113220432B (zh) | 多云互联方法、装置、设备、存储介质及产品 | |
JP2017016478A (ja) | 処理割当方法、処理割当装置、及び処理割当プログラム | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN109547552B (zh) | Api请求处理方法、装置、存储介质及电子设备 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN113760487A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |