一种控制资源占用的方法及装置制造方法及图纸

技术编号:14845585 阅读:44 留言:0更新日期:2017-03-17 12:01
本发明专利技术提供了一种控制资源占用的方法及装置,该方法,包括:预先根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;根据确定出的所述队列的大小,创建所述队列;预先设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;还包括:实时检测所述队列中的当前数据量;获取所述队列中的当前数据量;根据获取的所述队列中的当前数据量,判断所述相关线程是否满足所述挂起条件,如果是,则挂起所述相关线程。本发明专利技术提供了一种控制资源占用的方法及装置,能够提高资源利用率。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种控制资源占用的方法及装置
技术介绍
伴随着科学技术的发展,各行各业信息化的程度越来越高,每天产生了大量的数据,对数据的处理也就越来越重要,数据慢慢驱动了整个的业务流程。为了充分利用这些数据,需要对这些数据进行数据库间相互传输、数据转换等处理。在处理数据的过程中,随着数据量的增加,处理数据的设备的负荷也越来越重。在处理大量数据时,会占用大量的资源。现有技术中,还没有一种控制资源占用的方法,使得现有的数据处理方法的资源利用率较低。
技术实现思路
本专利技术实施例提供了一种控制资源占用的方法及装置,能够提高资源利用率。一方面,本专利技术提供了一种控制资源占用的方法,包括:预先根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;根据确定出的所述队列的大小,创建所述队列;预先设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;还包括:S1:实时检测所述队列中的当前数据量;S2:获取所述队列中的当前数据量;S3:根据获取的所述队列中的当前数据量,判断所述相关线程是否满足所述挂起条件,如果是,则挂起所述相关线程。进一步地,所述读取线程的挂起条件,包括:所述队列中的当前数据量>小于等于所述队列的大小的第一预设比例;所述S3,包括:判断所述队列中的当前数据量是否小于等于所述队列的大小的第一预设比例,如果是,则挂起所述队列的所述读取线程。进一步地,在判断出所述队列中的当前数据量小于等于所述队列的大小的第一预设比例时,在执行所述挂起所述队列的所述读取线程之前,还包括:判断所述队列的所述存入线程是否停止向所述队列存入数据,如果是,则执行步骤S2,否则,执行所述挂起所述队列的所述存入线程。进一步地,该方法还包括:预先设置所述相关线程的挂起时间阈值;还包括:判断挂起的所述相关线程的挂起时间长度是否大于等于所述挂起时间阈值,如果是,则唤醒所述相关线程。进一步地,所述存入线程的挂起条件,包括:所述队列中的当前数据量大于等于所述队列的大小的第二预设比例;所述S3,包括:判断所述队列中的当前数据量是否大于等于所述队列的大小的第二预设比例,如果是,则挂起所述队列的所述存入线程。进一步地,该方法还包括:判断所述队列的所述读取线程是否停止从所述队列中读取数据,如果是,则挂起所述队列的所述存入线程。进一步地,所述S3,还包括:当判断出所述相关线程不满足所述挂起条件时,则判断所述相关线程是否挂起,如果是,则唤醒挂起的所述相关线程。另一方面,本专利技术提供了一种控制资源占用的装置,包括:确定单元,用于根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;创建单元,用于根据确定出的所述队列的大小,创建所述队列;第一设置单元,用于设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;还包括:检测单元,用于实时检测所述队列中的当前数据量;获取单元,用于获取所述队列中的当前数据量;挂起单元,用于根据所述获取单元获取的所述队列中的当前数据量,判断所述相关线程是否满足所述挂起条件,如果是,则挂起所述相关线程。进一步地,所述读取线程的挂起条件,包括:所述队列中的当前数据量小于等于所述队列的大小的第一预设比例;所述挂起单元,用于判断所述队列中的当前数据量是否小于等于所述队列的大小的第一预设比例,如果是,则挂起所述队列的所述读取线程。进一步地,所述挂起单元,在判断出所述队列中的当前数据量小于等于所述队列的大小的第一预设比例时,在执行所述挂起所述队列的所述读取线程之前,还用于:判断所述队列的所述存入线程是否停止向所述队列存入数据,如果是,则触发所述获取单元,否则,执行所述挂起所述队列的所述存入线程。进一步地,该装置还包括:第二设置单元,用于设置所述相关线程的挂起时间阈值;第一唤醒单元,用于判断挂起的所述相关线程的挂起时间长度是否大于等于所述挂起时间阈值,如果是,则唤醒所述相关线程。进一步地,所述存入线程的挂起条件,包括:所述队列中的当前数据量大于等于所述队列的大小的第二预设比例;所述挂起单元,用于判断所述队列中的当前数据量是否大于等于所述队列的大小的第二预设比例,如果是,则挂起所述队列的所述存入线程。进一步地,该装置还包括:第二唤醒单元,用于判断所述队列的所述读取线程是否停止从所述队列中读取数据,如果是,则挂起所述队列的所述存入线程。进一步地,所述挂起单元,还用于当判断出所述相关线程不满足所述挂起条件时,则判断所述相关线程是否挂起,如果是,则唤醒挂起的所述相关线程。本专利技术实施例提供的一种控制资源占用的方法及装置,根据队列的存入数据的速度和读取数据的速度,确定队列的大小,并创建队列,这样可以合理设置队列的大小,避免队列中存储大量的数据,减少了内存的占用,提高了内存的利用率,实时监测队列中的当前数据量,在队列中的当前数据量满足挂起条件时,将相关线程挂起,减少了CPU的占用,提高了CPU的利用率,总之,本专利技术提供的方法,提高了资源利用率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的一种控制资源占用的方法的流程图;图2是本专利技术一实施例提供的另一种控制资源占用的方法的流程图;图3是本专利技术一实施例提供的一种控制资源占用的装置的示意图;图4是本专利技术一实施例提供的另一种控制资源占用的装置的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1本文档来自技高网...

