CN108073428B - 一种基于QDbus的支付终端插件-设备服务实现的方法及设备 - Google Patents
一种基于QDbus的支付终端插件-设备服务实现的方法及设备 Download PDFInfo
- Publication number
- CN108073428B CN108073428B CN201711273127.0A CN201711273127A CN108073428B CN 108073428 B CN108073428 B CN 108073428B CN 201711273127 A CN201711273127 A CN 201711273127A CN 108073428 B CN108073428 B CN 108073428B
- Authority
- CN
- China
- Prior art keywords
- qdbus
- payment terminal
- application
- equipment
- service program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于QDbus的支付终端插件‑设备服务实现的方法及设备,包括如下步骤:启动QDbus设备服务程序;支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;并将操作结果告知支付终端应用。所述方法,通过QDbus自带的异步调用方法,避免了人为进行复杂的多线程管理,不会出现多线程经常出现的死锁问题而导致的应用无响应,有效的解决多线程难以管理的问题。
Description
技术领域
本发明涉及支付技术领域,尤其涉及一种基于QDbus的支付终端插件-设备服务实现的方法及设备。
背景技术
互联网的快速发展也推动了支付行业的加速发展,web支付终端是如今被广泛使用的工具,web支付终端是指运行web应用的支付终端,web应用主要通过JavaScript和html5语言实现,由于Javascript是单线程语言,所以web支付终端具有高实时性要求,从而web应用界面不会出现卡顿甚至卡死。同时,web支付终端作为支付终端,具有高安全性要求,并且需要通过操作终端设备来完成支付。
目前大部分方案通过另起线程来完成终端设备的操作,虽然该方法正常情况下能够满足web支付终端的高实时性要求,不会出现web应用界面卡顿或卡死,但是该方法需要进行复杂的线程管理,容易导致死锁,从而导致web应用异常,无响应。此外,目前大部分方案并没有对web应用操作设备进行管理,任何权限的web应用均可随意操作支付终端设备,存在很大的安全隐患。
web支付终端应用对设备的操作是无法避免的,迫切需要一种容易管理的高实时性和高安全性的设备管理方法来实现。
发明内容
本发明的目的在于,提出一种能够有效的解决多线程难以管理的问题,实现支付终端应用的实时性。
为了实现上述目的,本发明所采用的技术方案为:
一种基于QDbus的支付终端插件-设备服务实现的方法,包括如下步骤:
创建QDbus客户端插件及设置支付终端的权限配置信息,所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;
启动QDbus设备服务程序;
支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;
QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
其中,还包括:在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
其中,所述启用参数包括欲调用支付终端设备名称、方法名称及参数信息。
其中,所述配对信息为应用进程身份标志。
本发明还提供一种基于QDbus的支付终端插件-设备服务实现的设备,包括:
支付终端,所述支付终端上承载支付终端应用、QDbus客户端插件及QDbus设备服务程序;
所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;
所述支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;
QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
其中,在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
其中,所述启用参数包括欲调用支付终端设备名称、方法名称及参数信息。
其中,所述配对信息为应用进程身份标志。
本发明的有益效果为:
本发明采用基于QDbus客户端插件的客户端插件-设备的服务模式,通过QDbus自带的异步调用方法,避免了人为进行复杂的多线程管理,不会出现多线程经常出现的死锁问题而导致的应用无响应,有效的解决多线程难以管理的问题。同时,又满足支付终端应用的实时性,通过QDbus设备服务程序和保存在支付终端上的权限配置信息,对不同权限的支付终端应用所能操作的支付终端设备进行了严格的管控,大大增加了支付终端的安全性。
附图说明
图1为本发明基于QDbus的支付终端插件-设备服务实现的方法流程图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
D-Bus是一种高级的进程间通信机制,QDbus是QT在原生D-Bus基础上进行了封装所提供的类,通过QDbus类可以更加简单方便的实现进程间通信。本发明一实施方式通过基于QDbus客户端插件库和基于QDbus设备服务来进行支付终端的管理和操作。
参阅图1所示,本发明一实施方式中提供一种基于QDbus的支付终端插件-设备服务实现的方法,包括如下步骤:
S100:创建QDbus客户端插件及设置支付终端的权限配置信息,所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;
S200:启动QDbus设备服务程序;
S300:支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;具体的,在某些实施方式中,所述的启用参数包括欲调用支付终端设备名称、方法名称及参数信息,所述配对信息采用应用进程身份标志。
S400:QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
S500:在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
S600:QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
上述实施方式的一改进实施方式中,在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
以上所述的基于QDbus的支付终端插件-设备服务实现的方法,在一具体实施方式中其实现步骤如下:
运行对设备进行管理和操作的QDbus设备服务程序;
支付终端应用调用QDbus客户端插件,同时将该支付终端应用的进程身份标志和欲操作的支付终端设备名称、方法名称以及参数信息传递给QDbus客户端插件;
QDbus客户端插件通过QDbus的异步调用方法调用QDbus设备服务程序,同时将所获得的进程身份标志和欲操作的支付终端设备名称、方法名称以及参数信息传递给QDbus传递给QDbus设备服务程序;
QDbus设备服务程序根据所获得的支付终端应用进程身份标志获取对应的支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
如果有权限,QDbus设备服务程序将根据收到的欲操作支付终端设备名称、方法名称和参数信息操作相应的支付终端设备,并把操作结果返回给QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用;
如果没有权限,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
以上所述的基于QDbus的支付终端插件-设备服务实现的方法,采用基于QDbus的客户端插件-设备的服务模式,通过QDbus自带的异步调用方法,避免了人为进行复杂的多线程管理,不会出现多线程经常出现的死锁问题而导致的应用无响应,有效的解决多线程难以管理的问题。同时,又满足支付终端应用的实时性,通过QDbus设备服务程序和保存在支付终端上的权限配置信息,对不同权限的支付终端应用所能操作的支付终端设备进行了严格的管控,大大增加了支付终端的安全性。
本发明的一实施方式还提供一种基于QDbus的支付终端插件-设备服务实现的设备,所述设备基于所述基于QDbus的支付终端插件-设备服务实现的方法的所有方法和步骤,所述设备包括:
支付终端,所述支付终端上承载支付终端应用、QDbus客户端插件及QDbus设备服务程序;
所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;
所述支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;
QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
其中,在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
其中,所述启用参数包括欲调用支付终端设备名称、方法名称及参数信息。
其中,所述配对信息为应用进程身份标志。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于QDbus的支付终端插件-设备服务实现的方法,其特征在于:包括如下步骤:
创建QDbus客户端插件及设置支付终端的权限配置信息,所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序以实现多线程管理;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;启动QDbus设备服务程序;
支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;
QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
2.根据权利要求1所述的基于QDbus的支付终端插件-设备服务实现的方法,其特征在于,还包括:
在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
3.根据权利要求1或2所述的基于QDbus的支付终端插件-设备服务实现的方法,其特征在于:所述启用参数包括欲调用支付终端设备名称、方法名称及参数信息。
4.根据权利要求1或2所述的基于QDbus的支付终端插件-设备服务实现的方法,其特征在于:所述配对信息为应用进程身份标志。
5.一种基于QDbus的支付终端插件-设备服务实现的设备,其特征在于:包括:支付终端,所述支付终端上承载支付终端应用、QDbus客户端插件及QDbus设备服务程序;
所述QDbus客户端插件通过异步调用方式调用QDbus设备服务程序;所述QDbus设备服务程序对支付终端应用进行管理和对支付终端设备进行操作;所述支付终端应用调用所述QDbus客户端插件,并将所述支付终端应用的配对信息及启用参数传递给QDbus设备服务程序;
QDbus设备服务程序依据所述配对信息获取所述支付终端应用的应用权限,判断所述应用权限是否与支付终端设备上的权限配置信息匹配;
在所述应用权限与所述权限配置信息匹配时,QDbus设备服务程序依据收到的启用参数对相应设备进行操作;
QDbus设备服务程序将操作结果返回QDbus客户端插件,所述QDbus客户端插件将操作结果告知支付终端应用。
6.根据权利要求5所述的基于QDbus的支付终端插件-设备服务实现的设备,其特征在于:
在所述应用权限与所述权限配置信息不匹配时,QDbus设备服务程序将出错信息返回QDbus客户端插件,所述QDbus客户端插件将出错信息告知支付终端应用。
7.根据权利要求5或6所述的基于QDbus的支付终端插件-设备服务实现的设备,其特征在于:所述启用参数包括欲调用支付终端设备名称、方法名称及参数信息。
8.根据权利要求5或6所述的基于QDbus的支付终端插件-设备服务实现的设备,其特征在于:所述配对信息为应用进程身份标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711273127.0A CN108073428B (zh) | 2017-12-06 | 2017-12-06 | 一种基于QDbus的支付终端插件-设备服务实现的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711273127.0A CN108073428B (zh) | 2017-12-06 | 2017-12-06 | 一种基于QDbus的支付终端插件-设备服务实现的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073428A CN108073428A (zh) | 2018-05-25 |
CN108073428B true CN108073428B (zh) | 2022-09-09 |
Family
ID=62157926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711273127.0A Active CN108073428B (zh) | 2017-12-06 | 2017-12-06 | 一种基于QDbus的支付终端插件-设备服务实现的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073428B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104134143A (zh) * | 2014-07-15 | 2014-11-05 | 北京奇虎科技有限公司 | 移动支付安全的保护方法、装置及云服务器 |
WO2015003524A1 (en) * | 2013-07-11 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for increasing security of an electronic payment |
CN106372496A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 提高支付终端应用安全性的方法及系统 |
-
2017
- 2017-12-06 CN CN201711273127.0A patent/CN108073428B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015003524A1 (en) * | 2013-07-11 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for increasing security of an electronic payment |
CN104134143A (zh) * | 2014-07-15 | 2014-11-05 | 北京奇虎科技有限公司 | 移动支付安全的保护方法、装置及云服务器 |
CN106372496A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 提高支付终端应用安全性的方法及系统 |
Non-Patent Citations (1)
Title |
---|
"基于dbus的QT进程间通信机制的实现与优化";周俊扬 等;《广东通信技术》;20140131;第34卷(第01期);第23-26页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108073428A (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10033835B2 (en) | System, method, and device for remotely operating a server | |
CN104199723B (zh) | 基于虚拟设备的摄像头映射方法 | |
PH12021550712A1 (en) | Apparatus, method, and computer program for connection management | |
BR112016006734A2 (pt) | método e aparelho para definição de conta de gerenciamento de dispositivo inteligente | |
Hatebur et al. | A UML profile for requirements analysis of dependable software | |
US8904492B2 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
BR112016001671A2 (pt) | Método, aparelho e sistema para a distribuição de informações em código gráfico | |
CN103729292A (zh) | 一种跨主机、跨平台的远程命令调用方法和系统 | |
CN103530178B (zh) | Android系统智能设备的锁屏方法及装置 | |
BR112016007271A2 (pt) | ?métodos e sistemas para gerenciar informações de comunidade? | |
CN105897757A (zh) | 授权认证系统及授权认证方法 | |
CN113032080A (zh) | 页面实现方法、应用程序、电子设备及存储介质 | |
CN110309631A (zh) | 一种编程语言结构混淆处理方法、智能终端及存储介质 | |
CN104158856A (zh) | 无需预先构建安全会话的本地api调用方法 | |
CN108073428B (zh) | 一种基于QDbus的支付终端插件-设备服务实现的方法及设备 | |
CN110287089B (zh) | 一种基于中间格式及smt技术的微内核ipc验证方法 | |
CN104160389A (zh) | 通过具有非例示内容的智能事件的动态用户界面聚合 | |
CN103685316B (zh) | 一种网络传输文件的审计处理方法 | |
CN1328654C (zh) | 功能限制方法和安装程序生成装置 | |
CN105160256A (zh) | 一种检测web页面漏洞的方法及系统 | |
CN104360991A (zh) | 一种基于文件透明标识的剪贴板控制方法 | |
CN104580997A (zh) | 一种视频监控管理系统 | |
CN103745306A (zh) | 一种基于北斗卫星的地铁施工危险源排查方法 | |
CN111538780B (zh) | 区块链单链转换为主次双链的方法、装置及存储介质 | |
CN109471672A (zh) | 一种浏览器插件前后台组件交互方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |