CN110795154B - 跨平台设备驱动方法、装置、设备及计算机可读存储介质 - Google Patents

跨平台设备驱动方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110795154B
CN110795154B CN201910962235.1A CN201910962235A CN110795154B CN 110795154 B CN110795154 B CN 110795154B CN 201910962235 A CN201910962235 A CN 201910962235A CN 110795154 B CN110795154 B CN 110795154B
Authority
CN
China
Prior art keywords
module
command
transmission path
call command
calling
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
Application number
CN201910962235.1A
Other languages
English (en)
Other versions
CN110795154A (zh
Inventor
袁荣江
谢碧清
夏杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhengtong Electronics Co Ltd
Original Assignee
Shenzhen Zhengtong Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhengtong Electronics Co Ltd filed Critical Shenzhen Zhengtong Electronics Co Ltd
Priority to CN201910962235.1A priority Critical patent/CN110795154B/zh
Publication of CN110795154A publication Critical patent/CN110795154A/zh
Application granted granted Critical
Publication of CN110795154B publication Critical patent/CN110795154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种跨平台设备驱动方法、装置、设备及计算机可读存储介质,该方法包括步骤:检测发送调用指令的应用的应用类型,并根据应用类型确定与调用指令匹配的传输路径;基于传输路径,驱动与调用命令对应的硬件设备。本发明通过为不同的应用类型提供相应的传输通道,实现了应用在不同的终端平台间移植时,难以驱动底层的硬件设备的问题,避免了应用的再次开发,进一步地降低了应用的开发成本。

Description

跨平台设备驱动方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及终端技术领域,尤其涉及一种跨平台设备驱动方法、装置、设备及计算机可读存储介质。
背景技术
在科技发展日新月异的互联网时代,各类金融终端设备也紧随时代的发展而迅猛发展。由于电子支付在人们生活中的广泛应用,金融终端变成了人民生活中非常普及而又十分重要的一种电子设备,电子支付的快速发展促使金融终端的应用范围和覆盖率不断提升,从而使得各个银行和设备厂商在电子支付和金融终端等方面的竞争越来越激烈。应用软件的开发是以金融终端为基础的,随着金融终端的不断发展,应用于金融终端的平台也越来越多,当应用软件需要在不同平台的金融终端之间进行移植时,为了与硬件设备实现兼容,需要对应用软件的应用程序进行修改甚至重新开发,应用软件的开发成本大大地提高,也减缓了金融终端业务的开展。
发明内容
本发明的主要目的在于提出一种跨平台设备驱动方法、装置、设备及计算机可读存储介质,旨在解决应用在不同平台间移植而带来的应用程序修改或重新开发需投入大量的成本问题。
为实现上述目的,本发明提供了一种跨平台设备驱动方法,所述跨平台设备驱动方法包括:
检测发送调用指令的应用的应用类型,并根据所述应用类型确定与所述调用指令匹配的传输路径;
基于所述传输路径,驱动与所述调用命令对应的硬件设备。
可选地,所述应用类型包括网页App和原生App,所述传输路径包括第一传输路径和第二传输路径,
根据所述应用类型确定与所述调用指令匹配的传输路径的步骤包括:
若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径;
若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径。
可选地,所述第一传输路径包括依次通信连接的TAP模块、PSM模块和DAM模块,
所述基于所述传输路径,驱动与所述调用命令对应的硬件设备的步骤包括:
基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令;
通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的设备ID与所述PSM模块中的API接口函数的一一对应关系;
在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;
基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;
通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备。
可选地,所述基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令的步骤之前,还包括:
通过所述TAP模块中的Service单元确定所述调用命令对应的调用通道,并启动所述TAP模块中的Qwebsocket服务程序,以开启所述调用通道;
通过所述调用通道将所述调用命令发送至所述接收单元。
可选地,所述通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备的步骤包括:
通过所述目标API接口,将所述调用命令发送至所述DAM模块;
根据所述DAM模块中存储的接口规范,查找与所述调用命令对应的硬件接口;
将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述命令设备。
可选地,所述第二传输路径包括依次通信连接的PSM模块和DAM模块,
基于所述传输路径,驱动与所述调用命令对应的硬件设备的步骤包括:
基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口函数;
基于所述API接口函数,确定所述调用命令的目标API接口;
通过所述API接口将传输命令依次发送至所述PSM模块和所述DAM模块;
当所述DAM模块接收到所述调用命令,将所述调用命令中的所述命令ID发送至所述硬件设备,以驱动所述硬件设备。
可选地,所述TAP模块还包括QtWebEngine单元,所述QtWebEngine单元采用QT技术为所述调用指令提供支持,并生成与所述调用指令对应的交互界面。
此外,为实现上述目的,本发明还提供一种跨平台设备驱动装置,所述跨平台设备驱动装置包括:
检测模块,用于检测发送调用指令的应用的应用类型;
确定模块,用于根据所述应用类型确定与所述调用指令匹配的传输路径;
驱动模块,用于基于所述传输路径,驱动与所述调用命令对应的硬件设备。
此外,为实现上述目的,本发明还提供一种跨平台设备驱动设备,所述跨平台设备驱动设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨平台设备驱动程序,所述跨平台设备驱动程序被所述处理器执行时实现如上所述的跨平台设备驱动方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有所述跨平台设备驱动程序,所述跨平台设备驱动程序被处理器执行时实现如上所述的跨平台设备驱动方法的步骤。
本发明通过检测发送调用指令的应用类型,并根据应用类型确定与调用指令匹配的传输路径;基于传输路径,驱动与调用命令对应的硬件设备,也即通过为不同的应用类型提供相应的传输通道,将调用指令通过传输通道发送至硬件设备,以驱动硬件设备,解决了应用在不同的终端平台间移植时,与硬件设备不兼容的问题,避免了为与硬件设备实现兼容,应用软件需修改或再次开发的情况,进一步地降低了应用的开发成本。
附图说明
图1为实现本发明各个实施例一种跨平台设备驱动设备的硬件结构示意图;
图2为本发明跨平台设备驱动方法第一实施例的流程示意图;
图3为本发明应用跨平台设备驱动方法的跨平台驱动管理框架图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种跨平台设备驱动设备,参照图1,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为跨平台设备驱动设备的硬件运行环境的结构示意图。本发明实施例跨平台设备驱动设备可以是PC,便携计算机,服务器等设备。
如图1所示,该跨平台设备驱动设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,跨平台设备驱动设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等等。
本领域技术人员可以理解,图1中示出的跨平台设备驱动设备结构并不构成跨平台设备驱动设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及跨平台设备驱动程序。其中,操作系统是管理和控制跨平台设备驱动设备硬件和软件资源的程序,支持跨平台设备驱动程序以及其它软件或程序的运行。
图1所示的跨平台设备驱动设备,可用于日产日清的核算,用户接口1003主要用于侦测或者输出各种信息,如侦测调用指令和输出命令ID不成立的信息等;网络接口1004主要用于与后台服务器交互,进行通信;处理器1001可以用于调用存储器1005中存储的跨平台设备驱动程序,并执行以下操作:
检测发送调用指令的应用的应用类型,并根据所述应用类型确定与所述调用指令匹配的传输路径;
基于所述传输路径,驱动与所述调用命令对应的硬件设备。
进一步地,所述应用类型包括网页App和原生App,所述传输路径包括第一传输路径和第二传输路径,
根据所述应用类型确定与所述调用指令匹配的传输路径的步骤包括:
若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径;
若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径。
进一步地,所述第一传输路径包括依次通信连接的TAP模块、PSM模块和DAM模块,
所述基于所述传输路径,驱动与所述调用命令对应的硬件设备的步骤包括:
基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令;
通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的设备ID与所述PSM模块中的API接口函数的一一对应关系;
在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;
基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;
通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备。
进一步地,所述基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令的步骤之前,处理器1001还用于调用存储器1005中存储的跨平台设备驱动程序,并执行以下操作:
通过所述TAP模块中的Service单元确定所述调用命令对应的调用通道,并启动所述TAP模块中的Qwebsocket服务程序,以开启所述调用通道;
通过所述调用通道将所述调用命令发送至所述接收单元。
进一步地,所述通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备的步骤包括:
通过所述目标API接口,将所述调用命令发送至所述DAM模块;
根据所述DAM模块中存储的接口规范,查找与所述调用命令对应的硬件接口;
将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述命令设备。
进一步地,所述第二传输路径包括依次通信连接的PSM模块和DAM模块,
所述基于所述传输路径,驱动与所述调用命令对应的硬件设备的步骤包括:
基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口;
基于所述API接口函数,确定所述调用命令的目标API接口;
通过所述API接口将传输命令依次发送至所述PSM模块和所述DAM模块;
当所述DAM模块接收到所述调用命令,将所述调用命令中的所述命令ID发送至所述硬件设备,以驱动所述硬件设备。
进一步地,所述TAP模块还包括QtWebEngine单元,所述QtWebEngine单元采用QT技术为所述调用指令提供支持,并生成与所述调用指令对应的交互界面。
本发明终端具体实施方式与下述跨平台设备驱动方法各实施例基本相同,在此不再赘述。
基于上述结构,提出本发明跨平台设备驱动方法的各个实施例。
本发明提供一种跨平台设备驱动方法。
参照图2,图2为本发明跨平台设备驱动方法第一实施例的流程示意图。
在本实施例中,提供了跨平台设备驱动方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,跨平台设备驱动方法包括:
步骤S10,检测发送调用指令的应用的应用类型,并根据所述应用类型确定与所述调用指令匹配的传输路径。
当用户触发应用上的相关按键时,应用会自动生成调用指令,该调用指令至少包括命令ID,设备ID,以及应用类型标识。设备ID是底层的各个硬件设备对应的ID号,命令ID是与其对应的硬件设备的操作执行项,应用类型标识指的是发送该调用指令的应用的应用类型标识。当接收到调用指令,根据调用指令的应用类型标识检测发送调用指令的应用的应用类型,不同的应用类型对应不同的传输路径。
其中,所述应用类型包括网页App和原生App,所述传输路径包括第一传输路径和第二传输路径。
进一步地,根据所述应用类型确定与所述调用指令匹配的传输路径的步骤包括:
步骤a,若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径。
网页App包括Html App(Html Application,Html应用程序)、JavaScript App(JavaScript Application,JavaScript应用程序)等,第一传输路径为TAP+PSM+DAM,参照图3。PSM(Platform Service Manager,平台服务管理层)模块实现对应用接口进行封装,将所有应用的接口参数分类,例如,可以分为打开设备、执行设备、获取设备状态、取消操作、关闭设备等,对每一类赋予一个接口函数,这些接口函数均是通过C++开发而来。DAM(Drivers Access Manager,驱动接入管理层)模块实现对硬件设备接口进行封装,同样的对硬件设备接口进行封装,将所有硬件设备的接口参数分类,例如,可以分为卡机类、打印类、键盘类、纸币类等,对每一类赋予一个接口函数,这些接口函数均是通过C++开发而来。因此TAP模块和DAM模块仅仅只支持C++脚本。来自Html App和JavaScript App的调用指令并非C++脚本,所以无法驱动硬件设备,为了能够读取来自Html App和JavaScript App的调用指令以驱动硬件设备,TAP模块采用Qt技术可读取该调用指令,并将其转化成C++脚本,并将转化后的调用指令发送至PSM模块。
步骤b,若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径。
原生App为Native App(Native Application,本地应用程序),由于Native App是由C++语言开发,因此来自Native App的调用指令不需经过TAP模块,即可驱动硬件设备,所以第二传输路径为PSM+DAM,参照图3。
进一步地,所述TAP模块还包括QtWebEngine单元,所述QtWebEngine单元以Chromium为内核,生成与所述调用指令对应的交互界面。
TAP模块包括QtWebEngine单元,该单元利用Qt技术,为Html脚本和JavaScript脚本提供支持,并生成调用指令的交互界面展示,也可完成业务操作控制。
进一步地,步骤S20包括:
步骤c,基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令。
当确定调用指令的传输路径为第一传输路径后,TAP模块中的接收单元即可接收该调用指令,TAP模块中的QtWebEngine单元采用Qt技术,生成调用指令的交互界面展示。
步骤d,通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的设备ID与所述PSM模块中的API接口函数的一一对应关系;
步骤e,在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;
步骤f,基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;
FIS单元基于转化后的调用指令,获取配置文件,并提取该配置文件中存储有调用指令对应的设备ID与PSM模块中的API接口(Application Programming Interface,应用程序接口)函数一一对应关系,当确定目标设备ID所指向的API接口函数之后,即可确定PSM模块中接收该调用命令的目标API接口。
步骤e,通过所述目标API接口,将所述调用指令发送至所述DAM模块,以与所述调用命令对应的硬件设备。
当确定PSM模块中接收调用命令的目标API接口后,PSM模块接收该调用指令,并将该调用指令发送至DAM模块,通过DAM模块中预存的接口规范确定调用指令的设备ID对应的硬件设备,以驱动该硬件设备。
进一步地,步骤c包括:
步骤g,通过所述TAP模块中的Service单元确定所述调用命令对应的调用通道,并启动所述TAP模块中的Qwebsocket服务程序,以开启所述调用通道。
当TAP模块中的Service单元检测到调用指令后,Service单元基于预设的Qwebsocket服务程序,开启与调用指令相对应的QWebChannel,即传输该调用指令的调用通道,为调用指令的传输提供载体。
步骤h,通过所述调用通道将所述调用命令发送至所述接收单元。
当调用通道开启后,将调用指令通过调用通道发送至TAP模块的接收单元。
本实施例通过检测发送调用指令的应用的应用类型,并根据应用类型确定与调用指令匹配的传输路径,再基于传输路径,驱动与调用命令对应的硬件设备,实现了即使应用在不同的终端平台上进行移植,也依然可以找到相应的传输路径,驱动与调用指令对应的硬件设备。本实施例避免了应用在不同的终端平台上移植后,重新开发应用程序以驱动硬件设备的问题,进一步地降低了应用开发的成本。
进一步地,提出本发明跨平台设备驱动方法的第二实施例。跨平台设备驱动方法的第二实施例与跨平台设备驱动方法的第一实施例的区别在于,所述通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备的步骤包括:
步骤i,通过所述目标API接口,将所述调用命令发送至所述DAM模块。
通过PSM模块对终端应用的接口参数分类,并对每一类进行封装,获得接口函数,也就是说无论终端应用属于哪一个应用类型,均将其接口参数进行封装,以达到统一,简化了应用对硬件设备的调用和控制程序。
当TAP模块中FIS单元确定了与调用指令匹配的目标API接口后,将调用指令通过该目标API接口发送至PSM模块,再通过PSM模块将调用指令发送至DAM模块。
DAM模块与硬件设备直接相连,调用指令只有通过DAM模块才能驱动硬件设备。
步骤j,根据所述DAM模块中存储的接口规范,查找与所述调用命令对应的硬件接口。
DAM模块为每一类硬件设备提供了一套完整的接入接口,当硬件设备接入DAM模块中,获取每一硬件设备的接口参数,对每一个接口参数进行分类,对每一类进行封装,并赋予每类一个接口函数。
DAM模块存储的接口规范指的是设备ID与接口函数一一对应的关系。当DAM模块接收到调用指令后,提取调用指令中的设备ID,并根据接口规范,获取调用指令对应的硬件设备的接口,即硬件接口。
步骤k,将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述命令设备
当确定调用指令对应的硬件接口后,将调用指令中的命令ID通过该硬件接口发送至硬件设备,当硬件设备接收到该命令ID,即可执行该命令ID对应的操作,完成驱动。
本实施例通过目标API接口,将调用命令发送至DAM模块,再根据DAM模块中存储的接口规范,查找与调用命令对应的硬件接口,并将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述命令设备,实现了即使硬件设备有所更换,只要依据接口规范,即可将命令ID发送至硬件设备,以驱动该硬件设备,同样的,即使终端应用发生修改,也只需要依据接口规范,即可将命令ID发送至硬件设备,无需再对硬件设备进行重新开发,进一步地降低了硬件设备开发的成本。
进一步地,提出本发明跨平台设备驱动方法的第三实施例。跨平台设备驱动方法的第三实施例与跨平台设备驱动方法的第一或第二实施例的区别在于,所述第二传输路径包括依次通信连接的PSM模块和DAM模块,
所述基于所述传输路径,驱动与所述调用命令对应的硬件设备的步骤包括:
步骤l,基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口函数;
步骤m,基于所述API接口函数,确定所述调用命令的目标API接口。
当确定调用指令的传输路径为第二传输路径时,不需将调用指令发送给TAP模块,而是获取与调用指令中的目标设备ID对应的PSM模块中的API接口函数,进一步地,根据该API接口函数确定目标API接口。
步骤n,通过所述API接口将传输命令依次发送至所述PSM模块和所述DAM模块。
Native App是使用C++开发出来的应用程序,PSM模块中API接口是用对C++封装的接口函数,因此不需经过TAP模块即可访问API接口。通过API接口,将调用命令发送至PSM模块,再通过PSM模块,将调用命令发送至DMA模块。
步骤o,当所述DAM模块接收到所述调用命令,将所述调用命令中的所述命令ID发送至所述硬件设备,以驱动所述硬件设备。
当DAM模块接收到调用指令时,根据DAM模块中预存的接口规范,确定调用指令对应的硬件设备的接口,即硬件接口,并将调用设备的命令ID发送至硬件设备,以驱动该硬件设备,完成该命令ID对应的操作。
本实施例通过基于第二传输路径,获取调用命令对应的目标设备ID,确定与目标设备ID匹配的目标API接口,并通过目标API接口将传输命令依次发送至PSM模块和DAM模块,当DAM模块接收到调用命令,将调用命令中的命令ID发送至硬件设备,以驱动硬件设备,其中PSM模块实现对应用接口的封装,DAM模块实现对硬件设备接口的封装,PSM模块和DAM模块将应用和硬件设备分隔开,当硬件设备升级时不需修改应用程序,同样的应用在不同平台上进行移植时,也不需更换硬件设备,进一步地降低了应用开发和设备开发的成本。
此外,本发明实施例还提出一种跨平台设备驱动装置,所述跨平台设备驱动装置包括:
检测模块,用于检测发送调用指令的应用的应用类型;
确定模块,用于根据所述应用类型确定与所述调用指令匹配的传输路径;
驱动模块,用于基于所述传输路径,驱动与所述调用命令对应的硬件设备。
进一步地,所述确定模块还用于若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径;若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径。
进一步地,所述驱动模块还包括:
接收单元,用于基于所述第一传输路径,通过TAP模块的接收单元接收所述调用命令;
提取单元,用于通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的设备ID与所述PSM模块中的API接口函数的一一对应关系;
确定单元,用于在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;
所述确定单元还用于基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;
发送单元,用于通过所述目标API接口,将所述调用指令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备。
进一步地,所述确定单元还用于通过所述TAP模块中的Service单元确定所述调用命令对应的调用通道;
所述驱动模块还包括:
启动单元,用于启动所述TAP模块中的Qwebsocket服务程序;
开启单元,用于开启所述调用通道;
所述发送单元还用于通过所述调用通道将所述调用命令发送至所述接收单元。
进一步地,所述发送单元还包括:
发送子单元,用于通过所述API接口,将所述调用命令发送至所述DAM模块;
查找子单元,用于根据所述DAM模块中存储的接口规范,查找与所述调用命令对应的硬件接口;
所述发送子单元还用于将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述命令设备。
进一步地,所述驱动模块还包括:
获取单元,用于基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口函数;
所述确定单元还用于基于所述API接口函数,确定所述调用命令的目标API接口;
所述发送单元还用于通过所述API接口将传输命令依次发送至所述PSM模块和所述DAM模块;
所述发送单元还用于当所述DAM模块接收到所述调用命令,将所述调用命令中的所述命令ID发送至所述硬件设备,以驱动所述硬件设备。
本发明所述跨平台设备驱动装置实施方式与上述跨平台设备驱动方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有跨平台设备驱动程序,所述跨平台设备驱动程序被处理器执行时实现如上所述的跨平台设备驱动方法的各个步骤。
需要说明的是,计算机可读存储介质可设置在跨平台设备驱动设备中。
本发明计算机可读存储介质具体实施方式与上述跨平台设备驱动方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种跨平台设备驱动方法,其特征在于,所述跨平台设备驱动方法包括以下步骤:
检测发送调用命令的应用的应用类型,其中,所述应用类型包括网页App和原生App;
若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径;基于所述第一传输路径,通过TAP模块的接收单元接收所述调用命令,并采用Qt技术读取该调用命令,并将其转化成C++脚本,其中,所述第一传输路径包括依次通信连接的TAP模块、PSM模块和DAM模块;通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的目标设备ID与所述PSM模块中的API接口函数的一一对应关系,其中,所述PSM模块用于对应用接口进行封装以及将所有应用的接口参数分类;在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;通过所述目标API接口,将所述调用命令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备,其中,所述DAM模块用于对硬件设备接口进行封装以及将所有硬件设备的接口参数分类;
若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径;基于所述第二传输路径,驱动与所述调用命令对应的硬件设备,其中,所述第二传输路径包括依次通信连接的PSM模块和DAM模块;基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口函数;基于所述API接口函数,确定所述调用命令的目标API接口;通过所述API接口将调用命令依次发送至所述PSM模块和所述DAM模块;当所述DAM模块接收到所述调用命令,将所述调用命令中的命令ID发送至所述硬件设备,以驱动所述硬件设备。
2.如权利要求1所述的跨平台设备驱动方法,其特征在于,所述基于所述第一传输路径,通过所述TAP模块的接收单元接收所述调用命令的步骤之前,还包括:
通过所述TAP模块中的Service单元确定所述调用命令对应的调用通道,并启动所述TAP模块中的Qwebsocket服务程序,以开启所述调用通道;
通过所述调用通道将所述调用命令发送至所述接收单元。
3.如权利要求1所述的跨平台设备驱动方法,其特征在于,所述通过所述目标API接口,将所述调用命令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备的步骤包括:
通过所述目标API接口,将所述调用命令发送至所述DAM模块;
根据所述DAM模块中存储的接口规范,查找与所述调用命令对应的硬件接口;
将所述调用命令中的命令ID通过所述硬件接口发送至所述硬件设备,以驱动所述硬件设备。
4.如权利要求1至3任一项所述的跨平台设备驱动方法,其特征在于,所述TAP模块还包括QtWebEngine单元,所述QtWebEngine单元采用QT技术为所述调用命令提供支持,并生成与所述调用命令对应的交互界面。
5.一种跨平台设备驱动装置,其特征在于,所述跨平台设备驱动装置包括:
检测模块,用于检测发送调用命令的应用的应用类型,其中,所述应用类型包括网页App和原生App;
确定模块,用于根据所述应用类型确定与所述调用命令匹配的传输路径;
驱动模块,用于基于所述传输路径,驱动与所述调用命令对应的硬件设备;
所述确定模块,用于若所述应用类型为网页App,则确定与所述调用命令匹配的传输路径为第一传输路径,其中,所述第一传输路径包括依次通信连接的TAP模块、PSM模块和DAM模块;
所述驱动模块,包括:
接收单元,用于基于所述第一传输路径,通过TAP模块的接收单元接收所述调用命令,其中,TAP模块采用Qt技术读取该调用命令,并将其转化成C++脚本;
提取单元,用于通过所述TAP模块的FIS单元获取配置文件,提取所述配置文件里存储的所述调用命令对应的目标设备ID与所述PSM模块中的API接口函数的一一对应关系,其中,所述PSM模块用于对应用接口进行封装以及将所有应用的接口参数分类;
确定单元,用于在所述对应关系中确定所述PSM模块中接收所述调用命令中目标设备ID所指向的API接口函数;
所述确定单元,还用于基于所述调用命令指向的API接口函数,确定所述调用命令的目标API接口;
发送单元,用于通过所述目标API接口,将所述调用命令发送至所述DAM模块,以驱动与所述调用命令对应的硬件设备,其中,所述DAM模块用于对硬件设备接口进行封装以及将所有硬件设备的接口参数分类;
所述确定模块,还用于若所述应用类型为原生App,则确定与所述调用命令匹配的传输路径为第二传输路径,其中,所述第二传输路径包括依次通信连接的PSM模块和DAM模块;
所述驱动模块,还包括:
获取单元,用于基于第二传输路径,获取所述调用命令中所述目标设备ID,确定所述目标设备ID所指向的所述API接口函数;
所述确定单元,还用于基于所述API接口函数,确定所述调用命令的目标API接口;
所述发送单元,还用于通过所述API接口将调用命令依次发送至所述PSM模块和所述DAM模块;
所述发送单元,还用于当所述DAM模块接收到所述调用命令,将所述调用命令中的命令ID发送至所述硬件设备,以驱动所述硬件设备。
6.一种跨平台设备驱动设备,其特征在于,所述跨平台设备驱动设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨平台设备驱动程序,所述跨平台设备驱动程序被所述处理器执行时实现如权利要求1至4中任一项所述的跨平台设备驱动方法的步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有跨平台设备驱动程序,所述跨平台设备驱动程序被处理器执行时实现如权利要求1至4中任一项所述的跨平台设备驱动方法的步骤。
CN201910962235.1A 2019-10-10 2019-10-10 跨平台设备驱动方法、装置、设备及计算机可读存储介质 Active CN110795154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910962235.1A CN110795154B (zh) 2019-10-10 2019-10-10 跨平台设备驱动方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910962235.1A CN110795154B (zh) 2019-10-10 2019-10-10 跨平台设备驱动方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110795154A CN110795154A (zh) 2020-02-14
CN110795154B true CN110795154B (zh) 2024-02-06

Family

ID=69439194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910962235.1A Active CN110795154B (zh) 2019-10-10 2019-10-10 跨平台设备驱动方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110795154B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238179B (zh) * 2021-11-26 2024-08-20 锐捷网络股份有限公司 一种数据传输系统、方法、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662646A (zh) * 2012-03-01 2012-09-12 华为技术有限公司 传感数据处理方法及计算节点
CN103777942A (zh) * 2013-12-06 2014-05-07 深圳市证通电子股份有限公司 应用于金融终端的嵌入式软件产品的开发框架
CN105453520A (zh) * 2013-07-15 2016-03-30 微软技术许可有限责任公司 管理web服务的状态信息的技术
US9430207B1 (en) * 2013-03-13 2016-08-30 MobileForce Software, Inc. Automated cross-platform native mobile application generation with cloud driven user interface and workflow synthesis
CN107102904A (zh) * 2017-03-29 2017-08-29 腾讯科技(深圳)有限公司 基于混合应用程序的交互方法及装置
CN110309454A (zh) * 2018-03-06 2019-10-08 腾讯科技(深圳)有限公司 一种界面显示方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966508B2 (en) * 2012-02-20 2015-02-24 Electronics And Telecommunications Research Institute Method for executing hybrid web application and apparatus therefor
US9231918B2 (en) * 2013-02-19 2016-01-05 Cisco Technology, Inc. Use of virtual network interfaces and a websocket based transport mechanism to realize secure node-to-site and site-to-site virtual private network solutions
US20170331901A1 (en) * 2016-05-11 2017-11-16 Fitbit, Inc. Companion app to cooperate with an integrated tracker app

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662646A (zh) * 2012-03-01 2012-09-12 华为技术有限公司 传感数据处理方法及计算节点
US9430207B1 (en) * 2013-03-13 2016-08-30 MobileForce Software, Inc. Automated cross-platform native mobile application generation with cloud driven user interface and workflow synthesis
CN105453520A (zh) * 2013-07-15 2016-03-30 微软技术许可有限责任公司 管理web服务的状态信息的技术
CN103777942A (zh) * 2013-12-06 2014-05-07 深圳市证通电子股份有限公司 应用于金融终端的嵌入式软件产品的开发框架
CN107102904A (zh) * 2017-03-29 2017-08-29 腾讯科技(深圳)有限公司 基于混合应用程序的交互方法及装置
CN110309454A (zh) * 2018-03-06 2019-10-08 腾讯科技(深圳)有限公司 一种界面显示方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110795154A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
US11403364B2 (en) Method and terminal device for extracting web page content
US8768250B2 (en) Enhanced near field communication terminal, smart card and communication method thereof
KR101151470B1 (ko) 브라우저를 포함하는 장치 및 방법
CN112882772B (zh) 移动终端应用界面的配置方法、移动终端及存储介质
CN107741844B (zh) 一种应用安装包的生成方法和装置
CN107844821B (zh) 智能卡及其控制方法、计算机可读存储介质
CN105243407A (zh) 读写智能卡的方法及装置
CN111931102A (zh) 一种构建页面的方法、装置及系统
CN106503986B (zh) 虚拟资源转移方法及装置
CN113076144A (zh) 功放适配方法、终端设备、存储介质及计算机程序产品
CN108845810B (zh) 一种应用动态更新的方法、装置、电子设备及存储介质
CN108804120B (zh) 一种页面构建方法、装置、设备及存储介质
CN110414651A (zh) 调试智能卡的方法及装置
CN110020338B (zh) 浏览器、网页打开方法及设备
WO2010118612A1 (zh) 一种安装非接触支付应用的方法、智能卡及移动终端
US20130179499A1 (en) Method, apparatus and system for displaying radio frequency identification application information
CN110674444B (zh) 一种动态网页下载的方法及终端
CN110795154B (zh) 跨平台设备驱动方法、装置、设备及计算机可读存储介质
CN109145598B (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
KR102506155B1 (ko) 전자장치, 어플리케이션 실행 시스템 및 그 제어방법
CN103079190A (zh) 一种实现无线终端浏览网页功能的方法、系统和主机
CN114580451A (zh) 天线参数配置方法、装置、存储介质及电子设备
JP4007452B2 (ja) ブラウザを利用して機器情報を表示するシステム、およびプログラム
CN116049020B (zh) 软件产品的自动化测试方法、装置、设备及可读存储介质
Cai et al. A framework for the service model of NFC stack

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