物联网系统大量设备的数据存储及推送的系统实现方法技术方案

技术编号:19703458 阅读:28 留言:0更新日期:2018-12-08 14:32
本发明专利技术公开了物联网系统大量设备的数据存储及推送的系统实现方法,包括如下步骤:步骤一:分别将各个设备划分其所属的组;步骤二:依据从设备上采集的数据的来源,查询device‑topic表,得到数据所属的组topic,然后对应插入到push‑data表中;步骤三:建立topic与url的映射关系,并将其插入到okhttp‑push表中;步骤四:用okhttp‑push表中每一行的topic和mid的值去查询出push‑data表中,该topic下面还没有被对应url地址的用户成功接收的数据,然后用okhttp顺序发送;步骤五:通过okhttp的响应数据,判断用户是否成功收到推送消息,若成功收到,更新okhttp‑push表中,此topic和url对应的mid。本发明专利技术实现了对从各类设备,例如网关设备、终端节点等任意设备采集的大量数据,存储到数据库,并推送给各个用户。

【技术实现步骤摘要】
物联网系统大量设备的数据存储及推送的系统实现方法
本专利技术涉及数据存储及推送
更具体地说,本专利技术涉及物联网系统大量设备的数据存储及推送的系统实现方法。
技术介绍
物联网系统中,有大量各类设备,从各类设备汇聚的大量数据,需要存储到数据库中,还要分类推送给各个用户。传统的实现方法是,从设备汇聚的每条数据,与这条数据要推送的url地址绑定,然后插入到数据库中。在同一条数据要推送给几个不同的url地址时,需要往推送数据表push-data中插入几条消息内容相同的记录,即数据库的总记录条数等于消息数量乘以url地址数量,同时,在用另一个进程将存储在push-data表中的数据推送给各个url地址时,需要更新此表中该条数据是否成功发送的字段。即对push-data表存在大量的并发插入及修改操作,随着设备数据的增多,数据库就会越发成为系统性能的瓶颈。
技术实现思路
本专利技术的一个目的是提供物联网系统大量设备的数据存储及推送的系统实现方法,对从各类设备(包括但不限于),例如网关设备、终端节点等任意设备采集的大量数据,存储到数据库,并推送给各个用户。为了实现根据本专利技术的这些目的和其它优点,提供了物联网系统大量设备的数据存储及推送的系统实现方法,包括如下步骤:步骤一:构建数据库表结构,包括device-topic表、push-data表、okhttp-push表、公司url地址表;步骤二:依据设备数据将要发送到的不同接收方,分别将各个设备划分其所属的组topic,将设备及其所属的组的对应关系插入到device-topic关系表;步骤三:从设备采集的数据,根据此条数据来源的设备dev-eui,通过device-topic表,确定此条数据的topic参数,然后对应插入到push-data表中;步骤四:建立topic与url的映射关系,并将其插入到okhttp-push表中,用来确定同一topic下面的数据发送到的url地址;步骤五:对于okhttp-push表中的每一条记录,分别各起一个线程:用okhttp-push表中topic和mid的值去查询出push-data表中,该topic下面还没有被对应url地址的用户成功接收的设备数据,并将这些设备数据按照主键id的大小,用okhttp顺序发送;步骤六:通过okhttp的响应数据,判断用户是否成功收到推送消息,若收到,则更新okhttp-push表中此topic和url对应的游标mid;若未收到,则不更新okhttp-push表,线程重复读取未发送的设备数据进行重发。优选的是,所述device-topic表包括参数:设备表非业务主键id、设备唯一编号地址dev-eui、设备所属的组topic。优选的是,所述push-data推送数据表包括参数:设备表非业务主键id、设备信息的创建时间create-time、设备唯一编号地址app-eui、设备所属的组topic、设备的网关gateways。优选的是,所述okhttp-push推送配置表包括参数:设备表非业务主键id、设备所属的组topic、消息推送的url的id即url-id、消息被成功收到的位置游标mid。优选的是,所述公司url地址表包括参数:company表非业务主键id、公司名称name、公司的url地址url。优选的是,所述步骤四具体为:用http同步方式推送设备数据给各个用户,通过sql语句配置topic和公司url地址表中对应推送地址url的对应关系。本专利技术至少包括以下有益效果:1.实现推送数据push-data表与数据推送url地址配置表okhttp-push-config的分离,从而能减少push-data表中的数据量;2.实现对同一张数据库表的设备数据的插入操作和数据发送状态的更新操作,分解为分别对两张数据库表的插入和更新操作,从而减少对push-data表的并发写操作,提升系统性能;3.设备所属的分组topic及topic下的数据发送的地址url灵活可配置;4.支持从设备采集数据的本地持久化,便于做数据的分析统计,可基于目前主流关系数据库。本专利技术的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本专利技术的研究和实践而为本领域的技术人员所理解。具体实施方式下面对本专利技术做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。本专利技术提供一种物联网系统大量设备的数据存储及推送的系统实现方法,包括如下步骤:步骤一:构建数据库表结构,包括device-topic表、push-data表、okhttp-push表、公司url地址表;步骤二:依据设备数据将要发送到的不同接收方,分别将各个设备划分其所属的组topic,将设备及其所属的组的对应关系插入到device-topic关系表;步骤三:从设备采集的数据,根据此条数据来源的设备dev-eui,通过device-topic表,确定此条数据的topic参数,然后对应插入到push-data表中;步骤四:建立topic与url的映射关系,并将其插入到okhttp-push表中,用来确定同一topic下面的数据发送到的url地址;具体为:用http同步方式推送设备数据给各个用户,通过sql语句配置topic和公司url地址表中对应推送地址url的对应关系,sql语句为:“insertintookhttp-push(topic,url-id)values(‘topic的值’,‘url的id’)”;步骤五:对于okhttp-push表中的每一条记录,分别各起一个线程:用okhttp-push表中topic和mid的值去查询出push-data表中,该topic下面还没有被对应url地址的用户成功接收的设备数据,并将这些设备数据按照主键id的大小,用okhttp顺序发送;步骤六:通过okhttp的响应数据,判断用户是否成功收到推送消息,若收到,则更新okhttp-push表中此topic和url对应的游标mid;若未收到,则不更新okhttp-push表,线程重复读取未发送的设备数据进行重发。在另一种技术方案中,所述device-topic表包括参数:设备表非业务主键id、设备唯一编号地址dev-eui、设备所属的组topic。device-topic关系表,存放的是设备的分组信息,涉及到的字段如下表结构说明:在另一种技术方案中,所述push-data推送数据表包括参数:设备表非业务主键id、设备信息的创建时间create-time、设备唯一编号地址app-eui、设备所属的组topic、设备的网关gateways。push-data推送数据表,存储从设备采集来的数据及将数据推送给用户的核心表,每一个设备的上报的信息全部存储在此张表中,此表结构如下:字段名称字段类型字段说明备注idbigint设备表非业务主键自动增加create-timedatetime设备信息的创建时间application-idbigint(20)app-euivarchar(255)设备唯一编号地址datavarchar(8000)data-typeInt(11)macvarchar(255)reservervarchar(255)v-idvarchar(255)topicin本文档来自技高网...

