外接设备的处理方法、装置、电子设备及可读介质与流程

文档序号:30491812发布日期:2022-06-22 02:07阅读:128来源:国知局
外接设备的处理方法、装置、电子设备及可读介质与流程

1.本发明实施例涉及电子设备技术领域,尤其涉及一种外接设备的处理方法、装置、电子设备及可读介质。


背景技术:

2.目前,为了实现额外的功能,往往会为终端连接外接设备。其中,外接设备可以为打印机、扫描仪、键盘、外接音箱等通过通用串行总线(universal serial bus,usb)与终端设备连接的usb设备。连接外接设备之后,终端需要基于适配于该终端所使用的处理器下的操作系统的驱动,才能控制所连接外接设备工作。
3.但是,受到外界因素的影响,外接设备的驱动往往无法覆盖所有处理器下的操作系统,有些处理器下的操作系统有时并没有适配该外接设备的驱动,这样,就会导致使用不存在适配驱动的操作系统的终端,无法驱动外接设备工作,进而导致外接设备无法被正常使用,设备的使用局限性较大,从而造成设备资源浪费。


技术实现要素:

4.本发明实施例提供一种外接设备的处理方法、装置、电子设备及可读介质,以解决相关技术中外接设备无法被正常使用,设备的使用局限性较大,从而造成设备资源浪费的问题。
5.第一方面,提供了一种外接设备的处理方法,应用于安装有目标虚拟机的目标终端,所述目标终端中运行有基于第一处理器的第一操作系统,所述目标虚拟机中运行有基于第二处理器的第二操作系统,所述方法包括:
6.向所述目标虚拟机提交目标外接设备对应的目标任务;所述目标外接设备与所述目标终端连接;
7.基于所述目标虚拟机中预先安装的所述目标外接设备对应的目标驱动,驱动所述目标外接设备执行所述目标任务;所述目标驱动适配于所述基于第二处理器的第二操作系统。
8.第二方面,提供了一种外接设备的处理装置,应用于安装有目标虚拟机的目标终端,所述目标终端中运行有基于第一处理器的第一操作系统,所述目标虚拟机中运行有基于第二处理器的第二操作系统,所述装置包括:
9.提交模块,用于向所述目标虚拟机提交目标外接设备对应的目标任务;所述目标外接设备与所述目标终端连接;
10.第一驱动模块,用于基于所述目标虚拟机中预先安装的所述目标外接设备对应的目标驱动,驱动所述目标外接设备执行所述目标任务;所述目标驱动适配于所述基于第二处理器的第二操作系统。
11.第三方面,提供了一种电子设备,包括:
12.一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一
个或多个处理器执行时,使得所述电子设备执行所述第一方面中所述的方法。
13.第四方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行所述第一方面中所述的方法。
14.在本发明实施例中,包括:向目标虚拟机提交目标外接设备对应的目标任务;目标外接设备与目标终端连接;基于目标虚拟机中预先安装的目标外接设备对应的目标驱动,驱动目标外接设备执行目标任务;目标驱动适配于基于第二处理器的第二操作系统。本发明中,通过在使用基于第一处理器的第一操作系统的目标终端中,安装使用第二操作系统的目标虚拟机,通过目标终端中的目标虚拟机,基于已有的适配于该第二操作系统的目标驱动,驱动目标外接设备。这样,可以使得不存在适配驱动的目标终端能够驱动目标外接设备正常工作,进而可以降低设备的使用局限性,提高目标外接设备的使用率,从避免设备资源浪费的问题。
15.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
16.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
17.图1是本发明实施例提供的一种外接设备的处理方法的步骤流程图;
18.图2是本发明实施例提供的一种界面示意图;
19.图3是本发明实施例提供的一种系统示意图;
20.图4是本发明实施例提供的一种地址配置示意图;
21.图5是本发明实施例提供的另一种界面示意图;
22.图6是本发明实施例提供的一种外接设备的处理装置的结构框图。
具体实施方式
23.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
24.本发明实施例提供了一种外接设备的处理方法、装置、电子设备及可读介质,用于解决现有技术中,在某些处理器下的操作系统没有适配该外接设备的驱动的情况下,导致无法驱动外接设备工作,进而导致外接设备无法被正常使用,设备的使用局限性较大,从而造成设备资源浪费的问题。
25.下面对该外接设备的处理方法进行详细说明。
26.图1是本发明实施例提供的一种外接设备的处理方法的步骤流程图,该方法可以应用于安装有目标虚拟机的目标终端,所述目标终端中运行有基于第一处理器的第一操作系统,所述目标虚拟机中运行有基于第二处理器的第二操作系统,如图1所示,该方法可以
包括:
27.步骤101、向所述目标虚拟机提交目标外接设备对应的目标任务;所述目标外接设备与所述目标终端连接。
28.本发明实施例中,第一处理器、第二处理器、第一操作系统及第二操作系统的具体类型可以根据实际需求设置。示例的,可以将目标外接设备的驱动还未覆盖的处理器、操作系统,设置为第一处理器、第一操作系统。将目标外接设备的驱动当前已经覆盖的处理器、操作系统,设置为第二处理器、第二操作系统。第一处理器的指令集架构与第二处理器的指令集架构可以不同,如,第一处理器为risc(reduced instruction set computing,精简指令集计算机)架构的处理器,如mips、arm、rsic-v、loongarch等架构的处理器,第二处理器为cisc(complex instruction set computer,复杂指令集计算机)架构的处理器,如x86架构。当然,也可以是第一处理器为cisc架构的处理器,第二处理器为risc架构的处理器,可以根据需要驱动的外接设备的实际需求进行选取。在一实施例中,以目标外接设备为打印机为例,可以将基于龙芯处理器(基于mips架构或loongarch架构)的类linux操作系统作为基于第一处理器的第一操作系统,将基于因特尔(intel)x86处理器的微软(windows)操作系统作为基于第二处理器的第二操作系统。进一步地,目标虚拟机(virtual machine)可以是一种特殊的软件,它可以创建第二操作系统下的操作环境,目标虚拟机的宿主机(即,目标终端)及目标虚拟机可以基于所创建的第二操作系统下的操作环境进行操作。
29.进一步地,目标终端可以为计算机,平板电脑等电子设备。目标外接设备的类型可以根据实际需求来设定,示例的,目标外接设备可以为打印机、扫描仪,等等。目标任务可以是需要通过目标外接设备执行的任务。示例的,以目标外接设备为打印机为例,针对文档的打印任务可以为目标任务。进一步地,目标终端可以在收到用户提交的目标外接设备对应的目标任务的情况下,将该目标任务对应转发给目标虚拟机,以便于在目标虚拟机中对该目标任务进行处理。
30.步骤102、基于所述目标虚拟机中预先安装的所述目标外接设备对应的目标驱动,驱动所述目标外接设备执行所述目标任务;所述目标驱动适配于所述基于第二处理器的第二操作系统。
31.由于目标虚拟机可以模拟基于第二处理器的第二操作系统的操作环境,且目标虚拟机中安装有适配于该第二操作系统的驱动,因此,可以通过目标设备中的目标虚拟机,由目标虚拟机对目标外接设备驱动,进而使得目标外接设备能够正常工作,使得目标任务可以被顺利执行。
32.综上所述,本发明实施例提供的一种外接设备的处理方法,包括:向所述目标虚拟机提交目标外接设备对应的目标任务;所述目标外接设备与所述目标终端连接;基于所述目标虚拟机中预先安装的所述目标外接设备对应的目标驱动,驱动所述目标外接设备执行所述目标任务;所述目标驱动适配于所述基于第二处理器的第二操作系统。本发明中,通过在使用基于第一处理器的第一操作系统的目标终端中,安装使用第二操作系统的目标虚拟机,通过目标终端中的目标虚拟机,基于已有的适配于该第二操作系统的目标驱动,驱动目标外接设备。这样,可以使得不存在适配驱动的目标终端能够驱动目标外接设备正常工作,进而可以降低设备的使用局限性,提高目标外接设备的使用率,从避免设备资源浪费的问题。
33.同时,可以使得无需针对基于第一处理器的第一操作系统再进行驱动适配,用户也无需为了使用目标外接设备而额外增加存在适配驱动的终端,进而可以减少使用成本。且由于对目标任务的处理过程均在目标终端的内部进行,进而一定程度上可以保证数据的安全性。
34.可选的,在向目标虚拟机提交目标外接设备对应的目标任务之前,本发明实施例中还可以执行以下步骤:
35.步骤s11、在所述目标终端中创建运行有所述第二操作系统的虚拟机。
36.本步骤中,可以先生成第二操作系统的虚拟机镜像,然后,通过目标终端可以通过预设的管理程序,根据虚拟机镜像创建运行有第二操作系统的虚拟机。其中,虚拟机镜像的格式可以为qcow2格式,预设的管理程序可以为虚拟管理器(virt-manager)。在创建虚拟机之前,可以先检测目标终端中是否已安装管理程序,如果已安装则可以在生成虚拟机镜像之后,直接执行创建操作。如果未安装,则可以先安装管理程序,之后再执行创建操作,以确保创建操作可以顺利进行,进而确保任务执行效率。
37.步骤s12、基于预设的模拟器配置文件,在所述目标终端中生成模拟器;所述模拟器用于模拟所述第二处理器。
38.本步骤中,模拟器配置文件可以为用于在目标终端中安装模拟器的文件。模拟器的具体类型可以根据实际需求设置,只要确保基于该模拟器可以模拟第二处理器。示例的,模拟器可以为qemu模拟器、pearpc模拟器、bochs模拟器等等。以模拟器为qemu模拟器为例,模拟器配置文件可以为qemu压缩包。本发明实施例中,模拟器作为虚拟系统程序,基于模拟器模拟第二处理器,可以实现以沙箱的方式隔离,一定程度上可以从物理层面避免真实第二处理器存在的安全漏洞,增强了安全性。
39.具体的,可以先将模拟器配置文件存储至目标终端。然后目标终端可以对模拟器配置文件进行解压缩,并将解压缩后的文件拷贝至相关目录中,以安装模拟器,进而实现生成模拟器。其中,相关目录可以是系统默认的,也可以是用户指定的。示例的,相关目录可以为“tar zxvf qemu_install.tgz sudo cp qemu_install/*/usr-rf”。进一步地,在安装时,可以是将模拟器作为虚拟机的组件,将模拟器安装在虚拟机的内部。或者,也可以是在目标终端中将模拟器与虚拟机独立安装。
40.步骤s13、基于所述模拟器与所述虚拟机,生成所述目标虚拟机。
41.本发明实施例中,模拟器可以通过动态二进制转换来模拟第二处理器,并提供一系列的硬件模型,进而模拟第二处理器与第二操作系统进行交互。进一步地,模拟器可以将交互过程中的指令翻译给真实的硬件,通过真实的硬件进行操作。相应地,可以将模拟器与虚拟机关联,通过模拟器为虚拟机中的第二操作系统模拟提供硬件支持,进而创建出运行有基于第二处理器的第二操作系统的目标虚拟机。其中,涉及到的翻译操作可以是基于模拟器中的二进制翻译器实现的。
42.本发明实施例中,通过在目标终端中生成用于模拟第二处理器的模拟器,结合该模拟器以及运行有第二操作系统的虚拟机,创建目标虚拟机。这样,可以确保目标虚拟机能够模拟出基于第二处理器的第二操作系统下的操作环境,进而可以确保目标驱动能够在目标虚拟机中正常工作,确保目标虚拟机能够正常驱动目标外接设备执行目标任务。
43.可选的,本发明实施例中向所述目标虚拟机提交目标外接设备对应的目标任务的
操作,可以包括:
44.步骤s21、与所述目标虚拟机进行桥接,以建立通信连接。
45.本发明实施例中,可以预先在目标虚拟机的网络配置文件中将连接模式设置为桥接模式。相应地,目标终端可以根据目标虚拟机的通信地址向目标虚拟机发起连接请求,以使得目标虚拟机与目标终端之间建立桥接,进而实现建立通信连接。其中,通信地址可以为互联网协议(internet protocol,ip)地址,建立的通信连接可以为传输控制协议(transfer control protocol,tcp)连接。
46.步骤s22、基于所述通信连接将所述目标任务的任务信息转发给所述目标虚拟机。
47.本发明实施例中,目标终端中还可以安装有目标外接设备对应的虚拟设备服务。目标任务信息可以是通过该虚拟设备服务转发给目标虚拟机的。该虚拟设备服务可以是用于针对目标外接设备实现特定功能的服务,它本质上可以为一个软件。以目标外接设备为打印机为例,该虚拟设备服务可以为虚拟打印机服务。具体的,虚拟设备服务可以通过对在预设打印系统下原生的虚拟设备服务进行升级得到的。示例的,可以先根据虚拟设备服务文件在目标终端中安装原生的虚拟设备服务,然后对该升级该原生的虚拟设备服务并部署相关配置文件,进而得到本发明实施例中的虚拟设备服务。其中,预设打印系统可以为基于标准的cups(common unix printing system,即通用unix打印系统),假设虚拟设备服务为虚拟打印机,那么安装原生的虚拟设备服务的操作,可以通过以下命令实现:“sudo apt-get install-y printer-driver-cups-pdf”。
48.升级以及部署相关配置文件的操作,可以通过以下步骤实现:首先拷贝打印机网络配置文件,然后增加配置文件的可读权限,最后拷贝虚拟打印机的配置文件。
49.需要说明的是,本发明实施例还可以预先进行测试,以检测目标虚拟机是否能够正常驱动目标外接设备工作。示例的,以目标外接设备为打印机,虚拟设备服务为虚拟打印机为例,可以基于虚拟打印机及目标虚拟机,驱动目标外接设备执行打印测试页的操作,如果能够正常打印,则可以确认测试通过。否则,可以确认测试未通过。图2是本发明实施例提供的一种界面示意图,如图2所示,可以在第一操作系统的界面中,进入虚拟打印机服务的操作界面,然后通过点击打印测试页选项01,触发测试操作。
50.进一步地,该虚拟设备服务可以用于实现任务信息转发功能。相应地,通过运行该虚拟设备服务,可以通过该虚拟设备服务将任务信息基于建立好的通信连接发送目标虚拟机。目标任务的任务信息可以是用于描述该目标任务的信息。任务信息的内容可以由目标任务的类型决定,目标任务可以是基于目标终端中安装的其他应用程序产生的。示例的,目标任务为打印任务时,目标任务可以为通过触发文档编辑应用程序(例如,word应用程序)中的打印选项生成的。任务信息可以是待打印文档的文档内容、文档名称、文档大小,等等。目标任务为扫描任务时,任务信息可以是待扫描图片的图片内容、图片名称、图片大小,等等。示例的,图3是本发明实施例提供的一种系统示意图,如图3所示,目标终端02中的应用程序02a可以生成打印任务,并将打印任务的任务信息发送给虚拟打印机02b。然后虚拟打印机02b可以将打印任务的任务信息发送给目标虚拟机02c。其中,目标虚拟机02c中包括打印驱动以及二进制翻译器。最后,目标虚拟机02c可以驱动打印机03执行打印任务。其中,该目标终端可以为采用龙芯处理器、类linux操作系统的计算机。
51.进一步地,本发明实施例还可以在将任务信息转发给目标虚拟机的过程中,确定
任务信息的转发进度和/或当前转发状态。然后显示任务信息的转发进度和/或当前转发状态。这样,通过获取并显示转发进度和/或当前转发状态,可以使得用户能够便捷的获取当前进度以及转发状态。其中,转发进度可以表征任务信息当前已转发内容的占比,示例的,转发进度可以为50%,80%,100%,等等。确定转发进度时,可以实时确定当前已发送成功的信息的数据量与任务信息的总数据量的比值,进而得到转发进度。进一步地,当前转发状态可以包括转发开始、转发中、转发完成。可以在开始发送任务信息时,确定当前转发状态为“转发开始”,在发送任务信息的过程中,确定当前转发状态为“转发中”,在发送完毕后,确定当前转发状态为“转发完成”。
52.本发明实施例中,基于预先为目标虚拟机配置的通信地址,与目标虚拟机进行桥接,以建立通信连接。接着,基于通信连接将目标任务的任务信息转发给目标虚拟机。这样,通过预先配置通信地址并进行桥接,一定程度上可以确保建立的通信连接的可靠性,进而可以确保能够正常将任务信息转发给目标虚拟机,以确保后续能够正常执行目标任务。
53.可选的,虚拟设备服务还可以用于实现其他功能,例如,该虚拟设备服务还可以用于和目标虚拟机进行通信,实现状态信息获取。相应地,本发明实施例中,还可以执行以下步骤:
54.步骤s31、从所述目标虚拟机中获取状态信息;所述状态信息中包括表征所述目标虚拟机当前是否可接收所述目标任务的第一信息。
55.本发明实施例中,可以是通过虚拟设备服务从目标虚拟机中获取状态信息。具体的,虚拟设备服务可以基于目标终端与目标虚拟机之间建立的tcp连接,向目标虚拟机发送状态信息获取请求,目标虚拟机在收到该信息获取请求之后,可以向虚拟设备服务返回状态信息。或者,也可以是目标虚拟机周期性的主动向虚拟设备服务上报状态信息,本发明实施例对此不作限定。需要说明的是,本发明实施例还可以预先在目标虚拟机的网络配置文件中写入目标终端的通信地址,这样,可以在连接中断的情况下,保证目标虚拟机能够与目标终端进行通信。示例的,图4是本发明实施例提供的一种地址配置示意图,如图4所示,可以在网络配置界面中,写入目标终端的ip地址。当然,还可以进一步地写入子网掩码及默认网关的信息,以使得网络配置信息更全面。
56.进一步地,第一信息可以为表征目标虚拟机当前是否可接收目标任务的信息。即,表征目标虚拟机当前是否可以传输文件的信息。示例的,在目标虚拟机当前正在接收任务信息的情况下,可以返回表征当前不可接收目标任务的第一信息;在目标虚拟机当前处于空闲状态的情况下,可以返回表征当前可接收目标任务的第一信息。
57.步骤s32、根据所述第一信息确定所述目标虚拟机当前是否可接收所述目标任务。
58.示例的,表征当前不可接收目标任务的第一信息与表征当前可接收目标任务的第一信息可以为不同的标识。示例的,可以将“0”作为表征当前不可接收目标任务的第一信息,将“1”作为表征当前可接收目标任务的第一信息。相应地,本步骤中可以根据第一信息的具体内容,确定目标虚拟机当前是否可接收目标任务。
59.步骤s33、若所述目标虚拟机当前可接收所述目标任务,则执行所述向所述目标虚拟机提交目标外接设备对应的目标任务的操作。
60.示例的,假设第一信息为“1”,则可以确认目标虚拟机当前可接收目标任务。相应地,在这种情况下,可以执行向目标虚拟机提交目标任务的操作。
61.本发明实施例中,通过获取第一信息,在第一信息表征目标虚拟机当前可接收所述目标任务的情况下,才执行向目标虚拟机提交目标任务的操作。这样,可以避免在目标虚拟机当前不可接收目标任务的情况下,执行不必要的提交操作,进而可以节省处理资源。同时,可以避免由于在目标虚拟机当前不可接收目标任务的情况下执行提交操作,导致故障的问题。
62.进一步地,状态信息可以包括表征目标虚拟机自身状态的信息以及表征目标外接设备的状态信息。可选的,表征目标外接设备是否出现预设故障的第二信息,和/或,表征目标外接设备的当前状态的第三信息。
63.其中,预设故障的类型可以是根据实际需求设置的。示例的,以目标外接设备为打印机为例,预设故障的类型可以包括脱机、卡纸、缺墨。目标外接设备的当前状态可以为工作中、空闲中。目标虚拟机可以周期性检测目标外接设备是否出现故障,当前是否空闲,并根据检测结果生成第二信息,第三信息。接着,可以向虚拟设备服务上报第二信息,第三信息。
64.相应地,可以在获取到状态信息之后,显示获取到的所述状态信息。这样,通过获取并显示状态信息,可以方便用户及时获知目标外接设备当前是否出现故障以及当前状态,进而可以确保能够及时排除故障,掌握设备状态。需要说明的是,本发明实施例中还可以获取并显示目标虚拟机的连接状态。其中,连接状态可以包括正常连接、连接断开。这样,可以方便用户及时获知目标外接设备连接是否正常,进而可以在连接断开时及时进行重新连接。
65.可选的,在本发明实施例还可以执行以下步骤:
66.步骤s41、若检测到所述目标外接设备接入所述目标终端,则通过所述目标虚拟机将所述目标外接设备映射至所述目标虚拟机中。
67.本步骤中,可以先检测是否有外接设备接入目标终端,在检测到有外接设备接入的情况下,判断该外接设备是否为目标外接设备。具体的,可以获取该外接设备的设备类型,在该外接设备的设备类型与目标外接设备的设备类型一致的情况下,确认该外接设备为目标外接设备。例如,假设该外接设备的设备类型为音箱、目标外接设备的设备类型为打印机,那么可以确认外接设备不为目标外接设备,假设该外接设备的设备类型为打印机、目标外接设备的设备类型为打印机,那么可以确认外接设备为目标外接设备。最后,可以在该外接设备为目标外接设备的情况下,确认目标外接设备接入目标终端。
68.将目标外接设备映射至目标虚拟机可以指的是使目标外接设备在目标虚拟机的操作系统中被识别到。目标外接设备映射至目标虚拟机之后,用户即可在目标虚拟机内看到目标外接设备对应的选项。具体的,可以通过预设的映射规则将目标外接设备挂载至目标虚拟机中,进而实现将目标外接设备映射至目标虚拟机中。其中,预设的映射规则可以为udev规则,映射操作可以是通过目标虚拟机中的设备管理器执行的。
69.需要说明的是,本发明实施例中还可以相应地安装其他需要的程序,例如,用于实现设备映射、状态信息获取等功能的程序。示例的,安装其他需要的程序的操作可以通过命令实现:安装打印机相关的需要用到的系统配置的包,包括usb设备相关的、网络相关的包。
70.进一步地,上述基于所述目标虚拟机中预先安装的所述目标外接设备对应的目标驱动,驱动所述目标外接设备执行所述目标任务的操作,可以包括下述步骤:
71.步骤s51、根据所述任务信息调度所述目标驱动,以驱动所述目标虚拟机中的目标外接设备执行所述目标任务。
72.本步骤中,可以基于目标虚拟机中预先安装的设备服务程序,进行调度。其中,该设备服务程序可以是用于执行调度操作的软件。任务信息可以具体是转发到该设备服务程序中。设备服务程序收到任务信息之后,即可调度目标驱动,以实现调度目标虚拟机内的目标外接设备执行目标任务。示例的,在目标驱动为打印驱动的情况下,设备服务程序可以为打印服务程序。本发明实施例中可以预先将打印服务程序文件拷贝到目标虚拟机内并启动,以实现在目标虚拟机中预先安装的打印服务程序。示例的,图5是本发明实施例提供的另一种界面示意图,如图5所示,界面中可以包括拷贝至目标虚拟机内的打印服务程序文件04以及启动之后显示的打印服务程序界面05。进一步地,还可以预先在目标虚拟机内,安装第二操作系统的预设安装流程,安装打印驱动,以完成添加打印机。根据所述任务信息调度所述目标驱动时,可以将任务信息传输给目标驱动并启动目标驱动,以实现调度目标驱动。需要说明的是,本发明实施例中可以根据涉及到的需要预先安装的程序、系统、驱动、软件等安装对象的安装文件,生成安装脚本。相应地,可以运行该安装脚本,将安装文件拷贝至安装目录下,执行预设安装命令(install.sh)实现自动一键安装,进而提高操作效率。
73.本发明实施例中,通过在目标外接设备接入目标终端时,及时将目标外接设备映射至目标虚拟机中,可以确保目标任务能够及时得到处理,可以使得后续能够基于目标虚拟机驱动目标外接设备,进而可以省略针对宿主机的操作系统上开发适配目标外接设备的驱动的操作。进一步地,根据任务信息调度目标驱动,以驱动目标虚拟机中的目标外接设备执行目标任务,可以使得目标任务能够按照用户需求被正常执行。
74.进一步地,在目标驱动为打印驱动的情况下,还可以检测所述打印驱动所支持的打印模式;将支持的打印速度满足预设要求的打印模式作为目标打印模式;在所述目标打印模式下根据所述任务信息调度所述打印驱动。
75.其中,预设要求可以是根据实际需求设置的,示例的,预设要求可以为打印速度最快,或者,是打印速度大于预设速度阈值,等等。具体的,可以从打印驱动的配置信息中读取打印驱动所支持的打印模式以及各个打印模式所支持的打印速度。示例的,打印模式可以包括pdf模式或者pcl模式,不同打印模式下,打印驱动会驱使打印机按照不同的打印策略进行打印,进而会导致不同打印模式下的打印速度不同。接着,可以将各个打印模式所支持的打印速度进行比对,将打印速度最快的打印模式作为目标打印模式。进一步地,可以以目标打印模式启动打印驱动,并将任务信息传输给打印驱动,以实现调度打印驱动。这样,根据对目标驱动的检测,选择打印速度较快的目标打印模式,并在目标打印模式下调度打印驱动,进而一定程度上可以提高提升打印速度。需要说明的是,目标虚拟机还可以将打印状态同步给目标终端中的虚拟设备服务,以使得目标终端中可以及时获知当前打印状态。
76.可选的,在本发明实施例的一种实现方式中,还可以执行下述步骤:
77.步骤s41、将所述虚拟设备服务共享至其他终端。
78.本步骤中,其他终端可以为除目标终端之外的终端,其他终端可以与目标终端处于同一局域网中,其他终端的通信地址可以与目标终端的地址属于相同网段。进一步地,目标终端可以将虚拟设备服务的访问权限开放给其他终端,以实现共享。
79.步骤s42、基于所述目标虚拟机中的所述目标驱动,驱动所述目标外接设备执行所
述其他终端提交的其他任务;所述其他任务是所述其他终端通过共享的所述虚拟设备服务提交的。
80.本步骤中,其他任务可以是其他终端提交的需要通过目标外接设备执行的任务。由于虚拟设备服务共享给了这些其他终端,相应地,其他终端可以将需要通过目标外接设备执行的任务,通过虚拟设备服务提交的给目标虚拟机,目标虚拟机在收到其他任务之后,可以执行其他任务。具体的执行实现方式可以参照前述步骤中相关描述,此处不再赘述。
81.本发明实施例中,通过共享虚拟设备服务,使得其他终端也可以基于目标终端上的目标虚拟机,驱动目标外接设备执行其他终端提交的其他任务。这样,可以提高虚拟设备服务的利用率,省略在其他终端上安装虚拟设备服务以及目标驱动的操作,进而使得其他终端可以便捷的使用目标外接设备,降低使用成本。
82.在本发明实施例一种应用场景中,可以具体是应用于打印机。市场上的打印机制造方、打印机型号众多,而打印机制造方很难有精力对市场上所有的处理器、操作系统进行适配,即,提供完备的驱动。一般,打印机制造方往往是针对使用率较高的处理器、操作系统开发适配的打印驱动。但是,随着网络技术的不断发展,出现了越来越多的使用基于其他处理器的操作系统的终端,这就导致有较多终端无法正常使用打印机。因此,如何解决跨处理器平台、跨操作系统的通用化,成为广泛关注的问题。
83.在一种现有实现方式中,往往是采用基于标准的、开源的打印系统,打印系统作为守护进程运行,其核心为支持ipp,lpd和smb协议的打印服务器。但是,由于开源项目,并非由各个打印机制造方主导,因此,该打印系统的驱动支持往往也是主要来自于开源项目,因此打印驱动缺失,不完善,很多有些打印机在该打印系统下无法正常工作,部分打印特性无法在打印任务中得以体现。进一步地,在另一种现有实现方式中,是基于云打印技术实现打印,云打印技术的基本架构分为用户端和云端。用户端发起打印任务,云端部署专门的打印机服务器。用户端发起的打印任务由与预设程序(daemon程序)转发至云端进行处理,完成打印任务后,云端再通知用户端打印完成。这种方式中,依然会存在由于打印机服务器中驱动不完善,导致有些打印机在该打印系统下无法正常工作,部分打印特性无法在打印任务中得以体现的问题,且由于架构的局限,硬件成本及网络开销较高,打印延迟及数据传输的延时较大,数据传输时存在一定的安全风险。
84.而本发明实施例中,基于目标虚拟机,通过目标虚拟机中现有的适配于基于第二处理器的第二操作系统的目标驱动,驱动目标外接设备,例如,打印机。这样,可以使得不存在适配驱动的终端能够驱动打印机正常工作,进而可以避免由于驱动缺失,导致无法使用或部分打印特性无法在打印任务中得以体现的问题。同时,由于目标虚拟机安装在目标终端内部,这样,可以节省硬件成本及网络开销,降低数据传输的延时以及打印延时,且由于数据均在目标终端的内部传输,因此,可以降低数据传输的风险。
85.图6是本发明实施例提供的一种外接设备的处理装置的结构框图,应用于安装有目标虚拟机的目标终端,所述目标终端中运行有基于第一处理器的第一操作系统,所述目标虚拟机中运行有基于第二处理器的第二操作系统,如图6所示,该装置包括:
86.提交模块601,用于向所述目标虚拟机提交目标外接设备对应的目标任务;所述目标外接设备与所述目标终端连接;
87.第一驱动模块602,用于基于所述目标虚拟机中预先安装的所述目标外接设备对
应的目标驱动,驱动所述目标外接设备执行所述目标任务;所述目标驱动适配于所述基于第二处理器的第二操作系统。
88.可选的,所述装置还包括:
89.创建模块,用于在所述目标终端中创建运行有所述第二操作系统的虚拟机;
90.第一生成模块,用于基于预设的模拟器配置文件,在所述目标终端中生成模拟器;所述模拟器用于模拟所述第二处理器;
91.第二生成模块,用于基于所述模拟器与所述虚拟机,生成所述目标虚拟机。
92.可选的,所述提交模块601,具体用于:
93.与所述目标虚拟机进行桥接,以建立通信连接;
94.基于所述通信连接将所述目标任务的任务信息转发给所述目标虚拟机。
95.可选的,所述装置还包括:
96.映射模块,用于若检测到所述目标外接设备接入所述目标终端,则通过所述目标虚拟机将所述目标外接设备映射至所述目标虚拟机中;
97.所述第一驱动模块602,具体用于:
98.根据所述任务信息调度所述目标驱动,以驱动所述目标虚拟机中的目标外接设备执行所述目标任务。
99.可选的,所述目标驱动为打印驱动;所述第一驱动模块602,还具体用于:
100.检测所述打印驱动所支持的打印模式;
101.将支持的打印速度满足预设要求的打印模式作为目标打印模式;
102.在所述目标打印模式下根据所述任务信息调度所述打印驱动。
103.可选的,所述装置还包括:
104.第一确定模块,用于在将所述任务信息转发给所述目标虚拟机的过程中,确定所述任务信息的转发进度和/或当前转发状态;
105.第一显示模块,用于显示所述任务信息的转发进度和/或当前转发状态。
106.可选的,所述目标终端中还安装有所述目标外接设备对应的虚拟设备服务,所述任务信息通过所述虚拟设备服务转发给所述目标虚拟机;所述装置还包括:
107.共享模块,用于将所述虚拟设备服务共享至其他终端;
108.第二驱动模块,用于基于所述目标虚拟机中的所述目标驱动,驱动所述目标外接设备执行所述其他终端提交的其他任务;所述其他任务是所述其他终端通过共享的所述虚拟设备服务提交的。
109.可选的,所述装置还包括:
110.获取模块,用于从所述目标虚拟机中获取状态信息;所述状态信息中包括表征所述目标虚拟机当前是否可接收所述目标任务的第一信息;
111.第二确定模块,用于在向所述目标虚拟机提交目标外接设备对应的目标任务之前,根据所述第一信息确定所述目标虚拟机当前是否可接收所述目标任务;
112.执行模块,用于若所述目标虚拟机当前可接收所述目标任务,则执行所述向所述目标虚拟机提交目标外接设备对应的目标任务的操作。
113.可选的,所述状态信息还包括表征所述目标外接设备是否出现预设故障的第二信息,和/或,表征所述目标外接设备的当前状态的第三信息;
114.所述装置还包括:第二显示模块,用于显示获取到的所述状态信息。
115.综上所述,本发明实施例提供的一种外接设备的处理装置,可以向目标虚拟机提交目标外接设备对应的目标任务;目标外接设备与目标终端连接;基于目标虚拟机中预先安装的目标外接设备对应的目标驱动,驱动目标外接设备执行目标任务;目标驱动适配于基于第二处理器的第二操作系统。这样,通过在使用基于第一处理器的第一操作系统的目标终端中,安装使用第二操作系统的目标虚拟机,通过目标终端中的目标虚拟机,基于已有的适配于该第二操作系统的目标驱动,驱动目标外接设备。这样,可以使得不存在适配驱动的目标终端能够驱动目标外接设备正常工作,进而可以降低设备的使用局限性,提高目标外接设备的使用率,从避免设备资源浪费的问题。
116.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
117.优选的,本发明实施例还提供一种电子设备,包括一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述实施例提供的外接设备的处理方法。
118.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的外接设备的处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
119.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
120.本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
121.在此提供的方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
122.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
123.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
124.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
125.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
126.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的基于头像的图像处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
127.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1