一种物联网设备数据转发方法及系统转让专利

申请号 : CN202010299089.1

文献号 : CN113542122B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘源姜仁杰陈顾文秦攀郭沛吴今

申请人 : 中移物联网有限公司中国移动通信集团有限公司

摘要 :

本发明的实施例提供一种物联网设备数据转发方法及系统。物联网设备数据转发方法包括:获取物联网设备上传的设备数据;对所述设备数据按照客户端的配置信息进行处理;将所述设备数据转发至所述客户端配置的目的地。本发明的方案可以实现消息路由采用动态配置方式,灵活性高。

权利要求 :

1.一种物联网设备数据转发方法,其特征在于,包括:获取物联网设备上传的设备数据;

对所述设备数据按照客户端的配置信息进行处理;

将所述设备数据转发至所述客户端配置的目的地;

其中,所述客户端的配置信息包括以下至少一项:设备数据转发的目的地址的配置信息;

设备数据的转发格式的配置信息;

设备数据的加密方式的配置信息;

设备数据的过滤条件的配置信息;

其中,对所述设备数据按照客户端的配置信息进行处理,包括:通过远程字典服务redis中间件,获得客户端的配置信息;

根据所述客户端的配置信息,对所述设备数据进行处理;

所述方法还包括:在消息路由客户端模块在对客户端合法性校验后,所述redis中间件通过所述消息路由客户端模块获得客户端的配置信息。

2.根据权利要求1所述的物联网设备数据转发方法,其特征在于,获取物联网设备上传的设备数据,包括:获取物联网设备上传的事件对象的设备数据。

3.根据权利要求1所述的物联网设备数据转发方法,其特征在于,根据所述客户端的配置信息,对所述设备数据进行处理,包括以下至少一项:根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;

根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;

根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。

4.根据权利要求1所述的物联网设备数据转发方法,其特征在于,将所述设备数据转发至所述客户端配置的目的地,包括:按照所述客户端配置的目的地址,将所述设备数据转发至目的地。

5.根据权利要求1所述的物联网设备数据转发方法,其特征在于,还包括:通过所述消息路由客户端模块,获得客户端的操作日志信息。

6.一种物联网设备数据转发系统,其特征在于,包括:消息路由客户端模块,用于获取客户端的配置信息;

消息路由数据转发模块,用于获取物联网设备上传的设备数据,对所述设备数据按照客户端的配置信息进行处理,将所述设备数据转发至所述客户端配置的目的地;

其中,所述客户端的配置信息包括以下至少一项:设备数据转发的目的地址的配置信息;

设备数据的转发格式的配置信息;

设备数据的加密方式的配置信息;

设备数据的过滤条件的配置信息;

其中,系统,还包括:远程字典服务redis中间件;所述消息路由数据转发模块通过所述redis中间件获得所述照客户端的配置信息;

其中,在消息路由客户端模块在对客户端合法性校验后,所述redis中间件通过所述消息路由客户端模块获得客户端的配置信息。

7.根据权利要求6所述的物联网设备数据转发系统,其特征在于,还包括:分布式消息系统kafka中间件;所述消息路由数据转发模块通过所述kafka中间件获取物联网设备上传的设备数据。

8.根据权利要求6所述的物联网设备数据转发系统,其特征在于,所述消息路由数据转发模块根据所述客户端的配置信息,对所述设备数据进行处理,包括以下至少一项:根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;

根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;

根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。

9.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机运行时,使得计算机执行如权利要求1至5任一项所述的方法。

说明书 :

一种物联网设备数据转发方法及系统

技术领域

[0001] 本发明涉及物联网技术领域,特别是指一种物联网设备数据转发方法及系统。

背景技术

[0002] 常见物联网专利数据转发系统,对于终端数据转发一般分通过集成数据适配模块对消息进行标准化处理。其后消息路由子模块按照系统固定分类模式将数据下发送至数据转发模块,再经由数据转发模块将数据发送至各个子系统模块进一步处理,例如数据存储模块进行数据持久化,日志模块打印日志。
[0003] 现有技术主要存在有以下缺陷:
[0004] 系统模块过重耦合,不利于扩展。针对每一种数据处理模式,业务模块必须预先处理标准数据格式为业务数据,从而进一步处理业务逻辑。当数据处理模式发生变化时,业务模块必须变更,针对新的业务需求也必须增加新的数据处理模式。
[0005] 待转发数据不能转发至中间件,导致现有成熟系统无法收集到该数据进行利用。例如现有技术中由于不能将数据转发到这些中间件中,导致一些开源成熟的日志监控或者数据分析报表等系统,无法收集到这些数据,而不能把这些数据利用起来进行分析。
[0006] 多系统互通复用能力不足。通常物联网云端系统与边缘端系统都有数据转发功能的需求,采用现有技术,只能每个系统分别实现数据转发功能。

发明内容

[0007] 本发明要解决的技术问题是提供一种物联网设备数据转发方法及系统。实现消息路由采用动态配置方式,灵活性高。
[0008] 为解决上述技术问题,本发明的技术方案如下:
[0009] 一种物联网设备数据转发方法,包括:
[0010] 获取物联网设备上传的设备数据;
[0011] 对所述设备数据按照客户端的配置信息进行处理;
[0012] 将所述设备数据转发至所述客户端配置的目的地。
[0013] 可选的,获取物联网设备上传的设备数据,包括:
[0014] 获取物联网设备上传的事件对象的设备数据。
[0015] 可选的,对所述设备数据按照客户端的配置信息进行处理,包括:
[0016] 通过远程字典服务redis中间件,获得客户端的配置信息;
[0017] 根据所述客户端的配置信息,对所述设备数据进行处理。
[0018] 可选的,所述客户端的配置信息包括以下至少一项:
[0019] 设备数据转发的目的地址的配置信息;
[0020] 设备数据的转发格式的配置信息;
[0021] 设备数据的加密方式的配置信息;
[0022] 设备数据的过滤条件的配置信息。
[0023] 可选的,根据所述客户端的配置信息,对所述设备数据进行处理,包括以下至少一项:
[0024] 根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;
[0025] 根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;
[0026] 根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。
[0027] 可选的,将所述设备数据转发至所述客户端配置的目的地,包括:
[0028] 按照所述客户端配置的目的地址,将所述设备数据转发至目的地。
[0029] 可选的,在消息路由客户端模块在对客户端合法性校验后,所述redis中间件通过所述消息路由客户端模块获得客户端的配置信息。
[0030] 可选的,物联网设备数据转发方法,还包括:通过所述消息路由客户端模块,获得客户端的操作日志信息。
[0031] 本发明的实施例还提供一种物联网设备数据转发系统,包括:
[0032] 消息路由客户端模块,用于获取客户端的配置信息;
[0033] 消息路由数据转发模块,用于获取物联网设备上传的设备数据,对所述设备数据按照客户端的配置信息进行处理,将所述设备数据转发至所述客户端配置的目的地。
[0034] 可选的,物联网设备数据转发系统还包括:远程字典服务redis中间件;所述消息路由数据转发模块通过所述redis中间件获得所述照客户端的配置信息。
[0035] 可选的,物联网设备数据转发系统还包括:分布式消息系统kafka中间件;所述消息路由数据转发模块通过所述kafka中间件获取物联网设备上传的设备数据。
[0036] 可选的,所述客户端的配置信息包括以下至少一项:
[0037] 设备数据转发的目的地址的配置信息;
[0038] 设备数据的转发格式的配置信息;
[0039] 设备数据的加密方式的配置信息;
[0040] 设备数据的过滤条件的配置信息。
[0041] 可选的,所述消息路由数据转发模块根据所述客户端的配置信息,对所述设备数据进行处理,包括以下至少一项:
[0042] 根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;
[0043] 根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;
[0044] 根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。
[0045] 本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机运行时,使得计算机执行如上所述的方法。
[0046] 本发明的上述方案至少包括以下有益效果:
[0047] 本发明的上述方案,物联网设备数据转发系统获取物联网设备上传的设备数据;对所述设备数据按照客户端的配置信息进行处理;将所述设备数据转发至所述客户端配置的目的地。该物联网设备数据转发系统按照客户端的配置信息进行数据转发,实现消息路由采用动态配置方式,灵活性高;支持数据存储自动化,能够单独部署核心模块应用,在多系统间进行功能复用。

附图说明

[0048] 图1是本发明的物联网设备数据转发方法的流程示意图;
[0049] 图2是本发明的物联网设备数据转发系统的架构示意图;
[0050] 图3是本发明的物联网设备数据转发系统中的data‑router模块的工作流程示意图;
[0051] 图4是本发明的物联网设备数据转发系统中的export‑distro模块的工作流程示意图。

具体实施方式

[0052] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0053] 如图1所示,本发明的实施例提出一种物联网设备数据转发方法,包括:
[0054] 步骤11,获取物联网设备上传的设备数据;
[0055] 步骤12,对所述设备数据按照客户端的配置信息进行处理;
[0056] 步骤13,将所述设备数据转发至所述客户端配置的目的地。
[0057] 该实施例所述的方法通过获取物联网设备上传的设备数据;对所述设备数据按照客户端的配置信息进行处理;将所述设备数据转发至所述客户端配置的目的地。按照客户端的配置信息进行数据转发,实现消息路由采用动态配置方式,灵活性高。
[0058] 本发明的一可选的实施例中,步骤11可以包括:
[0059] 获取物联网设备上传的事件对象(Event对象)的设备数据。Event对象代表事件的状态,这里可以是物联网设备的状态数据等。
[0060] 本发明的一可选的实施例中,步骤12可以包括:
[0061] 步骤121,通过redis中间件(远程字典服务中间件),获得客户端的配置信息;
[0062] 步骤122,根据所述客户端的配置信息,对所述设备数据进行处理。
[0063] 这里,所述客户端的配置信息包括以下至少一项:
[0064] 设备数据转发的目的地址的配置信息;
[0065] 设备数据的转发格式的配置信息;
[0066] 设备数据的加密方式的配置信息;
[0067] 设备数据的过滤条件的配置信息。
[0068] 本发明的一可选的实施例中,步骤122包括以下至少一项:
[0069] 根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;
[0070] 根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;
[0071] 根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。
[0072] 本发明的一可选的实施例中,步骤13可以包括:按照所述客户端配置的目的地址,将所述设备数据转发至目的地。
[0073] 本发明的一可选的实施例中,在消息路由客户端模块在对客户端合法性校验后,所述redis中间件通过所述消息路由客户端模块获得客户端的配置信息。
[0074] 本发明的一可选的实施例中,物联网设备数据转发方法,还可以包括:通过所述消息路由客户端模块,获得客户端的操作日志信息。
[0075] 下面结合具体的系统架构说明上述方法的具体实现过程:
[0076] 如图2所示,本发明的实施例还提供一种物联网设备数据转发系统,包括:
[0077] 消息路由客户端模块(data‑router),用于获取客户端的配置信息;
[0078] 消息路由数据转发模块(export‑distro),用于获取物联网设备上传的设备数据,对所述设备数据按照客户端的配置信息进行处理,将所述设备数据转发至所述客户端配置的目的地。
[0079] 本发明的一可选的实施例中,物联网设备数据转发系统还包括:远程字典服务redis中间件;所述消息路由数据转发模块通过所述redis中间件获得所述照客户端的配置信息。
[0080] 本发明的一可选的实施例中,物联网设备数据转发系统还包括:分布式消息系统kafka中间件;所述消息路由数据转发模块通过所述kafka中间件获取物联网设备上传的设备数据。
[0081] 本发明的一可选的实施例中,所述客户端的配置信息包括以下至少一项:设备数据转发的目的地址的配置信息;设备数据的转发格式的配置信息;设备数据的加密方式的配置信息;设备数据的过滤条件的配置信息。
[0082] 本发明的一可选的实施例中,所述消息路由数据转发模块根据所述客户端的配置信息,对所述设备数据进行处理,包括以下至少一项:
[0083] 根据所述客户端配置的对设备数据进行转发的转发格式,对所述设备数据进行序列化和/或压缩处理;
[0084] 根据所述客户端配置的对设备数据进行加密的加密方式,对所述设备数据进行加密处理;
[0085] 根据所述客户端配置的对设备数据进行过滤的过滤条件,对所述设备数据进行过滤处理。
[0086] 具体来说,本发明的上述物联网的数据转发系统中,如图2、图3和图4所示,消息路由客户端模块(data‑router)与redis中间件通信连接、消息路由数据转发模块(export‑distro)与redis中间件以及kafka中间件通信连接、用于保存数据的数据库mysql,各个模块间通过redis进行消息的订阅与发布,实现模块间的解耦,该数据转发系统通过与现有通用组件的集成,可实现数据存储,监控等通用功能自动给化;
[0087] 所述消息路由客户端模块具有如下功能:
[0088] ①用于新建转发客户端、对客户端信息进行配置,包括对数据的流向的目的地进行配置、对数据的转发格式进行配置、对数据的加密方式进行配置,以及对设备的过滤条件进行配置;通过对目的地的统一配置,可实现多系统间的互通复用,而不用因为目的地的不同而单独新建一个不同的转发系统来进行数据转发;
[0089] ②用于把配置好的客户端信息保存至数据库mysql;把配置后的客户端信息发布至redis中间件;同时其对外提供REST接口进行操作,具有方便第三方系统业务接入的优点;
[0090] ③用于在客户操作api的同时,对其操作的客户端进行一些合法的校验,维护数据的稳定性;
[0091] ④还用于上传用户对客户端操作的相关日志至kafka中间件,以便供后续进行操作问题回溯。
[0092] 所述Kafka中间件是设备数据的通信中间件,解耦模块与设备之间的业务逻辑,用于接收设备的数据event对象,并可以接收路由客户端模块(data‑router)配置的转发信息,以及为消息路由数据转发模块(export‑distro)提供转发信息,实现异步的数据传输功能;
[0093] 所述Redis中间件作为模块之间客户端信息的通信中间件,解耦模块与模块之间的耦合度,并可以接收消息路由客户端模块(data‑router)用户所配置的客户端相关信息,以及为export‑distro(消息路由数据转发)模块提供客户端相关信息,实现各个模块相对独立互不依赖;使数据转发系统中每个模块可分别进行多实例部署,各实例间配置共享,且数据互通。
[0094] 所述消息路由数据转发模块(export‑distro)用于将设备数据event对象按照用户配置的客户端进行相应的处理(压缩、加密、格式化、过滤),最后将数据转发至客户端配置的目的地处(mysql、kafka、mqtt、rest);
[0095] 所述消息路由数据转发模块(export‑distro)还包括运用协程池、channel通道;所述channel通道用于为从kafka中间件获取的设备数据event对象在模块内部之间的数据传输提供通道;所述运用协程池用于对异步转发时所生成的协程进行管理,保证了程序的高并发性的同时也增强了程序的健壮性。
[0096] 所述消息路由数据转发模块(export‑distro)采用动态配置方式,用于对数据源流向,数据处理格式,压缩,加密等处理实现自定义配置,数据预先在数据转发模块完成处理,与其他模块解耦,业务模块只需要关注业务逻辑,减少了开发人员对系统的学习成本。
[0097] 具体的数据转发流程包括:物联网设备将设备数据上传给中间件,数据转发系统将会通过中间件获取这些设备数据并转发给相应目的地,该目的地可以是与所述转发系统集成的现有通用组件,现有通用组件利用这些数据可以实现数据存储、监控、数据分析等通用功能的复用。例如:如果该目的地是某数据报表系统,数据报表系统将会利用这些设备数据进行分析,产生出报表。
[0098] 具体的,该方法包括以下步骤:
[0099] S1:物联网设备推送event对象的设备数据至kafka中间件;
[0100] S2:export‑distro模块对kafka中间件进行订阅,当设备数据上传至kafka中间件后,export‑distro模块将获得该设备数据event对象;
[0101] S3:同时用户在data‑router模块所提供的web界面配置客户端相关信息,由于采用动态配置的方式,用户可随时启停、编辑、修改所配置的客户端信息,具有配置灵活的优点;
[0102] 所述配置客户端信息包括:
[0103] ①数据的流向的目的地进行配置,目的地可以是与系统集成的通过组件,数据流向的目的地包括MYSQL、KAFKA、MQTT、REST..;通过对目的地的统一配置,可实现多系统间的互通复用,而不用因为目的地的不同而单独新建一个不同的转发系统来进行数据转发;
[0104] ②对数据的转发格式进行配置,数据的转发格式包括JSON、CSV、XML;
[0105] ③对数据的加密方式进行配置,数据的加密方式包括AES;
[0106] ④以及对设备的过滤条件进行配置;
[0107] S4:data‑router模块把配置后的客户端信息保存至数据库mysql,再将配置后的客户端信息发布给redis中间件;
[0108] S5:export‑distro模块从redis中间件获取订阅客户端相关信息,并将设备数据event对象按照配置的客户端进行相应的处理,处理包括:序列化(JSON、XML、CSV)、压缩(GZIP、ZIP)、加密(AES)、格式化、过滤等,数据处理预先在数据转发模块完成,减轻对接业务模块工作负荷。
[0109] S6:export‑distro模块将数据转发至客户端配置的目的地处(MYSQL、KAFKA、MQTT、REST);
[0110] 进一步的,所述data‑router模块在客户操作api的同时,还可以对其操作的客户端进行一些合法的校验,维护数据的稳定性;
[0111] 进一步的,所述data‑router模块还可以上传用户对客户端操作的相关日志给kafka,以便供后续进行操作回溯。
[0112] 本发明的上述实施例至少具有如下优点:
[0113] 1:消息路由采用动态配置方式,灵活性高,对数据流向源,数据处理格式,压缩,加密,序列化等处理实现自定义配置;数据处理预先在数据转发模块完成,减轻了对接业务模块的工作负荷。
[0114] 2:统一将数据转发至不同目的地,而不用因为目的地的不同而单独新建一个不同的转发系统来进行数据转发。
[0115] 3:通过与现有通用组件集成,实现数据存储、监控、数据分析等通用功能复用。
[0116] 4:对外提供修改客户端配置的REST接口,有利于第三方系统业务对接,灵活转发与处理数据。
[0117] 5:能实现多实例部署,各实例间配置共享,且数据互通。
[0118] 本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机运行时,使得计算机执行如上实施例所述的方法。上述实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
[0119] 需要说明的是,该装置是与上述方法实施例对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0120] 本发明的实施例还提供一种云端服务器,包括:如上所述的物联网设备的信息处理装置。上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0121] 本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机运行时,使得计算机执行如上所述的方法。上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0122] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。