CN115237481A - 驱动外接设备的方法、装置、设备及存储介质 - Google Patents
驱动外接设备的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115237481A CN115237481A CN202210952944.3A CN202210952944A CN115237481A CN 115237481 A CN115237481 A CN 115237481A CN 202210952944 A CN202210952944 A CN 202210952944A CN 115237481 A CN115237481 A CN 115237481A
- Authority
- CN
- China
- Prior art keywords
- data acquisition
- operating system
- interface
- service
- data
- 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.)
- Pending
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Abstract
本申请公开了一种驱动外接设备的方法、装置、设备及存储介质,涉及物联网技术领域,该方法包括:接收应用层中的业务应用触发的数据采集指令;其中,数据采集指令用于请求调用终端设备外接的至少一个数据采集设备进行数据采集,终端设备通过自身的外接设备接口与至少一个数据采集设备连接;响应于数据采集指令,确定操作系统层对应的操作系统类型;从多个接口驱动程序中,确定与操作系统类型相匹配的目标接口驱动程序,多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;基于目标接口驱动程序通过操作系统层驱动外接设备接口,将数据采集指令发送给至少一个数据采集设备。
Description
技术领域
本申请涉及物联网技术领域,具体涉及一种驱动外接设备的方法、装置、设备及存储介质。
背景技术
在国产操作系统出现之前,终端设备和外接设备基本以windows操作系统为主,因而主要是以适配windows操作系统的驱动接口为主,而在操作系统向其他操作系统逐步过渡的期间,适配windows操作系统的驱动接口可能无法适用于其他操作系统,使得无法成功调用外接设备驱动接口。
因此,如何实现多平台混用情况下实现外接设备驱动接口的正常调用是亟待解决的问题。
发明内容
本申请实施例提供一种驱动外接设备的方法、装置、设备及存储介质,用以解决多平台混用情况下无法实现外接设备驱动接口的正常调用的技术问题。
一方面,提供一种驱动外接设备的方法,应用于终端设备的中间件,所述终端设备还包括通过所述中间件进行通信的应用层和操作系统层;所述方法包括:
接收应用层中的业务应用触发的数据采集指令;其中,所述数据采集指令用于请求调用所述终端设备外接的至少一个数据采集设备进行数据采集,所述终端设备通过自身的外接设备接口与所述至少一个数据采集设备连接;
响应于所述数据采集指令,确定所述操作系统层对应的操作系统类型;
从多个接口驱动程序中,确定与所述操作系统类型相匹配的目标接口驱动程序,所述多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;
基于所述目标接口驱动程序通过操作系统层驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备。
一方面,提供一种驱动外接设备装置,包括:
接收单元,用于接收应用层中的业务应用触发的数据采集指令;其中,所述数据采集指令用于请求调用所述终端设备外接的至少一个数据采集设备进行数据采集,所述终端设备通过自身的外接设备接口与所述至少一个数据采集设备连接;
确定单元,用于响应于所述数据采集指令,确定终端设备的操作系统类型;从多个驱动程序中,确定与所述操作系统层中的操作系统类型相匹配的目标接口驱动程序,所述多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;
发送单元,用于基于所述目标接口驱动程序通过操作系统层驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备。
可选的,所述确定单元,具体用于:
从所述外接设备接口获取所述终端设备连接的多个数据采集设备分别对应的设备参数集合;其中,每个设备参数集合包括相应的数据采集设备的名称以及数据采集参数;
通过所述中间件,显示获取的多个设备参数集合;
响应于接收到的设备选择操作,从所述多个数据采集设备中,确定所述至少一个数据采集设备。
可选的,所述确定单元,具体用于:
根据所述业务数据类型,确定需要对所述数据信息进行处理的业务处理类型;
根据所述业务处理类型,调用对应的业务驱动程序对所述数据信息进行处理,获得相应的业务数据;
将所述业务数据返回给所述业务应用。
可选的,所述发送单元,具体用于:
通过所述外接设备接口,接收所述至少一个数据采集设备采集的数据信息,并将所述数据信息发送至所述业务应用。
可选的,所述装置还包括生成单元,具体用于:
针对预设的多种操作系统类型,分别获取相对应的接口驱动程序;
响应于接收到的封装操作,调用封装程序对所述多个接口驱动程序进行封装,获得调用驱动组件;
基于所述调用驱动组件,生成所述中间件。
可选的,所述生成单元,具体用于:
针对预设的多种数据处理类型,分别获取相对应的业务驱动程序;
响应于所述封装操作,调用所述封装程序对获得的业务驱动程序进行封装,生成所述业务驱动组件;
基于所述调用驱动组件和所述业务驱动组件,生成所述中间件。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
本申请实施例的有益效果如下:
本申请实施例中,终端设备的中间件接收到应用层中业务应用触发的数据采集指令,确定终端设备操作系统层对应的操作系统类型,从自身封装的多个接口驱动程序中确定与操作系统类型相匹配的目标接口驱动程序,通过目标接口驱动程序从操作系统层驱动外接设备接口,将数据采集指令发送给与终端设备外接设备接口连接的数据采集设备,实现调用数据采集设备进行数据采集。其中,该方法通过中间件根据终端设备操作系统的属性选择不同的接口驱动程序,实现在windows和Linux等不兼容的多种操作系统平台混用情况下,对外接设备驱动接口进行正常调用,实现终端设备操作系统向国产化操作系统平滑过渡,在对外接设备的自身硬件不进行任何改动的条件下,解决了终端设备多种操作系统平台混用下软件接口和外接设备的硬件接口无法适配的问题,使开发人员能面对统一的开发环境,减少开发的复杂性和开发周期,实现应用的快速开发和修改,同时减少应用系统运维的工作量。
此外,通过针对业务应用不同业务所需的数据类型,获取与数据类型相对应的业务驱动程序封装进中间件,使中间件不仅支持驱动外接设备,还可对数据信息进行不同的处理,使得中间件能满足业务应用不同的业务需求,提高中间件的使用灵活性和适用广泛性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的终端设备的系统架构图;
图3为本申请实施例提供的一种驱动外接设备方法的流程示意图;
图4为本申请实施例提供的业务应用中扫码识别功能的界面示意图;
图5为本申请实施例提供的中间件显示设备参数集合的示意图;
图6为本申请实施例提供的驱动外接设备方法的另一流程示意图;
图7为本申请实施例提供的中间件进行业务数据处理的流程示意图;
图8为本申请实施例提供的终端设备通过中间件完成扫码业务的示意图;
图9为本申请实施例提供的驱动外接设备装置的结构示意图;
图10为本申请实施例提供的计算机设备的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
通用串行总线视频标准(Universal Serial Bus Video Class,UVC):是一种为通用串行总线((Universal Serial Bus,USB)视频捕获设备定义的协议标准。如今的主流操作系统都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常使用。USB设备通常支持UVC驱动程序,因此与USB设备相连的终端控制设备能够通过UVC协议与USB设备进行音频、视频数据的传输,并通过向USB设备传输数据量较小的控制信号来控制USB设备。
双录设备:即能实现同步录音、录像功能的音视频设备。金融领域行业规范要求逐步实施金融类产品销售过程的同步录音录像,加强金融类产品的全过程风险管理,因此双录设备大范围应用于银行柜面终端设备上。
下面对本申请实施例的设计思想进行简要介绍:
在国产操作系统出现之前,终端设备和外接设备基本以windows操作系统为主,因而主要是以适配windows操作系统的驱动接口为主,而在操作系统向其他操作系统逐步过渡的期间,适配windows操作系统的驱动接口可能无法适用于其他操作系统,使得无法成功调用外接设备驱动接口。因此,如何实现多平台混用情况下实现外接设备驱动接口的正常调用是亟待解决的问题。
鉴于上述问题,本申请实施例提供了一种驱动外接设备的方法,在该方法中,通过终端设备的中间件接收到应用层中业务应用触发的数据采集指令,确定终端设备操作系统层对应的操作系统类型,从自身封装的多个接口驱动程序中确定与操作系统类型相匹配的目标接口驱动程序,通过目标接口驱动程序从操作系统层驱动外接设备接口,将数据采集指令发送给与终端设备外接设备接口连接的数据采集设备,实现调用数据采集设备进行数据采集。其中,该方法通过中间件根据终端设备操作系统的属性选择不同的接口驱动程序,实现在windows和Linux等不兼容的多种操作系统平台混用情况下,对外接设备驱动接口进行正常调用,实现终端设备操作系统向国产化操作系统平滑过渡,在对外接设备的自身硬件不进行任何改动的条件下,解决了终端设备多种操作系统平台混用下软件接口和外接设备的硬件接口无法适配的问题,使开发人员能面对统一的开发环境,减少开发的复杂性和开发周期,实现应用的快速开发和修改,同时减少应用系统运维的工作量。
此外,通过针对业务应用不同业务所需的数据类型,获取与数据类型相对应的业务驱动程序封装进中间件,使中间件不仅支持驱动外接设备,还可对数据信息进行不同的处理,使得中间件能满足业务应用不同的业务需求,提高中间件的使用灵活性和适用广泛性。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求,且以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例提供的技术方案可以适用于外接设备驱动场景,如图1所示,为本申请实施例提供的应用场景示意图,在该场景中,可以包括终端设备100、至少一个数据采集设备105和硬件接口106。
其中,终端设备100例如手机、个人计算机(personal computer,PC)、平板电脑(PAD)、笔记本电脑、台式电脑、移动互联网设备(Mobile Internet Device,MID)等能够被配置为执行本申请实施例提供的该方法装置中的任意一种均可,在此不再一一进行例举。为便于描述,下文以该方法的执行主体为能够执行该方法的个人计算机为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为个人计算机只是一种示例性的说明,并不应理解为对该方法的限定。
数据采集设备105,可以为能实现录音功能的音频设备,实现拍照录像功能的摄像机设备,实现同步录音、录像功能的双录设备、能实现采集指纹、手写输入功能的触控显示设备等符合UVC规格的硬件设备,当然还可以是其他实现各类型数据采集功能符合UVC规格的硬件设备,本发明实施例对此不做限制。
终端设备100与数据采集设备105之间可以通过硬件接口106连接,该硬件接口106可以是USB接口,高清多媒体接口(High Definition Multimedia Interface,HDMI),集成电路总线接口(Inter-Integrated Circuit,I2C),移动产业处理器接口(Mobile IndustryProcessor Interface,MIPI)接口,当然还可以是其他可能的硬件接口,本发明实施例对此不做限制。
具体的,如图2所示,为本申请实施例提供的终端设备100的系统架构图,其中,终端设备100可以包括应用层101、中间件102、操作系统层103、设备层104。
应用层101,包括与操作系统层103对应的操作系统类型一致的业务应用程序,能够通过业务应用触发的数据采集指令请求调用中间件102实现与操作系统层103的双向通信。
中间件102,是一种独立于操作系统层和应用层之间的系统软件服务程序,通过连接操作系统层和应用层实现两者的双向通信,通过封装在其中的与多种操作系统类型对应的调用驱动组件,根据操作系统层的操作类型选择对应的接口驱动程序。并提供类似操作系统平台衔接各个部分或不同的应用程序的功能,终端设备内不同的分布式应用程序能够借助中间件达到资源共享、功能共享的目的。
操作系统层103,可以为支持UVC标准协议并提供UVC设备驱动的所有操作系统,包括但不限于Windows操作系统、Linux操作系统、MAC操作系统、Android操作系统。
设备层104,可以包括终端设备100与外接设备进行连接的硬件接口,操作系统层103提供的UVC设备驱动通过设备层104的硬件接口,实现终端设备对外接设备的驱动。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的驱动外接设备的方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参见图3所示,为本申请实施例提供的一种驱动外接设备方法的流程示意图,该方法的具体实施流程如下:
步骤301:接收应用层中的业务应用触发的数据采集指令;其中,数据采集指令用于请求调用终端设备外接的至少一个数据采集设备进行数据采集,终端设备通过自身的外接设备接口与至少一个数据采集设备连接;
本申请实施例中,应用层中的业务应用可呈现进行相关数据采集的功能按钮的显示界面,可通过在显示界面进行相应操作来触发终端设备进行当前业务所需的外接设备调用,实现外接设备的开启和数据信息的交互。
在一种可能的实施方式中,业务应用可以是安装在银行柜面终端的软件应用或是与银行系统关联的小程序等,银行工作人员通过在业务应用界面上点击预设的业务按钮,触发终端设备进行当前业务所需的数据采集。例如,柜面工作人员通过使用的柜面终端设备,在显示页面点击预设的扫码业务按钮,业务应用弹出展示扫码识别的功能界面,如图4所示为业务应用中扫码识别功能的界面示意图,工作人员可根据此功能界面显示即时采集到的图像来提示客户调整二维码/条码位置,保证二维码/条码的正确识别。同时终端设备接收到扫码业务对应的数据采集指令,通过中间件驱动外接的摄像头设备对客户展示的二维码进行识别。
在一种可能的实施方式中,终端设备可以通过获取多种支持UVC通信协议标准的操作系统类型对应的UVC驱动程序,包括但不限于Windows操作系统、Linux操作系统、MAC操作系统、Android操作系统各自对应的UVC驱动程序等,调用封装程序对其进行封装获得调用驱动组件,以此生成中间件。
其中,封装程序通过隐藏多种UVC驱动程序的属性和实现细节,仅对外公开各自的驱动接口来控制对驱动程序的读取和修改,提高了驱动程序的可复用性和可维护性,降低了开发人员保持数据与操作内容的工作负担。
步骤302:响应于数据采集指令,确定操作系统层对应的操作系统类型。
本申请实施例中,操作系统层对应的操作系统类型可以是Windows操作系统、Linux操作系统、MacOS操作系统、Android操作系统等任意一种支持UVC通信协议标准的操作系统。
在一种可能的实施方式中,中间件可通过过滤器或拦截器拦截来自于应用层业务应用的数据采集指令,包括但不限于Filter过滤器、HOOK拦截器、AOP拦截器等,并对其拦截到的数据采集指令进行解析获得其指示的对数据采集设备的调用请求和操作系统层对应的操作系统类型。
具体的,中间件还可通过直接在业务应用中注册与中间件对应的指令,通过业务应用直接下发数据采集指令至中间件。
在一种可能的实施方式中,可通过直接从终端设备操作系统层的系统属性中获取所属的操作系统类型和版本,还可通过在操作系统自带浏览器的userAgent属性中检索查询是否存在操作系统名称对应的英文字符,例如windos系统的“windos”字符,在此基础上还可根据“windos nt”字符后所带的数字判断windos操作系统的具体版本。
步骤303:从多个接口驱动程序中,确定与操作系统类型相匹配的目标接口驱动程序,多个接口驱动程序中每个接口驱动程序对应一种操作系统类型。
本申请实施例中,接口驱动程序即为驱动外接设备的驱动程序,是由硬件厂商根据外接设备对接的操作系统类型预先编写好的配置文件,是添加到操作系统中包含有关外接硬件设备信息的特殊程序,此信息能够使终端设备与相应的外接设备进行通信。若使用的驱动程序与本终端设备的操作系统类型不符,则终端设备就无法正常的驱动外接设备进行工作。
在一种可能的实施方式中,与上述的操作系统类型对应,则多个接口驱动程序可以包括如下接口驱动程序中的多种的组合:
(1)Windows操作系统对应的UVC驱动程序;
(2)Linux操作系统对应的UVC驱动程序;
(3)MacOS操作系统对应的UVC驱动程序;
(4)Android操作系统对应的UVC驱动程序。
具体的,中间件可以通过预先建立每个接口驱动程序与对应的操作系统的映射关系表,通过查表的方式确定与操作系统类型相匹配的目标接口驱动程序。中间件还可以通过预先给每个接口驱动程序赋予可识别的标识,并建立标识与对应的操作系统类型的映射关系,通过识别每个接口驱动程序独有的标识,获得标识表征的操作系统类型。
步骤304:基于目标接口驱动程序通过操作系统层驱动外接设备接口,将数据采集指令发送给至少一个数据采集设备。
本申请实施例中,终端设备的操作系统为可提供UVC设备驱动的操作系统类型,且外接设备属于符合UVC规格的硬件设备,因此通过中间件选择与本终端设备操作系统类型对应的接口驱动程序即可实现正常驱动外接设备,进行终端设备与外接设备间的通信,无需硬件设备再安装任何的驱动程序。在一种可能的实施方式中,可在确定目标接口驱动程序后,通过操作系统层从外接设备接口获取连接的多个数据采集设备对应的设备参数集合,并通过中间件的显示界面进行显示,如图5所示,为中间件显示设备参数集合的示意图,柜面工作人员能够根据显示的设备参数,从连接的多个数据采集设备中选择一个理想设备来进行后续的数据采集。
其中,设备参数集合可以包括但不限于多个设备对应的名称、设备类型、设备厂商名称、驱动程序信息、硬件接口信息等,例如摄像机设备的设备参数集合可以包括画面分辨率,图像信噪比、帧率、延时时间等,麦克风设备的设备参数集合可以包括灵敏度,信号噪声比,阻抗,方向性等。
参见图6所示,为本申请实施例提供的驱动外接设备方法的另一流程示意图,该方法的具体实施流程如下:
步骤601:接收应用层中的业务应用触发的数据采集指令。
步骤602:响应于数据采集指令,确定操作系统层对应的操作系统类型。
步骤603:从多个接口驱动程序中,确定与操作系统类型相匹配的目标接口驱动程序。
步骤604:基于目标接口驱动程序通过操作系统层驱动外接设备接口,将数据采集指令发送给至少一个数据采集设备。
具体的,步骤601-604与上述步骤301-304类似,因此可参见上述部分的介绍,在此不再赘述。
步骤605:通过外接设备接口,接收至少一个数据采集设备采集的数据信息,并将数据信息发送至业务应用。
在本申请实施例中,在终端设备通过中间件驱动数据采集设备进行数据采集后,中间件可通过外接设备接口接收到数据采集设备采集的数据信息,并传输至终端设备应用层的业务应用,实现外接设备和终端设备的双向通信。
在一种可能的实施方式中,为了使中间件能满足业务应用不同的业务需求,还可将与数据类型相对应的业务驱动程序封装进中间件,使得中间件可对接收的数据信息先进行相关处理使其符合业务应用的需求,参见图7所示,为本申请实施例提供的中间件进行业务数据处理的流程示意图,该方法的具体实施流程如下:
步骤701:接收应用层中的业务应用触发的数据采集指令。
本申请实施例中,为了便于中间件能够知晓所要进行的处理,可以在数据采集指令中进行指示,例如可以直接指示所要进行的处理,或者通过当前所要进行的业务间接进行指示。
步骤702:响应于数据采集指令,确定操作系统层对应的操作系统类型。
步骤703:从多个接口驱动程序中,确定与操作系统类型相匹配的目标接口驱动程序。
步骤704:基于目标接口驱动程序通过操作系统层驱动外接设备接口,将数据采集指令发送给至少一个数据采集设备。
步骤705:通过外接设备接口,接收至少一个数据采集设备采集的数据信息。
具体的,步骤701-704与上述步骤301-304类似,因此可参见上述部分的介绍,在此不再赘述。
步骤706:根据业务数据类型,确定需要对数据信息进行处理的业务处理类型;
在本申请实施例中,此种情况下业务应用触发的数据采集指令可包括指示当前业务所需的业务数据类型,例如业务需要录制含有客户人脸和语音的音频、视频数据,拍摄客户展示的二维码图像数据等。
具体的,可以通过在业务应用的显示界面预设对应不同实际业务需求的业务按钮,同时按照实际需求给配置所需的业务数据类型,通过点击不同的业务按钮触发指示所需业务数据类型的数据采集指令。
在一种可能的实施方式中,当业务应用是安装在银行柜面终端的软件应用时,以银行的扫码业务需求为例,其所需的业务数据类型就为二维码解析后获得的所属实体的标识信息,因此根据此业务数据类型,确定中间件需要对接收到的二维码图片进行二维码的解码处理。
步骤707:根据业务处理类型,调用对应的业务驱动程序对数据信息进行处理,获得相应的业务数据,将业务数据返回给业务应用。
在本申请实施例中,为了减少业务应用的功能集成,可通过中间件集成通用于一部分业务的数据处理功能,使得一部分业务都可通过中间件进行数据处理,无需在业务应用中再针对上述业务开发这项数据处理功能,以此减少业务应用的大小,降低设备的压力。
具体的,可以通过针对预设的多种通用于一定业务的数据处理类型,并获取相对应的业务驱动程序,再调用封装程序对其进行封装生成业务驱动组件,与已封装的调用驱动组件一起组成能够实现多种数据类型的业务处理的中间件。例如针对银行实际场景中较为常用的实名认证业务,确认个人信息业务,确认属于本人操作的业务,都有需要外接的摄像头拍摄客户人脸,并将图像数据与系统预存人脸数据进行匹配,获得匹配结果的需求,在此情况下,可以将人脸图像数据匹配程序封装进业务驱动组件,让中间件完成图像数据匹配处理,直接返回表征匹配结果的业务数据至业务应用。
以银行多种业务都涉及的扫码流程为例,中间件需获取完成扫码流程所需的功能程序,例如扫码预览程序、二维码纠偏定位程序、解码程序等,将获取上述程序封装生成针对扫码业务的驱动组件,与已封装的调用驱动组件组成中间件,使中间件能够支持扫码业务所需的数据处理功能。如图8所示,为终端设备通过中间件完成扫码业务的示意图,银行柜面的工作人员在点击了业务应用界面的扫码业务按钮后,业务应用请求调用中间件,中间件通过接口驱动程序启动外接的摄像头采集客户展示的二维码,摄像头持续发送启动期间采集到的每一帧二维码图像数据给中间件,中间件接收到图像数据信息,通过扫码预览程序将帧图像处理后传输给业务应用进行显示,同时通过二维码纠偏定位程序和解码程序对每一帧图像进行解析,如果此帧图像解码失败,二维码纠偏定位程序会重复纠偏定位,只有解码程序成功解码,才会获取到二维码所属实体的标识信息,并返回给业务应用的扫码功能界面,供工作人员根据扫码结果进行下一步业务操作。
综上所述,本申请实施例终端设备的中间件接收到应用层中业务应用触发的数据采集指令,确定终端设备操作系统层对应的操作系统类型,从自身封装的多个接口驱动程序中确定与操作系统类型相匹配的目标接口驱动程序,通过目标接口驱动程序从操作系统层驱动外接设备接口,将数据采集指令发送给与终端设备外接设备接口连接的数据采集设备,实现调用数据采集设备进行数据采集。其中,该方法通过中间件根据终端设备操作系统的属性选择不同的接口驱动程序,实现在windows和Linux等不兼容的多种操作系统平台混用情况下,对外接设备驱动接口进行正常调用,实现终端设备操作系统向国产化操作系统平滑过渡,在对外接设备的自身硬件不进行任何改动的条件下,解决了终端设备多种操作系统平台混用下软件接口和外接设备的硬件接口无法适配的问题,使开发人员能面对统一的开发环境,减少开发的复杂性和开发周期,实现应用的快速开发和修改,同时减少应用系统运维的工作量。
此外,通过针对业务应用不同业务所需的数据类型,获取与数据类型相对应的业务驱动程序封装进中间件,使中间件不仅支持驱动外接设备,还可对数据信息进行不同的处理,使得中间件能满足业务应用不同的业务需求,提高中间件的使用灵活性和适用广泛性。
请参见图9,基于同一发明构思,本申请实施例还提供了一种驱动外接设备装置900,该装置包括:
接收单元901,用于接收应用层中的业务应用触发的数据采集指令;其中,数据采集指令用于请求调用终端设备外接的至少一个数据采集设备进行数据采集,终端设备通过自身的外接设备接口与至少一个数据采集设备连接;
确定单元902,用于响应于数据采集指令,确定终端设备的操作系统类型;
从多个驱动程序中,确定与操作系统层中的操作系统类型相匹配的目标接口驱动程序,多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;
发送单元903,用于基于目标接口驱动程序通过操作系统层驱动外接设备接口,将数据采集指令发送给至少一个数据采集设备。
可选的,确定单元902,具体用于:
从外接设备接口获取终端设备连接的多个数据采集设备分别对应的设备参数集合;其中,每个设备参数集合包括相应的数据采集设备的名称以及数据采集参数;
通过中间件,显示获取的多个设备参数集合;
响应于接收到的设备选择操作,从多个数据采集设备中,确定至少一个数据采集设备。
可选的,确定单元902,具体用于:
根据业务数据类型,确定需要对数据信息进行处理的业务处理类型;
根据业务处理类型,调用对应的业务驱动程序对数据信息进行处理,获得相应的业务数据;
将业务数据返回给业务应用。
可选的,发送单元903,具体用于:
通过外接设备接口,接收至少一个数据采集设备采集的数据信息,并将数据信息发送至业务应用。
可选的,装置还包括生成单元904,具体用于:
针对预设的多种操作系统类型,分别获取相对应的接口驱动程序;
响应于接收到的封装操作,调用封装程序对多个接口驱动程序进行封装,获得调用驱动组件;
基于调用驱动组件,生成中间件。
可选的,生成单元904,具体用于:
针对预设的多种数据处理类型,分别获取相对应的业务驱动程序;
响应于封装操作,调用封装程序对获得的业务驱动程序进行封装,生成业务驱动组件;
基于调用驱动组件和业务驱动组件,生成中间件。
通过上述装置,设备终端的中间件能够根据终端设备操作系统的属性选择不同的接口驱动程序,实现在windows和Linux等不兼容的多种操作系统平台混用情况下对外接设备驱动接口进行正常调用,实现终端设备操作系统向国产化操作系统平滑过渡,在对外接设备的自身硬件不进行任何改动的条件下,解决了终端设备多种操作系统平台混用下软件接口和外接设备的硬件接口无法适配的问题,使开发人员能面对统一的开发环境,减少开发的复杂性和开发周期,实现应用的快速开发和修改,同时减少应用系统运维的工作量。此外,通过针对业务应用不同业务所需的数据类型,获取与数据类型相对应的业务驱动程序封装进中间件,使中间件不仅支持驱动外接设备,还可对数据信息进行不同的处理,使得中间件能满足业务应用不同的业务需求,提高中间件的使用灵活性和适用广泛性。
请参见图10,基于同一技术构思,本申请实施例还提供了一种计算机设备。在一种实施例中,该计算机设备如图所示可以包括存储器1001,通讯模块1003以及一个或多个处理器1002。
存储器1001,用于存储处理器1002执行的计算机程序。存储器1001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统;存储数据区可存储各种操作指令集等。
存储器1001可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1001也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1001是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1001可以是上述存储器的组合。
处理器1002,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1002,用于调用存储器1001中存储的计算机程序时实现上述图像数据处理方法。
通讯模块1003用于与图像数据处理设备或者其他设备进行通信。
本申请实施例中不限定上述存储器1001、通讯模块1003和处理器1002之间的具体连接介质。本申请实施例在图10中以存储器1001和处理器1002之间通过总线1004连接,总线1004在图10中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1004可以分为地址总线、数据总线、控制总线等。为便于描述,图10中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1001中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的图像数据处理方法。处理器1002用于执行上述各实施例的图像数据处理方法。
在一些可能的实施方式中,本申请提供的图像数据处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的图像数据处理方法中的步骤,例如,计算机设备可以执行各实施例的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本申请件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种驱动外接设备的方法,其特征在于,应用于终端设备的中间件,所述终端设备还包括通过所述中间件进行通信的应用层和操作系统层;所述方法包括:
接收应用层中的业务应用触发的数据采集指令;其中,所述数据采集指令用于请求调用所述终端设备外接的至少一个数据采集设备进行数据采集,所述终端设备通过自身的外接设备接口与所述至少一个数据采集设备连接;
响应于所述数据采集指令,确定所述操作系统层对应的操作系统类型;
从多个接口驱动程序中,确定与所述操作系统类型相匹配的目标接口驱动程序,所述多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;
基于所述目标接口驱动程序通过操作系统层驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备。
2.如权利要求1所述的方法,其特征在于,所述基于所述目标接口驱动程序通过操作系统层驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备之前,还包括:
从所述外接设备接口获取所述终端设备连接的多个数据采集设备分别对应的设备参数集合;其中,每个设备参数集合包括相应的数据采集设备的名称以及数据采集参数;
通过所述中间件,显示获取的多个设备参数集合;
响应于接收到的设备选择操作,从所述多个数据采集设备中,确定所述至少一个数据采集设备。
3.如权利要求1所述的方法,其特征在于,在基于所述目标接口驱动程序驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备之后,所述方法还包括:
通过所述外接设备接口,接收所述至少一个数据采集设备采集的数据信息,并将所述数据信息发送至所述业务应用。
4.如权利要求3所述的方法,其特征在于,所述数据采集指令还用于指示所述业务应用的当前业务所需的业务数据类型;
则在通过所述外接设备接口,接收所述至少一个数据采集设备采集的数据信息,并将所述数据信息发送至所述业务应用之后,所述方法还包括:
根据所述业务数据类型,确定需要对所述数据信息进行处理的业务处理类型;
根据所述业务处理类型,调用对应的业务驱动程序对所述数据信息进行处理,获得相应的业务数据;
将所述业务数据返回给所述业务应用。
5.如权利要求1所述的方法,其特征在于,在所述接收应用层中的业务应用触发的数据采集指令之前,所述方法还包括:
针对预设的多种操作系统类型,分别获取相对应的接口驱动程序;
响应于接收到的封装操作,调用封装程序对所述多个接口驱动程序进行封装,获得调用驱动组件;
基于所述调用驱动组件,生成所述中间件。
6.如权利要求5所述的方法,其特征在于,在所述基于所述调用驱动组件,生成所述中间件之前,所述方法还包括:
针对预设的多种数据处理类型,分别获取相对应的业务驱动程序;
响应于所述封装操作,调用所述封装程序对获得的业务驱动程序进行封装,生成所述业务驱动组件;
则所述基于所述调用驱动组件,生成所述中间件,包括:
基于所述调用驱动组件和所述业务驱动组件,生成所述中间件。
7.一种驱动外接设备装置,其特征在于,包括:
接收单元,用于接收应用层中的业务应用触发的数据采集指令;其中,所述数据采集指令用于请求调用所述终端设备外接的至少一个数据采集设备进行数据采集,所述终端设备通过自身的外接设备接口与所述至少一个数据采集设备连接;
确定单元,用于响应于所述数据采集指令,确定终端设备的操作系统类型;
从多个驱动程序中,确定与所述操作系统层中的操作系统类型相匹配的目标接口驱动程序,所述多个接口驱动程序中每个接口驱动程序对应一种操作系统类型;
发送单元,用于基于所述目标接口驱动程序通过操作系统层驱动所述外接设备接口,将所述数据采集指令发送给所述至少一个数据采集设备。
8.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1~6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如权利要求1~6任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952944.3A CN115237481A (zh) | 2022-08-09 | 2022-08-09 | 驱动外接设备的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952944.3A CN115237481A (zh) | 2022-08-09 | 2022-08-09 | 驱动外接设备的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115237481A true CN115237481A (zh) | 2022-10-25 |
Family
ID=83679983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210952944.3A Pending CN115237481A (zh) | 2022-08-09 | 2022-08-09 | 驱动外接设备的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115237481A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909557A (zh) * | 2019-11-20 | 2020-03-24 | 上海中商网络股份有限公司 | 一种采集器开发平台 |
-
2022
- 2022-08-09 CN CN202210952944.3A patent/CN115237481A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909557A (zh) * | 2019-11-20 | 2020-03-24 | 上海中商网络股份有限公司 | 一种采集器开发平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022211850B2 (en) | Application function implementation method and electronic device | |
CN107168960B (zh) | 一种业务执行方法及装置 | |
US11144195B2 (en) | Fast data copying method and electronic device | |
US20220214932A1 (en) | Methods, devices and computer storage media for inter-mini program platform communication | |
CN110457038B (zh) | 附属应用端的卡片显示方法、装置、设备以及存储介质 | |
CN113784049B (zh) | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 | |
US20220245005A1 (en) | Methods, devices and computer storage media for inter-mini program platform discovery | |
CN111737022A (zh) | 一种基于微服务的接口调用方法、系统、设备及介质 | |
CN112486620A (zh) | 跨进程离屏渲染方法、装置、电子设备及存储介质 | |
WO2024037032A1 (zh) | 账号登录的方法及电子设备 | |
CN113032080A (zh) | 页面实现方法、应用程序、电子设备及存储介质 | |
CN113835569A (zh) | 终端设备、应用内部功能的快捷启动方法和存储介质 | |
CN114168460A (zh) | 混合开发中前端代码的远程调试方法、设备及存储介质 | |
CN115237481A (zh) | 驱动外接设备的方法、装置、设备及存储介质 | |
CN112835632A (zh) | 一种端能力的调用方法、设备和计算机存储介质 | |
CN116561013B (zh) | 基于目标服务框架的测试方法、装置、电子设备和介质 | |
WO2020221090A1 (zh) | 用于联合运行寄宿应用的方法和设备 | |
CN106095886B (zh) | 一种数据处理方法及其装置 | |
CN110489326B (zh) | 基于ids的httpapi调试方法装置、介质和设备 | |
CN111784481B (zh) | 扫码下单方法、业务码创建方法、装置和电子设备 | |
CN112732547B (zh) | 业务测试方法、装置、存储介质及电子设备 | |
CN110262912B (zh) | 一种过程调用gRPC的调用方法及装置 | |
CN110795149B (zh) | 终端平台运行方法、装置、设备及可读存储介质 | |
CN109756393B (zh) | 信息处理方法、系统、介质和计算设备 | |
CN116974631B (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 |