CN112671638A - 一种用于多协议转换的网关结构 - Google Patents
一种用于多协议转换的网关结构 Download PDFInfo
- Publication number
- CN112671638A CN112671638A CN202110042845.7A CN202110042845A CN112671638A CN 112671638 A CN112671638 A CN 112671638A CN 202110042845 A CN202110042845 A CN 202110042845A CN 112671638 A CN112671638 A CN 112671638A
- Authority
- CN
- China
- Prior art keywords
- module
- communication protocol
- data packet
- identifier
- target
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,公开了一种用于多协议转换的网关结构,即包括有格式转换模块、在线记录模块、应用处理模块、数据封装模块和至少三个支持互不相同通信协议的通信协议模块,通过这些模块的布置和工作,可以先将已收数据包转换为统一定义数据格式的中间数据包,然后在发现目标终端设备上线时,基于查找到的目标模块标识、目标协议标识、待发目标地址和待发源地址,对所述中间数据包中的源设备标识和数据内容进行封装和排队转发,从而可以实现多协议的解析,并打破终端设备之间因为协议不同导致无法通讯控制的问题,大大扩展了智能家居不同的生态体系,提升了用户体验。
Description
技术领域
本发明属于通信技术领域,具体地涉及一种用于多协议转换的网关结构。
背景技术
近年来,在物联网技术的推动下,智慧家庭产业发展迅速,出现越来越多功能各异的智能家居设备。在基本的智慧家庭系统中,家庭网关作为系统的主要枢纽,对内连接智能家居设备,进行数据的汇聚和转发;对外连接控制终端,支持用户对家居设备的远程控制和管理。目前智能家居设备与智慧家庭网关的通信有两种方式:有线和无线,前者虽然信号稳定,但具有布线困难和成本高的缺点,因此随着无线通信技术的大力发展,通信距离和信号稳定性足够满足家庭使用,因此无线通信逐渐在智慧家庭领域占据主导地位。现在智慧家庭领域主流的无线通信方式为WIFI、蓝牙、ZigBee和红外等。
随着无线通信协议的增多,导致智能家居设备通信接口没有统一标准,不同的设备根据自身的厂商设计方式采用不同的通信协议,比如一个智能温湿度计可采用WIFI通信协议上传数据,也可以采用蓝牙通信协议或ZigBee通信协议等。用户通过移动控制终端(如手机)无法直接与采用ZigBee等通信协议的智能设备直接通信,用户如果实现对智能家居设备的控制,需要通过智慧家庭网关进行协议转换,再通过网络通信将智能家居设备上的数据信息转发到用户的手机上。
而目前市面上大多数家庭网关只支持单一通信协议,应用场景单一,支持设备通信协议固定,无法很好地应用到现今多种协议共存的智慧家庭领域中。由于智能家居设备品牌之间的竞争,各厂商生产的家庭网关基本只支持与自身品牌的智能家居设备通信,即使部分家庭网关能够支持第三方设备,也需要用户编程实现,对普通用户不够友好,兼容性太差。对用户而言,如果选择某一品牌网关,则只能选择支持该品牌网关通信协议的部分智能家居设备,给用户使用带来很大的局限性。用户如果选择不同品牌的智能家居设备,则需要配置多个家庭网关,增加了成本和系统复杂度,并且不同品牌之间的产品无法互联互通,无法实现物联网环境下的智能化。
发明内容
为了解决现有智慧家庭领域中所存在的不同厂家且不同协议的设备无法互联互通,导致降低用户体验的问题,本发明目的在于提供一种用于多协议转换的网关结构,可以实现多协议的解析,并打破终端设备之间因为协议不同导致无法通讯控制的问题,大大扩展了智能家居不同的生态体系,提升了用户体验。
本发明提供了一种用于多协议转换的网关结构,包括有通信协议模块、格式转换模块、在线记录模块、应用处理模块和数据封装模块,其中,所述通信协议模块的数目有M个且至少有N个通信协议模块支持互不相同的通信协议,M为大于N的自然数,N为大于或等于3的自然数;
所述通信协议模块,用于在与终端设备建立基于对应通信协议的通信连接后,与该终端设备交互基于对应通信协议数据格式封装的数据包;
所述格式转换模块,分别通信连接各个所述通信协议模块,用于将由通信协议模块接收的已收数据包转换为统一定义数据格式的中间数据包,并将所述中间数据包传送至所述应用处理模块,其中,所述统一定义数据格式包含有源设备标识字段、目标设备标识字段和数据内容字段;
所述在线记录模块,分别通信连接各个所述通信协议模块,用于在发现通信协议模块建立与终端设备的通信连接时,在记录表中添加一条在线信息,以及在发现该通信协议模块断开与该终端设备的通信连接时,在所述记录表中删除所述在线信息,其中,所述在线信息包含有与该通信协议模块对应的模块标识及通信协议标识、与该终端设备对应的设备标识及终端侧协议地址和与所述通信协议标识对应的网关侧协议地址;
所述应用处理模块,分别通信连接所述格式转换模块和所述在线记录模块,用于在收到所述中间数据包时,依次执行如下步骤S1~S4:
S1.访问所述在线记录模块,读取当前的记录表;
S2.根据所述中间数据包中的且由目标设备标识字段记录的目标设备标识,在所述当前的记录表中查找设备标识与所述目标设备标识匹配的第一在线信息;
S3.若找到,则将在查找到的第一在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址;
S4.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及在所述中间数据包中的且由源设备标识字段记录的源设备标识和由数据内容字段记录的数据内容,传送至所述数据封装模块;
所述数据封装模块,分别通信连接所述应用处理模块和各个所述通信协议模块,用于基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址、所述源设备标识和所述数据内容进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便排队发送所述待发数据包,其中,所述待发目标地址作为所述待发数据包的目标地址,所述待发源地址作为所述待发数据包的源地址。
基于上述发明内容,提供了一种适用于智能家居场景的新型多协议网关,即包括有格式转换模块、在线记录模块、应用处理模块、数据封装模块和至少三个支持互不相同通信协议的通信协议模块,通过这些模块的布置和工作,可以先将已收数据包转换为统一定义数据格式的中间数据包,然后在发现目标终端设备上线时,基于查找到的目标模块标识、目标协议标识、待发目标地址和待发源地址,对所述中间数据包中的源设备标识和数据内容进行封装和排队转发,从而可以实现多协议的解析,并打破终端设备之间因为协议不同导致无法通讯控制的问题,大大扩展了智能家居不同的生态体系,提升了用户体验。
在一个可能的设计中,在所述步骤S2之后,所述应用处理模块还执行如下步骤:
S21.若未找到,则缓存所述中间数据包;
S22.针对所述中间数据包,判断执行所述步骤S1的次数是否小于预设次数阈值;
S23.若是,则在等待预设时长阈值后,返回执行所述步骤S1。
在一个可能的设计中,当所述统一定义数据格式还包含有数据类型字段时,若所述中间数据包中的且由数据类型字段记录的数据包类型为控制包类型,则所述预设次数阈值为第一正整数,否则所述预设次数阈值为大于所述第一正整数的第二正整数。
在一个可能的设计中,在所述步骤S22之后,所述应用处理模块还执行如下步骤:
S240.若否,则在缓存区中删除所述中间数据包。
在一个可能的设计中,在所述步骤S22之后,所述应用处理模块还执行如下步骤:
S241.若否,则根据所述中间数据包中的且由源设备标识字段记录的源设备标识,在所述当前的记录表中查找设备标识与所述源设备标识匹配的第二在线信息;
S242.若找到,则将在查找到的第二在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址;
S243.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及生成的传送失败信息,传送至所述数据封装模块,以便所述数据封装模块基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址和所述传送失败信息进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便进一步排队发送所述待发数据包。
在一个可能的设计中,所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息中的模块标识,分别获取对应通信协议模块的且位于当前发送队列中的待发数据包的个数及各个待发数据包的数据包长度,并根据获取结果和对应通信协议的当前发送速率,计算得到总预估发送时长;
针对与最短的总预估发送时长对应的第一在线信息,依次执行所述步骤S3~S4。
在一个可能的设计中,所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4;
在收到来自与某条所述第一在线信息中模块标识对应的通信协议模块上传的且与所述中间数据包对应的待发数据包发送成功信息时,生成终止发送指令;
向与其它条所述第一在线信息中模块标识对应的通信协议模块传送所述终止发送指令,以便所述通信协议模块在发送队列中剔除未发送的且与所述中间数据包对应的待发数据包。
在一个可能的设计中,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为广播标识或组播标识时,在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4。
在一个可能的设计中,还包括有人机交互模块,其中,所述人机交互模块通信连接所述在线记录模块,用于展示所述当前的记录表。
在一个可能的设计中,所述通信协议模块包括有有线通信协议模块和/或无线通信协议模块,其中,所述有线通信协议模块包括有RS232通信协议模块、RS485通信协议模块和KNX通信协议模块,所述无线通信协议模块包括有ZigBee通信协议模块、GPRS通信协议模块、WiFi通信协议模块、红外通信协议模块和/或蓝牙通信协议模块。
本发明的有益效果为:
(1)本发明创造提供了一种适用于智能家居场景的新型多协议网关,即包括有格式转换模块、在线记录模块、应用处理模块、数据封装模块和至少三个支持互不相同通信协议的通信协议模块,通过这些模块的布置和工作,可以先将已收数据包转换为统一定义数据格式的中间数据包,然后在发现目标终端设备上线时,基于查找到的目标模块标识、目标协议标识、待发目标地址和待发源地址,对所述中间数据包中的源设备标识和数据内容进行封装和排队转发,从而可以实现多协议的解析,并打破终端设备之间因为协议不同导致无法通讯控制的问题,大大扩展了智能家居不同的生态体系,提升了用户体验;
(2)由于所述格式转换模块优选布置在位于应用层与用户接口层/设备接口层之间的协议解析及转换层,以便在提高网关的兼容性和通用性,实现不同协议物联网设备之间互联互通的同时,使得应用层无需为每种协议设置对应解析模块,降低了网关应用层设计开发难度,提高了多协议通信效率,降低了多协议网关的运营成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于多协议转换的网关结构示意图。
图2是本发明提供的基于网关结构的应用系统结构示意图。
图3是本发明提供的在网关结构中应用处理模块的执行方法流程示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、数量、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
应当理解,还应当注意到在一些备选可能设计中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
本实施例第一方面所提供的且用于多协议转换的网关结构,如图1所示,包括但不限于有通信协议模块、格式转换模块、在线记录模块、应用处理模块和数据封装模块等,其中,所述通信协议模块的数目有M个且至少有N个通信协议模块支持互不相同的通信协议,M为大于N的自然数,N为大于或等于3的自然数。
所述通信协议模块,用于在与终端设备建立基于对应通信协议的通信连接后,与该终端设备交互基于对应通信协议数据格式封装的数据包。所述通信协议模块可布置在用户接口层/设备接口层,具体的,所述通信协议模块包括有有线通信协议模块和/或无线通信协议模块,其中,所述有线通信协议模块包括但不限于有RS232通信协议模块、RS485通信协议模块和KNX(即Konnex的缩写;1999年5月,欧洲三大总线协议EIB、BatiBus和EHSA合并成立了Konnex协会,提出了KNX协议;该协议以EIB为基础,兼顾了BatiBus和EHSA的物理层规范,并吸收了BatiBus和EHSA中配置模式等优点,提供了家庭或楼宇自动化的完整解决方案)通信协议模块等,所述无线通信协议模块包括但不限于有ZigBee通信协议模块、GPRS(General packet radio service,中文名称为通用无线分组业务,是一种基于GSM系统的无线分组交换技术,提供端到端的且广域的无线IP连接)通信协议模块、WiFi通信协议模块、红外通信协议模块和/或蓝牙通信协议模块等。前述通信协议模块基本上涵盖了当前市场上占有量比较大的协议,并与终端设备建立基于对应通信协议的通信连接的方式为现有常规方式。此外,所述终端设备可以但不限于具体包括有作为控制终端的智能手机(其一般基于GPRS通信协议建立通信连接)以及作为受控设备的智能台灯(其一般基于KNX通信协议建立通信连接)、智能电视(其一般基于红外通信协议建立通信连接)或扫地机器人(其一般基于ZigBee通信协议建立通信连接)等设备,如图2所示。
所述格式转换模块,分别通信连接各个所述通信协议模块,用于将由通信协议模块接收的已收数据包转换为统一定义数据格式的中间数据包,并将所述中间数据包传送至所述应用处理模块,其中,所述统一定义数据格式包含但不限于有源设备标识字段、目标设备标识字段和数据内容字段等。所述格式转换模块优选布置在位于应用层与用户接口层/设备接口层之间的协议解析及转换层,以便在提高网关的兼容性和通用性,实现不同协议物联网设备之间互联互通的同时,使得应用层无需为每种协议设置对应解析模块,降低了网关应用层设计开发难度,提高了多协议通信效率,降低了多协议网关的运营成本。所述源设备标识字段用于唯一标记向网关发送所述已收数据包的终端设备,其记录的源设备标识可以但不限于基于所述已收数据包中的源地址得到,并采用一个字节来表示。所述目标设备标识字段用于唯一标记所述已收数据包的最终发送目的设备,其记录的目标设备标识可以但不限于基于所述已收数据包中的目标地址得到,并采用一个字节来表示。所述数据内容字段用于记录所述已收数据包中的控制指令信息、状态数据信息和/或采集数据信息等,可采用若干个字节来表示。将所述已收数据包转换为统一定义数据格式的中间数据包的具体方式,可以基于现有数据格式转换方式进行常规改动得到,并需要应用层与协议解析/转换层进行预先约定(具体预先约定的内容包括统一定义数据格式中各个字段代表的含义和顺序,各个字段所占用的字节数,每个字段中不同的标识码所代表的含义等)。此外,所述统一定义数据格式还包含但不限于有用于记录所述已收数据包的数据类型(例如控制包类型、状态包类型或采集包类型等)的数据类型字段(可举例采用一个字节来表示)和用于记录所述数据内容字段的所占字节长度的数据长度字段(可举例采用一个字节来表示)等。
所述在线记录模块,分别通信连接各个所述通信协议模块,用于在发现通信协议模块建立与终端设备的通信连接时,在记录表中添加一条在线信息,以及在发现该通信协议模块断开与该终端设备的通信连接时,在所述记录表中删除所述在线信息,其中,所述在线信息包含但不限于有与该通信协议模块对应的模块标识及通信协议标识、与该终端设备对应的设备标识及终端侧协议地址和与所述通信协议标识对应的网关侧协议地址等。所述在线记录模块可布置在应用层,用于通过所述记录表反映当前所有在线终端设备的通信连接关系,以便基于通信连接关系快速地找到在线的目标终端设备,并封装和发送待发数据包。所述在线信息与所述通信协议模块是一一对应关系,但与所述终端设备可以是一一对应关系,也可以是多对一关系(即一个终端设备可以通过不同的通信协议模块建立与网关的通信连接,例如智能手机可以分别建立与GPRS通信协议模块、WiFi通信协议模块和蓝牙通信协议模块的通信连接)。在所述在线信息中,所述模块标识用于唯一标记所述通信协议模块;所述通信协议标识用于唯一标记所述通信协议模块所支持的通信协议,其与所述通信协议模块可以是一一对应关系,也可以是一对多关系(即可以有多个通信协议模块支持同一个通信协议,例如多个有线接口支持同一个有线通信协议);所述设备标识用于唯一标记在线的终端设备;所述终端侧协议地址用于唯一标记在基于对应通信协议建立的通信连接中被终端设备所使用的通信地址,其可以是固有的通信地址(例如媒介接入MAC地址),也可以是在通信连接建立过程中临时分配的通信地址(例如动态IP地址);所述网关侧协议地址用于唯一标记在基于对应通信协议建立的通信连接中被网关设备所使用的通信地址,其可以是固有的通信地址(例如媒介接入MAC地址),也可以是在通信连接建立过程中临时分配的通信地址(例如动态IP地址)。
所述应用处理模块,分别通信连接所述格式转换模块和所述在线记录模块,用于布置在应用层且在收到所述中间数据包时,可以但不限于依次执行如下步骤S1~S4。
S1.访问所述在线记录模块,读取当前的记录表。
S2.根据所述中间数据包中的且由目标设备标识字段记录的目标设备标识,在所述当前的记录表中查找设备标识与所述目标设备标识匹配的第一在线信息。
S3.若找到,则将在查找到的第一在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址。
S4.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及在所述中间数据包中的且由源设备标识字段记录的源设备标识和由数据内容字段记录的数据内容,传送至所述数据封装模块。
所述数据封装模块,分别通信连接所述应用处理模块和各个所述通信协议模块,用于基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址、所述源设备标识和所述数据内容进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便排队发送所述待发数据包,其中,所述待发目标地址作为所述待发数据包的目标地址,所述待发源地址作为所述待发数据包的源地址。所述数据封装模块同样优选布置在位于应用层与用户接口层/设备接口层之间的协议解析及转换层,其具体封装方式可以基于现有数据封装方式进行常规改动得到。
基于前述网关结构的详细描述,提供了一种适用于智能家居场景的新型多协议网关,即包括有格式转换模块、在线记录模块、应用处理模块、数据封装模块和至少三个支持互不相同通信协议的通信协议模块,通过这些模块的布置和工作,可以先将已收数据包转换为统一定义数据格式的中间数据包,然后在发现目标终端设备上线时,基于查找到的目标模块标识、目标协议标识、待发目标地址和待发源地址,对所述中间数据包中的源设备标识和数据内容进行封装和排队转发,从而可以实现多协议的解析,并打破终端设备之间因为协议不同导致无法通讯控制的问题,大大扩展了智能家居不同的生态体系,提升了用户体验。
本实施例在前述第一方面的技术方案基础上,还提供了一种当未在第一时间发现目标终端设备时模块工作的可能设计一,即如图3所示,在所述步骤S2之后,所述应用处理模块还可以但不限于执行如下步骤S21~S23。
S21.若未找到,则缓存所述中间数据包。
S22.针对所述中间数据包,判断执行所述步骤S1的次数是否小于预设次数阈值。
S23.若是,则在等待预设时长阈值后,返回执行所述步骤S1。
在前述步骤S21~S23中,所述预设次数阈值可以举例为5次,所述预设时长阈值可以举例为1分钟,由此当未在第一时间发现目标终端设备时,可以通过前述步骤S21~S23,进行有限次地周期性重复判断目标终端设备是否上线,使得可以允许目标终端设备临时掉线,并在延迟一段时间后才封装和转发所述待发数据包,进一步便于实际应用。此外,在所述步骤S22中,具体的,当所述统一定义数据格式还包含有数据类型字段时,若所述中间数据包中的且由数据类型字段记录的数据包类型为控制包类型,则所述预设次数阈值为第一正整数,否则所述预设次数阈值为大于所述第一正整数的第二正整数。考虑控制包的转发紧迫要求高于非控制包,因此可以举例设置所述第一正整数为3,所述第二正整数为100。同时在所述步骤S22之后,所述应用处理模块还执行如下步骤:S240.若否,则在缓存区中删除所述中间数据包。
本实施例在前述可能设计一的技术方案基础上,还提供了一种当发现目标终端设备未上线时模块工作的可能设计二,即如图3所示,在所述步骤S22之后,所述应用处理模块还可以但不限于执行如下步骤S241~S243。
S241.若否,则根据所述中间数据包中的且由源设备标识字段记录的源设备标识,在所述当前的记录表中查找设备标识与所述源设备标识匹配的第二在线信息。
S242.若找到,则将在查找到的第二在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址。
S243.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及生成的传送失败信息,传送至所述数据封装模块,以便所述数据封装模块基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址和所述传送失败信息进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便进一步排队发送所述待发数据包。
基于前述步骤S241~S243的可能设计二,可以在发现目标终端设备未上线时,若源设备还在线,及时地向源设备反馈传送失败信息,以便用户及时发现目标终端设备掉线问题。
本实施例在前述第一方面的技术方案基础上,还提供了一种当数据包为单播且发现多条适用的通信连接关系时模块工作的可能设计三,即所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:针对各条所述第一在线信息中的模块标识,分别获取对应通信协议模块的且位于当前发送队列中的待发数据包的个数及各个待发数据包的数据包长度,并根据获取结果和对应通信协议的当前发送速率,计算得到总预估发送时长;针对与最短的总预估发送时长对应的第一在线信息,依次执行所述步骤S3~S4。前述总预估发送时长的具体计算方式可以基于现有算法常规得到,由于是针对与最短的总预估发送时长对应的第一在线信息,才依次执行所述步骤S3~S4,可以在多个适用的通信协议模块中选择一个可最快发送待发数据包的通信协议模块,以便实现最快的多协议转换目的。
本实施例在前述第一方面的技术方案基础上,还提供了另一种当数据包为单播且发现多条适用的通信连接关系时模块工作的可能设计四,即所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4;在收到来自与某条所述第一在线信息中模块标识对应的通信协议模块上传的且与所述中间数据包对应的待发数据包发送成功信息时,生成终止发送指令;向与其它条所述第一在线信息中模块标识对应的通信协议模块传送所述终止发送指令,以便所述通信协议模块在发送队列中剔除未发送的且与所述中间数据包对应的待发数据包。由于会及时通过终止发送指令来指示其它接收同一发送任务的通信协议模块,在发送队列中剔除未发送的且与所述中间数据包对应的待发数据包,因此可以在某个通信协议模块成功发送待发数据包时,避免在多个适用的通信协议模块中利用其它通信协议模块重发无意义的待发数据包,并可以实现最快的多协议转换目的。
本实施例在前述第一方面的技术方案基础上,还提供了一种当数据包为广播或组播时模块工作的可能设计五,即当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为广播标识或组播标识时,在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4。由此可以实现一对多的多协议同步转换目的,进一步便于实际应用。
本实施例在前述第一方面的技术方案基础上,还提供了一个可以实时展示记录表的可能设计六,即所述网关结构还包括有人机交互模块,其中,所述人机交互模块通信连接所述在线记录模块,用于展示所述当前的记录表。具体的,所述人机交互模块可以是显示屏,也可以是指示灯。
以上所描述的实施例仅仅是示意性的,若涉及到作为分离部件说明的单元,其可以是或者也可以不是物理上分开的;若涉及到作为单元显示的部件,其可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
Claims (10)
1.一种用于多协议转换的网关结构,其特征在于,包括有通信协议模块、格式转换模块、在线记录模块、应用处理模块和数据封装模块,其中,所述通信协议模块的数目有M个且至少有N个通信协议模块支持互不相同的通信协议,M为大于N的自然数,N为大于或等于3的自然数;
所述通信协议模块,用于在与终端设备建立基于对应通信协议的通信连接后,与该终端设备交互基于对应通信协议数据格式封装的数据包;
所述格式转换模块,分别通信连接各个所述通信协议模块,用于将由通信协议模块接收的已收数据包转换为统一定义数据格式的中间数据包,并将所述中间数据包传送至所述应用处理模块,其中,所述统一定义数据格式包含有源设备标识字段、目标设备标识字段和数据内容字段;
所述在线记录模块,分别通信连接各个所述通信协议模块,用于在发现通信协议模块建立与终端设备的通信连接时,在记录表中添加一条在线信息,以及在发现该通信协议模块断开与该终端设备的通信连接时,在所述记录表中删除所述在线信息,其中,所述在线信息包含有与该通信协议模块对应的模块标识及通信协议标识、与该终端设备对应的设备标识及终端侧协议地址和与所述通信协议标识对应的网关侧协议地址;
所述应用处理模块,分别通信连接所述格式转换模块和所述在线记录模块,用于在收到所述中间数据包时,依次执行如下步骤S1~S4:
S1.访问所述在线记录模块,读取当前的记录表;
S2.根据所述中间数据包中的且由目标设备标识字段记录的目标设备标识,在所述当前的记录表中查找设备标识与所述目标设备标识匹配的第一在线信息;
S3.若找到,则将在查找到的第一在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址;
S4.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及在所述中间数据包中的且由源设备标识字段记录的源设备标识和由数据内容字段记录的数据内容,传送至所述数据封装模块;
所述数据封装模块,分别通信连接所述应用处理模块和各个所述通信协议模块,用于基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址、所述源设备标识和所述数据内容进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便排队发送所述待发数据包,其中,所述待发目标地址作为所述待发数据包的目标地址,所述待发源地址作为所述待发数据包的源地址。
2.如权利要求1所述的网关结构,其特征在于,在所述步骤S2之后,所述应用处理模块还执行如下步骤:
S21.若未找到,则缓存所述中间数据包;
S22.针对所述中间数据包,判断执行所述步骤S1的次数是否小于预设次数阈值;
S23.若是,则在等待预设时长阈值后,返回执行所述步骤S1。
3.如权利要求2所述的网关结构,其特征在于,当所述统一定义数据格式还包含有数据类型字段时,若所述中间数据包中的且由数据类型字段记录的数据包类型为控制包类型,则所述预设次数阈值为第一正整数,否则所述预设次数阈值为大于所述第一正整数的第二正整数。
4.如权利要求2所述的网关结构,其特征在于,在所述步骤S22之后,所述应用处理模块还执行如下步骤:
S240.若否,则在缓存区中删除所述中间数据包。
5.如权利要求2所述的网关结构,其特征在于,在所述步骤S22之后,所述应用处理模块还执行如下步骤:
S241.若否,则根据所述中间数据包中的且由源设备标识字段记录的源设备标识,在所述当前的记录表中查找设备标识与所述源设备标识匹配的第二在线信息;
S242.若找到,则将在查找到的第二在线信息中的模块标识、通信协议标识、终端侧协议地址和网关侧协议地址分别作为目标模块标识、目标协议标识、待发目标地址和待发源地址;
S243.将所述目标模块标识、所述目标协议标识、所述待发目标地址和所述待发源地址及生成的传送失败信息,传送至所述数据封装模块,以便所述数据封装模块基于与所述目标协议标识对应的通信协议数据格式,对所述待发目标地址、所述待发源地址和所述传送失败信息进行封装,得到待发数据包,并将所述待发数据包传送至与所述目标模块标识对应的通信协议模块的发送队列中,以便进一步排队发送所述待发数据包。
6.如权利要求1所述的网关结构,其特征在于,所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息中的模块标识,分别获取对应通信协议模块的且位于当前发送队列中的待发数据包的个数及各个待发数据包的数据包长度,并根据获取结果和对应通信协议的当前发送速率,计算得到总预估发送时长;
针对与最短的总预估发送时长对应的第一在线信息,依次执行所述步骤S3~S4。
7.如权利要求1所述的网关结构,其特征在于,所述应用处理模块还分别通信连接各个所述通信协议模块,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为单播标识时,并在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4;
在收到来自与某条所述第一在线信息中模块标识对应的通信协议模块上传的且与所述中间数据包对应的待发数据包发送成功信息时,生成终止发送指令;
向与其它条所述第一在线信息中模块标识对应的通信协议模块传送所述终止发送指令,以便所述通信协议模块在发送队列中剔除未发送的且与所述中间数据包对应的待发数据包。
8.如权利要求1所述的网关结构,其特征在于,当所述中间数据包中的且由目标设备标识字段记录的目标设备标识为广播标识或组播标识时,在所述步骤S2之后且找到至少两条所述第一在线信息时,所述应用处理模块还执行如下步骤:
针对各条所述第一在线信息,同步地依次执行所述步骤S3~S4。
9.如权利要求1所述的网关结构,其特征在于,还包括有人机交互模块,其中,所述人机交互模块通信连接所述在线记录模块,用于展示所述当前的记录表。
10.如权利要求1所述的网关结构,其特征在于,所述通信协议模块包括有有线通信协议模块和/或无线通信协议模块,其中,所述有线通信协议模块包括有RS232通信协议模块、RS485通信协议模块和KNX通信协议模块,所述无线通信协议模块包括有ZigBee通信协议模块、GPRS通信协议模块、WiFi通信协议模块、红外通信协议模块和/或蓝牙通信协议模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042845.7A CN112671638B (zh) | 2021-01-13 | 2021-01-13 | 一种用于多协议转换的网关结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042845.7A CN112671638B (zh) | 2021-01-13 | 2021-01-13 | 一种用于多协议转换的网关结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671638A true CN112671638A (zh) | 2021-04-16 |
CN112671638B CN112671638B (zh) | 2022-10-04 |
Family
ID=75414843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110042845.7A Active CN112671638B (zh) | 2021-01-13 | 2021-01-13 | 一种用于多协议转换的网关结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671638B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113207099A (zh) * | 2021-05-10 | 2021-08-03 | 合肥工业大学 | 基于标识的安全物联网互联互通网关及其通信系统 |
CN113329359A (zh) * | 2021-06-07 | 2021-08-31 | 杭州涂鸦信息技术有限公司 | 一种通信方法、装置、电子设备及可读存储介质 |
CN113489686A (zh) * | 2021-06-16 | 2021-10-08 | 杭州深渡科技有限公司 | 一种基于knx协议的数据转换方法和系统 |
CN113783893A (zh) * | 2021-09-29 | 2021-12-10 | 远景智能国际私人投资有限公司 | 数据传输方法、装置及系统 |
CN113922923A (zh) * | 2021-08-20 | 2022-01-11 | 上海磐启微电子有限公司 | 一种具有兼容性的蓝牙基带接收系统和方法 |
CN113938529A (zh) * | 2021-08-30 | 2022-01-14 | 上海威派格智慧水务股份有限公司 | 一种多协议转换接入系统及方法 |
CN113938531A (zh) * | 2021-09-23 | 2022-01-14 | 北京车和家信息技术有限公司 | 数据传输方法、装置、设备及介质 |
CN114095585A (zh) * | 2022-01-21 | 2022-02-25 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN114827293A (zh) * | 2022-04-20 | 2022-07-29 | 广东省工业边缘智能创新中心有限公司 | 边缘智能网关管理方法及边缘智能网关 |
CN115118794A (zh) * | 2022-06-17 | 2022-09-27 | 北京亚华物联科技发展有限公司 | 数据标准化的处理方法、装置及电子设备 |
CN116074048A (zh) * | 2022-12-20 | 2023-05-05 | 广州辰创科技发展有限公司 | 一种高速物联智能网关设备系统 |
CN118381837A (zh) * | 2024-06-21 | 2024-07-23 | 杭州胜金微电子有限公司 | 一种多协议的端口复用控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160174268A1 (en) * | 2014-08-20 | 2016-06-16 | Huizhou Tcl Mobile Communication Co., Ltd. | Smart home controller and communication method thereof |
CN107888488A (zh) * | 2016-09-30 | 2018-04-06 | 西门子(中国)有限公司 | 智能网关及其方法 |
US20190150074A1 (en) * | 2017-11-15 | 2019-05-16 | Arris Enterprises Llc | Flexible gateway for heterogenous-device management |
CN110661686A (zh) * | 2019-09-25 | 2020-01-07 | 北京金茂绿建科技有限公司 | 一种支持多协议的智能家居iot网关信号处理方法和装置 |
CN112087441A (zh) * | 2020-09-03 | 2020-12-15 | 郑州信大先进技术研究院 | 多协议通信方法、智慧家庭网关及多协议通信系统 |
CN112153071A (zh) * | 2020-09-30 | 2020-12-29 | 深圳市腾讯计算机系统有限公司 | 消息发送方法、装置、网关及存储介质 |
-
2021
- 2021-01-13 CN CN202110042845.7A patent/CN112671638B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160174268A1 (en) * | 2014-08-20 | 2016-06-16 | Huizhou Tcl Mobile Communication Co., Ltd. | Smart home controller and communication method thereof |
CN107888488A (zh) * | 2016-09-30 | 2018-04-06 | 西门子(中国)有限公司 | 智能网关及其方法 |
US20190150074A1 (en) * | 2017-11-15 | 2019-05-16 | Arris Enterprises Llc | Flexible gateway for heterogenous-device management |
CN110661686A (zh) * | 2019-09-25 | 2020-01-07 | 北京金茂绿建科技有限公司 | 一种支持多协议的智能家居iot网关信号处理方法和装置 |
CN112087441A (zh) * | 2020-09-03 | 2020-12-15 | 郑州信大先进技术研究院 | 多协议通信方法、智慧家庭网关及多协议通信系统 |
CN112153071A (zh) * | 2020-09-30 | 2020-12-29 | 深圳市腾讯计算机系统有限公司 | 消息发送方法、装置、网关及存储介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113207099A (zh) * | 2021-05-10 | 2021-08-03 | 合肥工业大学 | 基于标识的安全物联网互联互通网关及其通信系统 |
CN113329359A (zh) * | 2021-06-07 | 2021-08-31 | 杭州涂鸦信息技术有限公司 | 一种通信方法、装置、电子设备及可读存储介质 |
CN113489686B (zh) * | 2021-06-16 | 2023-01-10 | 杭州深渡科技有限公司 | 一种基于knx协议的数据转换方法和系统 |
CN113489686A (zh) * | 2021-06-16 | 2021-10-08 | 杭州深渡科技有限公司 | 一种基于knx协议的数据转换方法和系统 |
CN113922923A (zh) * | 2021-08-20 | 2022-01-11 | 上海磐启微电子有限公司 | 一种具有兼容性的蓝牙基带接收系统和方法 |
CN113938529A (zh) * | 2021-08-30 | 2022-01-14 | 上海威派格智慧水务股份有限公司 | 一种多协议转换接入系统及方法 |
CN113938531A (zh) * | 2021-09-23 | 2022-01-14 | 北京车和家信息技术有限公司 | 数据传输方法、装置、设备及介质 |
CN113938531B (zh) * | 2021-09-23 | 2023-10-31 | 北京车和家信息技术有限公司 | 数据传输方法、装置、设备及介质 |
CN113783893A (zh) * | 2021-09-29 | 2021-12-10 | 远景智能国际私人投资有限公司 | 数据传输方法、装置及系统 |
CN114095585B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN114095585A (zh) * | 2022-01-21 | 2022-02-25 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN114827293A (zh) * | 2022-04-20 | 2022-07-29 | 广东省工业边缘智能创新中心有限公司 | 边缘智能网关管理方法及边缘智能网关 |
CN114827293B (zh) * | 2022-04-20 | 2024-06-21 | 广东省工业边缘智能创新中心有限公司 | 边缘智能网关管理方法及边缘智能网关 |
CN115118794A (zh) * | 2022-06-17 | 2022-09-27 | 北京亚华物联科技发展有限公司 | 数据标准化的处理方法、装置及电子设备 |
CN116074048A (zh) * | 2022-12-20 | 2023-05-05 | 广州辰创科技发展有限公司 | 一种高速物联智能网关设备系统 |
CN116074048B (zh) * | 2022-12-20 | 2023-11-14 | 广州辰创科技发展有限公司 | 一种高速物联智能网关设备系统 |
CN118381837A (zh) * | 2024-06-21 | 2024-07-23 | 杭州胜金微电子有限公司 | 一种多协议的端口复用控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112671638B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671638B (zh) | 一种用于多协议转换的网关结构 | |
CN1771695B (zh) | 家庭网络系统 | |
JP7512531B2 (ja) | 送変電設備のモノのインターネットにおけるノード設備の無線通信方法及びシステム | |
WO2011130939A1 (zh) | 传感器网络与移动终端互联的方法和系统及网络连接设备 | |
CN106302058A (zh) | 基于Zigbee无线通信技术的智能家居系统的协调系统及其方法 | |
CN112152884B (zh) | 设备控制方法、装置和家电设备 | |
US9066162B2 (en) | Industrial controller apparatus capable of low error, ultra high-speed serial communication and method for driving same | |
WO2013023429A1 (zh) | 子网关装置、系统及处理终端设备数据的方法 | |
CN102014057A (zh) | 基于epa协议的支持实时和非实时应用的工业以太网通信方法 | |
CN109039837A (zh) | 一种智能家居系统的通信方法及智能家居网关 | |
CN103262434A (zh) | 用于电力线通信的介质访问控制层 | |
CN110601943A (zh) | 基于rs485总线的通信系统及其通信方法 | |
CN107124337A (zh) | 一种设备配置方法、装置、系统及集控终端 | |
CN104506401A (zh) | 基于ISA100.11a工业传感网实现Modbus协议传输的方法 | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 | |
CN102006192A (zh) | 一种数字家庭网络设备控制系统及控制方法 | |
CN101909009B (zh) | 智能家居系统中的路由方法、路由系统及业务网关 | |
CN102118295B (zh) | 一种组播报文的转发方法和设备 | |
CN112637370B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN102043397A (zh) | 一种楼宇自动控制系统的网络通讯方法 | |
CN110944299B (zh) | 一种组播方法及其系统 | |
CN114827294A (zh) | 一种5G和Modbus协议适配装置及方法 | |
KR101119147B1 (ko) | 근거리 무선 통신 모듈을 이용한 통합 리모콘 시스템 | |
CN104378778A (zh) | 物联网中主从站之间进行通信的方法、系统及转换网关 | |
CN209000000U (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 |