[发明专利]基于双哈希结构二维动态联系人查询列表查询方法及系统有效
申请号: | 201310534928.3 | 申请日: | 2013-11-01 |
公开(公告)号: | CN103544305B | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 王俊;张立宏;刘云峰 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 杭州千克知识产权代理有限公司33246 | 代理人: | 周希良 |
地址: | 201616 上海市松*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 双哈希 结构 二维 动态 联系人 查询 列表 方法 系统 | ||
技术领域
本发明属于移动通信领域,涉及一种动态联系人查询列表查询方法及系统,特别是涉及一种基于双哈希结构二维动态联系人查询列表查询方法及系统。
背景技术
电话薄是例如手机等移动通信设备的基本功能,这种功能每天都会被用户频繁使用,其作用存储联系人信息的数据库,目标联系人的查询是数据库管理系统的基础,它负责存储系统中各种数据,且提供存取数据的接口等功能。目前主流的关系数据库商业产品如oracle,都支持此项功能。但是由于手机系统在时间和空间上的资源有限,不可能将需要消耗大量资源和空间的大型业务数据库系统,例如sybase、oracle等部署在手机设备上。而其他手机实时数据库,如Berkeley DB等,需要对磁盘进行操作,影响系统实时性。
安卓系统中的SQLite是一种轻型数据库,它虽然实现了数据库系统中包括联系人查询的大部分特征,如支持视图、触发器、事务管理等,但这些功能对于某些小型手机设备根本不需要,增加了对有限资源的占用。
而其他手机实时数据库,如Berkeley DB等,需要对磁盘进行操作,影响系统实时性。以Android SQLite为例,搜索界面是一个Auto-Complete-Text-View(自动完成文本视图),显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入,他的数据是一个Suggestions-Adapter,每次输入内容后,更新Auto-Complete-Text View中的mFilter,然后在contacts中的peopleLookup表中查找,更新adapter,然后将结果显示给用户,联系人中查询的uri是”content://contacts/search_suggest_query/输入的字符“,首先在people-Lookup表中查找到联系人的ID,然后到人名、电话、联系方式、公司表中查找对应联系人的信息。Android SQLite虽然实现了数据库系统中包括联系人查询的大部分特征,如支持视图、触发器、事务管理等,但这些功能对于某些小型手机设备根本不需要,增加了对有限资源的占用。因此,需要一种在移动终端环境下能够提高数据存取速度,提高整个系统性能的查询方法。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于双哈希结构二维动态联系人查询列表查询方法及系统,用于解决现有技术中移动终端中的数据库中联系查询功能占用了大量有限资源而使联系人查询的数据检索速度大大降低的问题。
为实现上述目的及其他相关目的,本发明提供一种基于双哈希结构二维动态联系人查询列表查询方法,所述方法包括以下步骤:构建联系人查询哈希列表;所述联系人查询哈希列表包括联系人查询无重名哈希列表和重名哈希列表;判断所建立的联系人查询数据库哈希列表中所有二维表的名称列是否有重名,若无重名,则执行查询联系人查询无重名哈希列表的步骤;若有重名,则执行查询联系人查询重名哈希列表的步骤;在联系人查询无重名哈希列表中查询所需二维表的数据内容,根据所需二维表的字段和记录的名称确定二维数组的列标和行标,依据二维数组的列标行标查询所述二维表的数据内容;在联系人查询重名哈希列表中查询所需二维表的数据内容,使用索引重新生成新的联系人查询无重名哈希列表,根据所需二维表的字段和记录的名称确定二维数组的列标和行表,依据二维数组的列标行标查询所述二维表的数据内容。
优选地,基于双哈希结构二维动态联系人查询列表查询方法还包括确定所建立的联系人查询哈希列表中所有二维表的位置及计算所建立的联系人查询哈希列表中所有二维表需占用的空间大小。
优选地,在联系人查询无重名哈希列表中查询的步骤还包括:根据所述二维表的名称,检索所述二维表的存储位置;根据所述二维表中字段的名称,计算字段的关键码值,检索该字段,根据该字段的字段号确定所述数据内容二维数组的列标;根据所述二维表中记录的名称,计算记录的关键码值,检索该记录,根据该记录的记录号确定所述数据内容二维数组的行标;查询所述数据内容的确切位置。
优选地,在联系人查询重名哈希列表中查询的步骤还包括:使用索引重新生成新的联系人查询无重名哈希列表;根据新生成的联系人查询无重名哈希列表中二维表的名称检索所述二维表的存储位置;根据所述二维表中字段的名称,计算字段的关键码值,检索该字段,根据该字段的字段号确定数据内容二维数组的列标;根据所述二维表中记录的名称,计算记录的关键码值,检索该记录,根据该记录的字段号确定数据内容二维数组的行标。查询所述数据内容的确切位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310534928.3/2.html,转载请声明来源钻瓜专利网。