700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数据抽样方法 装置 设备及存储介质与流程

数据抽样方法 装置 设备及存储介质与流程

时间:2023-02-08 22:40:55

相关推荐

数据抽样方法 装置 设备及存储介质与流程

本发明涉及金融科技技术领域,尤其涉及一种数据抽样方法、装置、设备及存储介质。

背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融工业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。

现有的金融大数据分析挖掘需要从庞大数据量中进行分析处理,而数据之间的差异性会导致数据分布不均衡,传统的随机抽样方法的抽样结果容易与指定数值产生较大差异,使得精确度较低,这会造成抽取指定数量的随机数据时,抽取结果不准确,从而降低指定数量的数据抽取准确性,影响数据分析的可靠性和精准度。

因此,如何提高指定数量的数据抽样准确性,是当前亟待解决的技术问题。

技术实现要素:

本发明的主要目的在于提供一种数据抽样方法、装置、设备及存储介质,旨在解决传统分布式数据指定数量的抽样结果不准确的技术问题。

为实现上述目的,本发明实施例提供一种数据抽样方法,所述数据抽样方法包括:

统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

可选地,所述将所述目标数据记录保存至抽样结果数据库中的步骤之前还包括:

获取预设的随机数种子;

获取所述待计算节点的节点编号,并根据所述随机数种子和所述节点编号生成随机数;

若所述剩余未分配数据条目总数和所述随机数的乘积值小于所述剩余应抽样数据条目数,则将目标数据记录保存至抽样结果数据库;

若所述剩余未分配数据条目总数和所述随机数的乘积值大于或等于所述剩余应抽样数据条目数,则将目标数据记录丢弃。

可选地,所述获得各待计算节点的剩余应抽样数据条目数的步骤之后还包括:

若所述剩余应抽样数据条目数中存在非整数形式的目标剩余应抽样数据条目数,则对所述目标剩余应抽样数据条目数进行取整处理;

在取整处理后,从各待计算节点中确定目标待补偿节点,并根据所述待抽取数据条目数和所述剩余应抽样数据条目数对所述目标待补偿节点进行补偿处理,以更新所述目标待补偿节点的剩余应抽样数据条目数。

可选地,所述剩余应抽样数据条目数以层剩余应抽样数据条目数表示,所述根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数的步骤包括:

若检测到预设的特征分层指令,则对各待计算节点中剩余未分配数据条目总数的数据记录进行特征分层处理,以获得每个待计算节点中各特征分层的层剩余未分配数据条目总数;

根据所述层剩余未分配数据条目总数和抽样比率,获得每个待计算节点中各特征分层的层剩余应抽样数据条目数;

所述根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录的步骤还包括:

统计所有待计算节点中属于同一特征分层的层数据条目总数,并根据所述层数据条目总数和抽样比率,获得层应抽样数据条目总数;

根据各特征分层的层应抽样数据条目总数和层剩余应抽样数据条目数,从原数据块中抽取目标数据记录。

可选地,所述获得每个待计算节点中各特征分层的层剩余应抽样数据条目数的步骤之后还包括:

若所述层剩余应抽样数据条目数中存在非整数形式的层目标剩余应抽样数据条目数,则对所述层目标剩余应抽样数据条目数进行取整处理,并将取整后的层目标剩余应抽样数据条目数确认为剩余应抽样数据条目数;

在取整处理后,从各特征分层中确定目标特征分层,并根据所述层应抽样数据条目总数和所述层剩余应抽样数据条目数对所述目标特征分层进行补偿处理,以更新所述目标特征分层的层剩余应抽样数据条目数。

可选地,所述从原数据块中抽取目标数据记录的步骤之后还包括:

将所述目标数据记录按照各特征分层进行分类排列,以生成目标数据记录分类表并输出显示。

可选地,所述数据抽样方法还包括:

将各待计算节点进行数据封装,并统计各已封装的待计算节点中的所需运行资源;

根据各所需运行资源调取预设的系统运行资源,并根据所述系统运行资源以进程形式封装运行对应的待计算节点。

本发明还提供一种数据抽样装置,所述数据抽样装置包括:

统计模块,用于统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

获取模块,用于获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

抽取模块,用于根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

可选地,所述抽取模块包括:

第一抽取单元,用于获取预设的随机数种子;

生成单元,用于获取所述待计算节点的节点编号,并根据所述随机数种子和所述节点编号生成随机数;

保存单元,用于若所述剩余未分配数据条目总数和所述随机数的乘积值小于所述剩余应抽样数据条目数,则将目标数据记录保存至抽样结果数据库;

丢弃单元,用于若所述剩余未分配数据条目总数和所述随机数的乘积值大于或等于所述剩余应抽样数据条目数,则将目标数据记录丢弃。

可选地,所述数据抽样装置还包括:

取整模块,用于若所述剩余应抽样数据条目数中存在非整数形式的目标剩余应抽样数据条目数,则对所述目标剩余应抽样数据条目数进行取整处理;

补偿模块,用于在取整处理后,从各待计算节点中确定目标待补偿节点,并根据所述待抽取数据条目数和所述剩余应抽样数据条目数对所述目标待补偿节点进行补偿处理,以更新所述目标待补偿节点的剩余应抽样数据条目数。

可选地,所述剩余应抽样数据条目数以层剩余应抽样数据条目数表示,所述获取模块包括:

分层单元,用于若检测到预设的特征分层指令,则对各待计算节点中剩余未分配数据条目总数的数据记录进行特征分层处理,以获得每个待计算节点中各特征分层的层剩余未分配数据条目总数;

获得单元,用于根据所述层剩余未分配数据条目总数和抽样比率,获得每个待计算节点中各特征分层的层剩余应抽样数据条目数;

所述抽取模块还包括:

统计单元,用于统计所有待计算节点中属于同一特征分层的层数据条目总数,并根据所述层数据条目总数和抽样比率,获得层应抽样数据条目总数;

第二抽取单元,用于根据各特征分层的层应抽样数据条目总数和层剩余应抽样数据条目数,从原数据块中抽取目标数据记录。

可选地,所述获取模块还包括:

取整单元,用于若所述层剩余应抽样数据条目数中存在非整数形式的层目标剩余应抽样数据条目数,则对所述层目标剩余应抽样数据条目数进行取整处理;

补偿单元,用于在取整处理后,从各特征分层中确定目标特征分层,并根据所述层应抽样数据条目总数和所述层剩余应抽样数据条目数对所述目标特征分层进行补偿处理,以更新所述目标特征分层的层剩余应抽样数据条目数。

可选地,所述抽取模块还用于,将所述目标数据记录按照各特征分层进行分类排列,以生成目标数据记录分类表并输出显示。

可选地,所述数据抽样装置还包括:

封装模块,用于将各待计算节点进行数据封装,并统计各已封装的待计算节点中的所需运行资源;

运行模块,用于根据各所需运行资源调取预设的系统运行资源,并根据所述系统运行资源以进程形式封装运行对应的待计算节点。

此外,为实现上述目的,本发明还提供一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据抽样程序,其中:

所述数据抽样程序被所述处理器执行时实现如上所述的数据抽样方法的步骤。

此外,为实现上述目的,本发明还提供计算机存储介质;

所述计算机存储介质上存储有数据抽样程序,所述数据抽样程序被处理器执行时实现如上述的数据抽样方法的步骤。

本发明统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

本发明应用于分布式系统中针对海量数据进行准确地数据抽样,解决了传统分布式数据指定数量的抽样结果不准确的技术问题,相比传统方法抽样准确度有了显著的提升,并能应用于多种数据抽样场景,通过动态调整机制,确保最终放入抽样数据块中的数据条目数为指定数值,以实现准确数据抽样,从而降低数据差异性,避免在抽取指定数量的随机数据时数据分布不均衡导致抽样结果发生较大的差异,导致抽取结果不准确,进而保证数据抽样的准确性,使得抽样结果更精准,提高指定数量的数据抽样准确性,提升数据分析的可靠性和精准度。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明数据抽样方法一实施例的流程示意图;

图3为本发明一实施例的具体步骤示意图;

图4为本发明各实施例中数据抽取的具体结构设计图;

图5为本发明中特征分层抽样实施例的具体结构设计图。

本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例设备可以是pc机或服务器设备。

如图1所示,该设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据抽样程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据抽样程序,并执行下述数据抽样方法各个实施例中的操作。

本发明实施例方案的主要思路是:本发明统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。本发明应用于分布式系统中针对海量数据进行准确地数据抽样,解决了传统分布式数据指定数量的抽样结果不准确的技术问题,相比传统方法抽样准确度有了显著的提升,并能应用于多种数据抽样场景,通过动态调整机制,确保最终放入抽样数据块中的数据条目数为指定数值,以实现准确数据抽样,从而降低数据差异性,避免在抽取指定数量的随机数据时数据分布不均衡导致抽样结果发生较大的差异,导致抽取结果不准确,保证数据抽样的准确性,进而使得抽样结果更精准,提高指定数量的数据抽样准确性,提升数据分析的可靠性和精准度。

本发明实施例考虑到,由于现有技术中,金融大数据分析挖掘需要从庞大数据量中进行分析处理,而数据之间的差异性会导致数据分布不均衡,传统的随机抽样方法的抽样结果容易与指定数值产生较大差异,使得精确度较低,这会造成抽取指定数量的随机数据时,抽取结果不准确,从而降低指定数量的数据抽取准确性,影响数据分析的可靠性和精准度。

