具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种模拟卡切换方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端101、102、103中的一个或多个,网络104和服务器105。网络104为用以在终端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端101、102、103可以是各种具有近场通信功能的终端,包括但不限于便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的模拟卡切换方法一般由终端101、102、103执行,相应地,模拟卡切换装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的模拟卡切换方法也可以由服务器105执行,相应的,模拟卡切换装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是终端101、102、103根据获取到的当前扫描点信息,计算与上次识别点信息的第二相似度,根据第二相似度去除在上次识别点激活的模拟卡,根据目标识别点信息与当前扫描点信息的第一相似度,选择目标识别点对应的模拟卡进行激活,进而将终端101、102、103中启用的当前模拟卡切换为目标识别点对应的模拟卡;也可以是服务器105通过获取终端101、102、103的当前扫描点信息,在已存识别点信息中选择出目标识别点,控制终端101、102、103将启用的当前模拟卡切换为目标识别点对应的模拟卡等。
本公开的示例性实施方式提供一种用于实现模拟卡切换方法的移动终端,其可以是图1中的终端101、102、103或服务器105。该移动终端至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行模拟卡切换方法。
下面以图2中的移动终端200为例,对移动终端的构造进行示例性说明。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-etwork Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;
无线通信模块260可以提供应用在移动终端200上的包括无线局域网(WirelessLocal Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)、超宽带(Ultra Wide Band,UWB)技术等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。
移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。
此外,移动终端200中设有NFC模块296以及NFC模块的辅助装置,用于与其他设备进行近场通信。NFC模块296可以对输入的时钟信号进行分频或者倍频处理,然后通过匹配电路和NFC天线进行匹配,将处理后的时钟信号转换为射频信号输出。
下面对本公开示例性实施方式的模拟卡切换方法和模拟卡切换装置进行具体说明。
在相关技术中,采用了根据时间段来选择目标模拟卡,或根据地理位置选择目标模拟卡的方案,进而对移动终端启用的当前模拟卡进行切换。然而,在根据时间段来选择目标模拟卡的过程中,由于设置的时间段都是固定的,如果用户的行动轨迹有所变动(例如:周末或节假日外出、活动时间提前或延迟等),都会在切换卡过程中产生混乱或者无效,给用户带来困扰;在使用地理位置选择目标模拟卡的过程中,例如以GPS定位为依据时,由于GPS定位容易受到遮挡物的干扰,因此会造成定位不准确,甚至在较近距离时往往无法区分的问题,进而导致确定的目标模拟卡不准确的问题,甚至可能出现等待时间较长导致无法正常通信的问题等。
基于上述一个或多个问题,本示例性实施方式提供了一种模拟卡切换方法,可以应用于具有近场通信功能的移动终端,例如,具有近场通信功能的手机、平板电脑、穿戴设备等。参考图3所示,该模拟卡切换方法可以包括以下步骤S310-S330:
在步骤S310中,获取当前扫描点信息。
在本示例性实施方式中,在获取当前扫描点信息之前,可以先确定终端是否进入到获取扫描点信息的时机,只有在终端进入到获取扫描点信息的时机,才获取当前扫描点信息。
本示例性实施方式中,确定终端进入到获取扫描点信息的时机可以有多种,例如,可以是在移动终端进入到感应场时,而对于是否进入到感应场,可以根据移动终端获取到的感应场的强度来确定,在感应场的强度超过预设强度时,确定该移动终端进入到了感应场,其中,预设强度可以根据实际情况确定,本示例性实施方式对此不作特殊限定。
还可以是利用后台守护进程,监控Wi-Fi信号、蓝牙信号和UWB等无线扫描信号的网络变化,在网络变化时确定终端进入到获取扫描点信息的时机。也可以在预设时间间隔扫描获取当前扫描点信息,例如60s-300s进行一次扫描,还可以将该间隔扫描的功能指定至传感器控制中心Sensor Hub执行,从而可以在CPU休眠的情况下,实现监控功能,从而达到降低功耗的功能。
在本示例性实施方式中,在确定出获取扫描点信息的时机后,就可以获取当前扫描点信息。具体的获取过程可以是通过Wi-Fi信号、蓝牙信号和UWB等无线信号对移动终端周围的AP(Access Point,无线访问接入点)信息进行扫描得到的。其中,获取到的AP信息主要包括如表1中的内容:
表1
特征 |
类型 |
说明 |
groupId |
long |
识别点ID,可用时间戳为生成规则 |
cardId |
String |
用于刷卡的卡ID |
BSSID |
String |
AP Mac地址 |
apName |
String |
AP名称 |
level |
int |
信号强度值 |
levelScore |
int |
换算后的信息号分,超大信息号越强[0,5] |
deviceIDs |
String |
一个或多个读卡器设备ID |
siteID |
String |
设置有读卡器设备的站点ID |
posX |
double |
定位经度 |
posY |
double |
定位纬度 |
createTime |
long |
创建时间 |
updateTime |
long |
更新时间 |
updateCount |
int |
更新次数(默值为1),多次更新则累加 |
也就是说,当前扫描点信息包括识别点周围的每个AP本身的信息、还有识别点信息、读卡器设备信息、信号强度值等信息。需要说明的是,上述表1中的信息类别也是上次识别点信息中所包含的信息类别。
在步骤S320中,根据当前扫描点信息,从已存识别点信息中确定出目标识别点;其中,已存识别点信息是在上次识别点的刷卡操作执行后更新的。
在本示例性实施方式中,在获取到当前扫描点信息后,需要对当前扫描点信息进行清除处理,再根据当前扫描点信息,从已存识别点信息中确定出多个初始识别点信息,并根据多个初始识别点信息,确定出目标识别点。其中,对信息进行清除处理将在后续实施方式中进行详细说明。
参照图4,从已存识别点信息中确定出目标识别点的过程具体可以包括:
步骤S410,从已存识别点信息中读取与当前扫描点信息具有相同指定特征值的初始识别点信息。
在实际应用中,指定特征值可以根据实际情况来确定,例如,指定特征值可以是BSSID值,可以从已存识别点信息中确定出与当前扫描点信息具有相同BSSID值的识别点,作为初始识别点;同时获取该初始识别点对应的初始识别点信息。通常,已存识别点信息中可能包含有多个上述的初始识别点。
步骤S420,计算初始识别点信息和当前扫描点信息的第一相似度。
在一示例性实施例中,第一相似度的计算过程可以参考如下方式得到:
假设当前扫描点信息A如下:
A:{AR0:{BSSID:bsid01,levelScore:0.5,cardId:cardId01,...},
AR1:{BSSID:bsid02,levelScore:0.4,cardId:cardId02,...},
AR5:{BSSID:bsid04,levelScore:0.9,cardId:cardId04,...},
...}
假设初始识别点信息B如下:
B:{BR0:{BSSID:bsid02,levelScore:0.5,cardId:cardId01,...},
BR1:{BSSID:bsid03,levelScore:0.4,cardId:cardId02,...},
BR2:{BSSID:bsid04,levelScore:0.4,cardId:cardId03,...},
...}
将上述当前扫描点信息A和初始识别点信息B根据预设规则取交集,其中预设规则可以是BSSID相同的信息取交集,即如果A中存有BSSID的记录在B中也有一条BSSID的记录,则A和B中的这条记录均保留,否则丢弃,从而获得了当前识别点交集信息A0和初始识别点交集信息B0,如下:
A0{AR1:{BSSID:bsid02,levelScore:0.4,cardId:cardId02,...},
AR5:BSSID:bsid04,levelScore:0.9,cardId:cardId04,...},
...}
B0{BR0:{BSSID:bsid02,levelScore:0.5,cardId:cardId01,...},
BR2:{BSSID:bsid04,levelScore:0.4,cardId:cardId03,...},
...}
再以当前识别点交集信息A0和初始识别点交集信息B0中指定值为维度,进行第一相似度计算。例如,可以采用“皮尔逊相关系数”算法,以levelScore值为指定值进行相似度计算。
其中,皮尔逊相关系数公式为:Pa,b=cov(a,b)/(Oa*Ob)。
式中,cov(a,b)为协方差公式,cov(a,b)=E(ab)-E(a)*E(b);Oa、Ob分别为A0、B0的标准差公式。
E(a)为A0的平均值:E(a)=(AR1.leveScore+AR5.leveScore)/2=(0.4+0.9)/2=0.65;
E(b)为B0的平均值:E(b)=(BR0.leveScore+BR2.levelScore)/2=(0.5+0.4)/2=0.45;
E(ab)为A0*B0的平均值:E(ab)=(AR1.levelScore*BR0.levelScore+AR5.levelScore*BR2.levelScore)/2=(0.4*0.5+0.9*0.4)/2=0.28;
Oa为A0的标准差:
Oa=sqrt(((AR1.levelScore-E(a))^2+(AR5.leveScore-E(a))^2)))/2)
=sqrt(((0.4-0.65)^2+(0.9-0.65)^2))/2)
=sqrt((0.0625+0.0625)/2)
=sqrt(0.0625)
=0.25;
Ob为B0的标准差
Ob=sqrt(((BR0.levelScore-E(b))^2+(BR2.leveScore-E(b))^2)))/2)
=sqrt(((0.5-0.45)^2+(0.4-0.45)^2))/2)
=sqrt((0.0025+0.0025)/2)
=0.05;
则Pa,b=(cov(a,b))/(Oa*Ob)
=(E(ab)-E(a)*E(b))/(Oa*Ob)
=(0.28-0.65*0.45)/(0.25*0.05)
=-1。
通常,皮尔逊相关系数Pa,b计算结果值范围为[-1,1],当值<0表示负相关相似度,通过对结果值+1可得到正相关相似度。
相似度划分如下:
0.8-1.0:极强相关
0.6-0.8:强相关
0.4-0.6:中等程度相关
0.2-0.4:弱相关
0.0-0.2:极弱相关或无相关
可见,上述列举的示例的Pa,b+1后为0。
步骤S430,将第一相似度大于或等于第一阈值所对应的初始识别点,确定为中间识别点。
在实际应用中,第一阈值可以根据具体情况确定,例如,第一阈值可以是0-0.3,从多个初始识别点中,挑选出对应的第一相似度大于或等于第一阈值的识别点,作为中间识别点。如果所确定的所有的初始识别点的第一相似度都小于或等于第一阈值,则说明在已存识别点信息中没有与当前识别点相似的识别点,结束本实施例的模拟卡自动切换过程。
步骤S440,将第一相似度最大的中间识别点,确定为目标识别点。
在确定有中间识别点的情况下,对所有的中间识别点所对应的第一相似度进行排序,选择最大的第一相似度所对应的中间识别点,作为目标识别点。从而可以将与当前识别点最相似的识别点作为目标识别点,提高了目标识别点确定的准确性。
在步骤S330中,选择目标识别点对应的模拟卡进行激活。
本示例性实施方式中,在选择目标识别点对应的模拟卡进行激活之前,还需要确定目标识别点是否是上次识别点,如果不是,则需要对上次识别点激活的模拟卡进行去激活。在确定当前识别点与上次识别点是否是同一个识别点的过程中,可以确定目标识别点对应的当前扫描点信息与上次识别点信息的第二相似度,根据上述相似度划分范围设定一个第二阈值,在第二相似度小于第二阈值的时候,确定目标识别点与上次识别点不同,可以从移动终端中去除在上次识别点激活的模拟卡。
在实际应用中,可以根据实际情况设置第二阈值,例如,第二阈值为0.1-0.3。在当前扫描点信息与上次识别点信息的第二相似度小于第二阈值时,说明目标识别点与上次识别点不同,移动终端已经离开了上次识别点,需要将在上次识别点激活的模拟卡去除。
在从已存识别点中确定出目标识别点之后,即可根据目标识别点的cardId特征确定对应的模拟卡,将该模拟卡进行激活以完成模拟卡的切换。
通过本示例性实施方式提供的模拟卡切换方法,可以根据当前扫描点信息,从已存识别点信息中确定出目标识别点,从而将目标识别点对应的模拟卡激活,以完成自动切换模拟卡的操作,从而实现了模拟卡的自动切换,简化了切换模拟卡的步骤,解决了人工切换不方便,耗时较长的问题。
本示例性实施方式中,在详述完模拟卡切换过程之后,还需要对上述的已存识别点信息的获取过程进行以下详细说明:
如上所述,已存识别点信息是在上次识别点的刷卡操作执行后更新的,也就是说,在每次刷卡操作之后都需要对当前刷卡操作对应的识别点的信息进行采集,在处理后进行存储,从而完成已存识别点信息的更新,确保数据的有效性。参照图5,已存识别点信息的更新具体可以包括以下步骤:
步骤S510,在上次扫描点的刷卡操作过程中,采集信息并处理,获得上次识别点信息。
在本示例性实施方式中,可以在移动终端进入到上次扫描点的感应场内时,扫描感应场附近的AP信息。其中,确定移动终端是否进入到感应场,可以根据移动终端获取到的感应场的强度来确定,在感应场的强度超过预设强度时,确定该移动终端进入到了感应场,其中,预设强度可以根据实际情况确定,本示例性实施方式对此不作特殊限定。
另外,还可以是利用后台守护进程,监控Wi-Fi信号、蓝牙信号和UWB等无线信号的网络变化,在网络变化时确定进入到上次识别点的感应场内。
在本示例性实施方式中,在确定移动终端进入到上次识别点的感应场内后,就可以获取感应场附近的AP信息。具体的获取过程可以是通过Wi-Fi信号、蓝牙信号和UWB等无线信号对感应场附近的AP(Access Point,无线访问接入点)信息进行扫描得到的。其中,获取到的AP信息可以参考表1中的内容,此处不再赘述。
在获取到AP信息之后,如果确定在感应场执行了刷卡操作,则对AP信息进行处理,获得上次识别点信息。也就是说,只有在成功获取到AP信息之后,并且在确定执行了刷卡操作的情况下,才对上述信息进行处理,不然无法确定所获得的信息是有效信息。
在本示例性实施方式中,确定在感应场执行了刷卡操作可以通过多种方式来确定:
第一种,确定是否发生了读卡或交易事件。
当移动终端与读卡器之间有明确的读卡或交易事件产生时,则可以断定进行了刷卡操作。
第二种,在确定移动终端切换模拟卡后,确定移动终端是否在预设时间内进入感应场。
如果无法确定是否发生了读卡或交易事件,还可以当用户在切过卡后,并在预设时间内进入到感应场时,将此视为用户进行了刷卡操作。当然也可能存在着用户虽然在切过卡后进入到了感应场,但并不一定进行了刷卡操作的情况,但这种情况发生的概率较低,可以忽略。
在实际应用中,预设时间可以根据实际情况来设定,例如,预设时间可以是40s、50s或60s,本示例性实施方式对此不作特殊限定。
第三种,确定移动终端是否获取到刷卡确认信息。
如果无法通过上述两种方式确定执行了刷卡操作,则可以通过在移动终端的刷卡界面显示提示信息,让用户通过点击刷卡确认信息来确定在移动终端执行了刷卡操作。当移动终端接收到刷卡确认信息后,则可以确定该移动终端执行了刷卡操作。
在确定执行了刷卡操作的情况下,需要对获取到的AP信息进行处理,以获得上次识别点信息。参照图6,本示例性实施方式中,对AP信息进行处理的步骤包括:
步骤S610,从AP信息中清除移动设备AP信息。
在实际应用中,AP信息中的AP名称通常携带有设备的品牌信息,此信息可确定当前设备是否是移动设备AP,因此,可以根据AP信息的AP名称来确定移动设备AP;也可以根据AP信息的BSSID,来确定AP信息中的移动设备AP。BSSID其实就是MAC地址,MAC地址的生成规则是前24bit是由IEEE(Institute of Electrical and Electronics Engineers,电气与电子工程师协会)统一规定分划给各个厂商的,因此可以结合移动设备厂商的记录标记,将属于移动厂商的AP确定为移动设备AP。
在确定出移动设备AP后,可以将移动设备AP从AP信息中移除,从而可以达到从AP信息中清除移动设备AP的目的。
步骤S620,根据预设规则,将剩余的AP信息中的信号强度转化为信号评分值,用于相似度的计算。
在清除移动设备AP之后,剩余的AP信息就是固定地点的AP产生的。通常AP信息的信号强度基本在[-100,-55]之间,为了便于在计算相似度的时候应用,可以根据预设规则,将信号强度转换为[0,5]之间的信号评分值。
在实际应用中,预设规则可以根据实际情况灵活确定,例如,参照表1中的标记,当信号强度level<=-100时,则设定信号评分值levelScore取0;当信号强度level>=-55时,则设定信号评分值levelScore取x,信号满格,参照上述设定,x可以为5。
接着,当-100<level<-55时,可以将信号评分值设定为:levelScore=(level-(-100))*x/(-55-(-100)),从而可以将levelScore设定至0-5之间的数值,便于后续的公式计算。
步骤S520,根据上次识别点信息对已存识别点信息进行更新。
在获得上次识别点信息后,可以根据上次识别点信息与已存识别点信息,确定该上次识别点信息对应的上次识别点是否是已存识别点信息中的已存识别点;在确定上次识别点是已存识别点时,可以根据上次识别点信息对已存识别点信息进行更新,保存所述已存识别点信息中与所述上次识别点信息相同的信息。而在确定上次识别点不是已存识别点时,在已存识别点信息中建立上次识别点信息。
在本示例性实施方式中,确定上次识别点信息对应的上次识别点是否是已存识别点信息中的已存识别点包括:
首先,确定上次识别点对应的读卡器设备ID与已存识别点的读卡器设备ID是否相同,如果相同,则确定上次识别点为已存识别点。如果不相同,则根据识别点对应的站点ID,确定与上次识别点有相同站点ID的已存识别点。由于站点有时候会涵盖多个读卡器设备,因此,基于站点ID确定的已存识别点,还需要增加第三相似度判断,在确定已存识别点对应的信息与上次识别点信息的第三相似度大于或等于第三阈值时,将第三相似度最大的已存识别点确定为与上次识别点相同。其中,第三相似度的确定方法参照第一相似度,此处不再赘述。
然而,如果确定不出相同的站点ID,则直接确定上次识别点与已存识别点的第四相似度,在第四相似度大于或等于第四阈值时,可以将第四相似度最大的已存识别点确定为与上次识别点相同。其中,第四相似度的确定方法参照第一相似度,此处不再赘述。
在实际应用中,根据判断条件的精度,第三阈值需要小于第四阈值,例如,第三阈值可以是0.1-0.3之间的任一值,第四阈值可以是0.6-0.8之间的任一值,本示例性实施方式对于第三阈值和第四阈值的具体取值不作特殊限定。
在确定上次识别点是已存识别点时,对该已存识别点对应的信息与上次识别点信息进行交集计算,保存所述已存识别点信息中与所述上次识别点信息相同的信息。如果第四相似度小于第四阈值,则可以在已存识别点信息中建立上次识别点信息,并保持。此处对于具体的建立方式不作特殊限定。
下面将结合图7和图8对本示例性实施方式中的已存识别点信息的更新过程,以及切换目标识别点对应的模拟卡的过程步骤进行系统性阐述:
首先,进入步骤S701,即判断条件1,确定移动终端是否进入到感应场;如果否,则结束;如果是,则进入步骤S702,获取当前扫描点信息;如果获取成功,则进入步骤S703,对信息进行清除处理;进入步骤S704,信息处理后,确定当前扫描点信息与上次识别点信息的第二相似度,简称确定第二相似度;进入步骤S705,即判断条件2,确定第二相似度是否小于第二阈值;如果是,则进入步骤S706,从移动终端中去除在上次识别点激活的模拟卡,简称去激上次模拟卡;进入步骤S707,从已存识别点信息中确定初始识别点;接着,进入步骤S708,计算初始识别点与当前识别点的第一相似度,简称确定第一相似度;进入步骤S709,即判断条件3,确定第一相似度是否大于或等于第一阈值;如果是,则进入步骤S710,将第一相似度最大的识别点确定为目标识别点,简称确定目标识别点;如果否,则结束。最后,进入步骤S711,选择目标识别点对应的模拟卡进行激活,即切换模拟卡。
对于已存识别点信息的获取,如图8所示,首先,进入步骤S801,确定移动设备进入到上次识别点的感应场内;步骤S802,扫描感应场附近的AP信息,简称扫描信息;在扫描成功后,需要判断是否执行了刷卡操作,具体的,包括步骤S803,即进入判断条件4,判断是否发送了读卡或交易事件,如果是,则说明执行了刷卡操作;如果否,则进入步骤S804,即进入判断条件5,在确定移动终端切换模拟卡后,确定移动终端是否在预设时间内进入感应场,简称用户是否切卡并进入感应场;如果是,则说明执行了刷卡操作;如果否,则进入步骤S805,即判断条件6,确定移动终端是否获取到刷卡确认信息。如果否,则结束,如果是,则说明执行了刷卡操作;进入步骤S806,对获取到的AP信息进行处理,获得上次识别点信息;进入步骤S807,即判断条件7,确定上次识别点对应的读卡器设备ID与已存识别点的读卡器设备ID是否相同;如果相同,则确定上次识别点为已存识别点,进入步骤S815;如果不相同,则进入步骤S808,根据站点ID,确定与上次识别点有相同站点ID的已存识别点;即进入判断条件8,确定是否有相同站点ID;如果是,则进入步骤S809,确定上次识别点与已存识别点的第三相似度;步骤S810,进入判断条件9,确定第三相似度是否大于或等于第三阈值;如果是,则进入步骤S811,确定第三相似度最大的已存识别点,并作为与上次识别点相同的识别点;并进入步骤S815;如果否,则进入步骤S812,确定上次识别点与已存识别点的第四相似度;进入步骤S813,即判断条件10,确定第四相似度是否大于或等于第四阈值;如果是,则进入步骤S814,确定第四相似度最大的已存识别点,并作为与上次识别点相同的识别点;并进入步骤S815。如果否,即上次识别点不是已存识别点,则进入步骤S816,直接在已存识别点信息中新建上次识别点信息。其中,步骤S815还包括:对该已存识别点对应的信息与上次识别点信息进行交集计算,保存所述已存识别点信息中与所述上次识别点信息相同的信息,简称更新已存识别点信息。
综上,本示例性实施方式中,可以根据当前扫描点信息与上次识别点信息的第二相似度,确定去除在上次识别点激活的模拟卡;再可以从已存识别点信息中确定出目标识别点,从而将目标识别点对应的模拟卡激活,以完成自动切换模拟卡的操作,从而实现了模拟卡的自动切换,简化了切换模拟卡的步骤,解决了人工切换不方便,耗时较长的问题。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图9所示,本示例的实施方式中还提供一种模拟卡切换装置900,应用于具有近场通信功能的移动终端,包括信息获取模块910、识别点确定模块920、激活模块930和信息更新模块940。其中:
信息获取模块910,可以用于获取当前扫描点信息;
识别点确定模块920,可以用于根据当前扫描点信息,从已存识别点信息中确定出目标识别点;其中,已存识别点信息是在上次识别点的刷卡操作执行后更新的;
激活模块930,可以用于选择目标识别点对应的模拟卡进行激活。
在一示例性实施例中,识别点确定模块920,可以用于从所述已存识别点信息中确定出多个初始识别点信息;根据多个所述初始识别点信息,确定出所述目标识别点。
在一示例性实施例中,识别点确定模块920,可以用于从所述已存识别点信息中读取与所述当前扫描点信息具有相同指定特征值的所述初始识别点信息。
在一示例性实施例中,识别点确定模块920,可以用于计算所述初始识别点信息和所述当前扫描点信息的第一相似度;将所述第一相似度大于或等于第一阈值所对应的初始识别点,确定为中间识别点;将所述第一相似度最大的所述中间识别点,确定为所述目标识别点。
在一示例性实施例中,激活模块930,可以用于确定所述目标识别点对应的目标识别点信息与上次识别点信息的第二相似度;在所述第二相似度小于第二阈值时,去除在上次识别点激活的模拟卡。
在一示例性实施例中,激活模块930,可以用于将所述当前扫描点信息与所述上次识别点信息根据预设规则取交集,获得当前识别点交集信息和上次识别点交集信息;以所述当前识别点交集信息和所述上次识别点交集信息中的指定值为维度,计算所述第二相似度。
在一示例性实施例中,信息更新模块940,可以用于在上次扫描点的刷卡操作过程中,采集信息并处理,获得上次识别点信息;根据上次识别点信息对已存识别点信息进行更新。
在一示例性实施例中,信息更新模块940,可以用于根据上次识别点信息与已存识别点信息,确定上次识别点信息对应的上次识别点是否是已存识别点信息中的已存识别点;在确定上次识别点是已存识别点时,保存已存识别点信息中与上次识别点信息相同的信息;在确定上次识别点不是已存识别点时,将上次识别点信息新增到已存识别点信息中。
在一示例性实施例中,信息更新模块940,可以用于确定上次识别点对应的读卡器设备ID与已存识别点的读卡器设备ID是否相同;如果相同,则确定上次识别点为已存识别点;如果不相同,则根据识别点对应的站点ID,确定与上次识别点有相同的站点ID的已存识别点;确定已存识别点对应的信息与上次识别点信息的第三相似度大于或等于第三阈值时,将第三相似度最大的已存识别点确定为与上次识别点相同的识别点。
在一示例性实施例中,信息更新模块940,可以用于在没有相同的读卡器设备ID和站点ID的情况下,确定上次识别点与已存识别点的第四相似度;在第四相似度大于或等于第四阈值时,将第四相似度最大的已存识别点确定为与上次识别点相同的识别点;在第四相似度小于第四阈值时,在已存识别点信息中建立上次识别点信息。
在一示例性实施例中,信息更新模块940,可以用于在移动终端进入到上次识别点的感应场内时,获取感应场附近的AP信息;在获取到AP信息之后,如果确定在感应场执行了刷卡操作,则对AP信息进行处理,获得上次识别点信息。
在一示例性实施例中,信息更新模块940,可以用于确定是否发生了读卡或交易事件;或,在确定移动终端切换模拟卡后,确定移动终端是否在预设时间内进入感应场;或,确定终端是否获取到刷卡确认信息。
在一示例性实施例中,信息更新模块940,可以用于从AP信息中清除移动设备AP信息;根据预设规则,将剩余的AP信息中的信号强度转化为信号评分值,用于相似度的计算。
在一示例性实施例中,信息更新模块940,可以用于根据AP信息的AP名称或AP信息的BSSID,确定移动设备AP;将移动设备AP信息从AP信息中移除。
在一示例性实施例中,信息获取模块910,可以用于在获取当前扫描点信息之前,先确定终端进入到获取扫描点信息的时机。
在一示例性实施例中,信息获取模块910,可以用于确定所述终端进入到感应场;或,确定无线扫描信号的网络发生变化。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3至图6中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。