CN104468830A - 一种基于物联网的web服务方法及物联网系统 - Google Patents

一种基于物联网的web服务方法及物联网系统 Download PDF

Info

Publication number
CN104468830A
CN104468830A CN201410833942.8A CN201410833942A CN104468830A CN 104468830 A CN104468830 A CN 104468830A CN 201410833942 A CN201410833942 A CN 201410833942A CN 104468830 A CN104468830 A CN 104468830A
Authority
CN
China
Prior art keywords
things
internet
middleware
hardware node
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410833942.8A
Other languages
English (en)
Other versions
CN104468830B (zh
Inventor
李引
袁峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Zhongke Yide Technology Co Ltd
Original Assignee
Guangzhou Institute of Software Application Technology Guangzhou GZIS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Institute of Software Application Technology Guangzhou GZIS filed Critical Guangzhou Institute of Software Application Technology Guangzhou GZIS
Priority to CN201410833942.8A priority Critical patent/CN104468830B/zh
Publication of CN104468830A publication Critical patent/CN104468830A/zh
Application granted granted Critical
Publication of CN104468830B publication Critical patent/CN104468830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于物联网的web服务方法及物联网系统,所述物联网系统包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点,所述方法包括:所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现;其中,所述物联网应用程序、所述物联网网关、所述物联网硬件节点及所述物联网中间件之间的数据交互基于web服务接口调用实现。本发明实施例中的物联网系统为基于资源的web服务的体系架构,能够更好的抽象负载繁多的物联网硬件节点,并且提供统一标准的交互方式,以提高物联网系统的开发效率,并提高了与其他异构的物联网系统的交互性。

Description

一种基于物联网的web服务方法及物联网系统
技术领域
本发明涉及物联网技术领域,尤其涉及一种基于物联网的web服务方法及物联网系统。
背景技术
物联网是新一代信息技术的重要组成部分,而物联网系统由物联网应用程序、物联网网关和物联网硬件节点组成。其中,物联网应用程序是面向特定领域的、基于物联网硬件节点采集的数据进行处理后的应用,比如智慧家庭应用,通过布置在家庭中的传感器收集家庭信息,提供家庭信息的展示和智慧化控制等功能。物联网网关是感知网络与传统通信网络(互联网)的纽带。作为网关设备,物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联。物联网硬件节点属于感知层硬件节点,是数据采集的末端,比如温度传感器、湿度传感器等。
在现有的物联网系统中,各部分之间的数据交互通常是基于TCP/IP协议,通过建立网络套接字(socket)的方式进行,这里建立socket的方式是至基于底层的通信接口实现统一功能的代码,因此,现有方式中缺乏高层次通信规范、会造成物联网系统的开发效率低、难度大及代码不规范等问题。
发明内容
本发明的目的在于提供一种基于物联网的web服务方法及物联网系统,用以解决现有技术中物联网系统中各部分数据交互通过建立网络套接字的方式进行数据交互,因此,缺乏高层次通信规范、造成物联网系统的开发效率低、难度大及代码不规范等的技术问题。
本发明提供了一种基于物联网的web服务方法,应用于物联网系统,所述物联网系统包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点,所述方法包括:
所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现;
其中,所述物联网应用程序、所述物联网网关、所述物联网硬件节点及所述物联网中间件之间的数据交互基于web服务接口调用实现。
上述方法,优选的,所述数据交互至少包括:物联网应用程序查询物联网硬件节点的节点信息;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网应用程序以硬件节点作为第一参数调用所述物联网中间件的web服务接口;
所述物联网中间件依据其web服务接口中的第一参数,在所述物联网中间件中的第一集合中查询与所述第一参数相对应的节点信息;
在所述物联网中间件查询到的节点信息的第一属性值满足预设值范围时,返回该查询到的节点信息,结束当前数据交互,否则,所述物联网中间件依据所述第一参数中的节点所属领域参数,在所述物联网中间件的第二集合中查询硬件节点所位于的物联网网关,所述物联网中间件以所述第一参数调用查询到的物联网网关的web服务接口;
所述物联网网关依据其web服务接口中的第一参数,在所述物联网网关中的第一集合中查询与所述第一参数相对应的节点信息;
在所述物联网网关查询到的节点信息的第一属性值满足预设值范围时,返回该查询到的节点信息,结束当前数据交互,否则,所述物联网网关依据所述第一参数中的类型和标识参数,获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口获取并返回所述硬件节点的节点信息;
所述物联网网关与所述物联网中间件将返回的节点信息分别保存至其各自的第一集合中。
上述方法,优选的,所述数据交互至少包括:物联网应用程序订阅物联网硬件节点的节点事件;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网应用程序以硬件节点的第二参数调用所述物联网中间件的web服务接口;
所述物联网中间件依据所述第二参数生成事件信息对象,并将所述事件信息对象存储至所述物联网中间件的第三集合中;
依据所述物联网中间件的第三集合中的事件信息对象,所述物联网中间件判断是否存在其他物联网应用程序已订阅与所述第二参数相对应的硬件节点,如果是,结束当前数据交互,否则,所述物联网中间件依据在其第二集合中查询所述硬件节点所位于的物联网网关,所述物联网中间件以所述第二参数调用查询到的物联网网关的web服务接口;
所述物联网网关依据所述第二参数生成时间信息对象,并将所述时间信息对象存储至所述物联网网关的第二集合中;
依据所述物联网网关的第二集合中的事件信息对象,所述物联网网关判断是否存在其他物联网中间件已订阅与所述第二参数相对应的硬件节点,如果是,结束当前数据交互,否则,所述物联网网关在其第三集合中获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口订阅所述硬件节点的节点事件。
上述方法,优选的,所述数据交互至少包括:物联网硬件节点在物联网应用程序上进行信息注册;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网网关通过其预设端口进行web服务监听;
所述物联网硬件节点加入所述物联网中时,确定其所属物联网网关并调用所述物联网网关的web服务接口将所述物联网硬件节点的节点信息发送至所述物联网网关中;
所述物联网网关接收到所述物联网硬件节点的节点信息后,将所述节点信息存储至所述物联网网关的第三集合中,并调用所述物联网中间件的web服务接口将所述节点信息发送至所述物联网中间件中;
所述物联网中间件接收到所述物联网网关发送的节点信息后,将所述节点信息存储至所述物联网中间件的第一集合中;
所述物联网中间件在其第三集合中查询订阅所述节点信息对应的硬件节点的物联网应用程序,并调用查询到的物联网应用程序的web服务接口向每个查询到的物联网应用程序发送注册通知信息;
所述物联网应用程序接收到注册通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送注册通知信息。
上述方法,优选的,所述数据交互包括:在物联网系统中移除物联网硬件节点;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网网关通过其预设端口进行web服务监听;
所述物联网网关每个预定时间间隔检查是否接收到其第三集合对应的每个硬件节点的心跳信息,如果是,返回继续进行web服务监听,否则,所述物联网网关调用没有收到心跳信息的硬件节点的web服务接口进行查询;
在所述物联网网关查询到没有收到心跳信息的硬件节点时,返回继续进行web服务监听,否则,所述物联网网关将其第一集合和第三集合中与所述没有收到心跳信息的硬件节点的节点信息进行移除,并调用所述物联网中间件的web服务接口将所述物联网中间件中的物联网硬件节点进行移除。
上述方法,优选的,所述数据交互包括:物联网硬件节点的变化信息更新;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网硬件节点在其节点信息发生变化时,以所述节点信息的变化信息作为参数调用所述物联网网关的web服务接口;
所述物联网网关在接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第二集合中查询是否存在物联网中间件已订阅该物联网硬件节点的变化信息,如果是,以所述变化信息为参数调用所述物联网中间件的web服务接口,否则,结束当前数据交互;
所述物联网中间件接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第三集合中查询是否存在物联网应用程序已订阅该物联网硬件节点的变化信息,如果是,以所述变化信息为参数调用所述物联网应用程序的web服务接口向所述物联网应用程序发送更新通知信息,否则,结束当前数据交互;
所述物联网应用程序接收到所述更新通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送更新通知信息。
上述方法,优选的,所述物联网中间件组成中间件集群,其中,所述方法还包括:
获取所述中间件集群中物联网中间件被调用web服务接口的并发数量值;
判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值;
在所述并发数量值大于或等于所述第一阈值时,持续在服务器上启动新的物联网中间件实例,并加入到所述中间件集群中,直到所述并发数量值小于所述第一阈值;
在所述并发数量值小于或等于所述第二阈值时,持续移除所述中间件集群中的物联网中间件,直到所述并发数量值大于所述第二阈值。
上述方法,优选的,所述物联网中间件在接收到web服务接口的调用将所述物联网硬件节点的节点信息存储至其第一集合,包括:
所述物联网中间件依据所述物联网硬件节点的标识及预设的租户与数据库映射关系确定所述硬件节点所述的租户数据库,将所述变化信息存储至所述组合数据库中;
相应的,所述物联网应用程序根据组合信息在相应的租户数据库中获取该租户相应的硬件节点的节点信息。
本发明还提供了一种物联网系统,包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点;
其中,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现。
上述系统,优选的,还包括:
并发控制装置,用于获取所述物联网中间件组成的集群中物联网中间件被调用web服务接口的并发数量值,并判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值;在所述并发数量值大于或等于所述第一阈值时,持续在服务器上启动新的物联网中间件,并加入到所述集群中,直到所述并发数量值小于所述第一阈值;而在所述并发数量值小于或等于所述第二阈值时,持续移除所述集群中的物联网中间件,直到所述并发数量值大于所述第二阈值。
由上述方案可知,本发明提供了一种基于物联网的web服务方法及物联网系统,通过在物联网系统中设置物联网中间件来实现物联网应用程序与物联网网关及物联网硬件节点之间的数据交互,而物联网系统中各部件间的数据交互基于web服务接口调用实现,而web服务中采用REST方式实现,也就是说,本发明中的物联网系统为基于资源的web服务的体系架构,能够更好的抽象负载繁多的物联网硬件节点,并且提供统一标准的交互方式,以提高物联网系统的开发效率,并提高了与其他异构的物联网系统的交互性。
同时,本发明中在物联网系统中采用web服务的方式,将高低层次中的通信进行规范,规范了系统的实现代码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种基于物联网的web服务方法实施例一的流程图;
图2为本发明实施例的应用示例图;
图3为本发明提供的一种基于物联网的web服务方法实施例二的部分流程图;
图4为本发明提供的一种基于物联网的web服务方法实施例三的部分流程图;
图5为本发明提供的一种基于物联网的web服务方法实施例四的部分流程图;
图6为本发明提供的一种基于物联网的web服务方法实施例五的部分流程图;
图7为本发明提供的一种基于物联网的web服务方法实施例六的部分流程图;
图8为本发明提供的一种基于物联网的web服务方法实施例七的部分流程图;
图9为本发明提供的一种基于物联网的web服务方法实施例八的部分流程图;
图10为本发明提供的一种物联网系统实施例九的结构示意图;
图11为本发明实施例九的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明提供的一种基于物联网的web服务方法实施例一的流程图,本实施例中的方法应用于物联网系统,所述物联网系统包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点,如图2中所示。
其中,物联网英文名称是“The Internet of things”,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,并在互联网基础上进行了延伸和扩展的网络,成为感知网或者传感网;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是机器到机器“Machine to Machine,M2M”。
在本实施例中,所述方法可以包括以下步骤:
步骤101:所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现;
其中,所述物联网应用程序、所述物联网网关、所述物联网硬件节点及所述物联网中间件之间的数据交互基于web服务接口调用实现。
需要说明的是,所述web服务也可以称为Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web服务规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。基于SOAP即简单对象访问协议(Simple Object Access Protocol)标准的Web服务体系架构,基于RPC(远程过程调用)的方式来进行,采用XML来对交换信息进行编码,可以运行在HTTP、SMTP等应用层协议之上。在本实施例中,如图2中所示,,其中,所述物联网应用程序与所述物联网中间件之间及所述物联网中间件与所述物联网网关之间采用高速宽带网/无线3G网络进行数据传输,而所述物联网网关与所述物联网硬件节点之间采用低功耗、低速率的传感网络进行数据传输。
最新的基于REST(REpresentational State Transfer)的Web服务体系架构,基于资源的方式来进行,在这种方式中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有的资源都是一样的。这些方法都是标准方法,包括GET、POST、PUT、DELETE等,GET对应获取资源的方法,POST对应新建资源的方法,PUT对应新建或修改资源的方法,DELETE对应删除资源的方法。比如网上汇款的Web服务,从账户1向账户2汇款500元,写法为:
POST/transaction HTTP/1.1
Host:127.0.0.1
from=1&to=2&amount=500.00
其中,POST对应该资源的创建,/transaction为该资源标识,HTTP/1.1为应用层协议,Host:127.0.0.1为id地址,from=1&to=2&amount=500.00是该Web服务请求的内容,也就是载荷(payload)。
应用层协议可以是HTTP(Hyper Text Transfer Protocol)超文本转移协议,也可以是COAP(COnstrained Application Protocol)受限应用协议。COAP是面向低功耗、受限网络速度等特点的物联网环境的应用层协议,采用COAP的方式调用Web服务与HTTP方式调用Web服务类似。
在本发明中,所述物联网系统的Web服务采用REST(REpresentationalState Transfer)的方式实现,这是一种基于资源的Web服务的体系架构,能够更好的抽象复杂繁多的物联网硬件节点,并且提供了统一标准的交互方式,将它们的添加、删除、修改和查找对应为Web服务接口。
由上述方案可知,本发明提供了一种基于物联网的web服务方法实施例一,通过在物联网系统中设置物联网中间件来实现物联网应用程序与物联网网关及物联网硬件节点之间的数据交互,而物联网系统中各部件间的数据交互基于web服务接口调用实现,而web服务中采用REST方式实现,也就是说,本发明中的物联网系统为基于资源的web服务的体系架构,能够更好的抽象负载繁多的物联网硬件节点,并且提供统一标准的交互方式,以提高物联网系统的开发效率,并提高了与其他异构的物联网系统的交互性。
同时,本发明中在物联网系统中采用web服务的方式,将高低层次中的通信进行规范,规范了系统的实现代码。
在上述实施例中,所述数据交互中涉及的数据传输流程可以包括有多种形式,例如:所述物联网应用程序查询物联网硬件节点信息流程、所述物联网应用程序订阅物联网硬件节点变化事件流程、物联网硬件节点进行信息注册的流程、物联网硬件节点移除流程、物联网硬件节点信息变化更新流程、多租户环境下的物联网硬件节点信息的隔离流程、支持高并发情况下的物联网代理中间件弹性伸缩流程,等等。
具体的,所述数据交互的流程可以为:物联网应用程序查询物联网硬件节点的节点信息;
相应的,参考图3,为本发明提供的一种基于物联网的web服务方法实施例二中所述步骤101的实现流程图,其中,所述步骤101中可以通过以下步骤实现:包括:
步骤301:所述物联网应用程序以硬件节点作为第一参数调用所述物联网中间件的web服务接口。
其中,所述第一参数可以包括有所述硬件节点的所属领域、硬件节点的类型和标识等参数,所述步骤301中调用的所述物联网中间件的web服务接口为查询接口,以web服务的方式进行调用,例如:
获取智慧路灯物联网应用领域中的id为1的节点控制器的开关灯信息,示例如下:
GET/节点控制器HTTP/1.1
HOST:{iot-proxy-url}
domain=智慧路灯&id=1
其中,“GET/节点控制器HTTP/1.1”表示将节点控制器看做资源,并采用HTTP协议来获取它的信息,“HOST:{iot-proxy-url}”为该智慧路灯物联网代理中间件的地址,“domain=智慧路灯&id=1”是该Web服务请求的载荷信息(payload)。
步骤302:所述物联网中间件依据其web服务接口中的第一参数,在所述物联网中间件中的第一集合中查询与所述第一参数相对应的节点信息。
其中,所述第一集合为“中间件物联网硬件节点信息缓存”集合,其中包含有所述物联网中间件中所保存的相关的物联网硬件节点的节点信息。
步骤303:判断所述物联网中间件查询到的节点信息的第一属性值是否满足预设值范围,如果是,执行步骤304,否则,执行步骤305。
其中,所述第一属性值可以为所述“中间件物联网硬件节点信息缓存”中的硬件节点的节点信息的时间记录值,其对应的预设值范围是指该节点信息的最大有效时长。判断所述第一属性值是否满足预设值范围是指,判断所述硬件节点的节点信息的时间记录值是否处于其有效时长内,也就是说,对该硬件节点的节点信息有没有过期进行判断。
步骤304:返回该查询到的节点信息,结束当前数据交互。
也就是说,所述物联网中间件在接收到web服务调用之后,根据所述第一参数中的所属领域、类型和标识参数,查询所述第一集合中是否有未过期的节点信息。如果“中间件物联网硬件节点信息缓存”中的节点信息未过期(预先设定超时值,即上文中的预设值范围),则返回该查询到的节点信息,也就是将“中间件物联网硬件节点信息缓存”中的物联网硬件节点的信息返回。
比如上例中,路灯的亮度值为80%,那么返回值为“luminance=80%”。如果缓存中的节点信息超时过期,则执行步骤305。
步骤305:所述物联网中间件依据所述第一参数中的节点所属领域参数,在所述物联网中间件的第二集合中查询硬件节点所位于的物联网网关。
其中,所述第二集合可以为所述物联网中间件的“领域网关映射数据库”,在所述步骤305中,所述物联网中间件根据所述所属领域参数,查询“领域网关映射数据库”,获得硬件节点所位于的物联网网关的地址,进而确定物联网网关。
步骤306:所述物联网中间件以所述第一参数调用查询到的物联网网关的web服务接口。
需要说明的是,根据物联网网关实现的不同,其提供的服务既可以是基于HTTP协议,也可以是基于COAP协议的。
例如GET/节点控制器COAP
HOST:{iot-gateway-url}
id=1
其中,“GET/节点控制器COAP”表示将节点控制器看做资源,并采用COAP协议来获取它的信息,HOST:{iot-gateway-url}为该智慧路灯应用对应的物联网网关的地址,“id=1”是该Web服务请求的载荷信息(payload)。
步骤307:所述物联网网关依据其web服务接口中的第一参数,在所述物联网网关中的第一集合中查询与所述第一参数相对应的节点信息。
其中,所述物联网网关接收到其web服务调用之后,根据所述第一参数中的类型和标识参数,查找所述第一集合即“网关物联网硬件节点信息缓存”中的对应硬件节点的节点信息。
步骤308:在所述物联网网关查询到的节点信息的第一属性值满足预设值范围时,执行步骤304,否则,执行步骤309。
也就是说,所述物联网网关接收到web服务调用后,根据类型和标识参数,查找“网关物联网硬件节点信息缓存”中是否有未过期的节点信息。如果“网关物联网硬件节点信息缓存”中指定的硬件节点信息还未过期,则返回该查询到的节点信息,执行步骤304,否则执行步骤309。
步骤309:所述物联网网关依据所述第一参数中的类型和标识参数,获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口获取并返回所述硬件节点的节点信息。
步骤310:所述物联网网关与所述物联网中间件将返回的节点信息分别保存至其各自的第一集合中。
也就是说,所述物联网网关和所述物联网中间件在收到web服务接口的返回信息后,将最新获取的物联网硬件节点信息分别更新到“中间件物联网硬件节点信息缓存”和“网关物联网硬件节点信息缓存”中。
所述数据交互的流程也可以为:物联网应用程序订阅物联网硬件节点的节点事件。
相应的,参考图4,为本发明提供的一种基于物联网的web服务方法实施例三中所述步骤101的实现流程图,其中,所述步骤101中可以通过以下步骤实现:
步骤401:所述物联网应用程序以硬件节点的第二参数调用所述物联网中间件的web服务接口。
也就是说,物联网应用程序调用物联网代理中间件的Web服务接口,订阅物联网硬件节点的注册、移除、变更等事件。比如智慧路灯应用订阅所有路灯硬件节点的灯光变化事件:
POST/subscription HTTP/1.1
HOST:{iot-proxy-url}
domain=智慧路灯&node=all&etype=all
其中,“POST/subscription HTTP/1.1”表示将subscription看做资源,并采用HTTP协议来创建它,“HOST:{iot-proxy-url}”为智慧路灯应用对应的物联网代理中间件的地址,“domain=智慧路灯&node=all&etype=all”为请求内容,表示面向领域为智慧路灯,对所有的节点的所有类型的事件进行订阅。
步骤402:所述物联网中间件依据所述第二参数生成事件信息对象,并将所述事件信息对象存储至所述物联网中间件的第三集合中。
其中,所述物联网代理中间件维护一个“中间件事件订阅数据库”即所述第三集合,将该物联网应用程序对物联网硬件节点订阅的各种事件进行存储。
步骤403:依据所述物联网中间件的第三集合中的事件信息对象,所述物联网中间件判断是否存在其他物联网应用程序已订阅与所述第二参数相对应的硬件节点,如果是,执行步骤404,否则,执行步骤405。
在本实施例中,当所述物联网中间件收到所述物联网应用程序的事件订阅请求后,先将“domain=智慧路灯&node=all&etype=all”生成一个事件信息对象并存入“中间件事件订阅数据库”,然后判断“中间件事件订阅数据库”中是否有其他物联网应用程序订阅了相同的物联网硬件节点的事件,如果有,则直接执行步骤404结束当前数据交互,否则执行步骤405。
步骤404:结束当前数据交互。
步骤405:所述物联网中间件依据在其第二集合中查询所述硬件节点所位于的物联网网关,所述物联网中间件以所述第二参数调用查询到的物联网网关的web服务接口。
其中,所述第二集合可以为“领域网关映射数据库”,例如,通过本实施例,所述物联网中间件根据“domain=智慧路灯”参数,在“领域网关映射数据库”中查询到对应的物联网网关的地址,并调用物联网网关的Web服务接口,订阅物联网硬件节点的注册、移除、变更等事件。比如上例的调用形式为:
POST/subscription COAP
HOST:{iot-gateway-url}
node=all&etype=all
其中,“POST/subscription COAP”表示将subscription看做资源,并采用COAP协议来创建它,“HOST:{iot-gateway-url}”为物联网网关的地址,“node=all&etype=all”为请求内容,对所有的节点的所有类型的事件进行订阅。
步骤406:所述物联网网关依据所述第二参数生成时间信息对象,并将所述时间信息对象存储至所述物联网网关的第二集合中。
其中,所述物联网网关维护一个“网关事件订阅数据库”即所述第二集合,将物联网代理中间件对物联网硬件节点订阅的各种事件进行存储。
步骤407:依据所述物联网网关的第二集合中的事件信息对象,所述物联网网关判断是否存在其他物联网中间件已订阅与所述第二参数相对应的硬件节点,如果是,执行步骤404,否则,执行步骤408。
也就是说,所述物联网网关在收到物联网代理中间件的事件订阅信息后,将传入的参数“node=all&etype=all”生成一个事件信息对象,并存储到“网关事件订阅数据库”,并在步骤407中,到“网关事件订阅数据库”中检查是否有其他物联网代理中间件+订阅了相同的物联网硬件节点的事件,如果有,则直接执行步骤404,否则执行步骤408。
步骤408:所述物联网网关在其第三集合中获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口订阅所述硬件节点的节点事件。
所述数据交互也可以为:物联网硬件节点在物联网应用程序上进行信息注册。
相应的,参考图5,为本发明提供的一种基于物联网的web服务方法实施例四中所述步骤101的实现流程图,其中,所述步骤101中可以通过以下步骤实现:
步骤501:所述物联网网关通过其预设端口进行web服务监听。
步骤502:所述物联网硬件节点加入所述物联网中时,确定其所属物联网网关并调用所述物联网网关的web服务接口将所述物联网硬件节点的节点信息发送至所述物联网网关中。
例如,所述物联网硬件节点加入到物联网感知网中时,通过组播等方式获取到物联网网关的地址和端口,并调用它的Web服务接口将本硬件节点的类型、地址端口、Web服务接口、节点信息注册到物联网网关中。比如,智慧路灯的节点控制器加入到物联网感知网络中,采用如下方式进行注册:
POST/node COAP
HOST:{iot-gateway-url}
type=智慧路灯节点&port=100&luminance=80%
其中,“POST/node COAP”表示将node看做资源,并采用COAP协议来创建它,“HOST:{iot-gateway-url}”为物联网网关的地址,“type=智慧路灯节点&port=100&luminance=80%”为请求内容。
步骤503:所述物联网网关接收到所述物联网硬件节点的节点信息后,将所述节点信息存储至所述物联网网关的第三集合中,并调用所述物联网中间件的web服务接口将所述节点信息发送至所述物联网中间件中。
其中,所述第三集合可以为“物联网硬件节点数据库”。也就是说,所述物联网网关收到物联网硬件节点注册信息后,将该硬件节点的类型、地址端口、Web服务接口、节点信息等存入“物联网硬件节点数据库”中,并调用物联网代理中间件的Web服务接口进行注册。上例中,采用如下方式进行:
POST/node COAP
HOST:{iot-proxy-url}
port=100&luminance=80%
其中,“POST/node COAP”表示将node看做资源,并采用COAP协议来创建它,“HOST:{iot-proxy-url}”为物联网代理中间件的地址,“port=100&luminance=80%”为请求内容。
步骤504:所述物联网中间件接收到所述物联网网关发送的节点信息后,将所述节点信息存储至所述物联网中间件的第一集合中。
例如,所述物联网中间件收到物联网网关发来的硬件节点注册信息后,将物联网硬件节点信息等存入“中间件物联网硬件节点信息缓存”中。
步骤505:所述物联网中间件在其第三集合中查询订阅所述节点信息对应的硬件节点的物联网应用程序,并调用查询到的物联网应用程序的web服务接口向每个查询到的物联网应用程序发送注册通知信息。
物联网代理中间件查询“中间件事件订阅数据库”,找到所有订阅了该事件的物联网应用程序,并依次调用它们的Web服务接口进行通知。上例中,服务调用方式如下:
POST/node COAP
HOST:{智慧路灯应用程序地址}
luminance=80%
其中,“POST/node COAP”表示将node看做资源,并采用COAP协议来创建它,“HOST:{智慧路灯应用程序地址}”为智慧路灯应用程序地址,“luminance=80%”为请求内容。
步骤506:所述物联网应用程序接收到注册通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送注册通知信息。
例如,所述物联网应用程序收到通知后信息,查询“租户事件订阅数据库”,找到所有订阅了事件的租户,并进行通知。
所述数据交互也可以为:在物联网系统中移除物联网硬件节点。
相应的,参考图6,为本发明提供的一种基于物联网的web服务方法实施例五中所述步骤101的实现流程图,其中,所述步骤101中可以通过以下步骤实现:
步骤601:所述物联网网关通过其预设端口进行web服务监听。
步骤602:所述物联网网关每个预定时间间隔检查是否接收到其第三集合对应的每个硬件节点的心跳信息,如果是,返回所述步骤601,继续进行web服务监听,否则,执行步骤603。
其中,所述物联网网关的第三集合可以为“物联网硬件节点数据库”
步骤603:所述物联网网关调用没有收到心跳信息的硬件节点的web服务接口进行查询。
步骤604:在所述物联网网关查询到没有收到心跳信息的硬件节点时,返回执行所述步骤601继续进行web服务监听,否则,执行步骤605。
比如,没有接收到智慧路灯第5个节点的心跳信息,则首先从“智慧路灯应用程序地址硬件节点映射数据库”中获取到硬件节点的地址{node-url},然后调用的Web服务接口如下:
GET/luminance COAP
HOST:{node-url}
其中,“GET/luminance COAP”为采用COAP协议,来获取智慧路灯节点上的亮度信息,“HOST:{nod-url}”为该硬件节点的地址。
步骤605:所述物联网网关将其第一集合和第三集合中与所述没有收到心跳信息的硬件节点的节点信息进行移除,并调用所述物联网中间件的web服务接口将所述物联网中间件中的物联网硬件节点进行移除。
也就是说,本实施例中,将没有查询成功的物联网硬件节点信息从“物联网硬件节点数据库”和“网关物联网硬件节点信息缓存”中移除,同时调用物联网代理中间件的Web服务接口,将该物联网硬件节点移除。比如上例,调用的Web服务接口如下:
DELETE/node COAP
HOST:{iot-proxy-url}
id=5
其中,“DELETE/node COAP”为采用COAP协议移除节点,“HOST:{iot-proxy-url}”为物联网代理中间件的地址,“id=5”为请求内容。
其中,所述数据交互也可以为:物联网硬件节点的变化信息更新。
相应的,参考图7,为本发明提供的一种基于物联网的web服务方法实施例六中所述步骤101的实现流程图,其中,所述步骤101中可以通过以下步骤实现:
步骤701:所述物联网硬件节点在其节点信息发生变化时,以所述节点信息的变化信息作为参数调用所述物联网网关的web服务接口。
例如,所述物联网硬件节点信息发生了变化,调用所述物联网网关的Web服务接口,将变化信息作为参数。比如智慧路灯系统中,第5个节点的亮度变化为50%的亮度,则调用Web服务接口为:
PUT/node COAP
HOST:{iot-gateway-url}
id=5&luminance=50%
其中,“PUT/node COAP”为采用COAP协议修改物联网节点的信息,“HOST:{iot-gateway-url}”为物联网网关的地址,“id=5&luminance=50%”为请求内容。
步骤702:所述物联网网关在接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第二集合中查询是否存在物联网中间件已订阅该物联网硬件节点的变化信息,如果是,执行步骤703,否则,执行步骤704。
也就是说,所述物联网网关收到物联网硬件节点的变化信息后,更新“网关物联网硬件节点信息缓存”即第一集合中的硬件节点信息,并查询“网关事件订阅数据库”即第二集合,检查是否有物联网代理中间件订阅了当前物联网硬件节点的变化信息。
步骤703:以所述变化信息为参数调用所述物联网中间件的web服务接口。
例如,调用所述物联网中间件的Web服务接口,将物联网硬件节点的变化信息作为参数。上例中,调用Web服务接口如下:
PUT/node COAP
HOST:{iot-proxy-url}
id=5&luminance=50%
其中,“PUT/node COAP”为采用COAP协议修改物联网节点的信息,“HOST:{iot-proxy-url}”为物联网网关的地址,“id=5&luminance=50%”为请求内容。
步骤704:结束当前数据交互。
步骤705:所述物联网中间件接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第三集合中查询是否存在物联网应用程序已订阅该物联网硬件节点的变化信息,如果是,执行步骤706,否则,执行步骤704。
步骤706:以所述变化信息为参数调用所述物联网应用程序的web服务接口向所述物联网应用程序发送更新通知信息。
步骤707:所述物联网应用程序接收到所述更新通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送更新通知信息。
也就是说,所述物联网中间件收到所述物联网硬件节点的变化信息后,更新“中间件物联网硬件节点信息缓存”中的硬件节点信息,并从“中间件事件订阅数据库”中检查哪些物联网应用程序订阅了该硬件节点的变化事件。之后,所述物联网中间件将物联网硬件节点的变化信息作为参数调用所述物联网应用程序的Web服务接口,进而所述物联应用程序收到通知后,查询“租户事件订阅数据库”,找到所有订阅了事件的租户,并进行通知。
另外,本实施例中的物联网系统支持高并发情况下的物联网代理中间件弹性伸缩功能,此时,参考图8,为本发明提供的一种基于物联网的web服务方法实施例七的部分流程图,其中,所述物联网中间件组成中间件集群,而在所述步骤101之后,所述方法还可以包括以下步骤:
步骤102:获取所述中间件集群中物联网中间件被调用web服务接口的并发数量值。
步骤103:判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值,在所述并发数量值大于或等于所述第一阈值时,执行步骤104,在所述并发数量值小于或等于所述第二阈值时,执行步骤105。
其中,所述第一阈值可以为预设的高临界值α,所述第二阈值可以为预设的低临界值β。
步骤104:持续在服务器上启动新的物联网中间件实例,并加入到所述中间件集群中,直到所述并发数量值小于所述第一阈值。
步骤105:持续移除所述中间件集群中的物联网中间件,直到所述并发数量值大于所述第二阈值。
也就是说,所述物联网应用程序或者物联网网关调用物联网中间件的Web服务的并发数量持续增加,并超过预设的高临界值α时,所述物联网代理中间件进行资源弹性伸缩,在物理服务器或者虚拟机上启动新的物联网代理中间件实例,并加入到整个集群中,这一过程中,所述物联网中间件的平均负载随着新加入的实例而降低,低于预设的高临界值α。
而所述物联网应用程序或者物联网网关调用物联网中间件的Web服务的并发数量持续降低,并低于预设的低临界值β时,所述物联网中间件进行资源弹性伸缩,将集群中的某个物联网代理中间件实例移除,这一过程中,所述物联网中间件的平均负载随着移除的实例而升高,高于预设的低临界值β。
随着整个系统的运行,系统负载的动态变化,循环进行步骤102到步骤105的操作。因此,在本实施例中,所述物联网中间件采用了集群模式,既能够支持Web请求的高并发,又能够支持物联网感知层硬件请求的高并发,保证整个物联网系统高可用性。
另外,本实施例中的物联网系统支持云计算多租户环境下的物联网硬件节点信息的隔离功能,此时,所述物联网中间件在接收到web服务接口的调用将所述物联网硬件节点的节点信息存储至其第一集合时,可以通过以下方式实现:
所述物联网中间件依据所述物联网硬件节点的标识及预设的租户与数据库映射关系确定所述硬件节点所述的租户数据库,将所述变化信息存储至所述组合数据库中。
相应的,所述物联网应用程序根据组合信息在相应的租户数据库中获取该租户相应的硬件节点的节点信息。
例如,参考图9,为本发明提供的一种基于物联网的web服务方法实施例八的部分流程图,其中,在所述物联网硬件节点的节点信息发生变化需要更新至物联网网关及物联网应用程序中时,可以通过以下步骤实现:
步骤901:所述物联网硬件节点信息发生变化时,调用所述物联网网关的Web服务接口,将所述物联网硬件节点的标识、变化信息更新到所述物联网网关中。
步骤902:所述物联网网关调用所述物联网代理中间件的Web服务接口,传入所述物联网硬件节点的标识、变化信息等作为参数。
步骤903:所述物联网中间件接收到Web服务调用,将所述物联网硬件节点的标识到“租户信息映射数据库”中进行查询,获得该物联网硬件节点所属的租户数据库空间,并将变化后的信息存储到该租户数据库空间。
步骤904:所述物联网应用程序根据租户信息,到相应的租户数据库空间获取物联网硬件节点信息,保证不同的租户只能够获取到所属的物联网硬件节点信息。
由此,本实施例能够实现支持云计算多租户模式,使得各租户的感知数据能够得到隔离,保证安全性。
参考图10,为本发明提供的一种物联网系统实施例九的结构示意图,包括至少一个物联网应用程序1001、至少一个物联网中间件1002、多个物联网网关1003所述物联网网关对应的物联网硬件节点1004。
其中,所述物联网应用程序1001与所述物联网网关1003及所述物联网硬件节点1004之间的数据交互通过所述物联网中间件1002实现,所述物联网应用程序1001中包括有租户事件订阅数据库,所述物联网中间件1002中包括有中间件物联网硬件节点信息缓存、领域网关映射数据库及中间件事件订阅数据库,所述物联网网关1003包括有网关物联网硬件节点信息缓存、网关事件订阅数据库及物联网硬件节点数据库。
所述物联网系统中各部分之间的数据交互可以参考前文中的各个实施例,此处不再详述。
参考图11,为本发明实施例九的另一结构示意图,其中,所述物联网系统还可以包括以下结构:
并发控制装置1005,用于获取所述物联网中间件1002组成的集群中物联网中间件1002被调用web服务接口的并发数量值,并判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值;在所述并发数量值大于或等于所述第一阈值时,持续在服务器上启动新的物联网中间件1002,并加入到所述集群中,直到所述并发数量值小于所述第一阈值;而在所述并发数量值小于或等于所述第二阈值时,持续移除所述集群中的物联网中间件1002,直到所述并发数量值大于所述第二阈值。
因此,在本实施例中,所述物联网中间件采用了集群模式,既能够支持Web请求的高并发,又能够支持物联网感知层硬件请求的高并发,保证整个物联网系统高可用性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种基于物联网的web服务方法及物联网系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于物联网的web服务方法,其特征在于,应用于物联网系统,所述物联网系统包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点,所述方法包括:
所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现;
其中,所述物联网应用程序、所述物联网网关、所述物联网硬件节点及所述物联网中间件之间的数据交互基于web服务接口调用实现。
2.根据权利要求1所述的方法,其特征在于,所述数据交互至少包括:物联网应用程序查询物联网硬件节点的节点信息;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网应用程序以硬件节点作为第一参数调用所述物联网中间件的web服务接口;
所述物联网中间件依据其web服务接口中的第一参数,在所述物联网中间件中的第一集合中查询与所述第一参数相对应的节点信息;
在所述物联网中间件查询到的节点信息的第一属性值满足预设值范围时,返回该查询到的节点信息,结束当前数据交互,否则,所述物联网中间件依据所述第一参数中的节点所属领域参数,在所述物联网中间件的第二集合中查询硬件节点所位于的物联网网关,所述物联网中间件以所述第一参数调用查询到的物联网网关的web服务接口;
所述物联网网关依据其web服务接口中的第一参数,在所述物联网网关中的第一集合中查询与所述第一参数相对应的节点信息;
在所述物联网网关查询到的节点信息的第一属性值满足预设值范围时,返回该查询到的节点信息,结束当前数据交互,否则,所述物联网网关依据所述第一参数中的类型和标识参数,获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口获取并返回所述硬件节点的节点信息;
所述物联网网关与所述物联网中间件将返回的节点信息分别保存至其各自的第一集合中。
3.根据权利要求1所述的方法,其特征在于,所述数据交互至少包括:物联网应用程序订阅物联网硬件节点的节点事件;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网应用程序以硬件节点的第二参数调用所述物联网中间件的web服务接口;
所述物联网中间件依据所述第二参数生成事件信息对象,并将所述事件信息对象存储至所述物联网中间件的第三集合中;
依据所述物联网中间件的第三集合中的事件信息对象,所述物联网中间件判断是否存在其他物联网应用程序已订阅与所述第二参数相对应的硬件节点,如果是,结束当前数据交互,否则,所述物联网中间件依据在其第二集合中查询所述硬件节点所位于的物联网网关,所述物联网中间件以所述第二参数调用查询到的物联网网关的web服务接口;
所述物联网网关依据所述第二参数生成时间信息对象,并将所述时间信息对象存储至所述物联网网关的第二集合中;
依据所述物联网网关的第二集合中的事件信息对象,所述物联网网关判断是否存在其他物联网中间件已订阅与所述第二参数相对应的硬件节点,如果是,结束当前数据交互,否则,所述物联网网关在其第三集合中获取硬件节点的地址,依据获取到的地址调用所述硬件节点的web服务接口订阅所述硬件节点的节点事件。
4.根据权利要求1所述的方法,其特征在于,所述数据交互至少包括:物联网硬件节点在物联网应用程序上进行信息注册;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网网关通过其预设端口进行web服务监听;
所述物联网硬件节点加入所述物联网中时,确定其所属物联网网关并调用所述物联网网关的web服务接口将所述物联网硬件节点的节点信息发送至所述物联网网关中;
所述物联网网关接收到所述物联网硬件节点的节点信息后,将所述节点信息存储至所述物联网网关的第三集合中,并调用所述物联网中间件的web服务接口将所述节点信息发送至所述物联网中间件中;
所述物联网中间件接收到所述物联网网关发送的节点信息后,将所述节点信息存储至所述物联网中间件的第一集合中;
所述物联网中间件在其第三集合中查询订阅所述节点信息对应的硬件节点的物联网应用程序,并调用查询到的物联网应用程序的web服务接口向每个查询到的物联网应用程序发送注册通知信息;
所述物联网应用程序接收到注册通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送注册通知信息。
5.根据权利要求1所述的方法,其特征在于,所述数据交互包括:在物联网系统中移除物联网硬件节点;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网网关通过其预设端口进行web服务监听;
所述物联网网关每个预定时间间隔检查是否接收到其第三集合对应的每个硬件节点的心跳信息,如果是,返回继续进行web服务监听,否则,所述物联网网关调用没有收到心跳信息的硬件节点的web服务接口进行查询;
在所述物联网网关查询到没有收到心跳信息的硬件节点时,返回继续进行web服务监听,否则,所述物联网网关将其第一集合和第三集合中与所述没有收到心跳信息的硬件节点的节点信息进行移除,并调用所述物联网中间件的web服务接口将所述物联网中间件中的物联网硬件节点进行移除。
6.根据权利要求1所述的方法,其特征在于,所述数据交互包括:物联网硬件节点的变化信息更新;
相应的,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现,包括:
所述物联网硬件节点在其节点信息发生变化时,以所述节点信息的变化信息作为参数调用所述物联网网关的web服务接口;
所述物联网网关在接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第二集合中查询是否存在物联网中间件已订阅该物联网硬件节点的变化信息,如果是,以所述变化信息为参数调用所述物联网中间件的web服务接口,否则,结束当前数据交互;
所述物联网中间件接收到所述变化信息后,更新其第一集合中相应硬件节点的节点信息,并在其第三集合中查询是否存在物联网应用程序已订阅该物联网硬件节点的变化信息,如果是,以所述变化信息为参数调用所述物联网应用程序的web服务接口向所述物联网应用程序发送更新通知信息,否则,结束当前数据交互;
所述物联网应用程序接收到所述更新通知信息后,在所述物联网应用程序的第一集合中查询相应的租户,并向每个查询到的租户发送更新通知信息。
7.根据权利要求1~6中任意一项所述的方法,其特征在于,所述物联网中间件组成中间件集群,其中,所述方法还包括:
获取所述中间件集群中物联网中间件被调用web服务接口的并发数量值;
判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值;
在所述并发数量值大于或等于所述第一阈值时,持续在服务器上启动新的物联网中间件实例,并加入到所述中间件集群中,直到所述并发数量值小于所述第一阈值;
在所述并发数量值小于或等于所述第二阈值时,持续移除所述中间件集群中的物联网中间件,直到所述并发数量值大于所述第二阈值。
8.根据权利要求1~6中任意一项所述的方法,其特征在于,所述物联网中间件在接收到web服务接口的调用将所述物联网硬件节点的节点信息存储至其第一集合,包括:
所述物联网中间件依据所述物联网硬件节点的标识及预设的租户与数据库映射关系确定所述硬件节点所述的租户数据库,将所述变化信息存储至所述组合数据库中;
相应的,所述物联网应用程序根据组合信息在相应的租户数据库中获取该租户相应的硬件节点的节点信息。
9.一种物联网系统,其特征在于,包括至少一个物联网应用程序、至少一个物联网中间件、多个物联网网关及每个所述物联网网关对应的物联网硬件节点;
其中,所述物联网应用程序与所述物联网网关及所述物联网硬件节点之间的数据交互通过所述物联网中间件实现。
10.根据权利要求9所述的系统,其特征在于,还包括:
并发控制装置,用于获取所述物联网中间件组成的集群中物联网中间件被调用web服务接口的并发数量值,并判断所述并发数量值是否大于或等于第一阈值或所述并发数量值小于或等于第二阈值,所述第一阈值大于所述第二阈值;在所述并发数量值大于或等于所述第一阈值时,持续在服务器上启动新的物联网中间件,并加入到所述集群中,直到所述并发数量值小于所述第一阈值;而在所述并发数量值小于或等于所述第二阈值时,持续移除所述集群中的物联网中间件,直到所述并发数量值大于所述第二阈值。
CN201410833942.8A 2014-12-29 2014-12-29 一种基于物联网的web服务方法及物联网系统 Active CN104468830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410833942.8A CN104468830B (zh) 2014-12-29 2014-12-29 一种基于物联网的web服务方法及物联网系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410833942.8A CN104468830B (zh) 2014-12-29 2014-12-29 一种基于物联网的web服务方法及物联网系统

Publications (2)

Publication Number Publication Date
CN104468830A true CN104468830A (zh) 2015-03-25
CN104468830B CN104468830B (zh) 2018-04-27

Family

ID=52914181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410833942.8A Active CN104468830B (zh) 2014-12-29 2014-12-29 一种基于物联网的web服务方法及物联网系统

Country Status (1)

Country Link
CN (1) CN104468830B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812472A (zh) * 2016-03-28 2016-07-27 中国科学院计算机网络信息中心 一种基于uri的物联网标识及服务方法
CN107360217A (zh) * 2017-06-21 2017-11-17 深圳市盛路物联通讯技术有限公司 一种基于地理位置和时间的数据上报方法及系统
TWI638270B (zh) * 2017-07-21 2018-10-11 中華電信股份有限公司 Highly scalable Internet of Things cloud service system
CN109951538A (zh) * 2019-03-06 2019-06-28 深圳市飞比电子科技有限公司 数据处理方法、装置、系统、电子设备及存储介质
CN110247971A (zh) * 2019-06-17 2019-09-17 福建天泉教育科技有限公司 减少消息中间件连接数量的方法及其系统
CN110855775A (zh) * 2017-06-19 2020-02-28 深圳市盛路物联通讯技术有限公司 一种基于过滤网关的终端设备工作状态检测方法及系统
CN111049734A (zh) * 2019-12-11 2020-04-21 统一通信(苏州)有限公司 一种物联网coap协议实现即时通讯的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777047A (zh) * 2009-01-08 2010-07-14 国际商业机器公司 多租户环境下访问数据库的系统、设备和方法
CN103488538A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 云计算系统中的应用扩展装置和应用扩展方法
US20140330929A1 (en) * 2013-05-06 2014-11-06 Convida Wireless LLC Semantics Support and Management in M2M Systems
CN104202420A (zh) * 2014-09-18 2014-12-10 广州中国科学院软件应用技术研究所 一种支持物联网中间件集群扩展的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777047A (zh) * 2009-01-08 2010-07-14 国际商业机器公司 多租户环境下访问数据库的系统、设备和方法
US20140330929A1 (en) * 2013-05-06 2014-11-06 Convida Wireless LLC Semantics Support and Management in M2M Systems
CN103488538A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 云计算系统中的应用扩展装置和应用扩展方法
CN104202420A (zh) * 2014-09-18 2014-12-10 广州中国科学院软件应用技术研究所 一种支持物联网中间件集群扩展的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
袁峰: "智能照明系统与智慧城市", 《2014中国(上海)国际半导体照明应用技术论坛论文集》 *
郑树泉: "基于Web服务以物为中心的物联网中间件的研究与设计", 《计算机应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812472A (zh) * 2016-03-28 2016-07-27 中国科学院计算机网络信息中心 一种基于uri的物联网标识及服务方法
CN105812472B (zh) * 2016-03-28 2019-11-12 中国科学院计算机网络信息中心 一种基于uri的物联网标识及服务方法
CN110855775A (zh) * 2017-06-19 2020-02-28 深圳市盛路物联通讯技术有限公司 一种基于过滤网关的终端设备工作状态检测方法及系统
CN110855775B (zh) * 2017-06-19 2022-08-19 深圳市盛路物联通讯技术有限公司 一种基于过滤网关的终端设备工作状态检测方法及系统
CN107360217A (zh) * 2017-06-21 2017-11-17 深圳市盛路物联通讯技术有限公司 一种基于地理位置和时间的数据上报方法及系统
TWI638270B (zh) * 2017-07-21 2018-10-11 中華電信股份有限公司 Highly scalable Internet of Things cloud service system
CN109951538A (zh) * 2019-03-06 2019-06-28 深圳市飞比电子科技有限公司 数据处理方法、装置、系统、电子设备及存储介质
CN110247971A (zh) * 2019-06-17 2019-09-17 福建天泉教育科技有限公司 减少消息中间件连接数量的方法及其系统
CN110247971B (zh) * 2019-06-17 2021-12-24 福建天泉教育科技有限公司 减少消息中间件连接数量的方法及其系统
CN111049734A (zh) * 2019-12-11 2020-04-21 统一通信(苏州)有限公司 一种物联网coap协议实现即时通讯的方法

Also Published As

Publication number Publication date
CN104468830B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN104468830A (zh) 一种基于物联网的web服务方法及物联网系统
KR101987784B1 (ko) 소프트웨어 정의 네트워크를 기반으로 내용 배포 네트워크를 구현하는 방법 및 시스템
US8719427B2 (en) Efficiency for network group communication
JP6275837B2 (ja) サブスクリプション通知を実施するための方法および装置
CN102377796B (zh) 基于OSGi的异构服务集成系统及方法
US20140369251A1 (en) Method, group server, and member device for accessing member resources
CN104539681B (zh) 分布式gis加速系统和gis服务的处理方法
CN103345420A (zh) 批量调用api接口的方法、系统和装置
JP2016535895A (ja) ソフトウェア更新方法、システム及びデバイス
CN106031100B (zh) 业务链的部署方法和装置
CN109729183A (zh) 请求处理方法、装置、设备及存储介质
CN110636552B (zh) 一种管理网元的方法、设备及系统
CN101808051A (zh) 应用整合网关及其控制方法
CN109040243A (zh) 一种报文处理方法及装置
CN103685535A (zh) 一种大规模分布异构数据处理的云数据库系统接口设计
CN109547524A (zh) 基于物理网的用户行为存储方法、装置、设备及存储介质
CN107317890B (zh) 一种智能车载网的数据传输实现方法
CN103209196A (zh) 门户接入方法及装置
CN100484014C (zh) 智能网中的分布式集群业务管理系统及业务管理方法
CN105427149A (zh) 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置
CN113424608B (zh) 用于为网络提供外部服务的实体
CN110445859A (zh) 分布式gis加速系统和gis服务的处理方法
CN104639379A (zh) 测试代理方法及其装置
CN116319301A (zh) 适用于多模态网络的资源管理方法及系统
Rodrigues et al. Zigzag: A middleware for service discovery in future internet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190410

Address after: 510000 Room 1921, 27 Huanshi Avenue Center, Nansha District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Zhongke Yide Technology Co., Ltd.

Address before: 511458 8th Floor, Building A, 1121 Haibin Road, Nansha District, Guangzhou City, Guangdong Province

Patentee before: Institute of Software Application Technology, Guangzhou & Chinese Academy of Sciences

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 510000 Room 501, no.221-1, Huanshi Avenue West, Nansha District, Guangzhou City, Guangdong Province (self compiled room 01)

Patentee after: Guangzhou Zhongke Yide Technology Co.,Ltd.

Address before: 510000 Room 1921, 27 Huanshi Avenue Center, Nansha District, Guangzhou City, Guangdong Province

Patentee before: Guangzhou Zhongke Yide Technology Co.,Ltd.

CP02 Change in the address of a patent holder