本发明提供一种解决方案,可以应用于分布式系统中针对海量数据进行准确地数据抽样,解决了传统分布式数据指定数量的抽样结果不准确的技术问题,相比传统方法抽样准确度有了显著的提升,并能应用于多种数据抽样场景,通过动态调整机制,确保最终放入抽样数据块中的数据条目数为指定数值,以实现准确数据抽样,从而降低数据差异性,避免在抽取指定数量的随机数据时数据分布不均衡导致抽样结果发生较大的差异,导致抽取结果不准确,保证数据抽样的准确性,进而使得抽样结果更精准,提高指定数量的数据抽样准确性,提升数据分析的可靠性和精准度。

基于上述硬件结构,提出本发明数据抽样方法实施例。

本发明属于金融科技领域(fintech),本发明提供一种数据抽样方法,该数据抽样方法可应用于设备上,在数据抽样方法一实施例中,参照图2,所述数据抽样方法包括:

步骤s10,统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

步骤s20,获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

步骤s30,根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

具体内容如下:

步骤s10,统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

本实施例中存在大量的待计算节点。所述待计算节点中保存有大量的数据记录,本实施例设备将统计所有待计算节点中的数据记录,以获得所有待计算节点的数据条目总数。预设的待抽取数据条目数指的是用户指定或者系统指定的将从所有待计算节点中抽取的数据记录总数。因此由待抽取数据条目数m和数据条目总数n,可计算获得抽样比率rate=m/n。

步骤s20,获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

每个待计算节点中都有对应的原数据块,所述数据记录保存在所述原数据块中,数据抽样过程中,设备通过原数据块抽取数据记录,因此需要统计原数据块中的数据记录的条目总数,即剩余未分配数据条目总数。每抽取一条数据记录,对应原数据块中的数据记录将减少1。设备根据剩余未分配数据条目总数和抽样比率,计算出各待计算节点的剩余应抽样数据条目数。具体地,待计算节点统计原数据块数目条数ni作为剩余未分配数据条目总数qi,根据qi和rate,计算剩余应抽样数据条目数li=ni*rate。

进一步地,所述剩余应抽样数据条目数以层剩余应抽样数据条目数表示,所述根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数的步骤包括:

步骤b1,若检测到预设的特征分层指令,则对各待计算节点中剩余未分配数据条目总数的数据记录进行特征分层处理,以获得每个待计算节点中各特征分层的层剩余未分配数据条目总数;

在实际的数据抽样场景中,可能需要对数据进行特征分层。例如指定需要从所有待计算节点中筛选出年龄分别为10岁,20岁,30岁和40岁的数据记录。也就是说,当有特征分层需求时,设备需要先对各待计算节点中的数据记录进行特征分层。特征分层指令可以是由用户特定触发生成的,也可以是系统设备本身预设的日常分类挖掘指令等等。

参照图5,图5为本发明中特征分层抽样实施例的具体结构设计图。

具体地,当检测到特征分层指令时,本实施例将根据特征分层指令将各个待计算节点中剩余未分配数据条目总数的所有数据记录进行特征分层。例如,特征分层指令是年龄分层指令,那么设备将对待计算节点中剩余未分配数据条目总数qi个数据记录进行年龄分层,以得到10岁,20岁,30岁和40岁的年龄特征分层,以获得不同节点中不同特征分层的层剩余未分配数据条目总数。例如a节点3000条剩余未分配数据条目总数,经过分层后a节点中10岁分层的层剩余未分配数据条目总数为1000,20岁分层的层数据条目总数为1000,30岁分层的层数据条目总数为1000。依此类推,b节点有1500条剩余未分配数据条目总数,经过分层后b节点中10岁分层的层剩余未分配数据条目总数为500,20岁分层的层数据条目总数为500,30岁分层的层数据条目总数为500;c节点有1500条剩余未分配数据条目总数,经过分层后c节点中10岁分层的层剩余未分配数据条目总数为490,20岁分层的层数据条目总数为510,30岁分层的层数据条目总数为500。

根据以上方式,可获取到所有待计算节点中各自不同年龄分层的层剩余未分配数据条目总数。所述特征分层处理指的是对数据记录进行分层,数据记录依旧保存在原数据块中。

步骤b2,根据所述层剩余未分配数据条目总数和抽样比率,获得每个待计算节点中各特征分层的层剩余应抽样数据条目数;

通过层剩余未分配数据条目总数和抽样比率,可获得各待计算节点中不同特征分层应的层剩余应抽样数据条目数。例如当前a节点的10岁分层的层剩余未分配数据条目总数为1000,那么根据10%的抽样比例可得到a节点10岁分层的层剩余应抽样数据条目数为1000*10%=100。依次类推获得20岁分层和30岁分层各自的层剩余应抽样数据条目数。

所述根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录的步骤还包括:

统计所有待计算节点中属于同一特征分层的层数据条目总数,并根据所述层数据条目总数和抽样比率,获得层应抽样数据条目总数;

根据各特征分层的层应抽样数据条目总数和层剩余应抽样数据条目数,从原数据块中抽取目标数据记录。

设备统计不同节点的同一分层的层数据条目总数,例如a节点中10岁分层有1000条,b节点中10岁分层有800条,c节点中10岁分层有900条,则统计所有节点中10岁分层的层数据条目总数为1000+800+900=2700。根据抽样比率,10岁分层总共应抽取2700*10%=270条。也就是说,总共需要抽取270条10岁分层的目标数据记录,而a节点的抽取的目标数据记录为1000*10%=100条,以此类推,b节点为80条,c节点为90条。根据层应抽样数据条目总数和层剩余应抽样数据条目数,即可从原数据块中抽取目标数据记录。

步骤s30,根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

获取到剩余应抽样数据条目数之后,根据剩余应抽样数据条目数不断从原数据块中读取目标数据记录d,而此时所获取到的目标数据记录d是在不同待计算节点中根据抽样比率通过随机抽样获取到的,具有极大的可靠性和精准性,避免出现大部分目标数据记录来自于同一个待计算节点中的现象。将所述目标数据记录d保存在抽样结果数据库中,所述抽样结果数据库中保存着所有待计算节点根据抽样比率获取到的最终抽样结果。所述抽样结果数据库通常以抽样数据块e表示。

进一步地,参照图3,图3为本实施例中具体步骤示意图,所述将所述目标数据记录保存至抽样结果数据库中的步骤之前还包括:

步骤a1,获取预设的随机数种子;

步骤a2,获取所述待计算节点的节点编号,并根据所述随机数种子和所述节点编号生成随机数;

可以理解的是,最终通过抽样所获取到的目标数据记录d,需要经过进一步运算筛选。具体过程为,设备中保存有预设的随机数种子。所述随机数种子(randomseed)是一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。设备根据剩余应抽样数据条目数从原数据块中抽取出目标数据记录,同时从数据库中调取出随机数种子。

由于本发明中存在大量的待计算节点,为方便分辨定位,本实施例中对所有待计算节点进行编号,例如包括001节点,002节点,003节点等节点编号,以此类推。所述节点编号和随机数种子相结合,可生成一个专属于该待计算节点的随机数。即,不同的待计算节点根据各自对应的节点编号,即可与随机数种子生成独有的随机数。具体地,基于随机数种子和节点编号id生成取值范围为[0,1]的随机数r。

步骤a3,若所述剩余未分配数据条目总数和所述随机数的乘积值小于所述剩余应抽样数据条目数,则将目标数据记录保存至抽样结果数据库;

步骤a4,若所述剩余未分配数据条目总数和所述随机数的乘积值大于或等于所述剩余应抽样数据条目数,则将目标数据记录丢弃。

将剩余未分配数据条目总数和随机数进行运算,获得乘积值。若乘积值小于剩余应抽样数据条目数,则证明当前的目标数据记录能够作为合格的抽样结果,设备将把目标数据记录保存在抽样结果数据库中。具体地,当剩余未分配数据条目总数和随机数的计算公式如下:qi*r。当qi*r<=li时,设备将把目标数据记录d写入抽样数据块e,同时剩余应抽样的数据条目数li=li-1,否则目标数据记录d将被丢弃。

可以理解的是,本实施例中是针对待计算节点中所有数据记录的执行步骤,因此在完成当前该待计算节点的首次数据抽样之后,设备将对当前该待计算节点的剩余未分配数据条目总数进行减1操作,即qi=qi-1,并进行下一条数据抽样。

此方法通过动态调节qi和li的大小关系来判断数据条目d是否应放入抽样数据块e中。当前期已抽取的数据条目数过多时,li快速减小,导致后期读取的数据条目放入li的概率更小,当li减小为0之后,新读取的数据条目d将不再放入e中;反之,当前期已抽取的数据条目数过少时,li仍旧比较大,导致后期读取的数据条目放入li的概率较大,而当qi=li后,新读取的数据条目都将放入e中。通过上述这种动态调整机制,能够确保最终放入抽样数据块e中的数据条目数等于ni*rate,从而实现准确数据抽样。

参照图4,图4为本发明实现数据抽取的具体结构设计图。

