发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一方面提出一种指令处理方法。
本发明的第二方面提出一种指令处理系统。
本发明的第三方面提出一种网关设备。
本发明的第四方面提出一种计算机可读存储介质。
有鉴于此,本发明的第一方面提供了一种指令处理方法,包括:将接收到的指令存储至指令缓存列表中;获取指令缓存列表中待发送的指令对应的状态信息;通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件,发送指令。
在该技术方案中,当智能家居系统的网络中继设备(如智能网关)接收到控制智能家居设备的指令后,将接收到的指令存储至指令缓存列表中,并获取指令缓存列表中每一个待发送的指令对应的状态信息,其中指令的状态信息可以包括指令的发送状态、接收状态等,通过指令的状态信息判断该指令是否需要发送或是否需要重发。同时,确定指令缓存列表中存储的指令数量,并进一步根据指令数量确定每一个指令对应的等待应答时长,其中,当指令数量较多时,适当增加对应的等待应答时长。在发送指令前,判断指令缓存列表中待发送的指令对应的等待应答时长和/或状态信息是否满足发送条件,若满足,则发送对应的指令。应用了本发明提供的技术方案,设置指令缓存列表,在网络中继设备接收到指令后,首先将指令存储至指令缓存列表中,可以避免网络中继设备直接转发指令,但指令未被正确接收,导致指令丢失,出现漏控的情况,而在指令满足发送条件时,说明该指令需要被发送或重发,使得指令可以在未被正确接收时再次发送,有效地避免了漏控情况的发生,极大地提高了智能家居系统的稳定性和智能家居系统的用户体验。同时,根据指令缓存列表中的指令数量动态调整指令对应的等待应答时长,可以避免短时间内发送过多数据信息导致通信拥堵的情况,提高了网络响应速度。
具体地,作为网络中继设备的智能网关实时接收来自用户终端(如手机、移动电脑、智能遥控器等)的多个控制指令,其中多个控制指令可以为启动特定场景的复合指令(如启动“回家”场景,对应开启所有的电灯,开启空调器,开启新风机,开启电视机,开启热水器和打开智能门锁)当接收到用户终端的多个控制指令后,首先将接收到的控制指令存储至指令缓存列表,确定缓存列表中指令的数量,根据指令数量调整对应的等待应答时长,以避免同时或短时间内发送多条指令导致网络信道拥堵。智能网关判断指令缓存列表中的每一条指令的状态信息,及对应的等待应答时长是否满足发送条件,其中,在指令为未发送状态时,逐条间隔发送指令至对应的智能家居设备,并等待智能家居设备的应答消息。如果在对应的等待应答时长内没有接收到智能家居设备针对指令的应答消息,说明出现了漏控现象,则再次发送该条指令,直至对应的智能家居设备成功接收指令能够并反馈应答消息,进而提高控制成功率和智能家居系统的稳定性。
另外,本发明提供的上述技术方案中的指令处理方法还可以具有如下附加技术特征:
在上述技术方案中,进一步地,状态信息包括:指令的发送状态、指令的发送时间和指令的剩余重发次数;确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件的步骤之前,指令处理方法还包括:获取当前系统时间,根据指令的发送时间和当前系统时间确定指令的发送时长;发送条件具体为:发送状态为未发送;以及发送状态为已发送,发送时长大于应答时长且剩余重发次数大于零。
在该技术方案中,指令的状态信息包括指令的发送状态、指令的发送时间和指令的剩余发送次数。若指令的发送状态为未发送,则判定该指令满足发送条件,直接发送该指令。若指令的发送状态为已发送且没接收到对应的应答消息,则需要在判断指令能够是否满足发送条件前先获取系统时间,根据当前系统时间和指令上一次的发送时间计算该指令发送后经过的发送时长,如果发送时长大于或等于等待应答时长,且指令的剩余发送次数大于零,则认定该指令为漏控指令,指令对应的智能家居设备未正常接收到该指令,因此判定该指令再次满足发送条件,重发该指令以保证对智能家居设备控制的成功率和智能家居系统的稳定性。
在上述任一技术方案中,进一步地,发送状态为未发送,在发送指令的步骤之后,指令处理方法还包括:将指令对应的发送状态设置为已发送,并将发送时间设置为当前系统时间。
在该技术方案中,首次发送指令后,将该指令的发送状态变更为已发送,并记录当前系统时间,以当前系统时间作为该指令的发送时间,并等待应答消息,在没有接收到应答消息,且该指令再次满足发送条件时,重发该指令,以避免漏控。
在上述任一技术方案中,进一步地,发送状态为已发送,在发送指令的步骤之后,指令处理方法还包括:将剩余重发次数减1,并将发送时间设置为当前系统时间;以及确认指令对应的剩余重发次数为零,和/或接收到指令对应的应答消息,在指令缓存列表中删除指令。
在该技术方案中,若指令的发送状态为已发送,且该指令再次满足发送条件,则说明对该指令进行了重发操作,此时将该指令的剩余重发次数减1,并将该指令对应的发送时间更新为目前系统时间。当指令对应的剩余重发次数为零,说明以多次重发该指令仍未接收到对应的应答消息,此时由于网络问题或ZigBee设备通讯失败导致漏控的可能性较低,判断指令对应的智能家居设备离线或出现其他故障导致指令无法被接收,因此在指令缓存列表中删除该指令,不再重发该指令,避免网络资源的浪费。
在上述任一技术方案中,进一步地,指令的数量为多个,根据指令的数量确定指令对应的等待应答时长的步骤之后,指令处理方法还包括:根据等待应答时长调整多个指令之间的发送间隔时长;其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关。
在该技术方案中,指令的数量为多个,根据指令的具体数量调整等待应答时长,并同时调整多个指令之间的发送间隔。其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关,即指令越多,对应设置的等待应答时长越长,多个指令之间的发送间隔也越长,以避免同时或在短时间内发送多个指令导致网络拥堵。具体地,调整等待应答时长时,等待应答时长与指令数量之间的关系可表示为线性关系或曲线关系,根据实际情况设置线性关系的斜率或曲线关系的曲率,在避免网络拥堵的同时保证指令的发送效率。
本发明的第二方面提供了一种指令处理系统,包括存储器和处理器,存储器用于存储计算机程序;处理器用于执行计算机程序以实现将接收到的指令存储至指令缓存列表中;获取指令缓存列表中待发送的指令对应的状态信息;通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件,发送指令。
在该技术方案中,当智能家居系统的网络中继设备(如智能网关)接收到控制智能家居设备的指令后,将接收到的指令存储至指令缓存列表中,并获取指令缓存列表中每一个待发送的指令对应的状态信息,其中指令的状态信息可以包括指令的发送状态、接收状态等,通过指令的状态信息判断该指令是否需要发送或是否需要重发。同时,确定指令缓存列表中存储的指令数量,并进一步根据指令数量确定每一个指令对应的等待应答时长,其中,当指令数量较多时,适当增加对应的等待应答时长。在发送指令前,判断指令缓存列表中待发送的指令对应的等待应答时长和/或状态信息是否满足发送条件,若满足,则发送对应的指令。应用了本发明提供的技术方案,设置指令缓存列表,在网络中继设备接收到指令后,首先将指令存储至指令缓存列表中,可以避免网络中继设备直接转发指令,但指令未被正确接收,导致指令丢失,出现漏控的情况,而在指令满足发送条件时,说明该指令需要被发送或重发,使得指令可以在未被正确接收时再次发送,有效地避免了漏控情况的发生,极大地提高了智能家居系统的稳定性和智能家居系统的用户体验。同时,根据指令缓存列表中的指令数量动态调整指令对应的等待应答时长,可以避免短时间内发送过多数据信息导致通信拥堵的情况,提高了网络响应速度。
在上述技术方案中,进一步地,状态信息包括:指令的发送状态、指令的发送时间和指令的剩余重发次数;处理器还用于执行计算机程序以实现:获取当前系统时间,根据指令的发送时间和当前系统时间确定指令的发送时长;以及发送条件具体为:发送状态为未发送;发送状态为已发送,发送时长大于应答时长且剩余重发次数大于零。
在该技术方案中,指令的状态信息包括指令的发送状态、指令的发送时间和指令的剩余发送次数。若指令的发送状态为未发送,则判定该指令满足发送条件,直接发送该指令。若指令的发送状态为已发送且没接收到对应的应答消息,则需要在判断指令能够是否满足发送条件前先获取系统时间,根据当前系统时间和指令上一次的发送时间计算该指令发送后经过的发送时长,如果发送时长大于或等于等待应答时长,且指令的剩余发送次数大于零,则认定该指令为漏控指令,指令对应的智能家居设备未正常接收到该指令,因此判定该指令再次满足发送条件,重发该指令以保证对智能家居设备控制的成功率和智能家居系统的稳定性。
在上述任一技术方案中,进一步地,发送状态为未发送,处理器还用于执行计算机程序以实现发送指令的步骤之后,将指令对应的发送状态设置为已发送,并将发送时间设置为当前系统时间。
在该技术方案中,首次发送指令后,将该指令的发送状态变更为已发送,并记录当前系统时间,以当前系统时间作为该指令的发送时间,并等待应答消息,在没有接收到应答消息,且该指令再次满足发送条件时,重发该指令,以避免漏控。
在上述任一技术方案中,进一步地,发送状态为已发送,处理器还用于执行计算机程序以实现在执行发送指令的步骤之后,将剩余重发次数减1,并将发送时间设置为当前系统时间;以及确认指令对应的剩余重发次数为零,和/或接收到指令对应的应答消息,在指令缓存列表中删除指令。
在该技术方案中,若指令的发送状态为已发送,且该指令再次满足发送条件,则说明对该指令进行了重发操作,此时将该指令的剩余重发次数减1,并将该指令对应的发送时间更新为目前系统时间。当指令对应的剩余重发次数为零,说明以多次重发该指令仍未接收到对应的应答消息,此时由于网络问题或ZigBee设备通讯失败导致漏控的可能性较低,判断指令对应的智能家居设备离线或出现其他故障导致指令无法被接收,因此在指令缓存列表中删除该指令,不再重发该指令,避免网络资源的浪费。
在上述任一技术方案中,进一步地,处理器还用于执行计算机程序以实现根据等待应答时长调整多个指令之间的发送间隔时长;其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关。
在该技术方案中,指令的数量为多个,根据指令的具体数量调整等待应答时长,并同时调整多个指令之间的发送间隔。其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关,即指令越多,对应设置的等待应答时长越长,多个指令之间的发送间隔也越长,以避免同时或在短时间内发送多个指令导致网络拥堵。具体地,调整等待应答时长时,等待应答时长与指令数量之间的关系可表示为线性关系或曲线关系,根据实际情况设置线性关系的斜率或曲线关系的曲率,在避免网络拥堵的同时保证指令的发送效率。
本发明的第三方面提供了一种网关设备,包括上述任一技术方案中的指令处理系统,因此,该网关设备包括上述任一技术方案中的指令处理系统的全部有益效果。
本发明的第四方面提供了一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案中的指令处理方法,因此,该计算机可读介质包括上述任一技术方案中的指令处理方法的全部有益效果。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图9描述根据本发明一些实施例所述指令处理方法、指令处理系统、网关设备和计算机可读存储介质。
如图1所示,在本发明第一方面的实施例中,提供了一种指令处理方法,包括:
S102,将接收到的指令存储至指令缓存列表中;
S104,获取指令缓存列表中待发送的指令对应的状态信息;
S106,通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;
S108,确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件,发送指令。
在该实施例中,当智能家居系统的网络中继设备(如智能网关)接收到控制智能家居设备的指令后,将接收到的指令存储至指令缓存列表中,并获取指令缓存列表中每一个待发送的指令对应的状态信息,其中指令的状态信息可以包括指令的发送状态、接收状态等,通过指令的状态信息判断该指令是否需要发送或是否需要重发。同时,确定指令缓存列表中存储的指令数量,并进一步根据指令数量确定每一个指令对应的等待应答时长,其中,当指令数量较多时,适当增加对应的等待应答时长。在发送指令前,判断指令缓存列表中待发送的指令对应的等待应答时长和/或状态信息是否满足发送条件,若满足,则发送对应的指令。应用了本发明提供的技术方案,设置指令缓存列表,在网络中继设备接收到指令后,首先将指令存储至指令缓存列表中,可以避免网络中继设备直接转发指令,但指令未被正确接收,导致指令丢失,出现漏控的情况,而在指令满足发送条件时,说明该指令需要被发送或重发,使得指令可以在未被正确接收时再次发送,有效地避免了漏控情况的发生,极大地提高了智能家居系统的稳定性和智能家居系统的用户体验。同时,根据指令缓存列表中的指令数量动态调整指令对应的等待应答时长,可以避免短时间内发送过多数据信息导致通信拥堵的情况,提高了网络响应速度。
具体地,作为网络中继设备的智能网关实时接收来自用户终端(如手机、移动电脑、智能遥控器等)的多个控制指令,其中多个控制指令可以为启动特定场景的复合指令(如启动“回家”场景,对应开启所有的电灯,开启空调器,开启新风机,开启电视机,开启热水器和打开智能门锁)当接收到用户终端的多个控制指令后,首先将接收到的控制指令存储至指令缓存列表,确定缓存列表中指令的数量,根据指令数量调整对应的等待应答时长,以避免同时或短时间内发送多条指令导致网络信道拥堵。智能网关判断指令缓存列表中的每一条指令的状态信息,及对应的等待应答时长是否满足发送条件,其中,在指令为未发送状态时,逐条间隔发送指令至对应的智能家居设备,并等待智能家居设备的应答消息。如果在对应的等待应答时长内没有接收到智能家居设备针对指令的应答消息,说明出现了漏控现象,则再次发送该条指令,直至对应的智能家居设备成功接收指令能够并反馈应答消息,进而提高控制成功率和智能家居系统的稳定性。
在本发明的一个实施例中,进一步地,如图2所示,状态信息包括:指令的发送状态、指令的发送时间和指令的剩余重发次数;发送条件具体为:发送状态为未发送;以及发送状态为已发送,发送时长大于应答时长且剩余重发次数大于零;指令处理方法包括:
S202,将接收到的指令存储至指令缓存列表中;
S204,获取指令缓存列表中待发送的指令对应的状态信息;
S206通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;
S208,获取当前系统时间,根据指令的发送时间和当前系统时间确定指令的发送时长;
S210,确认指令的发送状态为未发送,发送指令;
S212,确认指令的发送状态为已发送,且缓存列表中指令的发送时长大于对应的等待应答时长且剩余重发次数大于零,发送指令。
在该实施例中,指令的状态信息包括指令的发送状态、指令的发送时间和指令的剩余发送次数。若指令的发送状态为未发送,则判定该指令满足发送条件,直接发送该指令。若指令的发送状态为已发送且没接收到对应的应答消息,则需要在判断指令能够是否满足发送条件前先获取系统时间,根据当前系统时间和指令上一次的发送时间计算该指令发送后经过的发送时长,如果发送时长大于或等于等待应答时长,且指令的剩余发送次数大于零,则认定该指令为漏控指令,指令对应的智能家居设备未正常接收到该指令,因此判定该指令再次满足发送条件,重发该指令以保证对智能家居设备控制的成功率和智能家居系统的稳定性。
在本发明的一个实施例中,进一步地,如图3所示,发送状态为未发送,指令处理方法包括:
S302,将接收到的指令存储至指令缓存列表中;
S304,获取指令缓存列表中待发送的指令对应的状态信息;
S306,通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;
S308,确认指令的发送状态为未发送,发送指令;
S310,将指令对应的发送状态设置为已发送,并将发送时间设置为当前系统时间。
在该实施例中,首次发送指令后,将该指令的发送状态变更为已发送,并记录当前系统时间,以当前系统时间作为该指令的发送时间,并等待应答消息,在没有接收到应答消息,且该指令再次满足发送条件时,重发该指令,以避免漏控。
在本发明的一个实施例中,进一步地,如图4所示,指令处理方法包括:
S402,将接收到的指令存储至指令缓存列表中;
S404,获取指令缓存列表中待发送的指令对应的状态信息;
S406,通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;
S408,获取当前系统时间,根据指令的发送时间和当前系统时间确定指令的发送时长;
S410,确认指令的发送状态为已发送,且缓存列表中指令的发送时长大于对应的等待应答时长且剩余重发次数大于零,发送指令;
S412,剩余重发次数减1,并将发送时间设置为当前系统时间;
S414,确认指令对应的剩余重发次数为零,和/或接收到指令对应的应答消息,在指令缓存列表中删除指令。
在该实施例中,若指令的发送状态为已发送,且该指令再次满足发送条件,则说明对该指令进行了重发操作,此时将该指令的剩余重发次数减1,并将该指令对应的发送时间更新为目前系统时间。当指令对应的剩余重发次数为零,说明以多次重发该指令仍未接收到对应的应答消息,此时由于网络问题或ZigBee设备通讯失败导致漏控的可能性较低,判断指令对应的智能家居设备离线或出现其他故障导致指令无法被接收,因此在指令缓存列表中删除该指令,不再重发该指令,避免网络资源的浪费。
在本发明的一个实施例中,进一步地,如图5所示,指令的数量为多个,指令处理方法包括:
S502,将接收到的指令存储至指令缓存列表中;
S504,获取指令缓存列表中待发送的指令对应的状态信息;
S506,通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;
S508,根据等待应答时长调整多个指令之间的发送间隔时长;
S510,确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件,发送指令。
其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关。
在该实施例中,指令的数量为多个,根据指令的具体数量调整等待应答时长,并同时调整多个指令之间的发送间隔。其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关,即指令越多,对应设置的等待应答时长越长,多个指令之间的发送间隔也越长,以避免同时或在短时间内发送多个指令导致网络拥堵。
如图6和图7所示,在根据指令数量调整等待应答时长时,具体可分为两种方式。第一种方式如图6所示:纵坐标为等待应答时长,横坐标为指令缓存表中存储的指令数量,二者之间为线性关系,前者随着后者的增加而增加,即可实现根据指令数量动态改变等待应答时长。此外,可通过改变直线的斜率,调整等待应答随指令数量变化的程度。第二种方式如图7所示:等待应答时长与指令数量之间呈现曲线的关系,前者随后者的变化而变化。此外,可通过调整曲线的曲率,得到不同的等待应答时长随指令数量变化的程度。
在本发明的一个实施例中,进一步地,图8示出了,ZigBee设备漏控指令重发的流程图,通过结构体存储控制指令,每个控制指令中都包含了多个标识,用于记录指令的发送状态(如未发送,已发送)、首次执行时间(即发送时间)、等待应答时长和剩余重发次数。其中ZigBee设备漏控指令重发,包括如下步骤:
在S802中,为网关将要向ZigBee设备依次发送的多条控制指令,指令包括设备MAC(Media Access Control Address,媒体访问控制地址)地址、设备端点号(endpoint)、属性(attribute)、属性值(attribute value)。网关通过检测控制指令数量后,根据指令数量动态调整并设置指令的等待应答时长。
在S804中,网关设置指令的发送状态、指令发送时间、等待应答时长、剩余重发次数,并将指令存入指令缓存列表中。
在S806中,网关从缓存列表中取出指令,进行处理。
在S808中,网关判断指令发送状态。
在S810中,若网关检测指令发送状态为未发送状态,则发送指令到ZigBee设备,并将指令发送状态设置成已发送状态。
在S812中,若网关检测指令发送状态为已发送状态,则继续检测指令的剩余重发次数。
在S814中,若网关检测指令的剩余重发次数为零,则从指令缓存列表中删除指令。
在S816中,若网关检测指令的剩余重发次数大于零,则继续判断设备应答是否超时。若网关内部系统当前时间,超过指令的发送时间加上等待应答时长,则判定ZigBee设备响应超时,即出现设备漏控现象。
在S818中,网关判定出现漏控现象后,则更新指令发送时间(赋值为网关内部系统当前时间),将指令剩余重发次数减1,并动态调整指令的等待应答时长,将指令发送至对应的ZigBee设备。
如图9所示,在本发明第二方面的实施例中,提供了一种指令处理系统900,包括存储器902和处理器904,存储器902用于存储计算机程序;处理器904用于执行计算机程序以实现将接收到的指令存储至指令缓存列表中;获取指令缓存列表中待发送的指令对应的状态信息;通过指令缓存列表获取指令的数量,根据指令的数量确定指令对应的等待应答时长;确认指令缓存列表中指令对应的等待应答时长和/或状态信息满足发送条件,发送指令。
在该实施例中,当智能家居系统的网络中继设备(如智能网关)接收到控制智能家居设备的指令后,将接收到的指令存储至指令缓存列表中,并获取指令缓存列表中每一个待发送的指令对应的状态信息,其中指令的状态信息可以包括指令的发送状态、接收状态等,通过指令的状态信息判断该指令是否需要发送或是否需要重发。同时,确定指令缓存列表中存储的指令数量,并进一步根据指令数量确定每一个指令对应的等待应答时长,其中,当指令数量较多时,适当增加对应的等待应答时长。在发送指令前,判断指令缓存列表中待发送的指令对应的等待应答时长和/或状态信息是否满足发送条件,若满足,则发送对应的指令。应用了本发明提供的技术方案,设置指令缓存列表,在网络中继设备接收到指令后,首先将指令存储至指令缓存列表中,可以避免网络中继设备直接转发指令,但指令未被正确接收,导致指令丢失,出现漏控的情况,而在指令满足发送条件时,说明该指令需要被发送或重发,使得指令可以在未被正确接收时再次发送,有效地避免了漏控情况的发生,极大地提高了智能家居系统的稳定性和智能家居系统的用户体验。同时,根据指令缓存列表中的指令数量动态调整指令对应的等待应答时长,可以避免短时间内发送过多数据信息导致通信拥堵的情况,提高了网络响应速度。
在本发明的一个实施例中,进一步地,如图9所示,状态信息包括:指令的发送状态、指令的发送时间和指令的剩余重发次数;处理器904还用于执行计算机程序以实现:获取当前系统时间,根据指令的发送时间和当前系统时间确定指令的发送时长;以及发送条件具体为:发送状态为未发送;发送状态为已发送,发送时长大于应答时长且剩余重发次数大于零。
在该实施例中,指令的状态信息包括指令的发送状态、指令的发送时间和指令的剩余发送次数。若指令的发送状态为未发送,则判定该指令满足发送条件,直接发送该指令。若指令的发送状态为已发送且没接收到对应的应答消息,则需要在判断指令能够是否满足发送条件前先获取系统时间,根据当前系统时间和指令上一次的发送时间计算该指令发送后经过的发送时长,如果发送时长大于或等于等待应答时长,且指令的剩余发送次数大于零,则认定该指令为漏控指令,指令对应的智能家居设备未正常接收到该指令,因此判定该指令再次满足发送条件,重发该指令以保证对智能家居设备控制的成功率和智能家居系统的稳定性。
在本发明的一个实施例中,进一步地,如图9所示,发送状态为未发送,处理器904还用于执行计算机程序以实现发送指令的步骤之后,将指令对应的发送状态设置为已发送,并将发送时间设置为当前系统时间。
在该实施例中,首次发送指令后,将该指令的发送状态变更为已发送,并记录当前系统时间,以当前系统时间作为该指令的发送时间,并等待应答消息,在没有接收到应答消息,且该指令再次满足发送条件时,重发该指令,以避免漏控。
在本发明的一个实施例中,进一步地,如图9所示,发送状态为已发送,处理器904还用于执行计算机程序以实现在执行发送指令的步骤之后,将剩余重发次数减1,并将发送时间设置为当前系统时间;以及确认指令对应的剩余重发次数为零,和/或接收到指令对应的应答消息,在指令缓存列表中删除指令。
在该实施例中,若指令的发送状态为已发送,且该指令再次满足发送条件,则说明对该指令进行了重发操作,此时将该指令的剩余重发次数减1,并将该指令对应的发送时间更新为目前系统时间。当指令对应的剩余重发次数为零,说明以多次重发该指令仍未接收到对应的应答消息,此时由于网络问题或ZigBee设备通讯失败导致漏控的可能性较低,判断指令对应的智能家居设备离线或出现其他故障导致指令无法被接收,因此在指令缓存列表中删除该指令,不再重发该指令,避免网络资源的浪费。
在本发明的一个实施例中,进一步地,如图9所示,处理器904还用于执行计算机程序以实现根据等待应答时长调整多个指令之间的发送间隔时长;其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关。
在该实施例中,指令的数量为多个,根据指令的具体数量调整等待应答时长,并同时调整多个指令之间的发送间隔。其中,等待应答时长与指令数量正相关,发送间隔时长与等待应答时长正相关,即指令越多,对应设置的等待应答时长越长,多个指令之间的发送间隔也越长,以避免同时或在短时间内发送多个指令导致网络拥堵。具体地,调整等待应答时长时,等待应答时长与指令数量之间的关系可表示为线性关系或曲线关系,根据实际情况设置线性关系的斜率或曲线关系的曲率,在避免网络拥堵的同时保证指令的发送效率。
在本发明第三方面的实施例中,提供了一种网关设备,包括上述任一实施例中的指令处理系统,因此,该网关设备包括上述任一实施例中的指令处理系统的全部有益效果。
在本发明第四方面的实施例中,提供了一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中的指令处理方法,因此,该计算机可读介质包括上述任一实施例中的指令处理方法的全部有益效果。
本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所述的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。