CN113778764B - 一种hbase数据双活系统及方法 - Google Patents
一种hbase数据双活系统及方法 Download PDFInfo
- Publication number
- CN113778764B CN113778764B CN202110977241.1A CN202110977241A CN113778764B CN 113778764 B CN113778764 B CN 113778764B CN 202110977241 A CN202110977241 A CN 202110977241A CN 113778764 B CN113778764 B CN 113778764B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- real
- instruction
- machine room
- 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
- 230000009977 dual effect Effects 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000001360 synchronised effect Effects 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 230000008439 repair process Effects 0.000 claims description 11
- 238000004140 cleaning Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 2
- 238000005406 washing Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 208000002399 aphthous stomatitis Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种hbase数据双活系统及方法,其中,所述系统包括:根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;根据所述第一同步指令对双机房进行数据同步;通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;当所述第一比对结果不一致时,获得第一报警指令。解决了现有技术存在人工无法接入控制,专线要求特别高,组件无法保证100%的高可用,可能造成数据的不一致问题,且没有对应的数据比对工具,缺乏验证方案的技术问题。
Description
技术领域
本发明涉及数据双活领域,尤其涉及一种hbase数据双活系统及方法。
背景技术
随着移动互联网的深入发展,用户增长达到一定规模后,不少企业都会面临高并发业务和海量数据的挑战,传统的单机房在机器容量上存在瓶颈。为了满足中心业务连续性,增强抗风险能力,多活作为一种可靠的高可用部署架构,成为各大互联网公司的首要选择。目前市面上对于hbase的数据双活没有统一的解决方案,各个公司都是根据自身业务进行定制的。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术存在人工无法接入控制,专线要求特别高,组件无法保证100%的高可用,可能造成数据的不一致问题,且没有对应的数据比对工具,缺乏验证方案的技术问题。
发明内容
本申请实施例通过提供一种hbase数据双活系统及方法,解决了现有技术存在人工无法接入控制,专线要求特别高,组件无法保证100%的高可用,可能造成数据的不一致问题,且没有对应的数据比对工具,缺乏验证方案的技术问题,达到保证双机房的数据结果一致性,组件高可用,保证流量洪峰即便主线过载也不会导致业务影响,双机房同步使用,有效降低线上压力,提升性能,且通过数据对比工具,针对数据是否一致做验证,保证最终结果一致性的技术效果。
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的方法。
第一方面,本申请还提供了一种hbase数据双活系统,所述系统包括:第一构建单元,所述第一构建单元用于构建第一hbase双活架构;第一获得单元,所述第一获得单元用于获得第一实时写表数据的第一应用场景;第二获得单元,所述第二获得单元用于根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;第一同步单元,所述第一同步单元用于根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;第三获得单元,所述第三获得单元用于通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;第四获得单元,所述第四获得单元用于将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;第五获得单元,所述第五获得单元用于当所述第一比对结果不一致时,获得第一报警指令。
另一方面,本申请实施例提供了一种hbase数据双活方法,所述方法包括:构建第一hbase双活架构;获得第一实时写表数据的第一应用场景;根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;当所述第一比对结果不一致时,获得第一报警指令。
第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的控制输出数据的方法中的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的控制输出数据的方法中的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
构建第一hbase双活架构;获得第一实时写表数据的第一应用场景;根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;当所述第一比对结果不一致时,获得第一报警指令。进而达到保证双机房的数据结果一致性,组件高可用,保证流量洪峰即便主线过载也不会导致业务影响,双机房同步使用,有效降低线上压力,提升性能,且通过数据对比工具,针对数据是否一致做验证,保证最终结果一致性的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例一种hbase数据双活系统的流程示意图;
图2为本申请实施例一种hbase数据双活系统中获得第一实时写表数据的第一应用场景的流程示意图;
图3为本申请实施例一种hbase数据双活系统中对所述第一实时写表数据进行写入的流程示意图;
图4为本申请实施例一种hbase数据双活系统中对所述第一写表失败数据进行处理的流程示意图;
图5为本申请实施例一种hbase数据双活系统中判断应用场景是否为业务直连场景的流程示意图;
图6为本申请实施例一种hbase数据双活系统中对双机房进行数据同步的流程示意图;
图7为本申请实施例一种hbase数据双活系统中获得第四同步策略的流程示意图;
图8为本申请实施例一种hbase数据双活系统的结构示意图;
图9为本申请实施例所提供的一种用于执行控制输出数据的方法的电子设备的结构示意图。
附图标记说明:第一构建单元11,第一获得单元12,第二获得单元13,第一同步单元14,第三获得单元15,第四获得单元16,第五获得单元17,总线1110,处理器1120,收发器1130,总线接口1140,存储器1150和用户接口1160。
具体实施方式
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器、只读存储器、可擦除可编程只读存储器、闪存、光纤、光盘只读存储器、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
申请概述
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
下面结合本发明实施例中的附图对本发明实施例进行描述。
实施例一
如图1所示,本申请实施例提供了一种hbase数据双活方法,其中,所述方法包括:
步骤S100:构建第一hbase双活架构;
具体而言,构建hbase双活的架构设计,hBase是一个分布式的、面向列的开源数据库,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,且hbase是基于列的而不是基于行的模式。
步骤S200:获得第一实时写表数据的第一应用场景;
如图2所示,进一步而言,其中,所述获得第一实时写表数据的第一应用场景,本申请实施例步骤S200还包括:
步骤S210:获得第一读写指令,其中,所述第一读写指令用于对一个实时表进行读写;
步骤S220:根据所述第一读写指令,获得所述第一实时写表数据;
步骤S230:判断所述第一应用场景是否为业务直连场景;
步骤S240:若所述第一应用场景为业务直连场景,获得第一同步策略,其中,所述第一同步策略包括第一写入指令、第一同步指令和第二写入指令;
步骤S250:根据第一同步策略对所述第一实时写表数据进行写入。
具体而言,当一个正常的实时表需要进行读写的时候,需要考虑各种容灾情况,可将应用场景分为两种情况,包括业务直连场景和消费端场景。根据所述第一读写指令用于对一个实时表进行读写,获得所述第一实时写表数据,若所述第一应用场景为业务直连场景,获得第一同步策略,并根据第一同步策略对所述第一实时写表数据进行写入。即当hbase客户端进行直接的写操作写到hbase表table中,正常情况下通过自定义协处理器将数据写到pulsar(apacha开源的消息组件,可支持geo双机房的消息同步)的topic1中,然后通过pulsar自带的geo replication(双机房数据同步)进行双机房同步,同步完成之后我们通过P2H过程消费topic1主题的数据写到亦庄hbase表table1中,保证双机房的结果一致性的技术效果。
步骤S300:根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;
具体而言,根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令,所述第一应用场景包括业务直连场景和消费端场景,不同应用场景,同步策略也不相同。
步骤S400:根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;
如图6所示,进一步而言,其中,所述根据所述第一同步指令对双机房进行数据同步,本申请实施例步骤S400还包括:
步骤S410:获得所述第一机房和所述第二机房的第一预设数据标志;
步骤S420:根据第一设置指令将所述第一预设数据标志设置到pulsar中间件中;
步骤S430:根据所述第一同步指令,所述第一机房和所述第二机房通过所述pulsar中间件进行数据同步。
具体而言,获得双机房对应的预设数据标志,根据所述第一设置指令将所述第一预设数据标志设置到pulsar中间件中,并根据所述第一同步指令,将所述第一机房和所述第二机房通过所述pulsar中间件进行数据同步。因为依赖的中间件pulsar里面会设置各个机房的标志,只要控制读取另外一个机房的数据标志即可避免数据回环这种情况。因为服务不进行双机房的读写,都是通过pulsar中间件进行同步的,另外pulsar的georeplication是异步过程,达到基本专线故障也不会导致服务不可用,进而实现数据的最终一致性保证的技术效果。
步骤S500:通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;
步骤S600:将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;
步骤S700:当所述第一比对结果不一致时,获得第一报警指令。
具体而言,针对实时数据,通过通用对比工具对双机房的数据进行一致性对比验证,通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据,将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果,即分别提取当天数据并统计出对应机房的数据条数,然后在schedule中对两个机房的数据进行对比。当所述第一比对结果不一致时,则进行监控报警,并将不一样的数据提取出来分析原因,如果一致则说明数据一致性得到保障。
如图3所示,进一步而言,其中,所述根据第一同步策略对所述第一实时写表数据进行写入,本申请实施例步骤S250还包括:
步骤S251:获得所述第一实时写表数据的第一写入状态;
步骤S252:若所述第一写入状态处于失败状态时,获得第一写表失败数据;
步骤S253:根据所述第一写表失败数据和第一修复表,生成第二同步策略;
步骤S254:根据所述第二同步策略对所述第一写表失败数据进行写入。
具体而言,实际过程中,因为集群自身的原因,例如节点宕机,gc,协处理器写pulsar失败,网络问题等很多时候可能会导致写失败,当直连写失败,我们的协处理器会将数据写到另外的表Pulsar.repair(实时写hbase表失败的修复表)中,该表存储的都是写table表(具体需要同步的hbase表)失败的数据,这时候我们会通过HR2P(将写失败的hbase表的的数据写到pulsar主题)过程将数据从Pulsar.repair表中扫出来然后写到hbase.zw的pular主题同时删除Pulsar.repair中已经读取的数据,然后将hbase.zw的数据同步到亦庄,再通过PR2H消费亦庄的hbase.zw主题的数据然后写到亦庄表table1,以达到实际应用过程直连写失败时的策略保证的技术效果。
如图4所示,进一步而言,其中,所述根据所述第一写表失败数据和第一修复表,生成第二同步策略之前,本申请实施例步骤S253还包括:
步骤S2531:获得所述第一写表失败数据写入所述第一修复表的第二写入状态;
步骤S2532:判断所述第二写入状态是否处于失败状态;
步骤S2533:若所述第二写入状态处于失败状态,获得第一补偿策略;
步骤S2534:根据所述第一补偿策略对所述第一写表失败数据进行处理。
具体而言,若所述第二写入状态处于失败状态,即当协处理器写Pulsar.repair表失败的时候可能出问题,还有最后的一种补偿策略,将失败的数据最终写到hdfs(为hadoop的组成部分,文本存储内容),然后通过MR2H在将数据写到自己机房的表中,这样对该部分错误数据继续进行之前的流程,不过这部分是批处理任务,会进行定时调度而不是实时的,以达到实际应用过程写失败时的补偿策略保证的技术效果。
如图5所示,进一步而言,其中,所述判断所述第一应用场景是否为业务直连场景,本申请实施例步骤S230还包括:
步骤S231:若所述第一应用场景不为业务直连场景,判断所述第一应用场景是否为消费端场景;
步骤S232:若所述第一应用场景为消费端场景,获得第三同步策略;
步骤S233:根据所述第三同步策略对所述第一实时写表数据进行写入。
具体而言,若所述第一应用场景不为业务直连场景,判断所述第一应用场景是否为消费端场景,若所述第一应用场景为消费端场景,获得第三同步策略,并根据所述第三同步策略对所述第一实时写表数据进行写入。即消费端情况业务将数据直接写到pulsar主题,需要自定义消费端将数据消费指定到对应的线上hbase表中,该种情况下,需要业务人员自己保证数据的幂等性,然后通过主题的双机房同步将数据写到各自的表中,从而保证双机房的结果一致性的技术效果。
如图7所示,进一步而言,本申请实施例步骤还包括:
步骤S810:获得所述双机房的第一调度任务量;
步骤S820:判断所述第一调度任务量是否大于等于预设调度任务量;
步骤S830:若所述第一调度任务量大于等于所述预设调度任务量,获得第一清洗指令;
步骤S840:根据所述第一清洗指令对数据进行清洗,获得第四同步策略。
具体而言,现实有很多批处理的任务也需要对线上库进行操作,双机房如果都进行任务调度,因为rpc接口超时,网络带宽,事务,调度资源等原因极易导致数据不一致,而无法保证数据幂等性这种情况一旦发生,是极其容易被客户感知的。若所述第一调度任务量大于等于所述预设调度任务量,通过IDC1机房对数据进行统一的清洗过滤,这样对单机房来说,不管是因为什么问题,他产生的数据文件都是唯一的,将IDC1生产过的数据文件通过Spark同步到IDC2机房的spark集群中,因为文件是复制过来的,又有hadoop本身的CRC32的checksum一致性校验,所以不会发生问题,然后双机房对同一个数据文件入库hbase集群,通过hbase本身的bulkload实现数据入库,这样能够有效的保证数据的一致性的技术效果。
综上所述,本申请实施例所提供的一种hbase数据双活系统具有如下技术效果:
构建第一hbase双活架构;获得第一实时写表数据的第一应用场景;根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;当所述第一比对结果不一致时,获得第一报警指令。进而达到保证双机房的数据结果一致性,组件高可用,保证流量洪峰即便主线过载也不会导致业务影响,双机房同步使用,有效降低线上压力,提升性能,且通过数据对比工具,针对数据是否一致做验证,保证最终结果一致性的技术效果。
实施例二
基于与前述实施例中一种hbase数据双活方法同样发明构思,本发明还提供了一种hbase数据双活系统,如图8所示,所述系统包括:
第一构建单元11,所述第一构建单元11用于构建第一hbase双活架构;
第一获得单元12,所述第一获得单元12用于获得第一实时写表数据的第一应用场景;
第二获得单元13,所述第二获得单元13用于根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;
第一同步单元14,所述第一同步单元14用于根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;
第三获得单元15,所述第三获得单元15用于通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;
第四获得单元16,所述第四获得单元16用于将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;
第五获得单元17,所述第五获得单元17用于当所述第一比对结果不一致时,获得第一报警指令。
进一步的,所述系统还包括:
第六获得单元,所述第六获得单元用于获得第一读写指令,其中,所述第一读写指令用于对一个实时表进行读写;
第七获得单元,所述第七获得单元用于根据所述第一读写指令,获得所述第一实时写表数据;
第一判断单元,所述第一判断单元用于判断所述第一应用场景是否为业务直连场景;
第八获得单元,所述第八获得单元用于若所述第一应用场景为业务直连场景,获得第一同步策略,其中,所述第一同步策略包括第一写入指令、第一同步指令和第二写入指令;
第一写入单元,所述第一写入单元用于根据第一同步策略对所述第一实时写表数据进行写入。
进一步的,所述系统还包括:
第九获得单元,所述第九获得单元用于获得所述第一实时写表数据的第一写入状态;
第十获得单元,所述第十获得单元用于若所述第一写入状态处于失败状态时,获得第一写表失败数据;
第一生成单元,所述第一生成单元用于根据所述第一写表失败数据和第一修复表,生成第二同步策略;
第二写入单元,所述第二写入单元用于根据所述第二同步策略对所述第一写表失败数据进行写入。
进一步的,所述系统还包括:
第十一获得单元,所述第十一获得单元用于获得所述第一写表失败数据写入所述第一修复表的第二写入状态;
第二判断单元,所述第二判断单元用于判断所述第二写入状态是否处于失败状态;
第十二获得单元,所述第十二获得单元用于若所述第二写入状态处于失败状态,获得第一补偿策略;
第一处理单元,所述第一处理单元用于根据所述第一补偿策略对所述第一写表失败数据进行处理。
进一步的,所述系统还包括:
第三判断单元,所述第三判断单元用于若所述第一应用场景不为业务直连场景,判断所述第一应用场景是否为消费端场景;
第十三获得单元,所述第十三获得单元用于若所述第一应用场景为消费端场景,获得第三同步策略;
第三写入单元,所述第三写入单元用于根据所述第三同步策略对所述第一实时写表数据进行写入。
进一步的,所述系统还包括:
第十四获得单元,所述第十四获得单元用于获得所述第一机房和所述第二机房的第一预设数据标志;
第一设置单元,所述第一设置单元用于根据第一设置指令将所述第一预设数据标志设置到pulsar中间件中;
第二同步单元,所述第二同步单元用于根据所述第一同步指令,所述第一机房和所述第二机房通过所述pulsar中间件进行数据同步。
进一步的,所述系统还包括:
第十五获得单元,所述第十五获得单元用于获得所述双机房的第一调度任务量;
第四判断单元,所述第四判断单元用于判断所述第一调度任务量是否大于等于预设调度任务量;
第十六获得单元,所述第十六获得单元用于若所述第一调度任务量大于等于所述预设调度任务量,获得第一清洗指令;
第十七获得单元,所述第十七获得单元用于根据所述第一清洗指令对数据进行清洗,获得第四同步策略。
前述图1实施例一中的一种hbase数据双活方法的各种变化方式和具体实例同样适用于本实施例的一种hbase数据双活系统,通过前述对一种hbase数据双活方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种hbase数据双活系统的实施方法,所以为了说明书的简洁,在此不再详述。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述控制输出数据的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
示例性电子设备
具体的,参见图9所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述控制输出数据的方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构总线、微通道体系结构总线、扩展总线、视频电子标准协会、外围部件互连总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器、网络处理器、数字信号处理器、专用集成电路、现场可编程门阵列、复杂可编程逻辑器件、可编程逻辑阵列、微控制单元或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器、闪存、只读存储器、可编程只读存储器、可擦除可编程只读存储器、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网、局域网、无线局域网、广域网、无线广域网、城域网、互联网、公共交换电话网、普通老式电话业务网、蜂窝电话网、无线网络、无线保真网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信系统、码分多址系统、全球微波互联接入系统、通用分组无线业务系统、宽带码分多址系统、长期演进系统、LTE频分双工系统、LTE时分双工系统、先进长期演进系统、通用移动通信系统、增强移动宽带系统、海量机器类通信系统、超可靠低时延通信系统等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器,或闪存。
易失性存储器包括:随机存取存储器,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器、动态随机存取存储器、同步动态随机存取存储器、双倍数据速率同步动态随机存取存储器、增强型同步动态随机存取存储器、同步连接动态随机存取存储器和直接内存总线随机存取存储器。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器、浏览器,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述控制输出数据的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种hbase数据双活系统,所述系统包括:
第一构建单元,所述第一构建单元用于构建第一hbase双活架构;
第一获得单元,所述第一获得单元用于获得第一实时写表数据的第一应用场景;
第二获得单元,所述第二获得单元用于根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;
第一同步单元,所述第一同步单元用于根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;
第三获得单元,所述第三获得单元用于通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;
第四获得单元,所述第四获得单元用于将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;
第五获得单元,所述第五获得单元用于当所述第一比对结果不一致时,获得第一报警指令;
所述第一获得单元还包括:
第六获得单元,所述第六获得单元用于获得第一读写指令,其中,所述第一读写指令用于对一个实时表进行读写;
第七获得单元,所述第七获得单元用于根据所述第一读写指令,获得所述第一实时写表数据;
第一判断单元,所述第一判断单元用于判断所述第一应用场景是否为业务直连场景;
第八获得单元,所述第八获得单元用于若所述第一应用场景为业务直连场景,获得第一同步策略,其中,所述第一同步策略包括第一写入指令、第一同步指令和第二写入指令;
第一写入单元,所述第一写入单元用于根据第一同步策略对所述第一实时写表数据进行写入;
所述第一同步单元还包括:
第十四获得单元,所述第十四获得单元用于获得所述第一机房和所述第二机房的第一预设数据标志;
第一设置单元,所述第一设置单元用于根据第一设置指令将所述第一预设数据标志设置到pulsar中间件中;
第二同步单元,所述第二同步单元用于根据所述第一同步指令,所述第一机房和所述第二机房通过所述pulsar中间件进行数据同步。
2.如权利要求1所述的系统,其中,所述第一写入单元还包括:
第九获得单元,所述第九获得单元用于获得所述第一实时写表数据的第一写入状态;
第十获得单元,所述第十获得单元用于若所述第一写入状态处于失败状态时,获得第一写表失败数据;
第一生成单元,所述第一生成单元用于根据所述第一写表失败数据和第一修复表,生成第二同步策略;
第二写入单元,所述第二写入单元用于根据所述第二同步策略对所述第一写表失败数据进行写入。
3.如权利要求2所述的系统,其中,所述第一生成单元还包括:
第十一获得单元,所述第十一获得单元用于获得所述第一写表失败数据写入所述第一修复表的第二写入状态;
第二判断单元,所述第二判断单元用于判断所述第二写入状态是否处于失败状态;
第十二获得单元,所述第十二获得单元用于若所述第二写入状态处于失败状态,获得第一补偿策略;
第一处理单元,所述第一处理单元用于根据所述第一补偿策略对所述第一写表失败数据进行处理。
4.如权利要求1所述的系统,其中,所述第一判断单元还包括:
第三判断单元,所述第三判断单元用于若所述第一应用场景不为业务直连场景,判断所述第一应用场景是否为消费端场景;
第十三获得单元,所述第十三获得单元用于若所述第一应用场景为消费端场景,获得第三同步策略;
第三写入单元,所述第三写入单元用于根据所述第三同步策略对所述第一实时写表数据进行写入。
5.如权利要求1所述的系统,其中,所述系统还包括:
第十五获得单元,所述第十五获得单元用于获得所述双机房的第一调度任务量;
第四判断单元,所述第四判断单元用于判断所述第一调度任务量是否大于等于预设调度任务量;
第十六获得单元,所述第十六获得单元用于若所述第一调度任务量大于等于所述预设调度任务量,获得第一清洗指令;
第十七获得单元,所述第十七获得单元用于根据所述第一清洗指令对数据进行清洗,获得第四同步策略。
6.一种hbase数据双活方法,其中,所述方法包括:
构建第一hbase双活架构;
获得第一实时写表数据的第一应用场景;
根据所述第一hbase双活架构和所述第一应用场景进行数据写入,获得第一同步指令;
根据所述第一同步指令对双机房进行数据同步,其中,所述双机房包括第一机房和第二机房;
通过Spark分别对所述第一机房和所述第二机房的当天数据进行提取,获得第一实时数据和第二实时数据;
将所述第一实时数据和所述第二实时数据输入第一比对模型中,根据所述第一比对模型,获得第一比对结果;
当所述第一比对结果不一致时,获得第一报警指令;
其中,所述获得第一实时写表数据的第一应用场景,还包括:
获得第一读写指令,其中,所述第一读写指令用于对一个实时表进行读写;
根据所述第一读写指令,获得所述第一实时写表数据;
判断所述第一应用场景是否为业务直连场景;
若所述第一应用场景为业务直连场景,获得第一同步策略,其中,所述第一同步策略包括第一写入指令、第一同步指令和第二写入指令;
根据第一同步策略对所述第一实时写表数据进行写入;
其中,所述根据所述第一同步指令对双机房进行数据同步,还包括:
获得所述第一机房和所述第二机房的第一预设数据标志;
根据第一设置指令将所述第一预设数据标志设置到pulsar中间件中;
根据所述第一同步指令,所述第一机房和所述第二机房通过所述pulsar中间件进行数据同步。
7.一种hbase数据双活电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1-5中任一项所述的hbase数据双活系统中的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的hbase数据双活系统中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977241.1A CN113778764B (zh) | 2021-08-24 | 2021-08-24 | 一种hbase数据双活系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977241.1A CN113778764B (zh) | 2021-08-24 | 2021-08-24 | 一种hbase数据双活系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778764A CN113778764A (zh) | 2021-12-10 |
CN113778764B true CN113778764B (zh) | 2023-10-27 |
Family
ID=78839046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110977241.1A Active CN113778764B (zh) | 2021-08-24 | 2021-08-24 | 一种hbase数据双活系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778764B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201410569D0 (en) * | 2013-06-13 | 2014-07-30 | Box Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
CN104778225A (zh) * | 2015-03-27 | 2015-07-15 | 浙江大学 | 一种非结构化数据多存储系统中同步数据的方法 |
CN105335443A (zh) * | 2014-08-13 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种用于数据同步中的异常检测的方法与设备 |
CN105389402A (zh) * | 2015-12-29 | 2016-03-09 | 曙光信息产业(北京)有限公司 | 一种面向大数据的etl方法和装置 |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
CN106980699A (zh) * | 2017-04-14 | 2017-07-25 | 中国科学院深圳先进技术研究院 | 一种数据处理平台和系统 |
CN108418859A (zh) * | 2018-01-24 | 2018-08-17 | 华为技术有限公司 | 写数据的方法和装置 |
CN110781197A (zh) * | 2019-09-29 | 2020-02-11 | 北京淇瑀信息科技有限公司 | 一种hive离线同步校验方法、装置及电子设备 |
CN111190766A (zh) * | 2019-12-12 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 基于HBase数据库的跨机房集群的容灾方法、装置和系统 |
CN111597270A (zh) * | 2020-05-22 | 2020-08-28 | 深圳前海微众银行股份有限公司 | 数据同步方法、装置、设备及计算机存储介质 |
CN111831748A (zh) * | 2020-06-30 | 2020-10-27 | 北京小米松果电子有限公司 | 数据同步方法、装置及存储介质 |
CN112052295A (zh) * | 2020-08-06 | 2020-12-08 | 中信银行股份有限公司 | 一种数据同步方法、装置、电子设备和可读存储介质 |
EP3786802A1 (en) * | 2019-08-30 | 2021-03-03 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for failover in hbase system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11360942B2 (en) * | 2017-03-13 | 2022-06-14 | Wandisco Inc. | Methods, devices and systems for maintaining consistency of metadata and data across data centers |
-
2021
- 2021-08-24 CN CN202110977241.1A patent/CN113778764B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201410569D0 (en) * | 2013-06-13 | 2014-07-30 | Box Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
CN105335443A (zh) * | 2014-08-13 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种用于数据同步中的异常检测的方法与设备 |
CN104778225A (zh) * | 2015-03-27 | 2015-07-15 | 浙江大学 | 一种非结构化数据多存储系统中同步数据的方法 |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
CN105389402A (zh) * | 2015-12-29 | 2016-03-09 | 曙光信息产业(北京)有限公司 | 一种面向大数据的etl方法和装置 |
CN106980699A (zh) * | 2017-04-14 | 2017-07-25 | 中国科学院深圳先进技术研究院 | 一种数据处理平台和系统 |
CN108418859A (zh) * | 2018-01-24 | 2018-08-17 | 华为技术有限公司 | 写数据的方法和装置 |
EP3786802A1 (en) * | 2019-08-30 | 2021-03-03 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for failover in hbase system |
CN110781197A (zh) * | 2019-09-29 | 2020-02-11 | 北京淇瑀信息科技有限公司 | 一种hive离线同步校验方法、装置及电子设备 |
CN111190766A (zh) * | 2019-12-12 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 基于HBase数据库的跨机房集群的容灾方法、装置和系统 |
CN111597270A (zh) * | 2020-05-22 | 2020-08-28 | 深圳前海微众银行股份有限公司 | 数据同步方法、装置、设备及计算机存储介质 |
CN111831748A (zh) * | 2020-06-30 | 2020-10-27 | 北京小米松果电子有限公司 | 数据同步方法、装置及存储介质 |
CN112052295A (zh) * | 2020-08-06 | 2020-12-08 | 中信银行股份有限公司 | 一种数据同步方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113778764A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980625B (zh) | 一种数据同步方法、装置及系统 | |
JP6325001B2 (ja) | 階層データ構造のノードにおいて再帰的イベントリスナを用いる方法およびシステム | |
CN112636992B (zh) | 一种动态路由方法、装置、设备及存储介质 | |
US10826812B2 (en) | Multiple quorum witness | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN114244835B (zh) | 基于区块链的去中心化自适应协同训练方法和装置 | |
CN112612851A (zh) | 多中心数据同步方法及装置 | |
CN112835885A (zh) | 一种分布式表格存储的处理方法、装置及系统 | |
US20150121096A1 (en) | System and method for conserving power consumption in a memory system | |
CN113778764B (zh) | 一种hbase数据双活系统及方法 | |
CN111800511A (zh) | 同步登录态的处理方法、系统、设备及可读存储介质 | |
CN115982133A (zh) | 数据处理方法及装置 | |
CN115964436A (zh) | 一种数据库集群管理的方法和装置 | |
CN110413686B (zh) | 一种数据写入方法、装置、设备及存储介质 | |
CN113542323A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
WO2019033370A1 (zh) | 数据获取方法及装置 | |
JP7305898B2 (ja) | 操作応答方法、操作応答装置、電子機器及び記憶媒体 | |
CN113407508B (zh) | 一种日志文件压缩的方法、系统、设备及介质 | |
CN114666348B (zh) | 一种基于python语言快速构建分布式系统的方法 | |
CN114254041A (zh) | 共享存储集群的主备流复制方法、装置、电子设备和介质 | |
CN117891661A (zh) | 数据备份方法、装置、电子设备及可读存储介质 | |
CN117278401A (zh) | 配置更新方法及装置 | |
US10423475B2 (en) | Stateful tokens for communicating with external services |
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 | ||
CB02 | Change of applicant information |
Address after: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant after: Bairong Zhixin (Beijing) Technology Co.,Ltd. Address before: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant before: Bairong Zhixin (Beijing) credit investigation Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |