APP下载

物联网系统服务器的构建与应用

2024-06-21夏子昂葛明涛胡海峰王俊傑

河南科技 2024年8期

夏子昂 葛明涛 胡海峰 王俊傑

摘 要:【目的】在物联网系统中,服务器起着重要的作用,提供稳定的TCP服务、数据库服务、Web服务器服务。主要介绍了物联网服务器的搭建过程和关键考虑因素。【方法】首先讨论了服务器的平台选择,确保服务器能够满足性能需求且便于维护;然后详细地介绍了TCP服务器、数据库、Web服务器的搭建过程,包括开发相应的软件程序、安装和配置数据库系统、选择合适的Web服务器软件;接着强调了服务器的安全性和可扩展性,提出了相应的安全考虑和容灾备份方案;最后指出了该系统的局限性和未来改进方向。【结果】经测试,该系统能够稳定运行并实现物联网数据的实时展示和大量数据交互功能,通过了性能检测以及可靠性、安全性的验证。【结论】将服务器的部署方案应用于风光储智能电站中,验证了该方案的可行性。实验结果表明,该方案稳定可靠,可以为物联网服务器的搭建和应用提供一定的参考和指导。

关键词:物联网服务器;TCP服务;Web服务器

中图分类号:TP368.5    文献标志码:A     文章编号:1003-5168(2024)08-0023-05

DOI:10.19968/j.cnki.hnkj.1003-5168.2024.08.005

Construction and Application of IoT  Server

XIA Ziang GE Mingtao HU Haifeng WANG Junjie

(Pingdingshan University, Pingdingshan 467000, China)

Abstract: [Purposes] In the IoT  system, the server plays an important role in providing stable TCP services, database services, and Web server services. This paper mainly introduces the construction process and key considerations of the IoT server. [Methods] To do this, this article first discusses server platform selection to ensure that the server can meet performance needs and is easy to maintain. Then, the steps of building TCP services, database services and Web servers are introduced in detail, including developing corresponding software programs, installing and configuring database systems, and selecting appropriate Web server software. At the same time, this paper also emphasizes the security and scalability of servers, puts forward related security considerations and disaster recovery backup schemes, and points out the limitations of this paper and future improvement directions. [Findings] After testing, the system can operate stably and realize real-time display of IoT data and a large number of data interaction functions. The system is proven for performance, reliability and safety. [Conclusions] Finally, the server deployment scheme is applied to the wind-solar storage intelligent power station, which verifies the research and practice of this paper, and the experiments show that the scheme is stable and reliable, which can provide some reference and guidance for the construction and application of IoT server.

Keywords: IoT server; TCP services; Web server

0 引言

随着物联网技术的快速发展,越来越多的设备和传感器可以连接到物联网中,从而产生了大量的数据。这些数据对于实现自动化和智能化的应用具有重要的价值。然而,如何高效、快速地收集、存储、处理这些数据是现在所面临的一个挑战。物联网服务器作为物联网系统中的核心组件,负责管理和处理物联网设备所发送的数据,提供基础的TCP服务、数据库服务、Web服务器服务。因此,物联网服务器的搭建和运维对保证系统稳定性和数据安全性至关重要。本研究主要介绍了服务器平台选择、TCP服务器的搭建、数据库的搭建、Web服务器的搭建,分析了服务器的安全性和可扩展性,并讨论了该研究的局限性和未来改进方向。

1 服务器平台选择

1.1 服务器平台任务需求分析

物联网体系结构如图1所示[1],服务器要提供网络层和应用层的服务。本项目由于需要在稳定的网络环境中24小时不间断工作,所以采用了阿里云服务平台,并使用ubuntu20操作系统。阿里云服务器可以提供稳定可靠的硬件设备和网络环境,与Ubuntu操作系统的稳定性相结合,可以确保系统运行的可靠性和持续性。并且阿里云服务器具备完善的安全措施和防护机制,与Ubuntu操作系统的安全特性相结合,可以提供双重保障,有效防范网络攻击和威胁。

1.2 服务器平台功能设计

1.2.1 TCP服务端。物联网服务器应当具备接入大量设备和接收感知层大量数据的能力。本系统采用TCP协议进行数据传输,可以提供稳定可靠的通信连接。

