Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MESSAGE PROCESSING METHOD, DEVICE AND SYSTEM FOR INTERNET OF THINGS
Document Type and Number:
WIPO Patent Application WO/2014/005535
Kind Code:
A1
Abstract:
Disclosed are a message processing method, device and system for the Internet of Things. The method includes: a gateway of the Internet of Things receiving one or more operation messages which are sent by a plurality of senders and used for a terminal operation; and the gateway of the Internet of Things caching the received operation messages in a message queue and pre-processing same, and according to the processing result, issuing the operation messages in the message queue to a terminal. The present invention solves the problems existing in the process of performing interactive operation on terminals in the related art, saves the energy consumption generated when the terminals execute operation messages, and reduces the resource losses of the Internet of Things.

Inventors:
LI QIUTING (CN)
Application Number:
PCT/CN2013/078841
Publication Date:
January 09, 2014
Filing Date:
July 04, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
International Classes:
H04L12/66; H04L47/6275
Foreign References:
CN101808025A2010-08-18
CN1691632A2005-11-02
CN101499017A2009-08-05
JP2001344121A2001-12-14
CN101166208A2008-04-23
Other References:
See also references of EP 2871809A4
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种物联网消息处理方法, 其特征在于, 所述方法包括: 物联网网关接收多个发送方发送的用于终端操作的一条或多条操作消 息;

所述物联网网关对收到的所述操作消息在消息队列中緩存且进行预处 理, 并按照处理后的结果将所述消息队列中的操作消息下发给所述终端。

2、 根据权利要求 1所述的方法, 其特征在于, 所述物联网网关对收到 的所述操作消息在所述消息队列中进行预处理包括:

所述物联网网关根据配置的策略, 对收到的所述操作消息在所述终端 对应的消息队列中的消息顺序进行调整。

3、 根据权利要求 1所述的方法, 其特征在于, 所述物联网网关对收到 的所述操作消息在所述消息队列中进行预处理包括:

所述物联网网关根据配置的策略, 对收到的所述操作消息中操作相同 的操作消息, 和 /或与所述终端对应的消息队列中操作相同的操作消息进行 合并。

4、 根据权利要求 2所述的方法, 其特征在于, 所述对接到的所述操作 消息在所述终端对应的消息队列中消息顺序进行调整包括:

当收到的所述操作消息与所述消息队列中的操作消息存在冲突, 且存 在冲突的操作消息的优先级不同时, 所述物联网网关根据所述配置的策略 调整所述消息队列的操作消息下发顺序, 并将所述存在冲突的操作消息中 优先级高的操作消息先于优先级低的操作消息执行; 和 /或,

当收到的所述操作消息与所述消息队列中的操作消息存在冲突, 且存 在冲突的操作消息的优先级相同时, 所述物联网网关根据所述策略重新排 列所述存在冲突的操作消息的下发顺序。

5、 根据权利要求 3所述的方法, 其特征在于, 所述物联网网关根据配 置的策略, 对收到的所述操作消息中操作相同的操作消息, 和 /或与所述终 端对应的消息队列中操作相同的操作消息进行合并包括:

当收到的所述操作消息与所述消息队列中存在相同的操作, 且操作相 同的操作消息的优先级不同时, 所述物联网网关根据所述配置的策略, 将 所述操作相同的操作消息合并至所述操作相同的操作消息中优先级最高的 操作消息的相应位置执行; 和 /或,

当收到的所述操作消息与所述消息队列中存在相同的操作, 且操作相 同的操作消息的优先级相同时, 所述物联网网关将所述操作相同的操作消 息合并至所述终端的消息队列中已存在的所述操作相同的操作消息所在位 置执行; 和 /或,

当收到的所述操作消息中存在相同的操作时, 所述物联网网关根据所 述配置的策略, 将所述操作相同的操作消息合并至所述操作消息中优先级 最高的操作消息的相应位置执行。

6、 根据权利要求 1至 5任一项所述的方法, 其特征在于, 所述终端对 应的消息队列包括第一队列和第二队列, 所述第一队列配置为存储所述终 端的操作消息, 所述第二队列配置为存储所述终端的操作消息的下发序列, 所述操作消息的地址信息;

相应的, 所述按照处理后的结果将所述消息队列中的操作消息下发给 所述终端包括:

所述物联网网关 居所述第二队列中的访问地址读取所述终端的状态 信息;

所述物联网网关根据所述第二队列中所述操作消息的地址信息, 读取 存储在所述第一队列中终端的操作消息;

所述物联网网关根据所述终端的状态信息, 按照处理后的结果将读取 的所述操作消息下发给所述终端。

7、 根据权利要求 6所述的方法, 其特征在于, 所述物联网网关根据所 述终端的状态信息, 按照处理后的结果将读取的所述操作消息下发给所述 终端包括:

当所述终端的状态信息为休眠或停机状态时, 所述物联网网关在按照 处理后的结果将读取的所述操作消息进行下发之前, 插入唤醒或启动消息; 或者,

当所述终端的状态信息为正在执行状态, 且处理后的所述消息队列中 待发送的操作消息的优先级高于所述终端正在执行的操作时, 所述物联网 网关在按照处理后的结果将读取的所述操作消息进行下发之前, 插入终止 当前操作消息。

8、 根据权利要求 1至 5任一项所述的方法, 其特征在于, 所述按照处 理后的结果将所述消息队列中的操作消息下发给所述终端后, 所述方法还 包括:

所述终端根据处理后的所述消息队列中的操作消息的顺序执行操作; 当执行操作成功时, 所述终端向所述物联网网关返回成功消息, 所述 成功消息中携带所述终端的状态信息; 或者,

