一种数据处理方法及装置与流程

文档序号:22627472发布日期:2020-10-23 19:36阅读:98来源:国知局
一种数据处理方法及装置与流程

本发明涉及移动通信技术领域,尤其涉及一种数据处理方法及装置。



背景技术:

移动互联网时代,中国移动成为移动互联网产业链的一环,面对用户量的增长和业务的发展,数据量也在快速增长,对业务支撑系统中批量处理的操作的处理性能提出了新的挑战。

现有技术主要依赖数据库的性能,使用数据库dml语言对千万级别的数据进行操作,对使用的数据库及主机性能要求就很高,目前使用的oracle数据库,成本很高,扩展难度大,大批量并发操作时,争抢资源现象严重,导致各模块运行效率都很低。

由此可知,从数据库查询数据,进行计算生成计算结果,保存到数据库。这种处理模式为了提高处理性能,增加并行,最终导致对数据库的压力增大,运行效率低。



技术实现要素:

本发明实施例的目的是提供一种数据处理方法及装置,以解决现有数据处理模式为了提高处理性能,增加并行,最终导致对数据库的压力增大,运行效率低的问题。

为了解决上述技术问题,本发明实施例是这样实现的:

第一方面,本发明实施例提供了一种数据处理方法,包括:

从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将所述业务数据存储至多个缓存中;

根据所述业务数据的分类结果,创建多个数据处理任务;

将多个所述数据处理任务分配给预设数量的数据处理线程,以触发所述数据处理线程基于所述数据处理任务对相应的所述缓存中的业务数据进行处理。

第二方面,本发明实施例提供了一种数据处理装置,包括:

业务数据读取模块,用于从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将所述业务数据存储至多个缓存中;

处理任务创建模块,用于根据所述业务数据的分类结果,创建多个数据处理任务;

数据处理触发模块,用于将多个所述数据处理任务分配给预设数量的数据处理线程,以触发所述数据处理线程基于所述数据处理任务对相应的所述缓存中的业务数据进行处理。

第三方面,本发明实施例提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的数据处理方法的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的数据处理方法的步骤。

本发明实施例中的数据处理方法及装置,其中,该方法包括:从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将业务数据存储至多个缓存中;根据业务数据的分类结果,创建多个数据处理任务;将多个数据处理任务分配给预设数量的数据处理线程,以触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理。通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

附图说明

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

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

图2为本发明实施例提供的数据处理方法的第二种流程示意图;

图3为本发明实施例提供的数据处理方法的第三种流程示意图;

图4为本发明实施例提供的数据处理方法的第四种流程示意图;

图5为本发明实施例提供的数据处理方法的第五种流程示意图;

图6为本发明实施例提供的数据处理方法的第六种流程示意图;

图7为本发明实施例提供的数据处理方法的实现原理示意图;

图8为本发明实施例提供的数据处理装置的模块组成示意图;

图9为本发明实施例提供的计算机设备的结构示意图。

具体实施方式

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

本发明实施例提供了一种数据处理方法及装置,通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,这样并行执行的多个处理线程直接对接多个缓存,从而处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

图1为本发明实施例提供的数据处理方法的第一种流程示意图,如图1所示,该方法至少包括以下步骤:

s101,从目标数据库中全量读取待处理的业务数据;

上述从目标数据库中全量读取的待处理的业务数据,可以为千万级用户的业务数据,本说明书一个或多个实施例主要针对分布式架构下的海量用户业务数据进行处理;

s102,按照预设分类规则将业务数据存储至多个缓存中,其中,上述预设分类规则可以为根据用户标识或者业务类别将从目标数据库中获取的业务数据存储至多个缓存中;上述缓存可以为map缓存也可以为分布式缓存redis,配置数据采用进程内map进行缓存,业务类数据等数据量较大的业务数据,加载到分布式缓存redis中进行缓存,优选的,针对千万级数据量较大的数据处理,将从目标数据库中全量读取的待处理业务数据加载到多个分布式redis缓存中进行处理;

具体的,针对目标数据库为移动业务数据库,将存储在目标数据库中的包含千万级用户的业务数据,例如用户的欠费数据、充值数据、积分数据等业务数据,按照各个用户的标识信息进行分类整理,把与每个用户标识所对应的欠费数据、充值数据、积分数据等业务数据与其用户标识归类,也可以按照业务类别,将从目标数据库中获取到的千万用户的业务数据进行归类存储至多个分布式缓存redis中进行缓存;

s103,根据业务数据的分类结果,创建多个数据处理任务,具体的,根据从目标数据库中导入到多个分布式缓存redis中进行缓存的业务数据,在多个分布式redis缓存中按照用户标识或者业务类别将从目标数据库中获取到的业务数据进行分类整理得到上述业务数据的分类结果,根据得到的分类结果,创建任务的线程创建出多个数据处理任务,用于将创建出的多个数据处理任务提供给处理线程进行查询处理;

s104,将多个数据处理任务分配给预设数量的数据处理线程;

s105,触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理;

具体的,当创建任务的线程,根据从目标数据库中导入到多个分布式缓存redis中进行缓存的业务数据,在多个分布式redis缓存中按照用户标识或者业务类别将从目标数据库中获取到的业务数据进行分类整理得到上述业务数据的分类结果,根据得到的分类结果所创建出多个数据处理任务,将所创建出的多个数据处理任务放入线程任务池中,当任务调度器检测到线程任务池中存在多个待处理的数据处理任务,将这多个数据处理任务分配给线程池中预设数量的数据处理线程,以触发数据处理线程基于数据处理任务对相应的分布式redis缓存中的业务数据进行处理;

其中,本实施例中的数据处理方法支持断点接续处理,程序执行过程中,顺序执行结构化查询语言(sql,structuredquerylanguage)操作场景,通过java的aop在切面中加入对操作步骤的判断,成功执行的步骤直接跳过,实现进程异常重启后执行sql的操作实现接续处理;此外,通过加载所有需要处理的用户标识信息到分布式redis缓存中的set中,处理时从set中取出数据,进行数据处理,处理异常重启后接着取出未处理的用户标识进行处理,有效的避免了在处理千万级数据等海量数据时,当程序发生异常所导致的需要对数据重新处理的问题,从而进一步保证了程序运行的稳定性;

本发明实施例中,通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,这样并行执行的多个处理线程直接对接多个缓存,从而处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

其中,批量的从目标数据库中全量读取待处理的业务数据时,需要在多个分布式redis缓存中将读取到的业务数据进行分类整理,如图2所示,上述s102,按照预设分类规则将业务数据存储至多个缓存中,包括:

s1021,按照用户标识对业务数据进行分类处理,将具有相同用户标识的业务数据确定为待处理数据子集,具体的,例如针对目标数据库为移动业务数据库,将存储在目标数据库中的包含千万用户的业务数据,例如用户的欠费数据、充值数据、积分数据等业务数据,按照各个用户标识进行分类整理,把与每个用户标识所对应的欠费数据、充值数据、积分数据等业务数据与其用户标识归为一类,将具有相同用户标识的业务数据确定为待处理数据子集,得到包含千万个用户标识所对应的千万个待处理数据子集,其中,每个待处理数据子集包括用户的标识、欠费数据、充值数据、积分数据等相关的移动业务数据,这样当对目标用户的相关业务进行查询时,根据用户的标识信息,就能够将该用户的欠费信息、预存信息、充值信息、积分信息等业务信息全部读取出来,从而在一定程度上减少了数据的检索次数,提高了数据处理效率。

s1022,对多个待处理数据子集进行分组处理,得到多组待处理数据集合,具体的,将从目标数据库中读取的业务数据,按照用户标识进行分类处理,将得到的具有相同用户标识的业务数据确定为待处理数据子集,根据分类整理后得到的多个待处理数据子集进行分组处理,得到多组待处理数据集合,其中,上述待处理数据集合为具有一定数量的包含待处理数据子集的业务数据;

s1023,将多组待处理数据集合存储至多个缓存中,考虑到针对目标数据库为移动业务数据库的情况,通常数据库中包含有千万级的数据量,如果将这千万级的数据量都存储在一个分布式redis缓存中,将会造成处理主机的运行效率降低,此外,目前这种x86主机成本较低,因此可以将这千万级的数据量存储在多台x86主机的redis缓存中,通过这种横向的扩展,可以提供更多的并发数据处理,从而有效的缩短了对千万级数据量的数据进行处理的时间,同时大大提高了数据处理的效率;

例如针对目标数据库为移动业务数据库,将存储在目标数据库中的包含千万用户的业务数据,例如用户的欠费数据、充值数据、积分数据等业务数据,按照各个用户标识进行分类整理,把与每个用户标识所对应的欠费数据、充值数据、积分数据等业务数据与其用户标识归为一类,将具有相同用户标识的业务数据确定为待处理数据子集,得到包含千万个用户标识所对应的千万个待处理数据子集,其中,每个待处理数据子集包括用户的标识、欠费数据、充值数据、积分数据等相关的移动业务数据;将得到的一千万个待处理数据子集进行分组处理,例如将一千万个待处理数据子集划分为100组,得到100组待处理数据集合,每组包含有10万个待处理数据子集,然后将这100组待处理数据集合存储至多个分布式redis缓存中;

其中,为了进一步提高数据处理效率,如图3所示,上述s103,根据业务数据的分类结果,创建多个数据处理任务,包括:

s1031,针对每个待处理数据集合,根据该待处理数据集合所在的缓存的标识信息和预设数据处理需求,创建数据处理任务,其中,上述预设数据处理需求包括:查询欠费数据、充值数据、积分数据、流量数据等处理需求;针对每个待处理数据集合,根据该待处理数据集合所在的分布式redis缓存中的物理地址标识信息,以及查询欠费数据、充值数据、积分数据、流量数据等具体的处理需求信息,创建数据处理任务;例如,上述预设数据处理需求为查询所有用户的欠费数据;上述将一千万个待处理数据子集划分为100组,得到100组待处理数据集合,针对每组包含有10万个待处理数据子集的待处理数据集合,根据每个待处理数据集合所在的分布式redis缓存中的物理地址标识信息,以及查询欠费处理需求,创建数据处理任务;

其中,针对待处理数据集合的组数,创建相应数量的数据处理任务,每个数据处理任务对应一个待处理数据集合,例如,例如将千万个待处理数据子集划分为100组,相应的创建出100个数据处理任务;

其中,针对创建出的多个数据处理任务,为了进一步提高数据处理效率,采用预设数量的处理数据线程并发进行数据处理,如图4所示,上述s104,将多个数据处理任务分配给预设数量的数据处理线程,包括:

s1041,触发任务调度器在数据处理线程池中,选取处于空闲状态的多个数据处理线程;

s1042,在多个数据处理任务中选取未处理的数据处理任务分配给多个数据处理线程。

具体的,当根据业务数据的分类结果,创建出多个数据处理任务后,任务调度器检测到线程任务池中存才多个数据处理任务时,检测数据处理线程池中是否存在空闲状态的多个数据处理线程,当检测到数据处理线程池中存在空闲状态的多个数据处理线程,触发任务调度器在数据处理线程池中,选取处于空闲状态的多个数据处理线程,在多个数据处理任务中选取未处理的数据处理任务同时分配给处于空闲状态的多个数据处理线程,执行并发处理任务操作,直到完成线程任务池中的全部处理任务。

其中,数据处理任务包括:缓存标识信息和预设数据处理需求,如图5所示,上述s105,触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理,包括:

s1051,触发数据处理线程从与缓存标识信息对应的缓存中读取待处理数据集合,并基于预设数据处理需求对待处理数据集合进行并发处理,具体的,在多个数据处理任务中选取未处理的数据处理任务分配给多个数据处理线程后,触发已分配到任务的各个数据处理线程,从与多个分布式redis缓存标识信息相对应的redis缓存中读取待处理数据集合,并基于预设数据处理需求对待处理数据集合进行并发处理;例如,上述预设数据处理需求为计算用户的积分数据,触发已分配到任务的各个数据处理线程,根据各所分配任务中携带的缓存标识信息和计算用户的积分数据的需求,并发从所分配任务中携带的与多个分布式redis缓存标识信息相对应的redis缓存中的set中,读取待处理数据集合中所包含各个用户的标识信息,根据用户的标识信息,查找与该用户标识相对应的待处理数据子集,根据待处理数据子集中的充值数据、赠送数据,计算该用户的积分数据。

其中,如图6所示,在上述s105,触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理之后,还包括:

s106,将数据处理线程针对缓存中的业务数据的数据处理结果写入目标数据库中,具体的,待多个数据处理线程并发基于相应的数据处理任务对相应的分布式redis缓存中的业务数据处理完成之后,得到相应的数据处理结果,由负责将数据结果导入目标数据库中的线程,将得到的数据处理结果批量的导入到目标数据库中,相比现有技术中处理线程处理完一条业务数据就将处理结果导入到数据库中而言,这种批量的导入数据库中的方法,一方面减缓了数据库的压力,另一方面提高了数据处理的效率。

其中,为了进一步减少目标数据库的压力,上述s106,将数据处理线程针对缓存中的业务数据的数据处理结果写入目标数据库中,包括:

步骤一:将各数据处理线程针对缓存中的业务数据的数据处理结果存入预设数据暂存池;

步骤二:判断预设数据暂存池中数据处理结果的数量是否大于预设阈值;

步骤三:若是,则调用数据结果写入线程将预设数据暂存池中的多个数据处理结果写入目标数据库中,并删除预设数据暂存池中的多个数据处理结果;

具体的,为了进一步减少目标数据库的压力,待各数据处理线程针对缓存中的业务数据处理完后生成的处理结果,不是逐个写入目标数据库的,而是先将各业务数据的数据处理结果存入预设数据暂存池中,当放入预设数据暂存池中数据处理结果的数量大于预设阈值时,调用数据结果写入线程批量的将预设数据暂存池中的多个数据处理结果写入目标数据库中,并删除预设数据暂存池中的多个数据处理结果。

其中,上述实施例提供的数据处理方法还支持并运行对账的功能,待多个数据处理线程并发基于相应的数据处理任务对相应的分布式redis缓存中的业务数据处理完成之后,得到相应的数据处理结果,将该数据处理结果导入到临时表中,与现有技术中处理相同数据时所得到的处理结果,进行对账并测试处理效率,根据测试情况进行优化。

在一个具体实施例中,如图7所示,给出了针对千万级数据的处理方法的实现原理示意图,具体实现过程为:

(1)从目标数据库中全量读取待处理的业务数据,其中,上述待处理的业务数据为千万级数据;

(2)按照预设分类规则,将从目标数据库中获取的待处理业务数据存储至多个分布式redis缓存中,在多个分布式redis缓存中通过内存加载线程进行内存加载,其中,上述内存加载过程包括:

(a)按照用户标识对业务数据进行分类处理,将具有相同用户标识的业务数据确定为待处理数据子集;

例如针对目标数据库为移动业务数据库,将存储在目标数据库中的包含千万用户的业务数据,例如用户的欠费数据、充值数据、积分数据等业务数据,按照各个用户标识进行分类整理,把与每个用户标识所对应的欠费数据、充值数据、积分数据等业务数据与其用户标识归为一类,将具有相同用户标识的业务数据确定为待处理数据子集,得到包含千万个用户标识所对应的千万个待处理数据子集,其中,每个待处理数据子集包括用户的标识、欠费数据、充值数据、积分数据等相关的移动业务数据;

(b)对多个待处理数据子集进行分组处理,得到多组待处理数据集合,其中,上述待处理数据集合为具有一定数量的包含待处理数据子集的业务数据;

(c)将得到的多组待处理数据集合存储至多个分布式redis缓存中;

(3)针对存储在多个分布式redis缓存中的多组待处理数据集合,创建任务的线程创建相应数量的数据处理任务;

(4)任务调度器检测到存在多个待处理的数据处理任务,将这多个数据处理任务分配给预设数量的数据处理线程,以触发数据处理线程基于数据处理任务对相应的分布式redis缓存中的业务数据进行处理;

(5)将数据处理线程针对分布式redis缓存中的业务数据的数据处理结果生成相应的文件,导入数据库文件中,最终将导入数据库的文件导入到目标数据库中;

本发明实施例中的数据处理方法,包括:从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将业务数据存储至多个缓存中;根据业务数据的分类结果,创建多个数据处理任务;将多个数据处理任务分配给预设数量的数据处理线程,以触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理。通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,这样并行执行的多个处理线程直接对接多个缓存,从而处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

对应上述实施例提供的数据处理方法,基于相同的技术构思,本发明实施例还提供了一种数据处理装置,图8为本发明实施例提供的数据处理装置的第一种模块组成示意图,该数据处理装置用于执行图1至图7描述的数据处理方法,如图8所示,该数据处理装置包括:

业务数据读取模块801,用于从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将所述业务数据存储至多个缓存中;

处理任务创建模块802,用于根据所述业务数据的分类结果,创建多个数据处理任务;

数据处理触发模块803,用于将多个所述数据处理任务分配给预设数量的数据处理线程,以触发所述数据处理线程基于所述数据处理任务对相应的所述缓存中的业务数据进行处理。

本发明实施例中,通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,这样并行执行的多个处理线程直接对接多个缓存,从而处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

可选的,上述业务数据读取模块801,具体用于:

按照用户标识对所述业务数据进行分类处理,将具有相同用户标识的业务数据确定为待处理数据子集;

对多个所述待处理数据子集进行分组处理,得到多组待处理数据集合;

将多组所述待处理数据集合存储至多个缓存中。

可选的,上述处理任务创建模块802,具体用于:

针对每个所述待处理数据集合,根据该待处理数据集合所在的缓存的标识信息和预设数据处理需求,创建数据处理任务。

可选的,上述数据处理触发模块803,具体用于:

触发任务调度器在数据处理线程池中,选取处于空闲状态的多个数据处理线程;

在多个所述数据处理任务中选取未处理的数据处理任务分配给所述多个数据处理线程。

可选的,所述数据处理任务包括:缓存标识信息和预设数据处理需求;上述数据处理触发模块803,进一步具体用于:

触发所述数据处理线程从与所述缓存标识信息对应的缓存中读取待处理数据集合,并基于所述预设数据处理需求对所述待处理数据集合进行并发处理。

可选的,上述装置还用于:

将所述数据处理线程针对所述缓存中的业务数据的数据处理结果写入所述目标数据库中。

可选的,上述装置还具体用于:

将各所述数据处理线程针对所述缓存中的业务数据的数据处理结果存入预设数据暂存池;

判断所述预设数据暂存池中数据处理结果的数量是否大于预设阈值;

若是,则调用数据结果写入线程将所述预设数据暂存池中的多个所述数据处理结果写入所述目标数据库中,并删除所述预设数据暂存池中的多个所述数据处理结果。

本发明实施例中的数据处理装置,从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将业务数据存储至多个缓存中;根据业务数据的分类结果,创建多个数据处理任务;将多个数据处理任务分配给预设数量的数据处理线程,以触发数据处理线程基于数据处理任务对相应的缓存中的业务数据进行处理。通过预先批量的从数据库中读取待处理的业务数据,并将读取的数据全量加载到多个缓存中进行分类整理,程序运行中,采用多个处理线程从多个缓存中取出待处理的业务数据进行处理,这样并行执行的多个处理线程直接对接多个缓存,从而处理线程数量的增加不会对数据库造成压力,从而有效降低了对数据库的依赖,实现了高并发、高扩展、大大提高了数据处理的运行效率。

本发明实施例提供的数据处理装置能够实现上述数据处理方法对应的实施例中的各个过程,为避免重复,这里不再赘述。

需要说明的是,本发明实施例提供的数据处理装置与本发明实施例提供的数据处理方法基于同一发明构思,因此该实施例的具体实施可以参见前述数据处理方法的实施,重复之处不再赘述。

对应上述实施例提供的数据处理方法,基于相同的技术构思,本发明实施例还提供了一种计算机设备,该设备用于执行上述的数据处理方法,图9为实现本发明各个实施例的一种计算机设备的结构示意图,如图9所示。计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对计算机设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在计算机设备上执行存储器902中的一系列计算机可执行指令。计算机设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906。

具体在本实施例中,计算机设备包括有处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现以下方法步骤:

从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将所述业务数据存储至多个缓存中;

根据所述业务数据的分类结果,创建多个数据处理任务;

将多个所述数据处理任务分配给预设数量的数据处理线程,以触发所述数据处理线程基于所述数据处理任务对相应的所述缓存中的业务数据进行处理。

本申请实施例还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以下方法步骤:

从目标数据库中全量读取待处理的业务数据,并按照预设分类规则将所述业务数据存储至多个缓存中;

根据所述业务数据的分类结果,创建多个数据处理任务;

将多个所述数据处理任务分配给预设数量的数据处理线程,以触发所述数据处理线程基于所述数据处理任务对相应的所述缓存中的业务数据进行处理。

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

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

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

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

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

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

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

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

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