CN116467389A - 一种煤矿两级数据中心的数据同步方法 - Google Patents
一种煤矿两级数据中心的数据同步方法 Download PDFInfo
- Publication number
- CN116467389A CN116467389A CN202310451003.6A CN202310451003A CN116467389A CN 116467389 A CN116467389 A CN 116467389A CN 202310451003 A CN202310451003 A CN 202310451003A CN 116467389 A CN116467389 A CN 116467389A
- Authority
- CN
- China
- Prior art keywords
- data
- coal mine
- service
- message queue
- warehousing
- 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.)
- Pending
Links
- 239000003245 coal Substances 0.000 title claims abstract description 149
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 19
- 238000007726 management method Methods 0.000 claims description 17
- 238000013524 data verification Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000007405 data analysis Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000000547 structure data Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009423 ventilation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect 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
- 238000007418 data mining Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种煤矿两级数据中心的数据同步方法,包括以下步骤:S1、通过数据采集适配器将煤矿数据汇聚到煤矿端数据中心;S2、在将煤矿数据写入煤矿端数据中心的同时,将解析后的煤矿数据从第一业务数据消息队列集群镜像到第二业务数据消息队列;S3、从第二业务数据消息队列获取镜像后的煤矿数据,并通过第二入库服务写入公司端数据中心;S4;将公司端产生的煤矿相关数据从第二业务数据消息队列集群镜像到第一业务数据消息队列;S5、从第一业务数据消息队列获取所述煤矿相关数据,并通过第一入库服务写入煤矿端数据中心。本方案在保持两个数据中心数据一致的同时,提高数据同步的实时性,满足煤矿实际数据存储和应用对于效率的需求。
Description
技术领域
本发明属于煤矿数据交互同步领域,涉及一种煤矿两级数据中心的数据同步方法。
背景技术
在煤矿的开采与管理中,通常需要在煤矿端和公司端分别建立数据中心,煤矿端的数据中心主要汇聚煤矿安全、生产、调度、运营等业务领域的所有数据,公司端的数据中心需要汇聚各个煤矿端数据中心的数据以及公司端自身的数据。因此,如何保证两个数据中心之间的数据一致就成了一个关键难题。
煤矿行业中,最常见的数据中心同步是指煤矿端和公司端之间的关系数据库的同步,一般采用数据读写分离和数据日志同步相结合的方式,这种方法一般是将两个数据中心的读写进行分离,在数据中心部署两套数据库服务器,一台负责读操作,一台负责写操作,同时将数据库的写操作日志进行解析,并将操作日志在两个数据中心之间进行数据同步。然而,上述方式的适用场景一般为数据产生频率不高和数据量不大的管理***,却不合适于煤矿这样的特殊工业场景,煤矿在监测监控和生产过程控制阶段会高频产生大量的环境监测和设备工况数据,这些数据需要快速采集入库,数据产生的频率高,数据量大,如果采用日志同步的方式,无法满足煤矿实际数据存储和应用对效率的需求。
发明内容
有鉴于此,本发明的目的在于提供一种煤矿两级数据中心的数据同步方法,以数据双向同步的方式来实现两个数据中心之间的数据一致,贯通生产执行层与控制层数据通道,提高数据同步的实时性,满足煤矿实际数据存储和应用对于效率的需求,为煤矿智能化建设提供数据支撑。
为达到上述目的,本发明提供如下技术方案:
一种煤矿两级数据中心的数据同步方法,基于煤矿端和公司端,在所述煤矿端部署数据采集适配器、数据交换服务、数据解析器、原始数据消息队列、第一业务数据消息队列、第一入库服务和煤矿端数据中心,在所述公司端部署第二业务数据消息队列、第二入库服务和公司端数据中心,包括以下步骤:
S1、将煤矿数据汇聚到煤矿端数据中心;
煤矿数据汇聚具体包括:
S11、通过所述数据采集适配器对煤矿各子***的数据源进行适配,并统一采集;所述数据源包括监测监控数据、生产控制数据和经营管理数据;
S12、将数据源的数据集合与第三方平台推送的数据形成煤矿数据后以文本文件的方式在本地备份,得到第一备份文件,并提交到数据交换服务;
S13、通过数据交换服务对所述煤矿数据进行初步数据校验;若初步数据校验成功,则将煤矿数据推送到原始数据消息队列;若校验失败,则推送到原始数据消息队列中的不合规记录主题;
S14、从原始数据消息队列中获取数据,通过数据解析器对所述煤矿数据进行解析;将解析后的煤矿端数据推送到第一业务数据消息队列,并通过第一入库服务写入煤矿端数据中心;
S2、在将解析后的煤矿数据写入煤矿端数据中心的同时,将解析后的煤矿数据从第一业务数据消息队列集群镜像到第二业务数据消息队列;
S3、从第二业务数据消息队列获取镜像后的煤矿数据,并通过第二入库服务写入公司端数据中心;
S4、将公司端产生的煤矿相关数据从第二业务数据消息队列集群镜像到第一业务数据消息队列;
S5、从第一业务数据消息队列获取所述煤矿相关数据,并通过第一入库服务写入煤矿端数据中心。
进一步,在所述S12中,根据煤矿数据的不同特征,将第一业务数据消息队列集群分为多个消息主题,所述消息主题包括定义数据主题、实时数据主题和其它数据主题。
本方案每个数据主题负责不同类型的数据传输,能够将不同特征的数据分开传输,从而能够根据数据特征辨别传输情况,便于发现数据的错传和漏传。
进一步,所述消息主题按照优先级从高到低排序为:定义数据主题>实时数据主题>其它数据主题。
本方案能够提高数据传输的时序性,能够判断是否按照预定的时间顺序进行传输,从而便于判断数据传输是否失败,进而在必要的数据传输失败后快速进行重传,避免出现必要数据漏传的情况。
进一步,在所述S12中,若数据提交失败,则执行提交失败策略:
1)若数据交互服务传输接口状态正常,则立即重新提交1次;
2)若数据交互服务传输接口不可用,且数据不可丢弃,在第一备份文件标记提交失败状态,等待重新提交;
3)若数据交互服务传输接口不可用,且数据可丢弃,则结束记录,并停止重新提交。
进一步,在所述S2和S4中,集群镜像过程如下:
步骤一、数据镜像模块以生产者-消费者的模式进行工作,为每个消费者分配一个线程,消费者从源集群的不同消息主题上读取数据,然后通过公共生产者将数据发送到目标集群;
步骤二、消费者每经过预设周期通知生产者发送数据到目标集群,并等待目标集群的确认;
步骤三、消费者通知源集群提交对应的偏移量。
在S2中,第一业务数据消息队列为源集群,第二业务数据消息队列为目标集群;在S5中,第二业务数据消息队列为源集群,第一业务数据消息队列位目标集群。
本方案在源集群提交偏移量之前,消息队列对消息进行了确认,能够保证不丢失数据,而且如果数据镜像进程发生崩溃,最多只会出现短期(预设周期)的重复数据,减少了数据同步过程可能产生的冗余数据量。
进一步,数据解析过程包括:
S141、获取原始数据消息队列中的非标准数据和标准数据,备份到本地数据文件,得到第二备份文件;
S142、获取非标准数据校验规则,对非标准数据进行校验,将非标准数据划分为不合规非标准数据和合规非标准数据;将不合规非标准数据推送到第一业务数据消息队列;获取数据转换规则,将合规非标准数据转换为标准数据;
S143、获取标准数据校验规则,对标准数据进行校验,将标准数据划分为不合规标准数据和合规标准数据;将不合规标准数据推送到第一业务数据消息队列,获取数据转换规则,将合规标准数据转换为业务数据;
S144、对业务数据进行事件分析,所述事件分析包括测点变更,异常记录和分级预警分析;
S145、将业务数据推送到第一业务数据消息队列。
进一步,在第一入库服务和第二入库服务中,分别将第一业务数据消息队列和第二业务数据消息队列作为业务数据消息队列,数据入库流程包括:
1)消费业务数据消息队列中的业务数据,备份到本地数据文件,得到第三备份文件;
2)加载消息主题对应的入库存储策略,组装数据为存储结构DataTable;
3)根据入库存储策略将数据写入目标数据库,如果写入成功,提交队列中消息消费偏移量,否则执行入库失败策略。
名词解释:
消费:消费者-生产者工作模式中的专用名词,表示一种数据处理过程;消费业务数据即表示获取业务数据。
DataTable:数据表,一种数据存储结构。
进一步,所述入库失败策略包括:
当目标数据库为Redis:若失败次数小于3次,尝试重新入库;若失败次数达3次,提交消息消费的偏移量,结束入库并记录;
当目标数据库为HBase:若失败次数小于3次,尝试重新入库;若失败次数达3次,结束入库并记录;
当目标数据库为关系数据库:由资源占用或访问超时导致入库失败,重新入库;由数据格式错误导致数据失败且入库方式为批量入库,改为逐条写入的方式重新入库;由数据格式错误导致数据失败且入库方式为逐条入库,提交消息消费的偏移量,结束入库并记录。
本发明的有益效果在于:
本方案运用数据采集传输、数据通信、数据镜像以及软件工程技术,将煤矿的监测监控和生产经营相关的数据以及公司和煤矿相关的数据同步写入煤矿和公司的两级数据中心,采用数据消息队列数据镜像和数据同步解析的方式,实现煤矿和公司的两级数据中心的数据一致,提高数据同步的实时性,满足煤矿实际数据存储和应用对于效率的需求,达到煤矿和公司端数据透明和一体化的目标,为煤矿智能化建设提供数据支撑。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明实施例的煤矿两级数据中心同步架构图;
图2为本发明实施例的煤矿两级数据中心数据同步原理图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图1~图2,为一种煤矿两级数据中心的数据同步方法,基于煤矿端和公司端,所述煤矿端设有煤矿端数据中心,所述公司端设有公司数据中心;在所述煤矿端部署数据采集适配器、数据交换服务、第一业务数据消息队列(即图1中煤矿端所在一侧的业务数据消息队列)、数据解析器、煤矿端入库服务、煤矿端数据分析服务和煤矿管控平台,在所述公司端部署第二业务数据消息队列(即图1中公司端所在一侧的业务数据消息队列)、公司端数据分析服务、公司端入库服务和公司管控平台,包括以下步骤:
S1、将煤矿数据汇聚到煤矿端数据中心;
煤矿数据汇聚具体包括:
S11、通过所述数据采集适配器对煤矿各子***的数据源进行适配,并统一采集;所述数据源包括监测监控数据、生产控制数据和经营管理数据;
S12、将数据源的数据集合与第三方平台推送的数据形成煤矿数据后以文本文件的方式在本地备份,得到第一备份文件,并提交到数据交换服务;
S13、通过数据交换服务对所述煤矿数据进行初步数据校验;若初步数据校验成功,则将煤矿数据推送到原始数据消息队列;若校验失败,则推送到原始数据消息队列中的不合规记录主题;
S14、从原始数据消息队列中获取数据,通过数据解析器对所述煤矿数据进行解析;将解析后的煤矿端数据推送到第一业务数据消息队列,并通过第一入库服务写入煤矿端数据中心;
S2、在将解析后的煤矿数据写入煤矿端数据中心的同时,将解析后的煤矿数据从第一业务数据消息队列集群镜像到第二业务数据消息队列;
S3、从第二业务数据消息队列获取镜像后的煤矿数据,并通过第二入库服务写入公司端数据中心;
S4、将公司端产生的煤矿相关数据从第二业务数据消息队列集群镜像到第一业务数据消息队列;
S5、从第一业务数据消息队列获取所述煤矿相关数据,并通过第一入库服务写入煤矿端数据中心。
如图1所示,煤矿端的数据有四种来源,其中三种为煤矿端各个子***,另一种为第三方平台:(1)监测监控类子***产生的数据。例如煤矿安装了安全监控、人员定位、应急广播、水文监测、通讯联络等监测监控子***,这些子***通过部署到井下或者地面的传感器等设备,将各类监测监控数据实时采集到对应的子***中。(2)生产控制类子***产生的数据。煤矿“采、掘、机、运、通”等生产环节都安装了大型机电设备,一般以这些设备为基础形成了一些控制类子***,例如采煤机监控、掘进机监控、主通风监控、主运输监控、主排水泵监控、压风制氮等***。(3)经营管理类子***产生的数据。除了前述的监测监控和生产过程控制以外,煤矿安全管理和生产调度方面的也有单独的子***,例如隐患管理、风险点管控、生产调度、生产指标、事故管理等子***。(4)第三方平台向煤矿数据中心推送的数据。
上述这些子***一般是单独部署单独运行,各自都有自身的数据存储库,这样就形成了一系列的信息孤岛,而本方案通过数据采集适配器对上述子***的数据进行统一采集适配,然后提交到数据交换服务,与第三方平台向煤矿数据中心推送到数据交换服务的数据一起被解析,最终将所有的数据都汇入到煤矿统一的数据中心,提高了数据存储和应用的效率。
公司端的数据有两种来源:(1)煤矿提交的各类数据。(2)公司管控平台产生的与煤矿相关的业务数据,即煤矿相关数据。其中,煤矿相关数据需要向同步到煤矿数据中心。
实现煤矿和公司两级数据中心数据同步的核心环节是煤矿和公司两端的业务数据消息队列集群之间的数据同步。因为两端的数据消息队列以集群的方式部署,为两个数据中心的数据同步提供数据物理通道。根据数据的不同特征,将煤矿端的数据消息队列集群分为定义数据主题、实时数据主题、其他数据主题(例如历史数据主题)等多个数据主题,每个数据主题负责不同特征类型的数据传输。公司端的数据消息队列集群(即第二业务数据消极队列)与煤矿端数据消息队列集群(即第一业务数据消息队列)的主题配置一样。
整个数据同步是通过数据镜像模块来完成的,如图2所示,在上述的S2和S4中,集群镜像具体过程如下:
步骤一、数据镜像模块以生产者-消费者的模式进行工作,为每个消费者分配一个线程,消费者从源集群的不同消息主题上读取数据,然后通过公共生产者将数据发送到目标集群。
步骤二、消费者每经过预设周期通知生产者发送数据到目标集群,并等待目标集群的确认;本实施例中,预设周期为30s。
步骤三、消费者通知源集群提交对应的偏移量。
在S2中,第一业务数据消息队列为源集群,第二业务数据消息队列为目标集群;在S5中,第二业务数据消息队列为源集群,第一业务数据消息队列位目标集群。这样可以保证不丢失数据(在源集群提交偏移量之前,消息队列对消息进行了确认),而且如果数据镜像进程发生崩溃,最多只会出现短期(定期通知的间隔时长,本实施例中为30秒)的重复数据。
本方案中,在煤矿端和公司端部署的各个功能模块的具体原理和方法如下:
1、数据采集适配器
数据采集适配器对煤矿各子***的数据进行统一采集,并提交到数据交换服务,由数据交换服务进行初步数据校验后写入原始数据消息队列。数据采集适配器包含三个最重要的模块:数据采集适配、数据提交和提交数据备份。
(1)数据采集适配
煤矿各类子***提供数据的方式有很多,包括文本文件(TXT)、数据库、WEB API、OPC DA、OPC UA、EIP等,数据采集适配器需要适配这些数据源,按指定的采集频率从数据源获取数据,并转换为内存数据集合。数据采集适配器适配多种数据协议,包括文本文件(TXT)、数据库、WEB API、OPC DA、OPC UA、EIP等。
(2)数据提交
获取到数据源的数据集合后,首先获取数据源数据,备份到本地数据文件,得到第一备份文件,并加入到待提交队列区;然后读第一取备份文件中待重传的数据文件,加入到待提交队列区;将数据分为定义数据、实时数据和其他数据,分别与第一业务数据消息列队的主题分区对应,通过不同的主题分区传输不同的数据,在提交数据时,按定义数据>实时数据>其他数据的优先级提交数据。这样做能够区分数据传输的时序性,确认数据是否必须按照时序提交,例如,定义数据与实时数据是按照时序提交时,实际提交的时序不同,可判断为数据出现错传或漏传,需要重新提交以确保数据正确提交;同时,由于根据煤矿数据的特征将消息主题划分清晰,当数据提交失败时,能够快速发现那部分数据出现提交错漏,并根据数据的重要性确定数据是否必须提交,不重要的数据可以放弃重传,从而提高数据提交效率。
数据提交失败策略具体包括:
数据交互服务传输接口状态正常,立即重传1次;
数据交互服务传输接口不可用,且数据必须提交,在第一备份文件标记提交失败状态,等待重传;
数据交互服务传输接口不可用,且数据可丢弃,结束比记录。
(3)提交数据备份
数据备份模块具备以下功能:
1)备份数据到本地文件;
2)支持文件标记功能,以识别处理失败的文件;
3)支持备份文件的查询与读取;
4)过期数据文件自动删除;
5)支持文件压缩存储。
2、数据交换服务
数据交换服务以独立应用程序运行,支持分布式部署,提供基于WEB API的数据交互接口,负责接收数据采集适配器和第三方平台推送的数据并透传到消息队列,以及响应第三方平台的业务数据请求。包含权限验证和数据传输等功能。
(1)权限验证:验证用户身份信息,记录登录时间,返回数据交互接口鉴权token(包含用户信息、登录时间的json字符串,采用base64编码)。
(2)数据传输:数据交换服务首先接收数据采集适配器和第三方平台推送过来的数据,备份到本地文件;然后进行数据初步校验,如果校验成功,将数据推送到原始数据消息队列,否则将数据推送到原始数据消息队列中的不合规记录主题。另外,还具备数据推送频率控制功能,按照煤矿、业务***、数据类型的维度记录数据推送时间,根据不同数据类型控制数据推送频率。
3、数据解析器
数据解析器以独立应用程序运行,包含解析策略管理、数据解析和解析数据备份模块。数据解析器的核心功能是非标准数据的转换、标准数据的解析,处理流程包括数据模型定义,消费原始数据消息队列中的煤矿数据,进行数据校验、数据转换、数据解析、事件分析后将处理后的业务数据推送到消息队列等待入库程序入库。
(1)解析策略管理
数据解析器首先从配置文件加载数据解析策略、数据校验规则和数据转换方式等定义信息,以备数据解析用。
(2)数据解析
数据解析过程;
S141、获取原始数据消息队列中的非标准数据和标准数据,备份到本地数据文件,得到第二备份文件;
S142、获取非标准数据校验规则,对非标准数据进行校验,将非标准数据划分为不合规非标准数据和合规非标准数据;将不合规非标准数据推送到第一业务数据消息队列;获取数据转换规则,将合规非标准数据转换为标准数据;
S143、获取标准数据校验规则,对标准数据进行校验,将标准数据划分为不合规标准数据和合规标准数据;将不合规标准数据推送到第一业务数据消息队列,获取数据转换规则,将合规的标准数据转换为业务数据;
S144、对业务数据进行事件分析,如测点变更,异常记录和分级预警分析等;
S145、将实时热点数据写入Redis内存数据库,增加缓存数据可靠性;将业务数据推送到第一业务数据消息队列,等待入库服务写入数据中心。
4、入库服务
入库服务以独立应用程序运行,包含入库策略管理和数据入库两大模块,支持分布式部署,核心功能是消费业务数据消息队列中的业务数据,组装为数据存储结构,根据数据存储策略,并结合目标数据库特性,确保数据准确入库。
(1)入库策略管理
入库服务从地配置文件读取入库存储策略,同步各类消息主题数据入库策略,包括目标数据库表结构,入库方式(SQL),行键格式(Redis,HBase),实时数据过期时间等;另外对数据库(表)结构维护,创建表和升级表结构等。
(2)数据入库
数据入库包括下列流程:
1)消费消息队列中的业务数据,备份到本地数据文件,得到第三备份文件;
2)加载消息主题相关的入库存储策略,组装数据为存储结构DataTable;
3)根据入库存储策略,按照指定的方式写入目标数据库,如果写入成功,则提交队列中消息消费偏移量,否则执行相关失败策略。
入库失败策略根据目标数据库不同,分为下列三类:
1)目标数据库为Redis:失败次数小于3次,尝试重新入库;失败次数达3次,提交消息消费的偏移量,结束入库并记录。
2)目标数据库为HBase:失败次数小于3次,尝试重新入库;失败次数达3次,结束入库并记录。
3)目标数据库为关系数据库:由资源占用或访问超时导致入库失败,重新入库;由数据格式错误导致数据失败且入库方式为批量入库,改为逐条写入的方式重新入库;由数据格式错误导致数据失败且入库方式为逐条入库,提交消息消费的偏移量,结束入库并记录。
5、数据分析服务
数据分析服务以软件模块的形式存在,供不同应用程序注册使用。数据分析服务主要是对数据中心中的数据进行数据二次统计和数据挖掘分析,供煤矿管控平台使用。数据分析服务处理流程包括加载统计分析模型,从目标数据库或内存获取数据进行数据分析后将结果写入目标数据库或待入库业务数据消息队列。
6、数据中心
数据中心主要存储三类数据:实时数据、中短期数据和历史采样数据,一般情况下分别采用Redis内存数据库、关系数据库和HBase对前述三类数据分别进行存储。利用内存数据库Redis,建立实时数据缓存区,实现热点数据高效访问;基于关系数据库性能指标,通过数据库表分区等模式进行存储;基于列式存储数据库HBase,对历史采样数据进行存储,支持历史数据回溯。
7、煤矿管控平台
通常情况下煤矿数据中心和煤矿管控平台配套部署使用,煤矿管控平台对煤矿数据中心数据进行可视化展现,并开展相关业务功能,将平台产生的数据保存到数据中心。
8、数据消息队列
数据消息队列分为原始数据消息队列和业务数据消息队列两大类,原始数据消息队列作为数据解析的中间环节,起到为数据解析服务的作用;业务数据消息队列分为煤矿端的第一业务数据消息队列和公司端的第二业务数据消息队列。实现煤矿和公司两级数据中心数据同步的核心环节是业务数据消息队列。煤矿端的第一业务数据消息队列以集群的方式部署,为两个数据中心的数据同步提供数据物理通道。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种煤矿两级数据中心的数据同步方法,其特征在于:基于煤矿端和公司端,在所述煤矿端部署数据采集适配器、数据交换服务、数据解析器、原始数据消息队列、第一业务数据消息队列、第一入库服务和煤矿端数据中心,在所述公司端部署第二业务数据消息队列、第二入库服务和公司端数据中心,包括以下步骤:
S1、将煤矿数据汇聚到煤矿端数据中心;
煤矿数据汇聚具体包括:
S11、通过所述数据采集适配器对煤矿各子***的数据源进行适配,并统一采集;所述数据源包括监测监控数据、生产控制数据和经营管理数据;
S12、将数据源的数据集合与第三方平台推送的数据形成煤矿数据后以文本文件的方式在本地备份,得到第一备份文件,并提交到数据交换服务;
S13、通过数据交换服务对所述煤矿数据进行初步数据校验;若初步数据校验成功,则将煤矿数据推送到原始数据消息队列;若校验失败,则推送到原始数据消息队列中的不合规记录主题;
S14、从原始数据消息队列中获取数据,通过数据解析器对所述煤矿数据进行解析;将解析后的煤矿端数据推送到第一业务数据消息队列,并通过第一入库服务写入煤矿端数据中心;
S2、在将解析后的煤矿数据写入煤矿端数据中心的同时,将解析后的煤矿数据从第一业务数据消息队列集群镜像到第二业务数据消息队列;
S3、从第二业务数据消息队列获取镜像后的煤矿数据,并通过第二入库服务写入公司端数据中心;
S4、将公司端产生的煤矿相关数据从第二业务数据消息队列集群镜像到第一业务数据消息队列;
S5、从第一业务数据消息队列获取所述煤矿相关数据,并通过第一入库服务写入煤矿端数据中心。
2.根据权利要求1所述的一种煤矿两级数据中心的数据同步方法,其特征在于:在所述S12中,根据煤矿数据的不同特征,将第一业务数据消息队列分为多个消息主题,所述消息主题包括定义数据主题、实时数据主题和其它数据主题。
3.根据权利要求2所述的一种煤矿两级数据中心的数据同步方法,其特征在于:所述消息主题按照优先级从高到低排序为:定义数据主题>实时数据主题>其它数据主题。
4.根据权利要求1或3所述的一种煤矿两级数据中心的数据同步方法,其特征在于:在所述S12中,若数据提交失败,则执行提交失败策略:
1)若数据交互服务传输接口状态正常,则立即重新提交1次;
2)若数据交互服务传输接口不可用,且数据不可丢弃,在第一备份文件标记提交失败状态,等待重新提交;
3)若数据交互服务传输接口不可用,且数据可丢弃,则结束记录,并停止重新提交。
5.根据权利要求1所述的一种煤矿两级数据中心的数据同步方法,其特征在于:在所述S2和S4中,集群镜像过程如下:
步骤一、数据镜像模块以生产者-消费者的模式进行工作,为每个消费者分配一个线程,消费者从源集群的不同消息主题上读取数据,然后通过公共生产者将数据发送到目标集群;
步骤二、消费者每经过预设周期通知生产者发送数据到目标集群,并等待目标集群的确认;
步骤三、消费者通知源集群提交对应的偏移量。
6.根据权利要求1所述的一种煤矿两级数据中心的数据同步方法,其特征在于:数据解析过程包括:
S141、获取原始数据消息队列中的非标准数据和标准数据,备份到本地数据文件,得到第二备份文件;
S142、获取非标准数据校验规则,对非标准数据进行校验,将非标准数据划分为不合规非标准数据和合规非标准数据;将不合规非标准数据推送到第一业务数据消息队列;获取数据转换规则,将合规非标准数据转换为标准数据;
S143、获取标准数据校验规则,对标准数据进行校验,将标准数据划分为不合规标准数据和合规标准数据;将不合规标准数据推送到第一业务数据消息队列,获取数据转换规则,将合规标准数据转换为业务数据;
S144、对业务数据进行事件分析,所述事件分析包括监测点定义变更,异常记录和分级预警分析;
S145、将业务数据推送到第一业务数据消息队列。
7.根据权利要求6所述的一种煤矿两级数据中心的数据同步方法,其特征在于:在第一入库服务和第二入库服务中,分别将第一业务数据消息队列和第二业务数据消息队列作为业务数据消息队列,数据入库流程包括:
1)消费业务数据消息队列中的业务数据,备份到本地数据文件,得到第三备份文件;
2)加载消息主题对应的入库存储策略,组装数据为存储结构DataTable;
3)根据入库存储策略将数据写入目标数据库,如果写入成功,提交队列中消息消费偏移量,否则执行入库失败策略。
8.根据权利要求7所述的一种煤矿两级数据中心的数据同步方法,其特征在于:所述入库失败策略包括:
当目标数据库为Redis:若失败次数小于3次,尝试重新入库;若失败次数达3次,提交消息消费的偏移量,结束入库并记录;
当目标数据库为HBase:若失败次数小于3次,尝试重新入库;若失败次数达3次,结束入库并记录;
当目标数据库为关系数据库:由资源占用或访问超时导致入库失败,重新入库;由数据格式错误导致数据失败且入库方式为批量入库,改为逐条写入的方式重新入库;由数据格式错误导致数据失败且入库方式为逐条入库,提交消息消费的偏移量,结束入库并记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451003.6A CN116467389A (zh) | 2023-04-24 | 2023-04-24 | 一种煤矿两级数据中心的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451003.6A CN116467389A (zh) | 2023-04-24 | 2023-04-24 | 一种煤矿两级数据中心的数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467389A true CN116467389A (zh) | 2023-07-21 |
Family
ID=87173214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310451003.6A Pending CN116467389A (zh) | 2023-04-24 | 2023-04-24 | 一种煤矿两级数据中心的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467389A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821046A (zh) * | 2023-08-28 | 2023-09-29 | 上海燧原智能科技有限公司 | 异构单元间的数据自动同步方法、装置、设备及介质 |
CN117472397A (zh) * | 2023-12-27 | 2024-01-30 | 柏科数据技术(深圳)股份有限公司 | 一种数据镜像控制方法、装置、终端及存储介质 |
-
2023
- 2023-04-24 CN CN202310451003.6A patent/CN116467389A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821046A (zh) * | 2023-08-28 | 2023-09-29 | 上海燧原智能科技有限公司 | 异构单元间的数据自动同步方法、装置、设备及介质 |
CN116821046B (zh) * | 2023-08-28 | 2023-11-24 | 上海燧原智能科技有限公司 | 异构单元间的数据自动同步方法、装置、设备及介质 |
CN117472397A (zh) * | 2023-12-27 | 2024-01-30 | 柏科数据技术(深圳)股份有限公司 | 一种数据镜像控制方法、装置、终端及存储介质 |
CN117472397B (zh) * | 2023-12-27 | 2024-04-05 | 柏科数据技术(深圳)股份有限公司 | 一种数据镜像控制方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116467389A (zh) | 一种煤矿两级数据中心的数据同步方法 | |
US8719232B2 (en) | Systems and methods for data integrity checking | |
EP3968175A1 (en) | Data replication method and apparatus, and computer device and storage medium | |
CN100461175C (zh) | 使web应用能够访问企业管理的数据的方法、装置 | |
CN103345502B (zh) | 分布式数据库的事务处理方法和*** | |
CN110134737B (zh) | 数据变化监听方法及装置、电子设备和计算机可读存储介质 | |
US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
CN110427422A (zh) | 数据同步异常时数据一致性校验方法、设备及存储介质 | |
CN112100160B (zh) | 一种基于Elastic Search的双活实时数据仓库建设方法 | |
CN110704280A (zh) | 一种主数据监控*** | |
CN113127520A (zh) | 一种基于代理模式的分布式数据库sql审核拦截方法及装置 | |
CN114925140A (zh) | 数据同步*** | |
CN111324514A (zh) | 一种***异常监控方法、装置、设备和存储介质 | |
CN117041269A (zh) | 一种用于同步子数据库数据的实时双向同步*** | |
CN117319419A (zh) | 一种基于微服务架构的分布式数据同步方法 | |
KR101191832B1 (ko) | 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템 | |
CN117112656A (zh) | 一种科技志愿服务管理的一体化信息智能管理***及方法 | |
Yang et al. | Multi-Active Multi-Datacenter Distributed Database Architecture Design based-on Secondary Development Zookeeper | |
KR101430239B1 (ko) | 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법 | |
CN106656592A (zh) | 基于角色配置的服务管理方法和装置 | |
CN116185298A (zh) | 一种日志分布式存储的方法 | |
CN113342890A (zh) | 一种实现跨安全隔离网闸数据库实时同步的方法及*** | |
CN112527497B (zh) | 一种序列化多线程数据处理*** | |
JP2005284520A (ja) | ログ収集方法/プログラム/プログラム記録媒体/装置/システム | |
CN112925697B (zh) | 作业差异监控方法、装置、设备及介质 |
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 |