一种目标增量型数据的采集方法转让专利

申请号 : CN202311130983.6

文献号 : CN116841756B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘立宇李强初乃强安西平

申请人 : 奇点数联(北京)科技有限公司生命奇点(北京)科技有限公司

摘要 :

本申请涉及电数字数据处理技术领域,特别是涉及一种目标增量型数据的采集方法。其包括:获取第一列表LB1,LB1用于存储第一时间段[T1,1,T1,2]对应的记录;获取LB1中第一字段名ZD1对应元素的类别集合C1;使用N个线程对LB2进行采集,其中,第n个线程用于采集LB2中c1,n对应的记录;获取第一线程均衡权值Q1;如果Q1≤Q0,则使用N个线程对第三列表LB3进行采集,其中,第n个线程用于采集LB3中c1,n对应的记录;获取LB2中第二字段名ZD2对应元素的类别集合C2;使用M个线程对LB3进行采集,其中,第m个线程用于采集LB3中c2,m对应的记录。本发明提高了对增量型数据采集的效率。

权利要求 :

1.一种目标增量型数据的采集方法,其特征在于,所述方法包括以下步骤:

S100,获取第一列表LB1,LB1用于存储目标在第一时间段[T1,1,T1,2]对应的记录;T1,1为所述第一时间段的起始时间,T1,2为所述第一时间段的结束时间;

S200,获取LB1中第一字段名ZD1对应元素的类别集合C1;C1={c1,1,c1,2,…,c1,n,…,c1,N},c1,n为LB1中第一字段名ZD1对应元素的第n个类别,n的取值范围为1到N,N为LB1中第一字段名ZD1对应元素的类别数量;

S300,使用N个线程对LB2进行采集,其中,第n个线程用于采集LB2中c1,n对应的记录;LB2用于存储目标在第二时间段[T2,1,T2,2]对应的记录;T2,1为所述第二时间段的起始时间,T2,1=T1,1+T0,T2,2为所述第二时间段的结束时间,T2,2=T1,2+T0;T0为预设的采集间隔时间;

N 2 0.5

S400,获取第一线程均衡权值Q1,Q1=((∑n=1(shn‑sh’))/N) ,shn为LB2中c1,n对应的记录的数量,sh’为LB2中各类别对应的记录的数量的均值;

S500,如果Q1≤Q0,则使用N个线程对第三列表LB3进行采集,其中,第n个线程用于采集LB3中c1,n对应的记录;否则,进入S600;Q0为预设的线程均衡阈值;LB3用于存储目标在第三时间段[T3,1,T3,2]对应的记录;T3,1为所述第三时间段的起始时间,T3,1=T2,1+T0,T3,2为所述第三时间段的结束时间,T3,2=T2,2+T0;

S600,获取LB2中第二字段名ZD2对应元素的类别集合C2;C2={c2,1,c2,2,…,c2,m,…,c2,M},c2,m为LB2中第二字段名ZD2对应元素的第m个类别,m的取值范围为1到M,M为LB2中第二字段名ZD2对应元素的类别数量;ZD2≠ZD1;

S700,使用M个线程对LB3进行采集,其中,第m个线程用于采集LB3中c2,m对应的记录;

ZD1的获取过程包括以下步骤:

S210,获取LB1的字段名DU1,DU1=(du1,1,du1,2,…,du1,y,…,du1,Y),du1,y为LB1包括的第y个字段名,y的取值范围为1到Y,Y为LB1包括的字段名的数量;

S220,如果Y≤q1,则遍历DU1,对LB1中du1,y对应的元素进行归类,得到LB1中du1,y对应元

1 2 h H h

素的类别序列BX1,y,BX1,y=(bx1,y,bx1,y,…,bx1,y,…,bx 1,y),bx 1,y为LB1中du1,y对应元素的第h个类别,h的取值范围为1到H,H为LB1中du1,y对应元素的类别数量;q1为预设的第一字段名数量阈值;LB1中du1,y对应的元素为LB1中位于du1,y所在列且不包括du1,y在内的元素;

S230,遍历BX1=(BX1,1,BX1,2,…,BX1,y,…,BX1,Y),获取BX1,y的类别数量标准差zc1,y,zc1,yH h 2 0.5 h h=((∑h=1(um1,y‑um1,y))/H) ,um1,y为LB1中du1,y对应元素中类别为bx1,y的元素的数量,um1,y为LB1中du1,y对应元素中每个类别的元素数量的均值;

S240,将类别数量标准差最小的BX1,y对应的字段名作为ZD1;

S220还包括:如果Y>q1,则进入S221;

S221,遍历DU1,如果du1,y属于预设字段名类型的字段名,则将du1,y追加至预设的指定字段名序列DU’1,得到DU’1=(du’1,1,du’1,2,…,du’1,f,…,du’1,F),du’1,f为第f个被追加至DU’1的字段名,f的取值为1到F,F为被追加至DU’1的字段名的数量;DU’1的初始化为空值;

S222,遍历DU’1,对LB1中du’1,f对应的元素进行归类,得到LB1中du’1,f对应元素的类别序列BX’1,f;LB1中du’1,f对应的元素为LB1中位于du’1,f所在列且不包括du’1,f在内的元素;

S223,遍历BX’1=(BX’1,1,BX’1,2,…,BX’1,f,…,BX’1,F),获取BX’1,f的类别数量标准差;

S224,将类别数量标准差最小的BX’1,f对应的字段名作为ZD1。

2.根据权利要求1所述的目标增量型数据的采集方法,其特征在于,S300包括:

S310,在使用N个线程对第二列表LB2进行采集的过程中,先将采集的记录存储在预设的临时文件中;

S320,如果在使用N个线程对第二列表LB2进行采集的过程中出现采集中断的情况,则执行S330;

S330,如果第n个线程已将对应的记录采集完成,则恢复采集后第n个线程不再重新采集对应的记录;否则,恢复采集后第n个线程重新采集对应的记录;

S340,如果对LB2采集完成,则将所述预设的临时文件中存储的记录转存至目标存储文件。

3.根据权利要求1所述的目标增量型数据的采集方法,其特征在于,所述方法还包括以下步骤:M 2 0.5

S800,获取第二线程均衡权值Q2,Q2=((∑m=1(sum‑su’))/M) ,sum为LB3中c2,m对应的记录的数量,su’为LB3中各类别对应的记录的数量的均值;

S810,如果Q2≤Q0,则使用M个线程对第四列表LB4进行采集,其中,第m个线程用于采集LB4中c2,m对应的记录;LB4用于存储目标在第四时间段[T4,1,T4,2]对应的记录;T4,1为所述第四时间段的起始时间,T4,1=T3,1+T0,T4,2为所述第四时间段的结束时间,T4,2=T3,2+T0;

M 2 0.5

S820,获取第三线程均衡权值Q3,Q3=((∑m=1(sam‑sa’))/M) ,sam为LB4中c2,m对应的记录的数量,sa’为LB4中各类别对应的记录的数量的均值;

S830,如果Q3>Q0,则获取LB4中第四字段名ZD4对应元素的类别集合C4;C4={c4,1,c4,2,…,c4,b,…,c4,B},c4,b为LB4中第四字段名ZD4对应元素的第b个类别,b的取值范围为1到B,B为LB4中第四字段名ZD4对应元素的类别数量;ZD4≠ZD2;

S840,使用B个线程对第五列表LB5进行采集,其中,第b个线程用于采集LB5中c4,b对应的记录;LB5用于存储目标在第五时间段[T5,1,T5,2]对应的记录;T5,1为所述第五时间段的起始时间,T5,1=T4,1+T0,T5,2为所述第五时间段的结束时间,T5,2=T4,2+T0。

4.根据权利要求3所述的目标增量型数据的采集方法,其特征在于,S810还包括:如果Q2>Q0,则进入S811;

S811,获取LB3中第三字段名ZD3对应元素的类别集合C3;C3={c3,1,c3,2,…,c3,e,…,c3,E},c3,e为LB3中第三字段名ZD3对应元素的第e个类别,e的取值范围为1到E,E为LB3中第三字段名ZD3对应元素的类别数量;ZD3≠ZD2;

S812,使用E个线程对第四列表LB4进行采集,其中,第e个线程用于采集LB4中c3,e对应的记录。

5.根据权利要求1所述的目标增量型数据的采集方法,其特征在于,T0为24小时。

说明书 :

一种目标增量型数据的采集方法

技术领域

[0001] 本发明涉及电数字数据处理技术领域,特别是涉及一种目标增量型数据的采集方法。

背景技术

[0002] 对增量型数据的采集包括两种,第一种是使用多线程采集,第二种是使用单线程采集;使用多线程采集增量型数据相较于使用单线程采集增量型数据具有采集时间短和采集效率高的优点,但是,如何对待采集的增量型数据进行划分,以有效减少多线程采集的时间,是亟待解决的问题。

发明内容

[0003] 本发明目的在于,提供一种目标增量型数据的采集方法,以有效减少对增量型数据采集的时间,提高对增量型数据采集的效率。
[0004] 根据本发明,提供了一种目标增量型数据的采集方法,所述方法包括以下步骤:
[0005] S100,获取第一列表LB1,LB1用于存储第一时间段[T1,1,T1,2]对应的记录;T1,1为所述第一时间段的起始时间,T1,2为所述第一时间段的结束时间。
[0006] S200,获取LB1中第一字段名ZD1对应元素的类别集合C1;C1={c1,1,c1,2,…,c1,n,…,c1,N},c1,n为LB1中第一字段名ZD1对应元素的第n个类别,n的取值范围为1到N,N为LB1中第一字段名ZD1对应元素的类别数量。
[0007] S300,使用N个线程对LB2进行采集,其中,第n个线程用于采集LB2中c1,n对应的记录;LB2用于存储第二时间段[T2,1,T2,2]对应的记录;T2,1为所述第二时间段的起始时间,T2,1=T1,1+T0,T2,2为所述第二时间段的结束时间,T2,2=T1,2+T0;T0为预设的采集间隔时间。
[0008] S400,获取第一线程均衡权值Q1,Q1=((∑Nn=1(shn‑sh’)2)/N)0.5,shn为LB2中c1,n对应的记录的数量,sh’为LB2中各类别对应的记录的数量的均值。
[0009] S500,如果Q1≤Q0,则使用N个线程对第三列表LB3进行采集,其中,第n个线程用于采集LB3中c1,n对应的记录;否则,进入S600;Q0为预设的线程均衡阈值;LB3用于存储第三时间段[T3,1,T3,2]对应的记录;T3,1为所述第三时间段的起始时间,T3,1=T2,1+T0,T3,2为所述第三时间段的结束时间,T3,2=T2,2+T0。
[0010] S600,获取LB2中第二字段名ZD2对应元素的类别集合C2;C2={c2,1,c2,2,…,c2,m,…,c2,M},c2,m为LB2中第二字段名ZD2对应元素的第m个类别,m的取值范围为1到M,M为LB2中第二字段名ZD2对应元素的类别数量;ZD2≠ZD1。
[0011] S700,使用M个线程对LB3进行采集,其中,第m个线程用于采集LB3中c2,m对应的记录。
[0012] 本发明与现有技术相比至少具有以下有益效果:
[0013] 本发明中第一列表用于存储第一时间段对应的记录,第二列表用于存储第二时间段对应的记录,第三列表用于存储第三时间段对应的记录;第二时间段相较于第一时间段整体向后推迟了T0,第三时间段相较于第二时间段向后推迟了T0;本发明根据获取的第一列表得到了第一列表中的第一字段名对应的元素的类别的集合,并根据第一列表中的第一字段名对应的元素的类别的数量确定采集第二列表时的线程数量,且采集第二列表时一个线程采集第二列表中一个c1,n对应的记录;本发明中第二列表和第一列表存储的都是同一目标的数据,第二列表和第一列表包括的字段名相同,区别在于存储的记录对应的时间段不同,如果目标在第二时间段随时间的变化较稳定,那么第一列表和第二列表中相同字段名对应的元素的类别分布差异较小,本发明根据第一列表中的第一字段名确定对第二列表的采集的线程数量和各线程采集的记录能够使各线程采集的记录的数量相对均衡,减少采集第二列表的整体时间;如果目标在第二时间段随时间的变化较大,本发明则不再根据第一列表的第一字段名确定采集第三列表时的线程数量,而是获取第二列表的第二字段名,再根据第二列表中的第二字段名对应的元素的类别的数量确定采集第三列表时的线程数量,且采集第三列表时一个线程采集第三列表中一个c2,m对应的记录;由于第二时间段与第三时间段的距离相较于第一时间段与第三时间段的距离较近,所以根据第二列表的第二字段名确定采集第三列表的线程数量和各线程采集的记录能够使各线程采集的记录的数量相对均衡,减少采集第三列表的整体时间,提高了对增量型数据采集的效率。

附图说明

[0014] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1为本发明实施例提供的目标增量型数据的采集方法的流程图。

具体实施方式

[0016] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0017] 根据本发明,提供了一种目标增量型数据的采集方法,所述方法包括以下步骤,如图1所示:
[0018] S100,获取第一列表LB1,LB1用于存储目标在第一时间段[T1,1,T1,2]对应的记录;T1,1为所述第一时间段的起始时间,T1,2为所述第一时间段的结束时间。
[0019] 作为一个具体的实施方式,目标在一个时间段对应的记录存储中一个列表中,目标对应的列表均存储在预设的数据库中,每隔一个预设的采集间隔时间T0从预设的数据库中采集新生成的列表;例如,目标为医院,每一记录为每一病人的问诊信息,不同列表包括的字段名相同,字段名包括姓名、年龄、住院时间、出院时间、科室、诊断、病情描述等,一个时间段的时长为24小时,一个预设的采集间隔时间T0为24小时。
[0020] 本实施例中采集端已经完成了从预设的数据库中采集第一列表,接下来拟对第一列表进行分析,以根据对第一列表的分析结果确定采集端从预设的数据库中采集第二列表时的策略。
[0021] S200,获取LB1中第一字段名ZD1对应元素的类别集合C1;C1={c1,1,c1,2,…,c1,n,…,c1,N},c1,n为LB1中第一字段名ZD1对应元素的第n个类别,n的取值范围为1到N,N为LB1中第一字段名ZD1对应元素的类别数量。
[0022] 本实施例中,LB1中第一字段名ZD1对应元素指的是LB1中位于第一字段名ZD1所在列的元素(不包括ZD1在内)。
[0023] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0024] 具体的,ZD1的获取过程包括以下步骤:
[0025] S210,获取LB1的字段名DU1,DU1=(du1,1,du1,2,…,du1,y,…,du1,Y),du1,y为LB1包括的第y个字段名,y的取值范围为1到Y,Y为LB1包括的字段名的数量。
[0026] S220,如果Y≤q1,则遍历DU1,对LB1中du1,y对应的元素进行归类,得到LB1中du1,y对1 2 h H h
应元素的类别序列BX1,y,BX1,y=(bx 1,y,bx 1,y,…,bx1,y,…,bx1,y),bx1,y为LB1中du1,y对应元素的第h个类别,h的取值范围为1到H,H为LB1中du1,y对应元素的类别数量;q1为预设的第一字段名数量阈值;LB1中du1,y对应的元素为LB1中位于du1,y所在列且不包括du1,y在内的元素。
[0027] 本实施例中q1为经验值。
[0028] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0029] S230,遍历BX1=(BX1,1,BX1,2,…,BX1,y,…,BX1,Y),获取BX1,y的类别数量标准差H h 2 0.5 h hzc1,y,zc1,y=((∑h=1(um1,y‑um1,y))/H) ,um1,y为LB1中du1,y对应元素中类别为bx1,y的元素的数量,um1,y为LB1中du1,y对应元素中每个类别的元素数量的均值。
[0030] 本实施例中,um1,y=(∑Hh=1umh1,y)/H。
[0031] S240,将类别数量标准差最小的BX1,y对应的字段名作为ZD1。
[0032] 本实施例在Y≤q1,即LB1的字段名数量相对较少的情况下,对每一字段名对应的元素进行归类,得到了每一字段名对应的类别数量标准差,并将类别数量标准差最小的序列对应的字段名作为ZD1,由此,ZD1为LB1中对应的元素的各类别数量相对均衡的字段名,有利于减少对第二列表采集的整体时长;由于LB1的字段名数量相对较少,因此,上述确定ZD1的过程的时间也不会较长,可以避免出现由于LB1的字段名数量较多导致的确定ZD1的过程的时间较长,进而降低了采集的效率的问题。
[0033] S220还包括:如果Y>q1,则进入S221。
[0034] S221,遍历DU1,如果du1,y属于预设字段名类型的字段名,则将du1,y追加至预设的指定字段名序列DU’1,得到DU’1=(du’1,1,du’1,2,…,du’1,f,…,du’1,F),du’1,f为第f个被追加至DU’1的字段名,f的取值为1到F,F为被追加至DU’1的字段名的数量;DU’1的初始化为空值。
[0035] 具体的,S221包括:
[0036] S10,对du1,y进行分词处理,得到du1,y对应的分词集合GD1,y,GD1,y={gd11,y,2 a A a
gd1,y,…,gd 1,y,…,gd1,y},gd1,y为对du1,y进行分词处理得到的第a个词,a的取值范围为1到A,A为对du1,y进行分词处理得到的词的数量。
[0037] 本领域技术人员知悉,现有技术中任何的分词处理方法均落入本发明的保护范围。
[0038] S20,获取预设的词汇集合CH,CH={ch1,ch2,…,chp,…,chγ},chp为CH包括的第p个预设的词汇,p的取值范围为1到γ,γ为CH包括的预设的词汇的数量,每一chp为用户输入的词汇或用于表征时间的词汇或用于表征类别的词汇。
[0039] 本实施例中CH包括用户输入的词汇、用于表征时间的词汇和用于表征类别的词汇,其中,用户输入的词汇为用户根据实际应用场景预先确定的词汇;用于表征时间的词汇包括日期和时间等;用于表征类别的词汇包括种类、分组、类别和类型等。
[0040] S30,遍历GD1,y和CH,获取gda1,y与chp的语义相似度xsap。
[0041] 本领域技术人员知悉,现有技术中任何的获取两词汇之间的语义相似度的方法均落入本发明的保护范围。
[0042] S40,如果xsap大于等于预设的相似度阈值,则判定du1,y属于预设字段名类型的字段名;否则,判定du1,y不属于预设字段名类型的字段名。
[0043] 本实施例中,只要某一gda1,y与CH中某一chp的语义相似度大于等于预设的相似度a阈值,则判定du1,y属于预设字段名类型的字段名;只有当任一gd1,y与CH中任一chp的语义相似度均小于预设的相似度阈值时,才判定du1,y不属于预设字段名类型的字段名。本实施例中预设的相似度阈值为经验值,可选的,预设的相似度阈值的取值范围为[0.8,0.9]。
[0044] S222,遍历DU’1,对LB1中du’1,f对应的元素进行归类,得到LB1中du’1,f对应元素的类别序列BX’1,f;LB1中du’1,f对应的元素为LB1中位于du’1,f所在列且不包括du’1,f在内的元素。
[0045] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0046] S223,遍历BX’1=(BX’1,1,BX’1,2,…,BX’1,f,…,BX’1,F),获取BX’1,f的类别数量标准差。
[0047] 本实施例获取BX’1,f的类别数量标准差的方法与上述获取BX1,y的类别数量标准差zc1,y的方法类似,此处不再赘述。
[0048] S224,将类别数量标准差最小的BX’1,f对应的字段名作为ZD1。
[0049] 本实施例在Y>q1,即LB1的字段名数量相对较多的情况下,只对每一属于预设字段名类型的字段名对应的元素进行归类,得到了每一属于预设字段名类型的字段名对应的类别数量标准差,并将类别数量标准差最小的序列对应的字段名作为ZD1,由此,ZD1为LB1中对应的元素的各类别数量相对均衡的字段名,有利于减少对第二列表采集的整体时长;由于LB1的字段名中属于预设字段名类型的字段名的数量相对较少且对应的元素的各类别的数量较为均衡的概率相对较高,因此,上述确定ZD1的过程的时间也不会较长,且得到的ZD1对应的元素的各类别的数量也较为均衡,可以减少确定ZD1的过程的时间较长和提高对第二列表进行采集时各线程对应的采集量的均衡性,进而降低了采集的效率的问题。
[0050] S300,使用N个线程对LB2进行采集,其中,第n个线程用于采集LB2中c1,n对应的记录;LB2用于存储目标在第二时间段[T2,1,T2,2]对应的记录;T2,1为所述第二时间段的起始时间,T2,1=T1,1+T0,T2,2为所述第二时间段的结束时间,T2,2=T1,2+T0;T0为预设的采集间隔时间。
[0051] 本实施例中LB2和LB1包括的字段名相同,LB2中c1,n对应的记录指的是LB2中ZD1对应的元素类别为c1,n的记录。
[0052] 优选的,S300包括:
[0053] S310,在使用N个线程对第二列表LB2进行采集的过程中,先将采集的记录存储在预设的临时文件中。
[0054] S320,如果在使用N个线程对第二列表LB2进行采集的过程中出现采集中断的情况,则执行S330。
[0055] S330,如果第n个线程已将对应的记录采集完成,则恢复采集后第n个线程不再重新采集对应的记录;否则,恢复采集后第n个线程重新采集对应的记录。
[0056] S340,如果对LB2采集完成,则将所述预设的临时文件中存储的记录转存至目标存储文件。
[0057] 上述S310‑S340,先将采集的数据存储在预设的临时文件中,采集完成后再将预设的临时文件中存储的数据转存至目标存储文件,可以避免数据采集过程中用户对目标存储文件的访问,提高用户获取的数据的准确性。而且,本实施例在出现采集中断的情况下,在采集恢复时重新采集未采集完成的记录,可以保证采集的数据的完整性。
[0058] S400,获取第一线程均衡权值Q1,Q1=((∑Nn=1(shn‑sh’)2)/N)0.5,shn为LB2中c1,n对应的记录的数量,sh’为LB2中各类别对应的记录的数量的均值。
[0059] 本实施例中,Q1越小,表示采集LB2时各线程采集的记录的数量越均衡。
[0060] S500,如果Q1≤Q0,则使用N个线程对第三列表LB3进行采集,其中,第n个线程用于采集LB3中c1,n对应的记录;否则,进入S600;Q0为预设的线程均衡阈值;LB3用于存储目标在第三时间段[T3,1,T3,2]对应的记录;T3,1为所述第三时间段的起始时间,T3,1=T2,1+T0,T3,2为所述第三时间段的结束时间,T3,2=T2,2+T0。
[0061] 本实施例中,Q1≤Q0表示采集LB2时各线程采集的记录的数量较为均衡,根据第一字段名ZD1对应元素的类别能够实现对LB2包括的记录的均衡划分;Q1>Q0表示采集LB2时各线程采集的记录的数量差异较大,根据第一字段名ZD1对应元素的类别不能实现对LB2包括的记录的均衡划分。
[0062] S600,获取LB2中第二字段名ZD2对应元素的类别集合C2;C2={c2,1,c2,2,…,c2,m,…,c2,M},c2,m为LB2中第二字段名ZD2对应元素的第m个类别,m的取值范围为1到M,M为LB2中第二字段名ZD2对应元素的类别数量;ZD2≠ZD1。
[0063] 本实施例在Q1>Q0的情况下获取了LB2中第二字段名ZD2对应元素的类别集合C2,LB2中第二字段名ZD2对应元素指的是LB2中位于第二字段名ZD2所在列的元素(不包括ZD2)。
[0064] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0065] 本实施例获取第二字段名ZD2的方法与上述获取第一字段名ZD1的方法相似,区别在于:获取第一字段名ZD1时是在DU1中确定第一字段名ZD1且对LB1中元素进行归类,而获取第二字段名ZD1时是在DU1中除ZD1以外的字段名中确定第二字段名ZD2且对LB2中元素进行归类;对于获取第二字段名ZD2的方法的具体过程,此处不再赘述。
[0066] S700,使用M个线程对LB3进行采集,其中,第m个线程用于采集LB3中c2,m对应的记录。
[0067] 本实施例中LB3和LB2包括的字段名相同,LB3中c2,m对应的记录指的是LB3中ZD2对应的元素类别为c2,m的记录。
[0068] 本实施例中第一列表用于存储第一时间段对应的记录,第二列表用于存储第二时间段对应的记录,第三列表用于存储第三时间段对应的记录;第二时间段相较于第一时间段整体向后推迟了T0,第三时间段相较于第二时间段向后推迟了T0;本实施例根据获取的第一列表得到了第一列表中的第一字段名对应的元素的类别的集合,并根据第一列表中的第一字段名对应的元素的类别的数量确定采集第二列表时的线程数量,且采集第二列表时一个线程采集第二列表中一个c1,n对应的记录;本实施例中第二列表和第一列表存储的都是同一目标的数据,第二列表和第一列表包括的字段名相同,区别在于存储的记录对应的时间段不同,如果目标在第二时间段随时间的变化较稳定,那么第一列表和第二列表中相同字段名对应的元素的类别分布差异较小,本实施例根据第一列表中的第一字段名确定对第二列表的采集的线程数量和各线程采集的记录能够使各线程采集的记录的数量相对均衡,减少采集第二列表的整体时间;如果目标在第二时间段随时间的变化较大,本实施例则不再根据第一列表的第一字段名确定采集第三列表时的线程数量,而是获取第二列表的第二字段名,再根据第二列表中的第二字段名对应的元素的类别的数量确定采集第三列表时的线程数量,且采集第三列表时一个线程采集第三列表中一个c2,m对应的记录;由于第二时间段与第三时间段的距离相较于第一时间段与第三时间段的距离较近,所以根据第二列表的第二字段名确定采集第三列表的线程数量和各线程采集的记录能够使各线程采集的记录的数量相对均衡,减少采集第三列表的整体时间,提高了对增量型数据采集的效率。
[0069] 本实施例的目标增量型数据的采集方法还包括以下步骤:
[0070] S800,获取第二线程均衡权值Q2,Q2=((∑Mm=1(sum‑su’)2)/M)0.5,sum为LB3中c2,m对应的记录的数量,su’为LB3中各类别对应的记录的数量的均值。
[0071] 本实施例中,Q2越小,表示采集LB3时各线程采集的记录的数量越均衡。
[0072] S810,如果Q2≤Q0,则使用M个线程对第四列表LB4进行采集,其中,第m个线程用于采集LB4中c2,m对应的记录;LB4用于存储目标在第四时间段[T4,1,T4,2]对应的记录;T4,1为所述第四时间段的起始时间,T4,1=T3,1+T0,T4,2为所述第四时间段的结束时间,T4,2=T3,2+T0。
[0073] 本实施例中,Q2≤Q0表示采集LB3时各线程采集的记录的数量较为均衡,根据第二字段名ZD2对应元素的类别能够实现对LB3包括的记录的均衡划分。
[0074] S820,获取第三线程均衡权值Q3,Q3=((∑Mm=1(sam‑sa’)2)/M)0.5,sam为LB4中c2,m对应的记录的数量,sa’为LB4中各类别对应的记录的数量的均值。
[0075] 本实施例中,Q3越小,表示采集LB4时各线程采集的记录的数量越均衡。
[0076] S830,如果Q3>Q0,则获取LB4中第四字段名ZD4对应元素的类别集合C4;C4={c4,1,c4,2,…,c4,b,…,c4,B},c4,b为LB4中第四字段名ZD4对应元素的第b个类别,b的取值范围为1到B,B为LB4中第四字段名ZD4对应元素的类别数量;ZD4≠ZD2。
[0077] 本实施例中,Q3>Q0表示采集LB4时各线程采集的记录的数量差异较大,如果Q2≤Q0,即表示根据第二字段名ZD2对应元素的类别不能实现对LB4包括的记录的均衡划分。
[0078] 本实施例获取了LB4中第四字段名ZD4对应元素的类别集合C4,LB4中第四字段名ZD4对应元素指的是LB4中位于第四字段名ZD4所在列的元素(不包括ZD4在内)。
[0079] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0080] 本实施例获取第四字段名ZD4的方法与上述获取第一字段名ZD1的方法相似,区别在于:获取第一字段名ZD1时是在DU1中确定第一字段名ZD1且对LB1中元素进行归类,而获取第四字段名ZD4时是在DU1中除ZD2以外的字段名中确定第四字段名ZD4且对LB4中元素进行归类;对于获取第四字段名ZD4的方法的具体过程,此处不再赘述。
[0081] S840,使用B个线程对第五列表LB5进行采集,其中,第b个线程用于采集LB5中c4,b对应的记录;LB5用于存储目标在第五时间段[T5,1,T5,2]对应的记录;T5,1为所述第五时间段的起始时间,T5,1=T4,1+T0,T5,2为所述第五时间段的结束时间,T5,2=T4,2+T0。
[0082] 本实施例中LB5和LB4包括的字段名相同,LB5中c4,b对应的记录指的是LB5中ZD4对应的元素类别为c4,b的记录。
[0083] S810还包括:如果Q2>Q0,则进入S811。
[0084] 本实施例中Q2>Q0表示采集LB3时各线程采集的记录的数量差异较大,根据第二字段名ZD2对应元素的类别不能实现对LB3包括的记录的均衡划分。
[0085] S811,获取LB3中第三字段名ZD3对应元素的类别集合C3;C3={c3,1,c3,2,…,c3,e,…,c3,E},c3,e为LB3中第三字段名ZD3对应元素的第e个类别,e的取值范围为1到E,E为LB3中第三字段名ZD3对应元素的类别数量;ZD3≠ZD2。
[0086] 本实施例获取了LB3中第三字段名ZD3对应元素的类别集合C3,LB3中第三字段名ZD3对应元素指的是LB3中位于第三字段名ZD3所在列的元素。
[0087] 本领域技术人员知悉,现有技术中任何的对元素进行归类的方法均落入本发明的保护范围。作为现有技术的一种,使用group by子句对元素进行归类。
[0088] 本实施例获取第三字段名ZD3的方法与上述获取第一字段名ZD1的方法相似,区别在于:获取第一字段名ZD1时是在DU1中确定第一字段名ZD1且对LB1中元素进行归类,而获取第三字段名ZD3时是在DU1中除ZD2以外的字段名中确定第三字段名ZD3且对LB3中元素进行归类;对于获取第三字段名ZD3的方法的具体过程,此处不再赘述。
[0089] S812,使用E个线程对第四列表LB4进行采集,其中,第e个线程用于采集LB4中c3,e对应的记录。
[0090] 本实施例中LB4和LB3包括的字段名相同,LB4中c3,e对应的记录指的是LB4中ZD3对应的元素类别为c3,e的记录。
[0091] 本实施例的S830还包括:如果Q3≤Q0,则使用M个线程对第五列表LB5进行采集,其中,第m个线程用于采集LB5中c2,m对应的记录。
[0092] 本实施例中LB5和LB2包括的字段名相同,LB5中c2,m对应的记录指的是LB5中ZD2对应的元素类别为c2,m的记录。
[0093] 虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明的范围由所附权利要求来限定。