一种数据批处理方法、装置及系统与流程

文档序号:15982237发布日期:2018-11-17 00:28阅读:136来源:国知局

本发明涉及地球物理勘探技术领域,特别地,涉及一种数据批处理方法、装置及系统。

背景技术

通常应用中存在一些需对过去一段时间内发生的业务进行集中批量处理的任务,目前应用如果想提高数据批处理的处理效率,通常是通过提高每次捞取出来的userid(useridentity,用户识别号码)列表数量、或者更改cron(commandrunon,指挥调度运行)表达式提高任务执行的频率来实现。这些方案存在的缺点是数据表中的记录数往往是海量的,单次捞取的userid列表数量增加会导致捞取阶段的性能下降,从而影响数据库的性能。而更改cron表达式时如果任务执行频率调节不当,可能还会存在正在被处理的userid被下一次任务重复捞取出来,从而产生数据锁冲突,引发数据库性能下降。

因此,目前急需一种可以保证数据库性能的基础上提高数据批处理效率的方案。



技术实现要素:

本说明书实施例的目的在于提供一种数据批处理方法、装置及系统,可以在保证数据库性能的基础上提高数据批处理的效率。

本说明书实施例是这样实现的:

一种数据批处理方法,所述方法包括:

对批处理任务进行拆分获得子任务;

生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述子任务,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述子任务中的数据;

根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

一种计算资产收益的数据批处理方法,所述方法包括:

对资产收益批处理任务进行拆分获得分表;

生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

将捞取的资产数据分发到计算机集群中进行收益计算。

一种计算资产收益的数据批处理装置,所述装置包括:

资产任务拆分模块,用于对资产收益批处理任务进行拆分获得分表;

分表标识码生成模块,用于生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

资产数据捞取模块,用于根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

收益计算模块,用于将捞取的资产数据分发到计算机集群中进行收益计算。

一种数据批处理装置,所述装置包括:

拆分模块,用于对批处理任务进行拆分获得子任务;

标识码生成模块,用于生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述子任务,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述子任务中的数据;

捞取模块,用于根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

一种数据批处理设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:

对批处理任务进行拆分获得子任务;

生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述子任务,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述子任务中的数据;

根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

一种计算资产收益的数据批处理设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:

对资产收益批处理任务进行拆分获得分表;

生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

将捞取的资产数据分发到计算机集群中进行收益计算。

一种数据批处理系统,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现本说明书任意一实施例所述方法的步骤。

本说明书一个或多个实施例提供的一种数据批处理方法、装置及系统,可以通过将批处理任务拆分子任务时,生成子任务的标识码,所述标识码由第一标识字段及第二标识字段组成。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识第一标识字段标识的子任务中的数据,从而将子任务中的数据根据第二标识字段进行区分。然后,将所述第二标识字段增加到捞取索引条件中,根据带有第二标识字段的索引条件并发式捞取对应于第二标识字段的数据。在不增加单次捞取的记录数的情况下,大幅度提高了捞取的总记录数,从而提高了数据批处理的效率。

附图说明

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

图1为本说明书提供的一种数据批处理方法实施例的流程示意图;

图2为本说明书提供的一个实例中基金资产收益计算流程示意图;

图3为本说明书提供的一种计算资产收益的数据批处理方法实施例的流程示意图;

图4为本说明书提供的一种数据批处理装置实施例的模块结构示意图;

图5是根据本说明书的一个示例性实施例的服务器的示意结构图。

具体实施方式

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

通常应用中存在一些需对过去一段时间内发生的业务进行集中批量处理的任务,目前应用如果想提高数据批处理的处理效率,通常是通过提高每次捞取出来的userid列表数量或者更改cron表达式提高任务执行的频率来实现的。上述方案存在的缺点是数据表中的记录数往往是海量的,捞取的userid列表数量增加会导致捞取阶段的性能下降,从而影响数据库的性能。而更改cron表达式时如果任务执行频率调节不当,可能还会存在正在被处理的userid被下一次任务重复load出来,从而产生数据锁冲突,引发数据库性能下降,对其他业务造成影响。

针对上述技术问题,本说明书提供一种数据批处理方法,通过将批处理任务拆分成子任务时,生成各子任务的标识码,所述标识码可以包括第一标识字段以及第二标识字段。其中,所述第二标识字段可以根据所述第一标识字段加附加字段确定。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识相应的第一标识字段标识的子任务中的数据,从而在逻辑上将第一标识字标识的子任务中的数据进一步区分。然后,可以根据所述第二标识字段并发捞取所述第一标识字段标识的子任务中的数据,获得对应于第二标识字段的数据。在保证每条线程捞取数据记录不变的基础上,大幅度提高了单批次捞取到的数据记录数,从而提高数据批处理的效率。

图1是本说明书提供的所述一种数据批处理方法实施例流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。

具体的一个实施例如图1所示,本说明书提供的数据批处理方法的一个实施例中,所述方法可以包括:

s102:对批处理任务进行拆分获得子任务。

可以对批处理任务进行拆分获得子任务,其中,所述批处理任务可以指应用或系统对一定的业务数据进行集中批量处理的任务,如对过去一段时间内发生的业务数据进行集中处理的任务。例如,基金资产的收益计算任务,应用捞取出来所有用户的基金资产对每笔资产的昨日的日收益、累计收益等进行计算的任务。

一些实施方式中,所述批处理任务可以通过应用或系统的相关接口在接收到通知开始执行批处理任务时接收或者获取得到。例如,业务系统的调取中心可以根据应用设置的cron表达式,当时间满足cron表达式时,调度中心通过消息投递的方式通知应用开始执行批处理任务,应用通过平台接口获取或者接收待处理的批处理任务。

s104:生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段。

可以针对各子任务分别生成对应的识别码,所述标识码可以包括第一标识字段以及第二标识字段,例如,所述识别码可以表示为“第一标识字段_第二标识字段”的形式。所述第一标识字段可以用于标识各子任务,第二标识字段可以用于标识子任务中的数据。

本说明书的一些实施方式中,所述第一标识字段可以是预先设定的或者是根据一定的对应规则确定的。所述第二标识字段可以根据所述第一标识字段以及附加字段确定。所述第二标识字段可以在第一标识字段的基础上增加附加字段获得,所述附加字段的长度可以根据实际需要或者基于运行性能预先设定。

一个实施方式中,可以根据所述附加字段的长度以及第一标识字段的长度确定所述第二标识字段的长度,并根据所述第一标识字段的值以及所述第二标识字段的长度确定所述第二标识字段的值。例如,假设第一标识字段长度为2,值为72,附加字段长度为1,则相应的第二标识字段长度为3,则可以根据第一标识字段的值,在第一标识字段的基础上增加一个字段,相应的第二标识字段的值可以为:072、172、272、…、972。从而逻辑上相当于将第一标识字段标识的子任务中的大量数据利用第二标识字段进行区别性标识。

本说明书的一个实施例中,可以根据预设并发数确定所述附加字段的长度,所述预设并发数可以指在考虑实际需要以及数据库压力承受能力的基础上,预先设定的同时捞取子任务中数据的线程数。例如,每个子任务对应的预设并发数为10,则相应的附加字段长度可以1;每个子任务对应的预设并发数为100,则相应的附加字段长度可以2。从而可以在保证数据库运行性能的基础上,根据实际需要最大限度的进行数据的区别性划分,以提高后续数据处理的效率。

一个实施方式中,批处理任务中的每条数据记录可以相应设置有数据识别码,用于标识每条数据记录。可以获取批处理任务中数据记录对应的数据识别码,读取所述数据识别码中指定字段位置处的数据,根据读取的数据确定所述第一标识字段以及第二标识字段。例如,对于资金收益计算,每个用户的资产数据可以通过userid进行标识,相应的,可以根据userid中的指定字段确定所述第一标识字段。如假设第一标识字段的长度为2,则可以根据userid的从左边数的倒数第2位、倒数第3位数作为第一标识字段的值。若附加字段长度为1,则可以将倒数第2位、倒数第3位、倒数第4位数作为第二标识字段的值。通过数据识别码确定第一标识字段以及进一步确定第二标识字段,可以进一步保证子任务中数据记录区分的简便性,以及可以提高后续数据处理的准确性。当然,其他的实施例中还可以根据批处理的具体应用场景来相应的设置以哪些字段作为第一标识和第二标识。

