基于NoSQL数据库技术的高密度数据采集系统设计
Design of high density data acquisition system based on NoSQL database
-
摘要: 针对目前大部分工矿企业都在数字化转型,数字化后的安全生产监控数据具有实时性强,数据体量庞大等特点,部分系统的数据量如钢丝绳探伤系统每秒钟高达几十万条,常用的SQL数据库已经无法胜任如此庞大的数据存储、分析任务。研究通过NoSQL数据库、负载均衡、多线程、SOCKET等技术体系,构建基于NoSQL的具备高并发、高密度数据处理能力的高密度数据采集系统;实现工矿企业安全生产相关数据的高密度接入,满足高密度数据采样周期的硬性需求。Abstract: In view of the fact that most industrial and mining enterprises are in digital transformation at present, the digitized safety production monitoring data has the characteristics of strong real-time and huge data volume. The data volume of some systems, such as steel wire rope flaw detection system, is up to several hundred thousand pieces per second. The commonly used SQL database has been unable to cope with such a huge data storage and analysis task. A high-density data acquisition system with high concurrency and high density data processing capability based on NoSQL is constructed through NoSQL database, load balancing, multithreading, SOCKET and other technical systems. The system realizes the high-density access of safety production related data of industrial and mining enterprises, and meets the hard demand of high-density data sampling cycle.
-
Keywords:
- NoSQL /
- SOCKET /
- high-density /
- high concurrency /
- load balancing /
- multi-threading /
- monitoring data
-
煤层瓦斯含量既是瓦斯地质规律分析的主要内容,也是预测瓦斯涌出量和煤与瓦斯突出危险性的重要参数[1]。但瓦斯含量受诸多地质因素影响,各因素条件复杂多样,且对煤层瓦斯含量影响程度大小也存在较大差异,具有不确定性、动态性和复杂性的特点[2-3]。因此,精准预测煤层瓦斯含量对煤矿瓦斯灾害事故的预防与治理具有重要意义[4]。
近年来,国内外学者提出众多方法来解决煤层瓦斯含量预测问题,如多元回归、灰色理论[5]、神经网络[6]、支持向量机[7]和极限学习机[8]等算法被应用于煤层瓦斯含量预测研究中。其中,由于BP神经网络预测煤层瓦斯含量的效果较好而被广泛运用。吴观茂等[9]以煤层深度、煤层厚度、煤层顶底板岩性、井田地质构造和煤的变质程度为主要影响因素,建立了比多元回归分析预测精度更高的煤层瓦斯含量预测模型;沈金山等[10]运用灰色关联分析选取影响瓦斯赋存的主要因素进行建模预测,证明了灰色理论与神经网络预测模型的可靠性;为了克服BP神经网络模型收敛速度慢和易陷入局部极小的问题,刘景艳等[11]采用粒子群算法优化BP神经网络的神经元个数和连接权值,建立了粒子群算法优化BP神经网络预测模型(PSO-BP);曹博等[12]先采用主成分分析降低变量间的相关性,然后用遗传算法优化BP神经网络的权值和阈值,建立了PCA-GA-BP神经网络预测模型,证明该模型可以准确预测煤层瓦斯含量;赵伟等[13]提出了自适应混沌海鸥算法(ACSOA),建立了基于自适应混沌海鸥算法优化BP神经网络的瓦斯含量预测模型(ACSOA-BP),证明该模型具有更高的预测精度和稳定性;马磊等[14]提出了遗传算法(GA)和模拟退火算法(SA)混合初始化BP神经网络的瓦斯含量预测模型(GASA-BPNN模型),该模型将GA和具有时变概率突跳性的SA整合为GASA算法协同初始化BPNN的权值和阈值,有效提高了BPNN的参数学习能力。由于影响煤层瓦斯含量的因素众多且各因素之间存在复杂的非线性关系,使得预测模型的精度和效率还有待提高[11]。综上,为了解决瓦斯预测的精度和效率,利用Logistic混沌映射算法麻雀种群进行初始化,增加麻雀种群位置的多样性,提升麻雀算法的全局搜索能力,再将改进的麻雀搜索算法用于优化BP神经网络,使得LSSA-BP预测模型较其他模型,收敛速度更快、预测精度更高、稳定性更佳[15]。
因此,以黄陵一号煤矿为例,先采用灰色关联分析法筛选出影响煤层瓦斯含量的主控因素作为BP神经网络输入层神经元,建立基于Logistic混沌映射改进的麻雀搜索算法优化BP神经网络的煤层瓦斯含量预测模型(LSSA-BP),并通过将该模型的预测结果与麻雀搜索算法优化BP神经网络模型(SSA-BP)及标准BP神经网络模型的预测结果进行综合对比分析,以期得到准确率和稳定性更优的预测模型。
1. 模型原理
1.1 麻雀搜索算法(SSA)
麻雀搜索算法(sparrow search algorithm, SSA)是由XUE等[16]受麻雀捕食过程引导启发而提出的一种新型群智能优化算法,主要通过麻雀的捕食和反捕食行为进行迭代寻优,包括发现者、跟随者和预警者3种群体。捕食行为主要与算法中的发现者和跟随者相对应,一般占种群的70%,作为发现者在迭代寻优过程中适应度较高,具有更广泛的搜索能力,其作用是为跟随者的捕食行为提供向导,随后交由跟随者进行捕食;而反捕食行为则与算法中的侦查预警机制相对应,一般占据种群的20%,种群的部分麻雀作为预警者,其作用是根据捕食过程中危险的出现与否来决定是否放弃捕食。
发现者位置更新如式(1):
$$ {X}_{i\text{,}j}^{t+1}=\left\{\begin{array}{c}{X}_{i,j}^{t}\cdot {\rm{exp}}\left(-\dfrac{i}{{\alpha {\rm{iter}}}_{{\rm{max}}}}\right)\text{,}{R}_{2} < {\rm{ST}}\\[11.5pt] {X}_{i,j}^{t}+QL\text{,}{R}_{2}\geqslant {\rm{ST}}\end{array}\right. $$ (1) 式中:$ {X}_{i,j} $为第$ i $只麻雀在第$ j $维中的位置信息;t为迭代次数;j=1,2,$3,\cdots ; \alpha $∈(0,1)为1个随机数;$ {{\rm{iter}}}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为最大迭代次数;$ {R}_{2} $∈(0,1)和$ {\rm{ST}} $∈[0.5,1]分别为算法的预警值和安全值;Q为随机数,服从正态分布规律;L为1×d维的矩阵。
当$ {R}_{2} $<$ {\rm{ST}} $时,种群处于安全环境,此时发现者应扩大搜索范围;当$ {R}_{2} $≥$ {\rm{ST}} $时,表明种群的周围出现了危险,为了安全起见,整个种群飞行至安全区域进行觅食。
跟随者位置更新如式(2):
$$ {X}_{i\text{,}j}^{t+1}=\left\{\begin{array}{c}Q\cdot \mathrm{exp}\left(-\dfrac{{X}_{{\rm{worst}}}-{X}_{i,j}^{t}}{{i}^{2}}\right)\text{,}i > \dfrac{n}{2}\\ {X}_{{\rm{p}}}^{t+1}+\left|{X}_{i,j}^{t}-{X}_{{\rm{p}}}^{t+1}\right|{A}^+L\text{,}i\leqslant \dfrac{n}{2}\end{array}\right. $$ (2) 式中:$ {X}_{{\rm{worst}}} $为最差位置;Xp为种群中发现者的最优位置;A为1×d维的矩阵,并将1或−1随机赋值到各个元素,且服从$ {A}^{+} $=AT(AAT)−1。
当$ i $>n/2时,说明第$ i $个加入者适应度较低,且没有获得食物,需要更换觅食区域和方向。
预警者的位置更新如式(3):
$$ {X}_{i\text{,}j}^{t+1}=\left\{\begin{array}{c}{X}_{{\rm{best}}}^{t}+\beta \cdot \left|{X}_{i,j}^{t}-{X}_{{\rm{best}}}^{t}\right|{\text{,}f}_{{\rm{i}}} > {f}_{{\rm{g}}}\\ {X}_{i,j}^{t}+K\left(\dfrac{\left|{X}_{i,j}^{t}-{X}_{{\rm{worst}}}^{t}\right|}{\left({f}_{i}-{f}_{w}\right)+\varepsilon }\right)\text{,}{f}_{{\rm{i}}}={f}_{{\rm{g}}}\end{array}\right. $$ (3) 式中:Xbest为全局最优位置;β为步长参数,服从[0,1]的正态分布;$ K $∈[−1,1]为随机数;$ {f}_{{\rm{i}}} $为适应度值;$ {f}_{{\rm{g}}} $、$ {f}_{{\rm{w}}} $分别为全局最优和最差的适应度值;ε为常数。
1.2 Logistic混沌映射
利用logistic混沌映射如式(4):
$$ {y}_{n}\left(t\right)=\upsilon {y}_{n}(t+1)(1-{y}_{n}\left(t-1\right)) $$ (4) 式中:yn(t)为logistic混沌映射对麻雀种群分布进行初始化后的序列;t为迭代次数;υ为控制参数。
对式(1)中的麻雀种群分布进行初始化,以增强种群多样性,并扩大种群搜索区域范围,其中$ {y}_{n} $∈[0,1],$ {y}_{0} $为初始条件,其产生的映射序列是非周期性的且不收敛,此外生成的映射序列必于某一特定值收敛;$ \upsilon $为控制参数,决定该算法的演变过程,一般1≤υ≤4,随着$ \upsilon $值的增大,映射序列的取值范围也随之增大,且映射分布更均匀,并当$ \upsilon $=4时均匀性达到顶峰[17]。
2. LSSA-BP预测模型的建立
2.1 LSSA-BP模型
BP神经网络预测模型的精度是通过不断调整模型的权值和阈值来提高的。因此,可使用SSA算法解决由权值和阈值随机初始化导致模型局部最优的问题,并引入logistic混沌映射初始化麻雀种群位置,增加麻雀种群位置的多样性,扩大麻雀种群的搜索范围[18],从而提升LSSA-BP模型的预测精度、收敛速度和稳定性。LSSA-BP模型预测流程如图1。
2.2 煤层瓦斯含量预测指标选取
以黄陵一号煤矿2#煤层为例,该矿瓦斯地质较为简单且瓦斯资料数据有限,根据前人对煤层瓦斯含量预测的研究,将影响煤层瓦斯含量X0的样本数据初步选取为以下7个具有代表性且易于量化表达的影响因素:煤层厚度X1、煤层埋深X2、煤层上覆基岩厚度X3、煤层顶板20 m内砂岩(粗粒砂岩、中粒砂岩、细粒砂岩)厚度X4、煤层顶板20 m内泥岩厚度X5、挥发分X6和灰分X7。选取45组瓦斯含量及影响因素的数据作为模型的数据集,其中数据前80%的部分作为训练集,剩余数据作为测试集,瓦斯含量及影响因素数据见表1。
表 1 瓦斯含量及影响因素数据Table 1. Gas content and influencing factors data钻孔 X0/(m3·t−1) X1/m X2/m X3/m X4/m X5/m X6/% X7/% X49 0.30 3.93 269.33 260.54 14.03 5.97 36.22 8.52 X51 0.19 2.65 326.59 321.71 19.35 0.65 33.06 10.52 SK2 0.47 2.43 459.20 386.44 7.13 6.77 38.46 23.23 $\vdots $ $\vdots $ $\vdots $ $\vdots $ $\vdots $ $\vdots $ $\vdots $ $\vdots $ $\vdots $ L76 0.35 3.77 352.40 311.23 1.80 3.48 35.85 17.70 L83 1.47 2.61 462.90 396.05 18.24 0.00 34.85 20.72 L85 1.46 2.55 539.32 516.79 6.83 0.00 38.27 12.40 借助MATLAB R2021a平台,利用灰色关联分析法筛选主控因素作为模型的输入层节点数[19],步骤如下:
1)确定参考序列和比较序列。瓦斯含量X0为参考序列,影响瓦斯含量的7个因素为比较序列Xe。
2)数据按式(5)进行归一化处理。
$$ {x}_{l}'\left(h\right)=\frac{{x}_{l}\left(h\right)-{x}_{{\rm{min}}}}{{x}_{{\rm{max}}}-{x}_{{\rm{min}}}} $$ (5) 式中:$ {x}_{l}\left(h\right) $为样本编号为$ h $,评价指标为$ l $的1个数值;$ h $为样本编号,$ h $=1,2$,\cdots , $ m;$ {x}_{{\rm{max}}} $、$ {x}_{{\rm{min}}} $为评价指标的最大值和最小值。
3)按式(6)计算关联度系数。
$$ {\xi }_{e}\left(k\right)=\frac{{e}_{{\rm{min}}}{k}_{{\rm{min}}}\left|{x}_{0}\left(k\right)-{x}_{e}\left(k\right)\right|+\rho {e}_{{\rm{max}}}{k}_{{\rm{max}}}\left|{x}_{0}\left(k\right)-{x}_{e}\left(k\right)\right|}{\left|{x}_{0}\left(k\right)-{x}_{e}\left(k\right)\right|+\rho {e}_{{\rm{max}}}{k}_{{\rm{max}}}\left|{x}_{0}\left(k\right)-{x}_{e}\left(k\right)\right|} $$ (6) 式中:$ {\xi }_{e}\left(k\right) $为第e个比较序列$ {x}_{e} $对参考序列$ {x}_{0} $在第$ k $指标上的关联系数,$e=1,3, \cdots ,7 $,$ k $=1,2$,\cdots , $ n;$ \rho $∈[0,1]为分辨系数。
4)按式(7)计算关联度。
$$ {r}_{e}=\frac{1}{\theta }\sum _{k=1}^{n}{w}_{k}{\xi }_{e}\left(k\right) $$ (7) 式中:$ {r}_{e} $为关联度;$ \theta $为样本数量;$ {w}_{k} $为指标权重。
灰色关联度分析结果见表2。
表 2 灰色关联分析结果Table 2. Gray association analysis results影响因素 X1 X2 X3 X4 X5 X6 X7 关联度值 0.8110 0.8385 0.8297 0.8070 0.7264 0.8209 0.8209 由表2可知:7个影响因素的关联度均高于0.7,当关联度不小于0.8时,认为关联性很好,因此选取关联度在0.8以上的作为模型的输入层节点数。影响因素X6和X7的关联度值一致,说明这2个因素对瓦斯含量的影响效果一样,只需保留1个即可,剔除X7。最终确定将煤层厚度、煤层埋深、煤层上覆基岩厚度、煤层顶板20 m内砂岩厚度和煤的挥发分共5个影响因素作为模型的输入层节点数。
2.3 模型参数设置
为验证LSSA-BP模型的稳定性、预测精度和运行速度,借助MATLAB R2021a平台,将筛选出的5维样本数据按照图1预测流程进行训练,并利用SSA-BP模型和BP模型与该模型的预测结果进行综合对比。经过BP模型的反复训练,隐含层节点数和均方误差见表3。
表 3 隐含层节点数与均方误差Table 3. Implied layer node count and mean squared error隐含层节点数 3 4 5 6 7 8 9 10 11 12 均方误差/% 0.1792 0.1842 0.2042 0.1783 0.2320 0.2418 0.1038 0.2779 0.0731 0.1309 当隐含层节点数为11时,BP神经网络训练集的均方误差最小。因此,将构建结构为5-11-1的BP神经网络,训练次数设置为1000,学习速率为0.01,训练目标最小误差为0.00001。SSA算法中的初始种群规模为20,最大迭代次数为30,发现者占比为全部种群的70%,其余作为跟随者,预警者比重为20%,安全值为0.6。
3. 模型预测结果
3.1 训练结果
优化收敛曲线如图2。
由图2可知,LSSA-BP模型在迭代15次后达到全局最优,具有较强的寻优能力,而SSA-BP模型在迭代25次后才趋于平稳,且LSSA-BP模型训练的均方误差更低;LSSA-BP模型较SSA-BP模型具有更强的全局搜索能力、更高的预测精准度和更快的收敛速度。
3.2 预测值及预测误差对比
为验证LSSA-BP模型在煤层瓦斯含量预测方面的有效性和优越性,选取数据样本中的后9组数据作为预测样本进行预测,LSSA-BP模型预测结果见表4,预测样本预测值与实测值对比如图3,预测结果绝对误差对比如图4。
表 4 LSSA-BP模型预测结果Table 4. SSA-BP model prediction results样本钻
孔编号HK23 HK25 HK26 L73 L74 L75 L76 L83 L85 实测值/(m3·t−1) 1.88 1.64 1.46 2.93 1.18 1.88 0.35 1.47 1.46 LSSA-BP
预测值/(m3·t−1)1.3101 1.5196 1.0920 2.5502 1.7450 1.7374 0.5747 0.7356 1.4770 由图3可知:LSSA-BP模型中除钻孔L83的预测值与实测值相差较大外,其余钻孔的预测值与实测值在整体上接近程度较高;SSA-BP模型,虽然部分钻孔的预测结果较好,但是其中钻孔L73和L76的预测值与实测值偏离幅度较大;而BP模型的预测值与实测值偏离幅度总体较大,预测结果较差。
由图4可知:LSSA-BP模型的预测稳定性较其他模型最好,在整体上最接近于0,且较为平缓,其中钻孔L83的预测误差最大,误差达到了0.734 4 m3/t,小于SSA-BP模型的最大误差1.304 2 m3/t;而单一的BP模型预测误差总体上均较大,最大误差高达2.191 9 m3/t。
由以上各模型的预测值以及预测误差对比可知,LSSA-BP模型预测结果准确度较高且稳定性更佳。
3.3 预测精度对比
为了能够有效反映模型预测的精度,选择平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)4个指标作为模型预测精度的评价指标[20-21]。模型精度指标见表5。
表 5 模型精度指标Table 5. Model accuracy indexes模型 MAE/(m3·t−1) MSE/(m3·t−1) RMSE/(m3·t−1) MAPE/% BP 1.2147 1.8443 1.3581 104.0016 SSA-BP 0.4064 0.3535 0.5946 45.7889 LSSA-BP 0.3469 0.1721 0.4149 27.4036 LSSA-BP模型的4项指标均优于SSA-BP模型和BP模型;较SSA-BP模型4项指标分别提升了0.0595 m3/t、0.1814 m3/t、0.1797 m3/t和18.3853%,其中在MSE、RMSE和MAPE这3项指标的提升效果较明显。
LSSA-BP模型的4项指标较BP模型4项指标分别提升了0.8678 m3/t、1.6722 m3/t、0.9432 m3/t和76.5980%;总体提升效果非常明显,表明LSSA-BP模型在煤层瓦斯含量预测方面具有一定优势;而对BP模型的4项指标数值均较大的情况,是由于BP模型在搜索过程中易陷入局部极小值,且搜索效率较低,甚至出现“过拟合”现象的原因。
通过对比3种模型预测结果的4项指标,LSSA-BP预测模型的各项指标均为最优,可满足在煤层瓦斯含量准确预测的需要。
4. 结 语
1)通过灰色关联分析法计算出各个因素与煤层瓦斯含量之间的关联度,可筛选出影响煤层瓦斯含量的主控因素,从而能确定模型的输入层节点个数,降低模型的数据维度,减小模型的计算量和预测误差。
2)利用Logistic混沌映射初始化麻雀种群,可增加种群多样性,扩大全局搜索能力,并通过LSSA对BP神经网络权值和阈值的优化,所建立的基于LSSA-BP的煤层瓦斯含量预测模型,有效解决了单一BP模型收敛速度慢和易陷入局部极小的问题。
3)就训练结果对比,LSSA-BP模型较SSA-BP模型对数据的学习迭代次数明显减少,具有较强的寻优能力。通过对比LSSA-BP、SSA-BP和BP模型预测结果,LSSA-BP模型的预测值与实测值贴合度较好,具有更佳的稳定性。同时,LSSA-BP模型的平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)分别为0.3469 m3/t、0.1721 m3/t、0.4149 m3/t和27.4036%均优于其他模型,具有较高的精准度。由此表明,LSSA-BP模型在煤层瓦斯含量预测方面具有一定的优势,可为煤矿瓦斯灾害防治提供比较可靠的分析和决策依据。
4)在本次煤层瓦斯含量预测研究中,样本数据初步选取为7个具有代表性且易于量化的影响因素,并且样本数量有限;在今后的研究中,进一步丰富样本数据的类型和数量预测效果会更佳。另外,当训练样本数目较多时,LSSA-BP模型训练耗时较长,未来需在这方面有进一步的优化提升,以提高模型在煤层瓦斯含量预测方面的实用性。
-
[1] Thomas ERL, Zaigham Mahmood, Ricardo Puttini.云计算:概念、技术与架构[M].龚奕利,贺莲,胡创,译.北京:机械工业出版社,2014. [2] 陈赤榕,叶新江,李彦涛,等.云计算和大数据服务—技术架构、运营管理与智能实践[M].北京:清华大学出版社,2022. [3] 王柏生,谢广军.深度探索Linux系统虚拟化:原理与实现[M].北京:机械工业出版社,2020. [4] 赵渝强.NoSQL数据库实战派:Redis+MongoDB+HBase[M].北京:电子工业出版社,2022. [5] 柳俊,周苏.大数据存储—从SQL到NoSQL(大数据系列丛书)[M].北京:清华大学出版社,2021. [6] 香农·布拉德肖(ShannonBradshaw).MongoDB权威指南[M].牟天垒,王明辉,译.北京:人民邮电出版社,2021. [7] 马骏主.C#网络应用编程[M].北京:人民邮电出版社,2010. [8] 易格恩阿格佛温EugeneAga.C#多线程编程实战[M].北京:机械工业出版社,2017. [9] 易哥.高性能架构之道:分布式、并发编程、数据库调优、缓存设计、IO模型、前端优化、高可用[M].北京:电子工业出版社,2021. [10] 于君泽.深入分布式缓存:从原理到实践[M].北京:机械工业出版社,2018. [11] 刘宏志.数据、模型与决策[M].北京:机械工业出版社,2019. -
期刊类型引用(3)
1. 贾丽娜. 基于散斑干涉法的岩体剪切变形程度研究——以铜仁市水库工程为例. 水利科技与经济. 2024(08): 6-9 . 百度学术
2. 李明胜. 基于数值模拟分析的煤场软土地基处理. 中国煤炭地质. 2024(11): 44-49+39 . 百度学术
3. 陈光波,唐薇,李谭,王创业,王二雨,张国华. 裂隙煤岩组合体单轴压缩力学响应及失稳机制. 岩土力学. 2024(09): 2633-2652 . 百度学术
其他类型引用(2)
计量
- 文章访问数: 18
- HTML全文浏览量: 0
- PDF下载量: 7
- 被引次数: 5