首页 / 专利库 / 电脑零配件 / 外围设备 / 键盘 / 字符串校验的方法及装置

字符串校验的方法及装置

阅读:519发布:2024-01-10

专利汇可以提供字符串校验的方法及装置专利检索,专利查询,专利分析的服务。并且本 说明书 实施例 提供一种字符串校验的方法和装置,根据该方法,首先接收用户输入的当前字符串,将该当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,这多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串,然后根据匹配结果,确定该当前字符串是否通过校验。进一步地,可以根据校验结果,更新上述校验数据集。如此可以更有效地对字符串进行校验。,下面是字符串校验的方法及装置专利的具体信息内容。

1.一种字符串校验的方法,包括:
接收用户输入的当前字符串;
将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
根据匹配结果,确定所述当前字符串是否通过校验;以及
根据校验结果,更新所述校验数据集。
2.根据权利要求1所述的方法,其中根据匹配结果,确定所述当前字符串是否通过校验包括:
在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
否则,确定所述当前字符串未通过校验。
3.根据权利要求2所述的方法,其中根据校验结果,更新所述校验数据集包括:
在确定所述当前字符串通过校验的情况下,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
4.根据权利要求3所述的方法,其中更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
增加与所述当前字符串的匹配度满足所述第一匹配条件的校验字符串的匹配参数的值。
5.根据权利要求2所述的方法,其中根据校验结果,更新所述校验数据集包括:
在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
6.根据权利要求5所述的方法,其中所述输入状态包括以下中的一项或多项:
作用到键盘的压、在键盘上的接触位置、按键时间间隔、按键时长。
7.根据权利要求5所述的方法,其中在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态包括:
检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
8.根据权利要求5所述的方法,其中所述预设条件包括:
所述输入状态与历史输入状态的匹配度超过状态匹配度阈值
9.根据权利要求1-8中任一所述的方法,还包括:
将所述多个校验字符串的、与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
10.根据权利要求1所述的方法,其中将所述当前字符串与预先存储的校验字符串进行匹配之前还包括:
获取用户设置的所述标准字符串;
根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
11.根据权利要求10所述的方法,其中所述预设规则包括以下中的一项或多项:
改变所述标准字符串中包括的至少一个英文字符的大小写状态;
将所述标准字符串包括的中文字符替换为对应的拼音字符;
将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
删除所述标准字符串中任意一个字符。
12.一种字符串校验的装置,包括:
接收单元,配置为接收用户输入的当前字符串;
匹配单元,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
确定单元,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及更新单元,配置为根据校验结果,更新所述校验数据集。
13.根据权利要求12所述的装置,其中所述确定单元配置为:
在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
否则,确定所述当前字符串未通过校验。
14.根据权利要求13所述的装置,其中所述更新单元配置为:
在确定所述当前字符串通过校验的情况下,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
15.根据权利要求14所述的装置,其中所述更新单元更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
增加与所述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。
16.根据权利要求13所述的装置,其中所述更新单元还配置为:
在所述当前字符串未通过校验的情况下,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
17.根据权利要求16所述的装置,其中所述输入状态包括以下中的一项或多项:
作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。
18.根据权利要求16所述的装置,其中所述更新单元还包括:
检测模,配置为检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
获取模块,配置为若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
19.根据权利要求16所述的装置,其中所述预设条件包括:
所述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
20.根据权利要求12-19中任一所述的装置,还包括:
比较单元,配置为将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
删除单元,配置为从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
21.根据权利要求12所述的装置,其中匹配单元之前还包括生成单元,配置为:
获取用户设置的所述标准字符串;
根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
22.根据权利要求21所述的装置,其中所述预设规则包括以下中的一项或多项:
改变所述标准字符串中包括的至少一个英文字符的大小写状态;
将所述标准字符串包括的中文字符替换为对应的拼音字符;
将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
删除所述标准字符串中任意一个字符。
23.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项的所述的方法。
24.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。

说明书全文

字符串校验的方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机进行字符串校验的方法和装置。

背景技术

[0002] 随着计算机和互联网技术的发展,人们生活中接触的网络平台或应用越来越多,例如电子邮箱、交友应用、购物应用、支付应用等等。用户在使用这些网络平台或应用时,后台服务器通常通过用户标识(如手机号码、用户名、username等)所关联的验证字符串(例如验证码、口令、password等)对用户身份进行验证,以免用户在这些网络平台或应用的用户账号受到侵犯,例如被他人冒用、黑客攻击等。
[0003] 常规技术中,为了达到上述目的,往往需要用户输入与用户标识所关联的验证字符串完全一致的字符串。然而,这样的方式在一些情况下,例如用户输入较长(如包含20个字符)验证字符串,或者记不清准确的验证字符串时,输错或者记错一个字符,则无法通过身份认证,在用户无法确定输错或记错的是哪一个字符时,则需要重新输入和尝试,影响网络平台或应用使用的有效性和用户体验的友好度。
[0004] 因此,希望能有改进的方案,通过有效的字符串校验,在保证安全性的同时,提高网络平台或应用使用的有效性和用户体验的友好度。发明内容
[0005] 本说明书一个或多个实施例描述了一种方法和装置,可以基于容错字符串进行字符串校验,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。
[0006] 根据第一方面,提供了一种字符串校验的方法,包括:
[0007] 接收用户输入的当前字符串;
[0008] 将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
[0009] 根据匹配结果,确定所述当前字符串是否通过校验;以及
[0010] 根据校验结果,更新所述校验数据集。
[0011] 根据一种可能的设计,上述根据匹配结果,确定所述当前字符串是否通过校验包括:
[0012] 在所述当前字符串与所述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定所述当前字符串通过校验;
[0013] 否则,确定所述当前字符串未通过校验。
[0014] 在一种可能的设计中,根据校验结果,更新所述校验数据集包括:
[0015] 如果确定所述当前字符串通过校验,更新所述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。
[0016] 进一步地,在一个实施例中,上述更新所述多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:
[0017] 增加与所述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。
[0018] 根据一种可能的设计,根据校验结果,更新所述校验数据集包括:
[0019] 如果所述当前字符串未通过校验,获取用户输入所述当前字符串过程中与键盘交互的输入状态;
[0020] 响应于所述输入状态满足预设条件,将所述当前字符串作为容错字符串添加到所述校验数据集中。
[0021] 在一个可能的设计中,上述输入状态包括以下中的一项或多项:
[0022] 作用到键盘的压、在键盘上的接触点位置、按键时间间隔、按键时长。
[0023] 在一个实施例中,如果所述当前字符串未通过校验,获取用户输入所述当前字符串过程中与键盘交互的输入状态包括:
[0024] 检测所述当前字符串与所述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;
[0025] 若满足第二匹配条件,获取用户输入所述当前字符串时的所述输入状态。
[0026] 进一步地,在一个可能的实施例中,上述预设条件包括:
[0027] 所述输入状态与历史输入状态的匹配度超过状态匹配度阈值
[0028] 根据一种可能的设计,上述方法还包括:
[0029] 将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;
[0030] 从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
[0031] 根据一种实施方式,将所述当前字符串与预先存储的校验字符串进行匹配之前还包括:
[0032] 获取用户设置的所述标准字符串;
[0033] 根据预设规则,基于所述标准字符串生成至少一个所述容错字符串。
[0034] 进一步地,在一个实施例中,所述预设规则包括以下中的一项或多项:
[0035] 改变所述标准字符串中包括的至少一个英文字符的大小写状态;
[0036] 将所述标准字符串包括的中文字符替换为对应的拼音字符;
[0037] 将所述标准字符串中的至少一个字符替换为键盘上的相邻字符;
[0038] 删除所述标准字符串中任意一个字符。
[0039] 根据第二方面,提供一种字符串校验的装置,包括:
[0040] 接收单元,配置为接收用户输入的当前字符串;
[0041] 匹配单元,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;
[0042] 确定单元,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及[0043] 更新单元,配置为根据校验结果,更新所述校验数据集。
[0044] 根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
[0045] 根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
[0046] 通过本说明书实施例提供的方法和装置,首先基于预先存储的包括容错字符串的多个校验字符串与用户输入的当前字符串进行匹配,然后根据匹配结果确定用户输入的当前字符串是否通过校验,如此,可以在用户输入的当前字符串与标准字符串不完全一致的情况下,可以根据用户输入的当前字符串与容错字符串的匹配确定当前字符串是否通过验证,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。进一步地,在确定除当前字符串的验证结果后,用该验证结果来更新校验数据集,从而对校验数据集进行优化,使得校验数据集在后续的判断中,进一步提高判断准确度。附图说明
[0047] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0048] 图1示出本说明书披露的一个实施例的实施场景示意图;
[0049] 图2示出根据一个实施例的字符串校验的方法流程图
[0050] 图3示出校验数据集的一个具体例子;
[0051] 图4示出根据一个实施例的更新校验数据集的流程图;
[0052] 图5示出根据一个实施例的用于字符串校验的装置的示意性框图

具体实施方式

[0053] 下面结合附图,对本说明书提供的方案进行描述。
[0054] 图1为本说明书披露的一个实施例的实施场景示意图。如图所示,用户可以针对各种客户端应用,例如电子邮箱、交友应用、购物应用、支付应用等等,设置用户名和登录密码。这里的客户端应用可以运行在具有数据处理能力和数据输入功能的各种终端设备上,例如智能手机、平板电脑、台式计算机等等。计算平台,例如上述客户端应用的服务器,可以将用户设置的上述登录密码作为标准字符串,生成包含标准字符串和容错字符串的校验字符集。接着,在用户再次通过客户端应用登录平台的情况下,计算平台需要根据用户输入的当前字符串对用户身份进行认证的同时,对校验字符及进行检测和修正。这是基于这样的原因:计算平台初始生成的校验字符集仅仅将用户设置的登录密码作为标准字符串进行扩展,而没有考虑用户自身的操作习惯等因素。于是,计算平台可以在接收到用户输入的当前字符串后,可以从校验数据集中获取校验字符串与当前字符串进行匹配,以该匹配结果为准判断当前字符串是否通过验证。
[0055] 进一步地,计算平台一方面将判断的验证结果反馈至客户端应用,另一方面,将判断的验证结果作为反馈,更新校验数据集。通过这样的过程,一边使用校验数据集对用户进行身份认证,一边根据用户输入的当前字符串作为回馈结果来修改校验数据集,从而不断提高校验数据集与用户习惯的适应性,从而不断提高校验数据集的准确度,更好地针对用户进行个性化的判断。下面描述上述场景的具体执行过程。
[0056] 图2示出根据一个实施例的字符串校验的方法流程图。该方法的执行主体可以是任何具有计算、处理能力的系统、设备、装置、平台或服务器,例如图1所示的计算平台,更具体地,例如是需要对用户身份进行认证的各种后台服务器,比如支付宝服务器、钉钉服务器、购物应用服务器等。
[0057] 如图2所示,该方法包括以下步骤:步骤21,接收用户输入的当前字符串;步骤22,将上述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,上述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;步骤23,根据匹配结果,确定上述当前字符串是否通过校验;以及,步骤24,根据校验结果,更新上述校验数据集。
[0058] 首先,在步骤21,接收用户输入的当前字符串。可以理解,字符串可以是连续输入的多个字符,这些字符可以包括但不限于以下的一项或多项:数值、英文字符(如字母a)、中文字符(如汉字中)、特殊符号(如@)等等。用户当前连续输入的、没有结束标志(例如换行符)的字符可以称为当前字符串。
[0059] 在一个实施例中,用户可以通过麦克输入字符。通过语音识别,可以将用户输入的音频信息转换成相应的字符串。
[0060] 在一个实施例中,用户可以通过物理键盘输入字符。这种情况下,可以通过按键与字符映射表确定用户输入的字符。
[0061] 在一个实施例中,用户可以通过触摸屏或手写屏输入字符。一般地,触摸屏可以通过虚拟键盘或触控键盘来接收用户操作,根据当前键盘状态和用户与触摸屏的接触位置确定用户输入的字符。手写屏可以根据用户通过手指或其他手写工具在屏幕上的运动轨迹,通过字符识别确定用户输入的字符。
[0062] 在更多实施例中,用户还可以通过包含更多方面的输入装置确定用户输入的字符。
[0063] 可以理解,相应地,在步骤21,在需要输入认证口令(password)、验证码、用户名、登录密码等情况下,可以接收用户输入的当前字符串,该当前字符串可以通过上述各方面中一个或多个输入装置获取。
[0064] 接着,在步骤22,将上述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配。可以理解,需要对用户输入的当前字符串进行校验的情况下,可以预先存储有校验数据集。校验数据集可以是一个集合,也可以是一个数据库等,其用于存储多个校验字符串。进一步地,可以将上述当前字符串与多个校验字符串进行匹配,以判断当前字符串与校验字符串是否相符合。
[0065] 校验字符串可以包括用户设置的标准字符串。例如,用户在网络平台注册账号时,往往会设置用户名和登录密码。用户所设置的用户名和/或登录密码都可以是对用户身份进行认证的依据。相应地,用户所设置的用户名和/或登录密码就可以作为用户设置的标准字符串。一般地,用户名可以作为对用户身份进行区分的用户标识,登录密码可以作为对使用用户标识的用户进行身份认证的标准字符串。
[0066] 校验字符串还可以包括至少一个与标准字符串相关联的容错字符串。可以理解,在用户正常输入字符串的过程中,可能会出现一些偏差,例如:输入法默认的首字母大写可能导致用户将小写的英文字符“s”输入为大写的英文字符“S”;忘记切换中英文输入状态,导致将中文字符“中国”输入为拼音字符“zhongguo”;对于一个包含字符数较多的字符串,漏掉一个字符;等等。如此,可以在用户输入字符时,通过容错字符串来允许这样的偏差存在。可以理解,容错字符串是根据标准字符串得到的,与标准字符串相关联。如此,可以增加对用户输入字符串偏差的包容性。
[0067] 在一个实施例中,在步骤22之前,可以在获取用户设置的标准字符串后,根据预设规则,基于该标准字符串生成至少一个容错字符串。该预设规则例如可以包括但不限于以下的一项或多项:改变标准字符串中包括的至少一个英文字符的大小写状态;将标准字符串包括的中文字符替换为对应的拼音字符;将标准字符串中的至少一个字符替换为键盘上的相邻字符;删除标准字符串中任意一个字符。
[0068] 作为示例,在图3中,对于标准字符串311“may1988王”,根据预设规则生成的容错字符串312可以包括“May1988王”、“may1988wang”、“msy1988wang”、“my1988王”等等。标准字符串311和容错字符串312共同包括在校验数据集31中。可选地,当用户可以通过麦克风输入字符时,由于语音识别的偏差,预设规则还可以包括将标准字符串中的至少一个字符替换为发音近似的字符等。例如上述例子中,标准字符串“may1988王”的容错字符串还可以包括“may1988汪”、“may1酒吧吧王”等等。
[0069] 值得说明的是,校验数据集在用户设置标准字符串(如登录密码)时生成。在一个实施例中,一旦接收到用户设置的标准字符串,就基于该标准字符串生成容错字符串,从而构成校验数据集。在另一实施例中,可以在用户设置完标准字符串之后再次使用时,在检测到校验数据集中容错字符串个数为0的情况下,再生成容错字符串,本申请对此不作限定。如此,可以对校验字符集进行初始化,以在用户首次出现错误时就可以有容错机会。
[0070] 如上所述,校验数据集中存储有包括用户设置的标准字符串以及容错字符串的多个校验字符串。相应地,在步骤22中,将当前字符串与校验数据集中的多个校验字符串一一进行匹配,确定匹配结果。然后,在步骤23,根据匹配结果,确定上述当前字符串是否通过校验。可以理解,通过步骤22的匹配过程可以得到匹配结果,该匹配结果可以用于确定当前字符串是否通过校验,亦即确定用户是否通过身份认证。该匹配结果例如可以是:完全匹配、90%匹配、不匹配等等。
[0071] 在一个实施例中,在当前字符串与多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定当前字符串通过校验,否则,确定当前字符串未通过校验。
[0072] 其中,匹配度可以用来表示字符串的匹配程度。
[0073] 在一种实施例中,匹配度通过百分数或小数表示,例如通过Jaccard相似系数方法计算,当前字符串A(如abc)与校验字符串B(如abe)的匹配度=当前字符串A与校验字符串B中的相同字符数(2)/当前字符串A与校验字符串B中相匹配的字符数(2)与不相匹配的字符数(A中的字符c和B中的字符e,共2个)之和,所得到的匹配度例如是50%或0.5。如此,可以针对不同的标准字符串使匹配度具有统一的格式。
[0074] 在另一种实施例中,匹配度通过比值形式表示,例如匹配度通过当前字符串A与校验字符串B的匹配度=当前字符串A与校验字符串B的相同字符位数/标准字符串C的字符位数,所得到的匹配度例如是7/8等等。如此,对当前字符串与校验字符串出现的偏差有一个直观的反映。
[0075] 在又一种实施例中,匹配度还可以通过当前字符串与校验字符串不匹配的字符位数标识,该位数越小,匹配度越高。如此,不论校验字符串长短,根据有偏差字符的数量统一衡量标准。
[0076] 在再一种实施例中,匹配度还可以根据匹配程度划分等级,例如对于10个字符支撑的校验字符串,当前字符串有10个字符与其匹配时匹配度级别为1,有9个字符与其匹配时匹配度级别为2等等。
[0077] 为了清楚和区分起见,将用于限定匹配结果中当前字符串是否通过校验的条件称为第一匹配条件。可以理解,不同的匹配度计算方法,第一匹配条件通过不同的形式表示,例如匹配度为100%、匹配度为1、不匹配的字符位数不超过1等等。当匹配度为100%时,当前字符串与任意一个校验字符串完全匹配。一般地,只要当前字符串与校验数据集中的某一校验字符串的匹配度满足第一匹配条件,就可以停止与校验数据集中剩余的其他校验字符串的比对和匹配,例如,在第一匹配条件为匹配度大于90%的情况下,当前字符串和校验字符串中的任一字符串的匹配度大于90%,可以停止匹配,根据该匹配结果确定当前字符串通过校验。
[0078] 根据一种实施方式,由于已经设置了容错字符串来允许用户的输入偏差,此处的第一匹配条件可以被设置为较为严格的匹配条件,例如100%匹配。
[0079] 接着,在步骤24,根据步骤23中的校验结果,更新上述校验数据集。可以理解,初始地,校验数据集可以由开发人员根据实践经验而设置;随着实施例的方法的推进,会不断进行更新和调整。例如,将用户不会出错的容错字符串删除,将用户可能出错的其他字符串增加为容错字符串等,以更加符合用户个人习惯。
[0080] 在一个实施例中,如果确定当前字符串通过校验,执行步骤241,更新多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。可以理解,为了调整校验字符串,可以对每个校验字符串设置一个与匹配频次相关的匹配参数,当在校验字符串中匹配到当前字符串的情况下,更新该匹配参数。由于匹配结果决定校验结果,因此,该匹配参数与本实施例方法执行过程中的校验结果直接相关。其中,这里的匹配频次可以是匹配频率,也可以是匹配次数。匹配频率可以通过匹配到的次数与总匹配次数的比值表示。该匹配参数可以是匹配频率或匹配次数本身,也可以是与匹配频率或匹配次数正相关的参数。
[0081] 进一步地,在一些可能的实施例中,更新多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:增加与上述当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。例如,在本实施例方法的一次执行过程中,在匹配参数是匹配次数的情况下,将匹配到的校验字符串的匹配参数增加1。
[0082] 在另一实施例中,匹配参数例如是匹配频率或匹配比例。相应地,更新校验字符串的匹配参数可以包括,重新计算各个校验字符串的匹配比例。在一个具体例子中,假定校验数据集中包含5条校验字符串,S1-S5,经过之前的9次匹配过程,匹配比例分别为S1:0/9,S2:2/9,S3:1/9,S4:5/9,S5:1/9。在执行本次匹配过程时,当前字符串与S2相匹配(即匹配度满足第一匹配条件),那么相应地,需要将各个校验字符串的匹配比例更新为:S1:0/10,S2:3/10,S3:1/10,S4:5/10,S5:1/10。这其中,对于匹配到的字符串S2,匹配参数的分子分母均进行递增,对于其他字符串,仅将其匹配参数的分母进行递增,从而更新各个校验字符串的匹配比例。
[0083] 另一方面,如果当前字符串未通过校验,在用户通过键盘输入当前字符串的情况下,进一步执行步骤242,获取用户输入当前字符串过程中与键盘交互的输入状态。该输入状态包括用户通过键盘输入字符串时,与用户的个人操作习惯有关的、能够反映用户个人的生物习惯特征的状态信息。一般地,每个用户在操作键盘时都有自己的习惯特点,例如,有的人喜欢用力敲击键盘按键,有的人喜欢轻轻按压键盘按键,有的人在键盘上切换按键的速度很快(按键时间间隔较短),有的人输入一个字符在按键上停留的时间较长,等等。在步骤242,旨在捕获这样的信息作为输入状态,以此个性化每个用户的使用习惯。在用户通过物理键盘输入字符串的情况下,输入状态可以通过键盘按键处的压力传感器检测到,在用户通过触摸屏或手写屏等输入字符串的情况下,输入状态可以通过触摸屏或手写屏上电容或电阻的变化检测到,或者也可以通过调用终端设备中的压力传感器进行采集。
[0084] 在一个实施例中,上述输入状态包括作用到键盘的压力信息。这可以通过物理键盘或终端内置的压力传感器获取。更具体地,捕获的与压力有关的信息可以包括,输入当前字符串中各个字符时,分别作用到键盘的压力,各个字符对应的压力分布,压力均值等等。
[0085] 在一个实施例中,上述输入状态可以包括在键盘上的接触点位置信息。在键盘上的接触点位置信息可以包括,用户输入字符时作用在字符对应的键区中的位置。这特别适用于触摸屏键盘的设置。例如,在触摸屏九宫格键盘设置中,每个键区面积相对较大,用户输入字符时在键区中的触摸点位置可以反映用户输入习惯。更具体地,捕获的接触点位置信息可以包括,接触点坐标、接触点偏离对应键区中心点的距离,输入各个字符时的距离分布,等等。
[0086] 在一个实施例中,上述输入状态可以包括按键时间间隔。按键时间间隔是用户连续输入两个字符时的时间间隔(如0.2秒)。更具体地,捕获的按键时间间隔可以包括,用户输入当前字符串中的相邻字符的各个时间间隔,各个时间间隔的分布,平均时间间隔,等等。
[0087] 在一个实施例中,上述输入状态可以包括按键时长。按键时长是用户在输入一个字符时在键盘上停留的时间(如0.1秒)。更具体地,捕获的按键时长可以包括,用户输入当前字符串中的各个字符时的各个按键时长,各个时长的分布,平均按键时长,输入当前字符串的总时长,等等。
[0088] 输入状态还可以包括更多的与用户操作键盘的个人习惯有关的参数和信息。
[0089] 在捕获到用户输入当前字符串时的输入状态信息的基础上,判断该输入状态是否满足预设条件。相应地,在步骤243,响应于输入状态满足预设条件,将当前字符串记录为容错字符串。如前所述,每个用户在操作键盘时都有自己的习惯特点,通过设定预设条件,可以判断输入当前字符串的用户和输入历史通过验证了的字符串的用户是否为同一个人。
[0090] 进一步地,在一个实施例中,上述预设条件包括:输入状态与历史输入状态的匹配度超过状态匹配度阈值。这里,输入状态与历史输入状态的匹配度可以通过概率计算得到,也可以通过机器学习、历史曲线描述等方法得到。例如,可以根据历史输入状态计算上述输入状态中每个参数的权重,对各个参数与其权重的乘积求和得到上述输入状态与历史输入状态的匹配度。
[0091] 如此,在上述输入状态与历史输入状态的匹配度超过状态匹配度阈值的情况下,判断输入当前字符串的用户和输入历史通过验证的用户为同一用户,进一步确定用户可能将标准字符串输错成当前字符串,则将当前字符串记录为容错字符串,以供该用户在以后的操作中再出现同样的错误的情况下能通过验证。
[0092] 步骤242和步骤243在当前字符串未通过校验,且用户是通过键盘输入当前字符串的情况下,对用户输入当前字符串过程中与键盘交互的输入状态进行了判断。可以理解,在用户随意通过键盘输入了一个字符串的情况下,该字符串未通过校验,在步骤243根据用户的输入状态判断当前用户和历史通过验证的用户是同一个用户,则下次用户通过该随意输入的字符串就可以通过验证,那么标准字符串的意义就会减弱,安全性有所降低。
[0093] 因此,在步骤242中,还可以对用户输入的当前字符串进行限定。在一个实施例中,检测当前字符串与多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;若满足第二匹配条件,获取用户输入当前字符串时的输入状态,进而执行步骤243对该输入状态进行判断。与第一匹配条件类似地,第二匹配条件可以通过多种形式表示,例如匹配度大于60%、错误字符数不大于2等等。这里,由于该第二匹配条件是在当前字符串与校验字符集中的任意校验字符串的匹配均不通过验证,即不满足第一匹配条件的基础上进行的,第二匹配条件中默认包含有不满足第一匹配条件,例如第二匹配条件为匹配度大于60%自动扩展为大于60%并小于95%等。
[0094] 如前所述,校验数据集中的数据在字符串校验的方法执行过程中是不断更新的,例如更新校验字符串的匹配参数、增加新的校验字符串等等。对于校验数据集来说,如果数据一直增加,那么对于容错字符串中一些用户不常用到的错误字符串,不仅占用存储空间,还会增加步骤22中字符串匹配的计算量。
[0095] 由此,在一些可能的设计中,请参考图4,字符串校验的方法还可以包括以下对校验字符集进行过滤步骤:步骤41,将多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;步骤42,从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。其中,预设参数阈值可以由相关人员根据经验设定,例如匹配参数是匹配次数时,预设参数阈值为1,等等。
[0096] 如此,可以从校验字符集中剔除用户不常用到的校验字符串,清理存储空间,减小步骤22中字符串匹配的计算量,同时也使校验字符集更符合用户的个人习惯。
[0097] 值得说明的是,图4示出的步骤可以在图2示出的字符串校验的方法的每个执行流程中执行,例如,在每个流程步骤24之后,继续执行步骤41、步骤42,也可以独立于步骤21-步骤24执行,例如,对每个校验数据集,按照预设时间间隔或者在预定时间点执行步骤41、步骤42。
[0098] 在另一些可能的设计中,还可以根据与匹配频次相关的匹配参数对校验字符串进行排序。例如,在匹配参数与匹配频次正相关的情况下,匹配参数的值越大,匹配到相应校验字符串的概率越大,可以按照匹配参数的值从大到小的顺序对校验字符串排序。如此,匹配到靠前的校验字符串的概率增大,由于匹配到任一校验字符串时即可以停止匹配过程,可以节约计算量,缩短匹配时间。
[0099] 回顾以上过程,首先基于预先存储的包括容错字符串的多个校验字符串与用户输入的当前字符串进行匹配,然后根据匹配结果确定用户输入的当前字符串是否通过校验,如此,可以在用户输入的当前字符串与标准字符串不完全一致的情况下,可以根据用户输入的当前字符串与容错字符串的匹配确定当前字符串是否通过验证,提高字符串校验的有效性,从而提高网络平台或应用使用的有效性和用户体验的友好度。进一步地,在确定除当前字符串的验证结果后,用该验证结果来更新校验数据集,从而对校验数据集进行优化,使得校验数据集在后续的判断中,进一步提高判断准确度。
[0100] 根据另一方面的实施例,还提供一种字符串校验的装置。图5示出根据一个实施例的用于字符串校验的装置的示意性框图。如图5所示,用于字符串校验的装置500包括:接收单元51,配置为接收用户输入的当前字符串;匹配单元52,配置为将所述当前字符串与校验数据集中预先存储的多个校验字符串进行匹配,其中,所述多个校验字符串包括用户设置的标准字符串,以及至少一个与标准字符串相关联的容错字符串;确定单元53,配置为根据匹配结果,确定所述当前字符串是否通过校验;以及更新单元54,配置为根据校验结果,更新所述校验数据集。
[0101] 在一个实施例中,匹配单元52可以检测当前字符串与上述多个校验字符串中任一字符串的匹配度是否满足第一匹配条件,根据检测结果,确定单元53进一步配置为:在当前字符串与上述多个校验字符串中任一字符串的匹配度满足第一匹配条件的情况下,确定当前字符串通过校验;否则,确定当前字符串未通过校验。一般地,只要第一匹配条件满足,就可以停止匹配单元52对其他字符串的匹配操作。这里,第一匹配条件与匹配度相关,并根据匹配度的不同形式通过不同方式表示,例如匹配度大于90%、匹配度为1、不匹配的字符位数不超过1等等。
[0102] 根据一种实施方式,在确定当前字符串通过校验的情况下,更新单元54配置为:更新上述多个校验字符串中至少一个校验字符串的、与匹配频次相关的匹配参数。匹配频次例如是匹配频率、匹配次数等。该匹配参数可以是匹配频率或匹配次数本身,也可以是与匹配频率或匹配次数正相关的参数。例如是。进一步地,在一个实施例中,更新单元54更新多个验证字符串中至少一个校验字符串的、与匹配频次相关的匹配参数包括:增加与当前字符串的匹配度满足第一匹配条件的校验字符串的匹配参数的值。例如,将校验字符串的匹配次数加1。
[0103] 根据另一实施方式,在当前字符串未通过校验的情况下,更新单元54还配置为:获取用户输入当前字符串过程中与键盘交互的输入状态;响应于该输入状态满足预设条件,将当前字符串作为容错字符串添加到校验数据集中。如此,可以根据输入状态确定输入当前字符串的用户和历史通过验证的用户是同一用户,从而在用户下次输入该当前字符串的情况下,使用户通过验证。在一个实施例中,上述输入状态包括以下中的一项或多项:作用到键盘的压力、在键盘上的接触点位置、按键时间间隔、按键时长。在一个可能的实施例中,上述预设条件包括:上述输入状态与历史输入状态的匹配度超过状态匹配度阈值。
[0104] 进一步地,在一些可能的设计中,更新单元54还包括:检测模(未示出),配置为检测当前字符串与上述多个校验字符串中任一字符串的匹配度是否满足第二匹配条件;获取模块(未示出),配置为若满足第二匹配条件,获取用户输入当前字符串时的输入状态。该第二匹配条件例如可以是匹配度大于60%、错误字符数不大于2等等。
[0105] 对于校验数据集来说,如果数据一直增加,那么对于容错字符串中一些用户不常用到的错误字符串,不仅占用存储空间,还会增加匹配单元52的字符串匹配计算量。如此,根据一种实施方式,装置500还包括:比较单元(未示出),配置为将所述多个校验字符串的与匹配频次相关的匹配参数分别与预设参数阈值进行比较;删除单元(未示出),配置为从校验数据库中删除匹配参数小于预设参数阈值的校验字符串。
[0106] 该比较单元和删除单元可以在更新单元54之后,在更新单元54每次更新完校验数据集后对校验数据集执行本方面的过滤操作。该比较单元和删除单元也可以作为与接收单元51、匹配单元52、确定单元53、更新单元54,作为并列的结构,对校验数据集按照预设时间间隔或者在预定时间点执行本方面的过滤操作。如此,通过比较单元和删除单元的过滤操作,可以从校验字符集中剔除用户不常用到的校验字符串,清理存储空间,减小匹配单元52字符串匹配的计算量,同时也使校验字符集更符合用户的个人习惯。
[0107] 根据一种可能的设计,匹配单元52之前还包括生成单元(未示出),配置为:获取用户设置的所述标准字符串;根据预设规则,基于标准字符串生成至少一个所述容错字符串。进一步地,在一个实施例中,上述预设规则包括以下中的一项或多项:改变标准字符串中包括的至少一个英文字符的大小写状态;将标准字符串包括的中文字符替换为对应的拼音字符;将标准字符串中的至少一个字符替换为键盘上的相邻字符;删除标准字符串中任意一个字符。生成单元可以在用户设置标准字符串(如登录密码)时生成校验数据集。校验数据集生成时,可以同时生成校验字符串,也可以在用户设置完标准字符串再次使用时,在检测到校验数据集中校验字符串个数为0的情况下,再生成校验字符串,本申请对此不作限定。
[0108] 通过以上装置,可以将用户输入的当前字符串,与多个校验字符串匹配,极大提高字符串校验的有效性。并且,还可以用当前字符串的校验结果,来更新校验数据集,使得校验数据集在后续的判断中,进一步地提高判断准确度。
[0109] 根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
[0110] 根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
[0111] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件软件固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0112] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