[发明专利]基于ELF的监控系统版本识别方法有效
申请号: | 201210364918.5 | 申请日: | 2012-09-26 |
公开(公告)号: | CN102929600A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 邱俊宏;李贞;王广民;卫星;郭利军;王志伟;郭亮 | 申请(专利权)人: | 许继集团有限公司;许继电气股份有限公司;许昌许继软件技术有限公司;山东电力集团公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 郑州睿信知识产权代理有限公司 41119 | 代理人: | 胡泳棋 |
地址: | 461000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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;//程序头部表格表项数目
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许继集团有限公司;许继电气股份有限公司;许昌许继软件技术有限公司;山东电力集团公司,未经许继集团有限公司;许继电气股份有限公司;许昌许继软件技术有限公司;山东电力集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210364918.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种转炉渣的综合利用方法
- 下一篇:带点矫正的LED驱动电路