具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的信息校验的过程,具体包括以下步骤:
S101:接收终端发送的校验信息。
在本申请实施例中,用户在登录某个账号时,先要通过终端向服务器发送校验信息,服务器在对该校验信息校验成功后才允许用户登录该账号。其中,本申请实施例中,所述的校验信息包括生物特征信息,如,指纹、掌纹、虹膜等信息。
S102:确定该终端的位置信息。
终端在向服务器发送校验信息时,通常都会将该终端自身的互联网协议(Internet Protocol,IP)地址也发送给服务器,即,向服务器上报源IP地址,从而,服务器可根据接收到的该位置信息中携带的源IP地址,确定该终端的位置信息。
具体的,服务器可预先保存IP地址与位置信息的对应关系,当服务器接收到终端发送的位置信息时,则可根据该位置信息中携带的源IP地址,确定该源IP地址对应的位置信息,作为确定出的该终端的位置信息。
当然,终端也可采用其他方法向服务器上报自身的位置信息,如,在向服务器发送位置信息时,可采用全球定位***(Global Positioning System,GPS)确定自身的位置信息并上报给服务器。
S103:根据预先保存的该位置信息对应的各标准信息,对该校验信息进行校验。
在本申请实施例中,服务器预先存储了各位置信息与标准信息的对应关系,其中,一个标准信息仅对应一个位置信息,一个位置信息可对应多个标准信息。
例如,假设位置信息为北京和上海,则北京对应的标准信息可以为指纹A和指纹B,上海对应的标准信息可以为指纹C、指纹D和指纹E。
从而,服务器通过步骤S102确定了发送校验信息的终端的位置信息后,则可仅根据保存的该位置信息对应的各标准信息,对该校验信息进行校验,也即,仅将该校验信息与该终端的位置信息对应的各标准信息进行一一匹配即可,而无需将该校验信息与全量的标准信息都进行匹配。
继续沿用上例,假设确定的发送校验信息的终端的位置信息为北京,则服务器可仅将该校验信息与北京对应的指纹A和指纹B进行匹配即可,而无需将该校验信息与指纹A~E都进行匹配,有效的提高了校验效率,也减轻了服务器的负担。
进一步的,服务器建立并存储这种位置信息与标准信息之间的对应关系的方法可以为:服务器针对一个账号,监控通过该账号执行操作的终端所在的位置信息,记录通过该账号在每个位置信息执行操作的次数,并确定记录的次数最多的位置信息,作为指定位置信息,最后将该账号对应的标准信息存储为指定位置信息对应的标准信息。
例如,假设某用户的账号的标准信息为该用户的指纹,服务器可监控通过该账号执行操作(如,登录操作、支付操作、查询操作等)的终端所在的位置信息,并记录通过该账号在每个位置执行操作的次数,假设预设的位置信息包括北京、上海、广州,而监控到该账号在北京执行操作的次数为10次,在上海执行操作的次数为7次,在广州执行操作的次数为1次,则服务器可将次数最多的北京作为指定位置信息,并将该用户的指纹存储为北京对应的标准信息。
从而,当用户注册一个账号,并将其指纹作为标准信息发送给服务器时,由于此时服务器仅监测到通过该账号的一次操作,因此,服务器会将该标准信息存储为用户注册时所在的位置对应的标准信息,而随着用户使用该账号的次数的增长,该标准信息对应的位置信息就可能会发生改变,也即,本申请实施例中,位置信息与标准信息之间的对应关系并不是一成不变的,而是动态变化的。一个账号的标准信息对应的位置信息最终就是该账号的用户的常居地位置信息。
例如,假设对应一个账号,在某一时刻,服务器监控到该账号在北京执行操作的次数为10次,在上海执行操作的次数为7次,在广州执行操作的次数为1次,则此时该账号的标准信息为北京对应的标准信息。如果在之后的另一时刻,服务器监控到该账号在北京执行操作的次数为12次,在上海执行操作的次数为15次,在广州执行操作的次数为2次,则该账号的标准信息就会变更为上海对应的标准信息。
更进一步的,服务器可针对预设的每个位置信息,为该位置信息配置唯一的一个信息库,用于存储该位置信息对应的各标准信息。而考虑到在实际应用场景中,地理区域一般按从大到小分为多个等级,因此,在本申请实施例中,服务器还可预设一个位置节点树,并将各标准信息保存在该位置节点树中最下层的每个叶子节点中。该位置节点树具体可如图2所示。
图2为本申请实施例提供的位置节点树示意图,该位置节点树共分为四层,分别为全量、国内/外、省、市,各层节点从上到下的地理区域范围递减,则服务器可针对该位置节点树中最下层的每个叶子节点(市),为该叶子节点配置一个唯一的信息库,用来存储该叶子节点对应的标准信息。
考虑到在实际应用场景中,服务器确定出的终端的位置信息并不一定可以精确到该节点树的某一个最下层的叶子节点上,因此,采用该位置节点树保存标准信息时,在图1所示的步骤S103中,服务器可根据预先保存的位置节点树,确定该终端的位置信息对应的位置节点,并确定该位置节点下的所有子节点对应的信息库,根据确定的各信息库中保存的标准信息,对该校验信息进行校验。
例如,基于如图2所示的位置节点树,服务器确定的终端的位置信息可能为浙江省,该位置信息对应的位置节点并不是节点树最下层的市级叶子节点,因此,服务器可确定该位置节点下的所有子节点对应的信息库,并根据该位置节点下的所有子节点对应的信息库中保存的标准信息,对该校验信息进行校验。
考虑到在实际应用场景中,用户可能会到其他位置出差并使用自己的账号执行操作,假设服务器中保存的该账号的标准信息为北京对应标准信息,则用户在北京使用该账号时,服务器可根据北京对应的各标准信息,对用户使用该账号时提交的校验信息校验成功,但是,如果用户出差到上海,在上海使用该账号,则步骤S102中服务器确定出的该终端的位置信息就为上海,从而步骤S103中根据保存的上海对应的各标准信息对该校验信息进行校验时,必然会导致校验失败。
从而,在本申请实施例中,服务器在根据预先保存的该终端的位置信息对应的各标准信息,对该校验信息校验失败时,可根据预先保存的其他标准信息,对该校验信息进行校验。
具体的,考虑到用户从其常居地出差时,一般是以该常居地为起点由近到远的行动路线,因此,在本申请实施例中,基于如图2所示的位置节点树,当服务器在根据预先保存的该终端的位置信息对应的各标准信息,对该校验信息校验失败时,根据预先保存的其他标准信息对该校验信息进行校验的方法具体可以如图3所示。
图3为本申请实施例提供的服务器根据预先保存的其他标准信息对该校验信息进行校验的过程,具体包括以下步骤:
S301:确定该终端的位置信息对应的位置节点的父节点,作为当前节点。
S302:根据该当前节点下的所有子节点对应的信息库中保存的标准信息,再次对所述校验信息进行校验。
S303:判断是否校验通过,若是,则执行步骤S304,否则,执行步骤S305。
S304:校验结束,校验结果为成功。
S305:判断当前节点是否存在父节点,若是,则执行步骤S306,否则,执行步骤S307。
S306:将当前节点的父节点重新确定为当前节点,返回步骤S302。
S307:校验结束,校验结果为失败。
也即,若再次校验失败,则将当前节点的父节点重新确定为当前节点,并根据重新确定的当前节点下所有子节点对应的信息库中保存的标准信息,再次对该校验信息进行校验,直至校验成功或者当前节点不存在父节点为止。如果当前节点已经不存在父节点但仍未校验成功,则说明服务器已经将该校验信息与保存的所有标准信息都进行过匹配,但均未匹配成功,因此此时可确定校验失败。
例如,假设基于如图2所示的位置节点树,用户由其常居地市A1出差到了市A2,则由于服务器中保存的该用户的账号的标准信息是位置节点市A1对应的位置信息,而用户在市A2使用账号时,向服务器发送校验信息后,服务器确定的终端的位置信息为市A2,因此会根据市A2对应的标准信息对该校验信息进行校验,从而校验失败。此时,服务器将该位置节点市A1的父节点省A作为当前节点,并根据省A下的所有子节点(市A1、市A2等)对应的信息库中保存的标准信息,再次对该校验信息进行校验,由于再次校验时,所基于的标准信息中包括了市A1对应的标准信息,因此此次校验即可成功。
当然,上例中再次校验时,所基于的标准信息中也包括市A2对应的标准信息,也就是说再次校验时,又要重复的根据市A2对应的标准信息再对该校验信息进行校验一次,因此,为了避免重复校验,进一步提高校验效率,在本申请实施例中,服务器还可标记已经使用过的标准信息或信息库,并在再次对该校验信息进行校验时,根据除标记以外的标准信息或信息库对该校验信息进行校验。其中,如果在对校验信息进行校验时,是根据一个标准信息进行校验的,则该标准信息即为已经使用过的标准信息;如果在对校验信息进行校验时,是根据一个信息库中的所有标准信息进行校验的,则该信息库即为已经使用过的信息库。
以上为本申请实施例提供的信息校验和存储的方法,基于同样的思路,本申请实施例还提供了一种信息校验的装置和信息存储的装置,如图4和5所示。
图4为本申请实施例提供的信息校验的装置结构示意图,具体包括:
接收模块401,用于接收终端发送的校验信息;
定位模块402,用于确定所述终端的位置信息;
校验模块403,用于根据预先保存的所述位置信息对应的各标准信息,对所述校验信息进行校验。
所述定位模块402具体用于,根据所述校验信息中携带的源互联网协议IP地址,确定所述终端的位置信息。
所述校验模块403具体用于,根据预先保存的位置节点树,确定所述位置信息对应的位置节点,确定所述位置节点下的所有子节点对应的信息库,根据确定的各信息库中保存的标准信息,对所述校验信息进行校验。
所述校验模块403还用于,在根据预先保存的所述位置信息对应的各标准信息,对所述校验信息校验失败时,根据预先保存的其他标准信息,对所述校验信息进行校验。
所述校验模块403具体用于,确定所述位置节点的父节点,作为当前节点,根据所述当前节点下的所有子节点对应的信息库中保存的标准信息,再次对所述校验信息进行校验,若再次校验失败,则将所述当前节点的父节点重新确定为当前节点,并根据重新确定的当前节点下所有子节点对应的信息库中保存的标准信息,再次对所述校验信息进行校验,直至校验成功或者当前节点不存在父节点为止。
所述校验信息和所述标准信息具体包括:生物特征信息。
具体的如图4所示的装置可以位于服务器中。
图5为本申请实施例提供的信息存储的装置结构示意图,具体包括:
监控模块501,用于监控通过账号执行操作的终端所在的位置信息;
记录模块502,用于记录通过所述账号在每个位置信息执行操作的次数;
确定模块503,用于确定记录的次数最多的位置信息,作为指定位置信息;
存储模块504,用于将所述账号对应的标准信息存储为所述指定位置信息对应的标准信息。
具体的如图5所示的装置可以位于服务器中。
本申请实施例提供一种信息校验和存储的方法及装置,该方法服务器接收终端发送的校验信息,并确定该终端的位置信息,根据预先保存的该位置信息对应的各标准信息,对该校验信息进行校验。通过上述方法,服务器仅需将接收到的校验信息,与该终端的位置信息对应的各标准信息进行匹配即可,而无需将校验信息与保存的所有标准信息都进行匹配,从而可有效提高校验效率,也减轻了服务器的负担。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。