一种更新数据的方法及装置制造方法及图纸

技术编号:9906927 阅读:110 留言:0更新日期:2014-04-11 05:52
本发明专利技术公开了一种更新数据的方法及装置,属于计算机领域。所述方法包括:接收数据产生源发送的数据更新请求消息,所述数据更新请求消息携带某数据类型和所述数据类型对应的第一文件的存储地址,所述第一文件包括所述数据产生源产生所述数据类型对应的第一数据;根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据;将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,所述数据目录用于存储数据类型与智能指针的对应关系。所述装置包括:第一接收模块、第一创建模块和第一更新模块。本发明专利技术能够减少对内存的消耗。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种更新数据的方法及装置,属于计算机领域。所述方法包括:接收数据产生源发送的数据更新请求消息,所述数据更新请求消息携带某数据类型和所述数据类型对应的第一文件的存储地址,所述第一文件包括所述数据产生源产生所述数据类型对应的第一数据;根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据;将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,所述数据目录用于存储数据类型与智能指针的对应关系。所述装置包括:第一接收模块、第一创建模块和第一更新模块。本专利技术能够减少对内存的消耗。【专利说明】一种更新数据的方法及装置
本专利技术涉及计算机及通信领域,特别涉及一种更新数据的方法及装置。
技术介绍
互联网服务后台包括数据产生源和数据管理器,数据产生源可以产生某数据类型对应的新数据,此时数据管理器需要将自身管理的该数据类型对应的数据更新为该数据类型对应的新数据。现有技术提供了一种更新数据的方法,可以具体为:数据管理器包括两个buffer和一个读指针,读指针指向的buffer为读buffer,读指针未指向的另一个buffer为写buffer,当数据产生源产生某数据类型对应的新数据时,数据管理器将写buffer中存储的该数据类型对应的数据更新为该数据类型对应的新数据,设置读指针指向写buffer,此时写buffer变为读buffer,原来的读buffer变为写buffer,将变后的写buffer存储的该数据类型对应的数据更新为该数据类型对应的新数据,如此数据管理器完成数据更新。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:读写两个buffer都为内存中的两个存储队列,现有技术在更新数据时,将每个新数据都存储在两个buffer内,即每个新数据都在内存中存储两份,对内存消耗巨大。
技术实现思路
为了减少对内存的消耗,本专利技术提供了提供了一种更新数据的方法及装置。所述技术方案如下:—种更新数据的方法,所述方法包括:接收数据产生源发送的数据更新请求消息,所述数据更新请求消息携带某数据类型和所述数据类型对应的第一文件的存储地址,所述第一文件包括所述数据产生源产生所述数据类型对应的第一数据;根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据;将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,所述数据目录用于存储数据类型与智能指针的对应关系。所述根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据,包括:根据所述第一文件的存储地址,从文件系统中获取所述第一文件,所述文件系统用于存储所述数据产生源产生的文件;将所述第一文件包括的第一数据加载到数据管理器的内存,如果加载成功,创建智能指针指向所述第一数据。所述将所述第一文件包括的第一数据加载到数据管理器的内存,如果加载成功,创建智能指针指向所述第一数据,包括:根据所述数据类型,从已存储的数据类型与加载函数的对应关系中获取对应的加载函数;通过所述获取的加载函数将所述第一文件包括的第一数据加载到数据管理器的内存中;如果加载成功,则创建智能指针指向所述第一数据。所述将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,包括:对读智能指针指向的数据目录进行复制,得到复制的数据目录;根据所述数据类型,从所述复制的数据目录中查找所述数据类型对应的智能指针;将所述数据类型对应的智能指针更新为指向所述第一数据的智能指针;设置所述读智能指针指向所述复制的数据目录。所述根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存之后,还包括:如果加载成功,则发送加载成功通知消息给所述数据产生源,使所述数据产生源发送所述数据更新请求消息给未请求更新数据的数据管理器;如果加载失败,则发送加载失败通知消息给所述数据产生源,使所述数据产生源重新产生所述数据类型对应的第一数据并封装成第一文件。所述发送加载失败通知消息给所述数据产生源之后,还包括:接收所述数据产生源发送的数据更新失败消息,所述数据更新失败消息携带所述数据类型和所述数据类型对应的第二文件的存储地址,所述第二文件包括所述数据类型对应的第二数据,所述第二数据为所述数据产生源在产生所述第一数据之前最近一次产生所述数据类型对应的数据;根据所述第二文件的存储地址将所述第二数据加载到所述数据管理器的内存中,创建智能指针指向所述第二数据;将所述数据目录中存储的所述数据类型对应的智能指针更新为指向所述第二数据的智能指针。所述方法还包括:接收数据使用方发送的数据请求消息,所述数据请求消息携带待请求的数据的数据类型;根据所述待请求的数据的数据类型从所述数据目录中获取指向所述待请求的数据的智能指针;发送指向所述待请求的数据的智能指针给所述数据使用方,使所述数据使用方根据指向所述待请求的数据的智能指针获取所述待请求的数据。一种更新数据的方法,所述方法包括:产生某数据类型对应的第一数据并封装成第一文件;将所述第一文件存储在文件系统中并获取所述第一文件的存储地址;发送数据更新请求消息给数据管理器,所述数据更新请求消息携带所述数据类型和所述第一文件的存储地址,以请求所述数据管理器更新数据。所述发送数据更新请求消息给数据管理器之后,还包括:接收所述数据管理器发送的加载成功通知消息,发送所述数据更新请求消息给未请求更新数据的数据管理器。所述发送数据更新请求消息给数据管理器之后,还包括:接收所述数据管理器发送的加载失败通知消息,重新产生所述数据类型对应的第一数据并封装成第一文件。所述接收所述数据管理器发送的加载失败通知消息之后,还包括:发送数据更新失败消息给已请求更新数据的数据管理器,所述数据更新失败消息携带所述数据类型和所述数据类型对应的第二文件的存储地址,所述第二文件包括所述数据类型对应的第二数据,所述第二数据为所述数据产生源在产生所述第一数据之前最近一次产生所述数据类型对应的数据。一种更新数据的装置,所述装置包括:第一接收模块,用于接收数据产生源发送的数据更新请求消息,所述数据更新请求消息携带某数据类型和所述数据类型对应的第一文件的存储地址,所述第一文件包括所述数据产生源产生所述数据类型对应的第一数据;第一创建模块,用于根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据;第一更新模块,用于将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,所述数据目录用于存储数据类型与智能指针的对应关系。所述第一创建模块包括:获取单元,用于根据所述第一文件的存储地址,从文件系统中获取所述第一文件,所述文件系统用于存储所述数据产生源产生的文件;创建单元,用于将所述第一文件包括的第一数据加载到数据管理器的内存,如果加载成功,创建智能指针指向所述第一数据。所述创建单元包括:获取子单元,用于根据所述数据类型,从已存储的数据类型与加载函数的对应关系中获取对应的加载函数;加载子单元,用于通过所述获取的加载函数将所述第一文件包括的第一数据加载本文档来自技高网
...

【技术保护点】
一种更新数据的方法,其特征在于,所述方法包括:接收数据产生源发送的数据更新请求消息,所述数据更新请求消息携带某数据类型和所述数据类型对应的第一文件的存储地址,所述第一文件包括所述数据产生源产生所述数据类型对应的第一数据;根据所述第一文件的存储地址将所述第一数据加载到数据管理器的内存,如果加载成功,则创建智能指针指向所述第一数据;将数据目录中存储的所述数据类型对应的智能指针更新为指向所述第一数据的智能指针,所述数据目录用于存储数据类型与智能指针的对应关系。

【技术特征摘要】

【专利技术属性】
技术研发人员:樊华俞欢王益
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1