CN115080563A - 数据捕获方法、装置、***、电子设备及存储介质 - Google Patents

数据捕获方法、装置、***、电子设备及存储介质 Download PDF

Info

Publication number
CN115080563A
CN115080563A CN202210615540.5A CN202210615540A CN115080563A CN 115080563 A CN115080563 A CN 115080563A CN 202210615540 A CN202210615540 A CN 202210615540A CN 115080563 A CN115080563 A CN 115080563A
Authority
CN
China
Prior art keywords
target
data
working
instance
determining
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
Application number
CN202210615540.5A
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202210615540.5A priority Critical patent/CN115080563A/zh
Publication of CN115080563A publication Critical patent/CN115080563A/zh
Pending legal-status Critical Current

Links

Images

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/24552Database cache management
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/24553Query execution of query operations

Landscapes

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

Abstract

本申请提供一种数据捕获方法、装置、***、电子设备及存储介质。该方法包括:接收目标数据信息;根据目标数据信息确定目标数据的当前数据量;根据当前数据量确定目标工作实例;利用目标工作实例根据目标数据信息从数据源获取目标数据;根据反压机制将目标数据缓存至与目标工作实例绑定的目标存储环。从而提高了数据捕获的采集效率,利用目标工作实例对目标数据进行获取,减少中间数据处理逻辑,并且可以根据反压机制将目标数据进行缓存,使得根据目标数据的当前数据量选择有足够的存储空间的目标工作实例对目标数据进行获取,将目标数据进行集中式管理,降低了元数据的捕获难度。

Description