当执行操作失败时, 所述终端向所述物联网网关返回失败消息, 所述 失败消息中携带所述终端的状态信息和失败原因。

9、 根据权利要求 8所述的方法, 其特征在于, 所述方法还包括: 所述物联网网关接收所述终端返回的响应消息;

当所述响应消息为成功消息或失败消息时, 所述物联网网关将所述响 应消息发送给所述响应消息对应的操作消息的一个或多个发起方, 并将所 述响应消息对应的操作消息从所述终端对应的消息队列中删除; 或者, 当所述响应消息为操作正在执行时, 所述物联网网关标注所述终端的 状态信息为正在执行状态。

10、 一种物联网消息处理装置, 其特征在于, 位于物联网网关中, 包 括:

接收模块, 配置为接收多个发送方发送的用于终端操作的一条或多条 操作消息;

处理模块, 配置为对收到的所述操作消息在消息队列中緩存且进行预 处理, 并按照处理后的结果将所述消息队列中的操作消息下发给所述终端。

11、 根据权利要求 10所述的装置, 其特征在于, 所述处理模块包括: 调整模块, 配置为根据配置的策略, 对收到的所述操作消息与所述消 息队列中的消息顺序进行调整; 和 /或,

合并模块, 配置为根据配置的策略, 对收到的所述操作消息中操作相 同的操作消息, 和 /或与所述终端对应的消息队列中操作相同的操作消息进 行合并。

12、 根据权利要求 10所述的装置, 其特征在于, 所述终端对应的消息 队列包括第一队列和第二队列, 所述第一队列配置为存储所述终端的操作 消息, 所述第二队列配置为存储所述终端的操作消息的下发序列, 所述下 作消息的地址信息;

相应的, 所述处理模块包括:

读取模块, 配置为根据所述第二队列中的访问地址读取所述终端的状 态信息, 并根据所述第二队列中所述操作消息的地址信息, 读取存储在所 述第一队列中终端的操作消息;

下发模块, 配置为根据所述终端的状态信息, 按照处理后的结果将读 取的所述消息队列中的操作消息下发给所述终端。

13、 根据权利要求 12所述的装置, 其特征在于, 所述下发模块包括: 插入模块, 配置为当所述终端的状态信息为休眠或停机状态时, 在按 照处理后的结果将读取的所述操作消息进行下发之前, 插入唤醒或启动消 息; 或者, 当所述终端的状态信息为正在执行状态, 且处理后的所述消息 队列中待发送的操作消息的优先级高于所述终端正在执行的操作时, 在按 照处理后的结果将读取的所述操作消息进行下发之前, 插入终止当前操作 消息。

14、 根据权利要求 10至 13任一项所述的装置, 其特征在于, 所述装 置还包括:

第二接收模块, 配置为接收所述终端返回的响应消息;

发送模块, 配置为当所述响应消息为操作执行的成功消息或失败消息 时, 将所述响应消息发送给所述响应消息对应的操作消息的一个或多个发 起方, 并将所述响应消息对应的操作消息从所述终端对应的消息队列中删 除; 和 /或,

标注模块, 配置为当所述响应消息为操作正在执行时, 标注所述终端 的状态信息为正在执行状态。

15、 一种物联网消息处理系统, 其特征在于, 包括如权利要求 10至 14 任一项所述的物联网消息处理装置, 还包括终端; 其中, 所述终端包括: 执行模块, 配置为根据处理后的所述消息队列中的操作消息的顺序执 行操作;

返回模块, 配置为当执行操作成功时, 向所述物联网网关返回成功消 息, 所述成功消息中携带所述终端的状态信息; 当执行操作失败时, 向所 述物联网网关返回失败消息, 所述失败消息中携带所述终端的状态信息和 失败原因。

Description:
物联网消息处理方法、 装置及系统 技术领域

本发明涉及通信领域, 具体而言, 涉及一种物联网消息处理方法、 装 置及系统。 背景技术

随着物联网的发展, 物联网垂直行业应用逐渐融合并向水平应用模 式 发展, 物联网中的一个终端设备可以与多个应用 /平台进行信息交互, 同时, 也可以与一个应用中的多个用户进行消息交互 , 实现设备共享。 物联网网 关作为物联网架构中的一个重要网元, 提供物联网应用 /平台与终端设备之 间的信息交互能力, 特别的对于物联网中一些能力受限的终端设备 , 物联 网网关将提供更多的能力实现物联网应用。 这里, 终端设备可以简称为终 端, 也可以称为设备。

目前在物联网具体实施中, 多个应用 /平台可以通过物联网网关与同一 个终端设备信息交互, 但是, 在一定时间范围内对终端设备进行频繁的相 同操作会加大终端设备的能耗等资源损耗, 或者在一定时间范围内对终端 设备进行彼此冲突的操作, 如休眠设备节能与唤醒设备读取信息、 读取设 备信息与修改设备数据等, 则会影响读取数据的准确性、 增加操作的复杂 性等问题。

针对相关技术中对终端设备进行交互操作过程 中存在的问题, 目前尚 未提出有效的解决方案。 发明内容

针对相关技术中对终端设备进行交互操作过程 中存在的问题, 本发明 提供了一种物联网消息处理方法、 装置及系统, 以至少解决上述问题。 根据本发明的一个方面, 提供了一种物联网消息处理方法, 包括: 物 联网网关接收多个发送方发送的用于终端操作 的一条或多条操作消息; 所 述物联网网关对收到的所述操作消息在消息队 列中緩存且进行预处理, 并 按照处理后的结果将所述消息队列中的操作消 息下发给所述终端。

优选地, 所述物联网网关对收到的所述操作消息在所述 消息队列中进 行预处理包括: 所述物联网网关根据配置的策略, 对收到的所述操作消息 在所述终端对应的消息队列中的消息顺序进行 调整。

优选地, 所述物联网网关对收到的所述操作消息在所述 消息队列中进 行预处理包括: 所述物联网网关根据配置的策略, 对收到的所述操作消息 中操作相同的操作消息, 和 /或与所述终端对应的消息队列中操作相同的 作消息进行合并。

优选地, 所述对收到的所述操作消息在所述终端对应的 消息队列中消 息顺序进行调整包括: 当收到的所述操作消息与所述消息队列中的操 作消 息存在冲突, 且存在冲突的操作消息的优先级不同时, 所述物联网网关根 据所述配置的策略调整所述消息队列的操作消 息下发顺序, 并将所述存在 冲突的操作消息中优先级高的操作消息先于优 先级低的操作消息执行; 和 / 或, 当收到的所述操作消息与所述消息队列中的操 作消息存在冲突, 且存 在冲突的操作消息的优先级相同时, 所述物联网网关根据所述策略重新排 列所述存在冲突的操作消息的下发顺序。

优选地, 所述物联网网关根据配置的策略, 对收到的所述操作消息中 操作相同的操作消息, 和 /或与所述终端对应的消息队列中操作相同的 作 消息进行合并包括: 当收到的所述操作消息与所述消息队列中存在 相同的 操作, 且操作相同的操作消息的优先级不同时, 所述物联网网关根据所述 配置的策略, 将所述操作相同的操作消息合并至所述操作相 同的操作消息 中优先级最高的操作消息的相应位置执行; 和 /或, 当收到的所述操作消息 与所述消息队列中存在相同的操作, 且操作相同的操作消息的优先级相同 时, 所述物联网网关将所述操作相同的操作消息合 并至所述终端的消息队 列中已存在的所述操作相同的操作消息所在位 置执行; 和 /或, 当收到的所 述操作消息中存在相同的操作时, 所述物联网网关根据所述配置的策略, 将所述操作相同的操作消息合并至所述操作消 息中优先级最高的操作消息 的相应位置执行。

优选地, 所述终端对应的消息队列包括第一队列和第二 队列, 所述第 一队列配置为存储所述终端的操作消息, 所述第二队列配置为存储所述终 及对应于所述第一队列中的所述操作消息的地 址信息; 相应的, 所述按照 处理后的结果将所述消息队列中的操作消息下 发给所述终端包括: 所述物 联网网关根据所述第二队列中的访问地址读取 所述终端的状态信息; 所述 物联网网关根据所述第二队列中所述操作消息 的地址信息, 读取存储在所 述第一队列中终端的操作消息; 所述物联网网关根据所述终端的状态信息, 按照处理后的结果将读取的所述操作消息下发 给所述终端。

优选地, 所述物联网网关根据所述终端的状态信息, 按照处理后的结 果将读取的所述操作消息下发给所述终端包括 : 当所述终端的状态信息为 休眠或停机状态时, 所述物联网网关在按照处理后的结果将读取的 所述操 作消息进行下发之前, 插入唤醒或启动消息; 或者, 当所述终端的状态信 息为正在执行状态, 且处理后的所述消息队列中待发送的操作消息 的优先 级高于所述终端正在执行的操作时, 所述物联网网关在按照处理后的结果 将读取的所述操作消息进行下发之前, 插入终止当前操作消息。

优选地, 所述按照处理后的结果将所述消息队列中的操 作消息下发给 所述终端后, 所述方法还包括: 所述终端根据处理后的所述消息队列中的 操作消息的顺序执行操作; 当执行操作成功时, 所述终端向所述物联网网 关返回成功消息, 所述成功消息中携带所述终端的状态信息; 或者, 当执 行操作失败时, 所述终端向所述物联网网关返回失败消息, 所述失败消息 中携带所述终端的状态信息和失败原因。

优选地, 所述方法还包括: 所述物联网网关接收所述终端返回的响应 消息; 当所述响应消息为成功消息或失败消息时, 所述物联网网关将所述 响应消息发送给所述响应消息对应的操作消息 的一个或多个发起方, 并将 所述响应消息对应的操作消息从所述终端对应 的消息队列中删除; 或者, 当所述响应消息为操作正在执行时, 所述物联网网关标注所述终端的状态 信息为正在执行状态。

根据本发明的另一方面, 提供了一种物联网消息处理装置, 位于物联 网网关中, 包括: 接收模块, 配置为接收多个发送方发送的用于终端操作 的一条或多条操作消息; 处理模块, 配置为对收到的所述操作消息在消息 队列中緩存且进行预处理, 并按照处理后的结果将所述消息队列中的操作 消息下发给所述终端。

优选地, 所述处理模块包括: 调整模块, 配置为根据配置的策略, 对 收到的所述操作消息与所述消息队列中的消息 顺序进行调整; 和 /或, 合并 模块, 配置为根据配置的策略, 对收到的所述操作消息中操作相同的操作 消息, 和 /或与所述终端对应的消息队列中操作相同的 作消息进行合并。

优选地, 所述终端对应的消息队列包括第一队列和第二 队列, 所述第 一队列配置为存储所述终端的操作消息, 所述第二队列配置为存储所述终 以及对应于所述第一队列中的所述操作消息的 地址信息; 相应的, 所述处 理模块包括: 读取模块, 配置为根据所述第二队列中的访问地址读取所 述 终端的状态信息, 并根据所述第二队列中所述操作消息的地址信 息, 读取 存储在所述第一队列中终端的操作消息; 下发模块, 配置为根据所述终端 的状态信息, 按照处理后的结果将读取的所述消息队列中的 操作消息下发 给所述终端。

