CN110896414B - 利用iot实现服务之间消息通知的方法 - Google Patents
利用iot实现服务之间消息通知的方法 Download PDFInfo
- Publication number
- CN110896414B CN110896414B CN201911152361.7A CN201911152361A CN110896414B CN 110896414 B CN110896414 B CN 110896414B CN 201911152361 A CN201911152361 A CN 201911152361A CN 110896414 B CN110896414 B CN 110896414B
- Authority
- CN
- China
- Prior art keywords
- service
- interface
- iot
- message
- name
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种利用IOT实现服务之间消息通知的方法,包括:将服务作为设备向IOT注册,并在服务与IOT建立连接后,IOT通过设备编号获取服务名进行并以服务名作为关键字创建一个连接池存储服务对应的连接,通过IOT对服务的可对外提供的接口进行管理;服务向IOT订阅消息接收主题;服务向IOT获取目标服务的接口;将目标服务接口存入本地缓存;以及服务与目标服务接口的消息通信,其中基于从消息体中获取到的服务名和接口名的状态确定消息的到达并建立联系与响应。本发明的方法可支持群发消息,并且消息处理能力可动态扩展。
Description
技术领域
本发明涉及物联网平台技术领域,具体而言涉及一种利用IOT实现服务之间消息通知的方法。
背景技术
物联网(IOT)是一种将各种设备连接到统一的管理平台,实现设备和平台之间数据采集和命令下发的双向通信。利用万物互联的思想,把各服务作为IOT中的一个设备来对待,服务与服务之间的通信可以理解为设备与设备之间的通信,当服务以设备的方式注册到IOT后,向IOT实时更新服务可对外提供的接口,当其他服务依赖此接口时,可以通过IOT获取,并向此接口发送消息。
发明内容
本发明目的在于提供一种利用IOT实现服务之间消息通知的方法,支持群发消息,并且消息处理能力可动态扩展。
为实现上述目的,本发明的第一方面提出一种利用IOT实现服务之间消息通知的方法,包括:
步骤1、将服务作为设备向IOT注册,并在服务与IOT建立连接后,IOT通过设备编号获取服务名进行并以服务名作为关键字创建一个连接池存储服务对应的连接,通过IOT对服务的可对外提供的接口进行管理;
步骤2、服务向IOT订阅消息接收主题;
步骤3、服务向IOT获取目标服务的接口;
步骤4、将目标服务接口存入本地缓存;以及
步骤5、服务与目标服务接口的消息通信,其中基于从消息体中获取到的服务名和接口名的状态确定消息的到达并建立联系与响应。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是根据本发明实施例的利用IOT实现服务之间消息通知的方法的服务注册与发现的流程示意图。
图2是根据本发明实施例的利用IOT实现服务之间消息通知的方法的消息通信的流程示意图。
图3是根据本发明实施例的利用IOT实现服务之间消息通知的方法的具体应用的示例。
图4是根据本发明实施例的利用IOT实现服务之间消息通知的方法中使用的IOT服务连接池的示例。
图5是根据本发明实施例的利用IOT实现服务之间消息通知的方法中使用的字段的定义示例。
图6是根据本发明实施例的利用IOT实现服务之间消息通知的方法中使用的IOT服务接口池的示例。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
结合图1-图6所示,根据本发明的示例,提出的一种利用IOT实现服务之间消息通知的方法,旨在利用mqtt等物联网协议进行服务间消息的通信,消息体小,宽带占用少,消息发送更快。
结合图1、2所示的流程,本发明示例性的实现过程包括以下具体操作:
步骤1、将服务作为设备向IOT注册,并在服务与IOT建立连接后,结合图3、图4,IOT通过设备编号获取服务名进行并以服务名作为关键字创建一个连接池存储服务对应的连接,通过IOT对服务的可对外提供的接口进行管理;
步骤2、服务向IOT订阅消息接收主题;
步骤3、服务向IOT获取目标服务的接口;
步骤4、将目标服务接口存入本地缓存;以及
步骤5、服务与目标服务接口的消息通信,其中基于从消息体中获取到的服务名和接口名的状态确定消息的到达并建立联系与响应。
优选地,在所述步骤1中,结合图3,在服务注册到IOT的过程中,包括以下操作:
服务注册时,其设备编号命名规则为:SERVICE:serviceName+ip+port+随机正整数,其中serviceName表示服务名,ip表示服务的ip地址,port代表服务的启动端口,随机正整数代表与IOT建立连接的随机编号。
优选地,在所述步骤1中,还包括以下操作:
1)服务与IOT建立连接后,如图4、6所示,通过设备编号获取服务名serviceName,并以serviceName做为关键字创建一个连接池(s002),存储服务对应的连接客户端client(s003),如图;
2)IOT向各服务连接池中的连接客户端client(s003)定时发送ping消息,以确保服务可用;以及
3)IOT将服务对应的连接池存储在Map格式的存储结构中,统称服务连接池(s001)。
优选地,所述步骤1中,更加包括服务向IOT上报可对外提供的接口,其操作包括:
1)服务与IOT建立连接后,向IOT的主题/service/interface/register发送消息,消息内容为服务对外提供的接口,包括服务名、接口名、接口对应的interfaceTopic,接口对应的消息code、接口的请求参数以及接口的返回参数,如图5所示;以及
2)服务向IOT发起订阅命令,订阅的主题为对外提供接口对用的主题,即图5中的接口对应的interfaceTopic。
优选地,所述步骤1中更加包含IOT对服务的可对外提供的接口的管理,其操作过程包括:
1)IOT建立一个Map<String,Object>格式的存储结构(s005),用来存储服务对应的接口,以接口名interfaceName为键;以及
2)IOT建立一个Map<String,Map>格式的存储结构(s004),用来存储管理各服务对应的Map。
优选地,所述步骤1中更加包含IOT对服务的可对外提供的接口的管理,结合图6所示,其操作过程还包括:
IOT对外提供根据服务名查询服务对外暴露接口信息的方法。
优选地,所述步骤2的操作包括下述过程:
服务向IOT订阅消息接收主题:/service/${serviceName}/message/response,其中${serviceName}是当前服务的名称。
优选地,所述步骤3的操作包括下述过程:
1)服务向IOT主题/service/interface/get发送消息获取目标服务接口;
2)IOT从服务接口池中获取到服务的接口后,然后再通过主题/service/${serviceName}/message/response返回消息。
优选地,所述步骤5中服务与目标服务接口的消息通信的操作过程包括:
1)服务向目标服务接口发送消息,当获取到目标服务接口对应的主题后,向主题发送消息;
2)目标服务接口从消息体中获取服务名serviceName判断服务是否存在,如果不存在,则向发送方返回错误消息;如果存在,则进一步获取接口名interfaceName,判断接口是否存在,如果不存在,则向发送方返回错误消息;如果存在,则发送消息到达目标服务;
3)目标服务处理接口请求,其中目标服务接口接收到请求后,处理请求并将响应通过主题/service/${serviceName}/message/response返回调用方。
如此,本发明提出的消息间通信的方法,还支持群发消息,利用mqtt协议的通配符订阅方式,可以实现消息群发功能;同时,消息处理能力可动态扩展,可以动态增加服务注册到IOT的虚拟设备数,可提高服务的接收和推送能力。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (6)
1.一种利用IOT实现服务之间消息通知的方法,其特征在于,包括:
步骤1、将服务作为设备向IOT注册,并在服务与IOT建立连接后,IOT通过设备编号获取服务名进行并以服务名作为关键字创建一个连接池存储服务对应的连接,通过IOT对服务的可对外提供的接口进行管理;
步骤2、服务向IOT订阅消息接收主题;
步骤3、服务向IOT获取目标服务的接口;
步骤4、将目标服务接口存入本地缓存;以及
步骤5、服务与目标服务接口的消息通信,其中基于从消息体中获取到的服务名和接口名的状态确定消息的到达并建立联系与响应;
其中,在所述步骤1中,在服务注册到IOT的过程中,包括以下操作:
服务注册时,其设备编号命名规则为:SERVICE:serviceName+ip+port+随机正整数,其中serviceName表示服务名,ip表示服务的ip地址,port代表服务的启动端口,随机正整数代表与IOT建立连接的随机编号;
在所述步骤1中,还包括以下操作:
1)服务与IOT建立连接后,通过设备编号获取服务名serviceName,并以serviceName做为关键字创建一个连接池,存储服务对应的连接客户端client;
2)IOT向各服务连接池中的连接客户端client定时发送ping消息;以及
3)IOT将服务对应的连接池存储在Map格式的存储结构中,统称服务连接池;
所述步骤1中,还包括服务向IOT上报可对外提供的接口,其操作包括:
1)服务与IOT建立连接后,向IOT的主题/service/interface/register发送消息,消息内容为服务对外提供的接口,包括服务名、接口名、接口对应的interfaceTopic,接口对应的消息code、接口的请求参数以及接口的返回参数;以及
2)服务向IOT发起订阅命令,订阅的主题为对外提供接口对用的主题,即接口对应的interfaceTopic。
2.根据权利要求1所述的利用IOT实现服务之间消息通知的方法,其特征在于,所述步骤1中更加包含IOT对服务的可对外提供的接口的管理,其操作过程包括:
1)IOT建立一个Map<String,Object>格式的存储结构,用来存储服务对应的接口,以接口名interfaceName为键;以及
2)IOT建立一个Map<String,Map>格式的存储结构,用来存储管理各服务对应的Map。
3.根据权利要求1所述的利用IOT实现服务之间消息通知的方法,其特征在于,所述步骤1中更加包含IOT对服务的可对外提供的接口的管理,其操作过程还包括:
IOT对外提供根据服务名查询服务对外暴露接口信息的方法。
4.根据权利要求1所述的利用IOT实现服务之间消息通知的方法,其特征在于,所述步骤2的操作包括下述过程:
服务向IOT订阅消息接收主题:/service/${serviceName}/message/response,其中${serviceName}是当前服务的名称。
5.根据权利要求1所述的利用IOT实现服务之间消息通知的方法,其特征在于,所述步骤3的操作包括下述过程:
1)服务向IOT主题/service/interface/get发送消息获取目标服务接口;
2)IOT从服务接口池中获取到服务的接口后,然后再通过主题/service/${serviceName}/message/response返回消息。
6.根据权利要求1所述的利用IOT实现服务之间消息通知的方法,其特征在于,所述步骤5中服务与目标服务接口的消息通信的操作过程包括:
1)服务向目标服务接口发送消息,当获取到目标服务接口对应的主题后,向主题发送消息;
2)目标服务接口从消息体中获取服务名serviceName判断服务是否存在,如果不存在,则向发送方返回错误消息;如果存在,则进一步获取接口名interfaceName,判断接口是否存在,如果不存在,则向发送方返回错误消息;如果存在,则发送消息到达目标服务;
3)目标服务处理接口请求,其中目标服务接口接收到请求后,处理请求并将响应通过主题/service/${serviceName}/message/response返回调用方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911152361.7A CN110896414B (zh) | 2019-11-22 | 2019-11-22 | 利用iot实现服务之间消息通知的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911152361.7A CN110896414B (zh) | 2019-11-22 | 2019-11-22 | 利用iot实现服务之间消息通知的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110896414A CN110896414A (zh) | 2020-03-20 |
CN110896414B true CN110896414B (zh) | 2022-06-07 |
Family
ID=69786934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911152361.7A Active CN110896414B (zh) | 2019-11-22 | 2019-11-22 | 利用iot实现服务之间消息通知的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110896414B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866170B (zh) * | 2020-07-30 | 2023-08-08 | 小视科技(江苏)股份有限公司 | Iot集群内发送同步消息的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797392A (zh) * | 2014-07-22 | 2017-05-31 | 康维达无线有限责任公司 | M2m‑iot服务的发布和发现 |
CN108156029A (zh) * | 2017-12-20 | 2018-06-12 | 中国电子科技集团公司信息科学研究院 | 物联网能力集成和组合***及能力集成和组合方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6741853B2 (ja) * | 2016-07-14 | 2020-08-19 | コンヴィーダ ワイヤレス, エルエルシー | サブスクリプションおよび通知サービス |
CN106656706B (zh) * | 2017-02-25 | 2020-06-19 | 华南理工大学 | 基于软件总线的面向服务的机器人开放式控制***及方法 |
CN109413185A (zh) * | 2018-10-31 | 2019-03-01 | 国网河南省电力公司焦作供电公司 | 一种设备巡检***及其云服务器设计方法 |
CN109542537A (zh) * | 2018-11-15 | 2019-03-29 | 江苏东洲物联科技有限公司 | 一种基于微服务化架构的边缘计算网关 |
CN110311900A (zh) * | 2019-06-19 | 2019-10-08 | 微梦创科网络科技(中国)有限公司 | 一种服务调用方法、装置、电子设备及存储介质 |
-
2019
- 2019-11-22 CN CN201911152361.7A patent/CN110896414B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797392A (zh) * | 2014-07-22 | 2017-05-31 | 康维达无线有限责任公司 | M2m‑iot服务的发布和发现 |
CN108156029A (zh) * | 2017-12-20 | 2018-06-12 | 中国电子科技集团公司信息科学研究院 | 物联网能力集成和组合***及能力集成和组合方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110896414A (zh) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101103609B (zh) | 用于处理紧急呼叫的方法及装置 | |
EP2258128B1 (en) | Methods, systems, and computer readable media for routing a message service message through a communications network | |
US9065788B2 (en) | Method, device and system for voice communication | |
WO2006024791A1 (fr) | Procede et systeme de localisation d'utilisateurs pour les services bases sur les protocoles sip ou h.323 avec attribution d'adresse ip dynamique. | |
US11444987B2 (en) | Systems and methods for user capability exchange across networks | |
US20070104205A1 (en) | System and method for processing packet mobile-terminated calls using dynamic IP | |
CN104168545B (zh) | 一种实现即时消息与短信/彩信互通的方法及*** | |
EP2974159B1 (en) | Method, device and system for voice communication | |
CN110035040B (zh) | 一种信令寻址的方法和装置 | |
CN110896414B (zh) | 利用iot实现服务之间消息通知的方法 | |
CN101426261B (zh) | 多媒体子***业务处理的方法、p-cscf、i-cscf和多媒体子*** | |
US9485283B2 (en) | Method and apparatus for enabling communications between users | |
US8862095B2 (en) | Managing mobile nodes in a lawful intercept architecture | |
CN105391702A (zh) | 音/视频通信方法、终端、服务器及平台 | |
CN114830703B (zh) | 签约改变的处理方法、设备及*** | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
CN114258088B (zh) | 中间会话管理功能设备发现方法、设备和***、存储介质 | |
CN111565235A (zh) | 一种获取多媒体消息业务服务器地址的方法及装置 | |
US8498401B2 (en) | Mobile-to-mobile call determination | |
JP3827415B2 (ja) | 電子メールシステムの端末装置 | |
CN110572350A (zh) | 一种进行ims业务注册的方法和设备 | |
CN102158991B (zh) | 设备管理的方法、网关设备及设备管理服务器 | |
WO2022093085A1 (en) | Obtaining information pertaining to a network function in lawful interception | |
CN114553834B (zh) | 5g核心网和ims网络的交互方法及装置 | |
CN115209522B (zh) | 网络功能注册方法、发现方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000 Patentee after: Xiaoshi Technology (Jiangsu) Co.,Ltd. Address before: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000 Patentee before: NANJING ZHENSHI INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |