[发明专利]读写均衡的阻塞队列实现方法及装置有效

专利信息
申请号: 201410168357.0 申请日: 2014-04-24
公开(公告)号: CN103970597B 公开(公告)日: 2017-06-20
发明(设计)人: 刘言军 申请(专利权)人: 烽火通信科技股份有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 北京捷诚信通专利事务所(普通合伙)11221 代理人: 魏殿绅,庞炳良
地址: 430074 湖北省武*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种读写均衡的阻塞队列实现方法及装置,涉及计算机软件编程领域,该方法包括以下步骤向队列中添加N条数据,尝试获取队列的同步锁;确定同步的阻塞队列是否能增加N条数据,若增加N条数据后,队列超出最大设置范围,则继续等待,直到队列允许添加N条记录;若N超过队列最大长度,则队列抛出异常;将N条数据添加到同步的阻塞队列后,添加数据步骤完成,释放队列的同步锁;继续增加或放弃增加,完成添加步骤;放弃继续添加,添加流程结束。本发明能有效缓解突发性、非连续性、非定量性大批量数据处理压力,简化数据队列调用逻辑,去除通用多线程轮询数据的风险,提高应用程序处理突发性大数据量的稳定性。
搜索关键词: 读写 均衡 阻塞 队列 实现 方法 装置
【主权项】:
一种读写均衡的阻塞队列实现方法,其特征在于,包括以下步骤:A、向同步的阻塞队列添加数据:步骤101、程序向同步的阻塞队列中添加N条数据,N为正整数;步骤102、在多线程情况下,尝试获取队列的同步锁;步骤103、获取队列的同步锁后,确定同步的阻塞队列是否能增加N条数据,如果增加N条数据后,队列超出最大设置范围,则继续等待,直到队列允许添加N条记录;如果N超过队列最大长度,则队列抛出异常;步骤104、将N条数据添加到同步的阻塞队列后,添加数据步骤完成,释放队列的同步锁,保证该队列能被其他线程调用;步骤105、程序继续增加、循环添加;或者放弃增加,完成添加步骤;步骤106、程序放弃继续添加,添加流程结束;B、从同步的阻塞队列读取数据:步骤201、程序向同步的阻塞队列读取数据;步骤202、在多线程情况下,尝试获取队列的同步锁;步骤203、获取队列的同步锁后,如果同步的阻塞队列中的数据为空,那么表示没有数据,继续等待以获取数据入口,直到同步的阻塞队列中依照步骤A添加数据;步骤204、在同步的阻塞队列有数据的情况下,从该队列中一次性获取“最大数目”条数据,所述“最大数目”是队列定义的参数:一次性批量获取的最大数据条目数;如果队列中数据少于“最大数目”条,则返回队列所有的数据,锁条件等待最小粒度时间“最小时间间隔”毫秒,再释放队列的同步锁;所述“最小时间间隔”是队列定义的参数:在队列非堵塞的情况下,两次获取数据之间的最小时间间隔;如果超过“最大数目”条数据,则返回“最大数目”条数据,锁条件等待“平均时间间隔”,再释放队列的同步锁;所述“平均时间间隔”是队列定义的参数:在队列数据拥堵的情况下,两次获取数据之间的平均时间间隔;步骤205、程序继续读取数据,或者放弃读取,完成读取步骤;步骤206、程序放弃继续读取,读取流程结束;步骤A在步骤B之前或者之后。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410168357.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top