CN112689169A - 业务播放方法及装置 - Google Patents
业务播放方法及装置 Download PDFInfo
- Publication number
- CN112689169A CN112689169A CN202011518801.9A CN202011518801A CN112689169A CN 112689169 A CN112689169 A CN 112689169A CN 202011518801 A CN202011518801 A CN 202011518801A CN 112689169 A CN112689169 A CN 112689169A
- Authority
- CN
- China
- Prior art keywords
- component
- signal
- service
- playing
- service component
- 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
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000001419 dependent effect Effects 0.000 claims abstract description 133
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000012546 transfer Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000000889 atomisation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种业务播放方法及装置,播放组件生成播放信号,对播放信号进行路由,触发播放信号的依赖组件执行第一操作,并在执行完第一操作后继续传递播放信号,触发关联组件传递播放信号并执行第一操作,当播放信号传递至播放组件时,播放组件执行业务播放操作,并销毁该播放信号。其中,第一操作包括:基于注入该业务组件的共享数据协议对象,获取共享通道内与该业务组件的待处理事务相关的共享数据,并基于共享数据,对待处理事务进行处理,并将处理的处理结果共享至共享通道。本申请通过对播放信号路由,触发播放信号的关联组件和依赖组件进行事务处理,并控制业务组件的业务逻辑仅仅在组件内部***作,从而实现各个业务组件之间的解耦。
Description
技术领域
本申请涉及网络视频播放领域,尤其涉及一种业务播放方法及装置。
背景技术
随着网络通信技术和多媒体技术的发展,越来越多的人利用智能手机、笔记本电脑、平板电脑等终端设备,通过终端设备上的终端应用播放视频业务。终端应用播放视频业务需要通过多个业务组件配合实现,业务组件之间需要交换业务数据。
现有技术中,某一业务组件获取其他业务组件的相关业务数据,需要预先在该业务组件的构造函数中注入该业务组件所依赖组件的对象,进而通过注入的对象获取相关业务数据,由此导致各个业务组件之间具有强关联关系,当需要修复某一业务组件时,会导致其他业务组件变得不可用,需要花费大量的时间进行调试,由此增加维护的难度和成本。
发明内容
本申请提供了一种业务播放方法及装置,目的在于解决各个业务组件之间具有强关联关系,当需要修复某一业务组件时,会导致其他业务组件变得不可用,需要花费大量的时间进行调试,由此增加维护的难度和成本的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种业务播放方法,包括:
播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所述目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;
所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
上述的方法,可选的,若目标业务组件为所述播放信号的依赖组件,则所述目标业务组件执行第一操作之前,还包括:
判断所述目标业务组件是否存在依赖组件;
若所述目标业务组件存在依赖组件,则将所述目标业务组件作为第一业务组件,所述第一业务组件挂起当前信号,并生成新的第一信号;所述当前信号为播放信号或第一信号;
所述第一业务组件将当前的第一信号传递至所述第一业务组件的后一个业务组件;其中,所述组件队列中的每个业务组件接收自身的前一个业务组件传递的所述第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号;
确定当前接收所述第一信号的业务组件为第二业务组件,判断所述第二业务组件是否为所述第一信号的依赖组件,若所述第二业务组件为所述第一信号的依赖组件,则判断所述第二业务组件是否存在依赖组件,若所述第二业务组件存在依赖组件,则将所述第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行所述第一业务组件挂起当前信号,并生成新的第一信号的步骤,若所述第二业务组件不存在依赖组件,则执行所述第一操作,并在第一操作执行完后,将所述第一信号传递至所述第二业务组件的后一个业务组件,若所述第二业务组件不为所述第一信号的依赖组件,则直接将所述第一信号传递至所述第二业务组件的后一个组件,并在判断出所述第二业务组件为第一信号的关联组件时,执行所述第一操作;
当每个第一业务组件接收到自身的前一个业务组件发送的所述第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
上述的方法,可选的,所述判断所述目标业务组件是否为所述播放信号的依赖组件,包括:
获取所述播放信号的属性信息;所述属性信息中包含播放信号依赖组件的组件标识;
判断所述属性信息中包含的播放信号依赖组件的组件标识和所述目标业务组件的组件标识是否相同;
若相同,则判断出所述目标业务组件为所述播放信号的依赖组件;
若不相同,则判断出所述目标业务组件不为所述播放信号的依赖组件。
上述的方法,可选的,所述属性信息中还包含播放信号关联组件的组件标识,所述判断出所述目标业务组件为所述播放信号的关联组件,包括:
判断所述属性信息中包含的播放信号关联组件的组件标识是否和所述目标业务组件的组件标识相同;
若相同,则判断出所述目标业务组件为所述播放信号的关联组件。
上述的方法,可选的,所述播放组件执行业务播放操作,包括:
基于预先注入所述播放组件的共享数据协议对象,获取共享通道内与待播放业务相关的共享数据;所述待播放业务与所述播放信号关联;
基于所述与待播放业务相关的共享数据,播放所述待播放业务。
上述的方法,可选的,所述配置文件的存储过程,包括:
在终端应用启动后,向云端发送配置文件获取请求;
在接收到所述云端反馈的与所述配置文件获取请求对应的配置文件时,下载所述配置文件,并判断所述配置文件中包含的版本信息是否与所述终端应用的版本信息一致;
若一致,将所述配置文件进行存储;
若不一致,则返回执行所述向云端发送配置文件请求的步骤,直至发送配置文件获取请求的次数大于阈值或所述云端所反馈的配置文件中包含的版本信息与所述终端应用的版本信息一致。
一种业务播放装置,包括:
第一生成单元,用于播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
发送单元,用于所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
第一判断单元,用于确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所述目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
第一销毁单元,用于当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
上述的装置,可选的,若目标业务组件为所述播放信号的依赖组件,还包括:
第二判断单元,用于判断所述目标业务组件是否存在依赖组件;
第二生成单元,用于若所述目标业务组件存在依赖组件,则将所述目标业务组件作为第一业务组件,所述第一业务组件挂起当前信号,并生成新的第一信号;所述当前信号为播放信号或第一信号;
传递单元,用于所述第一业务组件将当前的第一信号传递至所述第一业务组件的后一个业务组件;其中,所述组件队列中的每个业务组件接收自身的前一个业务组件传递的所述第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号;
第三判断单元,用于确定当前接收所述第一信号的业务组件为第二业务组件,判断所述第二业务组件是否为所述第一信号的依赖组件,若所述第二业务组件为所述第一信号的依赖组件,则判断所述第二业务组件是否存在依赖组件,若所述第二业务组件存在依赖组件,则将所述第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行所述第一业务组件挂起当前信号,并生成新的第一信号的步骤,若所述第二业务组件不存在依赖组件,则执行所述第一操作,并在第一操作执行完后,将所述第一信号传递至所述第二业务组件的后一个业务组件,若所述第二业务组件不为所述第一信号的依赖组件,则直接将所述第一信号传递至所述第二业务组件的后一个组件,并在判断出所述第二业务组件为第一信号的关联组件时,执行所述第一操作;
第二销毁单元,用于当每个第一业务组件接收到自身的前一个业务组件发送的所述第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
上述的装置,可选的,所述第一判断单元执行判断所述目标业务组件是否为所述播放信号的依赖组件,用于:
获取所述播放信号的属性信息;所述属性信息中包含播放信号依赖组件的组件标识;
判断所述属性信息中包含的播放信号依赖组件的组件标识和所述目标业务组件的组件标识是否相同;
若相同,则判断出所述目标业务组件为所述播放信号的依赖组件;
若不相同,则判断出所述目标业务组件不为所述播放信号的依赖组件。
上述的装置,可选的,所述属性信息中还包含播放信号关联组件的组件标识,所述第一判断单元执行判断出所述目标业务组件为所述播放信号的关联组件,用于:
判断所述属性信息中包含的播放信号关联组件的组件标识是否和所述目标业务组件的组件标识相同;
若相同,则判断出所述目标业务组件为所述播放信号的关联组件。
与现有技术相比,本申请包括以下优点:
本申请提供了一种业务播放方法及装置,该方法包括:播放组件生成播放信号,播放组件将播放信号发送至组件队列中播放组件的后一个业务组件,组件队列中除播放组件外的每个业务组件接收自身的前一个业务组件发送的播放信号,当目标业务组件为该播放信号的依赖组件时,其中,目标业务组件为当前接收到播放信号的业务组件,目标业务组件基于注入该目标业务组件的共享数据协议对象,获取共享通道内与该目标业务组件的待处理事务相关的共享数据,并基于所获取的共享数据,对待处理事务进行处理,并将处理的处理结果共享至共享通道,并在将处理结果共享至共享通道后,将播放信号传递至目标业务组件的后一个业务组件;当该目标业务组件不为播放信号的依赖组件时,将该播放信号传递至目标业务组件的后一个业务组件,并当该目标业务组件为播放信号的关联组件时,目标业务组件基于注入该目标业务组件的共享数据协议对象,获取共享通道内与该目标业务组件的待处理事务相关的共享数据,并基于所获取的共享数据,对待处理事务进行处理,并将处理的处理结果共享至共享通道;当播放信号传递至播放组件时,播放组件执行业务播放操作,并销毁该播放信号。本申请通过对播放信号的传递,触发播放信号的关联组件和依赖组件进行事务处理,且各业务组件是基于共享数据协议对象,从共享通道中获取共享数据进行事务处理,使业务组件的业务逻辑仅仅在组件内部***作,从而实现各个业务组件之间的解耦。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种业务播放方法的方法流程图;
图2为本申请提供的一种业务播放方法的又一方法流程图;
图3为本申请提供的一种业务播放方法的另一方法流程图;
图4为本申请提供的一种业务播放方法的再一方法流程图;
图5为本申请提供的一种业务播放方法的示例图;
图6为本申请提供的一种业务播放方法的又一示例图;
图7为本申请提供的一种业务播放方法的又一示例图;
图8为本申请提供的一种业务播放方法的又一示例图;
图9为本申请提供的一种业务播放方法的又一示例图;
图10为本申请提供的一种业务播放装置的结构示意图;
图11为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的业务播放方法的执行主体可以为运行在终端上的终端应用,所述业务播放方法的流程图如图1所示,具体包括:
S101、播放组件生成播放信号。
播放组件生成播放信号,其中播放组件为组件队列中的第一个业务组件,组件队列中设置有多个业务组件。
需要说明的是,播放组件生成播放信号的过程中,在该播放信号中注入共享数据协议对象,并携带该共享数据协议对象开启路由,也就是在播放信号的传递过程中,携带该共享数据协议对象进行播放信号的传递。
需要说明的是,播放组件基于信号协议,确定待生成的播放信号的属性信息,并基于待生成的播放信号的属性信息,生成播放信号。其中,信号协议的协议描述如表1所示:
表1信号协议描述
本申请实施例提供的方法中,组件队列中的各个业务组件的排列顺序依据预先存储的配置文件所确定,即组件队列中的各个业务组件的排列顺序依据配置文件中的路由顺序确定,所述路由顺序用于说明各个业务组件的排列顺序。需要说明的是,当配置文件中的路由顺序发生变化后,组件队列中各个业务组件的排列顺序也随之变化,从而在终端应用上线后,可动态调整组件队列中各个业务组件的排列顺序,实现差异化投放运营,提高用户体验。
需要说明的是,生成播放信号后,将该播放信号添加至播放业务组件的信号池中。
S102、播放组件将播放信号发送至组件队列中播放组件的后一个业务组件。
播放组件在生成播放信号后,将该播放信号传递至组件队列中播放信号的后一个业务组件。
组件队列中的除播放组件外的每一个业务组件接收自身的前一个业务组件发送的播放信号,播放业务组件接收组件队列中末尾一个业务组件发送的该播放信号,也就是说组件队列中各个业务组件构成信号传递的闭环线路。
S103、确定当前接收到播放信号的业务组件为目标业务组件。
在播放信号的传递过程中,将除播放组件外的当前接收到播放信号的业务组件确认为目标业务组件。
S104、判断目标业务组件是否为播放信号的依赖组件。
目标业务组件判断自身是否为播放信号的依赖组件,也就是在播放信号的传递过程中,判断除播放组件外的当前接收到播放信号的业务组件是否为播放信号的依赖组件。
本申请实施例提供的方法中,基于播放信号的属性信息,判断目标业务组件是否为播放信号的依赖组件,若判断出目标业务组件为播放信号的依赖组件,则执行步骤S105,若判断出目标业务组件不为播放信号的依赖组件,则执行步骤S106。
S105、判断目标业务组件是否存在依赖组件。
本申请实施例提供的方法中,基于配置文件,判断目标业务组件是否存在依赖组件,也就是判断目标业务组件进行待处理事务的处理是否存在依赖组件。其中,配置文件中存储用于说明每个业务组件是否存在依赖组件的相关字段。
若目标业务组件存在依赖组件,执行步骤S107,若目标业务组件不存在依赖组件,则执行步骤S108。
S106、判断目标业务组件是否为播放信号的关联组件。
目标业务组件判断自身是否为播放信号的关联组件,也就是在播放信号的传递过程中,判断除播放组件外的当前接收到播放信号的业务组件是否为播放信号的依赖组件。
本申请实施例提供的方法中,本申请实施例提供的方法中,基于播放信号的属性信息,判断目标业务组件是否为播放信号的关联组件,若判断出目标业务组件为播放信号的关联组件,则执行步骤S109,若判断出目标业务组件不为播放信号的关联组件,则执行步骤S110。
S107、将目标业务组件为第一业务组件。
若目标业务组件存在依赖组件,则将目标业务组件为第一业务组件。
S108、目标业务组件执行第一操作,并在第一操作执行完毕后,将播放信号传递至目标业务组件的后一个业务组件。
在目标业务组件为播放信号的依赖组件的情况下,目标业务组件执行第一操作,第一操作包括:基于预先注入目标业务组件的共享数据协议对象,获取共享通道内与目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对待处理事务进行处理,得到处理结果,并将处理结果共享至共享通道中。
本申请实施例提供的方法中,目标业务组件基于预先注入目标业务组件的共享数据协议对象,获取共享通道内与目标业务组件的待处理事务相关的共享数据的过程,具体包括:目标业务组件基于预先注入自身的共享数据协议对象,通过共享数据协议,获取共享通道内与目标业务组件的待处理事务相关的共享数据。
其中,共享数据协议的协议描述如表2所示:
表2共享数据协议描述
本申请实施例提供的方法中,组件队列中各个业务组件基于组件协议预先生成,组件协议的描述如表3所示:
表3组件协议的描述
需要说明的是,本申请所提及的每个业务组件与共享数据协议对象之间至弱引用关系,业务组件被销毁后,两者之间自动断开链接,信号和共享数据对象之间的关系也是弱引用关系。
S109、目标业务组件执行第一操作,并将播放信号传递至目标业务组件的后一个业务组件。
在目标业务组件为播放信号的关联组件时,目标业务组件执行第一操作,并将播放信号传递至目标业务组件的后一个业务组件,而无需等待第一操作执行完毕后,再将播放信号传传递至目标业务组件的后一个业务组件。
第一操作包括:目标业务组件基于预先注入自身的共享数据协议对象,获取共享通道内与目标业务组件的待处理事务相关的共享数据,具体的,目标业务组件基于预先注入自身的共享数据协议对象通过共享数据协议,获取共享通道内与目标业务组件的待处理事务相关的共享数据。
S110、目标业务组件将播放信号传递至目标业务组件的后一个业务组件。
在目标业务组件既不为播放信号的关联组件也不为播放信号的依赖组件的情况下,目标业务组件直接将播放信号传递至目标业务组件的后一个业务组件。
S111、第一业务组件执行挂起当前信号,并生成新的第一信号。
第一业务组件执行挂起当前信号,并生成新的第一信号,其中,当前信号为播放信号或第一信号。
第一业务组件基于信号协议,确定待生成的第一信号的属性信息,并基于待生成的第一信号的属性信息,生成新的第一信号,其中,信号协议的描述如表1所述,此处不再赘述。
S112、第一业务组件将第一信号传递至第一业务组件的后一个业务组件。
本申请实施例提供的方法中,将目标业务组件作为第一业务组件,第一业务组件将第一信号传递至第一业务组件的后一个业务组件。组件队列中的每一个业务组件接收自身的前一个业务组件的传递的第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号。
S113、确定当前接收第一信号的业务组件为第二业务组件。
本申请实施例提供的方法中,将除第一业务组件外的当前接收第一信号的业务组件为第二业务组件。
S114、判断第二业务组件是否为第一信号的依赖组件。
本申请实施例提供的方法中,基于第一信号的属性信息,判断第二业务组件是否为第一信号的依赖组件,若判断出目标业务组件为播放信号的依赖组件,则执行步骤S115,若判断出目标业务组件不为第一信号的依赖组件,则执行步骤S116。
S115、判断第二业务组件是否存在依赖组件。
在第二业务组件为第一信号的依赖组件的情况下,基于配置文件,判断第二业务组件是否存在依赖组件,若存在,则执行步骤S1117,若不存在,则执行步骤S118。
S116、判断第二业务组件是否为第一信号的关联组件。
本申请实施例提供的方法中,基于第一信号的属性信息,判断第二业务组件是否为第一信号的关联组件,若判断出目标业务组件为播放信号的关联组件,则执行步骤S117,若判断出目标业务组件不为第一信号的关联组件,则执行步骤S118。
S117、将当前的第二业务组件作为新的第一业务组件。
将当前的第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行步骤S111。
S118、第二业务组件执行第一操作,并在第一操作执行完后,将第一信号传递至第二业务组件的后一个业务组件。
第二业务组件执行第一操作,第一操作包括:基于预先注入第二业务组件的共享数据协议对象,获取共享通道内与第二业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对待处理事务进行处理,得到处理结果,并将处理结果共享至共享通道中。
第二业务组件在第一操作执行完后,将第一信号传递至第二业务组件的后一个业务组件。
S119、第二业务组件将第一信号传递至第二业务组件的后一个业务组件,并执行第一操作。
若第二业务组件为第一信号的关联组件,则第二业务组件将第一信号传递至第二业务组件的后一个业务组件,并执行第一操作。
S120、第二业务组件将第一信号传递至第二业务组件的后一个业务组件。
若第二业务组件既不为第一信号的依赖组件又不为第一信号的关联组件,则第二业务组件直接将第一信号传递至第二业务组件的后一个业务组件。
S121、当每个第一业务组件接收到自身的前一个业务组件发送的第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
对于每个第一业务组件,该第一业务组件在接收到自身的前一个业务组件发送的第一信号时,销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
S122、当播放组件接收到组件队列中的末尾一个业务组件发送的播放信号时,执行业务播放操作,并销毁播放信号。
当播放组件接收组件队列中末尾一个业务组件发送的播放信号时,执行业务播放操作。
其中,播放组件执行业务播放操作的过程,具体包括:
基于预先注入播放组件的共享数据协议对象,获取共享通道内与待播放业务相关的共享数据;待播放业务与播放信号关联;
基于与待播放业务相关的共享数据,播放该待播放业务。
本申请实施例提供的方法中,播放组件在接收到组件队列中末尾一个业务组件的发送的播放信号时,基于预先注入播放组件的共享数据协议对象,通过共享数据协议,获取共享通道内与待播放业务相关的共享数据,从而基于与待播放业务相关的共享数据,播放该待播放业务。其中,待播放业务与播放信号关联,也就是说,播放信号不同,待播放业务也不同。
播放组件销毁该播放信号,并将该播放信号从播放组件的信号池中删除。
需要说明是的,本申请实施例提供的方法中,支持各个业务组件懒加载,在信号传递至具体的业务组件时,将将该业务组件初始化,而不是一开始就初始化好所有的业务组件,从而避免计算机资源的浪费。
本申请实施例提供的业务播放方法,播放组件生成并传递播放信号至组件队列中播放组件的后一个业务组件,组件队列中除播放组件外的每个业务组件接收自身的前一个业务组件发送的播放信号,当目标业务组件为该播放信号的依赖组件时,其中,目标业务组件为当前接收到播放信号的业务组件,目标业务组件基于注入该目标业务组件的共享数据协议对象,获取共享通道内与该目标业务组件的待处理事务相关的共享数据,并基于所获取的共享数据,对待处理事务进行处理,并将处理的处理结果共享至共享通道,并在将处理结果共享至共享通道后,将播放信号传递至目标业务组件的后一个业务组件;当该目标业务组件不为播放信号的关联组件时,目标业务组件将播放信号传递至目标业务组件的后一个业务组件,并基于注入该目标业务组件的共享数据协议对象,获取共享通道内与该目标业务组件的待处理事务相关的共享数据,并基于所获取的共享数据,对待处理事务进行处理,并将处理的处理结果共享至共享通道;当该目标业务组件既不为播放信号的依赖组件,也不为播放信号的关联组件时,直接将播放信号传递至目标业务组件的后一个业务组件;当播放信号传递至播放组件时,播放组件执行业务播放操作,并销毁该播放信号。本申请实施例提供的业务播放方法,通过对播放信号的传递,触发播放信号的关联组件和依赖组件进行事务处理,且各业务组件是基于共享数据协议对象,从共享通道中获取共享数据进行事务处理,使业务组件的业务逻辑仅仅在组件内部***作,从而实现各个业务组件之间的解耦,进而降低维护难度和成本。
本申请实施例提供的方法中,一次信号传递过程中,如果信号的依赖组件执行待处理事务存在依赖方,即信号的依赖组件自身存在依赖组件,则挂起该信号,并生成新信号进行传递,待新信号被销毁后,再回恢复挂起信号继续传递,若在信号传递的过程中,新信号的依赖组件自身又存在依赖组件,则挂起新信号,在次生成新信号进行传递,如此反复,直至恢复挂起所有信号。本申请实施例提供的方法中,限制单一信号仅存在一个依赖组件,并控制各个业务组件原子化操作,从而满足真实业务场景应用存在多个依赖组件配合完成一个特定任务的需求。并且通过共享通道,实现各个业务组件交换数据,减少开发人员对频繁切换数据的包装和传递,提高开发效率。
上述本申请实施例图1公开的步骤S101涉及到的配置文件的存储过程,流程图如图2所示,包括以下步骤:
S201、在终端应用启动后,向云端发送配置文件获取请求。
在终端应用启动后,终端应用向云端发送配置文件获取请求,请求获取与该终端应用对应的配置文件。
S202、在接收到云端反馈的与配置文件获取请求对应的配置文件时,下载配置文件。
S203、判断配置文件中包含的版本信息是否与终端应用的版本信息一致。
将配置文件中包含的版本信息与终端应用的版本信息进行比对,判断配置文件中包含的版本信息是否与终端应用的版本信息一致,若配置文件中包含的版本信息与终端应用的版本信息一致,执行步骤S204,若配置文件中包含的版本信息与终端应用的版本信息不一致,执行步骤S205。
S204、将配置文件进行存储。
在配置文件中包含的版本信息与终端应用的版本信息一致的情况下,将配置文件进行存储,也就是将终端应用本地存储的配置文件替换为云端反馈的配置文件。
S205、判断发送配置文件获取请求的次数是否大于阈值。
在配置文件中包含的版本信息与终端应用的版本信息不一致的情况下,判断终端应用向云端发送配置文件获取请求的次数是否大于阈值,其中,阈值为人为设定数值,可以根据需求进行调整,可选的,阈值可以是3;若发送配置文件获取请求的次数大于阈值,则直接结束,若发送配置文件获取请求的次数不大于阈值,则返回执行步骤S201。
本申请实施例提供的方法中,采用多次重试的技术方案,收敛因网络抖动导致的下载失败,提高配置文件下载成功率。
上述本申请实施例图1公开的步骤S104涉及到的判断目标业务组件是否为播放信号的依赖组件的过程,流程图如图3所示,包括以下步骤:
S301、获取播放信号的属性信息。
本申请实施例提供的方法中,获取播放信号的属性信息,该属性信息中包含播放信号依赖组件的组件标识。
需要说明的是,一次播放信号传递过程中可以存在多个关联组件,但只能存在一个依赖组件。
S302、判断属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识是否相同。
将播放信号的属性信号中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识进行比对,判断属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识是否相同,若判断为属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识相同,则执行步骤S303,若判断为属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识不相同,则执行步骤S304。
S303、判断出目标业务组件为播放信号的依赖组件。
若播放信号的属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识相同,则判断出目标业务组件为播放信号的依赖组件。
S304、判断出目标业务组件不为播放信号的依赖组件。
若播放信号的属性信息中包含的播放信号依赖组件的组件标识和目标业务组件的组件标识不相同,则判断出目标业务组件不为播放信号的依赖组件。
本申请实施例提供的方法中,通过将播放信号的属性信息中包含的播放信号依赖组件的组件标识与该目标业务组件的组件标识进行比对,进而判断目标业务组件是否为播放信号的依赖组件,在播放信号的属性信息中包含的播放信号依赖组件的组件标识与该目标业务组件的组件标识相同的情况下,判断出目标业务组件为播放信号的依赖组件;在播放信号的属性信息中包含的播放信号依赖组件的组件标识与该目标业务组件的组件标识不相同的情况下,判断出目标业务组件不为播放信号的依赖组件。
需要说明的是,判断上述步骤S110涉及到的判断第二业务组件是否为第一信号的依赖组件的具体过程同上述本申请实施例图3公开的各个步骤相似,此处不再赘述。
上述本申请实施例图4提及的播放信号的属性信息还包括播放信号关联组件的组件标识;上述本申请实施例图1公开的步骤S117涉及到的判断目标业务组件是否为播放信号的关联组件的过程,流程图如图4所示,包括以下步骤:
S401、判断属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识是否相同。
将播放信号的属性信息中包含的播放信号关联组件的组件标识与目标业务组件的组件标识进行比对,若属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识相同,则执行步骤S402,若属性信中包含的播放信号关联组件的组件标识和目标业务组件的组件标识不相同,则执行步骤S403。
S402、判断出目标业务组件为播放信号的关联组件。
若属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识相同,则判断出目标业务组件为播放信号的关联组件。
S403、判断出目标业务组件不为播放信号的关联组件。
若属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件不相同,则判断出目标业务组件不为播放信号的关联组件。
本申请实施例提供的方法中,将播放信号的属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识进行比对,以判断目标业务组件是否为播放信号的关联组件,若属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识相同,则判断出目标业务组件为播放信号的关联组件,若属性信息中包含的播放信号关联组件的组件标识和目标业务组件的组件标识不相同,则判断出目标业务组件不为播放信号的关联组件。
需要说明的是,判断上述步骤S112涉及到的判断第二业务组件是否为第一信号的关联组件的具体过程同上述本申请实施例图4公开的各个步骤相似,此处不再赘述。
本申请实施例提供的方法中,一个业务组件有多个信号需要路由时,也就是一个业务组件有多个信号需要传递时,根据信号的优先级发起具体的信号路由,高一优先级信号必须被销毁后才能发起低一优先级的信号进行路由;多个业务组件发出多个信号进行路由的情况下,按照信号的优先级进行信号路由,同一优先级的信号可以同时并发路由。
参阅图5,对业务播放方法的实现过程进行举例说明如下:
PlayCore为播放组件,ComeponentX为加载动画组件。
1、播放组件生成信号A(例如启播第一帧)。
2、信号A按照配置文件中组件排列的顺序,依次路由组件队列中的各个业务组件。
3、信号A路由至关联组件时,关联组件执行待处理事务并将信号A路由至关联组件的下一业务组件。
4、信号A路由至加载动画组件时,即路由至信号A的依赖组件时,等待加载动画组件执行完待处理事务,再将信号A路由至下一业务组件。
5、信号A回到播放组件被校验,并在校验成功后被销毁。
参阅图6,对业务播放方法的又一实现过程进行举例说明如下:
Comeponent2为加载动画UI组件,ComeponentX为会员推荐组件。
1、加载动画UI组件产生信号B(例如:引导动画执行完毕)。
2、信号B按照配置文件中组件排列的顺序,依次路由组件队列中的各个业务组件。
3、信号B路由至关联组件时,关联组件执行待处理事务并将信号B路由至关联组件的下一业务组件。
4、信号B路由至会员推荐组件时,也就是路由至信号B的依赖组件时,用户可以选择接收或者不接受任何推荐,会员推荐组件等待执行完待处理事务后,再将信号B路由至下一业务组件。
5、信号B回到加载动画UI组件被校验,并在校验成功后被销毁。
参阅图7,对业务播放方法的另一实现过程进行举例说明如下:
Comeponent1为广告组件。
1、广告组件产生信号C(例如:中插广告缓存完毕,需要启播)。
2、信号C按照配置文件中组件排列的顺序,依次路由组件队列中的各个业务组件。
3、信号C路由至关联组件时,关联组件执行待处理事务并将信号B路由至关联组件的下一业务组件。
4、信号C路由至ComeponentX组件时,也就是路由至非依赖、非关联组件时,直接将信号C路由至下一业务组件。
5、信号C路由至依赖组件时,需等待执行完待处理事务后(例如:视频播放器暂停播放),再将信号C路由至下一业务组件。
6、信号B回到广告组件被校验,并在校验成功后被销毁。
参阅图8,对业务播放方法的另一实现过程进行举例说明如下:
PlayCore为播放组件,Comeponent1为广告组件,Comeponent3为播放器父视图提供组件。
1、广告组件产生信号D(例如:因为中插广告缓存完毕,需要启播,发起需要暂停视频播放器信号)。
2、信号D按照配置文件中组件排列的顺序,依次路由组件队列中的各个业务组件。
3、信号D路由至关联组件时,关联组件执行待处理事务并将信号D路由至关联组件的下一业务组件。
4、等待信号D的依赖组件执行待处理事务后(例如视频播放器暂停播放),回溯到广告组件被校验,结束信号D的路由,并销毁信号D。
5、广告组件产生信号E(例如:因为中插广告缓存完毕,需要启播,发起广告播放容器视图展示在最外层的信号)。
6、信号E按照配置文件中组件排列顺序,依次路由组件队列中的各个业务组件,当路由至信号E的非依赖非关联组件时,直接路由至下一个业务组件。
7、播放器父视图提供组件将广告容器视图展示在最外层。
8、信号E路由至广告组件被校验,并启播广告,信号E被销毁。
参阅图9,对业务播放方法的另一实现过程进行举例说明如下:
PlayCore为播放组件,Comeponent2为加载视频动画UI组件,Comeponent3为4G播放控制组件,ComeponentX为4G情况下,用户选择免流或者直接使用4G播放的UI组件。
1、4G播放情况下,PlayCore产生信号A(例如:加载好第一帧)。
2、信号A按照配置文件中组件排列的顺序,依次路由组件队列中的各个业务组件。
3、信号A路由至Comeponent2,停止加载动画后,路由至Comeponent3,进行关联操作。
4、回溯至PlayCore被校验,信号A路由结束,信号A被销毁。
5、PlayCore产生开始播放的信号B,信号依次路由至Comeponent3。
6、Comeponent3检测到当前为4G网络条件,需要展示用户选择面板,并将信号B挂起,生成新的信号C。信号C为提示展示4G免流量播放情况下,免流或者直接播放两种UI。
7、信号C路由至ComeponentX,ComeponentX展示上述选择面板。
8、若用户选择直接观看,路由信号C至下一个业务组件,并最终回到Comeponent3被校验,并在校验通过后对信号C进行销毁。
9、信号B由挂起状态,恢复路由。
10、信号B路由至PlayCore被校验,播放器开始播放,信号B被销毁。
与图1所述的方法相对应,本申请实施例还提供了一种业务播放装置,用于对图1中方法的具体实现,其结构示意图如图10所示,具体包括:
第一生成单元1001,用于播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
发送单元1002,用于所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
第一判断单元1003,用于确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所述目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
第一销毁单元1004,用于当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
本申请实施例提供的业务播放装置,通过对播放信号的传递,触发播放信号的关联组件和依赖组件进行事务处理,且各业务组件是基于共享数据协议对象,从共享通道中获取共享数据进行事务处理,使业务组件的业务逻辑仅仅在组件内部***作,从而实现各个业务组件之间的解耦,进而降低维护难度和成本。并通过限制单一信号仅存在一个依赖组件,控制各个业务组件原子化操作,从而满足真实业务场景应用存在多个依赖组件配合完成一个特定任务的需求。以及通过共享通道,实现各个业务组件交换数据,减少开发人员对频繁切换数据的包装和传递,提高开发效率。
在本申请的一个实施例中,基于前述方案,还可以配置为:
第二判断单元,用于判断所述目标业务组件是否存在依赖组件;
第二生成单元,用于若所述目标业务组件存在依赖组件,则将所述目标业务组件作为第一业务组件,所述第一业务组件挂起当前信号,并生成新的第一信号;所述当前信号为播放信号或第一信号;
传递单元,用于所述第一业务组件将当前的第一信号传递至所述第一业务组件的后一个业务组件;其中,所述组件队列中的每个业务组件接收自身的前一个业务组件传递的所述第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号;
第三判断单元,用于确定当前接收所述第一信号的业务组件为第二业务组件,判断所述第二业务组件是否为所述第一信号的依赖组件,若所述第二业务组件为所述第一信号的依赖组件,则判断所述第二业务组件是否存在依赖组件,若所述第二业务组件存在依赖组件,则将所述第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行所述第一业务组件挂起当前信号,并生成新的第一信号的步骤,若所述第二业务组件不存在依赖组件,则执行所述第一操作,并在第一操作执行完后,将所述第一信号传递至所述第二业务组件的后一个业务组件,若所述第二业务组件不为所述第一信号的依赖组件,则直接将所述第一信号传递至所述第二业务组件的后一个组件,并在判断出所述第二业务组件为第一信号的关联组件时,执行所述第一操作;
第二销毁单元,用于当每个第一业务组件接收到自身的前一个业务组件发送的所述第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
在本申请的一个实施例中,基于前述方案,所述第一判断单元1003执行判断所述目标业务组件是否为所述播放信号的依赖组件,用于:
获取所述播放信号的属性信息;所述属性信息中包含播放信号依赖组件的组件标识;
判断所述属性信息中包含的播放信号依赖组件的组件标识和所述目标业务组件的组件标识是否相同;
若相同,则判断出所述目标业务组件为所述播放信号的依赖组件;
若不相同,则判断出所述目标业务组件不为所述播放信号的依赖组件。在本申请的一个实施例中,基于前述方案,所述属性信息中还包含播放信号关联组件的组件标识,所述第一判断单元1003执行判断出所述目标业务组件为所述播放信号的关联组件,用于:
判断所述属性信息中包含的播放信号关联组件的组件标识是否和所述目标业务组件的组件标识相同;
若相同,则判断出所述目标业务组件为所述播放信号的关联组件。
在本申请的一个实施例中,基于前述方案,第一销毁单元1004执行播放组件执行业务播放操作,用于:
基于预先注入所述播放组件的共享数据协议对象,获取共享通道内与待播放业务相关的共享数据;所述待播放业务与所述播放信号关联;
基于所述与待播放业务相关的共享数据,播放所述待播放业务。
在本申请的一个实施例中,基于前述方案,还可以配置为:
请求单元,用于在终端应用启动后,向云端发送配置文件获取请求;
下载单元,用于在接收到所述云端反馈的与所述配置文件获取请求对应的配置文件时,下载所述配置文件,并判断所述配置文件中包含的版本信息是否与所述终端应用的版本信息一致;
存储单元,用于若一致,将所述配置文件进行存储;
返回单元,用于若不一致,则返回执行所述向云端发送配置文件请求的步骤,直至发送配置文件获取请求的次数大于阈值或所述云端所反馈的配置文件中包含的版本信息与所述终端应用的版本信息一致。
本申请实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述业务播放方法。
本申请实施例还提供了一种电子设备,其结构示意图如图11所示,具体包括存储器1101,以及一个或者一个以上的指令1102,其中一个或者一个以上指令1102存储于存储器1101中,且经配置以由一个或者一个以上处理器1103执行所述一个或者一个以上指令1102进行以下操作:
播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;
所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种业务播放方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种业务播放方法,其特征在于,包括:
播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所述目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;
所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
2.根据权利要求1所述的方法,其特征在于,若目标业务组件为所述播放信号的依赖组件,则所述目标业务组件执行第一操作之前,还包括:
判断所述目标业务组件是否存在依赖组件;
若所述目标业务组件存在依赖组件,则将所述目标业务组件作为第一业务组件,所述第一业务组件挂起当前信号,并生成新的第一信号;所述当前信号为播放信号或第一信号;
所述第一业务组件将当前的第一信号传递至所述第一业务组件的后一个业务组件;其中,所述组件队列中的每个业务组件接收自身的前一个业务组件传递的所述第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号;
确定当前接收所述第一信号的业务组件为第二业务组件,判断所述第二业务组件是否为所述第一信号的依赖组件,若所述第二业务组件为所述第一信号的依赖组件,则判断所述第二业务组件是否存在依赖组件,若所述第二业务组件存在依赖组件,则将所述第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行所述第一业务组件挂起当前信号,并生成新的第一信号的步骤,若所述第二业务组件不存在依赖组件,则执行所述第一操作,并在第一操作执行完后,将所述第一信号传递至所述第二业务组件的后一个业务组件,若所述第二业务组件不为所述第一信号的依赖组件,则直接将所述第一信号传递至所述第二业务组件的后一个组件,并在判断出所述第二业务组件为第一信号的关联组件时,执行所述第一操作;
当每个第一业务组件接收到自身的前一个业务组件发送的所述第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述目标业务组件是否为所述播放信号的依赖组件,包括:
获取所述播放信号的属性信息;所述属性信息中包含播放信号依赖组件的组件标识;
判断所述属性信息中包含的播放信号依赖组件的组件标识和所述目标业务组件的组件标识是否相同;
若相同,则判断出所述目标业务组件为所述播放信号的依赖组件;
若不相同,则判断出所述目标业务组件不为所述播放信号的依赖组件。
4.根据权利要求3所述的方法,其特征在于,所述属性信息中还包含播放信号关联组件的组件标识,所述判断出所述目标业务组件为所述播放信号的关联组件,包括:
判断所述属性信息中包含的播放信号关联组件的组件标识是否和所述目标业务组件的组件标识相同;
若相同,则判断出所述目标业务组件为所述播放信号的关联组件。
5.根据权利要求1所述的方法,其特征在于,所述播放组件执行业务播放操作,包括:
基于预先注入所述播放组件的共享数据协议对象,获取共享通道内与待播放业务相关的共享数据;所述待播放业务与所述播放信号关联;
基于所述与待播放业务相关的共享数据,播放所述待播放业务。
6.根据权利要求1所述的方法,其特征在于,所述配置文件的存储过程,包括:
在终端应用启动后,向云端发送配置文件获取请求;
在接收到所述云端反馈的与所述配置文件获取请求对应的配置文件时,下载所述配置文件,并判断所述配置文件中包含的版本信息是否与所述终端应用的版本信息一致;
若一致,将所述配置文件进行存储;
若不一致,则返回执行所述向云端发送配置文件请求的步骤,直至发送配置文件获取请求的次数大于阈值或所述云端所反馈的配置文件中包含的版本信息与所述终端应用的版本信息一致。
7.一种业务播放装置,其特征在于,包括:
第一生成单元,用于播放组件生成播放信号;所述播放组件为组件队列中的第一个业务组件;所述组件队列中设置有多个业务组件,所述组件队列中各个业务组件的排列顺序依据预先存储的配置文件所确定;
发送单元,用于所述播放组件将所述播放信号发送至所述组件队列中所述播放组件的后一个业务组件;其中,所述组件队列中除所述播放组件外的每个业务组件接收自身的前一个业务组件发送的所述播放信号;
第一判断单元,用于确定当前接收到所述播放信号的业务组件为目标业务组件,判断所述目标业务组件是否为所述播放信号的依赖组件,若是,则执行第一操作,并在第一操作执行完后,将所述播放信号传递至所述目标业务组件的后一个业务组件,若否,则直接将所述播放信号传递至所述目标业务组件的后一个业务组件,并在判断出所述目标业务组件为所述播放信号的关联组件时,执行所述第一操作;第一操作包括:基于预先注入所述目标业务组件的共享数据协议对象,获取共享通道内与所述目标业务组件的待处理事务相关的共享数据,基于所获取的共享数据,对所述待处理事务进行处理,得到处理结果,将所述处理结果共享至所述共享通道;所述组件队列中的末尾一个业务组件的后一个业务组件为所述播放组件;
第一销毁单元,用于当所述播放组件接收到所述组件队列中的末尾一个业务组件发送的所述播放信号时,执行业务播放操作,并销毁所述播放信号。
8.根据权利要求7所述的装置,其特征在于,若目标业务组件为所述播放信号的依赖组件,还包括:
第二判断单元,用于判断所述目标业务组件是否存在依赖组件;
第二生成单元,用于若所述目标业务组件存在依赖组件,则将所述目标业务组件作为第一业务组件,所述第一业务组件挂起当前信号,并生成新的第一信号;所述当前信号为播放信号或第一信号;
传递单元,用于所述第一业务组件将当前的第一信号传递至所述第一业务组件的后一个业务组件;其中,所述组件队列中的每个业务组件接收自身的前一个业务组件传递的所述第一信号,组件队列中的第一个业务组件接收末尾一个业务组件传递的第一信号;
第三判断单元,用于确定当前接收所述第一信号的业务组件为第二业务组件,判断所述第二业务组件是否为所述第一信号的依赖组件,若所述第二业务组件为所述第一信号的依赖组件,则判断所述第二业务组件是否存在依赖组件,若所述第二业务组件存在依赖组件,则将所述第二业务组件作为新的第一业务组件,并基于新的第一业务组件,返回执行所述第一业务组件挂起当前信号,并生成新的第一信号的步骤,若所述第二业务组件不存在依赖组件,则执行所述第一操作,并在第一操作执行完后,将所述第一信号传递至所述第二业务组件的后一个业务组件,若所述第二业务组件不为所述第一信号的依赖组件,则直接将所述第一信号传递至所述第二业务组件的后一个组件,并在判断出所述第二业务组件为第一信号的关联组件时,执行所述第一操作;
第二销毁单元,用于当每个第一业务组件接收到自身的前一个业务组件发送的所述第一信号时,每个第一业务组件销毁当前接收到的第一信号,并恢复挂起自身之前所挂起的播放信号或第一信号。
9.根据权利要求7或8所述的装置,其特征在于,所述第一判断单元执行判断所述目标业务组件是否为所述播放信号的依赖组件,用于:
获取所述播放信号的属性信息;所述属性信息中包含播放信号依赖组件的组件标识;
判断所述属性信息中包含的播放信号依赖组件的组件标识和所述目标业务组件的组件标识是否相同;
若相同,则判断出所述目标业务组件为所述播放信号的依赖组件;
若不相同,则判断出所述目标业务组件不为所述播放信号的依赖组件。
10.根据权利要求9所述的装置,其特征在于,所述属性信息中还包含播放信号关联组件的组件标识,所述第一判断单元执行判断出所述目标业务组件为所述播放信号的关联组件,用于:
判断所述属性信息中包含的播放信号关联组件的组件标识是否和所述目标业务组件的组件标识相同;
若相同,则判断出所述目标业务组件为所述播放信号的关联组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011518801.9A CN112689169B (zh) | 2020-12-21 | 2020-12-21 | 业务播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011518801.9A CN112689169B (zh) | 2020-12-21 | 2020-12-21 | 业务播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689169A true CN112689169A (zh) | 2021-04-20 |
CN112689169B CN112689169B (zh) | 2022-06-17 |
Family
ID=75449916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011518801.9A Active CN112689169B (zh) | 2020-12-21 | 2020-12-21 | 业务播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689169B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120620A1 (en) * | 2006-09-27 | 2008-05-22 | Richard Lett | Systems and methods for scheduling, processing, and monitoring tasks |
WO2009072809A2 (en) * | 2007-12-05 | 2009-06-11 | An-Mo Jeong | A method for decoupling service components from application-specific business entities |
CN102566992A (zh) * | 2010-12-17 | 2012-07-11 | 卓望数码技术(深圳)有限公司 | 一种基于***运行的依赖注入方法及装置 |
CN105872784A (zh) * | 2015-12-29 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 视频播放器及其多业务控制方法 |
CN105991416A (zh) * | 2015-02-15 | 2016-10-05 | 无锡北邮感知技术产业研究院有限公司 | 一种消息传递方法及消息传递中间件 |
CN110012308A (zh) * | 2019-05-15 | 2019-07-12 | 广州虎牙信息科技有限公司 | 一种基于直播的业务处理方法、装置、设备和存储介质 |
CN111429129A (zh) * | 2020-03-20 | 2020-07-17 | 上海依图网络科技有限公司 | 一种基于标识信息验证的业务处理方法及装置 |
CN111737032A (zh) * | 2020-07-27 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种基于微内核***的子程序运行方法、装置和电子设备 |
-
2020
- 2020-12-21 CN CN202011518801.9A patent/CN112689169B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120620A1 (en) * | 2006-09-27 | 2008-05-22 | Richard Lett | Systems and methods for scheduling, processing, and monitoring tasks |
WO2009072809A2 (en) * | 2007-12-05 | 2009-06-11 | An-Mo Jeong | A method for decoupling service components from application-specific business entities |
CN102566992A (zh) * | 2010-12-17 | 2012-07-11 | 卓望数码技术(深圳)有限公司 | 一种基于***运行的依赖注入方法及装置 |
CN105991416A (zh) * | 2015-02-15 | 2016-10-05 | 无锡北邮感知技术产业研究院有限公司 | 一种消息传递方法及消息传递中间件 |
CN105872784A (zh) * | 2015-12-29 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 视频播放器及其多业务控制方法 |
CN110012308A (zh) * | 2019-05-15 | 2019-07-12 | 广州虎牙信息科技有限公司 | 一种基于直播的业务处理方法、装置、设备和存储介质 |
CN111429129A (zh) * | 2020-03-20 | 2020-07-17 | 上海依图网络科技有限公司 | 一种基于标识信息验证的业务处理方法及装置 |
CN111737032A (zh) * | 2020-07-27 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种基于微内核***的子程序运行方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112689169B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831456B (zh) | 消息推送方法、装置、设备及存储介质 | |
US10065119B2 (en) | Game accessing method and processing method, server, terminal, and system | |
CN109936587B (zh) | 控制方法、控制装置、电子设备及存储介质 | |
US10198238B2 (en) | Data transmission method, and relevant device and system | |
US20230412853A1 (en) | Multi-user live streaming method, terminal, server, and storage medium | |
CN111991813B (zh) | 登录游戏的方法、装置、电子设备及存储介质 | |
US11157959B2 (en) | Multimedia information processing method, apparatus and system, and computer storage medium | |
US20050256985A1 (en) | Sending progress information of other users for transmitted shared content | |
CN113727130A (zh) | 直播间的消息提示方法、***、装置及计算机设备 | |
EP4054198A1 (en) | Live broadcast method and apparatus, electronic device, and storage medium | |
US11558721B2 (en) | Method and system for fairly charging talk time of video call that introduces new person | |
CN113568699A (zh) | 一种内容显示方法、装置、设备及存储介质 | |
CN112486620A (zh) | 跨进程离屏渲染方法、装置、电子设备及存储介质 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及*** | |
US20170171266A1 (en) | Method and electronic device based on android platform for multimedia resource play | |
CN112689169B (zh) | 业务播放方法及装置 | |
CN111723353A (zh) | 基于人脸识别的身份认证方法、装置、终端及存储介质 | |
CN113079085B (zh) | 商服交互方法、装置、设备及存储介质 | |
CN112511884B (zh) | 一种音视频流的混流控制方法、***和存储介质 | |
CN111766992B (zh) | 信息显示方法、装置、电子设备及存储介质 | |
CN110868640A (zh) | 资源转移方法、装置、设备及存储介质 | |
CN112099736A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN111921204A (zh) | 云应用程序的控制方法、装置、设备及存储介质 | |
US20170134486A1 (en) | Method and device for information synchronization | |
CN111770051B (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 |