一种机顶盒的启动方法和装置与流程

文档序号:21084262发布日期:2020-06-12 16:47阅读:326来源:国知局
本发明涉及机顶盒领域,尤其涉及一种机顶盒的启动方法和装置。
背景技术
::机顶盒(settopbox,stb)在启动流程中需要加载多种业务场景,每种业务场景下需要调度执行多个任务。现有技术中机顶盒的启动流程是串行处理流程,串行处理流程是指机顶盒调度执行任务时,是一个任务执行完成,再执行下一个任务。但是,现有技术的缺点在于,在机顶盒调度执行任务时,无法并发执行任务,使得启动机顶盒的时间过长,用户的体验感也随之变差,无法提供更好的服务效果。技术实现要素:基于上述现有技术的不足,本发明提出了一种机顶盒的启动方法和装置,以实现加快启动机顶盒,提升用户体验,提供更好的服务效果。为了实现上述目的,现提出的方案如下:本发明第一方面公开了一种机顶盒的启动方法,包括:获取任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表,每一份所述任务链表包括至少一个同等优先级的任务;按照所述任务链队列中的任务链表的排列顺序,依次调度每一份所述任务链表;获取所述调度的任务链表包括的至少一个任务;并发执行所述获取到的至少一个任务。可选地,所述并发执行所述获取到的至少一个任务,包括:遍历关联链表,分别确定出获取到的每一个任务对应的执行模块和执行模块的执行顺序;其中,所述关联链表包括:调度索引和从属于同一调度索引下的多个执行模块的执行顺序,所述调度索引包括频点索引和任务名称索引;按照所述执行模块的执行顺序,并行调用并执行所述获取到的每一个任务对应的执行模块。可选地,所述关联链表的生成方法,包括:针对每一种业务场景,构建所述业务场景包括的每一个任务对应的执行模块;其中,所述业务场景包括:机顶盒的启动流程下的多个业务场景;加载所述执行模块的配置项信息;利用所述配置项信息配置对应的执行模块的功能;依据所述配置项信息,建立所述调度索引和配置功能后的执行模块的关联表,作为所述关联链表;其中,所述调度索引和配置功能后的执行模块的关联表,用于说明在同一频点下的执行模块的执行顺序,以及用于说明在同一任务下的执行模块的执行顺序。可选地,所述任务链队列的生成方式,包括:确定每一种业务场景包括的至少一个业务;按照业务的排序优先级,对所述确定的多个业务进行归类,并对归类后的类别进行排序。可选地,所述业务的排序优先级,包括:设定与频点无关的任务、特殊任务和核心任务作为第一执行顺序的任务类;设定中心频点的任务和锁频执行时间小于第一阈值的任务作为第二执行顺序的任务类;设定具有冲突项的任务和锁频执行时间大于第二阈值的任务作为第三执行顺序的任务类。本发明第二方面公开了一种机顶盒的启动装置,包括:第一获取单元,用于获取任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表,每一份所述任务链表包括至少一个同等优先级的任务;调度单元,用于按照所述任务链队列中的任务链表的排列顺序,依次调度每一份所述任务链表;第二获取单元,用于获取所述调度的任务链表包括的至少一个任务;执行单元,用于并发执行所述获取到的至少一个任务。可选地,所述执行单元,包括:遍历子单元,用于遍历关联链表,分别确定出获取到的每一个任务对应的执行模块和执行模块的执行顺序;其中,所述关联链表包括:调度索引和从属于同一调度索引下的多个执行模块的执行顺序,所述调度索引包括频点索引和任务名称索引;调用子单元,用于按照所述执行模块的执行顺序,并行调用并执行所述获取到的每一个任务对应的执行模块。可选地,还包括:构建单元,用于针对每一种业务场景,构建所述业务场景包括的每一个任务对应的执行模块;其中,所述业务场景包括:机顶盒的启动流程下的多个业务场景;加载单元,用于加载所述执行模块的配置项信息;配置单元,用于利用所述配置项信息配置对应的执行模块的功能;建立单元,用于依据所述配置项信息,建立所述调度索引和配置功能后的执行模块的关联表,作为所述关联链表;其中,所述调度索引和配置功能后的执行模块的关联表,用于说明在同一频点下的执行模块的执行顺序,以及用于说明在同一任务下的执行模块的执行顺序。可选地,还包括:确定单元,用于确定每一种业务场景包括的至少一个业务;归类单元,用于按照业务的排序优先级,对所述确定的多个业务进行归类,并对归类后的类别进行排序。可选地,所述业务的排序优先级,包括:设定与频点无关的任务、特殊任务和核心任务作为第一执行顺序的任务类;设定中心频点的任务和锁频执行时间小于第一阈值的任务作为第二执行顺序的任务类;设定具有冲突项的任务和锁频执行时间大于第二阈值的任务作为第三执行顺序的任务类。从上述的技术方案可以看出,本发明提供的机顶盒的启动方法和装置中,通过获取任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表,每一份所述任务链表包括至少一个同等优先级的任务;按照所述任务链队列中的任务链表的排列顺序,依次调度每一份所述任务链表;获取所述调度的任务链表包括的至少一个任务;并发执行所述获取到的至少一个任务。由此可见,通过本发明中的方法和装置,在机顶盒调度执行任务时,可以并发执行任务,加快启动机顶盒的时间,提升用户体验,提供更好的服务效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本发明实施例公开的一种关联链表生成方式的流程图;图2为本发明实施例公开的一种执行模块的结构图;图3为本发明实施例公开的一种任务链队列生成方式的流程图;图4为本发明实施例公开的一种机顶盒的启动方法的流程图;图5为本发明实施例公开的一种任务链队列的图;图6为本发明实施例公开的另一种机顶盒的启动方法的流程图;图7为本发明实施例公开的一种关联链表的图;图8为本发明实施例公开的一种机顶盒的启动装置的结构图;图9为本发明实施例公开的一种执行单元的结构图;图10为本发明实施例公开的另一种机顶盒的启动装置的结构图;图11为本发明实施例公开的另一种机顶盒的启动装置的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提出了一种机顶盒的启动方法和装置,以实现加快启动机顶盒,提升用户体验,提供更好的服务效果。首先需要说明的是,在执行机顶盒的启动方法之前,需要构建有关联链表。关联链表包含执行模块的调度索引信息,用于找出相应的执行模块以执行机顶盒的启动流程。可选地,参阅图1,生成关联链表的一种实施方式为:s101、针对每一种业务场景,构建所述业务场景包括的每一个任务对应的执行模块。其中,所述业务场景包括:机顶盒的启动流程下的多个业务场景。一般情况下,业务场景可以是:监控psisi表的更新,监控私有表信息,监控升级流信息,过滤oc数据流,获取ca认证信息,多频点和多业务需求的一种或者任意组合。需要说明的是,每一种业务场景包括至少一个任务,一个任务需要至少一个执行模块处理该任务。s102、加载所述执行模块的配置项信息。其中,配置项信息可以包括:数字视频广播(digitalvideobroadcasting,dvb)中传输信道的配置信息,例如:频点、符号率、传输方式等;所需监控的表的信息,例如:包识别(packetidentification,pid)和表标别(tableidentification,tableid)等信息;业务的排序优先级信息;业务场景信息或相似的业务场景信息。需要说明的是,每一个执行模块都包括这几类配置项信息,但是每一个执行模块的功能不同,相应地,每一个执行模块都包括的这几类配置项信息的具体内容也不同。s103、利用所述配置项信息配置对应的执行模块的功能。其中,解析执行模块的配置项信息,利用配置项信息设置执行模块的功能。具体的,参阅图2,配置执行模块的功能后,执行模块一般包括三部分,分别是链指针、执行模块的功能和默认参数。其中,链指针根据配置项信息中的dvb中传输信道的配置信息、以及业务的排序优先级信息确定,作用是通过链指针中的频点和任务确定执行任务之间的关联关系。执行模块间的关联关系是指执行模块和另一执行模块具有同一频点和处理同一任务。执行模块的功能可以是创建、运行、检测、终止和完成等。具体通过配置项信息中的业务场景信息或者相似的业务场景信息确定。比如,要创建并运行一个任务,可以是两个执行模块进行处理,一个执行模块进行创建,另一个执行模块进行运行,并且这两个执行模块具有执行顺序,必然是先进行创建再进行运行。执行模块的默认参数,则也可以通过配置项信息中的业务场景信息或者相似的业务场景信息确定,也可以由机顶盒提供的信息配置。需要说明的是,建立的执行模块可通过一个总控制器来管理和调度。总控制器可以增加或删除执行模块,还可以对任务进行排序,调度任务。s104、依据所述配置项信息,建立调度索引和配置功能后的执行模块的关联表,作为所述关联链表。其中,所述调度索引和配置功能后的执行模块的关联表,用于说明在同一频点下的执行模块的执行顺序,以及用于说明在同一任务下的执行模块的执行顺序。关联链表将调度索引和配置功能后的执行模块联系起来,通过调度索引可以找出执行模块,以及执行模块的执行顺序。具体地,可以找出同一频点的执行模块及其执行顺序,以及找出同一任务下的执行模块及其执行顺序。本发明实施例针对每一种业务场景,构建所述业务场景包括的每一个任务对应的执行模块,并对各个执行模块引入了配置项信息,配置了各个执行模块的功能。通过执行模块处理不同的业务场景,达到高内聚低耦合的效果,只需要处理执行模块的逻辑调度和执行执行模块,方便了代码的维护和扩展。还需要说明的是,在构建得到关联链表后,还需要构建任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表。其中,每一份任务链表至少包括一个任务,且包括的任务都是处于同一优先级别。任务链表中包括的任务基本上为机顶盒启动流程中所涉及的任务。任务的优先级别,用于说明该任务的执行顺序,优先级别越高,说明对应的任务需要越靠前执行。可选地,参阅图3,任务链队列的一种生成方式包括:s301、确定每一种业务场景包括的至少一个业务。启动机顶盒需要启动多种业务场景,每一种业务场景下包括至少一个业务,首先需要明确执行的业务及其执行的顺序。s302、按照业务的排序优先级,对所述确定的多个业务进行归类,并对归类后的类别进行排序。其中,业务的排序优先级,包括:设定与频点无关的任务、特殊任务和核心任务作为第一执行顺序的任务类;设定中心频点的任务和锁频执行时间小于第一阈值的任务作为第二执行顺序的任务类;设定具有冲突项的任务和锁频执行时间大于第二阈值的任务作为第三执行顺序的任务类。其中,决定业务的排序优先级顺序有这几点因素:是否与频点无关,是否为中心频点,是否为主备频点,是否为特殊业务,锁频执行时间的长短。需要说明的是,第一执行顺序的任务类、第二执行顺序的任务类和第三执行顺序的任务类为任务的执行优先级顺序,也就是说,任务链队列包括的多份任务链表可归类为这三类任务类,这三类任务类具有执行的先后顺序。可以得知,对归类后的业务进行排序,就是将排序完成的业务导入到任务链队列中。在任务链队列中,总控制器可以对这三类任务类进行调度,也就是可以对排序完成的业务进行调度。由于机顶盒只具有一个解调器和解复用,一个解调器时刻只能锁定一个频点,一个解复用具有多路通道和多路过滤器,因此与频点无关的任务可以并发执行,同一频点的任务也可以并发执行,在同一频点的情况下,任务间没有冲突项。本发明实施例通过对业务进行归类和排序,机顶盒在启动过程中可以按照最优的调度策略进行调度,满足了实际业务的需求。基于预先构建的任务链队列,本发明实施例公开的机顶盒的启动方法,如图4所示,包括:s401、获取任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表,每一份所述任务链表包括至少一个同等优先级的任务。完成归类的业务并且归类后的业务按照排序优先级完成排序,获得按照顺序排列的三类任务类。获取按照顺序排列的这三类任务类作为任务链队列,任务链队列的具体形式参阅图5。s402、按照所述任务链队列中的任务链表的排列顺序,依次调度每一份所述任务链表。也就是说,依次调度任务链队列中的第一执行顺序的任务类,第二执行顺序的任务类,第三执行顺序的任务类。结合图5可以看出,按照执行优先级顺序的高低依次调度第一执行顺序的任务类,直到调度完成第三执行顺序的任务类。s403、获取所述调度的任务链表包括的至少一个任务。结合图5,每一任务类包括至少一个任务,获取调度的任务链表包括的至少一个任务即获取每一任务类包括的至少一个任务,获取任务的顺序是按照执行优先级的顺序获取的,也就是依次获取第一执行顺序的任务类到第三执行顺序的任务类包括的至少一个任务。s404、并发执行所述获取到的至少一个任务。同一任务类包括的任务是同等优先级的任务,同等优先级的任务可以并发执行。也就是说,可以并发执行同一任务类包括的所有任务,并且按照执行优先级顺序执行完三类任务类包括的所有任务。结合图5,同一任务类包括的任务是同等优先级的任务,可以是第一执行顺序的任务类包括的所有任务是同等优先级的任务,该任务类下的所有任务并发执行。同理,第二执行顺序的任务类下包括的所有任务并发执行,第三执行顺序的任务类下包括的所有任务并发执行。并且,本发明实施例还可以检查任务是否执行,若有要执行的任务没有执行,则令任务执行。本发明实施例还可以对执行的任务标记执行时间是否超时。本发明实施例通过并发执行获取到的至少一个任务,在机顶盒调度执行任务时,可以并发执行任务,加快启动机顶盒的时间,提升用户体验,提供更好的服务效果。可选地,本发明的另一实施例中,s404的一种具体实施方式,参阅图6,包括:s601、遍历关联链表,分别确定出获取到的每一个任务对应的执行模块和执行模块的执行顺序;其中,所述关联链表包括:调度索引和从属于同一调度索引下的多个执行模块的执行顺序,所述调度索引包括频点索引和任务名称索引。关联链表的一种具体形式参阅图7,图7中的f1、f2和f3是不同的频点索引,s1、s2和s3是不同的任务名称索引。如果f1是执行模块一的频点,那么可以找到执行模块一以及与执行模块一相同频点的执行模块二和执行模块三。如果s1是执行模块二的任务名称索引,那么可以找到执行模块二以及与执行模块二相同任务名称的执行模块三。同时,可以确定执行模块一、执行模块二和执行模块三的执行顺序。s602、按照所述执行模块的执行顺序,并行调用并执行所述获取到的每一个任务对应的执行模块。每一个任务都有对应的执行模块,在s601已经确定执行模块和执行模块的执行顺序,按照执行模块的执行顺序,并行调用并执行每一个任务下的执行模块。参阅图8,本发明另一实施例公开了一种机顶盒的启动装置,具体包括:第一获取单元801、调度单元802、第二获取单元803和执行单元804。第一获取单元801,用于获取任务链队列,所述任务链队列包括按照执行优先级顺序排布的多份任务链表,每一份所述任务链表包括至少一个同等优先级的任务。完成归类的业务并且归类后的业务按照排序优先级完成排序,获得按照顺序排列的三类任务类。获取按照顺序排列的这三类任务类作为任务链队列,任务链队列的具体形式参阅图5。调度单元802,用于按照所述任务链队列中的任务链表的排列顺序,依次调度每一份所述任务链表。也就是说,依次调度任务链队列中的第一执行顺序的任务类,第二执行顺序的任务类,第三执行顺序的任务类。结合图5可以看出,按照执行优先级顺序的高低依次调度第一执行顺序的任务类,直到调度完成第三执行顺序的任务类。第二获取单元803,用于获取所述调度的任务链表包括的至少一个任务。结合图5,每一任务类包括至少一个任务,获取调度的任务链表包括的至少一个任务即获取每一任务类包括的至少一个任务,获取任务的顺序是按照执行优先级的顺序获取的,也就是依次获取第一执行顺序的任务类到第三执行顺序的任务类包括的至少一个任务。执行单元804,用于并发执行所述获取到的至少一个任务。同一任务类包括的任务是同等优先级的任务,同等优先级的任务可以并发执行。也就是说,可以并发执行同一任务类包括的所有任务,并且按照执行优先级顺序执行完三类任务类包括的所有任务。结合图5,同一任务类包括的任务是同等优先级的任务,可以是第一执行顺序的任务类包括的所有任务是同等优先级的任务,该任务类下的所有任务并发执行。同理,第二执行顺序的任务类下包括的所有任务并发执行,第三执行顺序的任务类下包括的所有任务并发执行。并且,本发明实施例还可以检查任务是否执行,若有要执行的任务没有执行,则令任务执行。本发明实施例还可以对执行的任务标记执行时间是否超时。本发明实施例通过并发执行获取到的至少一个任务,在机顶盒调度执行任务时,可以并发执行任务,加快启动机顶盒的时间,提升用户体验,提供更好的服务效果。可选地,执行单元804的一种具体实施方式,参阅图9,包括:遍历子单元901,用于遍历关联链表,分别确定出获取到的每一个任务对应的执行模块和执行模块的执行顺序;其中,所述关联链表包括:调度索引和从属于同一调度索引下的多个执行模块的执行顺序,所述调度索引包括频点索引和任务名称索引。调用子单元902,用于按照所述执行模块的执行顺序,并行调用并执行所述获取到的每一个任务对应的执行模块。其中,本实施例中的两个单元的具体工作过程,可参见对应图6的实施例内容,此处不再赘述。可选地,本发明的另一实施例中,所述机顶盒的启动装置,还包括:确定单元1001,用于确定每一种业务场景包括的至少一个业务。归类单元1002,用于按照业务的排序优先级,对所述确定的多个业务进行归类,并对归类后的类别进行排序。其中,本实施例中两个单元的具体工作过程,可参见对应图3的实施例内容,此处不再赘述。可选地,本发明的另一实施例中,所述机顶盒的启动装置,还可以构建得到关联链表,具体的,如图11所示,包括:构建单元1101,用于针对每一种业务场景,构建所述业务场景包括的每一个任务对应的执行模块;其中,所述业务场景包括:机顶盒的启动流程下的多个业务场景。加载单元1102,用于加载所述执行模块的配置项信息。配置单元1103,用于利用所述配置项信息配置对应的执行模块的功能。建立单元1104,用于依据所述配置项信息,建立所述调度索引和配置功能后的执行模块的关联表,作为所述关联链表;其中,所述调度索引和配置功能后的执行模块的关联表,用于说明在同一频点下的执行模块的执行顺序,以及用于说明在同一任务下的执行模块的执行顺序。其中,本实施例中,各个单元的具体工作过程,可参见对应图1的实施例内容,此处不再赘述。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1