CN105808783A - 一种不同域名格式的大文件数据差异性分析方法 - Google Patents
一种不同域名格式的大文件数据差异性分析方法 Download PDFInfo
- Publication number
- CN105808783A CN105808783A CN201610201039.9A CN201610201039A CN105808783A CN 105808783 A CN105808783 A CN 105808783A CN 201610201039 A CN201610201039 A CN 201610201039A CN 105808783 A CN105808783 A CN 105808783A
- Authority
- CN
- China
- Prior art keywords
- index
- file
- escrow
- record
- domain
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/838—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种不同域名格式的大文件数据差异性分析方法。本方法为:1)将escrow文件中的记录导入数据库,同时在内存中生成索引,并为每条索引配置一个标签;2)遍历zone的每条domain记录,查询该索引中是否存在当前记录对应的索引信息,若不存在,则将该记录写入差异报告A;若存在,则从数据库中提取出该记录的各字段信息,并与zone文件中对应的domain信息比较,将存在差异的字段写入差异报告B,同时标记索引中对应标签为true;3)遍历该索引,查找该索引中标签为false的数据,然后提取对应的escrow数据写入差异报告C中。本发明减少了IO交互和数据库遍历的时间消耗,优化了时间复杂度。
Description
技术领域
本发明涉及一种针对域名托管领域的两种不同格式大文件的数据差异性分析方法,属于计算机网络技术领域。
背景技术
我们首先来说一下ICANN提出的域名灾难恢复响应机制。通常一个顶级域的瘫痪对互联网的基础资源是灾难性的故障,因此通过将顶级域的数据进行应急托管的方式来保障互联网的基础资源,以便快速恢复某个顶级域的基础服务数据则势在必行。而需要恢复的源数据文件就是在顶级域托管环节保存的两个文件,分别是escrow和zone,其中escrow为大型xml文件,而zone是有固定格式的另一种大文件,这两个均是包含domain相关信息记录的文件,我们要比较分析的就是这些domain信息的不同点。在escrow文件中对一条domain记录的格式如下
而在zone文件中对一条domain信息的记录格式如下
上面样例可以看到域名nic.example是在escrow和zone文件同时存在的,但是使用什么方法能快速分析出两者之间各个字段信息的差异呢?这个问题只是本方法解决的问题中的一种情况。另外某些域名只存在于zone文件,而另一些域名只存在于escrow文件这些情况都是本方法所要解决的问题。还有因为escrow和zone一般是比较大的两个文件,所以不可能通过一次载入内存比较的方式来完成差异分析,更不能通过简单的diff命令来完成,这些传统的方式会造成过度消耗内存,而无法生成结果,甚至有可能导致因内存消耗过度而发生系统瘫痪。而我们设计的算法就是基于域名应急恢复领域的将两种不同格式的文件在导入数据库的同时完成差异性分析。该算法先通过流处理的方式将escrow文件数据导入数据库,同时建立rdeDom:domain标签索引,然后再读取zone文件数据,并根据索引查询来决定该条记录是否需要与数据库中对应escrow记录进行差异比较,以此来完成分析报告。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种不同格式的大文件数据差异性分析方法。本发明对于escrow和zone这两个文件的导入和分析,采用的策略是先将escrow数据以流解析的形式导入数据库,然后再处理zone文件,在读取zone数据同时,需要分析判断不同类别的记录差异,且在较短时间内自动完成对这些数据的解析,并生成一个详细的差异分析报告,主要包括3个报告,分别是只在escrow文件中存在但在zone文件中不存在的差异;同时在escrow中和zone文件存在但各字段信息有出入的差异;只在zone中存在但escrow中不存在的差异。
如果先导入escrow数据到数据库,再将zone记录每次到数据库中查找对比,会很耗时,而且要得出仅在escrow中存在的数据,需要单独在数据库中新加一个字段来标记,那样会比较麻烦,在这种情况下,我们设计了的新的大文件差异分析技术。这个技术可以达到以下几点目的:
1)避免恢复托管数据时因差异分析错误而导致的数据恢复错误;
2)提供一份详细的差异分析报告,为后续查找相关记录差异提供素材;
3)为数据恢复后正确解析提供支持;
4)在占用较少内存的情况下,快速准确的分析两个文件的差异;
本发明解决问题的技术方案是:
A、先用流处理技术将escrow记录导入数据库,因为escrow文件和zone文件中含有的domain字段为两者共有的且作为标识性的信息,所以在导入escrow同时在内存中生成仅含有rdeDom:name字段信息的索引index;
B、建立index索引的同时为索引中的每条rdeDom:name配置一个flag标签,初始化为false。标签的作用是用于分类domain记录,在接下来的遍历中会根据不同情况将其设置为不同值,在步骤D中会设置为true,表示该条记录是存在escrow中同时也存在zone中,而false标记该记录只在escrow中而不在zone中;
C、遍历zone文件每条domain记录,在内存中的index索引中查询该条domain对应的rdeDom:name是否存在,如果不存在则说明该条记录在zone文件中但不在escrow中,这时我们生成差异报告A,记录该条domain的信息。那么报告A则只记录在zone文件中存在但在escrow中不存在的记录;
D、如果该条domain存在于index中,再从数据库中提取出该domain的各字段信息,并与zone中对应的domain信息进行比较,然后根据domain信息的各字段情况报告具体那个字段出现差异,写入差异报告B,同时标记index中的flag标签为true;
E、最后遍历index索引,因为true的情况在D中已经被写入报告,所以这里在遍历时从数据库中只提取index中flag标签为false的escrow数据,即只存在于escrow中的数据,最后将该类差异写入差异报告C。
到此,两个文件的差异均已报告完毕,最终生成存在3个差异报告,分别是
只在zone中存在不在escrow中的记录
同时在escrow和zone中存在,但domain的具体字段信息不同的记录
只在escrow中存在但不在zone中的记录
与现有技术相比,本发明的积极效果为:
针对escrow和zone文件的具体特点分类出domain信息各记录的共同字段,比如DS,NS信息,并通过设计的方法对比这些字段信息,该方法的优点主要包括以下几方面:
1)本发明使用归纳的方法将两个文件的差异分析浓缩在3次遍历过程中,分别是遍历escrow文件,遍历zone文件和遍历内存索引,简化了遍历过程。
2)对于在zone文件中存在,但不存在escrow中的数据,如果每一条都查数据库,相当于每次都遍历了一遍数据库,且每次都要IO交互,这样很耗时。而我们设计的结构化的常驻内存索引的设计,并非在数据库中建立索引,减少了IO交互和数据库遍历的时间消耗,提高了查询效率。
3)再有对于escrow中存在而zone中不存在的数据,通过设计flag标签来分类处理的方法,使得这些数据能在遍历一次内存索引后就能提取出来,且占用较小内存,不用再通过增加数据库字段的方式解决,优化了时间复杂度。
附图说明
图1为遍历escrow和zone文件的流程图;
图2为遍历index的流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
实施步骤描述如下:
1)遍历escrow文件,提取escrow数据中的rdeDom:name字段到内存index索引中,并将详细信息导入数据库。在上面的样例中则是提取了内容nic.example;
2)提取escrow的同时,设置index索引的flag标签为false;
3)遍历zone文件,并在内存index索引中查询,如果查询不到,直接报告此类差异;
4)如果在index索引中能查询到,则设置flag标签为true,再从库中的提取该记录的各字段信息进行对比,并报告差异结果。例如在上面的样例中,zone文件中也是存在nic.example的,但是两条记录的字段详细信息是不同的,第一不同点escrow中有rdeDom:secDNS,即DS信息,zone文件中无DS信息,第二个不同点escrow中的rdeDom:ns信息和zone文件中的NS信息也不相同,那么我们就必须将这些差异写入报告结果中;遍历escrow和zone文件的流程如图1所示。
5)最后遍历index索引,只处理flag标签为false的数据,以获取只在escrow中但不在zone中的记录,并报告差异结果,遍历index的流程如图2所示。
本方法对escrow和zone记录的处理准确高效,而且提取rdeDom:domain字段作为索引信息的设计,避免了对众多冗余信息复杂的存储和检查,并通过设置flag标签进行分类,也避免了在数据库中设置字段的繁琐和IO交互的时间消耗。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种不同域名格式的大文件数据差异性分析方法,其步骤为:
1)将escrow文件中的记录导入数据库,同时在内存中生成索引index,并为每条索引配置一个flag标签,初始化为false;其中,flag标签设置为true,表示记录是存在escrow文件中同时也存在zone文件中,flag标签设置为false,表示记录只在escrow文件中而不在zone文件中;
2)遍历zone文件的每条domain记录,查询该index索引中是否存在当前domain记录对应的索引信息,如果不存在,则将该domain记录写入差异报告A;如果存在,则从数据库中提取出该domain记录的各字段信息,并与zone文件中对应的domain信息进行比较,将存在差异的字段写入差异报告B,同时标记索引index中对应的flag标签为true;
3)遍历该索引index,查找该索引index中flag标签为false的数据,然后从数据库中提取对应的escrow数据写入差异报告C中。
2.如权利要求1所述的方法,其特征在于,以流解析的形式将escrow文件中的记录导入数据库中。
3.如权利要求1或2所述的方法,其特征在于,该索引index为仅含有rdeDom:name字段信息的索引index,为每条索引rdeDom:name配置一个flag标签;其中,rdeDom:name字段为escrow文件和zone文件中含有domain信息的字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201039.9A CN105808783B (zh) | 2016-03-31 | 2016-03-31 | 一种不同域名格式的大文件数据差异性分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201039.9A CN105808783B (zh) | 2016-03-31 | 2016-03-31 | 一种不同域名格式的大文件数据差异性分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808783A true CN105808783A (zh) | 2016-07-27 |
CN105808783B CN105808783B (zh) | 2019-08-20 |
Family
ID=56460483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610201039.9A Active CN105808783B (zh) | 2016-03-31 | 2016-03-31 | 一种不同域名格式的大文件数据差异性分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808783B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033201A (zh) * | 2018-06-29 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种文件差异数据的获取方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058644B2 (en) * | 2002-10-07 | 2006-06-06 | Click Commerce, Inc. | Parallel tree searches for matching multiple, hierarchical data structures |
CN101184091A (zh) * | 2007-11-05 | 2008-05-21 | 深圳市迅雷网络技术有限公司 | 一种确定相似文件的方法及装置 |
CN103379160A (zh) * | 2012-04-25 | 2013-10-30 | 上海咏云信息技术有限公司 | 一种超大文件的差异同步方法 |
CN103970792A (zh) * | 2013-02-04 | 2014-08-06 | 中国银联股份有限公司 | 一种基于索引进行文件比对的方法和装置 |
CN104123280A (zh) * | 2013-04-24 | 2014-10-29 | 中国银联股份有限公司 | 文件比对方法和设备 |
US9009172B2 (en) * | 2012-03-09 | 2015-04-14 | Infosys Limited | Methods, systems and computer readable media for comparing XML documents |
-
2016
- 2016-03-31 CN CN201610201039.9A patent/CN105808783B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058644B2 (en) * | 2002-10-07 | 2006-06-06 | Click Commerce, Inc. | Parallel tree searches for matching multiple, hierarchical data structures |
CN101184091A (zh) * | 2007-11-05 | 2008-05-21 | 深圳市迅雷网络技术有限公司 | 一种确定相似文件的方法及装置 |
US9009172B2 (en) * | 2012-03-09 | 2015-04-14 | Infosys Limited | Methods, systems and computer readable media for comparing XML documents |
CN103379160A (zh) * | 2012-04-25 | 2013-10-30 | 上海咏云信息技术有限公司 | 一种超大文件的差异同步方法 |
CN103970792A (zh) * | 2013-02-04 | 2014-08-06 | 中国银联股份有限公司 | 一种基于索引进行文件比对的方法和装置 |
CN104123280A (zh) * | 2013-04-24 | 2014-10-29 | 中国银联股份有限公司 | 文件比对方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033201A (zh) * | 2018-06-29 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种文件差异数据的获取方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105808783B (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708773B (zh) | 一种多源科创资源数据融合方法 | |
CN107622255B (zh) | 基于位置模板与语义模板的票据图像字段定位方法及系统 | |
WO2017097166A1 (zh) | 识别领域命名实体的方法及装置 | |
US20170337260A1 (en) | Method and device for storing data | |
CN104657402B (zh) | 用于语言标签管理的方法和系统 | |
US10482170B2 (en) | User interface for contextual document recognition | |
CN106709032A (zh) | 抽取电子表格文档中结构化信息的方法及装置 | |
CN110909123B (zh) | 一种数据提取方法、装置、终端设备及存储介质 | |
CN110674360B (zh) | 一种用于数据的溯源方法和系统 | |
CN111061742B (zh) | 用于标记数据的方法、装置及其服务系统 | |
KR20100037325A (ko) | 패턴 기반 참고문헌 자동 구축 시스템 및 방법과 이를 위한기록매체 | |
CN105808783A (zh) | 一种不同域名格式的大文件数据差异性分析方法 | |
CN112765965A (zh) | 文本多标签分类方法、装置、设备和存储介质 | |
CN107491530B (zh) | 一种基于文件自动标记信息的社会关系挖掘分析方法 | |
CN106095808A (zh) | 一种mdb文件碎片恢复的方法和装置 | |
CN111125483B (zh) | 网页数据抽取模板生成方法、装置、计算机装置及存储介质 | |
CN113344527B (zh) | 一体化管理存储司法建议信息的方法及平台 | |
CN115272649A (zh) | 分子结构图的图像识别、检索、录入方法及系统、介质 | |
CN111125345A (zh) | 数据应用方法和装置 | |
Flynn | Document classification in support of automated metadata extraction form heterogeneous collections | |
CN108073694A (zh) | 一种基于双基准的企业属性标准化系统及其实现方法 | |
CN117034259B (zh) | 一种数据库审计方法及装置 | |
CN113705728B (zh) | 一种分类分级清单智能打标方法 | |
CN115512382A (zh) | 一种基于战略领域信息文本的标签体系构建方法 | |
Suh et al. | Lumped approach to recognize types of construction defect from text with hand-drawn circles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |