消息延迟推送方法及其系统与流程

文档序号:13949974阅读:618来源:国知局
消息延迟推送方法及其系统与流程

本发明涉及物联网技术领域,更具体地说是指消息延迟推送方法及其系统。



背景技术:

随着社会技术的进步以及人们对生活质量更高的追求,越来越多的智能设备被人们在家庭中使用,比如智能门锁、智能摄像头(ipc)、智能开关等,这些设备通过网络连接到云端,然后人们通过移动终端的app就可以对这些设备进行操控,比如开锁、观看视频、打开或者关闭开关等等。

移动终端的app要显示这些设备的状态,是处于在线状态还是处于离线状态。如果处于在线,用户就可以对设备进行操控,如果设备处于离线状态(比如是网络不好、断电、或者是设备本身发生的了故障),云端会向移动终端的app推送设备离线的消息,提醒用户,以方便用户及时进行处理。

现有的技术方案,当设备登录云端上线时候,云端会向移动终端的app推送设备上线的消息,通知移动终端的app设备已经上线;当云端发现离线时候,云端也会向移动终端的app推送设备离线的消息,移动终端的app会将设备的状态显示为离线,即云端完全是实时的将设备上下线消息通知到移动终端的app。当设备重新启动或者发现自己和云端的通讯连接中断情况下,会尝试再次和云端重新建立连接,进行相应的登录以及身份认证流程,成功之后会和云端保持心跳,从而维护自身的在线的状态。

这种是实时的将设备上线/下线消息推送给用户的方式,用户可能在较短时间内(比如不超过10秒钟)会收到设备下线、设备上线的消息,一方面会对用户造成不必要的骚扰,另外一方面又会让用户对云端的服务质量或者产品本身的质量产生怀疑和不必要的误解、困扰。

因此,有必要设计一种消息延迟推送方法,实现在网络发生抖动情况下,可以减少对用户的消息推送骚扰,提升用户的产品体验;也可以增加用户对产品指令的信心。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供消息延迟推送方法及其系统。

为实现上述目的,本发明采用以下技术方案:消息延迟推送方法,所述方法包括:

获取设备初始状态;

检测设备的动作状态,判断设备动作状态是否与初始状态一致;

若不一致,则生成并暂存信息;

判断设备当前状态是否满足设定条件;

若满足设定条件,则推送暂存的信息。

若设备当前状态与初始状态一致或者设备当前状态不满足设定条件,则进入结束步骤。

其进一步技术方案为:判断设备当前状态是否满足设定条件的步骤,包括以下具体步骤:

判断设备当前状态是否发生变化;

若未发生变化,则判断是否处于设定时间内;

若未处于设定时间内,则设备当前状态满足设定条件;

若处于设定时间内,则继续等待,并返回所述判断设备当前状态是否发生变化的步骤;

若发生变化,则设备当前状态不满足设定条件。

其进一步技术方案为:判断设备当前状态是否发生变化的步骤,具体是判断设备当前状态是否与所述设备初始状态一致,若一致,则设备当前状态未发生变化,若不一致,则设备当前状态发生变化。

本发明还提供了消息延迟推送系统,包括初始状态获取单元、动作状态判断单元、消息生成单元、当前状态判断单元以及推送单元;

所述初始状态获取单元,用于获取设备初始状态;

所述动作状态判断单元,用于检测设备的动作状态,判断设备动作状态是否与初始状态一致;

所述消息生成单元,用于若不一致,则生成并暂存信息;

所述当前状态判断单元,用于判断设备当前状态是否满足设定条件;

所述推送单元,用于若满足设定条件,则推送暂存的信息。

其进一步技术方案为:所述当前状态判断单元包括变化判断模块以及时间判断模块;

所述变化判断模块,用于判断设备当前状态是否发生变化;若发生变化,则设备当前状态不满足设定条件;

所述时间判断模块,用于若未发生变化,则判断是否处于设定时间内;若未处于设定时间内,则设备当前状态满足设定条件。

本发明与现有技术相比的有益效果是:本发明的消息延迟推送方法,通过判断设备的状态变化情况以及时间间隔,两者都满足设定条件的情况下,将缓存的信息进行推送,反之则将信息进行缓存不推送,实现在网络发生抖动情况下,可以减少对用户的消息推送骚扰,提升用户的产品体验;也可以增加用户对产品指令的信心。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

图1为本发明具体实施例提供的消息延迟推送方法的流程图;

图2为本发明具体实施例提供的判断设备当前状态是否满足设定条件的流程图;

图3为本发明具体实施例提供的设备登录成功在线且在设定时间内未离线的流程图;

图4为本发明具体实施例提供的设备登录成功在线且在设定时间内再次离线的流程图;

图5为本发明具体实施例提供的消息延迟推送系统的结构框图;

图6为本发明具体实施例提供的当前状态判断单元的结构框图。

具体实施方式

为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。

如图1~6所示的具体实施例,本实施例提供的消息延迟推送方法,可以运用在物联网领域中的智能设备,比如智能门锁、智能ipc、智能开关等,云端需要及时将这些设备的上线消息、下线消息推送给移动终端的app端,以便用户知道设备的在线、离线状态。

如图1所示,本实施例提供了消息延迟推送方法,该方法包括:

s1、获取设备初始状态;

s2、检测设备的动作状态,判断设备动作状态是否与初始状态一致;

s3、若不一致,则生成并暂存信息;

s4、判断设备当前状态是否满足设定条件;

s5、若满足设定条件,则推送暂存的信息。

若设备当前状态与初始状态一致或者设备当前状态不满足设定条件,则进入结束步骤。

对于上述的s1步骤,具体地,在云端保存设备的在线/离线的真正状态(记为a1状态),也就是记载设备初始状态,初始状态可以是云端历史记载的最近一次设备的状态,也可以是人为根据设备的状态设定的,一般默认情况下,初始状态为云端历史记载的最近一次设备的状态。

对于上述的s2步骤以及s3步骤,具体地,当设备登录到云端或者是和云端连接断开时,这时系统里面的设备在线/离线的状态会发生变化(记为a2状态),此时云端不会立即实时的向移动终端的app推送设备上线或者是离线的消息,而是将这条消息暂缓在系统里面。将推送给用户的消息暂时保存在系统里面,根据配置时间采取灵活地推送。

更进一步地,在某些实施例中,上述的s4步骤,判断设备当前状态是否满足设定条件的步骤,包括以下具体步骤:

s41、判断设备当前状态是否发生变化;

s42、若未发生变化,则判断是否处于设定时间内;

s43、若未处于设定时间内,则设备当前状态满足设定条件;

s44、若处于设定时间内,则继续等待,并返回所述判断设备当前状态是否发生变化的步骤;

s45、若发生变化,则设备当前状态不满足设定条件。

上述的s4步骤,解决当网络情况异常或者发生抖动时,设备在短时间内(比如一分钟内)反复的上下线,云端频繁的给用户推送设备上线、下线的消息,造成对用户的骚扰和困扰问题。

上述的s41步骤,判断设备当前状态是否发生变化的步骤,具体是判断设备当前状态是否与所述设备初始状态一致,若一致,则设备当前状态未发生变化,若不一致,则设备当前状态发生变化。

将消息暂时缓存在系统内,缓存时限可以根据实际情况配置,比如一分钟,当过了暂缓时间,设备的状态仍然没有发生变化,也就是仍然为a2状态,比如上线之后没有下线,或者下线之后没有上线,再将这条暂缓消息推送到移动终端app,通知设备上线或者是下线信息。如果在暂缓的时间内因为网络不稳定,设备又进行了下线/上线操作,此时设备的在线状态又发生了变化(记录为a3状态,此时和a1状态相同),设备的状态又回到了最开始的状态,这时云端不会向移动终端app推送设备上下线消息,从而避免了对用户的骚扰。

在某些实施例中,由于云端存在消息推送暂缓时间,云端没有实时将设备状态推送到移动终端app,移动终端app的设备状态有可能不准;如果在这段时间内,用户通过移动终端app去控制设备,如果移动终端app显示设备在线,但是实际设备处于离线,云端会向移动终端app返回设备已经离线不可操控的错误,如果移动终端app显示设备离线,但是实际设备处于在线,则走正常的业务逻辑。

由于网络发生抖动的概率非常小,在网络发生抖动时候用户操控设备的概率会更小,因此该方法不会伤害到用户的体验,而且可以屏蔽网络抖动时候对用户的消息推送的干扰,至少在消息暂缓时间内不会频繁推送设备的上下线消息。

上述的消息延迟推送方法,通过判断设备的状态变化情况以及时间间隔,两者都满足设定条件的情况下,将缓存的信息进行推送,反之则将信息进行缓存不推送,实现在网络发生抖动情况下,可以减少对用户的消息推送骚扰,提升用户的产品体验;也可以增加用户对产品指令的信心。

如图5所示,本实施例还提供了消息延迟推送系统,其包括初始状态获取单元1、动作状态判断单元2、消息生成单元3、当前状态判断单元4以及推送单元5。

初始状态获取单元1,用于获取设备初始状态。

动作状态判断单元2,用于检测设备的动作状态,判断设备动作状态是否与初始状态一致。

消息生成单元3,用于若不一致,则生成并暂存信息。

当前状态判断单元4,用于判断设备当前状态是否满足设定条件。

推送单元5,用于若满足设定条件,则推送暂存的信息。

对于上述的初始状态获取单元1,具体地,在云端保存设备的在线/离线的真正状态(记为a1状态),也就是记载设备初始状态,初始状态可以是云端历史记载的最近一次设备的状态,也可以是人为根据设备的状态设定的,一般默认情况下,初始状态为云端历史记载的最近一次设备的状态。

对于上述的动作状态判断单元2以及消息生成单元3,具体地,当设备登录到云端或者是和云端连接断开时,这时系统里面的设备在线/离线的状态会发生变化(记为a2状态),此时云端不会立即实时的向移动终端的app推送设备上线或者是离线的消息,而是将这条消息暂缓在系统里面。将推送给用户的消息暂时保存在系统里面,根据配置时间采取灵活地推送。

更进一步的,在某些实施例中,上述的当前状态判断单元4包括变化判断模块41以及时间判断模块42。

变化判断模块41,用于判断设备当前状态是否发生变化;若发生变化,则设备当前状态不满足设定条件。

时间判断模块42,用于若未发生变化,则判断是否处于设定时间内;若未处于设定时间内,则设备当前状态满足设定条件。

上述的当前状态判断单元4而言,解决当网络情况异常或者发生抖动时,设备在短时间内(比如一分钟内)反复的上下线,云端频繁的给用户推送设备上线、下线的消息,造成对用户的骚扰和困扰问题。

上述的变化判断模块41而言,判断设备当前状态是否发生变化的步骤,具体是判断设备当前状态是否与所述设备初始状态一致,若一致,则设备当前状态未发生变化,若不一致,则设备当前状态发生变化。

将消息暂时缓存在系统内,缓存时限可以根据实际情况配置,比如一分钟,当过了暂缓时间,设备的状态仍然没有发生变化,也就是仍然为a2状态,比如上线之后没有下线,或者下线之后没有上线,再将这条暂缓消息推送到移动终端app,通知设备上线或者是下线信息。如果在暂缓的时间内因为网络不稳定,设备又进行了下线/上线操作,此时设备的在线状态又发生了变化(记录为a3状态,此时和a1状态相同),设备的状态又回到了最开始的状态,这时云端不会向移动终端app推送设备上下线消息,从而避免了对用户的骚扰。

在某些实施例中,由于云端存在消息推送暂缓时间,云端没有实时将设备状态推送到移动终端app,移动终端app的设备状态有可能不准;如果在这段时间内,用户通过移动终端app去控制设备,如果移动终端app显示设备在线,但是实际设备处于离线,云端会向移动终端app返回设备已经离线不可操控的错误,如果移动终端app显示设备离线,但是实际设备处于在线,则走正常的业务逻辑。

由于网络发生抖动的概率非常小,在网络发生抖动时候用户操控设备的概率会更小,因此该方法不会伤害到用户的体验,而且可以屏蔽网络抖动时候对用户的消息推送的干扰,至少在消息暂缓时间内不会频繁推送设备的上下线消息。

上述的消息延迟推送系统,通过判断设备的状态变化情况以及时间间隔,两者都满足设定条件的情况下,将缓存的信息进行推送,反之则将信息进行缓存不推送,实现在网络发生抖动情况下,可以减少对用户的消息推送骚扰,提升用户的产品体验;也可以增加用户对产品指令的信心。

上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1