一种电话支付终端软件平台的实现方法技术

技术编号:8271269 阅读:260 留言:0更新日期:2013-01-31 03:27
本发明专利技术提供一种电话支付终端软件平台的实现方法,将同一型号的产品的软件平台自下而上设置底层、第二层、第三层及最上层,底层设置有引导和升级程序模块、电源管理模块、内存管理模块以及中断前后台管理模块,第二层设置有事件管理模块、设备管理模块、硬件配置模块以及通用驱动逻辑,最上层设置有测试程序模块;其中处于下层的组成部分为被上层的组成部分所依赖,同一层次的组成部分可以互相依赖,所述软件平台还包括不严格属于所述第二层及最上层的数据库模块和金融业务工具函数库。本发明专利技术基于凌阳的16位处理器环境的电话支付终端软件平台,能够有效降低上层应用软件与硬件耦合度,简化上层软件开发细节,加速在不同型号硬件产品上迁移。

【技术实现步骤摘要】
本专利技术涉及一种基于凌阳的16位处理器环境的电话支付终端软件平台的实现方法
技术介绍
电话支付是一种新兴的金融支付模式。由于具有是业务流程可以灵活定制、业务功能丰富、终端布放成本低,接入门槛低等特点,电话支付业务目前的发展非常迅速。电话支付终端是一种嵌入式产品,用于采集交易信息,并配合电话支付平台完成电话支付业务。常见的电话支付终端可能有多种功能性设备。一般而言,一台电话支付终端具有一个液晶显示器、一组按键、一个磁条卡读卡器、一组智能卡读卡器、一个打印机、一组用于 电话功能的手柄等设备。根据具体业务、应用环境、终端产品型号的差异,电话支付终端也可以增加、删减部分功能设备,或者可以调整部分功能设备的数量。相对于传统POS终端,目前电话支付终端的整体成本比较低廉。在设计开发电话支付终端设备时,有多种硬件平台和软件环境方案可供选择。例如,采用基于ARM7/ARM9/ARM11的等功能比较强劲的处理器作为硬件基础平台,进而搭建整个电话支付终端设备的软硬件平台的方案。传统POS终端的厂家一般采用这种方案。在这种方案环境中,由于处理器功能强、硬件资源丰富,多数情况下其软件平台会基于ucLinux等嵌入式操作系统、或者uCOS等嵌入式多任务系统核心而搭建。但是,这种软件平台存在一些不足。首先,这类多任务操作系统需要占用较多资源,这就抬高了电话支付终端硬件的最低配置要求,增加了设备的成本;其次,虽然这类软件平台具有多任务功能,但是电话支付业务本身可以不依赖多任务机制来实现,因此该类软件平台的投入产出比比较低;再次,虽然ucLinux、uCOS等系统或核心具备操作系统层的设计,但是缺乏一个统一的对于相似硬件方案的软件的工程管理方案,这使得这类软件平台在迁移到不同相似硬件方案、但不同型号硬件产品上时,需要频繁修改驱动程序、业务应用等软件代码,使其在不同型号产品间迁移的成本比较高。又如,采用51单片机等功能性能有限的低端处理器作为硬件基础平台,进而搭建整个电话支付终端设备的软硬件平台的方案。在这种方案环境中,由于硬件方案比较低端,所以整体成本不高。但是,由于硬件功能和性能比较低,无法迁移ucLinux等操作系统或系统核心,或者迁移这些系统或系统核心后产品的信价比不高。所以在这类低端硬件方案构建的产品中,多数厂家采用裸板方式构建其软件。也就是说,其软件没有严格的操作系统或调度系统、驱动程序、应用程序的区分;所有的软件都可以直接操作硬件来完成功能;所有的软件代码都集中在一个工程中开发和编译。这种软件环境中不存在软件平台的概念。这种软件环境的缺点有整个工程的软件代码量大而复杂,开发其上层应用需要具备上层业务知识和底层驱动知识,才能顺利解决开发中的各种问题;整个软件与硬件的耦合度很高,一旦迁移到某个新型号的产品上,上层应用和下层驱动软件都需要进行大量的修改;缺乏调度和管理机制,使得软件过程很容易出现各类异常,进而影响整机软件的性能;缺乏上层软件与底层软件的区隔机制,使得任意层次或模块的软件需要修改时,都会影响到整体软件工程的重编译,维护成本比较高。在选择电话支付终端的基础硬件方案时,还有一点值得考虑的是,采用通用的处理器时,其处理器中不具备电话支付终端通信所需的硬件模块,因此必须外括一个通信模块完成通信功能。这样就增加了电话支付终端的硬件成本。台湾的凌阳科技股份有限公司是一家从事电子芯片设计和制造的公司,其生产的16位单片机中有部分型号具有电话通信的编解码功能,可以适用于电话支付终端产品的通信方案。若采用这类凌阳的16位单片机处理器构建整个电话支付终端产品,则其软件环境就会遇到上述所说的基于低端硬件方案产品的软件环境的各种问题。
技术实现思路
本专利技术要解决的技术问题,在于提供一种电话支付终端软件平台的实现方法,基于凌阳的16位处理器环境,建立一套能够有效降低上层应用软件与硬件耦合度,简化上层软件开发细节,加速软件稳定,加速软件在不同型号硬件产品上迁移的软件平台。 本专利技术是这样实现的一种电话支付终端软件平台的实现方法,该方法针对同一型号的产品时,将所述软件平台自下而上设置底层、第二层及最上层,所述底层设置有引导和升级程序模块、电源管理模块、内存管理模块以及中断前后台管理模块,所述第二层设置有事件管理模块、设备管理模块、硬件配置模块以及通用驱动逻辑,所述最上层设置有测试程序模块;其中处于下层的组成部分为被上层的组成部分所依赖,同一层次的组成部分可以互相依赖;所述软件平台还包括不严格属于所述第二层及最上层的数据库模块和金融业务工具函数库,该数据库模块和金融业务工具函数库最多只有部分代码需要依赖底层中的硬件管理功能及第二层中的部分驱动;所述引导和升级程序模块用于实现在电话支付终端产品上加载该软件平台环境,以及对电话支付终端产品的软件进行升级;所述电源管理模块用于识别电话支付终端产品的启动模式、运行时的电源供电状态、并对外提供电源状态发生变化的事件,同时,通知上层次的软件响应电源状态的变化以进行对应的处理;所述内存管理模块用于管理电话支付终端产品的内存分配,并统计软件运行过程中的内存使用情况、监控软件运行过程中出现的内存异常;所述内存管理模块针对凌阳的16位单片机环境内存高度有限的特点,采用了堆栈共生的模式进行设计,堆栈均不固定大小,堆栈是否有空间进行再分配,以堆实际使用内存的结束地址和栈顶地址是否出现冲突作为判断标准;所述中断前后台管理模块用于管理电话支付终端产品上的中断处理程序,并通过软件模拟一套可以修改优先级中断体系,且所描述的优先级为中断等待的优先级,而不指中断重入的优先级;所述事件管理模块用于管理该软件平台上所产生的所有事件,并分发事件给对应的处理程序进行处理,同时定义了一套在所有电话支付终端产品上可通用的事件索引号,并预留了部分索引号空间供应用程序和具体型号的产品自行定义和扩展新的事件;所述设备管理模块用于管理一个产品上所有功能设备的调度流程,调度流程包括产品启动时的设备初始化、设备的打开、设备的关闭、对设备的读数据访问、对设备的写数据访问、对设备的通用控制访问、以及对设备的电源事件转达处理;所述设备管理模块定义了设备访问的统一接口,供上层次的软件以相同的接口形式访问所有设备,该统一接口采用了不定参数的调用约定,可以便于后续设备驱动接口扩展时对旧接口的兼容;所述硬件配置模块用于实现在具体产品上功能设备的数量定义、功能设备的组合定义、以及功能设备对应的硬件引脚和参数等信息的定义;所述通用驱动逻辑模块用于实现各功能设备的与硬件管脚定义等硬件参数无关的驱动功能,该模块通过调用硬件配置模块中的硬件定义和参数定义,驱动各硬件模块完成对应功能设备的功能;所述数据库模块用于实现一个为电话支付应用所定制的数据存储功能,所述的数据库是由一组数据表配置信息、以及一组数据库操作接口组成;该数据表配置信息包含了应用数据的版本信息、数据表的数量、各数据表的存储空间大小、以及各数据表的存储位置信息,并在实际数据存储区内的数据信息与该配置信息不匹配的时候将提示异常,格式化数据存储区内的空间,以避免数据错误而引起金融功能的差错,所述数据库模块定义的一组数据库操作接口,包括打开关闭数据表、增加、删除、修改数据记录、查询数据记录、更新数据索引、查询数据库容量接本文档来自技高网
...

