一种基于梯形时间算法的网关多场景控制方法技术

技术编号:16607678 阅读:63 留言:0更新日期:2017-11-22 17:57
本发明专利技术提供了一种基于梯形时间算法的网关多场景控制方法,通过RTOS系统的多任务机制,将场景执行的每个智能设备执行的数据分成多个队列;先推进第一个RTOS系统创建的队列,执行等待响应时间,在等待时间的时间段内,依次不断重复地插入多个队列;监测信号量发送出去超时时间(T1)~时间(Tn),如果时间(Tn)内未收到设备响应的队列,发送执行任务重新推进队列,此时等待响应时间调整为时间(TTn);重复两次时间(TTn),得到时间(TTTn),时间(TTTn)=时间(TTn)*2,依照时间(TTTn)等待响应,以此类推。本发明专利技术相较于现有技术可以实现网关快速且可靠的控制,快速处理指令相关联的信息。

【技术实现步骤摘要】
一种基于梯形时间算法的网关多场景控制方法
本专利技术涉及网关
,具体涉及一种基于梯形时间算法的网关多场景控制方法。
技术介绍
智能家居网关中所管理的数据,最复杂的应该是场景编辑,当网关处理某个场景时,该场景可能关联了多个甚至几十个智能设备,每种设备的参数不尽相同,并且还有延时、定时等复杂功能。所以当APP发送一条场景指令给智能网关时,如何才能让网关快速的处理该指令所关联的信息,并且保证在可靠的前提下,是目前所需要解决的一个重要技术问题。虽然网关协议本身有简单的重发机制,但无线传输的复杂性决定了仍需要一种高可靠的算法来既快速又可靠的控制。
技术实现思路
鉴于此,本专利技术提供了一种可以实现网关快速且可靠控制的基于梯形时间算法的网关多场景控制方法。本专利技术提供了一种基于梯形时间算法的网关多场景控制方法,通过RTOS系统的多任务机制,将场景执行的每个智能设备执行的数据分成多个队列;执行任务时,先推进第一个RTOS系统创建的队列,执行等待响应时间,在等待时间的时间段内,依次不断重复地插入多个队列;在另外一个任务监测信号量发送出去超时时间(T1)~时间(Tn),如果时间(Tn)内未收到设备响应的队列,发送执行任务重新推进队列,此时等待响应时间调整为时间(TTn);重复两次时间(TTn),得到时间(TTTn),时间(TTTn)=时间(TTn)*2,依照时间(TTTn)等待响应,以此类推。进一步地,上述时间(TTn)=时间(Tn)*1.414。进一步地,当遇到多次超时的情况下,网关发送一个确认包(KeepAlive),如果设备再次不响应,网关内存标记其为离线状态。进一步地,当设备间隔一段时间内,有多次未发送心跳包,网关发送一个确认包(KeepAlive),如果设备不响应,网关将该设备标记为离线状态。进一步地,有效的设备被标记为离线状态后,当再次执行场景的时,结合离线标记的设备不发送心跳包。本专利技术所提供的一种基于梯形时间算法的网关多场景控制方法,通过上述的技术方案,利用梯形过渡的时间算法,实现网关快速且可靠的控制,快速处理指令相关联的信息。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例提供的一种基于梯形时间算法的网关多场景控制方法在任务A实施方式下的流程示意图;图2为本专利技术实施例提供的一种基于梯形时间算法的网关多场景控制方法在任务B实施方式下的流程示意图;图3为本专利技术实施例提供的一种基于梯形时间算法的网关多场景控制方法在任务C实施方式下的流程示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参见图1至图3,图中示出了本专利技术实施例提供的一种基于梯形时间算法的网关多场景控制方法;梯形算法主要利用实时操作系统(RTOS)的多任务机制,将场景执行的每个智能设备执行的数据细分成一个一个队列,当执行任务时,先推进一个Q1(如第一个智能设备的控制方式)RTOS创建的一个队列中,执行等待响应时间t1,在等待t1的时间段内,执行Q2(如第二个智能设备的控制方式)推进队列,执行等待时间为t2,在等待t2的时间段内Q3,依次不断重复地插入Q1~Qn;在另外一个任务监测信号量发送出去超时时间T1~Tn,Tn时间段内未收到设备响应的Qn,发送执行任务重新推进Qn,注意此时等待响应时间为TTn,Tn*1.414=TTn;重复2次,为TTn*2=TTTn,如第一次等待300ms内响应,第一次的Q超时,第二次采用424.2ms超时,第二次的Q超时采用848.4ms等待响应,以此类推;多任务的发送方式,利用前一个等待时间,插入后一个发送,提交实时性能,另外梯形时间算法主要是为了分段尝试无线的异常,当第一次失败时,则第二次等待时间增加,依次执行最多3次,但等待的时间内一旦收到响应立刻清除多发的标记;多场景控制时,举例说明,如发送30条数据,第一轮推进的Q如果在超时内完成了响应,第二轮不再参与重发,第二轮超过在超时内完成了响应,则第三次不再参与;当遇到3次超时的情况下,网关发送一个KeepAlive确认包,如果设备再次不响应,网关内存标记其为离线状态。另外当设备间隔30秒内,有2次未发送心跳包,也会发送一个KeepAlive确认包,如果设备不响应,网关也将该设备标记为离线状态;有效的设备被标记为离线状态后,当再次执行场景的时,结合离线标记的设备不发送心跳包(这样无需三次无效梯形时间算法的重发机制),梯形时间算法可快速可靠的执行场景功能。本实施例所提供的一种基于梯形时间算法的网关多场景控制方法,通过上述的技术方案,利用梯形过渡的时间算法,实现网关快速且可靠的控制,快速处理指令相关联的信息。显然,本领域的技术人员可以对本专利技术进行各种改动和变型而不脱离本专利技术的精神和范围。这样,倘若本专利技术的这些修改和变型属于本专利技术权利要求及其等同技术的范围之内,则本专利技术也意图包含这些改动和变型在内。本文档来自技高网...
一种基于梯形时间算法的网关多场景控制方法

【技术保护点】
一种基于梯形时间算法的网关多场景控制方法,其特征在于,通过RTOS系统的多任务机制,将场景执行的每个智能设备执行的数据分成多个队列;执行任务时,先推进第一个RTOS系统创建的队列,执行等待响应时间,在等待时间的时间段内,依次不断重复地插入多个队列;在另外一个任务监测信号量发送出去超时时间(T1)~时间(Tn),如果时间(Tn)内未收到设备响应的队列,发送执行任务重新推进队列,此时等待响应时间调整为时间(TTn);重复两次时间(TTn),得到时间(TTTn),时间(TTTn)=时间(TTn)*2,依照时间(TTTn)等待响应,以此类推。

【技术特征摘要】
1.一种基于梯形时间算法的网关多场景控制方法,其特征在于,通过RTOS系统的多任务机制,将场景执行的每个智能设备执行的数据分成多个队列;执行任务时,先推进第一个RTOS系统创建的队列,执行等待响应时间,在等待时间的时间段内,依次不断重复地插入多个队列;在另外一个任务监测信号量发送出去超时时间(T1)~时间(Tn),如果时间(Tn)内未收到设备响应的队列,发送执行任务重新推进队列,此时等待响应时间调整为时间(TTn);重复两次时间(TTn),得到时间(TTTn),时间(TTTn)=时间(TTn)*2,依照时间(TTTn)等待响应,以此类推。2.根据权利要求1所述的一种基于梯形时间算法的网关多场景控制方法,其特...

【专利技术属性】
技术研发人员:顾健科
申请(专利权)人:苏州众天力信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1