服务端通知消息的发送方法及装置的制造方法

文档序号:9352881阅读:184来源:国知局
服务端通知消息的发送方法及装置的制造方法
【技术领域】
[0001] 本发明涉及物联网技术领域,特别是涉及一种服务端通知消息的发送方法及装 置。
【背景技术】
[0002] Alljoyn是一种基于C/S架构的设备之间点对点通信框架,Alljoyn由总线(Bus Daemon)和终端节点组成。总线是Alljoyn应用通过API(ApplicationProgramming Interface,应用程序编程接口)进行通信的媒介。发布API的Alljoyn应用是服务端,消 费的是客户端。举例来说,支持Alljoyn的手机控制支持Alljoyn的冰箱,冰箱提供了控制 温度、模式等服务,而手机作为客户端来调用这些服务,因此冰箱上运行的Alljoyn应用被 称为服务(Service),而运行在手机上的Alljoyn应用被称为客户端(Client)。
[0003] Alljoyn应用(服务或客户端应用)通过"总线对象"来实现对外暴露API,可以 这样理解,一个Alljoyn应用可以用一个总线对象来表示。总线对象是一个Alljoyn应用 的具体实现形式。大部分情况下,一个应用只有一个总线对象,而一个总线对象包括一个或 多个接口,接口实际上就是一个应用的具体功能逻辑实现。举例来说,冰箱具有调节温度、 各种模式设置、开关机等功能;其中冰箱的Alljoyn应用,由一个总线对象来表示,而这个 总线对象包括三个接口:调节温度接口、模式设置接口和开关机接口。接口中又可以包含三 个成员:方法(Method)、信号(Signal)和属性(Property)。其中Property代表了实体对 外可见的状态。
[0004] 现有技术中,服务端接口的状态(属性)发生改变时,Alljoyn会根据属性的标注 值来发送变化的信息,特别是当该属性为模拟量时,如温度、湿度、功率等,并且在变化时需 要产生通知消息的情况下,Alljoyn会产生海量的通知消息,不仅严重消耗了服务端的设备 资源,而且由于产生的海量通知消息,也会严重损耗客户端应用所在设备资源,造成设备的 过载。

【发明内容】

[0005] 鉴于现有技术的缺陷,本发明目的在于提供一种服务端通知消息的发送方法及装 置,用以解决现有服务端装置产生过多的通知消息导致的网络带宽消耗以及服务端装置和 客户端装置系统过载的问题。
[0006] -方面,本发明提供一种服务端通知消息的发送方法,包括:
[0007] 采集接口的属性值,并监控采集的属性值是否满足发送条件;当采集的属性值满 足发送条件时,将携带有满足发送条件时的属性值的通知消息发送给客户端。
[0008] 进一步,所述方法还包括:
[0009] 当采集的属性值不满足发送条件时,获取距前次向客户端发送通知消息的时长; 当获取的时长大于预设的时长时,将携带有大于预设时长时的属性值的通知消息发送给客 户端。
[0010] 进一步,所述监控采集的属性值是否满足发送条件的步骤,具体包括:
[0011] 监控采集的属性值相对于前次通知消息中携带的属性值的变化幅度是否超过预 设变化幅度;当超过时,判定为满足发送条件;当未超过时,判定为不满足发送条件。
[0012] 进一步,所述变化幅度具体为属性变化步长或者为属性变化百分比。
[0013] 进一步,所述监控采集的属性值相对于前次通知消息中携带的属性值的变化幅度 是否超过预设变化幅度的步骤之前,还包括:
[0014] 预设缓存阈值,监控采集的属性值相对于前次通知消息中携带的属性值的变化幅 度与预设变化幅度的比值是否达到所述缓存阈值,当达到时,获取到达缓存阈值时的属性 值。
[0015] 进一步,所述方法还包括:
[0016] 当将携带有满足发送条件时的属性值的通知消息或者将携带有大于预设时长时 的属性值的通知消息发送给客户端失败时,将到达缓存阈值时的属性值携带在通知消息中 向客户端发送。
[0017] 另一方面,本发明还提供一种服务端装置,包括:
[0018] 监控单元,用于采集接口的属性值,及监控采集的属性值是否满足发送条件,当采 集的属性值满足发送条件时,触发信息发送单元将携带有满足发送条件时的属性值的通知 消息发送给客户端;
[0019] 消息发送单元,用于根据所述监控单元的触发将通知消息发送给客户端。
[0020] 进一步,所述监控单元,还用于当采集的属性值不满足发送条件时,获取距前次向 客户端发送通知消息的时长;当获取的时长大于预设的时长时,触发信息发送单元将携带 有大于预设时长时的属性值的通知消息发送给客户端。
[0021] 进一步,所述监控采集的属性值是否满足发送条件具体包括:
[0022] 监控采集的属性值相对于前次通知消息中携带的属性值的变化幅度是否超过预 设变化幅度;当超过时,判定为满足发送条件;当未超过时,判定为不满足发送条件。
[0023] 进一步,所述变化幅度具体为属性变化步长或者为属性变化百分比。
[0024] 进一步,所述监控单元,还用于预设缓存阈值;监控采集的属性值相对于前次通 知消息中携带的属性值的变化幅度与预设变化幅度的比值是否达到所述缓存阈值,当达到 时,获取到达缓存阈值时的属性值。
[0025] 进一步,所述消息发送单元,还用于当将携带有满足发送条件时的属性值的通知 消息或者将携带有大于预设时长时的属性值的通知消息发送给客户端失败时,将到达缓存 阈值时的属性值携带在通知消息中向客户端发送。本发明有益效果如下:本发明通过控制 通知消息产生及发送的频率,有效地解决了发送方发送海量通知消息造成的系统过载、网 络带宽消耗以及接收方装置过载的问题。
【附图说明】
[0026] 图1是本发明实施例中一种服务端通知消息的发送方法的主流程图;
[0027] 图2是本发明实施例中一种服务端通知消息的发送方法的详细流程图;
[0028] 图3是本发明实施例中一种服务端装置的结构示意图。
【具体实施方式】
[0029] 为了解决现有服务端装置产生过多的通知消息导致的网络带宽消耗以及服务端 装置和客户端装置系统过载的问题,本发明提供了一种服务端通知消息的发送方法及装 置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具 体实施例仅仅用以解释本发明,并不限定本发明。
[0030] 实施例一
[0031] 本发明实施例提供一种服务端通知消息的发送方法,包括:
[0032] S101,采集接口的属性值,并监控采集的属性值是否满足发送条件。其中,监控采 集的属性值是否满足发送条件,具体包括:
[0033] 监控采集的属性值相对于前次通知消息中携带的属性值的变化幅度是否超过预 设变化幅度;
[0034] 当超过时,判定为满足发送条件;
[0035] 当未超过时,判定为不满足发送条件。变化幅度具体为属性变化步长或者为属性 变化百分比。
[0036] S102,当采集的属性值满足发送条件时,将携带有满足发送条件时的属性值的通 知消息发送给客户端。
[0037]S103,当采集的属性值不满足发送条件时,不发送通知消息,或者获取距前次向客 户端发送通知消息的时长;当获取的时长大于预设的时长时,将携带有大于预设时长时的 属性值的通知消息发送给客户端。
[0038] 由于当某些属性值的快速变化,无法监测到精准的变化值,或者总线对象的监测 线程由于阻塞或没有按照既定流程执行等原因导致将携带有满足发送条件时的属性值的 通知消息发送给客户端失败,或者将携带有大于预设时长时的属性值的通知消息发送给客 户端失败,此时本发明实施例将会从调度队列中的读取达到缓存阈值时的属性值发送出 去。
[0039] 也就是说,监控采集的属性值相对于前次通知消息中携带的属性值的变化幅度是 否超过预设变化幅度的步骤之前,还包括:
[0040] 预设缓存阈值,监控采集的属性值相对于前次通知消息中携带的属性值的变化幅 度与预设变化幅度的比值是否达到所述缓存阈值,当达到时,获取到达缓存阈值时的属性 值。
[0041] 此时,本发明实施例的方法还包括:当将携带有满足发送条件时的属性值的通知 消息或者将携带有大于预设时长时的属性值的通知消息发送给客户端失败时,将到达缓存 阈值时的属性值携带在通知消息中向客户端发送。
[0042] 本发明实施例中服务端为可以与客户端进行数据交互及处理的智能设备,例如智 能冰箱、智能空调、智能电视等。
[0043] 以下以空调为例,采用Alljoyn技术对本发明实施例方法进行详细描述。
[0044] 空调的温度传感器能够监测到室内温度的变化,当温度发生变化后,空调的 Alljoyn应用(服务)会向手机的Alljoyn应用(客户端)发送通知
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1