一种数据处理方法、装置及服务器的制造方法
【专利摘要】本发明实施例提供了一种数据处理方法、装置及服务器,其中方法包括:根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数;按照确定出的个数启动并运行生成任务,当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。本发明整体实现了数据生成任务和数据执行任务的并行处理,提高了数据处理的速度,提升了数据处理的效率。
【专利说明】一种数据处理方法、装置及服务器
【技术领域】
[0001]本发明涉及信息处理【技术领域】,尤其涉及一种数据处理方法、装置及服务器。
【背景技术】
[0002]现有的数据处理过程通常包括数据生成过程和数据执行过程,不论是在测试过程中还是在实际工作过程中,数据生成和数据执行常采用串行的方式,即数据执行过程必须等到数据生成过程完成之后再进行,这种串行的方式,拉长了整个数据处理过程,增加了时间成本,效率较低。
【发明内容】
[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据处理方法、装置及服务器。
[0004]基于上述问题,本发明实施例提供的一种数据处理方法,包括:
[0005]根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数;
[0006]按照确定出的个数启动并运行生成任务,当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。
[0007]本发明实施例提供的一种数据处理装置,包括:
[0008]确定模块,用于根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数;
[0009]生成任务运行模块,用于按照确定出的个数启动并运行生成任务;
[0010]执行任务运行模块,用于当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。
[0011]本发明实施例提供的服务器,包括本发明实施例提供的上述数据处理装置。
[0012]本发明实施例的有益效果包括:
[0013]本发明实施例提供的数据处理方法、装置及服务器首先根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数,在正式运行时,先按照确定出的个数启动并运行生成任务,当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行数据执行任务,这样,就整体实现了数据生成任务和数据执行任务的并行处理,提高了数据处理的速度,提升了数据处理的效率。
[0014]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】
【附图说明】
[0015]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0016]图1为本发明实施例提供的数据处理方法的流程图;
[0017]图2为本发明实施例提供的动态调整下个阶段数据生成任务的个数的流程图;
[0018]图3为本发明实施例提供的数据执行任务和数据生成任务的队列的示意图;
[0019]图4为本发明实施例提供的数据处理装置的结构图。
【具体实施方式】
[0020]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0021]下面结合说明书附图,对本发明实施例提供的一种数据处理方法、装置及服务器的【具体实施方式】进行说明。
[0022]本发明实施例提供的一种数据处理方法,如图1所示,具体包括以下步骤:
[0023]S11、根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数;
[0024]S12、按照确定出的个数启动并运行生成任务;
[0025]S13、当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行数据执行任务。
[0026]上述S13可以根据预先设置的数据执行任务的结束条件而结束,例如达到预先设置的执行任务迭代次数或达到执行的总时长就可以结束。
[0027]下面进一步地对上述流程进行详细的说明。
[0028]在本发明实施例中,数据生成任务和数据执行任务,在正常运行状态都是采用循环迭代执行多次的方式。
[0029]在上述Sll之前,还需要一个预处理过程来确定数据生成任务的运行速度和数据执行任务的运行速度,在这个预处理过程中,需要预先设定一个生成任务和一个数据执行任务以及一个数据池;其中:生成任务用于生成数据并放入设定的数据池,执行任务用于从数据池中取出数据并执行;
[0030]先运行一次数据生成任务,根据运行一次数据生成任务生成的数据量和耗时,计算出每秒生成的数据量,作为数据生成任务的运行速度;
[0031]循环运行数据生成任务,当数据池中的数据量达到运行一次执行任务配置的数据量时,运行一次数据执行任务,根据运行一次数据执行任务执行的数据量和耗时,计算出每秒执行的数据量,作为数据执行任务的运行速度。
[0032]总体来说,数据生成任务的速度(所有数据生成任务的速度的总和)要大于数据执行任务的速度,以保证数据池中总有数据可以执行。这样,根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数,具体包括下面两种情况:
[0033]第一种情况:数据生成任务的运行速度大于所述数据执行任务的运行速度;
[0034]这种情况下,需要启动的数据生成任务的个数至少为2个,可以是2、3个,或者根据系统的能力,启动更多的生成任务,当然,一般情况下,在数据生成任务的运行速度大于所述数据执行任务的运行速度时,启动2个就足够。
[0035]第二种情况,数据生成任务的运行速度小于等于数据执行任务的运行速度;
[0036]这种情况下,需要启动的数据生成任务的个数的计算公式如下:
[0037]M=2+N,其中:
[0038]M为需要启动的数据生成任务的个数;
[0039]N =数据执行任务的运行速度除以数据生成任务的运行速度的结果取整。
[0040]上述取整可以采用多种取整方式,例如上取整、下取整、四舍五入取整等等,本发明实施例对此不做限定。
[0041]在S12中按照确定出的个数启动并运行生成任务之后,生成任务会不断循环执行,直至生成任务生成的数据量达到运行一次数据执行任务配置的数据量,此时,执行S13,即启动并运行数据执行任务的步骤。
[0042]进一步地,预处理过程只是根据运行一次数据生成任务和一次数据执行任务得到的数据生成任务的运行速度和数据执行任务的运行速度,来确定出数据生成任务的个数,在真正开始运行数据生成任务和数据执行任务时,数据生成任务和数据执行任务都是循环迭代方式多次运行,由于各种因素,此时数据生成任务和数据执行任务的实际运行速度并不一定等于预处理的过程中数据生成任务和数据执行任务的速度,较佳地,可以数据生成任务的个数进行动态的调整。
[0043]具体来说,动态调整的过程包括:
[0044]1、对数据执行任务的执行过程按照数据量大小分阶段进行监测;
[0045]例如对执行任务的数据量是否达到数据池总容量的10 %、20 %、30 %、40 %、50 %、60%、70%、80%、90% 进行监测。
[0046]2、根据每个阶段所述执行过程的数据量和当前阶段数据生成任务实际的执行速度,动态调整下个阶段数据生成任务的个数。
[0047]如图2所示,上述步骤2具体又可以通过下述过程实现:
[0048]S21、根据当前阶段的数据生成任务生成的数据量和数据生成任务的个数,计算出当前阶段内数据生成任务的实际速度;
[0049]S22、根据当前阶段监测到的数据执行任务执行的数据量,预测下个阶段需要生成的数据量;
[0050]S23、根据预测下个阶段需要生成的数据量以及当前阶段内数据生成任务的实际速度,计算出下个阶段需要的数据生成任务的个数;
[0051]S24、根据下个阶段需要的数据生成任务的个数,调整数据生成任务的个数。
[0052]举例来说,如图3所示,假设数据执行任务涉及的数据所在的队列为图3中的队列1,数据生成任务涉及的数据所在的队列为图3中的队列2 ;
[0053]假设当前阶段数据执行任务执行的数据为0-9即共10个数据,对应地,当前阶段内,所有数据生成任务生成的数据为0-4即5个数据,那么,预计下个阶段,所有数据生成任务至少需要生成15个数据(到下个阶段数据执行任务需要一共执行20个数据),那么反过来,根据当前单个数据生成任务的运行速度即:5/(当前阶段经历的时间*数据生成任务的个数),可以预测下一个阶段需要的数据生成任务的个数,从而对预处理过程确定出来的数据生成任务的个数进行了实时地、动态地调整。
[0054]基于同一发明构思,本发明实施例还提供了一种数据处理装置及服务器,由于这些装置和服务器所解决问题的原理与前述数据处理方法相似,因此该装置和服务器的实施可以参见前述方法的实施,重复之处不再赘述。
[0055]本发明实施例提供的数据处理装置,如图4所示,包括:
[0056]确定模块401,用于根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数;
[0057]生成任务运行模块402,用于按照确定出的个数启动并运行生成任务;
[0058]执行任务运行模块403,用于当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。
[0059]进一步地,本发明实施例提供的数据处理装置,如图4所示,还包括:
[0060]预处理模块404,用于设定一个数据生成任务和一个数据执行任务,生成任务用于生成数据并放入设定的数据池,执行任务用于从数据池中取出数据并执行;先运行一次数据生成任务,根据运行一次数据生成任务生成的数据量和耗时,计算出每秒生成的数据量,作为数据生成任务的运行速度;循环运行数据生成任务,当数据池中的数据量达到运行一次执行任务配置的数据量时,运行一次数据执行任务,根据运行一次数据执行任务执行的数据量和耗时,计算出每秒执行的数据量,作为数据执行任务的运行速度。
[0061]进一步地,上述确定模块401,具体用于当所述数据生成任务的运行速度大于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数至少为2个;当所述数据生成任务的运行速度小于等于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数为2+N,其中N =数据执行任务的运行速度除以数据生成任务的运行速度的结果取整。
[0062]进一步地,本发明实施例提供的数据处理装置,如图4所示,还包括:动态调整模块405,用于对数据执行任务的执行过程按照数据量大小分阶段进行监测;根据每个阶段所述执行过程的数据量和当前阶段数据生成任务实际的执行速度,动态调整下个阶段数据生成任务的个数。
[0063]进一步地,上述动态调整模块405,具体用于根据当前阶段的数据生成任务生成的数据量和数据生成任务的个数,计算出当前阶段内数据生成任务的实际速度;根据当前阶段监测到的数据执行任务执行的数据量,预测下个阶段需要生成的数据量;根据预测下个阶段需要生成的数据量以及当前阶段内数据生成任务的实际速度,计算出下个阶段需要的数据生成任务的个数;根据所述下个阶段需要的数据生成任务的个数,调整数据生成任务的个数。
[0064]本发明实施例还提供了一种服务器,该服务器包括本发明实施例提供的上述数据处理装置。
[0065]本发明实施例提供的数据处理方法、装置及服务器,首先根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数,在正式运行时,先按照确定出的个数启动并运行生成任务,当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行数据执行任务,这样,就整体实现了数据生成任务和数据执行任务的并行处理,提高了数据处理的速度,提升了数据处理的效率。
[0066]并且,在本发明实施例中,还可以对数据执行过程进行监控,根据正式运行过程中,数据生成任务的实际的运行速度,来动态调整数据生成任务的个数,进一步保证了数据处理的速度和效率。
[0067]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0068]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0069]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0070]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0071]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0072]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据处理装置及服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0073]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0074]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种数据处理方法,其特征在于,包括: 根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数; 按照确定出的个数启动并运行生成任务,当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。
2.如权利要求1所述的方法,其特征在于,所述数据生成任务和数据执行任务的执行速度,通过下述方式确定: 设定一个数据生成任务和一个数据执行任务,所述生成任务用于生成数据并放入设定的数据池,所述执行任务用于从数据池中取出数据并执行; 先运行一次数据生成任务,根据运行一次数据生成任务生成的数据量和耗时,计算出每秒生成的数据量,作为数据生成任务的运行速度; 循环运行数据生成任务,当数据池中的数据量达到运行一次执行任务配置的数据量时,运行一次数据执行任务,根据运行一次数据执行任务执行的数据量和耗时,计算出每秒执行的数据量,作为数据执行任务的运行速度。
3.如权利要求1或2所述的方法,其特征在于,所述根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数,具体包括: 当所述数据生成任务的运行速度大于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数至少为2个; 当所述数据生成任务的运行速度小于等于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数为2+N,其中N =数据执行任务的运行速度除以数据生成任务的运行速度的结果取整。
4.如权利要求1或2所述的方法,其特征在于,启动并运行所述数据执行任务时,还包括: 对数据执行任务的执行过程按照数据量大小分阶段进行监测; 根据每个阶段所述执行过程的数据量和当前阶段数据生成任务实际的执行速度,动态调整下个阶段数据生成任务的个数。
5.如权利要求4所述的方法,其特征在于,根据每个阶段所述执行过程的数据量和当前阶段数据生成任务实际的执行速度,动态调整下个阶段数据生成任务的个数,具体包括: 根据当前阶段的数据生成任务生成的数据量和数据生成任务的个数,计算出当前阶段内数据生成任务的实际速度; 根据当前阶段监测到的数据执行任务执行的数据量,预测下个阶段需要生成的数据量; 根据预测下个阶段需要生成的数据量以及当前阶段内数据生成任务的实际速度,计算出下个阶段需要的数据生成任务的个数; 根据所述下个阶段需要的数据生成任务的个数,调整数据生成任务的个数。
6.一种数据处理装置,其特征在于,包括: 确定模块,用于根据数据生成任务的运行速度和数据执行任务的运行速度,确定需要启动的数据生成任务的个数; 生成任务运行模块,用于按照确定出的个数启动并运行生成任务; 执行任务运行模块,用于当所有生成任务生成的数据量大于等于运行一次数据执行任务配置的数据量时,启动并运行所述数据执行任务。
7.如权利要求6所述的装置,其特征在于,还包括:预处理模块,用于设定一个数据生成任务和一个数据执行任务,所述生成任务用于生成数据并放入设定的数据池,所述执行任务用于从数据池中取出数据并执行;先运行一次数据生成任务,根据运行一次数据生成任务生成的数据量和耗时,计算出每秒生成的数据量,作为数据生成任务的运行速度;循环运行数据生成任务,当数据池中的数据量达到运行一次执行任务配置的数据量时,运行一次数据执行任务,根据运行一次数据执行任务执行的数据量和耗时,计算出每秒执行的数据量,作为数据执行任务的运行速度。
8.如权利要求6或7所述的装置,其特征在于,所述确定模块,具体用于当所述数据生成任务的运行速度大于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数至少为2个;当所述数据生成任务的运行速度小于等于所述数据执行任务的运行速度时,所述需要启动的数据生成任务的个数为2+N,其中N =数据执行任务的运行速度除以数据生成任务的运行速度的结果取整。
9.如权利要求6或7所述的装置,其特征在于,还包括: 动态调整模块,用于对数据执行任务的执行过程按照数据量大小分阶段进行监测;根据每个阶段所述执行过程的数据量和当前阶段数据生成任务实际的执行速度,动态调整下个阶段数据生成任务的个数。
10.如权利要求9所述的装置,其特征在于,所述动态调整模块,具体用于根据当前阶段的数据生成任务生成的数据量和数据生成任务的个数,计算出当前阶段内数据生成任务的实际速度;根据当前阶段监测到的数据执行任务执行的数据量,预测下个阶段需要生成的数据量;根据预测下个阶段需要生成的数据量以及当前阶段内数据生成任务的实际速度,计算出下个阶段需要的数据生成任务的个数;根据所述下个阶段需要的数据生成任务的个数,调整数据生成任务的个数。
11.一种服务器,其特征在于,所述服务器包括如权利要求6-10任一项所述的数据处理装置。
【文档编号】G06F17/30GK104268223SQ201410499524
【公开日】2015年1月7日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】张秋生, 王晓涛 申请人:北京国双科技有限公司