摘" 要:针对枸杞种植适应性区划研究中生态环境数据的存储需求,通过分析数据收集的长周期、多轮次特性,以及服务器操作系统迭代更新与数据存储系统的持续性兼容问题,文章进行了基于openEuler和openGauss的枸杞生态数据存储系统的构建研究。文章主要对数据存储系统的总体规划、操作系统及软件选型、数据存储环境的搭建、测试等方面进行了详细描述,为后续进行高可用分布式数据存储系统的构建奠定基础。
关键词:openEuler;openGauss;枸杞生态数据;存储系统
中图分类号:TP311" " 文献标识码:A" 文章编号:2096-4706(2024)22-0010-05
Research on Construction of Goji Berry Ecological Data Storage System Based on openEuler and openGauss
Abstract: In view of the storage requirements of ecological environment data in the study of adaptability zoning of goji berry cultivation, by analyzing the long cycle and multi round characteristics of data collection, as well as the constant compatibility issues between server operating system iteration updates and data storage systems, this paper performs the construction research on the goji berry ecological data storage system based on openEuler and openGauss. It mainly provides a detailed description of the overall planning, operating system and software selection, construction of data storage environment, testing, and other aspects of the data storage system, laying the foundation for the subsequent construction of a highly available distributed data storage system.
Keywords: openEuler; openGauss; goji berry ecological data; storage system
0" 引" 言
宁夏号称中国枸杞之乡,拥有世界最大枸杞属种质资源库,目前全国产区90%以上枸杞种苗均从宁夏引进,不同生态环境下,适应种植的品种并不相同,因此,对枸杞种植进行适应性区划,是优化选种、提高产量的有效手段之一[1];区划研究的重点是尽可能全面地获取源于各类不同种植地、多轮次、长周期的生态数据集合,继而采用大数据、人工智能等技术对海量数据集进行模型训练,对生态与品种间的相适应性做出评级,以达到科学精准地为不同属性种地选择最优种苗的目标。所以,对核心“生产资料”——枸杞生态数据的可靠存储,是适应性区划研究的重要前提和基础。
1" 拟解决的问题
为了进行多轮次、长周期、不同种植地数据的可靠存储,首要应基于稳定环境进行生态数据存储系统的部署;近年,随着拥有众多用户的国外开源服务器操作系统CentOS 8及7版本的陆续停服,在部署系统时,应充分考虑技术架构的演进趋势和延展性,以保证系统的迭代更新与数据存储系统平台的持续性兼容。
基于以上需求,本文从数据存储系统的总体规划、操作系统及软件选型、数据存储系统的搭建、功能测试几个方面进行了研究实验,为枸杞生态数据存储系统的初步构建提出切实可行的方法,并为后续进行高可用分布式系统的建设提供支持。
2" 总体规划
2.1" 基本功能
如图1所示,整个枸杞生态数据平台包含服务端和前端[2],前端用于展示、控制等,通过接口与后端交换数据。服务端通过部署多传感器对土壤因子、气象数据等进行全方位持续监测、实时采集后,传输到数据接收系统,再由数据接收系统进入数据存储系统,最后进入数据处理系统对数据进行处理、封装,以便供前端及其他上层应用调用。
数据存储系统隶属于服务端,所需实现的基本功能就是将源源不断采集到的数据进行可靠存储,即前端的“后台”和“仓库”。
2.2" 操作系统及软件选型
数据存储系统的搭建,需充分兼顾功能性需求及服务端建设的可行性及持续发展改进。近年,在“自主可控”战略背景下,国产信创操作系统已被广泛应用于金融、通信、电商等行业,但应用于农业还较少,在枸杞种植中更是鲜有涉及。选择基于国产系统及软件进行数据存储系统建设,不仅是基于性能分析及持续发展的考虑,更是对数据安全、科技自立自强的全方位考量。
目前,我国国产信创类服务器操作系统主要包含开源社区版和商业版两类。开源社区版有openEuler、龙蜥等,商业版如:麒麟、统信等。根据国产操作系统技术选型和分析[3],结合业务场景需求,综合对比成本、业务连续性、性能等得到如下结果:
1)种植地生态数据属于非核心业务,开源与商业系统二者之间,选择开源系统能够显著降低系统及软件方面的开销成本,更适合农业及种植类业务场景。
2)从支撑业务系统使用及演进方面考虑,openEuler、麒麟、统信的技术水平旗鼓相当都有活跃社区。数据统计,2023年中国服务器操作系统市场份额位居第一的是openEuler欧拉系统,占36.8%,从目前发展状况来看,能较好形成可持续发展的操作系统产业生态[4]。
3)通过同款服务器浪潮NF5270M4,基本配置为:主机芯片为Intel(R) Xeon(R) CPU E5-2650 v4@2.20 GHz 24核、系统盘为Intel-SSDSC2KB48 480 GB,内存为DDR4-2400 MT/s Samsung 256 GB,分别运行各操作系统后,测试结果可看出:统信UOS1020a、麒麟KylinV10 SP1、龙蜥Anolis OS 8.2、欧拉EulerOS20.03 SP2,磁盘 IO及网络 IO都有着较好的参数指标,其中EulerOS20.03 SP2的随机读IOPS为7 414,速率为28.0 MB/s,在该项指标点上略为突出[3]。
对比分析上述与数据存储系统关联度较高的三点要素后,选择openEuler系统作为服务器操作系统,虽然相对商业版系统,其生态尚未完全成熟,在数据迁移方面存在一定难度,但是,总体上基本能够较好满足当下实验以及长远性需求。数据库选择了在openEuler操作系统上测试和验证均较为充分的openGauss高斯数据库;2023年,中国数据库市场线下集中式openGauss系新增市场份额达21.9%,目前已规模应用于金融、政府等关键行业场景[5]。
3" 系统构建
openEuler与openGauss的安装配置方法与CentOS及MySQL不同,另外,不同版本配置也有差别,本文主要基于openEuler 20.03-LTS和openGauss 3.1.0极简版进行单节点部署安装。基础环境配置内容如下。
3.1" openEuler系统部署
首先,需进行openEuler系统安装部署、yum源配置、防火墙及RemoveIPC设置、用户及权限分配:
1)安装系统。通过访问https://www.openeuler.org/zh/download获取系统的镜像文件openEuler-20.03-LTS-x86_64-dvd.iso用于系统安装[6]。安装需要注意的是:openEuler系统的用户,其密码设置都必须为三种类型以上字符构成的复杂综合密码;网络配置选择“NAT”模式,IP地址静态绑定为192.168.200.133;主机名永久设置为openEuler;实验中通过SecureCRT软件远程连接服务器,安装完成后,可采用命令cat /etc/os-release查看到系统版本等内容,如图2所示。
2)配置yum源。编辑yum源文件/etc/yum.repos.d/openEuler_x86_64.repo,其中baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/x86_64,gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler,进行依赖包libaio-devel、flex、bison、 ncurses-devel、glibc-devel、patch、readline-devel、libnsl的安装。
3)配置管理。openGauss仅允许在防火墙关闭状态下安装,所以,关闭系统防火墙,设置SELINUX为disabled,修改logind.conf、systemd-logind.service文件中RemoveIPC为no,此处是防止引起数据库宕机(默认情况下为yes)[7]。
4)配置用户及权限。特别需要注意的是:openGauss的安装必须是由普通用户来执行。新建普通用户名为openGauss;新建目录/opt/software/openGauss作为数据库的安装路径。
3.2" openGauss数据库部署
下面进行openGauss数据库安装、数据库及表的创建:
1)数据库安装。通过访问https://opengauss.org/zh/download/archive/获取压缩包openGauss-3.1.0-openEuler-64bit.tar.bz2并上传至根目录,安装过程[8-10]为:使用命令tar" -jxf openGauss-3.1.0-openEuler-64bit.tar.bz2 -C /opt/software/openGauss解压释放,解压后的目标位置为新建目录/opt/software/openGauss下,同时,赋予该目录及其下所有内容755权限,设置属主、属组均为openGauss。
openGauss不支持root身份安装,所以,使用普通用户openGauss登录服务器,并切换至/opt/software/openGauss/simpleInstall下执行sh install.sh -w" “opengauss_123”,opengauss_123为数据库密码;完成后使用命令gs_ctl start -D /opt/software/openGauss/data/single_node" -Z" single_node启动数据库。对用户openGauss无须密码即可登录数据库,使用的命令为gsql -d" postgres" -p" 5432,其中5432为数据库端口号,如图3所示。
2)数据库及表的创建。服务端需存储的数据分为三类:第一类为土壤因子信息,主要包括土壤温度、土壤湿度、pH 酸碱度、电导率、氮含量、磷含量、钾含量;第二类为采集设备的信息,主要包括设备名称、所在位置、设备状态(离线/在线)、异常信息;第三类为种植田属地基本信息,主要包括气温、风向、城市等。依据三类信息,分别创建表。
与MySQL不同,对openGauss数据库操作,首先要创建用户。通过openGauss=# create user goji_user with password “opengauss_123”创建名为goji_user的用户,密码为opengauss_123;然后再创建属于用户goji_user的数据库goji_db,openGauss=# create database" goji_db owner" goji_user;连接到创建的数据库goji_db为openGauss=# \c" goji_db,如图4所示。
接着继续进行表的创建,所需存储的三类数据对应字段分别如表1、2、3所示。
4" 测试结果
以位于宁夏银川市枸杞庄园的四块种植地(每块地设置7个采集节点)为对象,对三类数据的存储进行测试。通过前端查询数据,再比对采集端设置,二者一致表示:从采集端获得的数据已先存储于数据存储系统,最终再传输至前端。
前端提交查询请求得到查询结果。查询历史数据,如图5、6所示,分别为截取2024年3月27日20:00—2024年4月25日20:00的部分数据,总共696条,采集间隔为60分钟,离线判断间隔为30分钟。
表4为测试结果,数据记录时间为2024年1月1日至2024年4月24日之间,日记录次数为24次(每小时记录一次)。通过分析数据总量、日均数据量、记录时刻等发现,展示结果与采集设备设置(如需要采集的频次、数据量等)一致,无缺失,可得出:基于openEuler和openGauss的枸杞生态数据存储系统可以实现数据的可靠存储。
5" 结" 论
实验中,部署了单节点数据存储系统,主要是针对枸杞种植业务场景,初步探索出基于国产开源环境构建服务端数据存储系统的可行方法,同时对文中所选操作系统及数据库版本的适配性进行了验证。但是随着并发数的增加,以及备灾、冗余等需求,还需要在后续继续进行可高用分布式、多节点、主备模式等的研究,以便进一步提升、优化数据存储系统的性能。
参考文献:
[1] 温美佳.基于气候特征的不同产地枸杞品质及生态适宜性区划研究 [D].太原:山西大学,2013.
[2] 曹梦川,伍丹,杜朋轩.基于机器学习的枸杞生长预测服务端接口设计与实现 [J].现代信息科技,2022,6(24):62-65.
[3] 信创新态势.国产操作系统技术选型和对比分析 [EB/OL].(2024-04-08).https://mp.weixin.qq.com/s/y_tc_ep8zuHELcl8Fl7Myw.
[4] 吴蔚.国产操作系统创新突破筑基智能时代 [N].经济参考报,2023-12-21(5).
[5] 吴蔚.国产开源数据库进入生态发展期 [N].经济参考报,2024-01-04(5).
[6] openEuler开源社区文档.安装指南 [EB/OL].[2024-02-21].https://docs.openeuler.org/zh/docs/20.03_LTS/docs/Installation/installation.html.
[7] 李亮杰.openGauss数据库可视化工具研究与实现 [D].成都:电子科技大学,2023.
[8] openGauss开源社区.单节点安装 [EB/OL].[2024-02-23].https://docs-opengauss.osinfra.cn/zh/docs/2.0.0/docs/installation/%E5%8D%95%E8%8A%82%E7%82%B9%E5%AE%89%E8%A3%85.html.
[9] 裴立公.国产数据库替代国外数据库演化过程分析 [J].金融科技时代,2023,31(4):94-97.
[10] 罗浩然.openGauss索引推荐方法的研究与实现 [D].西安:西安电子科技大学,2022.