【技术保护点】
一种电话支付终端软件平台的实现方法,其特征在于:该方法针对同一型号的产品时,将所述软件平台自下而上设置底层、第二层及最上层,所述底层设置有引导和升级程序模块、电源管理模块、内存管理模块以及中断前后台管理模块,所述第二层设置有事件管理模块、设备管理模块、硬件配置模块以及通用驱动逻辑,所述最上层设置有测试程序模块;其中处于下层的组成部分为被上层的组成部分所依赖,同一层次的组成部分可以互相依赖;所述软件平台还包括不严格属于所述第二层及最上层的数据库模块和金融业务工具函数库,该数据库模块和金融业务工具函数库最多只有部分代码需要依赖底层中的硬件管理功能及第二层中的部分驱动;所述引导和升级程序模块:用于实现在电话支付终端产品上加载该软件平台环境,以及对电话支付终端产品的软件进行升级;所述电源管理模块:用于识别电话支付终端产品的启动模式、运行时的电源供电状态、并对外提供电源状态发生变化的事件,同时,通知上层次的软件响应电源状态的变化以进行对应的处理;所述内存管理模块:用于管理电话支付终端产品的内存分配,并统计软件运行过程中的内存使用情况、监控软件运行过程中出现的内存异常;所述内存管理模块针对凌阳的16位单片机环境内存高度有限的特点,采用了堆栈共生的模式进行设计,堆栈均不固定大小,堆栈是否有空间进行再分配,以堆实际使用内存的结束地址和栈顶地址是否出现冲突作为判断标准;所述中断前后台管理模块:用于管理电话支付终端产品上的中断处理程序,并通过软件模拟一套可以修改优先级中断体系,且所描述的优先级为中断等待的优先级,而不指中断重入的优先级;所述事件管理模块:用于管理该软件平台上所产生的所有事件,并分发事件给对应的处理程序进行处理,同时定义了一套在所有电话支付终端产品上可通用的事件索引号,并预留了部分索引号空间供应用程序和具体型号的产品自行定义和扩展新的事件;所述设备管理模块:用于管理一个产品上所有功能设备的调度流程,调度流程包括产品启动时的设备初始化、设备的打开、设备的关闭、对设备的读数据访问、对设备的写数据访问、对设备的通用控制访问、以及对设备的电源事件转达处理;所述设备管理模块定义了设备访问的统一接口,供上层次的软件以相同的接口形式访问所有设备,该统一接口采用了不定参数的调用约定,可以便于后续设备驱动接口扩展时对旧接口的兼容;所述硬件配置模块:用于实现在具体产品上功能设备的数量定义、功能设备的组合定义、以及功能设备对应的硬件引脚和参数等信息的定义;所述通用驱动逻辑模块:用于实现各功能设备的与硬件管脚定义等硬件参数无关的驱动功能,该模块通过调用硬件配置模块中的硬件定义和参数定义,驱动各硬件模块完成对应功能设备的功能;所述数据库模块:用于实现一个为电话支付应用所定制的数据存储功能,所述的数据库是由一组数据表配置信息、以及一组数据库操作接口组成;该数据表配置信息包含了应用数据的版本信息、数据表的数量、各数据表的存储空间大小、以及各数据表的存储位置信息,并在实际数据存储区内的数据信息与该配置信息不匹配的时候将提示异常,格式化数据存储区内的空间,以避免数据错误而引起金融功能的差错,所述数据库模块定义的一组数据库操作接口,包括打开关闭数据表、增加、删除、修改数据记录、查询数据记录、更新数据索引、查询数据库容量接口;所述金融业务工具函数库:用于实现金融业务常用的功能函数,主要包括标准的金融加解密函数和金融数据格式转换函数;所述测试程序模块:用于实现一组标准的生产测试程序模块,以给工厂生产、以及售后维修提供一个测试设备功能正常性的标准化的软件通道;该方法还针对多个不同型号的产品时建立一在所有型号产品上通用的公共软件文件集合、一在不同型号产品上具有差异的差异软件文件集合以及一为了支撑在该电话支付终端软件平台上完成上层应用开发而提供的软件开发包资料集合,形成文件管理结构;所述公共软件文件集合包括所述电源管理模块、内存管理模块、中断前 后台管理模块、事件管理模块、设备管理模块、硬件配置模块、通用驱动逻辑、数据库模块以及金融业务工具函数库;且包括代码源文件、资源文件、配置文件等支撑软件开发的文件资料,这个集合的文件在不同型号产品的开发过程存在且只存在一份,不会随同不同型号产品的开发和维护而产生新的副本;所述差异软件文件集合包括所述的引导和升级程序模块、硬件配置模块以及测试程序模块;所述软件开发包资料集合包括匹配不同型号产品的成套的SDK资料,任一套SDK资料集合包含了至少1份C语言头文件,至少为1份库文件。...

【技术特征摘要】
1.一种电话支付终端软件平台的实现方法,其特征在于该方法针对同一型号的产品时,将所述软件平台自下而上设置底层、第二层及最上层,所述底层设置有引导和升级程序模块、电源管理模块、内存管理模块以及中断前后台管理模块,所述第二层设置有事件管理模块、设备管理模块、硬件配置模块以及通用驱动逻辑,所述最上层设置有测试程序模块;其中处于下层的组成部分为被上层的组成部分所依赖,同一层次的组成部分可以互相依赖;所述软件平台还包括不严格属于所述第二层及最上层的数据库模块和金融业务工具函数库,该数据库模块和金融业务工具函数库最多只有部分代码需要依赖底层中的硬件管理功能及第二层中的部分驱动; 所述引导和升级程序模块用于实现在电话支付终端产品上加载该软件平台环境,以及对电话支付终端产品的软件进行升级; 所述电源管理模块用于识别电话支付终端产品的启动模式、运行时的电源供电状态、并对外提供电源状态发生变化的事件,同时,通知上层次的软件响应电源状态的变化以进行对应的处理; 所述内存管理模块用于管理电话支付终端产品的内存分配,并统计软件运行过程中的内存使用情况、监控软件运行过程中出现的内存异常;所述内存管理模块针对凌阳的16位单片机环境内存高度有限的特点,采用了堆栈共生的模式进行设计,堆栈均不固定大小,堆栈是否有空间进行再分配,以堆实际使用内存的结束地址和栈顶地址是否出现冲突作为判断标准; 所述中断前后台管理模块用于管理电话支付终端产品上的中断处理程序,并通过软件模拟一套可以修改优先级中断体系,且所描述的优先级为中断等待的优先级,而不指中断重入的优先级; 所述事件管理模块用于管理该软件平台上所产生的所有事件,并分发事件给对应的处理程序进行处理,同时定义了一套在所有电话支付终端产品上可通用的事件索引号,并预留了部分索引号空间供应用程序和具体型号的产品自行定义和扩展新的事件; 所述设备管理模块用于管理一个产品上所有功能设备的调度流程,调度流程包括产品启动时的设备初始化、设备的打开、设备的关闭、对设备的读数据访问、对设备的写数据访问、对设备的通用控制访问、以及对设备的电源事件转达处理;所述设备管理模块定义了设备访问的统一接口,供上层次的软件以相同的接口形式访问所有设备,该统一接口采用了不定参数的调用约定,可以便于后续设备驱动接口扩展时对旧接口的兼容; 所述硬件配置模块用于实现在具体产品上功能设备的数量定义、功能设备的组合定义、以及功能设备对应的硬件引脚和参数等信息的定义; 所述通用驱动逻辑模块用于实现各功能设备的与硬件管脚定义等硬件参数无关的驱动功能,该模块通过调用硬件配置模块中的硬件定义和参数定义,驱动各硬件模块完成对应功能设备的功能; 所述数据库模块用于实现一个为电话支付应用所定制的数据存储功能,所述的数据库是由一组数据表配置信息、以及一组数据库操作接口组成;该数据表配置信息包含了应用数据的版本信息、数据表的数量、各数据表的存储空间大小、以及各数据表的存储位置信息,并在实际数据存储区内的数据信息与该配置信息不匹配的时候将提示异常,格式化数据存储区内的空间,以避免数据错误而引起金融功能的差错,所述数据库模块定义的一组数据库操作接口,包括打开关闭数据表、增加、删除、修改数据记录、查询数据记录、更新数据索引、查询数据库容量接口 ; 所述金融业务工具函数库用于实现金融业务常用的功能函数,主要包括标准的金融加解密函数和金融数据格式转换函数; 所述测试程序模块用于实现一组标准的生产测试程序模块,以给工厂生产、以及售后维修提供一个测试设备功能正常性的标准化的软件通道; 该方法还针对多个不同型号的产品时建立一在所有型号产品上通用的公共软件文件集合、一在不同型号产品上具有差异的差异软件文件集合以及一为了支撑在该电话支付终端软件平台上完成上层应用开发而提供的软件开发包资料集合,形成文件管理结构; 所述公共软件文件集合包括所述电源管理模块、内存管理模块、中断前后台管理模块、事件管理模块、设备管理模块、硬件配置模块、通用驱动逻辑、数据库模块以及金融业务工具函数库;且包括代码源文件、资源文件、配置文件等支撑软件开发的文件资料,这个集合的文件在不同型号产品的开发过程存在且只存在一份,不会随同不同型号产品的开发和维护而产生新的副本; 所述差异软件文件集合包括所述...

【专利技术属性】
技术研发人员:林志伟张登峰余杭军陈成秋
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1