字符校验方法、装置、设备及存储介质与流程

专利检索2022-05-10  10



1.本发明涉及基架运维领域,尤其涉及一种字符校验方法、装置、设备及存储介质。


背景技术:

2.现有的分布式配置中心,用于集中管理不同环境、集群的配置,并且在配置修改后实时推送到应用环境。极大便利了应用可配置化的开发。应用发布后发现功能异常,经排查后若发现配置错误,此时只需要在对应的web页面人工录入修改该配置即可解决问题,不需要重启应用或者修改任何代码。
3.但是因为是人工录入,故在录入过程中不可避免的带来一些格式上的问题,单凭人工检查较容易疏漏的,有些格式字符人工检查难以识别出来,比如字符串结果多了一个空格,英文字符和中文字符混淆等等;虽然这些问题是细节上的,但带来的问题却是较为严重的。即现有的特殊字符校验方法漏检率较高。


技术实现要素:

4.本发明的主要目的在于解决现有的字符校验方法漏检率较高的问题。
5.本发明第一方面提供了一种字符校验方法,包括:读取待校验文件,并识别所述待校验文件的编码格式;根据所述编码格式,识别所述待校验文件中各字符串的起始字符和终止字符,并分别判断所述起始字符和所述终止字符是否为预置参照字符;若所述起始字符和所述终止字符不为所述参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;根据各所述转换字符串的数值大小,将各所述字符串存储至相对应的数据容器中,并根据各所述数据容器的存储类型,确定所述待校验文件中的异常字符。
6.可选的,在本发明第一方面的第一种实现方式中,所述识别所述待校验文件的编码格式包括:采用预置文件类型筛选方法,遍历所述待校验文件,并根据遍历结果,确定所述待校验文件中的文本文件;依次读取所述文本文件中顺序排列的各个字符,并将各个字符转换为数值型字符;依次判断各所述数值型字符是否满足预置数值条件;若满足,则所述待校验文本的编码格式为通用编码格式,否则为专用编码格式。
7.可选的,在本发明第一方面的第二种实现方式中,所述根据所述编码格式,识别所述待校验文件中各字符串的起始字符和终止字符包括:若所述编码格式为通用编码格式,则读取所述待校验文件中各字符串顺序排列的首位字符和末位字符并分别作为各字符串的起始字符和终止字符;若所述编码格式为专用编码格式,则读取所述待校验文件中各字符串顺序排列的第二位字符和末位字符并分别作为各字符串的起始字符和终止字符。
8.可选的,在本发明第一方面的第三种实现方式中,预置参照字符包括起始参照字符和终止参照字符,在所述分别判断所述起始字符和所述终止字符是否为预置参照字符之后,还包括:若所述起始字符为所述起始参照字符,则采用预置转换方法将对应的字符串转换为对象实例;若所述字符串转换失败,则确定所述字符串格式异常,并推送字符串格式异
常的提示信息;若所述终止字符为所述终止参照字符,则确定所述字符串存在异常字符并生成所述待校验文件的异常校验结果。
9.可选的,在本发明第一方面的第四种实现方式中,所述根据各所述转换字符串的数值大小,将各所述字符串存储至相对应的数据容器中包括:对比各所述转换字符串的数值和预置ascii编码对照表,并根据对比的结果,确定各所述转换字符串在所述ascii编码对照表中所处的数值范围;根据所述数值范围,确定对应转换字符串的字符类型,并根据所述字符类型,将对应的转换字符串存储至对应的数据容器中,其中,所述数据容器包括非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型的数据容器。
10.可选的,在本发明第一方面的第五种实现方式中,所述根据各所述数据容器的存储类型,确定所述待校验文件中的异常字符包括:若所述数据容器的存储类型为非可见字符存储类型,则确定所述待校验文件中对应存储的字符串为正常字符串;若所述数据容器的存储类型为非数字可见字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符;若所述数据容器的存储类型为中文字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符。
11.本发明第二方面提供了一种字符校验装置,包括:识别模块,用于读取待校验文件,并识别所述待校验文件的编码格式;判别模块,用于根据所述编码格式,识别所述待校验文件中各字符串的起始字符和终止字符,并分别判断所述起始字符和所述终止字符是否为预置参照字符;转换模块,用于若所述起始字符和所述终止字符不为所述参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;第一校验模块,用于根据各所述转换字符串的数值大小,将各所述字符串存储至相对应的数据容器中,并根据各所述数据容器的存储类型,确定所述待校验文件中的异常字符。
12.可选的,在本发明第二方面的第一种实现方式中,所述识别模块包括:遍历单元,用于采用预置文件类型筛选方法,遍历所述待校验文件,并根据遍历结果,确定所述待校验文件中的文本文件;转换单元,用于依次读取所述文本文件中顺序排列的各个字符,并将各个字符转换为数值型字符;判别单元,用于依次判断各所述数值型字符是否满足预置数值条件;若满足,则所述待校验文本的编码格式为通用编码格式,否则为专用编码格式。
13.可选的,在本发明第二方面的第二种实现方式中,所述判别模块包括:第一读取单元,用于若所述编码格式为通用编码格式,则读取所述待校验文件中各字符串顺序排列的首位字符和末位字符并分别作为各字符串的起始字符和终止字符;第二读取单元,用于若所述编码格式为专用编码格式,则读取所述待校验文件中各字符串顺序排列的第二位字符和末位字符并分别作为各字符串的起始字符和终止字符。
14.可选的,在本发明第二方面的第三种实现方式中,预置参照字符包括起始参照字符和终止参照字符,所述字符校验装置还包括第二校验模块,用于:若所述起始字符为所述起始参照字符,则采用预置转换方法将对应的字符串转换为对象实例;若所述字符串转换失败,则确定所述字符串格式异常,并推送字符串格式异常的提示信息;若所述终止字符为所述终止参照字符,则确定所述字符串存在异常字符并生成所述待校验文件的异常校验结果。
15.可选的,在本发明第二方面的第四种实现方式中,所述第一校验模块包括:存储单元,用于对比各所述转换字符串的数值和预置ascii编码对照表,并根据对比的结果,确定
各所述转换字符串在所述ascii编码对照表中所处的数值范围;根据所述数值范围,确定对应转换字符串的字符类型,并根据所述字符类型,将对应的转换字符串存储至对应的数据容器中,其中,所述数据容器包括非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型的数据容器。
16.可选的,在本发明第二方面的第五种实现方式中,所述第一校验模块还包括:校验单元,用于若所述数据容器的存储类型为非可见字符存储类型,则确定所述待校验文件中对应存储的字符串为正常字符串;若所述数据容器的存储类型为非数字可见字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符;若所述数据容器的存储类型为中文字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符。
17.本发明第三方面提供了一种字符校验设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述字符校验设备执行上述的字符校验方法。
18.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的字符校验方法。
19.本发明提供的技术方案中,通过识别不同待检验文件的编码格式,然后根据编码格式,选取对应位置的符号作为起始字符和终止字符,以用于判断是否与预先设置的参照字符相同,对字符进行初步的异常校验,若两者都不为参照字符,则确定字符正常,并进一步采用标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串,通过转换字符串的大小,可以进一步识别出每个字符串是否为异常字符,以实现对异常字符的自动化校验,降低异常字符的漏检率。
附图说明
20.图1为本发明实施例中字符校验方法的第一个实施例示意图;
21.图2为本发明实施例中字符校验方法的第二个实施例示意图;
22.图3为本发明实施例中字符校验方法的第三个实施例示意图;
23.图4为本发明实施例中字符校验装置的一个实施例示意图;
24.图5为本发明实施例中字符校验装置的另一个实施例示意图;
25.图6为本发明实施例中字符校验设备的一个实施例示意图。
具体实施方式
26.本发明实施例提供了一种字符校验方法、装置、设备及存储介质,通过读取待校验文件,并识别待校验文件的编码格式;根据编码格式,识别待校验文件中各字符串的起始字符和终止字符,并分别判断起始字符和终止字符是否为预置参照字符;若起始字符和终止字符不为参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;根据各转换字符串的数值大小,将各字符串存储到相对应的数据容器中;根据各数据容器的存储类型,对对应存储的字符串进行异常识别,并根据异常识别的结果,确定待校验文件的异常校验结果。本发明实现了对字符的异常校验,降低了字符的异常漏检率。
27.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第
四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中字符校验方法的第一个实施例包括:
29.101、读取待校验文件,并识别待校验文件的编码格式;
30.可以理解的是,本发明的执行主体可以为字符校验装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
31.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
32.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
33.本实施例中,待校验文件中至少包括txt的文本文件,后续对字符的异常校验则是对待校验文件中的文本文件进行校验。针对分布式配置中心apollo,根据其配置的待校验文件,采用该分布式配置中心中自带的方法读取出待校验文件中的文本文件,并通过对文本文件中的每个字符进行格式转换,采用相对应的规则对转换格式后的字符进行识别,以判断原待校验文件的编码格式。
34.具体的,比如可以根据文本的前两个字节来确定其编码格式:如果前两个字节无格式定义的,对应待校验文件的编码格式为ansi;如果前两个字节为fffe格式,对应待校验文件的编码格式为unicode;如果前两个字节为feff格式,对应待校验文件的编码格式为unicode big endian;如果前两个字节为efbb格式,对应待校验文件的编码格式为utf

8。此方法仅为待校验文件的其中一种编码格式识别方法示例,还可以是其他编码格式识别方法,此处不作限定。
35.102、根据编码格式,识别待校验文件中各字符串的起始字符和终止字符,并分别判断起始字符和终止字符是否为预置参照字符;
36.本实施例中,根据不同编码格式的待校验文件,采用不同的方法识别文本文件中各字符串的起始字符和终止字符,以根据起始字符和终止字符,初步对待校验文件中的特征字符进行异常识别。
37.其中,针对通用编码格式utf

8的待校验文件,从文本文件中的各字符串的第二个字符开始读取,即将各字符串的第二个字符作为起始字符;而针对专用编码格式gbk的待校验文件,则直接从文本文件中各字符串的第一个字符开始读取即可,即将各字符串的第一个字符作为起始字符。
38.另外,各字符串中的起始字符和终止字符需按照不同格式预先设置的规则进行配置,具体通过预先设置的参照字符进行判别。比如若各字符串的起始字符为“{”或者“[”,则可以确定对应的字符串为非json(javascript object notation,js对象简谱)格式,否则为json格式;比如各字符串的终止字符不能为空格。故此处可以设置预置参照字符中起始字符为“{”或者“[”,终止字符为空格。
[0039]
需注意的是,此处起始字符和终止字符为特殊字符,包括标点符号、特殊编码、运算符号、图形符号、外来语符号、中文字符等,本发明中的字符校验实际是对特殊字符进行校验。
[0040]
103、若起始字符和终止字符不为参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;
[0041]
本实施例中,根据实际情况预先设置标准转换规则,对字符串进行数据类型转换,其中,标准转换规则可以包括:ascii、ansi、gbk、gb2312、utf

8、gb18030和unicode等。比如采用ascii的标准转换规则,可以将各字符串转换为不同进制且不同数值的转换字符串,包括若转换为十进制0

255之间数值的转换字符串。
[0042]
具体的,若采用ascii的标准转换规则,则遵循以下的转换规则:0~31及127十进制数值的转换字符串是控制字符或通信专用字符;48~57十进制数值的转换字符串为0到9十个阿拉伯数字;65~90十进制数值的转换字符串为26个大写英文字母;97~122十进制数值的转换字符串为26个小写英文字母,其余十进制数值的转换字符串为一些标点符号、运算符号等。
[0043]
104、根据各转换字符串的数值大小,将各字符串存储至相对应的数据容器中,并根据各数据容器的存储类型,确定待校验文件中的异常字符;
[0044]
本实施例中,预先设置不同的数据容器,用于存储不同数值大小的转换字符串,在不同的数据容器中采用不同的校验方法对字符进行异常校验。比如在采用ascii的标准转换规则对字符串进行数据类型转换,则设置0~31及127十进制数值的转换字符串存储的数据容器,48~57十进制数值的转换字符串存储的数据容器,65~90十进制数值的转换字符串存储的数据容器,97~122十进制数值的转换字符串存储的数据容器,以及其他十进制数值的转换字符串存储的数据容器。
[0045]
本实施例中,数据容器的存储类型包括非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型,在非可见字符存储类型的数据容器中,存储的字符串均为正常字符,包括正常的字符,在中文字符存储类型的数据容器中,存储的字符串均为异常字符,包括异常的字符,在非数字可见字符存储类型的数据容器中,存储的字符串均为异常字符。故通过字符串存储的数据容器的存储类型,即可确定待检验文件中的正常字符和异常字符,并作为异常校验结果。
[0046]
本发明实施例中,通过识别不同待检验文件的编码格式,然后根据编码格式,选取对应位置的符号作为起始字符和终止字符,以用于判断是否与预先设置的参照字符相同,对字符进行初步的异常校验,若两者都不为参照字符,则确定字符正常,并进一步采用标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串,通过转换字符串的大小,可以进一步识别出每个字符串是否为异常字符,以实现对异常字符的自动化校验,降低异常字符的漏检率。
[0047]
请参阅图2,本发明实施例中字符校验方法的第二个实施例包括:
[0048]
201、读取待校验文件,采用预置文件类型筛选方法,遍历待校验文件,并根据遍历结果,确定待校验文件中的文本文件;
[0049]
202、依次读取文本文件中顺序排列的各个字符,并将各个字符转换为数值型字符;
[0050]
203、依次判断各数值型字符是否满足预置数值条件;
[0051]
204、若满足,则待校验文本的编码格式为通用编码格式,否则为专用编码格式;
[0052]
本实施例中,针对采用针对分布式配置中心apollo,可以采用apache的fileutils类listfiles方法遍历待校验文件目录下的所有txt文件;在读取文本文件的内容时,可以通过一个字符一个字符的方式进行读取,在解析txt文件前先对待校验文件的编码格式进行识别。
[0053]
其中,在apollo中包括utf

8和gbk两种编码格式,先读取第一个字符,再把这个字符转换成数字型,如果转换后的值为“65279”则为utf

8编码格式,否则为gbk编码格式。即预置数值条件可以设置为“65279”,则对应的通用编码格式为utf

8,专用编码格式为gbk。
[0054]
205、根据编码格式,识别待校验文件中各字符串的起始字符和终止字符,并分别判断起始字符和终止字符是否为预置参照字符;
[0055]
206、若起始字符和终止字符不为参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;
[0056]
207、对比各转换字符串的数值和预置ascii编码对照表,并根据对比的结果,确定各转换字符串在ascii编码对照表中所处的数值范围;
[0057]
208、根据数值范围,确定对应转换字符串的字符类型,并根据字符类型,将对应的转换字符串存储至对应的数据容器中,其中,数据容器包括非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型的数据容器;
[0058]
本实施例中,为了提升识别效率,进一步针对三种不同类型的字符串存储的数据容器,设置三个数据容器,包括针对非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型的数据容器。
[0059]
如果是针对ascii的标准转换规则,则32

47、58

64和91

96的单个编码对应非可见字符;128

255中的两个组合编码中文字符存储类型;其他的除数字符号之外,则为非数字可见字符存储类型。
[0060]
209、根据各数据容器的存储类型,确定待校验文件中的异常字符。
[0061]
本发明实施例中,先筛选出待校验文件中的文本文件,然后进一步将文本文件中的各个字符转换为数值型字符,若满足数值条件,则为通用编码格式,否则为专用编码格式,接着在根据不同的编码格式,采用不同的方式,初始对字符串进行异常字符校验,实现对文本文件的初步异常字符校验。
[0062]
请参阅图3,本发明实施例中字符校验方法的第三个实施例包括:
[0063]
301、读取待校验文件,并识别待校验文件的编码格式;
[0064]
302、根据编码格式,识别待校验文件中各字符串的起始字符和终止字符;
[0065]
本实施例中,若编码格式为通用编码格式,则读取待校验文件中各字符串顺序排列的首位字符和末位字符并分别作为各字符串的起始字符和终止字符;若编码格式为专用
编码格式,则读取待校验文件中各字符串顺序排列的第二位字符和末位字符并分别作为各字符串的起始字符和终止字符。
[0066]
303、分别判断起始字符和终止字符是否为预置参照字符;
[0067]
304、若起始字符为起始参照字符,则采用预置转换方法将对应的字符串转换为对象实例;
[0068]
305、若字符串转换失败,则确定字符串格式异常,并推送字符串格式异常的提示信息;
[0069]
306、若终止字符为终止参照字符,则确定字符串存在异常字符并生成待校验文件的异常校验结果;
[0070]
本实施例中,此处识别待校验文件中各字符串的起始字符和终止字符在于识别待校验文件中各字符串的格式是否为json,以及各字符串是否出现异常的字符。在判断字符串是否为json格式。首先判断字符串的起始字符是否为“{”或者“[”;如果是,则确定字符串为非json格式,并用mapper.readvalue方法把字符串转换成json对象,如果转换出错,则表示字符串格式异常。如果不是“{”或者“[”,则确定字符串为json格式,并直接执行下一个步骤。
[0071]
307、若起始字符和终止字符不为参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;
[0072]
308、根据各转换字符串的数值大小,将各字符串存储至相对应的数据容器中;
[0073]
309、根据各数据容器的存储类型,确定待校验文件中的异常字符。
[0074]
本实施例中,若数据容器的存储类型为非可见字符存储类型,则确定待校验文件中对应存储的字符串为正常字符串;若数据容器的存储类型为非数字可见字符存储类型,则确定待校验文件中对应存储的字符串包含异常字符;若数据容器的存储类型为中文字符存储类型,则确定待校验文件中对应存储的字符串包含异常字符。
[0075]
另外,还可以对异常特征字符类型的数据容器中的字符串进行细分,具体如下所示:
[0076]
(1)识别存储类型为非数字可见字符存储类型的数据容器中存储的字符串对应转换字符串的数值范围中的数值区间;
[0077]
(2)根据数值区间,确定对应存储的字符串的异常字符串类型并作为异常识别的结果。
[0078]
本实施例中,进一步对非数字可见字符存储类型的数据容器中的字符串进行细分,得到不同异常字符串类型,以为细化异常字符的校验结果。在第二数据范围内,不同的数值区间的字符的异常字符串类型不同,比如在0

31数值区间的字符串的异常字符串类型为非可见的字符,12288、65344和65282数值区间的字符串的异常字符串类型为全角引号的字符。
[0079]
本发明实施例中,根据转换字符串的数值所处的数值范围,将对应的字符串进行分类存储到对应的数据容器中,不同数据容器中存储不同类型的字符串,包括正常字符串和异常字符串,以实现对文本文件的进一步异常字符校验。
[0080]
上面对本发明实施例中字符校验方法进行了描述,下面对本发明实施例中字符校验装置进行描述,请参阅图4,本发明实施例中字符校验装置一个实施例包括:
[0081]
识别模块401,用于读取待校验文件,并识别所述待校验文件的编码格式;
[0082]
判别模块402,用于根据所述编码格式,识别所述待校验文件中各字符串的起始字符和终止字符,并分别判断所述起始字符和所述终止字符是否为预置参照字符;
[0083]
转换模块403,用于若所述起始字符和所述终止字符不为所述参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;
[0084]
第一校验模块404,用于根据各所述转换字符串的数值大小,将各所述字符串存储至相对应的数据容器中,并根据各所述数据容器的存储类型,确定所述待校验文件中的异常字符。
[0085]
本发明实施例中,通过识别不同待检验文件的编码格式,然后根据编码格式,选取对应位置的符号作为起始字符和终止字符,以用于判断是否与预先设置的参照字符相同,对字符进行初步的异常校验,若两者都不为参照字符,则确定字符正常,并进一步采用标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串,通过转换字符串的大小,可以进一步识别出每个字符串是否为异常字符,以实现对异常字符的自动化校验,降低异常字符的漏检率。
[0086]
请参阅图5,本发明实施例中字符校验装置的另一个实施例包括:
[0087]
识别模块401,用于读取待校验文件,并识别所述待校验文件的编码格式;
[0088]
判别模块402,用于根据所述编码格式,识别所述待校验文件中各字符串的起始字符和终止字符,并分别判断所述起始字符和所述终止字符是否为预置参照字符;
[0089]
转换模块403,用于若所述起始字符和所述终止字符不为所述参照字符,则采用预置标准转换规则,对字符串进行数据类型转换,得到不同数值的转换字符串;
[0090]
第一校验模块404,用于根据各所述转换字符串的数值大小,将各所述字符串存储至相对应的数据容器中,并根据各所述数据容器的存储类型,确定所述待校验文件中的异常字符。
[0091]
具体的,所述识别模块401包括:
[0092]
遍历单元4011,用于采用预置文件类型筛选方法,遍历所述待校验文件,并根据遍历结果,确定所述待校验文件中的文本文件;
[0093]
转换单元4012,用于依次读取所述文本文件中顺序排列的各个字符,并将各个字符转换为数值型字符;
[0094]
判别单元4013,用于依次判断各所述数值型字符是否满足预置数值条件;若满足,则所述待校验文本的编码格式为通用编码格式,否则为专用编码格式。
[0095]
具体的,所述判别模块402包括:
[0096]
第一读取单元4021,用于若所述编码格式为通用编码格式,则读取所述待校验文件中各字符串顺序排列的首位字符和末位字符并分别作为各字符串的起始字符和终止字符;
[0097]
第二读取单元4022,用于若所述编码格式为专用编码格式,则读取所述待校验文件中各字符串顺序排列的第二位字符和末位字符并分别作为各字符串的起始字符和终止字符。
[0098]
具体的,预置参照字符包括起始参照字符和终止参照字符,所述字符校验装置还包括第二校验模块405,用于:
[0099]
若所述起始字符为所述起始参照字符,则采用预置转换方法将对应的字符串转换为对象实例;
[0100]
若所述字符串转换失败,则确定所述字符串格式异常,并推送字符串格式异常的提示信息;
[0101]
若所述终止字符为所述终止参照字符,则确定所述字符串存在异常字符并生成所述待校验文件的异常校验结果。
[0102]
具体的,所述第一校验模块404包括存储单元4041,用于:
[0103]
对比各所述转换字符串的数值和预置ascii编码对照表,并根据对比的结果,确定各所述转换字符串在所述ascii编码对照表中所处的数值范围;
[0104]
根据所述数值范围,确定对应转换字符串的字符类型,并根据所述字符类型,将对应的转换字符串存储至对应的数据容器中,其中,所述数据容器包括非可见字符存储类型、非数字可见字符存储类型和中文字符存储类型的数据容器。
[0105]
具体的,所述第一校验模块404还包括校验单元4042,用于:
[0106]
若所述数据容器的存储类型为非可见字符存储类型,则确定所述待校验文件中对应存储的字符串为正常字符串;
[0107]
若所述数据容器的存储类型为非数字可见字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符;
[0108]
若所述数据容器的存储类型为中文字符存储类型,则确定所述待校验文件中对应存储的字符串包含异常字符。
[0109]
本发明实施例中,先筛选出待校验文件中的文本文件,然后进一步将文本文件中的各个字符转换为数值型字符,若满足数值条件,则为通用编码格式,否则为专用编码格式,接着在根据不同的编码格式,采用不同的方式,初始对字符串进行异常字符校验,实现对文本文件的初步异常字符校验;根据转换字符串的数值所处的数值范围,将对应的字符串进行分类存储到对应的数据容器中,不同数据容器中存储不同类型的字符串,包括正常字符串和异常字符串,以实现对文本文件的进一步异常字符校验。
[0110]
上面图4和图5从模块化功能实体的角度对本发明实施例中的字符校验装置进行详细描述,下面从硬件处理的角度对本发明实施例中字符校验设备进行详细描述。
[0111]
图6是本发明实施例提供的一种字符校验设备的结构示意图,该字符校验设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对字符校验设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在字符校验设备600上执行存储介质630中的一系列指令操作。
[0112]
字符校验设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的字符校验设备结构并不构成对字符校验设备的限定,可以包括比图示更多或更少的
部件,或者组合某些部件,或者不同的部件布置。
[0113]
本发明还提供一种字符校验设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述字符校验方法的步骤。
[0114]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述字符校验方法的步骤。
[0115]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0116]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0117]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0118]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
转载请注明原文地址:https://win.8miu.com/read-250305.html

最新回复(0)