CN106372040B - 智能变电站配置文件差异性比较系统 - Google Patents

智能变电站配置文件差异性比较系统 Download PDF

Info

Publication number
CN106372040B
CN106372040B CN201610712218.9A CN201610712218A CN106372040B CN 106372040 B CN106372040 B CN 106372040B CN 201610712218 A CN201610712218 A CN 201610712218A CN 106372040 B CN106372040 B CN 106372040B
Authority
CN
China
Prior art keywords
data
sequence
self
defined structure
document
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
Application number
CN201610712218.9A
Other languages
English (en)
Other versions
CN106372040A (zh
Inventor
冯军
刘宏君
陈远生
刘元美
许钰琳
方晓敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CYG Sunri Co Ltd
Original Assignee
CYG Sunri Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CYG Sunri Co Ltd filed Critical CYG Sunri Co Ltd
Priority to CN201610712218.9A priority Critical patent/CN106372040B/zh
Publication of CN106372040A publication Critical patent/CN106372040A/zh
Application granted granted Critical
Publication of CN106372040B publication Critical patent/CN106372040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种智能变电站配置文件差异性比较系统,要解决的技术问题是解决智能变电站新建、改扩建、运行检修过程中配置文件发生变更时,难以辨别而影响装置设备的正常运行的情况。本发明包括:显示模块,用于显示人机UI交互界面以显示文档数据对比模块的对比结果;文档数据对比模块,将原始文件自定义结构数据序列、目标文件自定义结构数据序列进行求最大的LCS序列并比较,进行对比,得到比对结果,将比对结果进行差异性着色后发送至显示模块输出显示;存储模块,存储对比结果,暂存转换后的原始文件自定义结构数据以及目标文件自定义结构数据;服务器数据库,保存用户的原始对比文件以及目标对比文件。

Description

智能变电站配置文件差异性比较系统
技术领域
本发明涉及一种电力自动化领域,特别是一种智能变电站CID、CCD、SCL文件差异性比较系统。
背景技术
变电站配置描述语言SCL(Substation Configuration description Language)是IEC61850-6标准中定义的用来描述智能电子装置IED的配置和通信系统。通过该语言,可规范地描述变电站自动化系统和变电站本身的相对关系。SCL语言在语法上遵循XML语法的规定,在语义上尽可能包含变电站配置所涉及的各类对象。
当前,智能变电站系统组态工作的一项重要内容是根据设备厂商提供的ICD(IEDcapability description)文件将IED实例化,配置相关通信参数及虚端子链接后,形成全站变电站配置说明文件。在新建变电站工程中,由于IED内部功能的调整可能导致ICD文件变更,致使SCD文件平方变动,给工程调试带来诸多不利因素;另一方面,智能变电站改扩建工程需要修改原SCD文件,修改过程是否影响已投运IED配置的正确性也难已通过试验验证,因此,SCD文件的版本管理是困扰智能变电站运行维护的一个棘手问题。
利用对比的方法查看修改前后SCL配置文件的差异性是一种解决上述问题的方法,而常规的纯文本和可扩展标记语言(XML)对比工具采用的是逐字符比较的算法,难以清晰、结构化地表达SCL配置文件的差异性,逐字节的比较方法只能比较结构完全一致,对于CID、CCD、SCL配置文件会频繁地做增、删、改的操作,对于做过增、删行操作后就难已判断了。
发明内容
本发明的目的在于提供一种智能变电站配置文件差异性比较系统,要解决的技术问题是解决智能变电站新建、改扩建、运行检修过程中配置文件发生变更时,难以辨别而影响装置设备的正常运行的情况。
为解决上述问题,本发明采用以下技术方案实现:一种智能变电站配置文件差异性比较系统,该系统包括:
显示模块,用于显示人机UI交互界面以显示文档数据对比模块的对比结果;
文档数据对比模块,将存储在服务器数据库或者是移动存储器中的原始文件中的每行行文本数据信息以及在现场、服务器数据库或移动存储器中获取的目标文件中的每行行文本数据信息分别转换为结构体数据,并将其分别组合成原始文件自定义结构数据序列、目标文件自定义结构数据序列,将原始文件自定义结构数据序列、目标文件自定义结构数据序列进行求最大的LCS序列并将最大的LCS序列分别与目标文档自定义结构数据序列以及原始文档自定义结构数据序列进行比较,排除原始文件自定义结构数据序列以及目标文件自定义结构数据序列中在最大的LCS序列中出现过的元素,得到的一个行内容不同的结果集序列;文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,将比对结果进行差异性着色后发送至显示模块输出显示;
存储模块,存储文档数据对比模块的对比结果,暂存转换后的原始文件自定义结构数据以及目标文件自定义结构数据,用户通过显示模块的界面选择将对比结果数据存储;
服务器数据库,保存用户的原始对比文件以及目标对比文件。
本发明所述的对比结果数据的格式为.txt或.xls格式的文件。
本发明的智能变电站配置文件差异性比较系统采用如下方法实现:
步骤一、文档数据对比模块先将每个文件以行的方式转为对应的结构数据序列;
步骤二、文档数据对比模块将转换后的原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行求最大的LCS序列;
步骤三、文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果。
本发明的文档数据对比模块将每个文件以行的方式转为对应的结构数据序列,包括以下步骤:
(1)文档数据对比模块将原始文件以及目标文件中的每一行文本数据信息分别转换为一个结构体数据,依此类推,直到原始文件中的所有行的行文本数据信息均转换为结构体数据,目标文件中的所有行的行文本数据信息均转换为结构体数据;
(2)文档数据对比模块将原始文件中所有转换后的结构体数据按照转换的先后顺序组合成原始文件自定义结构数据序列;将目标文件中所有转换后的结构体数据按照转换的先后顺序组合成目标文件自定义结构数据序列;
(3)文档数据对比模块将转换后的原始文件自定义结构数据序列、目标文件自定义结构数据序列分别暂存在存储模块内。
本发明步骤二中的文档数据对比模块将转换后的原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行求最大的LCS序列,包括如下步骤:
(1)文档数据对比模块根据文档数据对比模块根据原始文件自定义结构数据序列与目标文件自定义结构数据序列,在计算机的内存中动态生成一个二维表并进行初始化以及赋值,原始文件自定义结构数据序列中的元素个数作为二维表的总行数,目标文件自定义结构数据序列中的元素个数作为二维表的总列数;
(2)填充二维表,文档数据对比模块将原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行一次顺序比较,并将比较结果更新至二维表中;
(3)根据填充的二维表,文档数据对比模块二次逆序比较原始文件自定义序列与目标文件自定义序列,求取LCS序列。
本发明的文档数据对比模块动态生成二维表并进行初始化包括如下步骤如下:
a.文档数据对比模块将原始文件自定义结构数据序列中的每一个结构体数据的索引位置分别与二维表中的每一个行号一一对应,目标文件自定义结构数据序列中的每一个结构体数据索引位置分别与二维表中的每一个列号一一对应;
b.文档数据对比模块动态创建二维表;
c.文档数据对比模块判断当前的二维表行索引是否小于二维表的总行数,否则初始化结束,是则进入步骤d;
d.文档数据对比模块判断当前的二维表列索引是否小于二维表的总列数,否则二维表的行索引加1,并且返回步骤c继续判断,是则进入步骤e;
e.文档数据对比模块对当前的二维表行索引和列索引处的元素值赋值0,并且当前的二维表的列索引加1,并返回步骤d,循环上述步骤,直到二维表中的每个元素均赋予初值。
本发明的文档数据对比模块一次顺序比较包括如下步骤:
a.文档数据对比模块从原始文件自定义结构数据序列中的第一个结构体数据开始,取原始文件自定义结构数据序列中的第m个结构体数据与目标文件自定义结构数据序列中的每n个结构体数据进行比较,将原始文件自定义结构数据序列中的所有结构体数据与目标文件自定义结构数据序列中的所有结构体数据都比较一遍;
b.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据的行索引是否小于二维表的行总数,否则结束;是则进入步骤c;
c.文档数据对比模块判断目标文件自定义结构数据序列的第n个结构体数据的列索引n是否小于二维表的列总数,否则原始文件自定义结构数据序列的第m个结构体数据的行索引m递增加1并返回步骤b,是则进入步骤d;
d.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据是否等于目标文件自定义结构体数据序列的第n个结构体数据,即这两个结构体数据中保存的文本信息去掉尾部空格后是否一样;
是则二维表中的第m行第n列处的元素的值更新为在二维表中第m-1行第n-1列的值加1,并将结果更新至二维表中;
否则二维表中的第m行第n列处元素的值更新为二维表第m-1行n列或第m行n-1列中元素,取两个元素中值最大的一个,并将结果更新至二维表中,列索引n递增加1并返回步骤d。
本发明的文档数据对比模块二次逆序比较包括如下步骤:
a.文档数据对比模块从二维表的最后一行的行索引x以及从二维表的最后一列的列索引y开始,并将行索引x所对应的在二维表中的行号以及列索引y所对应的在二维表中的列号均减1后进入步骤b;
b.文档数据对比模块循环判断二维表行索引x以及二维表的列索引y是否均大于等于1;否则生成一个空LCS序列,LCS序列进行逆序并结束;是则进步骤c;
c.文档数据对比模块判断行索引x所对应的在原始文件自定义结构数据序列中的结构体数据与列索引y所对用的在目标文件自定义结构数据序列中的结构体数据的行文本数据信息内容是否一样;是则文档数据对比模块生成一个临时自定义结构体数据暂存在存储模块中,并对该临时自定义结构体数据中的每个成员进行赋值;将生成的临时自定义结构体数据添加到LCS序列中,并返回步骤b否则进入步骤d;
d.文档数据对比模块判断二维表的第x-1行y列处的元素的值是否小于等于第x行y-1列的元素的值,是则将二维表第y列中的元素的值更新为y-1列的元素的值并且返回步骤b;否则进入步骤e;
e.文档数据对比模块将二维表中第x行中的元素的值更新为x-1行的元素的值,并返回步骤b,直到x>=1和y>=1判断条件不成立时停止,这两判断条件满足其一即停止循环,得到结果集,文档数据对比模块将结果集进行逆序后结束,得到最大的LCS序列,文档数据对比模块将最大的LCS序列保存在存储模块中。
本发明所述的步骤三中文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,比较输出方法如下:
文档数据对比模块将LCS序列中的每个元素的行号与原始文件自定义结构数据序列与目标文件自定义结构数据序列中的元素的行号进行比较判断是否相同;
行号相同,直接将行内容送至显示模块显示,使用黑色字体颜色输出;
行号不同,就表明原始文件与目标文件做过修改或者删除操作,根据两个行号的差值绝对值来决定填补相应的空行至显示模块,同时将行内容送至显示模块显示,使用黑色字体颜色输出。
本发明所述的文档数据对比模块比较做了修改处的行内容,具体比较方法如下:
a.文档数据对比模块根据结果集序列中的每个元素,在原始文件自定义结构数据序列以及目标自定义结构数据序列中查找到与结果集序列中每个元素所对应的结构体数据;
b.对上述的原始文件自定义结构数据序列的结构体数据中的行文本数据信息与目标文件自定义结构数据序列的结构体数据中的行文本数据信息进行分析,分析数据是否具有以下格式信息:(1)以</开头;(2)以/>结尾;(3)不包含任何属性值;(4)包含有属性值;(5)是注释行;
c.文档数据对比模块将原始文件自定义结构数据序列中的结构体数据与目标文件自定义结构数据序列中的结构体数据分析出的信息进行拆分,拆分出每个信息中的标签名称、属性与值分别进行比较,如果分析出的两个信息不一致即以上所描述的格式不同,就认为这两行文本数据信息不一样,数据内容都以红色字体颜色送至显示模块显示;若分析出的两个信息格式相同,就对分析出相同的属性、值、标签名称进行比较,对于相同的着黑色字体颜色,不同的着红色字体颜色,同时送至显示模块显示;
d.循环上述步骤c,直到原始文件自定义结构数据序列与目标文件自定义结构数据序列中的所有元素都比较完成为止,最后显示模块中会分两块区域进行显示,红色字体内容表示修改过的,黑色字体内容表示相同的,空行表示删除过的行,并在显示区域中显示输出对应行号。
本发明与现有技术相比,通过智能变电站配置文件差异性比较系统,由过去的人工校对转为程序校对,提高了工作效率和准确性。
附图说明
图1是本发明系统结构框图。
图1-1是本发明系统的流程图。
图1-2是本发明求最大的LCS序列的总体流程图
图2是文件差异算法中初始化LCS表格图。
图2-1是文件差异算法中初始化LCS表格流程图
图3是文件差异算法中填充了基线条件的LCS表格图。
图4是文件差异算法中图填充了一半LCS表格图。
图5是文件差异算法中填充好的LCS表格图。
图5-1是文件差异算法中填充LCS表格的流程图。
图6是文件差异算法中填充满的LCS表格上回溯。
图6-1是文件差异算法中填充满的LCS表格上回溯求取LCS序列的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
本发明的智能变电站配置文件差异性比较系统,设置在一台个人电脑PC机上,该系统通过网络与存储在服务器数据库或者是直接读取移动存储器中的原始文件,将其与用户在现场(主控室)、服务器数据库或移动存储器中获取的通过其它智能变电站配置系统修改过的CID、CCD、SCL文件(目标文件)与原始文件进行比较,获得比较结果。
在本系统中,只能选择两个同类型的文件进行比较,一个是原始文件(未修改的文件),以.cid、.ccd、.scl为扩展名具有xml格式的文件;另一个是目标文件(即修改后的文件),以.cid、.ccd、.scl为扩展名具有xml格式的文件,以原始文件做参考,比较原始文件与目标文件的异同点。
如图1所示,所述智能变电站配置文件差异性比较系统包括:
显示模块,用于显示人机UI交互界面以显示文档数据对比模块的对比结果。
文档数据对比模块,将存储在服务器数据库或者是移动存储器中的原始文件中的每行行文本数据信息以及在现场(主控室)、服务器数据库或移动存储器中获取的目标文件中的每行行文本数据信息分别转换为结构体数据,并将其分别组合成原始文件自定义结构数据序列、目标文件自定义结构数据序列,将原始文件自定义结构数据序列、目标文件自定义结构数据序列进行求最大的LCS序列(最长公共子序列)并将最大的LCS序列分别与目标文档自定义结构数据序列以及原始文档自定义结构数据序列进行比较,排除原始文件自定义结构数据序列以及目标文件自定义结构数据序列中在最大的LCS序列中出现过的元素,得到的一个行内容不同的结果集序列;文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,将比对结果进行差异性着色后发送至显示模块输出显示。
存储模块,存储文档数据对比模块的对比结果,暂存转换后的原始文件自定义结构数据以及目标文件自定义结构数据,用户通过显示模块的界面选择将对比结果数据存储,对比结果数据的格式可以为.txt或.xls格式的文件。
服务器数据库,保存用户的原始对比文件以及目标对比文件。
本发明的智能变电站配置文件差异性比较方法,采用如下步骤实现:
本发明在对比前对于要比较的两个文件,首先需将每个文件以行的方式转为对应的结构数据序列并存储到计算机的内存中,便于后续求最大LCS序列。具体的智能变电站配置文件差异性比较方法如下:
步骤一,文档数据对比模块先将每个文件以行的方式转为对应的结构数据序列,它包括以下步骤,图1-1所示:
(1)文档数据对比模块将原始文件以及目标文件中的每一行文本数据信息分别转换为一个结构体数据(SDataStringInfo),它用于保存文件中一行文本数据信息的结构体数据(所述结构体数据包含如下信息:转换的数据在原始文件或目标文件中所在行号信息、转换的数据在原始文件与目标文件中对应行处相同文本信息、原始文件或目标文件中所在行号处的文本信息),依此类推,直到原始文件中的所有行的行文本数据信息均转换为结构体数据,目标文件中的所有行的行文本数据信息均转换为结构体数据;
(2)文档数据对比模块将原始文件中所有转换后的结构体数据按照转换的先后顺序组合成原始文件自定义结构数据序列;文档数据对比模块将目标文件中所有转换后的结构体数据按照转换的先后顺序组合成目标文件自定义结构数据序列;
(3)文档数据对比模块将转换后的原始文件自定义结构数据序列、目标文件自定义结构数据序列分别暂存在存储模块内。
步骤二,如图1-2所示,所述文档数据对比模块将转换后的原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行求最大的LCS序列,具体步骤如下:
(1)文档数据对比模块根据文档数据对比模块根据原始文件自定义结构数据序列与目标文件自定义结构数据序列,在计算机的内存中动态生成一个二维表(即整形矩阵)并进行初始化以及赋值,原始文件自定义结构数据序列中的元素个数作为二维表的总行数,目标文件自定义结构数据序列中的元素个数作为二维表的总列数。
如图2-1所示,所述步骤(1)中动态生成二维表并进行初始化的具体步骤如下:
a.文档数据对比模块将原始文件自定义结构数据序列中的每一个结构体数据的索引位置(指在自定义结构数据序列中的序号位置)分别与二维表中的每一个行号(行索引)一一对应(即原始文件自定义结构数据序列中的每一个结构体数据作为行号),目标文件自定义结构数据序列中的每一个结构体数据索引位置分别与二维表中的每一个列号(列索引)一一对应(即目标文件自定义结构数据序列中的每一个结构体数据作为列号);
b.文档数据对比模块动态创建二维表;
c.文档数据对比模块判断当前的二维表行索引(row)是否小于二维表的总行数,否则初始化结束,是则进入步骤d;
d.文档数据对比模块判断当前的二维表列索引(column)是否小于二维表的总列数,否则二维表的行索引(row)加1(当前的二维表的行索引的下一行),并且返回步骤c继续判断,是则进入步骤e;
e.文档数据对比模块对当前的二维表行索引(row)和列索引(column)处的元素值赋值0,并且当前的二维表的列索引(column)加1(当前的二维表的列索引的下一列),并返回步骤d,循环上述步骤,直到二维表中的每个元素均赋予初值。
(注:由于在程序设计语言中,序列或集合的第一个元素是用序号0来表示,故图2中多空出了一行一列是为了保持数学中序号从1开始一致),并对二维表中的每个元素(即二维表中的单元格)均赋予初值0。
(2)填充二维表,文档数据对比模块将原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行一次顺序比较,并将比较结果更新至二维表中。
如图5-1所示,所述步骤(2)中两个序列的一次顺序比较方法采用以下步骤实现:
a.文档数据对比模块从原始文件自定义结构数据序列中的第一个结构体数据开始,取原始文件自定义结构数据序列中的第m个结构体数据(m为当前行的原始文件自定义结构数据序列的结构体数据在二维表的行索引)与目标文件自定义结构数据序列中的每n个结构体数据(即从目标文件自定义结构数据序列中的第一个结构体数据开始,n为当前列的目标文件自定义结构数据序列的结构体数据在二维表的列索引)进行比较,将原始文件自定义结构数据序列中的所有结构体数据与目标文件自定义结构数据序列中的所有结构体数据都比较一遍;
b.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据的行索引是否小于二维表的行总数,否则结束;是则进入步骤c;
c.文档数据对比模块判断目标文件自定义结构数据序列的第n个结构体数据的列索引n是否小于二维表的列总数,否则原始文件自定义结构数据序列的第m个结构体数据的行索引m递增加1(即当前行的结构体数据在二维表的行索引中的元素值加1)并返回步骤b,是则进入步骤d;
d.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据是否等于目标文件自定义结构体数据序列的第n个结构体数据,即这两个结构体数据中保存的文本信息去掉尾部空格后是否一样;
是则二维表中的第m行第n列处的元素的值更新为在二维表中第m-1行第n-1列的值加1,并将结果更新至二维表中;
否则二维表中的第m行第n列处元素的值更新为二维表第m-1行n列或第m行n-1列中元素,取两个元素中值最大的一个,并将结果更新至二维表中,列索引n递增加1(当前列索引的值加1)并返回步骤d。
(3)根据填充的二维表,文档数据对比模块二次逆序比较原始文件自定义序列与目标文件自定义序列,求取LCS序列。
当二维表更新完成后,根据二维表中的数据,进行二次逆序比较,此次比较与一次比较的不同之处在于比较的次序为由最后一个数据开始,如图6-1所示,步骤(3)中二次逆序比较的具体方法如下:
a.文档数据对比模块从二维表的最后一行的行索引x以及从二维表的最后一列的列索引y开始(x为二维表的最后一行的行号,y为二维表的最后一列的列号),并将行索引x所对应的在二维表中的行号以及列索引y所对应的在二维表中的列号均减1后进入步骤b;;
b.文档数据对比模块循环判断二维表行索引x以及二维表的列索引y是否均大于等于1(将二维表中的所有行索引和列索引都比较一次,大于等于1指的是行号或列号大于1);否则生成一个空LCS序列(即没有任何数据),LCS序列进行逆序(序列是按顺序存储的,逆序就是将序列中第一个位置的元素放到最后的位置,原来最后一个位置的元素放到第一个的位置,以此类推,序列中所有元素按照这样规则改变位置关系)并结束;是则进步骤c;
c.文档数据对比模块判断行索引x所对应的在原始文件自定义结构数据序列中的结构体数据与列索引y所对用的在目标文件自定义结构数据序列中的结构体数据的行文本数据信息内容是否一样;是则文档数据对比模块生成一个临时自定义结构体数据SDataStringInfo暂存在存储模块中,并对该临时自定义结构体数据SDataStringInfo中的每个成员进行赋值,具体的赋值方式如下:即临时自定义结构体数据中的srcPosLine等于原始文件自定义结构数据序列中第x个数据中srcPosLine的值,临时自定义结构体数据中的tagPosLine等于目标文件自定义数据结构序列中第y个数据中tagPosLine的值,临时自定义结构体数据中的srcString等于原始文件自定义结构数据序列第x个数据中srcString的值,临时自定义结构体数据中的tagString等于目标文件自定义结构数据序列第y个数据中tagSting的值;将生成的临时自定义结构体数据SDataStringInfo添加到LCS序列(LCS序列初始化为一个空集序列,是保存SDataStringInfo类型数据的一个集合序列)中,并返回步骤b否则进入步骤d;
d.文档数据对比模块判断二维表的第x-1行(行索引)y列(列索引)处的元素的值是否小于等于第x行(行索引)y-1列(列索引)的元素的值,是则将二维表第y(列索引)列中的元素的值更新为y-1列的元素的值(列索引指y,列索引递减表示y=y-1)并且返回步骤b;否则进入步骤e;
e.文档数据对比模块将二维表中第x行(行索引)中的元素的值更新为x-1行(行索引)的元素的值,并返回步骤b,直到x>=1和y>=1判断条件不成立时停止,这两判断条件满足其一即停止循环,得到结果集,文档数据对比模块将结果集进行逆序后结束,得到最大的LCS序列,文档数据对比模块将最大的LCS序列保存在存储模块中。
逆序比较需要将原始文件自定义结构数据序列中的所有结构体数据与目标文件自定义结构数据序列中的所有结构体数据比较一次。
二次比较采用的方式为逆序比较原始文件自定义结构数据序列与目标文件自定义结构数据序列中结构体数据的行文本数据信息,由x、y的值决定原始文件自定义结构数据序列与目标文件自定义结构数据序列中的哪两个结构体数据进行比较,x、y表示原始文件或目标文件自定义结构数据序列中结构体数据的序号,即序列中的第几个结构体数据,x、y的值是动态变化的。
最终将求取的结果集进行逆序(结果集指逆序前的LCS序列,逆序就是将原有序列中最后一个元素放到第一个位置,依次类推),得到最大的LCS序列(图6所示)。
所述临时自定义结构体数据的成员包括如下信息:相同文本行信息(即原始文件与目标文件中对应行处相同的文本信息)、在原始文件中所在行号、在目标文件中所在行号、在原始文件中所在行号处的文本信息、在目标文件中所在行号处的文本信息,其中该临时自定义结构体数据SDataStringInfo中的相同文本行信息,即原始文件与目标文件中对应行处相同的文本信息(commonString值)为原始文件自定义结构序列中第x个结构体数据的相同的文本信息,在原始文件中所在行号信息(srcPosLine值)为原始文件自定义结构数据序列中第x个结构体数据中在原始文件中所在行号信息(原始文件自定义结构数据序列中第x个结构体数据的srcPosLine值),在目标文件中所在行号信息(tgtPosLine值)为目标文件自定义结构数据序列中第y个结构体数据中的在目标文件中所在行号信息(目标文件自定义结构数据序列中第y个结构体数据的tgtPosLine值),在原始文件中所在行号处的文本信息(srcString值)为原始文件自定义结构数据序列中第x个结构体数据中的在原始文件中所在行号处的文本信息(原始文件自定义结构数据序列中第x个结构体数据srcString值),在目标文件中所在行号处的文本信息(decString值)为目标文件自定义结构数据序列中第y个结构体数据中的在目标文件中所在行号处的文本信息(目标文件自定义结构数据序列中第y个结构体数据的decString值)。
取得最大的LCS序列后,将原始文件自定义结构数据序列以及目标文件自定义结构数据序列中在最大的LCS序列中出现过的元素(即临时自定义结构体数据)均排除,得到的一个差集,即行内容不同的结果集序列。
所述文档数据对比模块将LCS序列、原始文件自定义结构数据序列、目标文件自定义结构数据序列按行比较输出,这三个序列(原始文件自定义结构数据、目标文件自定义结构数据和临时自定义结构体数据)中的每个元素都记录了行号与行内容。
LCS序列中保存的数据是原始文件自定义结构数据序列与目标文件自定义结构数据序列中相同的部分,LCS序列中的每个元素(即每个临时自定义结构体数据)都记录了在原始文件中所在的行与目标文件中所在的行。
步骤三,文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,比较输出方法如下:
文档数据对比模块将LCS序列中的每个元素的行号与原始文件自定义结构数据序列与目标文件自定义结构数据序列中的元素的行号进行比较判断是否相同;
行号相同,直接将行内容送至显示模块显示,使用黑色字体颜色输出;
行号不同,就表明原始文件与目标文件做过修改或者删除操作,根据两个行号的差值绝对值(即LCS序列中的每个元素都记录了在原始文件中所在的行与目标文件中所在的行,原始文件行号减去目标文件行号,得到的差值取绝对值)来决定填补相应的空行至显示模块,同时将行内容送至显示模块显示,使用黑色字体颜色输出。
所述文档数据对比模块比较做了修改处的行内容,具体比较方法如下:
a.文档数据对比模块根据结果集序列中的每个元素,在原始文件自定义结构数据序列以及目标自定义结构数据序列中查找到与结果集序列中每个元素所对应的结构体数据;
b.对上述的原始文件自定义结构数据序列的结构体数据中的行文本数据信息与目标文件自定义结构数据序列的结构体数据中的行文本数据信息进行分析,分析数据是否具有以下格式信息:(1)以</开头;(2)以/>结尾;(3)不包含任何属性值;(4)包含有属性值;(5)是注释行;
由于.cid、.ccd、.scl为扩展名的文件具有xml格式,xml格式文件每行内容都是以类似“<recip type=”dessert”>”形式出现,把recip称为标签名,type称为属性,dessert称为值。
c.文档数据对比模块将原始文件自定义结构数据序列中的结构体数据与目标文件自定义结构数据序列中的结构体数据分析出的信息进行拆分,拆分出每个信息中的标签名称、属性与值分别进行比较,如果分析出的两个信息不一致即以上所描述的格式不同,就认为这两行文本数据信息不一样,数据内容都以红色字体颜色送至显示模块显示;若分析出的两个信息格式相同,就对分析出相同的属性、值、标签名称进行比较,对于相同的着黑色字体颜色,不同的着红色字体颜色,同时送至显示模块显示;
d.循环上述步骤c,直到原始文件自定义结构数据序列与目标文件自定义结构数据序列中的所有元素都比较完成为止,最后显示模块中会分两块区域进行显示,红色字体内容表示修改过的,黑色字体内容表示相同的,空行表示删除过的行,并在显示区域中显示输出对应行号,比对结果非常明了显而易见。
本发明主要是运用动态编程有效求取最大公共子序列(即LCS)。首先,考虑如何递归计算LCS。令:
●C1是S1最右侧的字符
●C2是S2最右侧的字符
●S1’是S1中“切掉”C1的部分
●S2’是S2中“切掉”C2的部分
有三个递归子问题:
●L1=LCS(S1’,S2)
●L2=LCS(S1,S2’)
●L3=LCS(S1’,S2’)
结果表明原始问题的解就是三个子序列中最长的一个:(1)L1;(2)L2;(3)如果C1等于C2,则为L3后端加上C1,如果C1不等于C2,则为L3。
如图2所示,本发明的智能变电站配置文件差异性比较系统,首先构建一表格,用其保存部分结果,沿着顶部列出一个序列,再沿着左侧从上到下列出另一个序列。这种方法的思路是:将从上向下、从左到右填充表格,每个单元格包含一个数字,代表该行和该列之前的两个字符串的LCS的长度。也就是说,每个单元格包含原始问题的一个字问题的解。例如,请看第六行第七列的单元格:它在GCGCAATA序列第二个C的右侧,在GCCCTAGCG的T的下面,这个单元格最终包含的数字是GCGC和GCCCT的LCS长度。
如图3所示,表格的第2行中的条目。这一行的单元格保存的LCS长度对应的是序列GCGCAATA的零长前端和序列GCCCTAGCG的LCS。显然这些值都是0.类似的,沿着第2列向下的值也都是0,这样递归解的条件一致。
如图4和图5所示,要实现与递归算法中递归子问题对应的情景,这时使用的是表格中填充的值。在填充单元格时,需考虑以下条件:1)它左侧单元格2)它上面的单元格3)它左上侧的单元格。下面三个值分别对应着前面列出的三个递归子问题返回的值:1)V1=左侧单元格的值;2)V2=上面单元格的值;3)V3=左上侧单元格的值。
在空单元格中填充下面3个数字中的最大值:
●V1
●V2
●如果C1等于C2则为V3+1,如果C1不等于C2,则为V3,其中C1是当前单元格上
面的字符,C2是当前单元格左侧的字符
表格中的每个单元格都包含单元格所在行上面和所在列左侧序列和前端序列问题的解。
如图6所示,寻找实际的LCS。使用单元格箭头进行回溯可以完成。在构建表格的时候,如果箭头指向上侧的单元格,那么当前单元格中的值要比左上侧单元格的值大1,这意味着左侧单元格和上面单元格中字符相等。构建LCS时,这会将相应的字符添加到LCS中。所以构建LCS的途径就是从右下角的单元格开始,沿着箭头一路返回。每当沿着对角箭头回到左上角的单元格而且该单元格的值比当前单元格的值小1时,就要将对应的公共字符添加到正在构建的LCS的前端。以此类推,继续构建LCS的前端,从右下侧的单元格开始,看到单元格指针指向上侧的单元格,而且当前单元格的值比其左上侧单元格值大1。所以讲字符G添加到最初的零长度的字符串之前。下一个箭头,从包含4的单元格开始,也指向左上侧,但是值没有变。接着这个箭头也是如此。下一个单元格.的箭头还是指向左上侧,但是这次值从3变为4.这意味着需要将这一行和这一列中的公共字符A添加到LCS中。所以现在的LCS是AG。接下来,沿着指针向左(对应着跳过上面的T)到达另一个3,然后又一个对角指针指向2,因此有添加了在当前列中公共字符C,生成的LCS为CAG。继续使用这种方式,直到最后到达0。图5显示了整个回溯过程。通过这种回溯方法,得到的LCS为GCCAG。
C++算法代码实现:
程序中自定义的结构体数据的实现代码:
求取最大公共子序列函数的实现代码:

Claims (9)

1.一种智能变电站配置文件差异性比较系统,其特征在于:该系统包括:
显示模块,用于显示人机UI交互界面以显示文档数据对比模块的对比结果;
文档数据对比模块,将存储在服务器数据库或者是移动存储器中的原始文件中的每行行文本数据信息以及在现场、服务器数据库或移动存储器中获取的目标文件中的每行行文本数据信息分别转换为结构体数据,并将其分别组合成原始文件自定义结构数据序列、目标文件自定义结构数据序列,将原始文件自定义结构数据序列、目标文件自定义结构数据序列进行求最大的LCS序列并将最大的LCS序列分别与目标文档自定义结构数据序列以及原始文档自定义结构数据序列进行比较,排除原始文件自定义结构数据序列以及目标文件自定义结构数据序列中在最大的LCS序列中出现过的元素,得到的一个行内容不同的结果集序列;文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,将比对结果进行差异性着色后发送至显示模块输出显示;
存储模块,存储文档数据对比模块的对比结果,暂存转换后的原始文件自定义结构数据以及目标文件自定义结构数据,用户通过显示模块的界面选择将对比结果数据存储;
服务器数据库,保存用户的原始对比文件以及目标对比文件。
2.根据权利要求1所述的智能变电站配置文件差异性比较系统,其特征在于:所述对比结果数据的格式为.txt或.xls格式的文件。
3.根据权利要求1所述的智能变电站配置文件差异性比较系统,其特征在于:文档数据对比模块将每个文件以行的方式转为对应的结构数据序列,包括以下步骤:
(1)文档数据对比模块将原始文件以及目标文件中的每一行文本数据信息分别转换为一个结构体数据,依此类推,直到原始文件中的所有行的行文本数据信息均转换为结构体数据,目标文件中的所有行的行文本数据信息均转换为结构体数据;
(2)文档数据对比模块将原始文件中所有转换后的结构体数据按照转换的先后顺序组合成原始文件自定义结构数据序列;将目标文件中所有转换后的结构体数据按照转换的先后顺序组合成目标文件自定义结构数据序列;
(3)文档数据对比模块将转换后的原始文件自定义结构数据序列、目标文件自定义结构数据序列分别暂存在存储模块内。
4.根据权利要求1所述的智能变电站配置文件差异性比较系统,其特征在于:文档数据对比模块将转换后的原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行求最大的LCS序列,包括如下步骤:
(1)文档数据对比模块根据文档数据对比模块根据原始文件自定义结构数据序列与目标文件自定义结构数据序列,在计算机的内存中动态生成一个二维表并进行初始化以及赋值,原始文件自定义结构数据序列中的元素个数作为二维表的总行数,目标文件自定义结构数据序列中的元素个数作为二维表的总列数;
(2)填充二维表,文档数据对比模块将原始文件自定义结构数据序列以及目标文件自定义结构数据序列进行一次顺序比较,并将比较结果更新至二维表中;
(3)根据填充的二维表,文档数据对比模块二次逆序比较原始文件自定义序列与目标文件自定义序列,求取LCS序列。
5.根据权利要求4所述的智能变电站配置文件差异性比较系统,其特征在于:文档数据对比模块动态生成二维表并进行初始化包括如下步骤如下:
a.文档数据对比模块将原始文件自定义结构数据序列中的每一个结构体数据的索引位置分别与二维表中的每一个行号一一对应,目标文件自定义结构数据序列中的每一个结构体数据索引位置分别与二维表中的每一个列号一一对应;
b.文档数据对比模块动态创建二维表;
c.文档数据对比模块判断当前的二维表行索引是否小于二维表的总行数,否则初始化结束,是则进入步骤d;
d.文档数据对比模块判断当前的二维表列索引是否小于二维表的总列数,否则二维表的行索引加1,并且返回步骤c继续判断,是则进入步骤e;
e.文档数据对比模块对当前的二维表行索引和列索引处的元素值赋值0,并且当前的二维表的列索引加1,并返回步骤d,循环上述步骤,直到二维表中的每个元素均赋予初值。
6.根据权利要求4所述的智能变电站配置文件差异性比较系统,其特征在于:文档数据对比模块一次顺序比较包括如下步骤:
a.文档数据对比模块从原始文件自定义结构数据序列中的第一个结构体数据开始,取原始文件自定义结构数据序列中的第m个结构体数据与目标文件自定义结构数据序列中的每n个结构体数据进行比较,将原始文件自定义结构数据序列中的所有结构体数据与目标文件自定义结构数据序列中的所有结构体数据都比较一遍;
b.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据的行索引是否小于二维表的行总数,否则结束;是则进入步骤c;
c.文档数据对比模块判断目标文件自定义结构数据序列的第n个结构体数据的列索引n是否小于二维表的列总数,否则原始文件自定义结构数据序列的第m个结构体数据的行索引m递增加1并返回步骤b,是则进入步骤d;
d.文档数据对比模块判断原始文件自定义结构数据序列的第m个结构体数据是否等于目标文件自定义结构体数据序列的第n个结构体数据,即这两个结构体数据中保存的文本信息去掉尾部空格后是否一样;
是则二维表中的第m行第n列处的元素的值更新为在二维表中第m-1行第n-1列的值加1,并将结果更新至二维表中;
否则二维表中的第m行第n列处元素的值更新为二维表第m-1行n列或第m行n-1列中元素,取两个元素中值最大的一个,并将结果更新至二维表中,列索引n递增加1并返回步骤d。
7.根据权利要求4所述的智能变电站配置文件差异性比较系统,其特征在于:文档数据对比模块二次逆序比较包括如下步骤:
a.文档数据对比模块从二维表的最后一行的行索引x以及从二维表的最后一列的列索引y开始,并将行索引x所对应的在二维表中的行号以及列索引y所对应的在二维表中的列号均减1后进入步骤b;
b.文档数据对比模块循环判断二维表行索引x以及二维表的列索引y是否均大于等于1;否则生成一个空LCS序列,LCS序列进行逆序并结束;是则进步骤c;
c.文档数据对比模块判断行索引x所对应的在原始文件自定义结构数据序列中的结构体数据与列索引y所对用的在目标文件自定义结构数据序列中的结构体数据的行文本数据信息内容是否一样;是则文档数据对比模块生成一个临时自定义结构体数据暂存在存储模块中,并对该临时自定义结构体数据中的每个成员进行赋值;将生成的临时自定义结构体数据添加到LCS序列中,并返回步骤b否则进入步骤d;
d.文档数据对比模块判断二维表的第x-1行y列处的元素的值是否小于等于第x行y-1列的元素的值,是则将二维表第y列中的元素的值更新为y-1列的元素的值并且返回步骤b;否则进入步骤e;
e.文档数据对比模块将二维表中第x行中的元素的值更新为x-1行的元素的值,并返回步骤b,直到x>=1和y>=1判断条件不成立时停止,这两判断条件满足其一即停止循环,得到结果集,文档数据对比模块将结果集进行逆序后结束,得到最大的LCS序列,文档数据对比模块将最大的LCS序列保存在存储模块中。
8.根据权利要求1所述的智能变电站配置文件差异性比较系统,其特征在于:所述文档数据对比模块将最大的LCS序列以及结果集序列分别与原始文件自定义结构数据序列和目标文件自定义结构数据序列分别进行对比,得到比对结果,比较输出方法如下:
文档数据对比模块将LCS序列中的每个元素的行号与原始文件自定义结构数据序列与目标文件自定义结构数据序列中的元素的行号进行比较判断是否相同;
行号相同,直接将行内容送至显示模块显示,使用黑色字体颜色输出;
行号不同,就表明原始文件与目标文件做过修改或者删除操作,根据两个行号的差值绝对值来决定填补相应的空行至显示模块,同时将行内容送至显示模块显示,使用黑色字体颜色输出。
9.根据权利要求8所述的智能变电站配置文件差异性比较系统,其特征在于:所述文档数据对比模块比较做了修改处的行内容,具体比较方法如下:
a.文档数据对比模块根据结果集序列中的每个元素,在原始文件自定义结构数据序列以及目标自定义结构数据序列中查找到与结果集序列中每个元素所对应的结构体数据;
b.对上述的原始文件自定义结构数据序列的结构体数据中的行文本数据信息与目标文件自定义结构数据序列的结构体数据中的行文本数据信息进行分析,分析数据是否具有以下格式信息:(1)以</开头;(2)以/>结尾;(3)不包含任何属性值;(4)包含有属性值;(5)是注释行;
c.文档数据对比模块将原始文件自定义结构数据序列中的结构体数据与目标文件自定义结构数据序列中的结构体数据分析出的信息进行拆分,拆分出每个信息中的标签名称、属性与值分别进行比较,如果分析出的两个信息不一致即以上所描述的格式不同,就认为这两行文本数据信息不一样,数据内容都以红色字体颜色送至显示模块显示;若分析出的两个信息格式相同,就对分析出相同的属性、值、标签名称进行比较,对于相同的着黑色字体颜色,不同的着红色字体颜色,同时送至显示模块显示;
d.循环步骤c,直到原始文件自定义结构数据序列与目标文件自定义结构数据序列中的所有元素都比较完成为止,最后显示模块中会分两块区域进行显示,红色字体内容表示修改过的,黑色字体内容表示相同的,空行表示删除过的行,并在显示区域中显示输出对应行号。
CN201610712218.9A 2016-08-24 2016-08-24 智能变电站配置文件差异性比较系统 Active CN106372040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610712218.9A CN106372040B (zh) 2016-08-24 2016-08-24 智能变电站配置文件差异性比较系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610712218.9A CN106372040B (zh) 2016-08-24 2016-08-24 智能变电站配置文件差异性比较系统

