首页 / 一种用于字符容错的系统及方法

一种用于字符容错的系统及方法无效专利 发明

技术领域

[0001] 本发明涉及字符容错领域,特别涉及一种用于字符容错的系统及方法。

相关背景技术

[0002] 计算机容错技术是指:容忍故障,考虑故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行。当出现某些指定的硬件故障或软件错误时,系统仍能执行规定的一组程序,或者说程序不会因系统中的故障而中止或被修改,并且执行结果也不包含系统中故障所引起的差错。在计算机软件程序中,人工输入参数或配置参数时,会不可避免的遇到出现拼写错误、笔误、等等问题。程序执行过程中,也常常出现各种意外的数据溢出、数据改变等问题。任何一个非常小的错误,对计算机软件程序的运行,都有可能造成致命的错误,产生严重的后果。

具体实施方式

[0037] 实施例一:
[0038] 如图1和图2所示,本发明提供的用于字符容错的系统,包括存储模块、录入模块、比对模块以及输出模块,存储模块用于存储正确的字符串集合,录入模块用于录入概率出错字符串,其中存储模块用于存储正确的字符串集合,录入模块用于录入概率出错字符串,并将概率出错字符串写入比对模块,比对模块用于从字符串集合内获取正确字符串,并将概率出错字符串与字符串集合中的所有正确字符串进行循环判断,当字符串集合中有与概率出错字符串相同的正确字符串时,将正确字符串发送至输出模块,当概率出错字符串与字符串集合中的所有正确字符串均不相同时,将字符串集合中包含概率出错字符串最多字符的正确字符串,作为最优字符串发送至输出模块,输出模块用于对接收到的正确字符串进行输出。
[0039] 作为一种可实施方式,最优字符串选择时,引入与正确字符串对应的数组,由数组对对应正确字符串中包含概率出错字符串中字符的数量进行统计,每多包含一个字符,对应的数组长度增加一,在概率出错字符串循环判断完成后,选择与最长数组对应的正确字符串为最优正确字符串。最优字符串的确定过程,使得字符串集合中的每个字符串都进行了比对判断,使得判断的结构更有针对性,并且数组的引用,由数组与每个正确字符串进行对应,多包含一个字符数组的长度加1,判断完成后,选择最长数组对应的正确字符串,最为最优字符串,数组的引用方便了对最优字符串的选择和判断。
[0040] 作为一种可实施方式,当有多个数组长度相同时,对概率出错字符串的长度以及正确字符串的长度进行判断,选择与概率出错字符串长度相近的正确字符串进行输出。当有多个长度相同的数组时,将输入的概率出错字符串与字符串集合中的正确字符串的长度进行比对,确定与录入的概率出错字符串长度相近的正确字符串,避免了存在多个长度相同数组时,最优正确字符串无法确定情况的发生。
[0041] 作为一种可实施方式,添加的数组的初始长度为0。将新添加的数组长度的初始值设定为0,方便了对正确字符串中包含概率出错字符串中字符个数的统计,以及最优正确字符串的判断。
[0042] 作为一种可实施方式,字符串集合中包含的正确字符串为多个。字符串集合内包含多个正确字符串,方便了比对模块的比对,以及录入最优字符串的确定。
[0043] 作为一种可实施方式,正确字符串为有限规则的字符串。有限规则的正确字符串在一定程度上降低了最优正确字符串确定的难度,提高了最优正确字符串确定的效率。
[0044] 作为一种可实施方式,概率出错字符串中出错的字符串与正确字符串间的差别大于等于1字符。概率出错字符串与正确字符串间的差别大于等于1字符,降低了最优正确字符串确定的难度,并且在比对判断时,也更加的准确。字符串在录入过程中可能会有一个字母出错情况的发生,一个字母占据一个字符,所以,概率出错字符串中出现问题的字符串与正确字符串间的差别应该大于等一一个字符。
[0045] 进一步,存储模块中存储的正确字符串是针对不同系统参数或配置参数设计的正确字符串,这些正确字符串都是与不同系统参数或配置参数要求的指令字符串相同和相近的字符串。选取针对不同系统人工输入参数或配置参数要求指令参数相同和相近的字符串,使得不同系统或软件在录入的字符串审核过程中更有针对性,提高了系统运行的效率。
[0046] 实施例二:
[0047] 在实施例一的基础上,用于字符容错的系统还可以包括显示模块,显示模块将输出模块传递来的数据进行显示。显示模块的设置,能够更加直接的将正确的字符串进行显示,方便了对录入字符串的查询。
[0048] 实施例三:
[0049] 如图2所示,在实施例一或实施例二的基础上,还提供了一种用于字符容错的方法,包括以下步骤:
[0050] 步骤S10:向存储模块内存储正确的字符串集合;
[0051] 步骤S20:录入模块录入述概率出错字符串,并将概率出错字符串写入比对模块;
[0052] 步骤S30:比对模块从字符串集合内获取正确字符串,并将概率出错字符串与字符串集合中的所有正确字符串进行循环判断,当字符串集合中有与概率出错字符串相同的正确字符串时,将正确字符串发送至输出模块;
[0053] 步骤S40:当概率出错字符串与字符串集合中的所有正确字符串均不相同时,将字符串集合中包含概率出错字符串最多字符的正确字符串,作为最优字符串发送至输出模块;
[0054] 步骤S50:输出模块对接收到的正确字符串进行输出。
[0055] 作为一种可实施方式,步骤S40在对最优字符串进行选择时,引入与正确字符串对应的数组,由数组对对应正确字符串中包含概率出错字符串中字符的数量进行统计,每多包含一个字符,对应的数组长度增加一,在概率出错字符串循环判断完成后,选择与最长数组对应的正确字符串为最优正确字符串。最优字符串的确定过程,使得字符串集合中的每个字符串都进行了比对判断,使得判断的结构更有针对性,并且数组的引用,由数组与每个正确字符串进行对应,多包含一个字符数组的长度加1,判断完成后,选择最长数组对应的正确字符串,最为最优字符串,数组的引用方便了对最优字符串的选择和判断。
[0056] 作为一种可实施方式,步骤S40还包括S45:当存在多个长度相同的数组时,对概率出错字符串以及正确字符串的长度进行判断,选择长度与概率出错字符串相近的正确字符串发送至输出模块。当有多个长度相同的数组时,将输入的概率出错字符串与字符串集合中的正确字符串的长度进行比对,确定与录入的概率出错字符串长度相近的正确字符串,避免了存在多个长度相同数组时,最优正确字符串无法确定情况的发生。
[0057] 进一步,在实施例二的基础上,显示模块对输出模块传递来的数据进行显示,能够更加清楚直接的了解到要录入字符串。
[0058] 输入字符串S在拼写有误的情况下,能够自动纠正为正确的字符串集合R中最近似的一个字符串。
[0059] 本发明保证简单的字符串输入或配置,最终都能获取正确的结果。
[0060] 例:假设正确的计算机指令是:start/stop
[0061] 则,输入(或配置):
[0062] Strat、statr、sart、srta、staet等等,均能获取正确的指令start[0063] 输入:
[0064] sotp、spot、stpo、stpp等等,均能获取正确的指令stop。
[0065] 其中:录入的概率出错字符串staet和stpp以及sto与正确字符串start和stop间的差别只有“e”和“o”,“e”和“o”在计算机指令中只占据了一个字符,而录入的Strat、statr、sart、srta以及sotp、spot、stpo与正确字符串start以及stop间的差别均大于1字符。
[0066] 以OTTTV解决方案的系统中,将影片授予用户播放权限时为例详细说明,该过程授权可能有四种可能的输入字符串,分别是:
[0067] force_user(强制用户授权)
[0068] force_device(强制设备授权)
[0069] first_user(优先用户授权)
[0070] first_device(优先设备授权)
[0071] 管理员由于误操作,本来应该输入force_user,但误输入为了force_uers,这时候,如果没有纠错,后续的程序期望的输入是force_user,结果输入的是force_uers,会造成程序中断或报错,影响了功能的继续执行。
[0072] 当引入字符串容错后,force_uers会首先与正确的字符串集合R{force_user,force_device,first_user,first_device}对比,发现无正确字符,继续下一步,将force_uers中每一个字符,分拆开,与R中的每个字符对比。同时,设数组K记录对比结果。
[0073] force_uers的第一个字符是f
[0074] 第一次判断:force_user中,有字符f,因此K[0]=K[0]+1;因为K[0]的初始值为0。因此,K[0]=1;R中所有的字符串中都有f,因此:
[0075] K[0]=1,K[1]=1,K[2]=1,K[3]=1
[0076] 依次循环处理每一个字符,得出:
[0077] K[0]=10;K[1]=7;K[2]=7;K[3]=7;
[0078] 因为K[0]的值最高,对应的字符串是force_user,因此返回正确的字符串“force_user”即,虽然传入了错误的字符串“force_uers”,但经过字符串容错,返回了正确的字符串“force_user”。
[0079] 本发明由于采用以上技术方案,其达到的技术效果为:本发明提供的用于字符容错的系统及方法,通过比对模块将新录入的概率出错字符串与存储模块中预存储的字符串集合中所有的正确字符串进行循环判断,确定最终的最优正确字符串,并在字符串集合中不存在与概率出错字符串相同的正确字符串时,引入与正确字符串对应的数组,由数组对对应正确字符串中包含概率出错字符串中字符的数量进行统计,每多包含一个字符,对应的数组增加一,在概率出错字符串循环判断完成后,选择与最长数组对应的正确字符串为最优正确字符串,由输出模块进行输出,上述系统和方法有效避免了人工输入参数或配置参数时,拼写错误、笔误、数据溢出或数据改变等细小错误,对程序或系统运行造成致命的错误以及严重的后果情况的发生,使得程序或系统运行更加安全稳定,具有很高的实用性。
[0080] 上述实施方式旨在举例说明本发明可为本领域专业技术人员实现或使用,对上述实施方式进行修改对本领域的专业技术人员来说将是显而易见的,故本发明包括但不限于上述实施方式,任何符合本权利要求书或说明书描述,符合与本文所公开的原理和新颖性、创造性特点的方法、工艺、产品,均落入本发明的保护范围之内。

当前第1页 第1页 第2页 第3页