一种信息处理方法和电子设备与流程

文档序号:19418586发布日期:2019-12-14 01:11阅读:122来源:国知局
本申请涉及电子设备领域,更具体的说,是涉及一种信息处理方法和电子设备。
背景技术
::leapocean是一种面向分析的高性能大数据管理平台。基于这一平台,企业可以快速构建以综合数据分析为目标的企业大数据仓库。提供汇聚高价值数据的接入与统一存储管理,基于海量数据的多并发秒级响应实时分析计算,多模式主题建模、数据探索、关键数据应用开发与发布,支持企业各类数据用户快速发掘商机、有效防范风险、高效科学决策。leapocean产品开发中,需要对系统内管理的每个数据表进行统计分析,统计分析中包括对表中每个数值列中位数统计,但数据量比较大时中位数的获取非常耗费计算资源,比如对9亿条数据的单一数值列获取的cpu(centralprocessingunit,中央处理器)总耗时约为数小时。现有技术中,支持通过tablesample关键字,使用采样方式来查询数据部分数据,但以百分比或固定数量方式采样时,需要扫描整个表的所有分桶,造成大量计算资源的占用,同时导致采样耗时很长。技术实现要素:有鉴于此,本申请提供了一种信息处理方法,解决现有技术中采样时需要扫描整个表的所有分桶,导致占用大量计算资源以及耗时长的问题。为实现上述目的,本申请提供如下技术方案:一种信息处理方法,包括:获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;从所述至少一个目标桶中采样所述数量的目标采样数据。优选的,上述的方法,所述依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的起始目标桶信息;以所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始,按照预设的选择规则,从所述数据库中选择至少一个目标桶。优选的,上述的方法,按照预设的选择规则,从所述数据库中选择至少一个目标桶,包括以下任意一种:以所述第一目标桶为起始,依次从所述数据库中选择至少一个目标桶;或以所述第一目标桶为起始,从所述数据库中随机选择至少一个目标桶。优选的,上述的方法,所述依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的阈值,所述阈值表征能够从所述桶中采样数据的最大量;依据目标采样数据数量以及所述阈值,计算得到目标桶个数;从所述数据库中选择所述个数的目标桶。优选的,上述的方法,从目标桶中采样数据,包括:按照所述预设的阈值,从所述目标桶中采样数据。一种电子设备,包括:获取模块,用于获取采样参数;计算模块,用于依据所述采样参数计算得到目标采样数据数量;选择模块,用于依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;采样模块,用于从所述至少一个目标桶中采样所述数量的目标采样数据。优选的,上述的电子设备,所述选择模块,包括:获取单元,用于获取预设的起始目标桶信息;选择单元,用于以所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始,按照预设的选择规则,从所述数据库中选择至少一个目标桶。优选的,上述的电子设备,选择单元具体用于以下任意一种:以所述第一目标桶为起始,依次从所述数据库中选择至少一个目标桶;或以所述第一目标桶为起始,从所述数据库中随机选择至少一个目标桶。优选的,上述的电子设备,所述选择模块,用于:获取预设的阈值,所述阈值表征能够从所述桶中采样数据的最大量;依据目标采样数据数量以及所述阈值,计算得到目标桶个数;从所述数据库中选择所述个数的目标桶。一种电子设备,包括:存储器,用于存储数据库,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;处理器,用于获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶;从所述至少一个目标桶中采样所述数量的目标采样数据。经由上述的技术方案可知,与现有技术相比,本申请提供了一种信息处理方法,包括:获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数;从所述至少一个目标桶中采样所述数量的目标采样数据。本方案中,通过对数据库中大量桶中的部分进行采样,无需扫描整个表的所有分桶,计算资源占用少,耗时短。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请提供的一种信息处理方法实施例1的流程图;图2为本申请提供的一种信息处理方法实施例2的流程图;图3为本申请提供的一种信息处理方法实施例2中选择目标桶示意图;图4为本申请提供的一种信息处理方法实施例3的流程图;图5为本申请提供的一种信息处理方法的应用场景中的数据关系图;图6为本申请提供的一种电子设备实施例1的结构示意图;图7为本申请提供的一种电子设备实施例2的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,数据库中设置有若干个桶,该桶用于存储数据。存储数据的方式多种,如依次将数据存入顺序排列的桶中,但是这种存储数据的方式会导致存入的数据具有一定的规律,因此,现有技术中,基于该存储数据的方式,在对数据进行采样时,需要对每个桶中的数据分别进行采样,才能够保证采样的准确度。如图1所示的,为本申请提供的一种信息处理方法实施例1的流程图,该方法应用于一电子设备,该方法包括以下步骤:步骤s101:获取采样参数;其中,当对于数据中的数据条目进行采样时,可以先获取预设的采样参数,该采样参数可以是以比例表示,如1%,9万分之一,1/10000,等,本申请中不对采样参数的数值以及形式进行限制。步骤s102:依据所述采样参数计算得到目标采样数据数量;具体的,根据数据表中待采样数据的总量,以及该采样参数,计算得到目标采样数据数量例如,数据表中记录数据是9亿条,采样率是9万分之一,则计算得到采样数据数量是1万条。当然,具体实施中,可以直接设置采样参数是目标采样数据的数量,则可以直接根据该目标采样数据的数量,从数据库中进行采样,无需执行步骤s102的计算过程,具体实施中,采样参数的形式以及数值可以根据实际情况进行设置,本申请中不对采样参数的数值以及形式进行限制。步骤s103:依据所述目标采样数据数量,从数据库中选择至少一个目标桶;其中,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量。其中,该待采样的数据表存储在数据库中,该数据库中是以若干个桶的形式来承载该数据表。具体的,该数据表分桶存储在数据库的过程中,先将数据进行随机处理,再将随机处理后的数据条目随机分配到数据库中桶中。需要说明的是,数据进行随机处理后,再随机分配到数据库中的任意桶,数据存储的随机性更大,相应的,采用随机采样的方式进行采样的准确度更高。具体实施中,可以采用hash(哈希),对于数据进行随机处理,这是因为hash能够对于数据进行均匀的随机处理,使得数据表中的任意数据均是被随机处理的,进一步的,将该随机处理后的数据随机分配存储到数据库中的任意桶,增加了数据存储的随机性,为后续随机采样提供更优的待采样数据。其中从数据库中选择与该目标采样数据对应个数的目标桶,后续实施例中会针对选择的过程进行详细说明,本实施例中不做详述。步骤s104:从所述至少一个目标桶中采样所述数量的目标采样数据。其中,从该目标桶中进行采样,至采样的数量满足该目标采样数据的数量。具体实施中,可以按照确定的目标桶,依次进行采样,可以按照选择的目标桶,按照随机顺序进行采样,本申请中不对采样的具体过程做限制。需要说明的是,具体实施中,可以选择是采用该方案中部分桶进行采样,也可以选择对于全部桶进行采样的方案。具体根据预先设置的方式进行采样,当然该预先设置的方式也可以影响数据存储的方式,例如,如果采用对于全部桶进行采样的方案,可以在数据存储时直接采用现有技术中的数据存储方式,无需对数据进行随机处理再随机存储的过程。当然,具体实施中,无论采用哪种采样方案,可以均对数据进行随机处理再随机存储,本申请不对此做限制。综上,本实施例提供的一种信息处理方法,包括:获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数;从所述至少一个目标桶中采样所述数量的目标采样数据。本方案中,通过对数据库中大量桶中的部分桶进行采样,无需扫描整个表的所有分桶,计算资源占用少,耗时短。如图2所示的,为本申请提供的一种信息处理方法实施例2的流程图,该方法应用于一电子设备,该方法包括以下步骤:步骤s201:获取采样参数;步骤s202:依据所述采样参数计算得到目标采样数据数量;其中步骤s201-202与实施例1中的步骤s101-102一致,本实施例中不赘述。步骤s203:获取预设的起始目标桶信息;其中,该电子设备中还预设有起始目标桶信息,该起始目标桶可以是数据库中待采样的桶中任意桶。具体的,该起始目标桶信息可以是桶的编号,也可以是数据库中桶的比例值,还可以是数据库中桶的具体位置信息,如所在行数和/或列数。步骤s204:根据所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始;根据该起始目标桶信息,从该数据库的若干桶中,选择第一目标桶作为起始采样的目标桶,开始进行数据采样。例如,该起始目标桶信息是500,则确定该起始采样的目标桶是排序500的桶。又如,该起始目标桶信息是数据库中桶的比例值,如20%,则以该比例值对应桶后的第一个桶为起始采样桶,该数据库中的桶的数量是100个,则该起始采样的目标桶是排序21的桶。又如,该起始目标桶信息是数据库中桶的具体位置信息,如第10行第2列,则该具体位置是第10行第2个桶为起始采样的目标桶。当然,具体实施中,还可以采用其他形式表示该起始目标桶,本申请中不做限制。步骤s205:按照预设的选择规则,从所述数据库中选择至少一个目标桶;其中,预设有选择规则,该选择规则包括:依次选择以及随机选择等。具体的,在选择了起始采样的目标桶后,按照该选择规则,从数据库中选择剩余的目标桶。具体的,该步骤s205具体包括以下任意一种:以所述第一目标桶为起始,依次从所述数据库中选择至少一个目标桶;或以所述第一目标桶为起始,从所述数据库中随机选择至少一个目标桶。如图3所示的是本实施例中提供的选择目标桶示意图,起始采样的目标桶标号是89,待采样的目标桶个数是5,图中采样黑色圆点表示目标桶,白色圆点表示数据库中非目标桶。其中,(a)是依次选择示意图,该(a)中,依次采集的目标桶是89、90、91、92、93。其中,(b)是随机选择示意图,该(b)中,采集的目标桶分别是89、92、95、96、100。步骤s206:从所述至少一个目标桶中采样所述数量的目标采样数据。其中步骤s206与实施例1中的步骤s104一致,本实施例中不赘述。综上,本实施例提供的一种信息处理方法中,依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的起始目标桶信息;以所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始,按照预设的选择规则,从所述数据库中选择至少一个目标桶。本方案中,以预设的起始目标桶为采样起始的桶,采样方式灵活。如图4所示的,为本申请提供的一种信息处理方法实施例3的流程图,该方法应用于一电子设备,该方法包括以下步骤:步骤s401:获取采样参数;步骤s402:依据所述采样参数计算得到目标采样数据数量;其中步骤s401-402与实施例1中的步骤s101-102一致,本实施例中不赘述。步骤s403:获取预设的阈值;其中,所述阈值表征能够从所述桶中采样数据的最大量。其中,阈值可以是比例值,也可以是具体的数据量。例如,从桶中可以采样的数据比例是50%,100%,1/4,或者是100条等。当然,上述示例中的数据仅是用于说明该阈值可以取的值,具体实施中可以根据实际情况设置该阈值的具体数值,本实施例中不做限制。步骤s404:依据目标采样数据数量以及所述阈值,计算得到目标桶个数;其中,根据该目标采样数据数量以及每个目标桶中能够采样的阈值,计算目标桶的个数。例如,目标采样数据数量是10000条,每个目标桶中能够采样的阈值是500条,则计算得到目标桶的个数是10000/500=20,则确定得到的目标桶个数是20;又如,目标采样数据数量是10020条,每个目标桶能够采样的阈值的500条,由于10020/500=200余20,则再增加一个目标桶采样该剩余的20个目标数据,所以计算得到目标桶的个数是21。步骤s405:从所述数据库中选择所述个数的目标桶;其中,根据该确定的目标桶的个数,从该数据库中选择该个数的目标桶。具体实施中,从数据库中选择目标桶的方式可以参考上述实施例2中的方式,本实施例中不做赘述。步骤s406:从所述至少一个目标桶中采样所述数量的目标采样数据。具体的,从目标桶中采样数据,包括:按照所述预设的阈值,从所述目标桶中采样数据。其中,从该多个目标桶中分别采样目标采样数据。具体的,从任一目标桶中采样与该预设阈值对应的数据。需要说明的是,当该目标桶是最后一个目标桶,且该剩余的待采样的数量小于该阈值对应的数量时,则根据该剩余的待采样的数量从该目标桶中采样数据。综上,本实施例提供的一种信息处理方法中,该依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的阈值,所述阈值表征能够从所述桶中采样数据的最大量;依据目标采样数据数量以及所述阈值,计算得到目标桶个数;从所述数据库中选择所述个数的目标桶。本方案中,设定了每个桶能被采样的最大量,能够基于此选择目标桶个数并进行采样。本申请还提供的一种信息处理方法的应用场景中,该应用场景中,该采样任务是由是apachehive任务实现。其中,可以使用如下指令定义采样过程:指令1:sethive.sample.section.enable=true#开启优化模式,默认为true指令2:sethive.sample.section.firstbucket=n#设定采样开始分桶编号,默认为1指令3:select*fromsourcetablesample(xpercent)s#通过百分比获取采样数据指令4:select*fromsourcetablesample(yrows)#通过固定行数获取采样数据其中上述指令1用于在本方法开始时,设置是采用本方案中的部分采样方案。以上方式跟apachehive支持的api(applicationprogramminginterface,应用程序编程接口)保持兼容,对上层应用保持透明,既有的hive客户端不需要改造。如图5所示的为本申请提供的一种信息处理方法的应用场景中的数据关系图。采样请求通过jdbcapi101输入给hiveengine(引擎)102,该hive引擎102用于执行该信息处理方法,并实现对数据库表103中的数据进行采样。其中,该数据库表中具有多个表存储分桶,根据采样数据采样指定桶b1和b2。与上述本申请提供的一种信息处理方法实施例相对应的,本申请还提供了应用该信息处理方法的电子设备实施例。如图6所示的为本申请提供的一种电子设备实施例1的结构示意图,该电子设备包括以下结构:获取模块601、计算模块602和选择模块603;其中,该获取模块601,用于获取采样参数;其中,该计算模块602,用于依据所述采样参数计算得到目标采样数据数量;其中,该选择模块603,用于依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;采样模块,用于从所述至少一个目标桶中采样所述数量的目标采样数据。优选的,所述选择模块,包括:获取单元,用于获取预设的起始目标桶信息;选择单元,用于以所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始,按照预设的选择规则,从所述数据库中选择至少一个目标桶。优选的,选择单元具体用于以下任意一种:以所述第一目标桶为起始,依次从所述数据库中选择至少一个目标桶;或以所述第一目标桶为起始,从所述数据库中随机选择至少一个目标桶。优选的,所述选择模块,用于:获取预设的阈值,所述阈值表征能够从所述桶中采样数据的最大量;依据目标采样数据数量以及所述阈值,计算得到目标桶个数;从所述数据库中选择所述个数的目标桶。优选的,采样模块,具体用于,按照所述预设的阈值,从所述目标桶中采样数据。综上,本申请提供了一种电子设备,包括:获取模块,用于获取采样参数;计算模块,用于依据所述采样参数计算得到目标采样数据数量;选择模块,用于依据所述目标采样数据数量,从数据库中选择至少一个目标桶,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;采样模块,用于从所述至少一个目标桶中采样所述数量的目标采样数据。本方案中,通过对数据库中大量桶中的部分进行采样,无需扫描整个表的所有分桶,计算资源占用少,耗时短。如图7所示的为本申请提供的一种电子设备实施例2的结构示意图,该电子设备包括以下结构:存储器701和处理器702;其中,该存储器701,用于存储数据库,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量其中,该处理器702,用于获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶;从所述至少一个目标桶中采样所述数量的目标采样数据。优选的,处理器702依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的起始目标桶信息;以所述起始目标桶信息,从所述数据库中选择第一目标桶作为起始,按照预设的选择规则,从所述数据库中选择至少一个目标桶。优选的,处理器702按照预设的选择规则,从所述数据库中选择至少一个目标桶,包括以下任意一种:以所述第一目标桶为起始,依次从所述数据库中选择至少一个目标桶;或以所述第一目标桶为起始,从所述数据库中随机选择至少一个目标桶。优选的,处理器702依据所述目标采样数据数量,从数据库中选择至少一个目标桶,包括:获取预设的阈值,所述阈值表征能够从所述桶中采样数据的最大量;依据目标采样数据数量以及所述阈值,计算得到目标桶个数;从所述数据库中选择所述个数的目标桶。优选的,处理器702从目标桶中采样数据,包括:按照所述预设的阈值,从所述目标桶中采样数据。具体实施中,该处理器采用具有信息处理能力的功能结构,如cpu(centralprocessingunit,中央处理器)。该存储器采用具有信息存储能力的功能结构,如rom(readonlymemory只读存储器)、ram(ramdomaccessmemory,随机存取存储器)、flashmemory(闪存),硬盘等等。综上,本申请提供了一种电子设备,包括:存储器,用于存储数据库,所述数据库中包含至少两个桶,每个桶中随机分配有经过随机处理的数据,所述目标桶数量小于所述数据库中桶的数量;处理器,用于获取采样参数;依据所述采样参数计算得到目标采样数据数量;依据所述目标采样数据数量,从数据库中选择至少一个目标桶;从所述至少一个目标桶中采样所述数量的目标采样数据。本方案中,通过对数据库中大量桶中的部分进行采样,无需扫描整个表的所有分桶,计算资源占用少,耗时短。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1