Publications (2)

Publication Number Publication Date
CN106372040A CN106372040A (zh) 2017-02-01
CN106372040B true CN106372040B (zh) 2019-03-12

Family

ID=57879009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610712218.9A Active CN106372040B (zh) 2016-08-24 2016-08-24 智能变电站配置文件差异性比较系统

Country Status (1)

Country Link
CN (1) CN106372040B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134467B (zh) * 2018-02-08 2021-11-02 中兴通讯股份有限公司 参数配置的处理方法、装置、存储介质及处理器
CN108804131B (zh) * 2018-04-25 2022-03-04 天津卓盛云科技有限公司 一种两配置文件的对比算法
CN111090982A (zh) * 2018-10-24 2020-05-01 迈普通信技术股份有限公司 文本比较方法、装置、电子设备及计算机可读存储介质
CN109597913B (zh) * 2018-11-05 2021-01-29 东软集团股份有限公司 对齐文档图片的方法,装置,存储介质和电子设备
CN109684437B (zh) * 2018-11-16 2020-10-30 东软集团股份有限公司 用于文件比较的内容对齐方法、装置、存储介质和设备
CN109710896B (zh) * 2018-11-30 2023-11-28 东软集团股份有限公司 文字属性差异标记方法,装置,存储介质及电子设备
CN109740124A (zh) * 2018-12-25 2019-05-10 东软集团股份有限公司 文档比较的差异输出方法、装置、存储介质及电子设备
CN109815446B (zh) * 2018-12-28 2023-04-07 东软集团股份有限公司 页边界处理方法、装置、存储介质和电子设备
CN109740125B (zh) * 2018-12-28 2023-06-27 东软集团股份有限公司 用于文件比较的更新查找方法、装置、存储介质和设备
CN111414738B (zh) * 2019-01-04 2024-05-07 珠海金山办公软件有限公司 一种信息分析的方法、装置、计算机存储介质及终端
CN113268959B (zh) * 2021-05-25 2024-05-03 北京北大方正电子有限公司 文档处理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218398A (zh) * 2013-03-13 2013-07-24 江苏省电力公司电力科学研究院 智能变电站scl文件差异性比较方法
CN103578048A (zh) * 2013-11-13 2014-02-12 国家电网公司 一种对智能变电站scl文件配置相关信息校核及比对方法
CN102867274B (zh) * 2012-07-27 2014-04-16 江苏省电力公司电力科学研究院 智能变电站scl配置文件管理及图形化显示系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867274B (zh) * 2012-07-27 2014-04-16 江苏省电力公司电力科学研究院 智能变电站scl配置文件管理及图形化显示系统
CN103218398A (zh) * 2013-03-13 2013-07-24 江苏省电力公司电力科学研究院 智能变电站scl文件差异性比较方法
CN103578048A (zh) * 2013-11-13 2014-02-12 国家电网公司 一种对智能变电站scl文件配置相关信息校核及比对方法