优选地, 所述下发模块包括: 插入模块, 配置为当所述终端的状态信 息为休眠或停机状态时, 在按照处理后的结果将读取的所述操作消息进 行 下发之前, 插入唤醒或启动消息; 或者, 当所述终端的状态信息为正在执 行状态, 且处理后的所述消息队列中待发送的操作消息 的优先级高于所述 终端正在执行的操作时, 在按照处理后的结果将读取的所述操作消息进 行 下发之前, 插入终止当前操作消息。

优选地, 所述装置还包括: 第二接收模块, 配置为接收所述终端返回 的响应消息; 发送模块, 配置为当所述响应消息为操作执行的成功消息 或 失败消息时, 将所述响应消息发送给所述响应消息对应的操 作消息的一个 或多个发起方, 并将所述响应消息对应的操作消息从所述终端 对应的消息 队列中删除; 和 /或, 标注模块, 配置为当所述响应消息为操作正在执行时, 标注所述终端的状态信息为正在执行状态。

根据本发明的另一方面, 还提供了一种物联网消息处理系统, 包括上 述的物联网消息处理装置, 还包括终端; 其中, 所述终端包括: 执行模块, 配置为根据处理后的所述消息队列中的操作消 息的顺序执行操作; 返回模 块, 配置为当执行操作成功的情况下, 向所述物联网网关返回成功消息, 所述成功消息中携带所述终端的状态信息; 或者, 当执行操作失败时, 向 所述物联网网关返回失败消息, 所述失败消息中携带所述终端的状态信息 和失败原因。

通过本发明, 采用物联网网关接收多个发送方发送的用于终 端操作的 一条或多条操作消息; 物联网网关对收到的操作消息在消息队列中緩 存且 进行预处理, 并按照处理后的结果将消息队列中的操作消息 下发给终端的 方式, 解决了相关技术中对终端设备进行交互操作过 程中存在的问题, 节 省了终端在进行操作消息时所产生的能耗, 降低了物联网的资源损耗。 附图说明 此处所说明的附图用来提供对本发明的进一步 理解, 构成本申请的一 部分, 本发明的示意性实施例及其说明用于解释本发 明, 并不构成对本发 明的不当限定。 在附图中: 图 1是根据本发明实施例的物联网消息处理方法 流程图; 图 2是根据本发明实施例的消息队列示意图; 图 3是根据本发明实施例的物联网消息处理装置 结构框图; 图 4是根据本发明实施例的一种处理模块的优选 构框图; 图 5是根据本发明实施例的另一种处理模块的优 结构框图; 图 6是根据本发明实施例的下发模块的优选结构 图; 图 7是根据本发明实施例的物联网消息处理装置 优选结构框图; 图 8是根据本发明实施例的物联网消息处理系统 结构框图; 图 9是根据本发明实施例一的实现物联网网关支 多应用 /平台或多用 户操作的操作消息分发处理装置的结构图; 图 10是根据本发明实施例二的多应用 /平台或多用户操作冲突处理的 流程示意图; 图 11 是根据本发明实施例三的多应用 /平台或多用户相同操作处理的 流程示意图。 具体实施方式

下文中将参考附图并结合实施例来详细说明本 发明。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互 组合。

为了实现多应用 /平台对终端的高效操作, 本实施例提出通过物联网网 关对下发消息按某种策略进行分析处理以解决 冲突及资源损失, 以及某个 应用或用户长期独占某个物联网终端的问题。

在本实施例中提供了一种物联网消息处理方法 , 图 1 是根据本发明实 施例的物联网消息处理方法的流程图, 如图 1所示, 该方法包括以下步骤: 步骤 S102, 物联网网关接收多个发送方发送的用于终端操 作的一条或 多条操作消息;

步骤 S104, 物联网网关对接收到的操作消息在消息队列中 緩存且进行 预处理, 并按照处理后的结果将消息队列中的操作消息 下发给终端。

本实施例通过上述步骤, 物联网网关对接收到的多个发送方发送的操 作消息在消息队列中緩存且进行预处理, 并按照处理后的结果将该消息队 列中的操作消息下发给终端, 从而能够将对终端发起的操作消息调整成合 理的情况, 再由终端执行, 解决了相关技术中对终端进行交互操作过程中 存在的问题, 节省了终端在进行操作消息时所产生的能耗, 降低了物联网 的资源损耗。

作为一种优选实施方式, 物联网网关在步骤 S104中的预处理方式可以 是对上述操作消息的执行顺序进行调整, 或者也可以是合并执行多条操作 消息中的至少两条, 当然还可以是上述两种方式结合使用。 这种方式易于 实现。

物联网网关在对消息进行调整时可以是根据策 略来执行, 该策略可以 是根据消息的优先级、 消息的属性(如发送 /接收时间)、 消息的内容(如读 /写)分析消息是否需要合并以及如何合并, 消息是否需要重新调整顺序及 如何调整。 策略定义了如何调整消息执行顺序的方案, 例如, 物联网网关 具有消息发送顺序的调整功能, 但是如何调整, 则是根据具体的调整策略。

因此, 物联网网关在步骤 S104中的预处理方式可以例如: 物联网网关 根据配置的策略, 对接收到的操作消息在终端对应的消息队列中 的消息顺 序进行调整; 或者, 可以是物联网网关根据配置的策略, 对接收到的操作 消息中操作相同的操作消息和 /或与该终端对应的消息队列中操作相同的操 作消息进行合并。 上述方式解决了在一定时间范围内对终端进行 频繁的相 同操作、 或者在一定时间内对终端进行彼此冲突的操作 的问题。

作为一种优选实施方式, 物联网网关在步骤 S104中的调整方式还可以 是根据上述操作消息的优先级对该操作消息的 执行顺序进行调整。 通过这 种方式, 可以按照操作消息的优先级对终端进行操作, 防止了某个应用或 用户长期独占物联网终端的问题出现。

例如, 对于物联网网关对接收到的操作消息在终端对 应的消息队列中 消息顺序进行调整的情况, 在接收到的操作消息与消息队列中的操作消息 存在冲突, 且存在冲突的操作消息的优先级不同的情况下 , 物联网网关根 据配置的策略调整消息队列的操作消息下发顺 序, 并将存在冲突的操作消 息中优先级高的操作消息先于优先级低的操作 消息执行; 或者, 在接收到 的操作消息与消息队列中的操作消息存在冲突 , 且存在冲突的操作消息的 优先级相同的情况下, 物联网网关根据策略重新排列存在冲突的操作 消息 的下发顺序。

又例如, 对于物联网网关根据配置的策略对接收到的操 作消息中操作 相同的操作消息和 /或与该终端对应的消息队列中操作相同的操 消息进行 合并的情况, 在接收到的操作消息与消息队列中存在相同的 操作, 且操作 相同的操作消息的优先级不同的情况下, 物联网网关根据配置的策略将操 作相同的操作消息合并至操作相同的操作消息 中优先级最高的操作消息的 相应位置执行; 或者, 在接收到的操作消息与消息队列中存在相同的 操作, 且操作相同的操作消息的优先级相同的情况下 , 物联网网关将操作相同的 操作消息合并至终端的消息队列中已存在的操 作相同的操作消息所在位置 执行; 或者, 在接收到的操作消息中存在相同的操作的情况 下, 物联网网 关根据配置的策略将该操作相同的操作消息合 并至上述操作消息中优先级 最高的操作消息的相应位置执行。 通过这种方式, 可以将优先级与调整执 行顺序或者合并执行结合来调整对终端操作消 息, 提高了方案的灵活性, 且易于实现。

例如, 在读取操作消息与休眠操作消息存在冲突的情 况下, 物联网网 关可以将读取操作消息先于休眠操作消息执行 。

作为一种优选实施方式, 在物联网网关对操作消息进行预处理之后, 可以通过终端对应的消息队列将操作消息下发 给该终端。 该消息队列可以 包括第一队列和第二队列, 图 2是根据本发明实施例的消息队列示意图, 如图 2所示, 其中, 第一队列 (在下文中简称为 A队列 )可以配置为存储 应用 /平台或用户发送的对于该终端的操作消息, 每个消息节点可以包含终 端标识、 操作指令、 操作属性等信息; 第二队列 (在下文中简称为 B队列) 可以配置为存储终端的下发序列, 该下发序列可以包括终端标识、 终端状 态的访问地址(可以通过该访问地址直接读取 终端的状态信息) 以及对应 于 A队列中的操作消息的地址信息。 例如, 参考图 2, B队列可以由多个链 表组成, 一个链表表示一个终端的消息下发链表, 包括终端标识、 终端状 态和多个节点, 其中的节点用于存储对应 A队列中消息节点的地址, 节点 按照消息下发的顺序形成链表。

在这种情况下, 物联网网关可以通过 B队列中的终端状态的访问地址 读取到终端的状态信息, 并根据 B队列中操作消息的地址信息读取存储在 A 队列中终端的操作消息, 然后根据终端的状态信息按照处理后的结果将 读取到的操作消息下发给终端。

优选地, 如果终端的状态信息为休眠或停机状态, 则物联网网关可以 在按照处理后的结果将读取到的操作消息进行 下发之前, 插入唤醒或启动 消息; 或者, 如果终端的状态信息为正在执行状态, 且处理后的操作消息 的优先级高于终端正在执行的操作, 则物联网网关可以在按照处理后的结 果将读取到的操作消息进行下发之前, 插入终止终端当前操作的消息。 通 过这种方式, 可以进一步保证发送给终端的操作消息的合理 性。

优选地, 终端接收到物联网网关发来的操作消息后, 可以根据处理后 的消息队列中的操作消息的顺序执行操作。 在执行操作之后, 如果执行操 作成功, 则终端可以向物联网网关返回成功消息, 该成功消息中可以携带 终端的状态信息、 表示操作成功的标识等; 如果执行操作失败, 则终端可 以向物联网网关返回失败消息, 该失败消息中可以携带终端的状态信息、 失败的原因等。 通过这种方式, 物联网网关能够实时获取到终端的状态信 息, 以便根据终端的状态对操作消息进行调整。

优选地, 当物联网网关接收到终端返回的响应消息后, 如果响应消息 为成功消息或失败消息, 则物联网网关均可以首先将该响应消息发送给 该 响应消息对应的操作消息的一个或多个发起方 , 然后再将该操作消息从终 端对应的消息队列中删除; 如果响应消息为操作正在执行, 则物联网网关 可以标注该终端的状态信息为正在执行状态, 并将操作消息继续放在消息 队列中不删除。 这样可以使操作消息的发起方获得终端当前的 状态信息, 以提高以后对该终端发起的操作消息的合理性 。

对应于上述方法, 本实施例还提供了一种物联网消息处理装置, 该装 置用于实现上述实施例及优选实施方式, 已经进行过说明的不再赘述。 如 以下所使用的, 术语 "模块" 可以实现预定功能的软件和 /或硬件的组合。 尽管以下实施例所描述的装置较佳地以软件来 实现, 但是硬件, 或者软件 和硬件的组合的实现也是可能并被构想的。

图 3是根据本发明实施例的物联网消息处理装置 该装置位于物联网 网关中, 包括: 接收模块 32和处理模块 34, 下面对各模块进行详细说明。

接收模块 32, 配置为接收多个发送方发送的用于终端操作的 一条或多 条操作消息; 处理模块 34, 与接收模块 32相连, 配置为对接收模块 32接 收到的操作消息在消息队列中緩存且进行预处 理, 并按照处理后的结果将 消息队列中的操作消息下发给终端。