数据捕获方法、装置、***、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据捕获方法、装置、***、电子设备及存储介质。
背景技术
相关技术中,大数据业务存储的元数据地址以及数据格式不同,只能通过多个不同的存储中间件,分别单独实施一套数据治理方案对元数据进行管理,造成元数据分散难以集中式管理,元数据难以捕获的问题。
发明内容
有鉴于此,本申请的目的在于提出一种数据捕获方法、装置、***、电子设备及存储介质。
基于所述目的,在第一方面,本申请提供了一种数据捕获方法,包括:
接收目标数据信息;
根据所述目标数据信息确定目标数据的当前数据量;
根据所述当前数据量确定目标工作实例;
利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据;
根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
在一种可能的实现方式中,所述目标数据信息,包括:连接信息和数据关键字段;
所述根据所述目标数据信息确定目标数据的当前数据量,还包括:
根据所述连接信息确定数据源地址;
根据所述数据源地址通过寻址的方式访问所述数据源;
根据所述数据关键字段确定是否在所述数据源中匹配到所述目标数据;
响应于在所述数据源中匹配到所述目标数据,确定所述目标数据的当前数据量。
在一种可能的实现方式中,所述目标工作实例,包括:第一目标工作实例;
所述根据所述当前数据量确定目标工作实例,还包括:
获取每个工作实例的剩余容量;
确定是否存在所述剩余容量不小于所述当前数据量的候选工作实例;
响应于存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的候选工作实例确定为所述第一目标工作实例。
在一种可能的实现方式中,所述目标工作实例,还包括:第二目标工作实例;所述目标存储环,包括:第二目标存储环;
所述根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环,包括:
响应于不存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的工作实例确定为所述第二目标工作实例;
确定与第二目标工作实例绑定的第二目标存储环;
根据所述反压机制调整所述第二目标存储环以使所述第二目标工作实例的剩余容量不小于所述当前数据量;
将所述目标数据缓存至所述第二目标存储环。
在一种可能的实现方式中,所述第二目标存储环,包括:首地址;
所述调整所述第二目标存储环以使所述第二目标工作实例的剩余容量不小于所述当前数据量,包括:
将与所述第二目标工作实例的剩余容量相同数据量的所述目标数据写入所述第二目标存储环;
将冗余数据溢写到下游的存储库;其中,所述冗余数据为所述第二目标存储环中除上述目标数据外的数据;;
将所述目标数据的剩余数据写入所述第二目标存储环;
根据所述首地址和所述存储库中的所述冗余数据的数据量重新确定所述首地址。
在一种可能的实现方式中,所述目标存储环,还包括:第一目标存储环;
所述根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环,包括:
确定与所述第一目标工作实例绑定的第一目标存储环;其中,所述第一目标存储环,包括:位移标记;
根据所述反压机制将所述目标数据写入所述第一目标存储环;
根据所述当前数据量和所述位移标记确定存储结束地址。
在一种可能的实现方式中,所述目标数据包括通过针对二进制数据解析获得的通用数据。
在一种可能的实现方式中,所述利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据,包括:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑,包括:全量抽取逻辑;
响应于所述抽取逻辑为所述全量抽取逻辑,根据所述目标工作实例获取所述数据源中全部目标数据。
在一种可能的实现方式中,所述利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据,包括:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑包括全量抽取逻辑;所述抽取逻辑包括增量抽取逻辑;
响应于所述抽取逻辑为所述增量抽取逻辑,根据所述目标工作实例获取所述数据源中的增量数据,将所述增量数据作为所述目标数据。
在一种可能的实现方式中,所述方法,还包括:
标记所述目标存储环以确定唯一标识;
响应于所述目标数据被缓存至所述目标存储环,确定缓存位置;
将所述缓存位置记录至分布式元数据管理***;
响应于所述目标工作实例故障,根据所述唯一标识从所述缓存位置获取所述目标数据,以恢复所述目标数据。
在第二方面,本申请提供了一种数据捕获装置,包括:
接收模块,被配置为接收目标数据信息;
第一确定模块,被配置为根据所述目标数据信息确定目标数据的当前数据量;
第二确定模块,被配置为根据所述当前数据量确定目标工作实例;
获取模块,被配置为利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据;
缓存模块,被配置为根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
在第三方面,本申请提供了一种数据捕获***,包括如第二方面所述的数据捕获装置以及工作实例生成单元;其中,
所述工作实例生成单元,被配置为构建管理组件和所述管理组件管理的服务组件;以及为所述服务组件分配工作实例。
在一种可能的实现方式中,所述工作实例生成单元,进一步被配置为:
确定数据源当前流量和工作实例抽取数据的速率;
根据所述数据源当前流量和所述工作实例抽取数据的速率的商确定第一工作实例数量;
根据所述第一工作实例数量为所述服务组件分配相应数量的工作实例。
在一种可能的实现方式中,所述工作实例生成单元,进一步被配置为:
响应于所述数据源当前流量减小,确定数据源最新流量;
根据所述数据源最新流量和所述工作实例抽取数据的速率的商确定第二工作实例数量;
将所述服务组件被分配的工作实例的数量减少至与所述第一工作实例数量和所述第二工作实例数量的差值相对应的数量。
在第四方面,本申请提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的数据捕获方法。
在第五方面,本申请提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如第一方面所述的数据捕获方法。
从上面所述可以看出,本申请提供的一种数据捕获方法、装置、***、电子设备及存储介质,接收目标数据信息,根据目标数据信息访问目标数据并确定目标数据的当前数据量,根据目标数据的当前数据量确定用于获取目标数据的目标工作实例,进而利用目标工作实例根据目标数据信息从数据源获取目标数据,进一步地根据反压机制将目标数据缓存至与目标工作实例绑定的目标存储环。从而提高了数据捕获的采集效率,利用目标工作实例对目标数据进行获取,减少中间数据处理逻辑,并且可以根据反压机制将目标数据进行缓存,使得根据目标数据的当前数据量选择有足够的存储空间的目标工作实例对目标数据进行获取,将目标数据进行集中式管理,降低了元数据的捕获难度。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例所提供的一种数据捕获方法的示例性流程示意图。
图2示出了本申请实施例所提供的一种数据捕获装置的示例性结构示意图。
图3示出了本申请实施例所提供的一种数据捕获***的示例性结构示意图。
图4示出了本申请实施例所提供的一种电子设备的示例性结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,一般的大数据业务会涉及较多的olap存储,存储的元数据地址以及数据格式大都不一致,没有一个统一的平台去治理这些元数据,每个存储中间件只能单独实施一套数据治理方案,存在分散难以汇总,维护成本较高的问题。
申请人通过研究发现,针对于元数据分散的问题,可以对元数据进行集中式管理;针对于元数据难以捕获的问题,相关技术中有的需要侵入数据源***,影响***的健壮性,并且一般采集后的数据,存在着用户需要编写下游处理逻辑,针对不同的写入源编写不同的处理逻辑的问题。
正因如此,本申请提供的一种数据捕获方法、装置、***、电子设备及存储介质,接收目标数据信息,根据目标数据信息访问目标数据并确定目标数据的当前数据量,根据目标数据的当前数据量确定用于获取目标数据的目标工作实例,进而利用目标工作实例根据目标数据信息从数据源获取目标数据,进一步地根据反压机制将目标数据缓存至与目标工作实例绑定的目标存储环。从而提高了数据捕获的采集效率,利用目标工作实例对目标数据进行获取,减少中间数据处理逻辑,并且可以根据反压机制将目标数据进行缓存,使得根据目标数据的当前数据量选择有足够的存储空间的目标工作实例对目标数据进行获取,将目标数据进行集中式管理,降低了元数据的捕获难度。
下面通过具体的实施例来对本申请实施例所提供的数据捕获方法进行具体说明。
图1示出了本申请实施例所提供的一种数据捕获方法的示例性流程示意图。
参考图1,本申请实施例所提供的一种数据捕获方法具体包括以下步骤:
S102:接收目标数据信息。
S104:根据所述目标数据信息确定目标数据的当前数据量。
S106:根据所述当前数据量确定目标工作实例。
S108:利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据。
S110:根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
在一些实施例中,目标数据信息,可以包括:连接信息和数据关键字段。其中,连接信息可以为数据源的连接信息,数据关键字段可以为用户想要监控抽取的目标数据的关键字,或者目标数据所在的库表信息。例如,数据库名称为test,包括10个库表,分别为table1—table10,用户希望获取table10这张表中的全部数据,则数据关键字段可以配置为“test.table10”。如果用户进一步希望获取table10这张表中message字段中包含bigdata关键字的数据,则数据关键字段可以在“test.table10”的基础上再配置字段名“contain“bigdata””。具体地,对于kafka而言,需要配置topic名称和broker信息,对于Mysql而言,需要配置连接信息和库表等信息。
在接收到用户输入的目标数据信息后,可以根据连接信息确定数据源的地址,进而根据数据源的地址通过寻址的方式访问数据源,具体地,可以根据用户输入的数据选择具体的数据源。进一步地,可以根据数据关键字段确定是否再数据源中能够匹配到目标数据,例如根据用户希望监听抽取的关键字或者库表信息,执行正则匹配。再进一步地,响应于在数据源中匹配到目标数据,可以确定目标数据的当前数据量,例如当前目标数据有100kb,当前数据量可能会根据业务状态实时变化,例如下一时刻目标数据可能增加至150kb。
在一些实施例中,接收到用户输入的目标数据信息后,可以执行资源预申请操作,确定目标数据的数据通道是否可以连通,并且确定是否目标数据中的配置信息是否完整,在数据通道通畅且配置信息完整的情况下,确定目标数据的当前数据量。
在一些实施例中,环境中存在多个工作实例,在确定目标数据的当前数据量后,可以在全部工作实例中确定能够承载当前全部目标数据的工作实例,使该工作实例能够获取全部目标数据。具体地,获取全部工作实例的剩余容量,确定是否存在至少一个剩余容量不小于当前数据量的候选工作实例,例如确定是否存在至少一个剩余容量不小于100kb的候选工作实例。如果存在至少一个剩余容量不小于当前数据量的候选工作实例时,进一步确定候选工作实例的数量,如果只有一个候选工作实例,例如剩余容量为110kb,,那么则将该候选工作实例确定为第一目标工作实例,用于承载当前时刻的全部目标数据;如果候选工作实例为至少两个,例如候选工作实例为三个,这三个候选工作实例的剩余容量分别为110kb、105kb和150kb,为了保证目标数据能够更快速地被获取,在数据通道中能够以最快的速率被传输,则可以将全部候选工作实例中剩余容量最大的候选工作实例(也即剩余容量为150kb的候选工作实例)确定为第一目标工作实例,用于承载当前时刻的全部目标数据。
需要说明的是,每个工作实例都绑定有一个环形存储数据结构,也即存储环,每个存储环的剩余存储容量和与其绑定的工作实例的剩余容量相同。在确定了第一目标工作实例后,可以确定与第一目标工作实例绑定的第一目标存储环,根据反压机制将目标数据写入第一目标存储环,通过第一目标存储环对目标数据进行缓存,进而可以通过第一目标存储环将目标数据传输至存储地址,以供用户获取。
需要说明的是,每个存储环都设置有两个标记为,start表示使用的起始地址,也即首地址,end表示数据使用的位移标记。用total表示存储环的全部存储空间大小,已经使用的空间用{end-start}表示,未使用的空间,也即剩余容量用{total-(end-start)}表示。其中,第一目标工作实例获取到的目标数据的当前数据量可以记为m,在将目标数据写入第一目标存储环时,位移标记end沿着环形结构向后移动了m个位置,此时,第一目标存储环的已使用空间为{m+end-start},m+end为目标数据的存储结束地址。
在一些实施例中,可能存在着全部工作实例的剩余容量都无法满足目标数据的当前数据量,那么则可以将剩余容量最大的工作实例确定为第二目标工作实例,例如第二目标工作实例的剩余容量为80kb。在确定第二目标工作实例后,确定与第二目标工作实例绑定的第二目标存储环,为了保证第二目标工作实例能够承载当前时刻的全部目标数据,可以根据反压机制对第二目标存储环进行调整,从而使得第二目标工作实例的剩余容量不小于目标数据的当前数据量,也即将第二目标工作实例剩余容量从80kb至少提高到100kb。通过提升第二目标工作实例的剩余容量,在目标数据传输压力过大的时候,将目标数据缓存至第二目标存储环中。
具体地,根据反压机制对第二目标存储环进行调整的过程,可以是先将与第二目标工作实例的剩余容量相同数据量的目标数据写入第二目标存储环,例如先将80kb的目标数据写入第二目标存储环。在第二目标存储环中除了目标数据以外的数据中确定冗余数据,将冗余数据溢写到下游的存储库中,其中冗余数据的数据量大小,等于目标数据的当前数据量和第二目标工作实例的剩余容量的差值,也即冗余数据的数据量大小为100kb-80kb=20kb。需要说明的是,在第二目标存储环中除写入的目标数据以外的全部数据均为冗余数据,可以将部分冗余数据溢写到下游的数据库中,也即将第二目标存储环中除目标数据以外的20kb的数据溢写到下游的数据库中;也可以将全部冗余数据溢写到下游的数据库中,也即将第二目标存储环中除目标数据以外的全部数据溢写到下游的数据库中,以便在第二目标存储环中腾出足够的容量存储目标数据。在将冗余数据溢写到下游的存储库之后,将剩余的目标数据写入第二目标存储环,也即将剩余的20kb的目标数据写入第二目标存储环。当溢写出的数据量为n时,首地址start也会沿环形结构后移,重新确定的首地址为{start+n}。
需要说明的是,用户可以通过访问下游的存储库获取到被溢写的数据。
在一些实施例中,因为变更的数据量很大,一般会编码存储,例如目标数据被编写为二进制数据,但是编码后的数据不便于后面链路处理,故而收集模块需要把这些编码后的数据解析出来,得到用户能够看懂的通用数据,下游可根据type类型做数据的处理。
在一些实施例中,利用目标工作实例根据目标数据信息从数据源获取目标信息时,可以根据目标数据信息确定抽取逻辑,用户可以提前进行配置,例如将抽取逻辑配置为全量抽取,则根据目标工作实例获取数据源中全部的目标数据。而当将抽取逻辑配置为增量抽取时,则可以根据目标工作实例获取数据源中的增量数据。
在一些实施例中,可以标记目标存储环,从而确定目标存储环的唯一标识,如果目标工作实例因不可抗拒等(断电等自然灾害)因素宕机了,恢复的时候为了保证数据的正确性、唯一性,当数据完整的写入到下游,可以把这次写入的数据位置(也即缓存位置)记录到分布式元数据管理***里,如果目标工作实例重启,会从元数据模块获取当前目标工作实例的最新的数据位置信息。元数据管理存储的数据结构为{Ij,data},Ij作为目标工作实例的唯一标识,data表示当前抽取数据源的元数据信息,存储了数据源连接信息以及数据位置信息等。饥饿难忍匹配唯一标识根据缓存位置获取存储了目标数据的目标存储环,进而恢复目标数据。
从上面所述可以看出,本申请提供的一种数据捕获方法、装置、***、电子设备及存储介质,接收目标数据信息,根据目标数据信息访问目标数据并确定目标数据的当前数据量,根据目标数据的当前数据量确定用于获取目标数据的目标工作实例,进而利用目标工作实例根据目标数据信息从数据源获取目标数据,进一步地根据反压机制将目标数据缓存至与目标工作实例绑定的目标存储环。从而提高了数据捕获的采集效率,利用目标工作实例对目标数据进行获取,减少中间数据处理逻辑,并且可以根据反压机制将目标数据进行缓存,使得根据目标数据的当前数据量选择有足够的存储空间的目标工作实例对目标数据进行获取,将目标数据进行集中式管理,降低了元数据的捕获难度。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,所述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于所述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图2示出了本申请实施例所提供的一种数据捕获装置的示例性结构示意图。
基于同一发明构思,与所述任意实施例方法相对应的,本申请还提供了一种数据捕获装置。
参考图2,所述数据捕获装置,包括:接收模块、第一确定模块、第二确定模块、获取模块以及缓存模块;其中,
接收模块,被配置为接收目标数据信息;
第一确定模块,被配置为根据所述目标数据信息确定目标数据的当前数据量;
第二确定模块,被配置为根据所述当前数据量确定目标工作实例;
获取模块,被配置为利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据;
缓存模块,被配置为根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
在一种可能的实现方式中,所述目标数据信息,包括:连接信息和数据关键字段;
所述第一确定模块进一步被配置为:
根据所述连接信息确定数据源地址;
根据所述数据源地址通过寻址的方式访问所述数据源;
根据所述数据关键字段确定是否在所述数据源中匹配到所述目标数据;
响应于在所述数据源中匹配到所述目标数据,确定所述目标数据的当前数据量。
在一种可能的实现方式中,所述目标工作实例,包括:第一目标工作实例;
所述第二确定模块进一步被配置为:
获取每个工作实例的剩余容量;
确定是否存在所述剩余容量不小于所述当前数据量的候选工作实例;
响应于存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的候选工作实例确定为所述第一目标工作实例。
在一种可能的实现方式中,所述目标工作实例,还包括:第二目标工作实例;所述目标存储环,包括:第二目标存储环;
所述缓存模块进一步被配置为:
响应于不存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的候选工作实例确定为所述第二目标工作实例;
确定与第二目标工作实例绑定的第二目标存储环;
根据所述反压机制调整所述第二目标存储环以使所述第二目标工作实例的剩余容量不小于所述当前数据量;
将所述目标数据缓存至所述第二目标存储环。
在一种可能的实现方式中,所述第二目标存储环,包括:首地址;
所述缓存模块进一步被配置为:
将与所述第二目标工作实例的剩余容量相同数据量的所述目标数据写入所述第二目标存储环;
将冗余数据溢写到下游的存储库;其中,所述冗余数据为所述第二目标存储环中除上述目标数据外的数据;
将所述目标数据的剩余数据写入所述第二目标存储环;
根据所述首地址和所述存储库中的所述冗余数据的数据量重新确定所述首地址。
在一种可能的实现方式中,所述目标存储环,还包括:第一目标存储环;
所述缓存模块进一步被配置为:
确定与所述第一目标工作实例绑定的第一目标存储环;其中,所述第一目标存储环,包括:位移标记;
根据所述反压机制将所述目标数据写入所述第一目标存储环;
根据所述当前数据量和所述位移标记确定存储结束地址。
在一种可能的实现方式中,所述获取模块进一步被配置为:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑,包括:全量抽取逻辑;
响应于所述抽取逻辑为所述全量抽取逻辑,根据所述目标工作实例获取所述数据源中全部目标数据。
在一种可能的实现方式中,所述获取模块进一步被配置为:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑包括增量抽取逻辑;
响应于所述抽取逻辑为所述增量抽取逻辑,根据所述目标工作实例获取所述数据源中的增量数据,将所述增量数据作为所述目标数据。
在一种可能的实现方式中,所述装置,还包括:恢复模块;
所述恢复模块进一步被配置为:
标记所述目标存储环以确定唯一标识;
响应于所述目标数据被缓存至所述目标存储环,确定缓存位置;
将所述缓存位置记录至分布式元数据管理***;
响应于所述目标工作实例故障,根据所述唯一标识从所述缓存位置获取所述目标数据,以恢复所述目标数据。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
所述实施例的装置用于实现前述任一实施例中相应的数据捕获方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图3示出了本申请实施例所提供的一种数据捕获***的示例性结构示意图。
基于同一发明构思,参考图3,与所述任意实施例方法相对应的,本申请还提供了一种数据捕获***,包括:数据捕获装置以及工作实例生成单元;其中,
所述工作实例生成单元,被配置为构建管理组件和所述管理组件管理的服务组件;以及为所述服务组件分配工作实例。
在一种可能的实现方式中,所述工作实例生成单元,进一步被配置为:
确定数据源当前流量和工作实例抽取数据的速率;
根据所述数据源当前流量和所述工作实例抽取数据的速率的商确定第一工作实例数量;
根据所述第一工作实例数量为所述服务组件分配相应数量的工作实例。
例如,计算当前数据源的流量是A MB/s,假如单个工作实例的抽取数据的速率是aMB/s,那么就需要再服务组件之下自动分配A/a个(向上取整)工作实例。
在一种可能的实现方式中,所述工作实例生成单元,进一步被配置为:
响应于所述数据源当前流量减小,确定数据源最新流量;
根据所述数据源最新流量和所述工作实例抽取数据的速率的商确定第二工作实例数量;
将所述服务组件被分配的工作实例的数量减少至与所述第一工作实例数量和所述第二工作实例数量的差值相对应的数量。
例如,如果当流量下降时,假设在最近一个小时都小于A MB/s,假如当前最新的流量B MB/s,那么所需要向服务组件分配的的工作实例数量为B/a个(向上取整),所以可缩容B/a–A/a个工作实例,从而提高资源的利用率。
在一些实施例中,用户可以在工作实例生成单元上配置服务器节点和工作实例,例如首先构建管理组件,管理组件用于管理维护用户搭建的集群,主要有分发、管理、操作集群节点的功能。管理组件构建成功后,剋通过管理组件构建服务组件,再进一步地在服务组件下配置工作实例。
在一些实施例中,数据捕获***,还可以包括数据传输单元,包括轻量级数据源配置接口,采用插件的形式非嵌入的模式,对原有的数据源不具有侵入性。
为了描述的方便,描述以上***时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
所述实施例的***用于实现前述任一实施例中相应的数据捕获方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图4示出了本申请实施例所提供的一种电子设备的示例性结构示意图。
基于同一发明构思,与所述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的数据捕获方法。图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管所述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,所述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
所述实施例的电子设备用于实现前述任一实施例中相应的数据捕获方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与所述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的数据捕获方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的数据捕获方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种数据捕获方法,其特征在于,包括:
接收目标数据信息;
根据所述目标数据信息确定目标数据的当前数据量;
根据所述当前数据量确定目标工作实例;
利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据;
根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
2.根据权利要求1所述的方法,其特征在于,所述目标数据信息,包括:连接信息和数据关键字段;
所述根据所述目标数据信息确定目标数据的当前数据量,还包括:
根据所述连接信息确定数据源地址;
根据所述数据源地址通过寻址的方式访问所述数据源;
根据所述数据关键字段确定是否在所述数据源中匹配到所述目标数据;
响应于在所述数据源中匹配到所述目标数据,确定所述目标数据的当前数据量。
3.根据权利要求1所述的方法,其特征在于,所述目标工作实例,包括:第一目标工作实例;
所述根据所述当前数据量确定目标工作实例,还包括:
获取每个工作实例的剩余容量;
确定是否存在所述剩余容量不小于所述当前数据量的候选工作实例;
响应于存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的候选工作实例确定为所述第一目标工作实例。
4.根据权利要求3所述的方法,其特征在于,所述目标工作实例,还包括:第二目标工作实例;所述目标存储环,包括:第二目标存储环;
所述根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环,包括:
响应于不存在所述剩余容量不小于所述当前数据量的候选工作实例,将所述剩余容量最大的工作实例确定为所述第二目标工作实例;
确定与所述第二目标工作实例绑定的第二目标存储环;
根据所述反压机制调整所述第二目标存储环以使所述第二目标工作实例的剩余容量不小于所述当前数据量;
将所述目标数据缓存至所述第二目标存储环。
5.根据权利要求4所述的方法,其特征在于,所述第二目标存储环,包括:首地址;
所述调整所述第二目标存储环以使所述第二目标工作实例的剩余容量不小于所述当前数据量,包括:
将与所述第二目标工作实例的剩余容量相同数据量的所述目标数据写入所述第二目标存储环;
将冗余数据溢写到下游的存储库;其中,所述冗余数据为所述第二目标存储环中除上述目标数据外的数据;
将所述目标数据的剩余数据写入所述第二目标存储环;
根据所述首地址和所述存储库中的所述冗余数据的数据量重新确定所述首地址。
6.根据权利要求3所述的方法,其特征在于,所述目标存储环,还包括:第一目标存储环;
所述根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环,包括:
确定与所述第一目标工作实例绑定的第一目标存储环;其中,所述第一目标存储环,包括:位移标记;
根据所述反压机制将所述目标数据写入所述第一目标存储环;
根据所述当前数据量和所述位移标记确定存储结束地址。
7.根据权利要求1所述的方法,其特征在于,所述目标数据包括通过针对二进制数据解析获得的通用数据。
8.根据权利要求1所述的方法,其特征在于,所述利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据,包括:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑包括全量抽取逻辑;
响应于所述抽取逻辑为所述全量抽取逻辑,根据所述目标工作实例获取所述数据源中全部数据,作为所述目标数据。
9.根据权利要求1所述的方法,其特征在于,所述利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据,包括:
根据所述目标数据信息确定抽取逻辑;所述抽取逻辑包括增量抽取逻辑;
响应于所述抽取逻辑为所述增量抽取逻辑,根据所述目标工作实例获取所述数据源中的增量数据,将所述增量数据作为所述目标数据。
10.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
标记所述目标存储环以确定唯一标识;
响应于所述目标数据被缓存至所述目标存储环,确定缓存位置;
将所述缓存位置记录至分布式元数据管理***;
响应于所述目标工作实例故障,根据所述唯一标识从所述缓存位置获取所述目标数据,以恢复所述目标数据。
11.一种数据捕获装置,其特征在于,包括:
接收模块,被配置为接收目标数据信息;
第一确定模块,被配置为根据所述目标数据信息确定目标数据的当前数据量;
第二确定模块,被配置为根据所述当前数据量确定目标工作实例;
获取模块,被配置为利用所述目标工作实例根据所述目标数据信息从数据源获取所述目标数据;
缓存模块,被配置为根据反压机制将所述目标数据缓存至与所述目标工作实例绑定的目标存储环。
12.一种数据捕获***,其特征在于,包括:如权利要求11所述的数据捕获装置以及工作实例生成单元;其中,
所述工作实例生成单元,被配置为构建管理组件和所述管理组件管理的服务组件;以及为所述服务组件分配工作实例。
13.根据权利要求12所述的数据捕获***,其特征在于,所述工作实例生成单元,进一步被配置为:
确定数据源当前流量和工作实例抽取数据的速率;
根据所述数据源当前流量和所述工作实例抽取数据的速率的商确定第一工作实例数量;
根据所述第一工作实例数量为所述服务组件分配相应数量的工作实例。
14.根据权利要求13所述的数据捕获***,其特征在于,所述工作实例生成单元,进一步被配置为:
响应于所述数据源当前流量减小,确定数据源最新流量;
根据所述数据源最新流量和所述工作实例抽取数据的速率的商确定第二工作实例数量;
将所述服务组件被分配的工作实例的数量减少至与所述第一工作实例数量和所述第二工作实例数量的差值相对应的数量。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任意一项所述的方法。
16.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使所述计算机实现权利要求1至10任一项所述的方法。
CN202210615540.5A 2022-05-31 2022-05-31 数据捕获方法、装置、***、电子设备及存储介质 Pending CN115080563A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210615540.5A CN115080563A (zh) 2022-05-31 2022-05-31 数据捕获方法、装置、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210615540.5A CN115080563A (zh) 2022-05-31 2022-05-31 数据捕获方法、装置、***、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115080563A true CN115080563A (zh) 2022-09-20

Family

ID=83249380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210615540.5A Pending CN115080563A (zh) 2022-05-31 2022-05-31 数据捕获方法、装置、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115080563A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076337A (zh) * 2023-10-17 2023-11-17 北京开源芯片研究院 一种数据传输方法、装置、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076337A (zh) * 2023-10-17 2023-11-17 北京开源芯片研究院 一种数据传输方法、装置、电子设备及可读存储介质
CN117076337B (zh) * 2023-10-17 2024-02-02 北京开源芯片研究院 一种数据传输方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US10447772B2 (en) Managed function execution for processing data streams in real time
CN110019004B (zh) 一种数据处理方法、装置及***
CN105144121A (zh) 高速缓存内容可寻址数据块以供存储虚拟化
CN110162512B (zh) 一种日志检索方法、装置及存储介质
CN104731569A (zh) 一种数据处理方法及相关设备
CN113448562B (zh) 一种逻辑代码自动生成方法、装置和电子设备
CN112632136A (zh) 一种数据统计分析方法、装置、电子设备及存储介质
CN109471893B (zh) 网络数据的查询方法、设备及计算机可读存储介质
CN115080563A (zh) 数据捕获方法、装置、***、电子设备及存储介质
CN103425692A (zh) 数据导出方法和装置
US9380126B2 (en) Data collection and distribution management
CN103902543A (zh) 数据库查询方法和装置及数据库***
CN113010542B (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN103577604B (zh) 一种用于Hadoop分布式环境的图像索引结构
CN111901453B (zh) 一种标识生成方法、装置、计算机设备和存储介质
CN115470235A (zh) 一种数据处理方法、装置以及设备
CN116049153B (zh) 数据库的数据处理方法、装置、电子设备及存储介质
US10803109B2 (en) Method and device for reading and writing video data in NAS device
CN107609038B (zh) 数据清理方法和装置
CN102360370A (zh) 数据集中管理***及方法
EP2819028A2 (en) Content management system
CN115237924A (zh) 数据处理方法、***、设备、介质和程序产品
CN111352917B (zh) 信息录入方法、装置、电子设备及存储介质
CN110806963A (zh) 一种基于浪潮云数据库的实例信息监控及可视化展示方法
CN112416699A (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