[发明专利]常驻进程管理通用平台及方法有效
申请号: | 201510644406.8 | 申请日: | 2015-09-30 |
公开(公告)号: | CN105204936A | 公开(公告)日: | 2015-12-30 |
发明(设计)人: | 张从国;石磊;王进;车帅;刘春;张辉 | 申请(专利权)人: | 山东乾云启创信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250101 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 常驻 进程 管理 通用 平台 方法 | ||
技术领域
本发明涉及常驻进程管理通用平台及方法。
背景技术
服务器上通常存在大量散乱的应用程序,作为服务进程后台常驻运行,每个应用程序可能彼此不同,并且应用程序可能归属于不同的用户,应用程序疏于管理,管理员不能掌握每个应用程序运行时对应的服务进程的运行状况,经常是服务进程异常终止而不知晓,不能直观查看服务进程的运行处理状态。
对于后台常驻稳定运行的应用程序,需要异常终止及僵死检测,对于异常情形自动重启,还希望实时查看其运行处理状态,编程有其技术门槛,需要了解其技术特点,规避特有的技术风险,融合相关的进程、内存、信号、锁等管理技术,需要一定的技术功底。
对于简化常驻进程管理编程,提高编程效率的需求,业界缺乏所需的开发库。
发明内容
为解决现有技术存在的不足,本发明公开了常驻进程管理通用平台及方法,对于单纯的常驻进程管理场景,开发人员将业务逻辑封装为独立的插件程序,在平台上运行,每个插件程序可以彼此不同,可以由不同的用户执行,可以单独启动或停止,在单个平台中集中管理多个用户的后台散乱任务,常驻进程管理平台内置诊断功能,实时监控平台的运行状况,对于异常终止或僵死的服务进程自动予以重启,确保整个平台稳定持续运行;另外包含一个直观简易的运行监视界面,可以实时查看平台全局信息与服务进程的处理状态。
为实现上述目的,本发明的具体方案如下:
常驻进程管理通用平台发布为一个静态库文件,附带一组头文件、配套资料及代码样例,提供编程接口供开发人员编程调用,支持各种类UNIX操作系统,支持C/C++开发语言。
在常驻进程管理场景中开发运行插件形式的后台应用,插件程序用以承载具体的业务逻辑。
常驻进程管理通用方法,包括以下步骤:
平台运行时创建一个平台进程及一个诊断进程,平台进程根据配置文件中的平台关键字创建进程管理共享内存、信号灯,创建一个SOCKET管理描述符,等待用户操作指令或诊断进程的汇报;
进程管理共享内存包含平台全局信息以及一组管理槽位,每个插件进程占用其中一个槽位,存放插件进程的私有信息;
诊断进程与平台进程配合,自动重启异常终止或僵死的插件进程,确保整个平台持续稳定运行,诊断进程运行时周期性检测各个服务进程的运行状态,对于单个周期运行持续时间超过设定时限的服务进程,强行杀死并向平台进程汇报,由平台进程予以重启;实时监控各个服务进程存活与否,如果服务进程异常终止则向平台进程汇报,由平台进程予以重启;
运行监视时启动监视界面,从平台的进程管理共享内存中提取平台全局信息与每个服务进程的运行信息,在屏幕上实时直观显示,实时查看平台全局信息与插件程序的运行状态,采用定时信号驱动周期性自动刷新。
上述常驻进程管理通用方法在平台运行创建之前还包括:
编写编译程序:按照项目要求更改样例代码,编写个性化业务处理逻辑,调用编程接口注册业务逻辑回调函数,调用平台入口函数;编写完毕与开发平台提供的静态库文件联合编译,生成平台程序与运行监视程序;
程序部署:按照项目要求调整开发平台附带的样例配置文件,提供必需的配置参数,定制平台运行行为。
进一步的,每个插件进程占用进程管理共享内存中的一个管理槽位,存放自身的私有信息,包括:进程ID、运行状态、用户ID、组ID、执行时间、执行时限、进程编号、插件程序名称,进程编号在整个平台中全局唯一,唯一标识一个插件进程。
进一步的,业务逻辑由插件程序承载,每个插件程序彼此不同,由不同的用户执行,独立启动或停止,运行后通过用户指令依次启动多个插件程序,采用唯一的进程编号区分,插件程序独立于平台进程自主运行。
进一步的,启动插件程序时,用户操作指令获取自身的用户ID与组ID,解析命令行参数,通过SOCKET管理描述符发送给平台进程,平台进程在进程管理共享内存中查找空闲槽位,通过fork系统调用克隆一个子进程,在对应槽位中记录插件程序的私有信息;获取自身的用户ID,如果自身ID是普通用户,则使用自身ID覆盖用户指令发送的用户ID;在子进程中,检查自身的用户ID,如果自身ID为超级用户,则首先切换自己的身份,成为用户指令对应的用户,最后执行插件程序覆盖当前执行映像,插件程序在子进程中独立运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东乾云启创信息科技有限公司,未经山东乾云启创信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510644406.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种人工电磁材料单元的试验点选取方法及装置
- 下一篇:自动开服方法及装置