一种敏感数据识别方法和装置的制造方法
【专利摘要】本发明实施例涉及信息安全软件领域,尤其涉及一种敏感数据识别方法和装置,用以高效自动识别敏感数据。本发明实施例中,从数据表中获取N行待识别数据,N≥1;依据关键字字典,判断待识别数据中是否包括关键字字典中的关键字;若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所有数据确定为敏感数据。由于关键字字典中包括关键字,因此当待识别数据中包括关键字字典中的关键字时,则确定该待识别数据中包括敏感数据,进一步由于N行待识别数据仅是数据表的一部分,因此将数据表中确定出的关键字相应的列的所有数据确定为敏感数据,从而实现了高效自动识别敏感数据的目的,且降低漏查敏感数据的概率。
【专利说明】
-种敏感数据识别方法和装置
技术领域
[0001] 本发明实施例设及信息安全领域,尤其设及一种敏感数据识别方法和装置。
【背景技术】
[0002] 敏感数据一般指用户的隐私信息,电信运营商拥有大量用户的隐私信息,不法分 子经常会从电信运营商的数据库中盗取用户的敏感数据,从而导致敏感数据泄漏事件时有 发生。敏感数据的泄露不仅对运营商自身的核屯、机密、同行业竞争力和市场声誉造成了严 重的影响,也对用户的隐私和个人信息安全造成不同程度的危害。
[0003] 敏感数据流转的途径比较多,贯穿了整个数据生命周期,涵盖了数据产生、分析、 统计、转移、失效等多个环节。例如,生产库上的数据在向测试库及经分系统转移的过程中, 敏感数据泄露最易发生。因此,在整个数据生命周期中,识别敏感数据,W便对敏感数据进 行模糊化处理成为重中之重。
[0004] 现有技术通过人工方式识别敏感数据,由数据库管理员根据个人经验对敏感数据 进行查找和确定,该方式费时费力,且出现漏查敏感数据的概率较高。
[0005] 综上所述,亟需一种敏感数据识别方法和装置,用W高效自动识别敏感数据,降低 漏查敏感数据的概率。
【发明内容】
[0006] 本发明实施例提供一种敏感数据识别方法和装置,用W高效自动识别敏感数据, 降低漏查敏感数据的概率。
[0007] 本发明实施例提供一种敏感数据识别方法,包括W下步骤:
[0008] 从数据表中获取N行待识别数据,N > 1 ;
[0009] 依据关键字字典,判断待识别数据中是否包括关键字字典中的关键字;
[0010] 若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所 有数据确定为敏感数据。
[0011] 本发明实施例提供一种敏感数据识别装置,包括:
[0012] 获取单元,用于从数据表中获取N行待识别数据,1 ;
[0013] 处理单元,用于依据关键字字典,判断待识别数据中是否包括关键字字典中的关 键字;若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所有数 据确定为敏感数据。
[0014] 本发明实施例中,从数据表中获取N行待识别数据,N > 1 ;依据关键字字典,判断 待识别数据中是否包括关键字字典中的关键字;若是,则根据待处理数据中所包括的关键 字所在的列,将数据表中相应的列的所有数据确定为敏感数据。
[0015] 由于关键字字典中包括关键字,因此当待识别数据中包括关键字字典中的关键字 时,则确定该待识别数据中包括敏感数据,进一步由于N行待识别数据仅是数据表的一部 分,因此将数据表中确定出的关键字相应的列的所有数据确定为敏感数据,从而实现了高 效自动识别敏感数据的目的,且降低漏查敏感数据的概率。
【附图说明】
[0016] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可W根据运些附图获得其 他的附图。
[0017] 图1为本发明实施例提供的一种敏感数据识别方法流程示意图;
[0018] 图2为本发明实施例提供的一种关键字字典的结构示意图;
[0019] 图3为本发明实施例提供的一种敏感数据识别方法流程示意图;
[0020] 图4为本发明实施例提供的一种关键字字典的结构示意图;
[0021] 图5本发明实施例提供的一种敏感数据识别装置的结构示意图。
【具体实施方式】
[0022] 本发明实施例提供一种敏感数据识别方法和装置。本发明实施例中,从数据表中 获取N行待识别数据,1 ;依据关键字字典,判断待识别数据中是否包括关键字字典中的 关键字;若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所有 数据确定为敏感数据。由于关键字字典中包括关键字,因此当待识别数据中包括关键字字 典中的关键字时,则确定该待识别数据中包括敏感数据,进一步由于N行待识别数据仅是 数据表的一部分,因此将数据表中确定出的关键字相应的列的所有数据确定为敏感数据, 从而实现了高效自动识别敏感数据的目的,且降低漏查敏感数据的概率。
[0023] 为了使本发明的目的、技术方案及有益效果更加清楚明白,W下结合附图及实施 例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发 明,并不用于限定本发明。
[0024] 本发明实施例适用于多种场景,本发明实施例不做限制。本发明实施例中W-个 应用场景为例进行说明,本领域技术人员可知,不限于此。假设,需将数据从一个数据库转 移到另一个数据库时,应用本发明实施例所提供的方法自动识别出敏感数据,并进一步对 敏感数据进行加密处理,或者对敏感数据进行模糊化处理等,W使该需转移的数据中的敏 感数据的安全性进一步提高。
[0025] 本发明实施例所适用的对象,即本发明实施例所识别的数据库结构为行、列排布 的数据库结构。本发明实施例中所建立的关键字字典为树状结构,关键字字典中包括多个 关键字,该关键字字典用于识别出待识别数据中的汉字。
[00%] 基于上述论述,本发明实施例提供的一种敏感数据识别方法,如图1所示,包括W 下步骤:
[0027] 步骤101,从数据表中获取N行待识别数据,N > 1 ;
[0028] 步骤102,依据关键字字典,判断待识别数据中是否包括关键字字典中的关键字; 若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所有数据确 定为敏感数据。
[0029] 较佳的,本发明实施例所适用的数据表结构为行列结构,假设本发明实施例的应 用场景为需要将一个数据表从一个数据库转移至另一个数据库。则针对该数据表,在该数 据表进行转移之前,需要先应用本发明实施例对数据表中的敏感数据进行识别,之后,对识 别出的敏感数据进行进一步的加密或模糊化处理均可,W提高待转移数据的安全性。
[0030] 较佳的,由于数据表中的数据量比较大,为了提高处理速度,较佳的,可设定抽样 比例,例如,按10%的比例进行抽样,即在数据表中随机抽取总数据量的10%作为待识别 数据,即样本数据,W便于进行敏感数据的识别。由于本发明实施例中的数据表结构为行列 结构,因此,较佳的抽样比例为10%时,表示随机出去数据表的所有行中的10%行作为待 识别数据。较佳的,待识别数据最多不超过4万行。较佳的,当数据表还有多个分区表时, 应针对每个分区表进行抽样,较佳的,每个分表区中抽取的待识别数据最多不超过1万行。
[0031] 在识别待识别每行的待识别数据时,一列一列的识别,即先确定出某行待识别数 据,之后先识别该行待识别数据的第一列的数据中是否包含关键字字典中的关键字,若是, 则先将第一列进行标记,接着该行待识别数据的第一列的数据中是否包含关键字字典中的 关键字,若是,则将第二列进行标记,假设其它列均不包括关键字字典中的关键字,则在判 断结束之后,将数据表中第一列和第二列的所有数据均确定为敏感数据,之后对确定为敏 感数据的数据进行加密或模糊化处理。
[0032] 由于数据表为行列结构,因此从中抽取N行待识别数据进行处理,当确定某行中 的某列中的某个字段为关键字字典中的关键字,则为了避免敏感数据的遗漏,较佳的,进一 步将该列在数据表中包括的所有数据均确定为敏感数据,从而避免了需扫描数据表中的所 有数据,且提高了处理速度。
[0033] 较佳的,对获取N行待识别数据进行预处理,将待识别数据中的特殊字符去除,例 如每行的行首和行尾的空格、换行符、回车符,W及其它特殊字符等。对待识别数据进行预 处理之后,因为没有特殊字符,因此可大大降低敏感数据识别过程中出错的概率,因此进一 步提升了敏感数据识别的准确率。
[0034] 在依据关键字字典进行敏感数据识别之前,具体介绍一下本发明实施例所适用的 关键字字典。关键字字典为树状结构,除根节点W外的每个节点对应一个一个汉语拼音或 一个分隔符,每个叶子节点对应一组关键字,一个叶子节点所对应的每个关键字中的每个 汉字的汉语拼音串W及每两个汉字之间的分隔符所构成的第一字符串,与根节点到该叶子 节点的路径上对应节点的汉语拼音及分隔符所构成的第二字符串相同。
[0035] 关键字字典中每个节点对应一个汉语拼音或一个分隔符,每个节点均可延伸出分 支,例如图2中,关键字"上海"对应的路径上,字符"g"的上一级节点"η"就有两个分支, 字符"η"的另一个分支为分隔符"+ "。可见,本发明实施例中的关键字字典的结构紧凑,且 由于节点的颗粒度为字母,因此整个关键字字典的结构大大减小,组合形式灵活多变。
[0036] 本发明实施例中示例性示出了一种关键字字典的结构,如图2所示,假设从根节 点开始,令根节点为第一级节点,从根节点至叶子节点,各个节点的级数逐渐递增。且除根 节点W外的每个节点对应一个汉字的汉语拼音,如图2所示,关键字"常德市"所对应的路 径上,从根节点至叶子节点,每一级节点所对应的汉语拼音为:第二级节点对应汉语拼音 C ;第二级节点对应汉语拼音C下的第Ξ级节点对应汉语拼音h ;第Ξ级节点对应汉语拼音 h下的第四级节点对应汉语拼音a ;第四级节点对应汉语拼音a下的第五级节点对应汉语拼 音η ;第五级节点对应汉语拼音η下的第六级节点对应汉语拼音g ;第六级节点对应汉语拼 音g下的第屯级节点对应分隔符第屯级节点对应分隔符"+"下的第八级节点有两个, 分别对应"d"和"S",在关键字"常德市"路径上,第屯级节点对应分隔符"下的第八级节 点对应"d";第八级节点对应汉语拼音d下的第九级节点对应汉语拼音"e";第九级节点对 应汉语拼音e下的第十级节点对应分隔符" + 第十级节点对应分隔符"对应的第十一 级节点对应汉语拼音S ;第十一级级节点对应汉语拼音S下的第十二级节点对应汉语拼音 h ;第十二级级节点对应汉语拼音h下的第十Ξ级节点对应汉语拼音i ;第十Ξ级级节点对 应汉语拼音i下的第十四级节点对应叶子节点;该叶子节点对应的关键字为"常德市"。
[0037] 一个叶子节点所对应的每个关键字中的每个汉字的汉语拼音W及每两个汉字之 间的分隔符所构成的字符串,与根节点到该叶子节点的路径上对应节点的汉语拼音及分隔 符所构成的字符串相同。如,叶子节点所对应的关键字"常德市"中的每个汉字的汉语拼 音W及每两个汉字之间的分隔符所构成的字符串为"chang+de+shi",用"+ "表示两个汉 字之间的分隔符,从图2中可看出,从根节点到该叶子节点的路径上对应的汉语拼音串为 "ch曰ng+de+shi "。
[0038] 此处仅W图2中的叶子节点所对应的关键字"常德市"为例进行介绍,其它关键字 的描述与其类似,在此不再寶述。
[0039] 较佳的,关键字字典可W有多个,每个关键字字典中保存的关键字类型不同,比如 关键字为姓名类型的关键字字典、关键字为地名类型的关键字字典等,也可为多种类型的 关键字所构成关键字字典。
[0040] 获取N行待识别数据之后,针对每行待识别数据分别进行识别,举一个例子,从数 据表中获取10行待识别数据,先对第一行的第一列中的待识别数据进行识别,确定第一行 第一列中不包括关键字字典中的关键字,接着对第一行中的第二列中的待识别数据进行识 另IJ,假设确定第一行的第二列中包括关键字字典中的关键字,假设第一行的所有列的数据 均识别完毕,第一行中除第二例之外的其它列中均不包括关键字字典中的关键字;此时接 着依次判断第二行的每列待识别数据中是否包括关键字字典中的关键字,假设第二行中仅 第五列待识别数据中包括关键字字典中的关键字;假设其它行的所有列的待识别数据中均 未包括关键字,则将整个数据表中的第二列W及第五列所包括的数据均确定为敏感数据。 较佳的,之后将数据表中的第二列W及第五列数据进行加密或模糊化处理之后,再继续传 输。
[0041] 通过上述例子可看出,针对每行待识别数据中的每列待识别数据分别进行识别的 过程是相互独立的,因此,下面W其中某一行的某列待识别数据为例进行介绍。
[0042] 对每行待识别数据中的每列待识别数据进行识别时,第一步,针对每行待识别数 据中的每列待识别数据,获取所述待识别数据中汉字字符串中的每个汉字的汉语拼音串及 每两个汉字之间的分隔符所组成的第一字符串;第二步,将所述第一字符串与所述树状结 构中根节点到叶子节点的路径上所对应的第二字符串,W及该路径上的叶子节点所对应的 一组关键字进行匹配;第Ξ步,根据匹配结果判断待识别数据中是否包括该路径上的叶子 节点所对应的关键字。
[0043] 具体来说,将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对 应的第二字符串,W及该路径上的叶子节点所对应的一组关键字进行匹配,根据匹配结果 判断所述待识别数据中是否包括该路径上的叶子节点所对应的关键字,具体包括:
[0044] 步骤A :将第一字符串确定为当前待匹配字符串,并执行步骤B ; W45] 步骤B :设置i = 1,并执行步骤C ;
[0046] 步骤C :判断当前待匹配字符串中的第i个字符与树状结构中第i+1级节点对应 的字符是否匹配,若是,则执行步骤D ;否则,执行步骤I ;
[0047] 步骤D :判断第i+1级节点是否为叶子节点,若是,则执行步骤E ;否则执行步骤G ;
[0048] 步骤E :将当前待匹配字符串对应的汉字字符串与匹配到的叶子节点对应的一组 关键字进行匹配,并判断当前待匹配字符串对应的汉字字符串是否与该组关键字中的一个 关键字匹配,若是,则执行步骤F ;否则,执行步骤G ;
[0049] 步骤F :确定当前待匹配字符串所对应的汉字字符串中包括关键字字典中的关键 字;之后结束当前判断流程;
[0050] 步骤G :判断当前待匹配字符串中的第i个字符所对应的汉字是否为该字符串对 应的汉字字符串的最后一个汉字,若是,则执行步骤K ;否则,执行步骤Η ;
[0051] 步骤Η :将i递增1,并转入步骤C ;
[0052] 步骤I :判断当前待匹配字符串中的第i个字符所对应的汉字是否为该字符串对 应的汉字字符串的最后一个汉字,若是,则执行步骤K ;否则,执行步骤J ;
[0053] 步骤J :将当前待匹配字符串中第i+1个字符及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,并转 入步骤B W进入下一个匹配过程;
[0054] 步骤K :确定当前待匹配字符串所对应的汉字字符串中不包含关键字字典中的关 键字,结束当前判断流程。 阳化5] 具体来说,在上述步骤C中,循环判断当前待匹配字符串中的第i个字符与树状结 构中第i+1级节点对应的字符是否匹配,当i加1之后,再次判断,应判断当前待匹配字符 串中的第i个字符与树状结构中已经匹配成功的第i级节点对应的第i+1级节点对应的字 符是否匹配。举一个例子,假设判断第1个字符与树状结构中第2级节点对应的字符是否 匹配,若匹配,则判断第2个字符与第3级节点对应的字符是否匹配,此时,第2个字符与应 与已经匹配成功的路径上的第2级节点对应的第3级节点上的字符进行匹配。
[0056] 针对上述识别流程,现举一例子,并结合附图2和附图3进行具体介绍,假设N行 待识别数据中存在某行待识别数据,该行待识别数据中第一列待识别数据为"我是山西省 山西大学的学生"。该行其它列中的数据识别方法与第一列中的数据的识别方法类似,在此 仅W该行第一列中的待识别数据为例进行详细阐述。
[0057] 针对该行待识别数据中的第一列待识别数据,执行上述流程步骤第一步,针对该 行待识别数据中的第一列待识别数据,获取所述待识别数据中汉字字符串中的每个汉字的 汉语拼音串及每两个汉字之间的分隔符所组成的第一字符串,即将上述例子中的汉字字符 串"我是山西省山西大学的学生",对应将每个汉字转换为汉语拼音串"WO, shi,shan,xi, sheng,shan,xi,da, xue,de,xue,sheng",每个汉字对应一个汉语拼音串,在每两个汉字之 间增加一个分隔符" + ",则第一字符串为"wo+shi+shan+xi+sheng+shan+xi+da+xue+de+xue +sheng";第二步,将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对应 的第二字符串,W及该路径上的叶子节点所对应的一组关键字进行匹配,具体描述如下:
[0058] 执行步骤A :将第一字符串确定为当前待匹配字符串,并执行步骤B ;即当前待匹 IS字符串为"wo+shi+sh曰n+xi+shen邑+sh曰n+xi+d曰+xue+de+xue+shen邑,';
[0059] 步骤B :设置i = 1,执行步骤C ;
[0060] 步骤C :判断当前待匹配字符串中的第1个字符与树状结构中第2级节点对应的 字符是否匹配,发现第1个字符为与图2中的第2级节点中对应的汉语拼音"C、S"均 不匹配,因此,执行步骤I ;
[0061] 步骤I :判断当前待匹配字符串中的第1个字符是否为该字符串的最后一个字符, 经判断,发现并不是该待匹配字符串"wo+shi+shan+xi+sheng+shan+xi+da+xue+de+xue +sheng"的最后一个字符,因此,执行步骤J ;
[0062] 步骤J :将当前待匹配字符串中第2个字符W及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,即将 "o+shi+shan+xi+sheng+shan+xi+da+xue+de+xue+sheng"确定为下一个匹配过程的当前待 匹配字符串,并转入步骤B W进入下一个匹配过程; 阳06引步骤B :设置i = 1 ;执行步骤C ; W64] 步骤C :判断当前待匹配字符串中的第1个字符"0"与树状结构中第2级节点对 应的汉语拼音"C、S"均不匹配,因此,执行步骤I,经判断,发现字符"0"并不是该待匹配字 符串的最后一个字符,因此,重复执行步骤J ; W65] 步骤J :将当前待匹配字符串中第2个字符化及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,即将 "+shi+shan+xi+sheng+shan+xi+da+xue+de+xue+sheng"确定为下一个匹配过程的当前待 匹配字符串,并转入步骤B W进入下一个匹配过程,执行步骤B,设置i = 1,并执行步骤C, 判断当前待匹配字符串中的第1个字符分隔符"+ "与树状结构中第2级节点对应的汉语拼 音"C、S"均不匹配,因此,执行步骤I,经判断,发现字符"+ "并不是该待匹配字符串的最后 一个字符,因此,重复执行步骤J ;
[0066] 步骤J :将当前待匹配字符串中第2个字符W及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,即将 "shi+shan+xi+sheng+shan+xi+da+xue+de+xue+sheng"确定为下一个匹配过程的当前待匹 配字符串,并转入步骤B W进入下一个匹配过程,执行步骤B,设置i = 1,并执行步骤C,判 断当前待匹配字符串中的第1个字符分隔符"S"与树状结构中第2级节点对应的汉语拼音 "S"匹配,因此,执行步骤D;
[0067] 步骤D :判断第3级节点是否为叶子节点,从图2可见,已经匹配成功的第2级节 点"S"对应的第3级节点对应的汉语拼音为"h",并非叶子节点,因此,执行步骤G ;
[0068] 步骤G :经判断,当前待匹配字符串中的第1个字符并不是该字符串的最后一个字 符,因此,执行步骤Η ; W例步骤Η :将i递增1,即,令i = 2,并转入步骤C ;
[0070] 步骤C :判断当前待匹配字符串中的第2个字符分隔符"h"与树状结构中第3级 节点对应的汉语拼音"h"匹配,因此,执行步骤D,判断第4级节点并非叶子节点,因此,执行 步骤G,经判断,当前待匹配字符串中的第2个字符并不是该字符串的最后一个字符,因此, 执行步骤H,步骤Η :将i递增1,即,令i = 3,并转入步骤C ;
[0071] 步骤C :判断当前待匹配字符串中的第3个字符"i"与树状结构中第4级节点对 应的汉语拼音"a"不匹配,因此,执行步骤I,经判断,发现字符"i "并不是该待匹配字符串 的最后一个字符,因此,重复执行步骤J ;
[0072] 步骤J :将当前待匹配字符串中第2个字符W及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,即将 "hi+shan+xi+sheng+shan+xi+da+xue+de+xue+sheng"确定为下一个匹配过程的当前待匹 配字符串,并转入步骤B W进入下一个匹配过程,执行步骤B,设置i = 1,并执行步骤C ;
[0073] 循环判断,发现字符+ "均与根节点下的第2级节点中对应的汉语拼音 不匹配,该过程与上述内容类似,不再重复寶述,现由于+ "均与根节点下的第2 级节点中对应的汉语拼音不匹配,因此重新将"shan+x i+sheng+shan+x i+da+xue+de+xue+s heng"确定为下一个匹配过程的当前待匹配字符串,并转入步骤B W进入下一个匹配过程, 执行步骤B,设置i = 1,并执行步骤C ;
[0074] 步骤C :判断当前待匹配字符串中的第1个字符与树状结构中第2级节点对应的 汉语拼音是否匹配,发现第1个汉字的汉语拼音串"S"与图2中的第2级节点中对应的汉 语拼音串"S"匹配,因此,执行步骤D ;
[00巧]步骤D :判断第3级节点是否为叶子节点,从图2可见,第3级节点对应汉语拼音 串"h",并非叶子节点,因此,执行步骤G ;
[0076] 步骤G :经判断,当前待匹配字符串中的第1个字符并不是该字符串的最后一个字 符,因此,执行步骤Η ;
[0077] 步骤Η :将i递增1,即,令i = 2,并转入步骤C ;
[0078] 再次判断第i个字符与树状结构中第i+1级节点对应的汉语拼音是否匹配时,应 将第i个字符与已经匹配成功的第i级节点所对应的分支上的第i+1级节点进行匹配,即 执行步骤C :判断当前待匹配字符串中的第2个字符与树状结构中第3级节点对应的汉语 拼音是否匹配,应判断当前待匹配字符串中的第2个字符与树状结构中已经匹配成功的汉 语拼音对应为"S"的第2级节点所对应的第3级节点对应的汉语拼音串"h"是否匹配;经 判断,发现第2个字符"h"与图2中的第3级节点中对应的汉语拼音串"h"匹配,因此,执 行步骤D,经判断,第4级节点并非叶子节点,因此,执行步骤G,经判断,发现"h"并不是该 待匹配字符串的最后一个字符,因此,执行步骤H,将i递增1,即,令i = 3,并转入步骤C ;
[0079] 步骤C :判断当前待匹配字符串中的第3个字符与树状结构中第4级节点对应的 汉语拼音是否匹配,发现第3个字符"a"与图2中的第4级节点中对应的汉语拼音"a"匹 配,因此,执行步骤D,判断第5级节点并非叶子节点,因此,执行步骤G,经判断,当前待匹配 字符串中的第3个字符并不是该字符串的最后一个字符,因此,执行步骤H,将i递增1,即, 令i = 4,并转入步骤C ;
[0080] 步骤C :判断当前待匹配字符串中的第4个字符与树状结构中第5级节点对应的 汉语拼音是否匹配,发现第4个字符"η"与图2中的第5级节点中对应的汉语拼音"η"匹 配,因此,执行步骤D,判断第6级节点并非叶子节点,因此,执行步骤G,经判断,当前待匹配 字符串中的第4个字符并不是该字符串的最后一个字符,因此,执行步骤Η,将i递增1,即, 令i = 5,并转入步骤C;
[0081] 步骤C :判断当前待匹配字符串中的第5个字符与树状结构中第6级节点对应的 汉语拼音是否匹配,发现第5个分隔符"+ "与图2中的第6级节点中对应的分隔符"+ "匹 配,因此,执行步骤D,判断第7级节点并非叶子节点,因此,执行步骤G,经判断,当前待匹配 字符串中的第5个字符并不是该字符串的最后一个字符,因此,执行步骤H,将i递增1,即, 令i = 6,并转入步骤C ; 阳082] 循环执行上述判断流程,依序判断出当前待识别字符中"shan+xi+sheng"对应关 键字字典中的一条路径,循环判断过程与上述流程类似,在此不再详述,即判断出第13个 字符"g"与关键字字典中的第14级节点对应的汉语拼音"g"匹配之后,执行步骤D,判断第 15级节点为叶子节点,执行步骤E ;
[0083] 步骤E:将当前待匹配字符串对应的汉字字符串与匹配到的叶子节点对应的一组 关键字进行匹配,并判断当前待匹配字符串对应的汉字字符串是否与该组关键字中的一个 关键字匹配,经判断,该当前待匹配字符串对应的汉字字符串为"山西省",匹配到的叶子节 点对应的一组关键字为"陕西省、山西省",可见,当前待匹配字符串对应的汉字字符串"山 西省"与该组关键字中的一个关键字"山西省"匹配,执行步骤F ;
[0084] 步骤F :确定当前待匹配字符串所对应的汉字字符串"山西省山西大学的学生"中 包括关键字字典中的关键字"山西省";之后结束当前判断流程。
[00化]经判断,该行待识别数据的第一列数据"我是山西省山西大学的学生"中存在的关 键字字典中的关键字"山西省",因此,将所述数据表中相应的第一列所有数据确定为敏感 数据。
[0086] 上述例子详细阐述了本发明实施例如何根据关键字字典中识别数据表中的敏感 数据的方法。较佳的,关键字字典中的关键字可预先设置,也可在后续匹配流程中通过学习 的方式自动将与关键字字典中已有的关键字类似的字符添加到关键字字典中。
[0087] 较佳的,若根据匹配结果判断所述待识别数据中不包括该路径上的叶子节点所对 应的关键字,则判断所述待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字 的匹配程度是否大于阔值,若是,则将所述所述待识别数据中已经匹配成功的汉字字符串 添加到所述关键字字典中;其中,所述相应路径为所述已经匹配成功的汉字字符串所对应 的关键字字典中的路径。
[0088] 较佳的,待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的匹配 程度的计算公式(1)为:
[0089]
[0090] 其中,其中,h为待识别数据中已经匹配成功的字符的个数;g为待识别数据中已 经匹配成功的字符串相对应路径上的叶子节点与根节点距离最短的路径上的所有节点的 个数;η为关键字字典的所有关键字对应的路径上的所有节点总数量的平均值的向上取整 值;t为待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的匹配程度;k为 整数,0《k《η。
[0091] 举一个例子,假设某行待识别数据为"长沙大学",先结合图2和图3的匹配流程 进行匹配,可见,经过匹配流程之后,"长沙大学"相应的字符串中"chang+sha+da+xue"中 "chang+sha"匹配成功,但"chang+sha+da+xue"中的第10个字符"+ "匹配失败。经判断 待识别数据"长沙大学"并不包括关键字字典的关键字,较佳的,进一步判断待识别数据中 已经匹配成功的汉字字符串"长沙"和相应路径对应关键字"长沙市"、"长沙师范"的匹配 程度是否大于阔值,若是,则将待识别数据中已经匹配成功的汉字字符串"长沙"添加到关 键字字典中;其中,相应路径为已经匹配成功的汉字字符串"长沙"所对应的汉语拼音串 "chang+sha"所对应的关键字字典中的路径。
[0092] 结合公式(1)计算待识别数据中已经匹配成功的汉语拼音串和相应路径对应关 键字的匹配程度,W上述"长沙"两字为例进行介绍:
[0093] "长沙"两字在公式(1)中的各个字母的意义:
[0094] h为待识别数据中已经匹配成功的字符的个数,已经匹配成功的汉语拼音串为 "chang+sha",其中字符的个数9 ;
[0095] g为为待识别数据中已经匹配成功的字符串相对应路径上的叶子节点与根节点距 离最短的路径上的叶子节点与根节点之间的所有节点的个数;可见,待识别数据中已经匹 配成功的汉字字符串"长沙"对应的汉语拼音串"chang+sha"相对应路径上所对应的叶子节 点有两个,叶子节点距离根节点距离最短的路径为图2中叶子节点对应关键字为"长沙市" 的相应路径,g该路径上所有节点的个数,不包括根节点和叶子节点,g为13 ;
[0096] η为关键字字典的所有关键字对应的路径上的所有除根节点和叶子节点之外的节 点总数量的平均值的向上取整值,W图2为例,关键字有6个,关键字"常德市"对应的路 径上的所有节点"chang+de+shi"中字符的总数量为12,类似的,其它关键字对应的路径上 的所有节点所对应的汉语拼音串中字符的总数量分别为17、13、13、13、14、9,关键字字典 的所有关键字对应的路径上的所有节点所对应的汉语拼音串中字符的总数量的平均值为 (12+17+13+13+13+14+9)/7 = 13,将 13 向上取整,即 η 为 13 ;
[0097] t为待识别数据中已经匹配成功的汉语拼音串和相应路径对应关键字的匹配程 度;
[0098] k为整数,0《k《n,即0《k《12 ;
[0099] 依据公式(1),计算如下: 阳 100]
阳10U 若t的计算值大于阔值,则将待识别数据中已经匹配成功的汉语拼音串所对应的 汉字字符串"长沙"添加到关键字字典中,将图2中的关键字字典中添加关键字"长沙"之 后的效果图如图4所示。
[0102] 从上述内容可W看出:本发明实施例中,从数据表中获取N行待识别数据,1 ; 依据关键字字典,判断待识别数据中是否包括关键字字典中的关键字;若是,则根据待处理 数据中所包括的关键字所在的列,将数据表中相应的列的所有数据确定为敏感数据。由于 关键字字典中包括关键字,因此当待识别数据中包括关键字字典中的关键字时,则确定该 待识别数据中包括敏感数据,进一步由于N行待识别数据仅是数据表的一部分,因此将数 据表中确定出的关键字相应的列的所有数据确定为敏感数据,从而实现了高效自动识别敏 感数据的目的,且降低漏查敏感数据的概率。
[0103] 基于相同构思,本发明实施例提供的一种敏感数据识别装置,如图5所示,包括获 取单元501、处理单元502 :
[0104] 获取单元501,用于从数据表中获取N行待识别数据,1 ; 阳105] 处理单元502,用于依据关键字字典,判断待识别数据中是否包括关键字字典中的 关键字;若是,则根据待处理数据中所包括的关键字所在的列,将数据表中相应的列的所有 数据确定为敏感数据。
[0106]较佳的,所述关键字字典为树状结构,除根节点W外的每个节点对应一个汉语拼 音或一个分隔符,每个叶子节点对应一组关键字,一个叶子节点所对应的每个关键字中的 每个汉字的汉语拼音串W及每两个汉字之间的分隔符所构成的字符串,与根节点到该叶子 节点的路径上对应节点的汉语拼音及分隔符所构成的字符串相同; 阳107] 所述处理单元502,具体用于:
[0108] 针对每行待识别数据中的每列待识别数据,获取所述待识别数据中汉字字符串中 的每个汉字的汉语拼音串及每两个汉字之间的分隔符所组成的第一字符串;
[0109] 将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对应的第二 字符串,W及该路径上的叶子节点所对应的一组关键字进行匹配;
[0110] 根据匹配结果判断所述待识别数据中是否包括该路径上的叶子节点所对应的关 键字。 阳111] 较佳的,所述处理单元502,具体用于:
[0112] 执行下述将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对 应的第二字符串,W及该路径上的叶子节点所对应的一组关键字进行匹配;根据匹配结果 判断所述待识别数据中是否包括该路径上的叶子节点所对应的关键字的流程:
[0113] 步骤A :将第一字符串确定为当前待匹配字符串,并执行步骤B ; 阳114] 步骤B :设置i = 1,并执行步骤C ;
[0115] 步骤C :判断当前待匹配字符串中的第i个字符与树状结构中第i+1级节点对应 的字符是否匹配,若是,则执行步骤D ;否则,执行步骤I ;
[0116] 步骤D :判断第i+1级节点是否为叶子节点,若是,则执行步骤E ;否则执行步骤G ; 阳117] 步骤E :将当前待匹配字符串对应的汉字字符串与匹配到的叶子节点对应的一组 关键字进行匹配,并判断当前待匹配字符串对应的汉字字符串是否与该组关键字中的一个 关键字匹配,若是,则执行步骤F ;否则,执行步骤G ;
[0118] 步骤F:确定当前待匹配字符串所对应的汉字字符串中包括关键字字典中的关键 字;之后结束当前判断流程;
[0119] 步骤G :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符, 若是,则执行步骤K ;否则,执行步骤Η ;
[0120] 步骤Η :将i递增1,并转入步骤C ; 阳121] 步骤I :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符, 若是,则执行步骤K ;否则,执行步骤J ;
[0122] 步骤J :将当前待匹配字符串中第i+1个字符及之后的汉字的汉语拼音W及两个 汉字之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,并转 入步骤B W进入下一个匹配过程;
[0123] 步骤K:确定当前待匹配字符串所对应的汉字字符串中不包含关键字字典中的关 键字,结束当前判断流程。
[0124] 较佳的,还包括:
[0125] 若根据匹配结果判断所述待识别数据中不包括该路径上的叶子节点所对应的关 键字,则判断所述待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的匹配 程度是否大于阔值,若是,则将所述所述待识别数据中已经匹配成功的汉字字符串添加到 所述关键字字典中;其中,所述相应路径为所述已经匹配成功的汉字字符串所对应的关键 字字典中的路径。
[01%] 较佳的,所述待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的 匹配程度的计算公式为: 阳 127]
[0128] 其中,h为待识别数据中已经匹配成功的字符的个数;g为待识别数据中已经匹配 成功的字符串相对应路径上的叶子节点与根节点距离最短的路径上的叶子节点与根节点 之间的所有节点的个数;η为关键字字典的所有关键字对应的路径上的所有除根节点和叶 子节点之外的节点总数量的平均值的向上取整值;t为待识别数据中已经匹配成功的汉字 字符串和相应路径对应关键字的匹配程度;k为整数,0《k《η。
[0129] 从上述内容可W看出:本发明实施例中,从数据表中获取Ν行待识别数据,1 ; 依据关键字字典,判断待识别数据中是否包括关键字字典中的关键字;若是,则根据待处理 数据中所包括的关键字所在的列,将数据表中相应的列的所有数据确定为敏感数据。由于 关键字字典中包括关键字,因此当待识别数据中包括关键字字典中的关键字时,则确定该 待识别数据中包括敏感数据,进一步由于Ν行待识别数据仅是数据表的一部分,因此将数 据表中确定出的关键字相应的列的所有数据确定为敏感数据,从而实现了高效自动识别敏 感数据的目的,且降低漏查敏感数据的概率。
[0130] 本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。 因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的 形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存 储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形 式。 阳131] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供运些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器W产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0132] 运些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0133] 运些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤w产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0134] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对运些实施例作出另外的变更和修改。所W,所附权利要求意欲解释为包括优 选实施例W及落入本发明范围的所有变更和修改。
[0135] 显然,本领域的技术人员可W对本发明进行各种改动和变型而不脱离本发明的精 神和范围。运样,倘若本发明的运些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含运些改动和变型在内。
【主权项】
1. 一种敏感数据识别方法,其特征在于,包括以下步骤: 从数据表中获取N行待识别数据,N多1 ; 依据关键字字典,判断所述待识别数据中是否包括所述关键字字典中的关键字; 若是,则根据所述待处理数据中所包括的关键字所在的列,将所述数据表中相应的列 的所有数据确定为敏感数据。2. 如权利要求1所述的方法,其特征在于,所述关键字字典为树状结构,除根节点以外 的每个节点对应一个汉语拼音或一个分隔符,每个叶子节点对应一组关键字,一个叶子节 点所对应的每个关键字中的每个汉字的汉语拼音串以及每两个汉字之间的分隔符所构成 的字符串,与根节点到该叶子节点的路径上对应节点的汉语拼音及分隔符所构成的字符串 相同; 所述依据关键字字典,判断所述待识别数据中是否包括所述关键字字典中的关键字, 包括: 针对每行待识别数据中的每列待识别数据,获取所述待识别数据中汉字字符串中的每 个汉字的汉语拼音串及每两个汉字之间的分隔符所组成的第一字符串; 将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对应的第二字符 串,以及该路径上的叶子节点所对应的一组关键字进行匹配; 根据匹配结果判断所述待识别数据中是否包括该路径上的叶子节点所对应的关键字。3. 如权利要求2所述的方法,其特征在于,所述将所述第一字符串与所述树状结构中 根节点到叶子节点的路径上所对应的第二字符串,以及该路径上的叶子节点所对应的一组 关键字进行匹配;根据匹配结果判断所述待识别数据中是否包括该路径上的叶子节点所对 应的关键字,具体包括: 步骤A :将第一字符串确定为当前待匹配字符串,并执行步骤B ; 步骤B :设置i = 1,并执行步骤C ; 步骤C :判断当前待匹配字符串中的第i个字符与树状结构中第i+Ι级节点对应的字 符是否匹配,若是,则执行步骤D ;否则,执行步骤I ; 步骤D :判断第i+Ι级节点是否为叶子节点,若是,则执行步骤E ;否则执行步骤G ; 步骤E :将当前待匹配字符串对应的汉字字符串与匹配到的叶子节点对应的一组关键 字进行匹配,并判断当前待匹配字符串对应的汉字字符串是否与该组关键字中的一个关键 字匹配,若是,则执行步骤F ;否则,执行步骤G ; 步骤F :确定当前待匹配字符串所对应的汉字字符串中包括关键字字典中的关键字; 之后结束当前判断流程; 步骤G :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符,若 是,则执行步骤K ;否则,执行步骤Η ; 步骤Η :将i递增1,并转入步骤C ; 步骤I :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符,若 是,则执行步骤K ;否则,执行步骤J ; 步骤J :将当前待匹配字符串中第i+Ι个字符及之后的汉字的汉语拼音以及两个汉字 之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,并转入步 骤B以进入下一个匹配过程; 步骤K :确定当前待匹配字符串所对应的汉字字符串中不包含关键字字典中的关键 字,结束当前判断流程。4. 如权利要求2所述的方法,其特征在于,还包括: 若根据匹配结果判断所述待识别数据中不包括该路径上的叶子节点所对应的关键字, 则判断所述待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的匹配程度 是否大于阈值,若是,则将所述所述待识别数据中已经匹配成功的汉字字符串添加到所述 关键字字典中;其中,所述相应路径为所述已经匹配成功的汉字字符串所对应的关键字字 典中的路径。5. 如权利要求4所述的方法,其特征在于,所述待识别数据中已经匹配成功的汉字字 符串和相应路径对应关键字的匹配程度的计算公式为:其中,h为待识别数据中已经匹配成功的字符的个数;g为待识别数据中已经匹配成功 的字符串相对应路径上的叶子节点与根节点距离最短的路径上的叶子节点与根节点之间 的所有节点的个数;η为关键字字典的所有关键字对应的路径上的所有除根节点和叶子节 点之外的节点总数量的平均值的向上取整值;t为待识别数据中已经匹配成功的汉字字符 串和相应路径对应关键字的匹配程度;k为整数,0 < k < η。6. -种敏感数据识别装置,其特征在于,包括: 获取单元,用于从数据表中获取Ν行待识别数据,Ν多1 ; 处理单元,用于依据关键字字典,判断所述待识别数据中是否包括所述关键字字典中 的关键字;若是,则根据所述待处理数据中所包括的关键字所在的列,将所述数据表中相应 的列的所有数据确定为敏感数据。7. 如权利要求6所述的装置,其特征在于,所述关键字字典为树状结构,除根节点以外 的每个节点对应一个汉语拼音或一个分隔符,每个叶子节点对应一组关键字,一个叶子节 点所对应的每个关键字中的每个汉字的汉语拼音串以及每两个汉字之间的分隔符所构成 的字符串,与根节点到该叶子节点的路径上对应节点的汉语拼音及分隔符所构成的字符串 相同; 所述处理单元,具体用于: 针对每行待识别数据中的每列待识别数据,获取所述待识别数据中汉字字符串中的每 个汉字的汉语拼音串及每两个汉字之间的分隔符所组成的第一字符串; 将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对应的第二字符 串,以及该路径上的叶子节点所对应的一组关键字进行匹配; 根据匹配结果判断所述待识别数据中是否包括该路径上的叶子节点所对应的关键字。8. 如权利要求7所述的装置,其特征在于,所述处理单元,具体用于: 执行下述将所述第一字符串与所述树状结构中根节点到叶子节点的路径上所对应的 第二字符串,以及该路径上的叶子节点所对应的一组关键字进行匹配;根据匹配结果判断 所述待识别数据中是否包括该路径上的叶子节点所对应的关键字的流程: 步骤A :将第一字符串确定为当前待匹配字符串,并执行步骤Β ; 步骤B :设置i = 1,并执行步骤C ; 步骤C :判断当前待匹配字符串中的第i个字符与树状结构中第i+1级节点对应的字 符是否匹配,若是,则执行步骤D ;否则,执行步骤I ; 步骤D :判断第i+Ι级节点是否为叶子节点,若是,则执行步骤E ;否则执行步骤G ; 步骤E :将当前待匹配字符串对应的汉字字符串与匹配到的叶子节点对应的一组关键 字进行匹配,并判断当前待匹配字符串对应的汉字字符串是否与该组关键字中的一个关键 字匹配,若是,则执行步骤F ;否则,执行步骤G ; 步骤F :确定当前待匹配字符串所对应的汉字字符串中包括关键字字典中的关键字; 之后结束当前判断流程; 步骤G :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符,若 是,则执行步骤K ;否则,执行步骤Η ; 步骤Η :将i递增1,并转入步骤C ; 步骤I :判断当前待匹配字符串中的第i个字符是否为该字符串的最后一个字符,若 是,则执行步骤K ;否则,执行步骤J ; 步骤J :将当前待匹配字符串中第i+Ι个字符及之后的汉字的汉语拼音以及两个汉字 之间的分隔符所构成的第一字符串确定为下一个匹配过程的当前待匹配字符串,并转入步 骤B以进入下一个匹配过程; 步骤K :确定当前待匹配字符串所对应的汉字字符串中不包含关键字字典中的关键 字,结束当前判断流程。9. 如权利要求7所述的装置,其特征在于,还包括: 若根据匹配结果判断所述待识别数据中不包括该路径上的叶子节点所对应的关键字, 则判断所述待识别数据中已经匹配成功的汉字字符串和相应路径对应关键字的匹配程度 是否大于阈值,若是,则将所述所述待识别数据中已经匹配成功的汉字字符串添加到所述 关键字字典中;其中,所述相应路径为所述已经匹配成功的汉字字符串所对应的关键字字 典中的路径。10. 如权利要求9所述的装置,其特征在于,所述待识别数据中已经匹配成功的汉字字 符串和相应路径对应关键字的匹配程度的计算公式为:其中,h为待识别数据中已经匹配成功的字符的个数;g为待识别数据中已经匹配成功 的字符串相对应路径上的叶子节点与根节点距离最短的路径上的叶子节点与根节点之间 的所有节点的个数;η为关键字字典的所有关键字对应的路径上的所有除根节点和叶子节 点之外的节点总数量的平均值的向上取整值;t为待识别数据中已经匹配成功的汉字字符 串和相应路径对应关键字的匹配程度;k为整数,0 < k < η。
【文档编号】G06F17/30GK105824825SQ201510004494
【公开日】2016年8月3日
【申请日】2015年1月6日
【发明人】郭远胜
【申请人】中国移动通信集团湖南有限公司