一种复合行为驱动方法及装置的制造方法

文档序号:9326666阅读:268来源:国知局
一种复合行为驱动方法及装置的制造方法
【技术领域】
[0001]本发明涉及一种复合行为驱动方法及装置。
【背景技术】
[0002]现有的软件设计技术中,很多架构和实现都采用了以事件驱动为核心的模式。例如:web前端设计中对于用户操作的处理、系统中回调函数和方法、异步式处理等。交互界面的开发者在开发时,已经为每个用户界面上的需要处理用户操作的成员(菜单、按钮、表格、链接等)定义好对应的处理方法;每一个处理方法只有在用户该方法对应的成员被用户点击才会被执行。这样的设计方式可以实现在相同的用户界面下,不同的用户点击了不同的元素,会进入不同的处理。
[0003]事件驱动模式越来越多地被软件设计和架构使用,说明现实中存在着大量的需求和使用场景,是天然适合事件驱动方式的。但是,事件驱动的模式在很多时候仍会存在如下不足:
[0004]1、复杂的执行过程或流程中往往需要很多事件,这些事件中的联系不能很好地从事件驱动中体现出来。
[0005]2、事件驱动的控制过于简单,事件处理方法只有执行与不执行。但是很难控制有条件的执行时间处理方法。

【发明内容】

[0006]为了克服现有技术的不足,本发明的目的在于提供一种复合行为驱动方法和装置,既可以很好地继承事件驱动的优点,又可以解决现有技术中多个事件组成部分结构松散和逻辑控制弱的问题。
[0007]为解决上述问题,本发明所采用的技术方案如下:
[0008]方案一:
[0009]—种复合行为驱动方法,包括以下步骤:
[0010]S1:读取行为驱动集合文件,根据每个行为节点的开始时间和结束时间生成相应的定时器;
[0011]S2:当触发某个行为节点的定时器的开始时间,则解析该行为节点的执行前提条件,若执行前提条件未设定或者满足执行前提条件,则执行步骤S3 ;否则,更新该行为节点的行为状态为失败,执行步骤S4 ;
[0012]S3:根据该行为节点中的执行方式执行其中的行为方法,执行结束后更新该行为节点的行为状态为成功;
[0013]S4:根据该行为节点的行为状态执行对应的结束处理方法,并退出该节点。
[0014]优选的,在步骤S3中,若该行为节点中的执行方式为串行执行,则按先后顺序执行行为方法中的子行为节点;若该行为节点中的执行方式为并行执行,则同时执行行为方法中的子行为节点;若该行为节点中的执行方式为简单执行,则根据执行行为方法中的行为索引执行相应的方法。
[0015]优选的,所述行为索引为预定义的函数或者逻辑程序封装后所生成的索引值。
[0016]优选的,所述行为驱动集合文件为由JSON对象描述格式对一个或多个行为节点进行描述的文件。
[0017]方案二:
[0018]—种复合行为驱动装置,包括以下模块:
[0019]定时器生成模块,用于读取行为驱动集合文件,根据每个行为节点的开始时间和结束时间生成相应的定时器;
[0020]定时器触发模块,用于当触发某个行为节点的定时器的开始时间,则解析该行为节点的执行前提条件,若执行前提条件未设定或者满足执行前提条件,则执行方法执行模块;否则,更新该行为节点的行为状态为失败,执行结束处理模块;
[0021]方法执行模块,用于根据该行为节点中的执行方式执行其中的行为方法,执行结束后更新该行为节点的行为状态为成功;
[0022]结束处理模块,用于根据该行为节点的行为状态执行对应的结束处理方法,并退出该节点。
[0023]优选的,在方法执行模块中,若该行为节点中的执行方式为串行执行,则按先后顺序执行行为方法中的子行为节点;若该行为节点中的执行方式为并行执行,则同时执行行为方法中的子行为节点;若该行为节点中的执行方式为简单执行,则根据执行行为方法中的行为索引执行相应的方法。
[0024]优选的,所述行为索引为预定义的函数或者逻辑程序封装后所生成的索引值。
[0025]优选的,所述行为驱动集合文件为由JSON对象描述格式对一个或多个行为节点进行描述的文件。
[0026]相比现有技术,本发明的有益效果在于:通过预定义好一套完整的行为描述模式,根据每个行为的描述执行不同的动作,根据前面行为的执行状态触发后面的行为,使行为与行为之间具有关联性,通过组合和嵌套的关系便可以将多个简单行为组合成一个复杂行为,实现一个结构清晰和逻辑控制强的行为驱动集合。
【附图说明】
[0027]图1为本发明的复合行为驱动方法的流程图。
【具体实施方式】
[0028]下面,结合附图以及【具体实施方式】,对本发明做进一步描述:
[0029]—个行为根据其复杂程度可以分成简单行为和复合行为两类。复合行为都可以分解成一系列简单动作序列,反之,多个简单行为按照特定的顺序执行(串行或并行),即可组成复合行为。JSON是一种通用的对象描述格式,在信息技术领域,被广泛的使用,JSON格式的数据可以存储在使用该数据的服务器中,或存储在能够被这些服务器访问的网络位置。JSON通过键-值对来描述属性,将多个键值对使用{}组合在一起就可以描述一个包含多个属性的对象,对象中属性的值可以是对象,从而实现对象的嵌套。
[0030]首先,行为本身就是包括若干个属性的对象,使用JSON格式对一个行为进行描述可以概括为如下的JSON格式:
[0031]行为方法:{
[0032]行为名称:行为名称值,
[0033]行为执行前提条件:条件对象,
[0034]行为开始时间:开始时间值,
[0035]行为结束时间:技术时间值,
[0036]行为发起者:行为发起者名字或ID,
[0037]行为执行者:行为执行者名称或ID,
[0038]行为审核:审核者名称或ID,
[0039]行为状态:行为的当前状态,
[0040]行为结束处理:处理对象,
[0041]行为执行方式:执行方式值(串行、并行、简单任务或未使用),
[0042]行为方法:行为的具体操作
[0043]}
[0044]其中,行为的具体操作又可以包括另外一个或多个行为,可以理解为最外层的行为方法为最大的行为节点,嵌套在一个行为节点的行为方法中的行为理解为该行为节点的子行为节点,一个子行为节点也可以嵌套基于它的子行为节点,以此类推可以进行多层嵌套,实现复杂的行为描述。
[0045]参考图1为本发明的优选实施例,一种复合行为驱动方法,包括以下步骤:
[0046]S1:读取行为驱动集合文件,根据每个行为节点的开始时间和结束时间生成相应的定时器;
[0047]S2:当触发某个行为节点的定时器的开始时间,则解析该行为节点的执行前提条件,若执行前提条件未设定或者满足执行前提条件,则执行步骤S3 ;否则,更新该行为节点的行为状态为失败,执行步骤S4 ;
[0048]S3:根据该行为节点中的执行方式执行其中的行为方法,执行结束后更新该行为节点的行为状态为成功;
[0049]S4:根据该行为节点的行为状态执行对应的结束处理方法,并退出该节点。
[0050]其中,在步骤S3中,若该行为节点中的执行方式为串行执行,则按先后顺序执行行为方法中的子行为节点;若该行为节点中的执行方式为并行执行,则同时执行行为方法中的子行为节点;若该行为节点中的执行方式为简单执行,则根据执行行为方法中的行为索引执行相应的方法。行为驱动集合文件是指由JSON对象描述格式对一个或多个行为节点进行描述的文件。行为索引是指预定义的函数或者逻辑程序封装后所生成的索引值。
[0051]为了更好地理解本发明所描述的方案,下面以一具体例子进行描述。外出旅游定义为一个复合的行为,首先,将它分解成简单的行为序列:确定目的地、安排观光行程、预订机/车票、预定住宿酒店和出行,而且,这些简单的行为之间是有逻辑关系的(顺序或并列)。则整个外出旅游的行为驱动集合文件的描述如下:
[0052]行为方法:{
[0053]行为名称外出旅游”,
[0054]行为执行前提条件:“”,
[0055]行为开始时间:“2015-6-01”,
[0056]行为结束时间:“2015-6_30”,
[0057]行为发起者:〃XXX〃,
[0058]行为执行者:〃XXX〃,
[0059]行为审核:〃XXX〃,
[0060]行为结束处理:“”,
[0061]行为执行方式:串行,
[0062]行为方法:[{行为名称:“确定旅游目的地”,
[0063]行为执行前提条件:“”,
[0064]行为开始时间:“2015-6-10”,
[0065]行为结束时间:“2015-6-11”,
[0066]行为发起者:〃XXX〃,
[0067]行为执行者:〃XXX〃,
[0068]行为审核:〃XXX〃,
[0069]行为结束处理:{成功处理:继续,
[0070]失败处理:终止},
[0071]行为执行方式:简单行为,
[0072]行为方法:行为索引
[0073]},
[0074]{
[0075]行为名称:“安排观光行程”,
[0076]行为执行前提条件:“确定旅游目的地行为成功结束”,
[0077]行为开始时间:“2015-6-12”,
[0078]行为结束时间:“2015-6-13”,
[0079]行为发起者:〃XXX〃,
[0080]行为执行者:〃XXX〃,
[0081]行为审核:〃XXX〃,
[0082]行为结束处理:{成功处理:继续,
[0083]失败处理:延迟},
[0084]行为执行方式:简单行为,
[0085]行为方
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1