一种基于移动通信终端的数据库索引修复方法及装置制造方法及图纸

技术编号:5179413 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于移动通信终端的数据库索引修复方法及装置,用于降低数据库异常对移动通信终端的影响。该方法为:获取数据库文件及其对应的第一索引表,确定第一索引表中包含重复的记录标识时,删除第一索引表,并针对所述数据库文件建立第二索引表,依次获取所述数据库文件包含的记录标识并并确认获取的记录标识是否已经保存到所述第二索引表中,并当确认结果为否时,将获取的记录标识及相应的记录偏移地址保存到所述第二索引表中。该方法能够对异常数据库进行修复,有效降低数据库异常对移动通信终端的影响,保证移动通信终端的正常使用。本发明专利技术同时公开了一种基于移动通信终端的数据库索引修复装置。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种基于移动通信终端的数据库索引修复方法及直O
技术介绍
目前,移动通信终端中有很多应用是采用数据库进行管理和控制,例如,电话薄、 通话记录、日程表等应用就是采用数据库实现的。但是移动通信终端中的数据库存在很多 不稳定因素,可能会出现数据异常的情况,一旦数据库中的数据发生异常,则可能会导致移 动通信终端数据丢失,或者是功能无法使用,甚至是出现死机或无法开机的严重后果,严重 影响开发效率。下面以基于Brew平台的移动通信终端为例进行说明,在基于Brew平台的移动通 信终端中,采用的不是关系型数据库,无法通过解析SQL等命令语句对数据库进行管理查 询等操作。例如,从数据库中删除记录时,在记录头结构中将需要删除记录的记录标识设置 为删除标记(如,Oxffff),每当对数据库文件进行改动后时,检测记录头结构中包含的删 除标记的数量,在达到预设阈值时压缩数据库文件,即将记录标识为删除标记的相应记录 从数据库文件中删除,并在压缩完成后重新建立索引表。但是,在压缩的同时,移动通信终 端可以进行其他操作,因此有可能会产生冲突,导致数据库异常。同时,在数据库工作时向 数据库中快速大量地写入数据,也可能会使得数据库出现异常。目前基于Brew平台的移动 通信终端中没有完善的容错机制,只能简单判断数据库的读取是否正常,一旦数据库异常, 则停止读取操作,从而造成数据丢失,或者无法再写入数据,也可能会因为数据库在读取时 无法跳过坏区而导致死循环,使得终端死机或无法开机,影响了移动通信终端的正常使用。
技术实现思路
本专利技术提供一种基于移动通信终端的数据库索引修复方法及装置,用以对异常数 据库进行修复,以降低数据库异常对移动通信终端的影响,保证移动通信终端的正常使用。本专利技术实施例提供的具体技术方案如下一种基于移动通信终端的数据库索引修复方法,包括获取数据库文件及其对应的第一索引表;确定所述第一索引表中包含重复的记录标识时,删除所述第一索引表,并针对所 述数据库文件建立第二索引表;依次获取所述数据库文件包含的记录标识并确认获取的记录标识是否已经保存 到所述第二索引表中,并当确认结果为否时,将获取的记录标识及相应的记录偏移地址保 存到所述第二索引表中。一种基于移动通信终端的数据库索引修复装置,包括第一处理单元,用于获取数据库文件及其对应的第一索引表;第二处理单元,用于确定所述第一索引表中包含重复的记录标识时,删除所述第3一索引表,并针对所述数据库文件建立第二索引表;第三处理单元,用于依次获取所述数据库文件包含的记录标识并确认获取的记录 标识是否已经保存到所述第二索引表中,并当确认结果为否时,将获取的记录标识及相应 的记录偏移地址保存到所述第二索引表中。基于上述技术方案,本专利技术实施例中,在确定数据库文件的第一索引表中存在重 复的记录标识时,删除第一索引表,并建立第二索引表,通过依次获取上述数据库文件包含 的记录标识并在确认获取的记录标识未保存到上述第二索引表中时,即确认第二索引表中 不存在上述获取的记录标识时,将上述获取的记录标识及相应的记录偏移地址保存到第二 索引表中,从而保证了第二索引表中保存的记录标识是唯一的,从而使得数据库基于建立 的第二索引表能够正常工作,实现对异常数据库的修复,降低了数据库异常对移动通信终 端造成的影响,保证移动通信终端的正常使用。附图说明图1为基于Brew平台移动通信终端的数据库结构图;图2为本专利技术基于移动通信终端的数据库索引修复方法流程图;图3为本专利技术基于移动通信终端的数据库索引修复装置结构图。具体实施例方式在移动通信终端的数据库文件中,每条记录的标识是唯一的,在建立索引表时,按 照记录标识的大小进行排序。通过索引表获取记录时,首先获取记录标识,再根据获取的记 录标识查找相应的记录在数据库文件中的偏移地址,从而获取到与该记录标识相对应的记 录。每当对数据库文件进行操作时,需要读取整个数据库文件,即首先从数据库文件中找到 索引表的偏移地址,依次根据获取索引表包含的记录标识及相应的偏移地址,找到数据库 文件中相应记录并读取。其中,在依次读取索引表时,按照当前获取的记录标识A,从索引表 中查找相应的偏移地址,再按照该偏移地址从数据库文件中获取相应的记录,再从索引表 中包含的第一条记录标识开始依次与上述记录标识A进行比较,直至找到与上述记录标识 A相匹配的记录标识,再获取相匹配记录标识的下一条记录标识,并将该下一条记录标识作 为当前记录标识,再获取相应的偏移地址,以从数据库文件中获取相应的记录。在同一数据库文件中存在相同的记录标识时,根据该数据库文件建立的索引表中 也会存在相同的记录标识,该数据库文件就会出现异常。假设在同一数据库文件中存在两 条同为记录标识A的记录B和记录C,其相对应的索引表中也会存在两条相同的记录标识 A,则索引表进行排序后两条记录标识A位于相邻的位置。当读取数据库文件时,通过索引 表获取第一条记录标识为A的记录B后,在索引表中从第一个记录标识开始依次与记录标 识A进行匹配,直至找到第一条记录标识A,则将第一条记录标识A的下一条记录标识作为 当前记录标识,则当前记录标识为第二条记录标识A,在获取偏移地址并从数据库文件获取 相应的记录后,再从索引表中第一个记录标识开始依次与记录标识A进行匹配,直至找到 第一条记录标识A,则将下一条记录标识A作为当前记录标识,可见,后续从索引表中找到 的记录标识一直都是第二条记录标识A,从而导致死循环,进而造成移动通信终端死机,影 响移动通信终端的正常使用,降低了开发效率。4数据库文件和索引表之间应该是一一对应的,在数据库文件中添加或删除记录 时,正常流程应该是将原索引表删除,在数据库文件的最后添加新的索引表。数据库异常还 可能会造成在数据库文件原有的索引表没有删除的情况下,建立新的索引表,这就导致在 建立新的索引表时,将原有的索引表也作为数据库文件的多条记录来解析,并将解析获得 的记录标识保存至新的索引表中,使得新的索引表中存在记录标识相同的情况,从而影响 移动通信终端的正常使用,降低开发效率。为了降低由于索引表中存在相同的记录标识导致的数据库异常,进而对移动通信 终端的正常使用所造成影响,保证移动通信终端的正常使用,本专利技术实施例中提供了一种 基于移动通信终端的数据库索引修复方法及装置,能够对异常数据库进行修复,降低数据 库异常对移动通信终端造成的影响,保证移动通信终端的正常使用。该方法为获取数据库 文件及其对应的第一索引表,确定第一索引表中包含重复的记录标识时,针对上述数据库 文件建立第二索引表,依次获取上述数据库文件包含的记录标识并确认获取的记录标识是 否已经保存到上述第二索引表中,并当确认结果为否时,将获取的记录标识及相应的记录 偏移地址保存到上述第二索引表中。本专利技术实施例中,仅以基于Brew平台的移动通信终端为例进行说明,如果基于其 他平台的移动通信终端也能够采用本专利技术实施例提供的方法进行数据库修复,本专利技术也将 其包含在内。在基于Brew平台的移动通信终端中,数据库文件的结构如附图1所示,主要包括 数据库文件头结构、多条记录和索引表三部分。索引表位于数据库文件的最后,每个数据库 文件至多包含一个索引表,有的数据库文件本文档来自技高网...

【技术保护点】
一种基于移动通信终端的数据库索引修复方法,其特征在于,包括:  获取数据库文件及其对应的第一索引表;  确定所述第一索引表中包含重复的记录标识时,删除所述第一索引表,并针对所述数据库文件建立第二索引表;  依次获取所述数据库文件包含的记录标识并确认获取的记录标识是否已经保存到所述第二索引表中,并当确认结果为否时,将获取的记录标识及相应的记录偏移地址保存到所述第二索引表中。

【技术特征摘要】
一种基于移动通信终端的数据库索引修复方法,其特征在于,包括获取数据库文件及其对应的第一索引表;确定所述第一索引表中包含重复的记录标识时,删除所述第一索引表,并针对所述数据库文件建立第二索引表;依次获取所述数据库文件包含的记录标识并确认获取的记录标识是否已经保存到所述第二索引表中,并当确认结果为否时,将获取的记录标识及相应的记录偏移地址保存到所述第二索引表中。2.如权利要求1所述的方法,其特征在于,在获取所述数据库文件包含的记录标识和 确认获取的记录标识是否已经保存到所述第二索引表之间,还包括确认获取的所述记录标识为非删除标记。3.如权利要求1或2所述的方法,其特征在于,当确认获取的所述记录标识已经保存到 所述第二索引表中时,还包括在数据库文件中,将获取的记录标识修改为删除标记。4.如权利要求3所述的方法,其特征在于,还包括统计所述第二索引表中包含的记录 索引数,并将统计结果保存至所述第二索引表。5.如权利要求4所述的方法,其特征在于,将获取的记录标识及相应的记录偏移地址 保存到所述第二索引表中后,包括将所述第二索引表中包含的记录标识及相应的记录偏移地址按照记录标识的大小进 行排序。6.一种基于移动通信终端的数据库索引修复装置,其特征在于,...

【专利技术属性】
技术研发人员:刘刚刘薇
申请(专利权)人:青岛海信移动通信技术股份有限公司
类型:发明
国别省市:95[]

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

1