专利名称:一种电子支付系统双处理器子系统间通信及其调用方法
技术领域:
本发明涉及电子商务,具体涉及一种电子支付系统双处理器子系统间通信及其调用方法。
背景技术:
随着电子商务的活动日益增多,数据安全的要求也增高,因此很多方面都相继推 出各种级别的安全标准,特别是电子支付领域的多家机构联合在2006年成立了制定安全 规范的国际组织-PCI (PaymentCardIndustry,支付卡行业),推出了 v2. 0版本的支付设备 的安全规范,其中就对数据存储、密码输入、传输的安全做了很具体和严格的要求。为了达 到国际的安全标准,出现了各种各样的设计方法。同时也出现专用的安全处理芯片,但是 现有的专用安全芯片的处理能力不够高,没法单片处理器就满足更高要求的处理功能。所 以,需要双处理器处理,用一个处理能力比较强大的通用处理器搭配一个具有安全处理能 力的安全处理器,构成符合安全规范的产品,运用于电子商务的数据交换和处理中,如图1 所示,基于这两个处理器构成含通用处理器的高能力处理子系统(PDA)和含安全处理器的 安全处理子系统(PCI),分别管理各自接口设备,两处理器通过串口通信连接。目前,这种双 处理器电子支付系统中安全处理器提供了外部串口命令接口,使普通处理器能通过发送串 口命令方式与安全处理器通信、调用PCI子系统的功能和接口设备,但这种命令式通信方 法是单向的,并且固定、不灵活和尤其对于多PDA应用配合调用PCI时处理效率低。
发明内容
本发明需要解决的技术问题是,如何提供一种电子支付系统双处理器子系统间通 信及其调用方法,能提供相对灵活、高效通信及调用方法,或者能提供双向通信和相互调 用。本发明的第一个技术问题这样解决构造一种电子支付系统双处理器子系统间通 信方法,包括以下步骤
在通用处理器中常驻通过通讯命令或处理数据与安全处理器进行通信的通信管理程 序;并且
(-)所述通用处理器中应用程序通过所述通信管理程序建立的共享内存与所述通信管 理程序交互、向安全处理器发送通讯命令和接收对应处理数据。这样所有PDA子系统应用 程序都通过共享内存经统一的通信管理程序调用PCI子系统、有利于多PDA子系统应用程 序配合调用PCI子系统时的处理效率;
(二)所述通信管理程序提供PDA子系统设备命令集和外部命令接口,执行安全处理器发 送的通讯命令并返回对应处理数据。这样使PCI子系统能调用PDA子系统的外部设备或接 口。所述命令集具体可以利用如=WINCE嵌入式操作系统提供的API (ApplicationProgramm inglnterface,应用程序编程接口)函数进行对调用PDA子系统的外部设备或接口,该PDA子系统使用WINCE嵌入式操作系统。按照本发明提供的通信方法,可以具备所述㈠和㈡中的任一项,也可以同时具备, 或虽两者都具备但一时间只能有其中一种、要改变须要进行模式切换,比如从(-)转化为(二) 或反过来从(二)转化为(-)都须要设置对应模式并还可能需要重新启动使模式生效。按照本发明提供的通信方法,所述通用处理器中应用程序通过调用动态链接库 (DLL)实例程序与所述共享内存交互,这样便于统一管理和提高安全性。按照本发明提供的通信方法,所述安全处理器定义提供给其应用程序的用于解析 成被发送通讯命令并返回对应处理数据的外部模块调用函数,这样便于PCI子系统应用程 序调用PDA子系统。本发明的第二个技术问题这样解决构建一种电子支付系统中安全处理器子系统 调用方法(PDA子系统调用PCI子系统),在通用处理器中常驻通信管理程序,包括以下步 骤
所述通信管理程序建立传递命令和处理数据的共享内存并将其映射句柄发送给被加 载的动态链接库程序实例;
所述通用处理器中应用程序调用所述动态链接库程序实例;
安全处理器接收由所述通信管理程序通过安全处理器与通用处理器间通讯口发来的 通讯命令,处理后将对应结果经所述通讯返回给所述通信管理程序。按照本发明提供的调用方法,所述动态链接库实例获取所述共享内存地址并读写 所述共享中数据。本发明的第三个技术问题这样解决构建一种电子支付系统中高能力处理子系统 调用方法(PCI子系统调用PDA子系统),在通用处理器中常驻通信管理程序,包括以下步 骤
所述通信管理程序提供含通用处理器的高能力处理子系统设备命令集和外部命令接 口并接收执行所述命令和返回对应处理数据;
所述安全处理器中应用程序通过安全处理器与通用处理器间通讯口发送所述命令和 接收对应处理数据。按照本发明提供的调用方法,所述安全处理器定义提供给其应用程序的用于解析 成被发送通讯命令并返回对应处理数据的外部模块调用函数。。本发明提供的电子支付系统双处理器子系统间通信及其调用方法,在安全处理器 与常驻通用处理器中的通信管理程序建立通信通道,进一步通过共享内存和DLL实现PDA 子系统应用与通信管理程序的交互,进一步在通信管理程序中利用API函数定义高能力处 理子系统设备命令集和外部命令接口、接收并执行安全处理器发送的命令和返回对应处理 数据,这种方法实现PDA子系统与PCI子系统间的相互调用并提高了PDA子系统调用PCI 子系统的效率。
下面结合附图和具体实施例进一步对本发明进行详细说明。图1是本发明具体实施例电子支付系统硬件结构示意图2是图1所示系统中PDA子系统调用PCI子系统的模块及数据流示意图;图3是图1所示系统中PDA子系统调用PCI子系统的统一建模语言(UML)序列图; 图4是图1所示系统中PCI子系统调用PDA子系统的统一建模语言(UML)序列图。
具体实施例方式如图1所示,本发明具体实施例电子支付系统,硬件架构与传统一致,由含安全处理器的安全处理子系统(PCI)和含通用处理器的高能力处理子系统(PDA)组成,其中安全 处理器和涉及到安全要求部分的硬件都放到PCI子系统,如智能卡接口、按键、密钥管理 和磁卡阅读器,其PDA子系统还包括显示和触摸屏、串行通信接口、全球定位系统、打印机 等,其安全处理器和通用处理器的通讯口采用串口,使用RS232通信协议。本发明具体实施 例PDA子系统能方便调用智能卡接口、按键、密钥管理和磁卡阅读器以及PCI子系统的功 能;PCI子系统也能调用显示和触摸屏、串行通信接口、全球定位系统、打印机等。该电子支付系统实现本发明的关键在于通过在通用处理器中常驻通信管理程序 (monitor)与安全处理器建立通信通道,再利用该通信通道进行PCI子系统与PDA子系统之 间的相互调用,具体包括
㈠PDA子系统调用PCI子系统 首先,说明其关键,共享内存
本具体实施例PDA子系统使用WINCE嵌入式操作系统,其共享内存是用API (Applica tionProgramminglnterface,应用程序编程接口)函数FileMapping实现的。我们可以用 API函数CreateFileMapping创建一个内存文件映射对象,CreateFileMapping这个API函 数将创建一个内核对象,用于映射文件到内存。由于不需要一个实际的文件,所以,就不需 要调用API函数CreateFile创建一个文件。设置文件大小。根据需要文件一定不会超过4G(本具体实施例中512KB即可满足 应用需要)
映射文件到调用虚拟地址。使用API函数MapViewOfFiIe映射到当前进程的虚拟地址 上即可。一旦用完共享内存,再调用API函数UnmapViewOfFile回收内存地址空间。另外API函数CreateFiIeMapping的最后一个参数为文件名,别的进程就可以用 这个文件名去调用API函数OpenFileMapping来打开这个FileMapping文件对象,在新的 进程内作映射。但通过约定字符串的方法存在较多缺点,如更新问题,重名问题等。本具体实施例的方法是,用API函数DuplicateHandle在新进程中复制一份 FileMapping文件对象出来,将同一个内存文件共享给多个应用程序,然后想办法把句柄 Handle通知新进程,比如用消息的方式传递过去。第二,说明本具体实施例PDA子系统调用PCI子系统具体方法
如图2和3所示,本具体实施例PDA子系统上的WINCE应用程序调用PCI子系统功能 或设备,是通过动态链接库(DLL)连接到通信管理程序(monitor)完成的,即由monitor控 制在WINCE上的所有连接调用。如果不存在monitor,则WINCE上的应用程序无法调用PCI 子系统。Monitor响应一个DLL中函数的调用,将数据通过RS232串行接口发送到PCI子系 统,PCI子系统将处理结果返回给monitor,由monitor将处理结果返回给被调用的DLL,完成一次应用程序的函数调用。而其中核心在于在Monitor中建立一个内存映射,即共享内存。Monitor将从PCI收到的命令转化成相应的数据,将monitor的处理结果转化成对应的 数据,拷贝到共享内存中。㈡PCI子系统调用PDA子系统
如图4所示,本具体实施例PCI子系统在使用PDA子系统的设备时,通过一个可靠的传 输协议(串口上的RS232协议)承载数据,与运行在PDA子系统上的monitor建立唯一的数 据流连接,从而使安全处理器(usip)通过monitor控制PDA子系统显示内容、使用通信模 块(串口、全球定位系统(GPRS)等)。Monitor通过通讯协议接收来自PCI子系统的命令数据,由协议解析命令后,调用 PDA子系统中的API,完成对指定外部设备或接口的操作,从而实现了 PCI子系统使用调度 PDA子系统的功能。以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与 修饰,皆应属本发明权利要求的涵盖范围。
权利要求
一种电子支付系统双处理器子系统间通信方法,其特征在于,包括以下步骤在通用处理器中常驻通过通讯命令或处理数据与安全处理器进行通信的通信管理程序;所述通用处理器中应用程序通过所述通信管理程序建立的共享内存与所述通信管理程序交互、向安全处理器发送通讯命令和接收对应处理数据。
2.根据权利要求1所述通信方法,其特征在于,所述通用处理器中应用程序通过调用 动态链接库实例程序与所述共享内存交互。
3.根据权利要求1所述通信方法,其特征在于,所述通信管理程序提供含通用处理器 的高处理能力子系统设备命令集和外部命令接口,执行安全处理器发送的通讯命令并返回 对应处理数据。
4.一种电子支付系统双处理器子系统间通信方法,其特征在于,包括以下步骤 在通用处理器中常驻通过通讯命令或处理数据与安全处理器进行通信的通信管理程序;所述通信管理程序提供通用处理器子系统设备命令集和外部命令接口,执行安全处理 器发送过来的通讯命令并返回对应处理数据。
5.根据权利要求4所述通信方法,其特征在于,所述安全处理器定义提供给其应用程 序的用于解析成被发送通讯命令并返回对应处理数据的外部模块调用函数。
6.根据权利要求4所述通信方法,其特征在于,所述通用处理器中应用程序通过所述 通信管理程序建立的共享内存与所述通信管理程序交互、向安全处理器发送通讯命令和接 收对应处理数据。
7.一种电子支付系统中安全处理子系统调用方法,其特征在于,在通用处理器中常驻 通信管理程序,包括以下步骤所述通信管理程序建立传递命令和处理数据的共享内存并将其映射句柄发送给被加 载的动态链接库程序实例;所述通用处理器中应用程序调用所述动态链接库程序实例;安全处理器接收由所述通信管理程序通过安全处理器与通用处理器间通信口发来的 通讯命令,处理后将对应结果经所述通信口返回给所述通信管理程序。
8.根据权利要求7所述调用方法,其特征在于,所述动态链接库实例获取所述共享内 存地址并读写所述共享中数据。
9.一种电子支付系统中高能力处理子系统调用方法,其特征在于,在通用处理器中常 驻通信管理程序,包括以下步骤所述通信管理程序提供含通用处理器的高能力处理子系统设备命令集和外部命令接 口并接收执行所述命令和返回对应处理数据;所述安全处理器中应用程序通过安全处理器与通用处理器间通信口发送所述命令和 接收对应处理数据。
10.根据权利要求9所述调用方法,其特征在于,所述安全处理器定义提供给其应用程 序的用于解析成被发送通讯命令并返回对应处理数据的外部模块调用函数。
全文摘要
本发明涉及一种电子支付系统双处理器子系统间通信及其调用方法,其中通信方法包括通过常驻通用处理器的通信管理程序与安全处理器建立统一通信通道;调用方法包括PDA子系统调用DLL与通信管理程序建立的共享内存交互再经所述通信通道调用PCI子系统,或者通信管理程序解析执行PCI子系统通过所述通信通道发送的通讯命令所对应的API函数实现PCI子系统对PDA子系统的调用。这种电子支付系统双处理器子系统间通信及其调用方法,能实现PDA子系统与PCI子系统间的相互调用并提高了PDA子系统调用PCI子系统的效率。
文档编号G06Q20/00GK101840391SQ20101017409
公开日2010年9月22日 申请日期2010年5月17日 优先权日2010年5月17日
发明者丁钊, 张世渡 申请人:深圳视融达科技有限公司