一种数据处理方法、系统和计算机可读存储介质与流程

文档序号:16246214发布日期:2018-12-11 23:36阅读:175来源:国知局
一种数据处理方法、系统和计算机可读存储介质与流程

本发明涉及数据抽样技术领域,尤其涉及一种数据处理方法和系统。

背景技术

相关技术中的大数据抽样系统主要存在以下缺陷:

大多属于全抽样、伪随机抽样或伪实时抽样,没有实现真正意义上的海量数据实时抽样;

系统数据更新不及时、抽样不及时,导致数据分析延迟较大;

目前通用的随机范围算法,当随机数据范围较小时随机准确性较高,但当数据范围较大时,随机性(公平性)损失较大。

以上缺陷会导致数据抽样分析上的误差,影响数据分析的准确性和可用性。



技术实现要素:

本发明提供一种数据处理方法和系统,以解决现有技术中存在的上述至少一个技术问题。

本发明一方面提供一种数据处理方法,包括:

接收数据并记录当前数据量n,将所述当前数据量n与预设的抽样数据量阈值m进行比较;

在n小于等于m时,将接收的数据存入内存库中,所述内存库的数据容量长度为m;

在n大于m时,根据当前数据量n进行分段随机校验,获得对应所述当前数据量n的随机校验结果c;

判断所述当前数据量n的随机校验结果c是否小于等于m,并在判断结果为是时,用所述随机校验结果c在所述当前数据量n中的对应数据替换所述内存库中位于相同坐标c的数据;

其中,m和n为正整数。

在一种可实施方式中,所述根据当前数据量n进行分段随机校验,获得对应所述当前数据量n的随机校验结果c,包括:

根据预设的分段阈值p以及所述当前数据量n中各数据的坐标,对所述当前数据量n进行分段,获得数据段的数量q,其中,每个数据段内的最大数据量为p;其中,p为正整数;q的取值为:当n/p的余数为零时q=n/p,当n/p的余数不为零时q=(n/p)+1;

对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,并对所述各个数据段的分段随机校验结果进行叠加,将叠加结果作为所述当前数据量n的随机校验结果c。

在另一种可实施方式中,所述方法还包括:

在所述接收数据之前初始化配置库,并根据所述配置库初始化所述内存库。

在又一种可实施方式中,所述方法还包括:将接收的数据全部存入预设的全量数据库中。

在再一种可实施方式中,所述方法还包括:获得数据抽样请求时,从所述内存库中执行数据抽样处理。

本发明另一方面提供一种数据处理系统,包括:rts单元、rnm单元和mdb单元,

所述rts单元,用于接收数据并记录当前数据量n,将所述当前数据量n与预设的抽样数据量阈值m进行比较,并在n小于等于m时,将接收的数据存入所述mdb单元的内存库中,所述内存库的数据容量长度为m;在n大于m时,通知所述rnm单元;

所述rnm单元,用于根据所述rts单元的通知,根据当前数据量n进行分段随机校验,获得对应所述当前数据量n的随机校验结果c;判断所述当前数据量n的随机校验结果c是否小于等于m,并在判断结果为是时,用所述随机校验结果c在所述当前数据量n中的对应数据替换所述内存库中位于相同坐标c的数据;

所述mdb单元,用于维护和管理所述内存库;

其中,m和n为正整数。

在一种可实施方式中,所述rnm单元进一步用于,

根据预设的分段阈值p以及所述当前数据量n中各数据的坐标,对所述当前数据量n进行分段,获得数据段的数量q,其中,每个数据段内的最大数据量为p;其中,p为正整数;q的取值为:当n/p的余数为零时q=n/p,当n/p的余数不为零时q=(n/p)+1;

对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,并对所述各个数据段的分段随机校验结果进行叠加,将叠加结果作为所述当前数据量n的随机校验结果c。

在另一种可实施方式中,所述rts单元进一步用于,在所述接收数据之前初始化配置库;

所述mdb单元进一步用于,根据所述配置库初始化所述内存库。

在又一种可实施方式中,所述rts单元进一步用于,将接收的数据全部存入预设的全量数据库中。

本发明再一方面提供一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,当所述指令被执行时用于执行本发明所述的数据处理方法。

通过实施本发明,分段随机校验能够保证各个数据段的数据坐标不会超出随机数据范围,从而能够保证随机校验结果的随机性,确保海量数据抽样分析的准确性和可用性,实时抽样延迟小,实现真正意义上的海量数据实时抽样。另外,本发明的业务逻辑拆分合理,高内聚低耦合,因此能够保证系统的高稳定性。

需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

在附图中,相同或对应的标号表示相同或对应的部分。

图1示出了本发明实施例的一种数据处理方法的流程示意图;

图2示出了本发明实施例一种数据处理系统的组成结构示意图;

图3示出了本发明实施例的一种数据处理系统的实施逻辑示意图。

具体实施方式

为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

为满足大数据高并发和实时性要求的抽样分析需求,本发明实施例提供一种数据处理方法,包括:

接收数据并记录当前数据量n,将当前数据量n与预设的抽样数据量阈值m进行比较;

在n小于等于m时,将接收的数据存入内存库中,内存库的数据容量长度为m;

在n大于m时,根据当前数据量n进行分段随机校验,获得对应当前数据量n的随机校验结果c;

判断当前数据量n的随机校验结果的坐标c是否小于等于m,并在判断结果为是时,用随机校验结果c在当前数据量n中的对应数据替换内存库中位于相同坐标c的数据;在判断结果为否时,不做内存中的数据替换;其中,m和n为正整数。

下面结合附图1详细阐述本发明实施例的数据处理方法,该方法主要包括:

步骤101,接收数据并记录当前数据量n,将当前数据量n与预设的抽样数据量阈值m进行比较。

本发明实施例的数据处理方法可实施于一数据处理系统中,如:数据抽样系统等。系统接收数据流,记录当前数据量n,并将接收的数据都存入预设的全量数据库中。其中,系统对接收的数据采用累计计数的方式,当前数据量n是指系统接收的数据总量。

系统可以在每接收到新的数据时,将当前数据量n与预设的抽样数据量阈值m进行比较。

步骤102,判断n是否小于等于m,如是,执行步骤103;如否,执行步骤104。

步骤103,将接收的数据存入内存库中,内存库的数据容量长度为m。

内存库为预设的,其数据容量长度为m,即数据库的最大数据存储量为m。根据判断结果,如果n小于等于m,则表明内存库的容量够存储当前的数据量,将当前接收的数据直接存入内存库即可,当前不需要执行数据随机校验。预设的抽样数据量阈值m即为内存库的数据容量长度。

步骤104,根据当前数据量n进行分段随机校验,获得对应当前数据n的随机校验结果c。

步骤104可以具体实施为:

根据预设的分段阈值p以及当前数据量n中各数据的坐标,对当前数据量n进行分段,获得数据段的数量q,其中,每个数据段内的最大数据量为p;其中,p为正整数,p的取值范围可以为:100000~150000,当然p的取值并不仅限于在上述范围内选择,根据实际需要也可选定上述范围之外的取值;q的取值为:当n/p的余数为零时q=n/p,当n/p的余数不为零时q=(n/p)+1;

对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,并对各个数据段的分段随机校验结果进行叠加,将叠加结果作为当前数据量n的随机校验结果c。

其中,当前数据量n中的各数据都有其对应的内部数据坐标,本发明实施例中首先对当前数据量n进行分段,预设一个分段阈值p,那么分成的各个数据段的最大数据容量为p;假设预设的分段阈值p为1000,当前数据量为5500,那么经过数据分段操作得到6个数据段,前5个数据段内的数据量分别为1000,第6个数据段内的数据量为500。

接续以上举例,在数据分段操作完成后,对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,该分段随机校验结果即为对应数据段内的随机坐标;例如:分段得到的6个数据段分别为l1、l2、l3、l4、l5和l6,那么对这6个数据段分别进行随机校验,获得分别对应这6个数据段的分段随机校验结果为j1、j2、j3、j4、j5和j6,各个数据段中的每个数据都有其在内部数据中的位置坐标。

接下来,对这6个数据段的分段随机校验结果j1、j2、j3、j4、j5和j6进行叠加,将叠加结果作为当前数据量n的随机校验结果c。

步骤105,判断随机校验结果c是否小于等于m,如是,执行步骤106;如否,执行步骤107。

本步骤中,将确定随机校验结果c与预设的抽样数据量阈值m进行比较,判断c是否小于等于m,如果是,则执行步骤106;如果否,则执行步骤107。

步骤106,用随机校验结果c在当前数据量n中的对应数据替换内存库中位于相同坐标c的数据。

在判断c小于等于m时,可以判定随机校验结果c没有超出随机数据范围,从而可以用随机校验结果替换内存库中位于相同坐标c的数据,实现真随机,随机数的可信度高。

步骤107,不做内存中的数据替换,即不用随机校验结果c在当前数据量n中的对应数据替换内存库中的数据,放弃数据替换操作。

在判断c大于m时,可以判定随机校验结果c超出了随机数据范围,这时的随机数的可信度低,从而不用该随机校验结果c在当前数据量n中的对应数据替换内存库中的数据。

现有技术中的数据随机校验有固定的随机数据范围,假设随机数据范围为[0,65535],那么当数据量n大于65536时,随机校验结果的坐标很可能超出了[0,65535]的范围,即不再是[0,65535]中的随机数据,从而导致随机校验结果的随机性损失较大,影响数据抽样分析的准确性和可用性。而本发明实施例通过对数据实施分段随机校验,如:每个分段的随机数据范围[0,1000],那么各个数据段的数据坐标不会超出随机数据范围[0,1000],从而能够保证随机校验结果的随机性,确保海量数据抽样分析的准确性和可用性。

另外,在一可实施方式中,在系统接收数据之前初始化配置库,并根据配置库初始化内存库。如果初始化内存库失败,则根据配置库重新执行内存库的初始化。

基于上述数据处理方法获得的内存库,当系统获得数据抽样请求时,可以从内存库中执行数据抽样处理,从而获得抽样数据。如上所述,由于实施分段随机校验能够保证随机校验结果的随机性,从而能够保证数据抽样分析的准确性和可用性。

对应本发明实施例的数据处理方法,本发明实施例还提供了一种数据处理系统,如图2所示,该系统包括:rts(实时系统)单元、rnm(随机数模型)单元和mdb(内存数据库)单元,

rts单元,用于接收数据并记录当前数据量n,将当前数据量n与预设的抽样数据量阈值m进行比较,并在n小于等于m时,将接收的数据存入mdb单元的内存库中,内存库的数据容量长度为m;在n大于m时,通知rnm单元;

rnm单元,用于根据rts单元的通知,根据当前数据量n进行分段随机校验,获得对应当前数据量n的随机校验结果c;判断随机校验结果c是否小于等于m,并在判断结果为是时,用随机校验结果c在当前数据量n中的对应数据替换内存库中位于相同坐标c的数据;

mdb单元,用于维护和管理所述内存库;其中,m和n为正整数。

在一种可实施方式中,rnm单元进一步用于,

根据预设的分段阈值p以及当前数据量n中各数据的坐标,对当前数据量n进行分段,获得数据段的数量q,其中,每个数据段内的最大数据量为p;其中,p为正整数;q的取值为:当n/p的余数为零时q=n/p,当n/p的余数不为零时q=(n/p)+1;

对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,并对各个数据段的分段随机校验结果进行叠加,将叠加结果作为当前数据量n的随机校验结果c。

在另一种可实施方式中,rts单元进一步用于,在接收数据之前初始化配置库;mdb单元进一步用于,根据配置库初始化内存库。

在又一种可实施方式中,rts单元进一步用于,将接收的数据全部存入预设的全量数据库中。

在再一种可实施方式中,该系统还包括抽样处理单元,用于在获得数据抽样请求时,从内存库中执行数据抽样处理。

下面结合图3对本发明实施例的数据处理系统的工作过程进行详细阐述。

在系统接收数据之前,rts单元初始化配置库,mdb单元根据配置库初始化内存库。如果初始化内存库失败,则mdb单元需要根据配置库重新执行内存库的初始化。

内存库初始化完成后,rts单元接收数据流并记录当前数据量n,将接收的数据都存入预设的全量数据库中。判断n是否小于等于m,如是,则将接收的数据直接存入mdb单元的内存库中;如否,则通知rnm单元。

rnm单元根据rts单元的通知,根据当前数据量n进行分段随机校验,获得对应数据量数据n的随机校验结果c。判断随机校验结果c是否小于等于m,如判断结果为是,则用随机校验结果c在当前数据量n总的对应数据替换内存库中位于相同坐标c的数据;如判断结果为否,则不做内存中的数据替换。具体的分段随机校验过程为:

根据预设的分段阈值p以及当前数据量n中各数据的坐标,对当前数据量n进行分段,获得数据段的数量q,其中,每个数据段内的最大数据量为p;其中,p为正整数;q的取值为:当n/p的余数为零时q=n/p,当n/p的余数不为零时q=(n/p)+1;

对每个数据段内的数据分别进行随机校验,获得对应各个数据段的分段随机校验结果,并对各个数据段的分段随机校验结果进行叠加,将叠加结果作为当前数据量n的随机校验结果c。

另外,系统还包括抽样处理单元,用于在获得数据抽样请求时,从内存库中执行数据抽样处理。

需要说明的是,本发明实施例的系统对rts单元、mdb单元、rnm单元以及抽样处理单元的调用都为并发的,业务逻辑拆分合理,高内聚低耦合,因此能够保证系统的高稳定性。另外,本发明实施例中的原始数据与抽样数据完全分离,从而能够保证数据抽样的实时性。

本发明实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机可执行指令,当指令被执行时用于执行本发明实施例所述的数据处理方法。

这里需要指出的是:以上数据处理系统实施例的描述,与前述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明数据处理系统实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1