[发明专利]一种数据更新方法及装置有效
申请号: | 201310671693.2 | 申请日: | 2013-12-10 |
公开(公告)号: | CN103678577B | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 黄旭 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 郭润湘 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 更新 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种数据更新方法及装置。
背景技术
订阅/更新(Pub/Sub)模型是如何向一个内容节点发布和订阅消息的模型,消息发布者将消息发布到内容节点,消息订阅者从内容节点订阅消息。订阅/更新的消息由消息关键字(key)和该消息对应的数据值(value)组成,一般该消息key不变,与该消息对应的value是频繁变化的,因此需要及时的更新value值,使得消息订阅者能够及时准确地读取所订阅的消息内容。
目前,现有的Pub/Sub模型中的KV(key-value)数据更新的主要方法为:将多个消息各自的key和value存储到数据表1中,并为该数据表1分配一个入口指针,访问者在该入口指针指向的数据表中获取数据信息,将数据表1复制(n-1)份,复制表记为数据表2、数据表3……数据表n,当有消息的数据值变化需要更新数据时,在数据表2-数据表n中将待更新数据进行更新,在数据表2-数据表n中的数据进行更新时,此时访问者通过入口指针获取数据表1中的数据。当数据表2-数据表n中的数据更新完成后,将该入口指针指向数据表2,当有新的访问者时,该新的访问者通过入口指针获取数据表2中的数据,此时数据表1中仍有部分原访问者在读取未更新的数据。当再次有消息的数据值变化需要更新数据时,在数据表3-数据表n中将待更新数据进行更新,重复上述数据更新过程。
上述现有的KV数据更新方法,由于在更新数据时,需要将数据表复制多份进行更新,数据表占用了大量的内存空间,造成了系统资源的浪费。
发明内容
本发明实施例提供一种数据更新方法及装置,用以解决现有技术中存在系统资源的浪费的问题。
本发明实施例提供一种数据更新方法,包括:
当有数据需要更新时,将更新数据存储到数据表中的空闲存储空间中;
将所述更新数据对应的数据索引和所述更新数据在所述数据表中的存储地址对应存储到更新队列中;
使用所述更新队列中所述更新数据对应的数据索引对应的存储地址,更新索引地址表中与该数据索引对应的存储地址,索引地址表记录了所述数据表中存储的数据的数据索引和存储的数据在所述数据表中的存储地址的对应关系。
采用本发明实施例提供的上述方法,由于不需要将数据表复制多份,占用的内存空间小,节省了系统资源。
进一步的,上述方法,还包括:
当有新数据需要存储时,将新数据存储到所述数据表中的空闲存储空间中;
将所述新数据对应的数据索引和所述新数据在所述数据表中的存储地址对应存储到所述更新队列中;
将所述更新队列中所述新数据对应的数据索引和所述新数据在所述数据表中的存储地址,对应存储到索引地址表中。
进一步的,上述方法,还包括:
清除所述数据表中所述更新数据对应的原数据。
这样,该数据表可以有足够的空闲存储空间存储更新数据或新数据。
本发明实施例还提供一种从上述数据更新方法中的数据表中读取数据的方法,包括:
从所述索引地址表的复制索引地址表中,查询待读取数据的数据索引对应的存储地址,所述复制索引地址表位于所述数据表的访问者本地;
从所述数据表中读取该存储地址对应的存储空间中存储的数据。
进一步的,上述方法,还包括:
使用所述更新队列中的数据索引对应的存储地址,更新所述复制索引地址表中与该数据索引对应的存储地址。
本发明实施例还提供一种数据更新装置,包括:
第一存储单元,用于当有数据需要更新时,将更新数据存储到数据表中的空闲存储空间中;
第二存储单元,用于将所述更新数据对应的数据索引和所述更新数据在所述数据表中的存储地址对应存储到更新队列中;
索引地址表更新单元,用于使用所述更新队列中所述更新数据对应的数据索引对应的存储地址,更新索引地址表中与该数据索引对应的存储地址,索引地址表记录了所述数据表中存储的数据的数据索引和存储的数据在所述数据表中的存储地址的对应关系。
采用本发明实施例提供的上述装置,由于不需要将数据表复制多份,占用的内存空间小,节省了系统资源。
进一步的,上述装置,还包括:
第三存储单元,用于当有新数据需要存储时,将新数据存储到所述数据表中的空闲存储空间中;
第四存储单元,用于将所述新数据对应的数据索引和所述新数据在所述数据表中的存储地址对应存储到所述更新队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310671693.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种手机壳喷漆治具结构
- 下一篇:一种检具上使用的夹紧定位销机构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置