本发明专利技术适用于计算机应用领域,提供了一种状态机、调度方法、装置及USB媒体播放控制装置,状态机为层次状态机,其每个状态的数据信息包括:状态特征号、父状态特征号、与状态相关联的事件处理表;所述事件处理表包括:该状态所需处理的事件的特征号、该状态所需处理的事件所对应的事件处理函数。所述基于层次状态机的调度方法包括:根据接收到的事件的特征号查找当前状态及依次追溯当前状态的父状态相关联的事件处理表中是否包括事件的特征号;当查找到包括事件的特征号的事件处理表时,从该事件处理表中获取与事件对应的事件处理函数及目标状态;退出当前状态后执行事件处理函数并迁移至目标状态,大大降低了事件处理表的规模且易于扩展和维护。
【技术实现步骤摘要】
本专利技术属于计算机应用领域,尤其涉及一种状态机、调度方法、装置及USB媒体播放控制装置。
技术介绍
状态机是一种系统调度的抽象模型,使用有限的状态来描述系统的行为,其要素包括状态、条件、事件、动作和迁移。层次状态机是状态机理论中的一种层次结构模型,各个状态按照树状层次结构组织起来,系统根据层次状态机中所设置的调度方法对事件进行处理并通过状态迁移实现系统的调度。现有的层次状态机虽然能够较为有效地进行系统的调度,然而仍存在不少缺陷,如层次状态机中的每个状态都要根据所有可能的事件建立事件处理表和事件处理函数,耗费大量代码及存储空间,例如,状态机共有N个状态和M个可能的事件,则共需要N*M个事件处理表,使得事件处理表的规模过于庞大占用大量存储空间。此外,现有的层次状态机难以扩展,如系统增加一个状态,则需要修改所有现有的事件处理表中的状态迁移信息,增大了事件处理表的规模及系统调度的复杂度。
技术实现思路
本专利技术实施例的目的在于提供一种状态机、调度方法及装置,旨在解决现有的层级状态机耗费大量代码及存储空间且不易扩展的问题。另外,本专利技术还提出一种USB媒体播放的控制装置,所述USB播放装置基于所述的层次状态机与对应的状态机调度装置,解决了在资源较小的设备下控制USB资源播放的问题。本专利技术实施例是这样实现的,一种状态机,所述状态机为层数为N的层次状态机,所述层次状态机为树状结构,所述层次状态机中每个状态的数据信息包括状态特征号、父状态特征号、与状态相关联的事件处理表;所述层次状态机中与每个状态相关联的事件处理表包括该状态所需处理的事件的特征号、该状态所需处理的事件所对应的事件处理函数。本专利技术实施例的另一目的在于提供一种基于所述状态机的调度方法,所述方法包括根据接收到的事件的特征号查找当前状态及依次追溯当前状态的父状态相关联的事件处理表中是否包括所述事件的特征号;当查找到包括所述事件的特征号的事件处理表时,从该包括所述事件的特征号的事件处理表中获取与所述事件对应的事件处理函数及目标状态;退出当前状态后执行与所述事件对应的事件处理函数并迁移至目标状态。本专利技术实施例的另一目的在于提供一种基于所述状态机的调度装置,所述装置包括事件查找模块,用于根据接收到的事件的特征号查找当前状态及依次追溯当前状态的父状态相关联的事件处理表中是否包括所述事件的特征号;迁移状态信息获取模块,用于当查找到包括所述事件的特征号的事件处理表时,从该包括所述事件的特征号的事件处理表中获取与所述事件对应的事件处理函数及目标状态;状态迁移模块,用于退出当前状态后执行与所述事件对应的事件处理函数并迁移至目标状态。本专利技术实施例的另一目的在于提供一种基于层次状态机的调度装置的USB媒体播放控制装置,其特征在于,所述的装置包括第一层状态控制模块,其包括两个第二层的受控的子状态模块睡眠控制模块及开机控制模块;设置在所述开机控制模块中的第三层状态控制模块,其包括初始化控制模块、USB已拔出控制模块、USB已插入控制模块; 设置在USB已插入控制模块的第四层状态控制模块,其包括无法识别USB控制模块、无法读取文件控制模块、正在读取文件控制模块、读取文件结束控制模块、正在播放控制模块、停止播放控制模块;设置在正在播放控制模块中的第五层状态控制模块,其包括正常播放控制模块、扫描播放控制模块、快进播放控制模块、快退播放控制模块。在本专利技术实施例中,该层次状态机中的每个状态可以单独设计,每个状态只需在与其相关联的事件处理表中关注该状态所需要处理的事件,而不需要对所有事件定义对应的处理函数,大大降低了事件处理表的规模;此外,由于每个状态单独管理其所需处理的事件,因而无论状态的数量和层次如何变化,状态机的事件处理引擎始终保持不变,并且系统的状态可随时根据需求新增或调整,不会影响其他状态,易于扩展和维护。附图说明图I是本专利技术第一实施例提供的状态机的状态图;图2是本专利技术第二实施例提供的基于实施例一提供的状态机的调度方法的流程图;图3是本专利技术第三实施例提供的基于实施例一提供的状态机的调度方法的流程图;图4是本专利技术第四实施例提供的基于实施例一提供的状态机的调度装置的结构示意图;图5是本专利技术第五实施例提供的基于实施例四提供的状态机的调度装置的USB媒体播放控制装置的结构示意图;图6是本专利技术第六实施例提供的一种USB媒体播放的控制装置的一实例的示意具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一本专利技术第一实施例提供了一种状态机,为了便于说明,仅示出了与本专利技术实施例相关的部分。在本专利技术实施例中,首先提供一种层数为N的层次状态机,该层次状态机为树状结构,每个状态对应树中的一个节点,根据状态在树状结构中的位置不同,状态分为枝节点状态和叶节点状态两种,如图I所示为层次状态机的状态图。在图I中,一共包括四层状态,其中SI为根状态,SI的子状态包括第二层状态的状态Sl_l,状态Sl_2,状态Sl_l的子状态包括第三层的状态Sl_l_l,状态Sl_l_2,第三层状态Sl_l_l的子状态包括第四层状态Sl_l_l_l,状态Sl_l_l_2,状态Sl_l_l_3。其他状态以此类同,在此不再赘述。其中,该状态机中的每个状态都包括了数据信息,每个状态的数据信息包括但不限于状态特征号、父状态特征号、与状态相关联的事件处理表、状态所处的层次(状态在状态机中所处的层数)、入口函数(用于对状态执行入口操作的函数)、退出函数(用于对状态执行退出操作的函数)及默认子状态(状态的默认子状态)。同时,每个状态都有一个与之相关联的事件处理表,每个事件处理表中包括但不限于该状态所需处理的事件的特征号、该状态所需处理的事件所对应的事件处理函数、目标状态、状态迁移条件及状态迁移动作在本专利技术实施例中,该层次状态机中的每个状态可以单独设计,每个状态只需在与其相关联的事件处理表中关注该状态所需要处理的事件,而不需要对所有事件定义对应的处理函数,大大降低了事件处理表的规模;此外,由于每个状态单独管理其所需处理的事件,因而无论状态的数量和层次如何变化,状态机的事件处理引擎始终保持不变,并且系统的状态可随时根据需求新增或调整,不会影响其他状态,易于扩展和维护。例如,若系统需要增加一个独立的状态,则只需添加一个新状态,定义其层次、父状态、事件处理表等,即可实现该状态的所有逻辑,无需更改状态机的引擎部分。实施例二 如图2所示为本专利技术第二实施例提供的基于实施例一提供的状态机的调度方法的流程图,为了便于说明,仅示出了与本专利技术实施例相关的部分。在步骤S201中,状态机接收到事件。在步骤S202中,根据接收到的事件的特征号查找当前状态及依次追溯当前状态的父状态相关联的事件处理表中是否包括接收到的事件的特征号,是则执行步骤S203,否则执行步骤S205。在本专利技术实施例中,当层次状态机接收到事件时,查找当前状态及依次追溯当前状态的父状态相关联的事件处理表,查找包括接收到的事件的特征号的事件处理表。具体为,首先查找与当前状态相关联的事件处理表,若与当前状态相关本文档来自技高网...
【技术保护点】
一种状态机,其特征在于,所述状态机为层数为N的层次状态机,所述层次状态机为树状结构,所述层次状态机中每个状态的数据信息包括:状态特征号、父状态特征号、与状态相关联的事件处理表;所述层次状态机中与每个状态相关联的事件处理表包括:该状态所需处理的事件的特征号、该状态所需处理的事件所对应的事件处理函数。
【技术特征摘要】
1.一种状态机,其特征在于,所述状态机为层数为N的层次状态机,所述层次状态机为树状结构,所述层次状态机中每个状态的数据信息包括状态特征号、父状态特征号、与状态相关联的事件处理表;所述层次状态机中与每个状态相关联的事件处理表包括该状态所需处理的事件的特征号、该状态所需处理的事件所对应的事件处理函数。2.如权利要求I所述的状态机,其特征在于,所述层次状态机中每个状态的数据信息还包括状态所处的层次、入口函数、退出函数及默认子状态;所述层次状态机中与每个状态相关联的事件处理表还包括状态迁移条件、状态迁移动作及目标状态。3.一种基于权利要求I或2所述的状态机的调度方法,其特征在于,所述方法包括 根据接收到的事件的特征号查找当前状态及依次追溯当前状态的父状态相关联的事件处理表中是否包括所述事件的特征号; 当查找到包括所述事件的特征号的事件处理表时,从该包括所述事件的特征号的事件处理表中获取与所述事件对应的事件处理函数及目标状态; 退出当前状态后执行所述事件处理函数并迁移至目标状态。4.如权利要求3所述的方法,其特征在于,所述根据接收到的事件的特征号依次查找与当前状态及当前状态的所有父状态相关联的事件处理表中是否包括所述事件的特征号之后,还包括 当未查找到包括所述事件特征号的事件处理表时,丢弃所述事件。5.如权利要求3所述的方法,其特征在于,所述退出当前状态后执行所述事件处理函数并迁移至目标状态包括 查找当前状态与目标状态的最近共同祖先状态; 依次从当前状态到最近共同祖先状态执行退出动作,并在执行与所述事件对应的事件处理函数后,依次从第一最近共同祖先状态到目标状态执行入口动作。6.如权利要求3所述的方法,其特征在于,所述退出当前状态后执行与所述事件对应的事件处理函数并迁移至目标状态之前,所述方法还包括 判断是否符合状态迁移的条件; 是则退出当前状态后执行与所述事件对应的事件处理函数并迁移至目标状态; 否则丢弃所述事件。7.一种基于权利要求I或2所述的状态机的调度装置,其特征在于,所述装置包括 事件查找模块,用于根据接收到的事件...
【专利技术属性】
技术研发人员:熊整文,侯正华,
申请(专利权)人:TCL集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。