生僻字的处理方法及其装置、电子设备及存储介质与流程
未命名
10-09
阅读:166
评论:0
1.本发明涉及金融科技领域及其他相关技术领域,具体而言,涉及一种生僻字的处理方法及其装置、电子设备及存储介质。
背景技术:
2.随着大数据技术的快速发展以及业务系统的更新换代,某些建设较早的业务系统无法兼容最新的中文字符编码,在用户办理金融业务时,用户输入的含有生僻字的数据在落户到数据库或生成文件时会出现丢失的情况,从而导致业务处理系统无法对存在某些生僻字的金融业务进行处理,影响用户的业务办理体验感。
3.相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失。
4.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
5.本发明实施例提供了一种生僻字的处理方法及其装置、电子设备及存储介质,以至少解决相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失的技术问题。
6.根据本发明实施例的一个方面,提供了一种生僻字的处理方法,包括:调用请求拦截工具,拦截用户端发送的用户请求,其中,所述用户请求至少包括:输入域标识、输入域值;调用生僻字配置文件,确定待处理的输入域;基于所述待处理的输入域提取所述输入域值,并将所述输入域值与生僻字列表中的值进行比对,得到比对结果;在所述比对结果指示所述输入域值存在于所述生僻字列表中的情况下,对所述输入域值进行转义处理,得到生僻字转义字符。
7.可选地,在拦截用户端发送的用户请求之前,还包括:配置请求拦截工具和响应拦截工具,其中,所述请求拦截工具用于对所述用户端发送的各用户请求进行拦截,所述响应拦截工具用于对服务器发送的用户响应进行拦截。
8.可选地,在拦截用户端发送的用户请求之前,还包括:获取历史用户请求集合,得到目标输入域对应的输入域值集合;将所述输入域值集合与数据库中的预设字段对应的数据集合进行匹配,得到匹配结果;在所述匹配结果指示的匹配成功率大于等于预设成功率阈值的情况下,将所述目标输入域标记为所述待处理的输入域,并将所述待处理的输入域的输入域标识存储至配置文件。
9.可选地,在将待处理的输入域的输入域标识存储至配置文件之后,确定配置文件的步骤还包括:获取单码字以及单码字对应的转义规则,得到单码字转义清单;获取多码字以及多码字对应的转义规则,得到多码字转义清单;将所述单码字转义清单和所述多码字转义清单存储至所述配置文件。
10.可选地,对输入域值进行转义处理,得到生僻字转义字符的步骤包括:对所述输入
域值进行识别,确定所述输入域值的类型,其中,所述输入域值的类型为下述之一:单码字、多码字;获取与所述输入域值的类型匹配的配置文件,将所述输入域值的类型与所述配置文件中的转义清单进行匹配,得到所述输入域值对应的转义规则;基于所述输入域值对应的转义规则对所述输入域值中的生僻字进行编码,得到所述生僻字转义字符。
11.可选地,在得到生僻字转义字符之后,还包括:接收查询端发送的数据访问请求,确定待访问的目标数据;从数据库中提取所述目标数据,并生成所述用户响应。
12.可选地,在生成用户响应之后,还包括:调用响应拦截工具,拦截所述用户响应;扫描所述用户响应,确定所述用户响应中的所述生僻字转义字符;对所述生僻字转义字符进行还原处理,并基于还原处理的文字生成响应结果,并将所述响应结果返回至所述查询端。
13.根据本发明实施例的另一方面,还提供了一种生僻字的处理装置,包括:拦截单元,用于调用请求拦截工具,拦截用户端发送的用户请求,其中,所述用户请求至少包括:输入域标识、输入域值;确定单元,用于调用生僻字配置文件,确定待处理的输入域;比对单元,用于基于所述待处理的输入域提取所述输入域值,并将所述输入域值与生僻字列表中的值进行比对,得到比对结果;转义单元,用于在所述比对结果指示所述输入域值存在于所述生僻字列表中的情况下,对所述输入域值进行转义处理,得到生僻字转义字符。
14.可选地,生僻字的处理装置还包括:第一配置模块,用于配置请求拦截工具和响应拦截工具,其中,所述请求拦截工具用于对所述用户端发送的各用户请求进行拦截,所述响应拦截工具用于对服务器发送的用户响应进行拦截。
15.可选地,生僻字的处理装置还包括:第一获取模块,用于获取历史用户请求集合,得到目标输入域对应的输入域值集合;第一匹配模块,用于将所述输入域值集合与数据库中的预设字段对应的数据集合进行匹配,得到匹配结果;第一存储模块,用于在所述匹配结果指示的匹配成功率大于等于预设成功率阈值的情况下,将所述目标输入域标记为所述待处理的输入域,并将所述待处理的输入域的输入域标识存储至配置文件。
16.可选地,生僻字的处理装置还包括:第二获取模块,用于获取单码字以及单码字对应的转义规则,得到单码字转义清单;第三获取模块,用于获取多码字以及多码字对应的转义规则,得到多码字转义清单;第二存储模块,用于将所述单码字转义清单和所述多码字转义清单存储至所述配置文件。
17.可选地,生僻字的处理装置还包括:第一识别模块,用于对所述输入域值进行识别,确定所述输入域值的类型,其中,所述输入域值的类型为下述之一:单码字、多码字;第二匹配模块,用于获取与所述输入域值的类型匹配的配置文件,将所述输入域值的类型与所述配置文件中的转义清单进行匹配,得到所述输入域值对应的转义规则;第一编码模块,用于基于所述输入域值对应的转义规则对所述输入域值中的生僻字进行编码,得到所述生僻字转义字符。
18.可选地,生僻字的处理装置还包括:第一接收模块,用于接收查询端发送的数据访问请求,确定待访问的目标数据;第一提取模块,用于从数据库中提取所述目标数据,并生成所述用户响应。
19.可选地,生僻字的处理装置还包括:第一拦截模块,用于调用响应拦截工具,拦截所述用户响应;第一扫描模块,用于扫描所述用户响应,确定所述用户响应中的所述生僻字转义字符;第一还原模块,用于对所述生僻字转义字符进行还原处理,并基于还原处理的文
字生成响应结果,并将所述响应结果返回至查询端。
20.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项生僻字的处理方法。
21.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项生僻字的处理方法。
22.在本公开中,通过以下步骤:先调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;再调用生僻字配置文件,确定待处理的输入域;然后基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;最后在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
23.在本公开中,基于请求拦截工具,可以在数据存储至数据库或转换成文本数据之前,对数据中的生僻字进行统一转义处理,将其转化成业务系统可以识别的字符,避免数据出现丢失的情况,且在用户端和服务器之间进行拦截,不会影响后续业务的正常进行,进而解决了相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失的技术问题。
附图说明
24.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
25.图1是根据本发明实施例的一种可选的生僻字的处理方法的流程图;
26.图2是根据本发明实施例的一种可选的获取待处理的输入域的流程示意图;
27.图3是根据本发明实施例的一种可选的生僻字的处理装置的示意图;
28.图4是根据本发明实施例的一种生僻字的处理方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
31.为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
32.表单(form)是在网页中用于收集用户输入数据的一种元素,它通常由各种输入字段、选项和按钮等组成,并提供了提交数据的功能。
33.json(全称javascript object notation),一种常用的数据交换格式,用于存储和传输结构化数据。
34.需要说明的是,本公开中的生僻字的处理方法及其装置可用于金融科技领域在对生僻字进行转义处理的情况下,也可用于除金融科技领域之外的任意领域在对生僻字进行转义处理的情况下,本公开中对生僻字的处理方法及其装置的应用领域不做限定。
35.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
36.本发明下述各实施例可应用于各种生僻字处理系统/应用/设备中。本发明在系统中部署了请求拦截工具和响应拦截工具,在用户数据存储至数据库或转化成文本数据之前,对用户数据中的生僻字进行处理,避免用户数据在实际业务处理过程中由于生僻字不兼容导致数据丢失的情况,同时,采用拦截工具进行转义处理,即不会消耗服务器的计算资源,还可以保证后续业务的正常进行。
37.下面结合各个实施例来详细说明本发明。
38.实施例一
39.根据本发明实施例,提供了一种生僻字的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
40.图1是根据本发明实施例的一种可选的生僻字的处理方法的流程图,如图1所示,该方法包括如下步骤:
41.步骤s101,调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;
42.步骤s102,调用生僻字配置文件,确定待处理的输入域;
43.步骤s103,基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;
44.步骤s104,在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
45.通过上述步骤,先调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;再调用生僻字配置文件,确定待处理的输入域;然后基
于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;最后在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
46.本实施例中,基于请求拦截工具,可以在数据存储至数据库或转换成文本数据之前,对数据中的生僻字进行统一转义处理,将其转化成业务系统可以识别的字符,避免数据出现丢失的情况,且在用户端和服务器之间进行拦截,不会影响后续业务的正常进行,进而解决了相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失的技术问题。
47.下面结合上述各步骤对本发明实施例进行详细说明。
48.需要说明的是,本发明实施例的实施主体为生僻字处理系统,该生僻字处理系统与用户端进行交互,并与业务处理系统进行通信,系统中部署了请求拦截工具和响应拦截工具,请求拦截工具可以在用户请求传输至业务处理系统进行业务处理之前,对其进行拦截,避免用户数据直接传输至业务处理系统,因业务处理系统底层存储不兼容某些生僻字,导致数据出现丢失,响应拦截工具则在用户响应传输至用户端之前,拦截该用户响应,并对用户响应携带的响应数据进行还原处理,将转义后的字符还原成原生僻字,避免数据传输至用户端之后变成乱码的形式,基于请求拦截工具和响应拦截工具,在数据传输过程中对生僻字进行转义处理,不会影响后续业务的正常进行。
49.需要说明的是,本发明实施例可以应用于gbk编码场景,由于数据库、文本数据这样的持久化存储的数据都以gbk编码的方式存储,上层的操作软件如数据库软件、文本数据库读取工具不支持gbk以外的编码,当出现gbk编码不兼容的生僻字时就会造成编码后数据丢失,例如变成“?”。
50.可选地,在拦截用户端发送的用户请求之前,还包括:配置请求拦截工具和响应拦截工具,其中,请求拦截工具用于对用户端发送的各用户请求进行拦截,响应拦截工具用于对服务器发送的用户响应进行拦截。
51.需要说明的是,本发明实施例中的拦截工具是预先部署的,拦截工具可以为服务端的filter过滤器、拦截器,对用户端发起的内容进行拦截,用户请求内容为form表单形式(key=value)或json格式({key:value}),请求会携带输入域标识和输入域值,输入域指的是表单提交页面的输入框,文本框等,业务人员或用户可以通过输入域填写业务信息或用户信息,其中,某些输入域会包含生僻字,例如:姓名输入域、地址输入域等,输入域标识指的是信息字段,输入域值指的是输入域内填写的具体的数据信息。
52.用户通过网页页面填写对应的信息后,网页页面会自动生成请求内容提交至后端,请求拦截工具配置在生僻字系统中,在请求内容到达后端之前将其拦截,对请求中的value值进行转义处理,并根据完成转义处理后的内容重新生成用户请求传输至业务处理系统进行后续的处理,例如存储至数据库或转换成文本数据,响应拦截工具则对业务处理系统发送给用户端的用户响应进行处理,通过判定用户响应中是否存在转义后的生僻字转义字符,并将生僻字转义字符还原成生僻字,进而生成新的响应发送至用户端。
53.图2是根据本发明实施例的一种可选的获取待处理的输入域的流程示意图,可选地,在拦截用户端发送的用户请求之前,需要获取待处理的输入域,获取待处理的输入域的步骤包括:
54.步骤s201,获取历史用户请求集合,得到目标输入域对应的输入域值集合;
55.步骤s202,将输入域值集合与数据库中的预设字段对应的数据集合进行匹配,得到匹配结果;
56.步骤s203,在匹配结果指示的匹配成功率大于等于预设成功率阈值的情况下,将目标输入域标记为待处理的输入域,并将待处理的输入域的输入域标识存储至配置文件。
57.需要说明的是,对于用户提交的数据,并不是所有的输入域值都会包含生僻字,即并非所有输入域都需要配置转义策略,例如前端页面有10个输入框(输入域),员工姓名、性别、年龄、地址等,有生僻字的只有姓名和地点中的部分文字,而非全部文字,只需要对特定部分的文字进行转义并存储到gbk底层,用转义符号替代,其他文字则不需要转义,因此在进行转义前,需要根据前端特征,即页面ip地址为页面中的输入域配置转义策略,规定哪些输入域内的值需要进行转义处理,哪些输入域内的值不需要进行转义处理。
58.需要说明的是,在确定需要进行转义处理的输入域时,根据历史用户请求集合,选取目标输入域,得到目标输入域值,将该输入域值与数据库中预设字段对应的数据集合进行匹配,当匹配成功率大于预设阈值时,则将目标输入域标记为待处理的输入域,并在配置文件中存储该输入域标识,例如,对于姓名这一字段对应的值需要进行生僻字转义处理,由于系统并不知道用户请求中哪个输入域是姓名输入域,因此需要将历史用户请求集合中每个输入域的输入域值集合与将数据库中的姓名字段对应的数据进行匹配,一般来说,若该输入域是姓名输入域,那么匹配率应当为100%,即可确定该输入域即为姓名输入域,是需要进行生僻字转义的输入域,则将该输入域标记为待处理的输入域,并将该输入域的输入域标识存储至配置文件中。
59.需要说明的是,配置文件是预先建立的,配置文件中会存储各页面需要进行生僻字转义处理的输入域标识以及不同类型生僻字的转义规则,且配置文件部署在拦截工具中,可以直接对拦截工具拦截的内容进行转义处理,提升生僻字的处理效率。
60.可选地,在将待处理的输入域的输入域标识存储至配置文件之后,确定配置文件的步骤还包括:获取单码字以及单码字对应的转义规则,得到单码字转义清单;获取多码字以及多码字对应的转义规则,得到多码字转义清单;将单码字转义清单和多码字转义清单存储至配置文件。
61.需要说明的是,对于数据库或底层处理系统不识别的汉字都定义为生僻字,生僻字类型分为单码字和多码字,单码字是指支持一种编码形式的汉字,多码字指的是支持两种编码形式的汉字,对于不同类型的生僻字需要配置不同的转义规则,转义规则用于指示生僻字对应的转义字符,对于双码字在编码时存在两种编码形式,则要对其进行限制,选取其中一种作为转义规则存储至配置文件中,例如,为双码字,0x4dae、\u4dae都可以表示那么在配置转义规则时,选取其中一种作为转义标准即可。
62.步骤s101,调用请求拦截工具,拦截用户端发送的用户请求。
63.用户端在浏览器等页面填写好用户信息后,点击提交按钮,向业务处理系统提交用户请求,由于业务处理系统采用的编码形式不支持某些文字,因此对业务处理系统来说,业务请求中存在生僻字,如果不对这些生僻字进行处理,那么数据传输至业务处理系统底层进行存储或生成文本数据时可能存在数据丢失,例如业务处理系统底层是gbk编码,那么超出gbk编码的都可以定义为生僻字,例如“沈”两个字,将其中的字存储到数据库
里数据会丢失,那么必须对字采用特定的转义方式进行转义,例如用符号xxxx替代字。
64.步骤s102,调用生僻字配置文件,确定待处理的输入域。
65.需要说明的是,配置文件中配置了系统不兼容的各生僻字的转义规则以及各页面需要进行转义的输入域,可以通过用户请求对应的页面ip地址确定该页面中需要进行生僻字转义处理的输入域,即待处理的输入域。
66.步骤s103,基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果。
67.需要说明的是,生僻字列表用于存储业务处理系统不兼容的文字,将获取到的输入域值与该生僻字列表中的值进行比对,若输入域值存在于生僻字列表中,则该输入域值需要进行转义处理。
68.步骤s104,在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
69.可选地,对输入域值进行转义处理,得到生僻字转义字符的步骤包括:对输入域值进行识别,确定输入域值的类型,其中,输入域值的类型为下述之一:单码字、多码字;获取与输入域值的类型匹配的配置文件,将输入域值的类型与配置文件中的转义清单进行匹配,得到输入域值对应的转义规则;基于输入域值对应的转义规则对输入域值中的生僻字进行编码,得到生僻字转义字符。
70.需要说明的是,在进行转义处理时,首先需要对该输入域值进行识别,确定输入域值的类型,然后再次调用配置文件,将输入域值与配置文件中的生僻字进行匹配,获取该生僻字对应的转义规则,对该输入域值进行转义编码,得到生僻字转义字符。
71.可选地,在得到生僻字转义字符之后,还包括:接收查询端发送的数据访问请求,确定待访问的目标数据;从数据库中提取目标数据,并生成用户响应。
72.可选地,在生成用户响应之后,还包括:调用响应拦截工具,拦截用户响应;扫描用户响应,确定用户响应中的生僻字转义字符;对生僻字转义字符进行还原处理,并基于还原处理的文字生成响应结果,并将响应结果返回至查询端。
73.需要说明的是,在对生僻字进行转义并存储之后,对于转义之后的内容,当用户端调用该数据时,需要对转义后的数据进行还原处理,由于业务处理系统自身无法对生僻字转义字符进行还原处理,因此在生成用户响应后,需要调用响应拦截工具,由响应拦截工具进行还原处理。
74.需要说明的是,在对生僻字转义字符进行还原处理时,也可以在前端进行二次处理,例如js扫描全页dom元素,扫描到符合转义形式的内容,将转义内容转回为正常文字;或直接使用用户端兼容的转义方式进行存储,如html entity(一种html字符实体)可直接回显至用户端。
75.下面结合另一实施例进行详细说明。
76.实施例二
77.本实施例中提供的一种生僻字的处理装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
78.图3是根据本发明实施例的一种可选的生僻字的处理装置的示意图,如图3所示,
该生僻字的处理装置包括:拦截单元31、确定单元32、比对单元33、转义单元34,其中,
79.拦截单元31,用于调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;
80.确定单元32,用于调用生僻字配置文件,确定待处理的输入域;
81.比对单元33,用于基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;
82.转义单元34,用于在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
83.上述生僻字的处理装置,通过拦截单元31调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;通过确定单元32调用生僻字配置文件,确定待处理的输入域;通过比对单元33基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;通过转义单元34在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
84.本实施例中,基于请求拦截工具,可以在数据存储至数据库或转换成文本数据之前,对数据中的生僻字进行统一转义处理,将其转化成业务系统可以识别的字符,避免数据出现丢失的情况,且在用户端和服务器之间进行拦截,不会影响后续业务的正常进行,进而解决了相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失的技术问题。
85.需要说明的是,本发明实施例的实施主体为生僻字处理系统,该生僻字处理系统与用户端进行交互,并与业务处理系统进行通信,系统中部署了请求拦截工具和响应拦截工具,请求拦截工具可以在用户请求传输至业务处理系统进行业务处理之前,对其进行拦截,避免用户数据直接传输至业务处理系统,因业务处理系统底层存储不兼容某些生僻字,导致数据出现丢失,响应拦截工具则在用户响应传输至用户端之前,拦截该用户响应,并对用户响应携带的响应数据进行还原处理,将转义后的字符还原成原生僻字,避免数据传输至用户端变成乱码的形式,基于请求拦截工具和响应拦截工具,在数据传输过程中对生僻字进行转义处理,不会影响后续业务的正常进行。
86.需要说明的是,本发明实施例可以应用于gbk编码场景,由于数据库、文本数据这样的持久化层的数据都以gbk编码的方式存储,上层的操作软件如数据库软件、文本数据库读取工具不支持gbk以外的编码,当出现gbk编码不兼容的生僻字时就会造成编码后数据丢失,例如变成“?”。
87.可选地,生僻字的处理装置还包括:第一配置模块,用于配置请求拦截工具和响应拦截工具,其中,请求拦截工具用于对用户端发送的各用户请求进行拦截,响应拦截工具用于对服务器发送的用户响应进行拦截。
88.需要说明的是,本发明实施例中的拦截工具是预先部署的,拦截工具可以为服务端的filter过滤器、拦截器,对用户端发起的内容进行拦截,用户请求内容为form表单形式(key=value)或json格式({key:value}),请求会携带输入域标识和输入域值,输入域指的是表单提交页面的输入框,文本框等,业务人员或用户可以通过输入域填写业务信息或用户信息,其中,某些输入域会包含生僻字,例如:姓名输入域、地址输入域等,输入域标识指的是信息字段,输入域值指的是输入域内填写的具体的数据信息。
89.用户通过网页页面填写对应的信息后,网页页面会自动生成请求内容提交至后端,请求拦截工具配置在生僻字系统中,在请求内容到达后端之前将其拦截,对请求中的value值进行转义处理,并根据完成转义处理后的内容重新生成用户请求传输至业务处理系统进行后续的处理,例如存储至数据库或转换成文本数据,响应拦截工具则对业务处理系统发送给用户端的用户响应进行处理,通过判定用户响应中是否存在转义后的生僻字转义字符,并将生僻字转义字符还原成生僻字,进而生成新的响应发送至用户端。
90.可选地,生僻字的处理装置还包括:第一获取模块,用于获取历史用户请求集合,得到目标输入域对应的输入域值集合;第一匹配模块,用于将输入域值集合与数据库中的预设字段对应的数据集合进行匹配,得到匹配结果;第一存储模块,用于在匹配结果指示的匹配成功率大于等于预设成功率阈值的情况下,将目标输入域标记为待处理的输入域,并将待处理的输入域的输入域标识存储至配置文件。
91.需要说明的是,对于用户提交的数据,并不是所有的输入域值都会包含生僻字,即并非所有输入域都需要配置转义策略,例如前端页面有10个输入框(输入域),员工姓名、性别、年龄、地址等,有生僻字的只有姓名和地点中的部分文字,而非全部文字,那只要这部分文字进行转义存储到gbk底层,用转义符号替代,其他文字则不需要转义,因此在进行转义前,需要根据前端特征,即页面ip地址为页面中的输入域配置转义策略,规定哪些输入域内的值需要进行转义处理,哪些输入域内的值不需要进行转义处理。
92.需要说明的是,在确定需要进行转义处理的输入域时,根据历史用户请求集合,选取目标输入域,得到目标输入域值,将该输入域值与数据库中预设字段对应的数据集合进行匹配,当匹配成功率大于预设阈值时,则将目标输入域标记为待处理的输入域,并在配置文件中存储该输入域标识,例如,对于姓名这一字段对应的值需要进行生僻字转义处理,由于系统并不知道用户请求中哪个输入域是姓名输入域,因此需要将历史用户请求集合中每个输入域的输入域值集合与将数据库中的姓名字段对应的数据进行匹配,一般来说,若该输入域是姓名输入域,那么匹配率应当为100%,即可确定该输入域即为姓名输入域,是需要进行生僻字转义的输入域,则将该输入域标记为待处理的输入域,并将该输入域的输入域标识存储至配置文件中。
93.需要说明的是,配置文件是预先建立的,配置文件中会存储各页面需要进行生僻字转义处理的输入域标识以及不同类型生僻字的转义规则,且配置文件部署在拦截工具中,可以直接对拦截工具拦截的内容进行转义处理,提升生僻字的处理效率。
94.可选地,生僻字的处理装置还包括:第二获取模块,用于获取单码字以及单码字对应的转义规则,得到单码字转义清单;第三获取模块,用于获取多码字以及多码字对应的转义规则,得到多码字转义清单;第二存储模块,用于将单码字转义清单和多码字转义清单存储至配置文件。
95.需要说明的是,生僻字类型分为单码字和多码字,单码字是指支持一种编码形式的汉字,多码字指的是支持两种编码形式的汉字,配置文件中对于不同类型的生僻字需要配置不同的转义规则,转义规则用于指示生僻字对应的转义字符,对于双码字在编码时存在两种编码形式,则要对其进行限制,选取其中一种作为转义规则存储至配置文件中,例如,为双码字,0x4dae、\u4dae都可以表示那么在配置转义规则时,选取其中一种作为转义标准即可。
96.可选地,生僻字的处理装置还包括:第一识别模块,用于对输入域值进行识别,确定输入域值的类型,其中,输入域值的类型为下述之一:单码字、多码字;第二匹配模块,用于获取与输入域值的类型匹配的配置文件,将输入域值的类型与配置文件中的转义清单进行匹配,得到输入域值对应的转义规则;第一编码模块,用于基于输入域值对应的转义规则对输入域值中的生僻字进行编码,得到生僻字转义字符。
97.需要说明的是,在进行转义处理时,首先需要对该输入域值进行识别,确定输入域值的类型,然后再次调用配置文件,将输入域值与配置文件中的生僻字进行匹配,获取该生僻字对应的转义规则,对该输入域值进行转义,得到生僻字转义字符。
98.用户端在浏览器等页面填写好用户信息后,点击提交按钮,向业务处理系统提交用户请求,由于业务处理系统采用的编码形式不支持某些文字,因此对业务处理系统来说,业务请求中存在生僻字,如果不对这些生僻字进行处理,那么数据传输至业务处理系统底层进行存储或生成文本数据时可能存在数据丢失,例如业务处理系统底层是gbk编码,那么超出gbk编码的都可以定义为生僻字,例如“沈”两个字,将其中的字存储到数据库里数据会丢失,那么必须对字采用特定的转义方式进行转义,例如用符号xxxx替代字。
99.可选地,生僻字的处理装置还包括:第一接收模块,用于接收查询端发送的数据访问请求,确定待访问的目标数据;第一提取模块,用于从数据库中提取目标数据,并生成用户响应。
100.可选地,生僻字的处理装置还包括:第一拦截模块,用于调用响应拦截工具,拦截用户响应;第一扫描模块,用于扫描用户响应,确定用户响应中的生僻字转义字符;第一还原模块,用于对生僻字转义字符进行还原处理,并基于还原处理的文字生成响应结果,并将响应结果返回至查询端。
101.需要说明的是,在对生僻字进行转义并存储之后,对于转义之后的内容,当用户端调用该数据时,需要对转义后的数据进行还原处理,由于业务处理系统自身无法对生僻字转义字符进行还原处理,因此在生成用户响应后,需要调用响应拦截工具,由响应拦截工具进行还原处理。
102.需要说明的是,在对生僻字转义字符进行还原处理时,也可以在前端进行二次处理,如js扫描全页dom元素,扫描到符合转义形式的内容,将转义内容转回为正常文字;或直接使用用户端兼容的转义方式进行存储,如html entity(一种html字符实体)即可直接回显至前用户端。
103.上述生僻字的处理装置还可以包括处理器和存储器,上述包括:拦截单元31、确定单元32、比对单元33、转义单元34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
104.上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对系统不兼容的生僻字进行转义处理。
105.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
106.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读
存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项生僻字的处理方法。
107.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项生僻字的处理方法。
108.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;调用生僻字配置文件,确定待处理的输入域;基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。
109.图4是根据本发明实施例的一种生僻字的处理方法的电子设备(或移动设备)的硬件结构框图。如图4所示,电子设备可以包括一个或多个(图4中采用402a、402b,
……
,402n来示出)处理器402(处理器402可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器404。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
110.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
111.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
112.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
113.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
114.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
115.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步
骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
116.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种生僻字的处理方法,其特征在于,包括:调用请求拦截工具,拦截用户端发送的用户请求,其中,所述用户请求至少包括:输入域标识、输入域值;调用生僻字配置文件,确定待处理的输入域;基于所述待处理的输入域提取所述输入域值,并将所述输入域值与生僻字列表中的值进行比对,得到比对结果;在所述比对结果指示所述输入域值存在于所述生僻字列表中的情况下,对所述输入域值进行转义处理,得到生僻字转义字符。2.根据权利要求1所述的处理方法,其特征在于,在拦截用户端发送的用户请求之前,还包括:配置请求拦截工具和响应拦截工具,其中,所述请求拦截工具用于对所述用户端发送的各用户请求进行拦截,所述响应拦截工具用于对服务器发送的用户响应进行拦截。3.根据权利要求1所述的处理方法,其特征在于,在拦截用户端发送的用户请求之前,还包括:获取历史用户请求集合,得到目标输入域对应的输入域值集合;将所述输入域值集合与数据库中的预设字段对应的数据集合进行匹配,得到匹配结果;在所述匹配结果指示的匹配成功率大于等于预设成功率阈值的情况下,将所述目标输入域标记为所述待处理的输入域,并将所述待处理的输入域的输入域标识存储至配置文件。4.根据权利要求3所述的处理方法,其特征在于,在将待处理的输入域的输入域标识存储至配置文件之后,确定配置文件的步骤还包括:获取单码字以及单码字对应的转义规则,得到单码字转义清单;获取多码字以及多码字对应的转义规则,得到多码字转义清单;将所述单码字转义清单和所述多码字转义清单存储至所述配置文件。5.根据权利要求1所述的处理方法,其特征在于,对所述输入域值进行转义处理,得到生僻字转义字符的步骤包括:对所述输入域值进行识别,确定所述输入域值的类型,其中,所述输入域值的类型为下述之一:单码字、多码字;获取与所述输入域值的类型匹配的配置文件,将所述输入域值的类型与所述配置文件中的转义清单进行匹配,得到所述输入域值对应的转义规则;基于所述输入域值对应的转义规则对所述输入域值中的生僻字进行编码,得到所述生僻字转义字符。6.根据权利要求2所述的处理方法,其特征在于,在得到生僻字转义字符之后,还包括:接收查询端发送的数据访问请求,确定待访问的目标数据;从数据库中提取所述目标数据,并生成所述用户响应。7.根据权利要求6所述的处理方法,其特征在于,在用户生成响应之后,还包括:调用响应拦截工具,拦截所述用户响应;扫描所述用户响应,确定所述用户响应中的所述生僻字转义字符;
对所述生僻字转义字符进行还原处理,并基于还原处理的文字生成响应结果,并将所述响应结果返回至所述查询端。8.一种生僻字的处理装置,其特征在于,包括:拦截单元,用于调用请求拦截工具,拦截用户端发送的用户请求,其中,用户请求至少包括:输入域标识、输入域值;确定单元,用于调用生僻字配置文件,确定待处理的输入域;比对单元,用于基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;转义单元,用于在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的生僻字的处理方法。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的生僻字的处理方法。
技术总结
本发明公开了一种生僻字的处理方法及其装置、电子设备及存储介质,涉及金融科技领域及其他相关技术领域,其中,该生僻字的处理方法包括:调用请求拦截工具,拦截用户端发送的用户请求;调用生僻字配置文件,确定待处理的输入域;基于待处理的输入域提取输入域值,并将输入域值与生僻字列表中的值进行比对,得到比对结果;在比对结果指示输入域值存在于生僻字列表中的情况下,对输入域值进行转义处理,得到生僻字转义字符。本发明解决了相关技术中,对于金融业务系统的底层存储无法兼容生僻字的情况,缺乏有效的处理方法,导致含有生僻字的数据存储至数据库或生成文件时存在数据丢失的技术问题。丢失的技术问题。丢失的技术问题。
技术研发人员:胡曌云 王轶凡 陈灿 汪世骏
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.08.09
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种绿植培育架的制作方法 下一篇:一种多引脚插口排布的充电宝电路板的制作方法
