一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据采集方法及相关设备与流程

2021-12-08 00:32:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,更具体地说是涉及一种数据采集方法及相关设备。


背景技术:

2.目前,如银行等金融机构的涉及到的业务种类繁多,为了满足不同客户的不同业务需求,银行系统往往每天都需要采集客户的业务信息,如客户关联的各种业务的数据表,将其发送至相应的业务平台存储,供其他系统查阅。
3.面对大量待采集的数据表,银行系统部署的分布式控制系统,通常是由多台设备同时执行数据采集任务,完成大量数据表的采集。但这种数据采集方法,通常是由业务人员依据待采集的数据表的数据量,来确定多台设备各自的数据采集任务,过程复杂、耗时,且由于不同数据表的数据量不同,很容易出现某台设备完成分配的数据采集任务后,其他设备仍在执行数据采集任务,导致无法充分利用各台设备的资源,降低了数据采集效率。


技术实现要素:

4.有鉴于此,为了解决上述技术问题,本技术提供了以下技术方案:
5.一方面,本技术提出了一种数据采集方法,所述方法包括:
6.获取消息队列存储的针对任一待采集数据表的一级分发消息;其中,所述一级分发消息包括所述待采集数据表的属性信息及二级分发标识;所述二级分发标识用于表征该待采集数据表是否需要分表分发采集;
7.依据所述二级分发标识,确定所述待采集数据表为需要分表分发采集的待拆分数据表;
8.获取所述消息队列存储的所述待拆分数据表的二级分发消息;所述二级分发消息包括所述待拆分数据表的拆分信息;
9.按照所述拆分信息,控制多个数据采集设备对所述待拆分数据表进行分段数据采集,获得所述待拆分数据表的目标数据文件。
10.可选的,所述方法还包括:
11.响应针对任一待采集数据表输入的一级分发配置指令,获得该待采集数据表的一级分发消息;其中,所述一级分发配置指令是基于多个数据采集设备各自的空闲资源信息,以及所述待采集数据表的数据量确定的;
12.将所述一级分发消息写入消息队列存储;
13.依据所述一级分发消息包含的二级分发标识,确定需要分表分发采集的待拆分数据表;
14.获取所述待拆分数据表的二级分发消息,将所述二级分发消息发送至所述消息队列存储。
15.可选的,所述获取所述待拆分数据表的二级分发消息,包括:
16.依据所述待拆分数据表的数据量以及所述空闲资源信息,按照所述待拆分数据表
的第一字段,对所述待拆分数据表进行分表处理,得到所述待拆分数据表的二级分发消息;或者,
17.响应针对所述待分发数据表输入的二级分发配置指令,对所述待拆分数据表进行分表处理,获得所述待拆分数据表的二级分发消息;所述二级分发配置指令是依据所述待拆分数据表的数据量及第一字段确定的。
18.可选的,所述拆分信息包括将所述待拆分数据表的第一字段拆分成多个分发字段各自的分发字段标识、以及所述多个分发字段各自的分发起始标识和分发终止标识;
19.所述按照所述拆分信息,控制多个数据采集设备对所述待拆分数据表进行分段数据采集,包括:按照不同所述分发字段标识各自的所述分发起始标识和所述分发终止标识,对所述待拆分数据表进行分表处理,得到相应数量的子数据表;
20.依据多个数据采集设备各自的空闲资源信息,以及多个所述分发字段标识各自对应的数据量,控制所述多个数据采集设备各自对相应的所述子数据表进行数据采集;
21.将所述多个数据采集设备各自采集到的数据存储至对应的数据子文件。
22.可选的,所述获得所述待拆分数据表的目标数据文件,包括:
23.依据所述多个分发字段标识的排序,对多个所述数据子文件进行合并处理,得到所述待拆分数据表的目标数据文件。
24.可选的,所述方法还包括:
25.控制一个数据采集设备对不需要分表分发采集的所述待采集数据表进行数据采集,得到相应的目标数据文件。
26.可选的,所述方法还包括:
27.获取多个数据采集任务;其中,所述多个数据采集任务各自对应的待采集数据表不同;
28.所述获取消息队列存储的针对任一待采集数据表的一级分发消息,包括:
29.响应针对所述多个数据采集任务各自的待采集数据表的分发检测请求,获取消息队列存储的相应待采集数据表的一级分发消息。
30.又一方面,本技术还提出了一种数据采集装置,所述装置包括:
31.一级分发消息获取模块,用于获取消息队列存储的针对任一待采集数据表的一级分发消息;其中,所述一级分发消息包括所述待采集数据表的属性信息及二级分发标识;所述二级分发标识用于表征该待采集数据表是否需要分表分发采集;
32.待拆分数据表确定模块,用于依据所述二级分发标识,确定所述待采集数据表为需要分表分发采集的待拆分数据表;
33.二级分发消息获取模块,用于获取所述消息队列存储的所述待拆分数据表的二级分发消息;所述二级分发消息包括所述待拆分数据表的拆分信息;
34.数据采集控制模块,用于按照所述拆分信息,控制多个数据采集设备对所述待拆分数据表进行分段数据采集,获得所述待拆分数据表的目标数据文件。
35.又一方面,本技术还提出了一种计算机设备,所述计算机设备包括:至少一个通信接口、至少一个存储器和至少一个处理器,其中:
36.所述存储器,用于存储实现如上述的数据采集方法的程序;
37.所述处理器,用于加载并执行所述存储器存储的所述程序,以实现如上述的数据
采集方法。
38.又一方面,本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用并执行,实现上述的数据采集方法。
39.由此可见,本技术实施例提出了一种数据采集方法及相关设备,本技术针对不同的待采集数据表,预先构建了包含其属性信息和二级分发标识(其能够表征该待采集数据表是否需要分表分发采集)的一级分发消息,这样,在对各待采集数据表进行数据采集之前,可以先依据该一级分发消息确定是否需要对相应的待采集数据表进行分段采集,将需要分段采集数据的待采集数据表记为待拆分数据表,调取消息队列中存储的该待拆分数据表的拆分信息,从而按照该拆分信息,控制多个数据采集设备对待拆分数据表进行分段数据采集,将采集到的多个数据子文件合并为一个目标数据文件,即针对该待拆分数据表的目标数据文件。可见,本技术通过两级分发消息检测,对数据量较大的待采集数据表进行分段并行检测,提高了数据采集效率,且解决了由单个数据采集设备对这类数据量大的数据表进行数据采集,容易造成数据采集设备资源浪费的技术问题。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1示出了本技术提出的数据采集方法的一可选示例的流程示意图;
42.图2示出了本技术提出的数据采集方法的又一可选示例的流程示意图;
43.图3示出了本技术提出的数据采集方法的又一可选示例的流程示意图;
44.图4示出了本技术提出的数据采集方法的又一可选示例的流程示意图;
45.图5示出了本技术提出的数据采集方法的又一可选示例的流程示意图;
46.图6示出了本技术提出的数据采集装置的一可选示例的结构示意图;
47.图7示出了本技术提出的数据采集装置的又一可选示例的结构示意图;
48.图8示出了本技术提出的数据采集装置的又一可选示例的结构示意图;
49.图9示出了适用于本技术提出的数据采集方法的计算机设备的硬件结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
52.应当理解,本技术中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
53.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
54.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
55.另外,本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
56.参照图1,为适用于本技术提出的数据采集方法的一可选应用场景的分布式系统架构示意图,该系统可以包括但并不局限于:数据库100、多个数据采集设备200以及控制设备300,其中:
57.数据库100可以是用于存储业务数据的数据存储设备,如在银行系统下,数据库可以用于存在银行系统运行过程中产生的各种业务数据,如注册登记客户的客户信息、客户申请办理的各类业务的相关数据、交易数据、银行内部的各类信息等,可视情况而定,本技术对数据库100存储的数据内容及其存储方式不做限制。
58.实际应用中,随着时间推进,数据库100存储的数据会越来越多,为了方便查询所需数据,数据库100存储的各种数据可以采用数据表的方式进行记录,但并不局限于这种记录方式。通常情况下,数据库100可以是独立的物理服务器、也可以是多台物理服务器构成的服务器集群,或者是能够实现云计算的云服务器等,本技术对数据库100的设备类型不做限制。
59.数据采集设备200可以是具有数据采集功能的计算机设备,具体可以是服务器也可以是具有数据处理能力的终端,本技术对数据采集设备200的设备类型不做限制,可视情况而定。
60.在本技术实施例中,如银行系统的业务处理应用中,如柜台交易系统、网上银行交易系统、批处理系统等应用过程中,可能需要从数据库中调取相应的数据,此时可以利用数据采集设备200从数据库100中获取所需业务数据,发送至相应的处理设备进行后续业务处理;或者,采集应用过程中产生的各种数据后,发送至数据库100进行存储等,本技术对数据采集设备200采集数据表的应用场景不做限制。
61.在数据采集的应用场景可以是分布式批量环境下实现,待采集的数据表的数量往往会比较多,为了提高采集效率,可以控制多台数据采集设备200执行数据采集任务,如采用分布式控制方式,控制多台数据采集设备200同时执行不同的数据采集设备,满足应用场景的数据采集需求,但并不局限于这种控制方法。
62.控制设备300可以是执行本技术提出的数据采集方法的计算机设备,可以是服务器或具有数据处理能力的终端设备,可视情况而定。关于控制设备300如何实现该数据采集方法,可以参照但并不局限于下文方法实施例相应部分的描述,本实施例不做赘述。
63.应该理解,图1所示的分布式系统架构并不构成对本技术实施例中应用场景系统结构的限定,在实际应用中,在适用于本技术提出的数据采集方法的应用场景系统可以包括比图1所示的更多或更少的设备,或者组合某些设备,本技术在此不做一一列举。
64.参照图2,为本技术提出的数据采集方法的一可选示例的流程示意图,该方法可以适用于银行系统,由控制设备执行,该控制设备可以是服务器或具有一定数据处理能力的终端设备,如银行系统中的业务终端等。如图2所示,本技术实施例提出的数据采集方法可以包括:
65.步骤s11,获取消息队列存储的针对任一待采集数据表的一级分发消息;
66.在银行系统的分布式批量环境下进行数据采集过程中,为了降低单个数据表采集的耗时,提高对数据采集设备的资源利用率,从而提高整个数据采集系统的数据采集效率,本技术提出采用灵活的数据表拆分原则,对大数据量的数据表进行拆分多个子数据表后进行并行数据采集,对于小数据量的数据表仍可以作为整体进行数据采集。
67.因此,针对不同数据量的待采集数据表,本技术可以预先配置各自的一级分发消息,如该待采集数据表的属性信息(如数据表名等)及二级分发标识等,该二级分发标识可以用于表征该待采集数据表是否需要分表分发采集,也就是说,可以表征该待数据表是否为大数据量的数据表,是否需要进行分表并行采集等,本技术对一级分发消息包含的各内容不做限制,可视情况而定。
68.在一些实施例中,上述二级分发标识可以是第一标识符或第二标识符,第一标识符可以表示相应待采集数据表不需要分表分发采集,可以直接作为整体由一个数据采集设备进行数据采集;相对应的,第二标识符可以表示相应待采集数据表需要分表分发采集,即需要多个数据采集设备对该待采集数据表进行分段同时数据采集,实现过程可以参照下文实施例相应部分的描述,本实施例不做赘述。
69.此外,对于上文描述的一级分发消息,可以以消息队列的方式进行存储,这样,在需要进行数据采集时,可以监听该消息队列,读取其记录的一级分发消息,确定各待采集数据表是否需要分表分发采集。可选的,上述一级分发消息还可以包括触发调用的服务名称等服务属性信息,这样,控制设备就可以据此确定后续调取的服务内容,如对于需要分表分发采集的待采集数据表,可以调取实现对其拆分处理的服务模块;对于不需要分表分发采集的待采集数据表,可以直接调用其数据采集模块,以实现对其数据采集。
70.步骤s12,依据一级分发消息中的二级分发标识,确定该待采集数据表为需要分表分发采集的待拆分数据表;
71.继上文对各待采集数据表对应的一级分发消息包含的二级分发标识的描述,通过该二级分发标识可以直接确定该待采集数据表是否需要做进一步拆分,本技术实施例时对大数据量的数据表的数据采集实现过程进行描述,即该二级分发标识可以是预设的第二标识,为了区分具有第一标识的待采集数据表,本技术可以将具有第二标识的待采集数据表记为待拆分数据表。
72.步骤s13,获取消息队列存储的待拆分数据表的二级分发消息;
73.结合上文对本技术技术构思的相关描述,为了提高对数据采集设备的资源利用率,提高数据采集效率,本技术提出将待拆分数据表拆分为多个待采集子数据表,也就是将对待拆分数据表进行数据采集的数据采集任务,分割为实现对各待采集子数据表进行数据采集的数据采集子任务,从而减少每个数据采集子任务中待采集子数据表的数据量,避免并行采集的多个数据表的数据量差异过大,导致数据采集设备的资源浪费。
74.其中,对于上述待拆分数据表,为了能够按照上述方式实现对其拆分,本技术可以预先获取其二级分发消息,该二级分发信息可以用于指示实现对待拆分数据表的拆分,因此,其可以包括待拆分数据表的拆分信息,如待拆分数据表的属性信息(如数据表名)、将待拆分数据表的第一字段拆分成多个分发字段各自的分发字段标识(拆分后的各分段的分发字段名等标识),以及拆分后的各分发字段的分发起始标识和分发终止标识等,本技术对拆分信息包含的内容不做限制,可视情况而定。
75.示例性的,本技术依据待拆分数据表的数据量级进行横向拆分过程中,可以依据这一个待拆分数据表的某一字段(记为第一字段)实现,如待拆分数据表a包含字段a1、字段a2和字段a3,其数据采集任务可以记为a(a1、a2、a3),若该待拆分数据表的待采集数据量是100百万级别,根据需要可以将这一个待拆分数据表拆分成五个子数据表,即将一个数据采集任务分割成五个数据采集子任务,但并不局限于该拆分数量,可视情况而定。
76.可选的,本技术可以依据第一字段,如字段a1,每间隔20万数据量,拆分为一个数据采集子任务,所以,将1~20万数据量对应的字段a1,为了方便描述可以将对于该数据量的字段a1记为字段a11,所得到的数据采集子任务1(a11,a2,a3);同理,数据量20万~40万对应的字段a1分割得到的数据采集任务2(a12,a2,a3);数据量40万~60万对应的字段a1分割得到的数据采集任务3(a13,a2,a3);数据量60万~80万对应的字段a1分割得到的数据采集任务4(a14,a2,a3);数据量80万~100万对应的字段a1分割得到的数据采集任务5(a15,a2,a3)。
77.基于本实施例描述的这种平均分表处理方式,所得到的该待拆分数据表的拆分信息,可以包括上文示例中,字段a1的字段名,以及按照上述分表处理后各分割点的字段a1的标识,如数据量60万对应的字段a1的名称等作为本子数据表(即数据采集任务3对应的子数据表)的分发终止标识、下一子数据表(即数据采集任务4对应的子数据表)的分发终止标识等,以便在执行数据采集过程中,可以依据该分发起始标识、分发终止标识确定相应数据采集子任务的起始采集对象和终止采集对象等。
78.需要说明,在对待拆分数据表进行分表处理时,包括但并不局限于上文描述的平均分表处理方式,也可以结合数据表内容进行拆分,本技术不做详述。对于待拆分数据表的拆分信息,可以依据实际采用的分表方法确定,包括但并不局限于上文列举的内容。
79.步骤s14,按照二级分发消息包含的拆分信息,控制多个数据采集设备对待拆分数据表进行分段数据采集,获得待拆分数据表的目标数据文件。
80.如上文对拆分信息的相关描述,控制设备可以依据拆分信息包含的内容,确定如何依据待拆分数据表的第一字段进行分表处理,即确定将待拆分数据表拆分成几个子数据表,每个子数据表包含的字段内容是什么等,因此,控制设备可以直接按照该拆分信息表征的拆分方式,依据待拆分数据表的第一字段进行分表处理,得到多个子数据表各自的分发字段,如上文示例的字段a11、a12、a13等。可见,将这多个分发字段内容顺次拼接可以得到
待拆分数据表的完整第一字段内容。
81.在确定待拆分数据表需要多台数据采集设备进行分段采集后,依据其对应的拆分信息,可以控制多个数据采集设备按照拆分后的对应子数据表的分发字段进行数据采集,如对拆分后的多个待采集子数据表同时进行数据采集,将每一个数据采集设备采集到的数据存储至对应的一个数据子文件,待完成对各待采集子数据表的数据采集后,即完成对待拆分数据表的数据采集后,可以将得到的多个数据子文件合并为一个文件,记为待拆分数据表的目标数据文件,合并顺序可以按照上述拆分顺序确定,实现过程本技术不做详述。
82.在一些实施例中,在不同环境下,不同数据采集设备的配置及其工作情况可能不同,在需要其进行数据采集的情况下,各数据采集设备所具有的空闲资源可能不同,其对数据表的数据采集能力也会不同,所以,在数据采集设备执行数据采集任务时,可以结合该数据采集设备自身的空闲资源信息,选择相适配的数据采集任务,保证其能够高效完成相应数据表的数据采集工作的同时,也避免资源浪费,本技术对步骤s14的控制实现方法不做限制。
83.综上,在本技术实施例中,针对不同的待采集数据表,预先构建了包含其属性信息和二级分发标识(其能够表征该待采集数据表是否需要分表分发采集)的一级分发消息,这样,在对各待采集数据表进行数据采集之前,可以先依据该一级分发消息确定是否需要对相应的待采集数据表进行分表采集,将需要进行分表数据采集的待采集数据表记为待拆分数据表,调取消息队列中存储的该待拆分数据表的拆分信息,从而按照该拆分信息,控制多个数据采集设备对待拆分数据表进行分段数据采集,获得待拆分数据表的目标数据文件。可见,本技术通过两级分发消息检测,对数据量较大的待采集数据表进行分段并行检测,提高了数据采集效率,且解决了由单个数据采集设备对这类数据量大的数据表进行数据采集,容易造成数据采集设备资源浪费的技术问题。
84.参照图3,为本技术提出的数据采集方法的又一可选示例的流程示意图,本实施例可以由控制设备执行,本实施例可以对数据表的一级分发消息、二级分发消息的获取过程进行描述,关于数据采集过程中,如何依据数据表的一级分发消息、二级分发消息实现数据采集,可以参照上下文实施例相应部分的描述,本实施例不做赘述。如图3所示,该方法可以包括:
85.步骤s21,响应针对任一待采集数据表输入的一级分发配置指令,获得该待采集数据表的一级分发消息;
86.本技术实施例中,上述一级分发配置指令可以是基于多个数据采集设备各自的空闲资源信息,以及待采集数据表的数据量等内容确定的,具体可以由负责数据采集配置任务的技术人员,在数据表的数据采集配置页面,输入各数据表的一级分发配置指令,以使控制设备获得相应数据表的一级分发消息等,本技术对待采集数据表的一级分发消息的获取方法不做限制。
87.步骤s22,将一级分发消息写入消息队列存储;
88.步骤s23,依据一级分发消息包含的二级分发标识,确定需要分表分发采集的待拆分数据表;
89.步骤s24,获取待拆分数据表的二级分发消息,将二级分发消息发送至所述消息队列存储。
90.在一些实施例中,本技术可以采用人工智能技术,利用待拆分数据表的数据量以及各数据采集设备的空闲资源信息,获得待拆分数据表的二级分发消息。在又一些实施例中,可以采用如上文一级分发消息的获取方式,由工作人员输入确定,这种情况下,控制设备可以响应针对待分发数据表输入的二级分发配置指令,获得待拆分数据表的二级分发消息。
91.结合上文实施例相应部分的描述,对于待拆分数据表如何进行分表分发采集,即上文二级分发消息的获取,也可以由工作人员在数据表分发采集配置页面中进行配置,响应配置结果得到该数据表的二级分发消息等,本技术对待拆分数据表的二级分发消息的获取方法不做限制。
92.参照图4,为本技术提出的数据采集方法的又一可选示例的流程示意图,本实施例可以是对上文实施例描述的数据采集方法的一可选细化实现方法,但并不局限于这种细化实现方法,如图4所示,该方法可以包括:步骤s31,获取消息队列存储的针对任一待采集数据表的一级分发消息;
93.步骤s32,依据一级分发消息包含的二级分发标识,确定待采集数据表为需要分表分发采集的待拆分数据表;
94.关于步骤s31和步骤s32的实现过程,可以参照上文实施例相应部分的描述,本实施例不做赘述。
95.步骤s33,获取待拆分数据表的数据量,以及多个数据采集设备各自的空闲资源信息;
96.步骤s34,依据该数据量和空闲资源信息,按照待拆分数据表的第一字段,对待拆分数据表进行分表处理,得到待拆分数据表的二级分发消息;
97.实际应用中,为了避免数据采集设备的超负载允许或资源浪费,可以依据其空闲资源情况,来适应性选择数据采集任务执行,所以,本技术控制设备确定某一待采集数据表的数据量过大,需要进行分表分发采集,即确定待拆分数据表后,可以先获取当前能够执行数据采集任务的各数据采集设备的空闲资源信息,以及该待拆分数据表实际待采集数据的数据量,关于该空闲资源信息和数据量的获取方法本技术不做限制。
98.在本技术提出的又一些实施例中,对于上述二级分发消息的获取,控制设备也可以通过响应针对待分发数据表输入的二级分发配置指令,对待拆分数据表进行分表处理,获得待拆分数据表的二级分发消息,其中,该二级分发配置指令可以是依据待拆分数据表的数据量及第一字段确定的,如直接由工作人员得知本次数据采集任务的待拆分数据表的数据量之后,可以在分表配置页面中完成针对该待拆分数据表的拆分信息,点击确认按钮,生成二级分发配置指令。
99.步骤s35,按照二级分发消息中不同分发字段标识各自的分发起始标识和分发终止标识,对待拆分数据表进行分表处理,得到相应数量的子数据表;
100.结合上文对二级分发消息的获取过程的相关描述,由于对待拆分数据表的分表处理考虑到各数据采集设备当前所具有的空闲资源信息,按照该二级分发消息的拆分信息,对待拆分数据表进行分表处理,可以保证所得到的各子数据表的数据采集子任务能够及时被空闲数据采集设备调取执行,即同时实现对多个子数据表各自的数据采集,有助于提高数据采集效率。
101.示例性的,结合上文列举的待拆分数据表a(a1、a2、a3),按照其配置的二级分发消息,可以将其拆分为(a11,a2,a3)、(a12,a2,a3)、(a13,a2,a3)、(a14,a2,a3)以及(a15,a2,a3)这五个子数据表,但并不局限于这种拆分结果。如在多个数据采集设备的空闲资源不一致,尤其是空闲资源差异较大的情况下,可以将待拆分数据表的数据量拆分成数据量不均等的多个子数据表,实现过程本技术不做详述。
102.步骤s36,依据多个数据采集设备各自的空闲资源信息,以及多个分发字段标识各自对应的数据量,控制多个数据采集设备各自对相应的子数据表进行数据采集;
103.继上文描述,对于空闲资源较多的数据采集设备,可以选择对应较大数据量的子数据表进行数据采集;反之,对于空闲资源较少的数据采集设备,可以选择对应较小数据量的子数据表进行数据采集,关于数据采集设备的空闲资源信息与数据表的数据量之间的映射关系,可以依据经验、工作场景等因素确定,本技术不做限制。这样,在实际应用中,可以直接依据该映射关系,确定当前待采集的多个子数据表分配给哪些数据采集设备,实现对多个子数据表的并行数据采集,大大缩减了整个待拆分数据表所花费的采集时间,提高了采集效率,同时也使得各数据采集设备的空闲资源得到了充分利用。
104.在一些实施例中,如上文描述的方式,控制设备可以依据映射关系,确定各子数据表映射到的数据采集设备,控制该数据采集设备对其映射的子数据表进行数据采集,即从其映射到待拆分数据表中相应分发字段的起始标识开始进行数据采集,实现过程本技术不做详述。在又一些实施例中,对于具有空闲资源的数据采集设备,也可以主动监听消息队列中的二级分发消息,获取与其空闲资源信息相匹配的子数据表,实现对该子数据表的数据采集。
105.应该理解的是,对于不需要分表分发采集的待采集设备表,如结构简单、数据量较少的数据表,控制设备可以控制一个数据采集设备对不需要分表分发采集的待采集数据表进行数据采集,得到相应的目标数据文件,这种情况下,一个数据采集设备执行数据采集任务,能够满足这类数据表的采集效率要求,同时也能够实现对数据采集设备资源的充分利用。
106.步骤s37,将多个数据采集设备各自采集到的数据存储至对应的数据子文件;
107.步骤s38,依据多个分发字段标识的排序,对多个数据子文件进行合并处理,得到待拆分数据表的目标数据文件。
108.仍以上文待拆分数据表a(a1、a2、a3)为例进行说明,对拆分得到的各子数据表进行数据采集,得到相应的数据子文件后,可以按照字段a1的排序,即a11、a12、a13、a14、a15,将采集到的对应的数据子文件进行合并处理,也就是按照该顺序,将同一字段的内容合并,得到目标数据文件。
109.综上,在本技术实施例中,对于数据量较大的待采集数据表,将结合当前各数据采集设备的空闲资源信息,依据该待采集数据包的第一字段,将其拆分成较小数据量的子数据表,控制数据采集设备对与其空闲资源信息相匹配的数据量对应的子数据表,在实现对各数据采集设备的空闲资源充分利用的同时,因同时对多个子数据表进行数据采集,极大提高了待采集数据表的采集效率。
110.结合上文各实施例描述的数据采集方法,在如银行系统的实际应用中,控制设备通常会获取多个数据采集任务,这多个数据采集任务各自对应的待采集数据表不同,也就
是说,每一个数据采集任务可以是对一个待采集数据表进行数据采集。在执行数据采集任务之前,对于每个数据采集任务,可以按照上文描述的方法,配置相应的一级分发消息,对于任务量较大,即待采集数据量较大的数据采集任务,需要对其对应的待采集数据表进行分表处理,将对得到的每一个子数据表的数据采集任务记为一个数据采集子任务,同时配置了各数据采集子任务对应的哪个分发字段,且该分发字段的分发起始标识和分发终止标识是什么等拆分信息。
111.基于上述信息,控制设备响应针对多个数据采集任务各自的待采集数据表的分发检测请求,可以获取消息队列存储的相应待采集数据表的一级分发消息,确定某一数据采集任务的待采集数据表为待拆分数据表,可以按照相应的二级分发消息包含的拆分信息,将该数据采集任务拆分成多个数据采集子任务,每一个数据采集子任务对应该待拆分数据表被拆分的一个子数据表,且各数据采集子任务对应的子数据表的数据量可以相同,也可以不同,可视情况而定,本技术对此不做限制。
112.之后,控制设备可以结合各数据采集设备当前的空闲资源信息,将上述得到的数据采集子任务、未被拆分的数据采集任务,分发至相适配的数据采集设备执行,以充分利用各数据采集设备的空闲资源,提高待拆分数据表的采集效率,避免了因一部分数据采集设备已完成被分配的数据采集任务,而另一部分仍存在较多数据表的数据等待采集,而导致这一部分数据采集设备资源浪费。
113.综上实施例的描述,参照图5所示数据采集方法的一可选流程示意图,获取各待采集数据表的一级分发消息后,可以发送至消息队列进行存储,这样,控制设备的消息监听模块可以直接对消息队列进行监听,读取消息队列中存储的各一级分发消息,若其对应的待采集数据表不需要分表分发,可以直接由数据采集模块控制一数据采集设备对该待采集数据表进行数据采集,即实现单表数据采集;若从一级分发消息中的二级分发标识得知待采集数据表为待拆分数据表,可以触发控制设备的单表采集二级分发模块按照上述方式,获得该待拆分数据表的二级分发消息,将该二级分发消息发送至消息队列进行存储。
114.之后,消息监听模块监听到二级分发消息后,可以按照该二级分发消息包含的拆分信息,将相应的待拆分数据表拆分成多个待采集的子数据表,实现对这多个子数据表的并行数据采集,如图5所示,可以由多个二级分发数据采集模块同时执行,控制相应的数据采集设备对与其空闲资源相适配的子数据表进行数据采集,将得到的数据子文件合并,得到待拆分数据表的目标数据文件。
115.需要说明,对于可以单表数据采集的待采集数据表,以及待拆分数据表被拆分得到的多个子数据表,可以由对应的数据采集设备同时进行数据采集,也可以依据各数据采集设备的运行情况,确定开始对分配到的单个待采集数据表或子数据表进行数据采集,这种情况下,各数据采集设备的执行时间间隔往往会比较小,相对于由单个数据采集设备分别对每一个待采集数据表的数据采集方法,本技术能够压缩整个数据采集工作的采集时间,提高数据采集效率,同时也能够实现对数据采集设备的空闲资源的充分利用。
116.参照图6,为本技术提出的数据采集装置的一可选示例的结构示意图,该如图6所示,该装置可以包括:
117.一级分发消息获取模块310,用于获取消息队列存储的针对任一待采集数据表的一级分发消息;
118.其中,所述一级分发消息包括所述待采集数据表的属性信息及二级分发标识;所述二级分发标识用于表征该待采集数据表是否需要分表分发采集;
119.待拆分数据表确定模块320,用于依据所述二级分发标识,确定所述待采集数据表为需要分表分发采集的待拆分数据表;
120.二级分发消息获取模块330,用于获取所述消息队列存储的所述待拆分数据表的二级分发消息;所述二级分发消息包括所述待拆分数据表的拆分信息;
121.数据采集控制模块340,用于按照所述拆分信息,控制多个数据采集设备对所述待拆分数据表进行分段数据采集,获得所述待拆分数据表的目标数据文件。
122.在一些实施例中,如图7所示,上述装置还可以包括:
123.一级分发消息获得模块350,用于响应针对任一待采集数据表输入的一级分发配置指令,获得该待采集数据表的一级分发消息;
124.其中,所述一级分发配置指令是基于多个数据采集设备各自的空闲资源信息,以及所述待采集数据表的数据量确定的。
125.一级分发消息存储模块360,用于将所述一级分发消息写入消息队列存储;
126.数据表分类模块370,用于依据所述一级分发消息包含的二级分发标识,确定需要分表分发采集的待拆分数据表;
127.二级分发消息存储模块380,用于获取所述待拆分数据表的二级分发消息,将所述二级分发消息发送至所述消息队列存储。
128.可选的,如图8所示,上述二级分发消息存储模块380可以包括:
129.第一分表处理单元381,用于依据所述待拆分数据表的数据量以及所述空闲资源信息,按照所述待拆分数据表的第一字段,对所述待拆分数据表进行分表处理,得到所述待拆分数据表的二级分发消息;或者,
130.第二分表处理单元382,用于响应针对所述待分发数据表输入的二级分发配置指令,对所述待拆分数据表进行分表处理,获得所述待拆分数据表的二级分发消息;所述二级分发配置指令是依据所述待拆分数据表的数据量及第一字段确定的。
131.在又一些实施例中,若上述拆分信息包括将所述待拆分数据表的第一字段拆分成多个分发字段各自的分发字段标识、以及所述多个分发字段各自的分发起始标识和分发终止标识等内容,如图8所示,上述数据采集控制模块340可以包括:
132.子数据表获取单元341,用于按照不同所述分发字段标识各自的所述分发起始标识和所述分发终止标识,对所述待拆分数据表进行分表处理,得到相应数量的子数据表;
133.数据采集控制单元342,用于依据多个数据采集设备各自的空闲资源信息,以及多个所述分发字段标识各自对应的数据量,控制所述多个数据采集设备各自对相应的所述子数据表进行数据采集;
134.数据存储单元343,用于将所述多个数据采集设备各自采集到的数据存储至对应的数据子文件;
135.数据合并单元344,用于依据所述多个分发字段标识的排序,对多个所述数据子文件进行合并处理,得到所述待拆分数据表的目标数据文件。
136.基于上文各实施例的描述,上述装置还可以包括:
137.单表采集控制模块,用于控制一个数据采集设备对不需要分表分发采集的所述待
采集数据表进行数据采集,得到相应的目标数据文件。
138.在又一些实施例中,上述装置还可以包括:
139.数据采集任务获取模块,用于获取多个数据采集任务;其中,所述多个数据采集任务各自对应的待采集数据表不同;
140.基于此,上述一级分发消息获取模块310可以包括:
141.分发检测请求响应单元,用于响应针对所述多个数据采集任务各自的待采集数据表的分发检测请求,获取消息队列存储的相应待采集数据表的一级分发消息。
142.需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
143.本技术还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上数据采集方法的各步骤,具体实现过程可以参照上述方法实施例相应部分的描述,本实施例不做赘述。
144.参照图9,为适用于本技术提出的数据采集方法的计算机设备的硬件结构示意图,本技术对计算机设备可以是上述控制设备,如服务器或具有一定数据处理能力的业务终端等,本技术实施例以计算机设备是服务器为例进行说明,如图9所示,该计算机设备可以包括:至少一个通信接口91、至少一个存储器92和至少一个处理器93,其中:
145.通信接口91、存储器92及处理器93均可以连接通信总线,以实现相互之间的数据交互,本技术对计算机设备内部的线路连接关系不做一一详述,可以依据实际应用场景的通信需求确定。
146.通信接口91可以包括通信模块的接口,如gsm模块、wifi模块、实现移动通信网络(如5g、6g网络)数据通信的接口等,以便计算机设备通过这类通信接口实现与其他设备的数据交互,如银行系统中的其他业务终端、数据库等;当然,该通信接口91还可以包括如usb接口、串/并口等接口,用于实现计算机设备内部组成部件之间的数据交互,如本技术提出的数据采集方法执行过程中产生或所需的各种中间数据等,可以根据实际应用场景的需求确定,本技术不做一一详述。
147.存储器92可以存储用于实现本技术实施例提供的数据采集方法的多个指令构成的程序,由处理器93调用并加载存储器92所存储的程序,从而实现本技术相应实施例提出的数据采集方法,具体实现过程可以参照但并不局限于上文相应实施例的描述。
148.在本技术实施例中,存储器92可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器93,可以为中央处理器(central processing unit,cpu)、特定应用集成电路(application

specific integrated circuit,asic)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。
149.应该理解,本技术上述实施例描述的计算机设备的结构并不构成对本技术实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图9所示及上文实施例描述的结构组成更多或更少的部件,如计算机设备为业务终端的情况下,该计算机设备还可以包括各种输入设备、各种输出设备、天线、各种传感器等部件,可以依据该计算机设备的业务
需求或功能等确定,本技术在此不做一一列举。
150.最后,需要说明的是,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
151.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献