[发明专利]一种多线程处理数据的方法及装置有效
申请号: | 201410100610.9 | 申请日: | 2014-03-18 |
公开(公告)号: | CN103885837B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 余再跃;李东宇 | 申请(专利权)人: | 上海大唐移动通信设备有限公司;大唐移动通信设备有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 刘松 |
地址: | 200233 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 处理 数据 方法 装置 | ||
技术领域
本发明涉及通信领域,尤其涉及一种多线程处理数据的方法及装置。
背景技术
基于全球信息系统(Global Information System,GIS)的呼叫详细记录-测量报告(Call Detail Log-Measurement Report,CDL-MR)海量智能分析系统,可以通过对无线网络控制器(Radio Network Controller,RNC)的CDL-MR数据分析,及时发现网络隐性问题,快速规避网络潜在风险,保证网络稳定健康的发展,该分析系统的应用有效提升了用户终端的服务体验和品牌忠诚度,降低了网络优化成本。
CDL-MR海量智能分析系统对RNC的CDL-MR数据的分析过程包括以下两部分:
第一次分析过程:解析CDL-MR文件中的数据,并将解析出来的数据存入数据库;
第二次分析过程:从数据库中读出CDL-MR文件中的数据,并对该数据进行统计与分析。
在上述第二次分析过程中,为了提高系统的处理速度,通常采用多个线程对数据进行处理;一般的实现方法为:一个线程处理一个RNC的数据,同时对线程的总数进行限制,或者采用线程池技术,所谓线程池是指一种多线程的处理形式,在处理过程中将任务添加到队列,然后在创建线程后自动启动队列中的任务,并按照任务的优先级对任务进行处理。例如:当前有20个RNC的数据需要进行处理,共配置8个线程,则这8个线程首先对20个RNC的数据中的8个RNC的数据进行处理,其他RNC的数据需要等待,如果有线程对某一数据处理完毕,则该线程从剩下的RNC的数据中随机选择一个数据进行处理。
但在CDL-MR海量智能分析系统采用多个线程同时处理数据的过程中,由于处理的数据量比较大,并且在处理过程中,各个线程需要存储大量的数据,如累计计算各种性能指标,内存消耗随着时间的推移,逐渐增加,此时可能会导致系统的内存不够,使得系统的处理效率下降。内存消耗的增加所导致的问题主要体现在以下两方面:
内存消耗的增加导致系统性能的下降,使得系统的处理效率减低;
由于申请的内存有限,例如对于32位机器的应用程序,一个进程申请的内存不能超过2G,随着内存消耗的逐渐增加,当消耗的内存达到上限时,便会导致线程申请内存失败,进而线程将无法继续对数据进行处理。
综上所述,CDL-MR海量智能分析系统在采用多个线程同时处理数据的过程中,由于处理的数据量比较大,并且线程选择所要处理的数据是随机的,没有考虑到处理该数据所消耗的内存资源量,使得对线程的内存资源使用不合理,这样将会消耗大量的内存资源,导致系统性能的下降,系统的处理效率降低。
发明内容
本发明提供一种多线程处理数据的方法及装置,用以实现多个线程同时对大量数据进行处理,合理利用线程的资源,减少线程的资源消耗,提高系统处理数据的效率。
本发明实施例提供一种多线程处理数据的方法,该方法包括:
对于当前采用多线程处理的数据组,当其中的任一数据处理结束时,从未处理的数据中选择一个数据,并添加到该数据组中;其中,一个线程处理一个数据;
估算在第一次处理该数据组中任一数据结束时,处理该数据组中的数据所消耗的资源总量,若所述资源总量满足预设条件,则开始处理该组数据。
从上述方法可以看出,本发明通过估算当前选择的待处理的数据组所消耗的资源总量,并判断该资源总量是否满足预设条件,进而确定是否需要对该数据组中的数据进行处理,本发明在开始处理数据之前,考虑到处理数据所消耗的资源量,使得线程有选择性地处理数据,合理利用了资源,减少了线程在处理数据过程中的资源消耗,提高了系统处理数据的效率。
较佳地,估算在第一次处理该数据组中任一数据结束时,处理该数据组中的数据所消耗的资源总量,包括:
在第一次处理该数据组中任一数据结束时,并确定截止此时处理该组数据中每一数据所消耗的资源量;
对确定的截止此时处理该组数据中每一数据所消耗的资源量进行累加,得到资源总量。
这样,通过确定截止此时处理该组数据中每一数据所消耗的资源量,进而得到处理该组数据所消耗的资源总量,以便后续判断该资源总量是否满足预设条件。
较佳地,对于该组数据中的每一数据,确定截止此时处理该数据所消耗的资源量,包括:
获取预先设定的该数据对应的线程在处理该数据的过程中在时刻t所消耗的资源量达到的峰值M,以及处理该数据所需要消耗的时间T;其中,t小于或等于T,并且,在时刻t之前,该线程处理该数据所消耗的资源量与时间成正比;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大唐移动通信设备有限公司;大唐移动通信设备有限公司,未经上海大唐移动通信设备有限公司;大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410100610.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置