一种数据读取方法及终端设备的制作方法
【专利摘要】本发明的实施例提供一种数据读取方法及终端设备,涉及通信领域,解决了现有技术中终端多次进出时钟停止模式,导致终端从智能卡读取数据的速度降低。该方案包括:A、确定访问队列中的当前任务,当前任务为位于访问队列首部的第N访问请求,访问队列包含M个访问请求,M>N>0;B、根据当前任务指示的第N访问请求,向智能卡输出时钟,智能卡中读取与第N访问请求对应的数据;C、若访问队列中包含第N+1访问请求,则更新第N访问请求之后的M-N个访问请求在访问队列中的位置;D、循环执行步骤A、B、C,直至访问队列包含M个访问请求,且M=0时,停止向智能卡输出时钟,以进入时钟停止模式。
【专利说明】一种数据读取方法及终端设备
【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种数据读取方法及终端设备。
【背景技术】
[0002] 通常,安装在终端中的智能卡的数据是以文件方式存储的,终端可以根据用户的 访问请求,通过读取SIM卡中指定的文件,实现数据的访问。其中,智能卡可以是SIM卡 (Subscriber Identity Module,用户识别模块),或者 USIM 卡(Universal Subscriber Identity Module,全球用户识别卡),或者UIM卡(User Identity Module,用户识别模 块),或者 UICC 卡(Universal Integrated Circuit Card,通用集成电路卡)等。
[0003] 以终端读取从SM卡读取数据为例,该数据读取过程中需要使用IS07816协议中 定义的时钟(clock)停止模式,该时钟停止模式为:终端在不需要读取SIM卡的数据时停 止向SIM卡输出时钟,以使得SIM卡进入休眠模式。具体的,如图1所示,当一次读取任务 完成后,终端继续向SIM卡输出t g时间的时钟,然后在?;时刻关闭时钟,即终端进入时钟停 止模式;当终端接收到下一次读取任务时,终端在Th时刻打开时钟,即终端退出时钟停止模 式,并向SIM卡输出t h时间的时钟后,开始从SIM卡读取数据。
[0004] 显而易见的,终端每完成一次从智能卡读取数据的操作,均需要进入时钟停止模 式和退出时钟停止模式,且终端还需在进入时钟停止模式前或退出时钟停止模式后继续向 智能卡输出一段时间的时钟,从而大大降低了终端从智能卡读取数据的速度,且增加了终 端的耗电量。
【发明内容】
[0005] 本发明的实施例提供一种数据读取方法及终端设备,解决了现有技术中终端多次 进入和退出时钟停止模式,导致终端设备从智能卡读取数据的速度降低,且终端的耗电量 增加。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 第一方面,本发明的实施例提供一种数据读取方法,所述方法包括:
[0008] A、确定访问队列中的当前任务,所述当前任务为位于所述访问队列首部的第N访 问请求,所述访问队列包含Μ个访问请求,Μ > N > 0 ;
[0009] Β、根据所述当前任务指示的第Ν访问请求,向智能卡输出时钟,以从所述智能卡 中读取与所述第Ν访问请求对应的数据;
[0010] C、若所述访问队列中包含第Ν+1访问请求,则更新所述第Ν访问请求之后的Μ-Ν 个访问请求在所述访问队列中的位置,以减少所述访问队列中Μ个访问请求的个数,并调 整所述访问队列中Μ个访问请求的读取顺序;
[0011] D、循环执行所述步骤A、B、C,直至所述访问队列包含Μ个访问请求,且Μ = 0时, 停止向所述智能卡输出所述时钟,以进入时钟停止模式。
[0012] 在第一方面的第一种可能的实现方式中,若所述访问队列包含Μ个访问请求,且Μ =〇,则所述方法还包括:
[0013] 检测在T时间内所述访问队列中是否存在第L访问请求,T > 0, L > 0 ;
[0014] E、若在T时间内所述访问队列中存在第L访问请求,则执行如权利要求1中所述 的步骤A和B。
[0015] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,停止向所述智能卡输出所述时钟,以进入时钟停止模式,包括:
[0016] F、若在T时间内所述访问队列中不存在所述第L访问请求,则在所述T时间后,停 止向所述智能卡输出所述时钟,以进入时钟停止模式。
[0017] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,在停止向所述智能卡输出所述时钟,以进入时钟停止模式之后,还包括:
[0018] 记录进入所述时钟停止模式的次数H,Η > 0 ;
[0019] 若Η大于等于预设值,则依次执行如步骤A、B、C、D所述的数据读取方法;
[0020] 若Η小于预设值,则依次执行如步骤A、B、C、D、E或所述步骤A、B、C、D、F所述的 数据读取方法。
[0021] 在第一方面的第四种可能的实现方式中,更新所述第Ν访问请求之后的Μ-Ν个访 问请求在所述访问队列中的位置,包括:
[0022] 删除所述第Ν访问请求;
[0023] 从所述第Ν+1访问请求开始,将所述M-Ν个访问请求依次排列到所述访问队列的 首部至尾部。
[0024] 在第一方面的第五种可能的实现方式中,所述方法还包括:
[0025] 获取至少一个访问请求,并将所述至少一个访问请求保存至所述访问队列中。
[0026] 结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式 中,获取至少一个访问请求,包括:
[0027] 获取多个AT端口下发的所述至少一个访问请求;或者,
[0028] 获取组合AT命令中的所述至少一个访问请求。
[0029] 结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式 中,将所述至少一个访问请求保存至所述访问队列中,包括 :
[0030] 将所述至少一个访问请求,按照时间先后顺序依次添加至所述访问队列的尾部。
[0031] 在第一方面的第八种可能的实现方式中,从所述智能卡中读取与所述第N访问请 求对应的数据,包括:
[0032] 向所述智能卡发送所述第N访问请求中的读取指令,以使得所述智能卡根据所述 读取指令查找所述读取指令指示的数据;
[0033] 接收所述智能卡发送的所述读取指令指示的数据。
[0034] 第二方面,本发明的实施例提供一种终端设备,所述终端设备包括:
[0035] 处理单元,用于:确定访问队列中的当前任务,所述当前任务为位于所述访问队列 首部的第N访问请求,所述访问队列包含Μ个访问请求,Μ > N > 0 ;
[0036] 读取单元,用于:根据所述处理单元中当前任务指示的第Ν访问请求,向智能卡输 出时钟,以从所述智能卡中读取与所述第Ν访问请求对应的数据;
[0037] 更新单元,用于:若所述处理单元的访问队列中包含第Ν+1访问请求,则更新所述 第N访问请求之后的M-N个访问请求在所述访问队列中的位置,以减少所述访问队列中Μ 个访问请求的个数,并调整所述访问队列中Μ个访问请求的读取顺序;
[0038] 所述处理单元,还用于:若所述访问队列包含Μ个访问请求,且Μ = 0时,则停止向 所述智能卡输出所述时钟,以进入时钟停止模式。
[0039] 在第二方面的第一种可能的实现方式中,所述终端设备还包括检测单元,其中,
[0040] 所述检测单元,用于:检测在Τ时间内所述处理单元的访问队列中是否存在第L访 问请求,Τ > 0, L > 0 ;
[0041] 所述处理单元,具体用于:若在Τ时间内所述访问队列中存在第L访问请求,则确 定访问队列中的当前任务,所述当前任务为位于所述访问队列首部的第Ν访问请求,所述 访问队列包含Μ个访问请求,Μ > Ν > 0 ;
[0042] 所述读取单元,用于:根据所述处理单元中当前任务指示的第Ν访问请求,向智能 卡输出时钟,以从所述智能卡中读取与所述第Ν访问请求对应的数据。
[0043] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,
[0044] 所述处理单元,具体用于:若在Τ时间内所述访问队列中不存在所述第L访问请 求,则在所述Τ时间后,停止向所述智能卡输出所述时钟,以进入时钟停止模式。
[0045] 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式 中,
[0046] 所述处理单元,还用于:记录进入所述时钟停止模式的次数Η,Η > 0。
[0047] 在第二方面的第四种可能的实现方式中,
[0048] 所述更新单元,用于:删除所述处理单元中第Ν访问请求;从所述第Ν+1访问请求 开始,将所述M-Ν个访问请求依次排列到所述访问队列的首部至尾部。
[0049] 在第二方面的第五种可能的实现方式中,所述终端设备还包括:
[0050] 获取单元,用于:获取至少一个访问请求;
[0051 ] 存储单元,用于:将所述至少一个访问请求保存至所述处理单元中的访问队列中。
[0052] 结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式 中,
[0053] 所述获取单元,具体用于:获取多个AT端口下发的所述至少一个访问请求;或者, 获取组合AT命令中的所述至少一个访问请求。
[0054] 结合第二方面的第五种可能的实现方式,在第二方面的第七种可能的实现方式 中,
[0055] 所述存储单元,具体用于:将所述至少一个访问请求,按照时间先后顺序依次添加 至所述访问队列的尾部。
[0056] 在第二方面的第八种可能的实现方式中,所述读取单元,具体包括发送子单元和 接收子单元,其中,
[0057] 所述发送子单元,用于:向所述智能卡发送所述处理单元中第N访问请求中的读 取指令,以使得所述智能卡根据所述读取指令查找所述读取指令指示的数据;
[0058] 所述接收子单元,用于:接收所述智能卡发送的所述读取指令指示的数据。
[0059] 本发明的实施例提供一种数据读取方法及终端设备,通过循环更新访问队列中各 个访问请求的排序和个数,进而循环判断访问队列中是否包含未处理的访问请求,在执行 完所述访问队列中所有的未处理的访问请求之后,才关闭向智能卡输出的时钟,进入时钟 停止模式。这样一来,在访问请求比较集中的情况下延长了进入时钟停止模式的时间,可以 避免现有技术中,在执行每一次从智能卡读取数据的访问请求时,均需要进入时钟停止模 式和退出时钟停止模式,导致终端从智能卡读取数据的速度降低,且终端的耗电量增加的 问题。
【专利附图】
【附图说明】
[0060] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍。
[0061] 图1为现有技术提供的一种数据读取方法的示意图;
[0062] 图2为本发明实施例提供的一种数据读取方法的流程示意图一;
[0063] 图3为本发明实施例提供的一种数据读取方法的流程示意图二;
[0064] 图4为本发明实施例提供的一种终端设备的结构示意图一;
[0065] 图5为本发明实施例提供的一种终端设备的结构示意图二;
[0066] 图6为本发明实施例提供的一种终端设备的结构示意图三;
[0067] 图7为本发明实施例提供的一种终端设备的结构示意图四;
[0068] 图8为本发明实施例提供的一种终端设备的硬件结构示意图;
[0069] 图9为本发明实施例提供的一种数据读取系统的架构示意图。
【具体实施方式】
[0070] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之 类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体 细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及 方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0071] 另外,为方便阐述本发明的相关内容,本发明提供的实施例中以SIM卡为智能卡 进行举例说明,应当明确的是,本发明实施例中所述的智能卡还可以是USIM卡、UIM卡、 HCC卡等。其中,所述SM卡可以是标准SM卡(尺寸为25mmX15mm),也可以是Micro SM 卡(也称为第三类规格SIM,尺寸为12mm xl5mm),也可以是Nano SIM卡等。
[0072] 实施例一
[0073] 本发明的实施例提供一种数据读取方法,如图2所示,包括:
[0074] 101、终端设备确定访问队列中的当前任务。
[0075] 具体的,所述当前任务为位于所述访问队列首部的第N访问请求,所述访问队列 包含Μ个访问请求,Μ > N > 0,其中,如表一所示,访问队列可以是终端设备的存储器中的 一段存储空间,访问队列中包含有若干访问请求,这些访问请求分别用于指示终端设备从 SIM卡中读取与每一个访问请求对应的数据。可选的,终端设备将获取到的各个访问请求按 照时间先后顺序依次保存至访问队列中,而排列在访问队列中队列首部的访问请求即为第 一访问请求,若该访问队列中保存有至少一个访问请求,则访问队列不为空队列,若该访问 队列中一个访问请求都没有,则访问队列为空队列。
[0076] 表一
[0077]
【权利要求】
1. 一种数据读取方法,其特征在于,所述方法包括: A、确定访问队列中的当前任务,所述当前任务为位于所述访问队列首部的第N访问请 求,所述访问队列包含Μ个访问请求,Μ > N > 0 ; Β、根据所述当前任务指示的第Ν访问请求,向智能卡输出时钟,以从所述智能卡中读 取与所述第Ν访问请求对应的数据; C、 若所述访问队列中包含第Ν+1访问请求,则更新所述第Ν访问请求之后的Μ-N个访 问请求在所述访问队列中的位置,以减少所述访问队列中Μ个访问请求的个数,并调整所 述访问队列中Μ个访问请求的读取顺序; D、 循环执行所述步骤A、B、C,直至所述访问队列包含Μ个访问请求,且Μ = 0时,停止 向所述智能卡输出所述时钟,以进入时钟停止模式。
2. 根据权利要求1所述的方法,其特征在于,当所述访问队列包含Μ个访问请求,且Μ =〇时,则所述方法还包括: 检测在Τ时间内所述访问队列中是否存在第L访问请求,Τ > 0, L > 0 ; Ε、若在Τ时间内所述访问队列中存在第L访问请求,则执行如权利要求1中所述的步 骤Α和Β。
3. 根据权利要求2所述的方法,其特征在于,停止向所述智能卡输出所述时钟,以进入 时钟停止模式,包括: F、若在T时间内所述访问队列中不存在所述第L访问请求,则在所述T时间后,停止向 所述智能卡输出所述时钟,以进入时钟停止模式。
4. 根据权利要求3所述的方法,其特征在于,在停止向所述智能卡输出所述时钟,以进 入时钟停止模式之后,还包括: 记录进入所述时钟停止模式的次数H,Η > 0 ; 若Η大于等于预设值,则依次执行所述步骤A、B、C、D所述的数据读取方法; 若Η小于预设值,则依次执行所述步骤A、B、C、D、E或所述步骤A、B、C、D、F所述的数 据读取方法。
5. 根据权利要求1所述的方法,其特征在于,更新所述第Ν访问请求之后的M-Ν个访问 请求在所述访问队列中的位置,包括: 删除所述第Ν访问请求; 从所述第Ν+1访问请求开始,将所述M-Ν个访问请求依次排列到所述访问队列的首部 至尾部。
6. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取至少一个访问请求,并将所述至少一个访问请求保存至所述访问队列中。
7. 根据权利要求6所述的方法,其特征在于,获取至少一个访问请求,包括: 获取多个AT端口下发的所述至少一个访问请求;或者, 获取组合AT命令中的所述至少一个访问请求。
8. 根据权利要求6所述的方法,其特征在于,将所述至少一个访问请求保存至所述访 问队列中,包括: 将所述至少一个访问请求,按照时间先后顺序依次添加至所述访问队列的尾部。
9. 根据权利要求1所述的方法,其特征在于,从所述智能卡中读取与所述第N访问请求 对应的数据,包括: 向所述智能卡发送所述第N访问请求中的读取指令,以使得所述智能卡根据所述读取 指令查找所述读取指令指示的数据; 接收所述智能卡发送的所述读取指令指示的数据。
10. -种终端设备,其特征在于,所述终端设备包括: 处理单元,用于:确定访问队列中的当前任务,所述当前任务为位于所述访问队列首部 的第N访问请求,所述访问队列包含Μ个访问请求,Μ > N > 0 ; 读取单元,用于:根据所述处理单元中当前任务指示的第Ν访问请求,向智能卡输出时 钟,以从所述智能卡中读取与所述第Ν访问请求对应的数据; 更新单元,用于:若所述访问队列中包含第Ν+1访问请求,则更新所述处理单元中第Ν 访问请求之后的M-Ν个访问请求在所述访问队列中的位置,以减少所述访问队列中Μ个访 问请求的个数,并调整所述访问队列中Μ个访问请求的读取顺序; 所述处理单元,还用于:若所述访问队列包含Μ个访问请求,且Μ = 0时,则停止向所述 智能卡输出所述时钟,以进入时钟停止模式。
11. 根据权利要求10所述的终端设备,其特征在于,所述终端设备还包括检测单元,其 中, 所述检测单元,用于:检测在Τ时间内所述处理单元的访问队列中是否存在第L访问请 求,Τ > 0, L > 0 ; 所述处理单元,具体用于:若在Τ时间内所述访问队列中存在第L访问请求,则确定访 问队列中的当前任务,所述当前任务为位于所述访问队列首部的第Ν访问请求,所述访问 队列包含Μ个访问请求,Μ > Ν > 0 ; 所述读取单元,用于:根据所述处理单元中当前任务指示的第Ν访问请求,向智能卡输 出时钟,以从所述智能卡中读取与所述第Ν访问请求对应的数据。
12. 根据权利要求11所述的终端设备,其特征在于, 所述处理单元,具体用于:若在Τ时间内所述访问队列中不存在所述第L访问请求,则 在所述Τ时间后,停止向所述智能卡输出所述时钟,以进入时钟停止模式。
13. 根据权利要求12所述的终端设备,其特征在于, 所述处理单元,还用于:记录进入所述时钟停止模式的次数Η,Η > 0。
14. 根据权利要求10所述的终端设备,其特征在于, 所述更新单元,具体用于:删除所述处理单元中的第Ν访问请求;从所述第Ν+1访问请 求开始,将所述M-Ν个访问请求依次排列到所述访问队列的首部至尾部。
15. 根据权利要求10所述的终端设备,其特征在于,所述终端设备还包括: 获取单元,用于:获取至少一个访问请求; 存储单元,用于:将所述至少一个访问请求保存至所述处理单元中的访问队列中。
16. 根据权利要求15所述的终端设备,其特征在于, 所述获取单元,具体用于:获取多个AT端口下发的所述至少一个访问请求;或者,获取 组合AT命令中的所述至少一个访问请求。
17. 根据权利要求15所述的终端设备,其特征在于, 所述存储单元,具体用于:将所述至少一个访问请求,按照时间先后顺序依次添加至所 述访问队列的尾部。
18.根据权利要求10所述的终端设备,其特征在于,所述读取单元,具体包括发送子单 元和接收子单元,其中, 所述发送子单元,用于:向所述智能卡发送所述处理单元中第N访问请求中的读取指 令,以使得所述智能卡根据所述读取指令查找所述读取指令指示的数据; 所述接收子单元,用于:接收所述智能卡发送的所述读取指令指示的数据。
【文档编号】G06F3/06GK104156180SQ201410403829
【公开日】2014年11月19日 申请日期:2014年8月15日 优先权日:2014年8月15日
【发明者】祝锂 申请人:华为技术有限公司