本发明统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。本发明应用于分布式系统中针对海量数据进行准确地数据抽样,解决了传统分布式数据指定数量的抽样结果不准确的技术问题,相比传统方法抽样准确度有了显著的提升,并能应用于多种数据抽样场景,通过通过动态调整机制,确保最终放入抽样数据块中的数据条目数为指定数值,以实现准确数据抽样,从而降低数据差异性,避免在抽取指定数量的随机数据时数据分布不均衡导致抽样结果发生较大的差异,导致抽取结果不准确,保证数据抽样的准确性,进而使得抽样结果更精准,提高指定数量的数据抽样准确性,提升数据分析的可靠性和精准度。

进一步地,基于第一实施例,提出本发明数据抽样方法的第二实施例,在该实施例中,所述获得各待计算节点的剩余应抽样数据条目数的步骤之后还包括:

步骤a,若所述剩余应抽样数据条目数中存在非整数形式的目标剩余应抽样数据条目数,则对所述目标剩余应抽样数据条目数进行取整处理;

在计算抽样比例rate的过程中,rate=m/n,也就是说,rate是浮点数,可能导致待计算节点在抽样过程中的目标剩余应抽样数据条目数发生偏差,最终多抽样1条数据或少抽样1条数据,大小记为那么整体偏差而这个偏差,将导致所有待计算节点在数据抽取过程中出现数据不精确的问题。因此设备需要定位出剩余应抽样数据条目数中的非整数形式的目标剩余应抽样数据条目数,并对其进行取整处理,即将其转化为整数形式,例如将100.1转化为100,将200.9转化为201,即[100.1]=100,[200.9]=201。

步骤b,在取整处理后,从各待计算节点中确定目标待补偿节点,并根据所述待抽取数据条目数和所述剩余应抽样数据条目数对所述目标待补偿节点进行补偿处理,以更新所述目标待补偿节点的剩余应抽样数据条目数。

取整过程将使得目标剩余应抽样数据条目数发生改变,因此需要进行补偿处理,即在前面的待计算节点中多抽取一条数据记录,则在后边的待计算节点中少抽取一条作为补偿。由于被取整的目标剩余应抽样数据条目数可能有多个,因此需要从众多待计算节点中确定目标待补偿节点进行补偿处理。将所有待计算节点中用以做补偿处理的目标待计算节点定位出来,例如将节点编号100的待计算节点作为目标待计算节点,根据待抽取数据条目数和该待计算节点的剩余应抽样数据条目数对目标待计算节点进行补偿处理。即具体地,本实施例在第n个待计算节点进行补偿,即统计前n-1个待计算节点的抽样数目条数得到抽样补偿值,则第n个待计算节点应抽取数据条目数从而动态调整第n个待计算节点的应抽取数据条目数,实现抽样条目数的补偿处理,可以确保分布式系统总体抽样数据的准确性。

例如,抽样比率是10%,a节点有条数据记录,b节点有1507条数据记录,c节点有1485条数据记录,待抽取数据条目数为500,a节点10%的抽样比率得到剩余应抽样数据条目数为200.8,确定c节点为目标待补偿节点,首先,经过取整后a节点为201,a点抽样补偿值=500(待抽样数据条目数)-201(a节点剩余应抽样数据条目数)=299;此时b节点10%的抽样比率得到剩余应抽样数据条目数为150.7,取整后b节点为151,b点抽样补偿值=299(a点抽样补偿值)-151(b节点剩余应抽样数据条目数)=148。由于此时经过a、b节点的计算后,除了目标待补偿节点c节点之外,再无其他节点,因此将b点抽样补偿值148将作为c节点经过补偿处理后的剩余应抽样补偿值。也就是说,作为目标待补偿节点的c节点补偿处理后的剩余应抽样数据条目数=500(待抽样数据条目数)-201(a节点剩余应抽样数据条目数)-151(b节点剩余应抽样数据条目数)=148。

进一步地,基于第一实施例,提出本发明数据抽样方法的第三实施例,在该实施例中,所述获得每个待计算节点中各特征分层的层剩余应抽样数据条目数的步骤之后还包括:

步骤b3,若所述层剩余应抽样数据条目数中存在非整数形式的层目标剩余应抽样数据条目数,则对所述层目标剩余应抽样数据条目数进行取整处理;

步骤b4,在取整处理后,从各特征分层中确定目标特征分层,并根据所述层应抽样数据条目总数和所述层剩余应抽样数据条目数对所述目标特征分层进行补偿处理,以更新所述目标特征分层的层剩余应抽样数据条目数。

具体地,为方便理解,以下将通过一个例子进行解释说明。假设当前待抽取数据条目数为500,有a,b,c三个待计算节点,a节点有条剩余未分配数据条目总数,b节点有1507条剩余未分配数据条目总数,c节点有1485条剩余未分配数据条目总数,即所有节点共有5000条数据条目总数,因此抽样比率为500/5000=10%。根据特征分层指令进行分层后,假设:

