[发明专利]批量数据处理的方法与装置无效
申请号: | 200910178342.1 | 申请日: | 2009-11-09 |
公开(公告)号: | CN102053859A | 公开(公告)日: | 2011-05-11 |
发明(设计)人: | 贾琨 | 申请(专利权)人: | 中国移动通信集团甘肃有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 丛芳;王正茂 |
地址: | 730070 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 批量 数据处理 方法 装置 | ||
技术领域
本发明涉及通信行业的业务支撑技术领域,尤其涉及一种批量数据处理的方法与装置。
背景技术
电信运营商通常在月初或月末集中处理批量数据,比如批量处理话单、批量生成帐单、批量冲销费用、与各业务平台批量对帐等,一般情况下会采取单线程方式进行。单线程方式是逐条读取数据或者一次性读入内存,然后再逐条处理,读取和处理的过程是串行的,一般采用逐条提交。然而,单线程处理模式中,执行时间长,资源利用率最低。
现有技术中还有直接取模方式,即将一定的字段(列)取模,根据模值分配至不同的线程处理,每个线程处理的方式与串行方式相同,一般采用批量提交。直接取模方式采用多线程处理批量数据,提高了处理效率。图1为本发明现有技术直接取模方式的示意图。以下通过随机抽取20个号码进行模4分配处理方式举例说明直接取模方式的工作原理:如图1所示,按模4分配后,其中6个号码分配在0号线程处理,1个号码分配在1号线程处理,6个号码分配在2号线程处理,7个号码分配在3号线程处理,所有分配是一次性完成,并且处理的线程号是确定的。假定每个号码的处理时间相同,那么4个线程花费的时间比例是:6∶1∶6∶7。
然而,在实现本发明过程中,发明人发现现有技术批量数据处理方式中存在如下缺陷:直接取模处理模式中,取模分配数据并不一定均匀,导致线程的空闲率高,数据等待时间较长。
发明内容
本发明的目的是解决现有技术批量数据处理方式中,不能根据待处理数据的大小,动态调整处理顺序的缺陷,提出一种批量数据处理的方法与装置,以提高线程的处理效率。
为实现上述目的,根据本发明的一个方面,提供了一种批量数据处理的方法,包括:将待处理数据读入缓存,获取待处理数据的占用空间;根据预设的单位权值和占用空间,计算待处理数据的预估权值;根据预估权值,将待处理数据插入待处理数据序列;将待处理数据序列中的待处理数据置入各线程进行处理。
优选地,本技术方案中,分配线程处理待处理数据序列中的待处理数据的步骤之后还包括:获取待处理数据的执行权值;根据多个待处理数据的执行权值,对单位权值进行修正;根据修正后的单位权值,计算后续的待处理数据的预估权值。
本技术方案中,单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的待处理数据进行处理所需要的时间;执行权值为对待处理数据进行处理的实际时间。
本技术方案中,根据预估权值,将待处理数据插入待处理数据序列的步骤中,还可以包括:采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
本技术方案中,还可以包括:预设最大缓存容量值;在最大缓存容量值的范围内,根据待处理数据的数量和占用空间,动态调整缓存的容量;和/或预设最大线程数;在最大线程数的范围内,根据系统资源利用率,和/或数据库资源利用率,动态调整线程的数目。
本技术方案中,还可以包括:预设线程提交数;当线程中已处理数据的数量达到预设提交数时,将已处理数据写入数据库或者文件系统,清空线程;和/或当线程执行出现错误时,将已处理的数据回滚至未处理的状态。
本技术方案中,当采用单线程处理方式时,将所述待处理数据序列中的待处理数据直接置入单线程进行处理;当采用多线程处理方式时,将所述待处理数据序列中的待处理数据分配至各线程进行处理。
为实现上述目的,根据本发明的另一个方面,提供了一种批量数据处理的装置,包括:获取模块,用于将待处理数据读入缓存,获取待处理数据的占用空间;预分配模块,用于根据预设的单位权值和占用空间,计算待处理数据的预估权值;排序模块,用于根据预估权值,将待处理数据插入待处理数据序列;分配模块,用于将待处理数据序列中的待处理数据分配至各线程进行处理。
优选地,本技术方案中,预分配模块还可以包括:单位权值调整子模块,用于获取待处理数据的执行权值;根据多个待处理数据的执行权值,对单位权值进行修正;预估权值计算子模块,用于根据修正后的单位权值,计算后续的待处理数据的预估权值。
本技术方案中,单位权值为处理单位占用空间的数据所需要的时间;预估权值为预估的待处理数据进行处理所需要的时间;执行权值为对待处理数据进行处理的实际时间。
本技术方案中,排序模块根据系统资源利用率,采取升序或者降序,按预估权值将待处理数据插入待处理数据序列。
本发明各实施例中,根据所需处理时间的大小,对待处理数据进行排序,从而根据用户的设置,对批量数据进行处理,以提高各线程的利用率,减少待处理数据等待的时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团甘肃有限公司,未经中国移动通信集团甘肃有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910178342.1/2.html,转载请声明来源钻瓜专利网。