[发明专利]一种基于嵌入式数据库的数据处理方法及装置在审
申请号: | 201510274570.4 | 申请日: | 2015-05-26 |
公开(公告)号: | CN104866577A | 公开(公告)日: | 2015-08-26 |
发明(设计)人: | 吴剑文 | 申请(专利权)人: | 深圳市六度人和科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳盛德大业知识产权代理事务所(普通合伙) 44333 | 代理人: | 贾振勇 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 嵌入式 数据库 数据处理 方法 装置 | ||
技术领域
本发明属于数据库技术领域,尤其涉及一种基于嵌入式数据库的数据处理方法及装置。
背景技术
手机App程序在手机中应用越来越广泛,App的运行过程中会进行大量的数据的读写操作,为了保证数据的读写操作速度,目前手机上一般采用嵌入式数据库,例如SQlite数据库进行数据的管理。
当多个用户在对数据库中的数据进行读写操作时,为了保证数据的完整性和一致性,SQlite采用锁的机制进行控制,SQlite的锁分为两种,一种是排他锁,一种是共享锁:当一个事务对数据库中的数据进行写操作时,该事务获取该数据的排他锁,在该事务运行期间,其他事务不能对该数据进行读或者写操作;当一个事务对数据库中的数据进行读操作时,该事务获取该数据的共享锁,在该事务运行期间,其他事务可以对该数据进行读操作但是不能对该数据进行写操作。
同时由于SQlite是嵌入式的数据库,程序运行时数据库装入内存,由于内存的保护机制,当一个事务对装入内存的数据库中的某个数据进行写操作时,系统会将内存地址中的整个数据库进行锁定,这意味着如果任何事务读取了数据库中的某一部分,其他所有事务都不能再对该数据库的任何部分进行写入操作,同样的,如果任何一个事务在对数据库进行写入操作,其他所有事务都不能再读取该数据库的任何部分。对于大多数情况这不算是什么问题,在这些情况下每个程序使用数据库的时间都很短暂,并且不会独占,这样锁定至多会存在十几毫秒。但是如果有些程序需要对数据库进行高并发操作,如在插入5万条数据的并发操作时,数据表会被锁住,虽然使用异步操作的过程,但是整个库被锁死,其他分表无法操作,导致其他功能无法使用。
发明内容
本发明实施例提供一种基于嵌入式数据库的数据处理方法,旨在解决数据库高并发操作状态下,整个库被锁死,导致其他功能无法使用的问题。
本发明实施例是这样实现的,一种基于嵌入式数据库的数据处理方法,所述方法包括下述步骤:
将源数据库进行分库,生成至少两个新数据库;
将所述新数据库的数据操作语法进行封装,生成对应的操作类函数;
开启线程池响应线程对所述操作类函数的调用。
本发明实施例还提供一种基于嵌入式数据库的数据处理装置,所述装置包括:
分库模块,用于将源数据库进行分库,生成至少两个新数据库;
封装模块,用于将所述新数据库的数据操作语法进行封装,生成对应的操作类函数;以及
线程池管理模块,用于开启线程池响应线程对所述操作类函数的调用。
本发明实施例使用分库技术将嵌入式数据库分成至少两个数据库,并将数据库的数据操作封装成单例模式的操作类函数,同时使用线程池管理这些操作类函数的调用,使得用户程序在对数据库中的某张表进行大数据量的读写操作时,不会导致整个数据库的锁死,用户可以对数据库中的其他表进行正常的读写操作。
附图说明
图1是本发明实施例的系统构架图;
图2是本发明实施例提供的基于嵌入式数据库的数据处理方法的实现流程图;
图3是本发明实施例提供的基于嵌入式数据库的数据处理装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例使用分库分表技术将嵌入式数据库分成至少两个数据库,使得用户程序在对数据库中的某张表进行大数据量的读写操作时,不会导致整个数据库的锁死,用户同时可以对数据库中的其他表进行正常的读写操作,使数据库进行高并发操作时,不会出现App应用所占内存过高,CPU消耗过高,手机发热的现象。
图1示出了本发明实施例的系统架构图,为了便于说明,仅示出了与本发明实施例相关的部分。
源数据库11,源数据库为嵌入式数据库,例如可以是SQlite,也可以是其他轻量级的嵌入式数据库,数据以一张或多张表的形式存储于一个数据库中。
大数据表数据库12,本发明实施例将源数据库中的多张表进行分类处理,将操作频率高于第一预设阈值或者数据容量大于第二预设阈值的数据表存储于大数据表数据库,其中大数据表数据库可以生成多个。
小数据表数据库13,本发明实施例将源数据库中操作频率低于第一预设阈值或者数据容量小于第二预设阈值的数据表存储于小数据表数据库,小数据表数据库也可以为多个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市六度人和科技有限公司,未经深圳市六度人和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510274570.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据报表的生成方法和装置
- 下一篇:一种数据仓库的数据采集方法、装置及系统