× 快速导航
必威资讯
分类
一种智能家居控制后台系统消息的推送方法与流程
发布日期:2023-02-03 21:10:22

  本发明涉及智能家居管理系统技术领域,特别涉及一种智能家居控制后台系统消息的推送方法。

  随着科技的发展,人们生活水平的提高,智能家居慢慢开始出现在人们的生活中。现在的智能家居均是利用移动终端通过特定应用(app)登录服务器来控制家电设备,每个用户通过app与智能夹具建立绑定关系。但是随着智能家居中各种智能设备增多,使用用户的的增多,智能家居的后台系统消息推送时会出现“高并发”情况。

  所述的高并发是一个互联网名词,指的是很多个访问在同一时间进行,是互联网时代的技术难题。现有的普通的智能家居后台系统消息推送应对高并发有一定的缺陷,比如说,目前智能家居的后台服务器只能通过搭建许多服务器对访问量进行分流。这虽然是一种方法,但是会浪费额外的人力物力。现在早已进入互联网的大浪潮,某一时刻,同时访问一个网站已经属于正常现象,比如天猫“双11”,京东“618”购物狂欢节”,逢年过节网上买票等等.这些都是百万,千万的并发量,如果还是仅通过搭载更多服务器来应对高并发,显然不是长久之计。

  本发明所要解决的技术问题就在于克服现有技术的不足,提供一种智能家居控制后台系统消息的推送方法。

  为解决上述技术问题,本发明采用了如下技术方案:一种智能家居控制后台系统消息推送方法,包括:一云端服务器、一可与云端服务器建立通讯连接的移动终端、一通过网关与云端服务器建立通讯连接的智家居设备,移动终端通过云端服务器与智能家居建立通讯,同时云端服务器作为智能家居的控制后台向移动终端进行消息的推送;在进行消息推送之前,移动终端需要在云端服务器进行注册,获取对应的账户,并且根据每个移动终端自身唯一识别码实现同一时间、该账户只能在一台移动终端上进行登录操作;在移动终端使用上述账户登录移动终端之后,在云端服务器进行消息推送时,每次消息的推送均会开启一条协程,消息的推送与主线程相对独立,主线程仍执行原有的任务。

  进一步而言,上述技术方案中,该系统消息通过绑定网关进行消息的群发推送,其包括以下步骤:首先,移动终端通过对应的账户登录云端服务器,并向云端服务器发出绑定指定网关的请求;其次,云端服务器收到上述请求后,将指令发送给指定网关;然后,指定网关收到云端服务器指令后进行网关绑定;接着,网关绑定成功后,云端服务器将把绑定成功的消息群发给该指定网关下所有的用户;最后,云端服务器将循环遍历该网关下所有的用户,对每个用户进行消息推送。

  进一步而言,上述技术方案中,在云端续登录过程中,如果出现多台移动终端先后使用同一账户登录云端服务器,则云端服务器将根据每个移动终端中自身的唯一识别码进行判断,如果是同一移动终端,则不进行消息推送;如果是不同的移动终端,则向之前登录的移动终端推送下线的消息,令在后登录的移动终端登录成功。

  相对于现有技术而言,本发明采用的消息推送方法从另一种方面对高并发进行了处理。其利用服务器的消息推送方法处理高并发,以实现搭建少的服务器就可以实现其他系统搭建的比较多的服务器的功能,节约了人力物力成本。与现有技术相比,本发明有以下有益效果:

  为了更好地理解本发明的各个方面,下面根据附图和实例实施例对本发明作进一步详细说明。

  现在参考如附图中所示的一些实施例来详细描述本发明。为了更加透彻地理解本发明,在以下的描述中阐述了许多具体的细节。但是,本领域技术人员可以明确的是,在缺少部分或全部这些具体细节的情况下也可以实现本发明。在其他情况下,为了不会使本发明存在不必要的不清楚之处,没有具体描述公知的处理步骤和/或结构。另外,尽管结合特定的实施例对本发明进行描述,但应该理解的是,该描述并不旨在将本发明限制于所描必威电竞述的实施例。相反,该描述旨在覆盖可包括在由所附权利要求书限定的本发明的精神和范围内的替换、改进和等同方案。

  本发明为一种智能家居控制后台系统消息推送方法。要使用这种方法,其必须要包括:一云端服务器、一可与云端服务器建立通讯连接的移动终端、一通过网关与云端服务器建立通讯连接的智家居设备。移动终端通过云端服务器与智能家居建立通讯,同时云端服务器作为智能家居的控制后台向移动终端进行消息的推送。

  所述的云端服务器为提供数据处理、数据存储、通讯服务的服务器;其至少包括:中央处理单元、存储器、有线或者无线通讯接口。

  所述的移动终端为可通过网络与云端服务器建立通讯连接的通讯终端,其至少包括:通讯单元、处理单元等。通常,移动终端可以为智能手机、平板电脑或者移动电脑等。

  所述的智能家居设备通常是指智能家居中的家用电器,这种智能家居家用电器的控制电路中至少要设置有通讯单元、处理单元。以便于通过网络与控制终端建立通讯服务。例如,智能家居可以是智能开关、智能插座、智能点灯等等。

  在进行消息推送之前,移动终端需要在云端服务器进行注册,获取对应的账户,并且根据每个移动终端自身唯一识别码(id)实现同一时间、该账户只能在一台移动终端上进行登录操作;

  在移动终端使用上述账户登录移动终端之后,在云端服务器进行消息推送时,每次消息的推送均会开启一条协程,消息的推送与主线程相对独立,主线程仍执行原有的任务。

  简必威电竞单来说,首先在移动终端安装一个客户端(app),利用该客户端向云端服务器发出注册请求,获得对应的登录账户,然后进行登录。见图1所示,在后续的使用过程中,如果需要在另外一台移动终端使用这个账户登录云端服务器,则云端服务器会通过每个移动终端中具有的唯一识别码id进行判断,如果是同一台移动终端,则不进行消息推送。如果是不同的移动终端,云端服务器就会向在先登录的移动终端推送一条消息,例如:您的账号在其他手机登录,您已被迫下线。

  在上述消息推送的代码层面,本发明使用的是icomet推送服务。icomet推送方法原理如下:app端会与云服务端进行长连接,每个消息都会有唯一的一个uid来标识这个消息.当有消息到来时,消息内容会暂存到channel通道(类似于一根管子,遵循先进先出的原则)中,先进到通道中的消息,当需要发送消息时,会优先的发出去,以确保消息的即时性.在icomet通道(channel)中,都可以唯一确定一个消息,如此一来,消息的发送和接受都是有目标的.当云服务端需要发推送消息到app时,云服务端会根据这个消息的唯一id去查找这个消息,找到之后,就会将该消息的内容推送给app端,app端会即时的接受到这个消息.当有请求到达时,本发明的推送方法每次都会开启一条协程(类似于线程);

  这样消息推送就与主线程进行了相对的独立,但是可以共享资源.所以本发明可以单独的去给用户发送消息,而且,主线程也不用等待这个协程执行完才执行下一步,主线程可以直接执行剩下的代码.这样,当多个请求同时访问时,可以成倍的提高代码执行效率,所以可以有效的缓解多用户同时访问服务器的压力,有效缓解高并发对服务器产生的压力。这是本发明消息推送方法中同步推送消息的机制。

  首先,移动终端通过对应的账户登录云端服务器,并向云端服务器发出绑定指定网关的请求;

  接着,网关绑定成功后,云端服务器将把绑定成功的消息群发给该指定网关下所有的用户;

  ③:本发明的消息推送方法为:当多个请求同时到达时,开启多条协程。本发明服务器群发消息采用channel通道机制,由于channel可以附带缓存,用来缓存多条消息.每个协程都有一个channel提供通信服务,以保证通信是一对一的通信.这样,消息的发送者和接受者有了某种对应关系,以保证消息发送的准确性,提高代码执行效率。

  当然,以上所述仅为本发明的具体实施例而已,并非来限制本发明实施范围,凡依本发明申请专利范围所述构造、特征及原理所做的等效变化或修饰,均应包括于本发明申请专利范围内。