CN109871667B - 数据内容保护方法、装置、服务器及计算机可读介质 - Google Patents
数据内容保护方法、装置、服务器及计算机可读介质 Download PDFInfo
- Publication number
- CN109871667B CN109871667B CN201910123260.0A CN201910123260A CN109871667B CN 109871667 B CN109871667 B CN 109871667B CN 201910123260 A CN201910123260 A CN 201910123260A CN 109871667 B CN109871667 B CN 109871667B
- Authority
- CN
- China
- Prior art keywords
- mapping
- unicode
- code segment
- keywords
- preset
- 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.)
- Active
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明实施例的方面涉及数据内容保护方法、装置、服务器及计算机可读介质。数据内容保护方法包括:确定步骤,确定关键字;随机映射步骤,将确定的关键字随机地映射到Unicode码上,得到关键字与Unicode码的映射关系,并且重复以上随机映射步骤,使得执行随机映射步骤的次数达到预设的映射次数阈值,得到关键字与对应的Unicode码的多个映射关系;生成步骤,根据关键字与Unicode码的多个映射关系,生成关键字的多个自定义字体文件,并且将多个自定义字体文件中的每一个生成多种格式的字体文件;以及输出步骤,输出多种格式的字体文件到客户端。通过本发明实施例,可实现对数据内容的混淆,减少了开发人员维护字体文件的数量。
Description
技术领域
本发明实施例涉及互联网技术领域,尤其涉及数据内容保护方法、装置、服务器及计算机可读介质。
背景技术
浏览器在展示网站页面的文字内容时,使用的是操作系统中的字体文件,字体文件中每个文字都对应了唯一的Unicode编码,浏览器可以通过Unicode编码渲染出对应的文字。国际上,Unicode码对应的文字都是确定的。所以如果网页内容使用Unicode码来展示,浏览器也会自动渲染出对应的文字,不会影响用户的阅读体验。
目前针对数据内容保护的内容混淆方案,通常都是采用对固定字体或内容做替换实现,使用此类方案一方面可以替换的字比较少,另一方面为了比较容易找到替换字的字体映射关系,网站还要维护大量不同的字体映射文件,维护起来很不方便。
发明内容
本发明实施例提供的数据内容保护方法、装置、服务器及计算机可读介质,通过对获取的关键词随机动态生成多个Unicode映射关系,实现了对数据内容的混淆,减少了开发人员维护字体文件的数量。
本发明实施例的一方面提供了数据内容保护方法,该方法包括:确定步骤,确定关键字;随机映射步骤,将确定的关键字随机地映射到 Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系;生成步骤,根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;以及输出步骤,输出所述多种格式的字体文件到客户端。
一种可能的实施例中,确定步骤包括:获取预设的高频字和高频词并且获取通过机器选择得到的高频字和高频词;将所述预设的高频词以及所述通过机器选择得到的高频词分解成字;将所述预设的高频字、所述通过机器选择得到的高频字以及分解后得到的字,确定为关键字。
另一种可能的实施例中,通过机器选择得到的高频字和高频词,包括:
将利用基于TF-IDF的高频字和高频词抽取方法得到的高频字和高频词,以及利用文本切词方法得到的频率最高的字和词,确定为高频字和高频词。
又一种可能的实施例中,随机映射步骤包括:将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射Unicode 码;以及依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
一种可能的实施例中,随机映射步骤中,确定所述第一个字的映射 Unicode码,包括:确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
另一种可能的实施例中,随机映射步骤中,所述剔除所述第一个字的映射的Unicode码后,得到第二码段组,包括:针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
又一种可能的实施例中,随机映射步骤中,所述拆分后的码段长度小于预设的码段长度阈值时,存储并备用所述拆分后的码段。
一种可能的实施例中,生成步骤之后,所述方法还包括:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系;
根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端。
另一种可能的实施例中,输出步骤之后,所述方法还包括:根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
又一种可能的实施例中,生成步骤中,所述生成所述关键字的多个自定义字体文件,包括:建立新的字体文件;根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
本发明实施例的另一个方面提供了数据内容保护装置,该装置包括确定单元,堆积映射单元,生成单元和输出单元。其中,确定单元,用于确定关键字;随机映射单元,用于将确定的关键字随机地映射到 Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系;生成单元,用于根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;输出单元,用于输出所述多种格式的字体文件到客户端。
一种可能的实施例中,确定单元用于:获取预设的高频字和高频词并且获取通过机器选择得到的高频字和高频词;将所述预设的高频词以及所述通过机器选择得到的高频词分解成字;将所述预设的高频字、所述通过机器选择得到的高频字以及分解后得到的字,确定为关键字。
另一种可能的实施例中,确定单元采用如下方式通过机器选择得到高频字和高频词:将利用基于TF-IDF的高频字和高频词抽取装置得到的高频字和高频词,以及利用文本切词装置得到的频率最高的字和词,确定为高频字和高频词。
又一种可能的实施例中,随机映射单元用于:将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射Unicode 码;以及依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
一种可能的实施例中,随机映射单元采用如下方式确定所述第一个字的映射Unicode码:确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
另一种可能的实施例中,确定所述剔除所述第一个字的映射的 Unicode码后,所述随机映射单元还用于得到第二码段组:针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
又一种可能的实施例中,所述拆分后的码段长度小于预设的码段长度阈值时,随机映射单元用于:存储并备用所述拆分后的码段。
一种可能的实施例中,随机映射单元还用于:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系;根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端。
另一种可能的实施例中,输出单元还用于:根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
又一种可能的实施例中,生成单元采用如下方式生成所述关键字的多个自定义字体文件:建立新的字体文件;根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
一种可能的实施方式中,本发明实施例还提供一种服务器,所述服务器包括:存储器,配置用于存储指令;以及处理器,配置用于调用所述指令执行上述可能的实施方式中任一所述的方法。
另一种可能的实施方式中,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行上述可能的实施方式中任一所述的方法。
本发明实施例提供的数据内容保护方法、装置、服务器及计算机可读介质,将确定的关键字多次随机映射到Unicode码上,得到关键字与 Unicode码的多个映射关系,根据关键字与Unicode码的多个映射关系生成多种格式的自定义字体文件,输出到客户端,可实现对数据内容的混淆,减少了开发人员维护字体文件的数量。通过本方法,爬虫程序很难解析出获取的数据内容,达到数据内容保护的目的。
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1是本发明实施例提供的数据内容保护方法实施流程图。
图2是本发明实施例提供的字体文件演示示例图。
图3是本发明实施例提供的数据内容保护装置示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
需要注意,虽然本文中使用“第一”、“第二”等表述来描述本发明的实施方式的不同模块、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的模块、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。
本发明实施例提供的数据内容保护方法,该数据内容保护方法可应用于防止网站数据内容被爬虫程序抓取的应用场景。在该场景下,一种可能的实施方式中可将确定的关键字多次随机映射到Unicode码上,得到关键字与 Unicode码的多个映射关系,根据关键字与Unicode码的多个映射关系生成多种格式的自定义字体文件,输出到客户端,实现对文本内容的混淆。
图1所示为本发明实施例提供的数据内容保护方法实施流程图。图1 所示的方法执行主体可以是数据内容保护装置,该数据内容保护装置可以是服务器,也可以是计算机,移动终端等终端,本发明实施例不做限定。参阅图1所示,该方法包括:
S101:确定步骤,确定关键字。
本发明实施例中涉及的关键字包含预设的高频字、通过机器选择得到的高频字以及对预设的高频词和机器选择的高频词分解后得到的字的统称。为了得到需要的高频字和高频词,通常可以对文档中的高频字和高频词通过人工预设或者机器选择的方式来获取。一般地,人工预设的高频字和高频词数量比较少不能满足需要提取的高频字和高频词的数量要求,这种情况下,需要使用机器针对语料库选择高频字和高频词。
作为一种可能的实施方式,本发明实施例中,例如机器选择的高频字和高频词,可采用基于TF-IDF的行业关键词抽取方法和利用文本切词的高频词统计方法来获取。
采用基于TF-IDF的行业关键词抽取方法中,一种可能的实施方式中可采用如下公式确定TF:
TF=在某个文档中词条出现的次数/该文档的所有词条数目;TF较高说明该次在文档中出现的频率高,也就说明这个词比较重要,但是由于通用词的影响,例如因为、所以等词在大部分文档中的频率都很高,所以会严重影响关键词的行业相关性,由此引入了IDF,一种可能的实施方式中可采用如下公式确定IDF:
IDF=log(语料库中文档总数/(包含指定词条的文档数+1));
IDF比较高,说明该词在多个文档中出现的频率较低,就可以大概率排除该词是介词等常用词。
一种可能的实施方式中可采用如下公式确定最终TFIDF:
TFIDF=TF*IDF;,二者相乘得出TFIDF高说明该词可能是需要选取的高频词。
采用文本切词的高频词统计方法中,主要目的是统计出文本中的高频词汇,即使是介词也可以,只要能起到打乱文本目的就可以,具体的统计方法是对多篇文档做文本切词,先分别统计出每篇文档的高频词,统计方法使用一个键值对,键为关键词,值为出现次数,遍历文档中所有词,每出现一次,该关键字的次数就加1,最后按统计次数排序,例如取出前100个关键词或者前200个关键词。
然后将每篇文档的键值对里的关键词汇总,相同的关键字将统计次数相加,最后计算出所有频率最高的n个关键词。一般n的取值范围从 50到200就可以达到很好的混淆效果,最后将n个词拆分为单个的关键字,为了更好的调整关键字,可以从这n个字中随机选取指定数目的字作为映射关键字,也可以选取最高频的指定数目的字作为映射关键字,也可以全部n个字都作为映射关键字。一般来说总字数100~200均可,太多了会使后续生成的字体文件过大,影响浏览器的加载效率。
由此,可通过机器选择得到充足的高频字和高频词。
S102:随机映射步骤,将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系。
国际上,Unicode码对应的文字都是确定的。并且国际通用Unicode 码已经占用了一大部分码,为了实现确定的关键字与对应的Unicode码的多个映射关系,例如可先选取尽可能连续的空的码段,如Unicode码的 uni0541~uni0530,uni11c3~uni119f,unie000~unie76b等码段,然后将确定的关键字随机均匀分布到这些码段中,得到确定的关键字与Unicode 码的映射关系。
具体地,将预设的空码段组成一个码段组:如[[0541,0530], [11c3,119f],[e000,e76b]...]等。将确定的关键字中的第一个字,随机分配到Unicode码的预设码段组中的一个预设码段中。本发明实施例为描述方便,将预设的空码段组称为第一码段组。
作为一种可能的实施方式,本发明实施例中,可利用第一个字的通用Unicode16进制码值与随机分配的预设码段长度进行比值运算,将运算后的余数与预设码段的长度的起始位相加,得到第一个字的映射Unicode 码。例如第一个字是“不”字,“不”字的通用Unicode编码为uni4e0d,随机选到了[e000,e76b]码段,该码段长度为e76b-e000=76b,“不”字的通用 UNICODE编码与该码段长度进行比值运算取余数为:4e0d%76b=3df。余数加随机选取码段起始位,得出“不”字新的映射Unicode值,即:3df+ e000=e3df,所以“不”字的新Unicode的值为e3df。
作为一种可能的实施方式,本发明实施例中,得到第一个字的映射 Unicode码之后,以第一个字的映射Unicode码为基准,将预设码段拆开,并剔除第一个字的映射Unicode码后,得到拆分后的码段。针对拆分后的码段长度与预设的码段长度阈值比较,如果拆分后的码段长度大于预设的码段长度阈值,则将拆分后的码段加入到后续随机选取计算中,如果拆分后的码段长度小于预设的码段长度阈值,则将拆分后的码段存入一个碎片组备用。例如,上例中的“不”字随机分配的码段[e000,e76b],从 [e000,e76b]码段中剔除“不”字的新Unicode的值e3df后,得到的拆分后的码段为[e000,e3de]和[e3e0,e76b],如果预设的码段长度阈值为4,上述两个码段长度均大于4,所以两个码段都加入到后续随机选取的码段数组中。
其中,码段长度阈值由预设码段中Unicode码的总容量和确定的关键字个数因素决定。Unicode码的总容量就是所有选取码段长度的总和,而一般在使用过程中,通常可用码段总容量约1.3万~1.8万,为了可以做 3~4次随机多映射,阈值一般设的比较小,3或4次即可。如果阈值设为 1,会映射更多的关键字,而字的码也都是连续的,追加映射时也不会有碎片空间产生,但是一般的数据内容保护不会映射非常多的字,因为字太多会使字体文件体积较大,浏览器加载字体文件时也需要消耗较多的时间。
作为一种可能的实施方式,本发明实施例中,为描述方便可以将得到拆分后的码段与第一预设码段组中剔除预设码段后的其他码段组,统称为第二码段组。将确定的关键字中的第二个字按照第一个字的随机映射步骤继续映射,直到所有关键字映射完成,得到确定的关键字中的所有字与对应Unicode码的一次映射关系,针对该次的映射关系,生成对应的版本号,并存储到数据库中。针对确定的关键字,重复以上随机映射步骤,使得执行随机映射步骤的次数达到预设的映射次数阈值,得到关键字与对应的Unicode码的多个映射关系,同样将该多个映射关系生成多个版本号,并存储到数据库中。
其中,映射次数阈值主要根据码段的总容量和关键字的个数来确定,具体地,关键字每次多映射一遍,相当于关键字的个数增加了1倍,如果码段总容量过小,会导致下一次映射不完全。一般地,如果要保证浏览器渲染的随机性,至少需要映射2次。如果增加或缩减映射的间隔比较频繁,那么不需要较多的映射次数。一般建议映射次数2~3次为佳,太多同样会造成字体文件体积过大,降低浏览器的响应速度的情况。
作为一种可能的实施方式,本发明实施例中,例如映射次数阈值为两次,则关键字与对应的Unicode码的映射关系,达到两次后,就停止重复随机映射步骤。并将关键字与对应的Unicode码的两次映射关系平滑地同步到前后端。
作为一种可能的实施方式,本发明实施例中,可以根据预设的映射次数阈值,定时缩减关键字与对应Unicode码的多个映射关系,以释放更多的Unicode码,避免码段组中无码段可用的情况。
针对关键字增加缩减映射关系的频率,例如可根据业务重要程度来确定更新关键字与对应Unicode码的多个映射关系的时间间隔。如果需要频繁更新的,以小时计算,比如1小时更新一次,而不太重要的业务,可以1天更新一次甚至1周。
S103:生成步骤,根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中每一个生成多种格式的字体文件。
作为一种可能的实施方式,本发明实施例中,得到关键字与对应的 Unicode码的映射关系之后,需要针对关键字与对应的Unicode码的映射关系制作对应的字体文件,例如可以先建立一个字体文件,然后为了不影响用户体验,根据关键字的通用映射关系从原始文件中找到对应的字,原始文件中对应的字例如是宋体、黑体等。字体文件演示示例图如图2 所示。
从图2可以看出,图2中的方格存储了字体的写法,每个方格与字的Unicode码对应,当同一个字映射为多个Unicode码时,实际上是该字体文件中的多个格子中复制了同一个字,却对应不同的Unicode码。
为了防止爬虫软件得到关键字新的字体文件后,手动把字体文件中的关键字切割出来,利用程序一个一个批量地比对关键字的字体与 Unicode码,解析出关键字与Unicode码的映射关系,最终得到关键字,作为一种可能的实施方式,本发明实施例中,例如可以将原始文件中的关键字,完全拷贝到新的字体文件中后,对新的字做弧度,坐标等不影响感官的小范围微调,使爬虫软件比对关键字的字体与关键字的Unicode 码的时候,关键字字体与原始字体的像素点对不上,增加爬虫软件解析关键字的难度。然后将生成的字体文件转换出适合多种操作系统可以识别的字体文件。例如,ttf、wotf、eot、svg等多种格式的字体文件。为使字体文件与关键字的映射关系相对应,例如可以针对生成的字体文件生成字体文件的版本号,并将该字体文件的版本号与关键字映射关系的版本号的对应关系进行存储。
S104:输出步骤,输出所述多种格式的字体文件到客户端。
作为一种可能的实施方式,本发明实施例中,为了保证系统稳定运行,保证浏览器不会由于映射增加而出现间断或者乱码现象,输出多种格式的字体文件时,需要平滑过渡映射关系,而采取的方式就是在旧的关系上增加新的关系,在新关系未稳定时,旧映射依然可用。
具体地,增加映射关系时,根据字体文件的版本号,先将增加的字体文件同步至前端,然后再在数据库中增加关键字的映射关系。缩减映射关系时,是先缩减后端的映射关系,即先将数据库中存储的关键字与对应Unicode码的映射关系解除,然后再更新前端缩减后的字体文件,保证缩减映射时,显示稳定。解除映射关系后的Unicode值也会释放,将这些值放入碎片组,结合剩余可映射的码段组,将连续碎片重新连接成新的码段,并更新码段组。由此可避免码段组全部成为碎片后无码段可用的情况。浏览器在加载页面时,会先读取最新的字体文件版本号,并根据该字体文件版本号,加载该版本号对应的最新的字体文件。当浏览器渲染字体时,会首先在新的字体文件中找到与Unicode对应的字,如果在新的字体文件中没有存储该字映射的Unicode时,浏览器会按照操作系统通用的Unicode与字的关系渲染对应的字。需要注意的是,由于对关键字做了多次映射,即在新的字体文件中可能存储的多个映射的Unicode码是同一个关键字,因此实现了文本混淆,达到数据内容保护的效果。
本发明实施例提供的数据内容保护方法,将确定的关键字多次随机映射到Unicode码上,得到关键字与Unicode码的多个映射关系,根据关键字与Unicode码的多个映射关系生成多种格式的自定义字体文件,输出到客户端,可实现对数据内容的混淆,减少了开发人员维护字体文件的数量。通过平滑追加和平滑缩减映射关系,保证了系统运行的稳定性。通过本方法,爬虫程序很难解析出获取的文本内容,达到数据内容保护的目的。
基于相同的发明构思,本发明实施例还提供了数据内容保护装置。
如图3所示,本发明实施例提供的数据内容保护装置200,该装置 200包括确定单元201、随机映射单元202、生成单元203以及输出单元 204。其中,确定单元201,用于确定关键字。随机映射单元202,用于将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述 Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的 Unicode码的多个映射关系。生成单元203,用于根据所述关键字与所述 Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件。输出单元204,用于输出所述多种格式的字体文件到客户端。
一种可能的实施例中,确定单元201用于:获取预设的高频字和高频词并且获取通过机器选择得到的高频字和高频词。将所述预设的高频词以及所述通过机器选择得到的高频词分解成字。将所述预设的高频字、所述通过机器选择得到的高频字以及分解后得到的字,确定为关键字。
另一种可能的实施例中,确定单元201采用如下方式通过机器选择得到高频字和高频词:将利用基于TF-IDF的高频字和高频词抽取装置得到的高频字和高频词,以及利用文本切词装置得到的频率最高的字和词,确定为高频字和高频词。
又一种可能的实施例中,随机映射单元202用于:将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中。
根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码。剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射 Unicode码。以及依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
一种可能的实施例中,随机映射单元202采用如下方式确定第一个字的映射Unicode码:确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
另一种可能的实施例中,确定剔除所述第一个字的映射的Unicode 码后,随机映射单元202还用于得到第二码段组:针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段。将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
又一种可能的实施例中,拆分后的码段长度小于预设的码段长度阈值时,所述随机映射单元202用于:存储并备用所述拆分后的码段。
一种可能的实施例中,随机映射单元202还用于:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系。根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端。
另一种可能的实施例中,输出单元204还用于:根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
又一种可能的实施例中,生成单元203采用如下方式生成所述关键字的多个自定义字体文件:建立新的字体文件。根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件。根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
一种可能的实施方式中,本发明实施例还提供一种服务器,所述服务器包括:存储器,配置用于存储指令;以及处理器,配置用于调用所述指令执行上述可能的实施方式中任一所述的方法。
一种可能的实施方式中,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行上述可能的实施方式中任一所述的方法。
可能的实施方式中,本发明实施例还提供了以下实施方式:
一种可能的实施方式中,本发明实施例提供的数据内容保护方法包括:确定步骤,确定关键字;随机映射步骤,将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系;生成步骤,根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;以及输出步骤,输出所述多种格式的字体文件到客户端。
一种可能的实施方式中,所述确定步骤包括:获取预设的高频字和高频词并且获取通过机器选择得到的高频字和高频词;将所述预设的高频词以及所述通过机器选择得到的高频词分解成字;将所述预设的高频字、所述通过机器选择得到的高频字以及分解后得到的字,确定为关键字。
一种可能的实施方式中,所述通过机器选择得到的高频字和高频词,包括:将利用基于TF-IDF的高频字和高频词抽取方法得到的高频字和高频词,以及利用文本切词方法得到的频率最高的字和词,确定为高频字和高频词。
一种可能的实施方式中,所述随机映射步骤包括:将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射 Unicode码;以及依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
一种可能的实施方式中,所述随机映射步骤中,所述确定所述第一个字的映射Unicode码,包括:确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
一种可能的实施方式中,所述随机映射步骤中,所述剔除所述第一个字的映射的Unicode码后,得到第二码段组,包括:针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
一种可能的实施方式中,所述随机映射步骤中,所述拆分后的码段长度小于预设的码段长度阈值时,存储并备用所述拆分后的码段。
一种可能的实施方式中,所述生成步骤之后,所述方法还包括:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系;根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端。
一种可能的实施方式中,所述输出步骤之后,所述方法还包括:根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode 码的多个映射关系到数据库。
一种可能的实施方式中,所述生成步骤中,所述生成所述关键字的多个自定义字体文件,包括:建立新的字体文件;根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
一种可能的实施方式中,本发明实施例还提供一种数据内容保护装置,所述装置包括:确定单元,用于确定关键字;随机映射单元,用于将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述 Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的 Unicode码的多个映射关系;生成单元,用于根据所述关键字与所述 Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;输出单元,用于输出所述多种格式的字体文件到客户端。
一种可能的实施方式中,所述确定单元用于:获取预设的高频字和高频词并且获取通过机器选择得到的高频字和高频词;将所述预设的高频词以及所述通过机器选择得到的高频词分解成字;将所述预设的高频字、所述通过机器选择得到的高频字以及分解后得到的字,确定为关键字。
一种可能的实施方式中,所述确定单元采用如下方式通过机器选择得到高频字和高频词:将利用基于TF-IDF的高频字和高频词抽取装置得到的高频字和高频词,以及利用文本切词装置得到的频率最高的字和词,确定为高频字和高频词。
一种可能的实施方式中,所述随机映射单元用于:将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射Unicode码;以及依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
一种可能的实施方式中,所述随机映射单元采用如下方式确定所述第一个字的映射Unicode码:确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
一种可能的实施方式中,确定所述剔除所述第一个字的映射的 Unicode码后,所述随机映射单元还用于得到第二码段组:针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
一种可能的实施方式中,所述拆分后的码段长度小于预设的码段长度阈值时,所述随机映射单元用于:存储并备用所述拆分后的码段。
一种可能的实施方式中,所述随机映射单元还用于:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系;根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端。
一种可能的实施方式中,所述输出单元还用于:根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
一种可能的实施方式中,所述生成单元采用如下方式生成所述关键字的多个自定义字体文件:建立新的字体文件;根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
一种可能的实施方式中,本发明实施例还提供一种服务器,所述服务器包括:存储器,配置用于存储指令;以及处理器,配置用于调用所述指令执行上述可能的实施方式中任一所述的方法。
一种可能的实施方式中,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行上述可能的实施方式中任一所述的方法。
尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本发明的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。
Claims (18)
1.数据内容保护方法,其中,所述方法包括:
确定步骤,确定关键字,所述关键字包括预设的高频字、通过机器选择得到的高频字以及对预设的高频词和机器选择的高频词分解后得到的字;
随机映射步骤,将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系;
生成步骤,根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,每一个所述自定义字体文件包括所述关键字与所述Unicode码的映射关系,所述关键字与所述Unicode码的映射关系为一个关键字对应多个Unicode码,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;
根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系;
根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端;以及
输出步骤,输出所述多种格式的字体文件到客户端。
2.根据权利要求1所述的方法,其中,所述通过机器选择得到的高频字和高频词,包括:
将利用基于TF-IDF的高频字和高频词抽取方法得到的高频字和高频词,以及利用文本切词方法得到的频率最高的字和词,确定为高频字和高频词。
3.根据权利要求1所 述的方法,其中,所述随机映射步骤包括:
将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;
根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;
剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射Unicode码;以及
依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
4.根据权利要求3所述的方法,其中,所述随机映射步骤中,所述确定所述第一个字的映射Unicode码,包括:
确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
5.根据权利要求3所述的方法,其中,所述随机映射步骤中,所述剔除所述第一个字的映射的Unicode码后,得到第二码段组,包括:
针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;
将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到拆 分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
6.根据权利要求5所述的方法,其中,所述随机映射步骤中,所述拆分后的码段长度小于预设的码段长度阈值时,存储并备用所述拆分后的码段。
7.根据权利要求1所述的方法,其中,所述输出步骤之后,所述方法还包括:
根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
8.根据权利要求1所述的方法,其中,所述生成步骤中,所述生成所述关键字的多个自定义字体文件,包括:
建立新的字体文件;
根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;
根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
9.数据内容保护装置,其中,所述装置包括:
确定单元,用于确定关键字,所述关键字包括预设的高频字、通过机器选择得到的高频字以及对预设的高频词和机器选择的高频词分解后得到的字;
随机映射单元,用于将确定的关键字随机地映射到Unicode码上,得到所述关键字与所述Unicode码的映射关系,并且重复以上随机映射步骤,使得执行所述随机映射步骤的次数达到预设的映射次数阈值,得到所述关键字与对应的Unicode码的多个映射关系;
生成单元,用于根据所述关键字与所述Unicode码的多个映射关系,生成所述关键字的多个自定义字体文件,每一个所述自定义字体文件包括所述关键字与所述Unicode码的映射关系,所述关键字与所述Unicode码的映射关系为一个关键字对应多个Unicode码,并且将所述多个自定义字体文件中的每一个生成多种格式的字体文件;
所述随机映射单元还用于:根据预设的映射次数阈值,定时缩减所述关键字与对应Unicode码的多个映射关系,根据所述缩减的所述关键字与对应Unicode码的多个映射关系,更新对应的所述多个多种格式的字体文件到客户端;
输出单元,用于输出所述多种格式的字体文件到客户端。
10.根据权利要求9所述的装置,其中,所述确定单元采用如下方式通过机器选择得到高频字和高频词:
将利用基于TF-IDF的高频字和高频词抽取装置得到的高频字和高频词,以及利用文本切词装置得到的频率最高的字和词,确定为高频字和高频词。
11.根据权利要求9所 述的装置,其中,所述随机映射单元用于:
将所述关键字中的第一个字随机分配到Unicode码的第一预设码段组中的一个预设码段中;
根据所述第一个字的长度与所述预设码段的长度,确定所述第一个字映射的Unicode码;
剔除所述第一个字的映射的Unicode码后,得到第二码段组,并根据所述第二码段组,确定所述关键字中第二个字的映射Unicode码;以及
依次确定完所述关键字中的所有字的映射Unicode码,得到所述关键字与对应Unicode码的映射关系。
12.根据权利要求11所述的装置,其中,所述随机映射单元采用如下方式确定所述第一个字的映射Unicode码:
确定所述第一个字的通用Unicode码值与所述预设码段的长度进行比值运算后得到的余数,以及将所述余数与所述预设码段的长度的起始位相加,得到所述第一个字的映射Unicode码。
13.根据权利要求11所述的装置,其中,确定所述剔除所述第一个字的映射的Unicode码后,所述随机映射单元还用于得到第二码段组:
针对所述预设码段,以所述第一个字的映射Unicode码为基准,将所述预设码段拆开,并剔除所述第一个字的映射Unicode码后,得到拆分后的码段;
将所述拆分后的码段长度与预设的码段长度阈值比较,若所述得到分后的码段长度大于预设的码段长度阈值,则将所述拆分后的码段,与所述第一预设码段组中剔除所述预设码段后的其他码段组,作为第二码段组。
14.根据权利要求13所述的装置,其中,所述拆分后的码段长度小于预设的码段长度阈值时,所述随机映射单元用于:存储并备用所述拆分后的码段。
15.根据权利要求9所述的装置,其中,所述输出单元还用于:
根据输出的所述多种格式的字体文件,存储与所述关键字对应的Unicode码的多个映射关系到数据库。
16.根据权利要求9所述的装置,其中,所述生成单元采用如下方式生成所述关键字的多个自定义字体文件:
建立新的字体文件;
根据所述关键字的通用映射关系,将原始字体文件中的所述关键字复制到所述新的字体文件中,得到所述关键字的字体文件;
根据所述关键字的字体文件,将所述关键字的字体文件属性进行微调,生成所述关键字的自定义字体文件。
17.一种服务器,其中,所述服务器包括:
存储器,配置用于存储指令;以及
处理器,配置用于调用所述指令执行权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123260.0A CN109871667B (zh) | 2019-02-18 | 2019-02-18 | 数据内容保护方法、装置、服务器及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123260.0A CN109871667B (zh) | 2019-02-18 | 2019-02-18 | 数据内容保护方法、装置、服务器及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871667A CN109871667A (zh) | 2019-06-11 |
CN109871667B true CN109871667B (zh) | 2020-11-10 |
Family
ID=66918925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910123260.0A Active CN109871667B (zh) | 2019-02-18 | 2019-02-18 | 数据内容保护方法、装置、服务器及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871667B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502711B (zh) * | 2019-07-17 | 2022-08-26 | 汉海信息技术(上海)有限公司 | 页面展示方法、装置、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904712A (zh) * | 2011-07-25 | 2013-01-30 | 深圳市金溢科技有限公司 | 信息加密方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612491B2 (en) * | 2011-10-25 | 2013-12-17 | The United States Of America, As Represented By The Secretary Of The Navy | System and method for storing a dataset of image tiles |
CN102662926B (zh) * | 2012-03-29 | 2015-09-30 | 常州华文文字技术有限公司 | 字库的存储与访问方法 |
CN102970596A (zh) * | 2012-11-28 | 2013-03-13 | 康佳集团股份有限公司 | 一种实现机顶盒多语言字体显示的方法、系统及机顶盒 |
CN103425631A (zh) * | 2013-07-19 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 用于获取文档文件中目标文字的字体文件的方法及装置 |
CN106845159A (zh) * | 2015-12-03 | 2017-06-13 | 福建福昕软件开发股份有限公司 | 一种pdf文本乱码方法 |
CN108108337A (zh) * | 2016-11-25 | 2018-06-01 | 北大方正集团有限公司 | 简繁互转方法及装置 |
CN108718315A (zh) * | 2018-06-01 | 2018-10-30 | 四川科瑞达电子技术有限公司 | 一种碎片化加密用户信息的云平台隐私保护方法 |
CN109241391A (zh) * | 2018-09-20 | 2019-01-18 | 四川长虹电器股份有限公司 | 一种解决字体反爬的爬虫方法 |
-
2019
- 2019-02-18 CN CN201910123260.0A patent/CN109871667B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904712A (zh) * | 2011-07-25 | 2013-01-30 | 深圳市金溢科技有限公司 | 信息加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109871667A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544402B2 (en) | Annotations for privacy-sensitive user content in user applications | |
AU2018239927B2 (en) | Obfuscation of user content in structured user data files | |
US9471285B1 (en) | Identifying software components in a software codebase | |
US8626486B2 (en) | Automatic spelling correction for machine translation | |
CN106462604B (zh) | 识别查询意图 | |
KR20130062889A (ko) | 데이터 압축 방법 및 시스템 | |
CN107085568B (zh) | 一种文本相似度判别方法及装置 | |
US9864738B2 (en) | Methods and apparatus related to automatically rewriting strings of text | |
CN110795524A (zh) | 主数据映射处理方法、装置、计算机设备及存储介质 | |
WO2022105497A1 (zh) | 文本筛选方法、装置、设备及存储介质 | |
CN109871667B (zh) | 数据内容保护方法、装置、服务器及计算机可读介质 | |
CN106407288B (zh) | 一种信息同步更新的方法及系统 | |
JP3333549B2 (ja) | 文書検索方式 | |
CN110059214B (zh) | 一种图像资源处理方法及装置 | |
US20150324480A1 (en) | Lock-free parallel dictionary encoding | |
US10579707B2 (en) | Method for inferring blocks of text in electronic documents | |
US20140075150A1 (en) | Method for generating a delta for compressed data | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN103136166B (zh) | 字体确定方法和设备 | |
CN113641769B (zh) | 一种数据处理方法及装置 | |
CN115146030A (zh) | 一种基于知识图谱的公务文书写作方法及系统 | |
Öztürk et al. | A character based steganography using masked language modeling | |
CN110263303B (zh) | 文本修改历史的追溯方法及装置 | |
CN113285933A (zh) | 用户访问控制方法、装置、电子设备与存储介质 | |
CN112506651A (zh) | 一种大数据量环境中数据运算的方法和设备 |
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 |