CN112817791B - 一种工作面集群开采状态的移动端监控方法 - Google Patents
一种工作面集群开采状态的移动端监控方法 Download PDFInfo
- Publication number
- CN112817791B CN112817791B CN202011638876.0A CN202011638876A CN112817791B CN 112817791 B CN112817791 B CN 112817791B CN 202011638876 A CN202011638876 A CN 202011638876A CN 112817791 B CN112817791 B CN 112817791B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- monitoring
- service
- slave
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 45
- 238000005065 mining Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004519 manufacturing process Methods 0.000 claims abstract description 16
- 239000003245 coal Substances 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 claims description 6
- 230000018109 developmental process Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000013508 migration Methods 0.000 claims description 5
- 230000005012 migration Effects 0.000 claims description 5
- 238000013515 script Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 3
- 210000004556 brain Anatomy 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 claims description 3
- 235000014510 cooky Nutrition 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 claims description 3
- 230000033772 system development Effects 0.000 claims description 2
- 238000000926 separation method Methods 0.000 abstract description 6
- 238000011084 recovery Methods 0.000 abstract description 5
- 238000011897 real-time detection Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 10
- 238000007405 data analysis Methods 0.000 description 7
- 230000002354 daily effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 101001072091 Homo sapiens ProSAAS Proteins 0.000 description 2
- 102100036366 ProSAAS Human genes 0.000 description 2
- 210000004899 c-terminal region Anatomy 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 231100000279 safety data Toxicity 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种工作面集群开采状态的移动端监控方法,本发明具有主数据库和从数据库,在主数据库出现问题,可以动态切换到从数据库,可以进行数据库层面的读写分离,考虑到无法避免Mqtt在业务系统内收到后对数据处理入库的效率的能力。只能优化读写效率,对工况数据表建立索引,避免复杂低效率SQL,数据入库操作均由主库执行,接口查询及其他业务操作均由从库执行,还能够容灾备份。本发明通过巷道监控中心或者地面控制中心实现综采工作面的实时检测与控制,通过将综采工作面实行集群化管理,并以移动端方式呈现给使用者,能够保证矿井主要人员对综采工作面的实时监控,保障安全高效生产。
Description
技术领域
本发明属于监控系统领域,具体涉及一种工作面集群开采状态的移动端监控方法。
背景技术
现有技术方案针对工作面开采状况进行简易操作,将采集到的综采工作面数据处理之后经过MQTT协议上传至阿里云服务器,移动终端通过阿里云监控工作面具体生产情况。
现有的设计中,大部分的数据经过粗暴接入后就直接对接业务,从项目运行周期来看,发现数据的使用杂乱无章,各业务都是从原始数据直接计算而得。各种重复计算,严重的浪费了计算资源,需要对数据处理机制及方式进行优化。本次升级中将严格遵从数据分层设计原则即ETl(也叫ODS Operational Data Store数据运营层,时最接近数据源中的数据的一层,数据源中的数据,经过抽取、洗净、传输)、DW(数据仓库层,在这里从ODS中获取的数据按照主题建立各种数据模型,列如以绘制采煤机截割取趋势为主题的数据集中或是以日生产情况汇总为主题的数据集中。其中该层牵扯到四个概念:维、事实、指标、粒度)、APP(数据产品层,该层主要提供给数据分析、数据产品使用本项目将集中存放之MySQL数据库以供线上系统、APP使用。对于以后数据积累量到达指标、或该项目发布上线后根据实际运行情况考量使用ES、HIVE进行数据挖掘以及数据分析使用)。其它:屏蔽原始数据的异常、屏蔽业务的影响(不必针对于新的业务或模块组件开发时就需要重新接入数据)。
现有技术的客观缺点主要从以下几个点进行说明:
1)综采自动化的时序数据结构不支持BS端应用;
2)暂无设备监护移动端应用;
3)暂无信息化矿山生产管控应用。
发明内容
本发明的目的在于克服上述不足,提供一种工作面集群开采状态的移动端监控方法,能够保证矿井主要人员对综采工作面的实时监控,保障安全高效生产。
为了达到上述目的,本发明的多用户通过特定数据链路接入主数据库中,并对主数据库中的数据进行写入、替换和执行;
特定数据链路的数据交换方法包括以下步骤:
对于ODS层数据采用Emqx对接C端采集数据服务所会发送的实工作面的工况数据,将该数据存入MySQL数据库中;
其他业务数据接入方式由MySQL数据库进行接入,并提供主数据库中的DDL操作和从数据库的DML操作;
主数据库中的DDL和从数据库的DML操作通过BINLOG传输到从数据库上,然后将这些日志重新在从数据库执行。
数据业务计算采用SQOOP进行抽取,并采用canal监听MySQL数据库的BINLOG,BINLOG实时接入。
DW层转APP层数据根据以下类型区分:
每日定时任务类,在煤矿非生产阶段使用MR程序计算,最终结果写入MySQL数据库、Redis和报表中。
实时数据类,由APP移动端使用,直接通过mqtt转发,采用Spark Streaming进行计算并实时推送。
主数据库访问连接和从数据库默认访问连接均由Keepalived服务提供虚拟IP地址,端口由Haproxy做统一代理;
从数据库的DML操作做负载均衡处理,主数据库库正常状态下默认访问主库地址,故障切换时,由keepalived做代理,由Haproxy执行轮询调度机制访问从数据库,做DML操作。
关于Keepalived应用MySql HA集群模式中出现脑裂问题,执行以下方案预防和处理:
在Iptables中添加VRRP通信,根据实际配置网络环境配置,允许组播地址通信:
编写自动化Shell脚本,轮询PING网关,若发现PING异常,则判断为自身连接至网关出现异常,执行关闭当前节点Keepalived操作,并通知运维人员节点故障。
不同操作系统间采用指令加密传输。
通过websocket服务实现APP与后台的通信监测。
采用EMQ实现主数据库和从数据库的分布式集群模式,部署若干emqtt服务器,采用主备策略,每台emqtt服务器为一个节点,各节点之间通过一个相同的cookie进行互联认证,保证节点通信通道安全,节点将通过TCPv4方式连接。
采用HDFS分布式文件系统做为数据存储、文件备份、日志备份和历史数据迁移存储数据的分布式存储。
前端采用Vue进行开发,后端采用SpringBoot服务框架进行系统开发。
与现有技术相比,本发明具有主数据库和从数据库,在主数据库出现问题,可以动态切换到从数据库,可以进行数据库层面的读写分离,考虑到无法避免Mqtt在业务系统内收到后对数据处理入库的效率的能力。只能优化读写效率,对工况数据表建立索引,避免复杂低效率SQL,数据入库操作均由主库执行,接口查询及其他业务操作均由从库执行,还能够容灾备份。本发明通过巷道监控中心或者地面控制中心实现综采工作面的实时检测与控制,通过将综采工作面实行集群化管理,并以移动端方式呈现给使用者,能够保证矿井主要人员对综采工作面的实时监控,保障安全高效生产。本发明基于大数据信息模型,结合具体的业务和数据的分析处理需求,完成煤矿开采数据规范和数据标准设计,整合开采核心数据,构建统一完整的大数据视图,以此实现煤矿开采数据资源的统一管理和利用,为后期全生命周期的数据资源和数据资产流程管理和标准设计打下坚实的基础。
附图说明
图1为本发明的框架图;
图2为本发明服务应用架构图;
图3为本发明底层应用服务架构图;
具体实施方式
下面结合附图对本发明做进一步说明。
参见图1,本发明为实现对智能化管理系统数据的采集、数据存储与分析、数据应用三个大数据处理功能,总体架构设计分为数据源、智能化综采管理系统、云服务系统以及移动应用四个层次。
参见图2和图3,本发明使用分层微服务架构,实现矿山集群数据链路的同步监护。硬件及底层服务中间件分为两部分,其中底层服务应用架构硬件服务器为3台。1主2备。应用于MYSQL、SCP/PSCP、WebSocket、Mqtt、HDFS、Haproxy、Keepalived服务。主要作用于C端底层采集数据在通过Mqtt交互后,配合后台业务系统的数据流转调度。通过Haproxy+Keepalived保证Mqtt、SCP/PSCP、WebSocket的7*24运行状态。针对底层应用服务体系,分项说明各服务组件应用及原理:
MySql数据库:采用分布集群模式,一主多从通过Haproxy+Keepalived实现高可用。读写分离,主从复制。分库分表。建立Binlog监听机制。
采用5.7x64社区版(正版开源版),应用于本方法中后端业务系统的数据管理、各工作面工况数据(这里指的是处理过后的数据)管理、EMQX用户认证数据库管理、WSS/JWT用户认证数据管理、CAS用户单点登录认证数据管理、接口管理等平台内统一数据管理存储数据库。数据库结构将从1.0版本中单库配置修正调整为一主多从机制。配置读写分离,主从复制。将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新在从数据库执行;从而使得从数据库的数据与主数据库的数据保持一致。主从复制的作用主要体现在,1、主数据库出现问题,可以动态切换到从数据库(该业务由后端代码实现、数据库本身提供切换功能,但具体切换时间及策略由后端业务控制,可实现自定义)。2、可以进行数据库层面的读写分离。考虑到无法避免Mqtt在业务系统内收到后对数据处理入库的效率的能力。只能优化读写效率,对工况数据表建立索引,避免复杂低效率SQL,数据入库操作均由主库执行,接口查询及其他业务操作均由从库执行。3、容灾备份。
关于主从复制延迟问题,可通过实现方式、粒度、硬件配置、网络环境、存储配置等多种途径解决。
实现方式采用一主多从机制,启用主库binlog日志,设置格式、server_id、授权用户,指定主数据库服务器信息,设置允许偏移量Slave。执行线程:Slave_IO复制master主机binlog日志文件里的SQL到本机的relay-log文件里、Slave_SQL:执行本机relay-log文件里的SQL语句,重现Master的数据操作,以上操作Slave从库执行时均为单线程操作。
后端实现持久层框架为MybatisPlus。
主数据库访问连接和从数据库默认访问连接均由Keepalived服务提供VIP虚拟IP地址,端口由Haproxy做统一代理。从库DML(Select)操作做负载均衡处理。主库正常状态下默认访问主库地址,故障切换时,由keepalived做代理。由Haproxy执行轮询调度机制访问从数据库。做DML(inster、update、delete)操作。最终实现Mysql数据库环节的高可用机制。
关于Keepalived应用MySql HA集群模式中出现脑裂问题,执行以下方案预防和处理,1、在Iptables中添加VRRP(虚拟路由冗余协议)通信,根据实际配置网络环境配置,允许组播地址通信。预防keepalived多节点共同持有VIP问题。2、编写自动化Shell脚本,轮询PING网关,如果发现PING异常时,就判断为自身连接至网关出现异常,执行关闭当前节点Keepalived操作。并通知运维人员节点故障(方式:1、系统消息推送;2、短信通知)。
Mysql服务将应用于3台Centos 6.8操作系统内,实现1主2从,受到Haproxy+Keepalived管理。由于部署在陕煤云内,受到陕煤云网络环境限制,Haproxy及keepalived将通过陕煤云做二次端口映射至集团统一地址上。内网地址不变。管理操作均由指定人员并对该机制掌握透彻方可。
PSCP/SCP服务:linux、windwos将采用PSCP指令加密传输。Linux采用SCP通过OpenSSH加密传输。
为满足后端系统文件(指后缀名为:tar、zip、tar.gz、words、excel、mp3、mp4等)内外部传输,考虑安全问题以及兼容各子系统问题(指兼容windows、linux)Windows访问采用PSCP指令,该指令由PUTTY外部工具提供。通过PUTTY GEN生成公钥Kye文件。传输时需要在windwos端启动key客户端,通过DOS,格式:PSCP-i<key file path><-r/><file path>hostname:network<to file path>进行系统级的文件操作传输。其应用于,C端各报表传输。Linux内部传输途径依靠SCP指令完成,各服务器采用openssh服务指令集:SCP完成,需要配置SSH加密(免密配置访问)通道。将生成的公钥发送至目标服务器,建立免密连接通道。主要应用于系统内部,日志、数据备份文件、照片、文件等其它的传输于交互。
WebSocket服务:通过websocket实现APP与后台的通信监测,实现全局各组件模块健康检查。实现IM服务。
该服务由JAVA spring boot(spring-boot-starter-websocket)提供,可直接集成至项目中,采用spring自定义配置文件方式,都websocket进行整合。提供对外socketHTTP业务支持。将APP心跳监测通过socket与云后端单独建立通道。改变现有通信机制,APP心跳监测将由云平台后端通过websocket服务建立持久会话。
项目名称跟随主平台名称,前端管理页面独立开发。采用NodeJS、npm、VUE CLI、VUE ROUTER、VUE X、STORE、vue全家桶,通用样式将基于Ant Design of Vue。图表组件:Viser、ICON组件基于:github icon。项目采用前后端分离进行分项开发。后端采用JDK1.8、SpringBoot、MyBatisPlus、Shiro、JWT、Redis、Mysql、WebSocket、LOMBOK进行独立模块化系统开发。系统预留扩展接口。可与后端进行插拔式集成。同时将对IM通信协议及业务进行指定和开发。满足APP内IM通信。建立好友机制、联系人、联络记录、动态上下线感知、离线头像置灰、添加删除好友、文件视频传输(暂不提供语音消息功能)。
MQTT高可用服务:采用EMQ实现分布式集群模式,灵活部署多个节点,抗压能力强稳定性强、可确保7*24运行,依靠与Haproxy+Keepalived实现负载均衡与高可用,解决并发问题。
使用EMQX作为底层消息发布订阅服务框架,该技术框架由EMQ公司提供,采用开源版emqx Broker。符合工况数据发布订阅功能需求,并满足扩展和升级中所需要的功能性技术。
Emqtt由Erlang语言开发。Erlang/OTP最初是爱立信为开发电信设备系统设计的编程语言,电信设备(路由器、接入网关)典型设计是通过背板连接主控板卡与多块业务板卡的分布式系统。Erlang/OTP语言平台的分布式程序,由分布互联的Erlang运行系统组成,每个Erlang运行系统被称为节点(Node),节点(Node)间通过TCP互联,消息传递的方式通信。
本技术采用Emqtt集群模式,集群自动发现策略采用static模式,启用集群脑裂自愈和自动清除周期策略。由陕煤云提供硬件支持,将部署3台emqtt服务,采用主备策略。每台都称为一个节点,各节点之间通过一个相同的cookie进行互联认证,保证节点通信通道安全。节点将通过TCPv4方式连接,分布集群采用以下原则:1、MQTT客户端订阅主题时,所在节点订阅成功后广播通知其他节点:某个主题(Topic)被本节点订阅。2、MQTT客户端发布消息时,所在节点会根据消息主题(Topic),检索订阅并路由消息到相关节点。3、EMQ X消息服务器同一集群的所有节点,都会复制一份主题(Topic)->节点(Node)映射的路由表。
EMQTT发布订阅用户连接认证将通过emqx服务emqx_auth_mysql插件完成,通过mysql控制用户访问连接,并可配置ACL数据/主题策略。可对单一用户实现高度自由定义。
基于该模式,MQTT消息可对外提供访问控制能力。同时也提高了工况数据在内外网环境中传输的安全性和稳定性,基于TCP/IP、WebSocket、SSL方式发布或订阅的主题数据,可建立接收池、配置并发连接、该协议下的ACL访问控制、该协议下的数据接收速率、TLS(防止POODLE攻击)、TLS握手超时时间,支持连接用户私钥、证书、CA证书等方式认证。支持OS内核数据缓冲区大小配置。
针对MQTT单点故障的问题,由Haproxy+keepalived管理并解决,基于emqtt自身集群模式的特性,由HA提供高可用机制。可保证MQTT服务7*24小时的运行,相对而言,该服务运维难度也会版本的迭代升级而增加。
HDFS文件服务:采用分布式文件系统,单机节点灵活可配置,可在线动态扩容,永久保留数据、日志、文件。
本方法中的HDFS(分布式文件存储系统),由于系统架构采取SAAS多租户模式,数据统一集中,工况数据以及其他文件、报表存储均由服务器存储大小决定、受限。特别是MySql数据库内各租户的工况数据积累冗余。使得数据库的维护和可用性及稳定性变得复杂。所以HDFS文件系统会定期通过linux内crontab shell。执行文件、数据备份、历史数据迁移策略。传统单机数据迁移或备份策略,都会受到单机CPU处理速率、内存大小内存读写速率、硬盘实际空间。等多中因素,导致必须定期人工维护。人工操作阶段大部分为不可逆操作。出现操作失误,后果太严重。所以采用HDFS文件系统,做为平台底层数据存储、文件备份、日志备份、历史数据迁移存储等核心关键数据的分布式存储。
HDFS分布式文件系统是基于Hadoop内的一个服务。由于Hadoop的特殊性,Haproxy+keepalived并不能够接管Hdfs,使其成为高可用环境的文件系统,Hadoop内部各组件及服务经过Apache基金会二次整合改造。其本身已提供HA高可用的方式,即DFSZKFailoverController(该组件为Hadoop内部独立开发的服务)。它比Haproxy+Keepalived可用性更强,为Hadoop集群内提供全HA环境的高可用支撑。优点在于服务可靠、可存储小量数据且提供强一致性。可自动发现与删除(间隙在2S左右,依据实际配置性能),对于节点状态的变化,可提供异步的通知(监听)。该组件为NameNode提供HA环境通过NameNode来管理DataNode服务。本质上是将多台服务器的CPU、内存、物理存储共享。对外只提供一个地址,其内部原理和机制,访问者并不需要关心。当原有存储不满足业务时,可对存储服务进行动态在线扩容。及配置节点并使节点自动加入集群内。
实现方式:将由陕煤云3台服务器进行集群搭建。访问地址由DFSZKFailoverController提供外部访问地址,该地址与VIP地址大同小异,当内部发生变化时,外部访问地址不变。
关于HA模式下,脑裂问题处理与Mysql处理方式不同,HDFS受专用组件管理,当HDFS、NAMENODE服务出现问题时,可通过两种方式:1、编写Shell脚本,做自定义处理。2、采用DFSZKFailoverController内部定义的机制做处理,该方式只受限于节点持有资源,SSH可以访问的状态下,可自行恢复。如果出现节点持有资源,SSH不可访问的条件下,该方式无效。并且集群会处于崩溃状态。
Haproxy+Keepalived服务:使用haproxy+keepalived完成并发访问的负载均衡,并控制负载均衡的使用VRRP冗余路由VIP技术实现对负载均衡的高可用。
Haproxy、Keepalived是两个独立中间件,Haproxy是用于做负载均衡的,其原理是通过balance配置负载均衡的算法,常用的是(roundrobin轮询、leastconn最少连接者先处理、static-rr根据权重)。并映射端口、服务、IP,在本机内部做虚拟端口映射,从而实现对访问的控制和负载做处理。Keepalived是linux轻量级别的高可用解决方案,主要使用VRRP(虚拟路由冗余协议)来实现高可用功能,通过VRRP就可以实现网络不间断的稳定运行。使用和部署方便简易。
健康检查和失败切换是keepalived的两大核心功能,所谓的健康检查就是采用tcp的三次握手、ICMP请求、HTTP请求、udp、echo请求请方式对负载均衡后面的实际应用服务进行保活。而失败切换主要是应用于配置了主备模式的负载均衡。利用VRRP维持主备负载均衡的心跳。当(主)负载均衡出现问题时,由(备)负载均衡承载所对应的业务。从而在最大的限度上减少单点故障问题,提供服务不间断运行的稳定性。
为了使各服务组件能够互相兼容、解耦但又相互关联同时必须具备并发能力,为此引入了Haproxy+Keepalived轻量级的高可用服务。
本系统采用模块化设计思想进行开发,对系统内部各业务进行解耦。抽离并独立各组件各业务,整合公共业务及组件,采用前后端分离的方式开发,前端采用Vue进行开发,利用Vue的特性,对前端界面进行解耦拆分。界面均为各组件组合而成,特殊业务可完成进行独立单一组件开发。组件使用方式即“注册即使用”。
后端采用SpringBoot主要服务框架进行系统开发,对各业务各模块将进行独立开发,各业务模块将独立运行至各服务器,相互无关联。采用SAAS多租户模式设计思想,系统发布上线、版本迭代更新时,只需要对该租户账户进行授权即可,后端服务将自动进行装配。进行服务提供。系统本身并不会产生影响,不会影响目前在线用户,系统可进行灰度发布测试,该功能取决于实现租户数量及功能复杂度。对于具有时效性的服务提供,将采用每天指定时段为节点统一做服务回收机制,即服务过期机制,该功能将更多体现至PC端。
用户数据ACL服务,是平台后端与底层应用服务的桥梁,通过该服务,可实现对平台所有用户进行统一访问控制即数据授权,各独立开发的模块。也将通过用户ACL数据服务进行交互。
ACL公共数据服务组件,在系统、各模块组件部署时被集成。服务于单个模块或系统内。考虑到系统、模块内的实际业务情况。对应认证方式不同、数据回调机制、业务负载能力、连接机制、访问并发处理能力等应对实际业务所对应调整的不同情况。对ACL公共数据服务组件进行抽离。
根据C端数据采集端升级所带来的影响和优化程度。结合预计将来实际业务需求。系统核心数据处理部分将抛弃现在系统设计思想,其原有设计中,大部分的数据经过粗暴接入后就直接对接业务,从项目运行周期来看,发现数据的使用杂乱无章,各业务都是从原始数据直接计算而得。各种重复计算,严重的浪费了计算资源,需要对数据处理机制及方式进行优化。本次升级中将严格遵从数据分层设计原则即ETl(也叫ODS Operational DataStore数据运营层,时最接近数据源中的数据的一层,数据源中的数据,经过抽取、洗净、传输)、DW(数据仓库层,在这里从ODS中获取的数据按照主题建立各种数据模型,列如以绘制采煤机截割取趋势为主题的数据集中或是以日生产情况汇总为主题的数据集中。其中该层牵扯到四个概念:维、事实、指标、粒度)、APP(数据产品层,该层主要提供给数据分析、数据产品使用本项目将集中存放之mysql以供线上系统、APP使用。对于以后数据积累量到达指标、或该项目发布上线后根据实际运行情况考量使用ES、HIVE进行数据挖掘以及数据分析使用)。其它:屏蔽原始数据的异常、屏蔽业务的影响(不必针对于新的业务或模块组件开发时就需要重新接入数据)。
本次项目中对于ODS层数据采用Emqx对接C端采集数据服务所会发送的实工作面的工况数据,将该数据存入mysql中,数据业务计算可考虑采用SQOOP进行抽取,每一个小时抽取一次,实时方面,可以考虑用canal监听mysql的binlog。实时接入即可。其他业务数据如人员信息、组织架构管理、权限(功能权限、数据权限)、矿井参数配置等、该类数据将遵从数据库范式设计原则进行设计。接入方式由mysql进行接入,并提供DDL、DML操作。DW-->APP层数据考虑从两种类型区分:1、每日定时任务:典型的日任务计算,将在煤矿非生产阶段(针对于各矿将实施不同策略)使用MR程序计算。最终结果可写入MySQL、Redis、报表中。后期可考虑写入ES、HIVE中。2、实时数据,由APP移动端使用,比如展示当前实时工作面设备参数运行情况,将直接通过mqtt转发。经由各数据简单组合所形成的报表、趋势图,考虑采用Spark Streaming进行计算并实时推送。
各接入系统租户数据将采用”永久保存、临时提供”原则,即生产数据汇总、煤机轨迹趋势数据、工作面启停数据、各设备违规超压超限数据、工作面生产数据等统一原则保存一个月。
按照本次需求,项目整体结构以及部署实施方案共两种,其一就是各服务组件打包(jar包)。并在maven编译阶段加入各模块。并对系统内部代码调整,对接各模块,使其能够基于系统后端提供底层支持进行工作。
其二,针对于各服务、组件、模块、系统进行独立部署,采取通用集成手段,认证即控制均为ACL.jar提供服务,呈现方式都数据库、前端页面控制,该方式虽然不对后端造成任何影响,但前端界面数据渲染、接口调取将有压力。各界面显示由后端、ACL服务进行控制,界面内各组件、模块内数据源,由各组件、模块提供。互不干扰。
实施例:
A客户目前已经正在使用该系统、且系统运行正常。B客户处于需求对接阶段。针对B客户所提出的需求,将按需开发,持续交付。确保B客户在准确的时间节点前使用。
客户需求:
接入系统,并希望通过该系统管理基础业务(APP人员管理...)。
添加任务填报功能、瓦斯抽放功能。
开发阶段:
目前这两个模块,已完成开发,并完成测试。可随时装配发布。
实现方式:
运维人员,配置B客户用户信息、模块业务信息,并对该用户进行ACL数据授权、模块业务授权。随后即可交付。
智能化综采移动应用功能
1)移动监测的功能;
移动端包括实时监测两个工作面所有综采设备工况预览、综采关键信息、一键启动记录、违规操作记录、故障汇总、矿压监测、操作汇总等功能。
实现综采工作面的实时切换。
采煤机、三机、运输机、泵站的启停状态、控制状态和基本信息,图标点击后可以进入对应设备的详细信息页面。
工作面生产和检修状态显示。
显示采煤机速度、方向、左右采高。
滑动切换工作面时展示对应的工作面工况信息。
显示当班详情信息:包括班类、班次、人数、主要操作人员(采煤机操作员、支架操作员)。
矿压监测:用于实时、在线监测液压支架工作阻力、立柱伸缩量、超前支承压力等。
矿压分析智能报表:矿压智能分析及矿压分析报表智能生成功能,可从调度书客户端和移动终端手动按需求生成和自动按生产班时间生成报表并在线浏览功能。
控制台状态与当班详情信息,煤机区信息,三机区数据与胶带运输机数据,泵站区数据,支架组数据,本次在209工作面在延续以往工作面信息的同时,新加入矿压监测等模块。安全数据为新模块的引进不仅是国内首家通过手机端监测实现集成多元化危险预警与查看。
一键启动记录;
可以显示相对应的工作面记录列表与详情,详情包括启动结果状态、时间、失败原因。
违规记录;
显示违规记录包括违规记录列表与违规详情。
故障汇总;
故障列表包括序号、对象、名称、报警时间、报警值,恢复值。
操作汇总;
操作列表包括序号、动作、设备名称、动作时间、状态、当前值。
2)矿压智能分析功能
针对传统的矿压监测装置往往不够完备,抗干扰能力差,数据处理能力差,这些缺陷往往造成矿井安全监测不到位。针对这些情况,设计一套矿压综合检测系统,能快速准确反馈各种矿压信息,以采取措施加强顶板管理,保证煤矿的安全生产和运输。从而掌握采煤工作面矿压显现规律,并以此指导生产。本系统设计是一种低成本的煤矿监测系统。具有低成本,功能强,可靠性高,低功耗等特点。
在现有的基础上,通过数据采集服务器将数据采集到数据处理系统对数据进行清洗后,写入数据库内。在移动终端界面通过调用该数据进行绘制实时监测数据。
建立矿压分析功能:
针对本矿开采条件,通过建立矿压在线监测系统,系统地分析工作面顶板的周期运动规律,确定顶板来压步距和强度,分析采场压力分布。
监测和分析工作面超前应力的作用范围,监测巷道围岩受采动影响的破坏深度分析顶底板岩层受地应力作用的稳定性,预测动压发生的可能性。
监测和分析回采巷道支护体受力状态和支护稳定性。
建立矿压综合参数数据库,借助专家资源分析评估采场安全指数,优化开采工艺。
移动终端矿压动态监测系统实现的功能。
井下现场显示数据和报警。
离层传感器可实时监测数据,能根据设定报警参数报警指示,通讯分站可实时显示每个测点的数据并有报警状态指示。
监测数据自动记录存储。
井上监测服务器能根据设置记录周期将数据存储到数据库,数据库采用实MYSQL数据库。
分站及接收系统后备存储功能。
当传输系统或计算机出现故障时自动启动后备存储,可用"U'盘取出数据导入计算机。
连续监测曲线显示、分析。
软件支持服务器端和客户端的历史曲线和测线加权数据分析。
监测数据综合专业化分析。
严监测分析软件综合了矿压理论数学模型,支持综合专业化数据分析。
历史数据查询及智能分析报表。
历史数据时间区间查询,历史曲线数据查询和输出,统计分析,输出标准综合分析报表和智能矿压分析功能。
通过调度室客户端操作手动按照选择时间段生成矿压分析报表,本地生成和云服务器生成报表,并进行存储和智能分析功能;
通过移动终端选择时间段生成矿压分析报表,支持云服务器端报表下载在线浏览功能;
根据工作面生产班的班次时间和当天统计时间自动生成智能报表,并支持选择浏览功能。
表1智能报表
Claims (8)
1.一种工作面集群开采状态的移动端监控方法,其特征在于,多用户通过特定数据链路接入主数据库中,并对主数据库中的数据进行写入、替换和执行;
特定数据链路的数据交换方法包括以下步骤:
对于ODS层数据采用Emqx对接C端采集数据服务所会发送的实工作面的工况数据,将该数据存入MySQL数据库中;
其他业务数据接入方式由MySQL数据库进行接入,并提供主数据库中的DDL操作和从数据库的DML操作;
主数据库中的DDL和从数据库的DML操作通过BINLOG传输到从数据库上,然后将这些日志重新在从数据库执行;
主数据库访问连接和从数据库默认访问连接均由Keepalived服务提供虚拟IP地址,端口由Haproxy做统一代理;
从数据库的DML操作做负载均衡处理,主数据库库正常状态下默认访问主库地址,故障切换时,由keepalived做代理,由Haproxy执行轮询调度机制访问从数据库,做DML操作;
采用EMQ实现主数据库和从数据库的分布式集群模式,部署若干emqtt服务器,采用主备策略,每台emqtt服务器为一个节点,各节点之间通过一个相同的cookie进行互联认证,保证节点通信通道安全,节点将通过TCPv4方式连接。
2.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,数据业务计算采用SQOOP进行抽取,并采用canal监听MySQL数据库的BINLOG,BINLOG实时接入。
3.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,DW层转APP层数据根据以下类型区分:
每日定时任务类,在煤矿非生产阶段使用MR程序计算,最终结果写入MySQL数据库、Redis和报表中;
实时数据类,由APP移动端使用,直接通过mqtt转发,采用Spark Streaming进行计算并实时推送。
4.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,关于Keepalived应用MySql HA集群模式中出现脑裂问题,执行以下方案预防和处理:
在Iptables中添加VRRP通信,根据实际配置网络环境配置,允许组播地址通信:
编写自动化Shell脚本,轮询PING网关,若发现PING异常,则判断为自身连接至网关出现异常,执行关闭当前节点Keepalived操作,并通知运维人员节点故障。
5.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,不同操作系统间采用指令加密传输。
6.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,通过websocket服务实现APP与后台的通信监测。
7.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,采用HDFS分布式文件系统做为数据存储、文件备份、日志备份和历史数据迁移存储数据的分布式存储。
8.根据权利要求1所述的一种工作面集群开采状态的移动端监控方法,其特征在于,前端采用Vue进行开发,后端采用SpringBoot服务框架进行系统开发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011638876.0A CN112817791B (zh) | 2020-12-31 | 2020-12-31 | 一种工作面集群开采状态的移动端监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011638876.0A CN112817791B (zh) | 2020-12-31 | 2020-12-31 | 一种工作面集群开采状态的移动端监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817791A CN112817791A (zh) | 2021-05-18 |
CN112817791B true CN112817791B (zh) | 2024-04-26 |
Family
ID=75857790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011638876.0A Active CN112817791B (zh) | 2020-12-31 | 2020-12-31 | 一种工作面集群开采状态的移动端监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817791B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467774B (zh) * | 2021-07-30 | 2024-01-30 | 北京鼎普科技股份有限公司 | 一种web端业务软件开发框架及方法 |
CN113765225B (zh) * | 2021-09-08 | 2024-05-03 | 陕西省地方电力(集团)有限公司西安供电分公司 | 一种配电网单相接地报警系统及方法 |
CN114036500A (zh) * | 2021-10-30 | 2022-02-11 | 北京天融信网络安全技术有限公司 | 一种机框式设备登录认证方法、装置、主控板和系统 |
CN114124673A (zh) * | 2021-11-25 | 2022-03-01 | 杭州安恒信息技术股份有限公司 | 一种syslog日志对比测试与主备高可用的方法 |
CN114357040B (zh) * | 2021-11-30 | 2024-06-18 | 河南辉煌科技股份有限公司 | 一种基于微服务架构的高可用轨道交通安防集成平台 |
CN114584600A (zh) * | 2022-01-20 | 2022-06-03 | 国网青海省电力公司 | 一种数据审计监测系统 |
CN114531479B (zh) * | 2022-02-21 | 2024-05-07 | 上海汉中诺软件科技有限公司 | 一种基于mqtt的通用数据采集系统 |
CN115514609B (zh) * | 2022-08-31 | 2024-05-03 | 北京控制工程研究所 | 一种Socket链路受限的发布订阅系统及方法 |
CN117075948B (zh) * | 2023-10-12 | 2023-12-26 | 阿里巴巴(成都)软件技术有限公司 | 一种软件上线的检测方法、设备和介质 |
CN117560415B (zh) * | 2024-01-11 | 2024-03-22 | 德阳城市智慧之心信息技术有限公司 | 智慧社区微服务架构mqtt异步和同步通信方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331508A (zh) * | 2014-11-21 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 一种实现关系型数据库负载均衡的管理系统及方法 |
CN106850759A (zh) * | 2016-12-31 | 2017-06-13 | 广州勤加缘科技实业有限公司 | MySQL数据库集群处理方法及其处理系统 |
CN109471892A (zh) * | 2018-10-12 | 2019-03-15 | 苏州创旅天下信息技术有限公司 | 数据库集群数据处理方法及装置、存储介质和终端 |
CN109871406A (zh) * | 2018-12-28 | 2019-06-11 | 北京云杉信息技术有限公司 | 通用监控报表平台的设计方法 |
CN112069332A (zh) * | 2020-10-10 | 2020-12-11 | 四川虹魔方网络科技有限公司 | 一种实时高效的广告物料投放和获取方法及系统 |
-
2020
- 2020-12-31 CN CN202011638876.0A patent/CN112817791B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331508A (zh) * | 2014-11-21 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 一种实现关系型数据库负载均衡的管理系统及方法 |
CN106850759A (zh) * | 2016-12-31 | 2017-06-13 | 广州勤加缘科技实业有限公司 | MySQL数据库集群处理方法及其处理系统 |
CN109471892A (zh) * | 2018-10-12 | 2019-03-15 | 苏州创旅天下信息技术有限公司 | 数据库集群数据处理方法及装置、存储介质和终端 |
CN109871406A (zh) * | 2018-12-28 | 2019-06-11 | 北京云杉信息技术有限公司 | 通用监控报表平台的设计方法 |
CN112069332A (zh) * | 2020-10-10 | 2020-12-11 | 四川虹魔方网络科技有限公司 | 一种实时高效的广告物料投放和获取方法及系统 |
Non-Patent Citations (3)
Title |
---|
基于Haproxy+Keepalived的Web集群负载均衡研究与应用;张奎;;新疆师范大学学报(自然科学版)(第01期);全文 * |
基于Ice的分布式MySQL数据库服务设计;杨志宇;电脑知识与技术(第11期);正文第2节、第4节 * |
杨志宇. 基于Ice的分布式MySQL数据库服务设计.电脑知识与技术.2016,(第11期),正文第2节、第4节. * |
Also Published As
Publication number | Publication date |
---|---|
CN112817791A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112817791B (zh) | 一种工作面集群开采状态的移动端监控方法 | |
US10735509B2 (en) | Systems and methods for synchronizing microservice data stores | |
Sarmiento et al. | Decentralized SDN control plane for a distributed cloud-edge infrastructure: A survey | |
US9639439B2 (en) | Disaster recovery framework for cloud delivery | |
CN109495308B (zh) | 一种基于管理信息系统的自动化运维系统 | |
US11385975B2 (en) | Systems and methods for enabling a highly available managed failover service | |
CN107707393B (zh) | 基于Openstack O版特性的多活系统 | |
CN107343034B (zh) | 基于QConf的Redis高可用系统及方法 | |
US8910129B1 (en) | Scalable control system for test execution and monitoring utilizing multiple processors | |
CN113037560B (zh) | 业务流量切换方法及装置、存储介质、电子设备 | |
CN112600891B (zh) | 一种基于信息物理融合的边云协同系统及工作方法 | |
US9450700B1 (en) | Efficient network fleet monitoring | |
CN103677967B (zh) | 一种数据库的远程数据服务系统及任务调度方法 | |
CN109101364B (zh) | 双中心双活数据处理系统和方法 | |
CN105262820A (zh) | 一种基于Linux操作系统的集群多机互备的方法 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN102664747B (zh) | 一种云计算平台系统 | |
CN111258780B (zh) | 基于前置机进行数据交换的系统及方法 | |
WO2012145963A1 (zh) | 数据管理系统及方法 | |
CN102291262B (zh) | 一种容灾的方法、装置及系统 | |
CN111885439B (zh) | 一种光网络综合管理和值勤管理系统 | |
CN110008005B (zh) | 基于云平台的电网通信资源虚拟机迁移系统及方法 | |
CN105721582A (zh) | 多节点文件备份系统 | |
CN112417050A (zh) | 数据同步方法和装置、系统、存储介质及电子装置 | |
US9307015B1 (en) | Cloud black box for cloud infrastructure |
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 |