CN110413604B - 一种sim卡上电话本姓名排序优化的方法、系统及sim卡 - Google Patents
一种sim卡上电话本姓名排序优化的方法、系统及sim卡 Download PDFInfo
- Publication number
- CN110413604B CN110413604B CN201810379004.3A CN201810379004A CN110413604B CN 110413604 B CN110413604 B CN 110413604B CN 201810379004 A CN201810379004 A CN 201810379004A CN 110413604 B CN110413604 B CN 110413604B
- Authority
- CN
- China
- Prior art keywords
- index values
- page
- effective
- index
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005587 bubbling Effects 0.000 claims abstract description 6
- 238000012163 sequencing technique Methods 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 6
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种SIM卡上电话本姓名排序优化的方法、系统及SIM卡。方法包括以下步骤:所述方法包括以下步骤:(1)在FLASH空间开辟缓冲空间Record_Buffer存储电话本有效记录,所述有效记录至少包括姓名、电话号码;(2)为所述有效记录按顺序创建唯一的索引值;(3)在RAM空间开辟缓存空间Index_Buffer存储所述有效记录在FLASH缓存空间中的索引值;(4)采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序;(5)等待用户操作,按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录。本发明的方法、系统及SIM卡能优化排序,提高显示效率。
Description
技术领域
本发明属于智能卡领域,具体涉及一种SIM卡上电话本姓名排序优化的方法、系统及SIM卡。
背景技术
目前在SIM卡端直接对电话本记录进行排序的处理的需求和技术相对较少,同时绝大多数的处理方案只是针对电话本记录的用户姓名的首字母进行一下简单的排序,这种方式存在的显著的局限性就是当用户姓名的首字母相同时,这个排序是无效的。
由于SIM卡的处理芯片的处理速度和可用空间都是非常有限,因此在存储比较多的记录的时候对记录先排序然后再进行后续显示等处理时,这个间隔时间会过长,从而有可能导致终端认为卡出现异常,会使客户无法接受这个比较长的等待时间。同时由于RAM空间资源有限和时效性,也不可能把电话本记录都在RAM空间中进行操作。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种SIM卡上电话本姓名排序优化的方法、系统及SIM卡,能通过优化存储和检索方式提高显示效率。
为达到以上目的,本发明采用的技术方案是:一种SIM卡上电话本姓名排序优化的方法,包括以下步骤:
(1)在FLASH空间开辟缓冲空间Record_Buffer存储电话本有效记录,所述有效记录至少包括姓名、电话号码;
(2)为所述有效记录按顺序创建唯一的索引值;
(3)在RAM空间开辟缓存空间Index_Buffer存储所述有效记录在FLASH缓存空间中的索引值;
(4)采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序;
(5)等待用户操作,按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录。
进一步,在步骤(1)之前还包括:
从SIM卡的电话本中选出有效记录。
进一步,所述排序方法还包括:
在更新电话本记录文件的时候,同时把电话本有效记录缓存到Record_Buffer中,以及把有效记录在FLASH缓冲区中的索引值存放到Index_Buffer中。
进一步,在步骤(4)中所述预设方式具体包括:
特殊字符在数字之前,数字在字母之前;小写字母在大写字母之前;字符少的名字和字符多的名字左起开始都相同时,字符少的名字在字符多的名字之前。
进一步,所述方法还包括:
若预设每页显示条数为m,在Index_Buffer中读出第1条到第m条的索引值,通过索引值获取其关联的有效记录作为第一页显示出来。
进一步,所述方法还包括:
添加“PreviousPage”、“NextPage”以及当前显示的页号n选项到FLASH空间。
进一步,在步骤(5)所述用户操作具体还包括:
若用户选择“PreviousPage”,则页号减1,若当前显示第n页,则查找第(n-2)m+1条到第(n-1)m的索引值,通过索引值获取其关联的有效记录作为第n-1页显示出来;
若用户选择“NextPage”,则页号加1,若当前显示第n页,则查找第nm+1条到第(n+1)m的索引值,通过索引值获取其关联的有效记录作为第n+1页显示出来。
进一步,在步骤(5)中所述用户操作具体包括:
若用户选择当前显示页中有效记录,则根据索引值显示所述有效记录的全部信息。
本发明采用的另一种技术方案是提供一种SIM卡上电话本姓名排序的系统,包括以下模块:
存储模块一,用于存储电话本有效记录;
索引模块,用于为所述有效记录按顺序创建唯一的索引值;
存储模块二,用于存储有效记录在FLASH缓存空间中的索引值;
排序模块,用于采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序;
显示模块,用于按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录。
本发明采用的另一种技术方案是提供一种SIM卡,包括:芯片处理器、存储器和存储在所述存储器中并可在所述处理器上运行的的计算机程序,所述芯片处理器执行所述计算机程序以实现所述方法中的步骤。
本发明的效果在于:采用本发明所述的方法、SIM卡和移动终端,通过优化了电话本的存储和检索方式,使得在显示电话本菜单的时候不对标准电话本文件进行查询,而是通过额外创建的记录索引值去访问电话本记录存放的用户名字,根据当前页号去记录中获取本页所需要显示的记录条数,提高显示效率。
附图说明
图1是本发明所述排序方法一实施例的流程示意图;
图2是本发明所述方法在Record_Buffer中存储的一实施例示意图;
图3是本发明所述方法中姓名比较的一实施例示意图;
图4是本发明所述方法显示时一实施例的示意图;
图5是本发明所述排序系统一实施例的结构示意图;
图6是本发明所述SIM卡一实施例的结构示意图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明保护的范围。
如图1所示,图1是本发明所述方法一实施例的流程示意图,所述方法包括以下步骤:
步骤101:在FLASH空间开辟缓冲空间Record_Buffer存储电话本有效记录,所述有效记录至少包括姓名、电话号码。
在此之前,要从SIM卡的电话本中选出有效记录。在一个具体的实施例中,将电话本中信息不全的剔除。具体的,如,目前市场上手机号都为11位,若某条存为手机格式的记录中,手机号多余或少于11,则将其剔除。
由于姓名中的每个字符都是按照字符在ASCII码表中的顺序进行排序,所以在其他实施例中,若是姓名中包括不能识别的字符,也需要将其剔除。
通过上述判断,从电话本中选出有效记录。然后,在FLASH空间开辟缓冲空间Record_Buffer,并将有效记录存储。
步骤102:为所述有效记录按顺序创建唯一的索引值。
参阅图2,图2是本发明所述方法在Record_Buffer中存储的一实施例示意图。
为每条有效记录按顺序创建一个索引值。在一个具体的实施例中,若有效记录共N个,则按0到N-1为有效记录创建唯一确定的索引值。在FLASH缓冲空间Record_Buffer中,每条有效记录在FLASH缓存空间中以(0-(N-1))的顺序存储,从而保证每条记录具有唯一确定的索引值。
步骤103:在RAM空间开辟缓存空间Index_Buffer存储所述有效记录在FLASH缓存空间中的索引值。
继续参阅图2,在一个具体的实施例中,按0到N-1在RAM缓存空间Index_Buffer中存储所述有效记录在FLASH缓存空间中的索引值。
在更新电话本记录文件的时候,同时把电话本有效记录缓存到Record_Buffer中,以及把有效记录在FLASH缓冲区中的索引值存放到Index_Buffer中。
步骤104:采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序。
采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,在比较过程中,如索引值为0和1的进行比较时,实际上是首先读取与索引值相关联的有效记录,然后用有效记录中的姓名进行比较。当任意两个有效记录比较完成后,按比较结果调整索引值顺序,直到完成所有排序。
其中,所述预设方式为特殊字符在数字之前,数字在字母之前;小写字母在大写字母之前;字符少的名字和字符多的名字左起开始都相同时,字符少的名字在字符多的名字之前。
参阅图3,图3是本发明所述方法中姓名比较的一实施例示意图。在具体的任意两个有效记录进行比较时,包括以下步骤:
在图3中,A和B表示缓冲区中未排序的任意两条有效记录用户的全名字符串。X表示从A的首字节开始的一个字符,Y表示从B的首字节开始的一个字符。
首先,分别从姓名A和B中选取左起第一个字符X和Y,并记录字符的偏移。
接着,判断X和Y的关系。若X小于Y,则A排在B的前面。若X大于Y,则B排在A的前面。
由于用户的全名是以十六进制字符串的形式存储在SIM卡内存中,每条记录中用户全名大小是固定的,假设为N字节,不够N字节长度的以十六进制数0xFF来填充。所以,若X等于Y,则再判断Y是否等于OxFF。若Y等于0xFF,则A排在B的前面。
若Y不等于0xFF,则接着判断X是否等于0xFF。若X等于0xFF,则B排在A的前面。
若X不等于0xFF,接着判断X和Y是否为小写。若X为小写,则A排在B的前面。若Y为小写,则B排在A的前面。若X和Y同时为小写,则将X和Y转化为大写X'和Y'继续进行比较。
若X'小于Y',则A排在B的前面。若X'大于Y',则B排在A的前面。
若排序还未完成,则判断字符偏移是否大于全名长度。若没有,则将字符偏移加1,取A和B的第二位进行比较。若字符偏移大于全名长度,则A和B的顺序保持不变。
根据比较结果,改变相应索引值的位置。
步骤105:等待用户操作,按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录。
在初始化时,当前页面无显示,在按预设顺序采用冒泡排序的原理对缓存区中的有效记录进行排序。若预设每页显示条数为m,在Index_Buffer中读出排序在第1条到第m条的索引值,通过索引值获取其关联的有效记录作为第一页显示出来。
具体的,参阅图4,图4为本发明所述方法显示时一实施例的示意图。在一个具体的实施例中,例如,电话本中记录有10条有效记录,预设的每页显示条数为8条。排序前,在缓存区存放的10条无序的记录信息。在第一页显示之前,对缓存区中的10条索引值所关联的有效记录中的姓名排序。排序完成时,先找到排序靠前的8条大的索引值,然后通过索引值获获取该8条关联的有效记录作为第一页显示出来。
为了更好的显示效果,添加“PreviousPage”、“NextPage”以及当前显示的页号n选项到FLASH空间。
当第一页显示完成后,需要根据用户操作完成剩下的排序。在等待用户操作之前,还需判断当前显示页是否为第一页。若不是第一页,则添加“PreviousPage”和“NextPage”选项到FLASH空间。若是第一页,则只添加“NextPage”选项到FLASH空间。即,若当前显示页为第一页,那么用户无法选择“PreviousPage”。
在一个具体的实施例中,若用户选择“NextPage”,则页号加1,若当前显示第n页,则查找第nm+1条到第(n+1)m的索引值,通过索引值获取其关联的有效记录作为第n+1页显示出来。
在其他实施例中,若用户选择“PreviousPage”,则页号减1,若当前显示第n页,则查找第(n-2)m+1条到第(n-1)m的索引值,通过索引值获取其关联的有效记录作为第n-1页显示出来。
在其他实施例中,用户还可以选择当前显示页中有效记录。若用户选择当前页中的有效记录,根据索引值显示所述有效记录的全部信息。
区别于现有技术特征,本发明提供的一种SIM卡上电话本姓名排序优化的方法,通过优化了电话本的存储和检索方式,使得在显示电话本菜单的时候不对标准电话本文件进行查询,而是通过额外创建的记录索引值去访问电话本记录存放的用户名字,根据当前页号去记录中获取本页所需要显示的记录条数,提高显示效率。
本发明还提供一种SIM卡上电话本姓名排序的系统。参阅图5,图5是本发明所述系统一实施例的结构示意图。该系统500包括以下模块:
存储模块一501,用于存储电话本有效记录。
索引模块502,用于为所述有效记录按顺序创建唯一的索引值。
存储模块二503,用于用于存储有效记录在FLASH缓存空间中的索引值。
排序模块504,用于采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序。
显示模块505,用于按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录。
区别于现有技术特征,本发明提供的SIM卡上电话本姓名排序的系统,通过优化了电话本的存储和检索方式,使得在显示电话本菜单的时候不对标准电话本文件进行查询,而是通过额外创建的记录索引值去访问电话本记录存放的用户名字,根据当前页号去记录中获取本页所需要显示的记录条数,提高显示效率。
本发明还提供一种SIM卡。参阅图6,图6是本发明所述SIM卡一实施例的结构示意图。该SIM卡600包括芯片处理器601、存储器602和存储在所述存储器中并可在所述处理器上运行的的计算机程序603。芯片处理器601执行所述计算机程序603以实现上述方法中的步骤。
区别于现有技术特征,本发明提供的SIM卡,通过优化了电话本的存储和检索方式,使得在显示电话本菜单的时候不对标准电话本文件进行查询,而是通过额外创建的记录索引值去访问电话本记录存放的用户名字,根据当前页号去记录中获取本页所需要显示的记录条数,提高显示效率。
本领域技术人员应该明白,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。
Claims (7)
1.一种SIM卡上电话本姓名排序优化的方法,其特征在于,所述方法包括以下步骤:
(1)在FLASH空间开辟缓冲空间Record_Buffer存储电话本有效记录,所述有效记录至少包括姓名、电话号码;
(2)为所述有效记录按顺序创建唯一的索引值;
(3)在RAM空间开辟缓存空间Index_Buffer存储所述有效记录在FLASH缓存空间中的索引值;
(4)采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序;
所述预设方式具体包括:特殊字符在数字之前,数字在字母之前;小写字母在大写字母之前;字符少的名字和字符多的名字左起开始都相同时,字符少的名字在字符多的名字之前;
(5)等待用户操作,按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录;
所述方法还包括:步骤(5)中,在等待用户操作之前,判断当前显示页是否为第一页,若不是第一页,则添加“PreviousPage”、“NextPage”以及当前显示的页号n选项到FLASH空间,若是第一页,则只添加“NextPage”选项到FLASH空间;
若用户选择“PreviousPage”,则页号减1,若当前显示第n页,若预设每页显示条数为m,则查找第(n-2)m+1条到第(n-1)m的索引值,通过索引值获取其关联的有效记录作为第n-1页显示出来;
若用户选择“NextPage”,则页号加1,若当前显示第n页,则查找第nm+1条到第(n+1)m的索引值,通过索引值获取其关联的有效记录作为第n+1页显示出来。
2.根据权利要求1所述一种SIM卡上电话本姓名排序优化的方法,其特征在于,在步骤(1)之前还包括:
从SIM卡的电话本中选出有效记录。
3.根据权利要求1所述一种SIM卡上电话本姓名排序优化的方法,其特征在于,所述方法还包括:
在更新电话本记录文件的时候,同时把电话本有效记录缓存到Record_Buffer中,以及把有效记录在FLASH缓冲区中的索引值存放到Index_Buffer中。
4.根据权利要求1所述一种SIM卡上电话本姓名排序优化的方法,其特征在于,所述方法还包括:
若预设每页显示条数为m,在Index_Buffer中读出第1条到第m条的索引值,通过索引值获取其关联的有效记录作为第一页显示出来。
5.根据权利要求1所述一种SIM卡上电话本姓名排序优化的方法,其特征在于,在步骤(5)中所述用户操作具体包括:
若用户选择当前显示页中有效记录,则根据索引值显示所述有效记录的全部信息。
6.一种SIM卡上电话本姓名排序的系统,其特征在于,包括以下模块:
存储模块一,用于存储电话本有效记录;
索引模块,用于为所述有效记录按顺序创建唯一的索引值;
存储模块二,用于存储有效记录在FLASH缓存空间中的索引值;
排序模块,用于采用冒泡排序的原理对索引值所关联的有效记录中的姓名按预设方式进行比较,任意两个有效记录比较完成后,按比较结果调整索引值顺序;所述预设方式具体包括:特殊字符在数字之前,数字在字母之前;小写字母在大写字母之前;字符少的名字和字符多的名字左起开始都相同时,字符少的名字在字符多的名字之前;
显示模块,用于按用户需求从Index_Buffer中顺序读出索引值,通过索引值获取其关联的有效记录,具体方法包括:
在等待用户操作之前,判断当前显示页是否为第一页,若不是第一页,则添加“PreviousPage”、“NextPage”以及当前显示的页号n选项到FLASH空间,若是第一页,则只添加“NextPage”选项到FLASH空间;
若用户选择“PreviousPage”,则页号减1,若当前显示第n页,若预设每页显示条数为m,则查找第(n-2)m+1条到第(n-1)m的索引值,通过索引值获取其关联的有效记录作为第n-1页显示出来;
若用户选择“NextPage”,则页号加1,若当前显示第n页,则查找第nm+1条到第(n+1)m的索引值,通过索引值获取其关联的有效记录作为第n+1页显示出来。
7.一种SIM卡,其特征在于,包括芯片处理器、存储器和存储在所述存储器中并可在所述处理器上运行的的计算机程序,所述芯片处理器执行所述计算机程序以实现如权利要求1-5任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810379004.3A CN110413604B (zh) | 2018-04-25 | 2018-04-25 | 一种sim卡上电话本姓名排序优化的方法、系统及sim卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810379004.3A CN110413604B (zh) | 2018-04-25 | 2018-04-25 | 一种sim卡上电话本姓名排序优化的方法、系统及sim卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413604A CN110413604A (zh) | 2019-11-05 |
CN110413604B true CN110413604B (zh) | 2024-05-24 |
Family
ID=68345646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810379004.3A Active CN110413604B (zh) | 2018-04-25 | 2018-04-25 | 一种sim卡上电话本姓名排序优化的方法、系统及sim卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413604B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426046A (zh) * | 2007-10-30 | 2009-05-06 | 希姆通信息技术(上海)有限公司 | 在手机上按百家姓查找电话簿的方法 |
US20090311997A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Dynamic user-to-user address book sharing in a mobile station |
CN107710201A (zh) * | 2015-06-23 | 2018-02-16 | 微软技术许可有限责任公司 | 存储数据和从位向量搜索索引取回数据 |
-
2018
- 2018-04-25 CN CN201810379004.3A patent/CN110413604B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426046A (zh) * | 2007-10-30 | 2009-05-06 | 希姆通信息技术(上海)有限公司 | 在手机上按百家姓查找电话簿的方法 |
US20090311997A1 (en) * | 2008-06-11 | 2009-12-17 | International Business Machines Corporation | Dynamic user-to-user address book sharing in a mobile station |
CN107710201A (zh) * | 2015-06-23 | 2018-02-16 | 微软技术许可有限责任公司 | 存储数据和从位向量搜索索引取回数据 |
Also Published As
Publication number | Publication date |
---|---|
CN110413604A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101167075B (zh) | 专有表现抽取装置、方法以及程序 | |
CN103200293A (zh) | 一种导入通讯录文件过程中自动合并重名联系人的方法 | |
CN101099129A (zh) | 组织指向对象的指针 | |
CN101571850A (zh) | 一种支持页面跳转功能的文本文档显示方法及装置 | |
CN102831224A (zh) | 一种数据索引库的建立方法、搜索建议生成方法和装置 | |
CN100524311C (zh) | 利用可变数目的搜索框的数据库搜索方法和设备 | |
CN108984626B (zh) | 一种数据处理方法、装置及服务器 | |
CN110874358B (zh) | 多属性列的存储、检索方法和装置以及电子设备 | |
CN101833574A (zh) | 一种应用程序的定位方法、系统及移动终端 | |
CN100574340C (zh) | 一种查找手机短信的方法 | |
CN109857366B (zh) | 基于外存的插入排序方法、系统、设备及存储介质 | |
CN102883020A (zh) | 一种移动终端的拨号方法及拨号系统 | |
CN110413604B (zh) | 一种sim卡上电话本姓名排序优化的方法、系统及sim卡 | |
CN101515278A (zh) | 影像存取装置及其影像存储以及读取方法 | |
CN103167087A (zh) | 一种手机联系人搜索方法及系统 | |
CN201383830Y (zh) | 一种手机全屏电话簿系统 | |
CN101014059A (zh) | 电子电话簿的数据信息存储和扩展的方法 | |
CN102546961A (zh) | 联系人查找方法及移动终端 | |
CN101408896A (zh) | 一种终端中地址薄搜索的方法 | |
CN101035154A (zh) | 盲用便携式电子通讯录 | |
CN111950241B (zh) | 一种显示表格数据的方法、系统、终端和存储介质 | |
CN103136274A (zh) | 用于内容资源数据库的日期检索方法和装置 | |
CN1705323A (zh) | 一种快速删除短信息的方法 | |
CN100455081C (zh) | 一种扩展用户卡中记录信息的方法 | |
CN1848865A (zh) | 拨号方法与系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |