CN117421337A - 数据采集方法、装置、设备及计算机可读介质 - Google Patents

数据采集方法、装置、设备及计算机可读介质 Download PDF

Info

Publication number
CN117421337A
CN117421337A CN202311254931.XA CN202311254931A CN117421337A CN 117421337 A CN117421337 A CN 117421337A CN 202311254931 A CN202311254931 A CN 202311254931A CN 117421337 A CN117421337 A CN 117421337A
Authority
CN
China
Prior art keywords
acquisition
target
data
task
data source
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.)
Granted
Application number
CN202311254931.XA
Other languages
English (en)
Other versions
CN117421337B (zh
Inventor
杨月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongtu Science And Technology Yichang Co ltd
Original Assignee
Dongtu Science And Technology Yichang Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongtu Science And Technology Yichang Co ltd filed Critical Dongtu Science And Technology Yichang Co ltd
Priority to CN202311254931.XA priority Critical patent/CN117421337B/zh
Publication of CN117421337A publication Critical patent/CN117421337A/zh
Application granted granted Critical
Publication of CN117421337B publication Critical patent/CN117421337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据采集方法、装置、设备及计算机可读介质。该方法包括:接收目标采集任务,目标采集任务用于指示对目标数据源进行数据采集;获取预先为目标采集任务配置的增量采集规则,增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;按照第一采集规则执行目标采集任务,以基于目标数据源中各个数据字段的位置偏移量采集目标数据源的增量数据,或者,按照第二采集规则执行目标采集任务,以基于目标数据源中的元数据标记采集目标数据源的增量数据。本申请解决了大量相同数据的重复采集导致计算资源严重浪费的技术问题。

Description

数据采集方法、装置、设备及计算机可读介质
技术领域
本申请涉及大数据技术领域,尤其涉及一种数据采集方法、装置、设备及计算机可读介质。
背景技术
在当今数字信息呈指数级增长的时代,通过大数据技术进行数据采集已经是获取信息的常用手段。然而,在进行多次数据采集任务时,大量相同的数据被重复采集,而实际上更新的数据仅占所有采集的数据中很小的一部分,这样一来导致计算资源被严重浪费。
针对大量相同数据的重复采集导致计算资源严重浪费的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种数据采集方法、装置、设备及计算机可读介质,以解决大量相同数据的重复采集导致计算资源严重浪费的技术问题。
根据本申请实施例的一个方面,本申请提供了一种数据采集方法,包括:接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
可选地,所述按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据包括:获取最后一次对所述目标数据源执行的数据采集任务的任务记录;确定所述目标采集任务所需采集的目标字段,并在所述任务记录中获取各个所述目标字段最新的位置偏移量,其中,所述位置偏移量为从数据源的起始位置开始的偏移量,用于表示已经采集过的部分;将所述位置偏移量指示的位置确定为采集所述目标字段的数据的起始位置;从所述起始位置开始进行数据采集,得到所述目标数据源的增量数据。
可选地,所述方法还包括:在采集所述目标数据源的增量数据的过程中,同步更新所述目标字段的所述位置偏移量;将最终更新的位置偏移量写入到本次采集任务的任务记录中,以指示下一次对所述目标数据源的所述目标字段进行数据采集的起始位置。
可选地,所述按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据包括:获取对所述目标数据源执行的数据采集任务的历史任务记录;在所述历史任务记录中获取在历次所述数据采集任务中标记过的第一元数据,其中,所述第一元数据包括已采集部分的文件名、修改时间戳至少之一;将所述目标数据源中所有数据的元数据与标记过的所述第一元数据进行对比,以找出未标记过的第二元数据;采集所述第二元数据对应的数据,得到所述目标数据源的增量数据。
可选地,所述方法还包括:在采集过程中根据数据在所述目标数据源中的存储路径确定所述目标数据源的文件目录;当所述目标采集任务完成时,关闭采集通道,并为每个所述文件目录创建对应的监听线程;通过所述监听线程监听所述目标数据源中对应的所述文件目录;在监听到所述文件目录下的数据发生改变的情况下,发起对所述目标数据源的新的数据采集任务。
可选地,采集完成后,所述方法还包括:在采集到的数据记录中,确定需要进行拆分的目标记录和拆分字段;按照所述拆分字段的值将所述目标记录拆分为多条数据记录,其中,拆分得到的数据记录的数量与所述拆分字段的值的个数相同;将所述目标记录中除所述拆分字段外的其他字段及相应的字段值均继承到每条拆分的数据记录中。
可选地,采集完成后,所述方法还包括:在对采集到的数据执行数据同步任务时创建同步监听线程;通过所述同步监听线程监听数据的同步过程;在所述同步监听线程监听到同步失败的情况下,重新执行所述数据同步任务,直至重试次数达到预设阈值的情况下,记录失败日志并基于所述失败日志生成告警信息;发出所述告警信息。
可选地,采集完成后,所述方法还包括:在基于采集到的数据执行数据导入任务时调用目标回调函数;通过所述目标回调函数传递所述数据导入任务的执行结果;在所述执行结果为执行失败的情况下,调用目标处理函数;通过所述目标处理函数执行错误处理。
根据本申请实施例的另一方面,本申请提供了一种数据采集装置,包括:任务接收模块,用于接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;规则获取模块,用于获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;增量采集模块,用于按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请提供了一种数据采集方法,包括:接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。本申请通过对不同的数据源、不同的数据采集任务设置适配的增量采集规则,保证每次执行数据采集任务都是直接采集数据源的增量数据,避免了重复采集相同的数据,即避免了计算资源的浪费,还提升了数据采集的效率,解决了大量相同数据的重复采集导致计算资源严重浪费的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的数据采集方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的数据采集方法流程示意图;
图3为根据本申请实施例提供的一种可选的数据采集装置框图;
图4为本申请实施例提供的一种可选的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种数据采集方法的实施例。
可选地,在本申请实施例中,上述数据采集方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种数据采集方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
步骤S202,接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;
步骤S204,获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;
步骤S206,按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
通过上述步骤S202至S206,本申请通过对不同的数据源、不同的数据采集任务设置适配的增量采集规则,保证每次执行数据采集任务都是直接采集数据源的增量数据,避免了重复采集相同的数据,即避免了计算资源的浪费,还提升了数据采集的效率,解决了大量相同数据的重复采集导致计算资源严重浪费的技术问题。
本申请支持多种类型的数据源接入,如:本地文件(Text/CSV/EXCEL)、FTP文件、关系型数据库(Mysql/Oracle/SQLSERVER)、消息队列(Kafka/Rocketmq)、Elasticsearch、HBase/Hive/ClickHouse、http/https(第三方Api数据)等。新增数据源时,根据用户选择的类型后台对应定义的不同策略方式,并建立字段隐射关系,设置不同的同步策略,可以增量或全量同步。并且通过后台定义的服务参数,可对配置的隐射关系进行校验、测试,确保数据源的准确性。具体的,在新增数据源时,根据用户选择的类型,在后台***中会有对应的不同策略方式进行定义。同时,需要建立字段映射关系,将源数据源的字段与目标数据源的字段进行对应。根据不同的同步策略,可以选择增量同步或全量同步。为了确保数据源的准确性,后台***会定义一些服务参数,用于对配置的字段映射关系进行校验和测试。这样可以确保字段映射的正确性,保证源数据能够准确地映射到目标数据源中。具体的策略方式和字段映射关系的定义可能根据不同的***和需求而有所不同。例如,在增量同步策略中,可以根据时间戳或者增量标记来确定需要同步的数据;在全量同步策略中,可以将所有数据都进行同步。通过对配置的字段映射关系进行校验和测试,可以及时发现和修正配置错误,确保数据源同步的准确性和可靠性。这样可以提高***的稳定性,确保数据源的正确性和一致性。总之,新增数据源时的几个重要步骤包括:选择策略方式、建立字段映射关系、设置同步策略,并通过后台定义的服务参数进行校验和测试,以确保数据源的准确性。
增量采集规则是解决大量相同数据的重复采集导致计算资源严重浪费的技术问题的关键,本申请提供的增量采集规则是针对不同的数据源而言的,具体包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则。例如,文本文件、日志文件适用于基于位置偏移量做增量采集的第一采集规则,而流数据适用于基于元数据标记做增量采集的第二采集规则。当然,两种规则可结合使用。下面分别对两种规则的任务执行方法进行说明。
在一个可选地实施例中,所述按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据包括:获取最后一次对所述目标数据源执行的数据采集任务的任务记录;确定所述目标采集任务所需采集的目标字段,并在所述任务记录中获取各个所述目标字段最新的位置偏移量,其中,所述位置偏移量为从数据源的起始位置开始的偏移量,用于表示已经采集过的部分;将所述位置偏移量指示的位置确定为采集所述目标字段的数据的起始位置;从所述起始位置开始进行数据采集,得到所述目标数据源的增量数据。
进一步地,所述方法还包括:在采集所述目标数据源的增量数据的过程中,同步更新所述目标字段的所述位置偏移量;将最终更新的位置偏移量写入到本次采集任务的任务记录中,以指示下一次对所述目标数据源的所述目标字段进行数据采集的起始位置。
本申请实施例中,在数据文件采集过程中,可以设置文件内容的位置偏移量,位置偏移量与字段对应。对于文本文件和日志文件,可以基于采集位置偏移量来进行增量采集。偏移量是一个指示器,指示了文件中从哪个位置开始采集数据。在每次采集任务开始时,***会根据之前采集的位置偏移量,定位到文件中的特定位置,并从该位置开始读取数据。通过记录、保存和更新这个偏移量,可以在下一次采集时只采集文件中新增部分的内容,从而实现增量采集。这样,只有新增的数据部分会被采集,减少了重复采集已经处理过的数据的工作量。对于文本文件和日志文件,采集位置偏移量可以根据文件的字节或行数来进行记录。
通过设置文件内容位置偏移量,并基于此进行增量采集,可以提高数据采集的效率和准确性,同时减少对***资源的占用。这对于需要对大量数据文件进行采集和处理的场景尤为重要。
在一个可选地实施例中,所述按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据包括:获取对所述目标数据源执行的数据采集任务的历史任务记录;在所述历史任务记录中获取在历次所述数据采集任务中标记过的第一元数据,其中,所述第一元数据包括已采集部分的文件名、修改时间戳至少之一;将所述目标数据源中所有数据的元数据与标记过的所述第一元数据进行对比,以找出未标记过的第二元数据;采集所述第二元数据对应的数据,得到所述目标数据源的增量数据。
进一步地,所述方法还包括:在采集过程中根据数据在所述目标数据源中的存储路径确定所述目标数据源的文件目录;当所述目标采集任务完成时,关闭采集通道,并为每个所述文件目录创建对应的监听线程;通过所述监听线程监听所述目标数据源中对应的所述文件目录;在监听到所述文件目录下的数据发生改变的情况下,发起对所述目标数据源的新的数据采集任务。
本申请实施例中,在服务端进行数据文件采集时,服务端会对已经采集过的文件进行标记,以避免重复采集相同的文件。这可以通过记录文件的元数据(如文件名、修改时间等)来实现。当一个文件被成功采集后,为了避免重复采集,会对该文件进行标记,表示已经采集过。这样在下一次采集时,可以跳过已经标记的文件,只采集新增的文件。当采集作业完成时,即所有需要采集的文件都已经采集完毕,服务端会关闭采集通道,停止进一步的采集操作。这样可以确保采集作业的完整性和准确性,并且释放资源以及避免不必要的运行。这种方式可以有效地管理和控制数据文件采集的过程。通过多个监听线程和文件标记机制,可以并行地采集多个文件,提高采集效率。同时,在采集作业完成后关闭采集通道,可以及时停止采集过程,避免资源的浪费和错误的采集操作。
在一个可选地实施例中,采集完成后,所述方法还包括:在采集到的数据记录中,确定需要进行拆分的目标记录和拆分字段;按照所述拆分字段的值将所述目标记录拆分为多条数据记录,其中,拆分得到的数据记录的数量与所述拆分字段的值的个数相同;将所述目标记录中除所述拆分字段外的其他字段及相应的字段值均继承到每条拆分的数据记录中。
本申请实施例中,通常情况下,一条记录包含多个字段,每个字段存储不同的信息。在某些情况下,需要根据某个字段的值来进行进一步的处理或操作。因此可以在数据文件采集过程中,根据某个字段的值,可以将一条记录拆分为多条记录。这些拆分后的记录会自动继承原始记录中其他字段的值。
例如,假设有一个包含订单信息的数据文件,每条记录包含订单号、商品名称和数量等字段。如果按照商品数量进行切割,当某个订单的数量大于1时,可以将该记录切割为多条,每条记录表示一个商品的数量。例如,原始记录为:订单号A,商品名称X,数量3。根据字段值切割后,可以得到三条记录:订单号A,商品名称X,数量1;订单号A,商品名称X,数量1;订单号A,商品名称X,数量1。这样,原始记录中的订单号和商品名称等字段值会被自动继承到切割后的每条记录中。这种处理方式可以根据业务需求,将一条记录拆分为多条,使得数据更加细粒度化。这样可以更好地满足某些特定业务场景下的需求,例如统计每个商品的销售情况或者进行库存管理等。
又如,假设有一个记录包含姓名、年龄和性别三个字段,需要根据性别字段将记录切割成两条记录,分别包含男性和女性的信息。在这种情况下,根据字段值将单条记录切割为多条记录就变得很有用。通过切割,可以将一条记录拆分成多条记录,每条记录包含相同的字段,但是字段值不同。在切割后的记录中,除了用于切割的字段值不同,其他字段的值会自动继承原始记录中的值。如果根据性别字段将记录切割成男性和女性的信息,切割后的记录中,每条记录都会包含姓名和年龄字段的值,这些值是从原始记录中继承而来的。只有性别字段的值会根据切割的结果而不同。这种方式可以方便地根据字段的值将单条记录拆分为多条记录,并且保留原始记录中其他字段的值,避免了重复输入和冗余的数据,因此可以更好地满足不同需求和场景的数据处理要求。
在一个可选地实施例中,采集完成后,所述方法还包括:在对采集到的数据执行数据同步任务时创建同步监听线程;通过所述同步监听线程监听数据的同步过程;在所述同步监听线程监听到同步失败的情况下,重新执行所述数据同步任务,直至重试次数达到预设阈值的情况下,记录失败日志并基于所述失败日志生成告警信息;发出所述告警信息。
本申请实施例中,在文件同步过程中,如果文件同步监听线程检测到同步失败的情况,会启动重试机制。根据事先配置的重试次数,会对同步失败的数据进行多次尝试同步。如果多次尝试仍然无法成功同步数据,会将这些数据放入指定的队列中,并记录相应的日志信息,并发送告警消息。
具体的,在文件同步过程中,可能会出现一些异常情况导致同步失败,例如网络连接中断、目标文件服务器不可用等。为了保证数据的完整性和准确性,需要进行重试操作,尝试再次进行数据同步。在这个过程中,可以事先配置重试次数,即当同步失败时,会进行指定次数的重试。重试的次数可以根据实际情况进行设置,以确保尽可能多次地尝试同步数据。如果多次尝试仍然无法成功同步数据,***会将这些同步失败的数据放入一个指定的队列中。这样可以将这些数据与其他成功同步的数据进行分离,便于后续处理和跟踪。同时,在同步失败的情况下,***会记录相应的日志信息,以便进行故障排查和问题分析。日志记录可以包括同步失败的具体原因、重试次数、时间戳等信息,以方便后续的问题定位和处理。此外,为了及时了解同步失败的情况,***还会发送告警消息。告警消息可以通过邮件、短信或其他通知方式发送给相关的人员,以便他们能够及时采取措施来解决同步问题。通过以上的处理机制,可以有效地应对文件同步过程中可能出现的同步失败情况,保证数据的完整性和准确性。同时,通过记录日志和发送告警消息,可以及时发现和解决同步问题,确保数据同步的顺利进行。
本申请实施例中,具体的同步目标地点需要根据***设计和配置来确定,如另一台服务器:文件可以同步到另一台服务器上的指定目录或者文件***中,这样可以实现文件的备份和冗余存储,以提高数据的可靠性和可用性;数据库:文件内容可以被解析和转换为结构化数据,并被写入到数据库中,这样可以方便地进行数据查询、分析和处理;队列或消息中间件:文件内容可以被转换为消息,发送到消息队列或消息中间件中,这样可以实现异步处理和解耦,将数据发送给其他***或模块进行进一步处理;云存储服务:文件可以同步到云存储服务中,例如Amazon S3、Google Cloud Storage等,云存储提供了可扩展的存储空间和数据备份功能,适用于大规模数据存储和访问;分布式文件***:文件可以同步到分布式文件***中,例如Hadoop HDFS、GlusterFS等,这些分布式文件***可以提供高可用性、高性能和容错能力,适用于大规模数据存储和分析。
根据具体的应用场景和需求,可以选择适合的同步目标地点。同时,需要根据***设计和配置,将同步失败的数据放入指定队列、记录日志并发送告警消息,以便进行后续处理和故障排查。
在一个可选地实施例中,采集完成后,所述方法还包括:在基于采集到的数据执行数据导入任务时调用目标回调函数;通过所述目标回调函数传递所述数据导入任务的执行结果;在所述执行结果为执行失败的情况下,调用目标处理函数;通过所述目标处理函数执行错误处理。
本申请实施例中,在数据导入任务中,可以通过错误回调处理机制来设置一个回调函数,用于处理每次任务的结果。这个回调函数会在任务完成后被调用,并传递任务的结果作为参数。通过这个回调函数,可以对每次任务的结果进行成功和失败的反馈。如果任务执行成功,可以执行相应的成功处理逻辑;如果任务执行失败,可以执行相应的失败处理逻辑。在处理失败的任务时,可以利用error和exception方法来进行相应的处理。error方法可以用于处理一般的错误情况,例如任务执行超时、连接中断等;exception方法可以用于处理更严重的异常情况,例如任务执行过程中发生了异常错误。通过设置这样的错误回调处理机制,可以及时获取每次任务的执行结果,并根据结果进行相应的处理。这样可以增强***的健壮性和可靠性,提高数据导入任务的成功率。需要注意的是,具体的错误回调处理机制和回调函数的实现方式可能根据***和框架的不同而有所差异。在实际应用中,需要根据具体的需求和技术选型,选择合适的机制和实现方式来处理数据导入任务的结果。
在一个可选地实施例中,本地线程可以定时清理过期归档的文件,防止磁盘空间过度消耗。
本申请通过对不同的数据源、不同的数据采集任务设置适配的增量采集规则,保证每次执行数据采集任务都是直接采集数据源的增量数据,避免了重复采集相同的数据,即避免了计算资源的浪费,还提升了数据采集的效率,解决了大量相同数据的重复采集导致计算资源严重浪费的技术问题。
根据本申请实施例的又一方面,如图3所示,提供了一种数据采集装置,包括:
任务接收模块301,用于接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;
规则获取模块303,用于获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;
增量采集模块305,用于按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
需要说明的是,该实施例中的任务接收模块301可以用于执行本申请实施例中的步骤S202,该实施例中的规则获取模块303可以用于执行本申请实施例中的步骤S204,该实施例中的增量采集模块305可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该增量采集模块,具体用于:获取最后一次对所述目标数据源执行的数据采集任务的任务记录;确定所述目标采集任务所需采集的目标字段,并在所述任务记录中获取各个所述目标字段最新的位置偏移量,其中,所述位置偏移量为从数据源的起始位置开始的偏移量,用于表示已经采集过的部分;将所述位置偏移量指示的位置确定为采集所述目标字段的数据的起始位置;从所述起始位置开始进行数据采集,得到所述目标数据源的增量数据。
可选地,该增量采集模块,还包括偏移记录单元,具体用于:在采集所述目标数据源的增量数据的过程中,同步更新所述目标字段的所述位置偏移量;将最终更新的位置偏移量写入到本次采集任务的任务记录中,以指示下一次对所述目标数据源的所述目标字段进行数据采集的起始位置。
可选地,该增量采集模块,还用于:获取对所述目标数据源执行的数据采集任务的历史任务记录;在所述历史任务记录中获取在历次所述数据采集任务中标记过的第一元数据,其中,所述第一元数据包括已采集部分的文件名、修改时间戳至少之一;将所述目标数据源中所有数据的元数据与标记过的所述第一元数据进行对比,以找出未标记过的第二元数据;采集所述第二元数据对应的数据,得到所述目标数据源的增量数据。
可选地,该增量采集模块,还包括数据源监听单元,具体用于:在采集过程中根据数据在所述目标数据源中的存储路径确定所述目标数据源的文件目录;当所述目标采集任务完成时,关闭采集通道,并为每个所述文件目录创建对应的监听线程;通过所述监听线程监听所述目标数据源中对应的所述文件目录;在监听到所述文件目录下的数据发生改变的情况下,发起对所述目标数据源的新的数据采集任务。
可选地,该数据采集装置,还包括拆分模块,具体用于:在采集到的数据记录中,确定需要进行拆分的目标记录和拆分字段;按照所述拆分字段的值将所述目标记录拆分为多条数据记录,其中,拆分得到的数据记录的数量与所述拆分字段的值的个数相同;将所述目标记录中除所述拆分字段外的其他字段及相应的字段值均继承到每条拆分的数据记录中。
可选地,该数据采集装置,还包括同步模块,具体用于:在对采集到的数据执行数据同步任务时创建同步监听线程;通过所述同步监听线程监听数据的同步过程;在所述同步监听线程监听到同步失败的情况下,重新执行所述数据同步任务,直至重试次数达到预设阈值的情况下,记录失败日志并基于所述失败日志生成告警信息;发出所述告警信息。
可选地,该数据采集装置,还包括导入模块,具体用于:在基于采集到的数据执行数据导入任务时调用目标回调函数;通过所述目标回调函数传递所述数据导入任务的执行结果;在所述执行结果为执行失败的情况下,调用目标处理函数;通过所述目标处理函数执行错误处理。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图4所示,包括存储器401、处理器403、通信接口405及通信总线407,存储器401中存储有可在处理器403上运行的计算机程序,存储器401、处理器403通过通信接口405和通信总线407进行通信,处理器403执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例的步骤。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;
获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;
按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种数据采集方法,其特征在于,包括:
接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;
获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;
按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
2.根据权利要求1所述的方法,其特征在于,所述按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据包括:
获取最后一次对所述目标数据源执行的数据采集任务的任务记录;
确定所述目标采集任务所需采集的目标字段,并在所述任务记录中获取各个所述目标字段最新的位置偏移量,其中,所述位置偏移量为从数据源的起始位置开始的偏移量,用于表示已经采集过的部分;
将所述位置偏移量指示的位置确定为采集所述目标字段的数据的起始位置;
从所述起始位置开始进行数据采集,得到所述目标数据源的增量数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在采集所述目标数据源的增量数据的过程中,同步更新所述目标字段的所述位置偏移量;
将最终更新的位置偏移量写入到本次采集任务的任务记录中,以指示下一次对所述目标数据源的所述目标字段进行数据采集的起始位置。
4.根据权利要求1所述的方法,其特征在于,所述按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据包括:
获取对所述目标数据源执行的数据采集任务的历史任务记录;
在所述历史任务记录中获取在历次所述数据采集任务中标记过的第一元数据,其中,所述第一元数据包括已采集部分的文件名、修改时间戳至少之一;
将所述目标数据源中所有数据的元数据与标记过的所述第一元数据进行对比,以找出未标记过的第二元数据;
采集所述第二元数据对应的数据,得到所述目标数据源的增量数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在采集过程中根据数据在所述目标数据源中的存储路径确定所述目标数据源的文件目录;
当所述目标采集任务完成时,关闭采集通道,并为每个所述文件目录创建对应的监听线程;
通过所述监听线程监听所述目标数据源中对应的所述文件目录;
在监听到所述文件目录下的数据发生改变的情况下,发起对所述目标数据源的新的数据采集任务。
6.根据权利要求1至5任一所述的方法,其特征在于,采集完成后,所述方法还包括:
在采集到的数据记录中,确定需要进行拆分的目标记录和拆分字段;
按照所述拆分字段的值将所述目标记录拆分为多条数据记录,其中,拆分得到的数据记录的数量与所述拆分字段的值的个数相同;
将所述目标记录中除所述拆分字段外的其他字段及相应的字段值均继承到每条拆分的数据记录中。
7.根据权利要求1至5任一所述的方法,其特征在于,采集完成后,所述方法还包括:
在对采集到的数据执行数据同步任务时创建同步监听线程;
通过所述同步监听线程监听数据的同步过程;
在所述同步监听线程监听到同步失败的情况下,重新执行所述数据同步任务,直至重试次数达到预设阈值的情况下,记录失败日志并基于所述失败日志生成告警信息;
发出所述告警信息。
8.根据权利要求1至5任一所述的方法,其特征在于,采集完成后,所述方法还包括:
在基于采集到的数据执行数据导入任务时调用目标回调函数;
通过所述目标回调函数传递所述数据导入任务的执行结果;
在所述执行结果为执行失败的情况下,调用目标处理函数;
通过所述目标处理函数执行错误处理。
9.一种数据采集装置,其特征在于,包括:
任务接收模块,用于接收目标采集任务,其中,所述目标采集任务用于指示对目标数据源进行数据采集;
规则获取模块,用于获取预先为所述目标采集任务配置的增量采集规则,其中,所述增量采集规则包括基于位置偏移量做增量采集的第一采集规则和基于元数据标记做增量采集的第二采集规则;
增量采集模块,用于按照所述第一采集规则执行所述目标采集任务,以基于所述目标数据源中各个数据字段的位置偏移量采集所述目标数据源的增量数据,或者,按照所述第二采集规则执行所述目标采集任务,以基于所述目标数据源中的元数据标记采集所述目标数据源的增量数据。
10.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法的步骤。
11.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至8任一所述方法。
CN202311254931.XA 2023-09-26 2023-09-26 数据采集方法、装置、设备及计算机可读介质 Active CN117421337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311254931.XA CN117421337B (zh) 2023-09-26 2023-09-26 数据采集方法、装置、设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311254931.XA CN117421337B (zh) 2023-09-26 2023-09-26 数据采集方法、装置、设备及计算机可读介质

Publications (2)

Publication Number Publication Date
CN117421337A true CN117421337A (zh) 2024-01-19
CN117421337B CN117421337B (zh) 2024-05-28

Family

ID=89525510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311254931.XA Active CN117421337B (zh) 2023-09-26 2023-09-26 数据采集方法、装置、设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN117421337B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001025962A1 (en) * 1999-10-05 2001-04-12 S.C. Medicarom Group S.R.L. Database organization for increasing performance by splitting tables
CN109508355A (zh) * 2018-10-19 2019-03-22 平安科技(深圳)有限公司 一种数据抽取方法、***及终端设备
CN110032594A (zh) * 2019-03-21 2019-07-19 厦门市美亚柏科信息股份有限公司 可定制化的多源数据库的数据抽取方法、装置及存储介质
CN111176645A (zh) * 2019-12-30 2020-05-19 国电南瑞科技股份有限公司 面向电网大数据应用的数据集成管理***及其实现方法
US20200409977A1 (en) * 2017-09-08 2020-12-31 Guangdong Construction Information Center Generic Multi-Source Heterogeneous Large-Scale Data Synchronization Client-Server Method
CN113485962A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 日志文件的存储方法、装置、设备和存储介质
CN115712623A (zh) * 2022-11-22 2023-02-24 中国司法大数据研究院有限公司 一种基于捕获元数据变更的批量数据容错采集方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001025962A1 (en) * 1999-10-05 2001-04-12 S.C. Medicarom Group S.R.L. Database organization for increasing performance by splitting tables
US20200409977A1 (en) * 2017-09-08 2020-12-31 Guangdong Construction Information Center Generic Multi-Source Heterogeneous Large-Scale Data Synchronization Client-Server Method
CN109508355A (zh) * 2018-10-19 2019-03-22 平安科技(深圳)有限公司 一种数据抽取方法、***及终端设备
CN110032594A (zh) * 2019-03-21 2019-07-19 厦门市美亚柏科信息股份有限公司 可定制化的多源数据库的数据抽取方法、装置及存储介质
CN111176645A (zh) * 2019-12-30 2020-05-19 国电南瑞科技股份有限公司 面向电网大数据应用的数据集成管理***及其实现方法
CN113485962A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 日志文件的存储方法、装置、设备和存储介质
CN115712623A (zh) * 2022-11-22 2023-02-24 中国司法大数据研究院有限公司 一种基于捕获元数据变更的批量数据容错采集方法

Also Published As

Publication number Publication date
CN117421337B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN110661659B (zh) 一种告警方法、装置、***及电子设备
US8938421B2 (en) Method and a system for synchronizing data
US10303795B2 (en) Read descriptors at heterogeneous storage systems
CN112131237B (zh) 数据同步方法、装置、设备及计算机可读介质
US11954123B2 (en) Data processing method and device for data integration, computing device and medium
JP6996812B2 (ja) 分散データベースにおけるデータブロックを処理する方法、プログラム、およびデバイス
US11036590B2 (en) Reducing granularity of backup data over time
US20160294651A1 (en) Method, apparatus, and computer program product for monitoring an electronic data exchange
WO2013148488A1 (en) A method and system for centralized issue tracking
CN112905323B (zh) 数据处理方法、装置、电子设备及存储介质
US20200250188A1 (en) Systems, methods and data structures for efficient indexing and retrieval of temporal data, including temporal data representing a computing infrastructure
CN114048217A (zh) 增量数据的同步方法和装置、电子设备和存储介质
AU2020203735A1 (en) Automated generation and dynamic update of rules
CN112559475A (zh) 数据实时捕获和传输方法及***
CN112416708A (zh) 异步调用链路监控方法及***
JP4928480B2 (ja) ジョブ処理システムおよびジョブ管理方法
CN110309206B (zh) 订单信息采集方法及***
CN117421337B (zh) 数据采集方法、装置、设备及计算机可读介质
CN112751722A (zh) 数据传输质量监控方法和***
CN111209138A (zh) 数据存储***的运维方法及装置
CN115952227A (zh) 数据采集***及方法、电子设备和存储介质
US11782873B2 (en) System and method for managing timeseries data
US20130290385A1 (en) Durably recording events for performing file system operations
CN112448840B (zh) 一种通信数据质量监控方法、装置、服务器及存储介质
JP2009181494A (ja) ジョブ処理システムおよびジョブ情報取得方法

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