[发明专利]数据文件的动态更新方法及装置有效
申请号: | 201310526090.3 | 申请日: | 2013-10-30 |
公开(公告)号: | CN103530420B | 公开(公告)日: | 2017-07-04 |
发明(设计)人: | 陈飞;朱超;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙)11276 | 代理人: | 宋菲,刘兰兰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据文件 动态 更新 方法 装置 | ||
技术领域
本发明涉及网络通信技术领域,具体涉及一种数据文件的动态更新方法及装置。
背景技术
目前,数据库的应用范围越来越广泛,通过数据库能够对现实生活中的数据信息进行有效的管理。随着实际情况的变化,在数据库中用于存储数据信息的数据文件也要时常进行更新,以满足实际需求。
例如,IPQuery库是一种常用的PHP扩展数据库,其中的数据文件内存储了有关地址、天气等方面的信息,从而能够为用户提供相关信息的查询。为了确保查询信息的正确性和及时性,需要有专门的运维人员对IPQuery库中的数据文件进行维护和更新。
目前,IPQuery库在初次启动时把数据文件内的数据按一定的格式加载到内存中,并对外提供用于查询的IPQuery接口,以供其他进程(例如PHP进程)调用。当数据文件需要更新时,只能先关闭IPQuery库,并用更新后的数据文件覆盖原来的数据文件,之后重新启动IPQuery库,在重启的过程中,先要删除内存中原有的数据文件,再将更新后的数据文件加载到内存中,从而实现IPQuery库中的数据文件的更新。然而,从IPQuery库关闭的时间点至更新后的数据文件加载完成的时间点之间的这段时间内,将导致IPQuery库无法正常处理用户的访问请求,从而给用户带来不便。
另外,在上述过程中,也可能由于意外原因导致IPQuery库未能成功重启,从而使该库无法正常使用。为此,还需要由运维人员实时跟踪数据文件的加载结果,一旦出现失败的情况还要单独进行处理,从而增加了大量的运维成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据文件的动态更新方法及装置。
依据本发明的一个方面,提供了一种数据文件的动态更新方法,包括:当数据文件需要更新时,将更新后的数据文件存储到第二存储空间,其中,更新前的数据文件存储在第一存储空间中;将预设的最新数据文件的存储地址从第一存储空间的地址变更为第二存储空间的地址;当有进程访问数据文件时,根据预设的最新数据文件的存储地址,查找并访问第二存储空间中存储的更新后的数据文件。
可选地,预设的最新数据文件的存储地址通过第一变量表示,则将预设的最新数据文件的存储地址从第一存储空间的地址变更为第二存储空间的地址的步骤包括:将第一变量的值从第一存储空间的地址变更为第二存储空间的地址。
可选地,根据最新数据文件的存储地址,查找并访问第二存储空间中存储的更新后的数据文件的步骤包括:获取第一变量的值,将第一变量的值与本地存储的第二变量的值进行比较,其中,第二变量用于表示当前使用的数据文件的存储地址;若比较结果不同,则先将第一变量的值赋给第二变量,再查找并访问第二变量对应的存储地址中的数据文件。
可选地,第二变量为全局变量。
可选地,数据文件为IPQuery数据文件,进程为PHP进程。
依据本发明的另一方面,提供了一种数据文件的动态更新装置,包括:存储单元,适于当数据文件需要更新时,将更新后的数据文件存储到第二存储空间,其中,更新前的数据文件存储在第一存储空间中;变更单元,适于将预设的最新数据文件的存储地址从第一存储空间的地址变更为第二存储空间的地址;查找单元,适于当有进程访问数据文件时,根据预设的最新数据文件的存储地址,查找并访问第二存储空间中存储的更新后的数据文件。
可选地,预设的最新数据文件的存储地址通过第一变量表示,则变更单元用于将第一变量的值从第一存储空间的地址变更为第二存储空间的地址。
可选地,查找单元用于:获取第一变量的值,将第一变量的值与本地存储的第二变量的值进行比较,其中,第二变量用于表示当前使用的数据文件的存储地址;若比较结果不同,则先将第一变量的值赋给第二变量,再查找并访问第二变量对应的存储地址中的数据文件。
可选地,第二变量为全局变量。
可选地,数据文件为IPQuery数据文件,进程为PHP进程。
在本发明提供的数据文件的动态更新方法及装置中,将更新前后的数据文件分别存储到不同的存储空间内,并通过预设的最新数据文件的存储地址来标识更新后的数据文件的位置,因而,进程能够在该位置访问到更新后的数据文件。由于更新前后的数据文件的存储空间不同,因而避免了现有技术中必须先删除内存中存储的更新前的数据文件,之后才能在同一内存中加载更新后的数据文件的缺陷,以及由此导致的重启数据库及相关的运维问题。通过本发明提供的数据文件的动态更新方法及装置,实现了在数据库正常运行的过程中动态加载数据文件的技术效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310526090.3/2.html,转载请声明来源钻瓜专利网。