近年来由于电信事业开放民营及通信科技的快速发展,已使得大众使用的通信方式已由传统的印刷邮件改为电子邮件及电话。特别是移动电话,由于其携带方便,市场的需求更是蓬勃发展,近年来,移动电话在华语地区的市场潜力甚为庞大。例如在台湾地区,近一年多来的使用增加量即已大于过去数年来的总和。
传统的移动电话仅可让使用者以语音交谈方式来与对方通信。但新型的移动电话则还提供电子电话簿功能,其可让使用者将常用的电话号码及其用户姓名预存于其中。电子电话簿的电话号码及用户姓名数据库是利用键盘作为输入装置。移动电话上所配置的键盘一般采用CCITT所制定的标准规格的键盘(以下称CCITT标准键盘)。
图1显示了传统的移动电话上所配置的操控面板的示意图;而图2则显示了图1所示的移动电话的内部硬件结构。
如图1所示,此移动电话100上的操控面板包含一CCITT标准键盘110、一对控制键121、122、一个移位键123以及一解析度为160X98的液晶显示屏幕(LCD)130。此移动电话100的内部硬件结构则如图2所示,包含:微处理器(MPU)210、CCITT标准键盘的接口220、一随机存取存储器(RAM)230、一只读存储器(ROM)240、一无线电接收单元251、一无线电发射单元252、扬声器261、集音器262以及一LCD驱动器270。由于此硬件结构为已知技术,并非根据本发明的构想所设计,因此以下将不再对其作更进一步详细说明。
请参阅图1,CCITT标准键盘110上共设置有12个符号键:
。此CCITT标准键盘110不只可用来输入电话号码,亦可用来输入英文字母。对于印有二个或二个以上的数字/字母的符号键而言,其中的数字及英文字母是以循环方式出现。
举例来说,若使用者欲输入某特定的号码时,则只要将印有该号码的符号键按一下即可。例如欲输入“3”时,则只要将
键按下即可。
反之,若欲输入特定的英文字母时,则只要找到印有该英文字母的符号键,并按照该英文字母在符号键上的位序,将该符号键连续按下对应的次数即可。例如欲输入“A”时,则只要将
键连按二下即可;欲输入“E”时,则只要将
键连按三下即可;如欲输入“L”时,则只要将
键连按四下即可。
在使用电子电话簿检索电话号码时,只要将欲拨接的对象的名字键人,便可令电子电话簿将该名字所对应的电话号码显示出来。若电子电话簿应用于具有一完整的英文键盘的数据处理机上,则键人电话号码用户的名字并非是一件困难的工作。例如要键入“MICHAEL”,则使用者只要按7次按键即可完成此关键字的输入。
但若电子电话簿应用于图1所示的移动电话上,则关键字的输入工作将显然地变得非常繁复。例如要键人“MICHAEL”,则使用者首先需将
键连按2次以输入“M”;接着将
键连按4次以输入“I”再接着将
键连按4次以输入“C”;再接着将
键连按3次以输入“H”;再接着将
键连按2次以输入“A”,再接着将
键连按3次以输入“E”;最后将
键连按4次以输入“L”。总计需按22次按键才能完成关键字“MICHAEL”的输入。由于输入过程极繁复,在移动电话上使用电子电话簿显然是非常的不便利。
本发明所提供的数据库检索方法及系统,其特征在于将电话簿数据库中的用于检索的关键字(亦即用户姓名)按其英文字母组合的排序而组织成一多级索引数据结构;在实际进行电话号码检索时,便可根据使用者所输入的键码所对应的模糊码值及级序,藉由该多级索引数据结构,将电话簿数据库中所有开头的字母与这些关键字母相同的用户姓名搜寻出,并可在使用者选取所要的用户姓名之后,将该用户姓名所对应的电话号码自该电话簿数据库检索出来,并显示在移动电话的屏幕上。
在以下的实施例说明中,将假设电话簿数据库中预存了以下的用户姓名和电话号码数据:
电话簿数据库中的用户姓名和电话号码数据(仅部分显示)
|
用户姓名(关键字) |
所对应的电话号码 |
1 |
Bill Rally |
2656-4121 |
2 |
Bryan Adams |
5784-6415 |
3 |
Daniel Washington |
6523-8626 |
4 |
Elton John |
8456-4543 |
5 |
Eric clayton |
4786-2313 |
本发明是将所有的用户姓名按其字母组合的排序而组织成一多级索引数据结构;其一实例如下所示:
第一级字母索引表
字母 |
数据地址 |
上一个节点 |
下一个节点 |
B |
8000 |
0000 |
0101 |
D |
8200 |
0001 |
0000 |
E |
8300 |
0001 |
0201 |
第一级字母为“B”的第二级字母索引表
字母 |
数据地址 |
上一个节点 |
下一个节点 |
I |
8000 |
0001 |
0000 |
R |
8100 |
0001 |
0000 |
第一级字母为“E”的第二级字母索引表
字母 |
数据地址 |
上一个节点 |
下一个节点 |
L |
8300 |
0003 |
0000 |
R |
8400 |
0003 |
0000 |
存储器中的电话簿数据
存储器地址 |
第一项数据(用户姓名 |
第二项数据(电话号码) |
8000 |
Bill Rally |
2656-4121 |
8100 |
Bryan Adams |
5784-6415 |
8200 |
Daniel Washington |
6523-8626 |
8300 |
Elton John |
8456-4543 |
8400 |
Eric Clayton |
4786-2313 |
图3显示了本发明的数据库检索方法及系统的模组结构;而图4则显示了本发明的数据库检索方法及系统在进行电话簿检索程序时所执行的各个步骤。
如图3所示,本发明的数据库检索方法及系统是用以检索电话簿数据库300中所预存的电话号码数据,其模组结构包含一键盘输入模组310、一键码功能转换模组320、一模糊匹配服务模组330、一键码至模糊码值对应表模组340、一检索服务模组350、一用户姓名索引模组360以及一显示模组370。这些模组可以软件来实施,并分别储存于图2所示的RAM230及ROM240中,并由MPU 210来执行各个模组的功能;但亦可用分立的硬件模组来实施。
键码-模糊码值对应表340是将CCITT标准键上的各个按键其所代表的所有的字母码值定度为模糊码值,并将其对应关系存储于其中,如下表所示:
用户姓名索引模组360是用以储存前述的多级索引数据结构。检索服务模组350可根据模糊匹配服务模组330所输出的模糊码值所代表的关键字以及级序,藉由用户姓名索引模组360中的多级索引数据结构,将电话簿数据库300中所有开头的字母与这些关键字母相同的用户姓名搜寻出来;并可在使用者选取所要的用户姓名之后,将该用户姓名所对应的电话号码自该电话簿数据库300中检索出来,并传送至显示模组370,令该显示模组370将检索出来的电话号码显示于移动电话100的LCD屏幕130上。
请参阅图4,并同时配合图3和图1。在实际使用时,本发明的数据库检索方法及系统将执行以下的电话簿检索程序。
(步骤401)
首先在步骤401中,启动电话簿检索程序。此时本发明会将搜寻级序(以i表示)设为初始值1(在以下的程序中,i=11可代表第1级搜寻程序;i=2代表第2级搜寻程序;依此类推)。
图5显示移动电话100面板上的LCD屏幕130在初始状态时,所显示的用户姓名数据。此时的用户姓名数据是完全按其英文字母的顺序排列。
此时,使用者只要将CCITT标准键盘上印有其所要检索的用户姓名中的第一个字母的按键按下一次即可,亦即无论该字母在按键上的排序,均只要按下一次即可。
例如假设使用者要从电话簿中检索出“ELTON JOHN”的电话号码,则在此步骤中,使用者应按下CCITT标准键盘上的
键,且只要按下一次即可。
(步骤402)
接着于步骤402中,本发明利用键盘输入模组310来检测是否有按键被按下。若无,则继续进行检测动作;若有,则利用键码功能转换模组320来判别被按下的按键的类别为字母键或功能键,并将其转换成对应的键码。
若为字母键,则程序跳至步骤403。
(步骤403)
在步骤403中(此时i=1),本发明利用模糊匹配服务模组330,根据键码功能转换模组320所输出的键码,从该键码-模糊码值对应表340中取出该键码所对应的所有的模糊码值,并将这些模糊码值定义为第1级关键字母。接着将这些第1级关键字传送至检索服务模组350。
例如假设使用者所按下的按键为
键,则本发明将从键码-模糊码值对应表340中取出
键的键码所对应的所有的模糊码值,亦即“D”、“E”、“F”及“3”。
(步骤404)
接着在步骤404中(此时i=1),本发明利用检索服务模组350来执行第1级搜程序,用以藉由用户姓名索引模组360中的多级索引数据结构,将所有开头第一个字母与这些第1级关键字母相同的用户姓名,从电话簿数据库300中搜寻出来。接着将这些用户姓名传送至显示模组370。
例如假设使用者所按下的按键为
键,则本发明会从电话簿揍数据库300中,将所有开头第一个字母为D/E/F/3的用户姓名搜寻出来(注:在本说明书中,D/E/F/3是表示D、或E、或F、或3)。
(步骤405)
接着在步骤405中(此时i=1),本发明利用显示模组370将所有搜寻出来的用户姓名(以下称为第1级搜寻结果),以列表方式显示在移动电话10上的LCD屏幕130上。使用者此时可利用移动电话100面板上的移位键123来选取所要的用户姓名。
假设使用者所按下的第一个按键
键,则其所致使的第1级搜寻结果例如图6所示。若此时所要的用户姓名并不在搜寻列表的最上端,例如所要的用户姓名为“ELTON JOHN”,则使用者可利用移动电话100面板上的移位键来移动光标至“ELTON JOHN”处即可(光标所在处是以反白方式显示)。
但若使用第1级关键字母的检索结果包含大量的用户姓名,则可再进行第2级搜寻程序;若仍不足以缩小搜寻结果至适度范围,则可再进行第3级搜寻程序,依此类推,直至所要的用户姓名被显示在搜寻列表的最上端为止。这些步骤如下所述。
(步骤410)
在步骤410中,检查使用者是否已选取了所要的用户姓名。若否,则程序跳至步骤420;若是,则程序跳至步骤431。
(步骤420)
在步骤420中,检查使用者是否有按下退格键。若是,则程序跳至步骤421;若否,则程序跳至步骤422。
在图1所示的移动电话100上,此退格键是以第二控制键122实施。此退格键的功能为可让使用者在误输入的情况下,消除目前的搜寻结果,并重新显示前一级的搜寻结果,以重新进行搜寻程序。
在图3的模组结构中,键码功能转换模组320若判别使用者按下的按键为退格键。则其键码将改传送至检索服务模组350,令检索服务模组350消除目前的搜寻结果,并重新显示前一级的搜寻结果。
(步骤421)
在步骤421中,消除目前的搜寻结果,并将屏幕显示退回初始状态。程序接着跳回至步骤402。重新等待使用者输入正确的第1级键码。
(步骤422)
在步骤422中,本发明将目前的搜寻级序增加一级(亦即令i=i+1)。程序接着跳回至步骤402,等待使用者输入下一级的键。在步骤402中(此时i=2)检测是否有键码输入;若有,则程序跳至步骤403。
在步骤403中(此时i=2),本发明根据使用者所输入的第2级键码,利用模糊匹配服务模组330键码-模糊码值对应表模组340中取出该键码所对应的所有的模糊码值,并将这些模糊码值定义为第2级关键字母。
接着在步骤404中(此时i=2),本发明利用检索服务模组350执行第2级嫂寻程序,用以将先前的第1级搜寻结果中的所有用户姓名中,其第二个字母与第2级关键字母相同的用户姓名搜寻出来。
接着在步骤405中(此时i=2),本发明利用显示模组370将第2级搜寻结果显示于移动电话100的LCD屏幕130上。
就前述的应用例而言,使用者在这些步骤中应按下CCITT标准键盘上的
键。此动作将致使本发明搜寻出所有第二个字母为J/K/L/5,且第一个字母为D/E/F/3的所有用户姓名(亦即开关二个字母为DJ,DK,DL,D5,EJ,EK,EL,E5,FJ,FK,FL,F5,3J,3K,3L或35的所有用户姓名),并将这些用户姓名显示在搜索列表的前端,如图7所示。此时,使用者只要从搜寻列表中选取其最上端的“ELTONJOHN”,便可致使本发明将“ELTON JOHN”的电话号码从电话簿数据库300中检索出来,并显示在移动电话100的LCD屏幕130上。
若第2级搜寻结果的范围仍太大,则可再进行第3级搜寻程序;依此类推,直至所要的用户姓名被搜寻出来,并显示在搜寻列表的最上端为止。
若在进行第3级搜寻程序时,假设使用者在步骤402中按下
键:则此时由于预存的电话簿中并无第三个字母为A/B/C/2的用户姓名(第一个字母为D/E/F/3,且第二个字母为J/K/L/5),因此,移动电话100面板上的LCD屏幕130所显示的搜索列表仍如图7所示,未有改变。
若在第2级搜寻结果显示出来后,使用者发现输入的按键为错误,则可按下退格键。此将致使本发明将第2级搜索结果消除掉,并重新显示先前的第1级搜索结果。
(步骤431)
在步骤431中,本发明利用检索服务模组350,将使用者所选取的用户姓名所对应的电话号码,从电话簿数据库300中检索出来。
(步骤432)
接着在步骤432中,本发明利用显示模组370,将检索服务模组350所检索出来的电话号码显示在移动电话100面板上的LCD屏幕130上,如图8所示。此即完成一次电话簿检索程序。
结论
本发明提供一种数据库检索方法及系统,其可适用于一种小型的数据处理机上,例如为仅配置有CCITT标准键盘的移动电话上,以让使用者以更少的按键次数来输入检索数据库所用的关键字,而达到快速检索数据的目的。例如要检索“MICHAEL”电话号码,已知方法需按22次按键才能完成此关键字的输入;但使用本发明,虽然是使用仅具8个字母键的CCITT标准键盘,但只需要多于7次的按键即可检索“MICHAEL”的电话号码。因此,本发明显然较已知方法更为快速及便利。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的范围:凡其它未脱离本发明所揭示的精神所完成的等效变化或修饰,均应包含在所附的权利要求书中。