一种数据获取方法及相关装置与流程

文档序号:16919517发布日期:2019-02-19 19:14阅读:169来源:国知局
一种数据获取方法及相关装置与流程

本发明涉及大数据技术领域,更具体地说,涉及一种数据获取方法、系统、装置及计算机可读存储介质。



背景技术:

随着计算机技术的发展,数据量的规模也越来越大,大数据使用的场景越来越多。

在传统的数据存储技术中,数据通常保存在同一个数据库中,在需要获取数据库中的大量数据时,通常采用并发分页处理的操作,即通过主键将大量数据进行分页得到多个数据组,并发的获取多个数据组,从而提高数据获取的效率。

但是目前由于大数据使用的场景越来越多,数据通常保存在大数据系统中,大数据系统又包括多个分布式数据系统,从而在需要获取数据时,待获取数据可能存与不同的分布式数据系统当中,因此对于待获取数据来说,并没有主键的概念,从而无法通过主键来实现对数据进行分页处理,也就造成了大数据系统中的数据不能实现并发的分页获取数据。

因此,如何实现对大数据系统并发的分页获取数据,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种数据获取方法、系统、装置及计算机可读存储介质,以解决如何实现对大数据系统并发的分页获取数据的问题。

为实现上述目的,本发明实施例提供了如下技术方案:

一种数据获取方法,包括:

为大数据系统中每一条待获取数据添加标识;

根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组;

并发获取所述第一预设个数的所述待获取数据组。

其中,所述为大数据系统中每一条待获取数据添加标识,包括:

为所述大数据系统中每一条所述待获取数据添加唯一标号。

其中,所述按照预设方法为大数据系统中每一条待获取数据添加标识,包括:

为每第二预设个数的待获取数据添加相同的组标;其中,所述组标的个数为所述第一预设个数。

其中,所述为每第二预设个数的待获取数据添加相同的组标,包括:

在所有所述待获取数据对应的所有字段中确定目标字段;其中,所述目标字段对应的所有目标字段数据中,每个目标字段数据重复次数不超过预设值;

对每个所述目标字段数据进行转换,得到与每个所述目标字段数据对应的目标数字;

利用所述第一预设个数对每个所述目标数字进行取模操作,将得到的对应每个所述目标字段数据的取模结果分别作为与每个所述目标字段数据对应的待获取数据的组标。

其中,所述对每个所述目标字段数据进行转换,得到与每个所述目标字段数据对应的目标数字,包括:

对每个所述目标字段数据计算hash值,得到与每个所述目标字段数据对应的目标数字。

其中,所述对每个所述目标字段数据进行转换,得到与每个所述目标字段数据对应的目标数字,包括:

对每个所述目标字段数据计算加密值,得到与每个所述目标字段数据对应的目标数字。

本申请还提供了一种数据获取系统,包括:

标识添加模块,用于为大数据系统中每一条待获取数据添加标识;

分页处理模块,用于根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组;

并发获取模块,用于并发获取所述第一预设个数的所述待获取数据组。

其中,所述标识添加模块,具体用于,为所述大数据系统中每一条所述待获取数据添加唯一标号。

本申请还提供了一种数据获取装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如所述数据获取方法的步骤。

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

通过以上方案可知,本发明提供的一种数据获取方法,包括:为大数据系统中每一条待获取数据添加标识;根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组;并发获取所述第一预设个数的所述待获取数据组。

由此可见,本申请提供的一种数据获取方法,首先为大数据系统中的每一条待获取数据添加标识,从而可以根据添加的标识对所有待获取数据进行分页处理,得到第一预设个数的待获取数据组,并发获取第一预设个数的待获取数据组,因此可以实现并发获取大数据系统中的数据。

本申请还提供了一种数据获取系统、装置及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种数据获取方法流程图;

图2为本发明实施例公开的一种具体的数据获取方法流程图;

图3为本发明实施例公开的一种具体的数据获取方法流程图;

图4为本发明实施例公开的一种具体的数据获取方法流程图;

图5为本发明实施例公开的一种数据获取系统结构示意图;

图6为本发明实施例公开的一种数据获取装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据获取方法、系统、装置及计算机可读存储介质,以解决如何实现对大数据系统并发的分页获取数据的问题。

参见图1,本发明实施例提供的一种数据获取方法,具体包括:

s101,为大数据系统中每一条待获取数据添加标识。

在本方案中,首先为大数据系统中的每一条待获取数据添加标识,该标识用于对待获取数据进行分页处理。

需要说明的是,在大数据系统中的数据通常保存在不同的分布式数据系统中,如要并发的分页获取数据,就需要知道哪些待获取数据已被分页处理,哪些还没有,从而对没有被分页处理的数据进行分页处理。因此,在本方案中为每一条待获取数据添加标识,从而通过标识确定哪种标识的数据已被分页处理,哪种标识的数据还未被处理。

在本方案中,可以为每一条待获取数据添加唯一的标识,即每一条待获取数据的标识均不相同,也可以为多个待获取数据设置同一个标识,将相同标识的待获取数据分页为同一数据组。

s102,根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组。

具体地,在对每一条待获取数据添加了标识之后,就可以对待获取数据进行分页处理,从而得到第一预设个数的待获取数据组。

需要说明的是,第一预设个数也可理解为并发数,在并发获取待获取数据组时,需要同时并发获取第一预设个数的待获取数据组。

例如,共有100条待获取数据,对每一条待获取数据均添加了唯一标识,即标号1到100,而第一预设个数为5,即并发数为5,也就是并发获取5组待获取数据组,则对待获取数据进行分页处理就需要得到5组待获取数据组,每一组待获取数据组为20个数据。通过唯一标号,即可知道已进行分页处理的是哪些,待进行分页处理的是哪些,例如,已将标号1到20进行分页处理,得到了一组待获取数据组,则再进行分页处理,需要在标号21到100的数据中,进行分页处理,得到4组待获取数据组。

s103,并发获取所述第一预设个数的所述待获取数据组。

在对所有待获取数据进行分页处理后,即可并发获取第一预设个数的所述待获取数据组。

具体地,并发获取待获取数据组,即为同时利用多个线程将所有的待获取数据组获取到相应的业务系统中。

由此可见,本申请实施例提供的一种数据获取方法,首先为大数据系统中的每一条待获取数据添加标识,从而可以根据添加的标识对所有待获取数据进行分页处理,得到第一预设个数的待获取数据组,并发获取第一预设个数的待获取数据组,因此可以实现并发获取大数据系统中的数据。

下面对本申请实施例提供的一种具体的数据获取方法进行介绍,本申请实施例提供的一种具体的数据获取方法对上述实施例中s101做了进一步的限定与说明,其他步骤内容与上述实施例大致相同,本申请实施例将不再赘述。

参见图2,本申请实施例提供的一种数据获取方法,具体包括:

s201,为每第二预设个数的待获取数据添加相同的组标;其中,所述组标的个数为所述第一预设个数。

在本方案中,为多个待获取数据设置相同的标识,从而可以在分页处理时,将相同标识的待获取数据作为同一组待获取数据组。

具体地,为每第二预设个数的待获取数据添加相同的标识,也就是组标,组标的个数与第一预设个数相同。

例如,有100个待获取数据,其中,第二预设个数为20,第一预设个数为5,也就是将100个待获取数据中的每20个待获取数据添加相同标识。

s202,根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组。

具体地,在本方案中在进行分页处理时,即可将相同组标的数据分为一组待获取数据组。

s203,并发获取所述第一预设个数的所述待获取数据组。

下面对本申请实施例提供的一种具体的数据获取方法进行介绍,下文描述的一种具体的数据获取方法,对上述实施例中s201做进一步介绍与说明,其他步骤内容与上述实施例大致相同,具体内容可以参照上述实施例。

参见图3,本申请实施例提供的一种具体的数据获取方法,具体包括:

s301,在所有所述待获取数据对应的所有字段中确定目标字段;其中,所述目标字段对应的所有目标字段数据中,每个目标字段数据重复次数不超过预设值。

需要说明的是,待获取数据对应有多个字段,例如id、用户名、性别等,而每个字段又有对应的数据内容,也就是字段数据,如,第一条数据,id为1,用户名为张三,性别为男;第二条数据,id为2,用户名为李四,性别为女。对于字段id来说,“1”、“2”即是其字段数据,对于字段用户名来说“张三”、“李四”即为其字段数据。

在待获取数据对应的所有字段中,确定出目标字段,目标字段是指字段数据重复次数不超过预设值的字段,例如,对于id字段来说,其对应的字段数据分别是不重复的数据,那么id即可作为目标字段,如果对于用户名字段来说,其字段数据重复的次数超过预设值,如预设值为3,其中用户名为张三的数据超过了3,也就是说,用户名这个字段,其字段数据重复次数就超出了预设值,则用户名不能作为目标字段。

作为优选的,在本方案中,目标字段选为字段数据没有重复的字段。

s302,对每个所述目标字段数据进行转换,得到与每个所述目标字段数据对应的目标数字。

由于字段数据的形式可能有数字、字母或者中文,因此为了方便后续的取模操作,需要将目标字段数据转换为目标数字。

在一个具体的实施方式中,对每个所述目标字段数据计算hash值,得到与每个所述目标字段数据对应的目标数字。

需要说明的是,hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值,散列值即为对应的目标数字。

在另一个具体的实施方式中,对每个所述目标字段数据计算加密值,得到与每个所述目标字段数据对应的目标数字。

需要说明的是,将目标字段数据进行加密处理,例如使用md5加密算法对目标字段数据进行加密处理,会得到对应每个目标字段数据的目标数字。

s303,利用所述第一预设个数对每个所述目标数字进行取模操作,将得到的对应每个所述目标字段数据的取模结果分别作为与每个所述目标字段数据对应的待获取数据的组标。

需要说明的是,将目标字段数据转换为数字之后,利用第一预设个数对每个目标字段对应的目标数字进行取模操作,取模操作即是使目标数字除以第一预设个数,最终得到余数,余数即是取模结果。

例如目标数字为6,第一预设个数为5,则进行取模操作,则是6%5=1。

由于取模操作是目标数字除以第一预设个数的余数,因此余数的个数也只有第一预设个数,即0到第一预设个数-1,因此对应的取模结果也就是余数即可以作为目标数字所对应的目标字段数据的标识,也就是作为目标字段数据对应的待获取数据的标识。例如,目标字段为用户名,将该用户名字段对应的所有数据转换为数字,例如,张三、李四通过对应算法,分别转换为6,7,第一预设个数为5,则其对应的取模结果则分别为1和2,则将张三对应的待获取数据“id为1,用户名为张三,性别为男”添加标识1,将李四对应的数据“id为2,用户名为李四,性别为女”添加标识2。

在通过本申请实施例的方法添加标识后,每个标识对应的待获取数据的数量基本相同,因此即可将相同标识的数据在分页处理时,分为同一组待获取数据。

s304,根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组。

s305,并发获取所述第一预设个数的所述待获取数据组。

下面对本申请实施例提供的一种具体的数据获取方法进行介绍,本申请实施例提供的一种具体的数据获取方法对上述实施例中s101做了进一步的限定与说明,其他步骤内容与上述实施例大致相同,本申请实施例将不再赘述。

参见图4,本申请实施例提供的一种具体的数据获取方法,具体包括:

s401,为所述大数据系统中每一条所述待获取数据添加唯一标号。

需要说明的是,通过上述实施例为待获取数据添加标号,由于需要根据第一预设个数,也就是并发数来确定标号,因此,在分页处理时只能有一种分组选择,如果过需要更换组数,也就是更换并发数,那么还需要重新添加标号。

在本方案中,为大数据系统中的每一条待获取数据添加唯一标号。由于每一条数据都有唯一的标号,因此在进行分页处理时,第一预设个数即并发数,也可以灵活的设定,例如,有100个待获取数据,标号1到100,第一预设个数可以随意的设定,例如,设定为5,则需要将100个待获取数据,分为5组,只要能够通过标号来保证已被分页处理的待获取数据不会重复的进行分页处理即可。

需要说明的是,唯一标号可以为行号,使用apache.org社区提供的nexr_row_number方法为每一条待获取数据添加行号,有关nexr_row_number方法可以具体参考现有技术,在本方案中,不做具体限定。

s402,根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组。

s403,并发获取所述第一预设个数的所述待获取数据组。

下面对本申请实施例提供的一种数据获取系统进行介绍,下文描述的一种数据获取系统与上述实施例可以相互参照。

参见图5,本申请实施例提供的一种数据获取系统,具体包括:

标识添加模块501,用于为大数据系统中每一条待获取数据添加标识。

在一个具体的实施方式中,标识添加模块501具体用于为所述大数据系统中每一条所述待获取数据添加唯一标号。

在另一个具体的实施方式中,标识添加模块501具体用于为每第二预设个数的待获取数据添加相同的组标;其中,所述组标的个数为所述第一预设个数。

在另一个具体的实施方式中,添加模块501具体包括:

目标字段确定单元,用于在所有所述待获取数据对应的所有字段中确定目标字段;其中,所述目标字段对应的所有目标字段数据中,每个目标字段数据重复次数不超过预设值。

转换单元,用于对每个所述目标字段数据进行转换,得到与每个所述目标字段数据对应的目标数字。

其中,转换单元具体用于对每个所述目标字段数据计算hash值,得到与每个所述目标字段数据对应的目标数字。

其中,转换单元,具体用于对每个所述目标字段数据计算加密值,得到与每个所述目标字段数据对应的目标数字。

取模单元,用于利用所述第一预设个数对每个所述目标数字进行取模操作,将得到的对应每个所述目标字段数据的取模结果分别作为与每个所述目标字段数据对应的待获取数据的组标。

分页处理模块502,用于根据所述标识对所有所述待获取数据进行分页处理,得到第一预设个数的待获取数据组。

并发获取模块503,用于并发获取所述第一预设个数的所述待获取数据组。

本实施例的数据获取系统用于实现前述的数据获取方法,因此数据获取系统中的具体实施方式可见前文中的数据获取方法的实施例部分,例如,标识添加模块501,分页处理模块502,并发获取模块503,分别用于实现上述数据获取方法中步骤s101,s102,s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

参见图6,下面对本申请实施例提供的一种数据获取装置进行介绍,下文描述的一种数据获取装置,具体包括:

存储器601,用于存储计算机程序;

处理器602,用于执行所述计算机程序时实现如上述任一实施例所述数据获取方法的步骤。

具体的,存储器601包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器602为数据获取装置提供计算和控制能力,可以实现上述任一数据获取方法实施例所提供的步骤。

在上述实施例的基础上,作为优选实施方式,所述数据获取装置还包括:

输入接口603,用于获取外部导入的计算机程序、参数和指令,经处理器控制保存至存储器中。该输入接口603可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。具体的,在本实施例中,用户可以通过输入接口603手动选择第一预设个数、第二预设个数以及待获取数据等。

显示单元604,用于显示处理器发送的数据。该显示单元604可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,显示单元604可以显示数据获取装置对待获取数据的处理结果。

网络端口605,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。具体地,在本方案中网络端口605可以用于与大数据系统相互连接,从中获取待获取数据。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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