本实施例通过上述模块, 物联网网关通过处理模块 34, 对接收模块 32 接收到的多个发送方发送的操作消息在消息队 列中緩存且进行预处理, 并 按照处理后的结果将该消息队列中的操作消息 下发给终端, 从而能够将对 终端发起的操作消息调整成合理的情况, 再由终端执行, 解决了相关技术 中对终端进行交互操作过程中存在的问题, 节省了终端在进行操作消息时 所产生的能耗, 降低了物联网的资源损耗。

图 4是根据本发明实施例的一种处理模块 34的优选结构框图, 如图 4 所示, 该处理模块 34可以包括: 调整模块 342, 配置为根据配置的策略对 接收到的操作消息与消息队列中的消息顺序进 行调整; 和 /或, 合并模块 344, 配置为根据配置的策略对接收到的操作消息中 操作相同的操作消息, 和 /或与该终端对应的消息队列中操作相同的操 消息进行合并。

图 5是根据本发明实施例的另一种处理模块 34的优选结构框图, 如图 2所示, 在终端对应的消息队列包括队列 A和队列 B, 队列 A配置为存储 终端的操作消息, 队列 B配置为存储终端的操作消息的下发序列, 下发序 列包括终端状态的访问地址以及对应于第一队 列中的操作消息的地址信息 的情况下, 处理模块 34也可以包括: 读取模块 346, 配置为根据所述 B队 列中的访问地址读取该终端的状态信息, 并根据 B队列中操作消息的地址 信息读取存储在 A队列中终端的操作消息; 下发模块 348, 与读取模块 346 相连, 配置为根据读取模块 346读取的终端的状态信息按照处理后的结果 将读取模块 346读取的操作消息下发给该终端。

图 6是根据本发明实施例的下发模块 348的优选结构框图, 如图 6所 示, 该下发模块 348可以包括: 插入模块 3482, 配置为当终端的状态信息 为休眠或停机状态时, 在按照处理后的结果将读取的操作消息进行下 发之 前, 插入唤醒或启动消息; 或者, 当终端的状态信息为正在执行状态, 且 处理后的操作消息的优先级高于终端正在执行 的操作时, 在按照处理后的 结果将读取的操作消息进行下发之前, 插入终止当前操作消息。

图 7是根据本发明实施例的物联网消息处理装置 优选结构框图, 如 图 7所示, 该装置还可以包括: 第二接收模块 72, 与处理模块 34相连, 配 置为接收终端返回的响应消息; 发送模块 74, 与第二接收模块 72相连, 配 置为当第二接收模块 72接收到的响应消息为成功消息或失败消息时 将响 应消息发送给所述响应消息对应的操作消息的 一个或多个发起方, 并将所 述响应消息对应的操作消息从终端对应的消息 队列中删除; 和 /或, 标注模 块 76, 与第二接收模块 72相连, 配置为当第二接收模块 72接收到的响应 消息为操作正在执行的情况下, 标注终端的状态信息为正在执行状态。

图 8是根据本发明实施例的物联网消息处理系统 结构框图, 如图 8 所示, 该物联网消息处理系统包括如图 3至图 7中任意一种的物联网消息 处理装置 30 (在图 8中以图 3为例进行说明), 还包括终端 80, 其中, 该 终端 80包括: 执行模块 82, 配置为根据处理后的消息队列中的操作消息的 顺序执行操作; 返回模块 84, 与执行模块 82相连, 配置为当执行操作成功 时, 向物联网网关返回成功消息, 该成功消息携带终端的状态信息; 当执 行操作失败时, 向物联网网关返回失败消息, 该失败消息中携带终端的状 态信息和失败原因。

下面结合优选实施例进行说明, 以下优选实施例结合了上述实施例及 其优选实施方式。

实施例一

在本优选实施例中以物联网领域为例进行说明 , 提供了一种在物联网 网关中支持多应用或多用户 (包括同一应用的多个用户) 同时操作同一个 终端的方法及系统。

本优选实施例中提供的实现应用 /平台或多用户对终端的高效操作的系 统和方法, 通过对应用 /平台或多用户下发消息进行分析, 设置消息顺序并 下发到终端, 解决了物联网中多应用 /平台或多用户对终端的操作引起的冲 突或资源损失。

本优选实施例中的支持多应用 /平台或多用户同时操作同一个终端的物 联网网关系统包括设备管理模块和消息调度模 块, 下面对各模块进行详细 说明。

设备管理模块, 配置为管理终端的基本属性信息、 监控终端的状态、 以及管理终端的标识。

消息调度模块(实现了上述实施例中的处理模 块 34 的功能), 与设备 管理模块通信; 设置下发消息的队列, 并按照操作顺序进行各种消息的下 发。

同时, 在本优选实施例中还提供了一种支持多应用或 多用户同时操作 的同一个终端的方法, 该方法包括以下步骤:

步骤一: 消息调度模块接收应用 /平台在发送的对终端的操作消息, 操 作消息包括被操作终端的标识、 操作指令、 及操作属性等;

这里, 所述操作属性可以包括操作的优先级、 操作的发起者等、 操作 的发起时间)。

步骤二: 消息调度模块通过设备管理模块提供的终端设 备状态访问地 址获取当前该终端的状态信息, 包括终端的工作状态、 终端的工作模式等; 这里, 所述状态访问地址存储在每个终端对应的消息 队列中; 所述工 作状态可以是休眠、 繁忙等; 所述工作模式可以是: 节能模式、 正常模式 等。

