CN112035446B - 一种数据抽取的方法、装置及存储介质 - Google Patents
一种数据抽取的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112035446B CN112035446B CN201910476781.4A CN201910476781A CN112035446B CN 112035446 B CN112035446 B CN 112035446B CN 201910476781 A CN201910476781 A CN 201910476781A CN 112035446 B CN112035446 B CN 112035446B
- Authority
- CN
- China
- Prior art keywords
- data extraction
- distributed lock
- extraction module
- session
- acquires
- 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
- 238000013075 data extraction Methods 0.000 title claims abstract description 383
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- 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)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据抽取的方法、系统和存储介质,具体为:多个数据抽取模块接收到数据抽取任务指令,多个数据抽取模块为多个独立的数据抽取模块;多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;获取到分布式锁的数据抽取模块执行数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台,从而,基于本发明的方案,可以较好的保证抽取的数据一致性和稳定性,并可以兼顾数据抽取的工作效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据抽取的方法、装置及存储介质。
背景技术
通常,企业的技术服务系统会分为在线服务系统和大数据平台,在线服务器系统为用户提供在线的服务,并且把用户相关的行为数据,例如点击,购买,账单等数据写入到数据库中。大数据平台使用在线服务系统提供数据,实现数据处理,数据建模等功能。
现有技术中,在线服务系统中的数据库向大数据平台进行数据搬运的数据抽取方法,通常包括两种:一种是通过一个设备针对某个数据库进行数据抽取任务,另一种是多个设备针对某个数据库同时进行数据抽取任务中,但是,现有的方法都存在着一些问题,第一种方法虽然可以保证抽取的数据的准确性但是一旦执行任务的设备出现问题,需要重新布置新的设备执行数据抽取任务,工作效率不高,容灾能力不强;第二种方法可以高效的执行数据抽取任务,但会存在数据重复等问题,抽取到的数据的一致性和准确性不高。
发明内容
本发明的一个实施例提供了一种数据抽取的方法,在从数据库向大数据平台进行数据抽取时,该方法可以较好的保证所抽取的数据一致性和准确性,同时也可以兼顾数据抽取的工作效率,该方法包括:
多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块;
所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;
获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台。
可选地,在所述该建立会话的数据抽取模块获取分布式锁的步骤之后,该方法进一步包括:
根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态;
如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令,并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令;
如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
可选地,所述判断该数据抽取模块是否处于正常的工作状态的步骤包括:
所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态;
如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态;
如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
本发明的一个实施例提供了数据抽取装置,该装置包括:
接收单元,用于多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块;
获取单元,用于所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;
传输单元,用于获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台。
可选地,所述装置还包括:
判断单元,用于根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态;
处理单元,用于如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令,并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令;
所述传输单元,还用于如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
可选地,所述判断单元还用于所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
本发明的一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述实施例中所述的数据抽取的方法。
本发明的一个实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述实施例中所述的数据抽取的方法。
如上所述,本发明的方案中,在从数据库向大数据平台进行数据抽取时,每个数据抽取任务可以设置多个数据抽取模块,多个数据抽取模块相互独立,并且都可以用于执行同一个数据抽取任务,其中,一个数据抽取模块通过分布式锁服务获取到分布式锁,该具有分布式锁的数据抽取模块执行数据抽取任务,其他的未获得分布式锁的数据抽取模块作为备份,由此,执行数据抽取任务的数据抽取模块为一个,进而可以保证数据抽取中数据的一致性和准确性。
并且,当该正在进行数据抽取任务的数据抽取模块发生故障时,不用重新部署数据抽取任务,作为备份的数据抽取模块可以通过分布式锁服务获取到分布式锁继续执行数据抽取任务,可以提高数据抽取和数据传输的效率。同时,由于设置有多个作为备份的数据抽取模块,本发明的方案还具体较好的容灾效果。
附图说明
图1为本发明一些实施例中的应用场景100的示意图;
图2为本发明一实施例中数据抽取的方法200的流程图;
图3为本发明一实施例中的方法300的流程图;
图4为本发明一实施例中的方法400的流程图;
图5为本发明一实施例中数据抽取方法应用的数据抽取系统500的示意图;
图6为本发明一实施例中数据抽取装置600的结构示意图;
图7为本发明一些实施例中计算机设备700的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
针对现有技术中从数据库向大数据平台进行数据抽取搬运时,可能存在的数据抽取不一致的问题。在本发明实施例中,在从数据库向大数据平台进行数据抽取时,每个数据抽取任务可以包括多个数据抽取模块,通过分布式锁服务保证具有分布式锁的一个数据抽取模块进行数据抽取,其他数据抽取模块作为备份,执行数据抽取任务的数据抽取模块为一个,进而保证抽取的数据准确性和一致性。此外,当正在进行数据抽取任务的数据抽取模块发生故障时,分布式锁服务可以将分布式锁分配给作为备份的一个数据抽取,节省了处理数据抽取模块故障的时间,可以提高数据抽取工作的效率,并且还可以保证抽取的数据准确性和一致性。
如图1所示,图1为本发明一些实施例中的应用场景100的示意图,该应用场景100可以包括多个数据抽取模块110,数据库120,大数据平台130以及分布式锁服务140,其中多个数据抽取模块110可以组成一个数据抽取任务11。多个数据抽取模块110,数据库120,大数据平台130可以通过网络进行通信。多个数据抽取模块110和分布式锁服务140可以通过网络进行通信,但是每个数据抽取模块110之间是可以相互独立的,可以不进行通信。具体地,网络例如可以包括局域网(LAN)和广域网(WAN)。本申请的实施例可以使用任意公知的网络协议来实现网络140,包括各种有线或无线协议,诸如,以太网、FIREWIRE、全球移动通讯系统(GSM)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、WiFi、IP语音(VoIP),Wi-MAX,或任意其他适合的通信协议。
多个数据抽取模块110可以是运行在不同服务器上,可以根据具体需求设置数据抽取模块110的数量,以及运行数据抽取模块110的服务器的数量和位置;分布式锁服务140可以部署于一个或者多个独立的服务器;数据库120可以为不同类型的数据库,例如可以是mysql,redis,mongodb等数据库。大数据平台130可以包括大数据平台的数据仓库等。可以理解的是,该应用场景100可以是与大型企业的信息技术服务系统的数据抽取和数据搬运的相关应用场景。
请参见图2,图2为本发明一实施例中数据抽取的方法200的流程图,在本发明的实施例中,一种数据抽取的方法,该方法包括如下步骤:
步骤201:多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块。
其中,数据抽取任务可以是描述一个数据抽取任务的各个属性,例如可以是需要进行数据抽取的数据库的配置,具体的抽取方法,数据抽取输出至哪个位置等。
数据抽取模块(extractor)可以是一个应用程序,可以通过指定的数据抽取任务信息,启动并执行数据抽取指令,通常可以采用流式计算框架来实现。多个数据抽取模块相互之间的独立,不进行通信,每个数据抽取模块接收到的数据抽取任务指令可是相同的。
步骤202:所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态。
其中,分布式锁服务是用来控制分布式系统各个节点同步访问共享节点的一种锁机制。例如可以是基于Zookeeper或者Etcd的分布式锁服务,可以实现跨机房,跨网络环境的分布式锁服务。Zookeeper是一个软件项目,为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册,是一个高可用的分布式协调服务,,Zookeeper是一个典型的解决分布式数据一致性问题的框架,ZooKeeper分布式锁服务具有较好的性能和可靠性;Etcd是一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。
具体地,一个数据抽取模块可以通过向分布式锁服务发送获取分布式锁的请求,和分布式锁服务建立会话并获取到分布式锁,未建立会话的或者未获得获取到分布式锁的其他数据抽取模块处于等待状态。
步骤203:获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台。
具体地,数据库可以为不同类型的数据库,例如可以是mysql,redis,mongodb等数据库。大数据平台具体可以是大数据平台的数据仓库。获取到分布式锁的数据抽取模块执行将从数据库抽取到的数据传输到大数据平台的指令。
综上所述,在本发明实施例中,在从数据库向大数据平台进行数据抽取时,每个数据抽取任务可以设置多个数据抽取模块,多个数据抽取模块相互独立,并且都可以用于执行同一个数据抽取任务,其中,一个数据抽取模块通过分布式锁服务获取到分布式锁,该具有分布式锁的数据抽取模块执行数据抽取任务,其他的未获得分布式锁的数据抽取模块作为备份,由此,执行数据抽取任务的数据抽取模块为一个,进而可以保证数据抽取中数据的一致性和准确性。另一方面,当该正在进行数据抽取任务的数据抽取模块发生故障时,不用重新部署数据抽取任务,作为备份的数据抽取模块可以通过分布式锁服务获取到分布式锁继续执行数据抽取任务,可以提高数据抽取和数据传输的效率。此外,由于设置有多个作为备份的数据抽取模块,本发明实施例中的方法,还具体较好的容灾效果。
请参见图3,图3为本发明一实施例中的方法300的流程图,在本发明的实施例中,该方法300为步骤202的进一步地方法,该方法包括如下步骤:
步骤301:根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态。
具体地,根据分布式锁服务和获取到分布式锁的数据抽取模块之间的会话情况可以判断其是否处于正常的工作状态。该数据抽取模块获得分布式锁后便开始执行数据抽取任务,同时该数据抽取模块还可以与分布式锁服务之间的保持会话状态,但在工作状态中,有可能因为网络问题或者其他外界因素,导致该数据抽取模块不能正常工作,需要对该数据抽取模块的工作状态有实时的了解,及时处理,以保证数据抽取任务的顺利执行。
步骤302:如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令,并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令。
具体地,控制终端可以具有关闭任一个数据抽取模块服务器的权限,控制终端根据接收到分布式锁服务的发送的相关信息,该信息具体可以是该处于异常工作状态的数据抽取模块的信息,例如IP地址等信息,可以通过该数据抽取模块的服务器管理接口,向该数据抽取模块发送触发关机指令,对该处于异常工作状态的数据抽取模块所在的服务器进行关机操作。其中,控制终端可以通过预启动执行环境(Preboot Execute Environment,PXE)技术功能实现对原数据抽取模块所在的服务器进行关机操作。
另一方面,任一个处于等待状态的数据抽取模块与分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令。
步骤303:如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
在实际应用中,执行数据抽取任务时,可能因为一些原因,例如网络断网或者设备故障,导致获取到分布式锁的数据抽取模块处于异常工作状态,这时需要对处于异常工作状态的数据抽取模块进行及时处理,以保证数据抽取任务的顺利执行。其中,获取到分布式锁的数据抽取模块是否处于异常工作状态可以根据分布式锁服务和该数据抽取模块之间的会话情况进行判断,如果该数据抽取模块处于异常工作状态,分布式锁服务可以将该数据抽取模块的相关信息发送至控制终端,通过控制终端向该数据抽取模块发送触发关机指令,对该数据抽取模块所在的服务器进行关机操作,根据上述方法,可以及时处理数据抽取任务中发生的异常问题。
此外,由于网络不稳定或者是软件测试不充分等原因,处于异常工作状态数据抽取模块可能存在“假死”问题,具体地,处于异常工作状态数据抽取模块没有正常的退出数据抽取任务,会有存在该数据抽取模块和新获取到分布式锁的数据抽取模块同时进行数据抽取任务,可能导致抽取数据的混乱,影响数据抽取的一致性,通过控制终端触发处于异常工作状态的数据抽取模块所在的服务器关机,可以排除数据抽取模块“假死”问题。
综上所述,在本发明实施例中,通过控制终端触发处于异常工作状态的数据抽取模块所在的服务器关机,可以排除数据抽取模块“假死”导致的上述问题,进一步地更好的保证了数据抽取任务中的所抽取的数据一致性和准确性。
请参见图4,图4为本发明一实施例中的方法400的流程图,在本发明的实施例中,该方法400为步骤301的具体的方法,该方法还包括:
步骤401:所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态。
具体地,分布式锁服务和数据抽取模块服务器之间可以通过发送保持会话的信息确认双方的会话状态,获取到分布式锁的数据抽取模块可以定时会向分布式锁服务保持会话的信息,分布式锁服务同时会向该数据抽取模块发送反馈的保持会话的信息。其中,保持会话的信息可以包括分布式锁服务和数据抽取模块相关联的标识信息,标识信息可以是:运行数据抽取模块的主机名称、IP地址、硬盘序列号、CPU序列号、BIOS编号等。;
步骤402:如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态。
具体地,如果所述获取到分布式锁的数据抽取模块发送保持会话的信息后,没有收到分布式服务反馈的保持会话的信息,即该获取到分布式锁的数据抽取模块发送保持会话的信息不成功,该数据抽取模块的的分布式锁被所述分布式锁服务释放,即该数据抽取模块失去分布式锁的所有权,该数据抽取模块处于异常的工作状态。
步骤403:如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
在本发明实施例中,如果获取到分布式锁的数据抽取模块发送保持会话的信息不成功,该数据抽取模块的的分布式锁被所述分布式锁服务释放,该数据抽取模块被确认为处于异常的工作状态。
此外,分布式锁服务中的分布式锁的所有权发生更替,由新获取到分布式锁的数据抽取模块继续执行数据抽取任务,具体地可以通过现有技术中的Paxos、Raft等数据一致性算法解决数据抽取任务的数据一致性的问题,在实际应用中,可以根据用户需要自行选用何种方式,具体实现方式不再赘述。
在本发明另一个实施例中,图5为本发明一实施例中数据抽取方法应用的数据抽取系统500的示意图,结合该实际应用对本发明的技术方案进行进一步的详细说明。
在实际应用中,在线服务系统的数据库中记录存储了用户的各类数据信息,为了更好的分析利用这些数据,需要将这些数据搬运至大数据平台中,再对数据进行进一步地应用处理,在从在线服务系统的数据库向大数据平台转移数据过程中,需要保证抽取的数据的准确性、一致性以及高效性,由此提出了对本发明实施例中的技术方案。
如图5所示,该数据抽取系统500包括,数据库120,大数据平台130,控制终端501,配置数据库502,分布式锁服务140以及通过容器编排服务503部署执行数据抽取任务的多个数据抽取模块110。
在本发明实施例中,该控制终端501可以启动和部署数据抽取任务,具体地,控制终端501,例如中央控制终端,可以根据监控到的配置数据库502(ConfigurationManagement database,CMDB)的某一个数据库配置的变化后,调用容器编排服务503部署数据抽取任务。多个数据抽取模块110接收到数据抽取任务指令,通过分布式锁服务140,一个数据抽取模块110可以根据数据抽取任务的具体信息,抽取配置的数据库120的数据至指定的大数据平台130。
具体地,配置数据库502可以是记录了整个数据抽取系统500需要进行数据抽取的任务的集合,在实际应用于的环境中,需要进行数据抽取的任务的信息可以不用人工手动配置,可以通过直接同步企业内部的数据库管理系统来得到相应的数据,具体实现方式不再赘述。
其中,容器编排服务503部署数据抽取任务,每个数据抽取任务中包括多个数据抽取模块110,容器编排服务503可以便于对多个数据抽取任务的多个数据抽取模块110进行数据抽取任务部署,可以对不同的机房不同服务器的数据抽取模块110进行数据抽取任务的部署。具体容器编排工具可以为Kubernetes、Apache Mesos等容器编排工具,其中,Kubernetes是Google开源的一个容器编排工具,它支持自动化部署、大规模可伸缩、应用容器化管理。Apache Mesos是一个开源的集群管理器,它是为涉及数百或数千台主机的大规模集群而设计的。容器编排技术是现有的技术手段,在本发明实施例中,通过容器编排服务可以便于技术人员高效的部署数据抽取任务等服务,具体实现方式不再赘述。
具体地,在本发明的实例中,经过上述前期的部署数据库的配置操作后,首先,多个数据抽取模块接收到数据抽取任务指令,数据抽取任务可以是描述一个数据抽取任务的各个属性,例如可以是需要进行数据抽取的数据库的配置,具体的抽取方法,数据抽取输出至哪个位置等。数据抽取模块可以是一个应用程序,可以通过指定的数据抽取任务信息,启动并执行数据抽取指令。多个数据抽取模块相互之间的独立,不进行通信,每个数据抽取模块接收到的数据抽取任务指令可是相同的。
其次,多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态。
具体地,分布式锁服务是用来控制分布式系统各个节点同步访问共享节点的一种锁机制。例如可以是基于Zookeeper或者Etcd的分布式锁服务,可以实现跨机房,跨网络环境的分布式锁服务。其中,一个数据抽取模块可以通过向分布式锁服务发送获取分布式锁的请求,和分布式锁服务建立会话并获取到分布式锁。以基于Zookeeper分布式锁服务为例,多个数据抽取模块并发的在ZooKeeper上创建节点,在分布式锁目录下创建临时顺序节点,如果建立会话的数据抽取模块发现自身创建临时顺序节点序列号是分布式锁目录下最小的节点,则获得分布式锁。其他的数据抽取模块进入等待。此外,临时节点可以保证获取到锁的数据抽取模块挂掉后可以自动释放,节点的唯一性保证只有一个数据抽取模块可以成功获取分布式锁。其他没有成功创建节点的数据抽取模块处于等待状态。此外,其他没有成功获取到分布式锁的数据抽取模块可以设置对节点变更情况的监视,监视比自己创建临时顺序节点的序列号小的最大节点,以便于获取到锁释放的情况,并再次尝试获取锁。
最后,获取到分布式锁的数据抽取模块执行数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台。
综上所述,在本发明实施例中,在从数据库向大数据平台进行数据抽取时,每个数据抽取任务可以设置多个数据抽取模块,多个数据抽取模块相互独立,并且都可以用于执行同一个数据抽取任务,其中,一个数据抽取模块通过分布式锁服务获取到分布式锁,该具有分布式锁的数据抽取模块执行数据抽取任务,其他的未获得分布式锁的数据抽取模块作为备份,由此,执行数据抽取任务的数据抽取模块为一个,进而可以保证数据抽取中数据的一致性和准确性。另一方面,当该正在进行数据抽取任务的数据抽取模块发生故障时,不用重新部署数据抽取任务,作为备份的数据抽取模块可以通过分布式锁服务获取到分布式锁继续执行数据抽取任务,可以提高数据抽取和数据传输的效率。此外,由于设置有多个作为备份的数据抽取模块,本发明实施例中的方法,还具体较好的容灾效果。
图6为本发明一实施例中数据抽取装置600的结构示意图,在本实施例中,一种数据抽取系统600包括:
接收单元,用于多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块;
获取单元,用于所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;
传输单元,用于获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台。
较佳地,在本发明实施例中,该数据抽取系统还包括判断单元和分布式锁更替单元;
该判断单元,用于根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态;
处理单元,用于如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令,并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令;
并且传输单元,还用于如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
较佳地,在本发明实施例中,判断单元还用于所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
综上所述,本发明实施例中提供的数据抽取装置可执行本发明任意实施例所提供的数据抽取方法,具备执行数据抽取方法相应的功能模块和有益效果。
在本发明的实施例中,如图1至图4所示的框架中可以进一步设置非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质可存储指令,这些指令在由处理器执行时使得处理器执行如前述实施例所描述的数据抽取的方法的步骤。
如图7所示,图7为本发明一些实施例中计算机设备700的结构示意图。本发明实施例中,一种电子设备700,包括处理器701和存储器702;以及一个或多个程序,存储在该存储器中并被配置为由所述处理器执行,所述一个或多个程序包括用于执行上述数据抽取的的指令。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (6)
1.一种数据抽取的方法,其特征在于,所述方法包括:
多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块;
所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;
获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台;
其中,在所述该建立会话的数据抽取模块获取分布式锁的步骤之后,该方法进一步包括:
根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态;
如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令, 并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令;
如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
2.根据权利要求1所述的方法,其特征在于,所述判断该数据抽取模块是否处于正常的工作状态的步骤包括:
所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态;
如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态;
如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
3.一种数据抽取装置,其特征在于,包括:
接收单元,用于多个数据抽取模块接收到数据抽取任务指令,多个所述数据抽取模块为多个独立的数据抽取模块;
获取单元,用于所述多个独立的数据抽取模块中的一个与分布式锁服务建立会话,该建立会话的数据抽取模块获取分布式锁并处于工作状态,未建立会话的其他数据抽取模块处于等待状态;
传输单元,用于获取到分布式锁的数据抽取模块执行所述数据抽取任务指令,将从数据库抽取到的数据传输到大数据平台;
其中,所述装置还包括:
判断单元,用于根据所述分布式锁服务和所述获取到分布式锁的数据抽取模块之间的会话情况判断该数据抽取模块是否处于正常的工作状态;
处理单元,用于如果处于异常工作状态,所述获取到分布式锁的数据抽取模块接收来自控制终端的触发指令,并按照触发指令停止工作,所述控制终端根据分布式锁服务的发送的信息生成所述触发指令, 并且任一个处于等待状态的数据抽取模块与所述分布式锁服务建立会话并获取分布式锁,继续执行数据抽取任务指令;
所述传输单元,还用于如果处于正常工作状态,所述获取到分布式锁的数据抽取模块继续正常执行数据抽取任务指令。
4.根据权利要求3所述的装置,其特征在于,所述判断单元还用于所述获取到分布式锁的数据抽取模块与所述分布式锁服务之间定时发送保持会话的信息以确认保持会话状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息不成功,所述获取到分布式锁的数据抽取模块的分布式锁被所述分布式锁服务释放,所述数据抽取模块处于异常的工作状态;如果所述获取到分布式锁的数据抽取模块发送保持会话的信息成功,则所述数据抽取模块为正常的工作状态。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2所述的方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910476781.4A CN112035446B (zh) | 2019-06-03 | 2019-06-03 | 一种数据抽取的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910476781.4A CN112035446B (zh) | 2019-06-03 | 2019-06-03 | 一种数据抽取的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035446A CN112035446A (zh) | 2020-12-04 |
CN112035446B true CN112035446B (zh) | 2024-04-19 |
Family
ID=73575951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910476781.4A Active CN112035446B (zh) | 2019-06-03 | 2019-06-03 | 一种数据抽取的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035446B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103747060A (zh) * | 2013-12-26 | 2014-04-23 | 惠州华阳通用电子有限公司 | 一种基于流媒体服务集群的分布式监控系统及方法 |
CN104753987A (zh) * | 2013-12-26 | 2015-07-01 | 北京东方通科技股份有限公司 | 一种分布式会话管理方法及系统 |
WO2015134679A2 (en) * | 2014-03-05 | 2015-09-11 | Scality, S.A. | Locking and i/o improvements of systems built with distributed consistent database implementations within an object store |
US9171019B1 (en) * | 2013-02-19 | 2015-10-27 | Amazon Technologies, Inc. | Distributed lock service with external lock information database |
CN106572054A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式系统中分布式锁服务实现方法以及装置 |
CN107145396A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 分布式锁实现方法和设备 |
CN107168779A (zh) * | 2017-03-31 | 2017-09-15 | 咪咕互动娱乐有限公司 | 一种任务管理方法及系统 |
CN109257396A (zh) * | 2017-07-12 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN109831486A (zh) * | 2019-01-02 | 2019-05-31 | 技创智能科技(上海)有限公司 | 多客户端的后台数据服务器系统及数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125556A1 (en) * | 2003-12-08 | 2005-06-09 | International Business Machines Corporation | Data movement management system and method for a storage area network file system employing the data management application programming interface |
-
2019
- 2019-06-03 CN CN201910476781.4A patent/CN112035446B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171019B1 (en) * | 2013-02-19 | 2015-10-27 | Amazon Technologies, Inc. | Distributed lock service with external lock information database |
CN103747060A (zh) * | 2013-12-26 | 2014-04-23 | 惠州华阳通用电子有限公司 | 一种基于流媒体服务集群的分布式监控系统及方法 |
CN104753987A (zh) * | 2013-12-26 | 2015-07-01 | 北京东方通科技股份有限公司 | 一种分布式会话管理方法及系统 |
WO2015134679A2 (en) * | 2014-03-05 | 2015-09-11 | Scality, S.A. | Locking and i/o improvements of systems built with distributed consistent database implementations within an object store |
CN106572054A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式系统中分布式锁服务实现方法以及装置 |
CN107145396A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 分布式锁实现方法和设备 |
CN107168779A (zh) * | 2017-03-31 | 2017-09-15 | 咪咕互动娱乐有限公司 | 一种任务管理方法及系统 |
CN109257396A (zh) * | 2017-07-12 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN109831486A (zh) * | 2019-01-02 | 2019-05-31 | 技创智能科技(上海)有限公司 | 多客户端的后台数据服务器系统及数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112035446A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
US20220245101A1 (en) | Data migration method and apparatus | |
WO2018113556A1 (zh) | 一种网络运营支撑系统及网络设备管理方法 | |
WO2018095414A1 (zh) | 虚拟机故障的检测和恢复方法及装置 | |
CN108430116A (zh) | 断网重连方法、介质、装置和计算设备 | |
CN110311831B (zh) | 基于容器云的系统资源监控方法及相关设备 | |
WO2017092347A1 (zh) | 一种分布式高速缓存系统中的客户端配置更新方法、设备及系统 | |
US20150026125A1 (en) | System and method for synchronizing data between communication devices in a networked environment without a central server | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
US11398989B2 (en) | Cloud service for cross-cloud operations | |
WO2019041930A1 (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN112506702B (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN113742031A (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN113422692A (zh) | 一种K8s集群内节点故障检测及处理方法、装置及存储介质 | |
CN110275793B (zh) | 一种用于MongoDB数据分片集群的检测方法及设备 | |
CN114553867A (zh) | 一种云原生的跨云网络监控方法、装置及存储介质 | |
CN105849699B (zh) | 控制数据中心架构设备的方法 | |
JP6421516B2 (ja) | サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法 | |
CN112035446B (zh) | 一种数据抽取的方法、装置及存储介质 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
CN108154343B (zh) | 一种企业级信息系统的应急处理方法及系统 | |
CN111200578A (zh) | 一种通信方法、客户端设备及服务端设备 | |
EP3145120A1 (en) | Data acquisition method, device and system | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN114513419A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |