一种路由设置方法及终端设备与流程

文档序号:17771061发布日期:2019-05-28 19:26阅读:223来源:国知局
一种路由设置方法及终端设备与流程

本发明涉及通信领域,尤其涉及一种路由设置方法及终端设备。



背景技术:

可靠的移动支付,需要依赖SE(Secure Element,安全单元)提供的安全、加密的环境来实现。因此,当终端中正常使用SE之后,SE中可以安装移动支付应用,进行安全的移动支付。除了基于物理芯片的SE之外,目前终端通过软件实现的HCE(Host Card Emulator,主机卡模拟器),对于NFCC(Near Field Communication Controller,近场通信控制器)也是当做SE来进行管理。

在一些应用场景下,终端可能希望多个SE中的一个SE为排他SE。例如UICC(Universal Integrated Circuit Card,通用集成电路卡)卡上的SE,其余SE为非排他SE。在这种情况下,当终端中接入此UICC时,NFC(Near Field Communication,近场通信)通信对端根据NFC路由机制仅选中此UICC上SE的应用,因此其他SE或HCE中的应用不能被NFC通信对端选中。因此,终端可能被要求只允许激活排他SE,同时需要去激活非排他SE。现有技术中,由CPU向NFCC发送SE设置指令来控制SE的激活/去激活。其中,所述SE设置指令包含需要控制的SE的ID。

如果终端安装了排他性的UICC卡,则所述HCE可以视为非排他SE,终端应该停止将通过NFC技术接收到的信息路由到HCE。通常,终端可以通过模式设置指令来实现对SE的控制。由于所述模式设置指令的目标ID不能为HCE的ID,因此无法依靠所述模式设置指令去激活HCE,无法保证新接入的排他SE的排他性需求。



技术实现要素:

本发明的实施例提供一种路由设置方法及终端设备,可以避免使用HCE,正确配置路由表,保证终端接入的排他SE的正常运行。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,公开了一种路由设置方法,包括:

检测新接入的安全单元SE是否为排他SE;

若所述新接入的SE是排他SE,则检测是否支持设置默认路由项;

若检测到不支持设置默认路由项,则构建仅包含排他性SE对应的路由项的路由表;若支持设置默认路由项,则将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

结合第一方面,在第一方面的第一种可能的实现方式中,所述检测新接入的安全单元SE是否为排他SE之后,所述方法还包括:

若所述新接入的SE不是排他SE,则将SE标识符置为第一数值;若所述新接入的SE是排他SE,则将所述SE标识符置为第二数值并记录所述新接入的SE的ID;所述第一数值表示终端中当前未接入排他SE,所述第二数值表示终端中当前已接入排他SE。

结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:

设置所述SE标识符;所述SE标识符的初始值为所述第一数值;则,在所述检测新接入的SE是否为排他SE之前,所述方法还包括:

判断所述SE标识符是否为所述第一数值;若所述SE标识符为第一数值,则获取当前路由表。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,

若所述新接入的SE不是排他SE,则在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表;在支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

结合第一方面,在第一方面的第四种可能的实现方式中,

若所述终端设备的近场通信控制器NFCC可以删除路由项,则在所述检测新接入的安全单元SE是否为排他SE之后,所述方法还包括:

检测所述终端设备中是否存在主机卡模拟器HCE;若所述终端设备中不存在所述HCE,则在不支持设置默认路由项时,在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,

若所述终端设备中存在所述HCE,则检测路由表中是否包含目标为所述HCE的路由项;若所述路由表中不包含目标为所述HCE的路由项,则在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,

若所述路由表中包含目标为所述HCE的路由项,则在检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第一方面的第二种可能的实现方式,在第一方面的第七种可能的实现方式中,

所述方法还包括:

检测到有SE被移除,并获取当前被移除的SE的ID;

判断所述SE标识符是否为所述第二数值;

若所述SE标识符是所述第二数值,则判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同;

若相同,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,

所述方法还包括:

若所述SE标识符不是所述第二数值,则删除当前路由表中所述当前被移除的SE对应的路由项,并在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE,若是,则重新指定一个SE作为所述默认路由目标SE。

结合第一方面的第七种可能的实现方式,在第一方面的第九种可能的实现方式中,

若所述终端设备的NFCC可以删除路由项,则在判断所述当前被移除的SE的ID与终端中记录的排他SE的ID相同之后,所述方法还包括,

检测所述终端设备中是否存在所述HCE;

若所述终端设备中不存在所述HCE,则根据处于连接状态的SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,

若所述终端设备中存在所述HCE,则检测当前路由表中是否包含目标为所述HCE的路由项;

若所述当前路由表中包含目标为所述HCE的路由项,则根据处于连接状态的SE对应的路由项、所述HCE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,

若所述当前路由表中不包含目标为所述HCE的路由项,则检测所述当前路由表中是否包含任一条非排他SE对应的路由项;

若所述当前路由表中包含任一条非排他SE对应的路由项,则删除所述当前被移除的排他SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,

若所述当前路由表中不包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

第二方面、公开了一种终端设备,包括:

检测单元,用于检测新接入的安全单元SE是否为排他SE;

所述检测单元还用于,在检测到所述新接入的SE是排他SE之后,检测是否支持设置默认路由项;

构建单元,用于在所述检测单元检测到不支持设置默认路由项之后,构建仅包含排他性SE对应的路由项的路由表;

设置单元,用于在所述检测单元检测到支持设置默认路由项之后,将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

结合第二方面,在第二方面的第一种可能的实现方式中,所述设置单元还用于:

若所述新接入的SE不是排他SE,则将SE标识符置为第一数值;若所述新接入的SE是排他SE,则将所述SE标识符置为第二数值并记录所述新接入的SE的ID;所述第一数值表示终端中当前未接入排他SE,所述第二数值表示终端中当前已接入排他SE。

结合第二方面,在第二方面的第二种可能的实现方式中,所述设置单元还用于:

设置所述SE标识符;所述SE标识符的初始值为所述第一数值;

则,所述终端设备还包括:

判断单元,用于判断所述SE标识符是否为所述第一数值;

获取单元,用于若所述判断单元判断所述SE标识符为第一数值,则获取当前路由表。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,

所述构建单元还用于,在所述检测单元检测到所述新接入的SE不是排他SE之后,在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表;

所述判断单元还用于,在所述检测单元检测到支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

结合第二方面,在第二方面的第四种可能的实现方式中,

若所述终端设备的近场通信控制器NFCC可以删除路由项,

所述检测单元还用于,检测所述终端设备中是否存在主机卡模拟器HCE;

所述构建单元还用于,若所述检测单元检测所述终端设备中不存在所述HCE,则在不支持设置默认路由项时,在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,

所述检测单元还用于,若所述检测单元检测所述终端设备中存在所述HCE,则检测路由表中是否包含目标为所述HCE的路由项;

所述构建单元还用于,若所述检测单元检测所述路由表中不包含目标为所述HCE的路由项,则在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,

所述构建单元还用于,若所述检测单元检测所述路由表中包含目标为所述HCE的路由项,则在所述检测单元检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

结合第二方面的第二种可能的实现方式,在第二方面的第七种可能的实现方式中,

所述检测单元还用于,检测是否有SE被移除;

所述获取单元还用于,在所述检测单元检测到有SE被移除之后,获取当前被移除的SE的ID;

所述判断单元还用于,判断所述SE标识符是否为所述第二数值;

所述判断单元还用于,若所述SE标识符是所述第二数值,则判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同;

所述构建单元还用于,若所述判断单元判断所述当前被移除的SE的ID与终端中记录的排他SE的ID相同,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;

所述检测单元还用于,检测是否支持设置默认路由项;

所述构建单元还用于,若所述检测单元检测支持设置默认路由项,构建包含或不包含所述默认路由目标SE对应的路由项的路由表;

所述设置单元还用于,在所述检测单元检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE;

所述终端设备还包括获取单元,用于获取配置成功消息;

所述设置单元还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,

所述构建单元还用于,若所述判断单元判断所述SE标识符不是所述第二数值,则删除当前路由表中所述当前被移除的SE对应的路由项;

所述判断单元还用于,在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE;

所述判断单元还用于,在判断支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE;

所述设置单元还用于,在所述判断单元判断当前被移除的SE为所述默认路由目标SE之后,重新指定一个SE作为所述默认路由目标SE。

结合第二方面的第七种可能的实现方式,在第二方面的第九种可能的实现方式中,

所述检测单元还用于,检测所述终端设备中是否存在所述HCE;

所述构建单元还用于,根据处于连接状态的SE对应的路由项构建路由表;

所述检测单元还用于,检测是否支持设置默认路由项;

所述设置单元还用于,检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

所述获取单元还用于,获取配置成功消息;

所述设置单元还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第二方面的第九种可能的实现方式,在第二方面的第十种可能的实现方式中,

所述检测单元还用于,若所述终端设备中存在所述HCE,则检测当前路由表中是否包含目标为所述HCE的路由项;

所述构建单元还用于,在所述检测单元检测所述当前路由表中包含目标为所述HCE的路由项之后,根据处于连接状态的SE对应的路由项、所述HCE对应的路由项构建路由表;

所述检测单元还用于,检测是否支持设置默认路由项;

所述设置单元还用于,若所述检测单元检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

所述获取单元还用于,获取配置成功消息;

所述设置单元还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第二方面的第十种可能的实现方式,在第二方面的第十一种可能的实现方式中,

所述检测单元还用于,在所述检测单元检测所述当前路由表中不包含目标为所述HCE的路由项之后,检测所述当前路由表中是否包含任一条非排他SE对应的路由项;

所述构建单元还用于,在所述检测单元检测所述当前路由表中包含任一条非排他SE对应的路由项之后,删除所述当前被移除的排他SE对应的路由项构建路由表;

所述检测单元还用于,检测是否支持设置默认路由项;

所述设置单元还用于,若所述检测单元检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

所述获取单元还用于,获取配置成功消息;

所述设置单元还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

结合第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,

所述构建单元还用于,若所述当前路由表中不包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;

所述检测单元还用于,检测是否支持设置默认路由项;

所述设置单元还用于,若所述检测单元检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;

所述获取单元还用于,获取配置成功消息;

所述设置单元还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

本发明实施例提供的路由设置方法及终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

附图说明

图1为本发明实施例1提供的路由设置方法的流程示意图;

图2为本发明实施例2提供的一种路由设置方法的流程示意图;

图3为本发明实施例3提供的一种路由设置方法的流程示意图;

图4为本发明实施例4提供的一种路由设置方法的流程示意图;

图5为本发明实施例5提供的一种路由设置方法的流程示意图;

图6为本发明实施例6提供的终端设备的结构框图;

图7为本发明实施例7提供的终端设备的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

SE可以为终端的移动支付提供安全可靠的环境来。因此,终端只要掌握了SE的控制权,就掌握了移动支付应用安装到终端的入口。运营商希望终端厂商可以提供技术方案,使得运营商发布的包含SE的UICC卡装到终端上之后,只允许UICC卡上的SE正常工作,其他介质上的非移动运营商控制的SE都要被屏蔽掉。可以将UICC卡上的SE称为排他SE,将其他介质上的非移动运营商控制的SE称为非排他SE。这样,当UICC卡装到终端上之后,终端需要终止非排他SE的运行,保证排他SE的正常运行。另外,当前终端还可以通过软件模拟实现HCE,对于终端当前安装的UICC卡而言所述HCE为非排他,终端需要在UICC卡上的SE接入之后终止所述HCE的运行。另外,有些NFC路由机制中还支持一种默认路由的设置,系统中同时只能配置一个SE/HCE为默认路由目标SE。其技术思想是,所有经过处理后,无法找到匹配处理项的路由请求,都会转交给这个默认路由目标SE/HCE来处理。因此,在构建路由表时,终端可以在路由表中包括或者不包括默认路由目标SE/HCE所对应的路由项。

实施例1:

本发明实施例提供了一种路由设置方法,如图1所示,所述方法包括以下步骤:

101、检测新接入的安全单元SE是否为排他SE。

宏观上终端包括DH(Device Host,设备主机)、NFCC以及CPU(Central Processing Unit,中央处理器),其中,NFCC可能具备删除路由项的能力,也可能不能删除路由项。当终端中新接入一个SE时,DH需要判断新接入的SE是排他SE还是非排他SE,如果新接入的SE是排他SE,则需进行步骤102。

另外,若终端设备的DH设置了SE标识符。其中,所述SE标识符的初始值为所述第一数值。则,在所述检测新接入的SE是否为排他SE之前,还可以判断所述SE标识符是否为所述第一数值;若所述SE标识符为第一数值,则获取当前路由表。所述第一数值表示终端中当前未接入排他SE。若终端设备的DH检测到所述SE标识符为第二数值,则并不必做配置处理,不改变当前路由表。其中,所述第二数值表示终端中当前已接入排他SE。这是因为,根据运营商的商业需求终端设备中通常只允许保障一个排他SE的正常运行。也就是说,当前终端设备已接入排他SE的情况下,无论新接入的SE是否为排他SE,都不做配置处理。

若终端设备的DH检测到所述新接入的SE不是排他SE,则将SE标识符置为第一数值;若所述新接入的SE是排他SE,终端设备的DH将所述SE标识符置为第二数值并记录所述新接入的SE的ID。这里记录新接入的SE的ID作为终端中当前接入的排他SE的ID,是为了在移除SE时判断终端中当前是否接入了排他SE,进而做出相应的配置处理,节省系统开销。

若终端设备的DH检测到所述新接入的SE不是排他SE,则在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表。在支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

终端设备的DH和NFCC中,DH始终是可以通过构建新路由表的方式来删除特定路由项的,NFCC可能具备或者不具备删除路由表的能力。因此,需要对NFCC能够删除路由表,或者不能够删除路由表的情况进行区分。

若所述终端的NFCC可以删除路由表,则在终端设备的DH检测到所述检测新接入的安全单元SE是否为排他SE之后,还需要检测所述终端设备中是否存在主机卡模拟器HCE。若所述终端设备中不存在所述HCE,则在不支持设置默认路由项时,在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。这里,在检测到终端中存在HCE之后还需要检测路由表中是否包含HCE对应的路由项,是由于如果终端中存在HCE但是路由表中却没有HCE对应的路由项,HCE是无法被运行的。这样,终端在接入排他SE之后,通过SE设置指令去激活非排他SE,激活排他SE,进而保证排他SE的正常运行。

若所述终端设备中存在所述HCE,则检测路由表中是否包含目标为所述HCE的路由项;若所述路由表中不包含目标为所述HCE的路由项,则在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

若所述路由表中包含目标为所述HCE的路由项,则在检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

102、检测是否支持设置默认路由项。

终端是否支持默认路由设置,决定了终端在构建路由表时,可以在路由表中包括或者不包括默认路由目标SE/HCE所对应的路由项。因此需要对终端是否具有默认路由项设置的能力进行检测。

103、构建仅包含排他性SE对应的路由项的路由表。

这里是终端设备的DH根据新接入的排他SE构建仅包含排他SE对应的路由项的路由表。需要说明的是,这里的路由表与之前在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表是不同的两种路由设置。之后的实施例中会做细致的区分说明。

这里,由于终端不支持设置默认路由项,则无法找到匹配处理项的路由请求就无法通过默认路由项目标SE的处理得以解决,因此这是构建的路由表中就不能包含其他非排他SE对应的路由项,仅包含排他SE的路由项。

这里,“构建”一词不应理解为仅包括建立,还可以包括修改。

104、将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

另外,由于NFC路由机制中还支持一种默认路由的设置,所有经过处理后,无法找到匹配处理项的路由请求,都会转交给这个默认路由目标SE/HCE来处理。这里,可以将新接入排他SE设置成默认路由项目标SE,通过默认路由来处理新接的SE请求。因此,在构建路由表时,终端可以在路由表中包括或者不包括默认路由目标SE/HCE所对应的路由项。实际上,在步骤104之后路由表可以是空的,这是因为新接入的排他SE被作为默认路由来处理,因此路由表中可以不包含任何路由项。

本发明还提供了一种路由设置方法,还可以在移除SE时,根据终端中当前是否存在排他SE,正确配置路由。

A1、检测到有SE被移除,并获取当前被移除的SE的ID。

具体的,终端设备的DH(或NFCC)检测到有SE被移除。之后终端设备的DH通过接收终端设备的NFCC发来的指令来获取当前被移除的SE的ID。具体实现中,DH从NFCC发来的NFCEE_DISCOVER_NTF(近场通信发现消息)中,获取NFCEE Status(近场通信状态值)值为0x02的SE所对应的ID(即当前被移除的SE的NFCEE ID)。

A2、判断所述SE标识符是否为所述第二数值。

终端设备的DH判断当前的SE标识符是否是第二数值,这是由于,终端中是否已接入排他SE影响了移除SE时的路由配置。加以区分则可以正确配置路由表,终端设备的DH不用在每次移除SE时都重置路由表,大大节省系统开销。

具体地,在新接入排他SE时,需要将当前的路由表清空只写入该排他SE的路由项,因此,移除该排他SE时需要将之前被终止运行的非排他SE的路由项重新写入路由表。在新接入非排他SE时,不用清空路由表直接写入该非排他SE的路由项,移除时也只需将该非排他SE的路由项删除即可。由于终端无法识别当前是否已接入排他SE,也就无法判定当前路由表是仅包括排他SE的路由项还是包括各非排他SE的路由项,因此每移除一个SE时,终端都会将路由表清空,重新写入各非排他SE的路由项,导致终端系统开销较大。

A3、若所述SE标识符是所述第二数值,则判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同。

若所述SE标识符不是所述第二数值,则删除当前路由表中所述当前被移除的SE对应的路由项,并在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE,若是,则重新指定一个SE作为所述默认路由目标SE。

A4、若相同,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

A5、获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

由于NFCC可能具备或者不具备删除路由表的能力。因此,需要对NFCC能够删除路由表,或者不能够删除路由表的情况进行区分。以便所述终端设备正确构建路由表。例如,若所述NFCC可能具备删除路由表的能力,终端就需要检测是否存在HCE,移除SE之后就需要在存在HCE的情况下重新写入目标为所述HCE的路由项。

具体地,若所述终端设备的NFCC可以删除路由项,则在判断所述当前被移除的SE的ID与终端中记录的排他SE的ID相同之后,还需要检测所述终端设备中是否存在所述HCE。

若所述终端设备中不存在所述HCE,则根据处于连接状态的SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。之后获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。另外,生成SE模式设置指令,根据所述SE模式设置指令激活或者去激活SE。

另一方面,若所述终端设备中存在所述HCE,则检测当前路由表中是否包含目标为所述HCE的路由项;若所述当前路由表中包含目标为所述HCE的路由项,则根据处于连接状态的SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

若所述当前路由表中不包含目标为所述HCE的路由项,则检测所述当前路由表中是否包含任一条非排他SE对应的路由项;若所述当前路由表中包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

若所述当前路由表中不包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项;获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

本发明实施例提供的路由设置方法及终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例2:

本发明实施例提供了一种路由设置方法,应用于NFCC具备删除路由表能力的终端设备,如图2所示,所述方法包括以下步骤:

201、设置所述SE标识符;所述SE标识符的初始值为所述第一数值。

宏观上终端包括DH和NFCC,其中,NFCC可能具备删除路由项的能力,也可能不能删除路由项。

终端设备的DH设置所述SE标识符。初始时,终端中没有接入排他SE,用第一数值表示该状态。所述SE标识符的取值可以为第一数值或第二数值,所述第一数值表示终端中当前未接入排他SE,所述第一数值表示终端中当前已接入排他SE。具体地,在DH中增加一个Flag标记,初始值为0,0表示为假(终端中当前没有接入排他SE),1表示为真(终端中当前已接入排他SE)。

202、判断所述SE标识符是否为所述第一数值.

在所述SE标识符为第一数值时,获取当前路由表。所述SE标识符为第二数值时不必做配置处理。

终端设备的DH判断当前的SE标识符是否是第二数值,这是由于,终端中是否已接入排他SE影响了移除SE时的路由配置。加以区分则可以正确配置路由表,终端设备的DH不用在每次移除SE时都重置路由表,大大节省系统开销。在新接入排他SE时,需要将当前的路由表清空只写入该排他SE的路由项,因此,移除该排他SE时需要将之前被终止运行的非排他SE的路由项重新写入路由表。在新接入非排他SE时,不用清空路由表直接写入该非排他SE的路由项,移除时也只需将该非排他SE的路由项删除即可。由于终端无法识别当前是否已接入排他SE,也就无法判定当前路由表是仅包括排他SE的路由项还是包括各非排他SE的路由项,因此每移除一个SE时,终端都会将路由表清空,重新写入各非排他SE的路由项,导致终端系统开销较大。

具体地,DH在判断SE状态标识符为所述第一数值后向NFCC发送RF_GET_LISTEN_MODE_ROUTING_CMD,获取当前的路由表RT01。或者DH本身备份最近一次配置给NFCC的路由表RT01。

203、检测新接入的安全单元SE是否为排他SE。

若接入的安全单元SE不是排他SE,则进行步骤204;若新接入的安全单元SE是排他SE,则进行步骤205。

具体实现中,由终端设备的DH判断新接入的安全单元SE是否为排他SE。

204、将SE标识符置为第一数值,在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表;在支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

终端设备的DH将SE标识符置为第一数值,在获取的路由表RT01内容的基础上,增加新接入SE所对应的合法路由项,构成新路由表RT02。如果终端设备的NFCC支持设置默认路由项,则判断是否需要重新指定新的默认路由目标。且RT02可以包含或不包含默认路由目标(在终端设备支持默认路由设置)对应的路由项。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将路由表RT02配置给NFCC;如果NFCC支持对默认路由目标的设置,且更新了默认路由目标,则同时指定新的默认路由目标。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。需要说明的是,以上DH配置路由表、去激活/激活SE的操作不分先后顺序,本发明实施例对此不做限定。

205、将SE标识符置为第二数值,检测所述终端设备中是否存在主机卡模拟器HCE。

若所述终端设备中不存在主机卡模拟器HCE,则进行步骤206。若所述终端设备中存在主机卡模拟器HCE,则进行步骤207。

具体实现中,终端设备的DH检测系统中是否存在主机卡模拟器HCE。

206、在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

具体地,如果NFCC不支持对默认路由的设置,则在路由表RT01内容的基础上,增加包含排他性SE中所对应的路由项,构成新路由表RT03。如果NFCC支持对默认路由目标的设置,则RT03可以包含或者不包含排他性SE中所对应的路由项。

之后,DH与NFCC之间的交互包括:一、DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,则同时将默认路由目标设置为排他性SE。

二、在DH收到RSP,则DH置Flag值为1,记录排他性SE的NFCEE ID:PT_SE_ID。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。

需要说明的是,步骤一、二不分先后,本发明实施例对此不做限定。

207、检测路由表中是否包含目标为所述HCE的路由项。

若路由表中不包含目标为所述HCE的路由项,则进行步骤208。若路由表中不包含目标为所述HCE的路由项,则进行步骤209。

具体实现中,终端设备的DH检测系统中是否有可以写入的路由表,且路由目标为HCE的路由信息。

208、在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

具体地,如果NFCC不支持对默认路由的设置,则在路由表RT01内容的基础上,增加包含排他性SE中所对应的路由项,构成新路由表RT03。如果NFCC支持对默认路由目标的设置,则RT03可以包含或者不包含排他性SE中所对应的路由项。

之后,DH与NFCC之间的交互包括:一、DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,则同时将默认路由目标设置为排他性SE。

二、在DH收到RSP,则DH置Flag值为1,记录排他性SE的NFCEE ID:PT_SE_ID。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。

需要说明的是,步骤一、二不分先后,本发明实施例对此不做限定。

209、在检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

具体实现中,如果NFCC不支持对默认路由的设置,NFCC删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含排他性SE中所对应的路由项RT04;如果NFCC支持对默认路由目标的设置,RT03可以包含或者不包含排他性SE中对应的路由项。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,则同时将默认路由目标设置为排他性SE。再次,在DH收到RSP(配置成功消息)之后,将Flag(即本发明实施例所述SE标识符)置为1,记录排他性SE的ID:PT_SE_ID。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。需要说明的是,这两个步骤不分先后,本发明实施里对此不做限定。

本发明实施例提供的路由设置方法及终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例3:

本发明实施例提供了一种路由设置方法,应用于NFCC具备删除路由表能力的终端设备,如图3所示,所述方法包括以下步骤:

301、检测到有SE被移除,并获取当前被移除的SE的ID。

需要说明的是,终端设备的DH或NFCC均可以检测到是否有SE被移除。具体实现中,DH从NFCC发来的NFCEE_DISCOVER_NTF中,获取NFCEE Status值为0x02的SE所对应的NFCEE ID(即当前被移除的SE的NFCEE ID)。

302、判断所述SE标识符是否为所述第二数值。

若所述SE标识符是为所述第二数值,则进行步骤303。若所述SE标识符不是为所述第二数值,则进行步骤304。

303、删除当前路由表中所述当前被移除的SE对应的路由项,并在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE,若是,则重新指定一个SE作为所述默认路由目标SE。

具体地,NFCC删除此SE对应的路由项。如果NFCC支持设置默认路由项,则DH判断此被移除的SE是否是当前的默认路由项目标SE,如果是,则重新指定一个SE作为默认路由项目标SE,并配置到NFCC。

304、判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同。

若不相同,则不必做配置处理。若相同,则进行步骤305。

实现中,DH判断被移除SE的NFCEE ID是否等于PT_SE_ID(终端中当前记录的排他SE的ID)。由于通常情况下,终端中只能保障一个排他SE的运行,因此通过判断被移除SE的NFCEE ID是否等于PT_SE_ID,就可以判断出当前移除SE是否是排他性SE。若相同,则证明当前移除SE是排他性SE。

305、检测所述终端设备中是否存在所述HCE。

若不存在,则进行步骤306。若存在,则进行步骤307。

终端设备的DH检测系统服务注册,判断是否存在HCE。

306、根据处于连接状态的SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

具体地,如果NFCC支持对默认路由目标的设置,则DH同时选择并设置新的默认路由目标。NFCC删除排他SE对应的路由项。DH向NFCC发送NFCEE_MODE_SET_CMD指令,根据需要,激活部分/全部非排他SE。DH收到反馈配置成功的RSP(配置成功消息)后,将Flag值置为0,将PT_SE_ID值置为N/A(即本发明实施例中所述将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效)。

307、检测当前路由表中是否包含目标为所述HCE的路由项。

若包含,则进行步骤308。若不包含,则进行步骤309。

308、根据处于连接状态的SE对应的路由项、所述HCE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

在此之后,获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

具体地,DH根据处于连接状态的SE及HCE所包含的路由信息,构建路由表RT05。若NFCC支持默认路由,则重选一个SE作为所述默认路由目标SE,且RT05中可包含/不包含其路由。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC。如果NFCC支持对默认路由目标的设置,则同时设置新的默认路由目标。DH向NFCC发送NFCEE_MODE_SET_CMD,根据需求激活部分/全部非排他SE。DH收到反馈配置成功的RSP后,将Flag值置为0,将PT_SE_ID值置为N/A(即本发明实施例中所述将所述终端设备当前记录的排他SE的ID更新为无效)。

309、检测所述当前路由表中是否包含任一条非排他SE对应的路由项。

若包含,则进行步骤310;若不包含,则进行步骤308。

310、删除所述当前被移除的排他SE对应的路由项构建路由表;检测是否支持设置默认路由项,若支持,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

具体地,如果NFCC支持对默认路由目标的设置,则DH同时选择并设置新的默认路由目标。NFCC删除排他SE对应的路由项。DH向NFCC发送NFCEE_MODE_SET_CMD指令,根据需要,激活部分/全部非排他SE。DH收到反馈配置成功的RSP后,将Flag值置为0,将PT_SE_ID值置为N/A。

本发明实施例提供的路由设置方法,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例4:

本发明实施例提供了一种路由设置方法,应用于NFCC不具备删除路由表能力的终端设备,如图4所示,所述方法包括以下步骤:

401、设置所述SE标识符;所述SE标识符的初始值为所述第一数值。

宏观上终端包括DH和NFCC,其中,NFCC可能具备删除路由项的能力,也可能不能删除路由项。本实施例,规定NFCC不具备删除路由项的能力。

终端设备的DH设置所述SE标识符。初始时,终端中没有接入排他SE,用第一数值表示该状态。所述SE标识符的取值可以为第一数值或第二数值,所述第一数值表示终端中当前未接入排他SE,所述第一数值表示终端中当前已接入排他SE。具体地,在DH中增加一个Flag标记,初始值为0,0表示为假(终端中当前没有接入排他SE),1表示为真(终端中当前已接入排他SE)。

402、判断所述SE标识符是否为所述第一数值。

在所述SE标识符为第一数值时,获取当前路由表。

终端设备的DH判断当前的SE标识符是否是第二数值,这是由于,终端中是否已接入排他SE影响了移除SE时的路由配置。加以区分则可以正确配置路由表,终端设备的DH不用在每次移除SE时都重置路由表,大大节省系统开销。在新接入排他SE时,需要将当前的路由表清空只写入该排他SE的路由项,因此,移除该排他SE时需要将之前被终止运行的非排他SE的路由项重新写入路由表。在新接入非排他SE时,不用清空路由表直接写入该非排他SE的路由项,移除时也只需将该非排他SE的路由项删除即可。由于终端无法识别当前是否已接入排他SE,也就无法判定当前路由表是仅包括排他SE的路由项还是包括各非排他SE的路由项,因此每移除一个SE时,终端都会将路由表清空,重新写入各非排他SE的路由项,导致终端系统开销较大。

具体地,DH在判断SE状态标识符为所述第一数值后向NFCC发送RF_GET_LISTEN_MODE_ROUTING_CMD,获取当前的路由表RT01。或者DH本身备份最近一次配置给NFCC的路由表RT01。

403、检测新接入的安全单元SE是否为排他SE。

若接入的安全单元SE不是排他SE,则进行步骤404;若新接入的安全单元SE是排他SE,则进行步骤405。

具体实现中,由终端设备的DH判断新接入的安全单元SE是否为排他SE。

404、将SE标识符置为第一数值,在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表;在支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

终端设备的DH将SE标识符置为第一数值,在获取的路由表RT01内容的基础上,增加新接入SE所对应的合法路由项,构成新路由表RT02。如果终端设备的NFCC支持设置默认路由项,则判断是否需要重新指定新的默认路由目标。且RT02可以包含或不包含默认路由目标(在终端设备支持默认路由设置)对应的路由项。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将路由表RT02配置给NFCC;如果NFCC支持对默认路由目标的设置,且更新了默认路由目标,则同时指定新的默认路由目标。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。需要说明的是,以上DH配置路由表、去激活/激活SE的操作不分先后顺序,本发明实施例对此不做限定。

405、检测是否支持设置默认路由项。

若不支持,则进行步骤406;若支持,则进行步骤407。

406、构建仅包含排他性SE对应的路由项的路由表。

终端设备的DH构建新的路由表,其中仅配置属于排他SE中应用所对应的路由项,不包括属于其他SE及HCE中应用所对应的路由项。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,则同时将默认路由目标设置为排他性SE。在DH收到RSP,则DH置Flag值为1,记录排他性SE的NFCEE ID:PT_SE_ID。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。

407、将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

具体地,DH构建新的路由表,其中仅配置属于排他SE中应用所对应的路由项,或者不包含任何路由项。将默认路由目标设置为排他性SE。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将上述路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,则同时将默认路由目标设置为排他性SE。在DH收到RSP,则DH置Flag值为1,记录排他性SE的NFCEE ID:PT_SE_ID。DH向NFCC发送NFCEE_MODE_SET_CMD,去激活除HCE外,当前所有激活状态的非排他SE,同时激活排他SE。

本发明实施例提供的路由设置方法及终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例5:

本发明实施例提供了一种路由设置方法,应用于NFCC不具备删除路由表能力的终端设备,如图5所示,所述方法包括以下步骤:

501、检测到有SE被移除,并获取当前被移除的SE的ID。

终端设备的DH或NFCC检测到有SE被移除,则DH从NFCC发来的NFCEE_DISCOVER_NTF中,获取NFCEE Status值为0x02的SE所对应的ID(即当前被移除的SE的NFCEE ID)。

502、判断所述SE标识符是否为所述第二数值。

若不是,则进行步骤503;若是,则进行步骤504。

终端设备的DH判断被移除SE的NFCEE ID是否等于PT_SE_ID。

503、删除当前路由表中所述当前被移除的SE对应的路由项,并在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE,若是,则重新指定一个SE作为所述默认路由目标SE。

不同于实施例4中在此删除路由的实现方式,这里DH删除路由表中此SE对应的路由项,构建新的路由表,并配置到NFCC;如果NFCC支持默认路由SE设置,则判断是否需要重新设置默认路由SE,且新的路由表中可以包含或者不包含默认路由SE对应的路由项。

504、判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同。

若相同,则不必做配置处理;若不同,则进行步骤505。

505、检测是否支持设置默认路由项。

若支持,则进行步骤507;若不支持则进行步骤506。

506、根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表。

实现中,DH根据仍处于连接状态的SE及HCE所包含的路由信息,构建路由表,包括处于连接状态的SE及HCE对应的路由信息。

DH向NFCC发送RF_SET_LISTEN_MODE_ROUTING_CMD,将构建的路由表配置给NFCC;如果NFCC支持对默认路由目标的设置,同时另外设置一个默认路由目标。DH向NFCC发送NFCEE_MODE_SET_CMD,根据需求激活部分/全部非排他SE。

507、则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

之后,DH向NFCC发送NFCEE_MODE_SET_CMD,根据需求激活部分/全部非排他SE。

508、获取配置成功消息,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

DH收到反馈配置成功的RSP后,将Flag值置为0,将PT_SE_ID值置为N/A。

本发明实施例提供的路由设置方法,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例6:

本发明实施例提供了一种终端设备,如图6所示,所述终端设备包括:检测单元601、构建单元602以及设置单元603。

检测单元601,用于检测新接入的安全单元SE是否为排他SE;

所述检测单元601还用于,在检测到所述新接入的SE是排他SE之后,检测是否支持设置默认路由项。

构建单元602,用于在所述检测单元601检测到不支持设置默认路由项之后,构建仅包含排他性SE对应的路由项的路由表。

设置单元603,用于在所述检测单元601检测到支持设置默认路由项之后,将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

所述设置单元603还用于:若所述新接入的SE不是排他SE,则将SE标识符置为第一数值;若所述新接入的SE是排他SE,则将所述SE标识符置为第二数值并记录所述新接入的SE的ID;所述第一数值表示终端中当前未接入排他SE,所述第二数值表示终端中当前已接入排他SE。

所述设置单元603还用于,设置所述SE标识符;所述SE标识符的初始值为所述第一数值。

则,所述终端设备还包括:判断单元,用于判断所述SE标识符是否为所述第一数值。

获取单元,用于若所述判断单元判断所述SE标识符为第一数值,则获取当前路由表。

所述构建单元602还用于,在所述检测单元601检测到所述新接入的SE不是排他SE之后,在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表。

所述判断单元还用于,在所述检测单元601检测到支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

若所述终端设备的近场通信控制器NFCC可以删除路由项,则,所述检测单元601还用于,检测所述终端设备中是否存在主机卡模拟器HCE。

所述构建单元602还用于,若所述检测单元601检测所述终端设备中不存在所述HCE,则在不支持设置默认路由项时,在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述检测单元601还用于,若检测所述终端设备中存在所述HCE,则检测路由表中是否包含目标为所述HCE的路由项;

所述构建单元602还用于,若所述检测单元601检测所述路由表中不包含目标为所述HCE的路由项,则在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述构建单元602还用于,若所述检测单元601检测所述路由表中包含目标为所述HCE的路由项,则在所述检测单元601检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述检测单元601还用于,检测是否有SE被移除。

所述获取单元还用于,在所述检测单元检测到有SE被移除之后,获取当前被移除的SE的ID。

所述判断单元还用于,判断所述SE标识符是否为所述第二数值。

所述判断单元还用于,若所述SE标识符是所述第二数值,则判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同。

所述构建单元602还用于,若所述判断单元判断所述当前被移除的SE的ID与终端中记录的排他SE的ID相同,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表。

所述检测单元601还用于,检测是否支持设置默认路由项。

所述构建单元602还用于,若所述检测单元601检测支持设置默认路由项,构建包含或不包含所述默认路由目标SE对应的路由项的路由表。

所述设置单元603还用于,在所述检测单元601检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE。

所述获取单元还用于,获取配置成功消息。

所述设置单元603还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述构建单元602还用于,若所述判断单元判断所述SE标识符不是所述第二数值,则删除当前路由表中所述当前被移除的SE对应的路由项。

所述判断单元还用于,在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE。

所述判断单元还用于,在判断支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE。

所述设置单元603还用于,在所述判断单元判断当前被移除的SE为所述默认路由目标SE之后,重新指定一个SE作为所述默认路由目标SE。

若所述终端设备的NFCC可以删除路由项,则所述检测单元601还用于,检测所述终端设备中是否存在所述HCE。

所述构建单元602还用于,根据处于连接状态的SE对应的路由项构建路由表。

所述检测单元601还用于,检测是否支持设置默认路由项。

所述设置单元603还用于,检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述获取单元还用于,获取配置成功消息。

所述设置单元603还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述检测单元601还用于,若所述终端设备中存在所述HCE,则检测当前路由表中是否包含目标为所述HCE的路由项。

所述构建单元602还用于,在所述检测单元601检测所述当前路由表中包含目标为所述HCE的路由项之后,根据处于连接状态的SE对应的路由项、所述HCE对应的路由项构建路由表。

所述检测单元601还用于,检测是否支持设置默认路由项。

所述设置单元603还用于,若所述检测单元601检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述获取单元还用于,获取配置成功消息;

所述设置单元603还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述检测单元601还用于,在检测所述当前路由表中不包含目标为所述HCE的路由项之后,检测所述当前路由表中是否包含任一条非排他SE对应的路由项。

所述构建单元602还用于,在所述检测单元601检测所述当前路由表中包含任一条非排他SE对应的路由项之后,删除所述当前被移除的排他SE对应的路由项构建路由表。

所述检测单元601还用于,检测是否支持设置默认路由项。

所述设置单元603还用于,若所述检测单元601检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述获取单元还用于,获取配置成功消息。

所述设置单元603还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述构建单元602还用于,若所述当前路由表中不包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表。

所述检测单元601还用于,检测是否支持设置默认路由项。

所述设置单元603还用于,若所述检测单元601检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述获取单元还用于,获取配置成功消息。

所述设置单元603还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

本发明实施例提供的终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

实施例7:

本发明实施例提供了一种终端设备,如图7所示,所述终端设备包括:DH(设备主机)701。所述终端设备包括还包括NFCC(近场通信管理器)702、SE接口(安全单元接口)703以及存储器704。其中,存储器中存储有路由表。

DH701,用于检测新接入的安全单元SE是否为排他SE。

所述DH701还用于,在检测到所述新接入的SE是排他SE之后,检测是否支持设置默认路由项。

所述DH701还用于,在检测到不支持设置默认路由项之后,构建仅包含排他性SE对应的路由项的路由表。

所述DH701,用于在检测到支持设置默认路由项之后,将所述新接入的SE设置为默认路由目标SE,且构建的路由表可以包含或者不包含排他性SE对应的路由项。

所述DH701还用于,若所述新接入的SE不是排他SE,则将SE标识符置为第一数值;若所述新接入的SE是排他SE,则将所述SE标识符置为第二数值并记录所述新接入的SE的ID;所述第一数值表示终端中当前未接入排他SE,所述第二数值表示终端中当前已接入排他SE。

所述DH701还用于,设置所述SE标识符;所述SE标识符的初始值为所述第一数值。

则,所述DH701,用于若判断所述SE标识符为第一数值,则获取当前路由表。

所述DH701还用于,在检测到所述新接入的SE不是排他SE之后,在所述当前路由表中增加所述新接入的SE对应的路由项,构建路由表。

所述DH701还用于,在检测到支持设置默认路由项时,判断是否需要重新指定所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

若所述终端设备的近场通信控制器NFCC702可以删除路由项,则,所述DH701还用于,检测所述终端设备中是否存在主机卡模拟器HCE。

所述DH701还用于,若检测所述终端设备中不存在所述HCE,则在不支持设置默认路由项时,在所述当前路由表中增加新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述DH701还用于,若检测所述终端设备中存在所述HCE,则检测路由表中是否包含目标为所述HCE的路由项;

所述DH701还用于,若检测所述路由表中不包含目标为所述HCE的路由项,则在不支持设置默认路由项时,在所述当前路由表中增加所述新接入的排他SE对应的路由项构建路由表,若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述DH701还用于,若检测所述路由表中包含目标为所述HCE的路由项,则在检测到不支持设置默认路由项时,删除所述路由表中所述HCE和非排他SE对应的路由项并写入所述新接入的SE对应的路由项,构建仅包含所述新接入的排他SE对应的路由项的路由表;若支持设置默认路由项,则构建的路由表可以包含或者不包含所述新接入的排他SE对应的路由项。

所述DH701还用于,检测是否有SE被移除。

所述DH701还用于,在检测到有SE被移除之后,获取当前被移除的SE的ID。

所述DH701还用于,判断所述SE标识符是否为所述第二数值。

所述DH701还用于,若所述SE标识符是所述第二数值,则判断所述当前被移除的SE的ID与终端中记录的排他SE的ID是否相同。

所述DH701还用于,若所述判断单元判断所述当前被移除的SE的ID与终端中记录的排他SE的ID相同,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表。

所述DH701还用于,检测是否支持设置默认路由项。

所述DH701还用于,若检测支持设置默认路由项,构建包含或不包含所述默认路由目标SE对应的路由项的路由表。

所述DH701还用于,在检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE。

所述DH701还用于,获取配置成功消息。

所述DH701还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述NFCC702用于,若判断所述SE标识符不是所述第二数值,则删除当前路由表中所述当前被移除的SE对应的路由项。

所述DH701还用于,若判断所述SE标识符不是所述第二数值且所述终端的NFCC702不具备删除路由的能力,则删除当前路由表中所述当前被移除的SE对应的路由项。

所述DH701还用于,在支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE。

所述DH701还用于,在判断支持设置默认路由项时判断所述当前被移除的SE是否为所述默认路由目标SE。

所述DH701还用于,在判断当前被移除的SE为所述默认路由目标SE之后,重新指定一个SE作为所述默认路由目标SE。

若所述终端设备的NFCC702可以删除路由项,则所述DH701还用于,检测所述终端设备中是否存在所述HCE。

所述DH701还用于,根据处于连接状态的SE对应的路由项构建路由表。

所述DH701还用于,检测是否支持设置默认路由项。

所述DH701还用于,检测支持设置默认路由项之后,重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述DH701还用于,获取配置成功消息。

所述DH701还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述DH701还用于,若所述终端设备中存在所述HCE,则检测当前路由表中是否包含目标为所述HCE的路由项。

所述DH701还用于,在检测所述当前路由表中包含目标为所述HCE的路由项之后,根据处于连接状态的SE对应的路由项、所述HCE对应的路由项构建路由表。

所述DH701还用于,检测是否支持设置默认路由项。

所述DH701还用于,若检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述DH701还用于,获取配置成功消息;

所述DH701还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述DH701还用于,在检测所述当前路由表中不包含目标为所述HCE的路由项之后,检测所述当前路由表中是否包含任一条非排他SE对应的路由项。

所述DH701还用于,在所述检测单元601检测所述当前路由表中包含任一条非排他SE对应的路由项之后,删除所述当前被移除的排他SE对应的路由项构建路由表。

所述DH701还用于,检测是否支持设置默认路由项。

所述DH701还用于,若所述检测单元601检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述DH701还用于,获取配置成功消息。

所述DH701还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

所述DH701还用于,若所述当前路由表中不包含任一条非排他SE对应的路由项,则根据处于连接状态的SE对应的路由项、所述HCE包含的路由信息,构建路由表。

所述DH701还用于,检测是否支持设置默认路由项。

所述DH701还用于,若检测支持设置默认路由项,则重新指定一个SE作为所述默认路由目标SE,且构建的路由表可以包含或不包含所述默认路由目标SE对应的路由项。

所述DH701还用于,获取配置成功消息。

所述DH701还用于,将所述SE标识符置为所述第一数值,并将所述终端中当前记录的排他SE的ID更新为无效。

本发明实施例提供的终端设备,可以在终端接入排他SE之后,通过设置路由表终止包括HCE在内的所有非排他SE的运行。与现有技术中无法通过指令终止HCE的运行相比,本发明提供的方法及终端设备,可以避免使用HCE,进而保证了新接入的排他SE的正常运行。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,

本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1