[发明专利]构造数据队列的方法、装置及从其插入和消费对象的方法有效

专利信息
申请号: 201410132403.1 申请日: 2014-04-02
公开(公告)号: CN104978321B 公开(公告)日: 2018-12-04
发明(设计)人: 罗实;封仲淹;陈昱 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F17/30 分类号: G06F17/30;G06F8/30
代理公司: 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 代理人: 冯德魁
地址: 英属开曼群岛大开*** 国省代码: 开曼群岛;KY
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 构造 数据 队列 方法 装置 插入 消费 对象
【权利要求书】:

1.一种构造数据队列的方法,其特征在于,包括:

设置环形数组,所述环形数组具有规定数个用于存储规定格式的数据的存储单元,称为槽位,首尾槽位衔接,形成环形,所述规定数用size表示;向该环形数组中存储数据对象称为插入对象,从该环形数组中拉取数据对象并清空相应的槽位称为消费对象;所述插入和消费均沿环形数组规定方向顺序操作,所述规定方向称为操作方向;所述size为2的指数倍;

为环形数组设置生产者计数器和消费者计数器,所述生产者计数器对向环形数组插入对象进行计数;所述消费者计数器对从环形数组消费对象进行计数;所述生产者计数器和消费者计数器为初始值为零的递增变量。

2.根据权利要求1所述的构造数据队列的方法,其特征在于,所述生产者计数器和消费者计数器为递增变量具体是,所述生产者计数器和消费者计数器均为64字节填充的长整形严格递增变量。

3.根据权利要求1-2任一项所述的构造数据队列的方法,其特征在于,对环形数组中的槽位赋予从0开始沿操作方向递增的槽位值。

4.一种向数据队列中插入对象的方法,其特征在于,所述数据队列为根据上述权利要求1-3任一项所述的构造数据队列的方法构造的数据队列;该向数据队列中插入对象的方法包括:

获取数据队列中生产者计数器的值;

原子递增生产者计数器的值,作为生产者计数器的当前值;

获取数据队列中消费者计数器的当前值;

根据生产者计数器的当前值与消费者计数器的当前值判断是否可以插入对象;若判断结果为是,则进入下一步;

向数据队列中指定槽位插入对象;

将生产者计数器的当前值作为最新的生产者计数器的值发布。

5.根据权利要求4所述的向数据队列中插入对象的方法,其特征在于,所述原子递增生产者计数器的值,作为生产者计数器的当前值的步骤采用下述方法:

若生产者为一个,将生产者计数器的值原子递增1,作为生产者计数器的当前值;

若生产者为至少两个,则对生产者计数器的值以CAS原子操作的方式进行所述原子递增,操作结果作为生产者计数器的当前值。

6.根据权利要求4所述的向数据队列中插入对象的方法,其特征在于,所述根据生产者计数器的当前值与消费者计数器的当前值判断是否可以插入对象,包括:

作生产者计数器的当前值减去消费者计数器的当前值的差运算;

判断运算结果是否等于size值,若是,则是否可以插入对象的判断结果为否,并进入判断是否等待步骤;若否,则所述是否可以插入对象的判结果为是;

判断是否等待步骤的判断结果如果为是,则继续作前述差运算;判断结果如果为否,则结束插入对象的操作。

7.根据权利要求4所述的向数据队列中插入对象的方法,其特征在于,当所述数据队列为根据权利要求1的构造数据队列的方法构造的数据队列时,向数据队列中指定槽位插入对象的步骤中,以下述方式确定所述指定槽位:

以生产者计数器当前值的二进制形式与size-1的值的二进制形式进行按位与运算,计算的结果赋予插入槽位值Slotput,该插入槽位值Slotput即为所述指定槽位。

8.一种从数据队列中消费对象的方法,其特征在于,所述数据队列为根据上述权利要求1-3任一项所述的构造数据队列的方法构造的数据队列;该从数据队列中消费对象的方法包括:

获取生产者计数器及消费者计数器的值;

根据上述计数器的值,判断是否可以消费对象;若是,则进入下一步;

将消费者计数器的值原子递增,作为消费者计数器的当前值;

根据消费者计数器的当前值,确定消费对象相对应的槽位值;

从相对应的槽位值的槽位中消费对象。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/201410132403.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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