CN110704861A - 一种基于开放接口实时脱敏的方法、装置及系统 - Google Patents
一种基于开放接口实时脱敏的方法、装置及系统 Download PDFInfo
- Publication number
- CN110704861A CN110704861A CN201910729161.7A CN201910729161A CN110704861A CN 110704861 A CN110704861 A CN 110704861A CN 201910729161 A CN201910729161 A CN 201910729161A CN 110704861 A CN110704861 A CN 110704861A
- Authority
- CN
- China
- Prior art keywords
- desensitization
- word
- sensitive
- matching
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于开放接口实时脱敏的方法及装置,本装置用于实现本方法,本方法包括服务器采集敏感词,对其分类标记并存储生成本地脱敏词库;定义脱敏词库的脱敏工具类接口,其中包括初始化接口、脱敏匹配接口、脱敏处理接口;输入文本至服务器的开放接口,从本地脱敏词库提取敏感词,将其按根对象对应多叉树结构缓存至本地内存生成脱敏词库;调用初始化接口,初始化敏感词缓存的根对象;通过脱敏匹配接口调用脱敏算法执行器,将文本基于脱敏词库遍历匹配,获取相匹配的敏感词;将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在文本中进行脱敏处理。本发明提供一种实时脱敏的高性能支持的数据脱敏方法。
Description
技术领域
本发明涉及文本处理领域,特别涉及一种基于开放接口实时脱敏的方法、装置及系统。
背景技术
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形。基于互联网平台对用户提交文本进行敏感词的脱敏,当用户有文本需要脱敏时,会调用接口上传文本,此时,利用实时数据脱敏工具对文本进行梳洗,过滤掉其中敏感词。
现有的互联网平台中,每天有大量的数据提交入库,一些广告、政治、污秽的语句经常被提交到平台数据库中。一旦数据入库后再进行数据处理很繁琐,人工成本非常大,长久不处理也增加了平台的维护成本。而由于互联网平台高并发大数据中敏感词难以处理,平台数据库存有敏感词列表。这些敏感词在存在违反国家互联网管理的若干条款,并同时也制约了互联网生态圈的协同发展。
敏感词脱敏是一种高效的数据梳洗行为,目的在于实现互联网平台的数据脱敏清洗。而当前互联网平台数据流转极其复杂,并发量非常庞大,需要一种能实时脱敏且高性能支持的数据脱敏方法才能完成数据梳洗和脱敏。
发明内容
本发明的主要目的是提出一种基于开放接口实时脱敏的方法,旨在克服以上问题。
为实现上述目的,本发明提出的一种基于开放接口实时脱敏的方法,包括如下步骤:
S10服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库;
S20定义脱敏词库的脱敏工具类接口,其中脱敏工具类接口包括初始化接口、脱敏匹配接口、脱敏处理接口;
S30输入待脱敏文本至服务器的开放接口,调用脱敏词库系统底层接口,通过脱敏词库系统底层接口从本地脱敏词库提取敏感词,将所提取的敏感词按根对象对应多叉树的结构缓存至本地内存生成脱敏词库;
S40调用初始化接口,初始化敏感词缓存的根对象;
S50通过脱敏匹配接口调用脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词;
S60将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在待脱敏文本中进行脱敏处理。
优选地,所述脱敏算法执行器包括确定有穷自动机DFA算法,所述DFA 算法具有多叉树模型结构,所述多叉树模型是由根节点及其子节点模型组成,所述根节点是以根对象为节点,所述子节点模型是按其他字与该字组词的亲近关系层层分解为根节点的叶节点构成,当脱敏算法执行器采用确定有穷自动机DFA算法时,所述S50中通过脱敏匹配接口调用脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词的方法具体为:
S501按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
S502若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回S501继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
S503输出S502中所读取到的所有敏感词。
优选地,所述脱敏算法执行器还包括哈希桶HASH_BUCKET、多模式匹配算法DAT、结束符触发多模式算法TTMP或树型分词算法TIRE,不同的脱敏算法适配不同的业务场景,所述S501之前还包括:
S500根据不同的业务场景调用相应的脱敏匹配接口以选择适配的脱敏算法,DFA算法适配1M~500K文本量的业务场景;哈希桶HASH_BUCKET适配300K以下文本量的业务场景;多模式匹配法DAT适配300~500K文本量的业务场景;结束符触发多模式算法TTMP适配容许文本存在敏感词漏洞的业务场景;树型分词算法TIRE适配100K以下文本量的业务场景。
优选地,所述脱敏工具类接口还包括敏感词匹配类型接口,所述S40之后,所述S50之前还包括:
S70调用敏感词匹配类型接口选择敏感词匹配的匹配类型,执行敏感词的脱敏匹配,其中所述敏感词匹配的匹配类型包括部分匹配和完整匹配,部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词。
优选地,所述脱敏工具类接口还包括敏感词添加接口,本方法还包括:
S80若发现新的敏感词,调用敏感词添加接口,录入新的敏感词至本地脱敏词库并持久化存储。
优选地,所述脱敏处理接口包括敏感词高亮接口和敏感词替换接口,所述脱敏处理包括:
通过调用敏感词高亮接口将所匹配的敏感词用超级文本语言包裹后替换该敏感词,或者是,通过调用敏感词替换接口将所匹配的敏感词用预定字符替换。
优选地,所述无序无重复的敏感词集合是采用HashSet集合所获取的敏感词,并采用HashMap封装形成的集合,该集合中敏感词具有无序的、不可重复的、实现不同步的属性。
本发明还公开了一种基于开放接口实时脱敏的系统,包括由若干如上所述的服务器组成服务器集群,在所述服务器集群中由各所述服务器的内存通过多节点通信形成脱敏词库集群,所述待脱敏文本基于脱敏词库集群遍历匹配,获取相匹配的敏感词。
本发明还公开了一种基于开放接口实时脱敏的装置,该装置用于实现上述方法,包括:
词库生成模块,用于服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库;
定义模块,用于定义脱敏词库的脱敏工具类接口,其中脱敏工具类接口包括初始化接口、脱敏匹配接口、脱敏处理接口;
初始化模块,用于调用初始化接口,初始化敏感词缓存的根对象;
预处理模块,用于输入待脱敏文本至服务器的开放接口,调用脱敏词库系统底层接口,通过脱敏词库系统底层接口从本地脱敏词库提取敏感词,将所提取的敏感词按根对象对应多叉树的结构缓存至本地内存生成脱敏词库;
匹配类型选择模块,调用敏感词匹配类型接口选择敏感词匹配的匹配类型,执行敏感词的脱敏匹配,其中所述敏感词匹配的匹配类型包括部分匹配和完整匹配,部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词;
敏感词匹配模块,用于通过脱敏匹配接口调用脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词;
脱敏处理模块,用于将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在待脱敏文本中进行脱敏处理;
新词添加模块,用于若发现新的敏感词,调用敏感词添加接口,录入新的敏感词至本地脱敏词库并持久化存储。
优选地,所述脱敏处理模块包括:
场景选择子模块,用于根据不同的业务场景创建脱敏工具类以选择适配的脱敏算法,DFA算法适配大文本量的业务场景;哈希桶HASH_BUCKET 适配小文本量的业务场景;结束符触发多模式算法TTMP适配文本脱敏过滤要求松弛的业务场景;树型分词算法TIRE适配短文本脱敏过滤的业务场景;
文本读取子模块,用于按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
脱敏匹配子模块,包括:
DFA单元,用于采用确定有穷自动机DFA算法执行脱敏处理,具体为:若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回文本读取子模块继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
哈希桶单元,用于采用哈希桶HASH_BUCKET算法执行脱敏处理;
DAT单元,用于采用多模式匹配DAT算法执行脱敏处理;
TTMP单元,用于采用结束符触发多模式TTMP算法执行脱敏处理;
TIRE单元,用于采用树型分词TIRE算法执行脱敏处理;
敏感词过滤子模块,用于将所匹配的敏感词用超级文本语言包裹后替换该敏感词,或者是,将所匹配的敏感词用预定字符替换。
本发明与现有技术相比较,其有益效果是:本发明通过服务器集群中各服务器本地持久化存储脱敏词库,防止数据丢失,将脱敏词库实时缓存于脱敏词库集群,随时添加新敏感词并实时生效,提高脱敏效率;本发明的脱敏处理支持多种脱敏算法,不同的脱敏算法适配不同的文本数据量的业务场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明基于开放接口实时脱敏的方法一实施例的方法流程图;
图2为本发明基于开放接口实时脱敏的方法另一实施例的方法流程图;
图3为本发明主题一另一实施例的结构示意图;
图4为本发明主题一又一实施例的结构示意图;
图5为所述脱敏算法执行器一实施例中各算法性能对比表;
图6为所述DFA算法所采用的多叉树数据结构示例图;
图7为所述脱敏词库一实施例的示意图;
图8为所述敏感词的多叉树数据结构模型一实施例的结构示意图;
图9为匹配类型为完整匹配的示例运行流程图:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示) 下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1-7所示,本发明提出的一种基于开放接口实时脱敏的方法,包括如下步骤:
S10服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库;
S20定义脱敏词库的脱敏工具类接口,其中脱敏工具类接口包括初始化接口、脱敏匹配接口、脱敏处理接口;
S30输入待脱敏文本至服务器的开放接口,调用脱敏词库系统底层接口,通过脱敏词库系统底层接口从本地脱敏词库提取敏感词,将所提取的敏感词按根对象对应多叉树的结构缓存至本地内存生成脱敏词库;
S40调用初始化接口,初始化敏感词缓存的根对象;
S50调用脱敏匹配接口选择脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词;
S60将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在待脱敏文本中进行脱敏处理。
在本发明实施例中,本发明提出一种OpenAPI开放接口实时脱敏方法,用以解决互联网平台高并发大数据的数据清洗、脱敏的问题。先通过采集现有的脱敏词库及各网站使用的敏感词列表中的敏感词,并对每个敏感词标注类别生成脱敏词库,在服务器集群的各服务器中作本地的持久化存储;初始化脱敏词库的调用接口及脱敏算法的根对象,比如初始化方法采用i n it进程初始化脱敏算法的根对象,用Put添加敏感词,OpenAPI接口利用脱敏词库集群中数据脱敏工具类SensitiveWordsFilterUtils中的filterType(一个枚举类型,它包括当前脱敏词库支持的所有脱敏算法支持类)的参数,选择适配的脱敏算法执行器FilterExecuto,进行敏感词替换过滤操作。脱敏算法执行器 Fi lterExecutor首先会尝试调用内部接口init Al l方法初始化所有敏感词,如果脱敏词库已被初始化过,将自动忽略该步骤,否则将所有敏感词的数据从对应的数据库表查询出来并存储在Redis内存中。利用Redis缓存存储的技术,Redis是部署在多个不同的服务器机器节点上,形成脱敏缓存Redis集群。系统将所有Redis内存中的敏感词,通过FilterType对应的脱敏算法执行器分词,分词后的数据将存储在肖前脱敏算法执行器的数据模型以便后续脱敏分词流程的执行。不同的脱敏算法可以采用不同的数据模型,比如树形或哈希的数据结构。Redis集群是利用Redis本身内置支持的集群方法即多节点通信技术完成,这将有利于提高系统的并发和稳定性。文本通过OpenAPI接口输入,选择适配的脱敏算法执行器,启动脱敏匹配,匹配过程中会遍历文本每个字,每次读取一个字,在脱敏算法执行器中进行判词contains匹配,如果匹配到敏感词,再对敏感词过滤处理,若没有匹配到敏感词,则说明该文本在当前脱敏词库集群中没有敏感词。因此也可用于判断是否存在敏感词,可以查看SensitiveWordsFilterUtils的contains接口。
本发明通过服务器集群中各服务器本地持久化存储脱敏词库,防止数据丢失,将脱敏词库实时缓存于脱敏词库集群,随时添加新敏感词并实时生效,提高脱敏效率;本发明的脱敏处理支持多种脱敏算法,不同的脱敏算法适配不同的文本数据量的业务场景。
优选地,所述脱敏算法执行器包括确定有穷自动机DFA算法、哈希桶 HASH_BUCKET,所述DFA算法具有多叉树模型结构,所述多叉树模型是由根节点及其子节点模型组成,所述根节点是以根对象为节点,所述子节点模型是按其他字与该字组词的亲近关系层层分解为根节点的叶节点构成,当脱敏算法执行器采用确定有穷自动机DFA算法时,所述S30中通过脱敏算法执行器将文本基于脱敏词库遍历匹配的方法具体为:
S501按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
S502若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回S501继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
S503输出S502中所读取到的所有敏感词。
在本发明实施例中,应该理解地是,脱敏算法执行器有且不限于包括确定有穷自动机DFA算法、哈希桶HASH_BUCKET、多模式匹配算法DAT、结束符触发多模式算法TTMP和树型分词算法TIRE,但如图5所示,各算法性能对比后,DFA算法表现最佳,又实用,特别在大量文本情况下执行很稳定。DFA算法数据结构和原理:DFA算法采用多叉树数据结构,多叉树是一个节点可以有0~N个子节点,我们在每个节点存储一个汉字。假定有一个词,我们会把这个词的组合中的汉字按先后顺序利用多叉树数据结构,将这个词存储起来。如图6所示,在DFA算法执行器内存储了一组词,其中根节点下存储了四个汉字“中”、“广”、“人”、“法”,他们分别代表四个不同的词第一个汉字。“中”是中国、中国人、中国行、中间、中立的首字符;“广”是广州这个词的首字符;“人”是人家这个词的首字符;“法”是法律这个词的首字符。通过将要匹配的语句文本中的字符进行一个个的遍历匹配。假如有一段文本:“我在广州工作”,遍历后将是6个汉字:我、在、广、州、工、作。当遍历到“广”这个字符的时候,会在多叉树模型数据中匹配到“广”这个地方,紧接着系统会提取“广州”这个词,判断它在“我在广州工作”这个语句中是否存在,如果存在就说明它是一个完整的敏感词,如果不存在那么系统将继续遍历后续的字符。DFA算法流程具体如S502。
优选地,所述脱敏算法执行器还包括哈希桶HASH_BUCKET、多模式匹配算法DAT、结束符触发多模式算法TTMP或树型分词算法TIRE,不同的脱敏算法适配不同的业务场景,所述S501之前还包括:
S500根据不同的业务场景调用相应的脱敏匹配接口以选择适配的脱敏算法,DFA算法适配1M~500K文本量的业务场景;哈希桶HASH_BUCKET适配300K以下文本量的业务场景;多模式匹配法DAT适配300~500K文本量的业务场景;结束符触发多模式算法TTMP适配容许文本存在敏感词漏洞的业务场景;树型分词算法TIRE适配100K以下文本量的业务场景。
在本发明实施例中,本发明在选择脱敏算法的类型上,可以针对不同的业务场景选择不同的脱敏算法。敏感词的多叉树数据结构模型,它是算法的基础,每个算法都有一套自己的数据结构模型,如图8所示,节点为蓝色的表示是一个完整的敏感词节点,如:中国是一个敏感词,国就是蓝色,在底层代码实现上节点会有一个标记表明它是一个完整的敏感词。
图5为上述算法的性能对比表:针对各算法进行测试,分别测试匹配文本344字符、5519字符、11.304.959字符,在小于5000字左右,各算法差距不大。但字符量大的情况下,差距明显。TTMP 算法用的内存最多,但速度最快,但是存在一个漏词的问题。DFA算法表现良好,各方面都不错,比较实用,特别在大量文本情况下很稳定,TIRE算法在大量文本情况下,效率稍低,可以优化下查找速度。
DFA("dfa算法",DfaFilter.class),综合性能比较高,表现突出,过滤效果好。适用于大文本量的业务场景。
TIRE("tire树算法",TireTreeFilter.class),大文本过滤效率稍低,可用于短文本过滤的业务场景。
HASH_BUCKET("二级hash算法",HashBucketFilter.class),综合性能中等,实现简单易懂。适用于小文本量的业务场景。
DAT("双数组算法",DatFilter.class),小文本过滤效果突出,实现超简单。适用于小文本量或者不是很长篇的文本处理的业务场景。
TTMP("ttmp算法",TtmpFilter.class),综合性能突出,性能稍低占有内存大,但效率快,匹配有漏词情况,适用于对文本过滤松弛的业务场景,因为存在漏词的情况。
优选地,所述脱敏工具类接口还包括敏感词匹配类型接口,所述S40之后,所述S50之前还包括:
S70调用敏感词匹配类型接口选择敏感词匹配的匹配类型,执行敏感词的脱敏匹配,其中所述敏感词匹配的匹配类型包括部分匹配和完整匹配,部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词。
在本发明实施例中,敏感词匹配提供有两种匹配类型,部分匹配和完整匹配,运行示例:
String content="我们中国人都是好人,在他们中间有男人和女人。中国男人很惨,中国人民长期被压迫。";
System.out.println(DfaFilterExecutor.getInstance().getWords(true,content));
部分匹配运行结果:
[中国人,女人,中间,中国男人]
完整匹配运行结果:
[中国人,女人,中间,中国男人,中国人民,人民]
从上面结果发现部分匹配和完整匹配的结果集不一样,部分匹配是匹配到敏感词后立即退出当前匹配,部分匹配是匹配到敏感词后立即退出当前这个敏感词的匹配,而忽略这个敏感词中包含的其他敏感词,然后继续执行后续的匹配,比如:【我们是普通工人】,是一个敏感词。但【我们是】、【我们是普通】也是敏感词,当执行部分匹配的时候,如果文本中出现【我们是普通工人】,那么它首先匹配的是【我们是】这个敏感词,就立即退出了。而后面的【我们是普通】【我们是普通工人】就无法匹配到。也就是说在执行部分匹配的时候,首先会匹配到跟节点【我们是】,然后子节点和叶子节点将被忽略。
而完整匹配会把所有词都匹配出来,也就是把敏感词中的小词也匹配到。
完整匹配示例运行说明:
接口接收匹配类型为完整匹配和待匹配文本,即fullMatch参数和content 参数,会解析遍历content的文本内容。当对文本进行一个个字符的遍历的时候,每读取一个字符就会在多叉树数据结构模型中获取root节点的内容。通过得到root后判断它的子节点中是否包含该字符,如果不包含就继续遍历直到遍历结束。如果在root子节点(中、人、女)中存在当前遍历字符,那么就获取该字符的子节点,同时继续遍历下一个字符,并判断该字符是否存在于前一个字符的子节点中。如果存在且多叉树数据结构模型的当前节点遍历结束或是一个完整的敏感词标记(节点蓝色),则认为当前遍历的是一个敏感词。
如图9所述:当程序遍历字符串【我们中国人都是好人,在他们中间有男人和女人。中国男人很惨,中国人民长期被压迫】,假定现在已经遍历到【我们中】的“中”字这个字符串。程序每遍历一个字符串,就需要在多叉树数据结构模型中进行一次匹配。此时,在多叉树数据结构模型中匹配到了“中”字这个元素,就获取到了“中”这个节点元素。
(1)程序提取“中”节点的子元素,发现有“国”、“间”。这是程序继续遍历下一个字符串,在content中提取到“国”也就是【中国】,发现这个字符在“中”的子元素节点中匹配到,并且“国”还有后续子元素。这就说明这个敏感词还没有结束,这个时候程序提取到“国”字的子元素继续遍历。
(2)程序提取到“国”字的子元素有两个子元素“人”和“男”后,继续遍历content内容后提取到【中国人】中的“人”,这时系统用这个“人”在“国”字的子元素中匹配,发现匹配到了“人”这个元素,那么说明“中国人”是一个敏感词。但程序发现“人”还有子元素,就需要继续往下遍历才能确定它是一个绝对完整的敏感词。
(3)程序提取到“人”字的子元素“民”,并且继续遍历字符串content,此时遍历的字符串是【中国人都】中的“都”,通过匹配“人”的子元素,发现没有匹配到。这就说明匹配不成功,也就确定“【中国人都】”不是敏感词,而【中国人】是敏感词。程序此时需要将“都”在root节点下的元素中进行匹配,发现root的子元素(中、人、女)中也没有匹配到“都”,程序就继续执行遍历步骤a,这样重复的过程一直遍历下去,直到整个文本字符串遍历完成。
部分匹配不同的示例运行流程说明:
接口接收到partMatch和content参数,partMatch为部分匹配,同时会解析遍历content的文本内容。当对文本进行一个个字符的遍历的时候,每读取一个字符就会在多叉树数据结构模型中获取root节点的内容。通过得到root 后判断它的子节点中是否包含该字符,如果不包含就继续遍历直到遍历结束。如果在root子节点(中、人、女)中存在当前遍历字符,那么就获取该字符的子节点,同时继续遍历下一个字符,并判断该字符是否存在于前一个字符的子节点中。如果存在且多叉树数据结构模型的当前节点遍历结束或是一个完整的敏感词标记(节点蓝色),则认为当前遍历的是一个敏感词。由于是部分匹配,只要能确定遍历到了敏感词就立即退出当前子节点的后续子元素节点遍历,从而忽略后续子节点。
例如:当程序遍历字符串【我们中国人都是好人,在他们中间有男人和女人。中国男人很惨,中国人民长期被压迫】,假定现在已经遍历到【我们中国人都是好人,在他们中间有男人和女人。中国男人很惨,中】的“中”字这个字符串。程序每遍历一个字符串,就需要在多叉树数据结构模型中进行一次匹配。此时,在多叉树数据结构模型中匹配到了“中”字这个元素,就获取到了“中”这个节点元素。
(1)程序提取“中”节点的子元素,发现有“国”、“间”。这是程序继续遍历下一个字符串,在content中提取到“国”也就是【中国】,发现这个字符在“中”的子元素节点中匹配到,并且“国”还有后续子元素。这就说明这个敏感词还没有结束,这个时候程序提取到“国”字的子元素继续遍历。
(2)程序提取到“国”字的子元素有两个子元素“人”和“男”后,继续遍历content内容后提取到【中国人】中的“人”,这时系统用这个“人”在“国”字的子元素中匹配,发现匹配到了“人”这个元素,并且“人”字具有蓝色的标记,那么说明“中国人”是一个敏感词。由于当前程序是部分匹配模式,虽然程序发现“人”还有子元素,它也不需要继续往下遍历就可以结束当前敏感词遍历,这样就忽略了“中国人民”这个敏感词。随后程序继续遍历后续字符,此时每遍历到一个字符都需要从步骤a的流程开始重复。
优选地,所述脱敏工具类接口还包括敏感词添加接口,本方法还包括:
S80若发现新的敏感词,调用敏感词添加接口,录入新的敏感词至本地脱敏词库并持久化存储。
在本发明实施例中,应该理解地是,发现新的敏感词,可以是通过服务器集群来监控发现,也包括人为发现新敏感词的出现,当新敏感词需要录入时,调用系统新增敏感词接口,如SensitiveWordsFilterUtils.put()方法,将敏感词录入到脱敏词库中持久化存储,同时该接口内部会自动将新录入的敏感词缓存系统中。
优选地,所述脱敏处理接口包括敏感词高亮接口和敏感词替换接口,所述脱敏处理包括:
通过调用敏感词高亮接口将所匹配的敏感词用超级文本语言包裹后替换该敏感词,或者是,通过调用敏感词替换接口将所匹配的敏感词用预定字符替换。
在本发明实施例中,本发明高亮敏感词就是将敏感词用HTML包裹,替换原先的敏感词,比如将匹配到的敏感字以HTML的tag进行替换,这样在前端显示的时候就会比较突出。
运行示例:
System.out.println(DfaFilterExecutor.getInstance().highlight(false,content));
运行结果:
我们<font color='red'>中国人</font>都是好人,在他们<font color='red'>中间</font>有男人和<font color='red'>女人</font>。<font color='red'>中国男人</font>很惨,<font color='red'>中国人</font>民长期被压迫。
本发明过滤敏感词主要是将匹配到的敏感词过滤掉,以预定字符串替换敏感词。
运行示例:
System.out.println(DfaFilterExecutor.getInstance().filter(false,content,'*'));
运行结果:
我们***都是好人,在他们**有男人和**。****很惨,***民长期被压迫。
优选地,所述无序无重复的敏感词集合是采用HashSet集合所获取的敏感词,并采用HashMap封装形成的集合,该集合中敏感词是无序的、不可重复的、实现是不同步的。
在本发明实施例中,本发明通过HashSet(Java底层的Set集合的一种) 去掉了文本中可能重复存储的敏感词。
敏感词本发明还公开了一种基于开放接口实时脱敏的系统,包括由若干上述所述的服务器组成服务器集群,在所述服务器集群中由各所述服务器的内存通过多节点通信形成脱敏词库集群,所述待脱敏文本基于脱敏词库集群遍历匹配,获取相匹配的敏感词。
本发明还公开了一种基于开放接口实时脱敏的装置,该装置用于实现上述方法,本装置的结构参照上述实施例,由于本装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。本装置包括:
内部存储模块,用于服务器集群中各服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库,各服务器的本地脱敏词库通过服务器集群形成脱敏集群;
外部缓存模块,用于初始化本地脱敏词库的调用接口,初始化脱敏算法的根对象以支持面向对象的接口数据,将本地脱敏词库缓存至本地内存,各服务器的本地内存通过多节点通信在服务器集群内形成脱敏词库集群;
类型选择模块,用于选择敏感词匹配的匹配类型,执行脱敏处理,其中所述敏感词匹配的匹配类型包括部分匹配和完整匹配,部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词;
新词录入模块,用于若发现新的敏感词,本地脱敏词库的调用接口,录入新的敏感词至本地脱敏词库并持久化存储;
脱敏处理模块,用于输入待脱敏文本至脱敏词库集群,通过脱敏算法执行器将文本基于脱敏词库遍历匹配,输出所匹配到的敏感词,对所匹配的敏感词进行过滤处理。
优选地,所述脱敏处理模块包括:
场景选择子模块,用于根据不同的业务场景创建脱敏工具类以选择适配的脱敏算法,DFA算法适配大文本量的业务场景;哈希桶HASH_BUCKET 适配小文本量的业务场景;结束符触发多模式算法TTMP适配文本脱敏过滤要求松弛的业务场景;树型分词算法TIRE适配短文本脱敏过滤的业务场景;
文本读取子模块,用于按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
脱敏匹配子模块,包括:
DFA单元,用于采用确定有穷自动机DFA算法执行脱敏处理,具体为:若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回文本读取子模块继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
哈希桶单元,用于采用哈希桶HASH_BUCKET算法执行脱敏处理;
DAT单元,用于采用多模式匹配DAT算法执行脱敏处理;
TTMP单元,用于采用结束符触发多模式TTMP算法执行脱敏处理;
TIRE单元,用于采用树型分词TIRE算法执行脱敏处理;
敏感词过滤子模块,用于将所匹配的敏感词用超级文本语言包裹后替换该敏感词,或者是,将所匹配的敏感词用预定字符替换。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种基于开放接口实时脱敏的方法,其特征在于,包括如下步骤:
S10服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库;
S20定义脱敏词库的脱敏工具类接口,其中脱敏工具类接口包括初始化接口、脱敏匹配接口、脱敏处理接口;
S30输入待脱敏文本至服务器的开放接口,调用脱敏词库系统底层接口,通过脱敏词库系统底层接口从本地脱敏词库提取敏感词,将所提取的敏感词按根对象对应多叉树的结构缓存至本地内存生成脱敏词库;
S40调用初始化接口,初始化敏感词缓存的根对象;
S50调用脱敏匹配接口选择脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词;
S60将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在待脱敏文本中进行脱敏处理。
2.如权利要求1所述的基于开放接口实时脱敏的方法,其特征在于,所述脱敏算法执行器包括确定有穷自动机DFA算法,所述DFA算法具有多叉树模型结构,所述多叉树模型是由根节点及其子节点模型组成,所述根节点是以根对象为节点,所述子节点模型是按其他字与该字组词的亲近关系层层分解为根节点的叶节点构成,当脱敏算法执行器采用确定有穷自动机DFA算法时,所述S50调用脱敏匹配接口选择脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词的方法具体为:
S501按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
S502若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回S501继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
S503输出S502中所读取到的所有敏感词。
3.如权利要求2所述的基于开放接口实时脱敏的方法,其特征在于,所述脱敏算法执行器还包括哈希桶HASH_BUCKET、多模式匹配算法DAT、结束符触发多模式算法TTMP或树型分词算法TIRE,不同的脱敏算法适配不同的业务场景,所述S501之前还包括:
S500根据不同的业务场景调用相应的脱敏匹配接口以选择适配的脱敏算法,DFA算法适配1M~500K文本量的业务场景;哈希桶HASH_BUCKET适配300K以下文本量的业务场景;多模式匹配法DAT适配300~500K文本量的业务场景;结束符触发多模式算法TTMP适配容许文本存在敏感词漏洞的业务场景;树型分词算法TIRE适配100K以下文本量的业务场景。
4.如权利要求1所述的基于开放接口实时脱敏的方法,其特征在于,所述脱敏工具类接口还包括敏感词匹配类型接口,所述敏感词匹配类型接口提供两种匹配类型:敏感词部分匹配和敏感词完整匹配,所述部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词,所述S40之后,所述S50之前还包括:
S70调用敏感词匹配类型接口选择敏感词匹配的匹配类型,执行敏感词的脱敏匹配。
5.如权利要求1所述的基于开放接口实时脱敏的方法,其特征在于,所述脱敏工具类接口还包括敏感词添加接口,本方法还包括:
S80若发现新的敏感词,调用敏感词添加接口,添加新的敏感词至本地脱敏词库并持久化存储。
6.如权利要求1所述的基于开放接口实时脱敏的方法,其特征在于,所述脱敏处理接口包括敏感词高亮接口和敏感词替换接口,所述脱敏处理包括:
通过调用敏感词高亮接口将所匹配的敏感词用超级文本语言包裹后显亮该敏感词,或者是,通过调用敏感词替换接口将所匹配的敏感词用预定字符替换。
7.如权利要求1所述的基于开放接口实时脱敏的方法,其特征在于,所述无序无重复的敏感词集合是采用HashSet集合所获取的敏感词,并采用HashMap封装形成的集合,该集合中敏感词具有无序的、不可重复的、实现不同步的属性。
8.一种基于开放接口实时脱敏的系统,其特征在于,包括由若干如权利要求1-7任一项所述的服务器组成服务器集群,在所述服务器集群中由各所述服务器的内存通过多节点通信形成脱敏词库集群,所述待脱敏文本基于脱敏词库集群遍历匹配,获取相匹配的敏感词。
9.一种基于开放接口实时脱敏的装置,其特征在于,包括:
词库生成模块,用于服务器从现有脱敏词库、各网站敏感词列表采集敏感词,对其分类标记并持久化存储生成本地脱敏词库;
定义模块,用于定义脱敏词库的脱敏工具类接口,其中脱敏工具类接口包括初始化接口、脱敏匹配接口、脱敏处理接口;
初始化模块,用于调用初始化接口,初始化敏感词缓存的根对象;
预处理模块,用于输入待脱敏文本至服务器的开放接口,调用脱敏词库系统底层接口,通过脱敏词库系统底层接口从本地脱敏词库提取敏感词,将所提取的敏感词按根对象对应多叉树的结构缓存至本地内存生成脱敏词库;
匹配类型选择模块,调用敏感词匹配类型接口选择敏感词匹配的匹配类型,执行敏感词的脱敏匹配,其中所述敏感词匹配的匹配类型包括部分匹配和完整匹配,部分匹配,用于若文本匹配到敏感词后截止当前匹配,输出敏感词且忽略该敏感词所包含的其他敏感词,继续读取文本重新匹配;完整匹配,用于对文本全文匹配敏感词,输出所有匹配到的敏感词且包括该敏感词所包含的其他敏感词;
敏感词匹配模块,用于通过脱敏匹配接口调用脱敏算法执行器,将待脱敏文本基于脱敏词库遍历匹配,获取相匹配的敏感词;
脱敏处理模块,用于将所获取的所有敏感词打包成无序无重复的敏感词集合,调用脱敏处理接口将敏感词集合在待脱敏文本中进行脱敏处理;
新词添加模块,用于若发现新的敏感词,调用敏感词添加接口,录入新的敏感词至本地脱敏词库并持久化存储。
10.如权利要求8所述的基于开放接口实时脱敏的装置,其特征在于,所述脱敏处理模块包括:
场景选择子模块,用于根据不同的业务场景创建脱敏工具类以选择适配的脱敏算法,DFA算法适配大文本量的业务场景;哈希桶HASH_BUCKET适配小文本量的业务场景;结束符触发多模式算法TTMP适配文本脱敏过滤要求松弛的业务场景;树型分词算法TIRE适配短文本脱敏过滤的业务场景;
文本读取子模块,用于按文本的语句顺序读取文本,将读取到的当前字与多叉树模型的根节点进行敏感词匹配;
脱敏匹配子模块,包括:
DFA单元,用于采用确定有穷自动机DFA算法执行脱敏处理,具体为:若匹配到了相应根节点,则获取相应根节点的第一层子节点且将之与所读取到的下一个字进行敏感词匹配;若第一层子节点与所读取到的下一个字相匹配,则判断当前字与所读取的下一个字是否为完整词语;若当前字与所读取的下一个字为完整词语,则视当前字与所读取的下一个字的组合为敏感词;若当前字与所读取的下一个字为非完整词语,则获取相应根节点的第二层子节点且将之与再读取的下一个字进行敏感词匹配,以此类推,止至读取不到与子节点模型相匹配的字,则视当前所读取的字段不包含敏感词,返回文本读取子模块继续读取文本,且将读取到的字与多叉树模型的根节点重新开始敏感词匹配;
哈希桶单元,用于采用哈希桶HASH_BUCKET算法执行脱敏处理;
DAT单元,用于采用多模式匹配DAT算法执行脱敏处理;
TTMP单元,用于采用结束符触发多模式TTMP算法执行脱敏处理;
TIRE单元,用于采用树型分词TIRE算法执行脱敏处理;
敏感词过滤子模块,用于将所匹配的敏感词用超级文本语言包裹后替换该敏感词,或者是,将所匹配的敏感词用预定字符替换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729161.7A CN110704861B (zh) | 2019-08-07 | 2019-08-07 | 一种基于开放接口实时脱敏的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729161.7A CN110704861B (zh) | 2019-08-07 | 2019-08-07 | 一种基于开放接口实时脱敏的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704861A true CN110704861A (zh) | 2020-01-17 |
CN110704861B CN110704861B (zh) | 2023-03-24 |
Family
ID=69193638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910729161.7A Active CN110704861B (zh) | 2019-08-07 | 2019-08-07 | 一种基于开放接口实时脱敏的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704861B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928609A (zh) * | 2020-01-20 | 2020-03-27 | 武汉斗鱼鱼乐网络科技有限公司 | 一种标记设备的方法、装置、介质及计算机设备 |
CN111368529A (zh) * | 2020-03-17 | 2020-07-03 | 重庆邮电大学 | 基于边缘计算的移动终端敏感词识别方法、装置及系统 |
CN112989798A (zh) * | 2021-03-23 | 2021-06-18 | 中南大学 | 中文词库的构建方法、中文词库及应用 |
WO2021191705A1 (en) * | 2020-03-26 | 2021-09-30 | International Business Machines Corporation | Preventing disclosure of sensitive information |
CN117786732B (zh) * | 2023-05-05 | 2024-05-31 | 中国标准化研究院 | 一种基于大数据信息脱敏方法的智慧机关数据存储系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080118150A1 (en) * | 2006-11-22 | 2008-05-22 | Sreeram Viswanath Balakrishnan | Data obfuscation of text data using entity detection and replacement |
CN103617251A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种敏感词匹配方法及系统 |
US20150254474A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Generation of analysis reports using trusted and public distributed file systems |
CN107480549A (zh) * | 2017-06-28 | 2017-12-15 | 银江股份有限公司 | 一种面向数据共享的敏感信息脱敏方法及系统 |
CN108038190A (zh) * | 2017-12-11 | 2018-05-15 | 杭州有赞科技有限公司 | 基于多层字典树的敏感词过滤方法及系统 |
US20180276393A1 (en) * | 2017-03-23 | 2018-09-27 | Microsoft Technology Licensing, Llc | Obfuscation of user content in structured user data files |
US20180330052A1 (en) * | 2017-05-12 | 2018-11-15 | Noblis, Inc. | Secure communication of sensitive genomic information using probabilistic data structures |
CN109684469A (zh) * | 2018-12-13 | 2019-04-26 | 平安科技(深圳)有限公司 | 敏感词过滤方法、装置、计算机设备及存储介质 |
-
2019
- 2019-08-07 CN CN201910729161.7A patent/CN110704861B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080118150A1 (en) * | 2006-11-22 | 2008-05-22 | Sreeram Viswanath Balakrishnan | Data obfuscation of text data using entity detection and replacement |
CN103617251A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种敏感词匹配方法及系统 |
US20150254474A1 (en) * | 2014-03-04 | 2015-09-10 | International Business Machines Corporation | Generation of analysis reports using trusted and public distributed file systems |
US20180276393A1 (en) * | 2017-03-23 | 2018-09-27 | Microsoft Technology Licensing, Llc | Obfuscation of user content in structured user data files |
US20180330052A1 (en) * | 2017-05-12 | 2018-11-15 | Noblis, Inc. | Secure communication of sensitive genomic information using probabilistic data structures |
CN107480549A (zh) * | 2017-06-28 | 2017-12-15 | 银江股份有限公司 | 一种面向数据共享的敏感信息脱敏方法及系统 |
CN108038190A (zh) * | 2017-12-11 | 2018-05-15 | 杭州有赞科技有限公司 | 基于多层字典树的敏感词过滤方法及系统 |
CN109684469A (zh) * | 2018-12-13 | 2019-04-26 | 平安科技(深圳)有限公司 | 敏感词过滤方法、装置、计算机设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928609A (zh) * | 2020-01-20 | 2020-03-27 | 武汉斗鱼鱼乐网络科技有限公司 | 一种标记设备的方法、装置、介质及计算机设备 |
CN111368529A (zh) * | 2020-03-17 | 2020-07-03 | 重庆邮电大学 | 基于边缘计算的移动终端敏感词识别方法、装置及系统 |
CN111368529B (zh) * | 2020-03-17 | 2022-07-01 | 重庆邮电大学 | 基于边缘计算的移动终端敏感词识别方法、装置及系统 |
WO2021191705A1 (en) * | 2020-03-26 | 2021-09-30 | International Business Machines Corporation | Preventing disclosure of sensitive information |
CN112989798A (zh) * | 2021-03-23 | 2021-06-18 | 中南大学 | 中文词库的构建方法、中文词库及应用 |
CN112989798B (zh) * | 2021-03-23 | 2024-02-13 | 中南大学 | 中文词库的构建方法、中文词库及应用 |
CN117786732B (zh) * | 2023-05-05 | 2024-05-31 | 中国标准化研究院 | 一种基于大数据信息脱敏方法的智慧机关数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110704861B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704861B (zh) | 一种基于开放接口实时脱敏的方法、装置及系统 | |
CN106897361B (zh) | 基于树状结构的标签页分组管理系统及方法 | |
JP2018190188A (ja) | 要約生成装置、要約生成方法及びコンピュータプログラム | |
US9460196B2 (en) | Conditional string search | |
US20150154264A1 (en) | Method for facet searching and search suggestions | |
US20110271179A1 (en) | Methods and systems for graphically visualizing text documents | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
CN109670163A (zh) | 信息识别方法、信息推荐方法、模板构建方法及计算设备 | |
US9633112B2 (en) | Method of retrieving attributes from at least two data sources | |
CN109033282B (zh) | 一种基于抽取模板的网页正文抽取方法及装置 | |
CN112328489B (zh) | 测试用例生成方法、装置、终端设备和存储介质 | |
CN109344230A (zh) | 代码库文件生成、代码搜索、联结、优化以及移植方法 | |
CN110427884A (zh) | 文档篇章结构识别方法、装置、设备和存储介质 | |
CN109726185A (zh) | 一种基于语法树的日志解析方法、系统和计算机可读介质 | |
JP2007157058A (ja) | 分類モデル学習装置、分類モデル学習方法、及び分類モデルを学習するためのプログラム | |
CN115935944A (zh) | 一种跨平台的标准文件树形结构生成方法与展示控件 | |
CN109165373A (zh) | 一种数据处理方法及装置 | |
CN115333966A (zh) | 一种基于拓扑的Nginx日志分析方法、系统及设备 | |
CN113419721B (zh) | 基于web的表达式编辑方法、装置、设备和存储介质 | |
CN110956271A (zh) | 一种海量数据的多级分类方法及装置 | |
CN107368500A (zh) | 数据抽取方法及系统 | |
CN112613176A (zh) | 慢sql语句预测方法及系统 | |
CN112084390A (zh) | 一种电商平台中利用自动结构化爬虫搜索的方法 | |
CN115796146A (zh) | 一种文件对比方法及装置 | |
US8090750B2 (en) | Prompting of an end user with commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |