CN110933245A - 一种虚拟机及数据传输方法、系统、设备、计算机介质 - Google Patents
一种虚拟机及数据传输方法、系统、设备、计算机介质 Download PDFInfo
- Publication number
- CN110933245A CN110933245A CN201911149716.7A CN201911149716A CN110933245A CN 110933245 A CN110933245 A CN 110933245A CN 201911149716 A CN201911149716 A CN 201911149716A CN 110933245 A CN110933245 A CN 110933245A
- Authority
- CN
- China
- Prior art keywords
- scanner
- data
- client
- virtual machine
- type
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00007—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to particular apparatus or devices
- H04N1/00018—Scanning arrangements
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00095—Systems or arrangements for the transmission of the picture signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
- H04N1/0402—Scanning different formats; Scanning with different densities of dots per unit length, e.g. different numbers of dots per inch (dpi); Conversion of scanning standards
Abstract
本申请公开了一种虚拟机及数据传输方法、系统、设备、计算机介质,应用于虚拟机,接收客户端发送的扫描仪数据,扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据;通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理。本申请提供的一种数据传输方法,使得虚拟机可以适用于Linux/Android客户端及Windows客户端,与只能适用于一种客户端的现有技术相比,提高了虚拟机对扫描仪的兼容性。本申请提供的一种虚拟机及数据传输系统、设备、计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种虚拟机及数据传输方法、系统、设备、计算机介质。
背景技术
当前,随着计算机技术的发展,用户对数据的时效性及可控性要求越来越要,可控性即用户可以随时随地的方便的对数据进行控制,为此,现有的一种解决方案是为用户提供云桌面服务,也即用户可以借助云桌面方便的对数据进行控制。
然而,在云桌面的使用过程中,由于虚拟机需要通过网络访问客户端上的扫描仪,扫描仪自身的协议及流程是并不是为了网络传输设计的,所以在云桌面上使用体验非常差,部分扫描仪常有卡顿甚至不能用。
综上所述,如何提高虚拟机对扫描仪的兼容性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据传输方法,其能在一定程度上解决如何提高虚拟机对扫描仪的兼容性的技术问题。本申请还提供了一种虚拟机及数据传输系统、设备、计算机可读存储介质。
为实现上述目的,本申请提供一种数据传输方法,应用于虚拟机,包括:
接收客户端发送的扫描仪数据;
通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理;
其中,所述扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
优选的,所述通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理,包括:
获取转换指令,所述转换指令的类型包括TWAIN接口数据转换指令、WIA接口数据转换指令;
按照所述转换指令,将所述扫描仪数据转换为相应的转换数据;
通过与所述转换数据相对应的接口应用程序对所述转换数据进行处理。
优选的,所述按照所述转换指令,将所述扫描仪数据转换为相应的转换数据,包括:
判断所述扫描仪数据的数据类型是否与所述转换指令相匹配;
若否,则执行所述按照所述转换指令,将所述扫描仪数据转换为相应的转换数据的步骤。
本申请提供的一种数据传输方法,应用于客户端,包括:
所述客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输所述第一类扫描仪数据至所述客户端连接的虚拟机;
所述客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输所述第二类扫描仪数据至所述虚拟机。
优选的,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
对所述目标扫描仪数据进行压缩,得到压缩目标数据;
传输所述压缩目标数据至所述虚拟机。
优选的,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
通过多线程机制传输所述目标扫描仪数据至所述虚拟机。
优选的,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
通过缓存池机制传输所述目标扫描仪数据至所述虚拟机。
为实现上述目的,本申请提供一种数据传输系统,应用于虚拟机,包括:
第一接收模块,用于接收客户端发送的扫描仪数据;
第一处理模块,用于通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理;
其中,所述扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
本申请提供的一种数据传输系统,应用于客户端,包括:
第一传输模块,用于所述客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输所述第一类扫描仪数据至所述客户端连接的虚拟机;
第二传输模块,用于所述客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输所述第二类扫描仪数据至所述虚拟机。
为实现上述目的,本申请进一步提供一种数据传输设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述数据传输方法的步骤。
为实现上述目的,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据传输方法的步骤。
为实现上述目的,本申请进一步提供一种虚拟机,包括:
安装于所述虚拟机的用户层,提供STI接口及WIA接口的用户层扫描仪驱动器;
安装于所述虚拟机的用户层,与所述STI接口连接,实现由TWAIN接口到扫描仪接口转换的TWAIN扫描仪驱动器;
安装于所述虚拟机的用户层,与所述TWAIN扫描仪驱动器连接,保存TWAIN接口应用程序的第一数据库;
安装于所述虚拟机的用户层,与所述WIA接口连接,实现由WIA接口到扫描仪接口转换的WIA扫描仪驱动器;
安装于所述虚拟机的用户层,与所述WIA扫描仪驱动器连接,保存WIA接口应用程序的第二数据库;
安装于所述虚拟机的内核层,与所述用户层扫描仪驱动器连接,传输TWAIN接口类型或SANE接口类型的扫描仪数据的内核层扫描仪驱动器;
与所述内核层扫描仪驱动器连接,用于模拟扫描仪设备行为的虚拟扫描仪设备。
优选的,所述内核层扫描仪驱动器与所述虚拟扫描仪设备间通过USB总线连接,所述虚拟扫描仪设备用于将客户端传输至虚拟机的扫描仪数据转换成USB总线格式数据。
本申请提供的一种数据传输方法,应用于虚拟机,接收客户端发送的扫描仪数据,扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据;通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理。本申请提供的一种数据传输方法中,无论虚拟机接收的扫描仪数据是Windows操作系统的客户端发送的、还是Linux/Android操作系统的客户端发送的扫描仪数据,虚拟机均可以通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理,从而使得虚拟机可以适用于Linux/Android客户端及Windows客户端,与只能适用于一种客户端的现有技术相比,提高了虚拟机对扫描仪的兼容性。本申请提供的一种虚拟机及数据传输系统、设备、计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据传输方法的第一流程图;
图2为本申请实施例提供的一种数据传输方法的第二流程图;
图3为本申请实施例提供的一种数据传输系统的第一结构示意图;
图4为本申请实施例提供的一种数据传输系统的第二结构示意图;
图5为本申请实施例提供的一种云桌面系统的结构示意图;
图6为本申请实施例提供的一种数据传输设备的结构示意图;
图7为本申请实施例提供的一种数据传输设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种数据传输方法的第一流程图。
本申请实施例提供的一种数据传输方法,应用于虚拟机,可以包括以下步骤:
步骤S101:接收客户端发送的扫描仪数据,扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
实际应用中,客户端发送至虚拟机的扫描仪数据的类型可以根据客户端的类型来确定,比如客户端的类型为Windows操作系统的客户端时,由于Windows操作系统的客户端应用的扫描仪接口为TWAIN接口,所以Windows操作系统的客户端发送的扫描仪数据为TWAIN接口类型的扫描仪数据,而当客户端的类型为Linux/Android操作系统的客户端时,由于Linux/Android操作系统的客户端所应用的扫描仪接口为SANE接口,所以Linux/Android操作系统的客户端发送的扫描仪数据为SANE接口类型的扫描仪数据;也即第一类扫描仪数据可以为TWAIN接口类型的扫描仪数据,第二类扫描仪数据可以为SANE接口类型的扫描仪数据。
步骤S102:通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理。
实际应用中,虚拟机接收到扫描仪数据后,可以先解析扫描仪数据的类型,若接收到的第一类扫描仪数据是是TWAIN接口类型,则通过TWAIN接口应用程序或WIA接口应用程序对第一类扫描仪数据进行处理。应当指出,通过TWAIN接口应用程序还是通过WIA接口应用程序对第一类扫描仪数据进行处理的触发条件可以根据客户端的扫描仪类型或者根据外界设置的指令等来确定,比如在客户端的扫描仪为支持WIA接口的扫描仪时,此时客户端获取到WIA接口类型的扫描仪数据后,会通过客户端内部集成的程序将WIA接口类型的扫描仪数据转换为TWAIN接口类型的扫描仪数据,此时,虚拟机接收到第一类扫描仪数据后,便可以先将第一类扫描仪数据转换为WIA接口类型的扫描仪数据,再应用WIA接口应用程序对其进行处理;而在接收到外界设置的通过WIA接口应用程序对第一类扫描仪数据进行处理的指令后,虚拟机无论接收到是由哪种方式得到的第一类扫描仪数据,均通过WIA接口应用程序对其进行处理。
实际应用中,当接收到SANE接口类型的第二类扫描仪数据时,也即接收到Linux/Android客户端传输过来的扫描仪数据时,虚拟机可以先将第二类扫描仪数据转换为TWAIN接口类型的转换扫描仪数据,再通过TWAIN接口应用程序对转换扫描仪数据进行处理;或者将第二类扫描仪数据转换为WIA接口类型的转换扫描仪数据,再通过WIA接口应用程序对转换扫描仪数据进行处理;在此过程中,对于同一个图像数据,SANE接口类型、TWAIN接口类型及WIA接口类型所包含的图像数据的类型及具体值均是一致的,只是三种接口类型对图像数据的处理方式不同,因此,无论是将第二类扫描仪数据转换为TWAIN接口类型,还是转换为WIA接口类型的转换扫描仪数据,均需在第二类扫描仪数据中解析出所需的图像数据,再按照TWAIN接口类型或者WIA接口类型对解析得到的图像数据进行处理,从而将第二类扫描仪数据转换为相应的转换扫描仪数据;实际应用中,在第二类扫描仪数据中解析出所需的图像数据时,可以是虚拟机直接按照SANE接口类型对第二类扫描仪数据进行解析,得到所需的图像数据,也可以是虚拟机借助外接设备对第二类扫描仪数据进行解析,得到所需的图像数据。应当指出,由于TWAIN为类似于WIA以及SANE的接口标准,所以虚拟机可以优选的将第二类扫描仪数据转换为TWAIN接口类型的转换扫描仪数据进行处理;此外,虚拟机将第二类扫描仪数据转换为TWAIN接口类型或者WIA接口类型的转换过程可以由外界通过指令设置等灵活控制。应当指出,虚拟机对直接接收到WIA接口类型的扫描仪数据的处理过程,与现有技术相同,比如直接通过WIA接口应用程序对WIA接口类型的扫描仪数据进行处理等,本申请在此不再赘述。
实际应用中,在客户端与虚拟机配合度高的情况下,客户端在获取到扫描仪数据后,无论获取的扫描仪数据是SANE接口类型、WIA接口类型,还是TWAIN接口类型,客户端都可以直接将获取到的扫描仪数据转换为原始的第三类扫描仪数据,比如转换为USB格式总线数据等,也即第三类扫描仪数据不携带任何格式,再将原始的第三类扫描仪数据传输至虚拟机,相应的,虚拟机接收到原始的第三类扫描仪数据后,可以将第三类扫描仪数据转换为TWAIN接口类型或WIA接口类型的转换扫描仪数据,并通过相应的应用程序对转换扫描仪数据进行处理。
本申请提供的一种数据传输方法,应用于虚拟机,接收客户端发送的扫描仪数据,扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据;通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理。本申请提供的一种数据传输方法中,无论虚拟机接收的扫描仪数据是Windows操作系统的客户端发送的、还是Linux/Android操作系统的客户端发送的扫描仪数据,虚拟机均可以通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理,从而使得虚拟机可以适用于Linux/Android客户端及Windows客户端,与只能适用于一种客户端的现有技术相比,提高了虚拟机对扫描仪的兼容性。
本申请实施例提供的一种数据传输方法,应用于虚拟机,为了使得外界可以灵活控制虚拟机对扫描仪数据的处理,虚拟机在通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理时,可以获取转换指令,转换指令的类型包括TWAIN接口数据转换指令、WIA接口数据转换指令;按照转换指令,将扫描仪数据转换为相应的转换数据;通过与转换数据相对应的接口应用程序对转换数据进行处理。
具体应用场景中,为了便于虚拟机确定使得对扫描仪数据进行格式转换,避免虚拟机执行无效的格式转换,虚拟机在按照转换指令,将扫描仪数据转换为相应的转换数据时,可以判断扫描仪数据的数据类型是否与转换指令相匹配;若否,则执行按照转换指令,将扫描仪数据转换为相应的转换数据的步骤。
请参阅图2,图2为本申请实施例提供的一种数据传输方法的第二流程图
本申请实施例提供的一种数据传输方法,应用于客户端,可以包括以下步骤:
步骤S201:解析自身操作系统的类型。
步骤S202:客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输第一类扫描仪数据至客户端连接的虚拟机;
步骤S203:客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输第二类扫描仪数据至虚拟机。
实际应用中,客户端连接的扫描仪接口的类型在一定程度上取决于客户端的操作系统类型,比如在客户端的操作系统为Windows操作系统时,Windows客户端连接的扫描仪接口的类型便可能为WIA接口或TWAIN接口;而在客户端的操作系统为Linux/Android操作系统时,Linux/Android客户端连接的扫描仪接口的类型便可能为SANE接口;而由于TWAIN接口标准具有多平台支持、多设备兼容、可扩展性等特点,所以Windows客户端或者Linux/Android客户端连接的扫描仪接口的类型还可能为TWAIN接口等;因此客户端可以根据自身连接的扫描仪接口的类型来决定对扫描仪数据的处理方式。应当指出,本申请中,客户端还可以直接将WIA接口类型的扫描仪数据传输至虚拟机等。
实际应用中,在云桌面的应用过程中,由于扫描仪获取到的数据均为原始数据,数据量大,客户端直接传输原始数据的话,会造成云桌面流量消耗量大,并且造成卡顿的情况,为了降低云桌面消耗的流量以及降低扫描仪卡顿的概率,本申请实施例提供的一种数据传输方法中,客户端传输目标扫描仪数据至虚拟机,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据时,可以对目标扫描仪数据进行压缩,得到压缩目标数据;传输压缩目标数据至虚拟机。
实际应用中,客户端在传输扫描仪数据时,可能将一张图片拆分为多个数据块分别进行发送,这样,在每次发送数据块时均需进行握手信号的应答,从而增大了客户端传输扫描仪数据的时延,降低了客户端传输扫描仪数据的效率,为了提高客户端传输扫描仪数据的效率,客户端传输目标扫描仪数据至虚拟机,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据时,可以按照一次传输一张图片数据的传输原则,传输目标扫描仪数据至虚拟机。这样,一次传输一张图片只需进行一次握手信号的应答,降低了进行握手信号应答的次数,降低了客户端传输扫描仪数据的时延,提高了传输效率。
实际应用中,为了提高客户端传输扫描仪数据的传输效率,客户端传输目标扫描仪数据至虚拟机,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据时,可以通过多线程机制传输目标扫描仪数据至虚拟机,或者通过缓存池机制传输目标扫描仪数据至虚拟机。
请参阅图3,图3为本申请实施例提供的一种数据传输系统的第一结构示意图。
本申请实施例提供的一种数据传输系统,应用于虚拟机,可以包括:
第一接收模块301,用于接收客户端发送的扫描仪数据;
第一处理模块302,用于通过TWAIN接口应用程序或WIA接口应用程序对扫描仪数据进行处理;
其中,扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
本申请实施例提供的一种数据传输系统,应用于虚拟机,第一处理模块可以包括:
第一获取单元,用于获取转换指令,转换指令的类型包括TWAIN接口数据转换指令、WIA接口数据转换指令;
第一转换单元,用于按照转换指令,将扫描仪数据转换为相应的转换数据;
第一处理单元,用于通过与转换数据相对应的接口应用程序对转换数据进行处理。
本申请实施例提供的一种数据传输系统,应用于虚拟机,第一转换单元可以包括:
第一判断单元,用于判断扫描仪数据的数据类型是否与转换指令相匹配;若否,则提示第一转换单元执行按照转换指令,将扫描仪数据转换为相应的转换数据的步骤。
请参阅图4,图4为本申请实施例提供的一种数据传输系统的第二结构示意图。
本申请实施例提供的一种数据传输系统,应用于客户端,可以包括:
第一传输模块401,用于客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输第一类扫描仪数据至客户端连接的虚拟机;
第二传输模块402,用于客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输第二类扫描仪数据至虚拟机。
本申请实施例提供的一种数据传输系统,应用于客户端,可以包括:
第一传输单元,用于对目标扫描仪数据进行压缩,得到压缩目标数据;传输压缩目标数据至虚拟机;
其中,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据。
本申请实施例提供的一种数据传输系统,应用于客户端,可以包括:
第二传输单元,用于通过多线程机制传输目标扫描仪数据至虚拟机;
其中,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据。
本申请实施例提供的一种数据传输系统,应用于客户端,可以包括:
第三传输单元,用于通过缓存池机制传输目标扫描仪数据至虚拟机;
其中,目标扫描仪数据的类型包括第一类扫描仪数据、第二类扫描仪数据。
为了便于理解,下面对本申请的技术方案所适用的系统架构进行介绍。请参阅图5,图5为本申请实施例提供的一种云桌面系统的结构示意图。
如图5所示,本申请的云桌面系统可以包括虚拟机10、模拟处理器20、Windows客户端30、Linux/Android客户端40。
其中,虚拟机10可以包括:安装于虚拟机的用户层,提供STI接口及WIA接口的用户层扫描仪驱动器101;
安装于虚拟机的用户层,与STI接口连接,实现由TWAIN接口到扫描仪接口转换的TWAIN扫描仪驱动器102;
安装于虚拟机的用户层,与TWAIN扫描仪驱动器102连接,保存TWAIN接口应用程序的第一数据库103;
安装于虚拟机的用户层,与WIA接口连接,实现由WIA接口到扫描仪接口转换的WIA扫描仪驱动器104;
安装于虚拟机的用户层,与WIA扫描仪驱动器104连接,保存WIA接口应用程序的第二数据库105;
安装于虚拟机的内核层,与用户层扫描仪驱动器101连接,传输TWAIN接口类型或SANE接口类型的扫描仪数据的内核层扫描仪驱动器106;
与内核层扫描仪驱动器106连接,用于模拟扫描仪设备行为的虚拟扫描仪设备107。
本申请中,用户层扫描仪驱动器101接收到扫描仪数据后,如果扫描仪数据为TWAIN接口类型的第一类扫描仪数据,则可以通过STI接口将第一类扫描仪数据传输至TWAIN扫描仪驱动器102,TWAIN扫描仪驱动器102可以与第一数据库103中保存的TWAIN接口应用程序相配合对第一类扫描仪数据进行处理,或者将第一类扫描仪数据通过WIA接口传输至WIA扫描仪驱动器104,WIA扫描仪驱动器104可以与第二数据库105中保存的WIA接口应用程序相配合对第一类扫描仪数据进行处理;而用户层扫描仪驱动器101接收到扫描仪数据后,如果扫描仪数据为SANE接口类型的第二类扫描仪数据,则可以先将第二类扫描仪数据进行格式转换,转换为TWAIN接口类型或WIA接口类型的转换扫描仪数据,当转换为TWAIN接口类型的转换扫描仪数据后,便可以借助TWAIN扫描仪驱动器102进行处理,当转换为WIA接口类型的转换扫描仪数据后,便可以借助WIA扫描仪驱动器104进行处理。
应当指出,内核层扫描仪驱动器106的设置,使得虚拟机内核层可以传输任意类型的扫描仪数据至虚拟机用户层。此外,虚拟机内核层中还可以安装有与内核层扫描仪驱动器连接,方便数据传输的USB数据栈等。虚拟机用户层中还可以设置WIA接口与TWAIN接口间的转换器,并且将该转换器与第一数据库103连接,使得可以借助转换器实现通过第一数据库103对WIA接口类型的扫描仪数据进行处理。
其中,模拟处理器20可以包括:与USB数据栈连接的EHCI(Enhanced HostController Interface,增强型主机控制器接口)控制器,与EHCI控制器连接的虚拟扫描仪设备。也即内核层扫描仪驱动器与虚拟扫描仪设备间可以通过USB总线连接,此时,虚拟扫描仪设备用于将客户端传输至虚拟机的扫描仪数据转换成USB总线格式数据。
其中,Windows客户端30可以包括:安装于客户端用户层,与扫描仪模拟设备连接的扫描仪数据处理器;
安装于客户端用户层,与扫描仪数据处理器连接的TWAIN动态链接库加载器;
安装于客户端用户层,与TWAIN动态链接库加载器连接的TWAIN驱动器;
安装于客户端内核层,与TWAIN驱动器及扫描仪设备连接的支持usbscan.sys文件的连接器。
应当指出,本申请中的TWAIN驱动器中可以包括打印机驱动器、投影仪驱动器等。
其中,Linux/Android客户端40可以包括:安装于客户端用户层,与扫描仪模拟设备连接的扫描仪数据处理器;
安装于客户端用户层,与扫描仪数据处理器连接的SANE动态链接库加载器;
安装于客户端用户层,与SANE动态链接库加载器连接的SANE驱动器;
安装于客户端内核层,与SANE驱动器及扫描仪设备连接的支持usbfs文件的连接器。
应当指出,本申请中的SANE驱动器中可以包括打印机驱动器、投影仪驱动器等。
此外,本申请中,扫描仪数据处理器可以对扫描仪数据做如下处理:对扫描仪数据进行压缩,得到压缩扫描仪数据;传输压缩扫描仪数据至扫描仪模拟设备,相应的,扫描仪模拟设备对压缩扫描仪数据解压缩,得到原始扫描仪数据;或者,按照一次传输一张图片数据的传输原则,传输扫描仪数据至扫描仪模拟设备;或者,通过多线程机制传输目标数据至虚拟机;或者,通过图片缓存池机制传输目标数据至虚拟机。
本申请还提供了一种数据传输设备及计算机可读存储介质,其均具有本申请实施例提供的一种数据传输方法具有的对应效果。请参阅图6,图6为本申请实施例提供的一种数据传输设备的结构示意图。
本申请实施例提供的一种数据传输设备,包括存储器501和处理器502,存储器501中存储有计算机程序,处理器502执行计算机程序时实现如上任一实施例所描述的数据传输方法的步骤。
请参阅图7,本申请实施例提供的另一种数据传输设备中还可以包括:与处理器502连接的输入端口503,用于传输外界输入的命令至处理器502;与处理器502连接的显示单元504,用于显示处理器502的处理结果至外界;与处理器502连接的通信模块505,用于实现数据传输设备与外界的通信。显示单元504可以为显示面板、激光扫描使显示器等;通信模块505所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时在虚拟机中实现如上任一实施例所描述的数据传输方法的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种虚拟机及数据传输系统、设备、计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种数据传输方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种数据传输方法,其特征在于,应用于虚拟机,包括:
接收客户端发送的扫描仪数据;
通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理;
其中,所述扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
2.根据权利要求1所述的方法,其特征在于,所述通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理,包括:
获取转换指令,所述转换指令的类型包括TWAIN接口数据转换指令、WIA接口数据转换指令;
按照所述转换指令,将所述扫描仪数据转换为相应的转换数据;
通过与所述转换数据相对应的接口应用程序对所述转换数据进行处理。
3.根据权利要求2所述的方法,其特征在于,所述按照所述转换指令,将所述扫描仪数据转换为相应的转换数据,包括:
判断所述扫描仪数据的数据类型是否与所述转换指令相匹配;
若否,则执行所述按照所述转换指令,将所述扫描仪数据转换为相应的转换数据的步骤。
4.一种数据传输方法,其特征在于,应用于客户端,包括:
所述客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输所述第一类扫描仪数据至所述客户端连接的虚拟机;
所述客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输所述第二类扫描仪数据至所述虚拟机。
5.根据权利要求4所述的方法,其特征在于,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
对所述目标扫描仪数据进行压缩,得到压缩目标数据;
传输所述压缩目标数据至所述虚拟机。
6.根据权利要求4所述的方法,其特征在于,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
通过多线程机制传输所述目标扫描仪数据至所述虚拟机。
7.根据权利要求4所述的方法,其特征在于,所述客户端传输目标扫描仪数据至所述虚拟机,所述目标扫描仪数据的类型包括所述第一类扫描仪数据、所述第二类扫描仪数据,包括:
通过缓存池机制传输所述目标扫描仪数据至所述虚拟机。
8.一种数据传输系统,其特征在于,应用于虚拟机,包括:
第一接收模块,用于接收客户端发送的扫描仪数据;
第一处理模块,用于通过TWAIN接口应用程序或WIA接口应用程序对所述扫描仪数据进行处理;
其中,所述扫描仪数据包括Windows操作系统的客户端发送的第一类扫描仪数据,或Linux/Android操作系统的客户端发送的第二类扫描仪数据。
9.一种数据传输系统,其特征在于,应用于客户端,包括:
第一传输模块,用于所述客户端为Windows操作系统时,通过TWAIN接口获取自身连接的扫描仪生成的第一类扫描仪数据,传输所述第一类扫描仪数据至所述客户端连接的虚拟机;
第二传输模块,用于所述客户端为Linux或Android操作系统时,通过SANE接口获取自身连接的扫描仪生成的第二类扫描仪数据,传输所述第二类扫描仪数据至所述虚拟机。
10.一种数据传输设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述数据传输方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据传输方法的步骤。
12.一种虚拟机,其特征在于,包括:
安装于所述虚拟机的用户层,提供STI接口及WIA接口的用户层扫描仪驱动器;
安装于所述虚拟机的用户层,与所述STI接口连接,实现由TWAIN接口到扫描仪接口转换的TWAIN扫描仪驱动器;
安装于所述虚拟机的用户层,与所述TWAIN扫描仪驱动器连接,保存TWAIN接口应用程序的第一数据库;
安装于所述虚拟机的用户层,与所述WIA接口连接,实现由WIA接口到扫描仪接口转换的WIA扫描仪驱动器;
安装于所述虚拟机的用户层,与所述WIA扫描仪驱动器连接,保存WIA接口应用程序的第二数据库;
安装于所述虚拟机的内核层,与所述用户层扫描仪驱动器连接,传输TWAIN接口类型或SANE接口类型的扫描仪数据的内核层扫描仪驱动器;
与所述内核层扫描仪驱动器连接,用于模拟扫描仪设备行为的虚拟扫描仪设备。
13.根据权利要求12所述的虚拟机,其特征在于,所述内核层扫描仪驱动器与所述虚拟扫描仪设备间通过USB总线连接,所述虚拟扫描仪设备用于将客户端传输至虚拟机的扫描仪数据转换成USB总线格式数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149716.7A CN110933245B (zh) | 2019-11-21 | 2019-11-21 | 一种虚拟机及数据传输方法、系统、设备、计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149716.7A CN110933245B (zh) | 2019-11-21 | 2019-11-21 | 一种虚拟机及数据传输方法、系统、设备、计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933245A true CN110933245A (zh) | 2020-03-27 |
CN110933245B CN110933245B (zh) | 2021-11-19 |
Family
ID=69850607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911149716.7A Active CN110933245B (zh) | 2019-11-21 | 2019-11-21 | 一种虚拟机及数据传输方法、系统、设备、计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933245B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347318A (zh) * | 2021-07-05 | 2021-09-03 | 统信软件技术有限公司 | 一种扫描控制系统、方法及计算设备 |
CN116932415A (zh) * | 2023-09-15 | 2023-10-24 | 统信软件技术有限公司 | 一种扫描仪应用开发方法、计算设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101289A1 (en) * | 2001-11-29 | 2003-05-29 | Samsung Electronics Co., Ltd. | Method and system of network image scanning |
JP2010176597A (ja) * | 2009-01-31 | 2010-08-12 | Ricoh Co Ltd | 情報処理装置、プログラム及び記録媒体 |
CN102340513A (zh) * | 2010-07-15 | 2012-02-01 | 江苏国光信息产业股份有限公司 | 基于WinCE系统在远程桌面方式下实现扫描的方法 |
CN102932577A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社Pfu | 扫描装置以及扫描方法 |
US20140118767A1 (en) * | 2012-11-01 | 2014-05-01 | Samsung Electronics Co., Ltd | Host device and method of controlling the host device |
CN104049906A (zh) * | 2013-03-11 | 2014-09-17 | Lsi公司 | 用于动态高速缓存共享的系统、方法和计算机可读介质 |
-
2019
- 2019-11-21 CN CN201911149716.7A patent/CN110933245B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101289A1 (en) * | 2001-11-29 | 2003-05-29 | Samsung Electronics Co., Ltd. | Method and system of network image scanning |
JP2010176597A (ja) * | 2009-01-31 | 2010-08-12 | Ricoh Co Ltd | 情報処理装置、プログラム及び記録媒体 |
CN102340513A (zh) * | 2010-07-15 | 2012-02-01 | 江苏国光信息产业股份有限公司 | 基于WinCE系统在远程桌面方式下实现扫描的方法 |
CN102932577A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社Pfu | 扫描装置以及扫描方法 |
US20140118767A1 (en) * | 2012-11-01 | 2014-05-01 | Samsung Electronics Co., Ltd | Host device and method of controlling the host device |
CN104049906A (zh) * | 2013-03-11 | 2014-09-17 | Lsi公司 | 用于动态高速缓存共享的系统、方法和计算机可读介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347318A (zh) * | 2021-07-05 | 2021-09-03 | 统信软件技术有限公司 | 一种扫描控制系统、方法及计算设备 |
CN113347318B (zh) * | 2021-07-05 | 2022-08-19 | 统信软件技术有限公司 | 一种扫描控制系统、方法及计算设备 |
CN115190214A (zh) * | 2021-07-05 | 2022-10-14 | 统信软件技术有限公司 | 一种扫描控制系统、方法及计算设备 |
CN115190214B (zh) * | 2021-07-05 | 2024-05-07 | 统信软件技术有限公司 | 一种扫描控制系统、方法及计算设备 |
CN116932415A (zh) * | 2023-09-15 | 2023-10-24 | 统信软件技术有限公司 | 一种扫描仪应用开发方法、计算设备及存储介质 |
CN116932415B (zh) * | 2023-09-15 | 2023-12-05 | 统信软件技术有限公司 | 一种扫描仪应用开发方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110933245B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6264800B2 (ja) | 情報処理システム、情報処理装置、プログラムおよび情報処理方法 | |
CN110933245B (zh) | 一种虚拟机及数据传输方法、系统、设备、计算机介质 | |
KR20130096059A (ko) | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 | |
EP3343337A1 (en) | Method and device for controlling screen between terminals, and storage medium | |
JP2008186458A (ja) | 異なるフォーマットで符号化された電子ドキュメントの出力を開始するシステムおよび方法 | |
JP2007334886A (ja) | ドキュメント処理ジョブのルーティング・システムおよび方法 | |
US11064078B2 (en) | Information processing system, user terminal, and electronic apparatus | |
CN102693101A (zh) | 信息处理装置 | |
CN104683644A (zh) | 能够改变自身设置的信息处理装置及其控制方法 | |
JP2009065648A (ja) | ドキュメント処理装置をカスタム化するシステムおよび方法 | |
US20110153695A1 (en) | Method for making usb storage of file system and remote connection, and system thereof | |
CN111625371A (zh) | 一种文本传输方法、装置、pc端、移动终端及系统 | |
CN111143017B (zh) | 云操作系统交互处理方法、客户端及云操作系统 | |
CN110889880A (zh) | 一种贴图处理方法、装置、设备及存储介质 | |
CN113626137B (zh) | 一种支持多格式镜像的实现方法、装置、设备和介质 | |
JP6216510B2 (ja) | 携帯端末、携帯端末の制御方法、およびデバイス制御システム | |
CN103973921A (zh) | 图像处理装置及其控制方法 | |
US9444949B2 (en) | Simulation apparatus, simulation system, and simulation method that ensure use of general-purpose PC | |
CN113095920A (zh) | 一种厨房订单显示方法、系统、智能终端及存储介质 | |
CN111835804A (zh) | 内外网间的数据传输方法、装置及系统 | |
CN203773534U (zh) | 远程虚拟机屏幕显示控制系统 | |
JP6204281B2 (ja) | 画像形成装置、画像形成方法及び画像形成プログラム | |
US11886945B2 (en) | Non-transitory computer-readable medium storing support program | |
KR101464145B1 (ko) | 컴퓨터 네트워크에서 사용자 가이드를 결정하기 위한 방법, 시스템, 서버, 클라이언트, 컴퓨터 프로그램 및 컴퓨터 프로그램 제품 | |
US11074029B2 (en) | Value-added remote display service wireless routing server device and method |
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 |