CN105868043A - 一种可视化页面程序修改一致性校验方法 - Google Patents

一种可视化页面程序修改一致性校验方法 Download PDF

Info

Publication number
CN105868043A
CN105868043A CN201610179391.7A CN201610179391A CN105868043A CN 105868043 A CN105868043 A CN 105868043A CN 201610179391 A CN201610179391 A CN 201610179391A CN 105868043 A CN105868043 A CN 105868043A
Authority
CN
China
Prior art keywords
page
variable
input
output
symbol
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
Application number
CN201610179391.7A
Other languages
English (en)
Other versions
CN105868043B (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.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering 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 NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201610179391.7A priority Critical patent/CN105868043B/zh
Publication of CN105868043A publication Critical patent/CN105868043A/zh
Application granted granted Critical
Publication of CN105868043B publication Critical patent/CN105868043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种可视化页面程序修改一致性校验方法:根据可视化页面内符号间输入输出数据流关系和数据类型信息,形成页面的中间信息文本。中间信息文本由该页面对外输入的输出变量名、变量类型,相关符号的输入、输出形参类型和参数设置值,输出变量的数据流调用表达式等关键内容拼接组成,基于中间信息文本计算形成CRC,作为页面的特征码,通过比较厂家内部修改页面、现场工程修改页面之间的特征码,给出页面程序修改是否一致的结果,该方法可有效解决由于位置偏差、中间变量命名不同、非相关连接子网络顺序变化等原因导致的页面文件不同,但实际功能一致时误判为不一致的问题。

Description

一种可视化页面程序修改一致性校验方法
技术领域
本发明属于可视化编程领域,具体涉及一种可视化页面程序修改一致性校验方法。
背景技术
已经投运的直流输入控制保护、柔性输电保护工程,存在新的需求时,需要修改部分可视化页面程序。首先是研发人员在厂家内修改相关程序,在厂家内做完相关试验并经过审核评审后,将修改过的页面、修改步骤文档发给现场。之后技术支持人员从现场程序服务器签出需要修改的页面,根据修改说明步骤,进行修改和编译,下载到装置。现场服务器是网络隔离的,不允许USB等端口操作,不允许直接用厂家修改的文件覆盖相关内容,这就存在研发修改的页面和现场修改的页面是否修改一致的问题,需要有校验的手段。
常规的方法是比较可视化页面文件或产物文件。由于可视化绘制时,只要有一点位置偏差,页面存储的文件必然不同,故没有可行性。而比较产物的方法,是将可视化页面形成代码,将代码编译形成的HEX文件,比较HEX文件是否一致。然而,在绘制修改页面时,不能确保厂家内、现场新建、删除连接线的顺序前后一致,当中间连接线变量名是根据一定规则在绘制阶段自动命名时,连接线的命名由于绘制顺序不一致产生不同,故形成的连接变量名可能不同,导致形成的C代码产物或编译后的目标文件可能是不同的。而现场用户希望在编译前就能校验两者页面的一致性,并能排除中间变量命名、无关联关系的符号位置变化的无效差异,故通过比较产物的方式是行不通的。
故需提供一种可视化页面程序修改一致性校验方法,尚未有文献阐述基于中间信息文本计算提取特征码进行比较的方法,本案由此产生。
发明内容
本发明的目的是通过分析可视化页面程序内容,转换为中间信息文本,计算得到CRC特征码,进行页面的一致性比较,即能去除中间变量名、无关联关系符号位置差异的同时,又能有效比较出页面实质内容发生变化。为了达成上述目的,本发明提供一种可视化页面程序一致性校验方法,其特征在于根据可视化页面内符号间输入输出数据流关系和数据类型信息,形成输出变量的数据流调用表达式和变量类型和初始值等中间信息文本,基于中间信息文本计算形成CRC,作为页面的特征码,通过比较厂家内部修改页面、现场工程修改页面之间的特征码,给出页面程序修改是否一致的结果。
所述中间信息文本的具体形成过程包括,
1、解析可视化页面文件,读取编程符号和连接信息;
2、根据连接信息,形成符号的输入-输出数据流依赖关系,形成有向无环网络;
3、提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列;
4、设定i=1,N=输出变量个数;
5、以输出变量Outi为终止点,按照广度优先算法前向回溯前驱符号的各个分支,直至回溯到输入变量或输入为0的变量;
6、汇总各分支回溯路径中的符号名、符号的输入-输出名,得到输出变量的调用计算表达式和辅助设置信息,拼接形成字符文本段Si
7、迭代计算i=i+1,若i<=N则重复步骤5-7;
8、将排序后的各个输出变量的文本段汇总形成页面的中间信息文本S=S1+S2+…+SN
作为本发明的进一步优选方案,步骤6中,所述辅助设置信息包括:路径中各符号的输入和输出变量类型、变量初始值、参数设置名和设置值。
作为本发明的进一步优选方案,所述可视化页面文件的编程符号包括输入块、输出块、功能函数块、连接线。
作为本发明的进一步优选方案,所述中间信息文本不包括连接线变量名,排除内部连接线命名不同时误报不一致的情况。
作为本发明的进一步优选方案,步骤5中,基于数据流依赖关系进行反向广度优先遍历,排除独立连接网络整体位置调换时,误报不一致的情况。
作为本发明的进一步优选方案,基于输出变量名进行降序排列,并记录该变量名从输入变量到输出变量整个分支路径的关键信息,进而检测出连接关系变化、调用顺序变化、功能函数变化、变量初始值变化、变量类型变化等。
采用上述方案后,本发明具有如下有益效果:针对用户网络安全管理的规定和章程,页面程序经过研发人员、现场技术支持人员的2次修改,能用一种自动化的方法得出修改是否一致可信的结论,避免了基于页面文件、产物C代码、二进制目标文件进行比较时,误报不一致的问题,可有效过滤页面中间变量名变化、非关联子网络位置变化的差异,并能有效判断出输出变量调用链的函数、变量类型、初始值不同的差异,从而提高了可视化工程的防误校验能力,提高了工程实施的可靠性,已经在多个直流输入控制保护、柔性输电保护工程进行了批量应用,通过了实践检验,确保了可视化页面程序升级的有效性、一致性。
附图说明
图1 是可视化页面程序修改一致性校验方法;
图2 是输出变量中间信息文本形成示意图;
图3 独立子网络位置变化一致性等价示例图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。可视化页面程序修改一致性校验方法和步骤如图1所示:计算厂家修改的可视化页面A的中间信息文本和CRC1;计算现场技术支持人员修改的页面A’和32为CRC2,通过比较CRC1和CRC2是否一致,得出页面修改一致性的结论。其中形成页面的中间信息文本是关键步骤,具体实施如下:
1)读取可视化页面文件,包括输入符号、输出符号、功能函数符号、连接线等符号数据;
2)通过连接线记录的连接起始端符号ID、连接终止符号ID、连接起始变量名、连接终止变量名,形成基于图论结构的输入输出的网状关系,每条连接线记录起始符号、终止符号、起始连接点、终止连接点的数据指针,每个符号的连接点记录与之相连接的连接线指针;
3)根据连接线连接关系和指针双向记录结构,形成符号的输入-输出数据流依赖关系,根据数据流关系,形成有向无环的AOV等价网络;即页面可视为M个输入、N个输出的黑盒子,内部的功能函数网状连接形成。则通过汇总输出变量的计算表达式和辅助信息,可得到等价中间信息文本;
4)提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列(依次比较每位ASCII字符的数值,相同条件下短名字优先,例如ABC>ABCD);
5)设置循环变量i=1, 并置N=输出变量个数;
6)依次取出排序后的输出变量,以输出变量Outi为终止点,前向回溯前驱符号的各个分支路径,按照广度优先算法完成前向回溯,直至回溯到输入变量或输入为0的变量;
7)汇总各分支回溯路径中的符号名、符号的输入-输出名,逐级替换,得到输出变量的调用计算表达式和辅助设置信息。辅助设置信息包括分支路径中各符号的输入和输出变量类型、变量初始值、参数设置名和设置值),拼接形成字符文本段Si
8)i=i+1;
9)i<=N则重复步骤6)到步骤8 ;
10) 将排序后的各个输出变量的文本段汇总形成页面的中间信息文本S=S1+S2+…+SN
如图2所示,输出变量Out1前驱是OR2, 则遍历L1时,可得到式1:Out1=XOR2.b1XOR2.b1=XOR2( XOR2.a1, XOR2.a2)。
之后遍历XOR2的2个输入连接线L2,L3,可得到:式2:XOR2.a1=AND3.b1
XOR2.a2=OR3.b1。代入式1可得到式3:Out1= XOR2(AND3.b1, OR3.b1)
再遍历 AND3的输入连接线L4、L5、L6,OR3的输入连接线L7、L8、L9,可得:
式4:AND3.b1=AND3(AND3.b1, AND3.b2, AND3.b3)
AND3.b1=AND3(In1, In2, In3)
式5: OR3.b1 =OR3(OR3.b1, OR3.b2, OR3.b3)
OR3.b1=OR3(In4, In5, In6)
代入到式3,可得到Out1的计算表达式为:
Out1= XOR2( AND3(In1,In2,In3),OR3(In4, In5,In6) );
假设各个符号的变量类型为char、初始值为0,则辅助信息为:
In1.type=char,In2.type=char,In3.type=char Out1.type=char
AND3.a1.type=char,…XOR2.b1.type=char;
AND3.b1.init=0; OR3.b1.init=0; XOR3.init=0;
最终输出变量的中间信息文本不包括连接线变量名,可排除内部连接线命名不同时误报不一致的情况。中间辅助信息记录该变量名从输入变量到输出变量整个分支路径的关键信息,能有效检测出连接关系变化、调用顺序变化、功能函数变化、变量初始值变化、变量类型变化等差异。
基于数据流依赖关系进行反向广度优先遍历,可排除若干独立连接网络(无数据流交互)整体位置调换时,误报不一致的情况,如图3所示,Out1、Out2是没有关联关系的独立子网络,则子网络调整绘制顺序时,基于变量名降序进行文本段拼接后中间信息文本一致,故视为等价、一致的页面。
逐个遍历汇总各个输出变量的中间信息,拼接为页面的中间信息文本。调用标准的CRC算法,将中间信息文本段作为输入,计算得到CRC值作为页面的特征码;比较可视化页面的特征码,导入两个页面(厂家修改的可视化页面A、现场技术支持人员修改的页面A’),比较特征码,特征码一致则给出页面程序修改一致,否则给出不一致结论。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,
凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (7)

