[发明专利]数据的读写方法和装置有效
申请号: | 201910168960.1 | 申请日: | 2019-03-06 |
公开(公告)号: | CN111666330B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 汪翔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 谢湘宁;张文华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 读写 方法 装置 | ||
1.一种数据的读写方法,其特征在于,包括:
数据写入模块从存储队列中查找到目标存储单元,其中,所述存储队列包括多个存储单元,每个存储单元至少包括:用于存放元素的第一字段和用于存放读写标识的第二字段;
所述数据写入模块根据所述目标存储单元的第二字段判断所述目标存储单元是否为空;
在所述目标存储单元为空的情况下,所述数据写入模块将待写入元素写入所述目标存储单元的第一字段,并将所述目标存储单元的第二字段更改为第一预设值,其中,所述第一预设值用于表示所述目标存储单元已被写入元素;
其中,所述数据写入模块根据所述目标存储单元的第二字段判断所述目标存储单元是否为空,包括:所述数据写入模块读取所述目标存储单元的第二字段,判断所述目标存储单元的读写标识是否为第二预设值,其中,数据读取模块从所述目标存储单元读取数据后,将所述目标存储单元的第二字段更改为所述第二预设值;如果所述目标存储单元的读写标识为所述第二预设值,则确定所述目标存储单元为空;如果所述目标存储单元的读写标识不为所述第二预设值,则确定所述目标存储单元不为空,其中,所述第一预设值为所述目标存储单元的单元标识,所述第二预设值通过对所述第一预设值与二的n次方之差取反得到,n用于表示所述存储队列的队列长度。
2.根据权利要求1所述的方法,其特征在于,在所述数据写入模块从存储队列中查找目标存储单元之前,所述方法还包括:
所述数据写入模块判断所述存储队列是否存在允许插入元素的空间;
如果所述存储队列存在允许插入元素的空间,则进入所述数据写入模块从存储队列中查找目标存储单元的步骤。
3.根据权利要求2所述的方法,其特征在于,所述数据写入模块判断所述存储队列是否存在允许插入元素的空间,包括:
所述数据写入模块读取数据写入指针的当前值和数据读取指针的当前值;
所述数据写入模块获取所述数据写入指针的当前值和数据读取指针的当前值之间的差值;
所述数据写入模块将所述差值与所述存储队列的队列长度进行比对;
如果所述差值小于所述队列长度,则确定所述存储队列存在允许插入元素的空间;
如果所述差值等于所述存储队列的队列长度,则确定所述存储队列不存在允许插入元素的空间。
4.根据权利要求3所述的方法,其特征在于,数据写入模块从存储队列中查找目标存储单元,包括:
所述数据写入模块通过比较并交换操作,在所述数据写入指针的当前值的基础上加一,得到目标值;
所述数据写入模块确定所述目标值在存储队列中所指示的存储单元为所述目标存储单元。
5.根据权利要求2所述的方法,其特征在于,所述存储队列所属的存储结构还包括数据写入链表,如果所述存储队列不存在允许插入元素的空间,则所述数据写入模块生成等待写入对象,并将所述等待写入对象插入所述数据写入链表。
6.根据权利要求1所述的方法,其特征在于,所述存储队列所属的存储结构还包括数据读取链表,如果所述存储队列不存在允许读取的元素,则数据读取模块生成等待读取对象,并将所述等待读取对象插入所述数据读取链表。
7.根据权利要求6所述的方法,其特征在于,在所述数据写入模块将待写入元素写入所述目标存储单元的第一字段,并将所述目标存储单元的第二字段更改为第一预设值之后,所述方法还包括:
所述数据写入模块查找所述数据读取链表中是否包括所述等待读取对象;
如果所述数据读取链表中包括所述等待读取对象,则唤醒所述等待读取对象对应的数据读取模块进行数据读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910168960.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烹饪控制方法、装置和计算机可读存储介质
- 下一篇:一种油气弹簧挂装机构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置