CN102929600A - 基于elf的监控系统版本识别方法 - Google Patents

基于elf的监控系统版本识别方法 Download PDF

Info

Publication number
CN102929600A
CN102929600A CN 201210364918 CN201210364918A CN102929600A CN 102929600 A CN102929600 A CN 102929600A CN 201210364918 CN201210364918 CN 201210364918 CN 201210364918 A CN201210364918 A CN 201210364918A CN 102929600 A CN102929600 A CN 102929600A
Authority
CN
China
Prior art keywords
version
module
elf
modules
svn
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
CN 201210364918
Other languages
English (en)
Other versions
CN102929600B (zh
Inventor
邱俊宏
李贞�
王广民
卫星
郭利军
王志伟
郭亮
Original Assignee
Xuji Group Co Ltd
State Grid Shandong Electric Power Co Ltd
XJ Electric Co Ltd
Xuchang XJ Software Technology 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 Xuji Group Co Ltd, State Grid Shandong Electric Power Co Ltd, XJ Electric Co Ltd, Xuchang XJ Software Technology Co Ltd filed Critical Xuji Group Co Ltd
Priority to CN201210364918.5A priority Critical patent/CN102929600B/zh
Publication of CN102929600A publication Critical patent/CN102929600A/zh
Application granted granted Critical
Publication of CN102929600B publication Critical patent/CN102929600B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及基于ELF的监控系统版本识别方法,获取监控系统的模块代码,根据本地各个模块的代码路径,创建包含模块名称、SVN版本号信息的版本信息数据库;各模块编译完成,生成目标文件后,根据目标文件的路径、名称信息或直接从版本信息数据库中获取,基于ELF植入版本数字标识到目标文件中;调取各个模块版本数字标识,显示所有模块当前版本号,并与数据库中相应模块的版本号比对,清晰显示现场监控系统的版本升级记录信息;本方法能识别现场运行监控系统的版本,根据监控系统版本信息数据库和目标文件中的版本数字标识形成对比,清晰显示现场升级记录,以支撑现场监控系统的升级和维护,圆满的解决现场升级或维护系统的兼容性问题。

Description

基于ELF的监控系统版本识别方法
技术领域
本发明属于计算机技术与电力系统自动化技术的综合领域,涉及一种监控系统版本识别方法。
背景技术
由于监控系统所依赖的操作系统及计算机硬件的不同,依赖数据库及通信规约的更新,导致监控系统的版本越来越多;由于地域及用户要求的不同,导致同一版本的监控系统,其功能模块都具有不同的版本。这导致现场运行监控系统的程序升级和维护变得越来越复杂困难,对监控系统的版本管理及现场版本的自动识别提出了迫切的要求。
发明内容
本发明的目的是提供一种基于ELF的监控系统版本识别方法,以解决由于监控系统版本难以识别而对现场运行监控系统的程序升级和维护困难的问题。
为实现上述目的,本发明的基于ELF的监控系统版本识别方法的步骤如下:
(1)获取监控系统的模块代码,根据本地各个模块的代码路径,创建包含模块名称、SVN版本号信息的模块信息数据库;
(2)对获取的模块代码进行编译链接生成目标文件,根据目标文件的路径、名称信息,直接从模块信息数据库中获取各模块的SVN版本号,基于ELF标准格式将版本数字标识写入到目标文件中,并创建版本信息数据库,将系统中所有模块的版本标识数据写入其中;
(3)调取各个模块版本数字标识,显示所有模块当前版本号,并与版本信息数据库中相应模块的版本号比对,清晰显示现场监控系统的版本升级记录信息。
进一步的,所述步骤(1)是从SVN版本管理系统服务器获取监控系统的模块代码到本地。
进一步的,所述步骤(1)中版本信息数据库支持模块名称、版本号信息的在线修改。
进一步的,所述步骤(2)中版本数字标识植入到目标文件中是基于ELF,是将SVN版本号嵌入在ELF的e_ident数组的后9个字节的填充字段。
进一步的,所述步骤(3)中若某模块需要功能扩展,可根据此模块目标文件中的版本号,修改SVN中相应版本号的源代码。
本发明的基于ELF的监控系统版本识别方法,能识别现场运行监控系统的版本,根据监控系统版本信息数据库和目标文件中的版本数字标识形成对比,清晰显示现场升级记录,以支撑现场监控系统的升级和维护,圆满的解决现场升级或维护系统的兼容性问题。
附图说明
图1是ELF文件格式;
图2是实施例的流程图;
图3是实施例的生成版本信息数据库图;
图4是实施例的写入目标文件版本信息示意图;
图5是实施例的生成比对报告页面示意图。
具体实施方式
基于ELF的监控系统版本识别方法采用一个关键技术,实现三个主要功能。
(一)、一个关键技术:基于ELF格式的模块版本“数字标识”的创建ELF文件格式(Executable and Linkable Format),是UNIX类操作系统中普遍采用的目标文件格式。目标文件格式有三种类型:可重定位文件(Relocatable File);可执行文件(Executable File);共享目标文件(Shared Object File)。目标文件都是程序的二进制表示,目的是在某种处理器上直接执行。
ELF文件格式见图1所示。
ELF文件开始处是一个ELF头部(ELF Header),用来描述整个文件的组织,ELFHeader数据结构如下:
#define EI_NIDENT 16
typedef struct{
unsigned char e_ident[EI_NIDENT];//目标文件标识
Elf32_Half e_type;//目标文件类型
Elf32_Half e_machine;//目标文件体系结构类型
Elf32_Word e_version;//目标文件版本(取值0,1)
Elf32_Addr e_entry;//程序入口虚拟地址
Elf32_Off e_phoff;//程序头部表格偏移量
Elf32_Off e_shoff;//节区头部表格偏移量
Elf32_Word e_flags;//与文件相关处理器标识
Elf32_Half e_ehsize;//ELF头部大小
Elf32_Half e_phentsize;//程序头部表格表项大小
Elf32_Half e _phnum;//程序头部表格表项数目
Elf32_Half e_shentsize;//节区头部表格表项大小
Elf32_Half e_shnum;//节区头部表格表项数目
Elf32_Half e_shstrndx;//}Elf32_Ehdr;
其中e_ident数组给出了ELF的一些标识信息,数组前7个字节已占用,用作文件标识(ELF标识)、文件类型、数据编码方式、文件版本。后9个字节为填充(padding byte)字段,没有明确作用,初始化为0。经验证,修改这9个字节的填充字段,没有对目标程序的运行或加载造成影响,所以可把SVN版本号嵌入在目标文件的该字节位置,用来作为模块版本的“数字标识”信息。
(二)、三个主要功能
功能一:创建监控系统版本信息数据库
从SVN版本管理系统服务器获取监控系统的模块代码到本地,根据本地各个模块的代码路径,自动创建包含模块名称、SVN版本号等信息的模块信息数据库文件,实现SVN版本号与系统版本信息数据库的绑定,并且支持模块名称、版本号等信息的在线修改。SVN版本管理系统服务器是一种版本控制系统,支持可在本地访问或通过网络访问的文件系统存储库,提供文件的比较、修补、标记、提交、回溯、分支等功能。
功能二:创建各模块版本“数字标识”
对获取的模块代码进行编译链接生成目标文件,根据目标文件的路径、名称信息,直接从模块信息数据库中获取各模块的SVN版本号,基于ELF标准格式将版本数字标识写入到目标文件中,并创建版本信息数据库,将系统中所有模块的版本标识数据写入其中(即版本信息数据库记录了本次集成的所有模块版本标识数据),植入版本“数字标识”到目标文件中。植入版本“数字标识”的目标文件符合ELF(Unix)文件信息标准,标识植入不涉及源代码,并作为管理工具版本自动匹配检测唯一标识。
功能三:比对数据库版本信息与模块版本信息,生成版本比对报告调取各个模块版本“数字标识”,显示所有模块当前版本号,并与版本信息数据库中相应模块的版本号比对,清晰显示现场监控系统的升级记录信息。若某模块需要功能扩展,可根据此模块目标文件中的版本号,修改SVN中相应版本号的源代码,完成此变电站功能需求的同时,不影响其他变电站监控系统的模块版本。
以一个具体实例来说明监控系统版本识别方法,流程如图2所示。
步骤一:
测试或发布人员,在从SVN后检出代码后,设置模块路径(设置根目录,模块路径为相对路径,设置一次即可),点击读取版本号,可生成相应模块的版本号。点击保存生成版本数据库。支持名称和版本号在线修改,参见图3。
步骤二:
编译链接完成,并检查目标文件已正确生成后,设置目标文件路径(相对路径),点击确认向目标文件写入SVN版本号,参见图4。
步骤三:
对现场运行人员仅提供版本库浏览及调取对比界面,点击调取比对后,形成版本对比报告,参见图5。

Claims (5)

1. 一种基于ELF的监控系统版本识别方法,其特征在于,该方法的步骤如下:
(1)获取监控系统的模块代码,根据本地各个模块的代码路径,创建包含模块名称、SVN版本号信息的模块信息数据库;
(2)对获取的模块代码进行编译链接生成目标文件,根据目标文件的路径、名称信息,直接从模块信息数据库中获取各模块的SVN版本号,基于ELF标准格式将版本数字标识写入到目标文件中,并创建版本信息数据库,将系统中所有模块的版本标识数据写入其中;
(3)调取各个模块版本数字标识,显示所有模块当前版本号,并与版本信息数据库中相应模块的版本号比对,清晰显示现场监控系统的版本升级记录信息。
2. 根据权利要求1所述的方法,其特征在于,所述步骤(1)是从SVN版本管理系统服务器获取监控系统的模块代码到本地。
3. 根据权利要求1所述的方法,其特征在于:所述步骤(1)中版本信息数据库支持模块名称、版本号信息的在线修改。
4. 根据权利要求1所述的方法,其特征在于:所述步骤(2)中版本数字标识植入到目标文件中是基于ELF,是将SVN版本号嵌入在ELF的e_ident数组的后9个字节的填充字段。
5. 根据权利要求1-4中任一项所述的方法,其特征在于:所述步骤(3)中若某模块需要功能扩展,可根据此模块目标文件中的版本号,修改SVN中相应版本号的源代码。
CN201210364918.5A 2012-06-13 2012-09-26 基于elf的监控系统版本识别方法 Expired - Fee Related CN102929600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210364918.5A CN102929600B (zh) 2012-06-13 2012-09-26 基于elf的监控系统版本识别方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201210194152 2012-06-13
CN2012101941520 2012-06-13
CN201210194152.0 2012-06-13
CN201210364918.5A CN102929600B (zh) 2012-06-13 2012-09-26 基于elf的监控系统版本识别方法

Publications (2)

Publication Number Publication Date
CN102929600A true CN102929600A (zh) 2013-02-13
CN102929600B CN102929600B (zh) 2016-06-29

Family

ID=47644413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210364918.5A Expired - Fee Related CN102929600B (zh) 2012-06-13 2012-09-26 基于elf的监控系统版本识别方法

Country Status (1)

Country Link
CN (1) CN102929600B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473066A (zh) * 2013-09-22 2013-12-25 南车株洲电力机车研究所有限公司 一种VxWorks image文件添加和读取版本号的方法及装置
CN104407808A (zh) * 2014-10-31 2015-03-11 华为技术有限公司 写入数据的方法和装置
CN104915214A (zh) * 2015-06-25 2015-09-16 走遍世界(北京)信息技术有限公司 系统的发布方法及装置
CN105760184A (zh) * 2014-12-18 2016-07-13 深圳云之家网络有限公司 一种加载组件的方法和装置
CN106557692A (zh) * 2015-12-28 2017-04-05 哈尔滨安天科技股份有限公司 Linux内核操作系统ELF文件特征计算方法及系统
CN106886445A (zh) * 2016-06-23 2017-06-23 阿里巴巴集团控股有限公司 Java数据包生成方法及设备和信息提取方法及设备
CN107729031A (zh) * 2017-08-25 2018-02-23 上海壹账通金融科技有限公司 代码管理方法、装置、计算机设备和计算机可读存储介质
CN108052345A (zh) * 2017-10-13 2018-05-18 宁波三星医疗电气股份有限公司 一种嵌入式软件多版本程序的共存方法
CN108268374A (zh) * 2017-11-03 2018-07-10 平安科技(深圳)有限公司 软件版本测试方法、装置、终端设备及存储介质
CN109086362A (zh) * 2018-07-19 2018-12-25 北京首汽智行科技有限公司 多模块项目的管理方法
WO2019134287A1 (zh) * 2018-01-04 2019-07-11 武汉斗鱼网络科技有限公司 一种版本信息管理方法、电子设备及可读存储介质
CN110502255A (zh) * 2018-05-17 2019-11-26 许昌许继软件技术有限公司 一种轨道交通综合监控系统的软件升级系统
CN111125402A (zh) * 2013-03-15 2020-05-08 索尼公司 用于记录关于被渲染资产的信息的方法和系统
CN112612693A (zh) * 2020-12-11 2021-04-06 广州朗国电子科技有限公司 自动校验应用软件版本的方法、装置及存储介质
CN112800079A (zh) * 2021-04-12 2021-05-14 北京三维天地科技股份有限公司 一种让标准使用简单化的方法及系统
CN112965738A (zh) * 2021-02-02 2021-06-15 烽火通信科技股份有限公司 一种信息模型版本差异比对方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805899A (en) * 1995-07-06 1998-09-08 Sun Microsystems, Inc. Method and apparatus for internal versioning of objects using a mapfile
CN100388678C (zh) * 2004-11-29 2008-05-14 中兴通讯股份有限公司 电信传输系统单元软硬件版本自动获取方法
CN100462916C (zh) * 2007-04-10 2009-02-18 中兴通讯股份有限公司 一种在嵌入式软件中记录版本信息的方法
CN102053836B (zh) * 2010-12-31 2013-04-10 广东欧珀电子工业有限公司 一种Android应用开发的版本管理工具的实现方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125402B (zh) * 2013-03-15 2024-03-08 索尼公司 用于记录关于被渲染资产的信息的方法和系统
CN111125402A (zh) * 2013-03-15 2020-05-08 索尼公司 用于记录关于被渲染资产的信息的方法和系统
CN103473066A (zh) * 2013-09-22 2013-12-25 南车株洲电力机车研究所有限公司 一种VxWorks image文件添加和读取版本号的方法及装置
CN104407808A (zh) * 2014-10-31 2015-03-11 华为技术有限公司 写入数据的方法和装置
CN104407808B (zh) * 2014-10-31 2017-10-10 华为技术有限公司 写入数据的方法和装置
CN105760184A (zh) * 2014-12-18 2016-07-13 深圳云之家网络有限公司 一种加载组件的方法和装置
CN105760184B (zh) * 2014-12-18 2019-07-23 深圳云之家网络有限公司 一种加载组件的方法和装置
CN104915214A (zh) * 2015-06-25 2015-09-16 走遍世界(北京)信息技术有限公司 系统的发布方法及装置
CN106557692B (zh) * 2015-12-28 2019-05-07 哈尔滨安天科技股份有限公司 Linux内核操作系统ELF文件特征计算方法及系统
CN106557692A (zh) * 2015-12-28 2017-04-05 哈尔滨安天科技股份有限公司 Linux内核操作系统ELF文件特征计算方法及系统
CN106886445A (zh) * 2016-06-23 2017-06-23 阿里巴巴集团控股有限公司 Java数据包生成方法及设备和信息提取方法及设备
CN107729031A (zh) * 2017-08-25 2018-02-23 上海壹账通金融科技有限公司 代码管理方法、装置、计算机设备和计算机可读存储介质
WO2019037418A1 (zh) * 2017-08-25 2019-02-28 深圳壹账通智能科技有限公司 代码管理方法、装置、计算机设备和计算机可读存储介质
CN108052345B (zh) * 2017-10-13 2021-07-20 宁波三星医疗电气股份有限公司 一种嵌入式软件多版本程序的共存方法
CN108052345A (zh) * 2017-10-13 2018-05-18 宁波三星医疗电气股份有限公司 一种嵌入式软件多版本程序的共存方法
WO2019085386A1 (zh) * 2017-11-03 2019-05-09 平安科技(深圳)有限公司 软件版本测试方法、装置、终端设备及存储介质
CN108268374A (zh) * 2017-11-03 2018-07-10 平安科技(深圳)有限公司 软件版本测试方法、装置、终端设备及存储介质
WO2019134287A1 (zh) * 2018-01-04 2019-07-11 武汉斗鱼网络科技有限公司 一种版本信息管理方法、电子设备及可读存储介质
CN110502255A (zh) * 2018-05-17 2019-11-26 许昌许继软件技术有限公司 一种轨道交通综合监控系统的软件升级系统
CN110502255B (zh) * 2018-05-17 2023-12-29 许昌许继软件技术有限公司 一种轨道交通综合监控系统的软件升级系统
CN109086362A (zh) * 2018-07-19 2018-12-25 北京首汽智行科技有限公司 多模块项目的管理方法
CN112612693A (zh) * 2020-12-11 2021-04-06 广州朗国电子科技有限公司 自动校验应用软件版本的方法、装置及存储介质
CN112965738A (zh) * 2021-02-02 2021-06-15 烽火通信科技股份有限公司 一种信息模型版本差异比对方法及装置
CN112965738B (zh) * 2021-02-02 2022-07-08 烽火通信科技股份有限公司 一种信息模型版本差异比对方法及装置
CN112800079A (zh) * 2021-04-12 2021-05-14 北京三维天地科技股份有限公司 一种让标准使用简单化的方法及系统
CN112800079B (zh) * 2021-04-12 2021-11-05 北京三维天地科技股份有限公司 一种让标准使用简单化的方法及系统

Also Published As

Publication number Publication date
CN102929600B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN102929600A (zh) 基于elf的监控系统版本识别方法
CN110515673A (zh) 插件化系统及其方法
CN106033388B (zh) 测试用例库管理方法及系统
WO2007035869A1 (en) Method, system and software arrangement for processing a device support file for a field device
CN110619555A (zh) 订单信息的统一管理方法、装置、终端设备及介质
CN104932973A (zh) 一种版本兼容测试方法和装置
US20150169288A1 (en) System operation tracing method on distributed system
CN109445807A (zh) 实现应用程序更新的方法、装置和计算机可读存储介质
CN110895472A (zh) 一种识别业务变更的方法和装置
CN106569863B (zh) 基于资源和代码模块化的安卓app资源更新和修复的方法
CN103377116A (zh) 用于在分布式信息系统中记录和分析日志的方法和装置
CN102905000B (zh) 通讯录同步方法及装置
CN101930361A (zh) 在线数据存储服务提供方法及系统
CN109446047B (zh) 性能测试平台脚本存储方法、装置、设备及存储介质
CN107621963A (zh) 一种软件部署方法、软件部署系统及电子设备
CN107844300A (zh) 脚本处理方法及系统
CN107608760A (zh) 一种kvm虚拟机部署方法、系统及计算机可读存储介质
CN108737487B (zh) 数据同步方法和装置、存储介质及电子装置
CN104219280A (zh) 一种智能应用数据传输通道
CN106713001A (zh) 一种网络巡检方法及装置
CN101908985B (zh) 一种报文校验的方法及装置
CN107015831A (zh) 一种基于服务器端升级的客户端升级管理方法及系统
CN113220561A (zh) 一种测试用例管理方法、装置、设备及介质
CN114443294B (zh) 大数据服务组件部署方法、系统、终端及存储介质
CN103123583A (zh) 一种自动记录软件版本号的实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: XUJI ELECTRIC CO., LTD.

Free format text: FORMER OWNER: XUJI GROUP CO., LTD.

Effective date: 20131205

Owner name: XUCHANG XUJI SOFTWARE TECHNOLOGY CO., LTD. STATE G

Free format text: FORMER OWNER: XUJI ELECTRIC CO., LTD. XUCHANG XUJI SOFTWARE TECHNOLOGY CO., LTD. SHANDONG ELECTRIC POWER CORP.

Effective date: 20131205

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20131205

Address after: No. 1298 Xuchang City, Henan province 461000 XJ Avenue

Applicant after: Xuji Electric Co., Ltd.

Applicant after: Xuchang Xuji Software Technology Co., Ltd.

Applicant after: State Grid Shandong Electric Power Company

Address before: No. 1298 Xuchang City, Henan province 461000 XJ Avenue

Applicant before: Xuji Group Co., Ltd.

Applicant before: Xuji Electric Co., Ltd.

Applicant before: Xuchang Xuji Software Technology Co., Ltd.

Applicant before: Shandong Electric Power Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160629

Termination date: 20200926