1.一种可视化页面程序修改一致性校验方法,其特征在于:根据可视化页面内编程符号间输入输出数据流关系和数据类型信息,形成输出变量的中间信息文本,所述中间信息文本包括数据流调用表达式、变量类型和初始值,基于中间信息文本计算形成CRC作为页面的特征码,通过比较修改页面之间的特征码,判断出页面程序修改是否一致。
2.如权利要求1所述的一种可视化页面程序修改一致性校验方法,其特征在于:所述中间信息文本的具体形成过程包括,
步骤1、解析可视化页面文件,读取编程符号和连接信息;
步骤2、根据连接信息,形成符号的输入-输出数据流依赖关系,形成有向无环网络;
步骤3、提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列;
步骤4、设定i=1,N=输出变量个数;
步骤5、以输出变量Outi为终止点,按照广度优先算法前向回溯前驱符号的各个分支,直至回溯到输入变量或输入为0的变量;
步骤6、汇总各分支回溯路径中的符号名、符号的输入-输出名,得到输出变量的调用计算表达式和辅助设置信息,拼接形成字符文本段Si
步骤7、迭代计算i=i+1,若i<=N则重复步骤5-7;
步骤8、将排序后的各个输出变量的文本段汇总形成页面的中间信息文本S=S1+S2+…+SN
3.如权利要求2所述的一种可视化页面程序修改一致性校验方法,其特征在于:步骤6中,所述辅助设置信息包括:路径中各符号的输入和输出变量类型、变量初始值、参数设置名和设置值。
4.如权利要求1或2所述的一种可视化页面程序修改一致性校验方法,其特征在于:所述可视化页面文件的编程符号包括输入块、输出块、功能函数块、连接线。
5.如权利要求1或2所述的一种可视化页面程序修改一致性校验方法,其特征在于:所述中间信息文本不包括连接线变量名,排除内部连接线命名不同时误报不一致的情况。
6.如权利要求2所述的一种可视化页面程序修改一致性校验方法,其特征在于:步骤5中,基于数据流依赖关系进行反向广度优先遍历,排除独立连接网络整体位置调换时,误报不一致的情况。
7.如权利要求1或2所述的一种可视化页面程序修改一致性校验方法,其特征在于:基于输出变量名进行降序排列,并记录该变量名从输入变量到输出变量整个分支路径的关键信息,进而检测出连接关系变化、调用顺序变化、功能函数变化、变量初始值变化、变量类型变化。
CN201610179391.7A 2016-03-25 2016-03-25 一种可视化页面程序修改一致性校验方法 Active CN105868043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610179391.7A CN105868043B (zh) 2016-03-25 2016-03-25 一种可视化页面程序修改一致性校验方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610179391.7A CN105868043B (zh) 2016-03-25 2016-03-25 一种可视化页面程序修改一致性校验方法

Publications (2)

Publication Number Publication Date
CN105868043A true CN105868043A (zh) 2016-08-17
CN105868043B CN105868043B (zh) 2018-11-13

Family

ID=56625971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610179391.7A Active CN105868043B (zh) 2016-03-25 2016-03-25 一种可视化页面程序修改一致性校验方法

Country Status (1)

Country Link
CN (1) CN105868043B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446431A (zh) * 2016-09-30 2017-02-22 国网江苏省电力公司电力科学研究院 特高压直流输电控制保护设备的二次可视化方法
CN106528422A (zh) * 2016-11-10 2017-03-22 中国银联股份有限公司 一种检测Java程序页面扰动的方法和装置
CN107402764A (zh) * 2017-07-28 2017-11-28 南京南瑞继保电气有限公司 一种图形化页面程序功能特征码计算刷新方法
CN109933398A (zh) * 2019-03-12 2019-06-25 南京南瑞继保电气有限公司 功能图页面的校核方法、装置及计算机可读存储介质
CN110276203A (zh) * 2019-05-15 2019-09-24 国家电网有限公司 电力系统控制保护程序的加密方法、装置和存储介质
CN112954060A (zh) * 2021-02-19 2021-06-11 南京南瑞继保电气有限公司 一种数据分析方法、装置、电子设备以及存储介质
CN113467369A (zh) * 2021-07-19 2021-10-01 中航沈飞民用飞机有限责任公司 一种自动钻铆数控代码可视化交互修正方法
CN113900853A (zh) * 2021-11-03 2022-01-07 中国南方电网有限责任公司超高压输电公司昆明局 直流控制保护程序的校验方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038955A1 (en) * 2003-04-03 2005-02-17 Chih-Wei Chen Flash ROM content updating method and system
CN104461886A (zh) * 2014-12-10 2015-03-25 深圳航天东方红海特卫星有限公司 一种控制流错误检测方法
CN105068851A (zh) * 2015-09-11 2015-11-18 上海斐讯数据通信技术有限公司 一种移动终端rom包的安全打包方法、系统及移动终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038955A1 (en) * 2003-04-03 2005-02-17 Chih-Wei Chen Flash ROM content updating method and system
CN104461886A (zh) * 2014-12-10 2015-03-25 深圳航天东方红海特卫星有限公司 一种控制流错误检测方法
CN105068851A (zh) * 2015-09-11 2015-11-18 上海斐讯数据通信技术有限公司 一种移动终端rom包的安全打包方法、系统及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王鹏宇等: "片上多核处理器存储一致性验证", 《软件学报》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446431A (zh) * 2016-09-30 2017-02-22 国网江苏省电力公司电力科学研究院 特高压直流输电控制保护设备的二次可视化方法
CN106446431B (zh) * 2016-09-30 2019-10-22 国网江苏省电力公司电力科学研究院 特高压直流输电控制保护设备的二次系统可视化方法
CN106528422A (zh) * 2016-11-10 2017-03-22 中国银联股份有限公司 一种检测Java程序页面扰动的方法和装置
CN107402764A (zh) * 2017-07-28 2017-11-28 南京南瑞继保电气有限公司 一种图形化页面程序功能特征码计算刷新方法
CN107402764B (zh) * 2017-07-28 2020-09-08 南京南瑞继保电气有限公司 一种图形化页面程序功能特征码计算刷新方法
CN109933398A (zh) * 2019-03-12 2019-06-25 南京南瑞继保电气有限公司 功能图页面的校核方法、装置及计算机可读存储介质
CN110276203A (zh) * 2019-05-15 2019-09-24 国家电网有限公司 电力系统控制保护程序的加密方法、装置和存储介质
CN110276203B (zh) * 2019-05-15 2020-12-29 国家电网有限公司 电力系统控制保护程序的加密方法、装置和存储介质
CN112954060A (zh) * 2021-02-19 2021-06-11 南京南瑞继保电气有限公司 一种数据分析方法、装置、电子设备以及存储介质
CN113467369A (zh) * 2021-07-19 2021-10-01 中航沈飞民用飞机有限责任公司 一种自动钻铆数控代码可视化交互修正方法
CN113467369B (zh) * 2021-07-19 2022-05-13 中航沈飞民用飞机有限责任公司 一种自动钻铆数控代码可视化交互修正方法
CN113900853A (zh) * 2021-11-03 2022-01-07 中国南方电网有限责任公司超高压输电公司昆明局 直流控制保护程序的校验方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105868043B (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN105868043A (zh) 一种可视化页面程序修改一致性校验方法
CN103823666B (zh) 一种智能变电站设备可视化编程方法
US10325062B2 (en) Method and device for generating engineering topology of digital substation
CN110445665B (zh) 基于改进gsp的电力通信网络告警关联挖掘方法
CN106372301A (zh) 智能变电站配置文件可视化及配置一致性检测方法和系统
US10261967B2 (en) Data extraction
CN102724071A (zh) 基于网络模型和规则模型的电力通信故障预警分析方法及其系统
CN105809309A (zh) 一种电力系统安控策略仿真系统及其仿真方法
CN106355305B (zh) 一种智能变电站scd模型信息断面的解耦方法及装置
CN104468191A (zh) 基于时间窗和网络模型的电力通信故障预警方法及系统
CN107394892B (zh) 一种智能变电站间隔变动的调试范围确定方法及系统
CN108519929B (zh) 一种智能变电站母线保护配置管控crc校验方法及装置
CN111625964B (zh) 基于逻辑关系构建变电站图模方法、系统及设备
CN113722883B (zh) 一种智能变电站二次回路故障定位方法
CN104657129A (zh) 一种离线方式检测智能变电站scd文件不同版本及scd与cid差异性的比较方法
CN103390882A (zh) 一种海上电网保护定值修改方法
CN108595390B (zh) 智能变电站scd与ied参数一致性的校验方法
CN105678055A (zh) 一种通用的概率安全评价模型转换系统
CN107742883A (zh) 一种基于Spark的电力系统拓扑岛快速识别系统和方法
CN112397210B (zh) 数据库的核电厂控制系统数字化设计系统、方法及设备
CN106055684A (zh) 变电站scd文件比对方法
Santodomingo et al. Towards the automatic alignment of CIM and SCL ontologies
CN107748701A (zh) 一种电能计量自动化系统的可靠性分析方法
CN114281668A (zh) 异常用例生成方法、装置、电子设备以及存储介质
CN109062639B (zh) 一种变电站scd文件的升级信息的显示方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Chen Hongjun

Inventor after: Huang Zhiling

Inventor after: Zhou Qiang

Inventor after: Lv Pengfei

Inventor after: Ruan Siye

Inventor after: Wang Ye

Inventor after: Liu Kejin

Inventor after: Wen Jifeng

Inventor after: Li Haiying

Inventor after: Wang Yongping

Inventor after: Zou Qiang

Inventor before: Chen Hongjun

Inventor before: Wen Jifeng

Inventor before: Liu Kejin

Inventor before: Li Haiying

Inventor before: Wang Yongping

Inventor before: Zou Qiang

Inventor before: Huang Zhiling

Inventor before: Zhou Qiang

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant