【技术实现步骤摘要】
一种Linux系统下的PISA管理器实现方式
[0001]本专利技术属于金融自助设备
,具体涉及一种Linux系统下的PISA管理器实现方式。
技术介绍
[0002]目前,绝大部分金融终端设备,如自助类设备等,均遵循基于Windows操作系统的CEN/XFS(The European Committee for Standardization/Extensions for Financial Services)规范,CEN/XFS规范为欧洲标准化委员会制定的金融服务扩展规范,与Windows系统密切相关,具有较强的操作系统绑定特性,无法直接迁移至其他系统。
[0003]随着Linux系统逐渐应用于越来越多的领域,现已出现了以Linux系统为基础的XFS实现方式,实现大多的都采用直接调用的方式,但这种方式导致设备不能支持多进程访问,而且设备服务跟应用有强的耦合性。因此有必要开发一种Linux系统下的PISA管理器实现方式,用于解决Linux系统下开发设备服务所存在的诸多困难。
技术实现思路
[0004]本专利技术提供一种Linux系统下的PISA管理器实现方式,可以支持多进程访问金融自助设备的设备服务。
[0005]为实现上述技术目的,本专利技术采用如下技术方案:
[0006]一种Linux系统下的PISA管理器实现方式,所述PISA管理器用于管理API层跨进程调用SPI层,包括服务句柄管理、服务请求ID管理、内存管理、同步调用实现和异步调用实现管理;每个API层调用SPI ...
【技术保护点】
【技术特征摘要】
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:打开共享文件,...
【专利技术属性】
技术研发人员:赵建青,唐超,刘艳兰,胡耀清,银磊,
申请(专利权)人:中电长城长沙信息技术有限公司建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。