关键字筛查方法及数据处理方法与流程

文档序号:30882108发布日期:2022-07-26 21:22阅读:133来源:国知局
1.本发明涉及自动化测试领域,具体地涉及一种关键字筛查方法及数据处理方法。
背景技术
::2.涉及到交易的部门通常会通过引入安全部门提供的插件,来进行数据脱敏以实现安全改造。测试人员需要根据安全部门提供的关键字配置文件(例如,通常会包括将近600个关键字),筛查数据库的每个表中的列名是否命中了关键字。如果命中,则需要联系开发人员进一步确认是否需要处理。由于安全部门提供的配置文件为非常规文件,无法将其直接转换到excel表格中进行快速对比,故目前通常采用人工筛查关键字的方式。以贷款服务系统为例,通常贷款服务有34张表,将近1000个列,若逐一进行人工筛查,至少需要3天时间,成本非常高且重复工作量大。技术实现要素:3.本发明的目的是提供一种关键字筛查方法及数据处理方法,其可提高关键字筛查的效率以实现秒级的自动筛查速度,从而极大地降低整体的测试成本。4.为了实现上述目的,本发明第一方面提供一种关键字筛查方法,所述关键字筛查方法包括:根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字;获取目标数据库中的表的名称;遍历所述表中的列的名称;以及将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,并输出所述特定表的名称与所述特定列的名称。5.可选地,所述解析所述配置文件包括:根据所述关键字的分布规律,获取第一关键字集合;以及对所述第一关键字集合中的不符合预设条件的关键字进行过滤。6.可选地,所述解析所述配置文件还包括:确定所述解析所述配置文件的步骤的执行时间;在所述执行时间小于预设时间的情况下,获取所述配置文件中的不符合所述分布规律的第二关键字集合;在所述第二关键字集合不为空的情况下,对所述第二关键字集合中的不符合预设条件的关键字进行过滤,以获取新的目标关键字。7.可选地,所述对所述关键字集合中的不符合预设条件的关键字进行过滤包括:通过正则表达式对所述关键字集合中的不符合所述预设条件的关键字进行过滤。8.可选地,所述预设条件包括:属于字符串类型;不含有符号;不含有空格;以及不含有数字。9.可选地,在遍历到任一表中的任一列的名称的情况下,所述关键字筛查方法还包括:按照所述关键字的预设名称格式,对所述任一表中的所述任一列的名称进行转换处理;以及将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配。10.可选地,所述将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配包括:采用预设查询条件将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配。11.可选地,所述关键字的分布规律包括:关键字按照预设行规律分布;关键字按照键值对结构分布;关键字按照json结构分布;关键字按照xml结构分布;或者关键字按照section结构分布。12.可选地,所述输出所述特定表的名称与所述特定列的名称包括:以结构化数组方式输出所述特定表的名称与所述特定列的名称。13.通过上述技术方案,本发明创造性地首先根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字;然后获取目标数据库中的表的名称;遍历所述表中的列的名称,并将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,输出所述特定表的名称与所述特定列的名称。由此,本发明可提高关键字筛查的效率以实现秒级的自动筛查速度,从而极大地降低整体的测试成本。14.本发明第二方面提供一种关键字筛查系统,所述关键字筛查系统包括:解析装置,用于根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字;获取装置,用于获取目标数据库中的表的名称;遍历装置,用于遍历所述表中的列的名称;以及输出装置,用于将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,并输出所述特定表的名称与所述特定列的名称。15.有关本发明提供的关键字筛查系统的具体细节及益处可参阅上述针对关键字筛查方法的描述,于此不再赘述。16.本发明第三方面提供一种数据处理方法,所述数据处理方法包括:根据所述的关键字筛查方法,获取目标关键字并输出特定表的名称与所述特定表中的特定列的名称,其中,所述特定列的名称与所述目标关键字中的任意关键字相匹配;以及将所述特定表的名称与所述特定列的名称修改为非目标关键字,其中,所述非目标关键字不为所述目标关键字中的任一者。17.通过上述技术方案,本发明创造性地首先根据所述的关键字筛查方法,获取目标关键字并输出特定表的名称与所述特定表中的特定列的名称,然后将所述特定表的名称与所述特定列的名称修改为非目标关键字。由此,本发明可高效地实现数据脱敏目标,从而极大地降低整体的测试成本。18.本发明第四方面提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,该指令用于使得机器执行上述的关键字筛查方法和/或上述的数据处理方法。19.本发明第五方面提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的关键字筛查方法和/或上述的数据处理方法。20.本发明第六方面提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述的关键字筛查方法和/或上述的数据处理方法。21.本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明22.附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:23.图1是本发明一实施例提供的关键字筛查方法的流程图;24.图2是本发明一实施例提供的配置文件的截图;25.图3是本发明一实施例提供的贷款服务数据库中的表的名称的截图;26.图4是本发明一实施例提供的apply_info表中的列的名称的截图;27.图5是本发明一实施例提供的apply_info表中的列的名称的查询结果的截图;28.图6是本发明一实施例提供的呈现给用户的关键字筛查结果的截图;以及29.图7是本发明一实施例提供的关键字筛查过程的流程图。具体实施方式30.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。31.图1是本发明一实施例提供的关键字筛查方法的流程图。如图1所示,所述关键字筛查方法可包括以下步骤s101-s104。32.步骤s101,根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字。33.对于步骤s101,所述解析所述配置文件可包括:根据所述关键字的分布规律,获取第一关键字集合;以及对所述第一关键字集合中的不符合预设条件的关键字进行过滤。一般配置文件中关键字只设置一种分布规律。34.其中,所述关键字的分布规律可包括:关键字按照预设行规律分布;关键字按照键值对结构分布;关键字按照json结构分布;关键字按照xml结构分布;或者关键字按照section结构分布。35.具体地,下面分别对上述几种分布规律进行说明。36.所述预设行规律可为每间隔预设数目的行。37.所述键值对结构可包括:key:value(英文冒号);key=value(等号);keyvalue(空格);或者key=value(等号两边有空格)。38.所述json结构可为{"key1":"value1"};{"key2":"value2"}或者{"key1":"value1","key2":"value2"}等。39.所述xml结构可为《key1》value1《/key1》;《key2》value2《/key2》或者《key1》value1《/key1》《key2》value2《/key2》等。40.所述section结构可为[section1]value1[section1]、[section2]value2[section2][section1]value1[section1][section2]value2[section2]等。[0041]在上述各种分布规律中的value/value1/value2等对应的内容即为关键字。[0042]具体而言,以图2所示的关键字按照预设行规律分布为例,对获取目标关键字的过程进行说明。[0043]首先,传入配置文件路径(比如“users/xxxx/desktop/keylist”),配置文件内容展示如图2所示。[0044]其次,由图2可以看出,配置文件中的关键字按照预设的行数规律分布:第1行、第5行、第9行、第13行、第17行是关键字(而其他行的信息在关键字对比场景下,是不需要关注information_schema.columnswheretable_schema="fn_loan"andtable_name="apply_info",得到如图5所示的查询结果。[0060]在遍历到任一表中的任一列的名称的情况下,所述关键字筛查方法还可包括:按照所述关键字的预设名称格式,对所述任一表中的所述任一列的名称进行转换处理;以及将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配。[0061]其中,所述关键字的预设名称格式可为:全字符串大写或首字母大写等。[0062]其中,所述将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配可包括:采用预设查询条件将经转换处理的所述任一表中的所述任一列的名称与所述目标关键字进行匹配。[0063]具体地,以所述预设名称格式为全字符串大写为例,可通过以下内容执行遍历得到的列名与目标关键字的匹配过程。[0064]首先,因为配置文件中的关键字(或者通过上述解析方式得到的关键字列表中的关键字)中的字母全部是大写,故在遍历到某表中的某列的名称之后(或者将遍历到的某表中的某列的名称与目标关键字进行匹配之前),需要将遍历到的列的名称转大写处理。例如,可通过uppper()方法,实现全部字母转大写。[0065]其次,将遍历到的任一列的名称和动态解析到的关键字列表进行对比。例如,通过in条件判断列名是否命中目标关键字。[0066]步骤s104,将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,并输出所述特定表的名称与所述特定列的名称。[0067]其中,所述特定表为所述表中的一者或多者,以及所述特定列为所述列中的一者或多者。[0068]对于步骤s104,所述输出所述特定表的名称与所述特定列的名称可包括:以结构化数组方式输出所述特定表的名称与所述特定列的名称。[0069]具体地,只要某表中的某列名命中目标关键字列表中的任一者,就输出并通过数组rstlist存储对应的列名和表名,并将结果打印出来展示给用户,如图6所示。例如,apply_info表中的status命中了status,则将apply_info与status以数组rstlist方式存储。然后,继续对遍历到的其他列名做相同的逻辑判断。如果某表中的某列名未命中目标关键字列表中的所有关键字,则不做任何处理。然后,继续对遍历到的其他列名做相同的逻辑判断。直至对遍历到的所有表名执行上述匹配操作,即本次自动化筛查完成。[0070]具体而言,现以图7为例对关键字筛查的过程进行解释和说明。[0071]如图7所示,所述关键字筛查的过程可包括以下步骤s701-s712。[0072]步骤s701,传入配置文件路径。[0073]步骤s702,判断配置文件是否存在,若是,则执行步骤s703;否则,执行步骤s709。[0074]步骤s703,解析配置文件内容。[0075]步骤s704,判断配置文件解析是否成功,若是,则执行步骤s705;否则,执行步骤s709。[0076]步骤s705,读取数据库中的所有表名。[0077]其中,所述表名可指表的名称。[0078]步骤s706,遍历第i个表中的所有列名。[0079]其中,i的初始值为1,以及所述列名可指列的名称。[0080]步骤s707,判断列名是否命中关键字列表,若是,则执行步骤是708;否则,执行步骤s710。[0081]步骤s708,将对应列名和表名汇总到返回结果,并进行展示,并执行步骤s710。[0082]步骤s709,提示文件不存在并结束流程。[0083]步骤s710,i=i+1。[0084]步骤s711,判断i》n是否成立,若是,则执行步骤s712;否则执行步骤s706。[0085]其中,n为数据库中的所有表的数目。[0086]步骤s712,遍历完成并结束流程。[0087]上述实施例自动解析配置文件,以生成关键字列表;自动读取数据库的所有表和所有列名,并循环遍历并逐一对比列名是否命中数据库关键字,由此,可自动汇总筛查结果。因此,本实施例可以实现秒级(例如5s)即完成交易平台的贷款服务系统的关键字筛查,且其适用于所有使用安全部门插件的系统,从而不仅极大地提高筛查效率,还可降低测试成本。[0088]综上所述,本发明创造性地首先根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字;然后获取目标数据库中的表的名称;遍历所述表中的列的名称,并将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,输出所述特定表的名称与所述特定列的名称。由此,本发明可提高关键字筛查的效率以实现秒级的自动筛查速度,从而极大地降低整体的测试成本。[0089]本发明第二方面提供一种关键字筛查系统,所述关键字筛查系统包括:解析装置,用于根据配置文件中的关键字的分布规律,解析所述配置文件,以获取目标关键字;获取装置,用于获取目标数据库中的表的名称;遍历装置,用于遍历所述表中的列的名称;以及输出装置,用于将所述表中的所述列中的名称与所述目标关键字中的任意关键字相匹配的列确定为特定表中的特定列,并输出所述特定表的名称与所述特定列的名称,其中,所述特定表为所述表中的一者,以及所述特定列为所述列中的一者。[0090]有关本发明提供的关键字筛查系统的具体细节及益处可参阅上述针对关键字筛查方法的描述,于此不再赘述。[0091]本发明一实施例提供一种数据处理方法,所述数据处理方法包括:根据所述的关键字筛查方法,获取目标关键字并输出特定表的名称与所述特定表中的特定列的名称,其中,所述特定列的名称与所述目标关键字中的任意关键字相匹配;以及将所述特定表的名称与所述特定列的名称修改为非目标关键字,其中,所述非目标关键字不为所述目标关键字中的任一者。[0092]通过上述技术方案,本发明创造性地首先根据所述的关键字筛查方法,获取目标关键字并输出特定表的名称与所述特定表中的特定列的名称,然后将所述特定表的名称与所述特定列的名称修改为非目标关键字。由此,本发明可高效地实现数据脱敏目标,从而极大地降低整体的测试成本。[0093]本发明一实施例提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,该指令用于使得机器执行上述的关键字筛查方法和/或上述的数据处理方法。[0094]本发明一实施例提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的关键字筛查方法和/或上述的数据处理方法。[0095]本发明一实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述的关键字筛查方法和/或上述的数据处理方法。[0096]以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。[0097]另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。[0098]本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0099]此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1