1.2.2 数据库服务。物联网服务器对于数据库服务有着很高的性能要求。应先建立物理层的数据库,且该数据库要有高速读写能力,并能够处理瞬时的大量数据;之后在物理层的数据库基础上,分离、整合、优化出Web端和后期算法所需要的数据库。

1.2.3 Web服务端。Web服务器主要提供动态内容生成服务、数据库查询服务、用户认证服务等。该项目主要用于大数据平台的展示。

根据以上功能需求进行设计,该项目的服务器总体设计如图2所示。

2 TCP服务器的搭建

2.1 TCP协议

传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。作为传输层协议之一,TCP提供了可靠的数据传输服务,确保了数据包的正确性、完整性、有序性,这些特性对于物联网应用非常重要[2]。

2.2 TCP传输数据包设计

在物联网系统中,感知层的设备是通过TCP协议向网络层通信的。服务器端通过代码即可开启TCP的端口,并保持监听,保证了设备的正常接入。当设备接入TCP通信队列时,服务器端将会发送一段密文,用于验证设备是否为合法设备,验证数据包格式见表1。

发送采集到的数据的数据包格式,应先进行设备识别,再分析接收到的数据类别,采集数据包格式见表2。

2.3 TCP实现思路

本研究利用python实现TCP服务端的功能。首先创建TCP的连接对象,并使用多线程,时刻保持监听状态;当连接到客户端时,服务器端会向客户端发送验证数据包,当验证通过后,会把建立的socket通道保存到线程池中,确保连接稳定;在接收到数据后应先进行身份验证,在通过身份验证之后将该连接放入线程中保持连接,并持续接收数据。Socket模块处理信息流程如图3所示。

3 数据库的搭建

本研究使用的是MySQL数据库,是一个开源的关系型数据库管理系统,因其具有良好的稳定性和可靠性,成为开发人员和数据库管理员首选的数据库系统,广泛应用于各种规模的应用程序和网站。MySQL具有以下突出特点:高性能,MySQL具备优化的查询执行引擎和高效的索引机制,可以处理大量数据并提供快速响应,满足物联网应用的需求;灵活性,MySQL支持多种数据类型和存储引擎,可以根据不同的物联网应用需求选择合适的存储方式。例如,对于时间序列数据可以选择使用InnoDB或者MyISAM存储引擎,对于低延迟的数据访问可以选择使用内存表存储引擎[3]。

数据库总体设计如图4所示。首先创建两大数据库分别为感知层数据库和Web端数据库。感知层数据库主要用于接收硬件终端设备发来的底层数据和部分环境采集数据,比如光伏板此时的电压、电流、功率、环境温度、光照强度等;Web端数据库主要是用于显示大数据平台的实时数据和保存用户的个人信息。

4 Web服务器的搭建

本研究设计的Web服务器应首先满足数据的实时显示功能,并且可以承受短时间内大量数据的交互,因此可采用Nginx技术。

Nginx是一个轻量级且高性能的Web服务器和反向代理服务器,往往被设计成异步、事件驱动的架构。Nginx自身具备的高性能和高并发处理能力,能够有效地处理大量的并发请求,非常适用于物联网环境中需要处理大量设备数据和请求的场景[4]。

物联网系统可能涉及多个设备和传感器,因此需要平均分配请求负载以实现高可用性和可扩展性。Nginx提供的负载均衡机制,可以根据配置的算法将请求均匀地分发给后端服务器,使系统能够更高效地处理请求,并具备容错能力。

物联网系统涉及大量敏感数据和设备控制操作,其安全性至关重要。Nginx提供了丰富的安全功能,如SSL/TLS支持、访问控制列表(ACL)、IP白名单和黑名单、请求过滤等,可以保护服务器避免恶意攻击和未授权访问[5]。

综上所述,Nginx在物联网(IoT)服务器端具有多种优点:高性能和高并发处理能力、负载均衡和容错能力、安全性和访问控制,这些能力让它成为物联网环境中常用的服务器选择。

5 服务器的安全性和可扩展性考虑

5.1 服务器的安全性

物联网服务器的安全性包括物联网系统中设备、传感器、数据等的安全。以下是一些重要的安全考虑因素。

①身份验证与访问控制。为了保护物联网服务器,必须确保只有经过身份验证的设备和用户才可以进行访问,根据不同的设备和权限,需要设置适当的访问控制。

②数据加密。对于通过物联网传输的敏感数据,应采用安全的加密方法对其进行加密,如使用TCP协议进行安全传输,确保数据在传输过程中不被窃取、篡改或劫持[6]。

③强化网络安全。物联网服务器应部署在防火墙后面,需要配置网络安全系统,并限制对服务器的远程访问。使用入侵检测与防御系统(IDS/IPS)、网络隔离等技术,监控和阻断针对服务器的恶意攻击和未授权访问。

④安全审计与监测。建立安全审计和监测机制,记录和监控服务器的日志,识别和响应异常活动。使用安全信息与事件管理系统(SIEM)等工具,及时发现并处理潜在的安全威胁。

5.2 服务器的可扩展性

服务器的可扩展性是指在面对不断增长的需求时,能够有效地扩展服务器的处理能力和资源,以满足更多的请求和用户。以下是一些提高服务器可扩展性的方法。

①水平扩展。通过增加服务器节点的数量来扩展系统的处理能力。这可以通过部署负载均衡器来实现,将请求分发到多个服务器上,从而提高系统的并发处理能力。

②垂直扩展。在单个服务器上增加更多的计算资源,如CPU、内存、存储容量,以支持更多的请求和用户。这可以通过升级硬件或采用虚拟化技术来实现。

③异步处理。将耗时的操作异步化,通过消息队列等机制将请求放入队列中,由后台任务进行处理。这样可以释放服务器资源,提高系统的并发能力。

④数据库优化。优化数据库设计和查询语句,采用合适的索引和分区技术,以提高数据库的性能和扩展性。

通过采用上述方法,可以有效地提高服务器的可扩展性,满足不断增长的需求,并确保系统具有良好的性能和可靠性。

6 结语

基于上述理念和步骤,本研究构建了一个物联网系统服务器,搭建过程如下。

首先,根据需求确定系统的功能和架构设计,并选择合适的技术工具和平台。根据物联网平台的24小时不间断、高性能、平稳运行的要求,采用阿里云平台。基于TCP协议进行数据传输,确保数据包正确性、完整性、有序性,同时要考虑安全性问题,对建立的Socket通道进行身份验证,确保身份合法,提高系统安全性。

其次,由于物联网应用场景中需要能够处理大量的数据并提供快速响应的数据库,所以采用Mysql数据库。MySQL具备优化的查询执行引擎和高效的索引机制,可以满足物联网应用的需求。

再次,选择使用Nginx作为Web服务器,对系统进行负载均衡的配置,运用Nginx的负载均衡机制,以实现高性能和高并发处理能力。

最后,在运行和测试系统后,系统能够稳定运行并实现物联网数据的实时展示和大量数据交互功能,通过了性能检测以及可靠性、安全性的验证。运行结果显示该系统运行平稳,能够满足用户的需求。TCP测试结果如图5所示,测试环境:Ubuntu20.0.4系统;测试条件:并发连接10 000台设备,每台设备发送100条消息。

综上所述,物联网服务器系统经过上述步骤的设计和搭建,能够稳定运行,该设计可验证整个过程中的安全性和可靠性,系统的负载均衡配置确保了高可用性和可扩展性。整体而言,该系统能够有效地满足物联网场景的需求。

参考文献:

[1]DENG G Q. Design of a foundation block for a centrifugal machine[J]. Second International Conference on Intelligent System Design and Engineering Application,2012.

[2]罗亚非.基于TCP的Socket多线程通信[J].电脑知识与技术,2009,5(3):563-565,598.

[3]杨婷,莫若玉,张秀娟,等.轻量级缓存策略的关系型数据库全文搜索加强与扩展[J].计算机应用,2023,43(8):2431-2438.

[4]赵华飞,徐践,张娜.基于Netty的农业物联网服务器系统设计[J].现代农业科技,2019(9):254-255.

[5]张荣.基于网站web服务器网络安全的分析与设计[D].成都:四川大学,2006.

[6]朱小平.网络数据库安全技术的研究与实现[D].上海:同济大学,2006.

收稿日期:2023-09-17

基金项目:河南省科技攻关项目(242102241061、242102210131)。

作者简介:夏子昂(2002—),男,本科生,研究方向:嵌入式应用开发、图像处理。

通信作者:葛明涛(1979—),男,博士,副教授,研究方向:信号处理、大数据分析。