本发明涉及通信领域,具体而言,涉及一种路由信息查询方法和装置。
背景技术:
在近场无线通信技术(nearfieldcommunication,简称为nfc)的应用场景中,有一种场景是手机作为卡模拟,与读卡器进行交互。在iso14443协议规范中,读卡器通常称为邻近耦合设备(proximitycouplingdevice,简称为pcd),手机称为邻近集成电路卡(proximityiccard,简称为picc)。例如,在一次银行卡刷卡交易中,pos机即为pcd,而银行卡称为picc,对应的,若手机模拟成银行卡,则手机就是picc。
pcd在与picc的交互过程中,通过iso7816规范定义的选择卡内应用标识(selectaid)命令来选择picc内的应用,以此建立起一个交互过程。在手机作为卡模拟的应用场景下,卡内应用可能存在于通用集成电路卡(universalintegratedcircuitcard,简称为uicc)、基于搜索引擎的电子商务(e-commercebasedonsearchengine,简称为ese)或基于主机的卡模拟(host-basedcardemulation,简称为hce)等多种应用环境。在pcd发起应用交互时,手机端的nfc控制器(nfccontroller,简称nfcc)首先收到selectaid命令,nfcc通过查询aid路由表寻找aid对应的应用环境,在找到对应的应用环境(例如uicc)后将此命令转发给对应应用环境内的应用,对应应用发送响应消息,这样,一个交互过程就建立起来了。nfcc查询aid路由表项最主要的索引就是aid,aid是卡内应用标识,iso7816规范规定了aid的长度(5~16个字节)和格式。
但是,对于目前的nfcc查询aid路由的技术来说,由于nfcc的非易失性内存大小的限制和应用的增多,存在aid路由表填满的情况,导致新的应用无法注册新的aid路由表项,从而将导致应用无法使用。
目前的技术规范中也并没有对nfcc中的aid路由满的情况如何解决提供实现规范。目前的实现是,当nfcc路由表项满以后,则不能继续添加aid,在此情况下,只能通过设定的默认路由将命令路由到默认的应用环境,默认应用环境可以在出厂前配置,也可以在运行时通过应用程序编程接口(applicationprogramminginterface,简称为api)配置。
因此,由于nfcc的非易失性内存空间(nvram)通常很小,而nfc应用数目正在快速增长,当nfccnvram所能存储的路由信息达到其最大容许容量以后,则新增应用的aid由于无法继续添加路由信息,而导致在应用交互时,只能路由到默认的 应用环境,如果对应默认应用环境无此应用则交互会失败,相关功能也就无法使用。
针对相关技术nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明提供了一种路由信息查询方法和装置,以至少解决相关技术中nfcc的aid路由表易满导致无法查询到所需的路由信息的问题。
根据本发明的一个方面,提供了一种路由信息查询方法,包括:根据nfcc所在的终端中的全局aid路由表对所述nfcc中的部分本地aid路由表进行更新,得到更新后的本地aid路由表,其中,所述更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;接收路由查询请求,其中,所述路由查询请求中至少携带有第一aid;在所述更新后的本地aid路由表中查询与所述第一aid对应的第一路由信息。
可选地,所述本地aid路由表包括:第一aid路由表和第二aid路由表,其中,所述第二aid路由表被设置为根据所述全局aid路由表进行更新的所述部分本地aid路由表,所述第一aid路由表被设置为在所述本地aid路由表中未被更新的剩余部分的本地aid路由表,其中,根据所述nfcc所在的所述终端中的所述全局aid路由表对所述nfcc中的所述本地aid路由表进行更新包括:将所述全局aid路由表中的至少部分具有对应关系的aid和路由信息更新到所述第二aid路由表中。
可选地,将所述全局aid路由表中的至少部分具有对应关系的aid和路由信息更新到所述第二aid路由表中包括:根据所述本地aid路由表的使用场景,将所述全局aid路由表中的至少部分与所述使用场景对应的具有对应关系的aid和路由信息更新到所述第二aid路由表中。
可选地,根据所述nfcc所在的所述终端中的所述全局aid路由表对所述nfcc中的所述本地aid路由表进行更新包括:获取待安装的应用的第二aid和所述第二aid对应的第二路由信息;根据具有对应关系的所述第二aid和所述第二路由信息更新所述全局aid路由表;将所述全局aid路由表中更新后的所述第二aid和所述第二路由信息的对应关系更新到所述第二aid路由表中。
可选地,将所述全局aid路由表中更新后的所述第二aid和所述第二路由信息的对应关系更新到所述第二aid路由表中包括:判断所述第二aid路由表是否已满;在所述第二aid路由表未满的情况下,将更新后的所述第二aid和所述第二路由信息的对应关系更新到所述第二aid路由表中。
可选地,在所述更新后的本地aid路由表中查询与所述第一aid对应的所述第一路由信息之后,所述方法还包括:若在所述更新后的本地aid路由表中未查询到所述 第一aid对应的所述第一路由信息,则向所述全局aid路由表中查询所述第一aid对应的所述第一路由信息。
可选地,在向所述全局aid路由表中查询所述第一aid对应的所述第一路由信息之后,所述方法还包括:若在所述全局aid路由表中查询到所述第一aid对应的所述第一路由信息,则将查询到的具有对应关系的所述第一aid和所述第一路由信息更新到所述本地aid路由表中。
可选地,在向所述全局aid路由表中查询所述第一aid对应的所述第一路由信息之后,所述方法还包括:若在所述全局aid路由表中未查询到所述第一aid对应的所述第一路由信息,则获取预设路由信息。
可选地,在所述更新后的本地aid路由表中查询与所述第一aid对应的所述第一路由信息包括:在所述更新后的本地aid路由表的第一aid路由表中查询与所述第一aid对应的所述第一路由信息;若在所述第二aid路由表中未查询到与所述第一aid对应的所述第一路由信息,则在所述更新后的本地aid路由表的所述第二aid路由表中查询与所述第一aid对应的所述第一路由信息。
根据本发明的另一个方面,还提供了一种路由信息查询装置,包括:更新模块,用于根据nfcc所在的终端中的全局aid路由表对所述nfcc中的本地aid路由表进行更新,得到更新后的本地aid路由表,其中,所述更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;接收模块,用于接收路由查询请求,其中,所述路由查询请求中至少携带有第一aid;第一查询模块,用于在所述更新后的本地aid路由表中查询与所述第一aid对应的第一路由信息。
通过本发明,采用根据近场通信控制器nfcc所在的终端中的全局卡内应用标识aid路由表对nfcc中的部分本地aid路由表进行更新,得到更新后的本地aid路由表,其中,更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;接收路由查询请求,其中,路由查询请求中至少携带有第一aid;在更新后的本地aid路由表中查询与第一aid对应的第一路由信息的方式,根据终端中的全局aid路由表对nfcc中的本地aid路由表进行更新,使本地aid路由表中存储需要的路由信息,再根据接收到的路由查询请求中携带的第一aid在本地aid路由表中查询第一aid对应的第一路由信息,由于本地aid路由表是动态可更新的,使其可以存储所需的路由信息,解决了nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,实现了在应用交互的过程中及时查询到所需的路由信息。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的路由信息查询方法的流程图;
图2是根据本发明实施例的aid路由表的结构框图;
图3是根据本发明可选实施方式的aid路由表更新的流程图;
图4是根据本发明可选实施方式的路由信息查询方法的流程图;
图5是根据本发明可选实施方式的aid路由初始化的流程图;
图6是根据本发明实施例的路由信息查询装置的结构框图;
图7是根据本发明实施例的路由信息查询装置的可选结构框图一;
图8是根据本发明实施例的路由信息查询装置的可选结构框图二;
图9是根据本发明实施例的路由信息查询装置的可选结构框图三;
图10是根据本发明实施例的路由信息查询装置的可选结构框图四。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种路由信息查询方法,图1是根据本发明实施例的路由信息查询方法的流程图,如图1所示,该流程包括如下步骤:
步骤s102,根据nfcc所在的终端中的全局aid路由表对nfcc中的部分本地aid路由表进行更新,得到更新后的本地aid路由表,其中,更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;
步骤s104,接收路由查询请求,其中,路由查询请求中至少携带有第一aid;
步骤s106,在更新后的本地aid路由表中查询与第一aid对应的第一路由信息。
可选地,在本实施例中,上述路由信息查询方法的应用场景包括但并不限于应用于nfc技术中picc与读卡器(pcd)进行交互的过程中,其中,picc与pcd进行交互的场景可以包括但不限于终端(例如手机)作为卡模拟与读卡器进行交互的过程。
在上述应用场景下,根据终端中的全局aid路由表对nfcc中的部分本地aid路由表进行更新,使本地aid路由表中存储需要的路由信息,从而实现在接收到至少携 带有第一aid的路由查询请求后,可以根据接收到的第一aid在本地aid路由表中查询第一aid对应的第一路由信息。由于本地aid路由表是动态可更新的,因而,在本地aid路由表中可以随时根据不同的应用条件存储符合条件的路由信息,这样,在本地aid路由表被填满的情况下,可以根据需要将全局aid路由表中的路由信息更新到本地aid路由表中。可见,采用上述步骤,解决了nfcc的aid路由表易满存储空间不足所导致的无法查询到所需的路由信息的问题,从而实现了在nfcc的aid路由表实时更新所存储的路由信息,以便于在应用交互的过程中可以及时查询到所需的路由信息,进而保证应用的正常交互。
在本实施例中,对本地aid路由表的更新可以是实时的,也可以是定时的,或是随机的,还可以是由接收到的信息触发的。例如:如果对本地aid路由表的更新是由接收到的路由查询请求触发的,那么,可以在接收到路由查询请求后根据路由查询请求中携带的第一aid的应用场景,将全局aid路由表中该场景对应的至少部分路由信息更新到本地aid路由表中,从而提高查询到第一aid对应的第一路由信息的成功率,解决了nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,实现了在应用交互的过程中及时查询到所需的路由信息。
可选地,在本实施例中,接收到路由查询请求后,可以先在本地aid路由表中查找需要的路由信息,如果没有找到,则根据路由查询请求中携带的第一aid的应用场景,将全局aid路由表中该场景对应的至少部分路由信息更新到本地aid路由表中,再在此次更新的本地aid路由表中查询。
在本实施例中,可以将nfcc中的本地aid路由表划分为两个部分,一部分用来存储固定的具有对应关系的aid和路由信息,另一部分可以根据终端中的全局aid路由表进行更新。可选地,在本实施例中,可以但不限于将应用频繁的一部分具有对应关系的aid和路由信息固定存储在本地aid路由表中。从而便于从本地aid路由表固定存储的路由表项中快速获取所要查询的aid,进而达到提高查询效率的目的。例如,将使用次数超过预定阈值的aid和与其具有对应关系的路由信息固定存储在本地aid路由表中。
可选地,在本实施例中,可以但不限于根据需要在全局aid路由表中更新一部分路由表项到本地aid路由表中。也就是说,本地aid路由表中的部分路由表项可以实时根据全局aid路由表中的路由表项进行动态更新。从而避免了相关技术中本地aid路由表易被填满所导致的无法获取新的路由表项的问题,进而在实现了在nfcc的aid路由表中存储所需的路由信息的同时,也提高了路由信息的查询效率。
可选地,本地aid路由表可以包括:第一aid路由表和第二aid路由表,其中,第二aid路由表被设置为根据全局aid路由表进行更新的所述部分本地aid路由表,所述第一aid路由表被设置为在所述本地aid路由表中未被更新的剩余部分的本地aid路由表,那么,在上述步骤s102中,可以将全局aid路由表中的至少部分具有对 应关系的aid和路由信息更新到第二aid路由表中。
此外,在本实施例中,还可以根据本地aid路由表的使用场景,将全局aid路由表中的至少部分与使用场景对应的具有对应关系的aid和路由信息更新到第二aid路由表中。其中,在本实施例中,根据使用场景更新的方式可以包括以下至少之一:将全局aid路由表中一个使用场景下aid路由表项更新到第二aid路由表中、将全局aid路由表中多个使用场景下的aid路由表项更新到第二aid路由表中。其中,本地aid路由表的使用场景可以包括但不限于:uicc、ese、hce等。
在下面的示例和可选实施方式中,终端以主机为例,第一aid路由表以静态aid路由表为例,第二aid路由表以动态aid路由表为例,预设路由信息以默认路由为例。
下面结合具体示例,对本实施例进行举例说明。
本示例的nfcc路由信息的查询方法可以解决nfcc由于nvram空间小和nfc应用数量不断增加导致的无空间存储路由信息从而导致应用交互失败的问题。
在本示例中,将nfcc的aid路由存储区域中所存储的本地aid路由表划分为两块,其中一块存储固定部分的路由信息,称为静态aid路由表,其功能与原有的nfccaid路由表相同,另一部分称为动态aid路由表,该部分存储的路由信息来自nfcc所属主机存储的全局路由信息的一部分,该部分路由信息是动态的,可以根据使用场景的变化而不断更新。由于主机的存储空间非常巨大,因此几乎可以存储任意数量的aid路由表项。另外,本示例通过全局aid路由表和动态aid路由表结合的方式,可以实现兼顾aid路由查询效率并解决aid路由查询失败的问题。
图2是根据本发明实施例的aid路由表的结构框图,如图2所示,nfcc中的aid路由表被分为静态aid路由表和动态aid路由表,并在主机中建立用于存储全部应用的路由信息的全局aid路由表。aid的路由信息存储于主机(host)的全局aid路由表和nfcc的静态aid路由表和动态aid路由表,动态aid路由表缓存全局aid路由表的部分表项。
在安装新应用时,可以将获取到的新应用的aid和其对应的路由信息添加到全局aid路由表中,再根据更新后的全局aid路由表将新应用的aid和其对应的路由信息更新到第二aid路由表中。通过上述步骤,由于终端中的存储空间大,全局aid路由表可以存储全部应用的aid及其路由信息,再根据需要用全局aid路由表中的表项更新第二aid路由表,解决了nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,实现了在应用交互的过程中及时查询到所需的路由信息。
可选地,在上述步骤s102中,可以获取待安装的应用的第二aid和第二aid对应的第二路由信息,在根据具有对应关系的第二aid和第二路由信息更新全局aid路由表,并将全局aid路由表中更新后的第二aid和第二路由信息的对应关系更新到第二 aid路由表中。
其中,在将全局aid路由表中更新后的第二aid和第二路由信息的对应关系更新到第二aid路由表中时,可以先判断第二aid路由表是否已满,在第二aid路由表未满的情况下,将更新后的第二aid和第二路由信息的对应关系更新到第二aid路由表中。
图3是根据本发明可选实施方式的aid路由表更新的流程图,如图3所示,在一个可选实施方式中,安装的新应用可以相当于上述的待安装的应用,安装新应用时aid路由表进行更新流程可以包括以下步骤:
步骤s302,当安装新的nfc应用时,首先更新全局aid路由表。
步骤s304,判断到动态aid路由表没有满。
步骤s306,将新应用对应的第二aid相关的第二路由信息插入动态aid路由表。
在本实施例中,如果在本地aid路由表中未查询到所需的路由信息,则可以在终端中的全局aid路由表中继续查询。通过上述步骤,由于在全局aid路由表中存储了全部应用的具有对应关系的aid和路由信息,提高了路由信息查询的成功率。
可选地,可以将全部应用的具有对应关系的aid和路由信息存储在nfcc所在的终端中建立的全局aid路由表中,在上述步骤s106之后,若在本地aid路由表中未查询到路由查询请求指示的路由信息的情况下,则可以在全局aid路由表中查询所需的第一aid对应的第一路由信息。若在全局aid路由表中查询到第一aid对应的第一路由信息,则将查询到的具有对应关系的第一aid和第一路由信息更新到本地aid路由表中;若在全局aid路由表中未查询到第一aid对应的第一路由信息,则获取预设路由信息。
通过上述步骤,如果在全局aid路由表中查询到所需的路由信息,则将查询到的路由信息更新到本地aid路由表中,在下一次查询该路由信息时就可以直接在本地aid路由表中找到,而不必再去查找全局aid路由表提高了路由信息的查询效率;如果在全局aid路由表中未查询到所需的路由信息,则为该aid提供一个默认的路由信息,使交互操作可以继续进行,提高了应用交互的成功率。
其中,在全局aid路由表中未查询到第一aid对应的第一路由信息的情况可以指在全局aid路由表中没有第一aid对应的第一路由信息,也可以指没有接收到从全局aid路由表返回的第一aid对应的第一路由信息,或者是指在预定的时间内没有接收到从全局aid路由表返回的第一aid对应的第一路由信息。
可选地,在上述步骤s102中,可以先在更新后的本地aid路由表的第一aid路由表中查询与第一aid对应的第一路由信息,若在第二aid路由表中未查询到与第一aid对应的第一路由信息,再在更新后的本地aid路由表的第二aid路由表中查询与第一 aid对应的第一路由信息。通过上述步骤,设定了在本地aid路由表中查询路由信息的查询顺序,由于在第一aid路由表中固定地存储了常用应用的aid及其路由信息,因此在第一aid路由表查询较容易成功,从而也提高了路由信息的查询成功率。
此外,在一个可选地实施方式中,在pcd和picc之间的应用交互发生时,nfcc首先查询静态aid路由表,若静态aid路由表查询到对应aid的路由信息,则查询结束,继续应用交互流程。若没有查询到对应aid的路由信息,则查询动态aid路由表,若动态aid路由表查询到对应aid的路由信息,则查询结束,继续应用交互流程。若动态aid路由表也查询不到对应aid的路由信息时,则nfcc从host端查询全局aid路由表,如果全局aid路由表中存在对应aid的路由信息表项,则更新对应表项到动态aid路由表,返回查询结果,继续应用交互流程。若全局aid路由表也查询不到路由信息,则nfcc根据配置的默认aid路由继续应用交互流程。
在pcd与picc之间的一次交互过程发生时,nfcc根据应用的aid查询相应的aid路由。图4是根据本发明可选实施方式的路由信息查询方法的流程图,如图4所示,该流程包括以下步骤:
步骤s402,nfcc收到路由查询请求(例如selectaid消息);
步骤s404,nfcc查询静态aid路由表;
步骤s406,若查询到第一aid相关的第一路由信息,则执行步骤s420;
步骤s408,若查询失败,则继续查询动态aid路由表;
步骤s410,若查询到第一aid相关的第一路由信息,则执行步骤s420;
步骤s412,若查询失败,则通知host继续aid查询;
步骤s414,host查询全局aid路由表,判断是否存在需要的aid路由信息;
步骤s416,若查询到第一aid相关的第一路由信息,更新动态aid路由表,继续执行步骤s420;
步骤s418,若查询失败,nfcc执行默认路由对应的策略,继续相关处理;
步骤s420,结束查询,根据查询结果继续交互处理。
在另一个可选地实施方式中,提供了一种应用交互的方法,该方法可以包括以下步骤:
步骤一,在系统启动过程中,初始化全局aid路由表和nfcc的静态aid路由表。
步骤二,在系统安装新的nfc应用的时候,将新应用的aid和相关信息更新到全局aid路由表。
步骤三,在应用交互发生时,首先查询静态aid路由表,当查询失败时,则查询动态aid路由表,若查询失败,则通知主机继续查询全局aid路由表
步骤四,若查询成功,根据路由表的相关信息选择相应应用环境,进行后续交互的处理。若查询失败,则根据默认路由进行相关应用环境的选择和后续交互处理。
在另一个可选地实施方式中,在系统启动的过程中,可以对全局aid路由表、静态aid路由表和动态aid路由表进行初始化设置。图5是根据本发明可选实施方式的aid路由初始化的流程图,如图5所示,该流程包括以下步骤:
步骤s502,系统启动;
步骤s504,根据系统安装的应用情况初始化全局aid路由表;
步骤s506,初始化静态aid路由表及动态aid路由表。
其中,路由信息优先存储于静态aid路由表,当静态aid路由表空间满时,全局aid路由表中的部分路由信息存储于动态aid路由表。
需要说明的是,在本发明实施例中的对aid路由表的更新可以包括但不限于以下至少一种形式:
形式一:将待更新的路由表项添加到aid路由表中;
形式二:将原路由表清空后将待更新的路由表项添加到aid路由表中;
形式三:按预设规则删除原路由表中的部分路由表项,再将待更新的路由表项添加到aid路由表中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
在本实施例中还提供了一种路由信息查询装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的路由信息查询装置的结构框图,如图6所示,该装置包括:
1)第一更新模块62,用于根据nfcc所在的终端中的全局aid路由表对nfcc中的部分本地aid路由表进行更新,得到更新后的本地aid路由表,其中,更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;
2)接收模块64,耦合至第一更新模块62,用于接收路由查询请求,其中,路由查询请求中至少携带有第一aid;
3)第一查询模块66,耦合至接收模块64,用于在更新后的本地aid路由表中查询与第一aid对应的第一路由信息。
可选地,在本实施例中,上述路由信息查询装置的应用场景包括但并不限于应用于nfc技术中picc与读卡器(pcd)进行交互的过程中,其中,picc与pcd进行交互的场景可以包括但不限于终端(例如手机)作为卡模拟与读卡器进行交互的过程。
在上述应用场景下,第一更新模块62根据终端中的全局aid路由表对nfcc中的部分本地aid路由表进行更新,使本地aid路由表中存储需要的路由信息,从而实现在接收模块64接收到至少携带有第一aid的路由查询请求后,第一查询模块66可以根据接收到的第一aid在本地aid路由表中查询第一aid对应的第一路由信息。由于本地aid路由表是动态可更新的,因而,在本地aid路由表中可以随时根据不同的应用条件存储符合条件的路由信息,这样,在本地aid路由表被填满的情况下,可以根据需要将全局aid路由表中的路由信息更新到本地aid路由表中。可见,采用上述装置,解决了nfcc的aid路由表易满存储空间不足所导致的无法查询到所需的路由信息的问题,从而实现了在nfcc的aid路由表实时更新所存储的路由信息,以便于在应用交互的过程中可以及时查询到所需的路由信息,进而保证应用的正常交互。
在本实施例中,第一更新模块62对本地aid路由表的更新可以是实时的,也可以是定时的,或是随机的,还可以是由接收到的信息触发的。例如:如果第一更新模块62对本地aid路由表的更新是由接收到的路由查询请求触发的,那么,可以在接收模块64接收到路由查询请求后由第一更新模块62根据路由查询请求中携带的第一aid的应用场景,将全局aid路由表中该场景对应的路由信息更新到本地aid路由表中,从而提高查询到第一aid对应的第一路由信息的成功率,解决了nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,实现了在应用交互的过程中及时查询到所需的路由信息。
可选地,在本实施例中,接收模块64接收到路由查询请求后,第一查询模块66可以先在本地aid路由表中查找需要的路由信息,如果没有找到,则第一更新模块62根据路由查询请求中携带的第一aid的应用场景,将全局aid路由表中该场景对应的至少部分路由信息更新到本地aid路由表中,第一查询模块66再在此次更新的本地aid 路由表中查询。
在本实施例中,可以将nfcc中的本地aid路由表划分为两个部分,一部分用来存储固定的具有对应关系的aid和路由信息,另一部分可以根据终端中的全局aid路由表进行更新。可选地,在本实施例中,可以但不限于将应用频繁的一部分具有对应关系的aid和路由信息固定存储在本地aid路由表中。从而便于从本地aid路由表固定存储的路由表项中快速获取所要查询的aid,进而达到提高查询效率的目的。例如,将使用次数超过预定阈值的aid和与其具有对应关系的路由信息固定存储在本地aid路由表中。
可选地,在本实施例中,可以但不限于根据需要在全局aid路由表中更新一部分路由表项到本地aid路由表中。也就是说,本地aid路由表中的部分路由表项可以实时根据全局aid路由表中的路由表项进行动态更新。从而避免了相关技术中本地aid路由表易被填满所导致的无法获取新的路由表项的问题,进而在实现了在nfcc的aid路由表中存储所需的路由信息的同时,也提高了路由信息的查询效率
可选地,上述本地aid路由表包括:第一aid路由表和第二aid路由表,其中,第二aid路由表被设置为根据全局aid路由表进行更新的所述部分本地aid路由表,所述第一aid路由表被设置为在所述本地aid路由表中未被更新的剩余部分的本地aid路由表,其中,上述第一更新模块62用于:将全局aid路由表中的至少部分具有对应关系的aid和路由信息更新到第二aid路由表中。
此外,在本实施例中,第一更新模块62还可以根据本地aid路由表的使用场景,将全局aid路由表中的至少部分与使用场景对应的具有对应关系的aid和路由信息更新到第二aid路由表中。其中,在本实施例中,根据使用场景更新的方式可以包括以下至少之一:将全局aid路由表中一个使用场景下aid路由表项更新到第二aid路由表中、将全局aid路由表中多个使用场景下的aid路由表项更新到第二aid路由表中。其中,本地aid路由表的使用场景可以包括但不限于:uicc、ese、hce等。
图7是根据本发明实施例的路由信息查询装置的可选结构框图一,如图7所示,可选地,第一更新模块62包括:
1)获取单元72,获取待安装的应用的第二aid和第二aid对应的第二路由信息;
2)第一更新单元74,耦合至获取单元72,根据具有对应关系的第二aid和第二路由信息更新全局aid路由表;
3)第二更新单元76,耦合至第一更新单元74,将全局aid路由表中更新后的第二aid和第二路由信息的对应关系更新到第二aid路由表中。
在安装新应用时,第一更新单元74可以将获取单元72获取到的新应用的aid和其对应的路由信息添加到全局aid路由表中,第二更新单元76再根据更新后的全局aid 路由表将新应用的aid和其对应的路由信息更新到第二aid路由表中。通过上述装置,由于终端中的存储空间大,全局aid路由表可以存储全部应用的aid及其路由信息,再根据需要用全局aid路由表中的表项更新第二aid路由表,解决了nfcc的aid路由表易满导致无法查询到所需的路由信息的问题,实现了在应用交互的过程中及时查询到所需的路由信息。
可选地,第二更新单元76用于:判断第二aid路由表是否已满;在第二aid路由表未满的情况下,将更新后的第二aid和第二路由信息的对应关系更新到第二aid路由表中。
图8是根据本发明实施例的路由信息查询装置的可选结构框图二,如图8所示,可选地,上述装置还包括:
第二查询模块82,耦合至第一查询模块66,用于在更新后的本地aid路由表中未查询到第一aid对应的第一路由信息的情况下,向全局aid路由表中查询第一aid对应的第一路由信息。
图9是根据本发明实施例的路由信息查询装置的可选结构框图三,如图9所示,可选地,上述装置还包括:
第二更新模块92,耦合至第二查询模块82,用于若在全局aid路由表中查询到第一aid对应的第一路由信息,则将查询到的具有对应关系的第一aid和第一路由信息更新到本地aid路由表中。
图10是根据本发明实施例的路由信息查询装置的可选结构框图四,如图10所示,可选地,上述装置还包括:
获取模块102,耦合至第二查询模块82,若在全局aid路由表中未查询到第一aid对应的第一路由信息,则获取预设路由信息。
通过上述步骤,第二查询模块82如果在全局aid路由表中查询到所需的路由信息,则第二更新模块92将查询到的路由信息更新到本地aid路由表中,在下一次查询该路由信息时就可以直接在本地aid路由表中找到,而不必再去查找全局aid路由表提高了路由信息的查询效率;第二查询模块82如果在全局aid路由表中未查询到所需的路由信息,则获取模块102为该aid提供一个默认的路由信息,使交互操作可以继续进行,提高了应用交互的成功率。
其中,第二查询模块82在全局aid路由表中未查询到第一aid对应的第一路由信息的情况可以指在全局aid路由表中没有第一aid对应的第一路由信息,也可以指没有接收到从全局aid路由表返回的第一aid对应的第一路由信息,或者是指在预定的时间内没有接收到从全局aid路由表返回的第一aid对应的第一路由信息。
可选地,第一查询模块66用于:在更新后的本地aid路由表的第一aid路由表中 查询与第一aid对应的第一路由信息;若在第二aid路由表中未查询到与第一aid对应的第一路由信息,则在更新后的本地aid路由表的第二aid路由表中查询与第一aid对应的第一路由信息。
通过上述步骤,为第一查询模块66设定了在本地aid路由表中查询路由信息的查询顺序,由于在第一aid路由表中固定地存储了常用应用的aid及其路由信息,因此在第一aid路由表查询较容易成功,从而也提高了路由信息的查询成功率。
需要说明的是,在本发明实施例中的对aid路由表的更新可以包括但不限于以下至少一种形式:
形式一:将待更新的路由表项添加到aid路由表中;
形式二:将原路由表清空后将待更新的路由表项添加到aid路由表中;
形式三:按预设规则删除原路由表中的部分路由表项,再将待更新的路由表项添加到aid路由表中。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
实施例3
本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
步骤s1,根据nfcc所在的终端中的全局aid路由表对nfcc中的部分本地aid路由表进行更新,得到更新后的本地aid路由表,其中,更新后的本地aid路由表包括更新后的具有对应关系的aid和路由信息;
步骤s2,接收路由查询请求,其中,路由查询请求中至少携带有第一aid;
步骤s3,在更新后的本地aid路由表中查询与第一aid对应的第一路由信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多 个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。