[发明专利]一种访问单文件数据库的方法及装置有效
申请号: | 200910237053.4 | 申请日: | 2009-11-03 |
公开(公告)号: | CN101714167A | 公开(公告)日: | 2010-05-26 |
发明(设计)人: | 陈曦 | 申请(专利权)人: | 北京高信达网络科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;孟丽娟 |
地址: | 100044 北京市海淀区西直*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 文件 数据库 方法 装置 | ||
技术领域
本发明涉及一种访问单文件数据库的方法及装置,属于数据存储技术领域。
背景技术
单文件数据库是一种轻量级、跨平台的关系型数据库。所谓单文件是指数据库中所 有的信息(比如表、视图、触发器等)都包含在一个文件内,并且这个文件也可以被复 制到其它目录或其它机器上使用,具有体积小、查询速度快等特点。
数据库是一个共享资源,可为多个应用程序所共享。这些程序可串行运行,但在许 多情况下,由于应用程序涉及的数据量可能很大,常常会涉及输入和输出的交换。为了 有效地利用数据库资源,可能多个程序或一个程序的多个进程同时运行。在单文件数据 库环境中,由于只使用单一文件存储数据,多个用户同时访问数据库,或数据库中的数 据量较大时,会存取不正确的数据,或破坏数据库数据的一致性,导致数据库文件中的 数据遭到严重破坏或数据丢失。图1是某一次对数据库的操作时间较长时将会导致其它应 用无法正常使用,或是导致数据无法正常写入数据库中,影响业务的正常流程。
因此,在现有的单数据库存储技术中存在当多个用户同时访问数据库或数据库存储 量较大时,读写操作容易阻塞或出错、存储的数据容易损坏的问题。
发明内容
本发明提供了一种访问单文件数据库的方法及装置,以解决在现有的单数据库存储 技术中存在当多个用户同时访问数据库或数据库存储量较大时,读写操作容易阻塞或出 错、存储的数据容易损坏的问题。
一种访问单文件数据库的方法,包括:
根据业务关系的不同,将不同的数据表划分成若干个数据表群,并为每个数据表群 建立对应的虚拟文件,这些数据表群与所述虚拟文件的对应关系都记录在日志文件中;
根据用户请求访问的数据表在日志文件中的所述对应关系,将与所述用户请求访问 的数据表对应的所述虚拟文件提供给用户访问;
若多个用户同时请求访问同一个数据表相应的虚拟文件,则使用预定算法对多个用 户进行优先级排序;
若多个用户同时对同一个数据表相应的虚拟文件并行存取,则对所述同一个数据表 对应的虚拟文件实行预定的封锁机制。
一种访问单文件数据库的装置,包括:
虚拟文件建立单元,用于根据业务关系的不同,将不同的数据表划分成若干个数据 表群,并为每个数据表群建立对应的虚拟文件,这些数据表群与所述虚拟文件的对应关 系都记录在日志文件中;
虚拟文件访问单元,用于根据用户请求访问的数据表在日志文件中的所述对应关 系,将与所述用户请求访问的数据表对应的所述虚拟文件提供给用户访问;
优先排序单元,用于若多个用户同时请求访问同一个数据表相应的虚拟文件,则使 用预定算法对多个用户进行优先级排序;
虚拟文件封锁单元,用于若多个用户同时对同一个数据表相应的虚拟文件并行存 取,则对所述同一个数据表相应的虚拟文件施行预定的封锁机制。
本发明通过将不同业务的数据表建立在不同的虚拟文件当中,并将表与虚拟文件建 立对应关系存储于日志文件当中,实现了当多个用户同时访问数据库或数据库存储量较 大时,读写操作不易出现阻塞或出错,存储的数据也不易被损坏。
附图说明
图1是在现有技术中数据库因操作时间较长导致出错的流程示意图;
图2是本发明的具体实施方式提供的一种访问单文件数据库的方法的流程示意图;
图3是本发明的具体实施方式提供的建立数据表与虚拟文件对应关系的流程示意图;
图4是本发明的具体实施方式提供的多用户操作数据库的流程示意图;
图5是本发明的具体实施方式提供的一种访问单文件数据库的装置的结构示意图。
具体实施方式
本发明的具体实施方式提供了一种访问单文件数据库的方法,该方法包括根据业务 关系将单文件数据库中的数据表分别建立对应的虚拟文件,将数据表和对应的虚拟文件 建立对应关系,并将对应关系存储于日志文件中;以及根据用户请求访问的数据表在日 志文件中的对应关系,将与用户请求访问的数据表对应的虚拟文件提供给用户访问。
进一步地,相应的根据用户请求访问的数据表在日志文件中的对应关系包括对于每 个访问请求都分别查找请求访问的数据表在日志文件中的对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京高信达网络科技有限公司,未经北京高信达网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910237053.4/2.html,转载请声明来源钻瓜专利网。