应用于金融终端的嵌入式软件产品的开发框架的制作方法

文档序号:6672264阅读:219来源:国知局
应用于金融终端的嵌入式软件产品的开发框架的制作方法
【专利摘要】一种应用于金融终端的嵌入式软件产品的开发框架,该开发框架划分为四个层次,由底往上分别为:一物理驱动服务层,用以完成对硬件设备的实际控制;一设备管理服务层,用以负责管理对设备的访问控制;一终端应用平台层,用以实现对数据与核心业务逻辑的保护;以及一应用服务层,用以实现具体的用户项目需求功能;其中,该设备管理服务层向上提供一虚拟驱动集并向下提供一驱动管理中心。本发明可以提高金融终端的项目开发的效率,降低项目开发的成本。
【专利说明】应用于金融终端的嵌入式软件产品的开发框架
【技术领域】
[0001]本发明涉及金融终端上的应用开发,本发明尤其涉及一种应用于金融终端上的嵌入式软件产品的开发框架。
【背景技术】
[0002]在当前的互联网时代,科技发展日新月异,各类嵌入式终端设备迅猛发展,尤其是在电子支付不断渗透人们的生活,金融终端变成了普通民众生活中非常常见和重要的一种电子设备。金融终端的应用范围和覆盖率不断提升,各个银行和设备厂商在电子支付和金融终端等方面竞争激烈,因此金融终端的购买客户和直接使用者,对金融终端中与客户体验息息相关的嵌入式软件产品出了更加严苛的要求。终端的硬件设备升级时,应用程序需要修改;终端服务升级时,应用程序也要修改;终端设备的客户体验不够好,要修改的仍然是应用程序。这些现实都给金融终端的软件开发人员带来极大的负担,也对金融终端的软件产品提供商提出了更高的要求。
[0003]目前常用的金融终端的嵌入式软件产品的应用开发方式有如下一些缺陷:
1、在以项目为主导的研发体制下,每个项目需要的硬件载体都有区别。应用软件的开发需要硬件、驱动的支持,因此很多时候应用开发都无法和硬件、驱动的开发并行启动,大大拖延了项目完成的速度。
[0004]2、硬件驱动的不稳定性也经常给应用开发带来困扰,要求应用开发人员对硬件足够熟悉,以判断问题所在。所以对开发人员的素质要求较高,开发成本也较大。
[0005]3、由于硬件设备和终端的更新速度很快,同样的应用程序在不同的设备上需要经过复杂的二次开发,影响了项目进展和设备上线时间,同时也增加了开发成本。

【发明内容】

[0006]本发明要解决的技术问题在于,针对现有技术的上述缺陷,本发明提出了一种应用于金融终端的嵌入式软件产品的开发框架,应用该框架能够实现金融终端上面程序的快速开发,同时顶层应用程序能够实现跨平台应用,可以提高金融终端的项目开发的效率,降低项目开发的成本。
[0007]本发明解决其技术问题所采用的技术方案是:提供一种应用于金融终端的嵌入式软件产品的开发框架,该开发框架划分为四个层次,由底往上分别为:
一物理驱动服务层,用以完成对硬件设备的实际控制;
一设备管理服务层,用以负责管理对硬件设备的访问控制;
一终端应用平台层,用以实现对数据与核心业务逻辑的保护;以及 一应用服务层,用以实现具体的用户项目需求功能;
其中,该设备管理服务层向上提供一虚拟驱动集并向下提供一驱动管理中心。
[0008]在本发明中,该驱动管理中心是对金融终端中同一类型的硬件设备的驱动进行抽象统一之后,定义的针对各个类型的硬件设备的通用接口 ;该虚拟驱动集是对金融终端通用的物理设备的驱动进行进一步抽象统一所定义的,目的是简化上层的应用对硬件设备的控制和调用。
[0009]在本发明中,该虚拟驱动集与该驱动管理中心通过socket通讯方式进行通信,以实现对跨平台调试、远程调试和远程控制的支持。
[0010]在本发明中,该开发框架的应用开发可采用QT + HTML的方式,在终端应用平台层由QT提供的对JS脚本的支持可实现对数据与核心业务逻辑的保护,在应用服务层由HTML可实现业务流程开发及界面的展示功能。优选地,该HTML是支持HTML5的。
[0011]在本发明中,该终端应用平台层包括:功能注入服务模块、WEBKIT +模块、数据采集服务模块、核心业务服务模块以及主控程序模块。
[0012]其中,该数据采集服务模块负责应用程序敏感数据的采集和保存,并提供一通用控制接口,只有该功能注入服务模块能够访问该数据采集服务模块的通用控制接口。
[0013]其中,该核心业务服务模块负责应用程序的交易组包、解包、通讯、以及其他重要的业务逻辑处理,并提供一通用控制接口,只有该功能注入服务模块能访问该核心业务服务模块的通用控制接口。
[0014]在本发明中,对于高端硬件设备,该开发框架可采用该应用服务层调用该终端应用平台层、该终端应用平台层调用该设备管理服务层的虚拟驱动集的应用形式,在需要移植到不同的操作系统时,根据具体操作系统的特性,可能需要对该终端应用平台层和该应用服务层进行重新开发;对于中低端硬件设备,该开发框架可采用该应用服务层调用该设备管理服务层的虚拟驱动集的应用形式。
[0015]在本发明中,该物理驱动服务层由一组独立的设备驱动库组成,与具体的硬件设备型号紧密相关,随操作系统一起提供;每个型号的硬件设备,自行根据设备型号以及该物理驱动服务层的协议实现该类型设备对应的设备驱动库。
[0016]在本发明中,该金融终端是能够实现界面显示、界面数据交互、硬件设备控制以及交易收发功能的。
[0017]本发明的应用于金融终端的嵌入式软件产品的开发框架通过将金融终端的嵌入式软件产品的开发分为了几个层次,每个层次和模块独立的管理相应的内容,各个层次之间的开发可以是并行的,同时使用该开发框架开发出来的应用具有跨平台的特性,避免了复杂的二次开发,从而可以提高金融终端的项目开发的效率,降低项目开发的成本。
【专利附图】

【附图说明】
[0018]图1为本发明应用于金融终端的嵌入式软件产品的开发框架较佳实施例的结构不意O
【具体实施方式】
[0019]现结合附图,对本发明的较佳实施例作详细说明。
[0020]如图1所示,为本发明应用于金融终端的嵌入式软件产品的开发框架的结构示意。该开发框架包含由底往上的以下四个层次,即:L1、物理驱动服务层(H)S,PhysicalDrivers Service) ;L2、设备管理服务层(DMS, Drivers Manager Service) ;L3、终端应用平台层(TAP, Terminal Applications Platform);以及 L4、应用服务层(APPS, ApplicationsService) 0以下,结合证通电子的金融终端ZT2312C对本发明的开发框架予以详细介绍。ZT2312C多功能金易通是证通电子是一款主要面向农村、厂矿、工地以及社区市场的金融服务终端。其硬件配置有磁条读写器、IC卡读写器11、打印机12、加密键盘13、触摸显示屏14等。其支持的基本功能包括:账户查询:账户余额查询、交易明细查询;转账、汇款:卡卡转账、账号汇款;银行卡激活;密码修改;银行卡挂失;以及凭条打印。其支持的扩展功能包括:惠农卡业务:惠农卡小额贷款、还款、贷还款试算;代缴费:代缴水电费、电话费、有线电视费、燃气费、学费等;IC卡充值:公交卡、水电卡、煤气卡充值;短信通业务:短信签约、签约查询、签约注销;以及金融信息查询和广告业务。
[0021]L1、物理驱动服务层(PDS):PDS完成对硬件设备的实际控制,是整个框架中唯一与硬件直接相关的部分。PDS由一组独立的设备驱动库组成,与具体的硬件型号紧密相关,随操作系统一起提供。每个型号的终端,自行根据设备型号以及“设备物理服务层驱动协议”实现该类型设备对应的设备驱动库。
[0022]如ZT2312C的打印模块的驱动程序,根据需求所开发的驱动程序部分代码示例如下:
#define F0NT_N0RMALO// 正常字号
#define F0NT_HEIGHTI//倍高
#define F0NT_WIDTH16//倍宽
#define FONT_HEIGHT_WIDTH 17//倍高倍宽
/*#define F0NT_N0RMAL0// 正常字号
#define F0NT_HEIGHT16//英文倍高
#define F0NT_WIDTH32//英文倍宽
#define FONT_HEIGHT_WIDTH 48//英文倍高倍宽
#define F0NT_WIDTH24// 中文倍宽
#define F0NT_HEIGHT28// 中文倍高
#define F0NT_HEIGHT_WIDTH2 12// 中文倍高倍宽
*/
#define F0NT_N0NE0// 没有加粗
#define F0NT_B0LD8//粗体
#define UNDLINE_N0NE0// 没有下划线
#define UNDLINE_NORMAL128//I 点粗下划线
#define UNDLINE_B0LD136//2 点粗下划线
extern 〃C〃 PDSPrinter ^createPDSPrinter(const char *p_caDeviceType)
{
return new PDSPrinter(p_caDeviceType);
}
氺def: public ivoid PDSPrinter::PDSPrinter(const char *p_caDeviceType)
*func: ZT2312C打印机构造函数PDSPrinter::PDSPrinter (const char *p_caDeviceType): PDSDevice (p_caDeviceType)
{
//执行初始化默认波特率是在此不用做修改
if ( SUCC == this->openO )
blConnect = true;
else
blConnect = false;
//执行设备的初始化
}
氺def: public ivoid PDSPrinter:~PDSPrinterO
*func: ZT2312C打印机析构函数
PDSPrinter::~PDSPrinter O
{
}
不同的金融终端的硬件设备,只`需要根据设备物理服务层驱动协议的接口规范进行驱动开发,开发完成后就可以使用原先开发完成的上层应用程序,实现软件的跨平台应用。
[0023]设备物理服务层驱动协议,是对同一类型的设备进行抽象统一之后,定义的针对某一类型的设备通用接口。该层协议可用于驱动管理中心(DMC)调用ros中特定的设备对象。驱动协议是虚拟的概念,主要是指根据某一类的设备根据设备共性定义和封装驱动的接口。满足该协议的所有设备都有相同的底层设备驱动接口。
[0024]L2、设备管理服务层(DMS) =DMS负责管理应用对设备的访问控制,向上提供应用对设备的应用层访问接口,向下执行设备访问控制指令。DMS包括两个部分:驱动管理中心(DMC, Drivers Manager Central) 21 和虚拟驱动集(VDS, Virtual Drivers Set) 22。其中,该DMC是对金融终端中同一类型的硬件设备的驱动进行抽象统一之后,定义的针对各个类型的硬件设备的通用接口。该VDS是对金融终端通用的物理设备的驱动进行进一步抽象统一所定义的,目的是简化上层的应用对硬件设备的控制和调用。
[0025]DMC是以“设备物理服务层驱动协议”为基础实现的设备控制服务程序。DMC通过动态调用的方式加载PDS提供的驱动库来实现对设备的控制。由于采用动态加载技术,因此可以做到在不同的型号的终端上使用同一个DMC,并且可以根据需要只加载必须的设备驱动即可。
[0026]DMC服务程序调用打印模块的动态库,代码示例如下:
//载入动态库c_libf_createpdsprinter = (LIBF_CREATEPDSPRINTER )dlsym(c_handle,〃createPDSPrinter〃);
c_printer = c_libf_createpdsprinter(p_caType);
上述代码载入打印机动态库,并调用CreateF1DSPrinterO构造函数,对打印机进行初始化。之后就可以通过c_printer成员调用打印机的函数,实现DMC对设备驱动的控制和使用。
[0027]DMC可以通过配置文件配置需要加载的驱动和设备,部分配置文件内容和配置格式示例如下:
[pds]
count =5Il需要使用的设备个数
[ctrl]
port = 4150 H 监听端口 [device_l]
open = IIl是否开启
port = 4100 H 监听端口
class = prn//设备类别
type =41//设备型别
os= linux26 //操作系统
1gshow = I//是否向标准输出打印日志
1gmaxln = 1000 //日志保存最大行数VDS是以“设备应用层驱动协议”为基础实现得设备应用层驱动接口。设备应用层驱动协议,是对物理服务层驱动进行进一步抽象统一,以简化应用对设备的控制为目的而定义的,该层协议用于VDS定义提供给应用调用的应用接口。
[0028]VDS实现的部分代码示例如下,代码主要是通过socket向DMC发送指令,DMC收到指令之后调用驱动接口实现对底层设备的控制和调用,完成之后通过socket发送指令返回操作结果:
/木[method木木木木木木木木木木木木木木木木木木木木木木木木木
^def: public int VDSPrinter::print (const char *p_caStr)
^func:打印字符串
*args: p_caStr 需要打印的字符串
*ret: ret=SUCC 成功
ret<0 错误代码
int VDSPrinter::print(const char *p_caStr)
{
int iLn=0, iReqId=0, iRet=0;
char ^c pBuff=NULL, caBuff[256] = {0}, caRetcode[8] = {0};
ZTTlv2 tlvl, tlv2;
this->get_header_item(&iReqId, &tlvl, DMC_CMD_PRN_STR, DMC_NEED_RSP);
【权利要求】
1.一种应用于金融终端的嵌入式软件产品的开发框架,其特征在于,该开发框架划分为四个层次,由底往上分别为: 一物理驱动服务层,用以完成对硬件设备的实际控制; 一设备管理服务层,用以负责管理对硬件设备的访问控制; 一终端应用平台层,用以实现对数据与核心业务逻辑的保护;以及 一应用服务层,用以实现具体的用户项目需求功能; 其中,该设备管理服务层向上提供一虚拟驱动集并向下提供一驱动管理中心。
2.根据权利要求1所述的开发框架,其特征在于,该驱动管理中心是对金融终端中同一类型的硬件设备的驱动进行抽象统一之后,定义的针对各个类型的硬件设备的通用接口 ;该虚拟驱动集是对金融终端通用的物理设备的驱动进行进一步抽象统一所定义的,目的是简化上层的应用对硬件设备的控制和调用。
3.根据权利要求1所述的开发框架,其特征在于,该虚拟驱动集与该驱动管理中心通过socket通讯方式进行通信,以实现对跨平台调试、远程调试和远程控制的支持。
4.根据权利要求1所述的开发框架,其特征在于,该开发框架的应用开发可采用QT+HTML的方式,在终端应用平台层由QT提供的对JS脚本的支持可实现对数据与核心业务逻辑的保护,在应用服务层由HTML可实现业务流程开发及界面的展示功能。
5.根据权利要求1所述的开发框架,其特征在于,该终端应用平台层包括:功能注入服务模块、WEBKIT +模块、数据采集服务模块、核心业务服务模块以及主控程序模块。
6.根据权利要求5所述的开发框架,其特征在于,该数据采集服务模块负责应用程序敏感数据的采集和保存,并提供一通用控制接口,只有该功能注入服务模块能够访问该数据采集服务模块的通用控制接口。
7.根据权利要求5所述的开发框架,其特征在于,该核心业务服务模块负责应用程序的交易组包、解包、通讯、以及其他重要的业务逻辑处理,并提供一通用控制接口,只有该功能注入服务模块能访问该核心业务服务模块的通用控制接口。
8.根据权利要求1所述的开发框架,其特征在于,对于高端硬件设备,该开发框架可采用该应用服务层调用该终端应用平台层、该终端应用平台层调用该设备管理服务层的虚拟驱动集的应用形式,在需要移植到不同的操作系统时,根据具体操作系统的特性,可能需要对该终端应用平台层和该应用服务层进行重新开发;对于中低端硬件设备,该开发框架可采用该应用服务层调用该设备管理服务层的虚拟驱动集的应用形式。
9.根据权利要求1所述的开发框架,其特征在于,该物理驱动服务层由一组独立的设备驱动库组成,与具体的硬件设备型号紧密相关,随操作系统一起提供;每个型号的硬件设备,自行根据设备型号以及该物理驱动服务层的协议实现该类型设备对应的设备驱动库。
10.根据权利要求1至9任一所述的开发框架,其特征在于,该金融终端是能够实现界面显示、界面数据交互、硬件设备控制以及交易收发功能的。
【文档编号】G07F19/00GK103777942SQ201310651878
【公开日】2014年5月7日 申请日期:2013年12月6日 优先权日:2013年12月6日
【发明者】王刚, 马兴旺, 秦云川, 梁凌阳, 谢碧清, 夏杰, 冯婷 申请人:深圳市证通电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1