【技术保护点】
1.物联网系统大量设备的数据存储及推送的系统实现方法,其特征在于,包括如下步骤:步骤一:构建数据库表结构,包括device‑topic表、push‑data表、okhttp‑push表、公司url地址表;步骤二:依据设备数据将要发送到的不同接收方,分别将各个设备划分其所属的组topic,将设备及其所属的组的对应关系插入到device‑topic关系表;步骤三:从设备采集的数据,根据此条数据来源的设备dev‑eui,通过device‑topic表,确定此条数据的topic参数,然后对应插入到push‑data表中;步骤四:建立topic与url的映射关系,并将其插入到okhttp‑push表中,用来确定同一topic下面的数据发送到的url地址;步骤五:对于okhttp‑push表中的每一条记录,分别各起一个线程:用okhttp‑push表中topic和mid的值去查询出push‑data表中,该topic下面还没有被对应url地址的用户成功接收的设备数据,并将这些设备数据按照主键id的大小,用okhttp顺序发送;步骤六:通过okhttp的响应数据,判断用户是否成功收到推送消息,若收到,则更新okhttp‑push表中此topic和url对应的游标mid;若未收到,则不更新okhttp‑push表,线程重复读取未发送的设备数据进行重发。...

【技术特征摘要】
1.物联网系统大量设备的数据存储及推送的系统实现方法,其特征在于,包括如下步骤:步骤一:构建数据库表结构,包括device-topic表、push-data表、okhttp-push表、公司url地址表;步骤二:依据设备数据将要发送到的不同接收方,分别将各个设备划分其所属的组topic,将设备及其所属的组的对应关系插入到device-topic关系表;步骤三:从设备采集的数据,根据此条数据来源的设备dev-eui,通过device-topic表,确定此条数据的topic参数,然后对应插入到push-data表中;步骤四:建立topic与url的映射关系,并将其插入到okhttp-push表中,用来确定同一topic下面的数据发送到的url地址;步骤五:对于okhttp-push表中的每一条记录,分别各起一个线程:用okhttp-push表中topic和mid的值去查询出push-data表中,该topic下面还没有被对应url地址的用户成功接收的设备数据,并将这些设备数据按照主键id的大小,用okhttp顺序发送;步骤六:通过okhttp的响应数据,判断用户是否成功收到推送消息,若收到,则更新okhttp-push表中此topic和url对应的游标mid;若未收到,则不更新okhttp-push表,线程重复读取未发送...

【专利技术属性】
技术研发人员:陈文韬吴波
申请(专利权)人:武汉慧联无限科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1