基于第三方推送平台的客户端消息刷新方法与流程

文档序号:12731241阅读:413来源:国知局
基于第三方推送平台的客户端消息刷新方法与流程

本发明涉及领域智能家居领域,尤其涉及一种基于第三方推送平台的客户端消息刷新方法。



背景技术:

随着信息科技的快速发展,智能家居系统由于其便利性,其应用越来越普及。同时,物联网技术的兴起,带动了智能家居产业的飞速发展。一些移动客户端应用程序相继走上市场,用户只需要安装应用程序软件配合家里的智能家居系统中的底层设备,就可以在应用程序上操作家里的灯光、窗帘、窗户、插座、电视、空调等家电设备,同时,应用程序上会显示底层设备当前的状态(开或关)。传统的智能家居系统采用定时刷新的方式在应用程序上更新底层设备当前的状态,如基于互联网(Intemet)的远程定时刷新方法。

基于互联网的远程定时刷新方法是通过客户端向服务器(如阿里云服务器)请求获取智能家居的所有底层设备当前的状态。服务器的数据库会存储底层设备最新的状态信息,客户端启动应用程序后,应用程序在系统后台开启一个新的线程,间隔预定时间(如5秒钟)向服务器发送一个POST请求,以获取底层设备的当前状态。服务器接收到客户端的请求后,查询本地数据库,并将存储设备状态的表信息,打包成数据串发送给客户端,客户端的应用程序接收服务器返回的数据,会对这些批量的数据进行解析,并将解析出来的数据提取有关底层设备状态的字段保存下来,并且刷新当前的数据,从而将获取的底层设备最新的状态展现给用户。

具体而言,如图2所示,上述基于互联网的客户端消息刷新方法的包括步骤:

步骤一:启动客户端应用程序,应用程序在系统后台创建一个新的线程,以定时获取设备的状态。

步骤二:应用程序间隔预定时间(如5秒)向服务器发送一个消息刷新请求。

步骤三:服务器响应客户端的请求,查询本地的数据库表,找到设备状态表,将表中的所有信息打包成数据串发送至客户端。

步骤四:客户端收到服务器返回的数据后,对数据进行解析,提取并保存数据中关于底层设备状态的信息,同时刷新底层设备的状态,将底层设备最新的状态信息呈现在用户的面前。

上述基于互联网的客户端消息刷新方法中,客户端每隔预定时间向服务器获取数据,其获得的底层设备的状态不一定是最新的状态。若用户在底层设备开关上频繁的点击开关的状态,此时设底层备的状态就会更新的非常快,而客户端间隔预定时间(如几秒钟)才去获取底层设备的状态,会引起设备状态信息延迟,用户体验较差。

其次,客户端间隔预定时间向服务器获取数据,会增加服务器的压力,若很多用户同时向服务器获取数据,会导致服务器面临巨大压力和运行风险。另外,客户端在解析服务器返回的批量数据时,会给客户端的内存带来压力,对于内存比较小的客户端来说,很容易造成内存泄露。总而言之,上述给予互联网的客户端消息刷新方法不仅用户的体验差,且会给服务器增加压力和风险,同时给客户端带来内存负担。



技术实现要素:

本发明实施例的目的在于提供一种基于第三方推送平台的客户端的消息刷新方法,其能够提高客户端设备状态刷新显示的实时性、减轻服务器及客户端内存的压力,以解决上述技术问题。

一种基于第三方推送平台的客户端消息刷新方法,应用于智能家居系统,所述智能家居系统包括底层设备、智能主机、云服务器以及客户端,所述客户端用于与所述云服务器通信,并通过所述云服务器及所述智能主机控制所述底层设备工作。所述基于第三方推送平台的客户端消息刷新方法包括步骤:所述智能家居系统在底层设备状态改变时,将设备状态报文发送至第三方推送平台;所述第三方推送平台将设备状态报文发送至客户端消息推送服务器;以及,所述客户端消息推送服务器将设备状态报文推送至客户端。

在其中一种实施方式中,在智能家居系统发送消息前,注册所述客户端的设备令牌并将设备令牌上传至所述第三方推送平台,以允许所述第三方推送平台将设备状态报文与相应的客户端关联,从而能够向相应的客户端推送消息。

在其中一种实施方式中,注册设备令牌时,在客户端的应用程序委托的实现文件从客户端的服务器注册。

在其中一种实施方式中,还包括步骤:所述客户端接收设备状态报文,将设备状态报文存储至本地数据库,并刷新对应的底层设备的设备状态。

在其中一种实施方式中,所述客户端接到报文时,判断若报文是设备状态报文时,存储设备状态报文。

在其中一种实施方式中,所述客户端通过调用所述第三方推送平台的应用程序编程接口函数,以获取设备状态报文。

在其中一种实施方式中,在所述智能家居系统向所述第三方推送平台发送设备状态报文之前,通过所述客户端在所述第三方推送平台上注册、创建应用并获取应用标识符,且将所述客户端与所述第三方推送平台建立联接。

在其中一种实施方式中,将所述客户端与所述第三方推送平台建立联接时,在第三方推送平台开发者中心下载安装包,将安装包导入客户端的项目工程后配置文件。

在其中一种实施方式中,所述底层设备状态改变时,其向所述智能主机发送设备状态报文,所述智能主机将该设备状态报文传送至云服务器,由所述云服务器将该设备状态报文传送至所述第三方推送平台。

在其中一种实施方式中,所述第三方推送平台为第三方云推送平台。

相对于现有技术,本发明实施例提供的基于第三方推送平台的客户端的消息刷新方法,借助第三方推送平台实时接收底层设备的设备状态报文,只针对某个改变状态的底层设备进行消息推送,云服务器处理数据的量级比较小,减小了云服务器的压力,同时提高了客户端的底层设备状态刷新的实时性,改善了用户体验。另外,通过第三方推送平台刷新底层设备的状态,能够减轻客户端在解析数据时的内存压力,在一定程度上减小了内存泄露的概率,保证了客户端运行的稳定性,同时也提高了客户端的兼容性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的基于第三方推送平台的客户端的消息刷新方法的流程示意图;

图2是本发明背景技术的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供一种基于第三方推送平台的客户端消息刷新方法,应用于智能家居系统中,以允许用户能够在客户端上实时地刷新并获取智能家居的设备状态。所述智能家居系统包括客户端、云服务器、家庭控制中心以及底层设备,所述客户端用于接收用户的操作指令,并用于将所述控制指令发送至所述云服务器;所述云服务器用于与所述家庭控制中心交互,并用于将所述控制指令发送至所述家庭控制中心;所述家庭控制中心用于与所述底层设备交互,并根据所述控制指令控制所述底层设备工作。

其中,所述底层设备为智能家居设备,包括但不限于为灯光、窗帘、窗户、插座、电视、空调等家电设备。在本发明实施方式中,所述家庭控制中心为智能主机,所述智能主机与所述底层设备及所述云服务器通信连接。所述智能主机包括具有网关功能的硬件,所述硬件用于发送、接收所述底层设备的信号。所述客户端所可以为但不限于为手机、平板电脑、可穿戴设备、遥控器等智能便携式终端。所述客户端同时具备网络通信功能,用户能够通过所述客户端实现对所述底层设备的控制。

在本发明实施方式中,上述的第三方推送平台为第三方云推送平台(如,极光推送)。上述的客户端为由IOS系统支持的电子设备,如手机、平板电脑等。所述客户端内可以安装有应用程序,以允用户通过应用程序查看所述底层设备的设备状态,或操控所述底层设备等。所述基于第三方推送平台的客户端消息刷新方法包括步骤:

步骤一:在第三方推送平台创建应用并获取应用标识符。具体而言,在本实施方式中,通过所述客户端上的应用程序在第三方推送平台的开发者中心注册账号后,登录并且创建自己的应用,获取应用的标识符(应用程序Key)。所述标识符为唯一标识应用信息的字符串。

步骤二:在第三方推送平台开发者中心下载安装包,将安装包导入客户端的项目工程后配置文件。具体而言,在本实施方式中,在第三方推送平台的开发者中心下载最新的IOS SDK安装包,将安装包导入客户端的项目工程后,添加所述第三方推送平台需要的工作架构(framework),例如CFNetwork.framework、CoreFoundation.framework,CoreTelephony.framework,SystemConfiguration.framework,CoreGraphics.framework,Foundation.framework,UIKit.framework,Security.framework,libz.tbd(Xcode7以下版本是libz.dylib),AdSupport.framework(UserNotifications.framework(Xcode8及以上),libresolv.tbd(JPush 2.2.0及以上版本需要,Xcode7以下版本是libresolv.dylib),并且配置文件。

步骤三:注册设备令牌并将设备令牌上传至第三方推送平台服务器。具体而言,在本实施方式中,通过客户端的操作系统,在应用程序委托的实现文件(应用程序Delegate.m)中从客户端的服务器注册设备令牌(DeviceToken),并且将设备令牌(DeviceToken)上传至第三方推送平台服务器,以允许第三方推送平台能够查找消息推送的对象,即允许所述第三方推送平台将设备状态报文与相应的客户端关联,从而能够向相应的客户端推送消息。

步骤四:检测若智能家居系统的硬件设备状态改变,则查找需要推送消息的客户端,并发送设备状态报文。具体而言,若智能家居系统的底层设备的状态改变,则底层设备会向智能主机发送状态改变的报文消息,智能主机接收到底层设备发送过来的报文后,将该报文传送至云服务器,由所述云服务器将该报文传送至所述第三方推送平台;第三方推送平台服务器接收到该报文,并将报文转发至客户端操作系统的推送服务器(APNS服务器),APNS服务器则根据设备上传的设备令牌,查找需要推送的客户端设备。

步骤五:客户端的应用程序监控并接收状态报文,并刷新底层设备硬件状态。具体而言,客户端操作系统调用第三方消息推送平台的应用程序编程接口(Application Programming Interface,应用程序编程接口,API)以获取设备状态报文,若客户端检测到有消息推送过来,则会判断报文所关联的设备类型,判断该报文是否为底层设备的设备状态报文,若是,则提取这个设备的状态,将该底层设备的状态信息插入到本地数据库中,同时刷新当前底层设备的状态。

本发明实施例提供的基于第三方推送平台的客户端消息刷新方法,借助第三方推送平台实时接收底层设备的状态报文,只针对某个改变状态的底层设备进行消息推送,云服务器处理数据的量级比较小,减小了云服务器的压力,同时提高了客户端的底层设备状态刷新的实时性,改善了用户体验。另外,通过第三方推送平台刷新底层设备的状态,能够减轻客户端在解析数据时的内存压力,在一定程度上减小了内存泄露的概率,保证了客户端运行的稳定性,同时也提高了客户端的兼容性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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