CN102053859A - 批量数据处理的方法与装置 - Google Patents
批量数据处理的方法与装置 Download PDFInfo
- Publication number
- CN102053859A CN102053859A CN2009101783421A CN200910178342A CN102053859A CN 102053859 A CN102053859 A CN 102053859A CN 2009101783421 A CN2009101783421 A CN 2009101783421A CN 200910178342 A CN200910178342 A CN 200910178342A CN 102053859 A CN102053859 A CN 102053859A
- Authority
- CN
- China
- Prior art keywords
- pending data
- weights
- data
- thread
- handled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种批量数据处理的方法与装置。该方法包括:将待处理数据读入缓存,获取待处理数据的占用空间;根据预设的单位权值和占用空间,计算待处理数据的预估权值;根据预估权值,将待处理数据插入待处理数据序列;将待处理数据序列中的待处理数据置入线程进行处理。本发明各实施例中,根据所需处理时间的大小,对待处理数据进行排序,从而根据用户的设置,对批量数据进行处理,以提高各线程的利用率,减少待处理数据等待的时间,提高了处理效率。
Description
技术领域
本发明涉及通信行业的业务支撑技术领域,尤其涉及一种批量数据处理的方法与装置。
背景技术
电信运营商通常在月初或月末集中处理批量数据,比如批量处理话单、批量生成帐单、批量冲销费用、与各业务平台批量对帐等,一般情况下会采取单线程方式进行。单线程方式是逐条读取数据或者一次性读入内存,然后再逐条处理,读取和处理的过程是串行的,一般采用逐条提交。然而,单线程处理模式中,执行时间长,资源利用率最低。
现有技术中还有直接取模方式,即将一定的字段(列)取模,根据模值分配至不同的线程处理,每个线程处理的方式与串行方式相同,一般采用批量提交。直接取模方式采用多线程处理批量数据,提高了处理效率。图1为本发明现有技术直接取模方式的示意图。以下通过随机抽取20个号码进行模4分配处理方式举例说明直接取模方式的工作原理:如图1所示,按模4分配后,其中6个号码分配在0号线程处理,1个号码分配在1号线程处理,6个号码分配在2号线程处理,7个号码分配在3号线程处理,所有分配是一次性完成,并且处理的线程号是确定的。假定每个号码的处理时间相同,那么4个线程花费的时间比例是:6∶1∶6∶7。
然而,在实现本发明过程中,发明人发现现有技术批量数据处理方式中存在如下缺陷:直接取模处理模式中,取模分配数据并不一定均匀,导致线程的空闲率高,数据等待时间较长。
发明内容
本发明的目的是解决现有技术批量数据处理方式中,不能根据待处理数据的大小,动态调整处理顺序的缺陷,提出一种批量数据处理的方法与装置,以提高线程的处理效率。
为实现上述目的,根据本发明的一个方面,提供了一种批量数据处理的方法,包括:将待处理数据读入缓存,获取待处理数据的占用空间;根据预设的单位权值和占用空间,计算待处理数据的预估权值;根据预估权值,将待处理数据插入待处理数据序列;将待处理数据序列中的待处理数据置入各线程进行处理。
优选地,本技术方案中,分配线程处理待处理数据序列中的待处理数据的步骤之后还包括:获取待处理数据的执行权值;根据多个待处理数据的执行权值,对单位权值进行修正;根据修正后的单位权值,计算后续的待处理数据的预估权值。
本技术方案中,单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的待处理数据进行处理所需要的时间;执行权值为对待处理数据进行处理的实际时间。
本技术方案中,根据预估权值,将待处理数据插入待处理数据序列的步骤中,还可以包括:采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
本技术方案中,还可以包括:预设最大缓存容量值;在最大缓存容量值的范围内,根据待处理数据的数量和占用空间,动态调整缓存的容量;和/或预设最大线程数;在最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目。
本技术方案中,还可以包括:预设线程提交数;当线程中已处理数据的数量达到预设提交数时,将已处理数据写入数据库或者文件系统,清空线程;和/或当线程执行出现错误时,将已处理的数据回滚至未处理的状态。
本技术方案中,当采用单线程处理方式时,将所述待处理数据序列中的待处理数据直接置入单线程进行处理;当采用多线程处理方式时,将所述待处理数据序列中的待处理数据分配至各线程进行处理。
为实现上述目的,根据本发明的另一个方面,提供了一种批量数据处理的装置,包括:获取模块,用于将待处理数据读入缓存,获取待处理数据的占用空间;预分配模块,用于根据预设的单位权值和占用空间,计算待处理数据的预估权值;排序模块,用于根据预估权值,将待处理数据插入待处理数据序列;分配模块,用于将待处理数据序列中的待处理数据分配至各线程进行处理。
优选地,本技术方案中,预分配模块还可以包括:单位权值调整子模块,用于获取待处理数据的执行权值;根据多个待处理数据的执行权值,对单位权值进行修正;预估权值计算子模块,用于根据修正后的单位权值,计算后续的待处理数据的预估权值。
本技术方案中,单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的待处理数据进行处理所需要的时间;执行权值为对待处理数据进行处理的实际时间。
本技术方案中,排序模块根据系统资源利用率,采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
本发明各实施例中,根据所需处理时间的大小,对待处理数据进行排序,从而根据用户的设置,对批量数据进行处理,以提高各线程的利用率,减少待处理数据等待的时间。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明现有技术直接取模方式的示意图;
图2为本发明实施例一批量数据处理方法的流程图;
图3为本发明实施例一待处理数据升序排列的示意图;
图4为本发明实施例二批量数据处理方法的示意图;
图5为本发明实施例二批量数据处理方法中分配策略的示意图;
图6为本发明实施例三批量数据处理方法中关闭线程的示意图;
图7为本发明实施例四批量数据处理装置的示意图。
结合附图在其上标记以下附图标记:
402-获取模块; 404-预分配模块;
406-排序模块; 406-分配模块。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例一
图2为本发明实施例一批量数据处理方法的流程图。如图2所示,本实施例包括:
步骤S102:将待处理数据读入缓存,获取待处理数据的占用空间;
步骤S104:根据预设的单位权值和占用空间,计算待处理数据的预估权值;
步骤S106:根据预估权值,将待处理数据插入待处理数据序列;
步骤S108:将待处理数据序列中的待处理数据置入线程进行处理。
本实施例中,在步骤S102之前,还包括:将批量数据从批量数据源读入缓存,其中批量数据源可以是以一定格式区隔的文件形式存放,或者以数据库表形式存放。权值可以是以时间为单位,也可以以空间为单位,根据具体需要确定。单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的处理待处理数据所需要的时间。对于单位权值,如果处理数据的W值可量化或有历史值,可直接引用作为预设值,否则可根据读取数据的时间或者内存占用大小计算单位权值的预设值。
本实施例中,在步骤S108之后,还可以包括:根据预估权值的大小插入待处理数据序列的相应位置,确保整个队列是按预估权值一定的次序排序的。一般情况下,一段时间内的系统资源情况并不均匀,根据系统资源情况安排,资源忙时,按照预估权值的升序排列,安排先处理小事务;资源闲时,按照预估权值的降序排列,安排处理大事务。资源忙闲,可以预设资源利用率阈值进行判断,也可以根据日常经验,设定不同的时间段为资源利用忙闲的判断依据。图3为本发明实施例一待处理数据升序排列的示意图。如图3所示,从数据源读取数据后,根据单位权值,计算待处理数据的预估权值,图中三个待处理数据的预估权值分别为97,3,7。而后,在升序情况下,将三个待处理数据插入待处理数据序列。
本实施例中,当采用单线程处理方式时,将待处理数据序列中的待处理数据直接置入单线程进行处理;当采用多线程处理方式时,将待处理数据序列中的待处理数据分配至各线程进行处理。
本实施例中,根据所需处理时间的大小,对待处理数据进行排序,从而根据用户的设置,对批量数据进行处理,以提高各线程的利用率,减少待处理数据等待的时间。
实施例二
本实施例将在实施例一的基础上,对单位权值进行动态调整,以更加准确的反映待处理数据的大小,减少待处理数据的等待时间,提高处理效率。本实施例应用于首先设置单位权值的初始值,而后根据对待处理数据进行处理的实际时间,即执行权值,逐步逼近合理的单位权值。本实施例在实施例一步骤S108后,还包括:
步骤S202:获取待处理数据的执行权值;
步骤S204:根据多个待处理数据的执行权值,对单位权值进行修正;
步骤S206:根据修正后的单位权值,计算后续的待处理数据的预估权值。
本实施例中,执行权值为对待处理数据进行处理的实际时间。图4为本发明实施例二批量数据处理方法的示意图。以下将结合图4,对批量数据处理的方法详细进行说明。
一、参数设置
●W值,即单位权值,实际执行后统计生成的每单位数据的平均值,权值可以是以时间为单位,也可以以空间为单位,根据具体需要确定。如果处理数据的W值可量化或有历史值,可直接引用,否则可根据读取数据的时间或者内存占用大小作为单位量。如果很难确定,可先设置一初始值,根据统计W值逐步逼近。
●Block值,待处理数据的占用空间,以数据缓存的基本单位计。
●SWeight,即预估权值,预估的处理待处理数据所需要的时间。计算方法如下:SWeight=W×Block值×修正系数,上述修正系数在此处为取整运算。
●FWeight,即执行权值,对待处理数据进行处理的实际时间,计算方法如下:FWeight=(结束执行时间EndTime-开始执行时间BeginTime)×修正系数。
●TWeight,某线程中未提交数据累计W值。
●Free,空闲执行线程数。
●Wait,当前等待的待处理数据的数目。
二、将待处理数据从数据源读取到数据缓存
批量数据源可以是以一定格式区隔的文件形式存放,或者以数据库表形式存放。在内存中,设立独立数据缓存区,根据数据量的大小,设立基于Block倍数的缓存,将数据映射到缓存。缓存中,待处理数据的数据结构可以是类,也可以是结构体,具体包括:
ID:序号,具有唯一性;
数据实体:记录待处理数据,根据不同的数据类型确定存放的类型;
Block数:记录待处理数据的空间占用情况;
SWeight值:记录该数据的预估权值;
FWeight值:记录实际执行后的权值;
执行线程号:记录处理该数据被处理的线程号;
ReadTime:读入缓存时间,记录该数据读入缓存的系统时间,主要用于统计;
BeginTime:开始执行时间,记录该数据读入缓存的系统时间,主要用于统计。
EndTime:结束执行时间记录该数据实际执行结束的系统时间,主要用于统计。
CommitTime:提交的时间,记录该数据实际提交的系统时间,主要用于统计。
当前状态:记录该数据的运行状态,包括等待、处理中、完成等状态。
其中,读取操作由独立的线程完成,根据要处理事务的属性,可顺序读取,也可尽可能地避免相邻数据的读取,降低数据之间的耦合性。缓存本身有锁,当增加、删除、读取数据时加锁,完成之后解锁,加锁期间除自身线程之外其他线程不能进行任何操作。
三、预处理
对于读入缓存的每一组数据,根据当前平均W值预计算组内每一数据的预估权值SWeight。以单位权值W为例,预估权值SWeight的计算方法如下:SWeight=W×Block数×修正系数。如图3所示,读取数据源的数据后,根据W值和占用的Block数,对待处理数据进行加权,此处,修正系数可以为对W×Block数进行取整的函数或某个值,如100,1000等。
根据预估权值SWeight的大小插入待处理队列的相应位置,确保整个队列是按SWeight值一定的次序排序的。插入后,Wait值加1。一般情况下,一段时间那的系统资源情况并不均匀,资源忙时安排先处理小事务,资源闲时安排处理大事务,具体可参见实施例一的相关说明。
四、分配执行策略
分配策略线程是一个独立的线程。分配的前提是同时有等待数据和空闲的线程,分配线程实时轮询Wait值和Free值。如图3所示,不同的待处理任务被分配至不同的处理线程,如w1,w2,......,wi。图5为本发明实施例二批量数据处理方法中分配策略的示意图。如图5所示,当Wait>0和Free>0同时成立时,分配线程依次将缓存首节点分配给线程池中未提交事务TWeight值最大且当前空闲的线程处理。定时轮询可一次多数据分配处理,同时减少内存占用量。分配后当前线程的TWeight增加待处理数据的SWeight值。
当分配线程把待处理数据分配给空闲线程后,该线程马上置忙,同时开始按业务逻辑处理数据。一条数据执行完成后,计算该数据的实际FWeight值。以时间权值为例,实际FWeight值的计算方法如下:FWeight=(结束执行时间EndTime-开始执行时间BeginTime)×修正系数。,此处,修正系数可以为对EndTime-BeginTime进行取整的函数或某个值,如100,1000等
五、单位权值的修正
对已经提交的线程,触发统计线程执行统计操作。统计计算每一线程w值和累计的W值(以下以时间权值为例)。
对已经提交的线程,触发统计线程执行统计操作。统计计算每一线程w值和累计的W值(以下以时间权值为例)。
1)每线程的w值
2)W值
(n1..nt,1~t个线程的已提交数据量,t线程数)
计算出来的W值作为修正后的单位权值,计算后续的待处理数据的预估权值。各种统计信息记录在文件或表中,作为分析调优用,包括等待时长、处理时长、提交时长等。
本实施例在实施例一的基础上,对单位权值的修正步骤进行了详细说明,本实施例具有上述实施例的全部有益效果,并且能根据不同的待处理数据,更加灵活对执行的顺序进行调整,可实施性更强。
实施例三
本实施例将在实施例二的基础上,对批量数据处理方法中的其他内容进行描述:包括已处理数据的提交,处理错误后的回滚、动态调整缓存,动态调整执行线程数。
一、已处理数据的提交
预设线程提交数;当某线程中,已处理数据的数量达到预设提交数时,将已处理数据写入数据库或者文件系统。
具体来讲,设定提交量CommitCount,处理完的数据存放在内存中,达到提交量或者整个处理完成时候写入数据库或文件系统,避免频繁地I/O操作。CommitCount不宜设置过大,一是占有大量内存,二是回滚时间过长。每提交一次,触发统计线程,根据当前执行情况修正该线程的w值,该线程的累计W值置为0。
二、已处理数据的错误回滚
当线程执行出现错误时,将已处理的数据回滚至未处理的状态。具体来讲,当某线程执行数据时由于种种原因,导致数据质量问题,需要回滚至执行前的状态。回滚对当前线程已执行但未提交的所有数据全部回滚,回滚的数据不参与统计w值,回滚后该线程的累计W值同样置为0。
三、动态调整缓存
预设最大缓存容量值;在最大缓存容量值的范围内,根据待处理数据的数量,动态调整缓存的容量。
根据内存大小动态调整,当有新数据读入时,扩展缓存,扩展后的缓存不能超过最大值MaxCache;当数据处理完成提交后,回收缓存。缓存的扩展和回收是特定独立的线程完成。缓存本身有锁,当增加、删除、读取数据时加锁,完成之后解锁,加锁期间除自身线程之外其他线程不能进行任何操作。
四、动态调整线程数
预设最大线程数-MaxThread;在最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目。具体来讲,根据处理主机的CPU数和前期执行经验、统计值确定可执行线程数-ExcuteThread,在不影响业务和其他线程的前提下,尽可能多地设置多地执行线程数。执行线程的可动态调整,根据相关参数,对其中的1个或多个线程进行关闭或者新开,参考的依据是主机、数据库等资源的利用率等信息。
关闭某个线程时,根据综合统计信息,对累计执行效率最差即w值最大的线程进行关闭。图6为本发明实施例三批量数据处理方法中关闭线程的示意图。如图6所示,关闭时候必须首先设置当前线程为不可用状态,分配线程不再为该线程分配任何待处理数据,等待当前待关闭线程提交完成后才能完成关闭操作,最后注销该线程,以释放资源,同时ExcuteThread减一。
五、调优步骤
在执行过程中或执行完成后,根据统计值信息进行优化,优化可静态优化,也可动态优化。优化的目标:在现有有效资源下得到最快的执行效率。优化的参数设置:
1)调整静态参数读取MaxCache大小,优化读取时间
调整的依据是:系统能为当前执行进程分配的内存资源;处理数据量的大小;和/或最大等待数MaxWait。
2)调整静态参数最大等待数MaxWait值,让尽可能少的数据等待,即Wait值最小。调整的依据是:MaxCache最大缓存值;和/或MaxThread最大线程池数
3)调整静态参数线程池配置数,动态调整执行线程数,优化执行整体时间。调整的依据是:系统能为当前执行进程分配的CPU等硬件资源;处理数据量的大小;和/或MaxThread最大线程池数
4)动态合理调整线程数,使Wait值和Free值最小,让IN和OUT的速率一致;调整的目标是:在MaxThread允许的范围内,通过动态调整ExcuteThread参数,同时使Wait值和Free值最小,达到处理和提交的步调一致。
5)尝试大数据切片,即在大数据的之间没有逻辑关系的前提下,可尝试将大数据切片,分成小数据,然后由多线程执行。
本实施例在实施例一、二的基础上,对处理方法流程进行了优化,具有上述实施例的全部有益效果,并且可执行的效率更高。
实施例四
本实施例给出了实现实施例一方法的批量数据处理装置。图7为本发明实施例四批量数据处理装置的示意图。如图7所示,本实施例包括:获取模块402,用于将待处理数据读入缓存,获取待处理数据的占用空间;预分配模块404,用于根据预设的单位权值和占用空间,计算待处理数据的预估权值;排序模块406,用于根据预估权值,将待处理数据插入待处理数据序列;分配模块408,用于将待处理数据序列中的待处理数据置入各线程进行处理。
本实施例中,当采用单线程处理方式时,分配模块408将待处理数据序列中的待处理数据直接置入单线程进行处理;当采用多线程处理方式时,分配模块408将待处理数据序列中的待处理数据分配至各线程进行处理。
本实施例中,单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的待处理数据进行处理所需要的时间。本实施例实现的方法可参照实施例一的相关说明,并具有上述实施例的全部有益效果,此处不再重述。
实施例五
本实施例将对实施例四中的批量数据处理装置进行详细说明,本实施例中,预分配模块可以包括:单位权值调整子模块,用于获取待处理数据的执行权值;根据多个待处理数据的执行权值,对单位权值进行修正;预估权值计算子模块,用于根据修正后的单位权值,计算后续的待处理数据的预估权值。本实施例中,执行权值为对待处理数据进行处理的实际时间。
本实施例中,排序模块根据系统资源利用率,采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
此外,本实施例中,还可以包括:缓存调整模块,用于在预设的最大缓存容量值的范围内,根据待处理数据的数量和占用空间,动态调整缓存的容量;线程调整模块,用于在预设的最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目;提交模块,用于当线程中已处理数据的数量达到预设的提交数时,将已处理数据写入数据库或者文件系统,清空所述线程;和/或回滚模块,用于当线程执行出现错误时,将已处理的数据回滚至未处理的状态。
本实施例实现的方法可参照实施例二、三的相关说明,并具有上述实施例的全部有益效果,此处不再重述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、光盘、网络节点、调度器等各种可以存储程序代码的介质。
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种批量数据处理的方法,其特征在于,包括:
将待处理数据读入缓存,获取待处理数据的占用空间;
根据预设的单位权值和所述占用空间,计算所述待处理数据的预估权值;
根据所述预估权值,将所述待处理数据插入待处理数据序列;
将所述待处理数据序列中的待处理数据置入线程进行处理。
2.根据权利要求1所述的方法,其特征在于,所述线程处理待处理数据序列中的待处理数据的步骤之后还包括:
获取所述待处理数据的执行权值;
根据多个待处理数据的执行权值,对所述单位权值进行修正;
根据所述修正后的单位权值,计算后续的待处理数据的预估权值。
3.根据权利要求2所述的方法,其特征在于:
所述单位权值为处理单位占用空间的数据所需要的时间;所述预估权值为预估的待处理数据进行处理所需要的时间;所述执行权值为对所述待处理数据进行处理的实际时间。
4.根据权利要求1所述的方法,其特征在于,所述根据预估权值,将待处理数据插入待处理数据序列的步骤中,包括:
采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
5.根据权利要求1中任一项所述的方法,其特征在于,还包括:
预设最大缓存容量值;在所述最大缓存容量值的范围内,根据待处理数据的数量和占用空间,动态调整所述缓存的容量。
和/或预设最大线程数;在所述最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
预设线程提交数;当线程中已处理数据的数量达到预设提交数时,将已处理数据写入数据库或者文件系统,清空所述线程;
和/或当线程执行出现错误时,将已处理的数据回滚至未处理的状态。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述将待处理数据序列中的待处理数据置入线程进行处理的步骤具体包括:
当采用单线程处理方式时,将所述待处理数据序列中的待处理数据直接置入单线程进行处理;
当采用多线程处理方式时,将所述待处理数据序列中的待处理数据分配至各线程进行处理。
8.一种批量数据处理的装置,其特征在于,包括:
获取模块,用于将待处理数据读入缓存,获取待处理数据的占用空间;
预分配模块,用于根据预设的单位权值和所述占用空间,计算所述待处理数据的预估权值;
排序模块,用于根据所述预估权值,将所述待处理数据插入待处理数据序列;
分配模块,用于将所述待处理数据序列中的待处理数据置入线程进行处理。
9.根据权利要求8所述的装置,其特征在于,所述预分配模块包括:
单位权值调整子模块,用于获取所述待处理数据的执行权值;根据多个待处理数据的执行权值,对所述单位权值进行修正;
预估权值计算子模块,用于根据所述修正后的单位权值,计算后续的待处理数据的预估权值。
10.根据权利要求9所述的装置,其特征在于:所述单位权值为处理单位占用空间的数据所需要的时间;所述预估权值为预估的待处理数据进行处理所需要的时间;所述执行权值为对所述待处理数据进行处理的实际时间。
11.根据权利要求8所述的装置,其特征在于:所述排序模块根据系统资源利用率,采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
12.根据权利要求8-11中任一项所述的装置,其特征在于,还包括:
缓存调整模块,用于在预设的最大缓存容量值的范围内,根据待处理数据的数量和占用空间,动态调整所述缓存的容量。
和/或线程调整模块,用于在预设的最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目。
13.根据权利要求8-11中任一项所述的装置,其特征在于,还包括:
提交模块,用于当线程中已处理数据的数量达到预设的提交数时,将已处理数据写入数据库或者文件系统,清空所述线程;
回滚模块,用于当线程执行出现错误时,将已处理的数据回滚至未处理的状态。
14.根据权利要求8-11中任一项所述的装置,其特征在于:
当采用单线程处理方式时,所述分配模块将待处理数据序列中的待处理数据置入单线程进行处理;
当采用多线程处理方式时,所述将待处理数据序列中的待处理数据分配至各线程进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910178342 CN102053859B (zh) | 2009-11-09 | 2009-11-09 | 批量数据处理的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910178342 CN102053859B (zh) | 2009-11-09 | 2009-11-09 | 批量数据处理的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053859A true CN102053859A (zh) | 2011-05-11 |
CN102053859B CN102053859B (zh) | 2013-03-27 |
Family
ID=43958213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910178342 Expired - Fee Related CN102053859B (zh) | 2009-11-09 | 2009-11-09 | 批量数据处理的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053859B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629220A (zh) * | 2012-03-08 | 2012-08-08 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态任务分配管理方法 |
CN102981901A (zh) * | 2012-11-19 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种处理连接请求的方法及装置 |
CN103248644A (zh) * | 2012-02-08 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种插件升级检测任务的负载均衡方法及装置 |
CN103885837A (zh) * | 2014-03-18 | 2014-06-25 | 上海大唐移动通信设备有限公司 | 一种多线程处理数据的方法及装置 |
CN104199729A (zh) * | 2014-08-27 | 2014-12-10 | 深圳市九洲电器有限公司 | 一种资源管理方法及系统 |
CN104407960A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 数据监控方法及装置 |
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
CN105446660A (zh) * | 2015-11-13 | 2016-03-30 | 东软集团股份有限公司 | 一种数据读写方法及装置 |
CN107450978A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 分布式系统的线程管理方法和装置 |
CN107643944A (zh) * | 2016-07-21 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 一种处理任务的方法和设备 |
CN107729137A (zh) * | 2017-09-04 | 2018-02-23 | 上海壹账通金融科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN107977284A (zh) * | 2017-11-30 | 2018-05-01 | 苏州麦迪斯顿医疗科技股份有限公司 | 一种数据处理方法、装置、服务器和介质 |
CN109739629A (zh) * | 2018-12-29 | 2019-05-10 | 中国银联股份有限公司 | 一种系统多线程调度方法及装置 |
CN110019358A (zh) * | 2017-09-30 | 2019-07-16 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置及设备和存储介质 |
CN110532080A (zh) * | 2019-09-02 | 2019-12-03 | 安徽三马信息科技有限公司 | 一种自适应现场工况数据采集系统 |
CN111241594A (zh) * | 2020-01-06 | 2020-06-05 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297407A (ja) * | 2001-03-30 | 2002-10-11 | Casio Comput Co Ltd | Jobスケジュール管理装置、jobスケジュール管理方法及びプログラム |
CN1538297A (zh) * | 2003-04-16 | 2004-10-20 | ��ʿͨ��ʽ���� | 用于调节系统资源的使用的装置及其方法 |
US20070220516A1 (en) * | 2006-03-15 | 2007-09-20 | Fujitsu Limited | Program, apparatus and method for distributing batch job in multiple server environment |
-
2009
- 2009-11-09 CN CN 200910178342 patent/CN102053859B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297407A (ja) * | 2001-03-30 | 2002-10-11 | Casio Comput Co Ltd | Jobスケジュール管理装置、jobスケジュール管理方法及びプログラム |
CN1538297A (zh) * | 2003-04-16 | 2004-10-20 | ��ʿͨ��ʽ���� | 用于调节系统资源的使用的装置及其方法 |
US20070220516A1 (en) * | 2006-03-15 | 2007-09-20 | Fujitsu Limited | Program, apparatus and method for distributing batch job in multiple server environment |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248644B (zh) * | 2012-02-08 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种插件升级检测任务的负载均衡方法及装置 |
CN103248644A (zh) * | 2012-02-08 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种插件升级检测任务的负载均衡方法及装置 |
CN102629220A (zh) * | 2012-03-08 | 2012-08-08 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态任务分配管理方法 |
CN102981901A (zh) * | 2012-11-19 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种处理连接请求的方法及装置 |
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
CN104794128B (zh) * | 2014-01-20 | 2018-06-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
CN103885837B (zh) * | 2014-03-18 | 2017-07-14 | 上海大唐移动通信设备有限公司 | 一种多线程处理数据的方法及装置 |
CN103885837A (zh) * | 2014-03-18 | 2014-06-25 | 上海大唐移动通信设备有限公司 | 一种多线程处理数据的方法及装置 |
WO2016029778A1 (zh) * | 2014-08-27 | 2016-03-03 | 深圳市九洲电器有限公司 | 一种资源管理方法及系统 |
CN104199729A (zh) * | 2014-08-27 | 2014-12-10 | 深圳市九洲电器有限公司 | 一种资源管理方法及系统 |
CN104199729B (zh) * | 2014-08-27 | 2018-07-10 | 深圳市九洲电器有限公司 | 一种资源管理方法及系统 |
CN104407960A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 数据监控方法及装置 |
CN105446660A (zh) * | 2015-11-13 | 2016-03-30 | 东软集团股份有限公司 | 一种数据读写方法及装置 |
CN105446660B (zh) * | 2015-11-13 | 2018-08-03 | 东软集团股份有限公司 | 一种数据读写方法及装置 |
CN107450978A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 分布式系统的线程管理方法和装置 |
CN107643944A (zh) * | 2016-07-21 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 一种处理任务的方法和设备 |
CN107729137A (zh) * | 2017-09-04 | 2018-02-23 | 上海壹账通金融科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN107729137B (zh) * | 2017-09-04 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN110019358A (zh) * | 2017-09-30 | 2019-07-16 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置及设备和存储介质 |
CN107977284A (zh) * | 2017-11-30 | 2018-05-01 | 苏州麦迪斯顿医疗科技股份有限公司 | 一种数据处理方法、装置、服务器和介质 |
CN109739629A (zh) * | 2018-12-29 | 2019-05-10 | 中国银联股份有限公司 | 一种系统多线程调度方法及装置 |
CN109739629B (zh) * | 2018-12-29 | 2023-04-25 | 中国银联股份有限公司 | 一种系统多线程调度方法及装置 |
CN110532080A (zh) * | 2019-09-02 | 2019-12-03 | 安徽三马信息科技有限公司 | 一种自适应现场工况数据采集系统 |
CN111241594A (zh) * | 2020-01-06 | 2020-06-05 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
CN111241594B (zh) * | 2020-01-06 | 2023-10-13 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102053859B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053859B (zh) | 批量数据处理的方法与装置 | |
CA2408481C (en) | Autonomic reallocation of memory among buffer pools | |
CN102043675B (zh) | 一种基于任务处理请求任务量大小的线程池管理方法 | |
US8392928B1 (en) | Automated workload placement recommendations for a data center | |
US7454420B2 (en) | Data sorting method and system | |
EP4068090A1 (en) | Container scheduling method and apparatus, and non-volatile computer-readable storage medium | |
CN101373445B (zh) | 一种内存调度方法及装置 | |
US20120159057A1 (en) | Memory power tokens | |
CN101419616A (zh) | 一种数据同步方法及装置 | |
CN103370691A (zh) | 管理缓冲器溢出状况 | |
US8984521B2 (en) | Computer system performance by applying rate limits to control block tenancy | |
CN106484330A (zh) | 一种混合磁盘分层数据优化方法和装置 | |
CN104023042B (zh) | 云平台资源调度方法 | |
CN103701934A (zh) | 一种资源优化调度方法及虚拟机宿主机优化选择方法 | |
US8332857B1 (en) | Database system having a regulator that performs workload regulation based on optimizer estimates | |
CN106598495A (zh) | 一种混合存储服务质量的控制方法及控制装置 | |
US7904689B1 (en) | Just in time storage allocation analysis systems and methods | |
CN110362566A (zh) | 分层htap数据库的混合数据布局中的数据布置 | |
CN102629220A (zh) | 一种动态任务分配管理方法 | |
CN102917014A (zh) | 资源调度方法及装置 | |
US8745032B1 (en) | Rejecting a request in a database system | |
CN100397345C (zh) | 用于管理资源元素队列的方法和控制器 | |
US20030149698A1 (en) | System and method for positioning records in a database | |
CN101030884B (zh) | 电信网络资源oss系统中独占性资源的调度方法 | |
US20130013824A1 (en) | Parallel aggregation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20141109 |
|
EXPY | Termination of patent right or utility model |