【技术保护点】
一种控制资源占用的方法,其特征在于,包括:预先根据队列的存入线程的存入数据的速度和读取线程的读取数据的速度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入数据,所述队列的读取线程用于从所述队列中读取数据;根据确定出的所述队列的大小,创建所述队列;预先设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所述读取线程;还包括:S1:实时检测所述队列中的当前数据量;S2:获取所述队列中的当前数据量;S3:根据获取的所述队列中的当前数据量,判断所述相关线程是否满足所述挂起条件,如果是,则挂起所述相关线程。

【技术特征摘要】
1.一种控制资源占用的方法,其特征在于,包括:
预先根据队列的存入线程的存入数据的速度和读取线程的读取数据的速
度,确定所述队列的大小,其中,所述队列的存入线程用于向所述队列存入
数据,所述队列的读取线程用于从所述队列中读取数据;
根据确定出的所述队列的大小,创建所述队列;
预先设置相关线程的挂起条件,所述相关线程包括:所述存入线程、所
述读取线程;
还包括:
S1:实时检测所述队列中的当前数据量;
S2:获取所述队列中的当前数据量;
S3:根据获取的所述队列中的当前数据量,判断所述相关线程是否满足
所述挂起条件,如果是,则挂起所述相关线程。
2.根据权利要求1所述的方法,其特征在于,所述读取线程的挂起条件,
包括:所述队列中的当前数据量小于等于所述队列的大小的第一预设比例;
所述S3,包括:
判断所述队列中的当前数据量是否小于等于所述队列的大小的第一预设
比例,如果是,则挂起所述队列的所述读取线程。
3.根据权利要求2所述的方法,其特征在于,
在判断出所述队列中的当前数据量小于等于所述队列的大小的第一预设
比例时,在执行所述挂起所述队列的所述读取线程之前,还包括:
判断所述队列的所述存入线程是否停止向所述队列存入数据,如果是,
则执行步骤S2,否则,执行所述挂起所述队列的所述存入线程。
4.根据权利要求1所述的方法,其特征在于,还包括:
预先设置所述相关线程的挂起时间阈值;
还包括:判断挂起的所述相关线程的挂起时间长度是否大于等于所述挂

\t起时间阈值,如果是,则唤醒所述相关线程。
5.根据权利要求1所述的方法,其特征在于,
所述存入线程的挂起条件,包括:所述队列中的当前数据量大于等于所
述队列的大小的第二预设比例;
所述S3,包括:判断所述队列中的当前数据量是否大于等于所述队列的
大小的第二预设比例,如果是,则挂起所述队列的所述存入线程;
和/或,
还包括:判断所述队列的所述读取线程是否停止从所述队列中读取数据,
如果是,则挂起所述队列的所述存入线程;
和/或,
所述S3,还包括:当判断出所述相关线程不满足所述挂起条件时,则判
断所述相关线程是否挂起,如果是,则唤醒挂起的所述相关线程。
6.一种控制资源占用的装置,其特征在于,包括:
确定单元,用于...

【专利技术属性】
技术研发人员:潘博存
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1