a节点中a1层有668条层剩余未分配数据条目总数,b1层有670条层剩余未分配数据条目总数,c1层有670条层剩余未分配数据条目总数;

b节点中a2层有505条层剩余未分配数据条目总数,b2层有500条层剩余未分配数据条目总数,c2层有502条层剩余未分配数据条目总数;

c节点中a3层有495条层剩余未分配数据条目总数,b3层有495条层剩余未分配数据条目总数,c3层有495条层剩余未分配数据条目总数。

根据所有节点获取到各层的层剩余未分配数据条目总数为:a层=a1层+a2层+a3层=1668,b层=b1层+b2层+b3层=1665;c层=c1层+c2层+c3层=1667,对应抽样比率为a层需要抽1668*10%=166.8条,四舍五入取整为167条;b层需要抽1665*10%=166.5条,四舍五入取整为167条;c层需要抽1667*10%=166.7条,四舍五入取整为167条。

根据抽样比率,可得以下数据:

a节点:a1层抽取66.8条层剩余应抽样数据条目数,b1层抽取67条层剩余应抽样数据条目数,c1层抽取67条层剩余应抽样数据条目数;

b节点:a2层抽取50.5条层剩余应抽样数据条目数,b2层抽取50条层剩余应抽样数据条目数,c2层抽取50.2条层剩余应抽样数据条目数;

c节点:a3层抽取49.5条层剩余应抽样数据条目数,b3层抽取49.5条层剩余应抽样数据条目数,c3层抽取49.5条层剩余应抽样数据条目数。

由于存在非整数形式的层目标剩余应抽样数据条目数,因此需要进行取整处理,假设c节点中的特征分层都确定为目标特征分层,由于本发明中的节点抽取是有先后顺序的,因此本实施例是分步骤执行,

步骤1、计算a节点:

a节点中,a1层抽取67条层剩余应抽样数据条目数,b1层抽取67条层剩余应抽样数据条目数,c1层抽取67条层剩余应抽样数据条目数;

a1层抽样补偿值=167(a层的层剩余未分配数据条目总数)-67(a1层的层剩余应抽样数据条目数)=100;

b1层抽样补偿值=167(b层的层剩余未分配数据条目总数)-67(b1层的层剩余应抽样数据条目数)=100;

c1层抽样补偿值=167(c层的层剩余未分配数据条目总数)-67(c1层的层剩余应抽样数据条目数)=100。

步骤2、计算b节点:

b节点中,a2层抽取51条层剩余应抽样数据条目数,b2层抽取50条层剩余应抽样数据条目数,c2层抽取50条层剩余应抽样数据条目数;

a2层抽样补偿值=100(a1层的层抽样补偿值)-51(a2层的层剩余应抽样数据条目数)=49;

b2层抽样补偿值=100(b1层的层抽样补偿值)-50(b2层的层剩余应抽样数据条目数)=50;

c2层抽样补偿值=100(c1层的层抽样补偿值)-50(c2层的层剩余应抽样数据条目数)=50。

步骤3、计算c节点:

由于经过a、b节点的计算后,仅剩下c节点,因此c节点中a3层的层剩余应抽样数据条目数=a2层抽样补偿值=49,b3层的层剩余应抽样数据条目数=b2层抽样补偿值=50,c3层的层剩余应抽样数据条目数=c2层抽样补偿值=50。

需要说明的是,以上目标特征分层集中在c节点仅为举例,实际过程中目标特征分层并不局限于同一个待计算节点,也就是说,不同的目标特征分层可以处于不同的待计算节点中,在此不作限定。

进一步地,所述从原数据块中抽取目标数据记录的步骤之后还包括:

将所述目标数据记录按照各特征分层进行分类排列,以生成目标数据记录分类表并输出显示。

目标数据记录通过特征分层处理后抽取出来,但用户并不知道提取了哪些特征的数据记录。例如,用户只知道设备通过年龄分层进行数据抽取,但并不知道抽取了哪些年龄段的多少数据。因此,本实施例提供一种分类排列方法,将目标数据记录按照对应的特征分层进行分类排列。例如当前抽取到的目标数据记录有10岁分层的d1,20岁分层的d2,d3,d4,30岁分层的d5,d6,d7,d8,d9。那么本实施例将根据各目标数据记录所属的特征分层,将d1分类排列到10岁分层中,将d2,d3,d4分类排列到20岁分层中,将d5,d6,d7,d8,d9分类排列到30岁分层中,以生成目标数据记录表并显示给用户查看。

进一步地,基于第一实施例,提出本发明数据抽样方法的第四实施例,在该实施例中,所述数据抽样方法还包括:

步骤c,将所有待计算节点进行数据封装,并统计各已封装的待计算节点中的所需运行资源;

步骤d,根据各所需运行资源调取预设的系统运行资源,并根据所述系统运行资源以进程形式封装运行对应的待计算节点。

所有待计算节点在进行数据计算和数据抽取时,需要占用大量的系统运行资源,为避免发生数据串行,本实施例采用数据封装的形式将待计算节点进行封装,从而使得每个待计算节点都能独立计算,降低待计算节点之间的耦合性。同时统计各个通过封装处理的待计算节点所需要的运行资源,所述运行资源包括数据计算,分发等步骤,具体可通过待计算节点中的数据量以及数据处理的单次计算量进行预估统计,从而获得各个已封装的待计算节点的所需运行资源。

将所述所需运行资源传输到系统中,根据所需运行资源的容量大小调取预设的系统运行资源。例如,所需运行资源为800m运行内存,那么系统将从内存中调取出相应的800m系统运行资源,以供待计算节点使用。由于待计算节点当前已经被封装处理,因此可将待计算节点的抽样计算过程设置为单独的事项,以单一进程进行封装运行,即根据所述系统运行资源以进程形式封装运行对应的待计算节点。

通过以上方案,将待计算节点进行封装运行处理,极大地避免了待计算节点在抽样计算过程中出现数据溢出或数据串行的现象发生,极大地保障了抽样过程的准确性,降低了待计算节点之间的耦合性。

此外,本发明实施例还提出一种数据抽样装置,所述数据抽样装置包括:

统计模块,用于统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

获取模块,用于获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

抽取模块,用于根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

可选地,所述抽取模块包括:

第一抽取单元,用于获取预设的随机数种子;

生成单元,用于获取所述待计算节点的节点编号,并根据所述随机数种子和所述节点编号生成随机数;

保存单元,用于若所述剩余未分配数据条目总数和所述随机数的乘积值小于所述剩余应抽样数据条目数,则将目标数据记录保存至抽样结果数据库;

丢弃单元,用于若所述剩余未分配数据条目总数和所述随机数的乘积值大于或等于所述剩余应抽样数据条目数,则将目标数据记录丢弃。

可选地,所述数据抽样装置还包括:

取整模块,用于若所述剩余应抽样数据条目数中存在非整数形式的目标剩余应抽样数据条目数,则对所述目标剩余应抽样数据条目数进行取整处理;

补偿模块,用于在取整处理后,从各待计算节点中确定目标待补偿节点,并根据所述待抽取数据条目数和所述剩余应抽样数据条目数对所述目标待补偿节点进行补偿处理,以更新所述目标待补偿节点的剩余应抽样数据条目数。

可选地,所述剩余应抽样数据条目数以层剩余应抽样数据条目数表示,所述获取模块包括:

分层单元,用于若检测到预设的特征分层指令,则对各待计算节点中剩余未分配数据条目总数的数据记录进行特征分层处理,以获得每个待计算节点中各特征分层的层剩余未分配数据条目总数;

获得单元,用于根据所述层剩余未分配数据条目总数和抽样比率,获得每个待计算节点中各特征分层的层剩余应抽样数据条目数;

所述抽取模块还包括:

统计单元,用于统计所有待计算节点中属于同一特征分层的层数据条目总数,并根据所述层数据条目总数和抽样比率,获得层应抽样数据条目总数;

第二抽取单元,用于根据各特征分层的层应抽样数据条目总数和层剩余应抽样数据条目数,从原数据块中抽取目标数据记录。

可选地,所述获取模块还包括:

取整单元,用于若所述层剩余应抽样数据条目数中存在非整数形式的层目标剩余应抽样数据条目数,则对所述层目标剩余应抽样数据条目数进行取整处理;

补偿单元,用于在取整处理后,从各特征分层中确定目标特征分层,并根据所述层应抽样数据条目总数和所述层剩余应抽样数据条目数对所述目标特征分层进行补偿处理,以更新所述目标特征分层的层剩余应抽样数据条目数。

可选地,所述抽取模块还用于,将所述目标数据记录按照各特征分层进行分类排列,以生成目标数据记录分类表并输出显示。

可选地,所述数据抽样装置还包括:

封装模块,用于将各待计算节点进行数据封装,并统计各已封装的待计算节点中的所需运行资源;

运行模块,用于根据各所需运行资源调取预设的系统运行资源,并根据所述系统运行资源以进程形式封装运行对应的待计算节点。

此外,本发明实施例还提出一种设备,设备包括:存储器109、处理器110及存储在存储器109上并可在处理器110上运行的数据抽样程序,所述数据抽样程序被处理器110执行时实现上述的数据抽样方法各实施例的步骤。

