[发明专利]一种数据文件处理方法及系统有效
申请号: | 201510454768.0 | 申请日: | 2015-07-29 |
公开(公告)号: | CN106708825B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 王刚 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据文件 处理 方法 系统 | ||
本发明公开了一种数据文件处理方法及系统,其中该方法包括:获取磁盘上的数据文件,其中数据文件以共享内存的数据结构进行存放;采用内存映射的方式将数据文件加载到共享内存中,并对共享内存进行初始化;基于该加载过程记录数据更新信息,数据更新信息包括数据文件的文件名以及第一时间信息,所述第一时间信息为加载过程加载时的时间;根据数据更新信息对数据文件进行读取处理。本发明实施例通过将磁盘上明文数据结构的数据文件以共享内存的数据结构进行存放,并将其加载到共享内存中,提高了加载效率;支持一处加载、多处使用,即通过共享内存,实现多个进程使用同一份共享内存数据,大大降低了额外的内存占用。
技术领域
本发明属于通信技术领域,尤其涉及一种数据文件处理方法及系统。
背景技术
随着互联网技术的迅速发展,在搜索业务中的检索串分析和纠错、个性化推荐业务中的推荐服务等大量的服务中都需要有大量的数据来支持决策。表现在程序中,则是线上服务需要加载大量的数据,每次处理需要进行大量的查表操作。同时,需要按照一定的频率对数据进行更新,以适应变化。更新的频率可以是实时(秒级)、准实时(分钟级)或者定时(天级)更新。
现有技术中,通常每个服务进程都自行负责数据的加载和更新,一般是进程读取数据文件,并自己构建内存数据结构,为了支持不停服更新,一般的做法是,启动一个独立线程进行数据更新,在更新过程中维持旧的数据不变,待新数据加载完成后,删除老数据。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中内存数据只能在单个进程中使用,如果多个进程需要使用相同数据,则需要分别加载、分别更新,从而会导致额外的内存占用;并且该数据为明文数据结构,加载时间较长,从而导致加载效率不高。
发明内容
本发明的目的在于提供一种数据文件处理方法及系统,旨在提高数据文件处理准确率以及召回率。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种数据文件处理方法,其中包括:
获取磁盘上的数据文件,其中所述数据文件以共享内存的数据结构进行存放;
采用内存映射的方式将所述数据文件加载到所述共享内存中,并对所述共享内存进行初始化;
基于该加载过程记录数据更新信息,所述数据更新信息包括数据文件的文件名以及第一时间信息,所述第一时间信息为所述加载过程加载时的时间;
根据所述数据更新信息对数据文件进行读取处理。
为解决上述技术问题,本发明实施例还提供以下技术方案:
一种数据文件处理系统,其中包括:
数据管理模块,用于获取磁盘上的数据文件,其中所述数据文件以共享内存的数据结构进行存放;采用内存映射的方式将所述数据文件加载到所述共享内存中,并对所述共享内存进行初始化;基于该加载过程记录数据更新信息,所述数据更新信息包括数据文件的文件名以及第一时间信息,所述第一时间信息为所述加载过程加载时的时间;
数据读取模块,用于根据所述数据更新信息对数据文件进行读取处理。
相对于现有技术,本实施例,先将数据文件以共享内存的数据结构存放在磁盘上,并将采用内存映射的方式将所述数据文件加载到所述共享内存中,并记录更新信息,以实现对数据文件进行加载处理,进而根据所述数据更新信息对数据文件进行更新和加载,以便进程共同使用共享内存中的数据;本发明实施例通过将磁盘上明文数据结构的数据文件以共享内存的数据结构进行存放,并将其加载到共享内存中,提高了加载效率;支持一处加载、多处使用,即通过共享内存,实现多个进程使用同一份共享内存数据,大大降低了额外的内存占用。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510454768.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网站访问量的展示方法及装置
- 下一篇:数据处理及查询方法、装置