CN113485773A - 数据处理方法、装置及系统 - Google Patents
数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN113485773A CN113485773A CN202110704081.3A CN202110704081A CN113485773A CN 113485773 A CN113485773 A CN 113485773A CN 202110704081 A CN202110704081 A CN 202110704081A CN 113485773 A CN113485773 A CN 113485773A
- Authority
- CN
- China
- Prior art keywords
- interface
- equipment
- interfaces
- type
- operating system
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 195
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000009877 rendering Methods 0.000 claims description 43
- 230000000875 corresponding effect Effects 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置及系统。确定应用程序调用的多个接口,应用程序在第一设备上运行;根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口;基于第一类接口,向第二设备发送第一调用指令,由第二设备响应于第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取第二设备发送的第一处理结果;查找与第二类接口对应的低版本且功能匹配的目标接口,以及基于目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果。本申请提供的方案解决了第一设备上的硬件不支持应用程序更新之后的高版本接口调用,导致应用程序无法运行的问题。
Description
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种数据处理方法、装置及系统。
背景技术
在实际应用中,部分应用程序在设备上运行时,通常会需要通过不同的应用程序编程接口(Application Programming Interface,简称API,是一系列函数规范的集合),简称接口,来调用该设备上的某个硬件进行相应的数据处理计算。具体地,应用程序基于不同接口调用硬件时,设备上运行的动态库(Dynamic Link Library,缩写为DLL,是实现共享函数库概念的一种方式,包含了一个或多个已被编译、链接并与使用它们的应用程序分开存储的函数)和硬件驱动程序(可以使硬件和设备的操作系统进行相互通信的特殊程序)将对接口进行处理,获得硬件可以识别的处理指令,该硬件再基于处理指令进行相应的数据处理计算。以图形处理程序为例,该图形处理程序在设备上运行时,会通过不同的接口调用设备上的显卡进行相应的图形处理计算。设备上运行的动态库和显卡驱动程序对接口进行处理,获得显卡可以识别的图形处理指令,显卡再基于图形处理指令进行相应的图形处理计算。
为了提供更好的处理功能,应用程序的接口会进行更新,此时,会存在设备上的硬件不支持更新之后的高版本接口调用的情况,无法调用该硬件进行相应的数据处理计算,从而导致应用程序无法正常运行,影响用户体验。
发明内容
本申请实施例提供一种数据处理方法、装置及系统,用以解决现有技术中设备上的硬件不支持应用程序更新之后的高版本接口调用,导致应用程序无法正常运行的问题。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
确定应用程序调用的多个接口,所述应用程序在第一设备上运行;
根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;
基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;
获取所述第二设备发送的所述第一处理结果;
查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果。
第二方面,本申请实施例中提供了一种数据处理方法,包括:
接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;
响应于所述第一调用指令,并基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;
将所述第一处理结果发送至所述第一设备。
第三方面,本申请实施例中提供了一种数据处理装置,包括:
第一处理模块,用于确定应用程序调用的多个接口,所述应用程序在第一设备上运行;根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取所述第二设备发送的所述第一处理结果;
匹配模块,用于查找与所述第二类接口对应的低版本且功能匹配的目标接口;
第二处理模块,用于基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果。
第四方面,本申请实施例中提供了一种数据处理装置,包括:
调用模块,用于接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;
第三处理模块,用于响应于所述第一调用指令,并基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将所述第一处理结果发送至所述第一设备。
第五方面,本申请实施例中提供了一种数据处理系统,包括第一设备与第二设备;
所述第一设备,用于确定应用程序调用的多个接口,所述应用程序在第一设备上运行;根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取所述第二设备发送的所述第一处理结果;查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果;
所述第二设备,用于接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;响应于所述第一调用指令,并基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将所述第一处理结果发送至所述第一设备。
本申请实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并基于第一类接口,向第二设备发送第一调用指令,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,基于该第一类接口对待处理数据进行处理,获得第一处理结果;第一设备上的目标硬件不支持原本的高版本第二类接口调用,因此查找与第二类接口对应的功能匹配且低版本的目标接口,此时第一设备上的目标硬件可以支持该目标接口的调用,可以基于该目标接口对待处理数据进行处理,获得第二处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,以及由不支持高版本接口调用的第一设备上的目标硬件基于与第二类接口对应的功能匹配且低版本的目标接口进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种数据处理方法一个实施例的流程图;
图2示出了本申请提供的一种数据处理方法另一个实施例的流程图;
图3示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图4示出了本申请提供的一种数据处理装置另一个实施例的结构示意图;
图5示出了本申请提供的一种数据处理系统一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例适用于应用程序运行需要调用硬件进行数据处理的场景。在实际应用中,部分应用程序在设备上运行时,通常会需要通过不同的应用程序编程接口(Application Programming Interface,简称API,是一系列函数规范的集合),简称接口,来调用该设备上的某个硬件进行相应的数据处理计算。具体地,应用程序基于不同接口调用硬件时,设备上运行的动态库(Dynamic Link Library,缩写为DLL,是实现共享函数库概念的一种方式,包含了一个或多个已被编译、链接并与使用它们的应用程序分开存储的函数)和硬件驱动程序(可以使硬件和设备的操作系统进行相互通信的特殊程序)将对接口进行处理,获得硬件可以识别的处理指令,该硬件再基于处理指令进行相应的数据处理计算。以图形处理程序为例,该图形处理程序在设备上运行时,会通过不同的接口调用设备上的显卡进行相应的图形处理计算。设备上运行的动态库和显卡驱动程序对接口进行处理,获得显卡可以识别的图形处理指令,显卡再基于图形处理指令进行相应的图形处理计算。
为了提供更好的处理功能,应用程序的接口会进行更新,此时,会存在设备上的硬件不支持更新之后的高版本接口调用的情况,无法调用该硬件进行相应的数据处理计算,从而导致应用程序无法正常运行,影响用户体验。
为了解决上述应用程序无法正常运行的问题,发明人想到,若应用程序运行的当前设备中的硬件不支持高版本接口的调用,可以利用安装有可以支持上述高版本接口调用的硬件的其它设备辅助当前设备,共同进行相应的数据处理。因此,经过一系列思考与实验之后,发明人提出了本申请的技术方案,即确定应用程序调用的多个接口,所述应用程序在第一设备上运行;根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;将所述第一类接口发送至第二设备,由所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取所述第二设备发送的所述第一处理结果;根据所述第二类接口的名称,查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果。
通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,以及由不支持高版本接口调用的第一设备上的目标硬件基于与第二类接口对应的功能匹配且低版本的目标接口进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高了用户体验。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请提供的一种数据处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:确定应用程序调用的多个接口,该应用程序可以在第一设备上运行。其中,该第一设备上的目标硬件不支持多个接口的调用。
本实施例中,该方法可以应用于第一设备。其中,该第一设备可以包括终端等物理设备,还可以包括虚拟机(通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统)等虚拟设备。
在第一设备上可以运行有应用程序。应用程序在运行时,需要调用设备上的目标硬件进行数据处理计算。设备上的目标硬件可以包括物理的硬件,也可以包括虚拟的硬件。例如,该目标硬件可以实现为显卡等,显卡可以包括物理显卡和虚拟显卡。上述应用程序可以包括图形处理程序或大规模数学运算程序等。其中,图形处理程序运行时,需要调用设备上的显卡进行图形处理计算,或者,大规模数学运算程序运行时,需要调用设备上的显卡进行快速运算等。
在实际应用中,上述应用程序调用硬件进行数据处理计算是通过接口实现的。接口指的是应用程序编程接口(Application Programming Interface,简称API),是一系列函数规范的集合。具体的,应用程序基于接口调用硬件时,设备上运行的动态库(DynamicLink Library,缩写为DLL,是实现共享函数库概念的一种方式,包含了一个或多个已被编译、链接并与使用它们的应用程序分开存储的函数)和硬件驱动程序(可以使硬件和设备的操作系统进行相互通信的特殊程序)将对接口进行处理,获得硬件可以识别的处理指令,该硬件再基于处理指令进行相应的数据处理计算。
其中,不同接口可以对应不同的数据处理功能,上述应用程序可以通过多个不同的接口调用硬件进行相应的数据处理计算。以图形处理程序为例,该图形处理程序在运行时,需要对渲染数据进行渲染获得渲染图形,此时可以通过3D渲染接口调用显卡进行渲染。3D渲染接口可以包括Direct3D接口(基于微软的通用对象模式(Common Object Mode,简称COM)的3D图形接口)和开放图形库接口(Open Graphics Library,简称OpenGL,用于渲染2D、3D矢量图形的跨语言、跨平台的接口)等。具体的,OpenGL可以包括wglCreateContext(创建上下文接口)、wglGetPixelFormat(获取像素格式接口)等多个不同的接口,分别对应创建上下文、获取像素格式等不同的渲染功能。
本实施例中,该应用程序调用的接口可以是更新之后的高版本接口,以OpenGL为例,该高版本接口可以是OpenGL3.3,低版本接口可以是OpenGL1.1。该应用程序可以是调用高版本接口的应用程序。此时,该应用程序运行的第一设备上的目标硬件将无法支持上述高版本接口的调用。因此,可以确定应用程序调用的多个接口,以便于对该多个接口进行进一步处理。
102:根据上述多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口。
确定应用程序调用的多个接口之后,由于不同接口对应的数据处理功能不同,不同的数据处理功能的实现对设备的要求不同,具体是对设备的操作系统要求不同。以图形处理程序调用的多个3D渲染接口为例,部分3D渲染接口对应的图形渲染例如可以是绘制点、线、面等具体图形,此时该部分图形渲染的实现与设备的操作系统无关,可以利用其他设备上的硬件进行渲染。而另外部分3D渲染接口对应的图形渲染例如可以是将图形在当前界面的窗口进行显示、调节窗口大小或设置像素格式等,此时该部分图形渲染的实现与当前设备的操作系统相关,若借助其他设备,利用其它设备的目标硬件进行渲染,将会把图形显示到其他设备的窗口等,从而无法进行正确渲染。因此,对于这部分与操作系统相关的3D渲染接口,需要利用当前设备上的目标硬件进行渲染。
因此,可以根据该多个接口与操作系统的相关性,即该多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口。第一类接口可以是与操作系统无关的接口,或者是与操作系统相关的接口,与此对应的,第二类接口可以是与操作系统相关的接口,或者是与操作系统无关的接口。
本实施例中,第一类接口为与操作系统无关的接口,第二类接口为与操作系统相关的接口。
103:基于第一类接口,向第二设备发送第一调用指令,由第二设备响应于该第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果。
104:获取第二设备发送的第一处理结果。
由于第一类接口是与操作系统无关的接口,因此可以利用其他设备上的目标硬件进行相应的数据处理计算,如第二设备。其中,第二设备可以是与第一设备不同的设备,且与第一设备建立通信连接。例如,若第一设备为终端,该第二设备可以为与终端建立通信的服务器;若第一设备为虚拟机,第二设备可以为运行有该虚拟机的宿主机等。
第二设备上的目标硬件可以支持该第一类接口的调用。以第一设备是虚拟机,第二设备是运行有该虚拟机的宿主机为例,第一设备上的目标硬件可以是虚拟显卡,第二设备上的目标硬件可以是物理显卡。在实际应用中,相较于物理显卡和物理显卡驱动,虚拟显卡和虚拟显卡驱动更新较慢,因此会存在物理显卡和物理显卡驱动支持高版本接口的调用,而虚拟显卡和虚拟显卡驱动不支持高版本接口调用的情况。
因此,第二设备基于第一类接口,调用目标硬件对待处理数据进行处理之后,可以获得第一处理结果,并将第一处理结果发送至第一设备。
105:查找与第二类接口对应的低版本且功能匹配的目标接口,以及基于目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果。
第二类接口是与操作系统相关的接口,需要调用第一设备上的目标硬件,但第二类接口是高版本接口,第一设备上的目标硬件不支持该高版本接口的调用,无法直接基于第二类接口调用第一设备上的目标硬件。因此,可以查找与第二类接口对应的低版本且功能匹配的目标接口。此时,该目标接口是与第二类接口对应的功能匹配的,且低版本的接口,第一设备上的硬件可以支持该低版本接口的调用。
在实际应用中,由于不同的接口对应的功能不同,因此,可以根据第二类接口的功能,查找与第二类接口对应的低版本且功能匹配的目标接口。其中,该目标接口可以包括一个或多个接口。例如,对于某一具体的高版本接口,若存在与其功能匹配的某一低版本接口,可以确定该低版本接口为目标接口;若不存在与其功能匹配的某一低版本接口,而存在多个可以共同实现该对应功能的低版本接口,则可以确定该多个低版本接口为目标接口。
基于该目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果,并结合第二设备发送的第一处理结果,可以实现应用程序运行所需的数据处理计算。
本实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并基于第一类接口,向第二设备发送第一调用指令,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,并基于该第一类接口对待处理数据进行处理,获得第一处理结果;第一设备上的目标硬件不支持原本的高版本第二类接口调用,因此查找与第二类接口对应的功能匹配且低版本的目标接口,此时第一设备上的目标硬件可以支持该目标接口的调用,可以基于该目标接口对待处理数据进行处理,获得第二处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,以及由不支持高版本接口调用的第一设备上的目标硬件基于与第二类接口对应的功能匹配且低版本的目标接口进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
在实际应用中,根据现有的接口命名规范,接口的名称中通常会包含相关的操作系统的名称标识。因此,在某些实施例中,根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口的方法可以包括:
根据预设的接口命名规范,判断多个接口的名称中是否携带有操作系统名称;其中,可以确定名称中未携带有操作系统名称的接口与操作系统无关,名称中携带有操作系统名称的接口与操作系统相关;
将多个接口划分为名称中未携带有操作系统名称的第一类接口,以及名称中携带有操作系统名称的第二类接口。
其中,预设的接口命名规范中,与操作系统相关的接口中,接口的函数名称中通常会带有操作系统标识的函数前缀。以图形处理程序调用的多个接口是OpenGL为例,根据OpenGL的命名规范,与操作系统相关的OpenGL,其名称中可以带有操作系统的名称前缀。例如,与Windows操作系统相关的OpenGL可以带有wgl函数前缀,如wglCreateContext(创建上下文接口)、wglGetPixelFormat(获取像素格式接口)等。又例如,与Linux操作系统相关的OpenGL可以带有glx函数前缀,如glxCreateContext(创建上下文接口)、glxMakeCurrent(切换上下文接口)等。
而与操作系统无关的OpenGL将不带有操作系统的名称前缀,如glBufferData(创建并初始化缓冲区对象的数据存储接口)等,对此不再进行一一举例说明。
本实施例中给出了根据接口名称判断接口与操作系统的相关性的具体实现方式,简单易实现。当然,实际应用中,还可以根据接口的定义等进行判断,若该接口的传入参数和返回值的数据类型都是某一操作系统特有的,则可以判断该接口与操作系统相关。例如,wglCreateContext(创建上下文接口)的定义是:
HGLRC wglCreateContext(
HDC unnamedParam1
);
该接口的传入参数和返回值的数据类型都是Windows操作系统特有的,此时,可以判断该接口与操作系统相关。
在实际应用中,不同的接口可以对应不同的功能,以与Windows操作系统相关的OpenGL为例,高版本的OpenGL可以包括wglCreateContextAttribsARB(创建可配置上下文接口)、wglGetPixelFormatAttribivARB(获取可配置像素格式接口)等,其对应的功能分别是创建上下文及获取像素格式等,则与上述高版本的创建可配置上下文接口对应的功能匹配的低版本接口可以为wglCreateContext(创建上下文接口)、与上述高版本的获取可配置像素格式接口对应的功能匹配的低版本接口可以为wglGetPixelFormat(获取像素格式接口)。
在实际应用中,上述对接口的处理可以是通过设备上的动态库实现的。动态库(Dynamic Link Library,缩写为DLL)是实现共享函数库概念的一种方式,包含了一个或多个已被编译、链接并与使用它们的应用程序分开存储的函数。在某些实施例中,该第一设备可以包括第一动态库和第二动态库;该第二设备包括第三动态库;
确定应用程序调用的多个接口的方法可以包括:
利用第一动态库确定应用程序调用的多个接口;
根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口的方法可以包括:
利用第一动态库根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口;
基于第一类接口,向第二设备发送第一调用指令,由第二设备响应于第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果的方法可以包括:
利用第一动态库将基于第一类接口生成的第一调用指令发送至第二设备,由第二设备响应于该第一调用指令,并利用第三动态库和第二设备上的目标硬件驱动程序对第一类接口进行处理获得第一处理指令,以及控制第二设备上的目标硬件执行第一处理指令;
查找与第二类接口对应的低版本且功能匹配的目标接口,以及基于该目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果的方法可以包括:
查找与第二类接口对应的低版本且功能匹配的目标接口;
利用第二动态库和第一设备上的硬件驱动程序对目标接口进行处理获得第二处理指令,以及控制第一设备上的目标硬件执行第一处理指令。
实际应用中,动态库的实现也和设备的操作系统相关。以设备上运行的应用程序是图形处理程序,该图形处理程序调用的多个接口是OpenGL为例,若设备的操作系统是Windows操作系统,则该设备上的动态库可以实现为opengl32.dll,若设备的操作系统是Linux操作系统,则该设备上的动态库可以实现为libGL.so。
本实施例中,第一设备上的第一动态库可以用于确定应用程序调用的多个接口,具体可以是确定应用程序调用的所有接口。并根据多个接口是否与操作系统相关,对多个接口进行分类,将多个接口划分为第一类接口及第二类接口,并将基于接口的调用指令发送至相应的设备。第二动态库可以用于与第一设备上的硬件驱动程序共同对与第二类接口对应的目标接口进行处理获得第二处理指令。当应用程序在第一设备上运行时,调用多个高版本接口。第一设备可以利用第一动态库确定该多个高版本接口,即拦截应用程序调用的多个高版本接口,并根据多个高版本接口与操作系统是否相关,将多个高版本接口划分为第一类接口和第二类接口,其中,第一类接口可以是与操作系统无关的高版本接口,第二类接口可以是与操作系统相关的高版本接口。
对于上述第一类接口,由于应用程序运行的当前第一设备上的目标硬件不支持上述高版本接口的调用,且第一类接口与操作系统无关,无需由当前设备上的目标硬件进行处理,因此可以利用第一动态库将基于该第一类接口生成的第一调用指令发送至安装有支持上述高版本接口调用的目标硬件的第二设备,由第二设备响应于该第一调用指令,并基于该第一类接口调用目标硬件进行处理。
可选的,第二设备还可以包括调用模块。第二设备可以利用调用模块可以与第一设备建立通信连接,如通过传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,简称TCP/IP)建立通信连接等,可以根据实际应用进行设定,此处不进行具体限制。因此,第一设备利用第一动态库将第一调用指令发送至第二设备可以是将该第一调用指令发送至第二设备上的调用模块,再由第二设备利用调用模块响应于该第一调用指令,调用第一类接口。之后,第二设备可以利用第三动态库和目标硬件驱动程序对第一类接口进行处理,获得目标硬件可以识别的处理指令,再由目标硬件执行。
第二设备上的目标硬件对待处理数据进行处理,可以获得第一处理结果。之后,可以通过调用模块将第一处理结果发送至第一设备的第一动态库,从而实现对与操作系统无关的高版本接口的调用,完成相应的数据处理。
对于上述第二类接口,由于应用程序运行的当前第一设备上的目标硬件也不支持上述高版本接口的调用,但第二类接口与操作系统相关,无法调用其他设备上的目标硬件进行处理,只能由当前第一设备上的目标硬件进行处理。因此需要对该第二类接口进行进一步处理。
可选的,第一设备可以包括匹配模块。第一设备可以利用第一动态库将基于第二类接口生成的第二调用指令发送至该匹配模块,并由该匹配模块响应于该第二调用指令,可以查找与该第二类接口对应的功能匹配且低版本目标接口,即与第二类高版本接口对应的低版本接口。此时,第一设备上的目标硬件可以支持该低版本接口的调用,第一设备可以利用第二动态库和目标硬件驱动程序对该低版本接口进行处理,获得第一设备上的目标硬件可以识别的处理指令,再由第一设备上的目标硬件执行。
第一设备上的目标硬件对待处理数据进行处理,可以获得第二处理结果。结合该第二处理结果和第二设备发送的第一处理结果,可以共同执行应用程序运行中的数据处理,确保应用程序在第一设备上可以正常运行。
在实际应用中,应用程序可以实现为图形处理程序,待处理数据可以实现为渲染数据,上述第一处理结果为第一渲染图形,第二处理结果为第二渲染图形,第一渲染图形与第二渲染图形构成渲染图形。
下面以第一设备为虚拟机,第二设备为运行有该虚拟机的宿主机,虚拟机的操作系统是Windows操作系统,宿主机的操作系统是Linux操作系统,虚拟机上运行的应用程序是图形处理程序,调用的多个接口是OpenGL,待处理数据是渲染数据,虚拟机上的第一动态库和第二动态库是opengl32.dll,宿主机上的第三动态库是libGL.so为例,对本方案的方法进行说明。
图形处理程序在虚拟机上运行,在进行图形渲染时,该图形处理程序调用多个高版本的3D渲染接口,如glBufferData(创建并初始化缓冲区对象的数据存储接口)、wglCreateContext(创建上下文接口)等。虚拟机利用第一动态库对上述多个高版本接口进行拦截,并根据上述接口与操作系统是否相关,将上述多个高版本接口划分为与操作系统无关的第一类接口,如glBufferData(创建并初始化缓冲区对象的数据存储接口)等,以及与操作系统相关的第二类接口,如wglCreateContextAttribsARB(创建可配置上下文接口)、wglGetPixelFormatAttribivARB(获取可配置像素格式接口)等。
之后,虚拟机利用第一动态库将基于第一类接口生成的第一调用指令发送至宿主机上的调用模块,由宿主机利用调用模块响应于该第一调用指令,调用第一类接口。此时,宿主机利用第三动态库和显卡驱动对第一类接口进行处理,获得宿主机上的显卡可以识别的渲染指令。并调用宿主机上的显卡执行该渲染指令,进行相应的渲染处理,获得第一渲染图形。
宿主机可以利用调用模块将该第一渲染图形发送至虚拟机的第一动态库。第一设备还可以利用第一动态库将基于第二类接口生成的第二调用指令发送至虚拟机的匹配模块,由匹配模块响应于该第二调用指令,并查找与第二类接口对应的功能匹配且低版本的目标接口,即与高版本接口对应的低版本接口,如与高版本wglCreateContextAttribsARB(创建可配置上下文接口)对应的低版本wglCreateContext(创建上下文接口)等。并将基于该低版本接口的第三调用指令发送至第二动态库,由虚拟机利用第二动态库和虚拟显卡驱动对该低版本接口进行处理,获得虚拟机上的虚拟显卡可以识别的渲染指令,再由虚拟机上的虚拟显卡进行渲染处理。
由虚拟机上的虚拟显卡进渲染处理获得的第二渲染图形与宿主机上的显卡进行渲染处理获得的第一渲染图形,可以共同执行图形处理程序运行中的数据渲染,确保虚拟机上的图形处理程序可以正常运行。通过宿主机上的显卡驱动调用宿主机显卡进行渲染,无需对虚拟机上的虚拟显卡驱动和虚拟显卡进行更新,即可实现在虚拟机上运行上述图形处理程序。
如图2所示,为本申请提供的一种数据处理方法另一个实施例的流程图,该方法可以应用于第二设备中,该方法可以包括以下几个步骤:
201:接收第一设备发送的第一调用指令,该第一调用指令由第一设备基于第一类接口生成,第一类接口由第一设备根据多个接口是否与操作系统相关进行划分获得,多个接口由运行在第一设备上的应用程序调用。
本实施例中,该方法可以应用于第二设备,第二设备与第一设备建立通信连接。例如,若第一设备为终端,该第二设备可以为与终端建立通信的服务器;若第一设备为虚拟机,第二设备可以为安装有该虚拟机的宿主机等。
第一设备上运行有上述应用程序,并将应用程序调用的多个高版本接口划分为第一类接口及第二类接口,基于第一类接口,向第二设备发送第一调用指令。其中,第一设备划分第一类接口及第二类接口的过程以及将第二类接口发送至第二设备的过程在前面的实施例中已经进行了详细描述,此处不再进行赘述。
202:响应于第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果。
203:将第一处理结果发送至第一设备。
第二设备上的目标硬件可以支持上述高版本的第一类接口调用,因此可以基于第一类接口,调用目标硬件对待处理数据进行处理获得第一处理结果,并将第一处理结果发送至第一设备。具体的实施方式在前面的实施例中也已经进行了详细描述,此处不再进行赘述。
本实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并将基于第一类接口生成的第一调用指令发送至第二设备,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,并基于该第一类接口对待处理数据进行处理,获得第一处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,辅助第一设备上的目标硬件进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
如图3所示,为本申请提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括以下几个模块:
第一处理模块301,用于确定应用程序调用的多个接口,应用程序在第一设备上运行;根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口;基于该第一类接口,向第二设备发送第一调用指令,由第二设备响应于该第一调用指令,以使第二设备基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取第二设备发送的第一处理结果;
匹配模块302,用于查找与第二类接口对应的低版本且功能匹配的目标接口;
第二处理模块303,用于基于目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果。
本实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并基于第一类接口,向第二设备发送第一调用指令,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,并基于该第一类接口对待处理数据进行处理,获得第一处理结果;第一设备上的目标硬件不支持原本的高版本第二类接口调用,因此查找与第二类接口对应的功能匹配且低版本的目标接口,此时第一设备上的目标硬件可以支持该目标接口的调用,可以基于该目标接口对待处理数据进行处理,获得第二处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,以及由不支持高版本接口调用的第一设备上的目标硬件基于与第二类接口对应的功能匹配且低版本的目标接口进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
在某些实施例中,第一处理模块301具体可以用于根据预设的接口命名规范,判断多个接口的名称中是否携带有操作系统名称;其中,名称中未携带有操作系统名称的接口与操作系统无关,名称中携带有操作系统名称的接口与操作系统相关;将多个接口划分为名称中未携带有操作系统名称的第一类接口,以及名称中携带有操作系统名称的第二类接口。
在某些实施例中,第一处理模块301具体可以用于利用第一动态库确定应用程序调用的多个接口;利用第一动态库根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口;利用第一动态库将基于第一类接口生成的第一调用指令发送至第二设备,由第二设备响应于该第一调用指令,并利用第三动态库和第二设备上的目标硬件驱动程序对第一类接口进行处理获得第一处理指令,以及控制第二设备上的目标硬件执行第一处理指令。
在某些实施例中,第二处理模块303具体可以用于利用第二动态库和第一设备上的硬件驱动程序对目标接口进行处理获得第二处理指令,以及控制第一设备上的目标硬件执行第一处理指令。
如图4所示,为本申请提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括以下几个模块:
调用模块401,用于接收第一设备发送的第一调用指令,该第一调用指令由第一设备基于第一类接口生成,第一类接口由第一设备根据多个接口是否与操作系统相关进行划分获得,多个接口由运行在第一设备上的应用程序调用;
第三处理模块402,用于响应于该第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将第一处理结果发送至第一设备。
本实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并将基于第一类接口生成的第一调用指令发送至第二设备,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,并基于该第一类接口对待处理数据进行处理,获得第一处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,辅助第一设备上的目标硬件进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
如图5所示,为本申请提供的一种数据处理系统一个实施例的结构示意图,可以包括第一设备501和第二设备502;
该第一设备501可以用于确定应用程序调用的多个接口,应用程序在第一设备上运行;根据多个接口是否与操作系统相关,将多个接口划分为第一类接口及第二类接口;基于第一类接口,向第二设备发送第一调用指令,由第二设备响应于该第一调用指令,以使第二设备基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取第二设备发送的第一处理结果;查找与第二类接口对应的低版本且功能匹配的目标接口,以及基于目标接口,调用第一设备上的目标硬件对待处理数据进行处理获得第二处理结果;
第二设备502可以用于接收第一设备发送的第一调用指令,该第一调用指令由第一设备基于第一类接口生成,第一类接口由第一设备根据多个接口是否与操作系统相关进行划分获得,多个接口由运行在第一设备上的应用程序调用;响应于该第一调用指令,并基于第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将第一处理结果发送至第一设备。
本实施例中,将应用程序调用的多个接口按照是否与操作系统相关,划分为第一类接口及第二类接口,并将基于第一类接口生成的第一调用指令发送至第二设备,第二设备上的目标硬件支持第一类接口调用,可以响应于该第一调用指令,并基于该第一类接口对待处理数据进行处理,获得第一处理结果;第一设备上的目标硬件不支持原本的高版本第二类接口调用,因此查找与第二类接口对应的功能匹配且低版本的目标接口,此时第一设备上的目标硬件可以支持该目标接口的调用,可以基于该目标接口对待处理数据进行处理,获得第二处理结果。通过由支持高版本接口调用的第二设备上的目标硬件基于第一类接口进行数据处理,以及由不支持高版本接口调用的第一设备上的目标硬件基于与第二类接口对应的功能匹配且低版本的目标接口进行数据处理,实现了由第一设备上的目标硬件和第二设备上的目标硬件共同支持应用程序运行中高版本接口的调用,共同进行数据处理计算,确保应用程序可以正常运行,提高用户体验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对传统方案做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种数据处理方法,其特征在于,应用于第一设备,包括:
确定应用程序调用的多个接口,所述应用程序在所述第一设备上运行,所述第一设备上的目标硬件不支持所述多个接口的调用;
根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;
基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;
获取所述第二设备发送的所述第一处理结果;
查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口包括:
根据预设的接口命名规范,判断所述多个接口的名称中是否携带有操作系统名称;其中,名称中未携带有所述操作系统名称的接口与所述操作系统无关,名称中携带有所述操作系统名称的接口与所述操作系统相关;
将所述多个接口划分为名称中未携带有所述操作系统名称的第一类接口,以及名称中携带有所述操作系统名称的第二类接口。
3.根据权利要求1所述的方法,其特征在于,所述第一设备包括第一动态库和第二动态库;所述第二设备包括第三动态库;
所述确定应用程序调用的多个接口包括:
利用所述第一动态库确定应用程序调用的多个接口;
所述根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口包括:
利用所述第一动态库根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;
所述基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果包括:
利用所述第一动态库将基于所述第一类接口生成的第一调用指令发送至第二设备,由所述第二设备响应于所述第一调用指令,以使所述第二设备利用所述第三动态库和所述第二设备上的目标硬件驱动程序对所述第一类接口进行处理获得第一处理指令,以及控制所述第二设备上的目标硬件执行所述第一处理指令;
所述查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果包括:
查找与所述第二类接口对应的低版本且功能匹配的目标接口;
利用所述第二动态库和所述第一设备上的目标硬件驱动程序对所述目标接口进行处理获得第二处理指令,以及控制所述第一设备上的目标硬件执行所述第二处理指令。
4.根据权利要求1至3任一所述的方法,其特征在于,所述第一设备为虚拟机,所述第二设备为运行有所述虚拟机的宿主机。
5.根据权利要求1至3任一所述的方法,其特征在于,所述应用程序为图形处理程序,所述待处理数据为渲染数据,所述第一处理结果为第一渲染图形,所述第二处理结果为第二渲染图形,所述第一渲染图形与所述第二渲染图形构成渲染图形。
6.一种数据处理方法,其特征在于,应用于第二设备,包括:
接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;
响应于所述第一调用指令,并基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;
将所述第一处理结果发送至所述第一设备。
7.一种数据处理装置,其特征在于,包括:
第一处理模块,用于确定应用程序调用的多个接口,所述应用程序在第一设备上运行;根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取所述第二设备发送的所述第一处理结果;
匹配模块,用于查找与所述第二类接口对应的低版本且功能匹配的目标接口;
第二处理模块,用于基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果。
8.一种数据处理装置,其特征在于,包括:
调用模块,用于接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;
第三处理模块,用于响应于所述第一调用指令,并基于所述第一类接口,调用第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将所述第一处理结果发送至所述第一设备。
9.一种数据处理系统,其特征在于,包括第一设备与第二设备;
所述第一设备,用于确定应用程序调用的多个接口,所述应用程序在第一设备上运行;根据所述多个接口是否与操作系统相关,将所述多个接口划分为第一类接口及第二类接口;基于所述第一类接口,向第二设备发送第一调用指令,由所述第二设备响应于所述第一调用指令,以使所述第二设备基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;获取所述第二设备发送的所述第一处理结果;查找与所述第二类接口对应的低版本且功能匹配的目标接口,以及基于所述目标接口,调用所述第一设备上的目标硬件对所述待处理数据进行处理获得第二处理结果;
所述第二设备,用于接收第一设备发送的第一调用指令,所述第一调用指令由所述第一设备基于第一类接口生成,所述第一类接口由所述第一设备根据多个接口是否与操作系统相关进行划分获得,所述多个接口由运行在所述第一设备上的应用程序调用;响应于所述第一调用指令,并基于所述第一类接口,调用所述第二设备上的目标硬件对待处理数据进行处理获得第一处理结果;将所述第一处理结果发送至所述第一设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704081.3A CN113485773A (zh) | 2021-06-24 | 2021-06-24 | 数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704081.3A CN113485773A (zh) | 2021-06-24 | 2021-06-24 | 数据处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113485773A true CN113485773A (zh) | 2021-10-08 |
Family
ID=77936140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110704081.3A Pending CN113485773A (zh) | 2021-06-24 | 2021-06-24 | 数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167949A (zh) * | 2022-09-08 | 2022-10-11 | 西安芯瞳半导体技术有限公司 | 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111021A1 (en) * | 2003-09-11 | 2013-05-02 | Bae Systems Plc | Real-time network monitoring and security |
CN111488196A (zh) * | 2020-04-13 | 2020-08-04 | 西安万像电子科技有限公司 | 渲染方法及装置、存储介质、处理器 |
CN112102457A (zh) * | 2020-08-28 | 2020-12-18 | 西安万像电子科技有限公司 | 3d渲染方法及系统 |
-
2021
- 2021-06-24 CN CN202110704081.3A patent/CN113485773A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111021A1 (en) * | 2003-09-11 | 2013-05-02 | Bae Systems Plc | Real-time network monitoring and security |
CN111488196A (zh) * | 2020-04-13 | 2020-08-04 | 西安万像电子科技有限公司 | 渲染方法及装置、存储介质、处理器 |
CN112102457A (zh) * | 2020-08-28 | 2020-12-18 | 西安万像电子科技有限公司 | 3d渲染方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167949A (zh) * | 2022-09-08 | 2022-10-11 | 西安芯瞳半导体技术有限公司 | 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 |
CN115167949B (zh) * | 2022-09-08 | 2022-12-06 | 西安芯瞳半导体技术有限公司 | 高版本OpenGL函数适配低版本应用程序的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6078322A (en) | Methods permitting rapid generation of platform independent software applications executed on a universal client device | |
US6078321A (en) | Universal client device for interconnecting and operating any two computers | |
US8473958B2 (en) | Adjusting client display devices based on settings included in a notification from remote virtual machine host prior to connection establishment | |
WO2019114185A1 (zh) | 一种app远程控制方法及相关设备 | |
CN111488196A (zh) | 渲染方法及装置、存储介质、处理器 | |
US8959514B2 (en) | Virtual machine monitor display split using multiple client devices in a virtualization system | |
CN114168239B (zh) | 窗口显示方法、装置、设备和存储介质 | |
EP2688037A1 (en) | Method and apparatus for data processing using graphic processing unit | |
US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
US12019839B2 (en) | User-specific graphical user interface based on a graphical user interface template | |
CN112102457A (zh) | 3d渲染方法及系统 | |
CN113485773A (zh) | 数据处理方法、装置及系统 | |
CN111258693B (zh) | 远程显示方法及装置 | |
CN112799801A (zh) | 一种模拟鼠标指针绘制方法、装置、设备和介质 | |
EP3298756A1 (en) | Interfacing with servers having different apis to obtain advertisement data | |
CN103092676A (zh) | 虚拟机集群的模拟输入输出方法、装置及系统 | |
CN112596852B (zh) | 一种图形显示方法、装置、系统、电子设备及存储介质 | |
CN114003225A (zh) | 窗口显示方法、装置、计算机设备和存储介质 | |
CN113778593A (zh) | 云桌面控制方法、装置、电子设备、存储介质及程序产品 | |
CN106959881B (zh) | 发送数据的方法和装置 | |
CN114697400B (zh) | 服务调度方法、系统及vtep | |
CN115373618A (zh) | 一种多屏显示方法、装置、车机及存储介质 | |
CN105760338A (zh) | 一种瘦客户端的图像显示方法、装置及电子设备 | |
CN114546444A (zh) | 车辆升级方法、装置、电子设备、介质及自动驾驶车辆 | |
CN113763227A (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 |