1.一种基于linux系统的CEN/XFS标准的架构系统,适用于采用CEN/XFS标准的金融自助设备,所述金融自助设备的系统包括:应用程序层、XFS管理层、SP层以及设备驱动层,其特征在于,所述架构系统将所述XFS管理层具体分为:
专用应用层,通过API接口与所述应用程序层交互连接,用于调用所述SP层的SPI接口,并通过调用通用应用层和系统服务层的接口实现所述应用程序层的操作指令转发;
所述通用应用层,用于接收所述SP层的事件消息,并向所述专用应用层提供包括接收事件消息和发送事件消息的接口;
所述系统服务层,用于实现包括日志管理、注册表管理、内存管理、线程管理和通信管理的系统服务,并为所述专用应用层和通用应用层提供对应接口。
2.根据权利要求1所述的架构系统,其特征在于,
所述通用应用层还用于将来自所述SP层的事件消息直接发送给应用程序层。
3.根据权利要求1所述的架构系统,其特征在于,
所述日志管理的系统服务具体用于提供日志记录和日志维护;
所述注册表管理的系统服务具体用于实现配置信息的读取;
所述内存管理的系统服务具体用于实现内存的管理;
所述线程管理的系统服务具体用于支持多应用程序的互斥访问;
所述通信管理的系统服务具体用于信号量和消息句柄的统一管理。
4.根据权利要求3所述的架构系统,其特征在于,
所述注册表管理的系统服务用于采用读取TingXml文件方式实现配置信息的读取;
所述内存管理的系统服务用于实现顺序分配内存和链式分配内存的管理。
5.根据权利要求1至4中任一项所述的架构系统,其特征在于,
所述通用应用层用于采用函数回调的方式向所述专用应用层提供的包括接收事件消息和发送事件消息的接口;
或,所述通用应用层用于采用linux的进程间通信或线程间通信方式向所述专用应用层提供的包括接收事件消息和发送事件消息的接口。
6.一种基于linux系统的CEN/XFS标准的实现方法,应用于如权利要求1所述的一种基于linux系统的CEN/XFS标准的架构系统,其特征在于,所述实现方法包括:
S01:专用应用层向SP层调用SPI接口;
S02:专用应用层调用系统服务层的日志管理进行日志记录,记录所述SPI接口被调用;
S03:专用应用层根据应用程序层的调用函数名来区分同步命令还是异步命令,若为同步命令,则执行步骤S04,若为异步命令,则专用应用层直接解锁,返回;
S04:通用应用层接收SP层返回的事件消息;
S05:通用应用层返回事件消息给专用应用层;
S06:专用应用层将事件消息通过输出参数返回给应用程序层;
S07:专用应用层解锁,返回。
7.根据权利要求6所述的实现方法,其特征在于,在步骤S01之前还包括:
专用应用层调用系统服务层的线程管理进行加锁;
专用应用层通过应用程序层调用接口的输入参数获取调用命令,所述调用命令的名称为所述调用函数名;
专用应用层调用系统服务层的注册表管理进行配置信息的读取;
专用应用层调用系统服务层的日志管理进行日记记录,记录函数接口被调用;
通用应用层调用系统服务层的线程管理初始化消息句柄,或向SP层注册回调类。
8.根据权利要求7所述的实现方法,其特征在于,在步骤S03中若为异步命令,则所述实现方法还包括:
S031:通用应用层接收SP层返回的事件消息;
S032:通用应用层将事件消息发送给应用程序层。
9.根据权利要求8所述的实现方法,其特征在于,S04或S031具体包括:
通用应用层在初始化时先向设备驱动层注册,把本模块的接口类指针注册到设备驱动层中,所述接口类继承于设备驱动层的接口虚基类;
在SP层300产生事件消息时,调用接口虚基类的成员函数,所述成员函数的参数中含有消息或事件结构体数据;
通过该成员函数的参数将消息或事件结构体数据带到通用应用层,则通用应用层接收到SP层返回的事件消息。
10.根据权利要求8所述的实现方法,其特征在于,
步骤S04和S05具体包括:
通用应用层在初始化时调用系统服务层的通信管理初始化消息句柄,创建消息队列;
在专用应用层向SP层调用SPI接口时,通用应用层将消息队列的ID用参数的形式传递给SP层;
在SP层产生事件消息时,利用linux系统自带的消息队列API函数将消息或事件结构体数据发送到专用应用层,从而专用应用层获取到所述事件消息;
步骤S031和S032具体包括:
通用应用层在初始化时调用系统服务层的通信管理初始化消息句柄,创建消息队列;
在专用应用层向SP层调用SPI接口时,通用应用层将消息队列的ID用参数的形式传递给SP层;
在SP层产生事件消息时,利用linux系统自带的消息队列API函数将消息或事件结构体数据发送到应用程序层,从而应用程序层获取到所述事件消息。