s106:根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

可以获取子任务的标识码,将所述标识码拆分获得第一标识字段以及第二标识字段,根据第一标识字段确定相应的子任务,再根据第二标识字段捞取对应的第一标识字段标识的子任务中的数据。例如,可以根据第二标识字段修改捞取时的索引条件,根据修改后的索引条件并发式捞取数据。

一个实施方式中,可以根据所述第二标识字段确定捞取索引字段,如可以将所述第二标识字段增加到捞取索引字段中。然后,可以根据带有第二标识字段的捞取索引字段并发捞取数据,获得对应于各第二标识字段的数据记录。

本说明书的另一个实施例中,还可以根据捞取到的第二标识字段对应的数据进行进一步数据分析。例如,对于资金收益计算,可以将捞取到的第二标识字段对应的数据分发到收益计算模块中,收益计算模块根据userid对应的基金资产数据进行收益计算,最后将结果写入到数据库中。

图2表示本说明书提供的一个实例中批处理任务数据处理流程示意图。如图2所示,以基金资产的收益计算的批处理任务为例对上述各个实施例提供的方案进行说明。本实例中数据批处理过程可以划分为拆分、捞取以及执行三个阶段。

拆分阶段:对批处理任务进行拆分获得子任务,假设所述子任务以数据表的形式进行体现。则对基金资产的收益计算批处理任务进行拆分后,获得分表,所述分表中包含了不同用户的基金资产数据。

假设附加字段的长度为1,以分表位表示所述第一标识字段,则可以以千分分表位表示第二标识字段,所述标识码序列可以表示为分表位_千分分表位的形式。假设userid=2088402923357728,则可以根据该userid的第14、15位确定所述分表位,分表位=72,相应的可以根据所述userid的13、14、15位确定所述千分分表位,则milliindex(千分分表位)=772。

分表中所有记录milliindex值的初始化可以运行一次的完整收益计算批处理任务完成,每笔资产的收益计算完成后都会更新其状态字段为“完成”,在更新数据的状态时候增加setmilli_idx=stringutil.substring(userid,-4,-1),便可以完成所有数据milliindex值的初始化。相应的,每个分表对应的key值的生成规则可以表示为"分表位"+“_”+"千分分表位"。比如00分表对应的key(标识码)可以为:

["00_000","00_100","00_200","00_300","00_400","00_500","00_600","00_700","00_800","00_900"]。

所有分表生成的key可以表示为:

keylist=["00_000","00_100",…,"99_999"]。

捞取阶段:可以将key值进行拆分得到其对应的分表位和千分分表位,例如key="72_772"时,则分表位=72,千分分表位=772。然后,可以根据所述分表位确定相应的分表,将所述千分分表位增加到索引字段中,捞取对应分表中的数据。

如图2所示,假设待处理数据包括10000条数据记录,拆成了100个分表(分表位分别为:00,01,…50,…,99),预设每次捞取对应的数据记录数为10条,拆分后各分表中对应的数据记录数为100条。通常直接捞取时需通过10批次捞取才能捞取完每个分表中的数据,且捞取过程中可能会存在数据重叠的问题,即两次捞取的数据中可能存在重复的用户数据记录。

利用本说明书的方案,可以将千分分表位增加到索引字段中,且拆分阶段利用千分分表位将各分表中的数据进行进一步区分,逻辑上将分表中的数据进一步拆分成10份,各份数据与所述千分分表位相对应。根据带有千分分表位的索引字段并发捞取相应千分分表位下的记录数据。分表中的数据利用千分分表位进行区别性标识,并在捞取过程中根据带有千分分表位的索引对应捞取,从而有效避免了捞取过程中可能出现的数据重叠问题,提高了捞取到的数据的准确性。相应捞取到的对应于千分分表位的记录数据如图2所示(aijk表示千分分表位下的记录数据,下标ijk表示千分分表位的值)。

在保证基于每个索引单次捞取数据记录数为10条的前提下,可以一批次捞取每个子任务中的100条记录,大幅度提高了捞取的效率。且没有增加基于单个索引单次捞取记录数据的条数,最大限度的保证了捞取阶段的性能。

执行阶段:可以将单批次捞取到的数据均衡地分发到集群中的机器中,机器获取各userid对应的基金资产数据同时进行收益计算,最后将结果写入到数据库中。

针对基金资产收益计算的应用场景,本说明书还提供一种计算资产收益的数据批处理方法的实施例。具体的,如图3所示,可以包括:

s202:对资产收益批处理任务进行拆分获得分表;

s204:生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

s206:根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

s208:将捞取的资产数据分发到计算机集群中进行收益计算。

可以将单批次捞取到的数据均衡地分发到计算机集群中的机器中,所述计算机集群可以包括服务器集群或者分布式集群等。集群中的机器获取单批次捞取到的各userid对应的基金资产数据同时进行收益计算,最后将结果写入到数据库中。单批次捞取到的数据记录大幅增加,相应的,同时进行收益计算的用户记录数也大幅度增加,从而整体上进一步提高了资产收益批量处理的效率。

利用本说明书上述各个实施例的方案,在不增加基于索引条件单次捞取的记录数情况下,大幅度提高捞取的总记录数,从而在保证捞取阶段性能的基础上,大幅度提高了捞取数据的效率。同时还利用第二标识字段从数据层面将子任务中的数据进行区分,来提高数据的并发处理性能,避免了传统并发任务的重复设计步骤。且通过第二标识字段将数据进行标识以及隔离开来,也进一步避免了传统并发式捞取可能出现的数据重叠现象,提高了后续数据处理的准确性。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书一个或多个实施例提供的一种数据批处理方法,可以通过将批处理任务拆分子任务时,生成子任务的标识码,所述标识码由第一标识字段及第二标识字段组成。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识第一标识字段标识的子任务中的数据,从而将子任务中的数据根据第二标识字段进行区分。然后,将所述第二标识字段增加到捞取索引条件中,根据带有第二标识字段的索引条件并发式捞取对应于第二标识字段的数据。在不增加单次捞取的记录数的情况下,大幅度提高了捞取的总记录数,从而提高了数据批处理的效率。

基于上述所述的数据批处理方法,本说明书一个或多个实施例还提供一种数据批处理装置。所述的装置可以包括使用了本说明书实施例所述方法的系统、软件(应用)、模块、组件、服务器等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,图4说明书提供的一种数据批处理装置实施例的模块结构示意图,如图4,所述装置可以包括:

拆分模块302,可以用于对批处理任务进行拆分获得子任务;

标识码生成模块304,可以用于生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述子任务,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述子任务中的数据;

捞取模块306,可以用于根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

利用本说明书上述实施例的方案,可以在保证捞取阶段性能的基础上,大幅度提高捞取数据的效率,且可以避免传统并发式捞取可能出现的数据重叠现象,提高后续数据处理的准确性。

本说明书的一个实施例中,所述标识码生成模块可以包括第一标识字段确定单元,所述第一标识字段确定单元可以用于获取批处理任务中数据记录对应的数据识别码,读取所述数据识别码中指定字段位置处的数据,根据读取的数据确定所述第一标识字段以及第二标识字段。

利用本说明书上述实施例的方案,可以进一步保证数据拆分的准确性。

本说明书的另一个实施例中,所述标识码生成模块可以包括标识字段长度确定单元以及第二标识字段确定单元,其中,

所述标识字段长度确定单元,可以用于根据预设并发数确定附加字段的长度,以及根据所述附加字段的长度以及第一标识字段的长度确定所述第二标识字段的长度;

所述第二标识字段确定单元,可以用于根据所述第二标识字段的长度以及所述第一标识字段确定所述第二标识字段。

利用本说明书上述实施例的方案,可以在保证数据库运行性能的基础上,根据实际需要最大限度的增加数据拆分的数量,以提高后续数据处理的效率。

