[发明专利]一种数据读写方法及装置在审

专利信息
申请号: 201410768410.0 申请日: 2014-12-12
公开(公告)号: CN104391662A 公开(公告)日: 2015-03-04
发明(设计)人: 刘中超;王康;朱超;王超 申请(专利权)人: 北京奇虎科技有限公司;奇智软件(北京)有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 北京国昊天诚知识产权代理有限公司 11315 代理人: 许志勇
地址: 100088 北京市西城区新*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 读写 方法 装置
【说明书】:

技术领域

本申请涉及通信技术领域,尤其涉及一种数据读写方法及装置。

背景技术

在基于多核操作系统的设备中,通常采用多进程和多线程的模式处理(如,读或写)数据,例如,写进程通过其自身的线程向共享内存中写入数据,以供读进程读取,读进程通过自身的线程从共享内存中读取其所需的数据。

而在实际应用中,共享内存中可能并不存在读进程所需要的数据,因此,会出现读进程可能无法从共享内存中读取到其所需要的数据的问题。

针对上述问题,在现有技术中,可利用写进程获取读进程所需要的数据对应的键值(即key值),并从网络侧的服务器中获取该键值对应的数据,将该获取的数据写入共享内存中,以供读进程读取。

而由于读进程与写进程之间是无法直接进行通信的,因此,为了保证写进程能够获取读进程所需要的数据对应的key值,在现有技术中,先预设一个队列,读进程将其所需要的各数据的key值写入该队列中,而写进程从该队列中获取key值,并从网络侧的服务器中获取该key值对应的数据,将该数据写入共享内存中以供读进程读取。

然而,写进程每次从队列中读取出一个键值之后,需要先从网络侧的服务器中获取该键值对应的数据,并将该数据写入共享内存中,然后才从队列中读取下一个键值。一般的,写进程从网络侧获取一个键值对应的数据所需要的时间,远远大于读进程向队列中写入一个键值所需要的时间。因此,当读进程在短时间内向该队列中写入自身所需要的数据的多个key值时,队列中的多个键值容易造成堆积。

由于队列的存储空间较小,其容量一般仅为几十KB,这就会导致队列很快就会被堆积的键值占满,从而会造成后续读进程无法再将其所需要的数据的key值写入队列,进而导致后续读进程无法从共享内存中读取到其所需要的数据。

发明内容

鉴于上述问题,本发明提出一种能够有效克服上述问题的数据读写方法及装置,可保证读进程能够从共享内存中读取到其所需的数据。

根据本发明的第一个方面,提出一种数据写入方法,包括:

读取队列中的键值;

将读取的所述键值保存在预设的存储区域中,并删除队列中的所述键值;

根据所述存储区域中的所述键值,获取所述键值对应的数据;以及

将获取的数据写入共享内存中。

可选的,所述方法还包括:

根据获取的数据,确定所述数据对应的校验值;以及

将所述数据对应的校验值写入共享内存中。

可选的,根据获取的数据,确定所述数据对应的校验值,具体包括:

通过信息摘要算法确定所述数据对应的校验值。

可选的,获取所述键值对应的数据,具体包括:

从协调服务器Zookeeper中获取所述键值对应的数据。

可选的,读取队列中的键值,具体包括:

通过第一线程读取队列中的键值;

获取所述键值对应的数据,具体包括:

通过第二线程获取所述键值对应的数据。

根据本发明的第二个方面,提出一种数据读取方法,包括:

向队列中写入待读取的数据对应的键值;

从共享内存中读取所述键值对应的数据;

所述共享内存中所述键值对应的数据是由写进程从所述队列中读取所述键值后,根据所述键值获取并写入所述共享内存中的;其中,所述写进程从所述队列中读取所述键值后,将所述键值保存在预设的存储区域中,并删除所述队列中的所述键值。

可选的,所述方法还包括:

根据读取的数据,确定所述数据对应的第一校验值;

从共享内存中读取所述数据对应的第二校验值;

当所述第一校验值与第二校验值不匹配时,再次从共享内存中读取所述键值对应的数据,直至确定读取的数据的第一校验值与所述第二校验值匹配为止,其中,所述第二校验值是由写入所述数据的写进程写入所述共享内存中的。

可选的,根据读取的数据,确定所述数据对应的第一校验值,具体包括:

通过信息摘要算法确定所述数据对应的第一校验值。

根据本发明的第三个方面,提出一种数据写入装置,包括:

键值读取模块,用于读取队列中的键值;

键值存储模块,用于将读取的所述键值保存在预设的存储区域中;

键值删除模块,用于删除队列中的所述键值;

数据获取模块,用于根据所述存储区域中的所述键值,获取所述键值对应的数据;以及

数据写入模块,用于将获取的数据写入共享内存中。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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