首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 发明名称 / 基于ELF的监控系统版本识别方法

基于ELF的监控系统版本识别方法

阅读:917发布:2023-02-28

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

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中相应版本号的源代码。

说明书全文

基于ELF的监控系统版本识别方法

技术领域

[0001] 本发明属于计算机技术与电系统自动化技术的综合领域,涉及一种监控系统版本识别方法。

背景技术

[0002] 由于监控系统所依赖的操作系统及计算机硬件的不同,依赖数据库及通信规约的更新,导致监控系统的版本越来越多;由于地域及用户要求的不同,导致同一版本的监控系统,其功能模都具有不同的版本。这导致现场运行监控系统的程序升级和维护变得越来越复杂困难,对监控系统的版本管理及现场版本的自动识别提出了迫切的要求。

发明内容

[0003] 本发明的目的是提供一种基于ELF的监控系统版本识别方法,以解决由于监控系统版本难以识别而对现场运行监控系统的程序升级和维护困难的问题。
[0004] 为实现上述目的,本发明的基于ELF的监控系统版本识别方法的步骤如下:(1)获取监控系统的模块代码,根据本地各个模块的代码路径,创建包含模块名称、SVN版本号信息的模块信息数据库;
(2)对获取的模块代码进行编译链接生成目标文件,根据目标文件的路径、名称信息,直接从模块信息数据库中获取各模块的SVN版本号,基于ELF标准格式将版本数字标识写入到目标文件中,并创建版本信息数据库,将系统中所有模块的版本标识数据写入其中;
(3)调取各个模块版本数字标识,显示所有模块当前版本号,并与版本信息数据库中相应模块的版本号比对,清晰显示现场监控系统的版本升级记录信息。
[0005] 进一步的,所述步骤(1)是从SVN版本管理系统服务器获取监控系统的模块代码到本地。
[0006] 进一步的,所述步骤(1)中版本信息数据库支持模块名称、版本号信息的在线修改
[0007] 进一步的,所述步骤(2)中版本数字标识植入到目标文件中是基于ELF,是将SVN版本号嵌入在ELF的e_ident数组的后9个字节的填充字段。
[0008] 进一步的,所述步骤(3)中若某模块需要功能扩展,可根据此模块目标文件中的版本号,修改SVN中相应版本号的源代码。
[0009] 本发明的基于ELF的监控系统版本识别方法,能识别现场运行监控系统的版本,根据监控系统版本信息数据库和目标文件中的版本数字标识形成对比,清晰显示现场升级记录,以支撑现场监控系统的升级和维护,圆满的解决现场升级或维护系统的兼容性问题。附图说明
[0010] 图1是ELF文件格式;图2是实施例流程图
图3是实施例的生成版本信息数据库图;
图4是实施例的写入目标文件版本信息示意图;
图5是实施例的生成比对报告页面示意图。

具体实施方式

[0011] 基于ELF的监控系统版本识别方法采用一个关键技术,实现三个主要功能。
[0012] (一)、一个关键技术:基于ELF格式的模块版本“数字标识”的创建ELF文件格式(Executable and Linkable Format),是UNIX类操作系统中普遍采用的目标文件格式。目标文件格式有三种类型:可重定位文件(Relocatable File);可执行文件(Executable File);共享目标文件(Shared Object File)。目标文件都是程序的二进制表示,目的是在某种处理器上直接执行。
[0013] ELF文件格式见图1所示。
[0014] 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版本号嵌入在目标文件的该字节位置,用来作为模块版本的“数字标识”信息。
[0015] (二)、三个主要功能功能一:创建监控系统版本信息数据库
从SVN版本管理系统服务器获取监控系统的模块代码到本地,根据本地各个模块的代码路径,自动创建包含模块名称、SVN版本号等信息的模块信息数据库文件,实现SVN版本号与系统版本信息数据库的绑定,并且支持模块名称、版本号等信息的在线修改。SVN版本管理系统服务器是一种版本控制系统,支持可在本地访问或通过网络访问的文件系统存储库,提供文件的比较、修补、标记、提交、回溯、分支等功能。
[0016] 功能二:创建各模块版本“数字标识”对获取的模块代码进行编译链接生成目标文件,根据目标文件的路径、名称信息,直接从模块信息数据库中获取各模块的SVN版本号,基于ELF标准格式将版本数字标识写入到目标文件中,并创建版本信息数据库,将系统中所有模块的版本标识数据写入其中(即版本信息数据库记录了本次集成的所有模块版本标识数据),植入版本“数字标识”到目标文件中。植入版本“数字标识”的目标文件符合ELF(Unix)文件信息标准,标识植入不涉及源代码,并作为管理工具版本自动匹配检测唯一标识。
[0017] 功能三:比对数据库版本信息与模块版本信息,生成版本比对报告调取各个模块版本“数字标识”,显示所有模块当前版本号,并与版本信息数据库中相应模块的版本号比对,清晰显示现场监控系统的升级记录信息。若某模块需要功能扩展,可根据此模块目标文件中的版本号,修改SVN中相应版本号的源代码,完成此变电站功能需求的同时,不影响其他变电站监控系统的模块版本。
[0018] 以一个具体实例来说明监控系统版本识别方法,流程如图2所示。
[0019] 步骤一:测试或发布人员,在从SVN后检出代码后,设置模块路径(设置根目录,模块路径为相对路径,设置一次即可),点击读取版本号,可生成相应模块的版本号。点击保存生成版本数据库。支持名称和版本号在线修改,参见图3。
[0020] 步骤二:编译链接完成,并检查目标文件已正确生成后,设置目标文件路径(相对路径),点击确认向目标文件写入SVN版本号,参见图4。
[0021] 步骤三:对现场运行人员仅提供版本库浏览及调取对比界面,点击调取比对后,形成版本对比报告,参见图5。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