多协议通用网关服务器的接口适配设计

2023-07-11 11:52李昂谭智超田杰何迎生
电脑知识与技术 2023年15期
关键词:物联网

李昂 谭智超 田杰 何迎生

关键词:物联网;多协议网关;面向接口编程思想;网关服务器;通用网关;传输协议

0 引言

物联网是一种新兴技术[1],它被广泛应用于医疗保健、交通运输、制造和智慧城市等多个领域[2-5]。物联网能通过终端设备感知信息、采集数据并通过对应网关服务器处理后,上传至云端进行处理分析,达到提高资源利用率、优化生产效率的目的[6]。然而,若当前存在多个来自不同制造厂商的设备时,物联网将会需要多个对应的网关服务器进行处理,使得不同设备之间难以交换数据,最终导致用户需要安装多个不同制造厂商的网关控制对应的设备,造成臃肿而繁杂的操作体验,如图1所示。

因此,需要一种通用网关服务器作为调解器,处理多种协议,使得不同协议的物联网设备能够通过统一的网关进行通信[7]。目前,物联网通用网关服务器设计中一种常见的方法是使用中间件平台,如消息队列遥测传输(MQTT) 协议,以实现不同物联网设备和网关之间的通信[8];另一种方法是使用语义技术来增强不同物联网设备和网关的交互性[9]。然而,MQTT虽然具有安全、轻量、可扩展性等优点,但对复杂数据结构的支持有限,无法实现双向通信;而基于语义技术增强的方法虽然可以实现数据集成和灵活性,但其实现的复杂性难以忽视。

在本文中,提出了一种基于面向接口编程思想的通用物联网网关服务器设计。该设计可灵活地接入不同的设备,减少中间开发时间成本,具有良好的可扩展性。通过将不同通信协议的功能封装成独立的接口,该设计能够实现跨协议的通信,支持复杂数据结构和双向通信,并确保数据交换的隐私和完整性。

1 物联网通用网关服务器设计

针对上述提出的问题,本文提出了一种新型的物联网通用网关设计,并对网关接口协议、内部信息系统、对外部用户提供的接口三方面进行设计,并给出了网关服务器整体架构的设计,如图2所示。

接口适配层可将不同通信协议进行整合,转换为系统可支持的标准通信协议或数据格式;处理完成后将数据发送至设备管理模块进行設备的相关操作;最后再经过系统统一的协议通过系统定义的通信接口发送至客户端,最终达到灵活接入不同协议设备的目的。

1.1 接口适配层

接口适配器是一种常见的设计模式,它基于面向接口编程思想,主要用于解决物联网设备之间通信协议的不兼容性问题。接口适配器将来自不同制造商的物联网设备使用的各种通信协议转换为系统支持的标准通信协议和数据格式,以确保它们能够正常交互。接口适配器的设计思想是将底层的细节和实现与上层的业务逻辑分离,通过面向接口的设计,提高系统的可扩展性和灵活性。

下面将结合实例对接口适配层进行分析与设计。

假设当前有一个IoT 设备,它从房间收集温度和湿度数据后,通过专有通信协议发送到网关进行处理和分析。为将数据标准化,可以定义一种表示温度和湿度数据的通用数据格式。例如,可以定义一个JSON 数据格式,其中包含温度和湿度字段,以及指示数据收集时间的时间戳:

最后,可以使用这个消息结构定义发送和接收消息的传输协议。例如,使用基于HTTP 封装的协议,其中消息作为HTTP-POST 请求发送到网关,响应由HTTP 状态代码和JSON 有效负载组装返回。

接口适配器采用面向接口编程的思想,定义了一种通用数据格式和协议,并将专有通信协议转换为标准的HTTP协议。通过使用通用的接口和协议,不同类型的设备可以使用同一种协议和数据格式与不同的网关和系统进行交互。这种设计模式通过分离底层实现和业务逻辑,提高了系统的可维护性和可扩展性。

1.2 设备管理层

在设备管理模块中,第一步是与接口适配层(In?terface Adapter Layer,IAL) 建立通信接口,实现物联网设备与系统其余部分之间的数据和命令交换。

下一步是确保来自物联网设备的数据采用统一格式,以便系统的其余部分能统一处理,这是接口适配层再次发挥作用的地方。它进行数据格式转换,将来自不同设备的数据标准化,这将更易于管理和分析。

在建立通信接口并完成数据转换过程后,设备管理模块就可以提供一组与设备管理相关的API(Appli?cation Programming Interfaces)。这些API为系统的其他部分提供了一种标准化的方式来与物联网设备进行交互,通常包括设备发现、设备配置、设备状态监控、数据采集和存储、数据可视化分析、告警和通知模块,如表1所示。

在接口适配层进行标准化数据的基础上,通过在设备管理模块中实现这些API,有效地管理和监控的物联网设备,提高设备性能,并防止停机或设备故障。

1.3 实施安全功能

在此模块中,将讨论网关服务器应实施的一些基本安全功能,以确保网关服务器能更加有效地保护设备和数据的安全性,并预防各种潜在的威胁和攻击。

数据加密:数据加密是一项重要的安全功能,可确保数据在传输和存储过程中的机密性。服务器使用AES-256 等强加密协议来加密敏感数据,并将加密密钥安全存储,确保只有授权用户才能访问它们。

访问控制:访问控制是另一个重要的安全功能,它限制对敏感数据和资源的访问。服务器使用基于角色的访问控制(RBAC) 和用户身份验证机制对访问进行控制,仅允许授权用户访问数据和设备。

用户认证:用户认证是一种用于验证访问系统的用户身份的机制。网关服务器通过使用密码和双因素身份验证(手机+ 电脑双重认证)来实现,要求用户创建一个强密码,并定期更改以确保安全。

1.4 实施负载均衡和故障转移机制

为确保物联网网关服务器的高可用性和扩展性,将对服务器实施负载均衡和故障转移机制。通过负载均衡技术,服务器可以均衡地响应请求,从而避免出现负载过重和性能大幅下降的情况;而故障转移机制则可以在服务器故障或不可用时自动将请求转移到备用服务器,从而确保系统的连续性和可用性。

负载均衡可以通过多种方式实现,其中包括循环法、最小连接数、IP 散列等。在循环中,请求按顺序在服务器之间分发;在最少连接中,具有最少活动连接的服务器接收下一个请求;IP 哈希根据客户端的IP 地址分发请求。服务器将结合循环法和最少连接数实现负载均衡,请求按顺序(循环)在服务器之间分发,活动连接最少的服务器接收下一个请求(最少连接)。这种组合可以帮助有效地平衡负载,确保没有服务器过载,同时最大限度地减少响应时间。在服务器较少时,则采用动态负载均衡。根据实时服务器负荷和相关网络指标(如CPU 使用率、内存使用率和网络流量等),执行动态负载均衡算法对请求进行合理分配,确保具有最多可用资源的服务器接收下一个请求。

在实现故障转移机制方面系统将采用冗余方法,即其中主服务器由一个或多个辅助服务器备份。当主服务器出现故障时,辅助服务器会自动接管,确保为物联网设备提供无缝服务。这可以通过集群来实现,其中多个服务器连接成一个组并共享相同的资源和数据。

2 结束语

在本文中,提出了一种基于面向接口编程思想的物联网多协议通用网关服务器设计,其中包括接口适配层设计、设备管理层设计及安全功能、负载均衡和故障转移机制的实施。

接口适配层提供标准接口适配各种协议,实现不同物联网设备和网关的集成;设备管理层简化对各种物联网设备的管理流程,实现了对不同协议设备的统一管理方式;安全功能的实施可确保数据完整性、机密性和可用性,这对物联网系统的正常运转至关重要。此外,负载均衡和故障转移机制的实施提高了服务器的可靠性和可用性,为用户提供持续服务。

物联网通用网关服务器集成各种物联网设备和网关、简化设备管理并增强物联网系统的可靠性和安全性,为通用网关服务器的设计提供了一种新的思路。

猜你喜欢
物联网
基于无线组网的智慧公交站点信息系统研究与实践
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者