本说明书的另一个实施例中,所述捞取模块可以包括索引确定单元以及捞取单元,其中,

所述索引确定单元,可以用于根据所述第二标识字段确定捞取索引字段;

所述捞取单元,可以用于根据所述捞取索引条件捞取所述第一标识字段标识的子任务中的数据。

本说明书的另一个实施例中还提供一种计算资产收益的数据批处理装置,所述装置可以包括:

资产任务拆分模块,可以用于对资产收益批处理任务进行拆分获得分表;

分表标识码生成模块,可以用于生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

资产数据捞取模块,可以用于根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

收益计算模块,可以用于将捞取的资产数据分发到计算机集群中进行收益计算。

需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本说明书一个或多个实施例提供的一种数据批处理装置,可以通过将批处理任务拆分子任务时,生成子任务的标识码,所述标识码由第一标识字段及第二标识字段组成。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识第一标识字段标识的子任务中的数据,从而将子任务中的数据根据第二标识字段进行区分。然后,将所述第二标识字段增加到捞取索引条件中,根据带有第二标识字段的索引条件并发式捞取对应于第二标识字段的数据。在不增加单次捞取的记录数的情况下,大幅度提高了捞取的总记录数,从而提高了数据批处理的效率。

本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。因此,本说明书还提供一种数据批处理设备,包括处理器及存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:

对批处理任务进行拆分获得子任务;

生成所述子任务的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述子任务,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述子任务中的数据;

根据所述第二标识字段捞取对应的第一标识字段标识的子任务中的数据。

相应的,本说明书的另一个实施例中,还提供了一种计算资产收益的数据批处理设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:

对资产收益批处理任务进行拆分获得分表;

生成所述分表的标识码,所述标识码包括第一标识字段以及第二标识字段,所述第一标识字段用于标识所述分表,所述第二标识字段根据所述第一标识字段加附加字段确定,用于标识所述分表中的资产数据;

根据所述第二标识字段捞取对应的第一标识字段标识的分表中的资产数据;

将捞取的资产数据分发到计算机集群中进行收益计算。

所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是应用本发明实施例的一种数据批处理服务器的硬件结构框图。如图5所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本邻域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、gpu,或者具有与图5所示不同的配置。

存储器200可用于存储应用软件的软件程序以及模块,如本发明实施例中的搜索方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述数据批处理的方法。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

上述实施例所述的一种数据批处理装置,可以通过将批处理任务拆分子任务时,生成子任务的标识码,所述标识码由第一标识字段及第二标识字段组成。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识第一标识字段标识的子任务中的数据,从而将子任务中的数据根据第二标识字段进行区分。然后,将所述第二标识字段增加到捞取索引条件中,根据带有第二标识字段的索引条件并发式捞取对应于第二标识字段的数据。在不增加单次捞取的记录数的情况下,大幅度提高了捞取的总记录数,从而提高了数据批处理的效率。

本说明书还提供一种数据批处理系统,所述系统可以为单独的批处理任务调度系统,也可以应用在多种类型业务系统中。所述的系统可以为单独的计算机,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述数据批处理系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。

需要说明的,上述所述的系统根据方法或者装置实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

上述实施例所述的一种数据批处理系统,可以通过将批处理任务拆分子任务时,生成子任务的标识码,所述标识码由第一标识字段及第二标识字段组成。所述第一标识字段用于标识所述子任务,所述第二标识字段用于标识第一标识字段标识的子任务中的数据,从而将子任务中的数据根据第二标识字段进行区分。然后,将所述第二标识字段增加到捞取索引条件中,根据带有第二标识字段的索引条件并发式捞取对应于第二标识字段的数据。在不增加单次捞取的记录数的情况下,大幅度提高了捞取的总记录数,从而提高了数据批处理的效率。

需要说明的是,本说明书上述所述的装置或者系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类、存储介质+程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

尽管本说明书实施例内容中提到数据识别码以及预设并发数等获取、定义、交互、计算、判断等操作和数据描述,但是,本说明书实施例并不局限于必须是符合标准数据模型/模板或本说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

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

本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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