此外,本发明还提供了一种计算机存储介质,所述计算机存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述数据抽样方法各实施例的步骤。

本发明设备及存储介质(即计算机存储介质)的具体实施方式的拓展内容与上述数据抽样方法各实施例基本相同,在此不做赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

技术特征:

1.一种数据抽样方法,其特征在于,所述数据抽样方法包括:

统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

2.如权利要求1所述的数据抽样方法,其特征在于,所述将所述目标数据记录保存至抽样结果数据库中的步骤之前还包括:

获取预设的随机数种子;

获取所述待计算节点的节点编号,并根据所述随机数种子和所述节点编号生成随机数;

若所述剩余未分配数据条目总数和所述随机数的乘积值小于所述剩余应抽样数据条目数,则将目标数据记录保存至抽样结果数据库;

若所述剩余未分配数据条目总数和所述随机数的乘积值大于或等于所述剩余应抽样数据条目数,则将目标数据记录丢弃。

3.如权利要求1所述的数据抽样方法,其特征在于,所述获得各待计算节点的剩余应抽样数据条目数的步骤之后还包括:

若所述剩余应抽样数据条目数中存在非整数形式的目标剩余应抽样数据条目数,则对所述目标剩余应抽样数据条目数进行取整处理;

在取整处理后,从各待计算节点中确定目标待补偿节点,并根据所述待抽取数据条目数和所述剩余应抽样数据条目数对所述目标待补偿节点进行补偿处理,以更新所述目标待补偿节点的剩余应抽样数据条目数。

4.如权利要求1所述的数据抽样方法,其特征在于,所述剩余应抽样数据条目数以层剩余应抽样数据条目数表示,所述根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数的步骤包括:

若检测到预设的特征分层指令,则对各待计算节点中剩余未分配数据条目总数的数据记录进行特征分层处理,以获得每个待计算节点中各特征分层的层剩余未分配数据条目总数;

根据所述层剩余未分配数据条目总数和抽样比率,获得每个待计算节点中各特征分层的层剩余应抽样数据条目数;

所述根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录的步骤还包括:

统计所有待计算节点中属于同一特征分层的层数据条目总数,并根据所述层数据条目总数和抽样比率,获得层应抽样数据条目总数;

根据各特征分层的层应抽样数据条目总数和层剩余应抽样数据条目数,从原数据块中抽取目标数据记录。

5.如权利要求4所述的数据抽样方法,其特征在于,所述获得每个待计算节点中各特征分层的层剩余应抽样数据条目数的步骤之后还包括:

若所述层剩余应抽样数据条目数中存在非整数形式的层目标剩余应抽样数据条目数,则对所述层目标剩余应抽样数据条目数进行取整处理;

在取整处理后,从各特征分层中确定目标特征分层,并根据所述层应抽样数据条目总数和所述层剩余应抽样数据条目数对所述目标特征分层进行补偿处理,以更新所述目标特征分层的层剩余应抽样数据条目数。

6.如权利要求4所述的数据抽样方法,其特征在于,所述从原数据块中抽取目标数据记录的步骤之后还包括:

将所述目标数据记录按照各特征分层进行分类排列,以生成目标数据记录分类表并输出显示。

7.如权利要求1-6任一项所述的数据抽样方法,其特征在于,所述数据抽样方法还包括:

将各待计算节点进行数据封装,并统计各已封装的待计算节点中的所需运行资源;

根据各所需运行资源调取预设的系统运行资源,并根据所述系统运行资源以进程形式封装运行对应的待计算节点。

8.一种数据抽样装置,其特征在于,所述数据抽样装置包括:

统计模块,用于统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;

获取模块,用于获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;

抽取模块,用于根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。

9.一种设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的数据抽样程序,所述数据抽样程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据抽样方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有数据抽样程序,所述数据抽样程序被处理器执行时实现如权利要求1至7中任一项所述的数据抽样方法的步骤。

技术总结

本发明涉及金融科技领域,本发明公开了一种数据抽样方法、装置、设备及存储介质,所述数据抽样方法包括:统计多个待计算节点的数据条目总数,并根据预设的待抽取数据条目数和所述数据条目总数,获得抽样比率;获取各待计算节点中原数据块的剩余未分配数据条目总数,并根据所述剩余未分配数据条目总数和所述抽样比率,获得各待计算节点的剩余应抽样数据条目数;根据所述剩余应抽样数据条目数从原数据块中抽取目标数据记录,并将所述目标数据记录保存至抽样结果数据库中。本发明解决传统分布式数据指定数量的抽样结果不准确的技术问题。

技术研发人员:陈瑞钦;黄启军;李诗琦;唐兴兴;林冰垠

受保护的技术使用者:深圳前海微众银行股份有限公司

技术研发日:.10.31

技术公布日:.02.21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。