CN116820783A - 一种图像处理方法及装置 - Google Patents
一种图像处理方法及装置 Download PDFInfo
- Publication number
- CN116820783A CN116820783A CN202311095110.6A CN202311095110A CN116820783A CN 116820783 A CN116820783 A CN 116820783A CN 202311095110 A CN202311095110 A CN 202311095110A CN 116820783 A CN116820783 A CN 116820783A
- Authority
- CN
- China
- Prior art keywords
- image processing
- task
- processing task
- client
- priority
- 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 16
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000015654 memory Effects 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 47
- 238000004891 communication Methods 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供了一种图像处理方法及装置,涉及数据处理技术领域,上述方法包括:在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;获得所述客户端发送的图像处理任务;根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。应用本发明实施例提供的图像处理方案,能够提高图像处理效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种图像处理方法及装置。
背景技术
在云桌面技术中,用户所使用客户端与服务端之间建立通信连接,在客户端需要执行图像处理任务时,客户端可以向服务端发送该图像处理任务,服务端可以利用自身配备的显卡执行该图像处理任务,得到执行结果,并将执行结果反馈给客户端,这样对于用户而言,用户仅需在客户端中进行操作即可查看到执行结果。
现有的云桌面技术中,服务端利用自身配备的显卡执行客户端的图像处理任务时,是利用显卡中固定大小的显存所提供资源来执行图像处理任务,该固定大小的显存根据服务端的显卡的显存大小以及预先设置的客户端连接数量上限确定,例如,若服务端显卡的显存为48G,预先设置的客户端连接数量上限为12台,则上述固定大小的显存为4G,这种情况下,当一台客户端与服务端建立通信连接后,服务端仅能利用自身显卡中4G的显存所提供资源来执行该客户端的图像处理任务,而难以调用显卡中其他空闲的显存所提供资源,可见,应用现有的云桌面技术进行图像处理,难以最大化利用服务端显卡的显存所提供资源,从而导致图像处理效率较低。
发明内容
本发明实施例的目的在于提供一种图像处理方法及装置,以提高图像处理效率。具体技术方案如下:
第一方面,本发明实施例提供了一种图像处理方法,应用于服务端,包括:
在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
获得所述客户端发送的图像处理任务;
根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
本发明的一个实施例中,所述根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
根据所述图像处理任务的任务量以及以下信息中至少一种,确定表征所述图像处理任务的处理优先级的优先级权重:
所述图像处理任务的等待时长、所述客户端的设备信息,其中,所述等待时长为:获得所述图像处理任务的时刻与当前时刻之间的时长。
本发明的一个实施例中,在所述信息包括所述等待时长的情况下,根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
若所述图像处理任务的任务量小于预设阈值,则根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
若所述图像处理任务的任务量大于等于所述预设阈值,则根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重。
本发明的一个实施例中,所述根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
根据所述图像处理任务的任务量,确定所述图像处理任务的初始优先级权重;
根据所述等待时长,确定所述图像处理任务的优先级权重增量;
将所述初始优先级权重与所述优先级权重增量累加,得到所述图像处理任务的优先级权重。
本发明的一个实施例中,所述根据所述等待时长,确定所述图像处理任务的优先级权重增量,包括:
在各预设时长范围内,确定所述等待时长所在的目标时长范围;
根据所述预设时长范围与权重增量之间的对应关系,确定与所述目标时长范围对应的优先级权重增量。
本发明的一个实施例中,在所述客户端为无显卡的客户端的情况下,在所述创建所述客户端对应的虚拟显卡之后,还包括:
搭建所述虚拟显卡与所述客户端的端侧虚拟显卡之间的直接内存访问RDMA网络,其中,所述端侧虚拟显卡为所述客户端根据自身存储的显卡配置文件进行虚拟化得到;
所述获得所述客户端发送的图像处理任务,包括:
获得所述客户端通过所述RDMA网络发送的图像处理任务;
所述向发送各图像处理任务的客户端反馈各图像处理任务的处理结果,包括:
通过所述虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
第二方面,本发明实施例还提供了一种图像处理装置,应用于服务端,包括:
显卡创建模块,用于在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
任务获得模块,用于获得所述客户端发送的图像处理任务;
权重确定模块,用于根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
任务处理模块,用于按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
结果反馈模块,用于获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
本发明的一个实施例中,所述权重确定模块,包括:
权重确定子模块,用于根据所述图像处理任务的任务量以及以下信息中至少一种,确定表征所述图像处理任务的处理优先级的优先级权重:
所述图像处理任务的等待时长、所述客户端的设备信息,其中,所述等待时长为:获得所述图像处理任务的时刻与当前时刻之间的时长。
本发明的一个实施例中,在所述信息包括所述等待时长的情况下,权重确定子模块,包括:
第一确定单元,用于若所述图像处理任务的任务量小于预设阈值,则根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
第二确定单元,用于若所述图像处理任务的任务量大于等于所述预设阈值,则根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重。
本发明的一个实施例中,所述第二确定单元,包括:
权重确定子单元,用于根据所述图像处理任务的任务量,确定所述图像处理任务的初始优先级权重;
增量确定子单元,用于根据所述等待时长,确定所述图像处理任务的优先级权重增量;
权重累加子单元,用于将所述初始优先级权重与所述优先级权重增量累加,得到所述图像处理任务的优先级权重。
本发明的一个实施例中,所述增量确定子单元,具体用于:
在各预设时长范围内,确定所述等待时长所在的目标时长范围;
根据所述预设时长范围与权重增量之间的对应关系,确定与所述目标时长范围对应的优先级权重增量。
本发明的一个实施例中,所述装置还包括:
网络搭建模块,用于在所述客户端为无显卡的客户端的情况下,在所述创建所述客户端对应的虚拟显卡之后,搭建所述虚拟显卡与所述客户端的端侧虚拟显卡之间的直接内存访问RDMA网络,其中,所述端侧虚拟显卡为所述客户端根据自身存储的显卡配置文件进行虚拟化得到;
所述任务获得模块,具体用于:
获得所述客户端通过所述RDMA网络发送的图像处理任务;
所述结果反馈模块,具体用于:
获得各图像处理任务的处理结果,并通过所述虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
本发明实施例有益效果:
由以上可见,本发明实施例提供的方案中,服务端确定图像处理任务的优先级权重后,按照各图像处理任务的优先级权重,调用发送各图像处理任务的客户端对应的虚拟显卡,虚拟显卡能够基于物理显卡的空闲显存处理各图像处理任务,这样空闲显存有多大,虚拟显卡即可基于多大的显存处理图像处理任务,而非基于固定大小的显存来处理图像处理任务,因此,应用本发明实施例提供的图像处理方案,能够最大化利用服务端中实际显卡的显存所提供的计算资源,从而能够提高图像处理效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的第一种图像处理方法的流程示意图;
图2为本发明实施例提供的第二种图像处理方法的流程示意图;
图3为本发明实施例提供的第三种图像处理方法的流程示意图;
图4为本发明实施例提供的第一种图像处理装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例提供的图像处理方案的执行主体进行说明。
本发明实施例提供的图像处理方案的执行主体可以是服务端,或者是服务端中配备的CPU。
下面对本发明实施例提供的图像处理方案进行说明。
参见图1,图1为本发明实施例提供的第一种图像处理方法的流程示意图,本实施例中,上述方法应用于服务端,包括以下步骤S101-S105。
步骤S101:在与客户端建立通信连接之后,根据服务端配备的物理显卡的参数,创建客户端对应的虚拟显卡。
其中,上述客户端可以是任意一个存在图像处理需求的客户端。
上述显卡的参数包含常规参数以及特定参数,例如,常规参数包含显卡的主版本号、次版本号、品牌以及型号等等,还包括显卡中GPU芯片的参数,如芯片核心数、芯片型号等等,特定参数包含显卡的显卡标识、显卡接口地址、显存等。
具体的,服务端可以记录有自身配备的物理显卡的参数,或者在服务端启动的过程中,服务端识别自身配备的显卡,得到显卡的参数,这样当客户端需要调度服务端中的显卡来处理自身的图像处理任务时,客户端可以与服务端建立通信连接,并在建立通信连接之后,根据已记录或识别到的显卡的参数,定义客户端对应的虚拟显卡的显卡参数,并根据所定义的显卡参数创建虚拟显卡。
服务端与客户端建立通信连接时,客户端可以获得服务端的访问地址,并根据该访问地址向服务端发送连接请求,这样服务端获得该连接请求后,可以响应于该连接请求,与客户端建立通信连接。
服务端定义客户端对应虚拟显卡的显卡参数时,对于常规参数,可以将服务端的物理显卡的常规参数的参数值确定为虚拟显卡的常规参数的参数值,例如,若服务端的物理显卡的型号为4070Ti,则可以直接确定虚拟显卡的型号同样为4070Ti;对于特定参数,可以在服务端的物理显卡的特定参数的参数值的基础上进行调整,将调整后的参数值确定为虚拟显卡的常规参数的参数值。
由于服务端在启动时挂载CPU、GPU等设备的过程实质上是加载这些设备的配置文件,因此,服务端定义客户端对应的虚拟显卡的显卡参数后,可以根据虚拟显卡的显卡参数生成虚拟显卡的配置文件,并调整服务端加载显卡的配置文件的加载路径,以使得服务端加载虚拟显卡的配置文件,从而实现虚拟显卡挂载,完成虚拟显卡创建。
步骤S102:获得客户端发送的图像处理任务。
其中,上述图像处理任务可以是对图像进行任意种处理的处理任务,例如,可以是图像识别、图像分割、图像渲染、图像融合等等处理的任务,本发明实施例对此并不限定。
服务端与客户端建立通信连接后,若客户端中生成图像处理任务,则客户端可以基于所建立的通信通道向服务端传输图像处理任务,服务端获得图像处理任务的处理结果之后,也可以基于该通信通道向客户端传输图像处理任务的处理结果。
另外,服务端与客户端之间的通信通道可以包含二者的CPU之间的数据传输通道、网络等,还可以包含二者的显卡之间的数据传输通道、网络等。在上述通信通道包含服务端的CPU与客户端的CPU之间的数据传输通道、网络的情况下,由于客户端中图像处理任务通常由客户端的显卡中的GPU对其进行调配、处理,因此,这种情况下,客户端生成图像处理任务后,客户端显卡中的GPU可以首先将图像处理任务传输至自身的CPU中,再基于服务端的CPU与客户端的CPU之间的数据传输通道、网络,向服务端发送图像处理任务,服务端获得图像处理任务后,图像处理任务存储于CPU中,此时服务端可以再将图像处理任务传输至自身显卡中;在上述通信通道包含服务端的显卡与客户端的显卡之间的数据传输通道、网络的情况下,客户端生成图像处理任务后,客户端显卡中的GPU可以直接基于服务端的显卡与客户端的显卡之间的数据传输通道、网络,向服务端发送图像处理任务,服务端接收到图像处理任务后,后续可以由服务端的显卡中的GPU对图像处理任务进行处理。
步骤S103:根据图像处理任务的任务量,确定表征图像处理任务的处理优先级的优先级权重。
其中,上述图像处理任务的任务量可以以整个图像处理任务所包含数据的数据量表示,也可以以图像处理任务中待处理的图像的大小表示。若图像处理任务的任务量小于预设的任务量阈值,则可以认为该图像处理任务为小任务;若图像处理任务的任务量大于等于任务量阈值,则可以认为该图像处理任务为大任务。
上述优先级权重表征图像处理任务的处理优先级,优先级权重越大,则图形处理任务的处理优先级越高,图像处理任务越快被处理。
具体的,服务端在获得图像处理任务之后,可以检测图像处理任务的任务量,并根据图像处理任务的任务量,确定表征图像处理任务的处理优先级的优先级权重。
由于图像处理任务的任务量越大,处理图像处理任务所占用的资源越多,耗时越长,因此,服务端可以优先处理小任务,这样能够快速向客户端反馈小任务的处理结果,以便用户在客户端中及时查看到小任务的处理结果,从而提高用户体验。
鉴于此,服务端获得客户端发送的图像处理任务后,若图像处理任务的任务量越大,则可以确定权重值越小的优先级权重;若图像处理任务的任务量越小,则可以确定权重值越大的优先级权重。
例如,若图像处理任务的任务量为k,则可以确定优先级权重的权重值为。
又例如,可以以任务量越大,优先级权重越小为原则,预先设置多个任务量范围与优先级权重的多个权重值之间的对应关系,这样服务端获得客户端发送的图像处理任务后,可以确定所获得图像处理任务的任务量所在的任务量范围,并根据上述对应关系,得到所确定的任务量范围对应的优先级权重的权重值。
另外,除了根据图像处理任务的任务量确定上述优先级权重之外,还可以结合图像处理任务的任务量以及其他信息确定上述优先级权重,这种确定方式可参见后续实施例,这里暂不详述。
步骤S104:按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于物理显卡的空闲显存处理各图像处理任务。
具体的,服务端可以与多台客户端建立通信连接,并且每一台客户端可以向服务端发送一个或多个图像处理任务,因此,针对每一客户端,服务端均可执行上述步骤S101-S103,这样服务端可以获得多个图像处理任务,并为所获得的各图像处理任务分配优先级权重,按照各图像处理任务的优先级权重,服务端可以确定各图像处理任务的处理顺序,并依据处理顺序依次处理各图像处理任务。虚拟显卡基于物理显卡的空闲显存处理图像处理任务时,可以将图像处理任务传输至物理显卡中,并存储于物理显卡GPU的显存中,以使得物理显卡中的GPU对显存中存储的图像处理任务进行处理,得到处理结果。
例如,若客户端1、客户端2以及客户端3这三台客户端均与服务端建立了通信连接,客户端1向服务端发送了两个图像处理任务,分别为任务1和任务2,客户端2向服务端发送了一个图像处理任务,为任务3,客户端3向服务端发送了三个图像处理任务,分别为任务4、任务5、任务6,服务端获得这六个任务后,为每一任务分别分配了优先级权重,分别表示为Q1、Q2、Q3、Q4、Q5、Q6,并且Q3<Q6<Q4<Q1<Q5<Q2,此时,按照这六个图像处理任务的优先级权重,可以确定任务处理顺序为:任务3、任务6、任务4、任务1、任务5、任务2,这样服务端可以按照该任务处理顺序依次处理这六个图像处理任务。
服务端在运行过程中,可以周期性检测自身是否存储有未处理的图像处理任务,若检测到自身存储有未处理的图像处理任务,则按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡。
服务端调用发送图像处理任务的客户端对应的虚拟显卡后,可以将该图像处理任务输入所调用的虚拟显卡。由于图像处理任务为用户态数据,因此,虚拟显卡获得图像处理任务后,可以将用户态的图像处理任务转换为内核态的图像处理任务,或者在服务端接收到图像处理任务后,先将用户态的图像处理任务转换为内核态的图像处理任务,再按照各图像处理任务的优先级权重进行图像处理任务的排序,这样虚拟显卡在获得图像处理任务时,可以直接获得内核态的图像处理任务。
虚拟显卡在转换得到或者直接获得内核态的图像处理任务后,可以调用服务端的物理显卡中当前处于空闲状态的显存来处理该内核态的图像处理任务,得到该图像处理任务的处理结果,此时,该处理结果依然为内核态数据,虚拟显卡可以再将内核态的处理结果转换为用户态的处理结果。
在虚拟显卡调用物理显卡中的显存时,一种实现方式中,可以通过服务端的图形库接口调用物理显卡中的显存;另一种实现方式中,可以通过显卡自身提供的API编程接口调用物理显卡的显存。
另外,由于客户端可能是无规则的向服务端发送图像处理任务,因此,服务端在处理图像处理任务的过程中,若获得新的图像处理任务,可以在为该图像处理任务分配优先级权重后,根据当前时刻下未处理的各个图像处理任务的优先级权重,确定各个图像处理任务的处理顺序。
步骤S105:获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
根据上述步骤S104的内容可以得知,服务端是根据图像处理任务的处理顺序依次处理各个图像处理任务,这样服务端每获得一个图像处理任务的处理结果,即可向发送该图像处理任务的客户端反馈所获得的处理结果。
本步骤中服务端向客户端反馈处理结果的方式与上述步骤S102中客户端向服务端发送图像处理任务的方式类似,在服务端与客户端之间的通信通道包含服务端的CPU与客户端的CPU之间的数据传输通道、网络的情况下,服务端可以先将处理结果传输至自身的CPU中,再基于服务端的CPU与客户端的CPU之间的数据传输通道、网络,向客户端反馈处理结果,客户端获得处理结果后,处理结果存储于CPU中,此时客户端可以再将处理结果传输至自身显卡中;在上述通信通道包含服务端的显卡与客户端的显卡之间的数据传输通道、网络的情况下,服务端获得处理结果后,可以直接基于服务端的显卡与客户端的显卡之间的数据传输通道、网络,向客户端发送处理结果,客户端接收到处理结果后,处理结果也就存储于客户端的显卡中。
由以上可见,本发明实施例提供的方案中,服务端确定图像处理任务的优先级权重后,按照各图像处理任务的优先级权重,调用发送各图像处理任务的客户端对应的虚拟显卡,虚拟显卡能够基于物理显卡的空闲显存处理各图像处理任务,这样空闲显存有多大,虚拟显卡即可基于多大的显存处理图像处理任务,而非基于固定大小的显存来处理图像处理任务,因此,应用本发明实施例提供的图像处理方案,能够最大化利用服务端中实际显卡的显存所提供的计算资源,从而能够提高图像处理效率。
下面对上述步骤S103中提及的结合图像处理任务的任务量以及其他信息确定优先级权重的实现方式进行说明。
本发明的一个实施例中,在确定图像处理任务的优先级权重时,可以根据图像处理任务的任务量以及以下信息中至少一种,确定表征图像处理任务的处理优先级的优先级权重:
图像处理任务的等待时长、客户端的设备信息。
其中,上述等待时长为:获得图像处理任务的时刻与当前时刻之间的时长。
本发明的一个实施例中,服务端获得图像处理任务后,可以将图像处理任务存储在预设的任务队列中,并可以从任务队列中提取图像处理任务,以处理所提取的图像处理任务。这种情况下,上述等待时长可以是图像处理任务在任务队列中存储的时长。
上述客户端的设备信息可以包含设备的设备标识、设备版本号、设备型号等等。
具体的,确定优先级权重可以分为以下三种情况:
第一种情况:根据图像处理任务的任务量以及图像处理任务的等待时长确定优先级权重;
第二种情况:根据图像处理任务的任务量以及发送图像处理任务的客户端的设备信息确定优先级权重;
第三种情况:根据图像处理任务的任务量、图像处理任务的等待时长以及发送图像处理任务的客户端的设备信息确定优先级权重。
本方案中,无论是上述三种情况中的哪一种,服务端均能够根据多种信息来确定优先级权重,这样能够提高确定优先级权重的准确性,从而提高图像处理的准确性。
下面分别对这三种情况进行一一说明。
对于第一种情况,图像处理任务的任务量越小,则可以确定权重值越大的优先级权重,图像处理任务的任务量越大,则可以确定权重值越小的优先级权重,并且,图像处理任务的等待时长越长,则可以确定权重值越大的优先级权重,图像处理任务的等待时长越短,则可以确定权重值越小的优先级权重。
由于等待时长为服务端获得图像处理任务的时刻与当前时刻之间的时长,随着时间不断推移,等待时长会不断增大,这样在根据图像处理任务的任务量以及图像处理任务的等待时长确定优先级权重时,优先级权重也会随着等待时长变化而不断变化。这种情况下,当服务端刚接收到图像处理任务时,该任务的等待时长为零,此时,可以根据图像处理任务的任务量确定优先级权重,然后随着时间不断推移,可以根据图像处理任务的任务量以及当前时刻下的等待时长,不断更新图像处理任务的优先级权重,从而在服务端调用虚拟显卡处理图像处理任务时,可以按照各图像处理任务最新的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡。
另外,在确定各个图像处理任务的优先级权重的过程中,针对任一图像处理任务,均可以根据该任务的任务量和等待时长确定该任务的优先级权重,另外,还可以仅针对大任务,根据大任务的任务量和等待时长确定大任务的优先级权重。
本发明的一个实施例中,在第一种情况下,服务端在获得图像处理任务之后,可以检测得到图像处理任务的任务量,并计算从获得图像处理任务的获得时刻至当前时刻的等待时长,若图像处理任务的任务量小于预设阈值,则说明图像处理任务为小任务,此时可以根据图像处理任务的任务量,确定表征图像处理任务的处理优先级的优先级权重;若图像处理任务的任务量大于等于预设阈值,则说明图像处理任务为大任务,此时可以根据图像处理任务的任务量以及等待时长,确定表征图像处理任务的处理优先级的优先级权重。
其中,上述预设阈值为预先设置的任务量。
具体的,若图像处理任务的任务量小于预设阈值,则说明该图像处理任务为小任务,此时,仅根据小任务的任务量来确定优先级权重;若图像处理任务的任务量大于等于预设阈值,则说明该图像处理任务为大任务,此时,根据大任务的任务量以及等待时长来确定优先级权重。
根据大任务的任务量以及等待时长来确定优先级权重的具体实现方式可参见后续实施例,这里暂不详述。
在等待时长为零或者等待时长较短的情况下,大任务的优先级权重小于小任务的优先级权重,此时,服务端优先处理小任务,大任务则暂时不处理。随着时间慢慢推移,大任务的优先级权重随着等待时长的增长而变大,直至大任务的优先级权重大于小任务的优先级权重,此时,服务器则先处理大任务,小任务则暂不处理。
本方案中,通过引入等待时长来不断更新大任务的优先级权重,不仅能够保证优先处理小任务,大任务也能够及时被处理掉。优先处理小任务能够快速向客户端反馈小任务的处理结果,以便用户在客户端中及时查看到小任务的处理结果,从而提高用户体验,可见,应用本方案进行图像处理,不仅能够提高用户体验,还能够提高大任务的处理效率。并且,在待处理的图像处理任务较多的情况下,服务端可以按照各个图像处理任务的优先级权重,先处理优先级较高的部分图像处理任务,其他图像处理任务则等待服务端处理完部分图像处理任务后进行处理,这样通过让图像处理任务等待其他图像处理任务处理完成的方式,服务端中显卡的GPU可以实现超卖效果,即服务端可以利用自身物理显卡的GPU执行总量超出物理显卡的显存大小的图像处理任务。
对于第二种情况,在用户期望优先处理特定客户端的图像处理任务的情况下,服务端中可以记录有特定客户端的设备信息,这样在确定图像处理任务的优先级权重时,可以综合图像处理任务的任务量以及发送图像处理任务的客户端的设备信息来确定。
在考虑发送图像处理任务的客户端的设备信息时,若发送图像处理任务的客户端的设备信息属于客户端记录的特定客户端的设备信息,则可以确定权重值较大的优先级权重;若发送图像处理任务的客户端的设备信息不属于客户端记录的特定客户端的设备信息,则可以确定权重值较小的优先级权重。
对于第三种情况,服务端可以综合考虑图像处理任务的任务量、等待时长以及发送图像处理任务的客户端的设备信息这三种信息来确定图像处理任务的优先级权重。在确定优先级权重的过程中,若图像处理任务的任务量较小,或图像处理任务的等待时长较长,或发送图像处理任务的客户端的设备信息属于客户端记录的特定客户端的设备信息,则可以确定权重值较大的优先级权重;若图像处理任务的任务量较大,或图像处理任务的等待时长较短,或发送图像处理任务的客户端的设备信息不属于客户端记录的特定客户端的设备信息,则可以确定权重值较小的优先级权重。
下面对上述第一种情况中提及的根据大任务的任务量以及等待时长来确定优先级权重的具体实现方式进行说明。
本发明的一个实施例中,参见图2,提供了第二种图像处理方法的流程示意图,本实施例中,上述步骤S103可以通过以下步骤S103A-S103C实现。
步骤S103A:根据图像处理任务的任务量,确定图像处理任务的初始优先级权重。
本步骤中确定初始优先级权重的实现方式可参见前述图1所示实施例的步骤S103中确定优先级权重的方式,这里不再赘述。
步骤S103B:根据等待时长,确定图像处理任务的优先级权重增量;
具体的,若上述等待时长越长,则可以确定越大的优先级权重增量;若上述等待时长越短,则可以确定越小的优先级权重增量。
例如,若上述等待时长为t,则可以确定优先权权重增量为,其中,T为预设的固定时长。
本发明的一个实施例中,可以在各预设时长范围内,确定等待时长所在的目标时长范围;根据预设时长范围与权重增量之间的对应关系,确定与目标时长范围对应的优先级权重增量。
其中,上述各时长范围为预先确定的各个时长范围,各时长范围的最大差值可以相同,也可以不同。
例如,各时长范围可以是:0秒-10秒、10秒-20秒、20秒-30秒等等。
又例如,各时长范围可以是:0秒-10秒、10秒-25秒、25秒-30秒等等。
在上述对应关系中,时长范围越靠后,则该时长范围对应的权重增量越大,其中,时长范围越靠后是指各个时长范围按照时长数值从小到大的顺序排列时,排列越后面的时长范围。
例如,若各时长范围为:0秒-10秒、10秒-20秒、20秒-30秒,0秒-10秒的时长范围对应权重增量h1,10秒-20秒的时长范围对应权重增量h2,20秒-30秒的时长范围对应权重增量h3,则h1小于h2,h2小于h3。若上述等待时长为5秒,则可以确定上述目标时长范围为0秒-10秒,进而可以确定与目标时长范围对应的优先级权重增量为h1。
本方案中,确定等待时长所在的目标时长范围后,根据预设时长范围与权重增量之间的对应关系,可以准确确定与目标时长范围对应的优先级权重增量,从而利用较为准确的优先级权重增量进行图像处理,能够提高图像处理的准确性。
步骤S103C:将初始优先级权重与优先级权重增量累加,得到图像处理任务的优先级权重。
由于上述优先级权重增量是根据等待时长确定的,随着时间不断推移,若图像处理任务仍未被处理,则上述等待时长是不断增长的,这样优先级权重增量也会随之变化。在优先级权重增量发生变化时,服务端可以对初始优先级权重与变化后的优先级权重增量累加,得到图像处理任务的更新的优先级权重。
由以上可见,本发明实施例提供的方案中,根据图像处理任务的任务量确定初始优先级权重,根据等待时长,确定优先级权重增量,再将初始优先级权重和优先级权重增量累加,从而得到图像处理任务的优先权权重。由于等待时长可能是不断增加的,这样优先级权重增量也就随之不断变换,从而将初始优先级权重和优先级权重增量累加,能够准确获得图像处理任务的优先级权重,进而能够提高图像处理的准确性。
现有的云桌面技术中,客户端均为配备有显卡的设备,这样服务端与客户端建立通信连接时,可以建立服务端的显卡与客户端的显卡之间的数据传输网络,从而在此基础上实现图像处理。
鉴于上述情况,本发明的一个实施例中,参见图3,提供了第三种图像处理方法的流程示意图,本实施例中,在客户端为无显卡的客户端的情况下,在上述步骤S101创建客户端对应的虚拟显卡之后,还包括以下步骤S106,并且上述步骤S102以及步骤S105可以分别通过步骤S102A以及步骤S105A实现。
步骤S106:搭建虚拟显卡与客户端的端侧虚拟显卡之间的直接内存访问RDMA网络。
其中,端侧虚拟显卡为客户端根据自身存储的显卡配置文件进行虚拟化得到。
上述显卡配置文件可以根据服务端的物理显卡的参数生成,也可以根据任意显卡的参数生成,还可以根据用户自定义的显卡参数生成。
具体的,上述客户端可以是虚拟机,也可以是物理终端。在上述客户端为虚拟机的情况下,虚拟机的xml文件中可以扩展有上述显卡配置文件,这样在虚拟机启动过程中,可以加载xml文件中扩展的显卡配置文件,并根据显卡配置文件中包含的显卡参数,创建虚拟机的虚拟显卡,即客户端的端侧虚拟显卡;在上述客户端为物理终端的情况下,物理终端的EFI文件中可以扩展有上述显卡配置文件,这样在物理终端启动过程中,可以加载EFI文件中扩展的显卡配置文件,并根据显卡配置文件中包含的显卡参数,创建物理终端的虚拟显卡,即客户端的端侧虚拟显卡。
客户端在启动过程中创建出端侧虚拟显卡之后,可以与服务端建立通信连接,并在建立通信连接过程中,基于RDMA网络搭建技术,搭建服务端的虚拟显卡与客户端的端侧虚拟显卡之间的RDMA网络。
在搭建出上述RDMA网络之后,后续服务端与客户端之间的数据交互可以通过该RDMA网络实现,上述步骤S102可以通过以下步骤S102A实现,上述步骤S105可以通过以下步骤S105A实现。
步骤S102A:获得客户端通过RDMA网络发送的图像处理任务。
具体的,客户端中图像处理任务产生于客户端的端侧虚拟显卡中,在图像处理任务生成完成后,客户端可以通过端侧虚拟显卡与服务端的虚拟显卡之间的RDMA网络,向服务端的虚拟显卡发送端侧虚拟显卡中的图像处理任务。
步骤S105A:通过虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
具体的,服务端中的虚拟显卡每获得一个图像处理任务的处理结果,可以通过虚拟显卡与发送该图像处理任务的客户端的端侧虚拟显卡之间的RDMA网络,向发送该图像处理任务的客户端的端侧虚拟显卡发送该图像处理任务的处理结果。
由以上可见,本发明实施例提供的方案中,在客户端无显卡的情况下,客户端能够根据自身存储的显卡配置文件创建出端侧虚拟显卡,从而建立虚拟显卡与客户端的端侧虚拟显卡之间的RDMA网络,通过该RDMA网络实现图像处理,可见,本发明实施例提供的图像处理方案中,客户端可以是无显卡的任意机器,这样也就能够扩大图像处理的适用范围。并且,在客户端为远端的终端设备的情况下,应用本发明实施例提供的图像处理方案,客户端能够调用服务端的计算资源来进行图像处理,也就是能够将服务端中显卡的计算资源调度至云端的终端设备中,对于使用该终端设备的用户而言,用户仅仅是对该终端设备进行操作即可实现图像处理,这样能够提高图像处理的便捷性。
与上述图像处理方法相对应,本发明实施例还提供了一种图像处理装置。
本发明的一个实施例中,参见图4,提供了第一种图像处理装置的结构示意图,本实施例中,上述装置应用于服务端,包括:
显卡创建模块401,用于在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
任务获得模块402,用于获得所述客户端发送的图像处理任务;
权重确定模块403,用于根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
任务处理模块404,用于按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
结果反馈模块405,用于获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
由以上可见,本发明实施例提供的方案中,服务端确定图像处理任务的优先级权重后,按照各图像处理任务的优先级权重,调用发送各图像处理任务的客户端对应的虚拟显卡,虚拟显卡能够基于物理显卡的空闲显存处理各图像处理任务,这样空闲显存有多大,虚拟显卡即可基于多大的显存处理图像处理任务,而非基于固定大小的显存来处理图像处理任务,因此,应用本发明实施例提供的图像处理方案,能够最大化利用服务端中实际显卡的显存所提供的计算资源,从而能够提高图像处理效率。
本发明的一个实施例中,所述权重确定模块403,包括:
权重确定子模块,用于根据所述图像处理任务的任务量以及以下信息中至少一种,确定表征所述图像处理任务的处理优先级的优先级权重:
所述图像处理任务的等待时长、所述客户端的设备信息,其中,所述等待时长为:获得所述图像处理任务的时刻与当前时刻之间的时长。
本方案中,无论是上述三种情况中的哪一种,服务端均能够根据多种信息来确定优先级权重,这样能够提高确定优先级权重的准确性,从而提高图像处理的准确性。
本发明的一个实施例中,在所述信息包括所述等待时长的情况下,权重确定子模块,包括:
第一确定单元,用于若所述图像处理任务的任务量小于预设阈值,则根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
第二确定单元,用于若所述图像处理任务的任务量大于等于所述预设阈值,则根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重。
本方案中,通过引入等待时长来不断更新大任务的优先级权重,不仅能够保证优先处理小任务,大任务也能够及时被处理掉。优先处理小任务能够快速向客户端反馈小任务的处理结果,以便用户在客户端中及时查看到小任务的处理结果,从而提高用户体验,可见,应用本方案进行图像处理,不仅能够提高用户体验,还能够提高大任务的处理效率。并且,在待处理的图像处理任务较多的情况下,服务端可以按照各个图像处理任务的优先级权重,先处理优先级较高的部分图像处理任务,其他图像处理任务则等待服务端处理完部分图像处理任务后进行处理,这样通过让图像处理任务等待其他图像处理任务处理完成的方式,服务端中显卡的GPU可以实现超卖效果,即服务端可以利用自身物理显卡的GPU执行总量超出物理显卡的显存大小的图像处理任务。
本发明的一个实施例中,所述第二确定单元,包括:
权重确定子单元,用于根据所述图像处理任务的任务量,确定所述图像处理任务的初始优先级权重;
增量确定子单元,用于根据所述等待时长,确定所述图像处理任务的优先级权重增量;
权重累加子单元,用于将所述初始优先级权重与所述优先级权重增量累加,得到所述图像处理任务的优先级权重。
由以上可见,本发明实施例提供的方案中,根据图像处理任务的任务量确定初始优先级权重,根据等待时长,确定优先级权重增量,再将初始优先级权重和优先级权重增量累加,从而得到图像处理任务的优先权权重。由于等待时长可能是不断增加的,这样优先级权重增量也就随之不断变换,从而将初始优先级权重和优先级权重增量累加,能够准确获得图像处理任务的优先级权重,进而能够提高图像处理的准确性。
本发明的一个实施例中,所述增量确定子单元,具体用于:
在各预设时长范围内,确定所述等待时长所在的目标时长范围;
根据所述预设时长范围与权重增量之间的对应关系,确定与所述目标时长范围对应的优先级权重增量。
本方案中,确定等待时长所在的目标时长范围后,根据预设时长范围与权重增量之间的对应关系,可以准确确定与目标时长范围对应的优先级权重增量,从而利用较为准确的优先级权重增量进行图像处理,能够提高图像处理的准确性。
本发明的一个实施例中,所述装置还包括:
网络搭建模块,用于在所述客户端为无显卡的客户端的情况下,在所述创建所述客户端对应的虚拟显卡之后,搭建所述虚拟显卡与所述客户端的端侧虚拟显卡之间的直接内存访问RDMA网络,其中,所述端侧虚拟显卡为所述客户端根据自身存储的显卡配置文件进行虚拟化得到;
所述任务获得模块402,具体用于:
获得所述客户端通过所述RDMA网络发送的图像处理任务;
所述结果反馈模块405,具体用于:
获得各图像处理任务的处理结果,并通过所述虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
由以上可见,本发明实施例提供的方案中,在客户端无显卡的情况下,客户端能够根据自身存储的显卡配置文件创建出端侧虚拟显卡,从而建立虚拟显卡与客户端的端侧虚拟显卡之间的RDMA网络,通过该RDMA网络实现图像处理,可见,本发明实施例提供的图像处理方案中,客户端可以是无显卡的任意机器,这样也就能够扩大图像处理的适用范围。并且,在客户端为远端的终端设备的情况下,应用本发明实施例提供的图像处理方案,客户端能够调用服务端的计算资源来进行图像处理,也就是能够将服务端中显卡的计算资源调度至云端的终端设备中,对于使用该终端设备的用户而言,用户仅仅是对该终端设备进行操作即可实现图像处理,这样能够提高图像处理的便捷性。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
获得所述客户端发送的图像处理任务;
根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
上述处理器501执行存储器503上存放的程序以实现图像处理的其他方案,与前述方法实施例中提及的方案相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一图像处理方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一图像处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种图像处理方法,其特征在于,应用于服务端,包括:
在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
获得所述客户端发送的图像处理任务;
根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
根据所述图像处理任务的任务量以及以下信息中至少一种,确定表征所述图像处理任务的处理优先级的优先级权重:
所述图像处理任务的等待时长、所述客户端的设备信息,其中,所述等待时长为:获得所述图像处理任务的时刻与当前时刻之间的时长。
3.根据权利要求2所述的方法,其特征在于,在所述信息包括所述等待时长的情况下,根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
若所述图像处理任务的任务量小于预设阈值,则根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
若所述图像处理任务的任务量大于等于所述预设阈值,则根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重。
4.根据权利要求3所述的方法,其特征在于,所述根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重,包括:
根据所述图像处理任务的任务量,确定所述图像处理任务的初始优先级权重;
根据所述等待时长,确定所述图像处理任务的优先级权重增量;
将所述初始优先级权重与所述优先级权重增量累加,得到所述图像处理任务的优先级权重。
5.根据权利要求4所述的方法,其特征在于,所述根据所述等待时长,确定所述图像处理任务的优先级权重增量,包括:
在各预设时长范围内,确定所述等待时长所在的目标时长范围;
根据所述预设时长范围与权重增量之间的对应关系,确定与所述目标时长范围对应的优先级权重增量。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述客户端为无显卡的客户端的情况下,在所述创建所述客户端对应的虚拟显卡之后,还包括:
搭建所述虚拟显卡与所述客户端的端侧虚拟显卡之间的直接内存访问RDMA网络,其中,所述端侧虚拟显卡为所述客户端根据自身存储的显卡配置文件进行虚拟化得到;
所述获得所述客户端发送的图像处理任务,包括:
获得所述客户端通过所述RDMA网络发送的图像处理任务;
所述向发送各图像处理任务的客户端反馈各图像处理任务的处理结果,包括:
通过所述虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
7.一种图像处理装置,其特征在于,应用于服务端,包括:
显卡创建模块,用于在与客户端建立通信连接之后,根据所述服务端配备的物理显卡的参数,创建所述客户端对应的虚拟显卡;
任务获得模块,用于获得所述客户端发送的图像处理任务;
权重确定模块,用于根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
任务处理模块,用于按照未处理的各图像处理任务的优先级权重,依次调用发送各图像处理任务的客户端对应的虚拟显卡,以使得各虚拟显卡基于所述物理显卡的空闲显存处理各图像处理任务;
结果反馈模块,用于获得各图像处理任务的处理结果,并向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
8.根据权利要求7所述的装置,其特征在于,所述权重确定模块,包括:
权重确定子模块,用于根据所述图像处理任务的任务量以及以下信息中至少一种,确定表征所述图像处理任务的处理优先级的优先级权重:
所述图像处理任务的等待时长、所述客户端的设备信息,其中,所述等待时长为:获得所述图像处理任务的时刻与当前时刻之间的时长。
9.根据权利要求8所述的装置,其特征在于,在所述信息包括所述等待时长的情况下,权重确定子模块,包括:
第一确定单元,用于若所述图像处理任务的任务量小于预设阈值,则根据所述图像处理任务的任务量,确定表征所述图像处理任务的处理优先级的优先级权重;
第二确定单元,用于若所述图像处理任务的任务量大于等于所述预设阈值,则根据所述图像处理任务的任务量以及等待时长,确定表征所述图像处理任务的处理优先级的优先级权重。
10.根据权利要求9所述的装置,其特征在于,所述第二确定单元,包括:
权重确定子单元,用于根据所述图像处理任务的任务量,确定所述图像处理任务的初始优先级权重;
增量确定子单元,用于根据所述等待时长,确定所述图像处理任务的优先级权重增量;
权重累加子单元,用于将所述初始优先级权重与所述优先级权重增量累加,得到所述图像处理任务的优先级权重。
11.根据权利要求10所述的装置,其特征在于,所述增量确定子单元,具体用于:
在各预设时长范围内,确定所述等待时长所在的目标时长范围;
根据所述预设时长范围与权重增量之间的对应关系,确定与所述目标时长范围对应的优先级权重增量。
12.根据权利要求7-11中任一项所述的装置,其特征在于,还包括:
网络搭建模块,用于在所述客户端为无显卡的客户端的情况下,在所述创建所述客户端对应的虚拟显卡之后,搭建所述虚拟显卡与所述客户端的端侧虚拟显卡之间的直接内存访问RDMA网络,其中,所述端侧虚拟显卡为所述客户端根据自身存储的显卡配置文件进行虚拟化得到;
所述任务获得模块,具体用于:
获得所述客户端通过所述RDMA网络发送的图像处理任务;
所述结果反馈模块,具体用于:
获得各图像处理任务的处理结果,并通过所述虚拟显卡与各客户端的端侧虚拟显卡之间的RDMA网络,向发送各图像处理任务的客户端反馈各图像处理任务的处理结果。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095110.6A CN116820783A (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095110.6A CN116820783A (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820783A true CN116820783A (zh) | 2023-09-29 |
Family
ID=88122495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311095110.6A Pending CN116820783A (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820783A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017175414A (ja) * | 2016-03-24 | 2017-09-28 | 大日本印刷株式会社 | 画像処理サーバ、データ送信プログラム及び振分装置 |
CN111966504A (zh) * | 2020-10-23 | 2020-11-20 | 腾讯科技(深圳)有限公司 | 图形处理器中的任务处理方法及相关设备 |
CN112162856A (zh) * | 2020-09-23 | 2021-01-01 | 武汉联影医疗科技有限公司 | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 |
CN113691587A (zh) * | 2021-07-20 | 2021-11-23 | 北京达佳互联信息技术有限公司 | 一种虚拟资源处理方法、装置、电子设备及存储介质 |
-
2023
- 2023-08-29 CN CN202311095110.6A patent/CN116820783A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017175414A (ja) * | 2016-03-24 | 2017-09-28 | 大日本印刷株式会社 | 画像処理サーバ、データ送信プログラム及び振分装置 |
CN112162856A (zh) * | 2020-09-23 | 2021-01-01 | 武汉联影医疗科技有限公司 | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 |
CN111966504A (zh) * | 2020-10-23 | 2020-11-20 | 腾讯科技(深圳)有限公司 | 图形处理器中的任务处理方法及相关设备 |
CN113691587A (zh) * | 2021-07-20 | 2021-11-23 | 北京达佳互联信息技术有限公司 | 一种虚拟资源处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106209682B (zh) | 业务调度方法、装置和系统 | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
US10033816B2 (en) | Workflow service using state transfer | |
CN109729106B (zh) | 处理计算任务的方法、系统和计算机程序产品 | |
CN105159782A (zh) | 基于云主机为订单分配资源的方法和装置 | |
CN105373429A (zh) | 任务调度方法、装置及系统 | |
CN107832143B (zh) | 一种物理机资源的处理方法和装置 | |
CN115237582B (zh) | 处理多个任务的方法、处理设备以及异构计算系统 | |
US11095531B2 (en) | Service-aware serverless cloud computing system | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN106775948B (zh) | 一种基于优先级的云任务调度方法及装置 | |
CN109542642A (zh) | 一种前端任务处理的方法及装置 | |
TW202034179A (zh) | 資源調度方法、設備、系統及中心伺服器 | |
CN113946389A (zh) | 联邦学习流程执行优化方法、设备、存储介质及程序产品 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN113419839A (zh) | 多类型作业的资源调度方法、装置、电子设备及存储介质 | |
CN110716809B (zh) | 用于调度云资源的方法和装置 | |
CN107634978B (zh) | 一种资源调度方法及装置 | |
CN116820783A (zh) | 一种图像处理方法及装置 | |
WO2018127013A1 (zh) | 一种流数据的并发传输方法和装置 | |
CN114741165A (zh) | 数据处理平台的处理方法、计算机设备及存储装置 | |
CN112685158B (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN115564635A (zh) | 一种gpu资源调度方法、装置、电子设备及存储介质 | |
CN112114971A (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 |