Also Published As

Publication number Publication date
CN106372040A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN106372040B (zh) 智能变电站配置文件差异性比较系统
CN100461155C (zh) 一种字符输入显示方法及系统
CN101025738B (zh) 一种免模板动态网站生成方法
EP0727734B1 (en) Method of automatically generating operation buttons for computer processing
US6721451B1 (en) Apparatus and method for reading a document image
CN110334346A (zh) 一种pdf文件的信息抽取方法和装置
CN104598635B (zh) 一种基于xml描述的复杂文档自动生成方法
US20020165707A1 (en) Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers
US10713424B2 (en) Automated document content modification
US11599727B2 (en) Intelligent text cleaning method and apparatus, and computer-readable storage medium
CN105045583B (zh) 一种基于可视化流程的ietm故障类数据模块创作装置及其创作方法
CN106648608A (zh) 一种灵活方便的流程图构建方法
CN107422941A (zh) 交互方法和系统
CN107741972A (zh) 一种图片的搜索方法、终端设备及存储介质
CN101520693A (zh) 一种批量信息快速输入的方法及系统
CN111104525A (zh) 一种基于图数据库的建筑设计规范知识图谱构建方法
CN102982028A (zh) 用于提取文档结构的方法和装置
CN110020312A (zh) 提取网页正文的方法和装置
CN111209362A (zh) 基于深度学习的地址数据解析方法
CN113761202A (zh) 一种将非结构金融Excel表格映射到数据库的优化系统
US9158507B2 (en) Domain transformation languages
CN113608903A (zh) 一种基于xml语言的故障管理方法
CN110362691B (zh) 一种句法树库构建系统
US8291313B1 (en) Generation of a container hierarchy from a document design
JP6994138B2 (ja) 情報管理装置並びにファイル管理方法

Legal Events

Date Code Title Description
C06 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