本发明涉及一种基于Kaa服务的跨平台日志采集方法。
背景技术:
物联网是在互联网基础上的延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息,随着物联网技术快速发展,如何实现跨平台的信息通道问题成了目前最需要攻克的难题。
Kaa是高度灵活的开源IoT(Internet ofthings)平台,它提供一个标准方法来集成并对连接的产品进行互操作。此外,Kaa强大的后端功能极大的加快产品的开发,允许供应商专注于他们产品独特的特性,支持多个平台,且提供各种编译语言SDK,但Kaa平台在日志存储方面存在限制,只能提供存储方式为REST、MongoDB、File、Couchbase、Oracle NoSql、Flume、Cassandra,该平台无法实现将日志存储rabbitmq中,不便于对数据进行处理分析操作。有鉴于此,本发明提供一种基于Kaa服务的跨平台日志采集方法,有效解决跨平台间日志传输问题。
技术实现要素:
本发明要解决的技术问题,在于提供一种基于Kaa服务的跨平台日志采集方法,实现对不同设备的数据进行统一处理,提高数据处理效率。
本发明是这样实现的:一种基于Kaa服务的跨平台日志采集方法,包括如下步骤:
步骤1、将开源Kaa的rpm文件安装到所述服务器上,配置Kaa平台对外访问的IP地址,客户端设备通过访问所述IP地址与所述服务器创建连接;
步骤2、在Kaa平台上创建应用程序,配置日志存储方式以及日志的json格式,所述日志格式用于确定数据存到数据库中的字段格式;
步骤3、根据客户端开发语言生成对应的SDK包;
步骤4、将所述SDK包嵌入到客户端设备的环境中;
步骤5、所述客户端利用其开发语言对SDK中的上传日志方法进行封装,按预先定义的格式上传日志给服务器。
进一步的,所述步骤2中配置日志存储方式包括配置数据库ip地址、端口、库、用户名和密码。
进一步的,所述服务器与客户端之间采用MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议通信。
本发明具有如下优点:通过统一管理不同设备的SDK包,在SDK中预先定义数据上传方式,之后直接在客户端对服务端给定的SDK中的数据上传方式进行封装,使得所有客户端日志均以服务端需要的形式存储,便于后期的数据分析,大大减轻服务器的工作量,实现跨平台高效数据处理管控。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
如图1,本发明一种基于Kaa服务的跨平台日志采集方法,包括如下步骤:
步骤1、将开源Kaa的rpm文件安装到所述服务器上,所述服务器可以为Linux服务器,具体的,通过进入Kaa服务端的配置路径,配置Kaa-node.properties文件中的外网访问的IP地址实现的,并在该配置完成后通过命令service Kaa-node restart重启Kaa服务器,配置Kaa平台对外访问的IP地址,客户端设备通过访问所述IP地址与所述服务器创建连接;
步骤2、访问Kaa的开发者平台,创建应用程序,配置日志存储方式以及日志的json格式,所述日志格式用于确定数据存到数据库中的字段格式,可自定义;所述配置日志存储方式包括配置数据库ip地址、端口、库、用户名和密码,以mongodb数据库为例,配置mongodb的地址、端口、库、用户名和密码;
步骤3、根据客户端开发语言(例如Java、C、C++、Android、Object-C)生成对应的SDK包;
步骤4、将所述SDK包嵌入到客户端设备的环境中;
步骤5、所述客户端利用其开发语言对SDK中的上传日志方法进行封装,按预先定义的格式上传日志给服务器。
所述服务器与客户端之间采用MQTT协议通信。
本发明通过统一管理不同设备的SDK包,在SDK中预先定义数据上传方式,之后直接在客户端对服务端给定的SDK中的数据上传方式进行封装,使得所有客户端日志均以服务端需要的形式存储,便于后期的数据分析,大大减轻服务器的工作量,实现跨平台高效数据处理管控,将对方法的封装派给各客户端进行,也减轻服务端的压力。
上述服务器与客户端之间采用MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议通信。
本发明的服务器也可以为Windows服务器等常用的服务器,本发明的客户端可以为智能水表、电表、手机等。
本发明利用Kaa平台提供一个标准的方法来集成和对连接的产品进行互操作,通过物联网协议MQTT实现不同设备与服务器的连接与数据传输,从而实现跨平台交互;根据不同客户端的开发语言生成不同的SDK包导入到客户端设备中,客户端通过SDK包中上传日志方法进行封装,并上传日志给服务器,确保所有客户端上传的日志均是服务端设定的格式,便于服务器根据日志信息分析客户端(设备)运行情况,大大减轻了服务器压力,实现高效统一管控。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。