太阳城集团

  • / 10
  • 下载费用:30 金币  

一种客户端和UI交互方法.pdf

摘要
申请专利号:

太阳城集团CN201610998983.1

申请日:

2016.11.14

公开号:

太阳城集团CN106778193A

公开日:

2017.05.31

当前法律状态:

公开

有效性:

审中

法律详情: 公开
IPC分类号: G06F21/34(2013.01)I; G06F21/44(2013.01)I 主分类号: G06F21/34
申请人: 北京握奇智能科技有限公司
发明人: 李勃
地址: 100102 北京市朝阳区望京利泽中园101号启明国际大厦西侧八层
优先权:
专利代理机构: 北京天悦专利代理事务所(普通合伙) 11311 代理人: 田明;张海秀
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201610998983.1

授权太阳城集团号:

法律状态太阳城集团日:

2017.05.31

法律状态类型:

公开

摘要

本发明公开了一种客户端和UI交互方法,属于UI交互技术领域。所述客户端中安装有USBkey中间件,所述USBkey中间件包括UI组件和非UI组件,所述UI组件是指USBkey中间件中所有涉及到UI交互功能的部分;所述UI组件包括若干个针对不同UI框架运行环境实现的UI模块;USBkey中间件根据其所在客户端的UI框架运行环境启用相应的UI模块,非UI组件与UI组件之间通过UI通信接口采用进程通信方式进行通信。本发明所提供的客户端和UI交互方法,通过将具有UI交互功能的USBkey中间件中的UI模块剥离出来,并设置了适用于不同UI框架运行环境的UI组件,使USBkey中间件能够适用于不同的UI框架运行环境下,解决了因UI框架不同带来的USBkey中间件的部署难题。

权利要求书

1.一种客户端,其特征在于:所述客户端中安装有USBkey中间件,所述USBkey中间件包
括UI组件和非UI组件,所述UI组件是指USBkey中间件中所有涉及到UI交互功能的部分;所
述UI组件包括若干个针对不同UI框架运行环境实现的UI模块;USBkey中间件根据其所在客
户端的UI框架运行环境启用相应的UI模块;所述USBkey中间件还包括:
UI通信接口UI_API:用于非UI组件与UI组件之间采用进程通信方式进行通信。
2.根据权利要求1所述的一种客户端,其特征在于:所述USBkey中间件还包括:UI接口
库,用于封装存储UI调用原语;所述UI调用原语为根据USBkey中间件所涉及的UI交互场景
确定的、非UI组件和UI组件之间约定的、与操作系统平台无关的原语;所述非UI组件与UI组
件之间采用所述UI调用原语进行通信。
3.根据权利要求1所述的一种客户端,其特征在于:所述UI框架运行环境包括Linux操
作系统下的Java运行环境、Qt运行环境和GTK运行环境。
4.根据权利要求1至3之一所述的一种客户端,其特征在于:所述USBkey中间件还包括:
UI组件管理接口,用于对USBkey中间件的UI组件进行管理;所述管理包括对UI模块的
增加、修改或删除。
5.基于权利要求1至4中任一所述客户端的一种UI交互方法,包括以下步骤:
USBkey中间件根据其运行所在的客户端的UI框架运行环境,确定并启用其与所述UI框
架运行环境相应的UI模块;
USBkey中间件的非UI组件通过进程间通信方式向所启用的UI模块发送UI请求太阳城集团,UI
模块根据接收到的UI请求太阳城集团调用客户端的UI接口完成相应的UI交互动作。
6.根据权利要求5所述的一种UI交互方法,其特征在于:非UI组件采用UI调用原语向UI
模块发送UI请求太阳城集团;所述调用原语为根据USBkey中间件所涉及的UI交互场景确定的、非
UI组件和UI组件之间约定的、与操作系统平台无关的原语。
7.根据权利要求5或6所述的一种UI交互方法,其特征在于:所述UI交互场景包括用户
密码获取和验证、提示用户按键、提供用户选择列表供用户选择。
8.根据权利要求7所述的一种UI交互方法,其特征在于:所述UI调用原语包括UI会话开
始原语BeginSession、UI会话结束原语EndSession、密码输入对话框显示原语PIN_Show、用
户密码获取原语PIN_GetPIN、密码错误提示及重新输入原语PIN_Retry、密码输入框关闭原
语PIN_Finish、等待对话框显示原语Waiting_Show、等待对话框关闭原语Waiting_Finish、
列表选择框显示原语List_Show、以及用户选择项获取及对话框关闭原语List_GetSel。
9.根据权利要求8所述的一种UI交互方法,其特征在于:USBkey中间件根据客户端的UI
框架运行环境,确定并运行其与所述UI框架运行环境相应的UI模块,包括:
非UI组件依次向若干个UI模块发送UI会话开始原语,将在设定太阳城集团内接收到响应数据
的UI模块,确定为与UI框架运行环境相对应的UI模块。
10.根据权利要求8所述的一种UI交互方法,其特征在于:USBkey中间件根据客户端的
UI框架运行环境,确定并运行其与所述UI框架运行环境相应的UI组件,包括:
USBkey中间件向客户端发送获取UI框架运行环境的请求太阳城集团;
USBkey中间件根据客户端返回的UI框架运行环境太阳城集团确定并运行其与所述UI框架运
行环境相应的UI模块。

说明书

一种客户端和UI交互方法

技术领域

本发明涉及USBkey技术领域,具体涉及一种客户端和UI交互方法。

背景技术

USBKey是一种以USB为接口标准的硬件设备,它内置单片机或智能卡芯片,具备密
码运算功能,有一定容量的私密存储空间,可以存储用户的私钥以及数字证书,利用USBKey
内置的公钥算法实现对用户身份的认证,由于用户私钥保存在密码锁中,理论上使用任何
方式都无法读取,因此保证了用户认证的安全性。

随着互联网和电子商务的发展,USBKey作为网络用户身份识别和数据保护的“电
子钥匙”,正在被越来越多的用户所认识和使用。USBkey与上位机(客户端)连接进行UI数据
交互的过程中,需要在上位机中安装USBKey中间件,上位机中的上层安全应用(应用层)通
过调用USBKey中间件,USBkey中间件通过USB驱动与USBKey主芯片进行APDU指令交互。但在
实际应用中,对于某一操作系统,一般会有多个发行版分支,如对于Linux操作系统,就有
Ubuntu、Fedora、Debian等多个发行版分支,不同的Linux发行版中搭载的桌面环境、窗口管
理器、图形应用程序框架(下文中简称为UI框架)等都不尽相同。即使是相同的Linux发行
版,USBKey产品的终端用户所使用的系统环境配置通常也各有差异。在UI应用程序开发阶
段,不同的UI框架意味着不同的UI设计概念、不同的UI调用接口约定、不同的数据结构定
义、不同的编译依赖环境。因此,要实现针对不同的系统UI框架部署USBKey中间件,通常意
味着需要分别开发多款软件产品。在不改变用户系统环境配置的前提下,如何使包含UI交
互功能的USBKey中间件运行在更多不同版本的系统中,一直是个难题。

发明内容

针对现有技术中存在的缺陷,本发明的目的在于提供一种客户端和UI交互方法,
实现具有UI交互功能的USBkey中间件多种不同的UI框架运行环境下的正常运行。

为实现上述目的,本发明采用的技术方案如下:

一种客户端,所述客户端中安装有USBkey中间件,所述USBkey中间件包括UI组件
和非UI组件,所述UI组件是指USBkey中间件中所有涉及到UI交互功能的部分;所述UI组件
包括若干个针对不同UI框架运行环境实现的UI模块;USBkey中间件根据其所在客户端的UI
框架运行环境启用相应的UI模块;所述USBkey中间件还包括:

UI通信接口UI_API:用于非UI组件与UI组件之间采用进程通信方式进行通信。

进一步,如上所述的一种客户端,所述USBkey中间件还包括:UI接口库,用于封装
存储UI调用原语;所述UI调用原语为根据USBkey中间件所涉及的UI交互场景确定的、非UI
组件和UI组件之间约定的、与操作系统平台无关的原语;所述非UI组件与UI组件之间采用
所述UI调用原语进行通信。

进一步,如上所述的一种客户端,所述UI框架运行环境包括Linux操作系统下的
Java运行环境、Qt运行环境和GTK运行环境。

进一步,如上所述的一种客户端,所述USBkey中间件还包括:

UI组件管理接口,用于对USBkey中间件的UI组件进行管理;所述管理包括对UI模
块的增加、修改或删除。

本发明实施例中还提供了基于所述客户端的一种UI交互方法,包括以下步骤:

USBkey中间件根据其运行所在的客户端的UI框架运行环境,确定并启用其与所述
UI框架运行环境相应的UI模块;

USBkey中间件的非UI组件通过进程间通信方式向所启用的UI模块发送UI请求信
息,UI模块根据接收到的UI请求太阳城集团调用客户端的UI接口完成相应的UI交互动作。

进一步,如上所述的一种UI交互方法,非UI组件采用UI调用原语向UI模块发送UI
请求太阳城集团;所述调用原语为根据USBkey中间件所涉及的UI交互场景确定的、非UI组件和UI
组件之间约定的、与操作系统平台无关的原语。

进一步,如上所述的一种UI交互方法,所述UI交互场景包括用户密码获取和验证、
提示用户按键、提供用户选择列表供用户选择。

进一步,如上所述的一种UI交互方法,所述UI调用原语包括UI会话开始原语
BeginSession、UI会话结束原语EndSession、密码输入对话框显示原语PIN_Show、用户密码
获取原语PIN_GetPIN、密码错误提示及重新输入原语PIN_Retry、密码输入框关闭原语PIN_
Finish、等待对话框显示原语Waiting_Show、等待对话框关闭原语Waiting_Finish、列表选
择框显示原语List_Show、以及用户选择项获取及对话框关闭原语List_GetSel。

进一步,如上所述的一种UI交互方法,USBkey中间件根据客户端的UI框架运行环
境,确定并运行其与所述UI框架运行环境相应的UI模块,包括:

非UI组件依次向若干个UI模块发送UI会话开始原语,将在设定太阳城集团内接收到响应
数据的UI模块,确定为与UI框架运行环境相对应的UI模块。

进一步,如上所述的一种UI交互方法,USBkey中间件根据客户端的UI框架运行环
境,确定并运行其与所述UI框架运行环境相应的UI组件,包括:

USBkey中间件向客户端发送获取UI框架运行环境的请求太阳城集团;

USBkey中间件根据客户端返回的UI框架运行环境太阳城集团确定并运行其与所述UI框
架运行环境相应的UI模块。

本发明的有益效果在于:本发明所提供的客户端和UI交互方法,通过将具有UI交
互功能的USBkey中间件中的UI模块剥离出来,并设置了适用于不同UI框架运行环境的UI组
件,使USBkey中间件能够适用于不同的UI框架运行环境下,解决了因UI框架不同带来的
USBkey中间件的部署难题。

附图说明

图1为本发明具体实施方式中一种客户端的结构示意图;

图2为本发明具体实施方式中非UI组件与UI组件通信的示意图;

图3为本发明具体实施方式中一种UI交互方法的流程示意图;

图4为本发明具体实施方式中各UI调用原语之间的状态机转换示意图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

图1示出了本发明具体实施方式中一种客户端的结构示意图,由图中可以看出,该
客户端中安装有USBkey中间件,所述USBkey中间件包括UI组件10和非UI组件20,所述UI组
件10是指USBkey中间件中所有涉及到UI交互功能的部分;所述UI组件10包括若干个针对不
同UI框架运行环境实现的UI模块11;USBkey中间件根据其所在客户端的UI框架运行环境启
用相应的UI模块;为了实现UI组件10和非UI之间的数据交互,所述USBkey中间件还包括UI
通信接口UI_API30,非UI组件20与UI组件10之间通过该通信接口采用进程通信方式进行通
信。

本实施方式中,所述的客户端是可与USBkey进行通信连接,并能够通过网络等方
式与USBkey签名验证服务器连接并进行数据交互的设备,包括但不限于PC等。所述USBkey
中间件是USBkey设备提供商提供,USBkey中间件最初是存储于USBkey中的,在USBkey与客
户端首次连接时,会将USBkey中间件安装于客户端中,是用于操作USBkey的软件。USBKey中
间件实现了一组公共接口,提供依赖于USBKey的密码学功能服务,如加密解密、签名验签、
管理密钥和容器、管理证书等。USBKey中间件通过USB驱动与USBKey主芯片进行APDU指令交
互,上层的安全应用只需要调用中间件提供的接口即可实现密码学应用。

本实施方式中所提供的客户端,将其所安装的USBkey中间件中的所有涉及UI
(User Interface)交互功能的UI组件10分离出来,并针对不同的UI框架运行环境分别设置
了若干个适用于不同UI框架运行环境的UI模块11,从而使得USBkey中间件能够运行在更多
的UI框架运行环境中,即使用户的客户端的UI框架运行环境发生变化,也能够选择对应的
UI模块实现正常的UI交互,而无需针对不同的UI框架运行环境单独开发不同的USBkey中间
件产品。

此外,通过将UI组件10和非UI组件20分离,如果需要USBkey中间件支持新的UI框
架运行环境(USBkey中间件没有对应的UI模块时)或对中间件中涉及UI交互功能的部分进
行修改时,只需要开发新的UI模块或对UI模块进行修改即可,而无需对USBkey中间件的非
UI组件进行改动,大大降低了工作量,提高了更新效率。

本实施方式中,所述UI框架运行环境包括但不限于Linux操作系统下的Java运行
环境、Qt运行环境和GTK运行环境等,相应的,所述UI组件包括了基于Java、Qt、GTK实现的UI
模块,即分别对应于三种UI框架分别编写三种对应的用于实现UI交互功能的UI模块。

在实际应用中,USBkey中间件由上层安全应用调用,本实施方式中,USB中间件中
除上述UI组件10外,其它部分(包括所述非UI部分和UI通信接口UI_API)都运行在上层安全
应用软件开始的进程中,UI组件是基于不同UI框架开发的UI应用程序,具有独立的进程,因
此,USBkey中间件的非UI组件与UI组件10的UI模块11之间可以采用进程间通信方式进行数
据交互。本实施方式中,所述USBkey中间件还包括UI组件通信接口UI_API,如图2所示,
USBkey中间件的非UI组件所在的应用进程通过UI_API接口与UI模块所在的UI应用程序进
程(UI进程)进行通讯,图中,UI_Server与UI_Resource分别表示UI进程所对应UI服务器和
服务器所需的资源。

本实施方式中,为了提高非UI组件20与UI模块11之间的数据传输效率,所述
USBkey中间件还包括UI接口库,UI接口库用于封装存储UI调用原语,所述UI调用原语为根
据USBkey中间件所涉及的UI交互场景确定的、非UI组件和UI组件之间约定的、与操作系统
平台无关的原语。

非UI组件20与UI组件10之间通过所述UI通信接口UI_API 30调用UI接口库中的UI
调用原语实现数据交互,实现了USBkey中间件的非UI组件通过平台无关的UI调用原语与UI
组件的UI模块通过进程间通讯实现UI交互操作,使USBkey中间件能够运行在多种不同UI框
架的操作系统下。

为实现对UI组件10中UI模块11的管理,本发明的一个实施例中,所述USBkey中间
件还包括UI组件管理接口40。所述UI组件单元管理接口40,用于对USBkey中间件的UI组件
进行管理;所述管理包括对UI模块的增加、修改或删除等。

基于图1中所示的客户端,本实施方式中还提供了一种UI交互方法,如图3所示,该
方法主要包括以下步骤:

步骤S1:USBkey中间件根据其运行所在的客户端的UI框架运行环境,确定并运行
其与所述UI框架运行环境相应的UI模块;

步骤S2:USBkey中间件的非UI组件采用进程间通信方式向所启用的UI模块发送UI
请求太阳城集团,UI模块根据接收到的UI请求太阳城集团调用客户端的UI接口完成相应的UI交互动作。

本实施方式中,所述非UI组件采用相应的UI调用原语向UI模块发送UI请求太阳城集团,
其中,UI调用原语为根据USBkey中间件所涉及的UI交互场景确定的、USBey中间件的非UI组
件和UI组件之间约定的、与操作系统平台无关的UI调用原语。所述UI交互场景是指USBkey
中间件在处理USBkey业务流程时,所涉及的与用户界面显示有关的应用场景,包括用户密
码获取和验证、提示用户按键、以及提供用户选择列表供用户选择等。

所述UI调用原语只描述一种抽象的UI展示或交互行为,与客户端的系统UI框架所
提供的UI功能无关,由USBkey中间件的非UI组件与UI组件相互约定,UI调用原语封装于
USBkey中间件中的UI接口库中,非UI组件所在的上层安全应用进程根据需要通过调用UI接
口库中对应含义的UI调用原语,向UI组件的某一UI模块所在的进程完成UI请求太阳城集团的发
送。本实施方式中,所述UI调用原语及各原语的功能如下表所示。

UI调用原语
功能
BeginSession
开始一个UI会话
EndSession
结束一个UI会话
PIN_Show
显示密码输入对话框
PIN_GetPIN
获取用户输入的密码
PIN_Retry
提示用户密码错误,重新输入
PIN_Finish
关闭密码输入对话框
Waiting_Show
显示等待对话框
Waiting_Finish
关闭等待对话框
List_Show
显示列表选择框
List_GetSel
获取用户选择项,关闭对话框

由上表可以看出,所述调用原语包括但不限于UI会话开始原语BeginSession、UI
会话结束原语EndSession、密码输入对话框显示原语PIN_Show、用户密码获取原语PIN_
GetPIN、密码错误提示及重新输入原语PIN_Retry、密码输入框关闭原语PIN_Finish、等待
对话框显示原语Waiting_Show、等待对话框关闭原语Waiting_Finish、列表选择框显示原
语List_Show、以及用户选择项获取及对话框关闭原语List_GetSel。当然,也可以根据实际
需要采用其它调用原语。本实施方式中,上述各调用原语之间的状态机转换如图4所示。

本发明的一个实施例中,USBkey中间件根据客户端的UI框架运行环境,确定并运
行其与所述UI框架运行环境相应的UI模块的一种方式为:

USBkey中间件的非UI组件依次向UI组件的其若干个UI模块发送UI会话开始原语,
将在设定太阳城集团内接收到响应数据的UI模块,确定为与UI框架运行环境相对应的UI模块。

USBkey中间件的非UI组件调用UI接口库中的BeginSession原语时(向UI组件的UI
模块通过进程间通讯方式发送UI会话开始原语),依次向各个UI模块分别发送该原语,尝试
建立两者之间的连接,如果向某一UI模块发送该原语后,在设定太阳城集团内接收到了应答数据,
则确定该有应答的UI模块即为与USBkey中间件运行所在的UI框架运行环境相匹配,则启用
该UI模块以完成后续的UI交互流程。

在实际应用中,USBkey会先尝试连接已运行的UI模块(当前的前一次运行的UI模
块),如果连接未被响应,则会再向其它UI模块依次发送UI会话开始原语,直到该连接请求
被某一UI模块响应,如果所有UI模块均未响应,则提示UI模块启动失败。

本发明的另一个实施例中,USBkey中间件根据客户端的UI框架运行环境,确定并
运行其与所述UI框架运行环境相应的UI模块的方式为:

USBkey中间件向客户端发送获取UI框架运行环境的请求太阳城集团;

USBkey中间件根据客户端返回的UI框架运行环境太阳城集团确定并运行其与所述UI框
架运行环境相应的UI模块。

本实施方式中所提供的客户端和UI交互方法,USBkey中间件通过与平台无关的UI
调用原语与UI组件之间发起UI交互,USBkey中间件通过进程间通讯实现了与异构的UI组件
的相互操作,提高了USBkey中间件在多种UI框架运行环境的通用性,降低了USBkey中间件
更新时的工作量,提高了更新效率。其中,所述异构,是指USBkey的UI组件与非UI组件之间
可以是分别基于不同的编程语言、不同的架构来开发的软件模块。

下面结合实际的UI交互场景对本发明进行进一步的描述。

本实施例中客户端以PC为例进行说明,UI交互场景为网上支付中的用户密码获取
及验证场景,流程如下:

USBkey与PC连接,连接方式包括但不限于USB连接或蓝牙连接等。PC上的网上支付
应用(上层安全应用)调用USBkey中间件,USBkey中间件的非UI组件采用进程间通信方式向
其UI组件的各UI模块依次发送UI会话开始原语,并将返回响应数据的UI模块确定为与客户
端的UI框架运行环境相对应的UI模块,启用该UI模块,并通过进程间通讯方式向其发送密
码输入对话框显示原语的数据,UI模块接收到非UI组件发送的该数据后,调用PC操作系统
的UI框架的图形接口,在PC机的用户界面弹出密码输入框,在用户输入密码后,UI模块提取
密码内容并通过进程间通讯方式将该内容发送到非UI组件,由非UI组件完成USBkey的密码
验证,如果密码正确,USBkey向中间件返回密码验证通过太阳城集团,非UI组件向UI模块发送密码
输入框关闭原语,完成密码输入框的关闭,密码获取及验证完成,如果密码错误,非UI组件
则向UI模块发送密码错误提示及重新输入原语,则继续显示密码输入框,提示用户重新输
入密码。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围
之内,则本发明也意图包含这些改动和变型在内。

关 键 词:
一种 客户端 UI 交互 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种客户端和UI交互方法.pdf
链接地址:http://zh228.com/p-6019784.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');