[发明专利]一种Linux系统下的PISA管理器实现方式在审
申请号: | 202011503627.0 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112612622A | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 赵建青;唐超;刘艳兰;胡耀清;银磊 | 申请(专利权)人: | 湖南长城信息金融设备有限责任公司;中电长城(长沙)信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52;G06F9/50;G06F16/176 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 熊开兰 |
地址: | 410100 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 pisa 管理器 实现 方式 | ||
1.一种Linux系统下的PISA管理器实现方法,其特征在于,所述PISA管理器用于管理API层跨进程调用SPI层,包括服务句柄管理、服务请求ID管理、内存管理、同步调用实现和异步调用实现管理;每个API层调用SPI层,均生成系统唯一的服务句柄;API每次调用SPI层,均生成系统唯一的服务请求ID;通过文件映射共享内存和跨进程锁,保存PISA管理器生成的服务句柄和服务请求ID、API层的调用进程数和调用进程句柄。
2.根据权利要求1所述的实现方法,其特征在于,生成系统唯一的服务句柄和系统唯一的服务请求ID的实现方式为:
S01:当API层调用SPI层时,API层初始化PISA管理器,PISA管理器映射到共享内存文件中;如果共享内存的文件不存在,执行步骤S02,如果共享内存的文件存在,执行步骤S03;
S02:生成共享内存文件,文件中包括共享内存跨进程锁、服务句柄、服务请求ID、调用进程数以及调用进程列表,重置调用管理器的进程数为零,并跳转执行步骤S05;
S03:读取共享内存文件中的共享内存跨进程锁、服务句柄、服务请求ID、调用进程数以及调用进程列表,执行步骤S04;
S04:轮询共享内存文件中的调用进程列表,判断列表中的进程编号是否有效,如果进程编号无效,则调用进程数减1;执行步骤S05;
S05:判断调用进程数是否为零,如果为零,则重置服务句柄以及服务请求ID;执行步骤S06;
S06:共享内存的文件中保存的调用进程数加1,并在调用进程列表中增加节点。
3.根据权利要求1所述的实现方法,其特征在于,PISA管理器对服务句柄和服务请求ID的管理方法为:
S11:当API层调用SPI层时,PISA管理器锁定共享内存跨进程锁;
S12:若API层调用连接建立指令,则执行步骤S13,否则执行步骤S14;
S13:共享内存文件中的服务句柄数增加1;
S14:共享内存文件中的服务请求ID增加1;
S15:释放共享内存跨进程锁。
4.根据权利要求1所述的实现方法,其特征在于,所述内存管理通过共享内存的方式,即API层与SPI层文件共享同时映射到同一个内存地址,完成跨进程的API层与SPI层通讯;
其中,跨进程内存操作包括分配、增加、释放三种操作,内存的分配和释放需要跨进程锁互斥内存的分配和释放,并通过链表管理内存分配,采用列表的方式把增加的内存链接在链表中,释放空间直接释放链表上的所有节点;
内存管理的节点包括:跨进程的锁资源、内存列表的数量、共享内存链表数组、共享内存的地址指针首地址,其中的共享内存链表数组包括:暂用该地址的进程编号、共享内存是否使用、指向共享内存的地址指针、共享内存的大小;
链表节点包括:本节点内存的长度、内存的初始化方式、指向下一个节点指针和共享内存数组。
5.根据权利要求4所述的实现方法,其特征在于,进程加载共享内存进行如下操作,完成共享内存的初始化:
S21:读取指定地址的共享内存的配置文件,获取共享内存的映射地址、共享内存的共享大小、共享内存文件位置;
S22:判断该共享内存文件是否存在,若不存在则执行步骤S23,若存在则执行步骤S24;
S23:创建共享文件,并设置文件大小为共享管理的节点加上共享内存块的大小,初始化跨进程锁,执行步骤S25;
S24:打开共享文件,设置共享内存的大小;
S25:锁定管理的节点中的跨进程锁;
S26:若管理的节点的共享内存的指针地址不等于共享内存的地址空间,则执行步骤S27,否则执行步骤S28;
S27:初始化管理的节点,设置管理的节点中的链表数为1,指针地址指向共享内存地址,并初始化共享内存数组的第一个元素;
S28:删除管理节点内存数组中无效进程暂用的元素,如果该节点状态为已暂用,并且进程编号为无效进程,则执行删除节点过程;
S29:释放管理的节点中的跨进程锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南长城信息金融设备有限责任公司;中电长城(长沙)信息技术有限公司,未经湖南长城信息金融设备有限责任公司;中电长城(长沙)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011503627.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种受热均匀的中频感应加热炉
- 下一篇:一种数据分类方法、装置及相关设备