步骤三: 消息调度模块根据终端的状态信息、 操作指令、 操作属性进 行消息处理并设置下发顺序, 例如: 合并相同操作、 重排序冲突操作、 高 优先级操作优先操作、 对休眠操作前增加唤醒操作等, 并按照顺序完成消 息下发;

步骤四: 终端执行操作后返回响应消息到消息调度模块 , 告知消息调 度模块操作执行完成或失败, 响应消息中含有终端当前状态信息; 消息调 度模块将终端的状态信息传送给设备管理模块 , 设备管理模块根据该终端 最新的状态信息更新并管理该终端的状态。

本优选实施例通过消息调度模块对操作终端的 消息进行分析, 在一定 时间范围内对同一个终端操作的消息中, 对操作相同的消息进行合并, 以 及对操作冲突的消息进行重排序, 从而减少了因操作相同或冲突引起的资 源损耗, 并提高对终端的操作效率。

图 9是根据本发明实施例一的实现物联网网关支 多应用 /平台或多用 户操作的操作消息分发处理装置的结构图, 如图 9所示, 该结构图中包括 了消息调度模块和设备管理模块。

消息调度模块在一定时间范围内接收应用 /平台或用户发送的终端操作 消息; 这里, 操作消息包含操作指令、 操作属性和被操作终端标识等信息, 其中, 操作属性包含操作的优先等级、 操作的发起者、 操作发起和接收的 时间等; 时间范围设置可有多种策略, 比如设置为应用 /平台要求反馈时长 最短的值, 或其它的合理值, 通过平台 /应用远程设置、 通过本地设置等方 式设置。

消息调度模块含有消息队列, 消息调度模块根据接收的终端操作消息, 判断是否与消息队列中该终端操作或者同时接 收的多个该终端操作相同或 冲突, 如果存在相同操作则根据操作属性等信息和策 略将这些操作消息进 行合并; 如果有冲突操作则根据操作指令、 操作属性等信息和策略重新排 列消息队列的操作顺序;

消息队列包含 A队列和 B队列 (如图 2所示)。 A队列存储了应用 /平 台或用户发送的操作消息, 每个消息节点包含终端标识、 操作指令、 操作 属性等信息; B队列由多个链表 Bx ( x=l,2, …)组成, 每个链表表示一个 终端操作消息的下发序列,例如:消息调度模 块按节点 1、节点 2、节点 3、 ... 的顺序下发操作消息, 链表中包含终端标识、 终端状态的地址; 其中, 设 备管理模块存储终端状态的访问地址, 消息调度模块可直接通过地址读取 终端的状态信息。

消息调度模块按消息 B队列中的顺序下发送终端操作消息, 终端执行 操作消息后返回完成或失败消息, 返回消息中包含成功标识、 终端状态信 息或失败原因等信息; 消息调度模块将返回消息中的终端状态信息传 送给 设备管理模块; 同时, 消息调度模块将该完成或失败消息返回给应用 /平台 后, 消息调度模块将消息队列中将该操作消息删除 , 如果返回的完成消息 中, 终端为正在执行该操作, 则消息队列仍保留该消息节点, 消息状态也 仍标注为正在执行状态。

消息调度模块与设备管理模块交互信息, 消息调度模块向设备管理模 块查询终端的状态信息; 设备管理模块根据接收消息调度模块发送的终 端 的状态信息, 更新并管理相应终端的状态。

实施例二

本优选实施例主要以多应用 /平台或多用户操作冲突处理流程为例进行 说明。

在本优选实施例中, 物联网网关在一定时间范围内接收到应用 /平台或 用户发送的操作消息, 操作消息需要通过物联网网关发送到指定的终 端, 由于被操作的终端为同一个终端, 操作顺序不同将会造成操作的冲突, 例 如, 同时要求执行休眠终端的操作与读取终端数据 操作, 如果先执行关闭 操作, 则在执行读取操作的时候则需要重新唤醒终端 。 图 10是根据本发明 实施例二的多应用 /平台或多用户操作冲突处理的流程示意图, 如图 10 所 示, 物联网网关处理一定时间范围内操作消息冲突 的步骤如下:

步骤 S1002 ,根据接收的终端操作消息,分析是否有冲突 并进行处理。 消息调度模块在一定时间范围内接收多个应用 /平台或者多个用户发送的终 端的操作消息, 操作消息包含终端标识、 操作指令及操作属性等; 消息调 度模块检查当前消息队列中是否有该终端的操 作消息, 如果有该终端的操 作消息, 并且操作的优先等级不高于已有的该终端操作 消息, 则将当前接 收到的操作消息与队列中该终端的操作消息进 行分析, 判断当前操作消息 加入到消息队列中是否会引起操作的冲突, 并根据策略重新排列该终端的 操作消息序列, 例如: 休眠操作放在读取操作后面。

如果含有该终端相同的操作消息, 但操作的优先等级高于消息队列中 已有的操作消息或其中的一部分, 则根据当前接收到的操作消息的操作属 性将消息节点插入到消息队列中的合适位置。

如果同时接收到多个被操作终端相同、 操作指令不同的消息, 且消息 队列中没有被操作终端的它他操作消息, 则根据接收的多个操作消息的操 作指令、 操作属性分析冲突并根据策略排列操作消息的 顺序, 消息队列中 按已排列好的顺序放入该终端的多个消息节点 。

步骤 S1004, 按消息队列向终端发送操作消息。 消息调度模块按照 B 队列中的顺序向终端发送操作消息; 消息队列通过 B队列中对应的终端状 态访问地址, 获取该终端的当前状态, 判断是否可以发送操作消息, 并根 据该终端的状态及操作指令安排操作, 例如, 当前终端处于休眠或关机等 状态, 需在发送该操作消息前, 先发送唤醒或启动等操作消息, 终端被唤 醒返回成功消息并更新终端的状态后, 再发送该操作消息; 或者当前该终 端正在执行某一操作, 但是该操作消息的等级较高, 可以发送终止当前操 作消息, 终端返回成功消息后, 再发送该操作消息到终端; 发送操作消息 后, 操作消息状态由待下发消息标注为正在执行消 息。

步骤 S1006, 返回操作完成或失败消息。 终端接收操作消息, 根据操作 消息的操作指令执行操作。 如果操作成功, 则向消息调度模块返回成功消 息, 成功消息包括终端的状态信息、 表示操作成功的标识等; 如果操作失 败, 则向消息调度模块返回失败消息, 失败消息包括失败的原因、 终端的 状态信息等。

步骤 S1008 , 更新消息队列。 消息调度模块接收终端返回的消息并更新 消息队列, 如果返回的消息为终端操作已执行完成或失败 的消息, 将返回 的消息发送给发送该操作消息的一个或多个应 用 /平台, 并将相应的操作消 息及其节点从消息队列中删除; 如果返回的消息为终端仍在执行操作, 则 将操作消息继续放在消息队列, 标注仍为正在执行状态。

步骤 S1010,发送终端的状态信息。 消息调度模块向设备管理模块发送 该终端返回的当前状态信息, 设备管理模块根据接收的信息更新终端的状 态。

实施例三

本优选实施例主要以多应用 /平台或多用户操作消息相同处理流程为例 进行说明。

在本优选实施例中, 物联网网关在一定时间范围内接收到多个应用 /平 台或多个用户发送的操作终端的操作消息, 操作消息通过物联网网关发送 到同一个终端。 由于操作消息及被操作的终端相同, 会对终端进行多次相 同操作, 造成资源的浪费, 例如, 同时要求执行读取终端数据的操作, 多 个相同的操作消息将多次发送到终端, 则会多次读取相同的数据。 图 11是 根据本发明实施例三的多应用 /平台或多用户相同操作处理的流程示意图, 如图 11所示, 物联网网关针对一定时间范围内收到的操作相 同的操作消息 的处理方法步骤如下:

步骤 S1102, 根据接收的终端操作消息, 分析是否有相同操作, 并进行 处理。 消息调度模块在一定时间范围内接收应用 /平台或用户发送终端的操 作消息, 操作消息包含终端标识、 操作指令及操作属性等; 消息调度模块 查询当前消息队列中该终端是否有相同的操作 消息; 如果含有相同操作指 令的操作消息, 并且操作的优先等级不高于已有的相同操作消 息, 则将当 前接收的操作消息合并到消息队列中已存在的 相同操作消息中。

如果含有相同操作指令的操作消息, 但操作的优先等级高于已有的相 同操作消息, 则合并操作指令相同的操作消息, 再根据操作属性与消息队 列中被合并操作消息前面的其它操作消息的属 性比较分析, 将合并后的操 作消息放入消息 B队列中的合适位置 (新位置可以优先于被合并操作消息 的队列位置)。

如果目前没有相同操作消息, 同时接收到多个相同的操作消息, 则直 接将这多个操作消息合并为一个, 合并后操作消息的优先等级为这多个操 作消息中的最大值。

步骤 S1104,按消息队列向终端发送操作消息。 消息调度模块按照消息 B队列中的顺序向终端发送操作消息; 发送操作消息前需根据 B队列中该 终端的状态访问地址, 获取该终端的当前状态, 判断是否可以发送操作消 息, 并根据该终端的状态及操作指令安排操作, 例如, 当前终端处于休眠 或关机等状态, 需在该发送操作消息前, 先发送唤醒或启动等操作消息, 终端设备被唤醒返回成功消息并更新终端设备 的状态后, 再发送该操作消 息; 或者当前该终端正在执行某一操作, 但是该操作消息的等级较高, 可 以发送终止当前操作消息, 终端返回成功消息后, 再发送该操作消息到终 端; 发送操作消息后, 操作消息由待下发消息标注为正在执行消息。

步骤 S1106, 返回操作完成或失败消息。 终端接收操作消息, 根据操作 消息的操作指令执行操作。 如果操作成功, 则向消息调度模块返回成功消 息, 成功消息包括终端的状态信息、 表示操作成功的标识等; 如果操作失 败, 则向消息调度模块返回失败消息, 失败消息包括失败的原因、 终端的 状态信息等。

步骤 S1108 , 更新消息队列。 消息调度模块接收终端返回的消息并更新 消息队列, 如果返回的消息为终端操作已执行完成或失败 的消息, 将返回 的消息发送给发送该操作消息的一个或多个应 用 /平台, 并将相应的操作消 息及其节点从消息队列中删除; 如果返回的消息为终端仍在执行操作, 则 将操作消息继续放在消息队列, 标注为正在执行状态。

步骤 S1110,发送终端的状态信息。 消息调度模块向设备管理模块发送 该终端设备返回的当前状态信息, 设备管理模块根据接收的信息更新终端 设备的状态。

在以上的描述中, 所述终端是指终端设备。

在另外一个实施例中, 还提供了一种软件, 该软件用于执行上述实施 例及优选实施例中描述的技术方案。

在另外一个实施例中, 还提供了一种存储介质, 该存储介质中存储有 上述软件, 该存储介质包括但不限于光盘、 软盘、 硬盘、 可擦写存储器等。

显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤 可以用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者 分布在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执 行的程序代码来实现, 从而, 可以将它们存储在存储装置中由计算装置来 执行, 并且在某些情况下, 可以以不同于此处的顺序执行所示出或描述的 步骤, 或者将它们分别制作成各个集成电路模块, 或者将它们中的多个模 块或步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任何特 定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于 本领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精 神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明 的保护范围之内。