CN104537682B - 一种医学影像的分割与调度方法 - Google Patents
一种医学影像的分割与调度方法 Download PDFInfo
- Publication number
- CN104537682B CN104537682B CN201510037430.5A CN201510037430A CN104537682B CN 104537682 B CN104537682 B CN 104537682B CN 201510037430 A CN201510037430 A CN 201510037430A CN 104537682 B CN104537682 B CN 104537682B
- Authority
- CN
- China
- Prior art keywords
- server
- image
- processing
- medical image
- service
- 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.)
- Active
Links
Landscapes
- Multi Processors (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明涉及医学影像处理方法。本发明提出提供一种医学影像的分割与调度方法,其特征在于,首先,系统对待处理的医学影像的源图像进行切片分割,将切片组成至少一个图像分组;其次,系统将图像分组分配给从服务器进行数据处理,图像分组与从服务器一一对应;然后,系统检测从服务器是否正常运行,若运行正常则进行正常数据处理,否则进行迁移服务处理;最后,系统实时检测所有从服务器处理进度,当所有从服务器完成数据处理时,进行处理后数据整合,并进行图像输出。通过上述方式提高医学影像图像处理的速度。适用于医学影像的分割与调度方法。
Description
技术领域
本发明涉及医学影像处理方法,特别涉及医学影像的分割与调度方法。
背景技术
近年来,医学影像产生海量的图像信息,这些都对医学影像的图像处理系统的计算能力提出了更强更快的要求。但现有的解决方案在大规模服务和扩展性面前疲态尽显,这表现在建设和运营成本日渐增高,处理效能和客户满意度却越来越低。融合虚拟化技术、分布式计算、网格计算等多项技术在内的云计算在提高系统处理能力的同时可以最大程度地为用户降低使用成本,为供应商平衡资源负载。因此,无论是从技术角度还是从商业角度来看,云计算都将是构建医学影像图像处理系统的一个必然选择。
此外,高计算复杂度的医学影像的图像处理过程对处理器的计算能力提出了更高的要求,并不是所有的处理器都能满足医学影像图像处理的实时需求。将医学影像图像处理系统构建到云计算平台上,将医学影像的图像进行分割,分成多个可以并行处理的图像分组,并行地处理医学影像是解决上述问题的一个有效方法。虽然有大量的文献对分布式并行处理进行了研究,但针对医学影像的特性,研究云计算环境下医学影像并行处理技术的文献资料还很少,可借鉴的只有分布式图像处理技术及以集群为基础的多媒体应用技术文献。这些处理技术多与具体的硬件环境相关,很难进行扩展,另外也都没有考虑异构环境下图像处理的复杂度对不同处理器处理速度的影响。因此有必要针对医学影像图像处理的实时应用,研究云计算环境下的医学影像并行图像处理技术。更高的图像处理效率必然使本发明的云图像处理平台具有更新更广的应用领域和更大的商机。
在医疗领域中,受地理位置的影响,很多患者因为不能及时地接受更好的治疗而失去生命,为了解决这一问题,远程医疗应运而生。远程医疗对医学影像图像的实时传输就提出了更高的要求,CT、核磁、X光机等医疗设备拍摄的医学影像必须完整无误的进行即时快速传送,特别是在手术过程中,远程医师需要严格实时地掌控手术的进程,以保证远程医疗的高质量和有效性。高效实时地处理医学影像图像技术已成为新的医疗发展的关键技术。
本发明正是基于上述这些关系国计民生迫切需求的大背景产生的,具有较大的社会效益,对科技和经济社会的发展有较大的促进作用。进一步地,本发明的成果有望集成于基于Map/Reduce的大型集群中,为广泛的医学影像的传输与处理等医疗应用提供技术支持。
发明内容
本发明所要解决的技术问题,就是提供一种医学影像的分割与调度方法,以达到高效实时地处理医学影像图像的效果,为远程医疗奠定基础。
本发明解决所述技术问题,采用的技术方案是,一种医学影像的分割与调度方法,包括以下步骤:
步骤1、系统对待处理的医学影像的源图像进行切片分割,将切片组成至少一个图像分组;
步骤2、系统将图像分组分配给从服务器进行数据处理,图像分组与从服务器一一对应;
步骤3、系统检测从服务器是否正常运行,若运行正常则进行正常数据处理,否则进行迁移服务处理;
步骤4、系统实时检测所有从服务器处理进度,当所有从服务器完成数据处理时,进行处理后数据整合,并进行图像输出。
具体的,所述步骤1中,每个图像分组中的切片数都相同。
具体的,所述步骤2中,还包括以下步骤:
步骤21、系统对每组图像分组进行数据复杂度的分析,并根据分析结果得出每组图像分组的优先级,数据复杂度越高优先级越高;
步骤22、系统对从服务器的处理能力进行分析,并将优先级最高的图像分组分给处理能力最强的从服务器。
进一步的,所述步骤21中,数据复杂度的计算公式为:
其中:
式中,GeoGrad为复杂度,GeoGrad[K]为K的复杂度,Y为亮度分量,U为色度值一,V为色度值二,K表示图像的亮度分量以及色度分量类型,NK和MK分别表示图像中分量类型为K的列数和行数,Ki、j为坐标(i,j)处像素的Y、U和V分量值。
进一步的,所述步骤22包括以下步骤:
步骤221、计算任务ti在从服务器qj上的执行时间Ei,j,计算公式如下:
Ei,j=Ci/CPj;
其中,CPj表示从服务器qj的处理能力,Ci表示任务ti的计算量;
步骤222、计算从服务器qj与宿主从服务器之间进行数据传输的时间DTi:
DTi=size(fi)/bj;
size(fi)表示从服务器qj处理任务ti所需传输的图像文件大小,bj表示从服务器qj与宿主从服务器之间的传输速率;
步骤223、计算任务ti在从服务器qj上的完成时间EFTi,j为:
其中,pre(i)表示从服务器qj上排在任务ti之前的所有任务;
步骤224、系统计算任务调度时间跨度:
MakeSpan(f)=max{EFTi,j};
其中,f代表一种调度方式,使用该调度方式,计算量为Ci的任务ti被分配到对应的计算能力为CPj的从服务器qj上运行。
具体的,所述步骤3中,至少包括系统通过检测内存占用率来检测从服务器是否正常运行:
当内存占用量时,Mk=max{M1,M2,.......Mj},Mk>>M-Mk;
其中,M为从服务器上总的内存利用率;Mk为从服务器上第k个图像处理服务的内存利用率;e为判断阈值,由用户自行设定;
若Mk/M<e,则对该从服务器上的第k个图像处理服务进行迁移服务处理。
具体的,所述步骤3中,至少包括系统通过检测CPU占用率来检测从服务器是否正常运行:
CPU总利用率时,Ck=max{C1,C2,.......Cj},Ck>>C-Ck;
其中,C为从服务器上总的CPU利用率;Ck为从服务器上第k个图像处理服务的CPU利用率;e为判断阈值,由用户自行设定;
若,Ck/C<e,则对该从服务器上的第k个图像处理服务进行迁移服务处理。
具体的,所述步骤3中,至少包括系统通过检测在线用户数来检测从服务器是否正常运行:
在线用户数时,Uk=max{U1,U2,.......Uj},Uk>>U-Uk;
其中,U为从服务器上需要访问那个医学影像处理的服务的结果的总的在线用户数;Uk为从服务器上需要访问那个医学影像处理的服务的结果的第k个在线用户数;e为判断阈值,由用户自行设定;
若Uk/U<e,则对该服务器上发布包最小医学影像处理服务进行迁徙。
进一步的,系统进行迁移服务处理包括以下步骤:
步骤31、系统确定待迁徙的医学影像处理服务后,检测该医学影像处理服务单位时间内接收到的请求数,然后遍历所有从服务器,计算每个从服务器能够处理的请求个数Ri,计算公式如下:
(i=1;i<=n;i++)
其中,nsource为从服务器单位时间内接收到的请求数,ne为目标从服务器每单位时间内接收到的请求数,△n表示系统新产生的请求数。
为了更好的说明各个参数的意义,特加本段解释如下:
从服务器的负载通常用一些运行时的信息来反映,例如CPU利用率、内存利用率、交换空间利用率等,但这些参数只能反映整个从服务器的负载状况,不能反映处理web请求的进程承受的压力。一个请求的生命周期从浏览器产生一个请求开始,然后与服务器建立连接,发送请求,服务器接收请求然后在线程池中启动一个线程进行处理。若服务器在短时间内接收到大量的请求,则把超过线程池数量的请求放到一个请求队列中。请求队列的长度是预先设定的,当请求队列达到最大时,服务器将会拒绝后续来的请求。因此一台服务器在单位时间内接收到的请求数目会及时反映该服务器的负载状况。不同配置的服务器对不同的服务有着不同的处理能力。定义服务器的满负载状态为该服务器在满足服务质量的前提下,在单位时间内接收到的请求数最多的状态。假设有n个从服务器A1,A2,...,An,,m个服务S1,S2,...,Sm,,测试每一对<Ai,Sj>来获得该从服务器在满负载状态下针对某个服务在单位时间内能够处理的请求数目,然后得到一个n×m的矩阵:
我们使用4个参数来计算节点的负载状况:CPU,利用率(C);内存利用率(M);交换空间利用率(P);实时请求数占满负载状况下请求数的百分比(R)。对于节点,运行j个服务S1,S2,S3.......Sj,U1,U2,U3.......Uj表示这些服务的在线用户数,单位时间内接收到的请求数为ni,那么
若:Rk=min{R1,R2,......,Rj},则选择从服务器Ak作为目的从服务器。
步骤32.系统计算迁移代价,计算公式如下:
其中,p为CPU的就绪队列长度,CZ为常数,mi为通信代价,Si表示什么第i个服务,T1为代价和;
假设:向第i台从服务器分配ni个新任务,那么总的代价就是:
对于所有的新到任务来说,它们要完成的时问总和就是每个服务器从服务器完成所分配任务的时间的总和,所以,如果X=(n1,n2,n3,......,nN)取为一个分配方案,那么所有服务迁移完的总代价就可以表达为:
步骤33、系统基于遗传算法设计服务迁移决策算法,具体包括:
A.编码表示
将每个分配方案作为算法中的一个个体,即染色体,个体中含有N个字符,即基因,每个字符代表相应服务器从服务器预分配的服务数ni,由于0≤ni≤M,所以每个字符的有效位数取为每个个体的有效位数是N×k;
B.生存初始种群
初始化个体的第i个字符的取值为0到尚未分配的服务数之间的一个数,即:
若则个体中从第i个开始的字符(整数型数组变量)均取值为0。
C.确定适应度函数
整个问题的目标函数是:
其中,X=(n1,n2,n3,......,nN)为一个分配方案,M是目标服务器数,N为待迁移的服务数;
则,适应度函数取为:
F(Xi)=1/G(Xi);
步骤34、系统基于遗传算法计算最佳迁移路径,具体包括:
首先,根据目标函数G(X)计算出当前种群中个体的适应度F(Xi),再采用择优策略的方法,根据各个体的适应值,计算出其相对适应值,作为该个体的选择概率,则每个个体Xi被选中复制的概率,即每个分配方案的选择概率为:
最后,采用转盘式选择策略对个体进行选择出最适合的迁移从服务器。
本发明的有益效果是,通过本发明获得了一种基于Map/Reduce的医学影像图像处理的整体解决方案,对于给定的医学影像图像源,该方案将对其按一定方式进行切分,分成多个可以并行处理的图像切片组,然后根据调度算法,采用大量具有一定计算能力的从服务器对每个切片分组单独处理,通过上述方式以达到降低图像处理的时间跨度;当网络中的某台服务器因为负载过高、掉电或机器故障等原因导致其不可用时,通过将处理医学影像的服务从该计算平台迁移到另外的平台上,可以最大程度地均衡负载、减少网络流量、降低网络资源的开销,提高医学影像图像处理的速度;
同时利用遗传算法建立一个最优或接近最优的服务迁移的决策方法,具有简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点。
附图说明
图1为本发明实施例总体应用方案结构图;
图2为本发明实施例中医学影像图像处理总体架构图;
图3为本发明实施例中LBMM算法处理流程图;
图4为本发明实施例中基于遗传算法的服务迁移决策算法流程图;
图5为本发明实施例中编码表示中数据结构图。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
本发明针对现有技术中,医学影像产生海量的图像信息,对医学影像的图像处理系统的计算能力提出了更强更快的要求,但现有的解决方案在大规模服务和扩展性面前疲态尽显的问题,提供一种医学影像的分割与调度方法,其特征在于,首先,系统对待处理的医学影像的源图像进行切片分割,将切片组成至少一个图像分组;其次,系统将图像分组分配给从服务器进行数据处理,图像分组与从服务器一一对应;然后,系统检测从服务器是否正常运行,若运行正常则进行正常数据处理,否则进行迁移服务处理;最后,系统实时检测所有从服务器处理进度,当所有从服务器完成数据处理时,进行处理后数据整合,并进行图像输出。通过本发明获得了一种基于Map/Reduce的医学影像图像处理的整体解决方案,对于给定的医学影像图像源,该方案将对其按一定方式进行切分,分成多个可以并行处理的图像切片组,然后根据调度算法,采用大量具有一定计算能力的从服务器对每个切片分组单独处理,通过上述方式以达到降低图像处理的时间跨度;当网络中的某台服务器因为负载过高、掉电或机器故障等原因导致其不可用时,通过将处理医学影像的服务从该计算平台迁移到另外的平台上,可以最大程度地均衡负载、减少网络流量、降低网络资源的开销,提高医学影像图像处理的速度;同时利用遗传算法建立一个最优或接近最优的服务迁移的决策方法,具有简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点。
实施例
本发明围绕医学影像图像处理质量及图像处理速度的关键技术进行了深入地研究,涉及并行图像处理系统架构、图像处理任务调度算法以及服务迁移等方面的内容。本发明总体应用方案如图1所示,分为三个大的部分。第一部分是医学影像图像处理总体架构的搭建,第二部分是医学影像图像切分。第一部分将直接为第二部分提供技术支持和平台共享。第三部分是调度算法,包括初期调度策略和中期迁移策略。本发明提出并实现了LBMM最大-最小负载均衡调度算法以及基于遗传算法的服务迁移策略。
(1)基于Map/Reduce的医学影像图像处理架构
本发明医学影像图像处理总体架构图如图2所示。我们利用Map/Reduce的云平台,对医学影像图像处理的源图像进行分割,分成多个可以并行处理的图像分组,将每个分组按照一定的算法分配给从服务器。Map/Reduce中任务调度采用的是轮循策略。从服务器执行一个简单的循环,通过定期发送心跳方法告知主服务器它是否还在运行,是否准备好运行新的任务。如果是,主服务器为它分配一个任务,并使用心跳方法的返回值与从服务器进行通信。基于上述原理,本发明对各种图像处理技术和各类分组方案进行并行处理分析,获得了高加速比的架构方案。
(2)医学影像图像分割策略和调度算法
在Map阶段,医学影像图像分割粒度是影响图像处理速度的一个重要因素。本发明采用图像切分后每一个子分组都包含相同数目切片数的分割方式,能够有效提高图像处理的速度。图像切片分组后,就以任务的形式提交调度器完成任务的调度分派工作.
一个任务处理时间的长短是由处理速度最慢的那个工作从服务器决定的。图像分组完成处理所需时间与分组中所包含图像的数据复杂度成正比,即在相同计算能力下,复杂度高的图像分组由于计算量更大,需要更多的时间进行计算处理。因此我们进行调度的一个原则就是尽快地将计算量大的任务分配给处理能力更强的工作从服务器,以此减少整个图像分组的处理时间。
另外在实际的应用中,主服务器往往随机地将任务分配给空闲的从服务器,这种策略虽然简单,但是并没有考虑服务器的执行能力和整个系统的负载均衡问题。所以,我们提出一种LBMM调度算法,通过降低大任务的计算时间来缩短整个任务的调度时间跨度,即:大任务优先分配给处理能力强,完成时间短的处理器。
LBMM算法分两个步骤,首先确定任务的优先级别,按照任务优先级别的高低将任务排队。然后是选择工作从服务器,根据任务的优先级别依次将任务调度到合适的处理器上。
任务优先级别主要由任务包含的图像数据复杂度Ci确定,而图像的数据复杂度由分组中所含图像的分辨率及像素位数确定。我们使用每像素梯度的几何平均值表示图像的复杂度,如公式所示:
C=GeoGrad;
GeoGrad值通过以下进行计算:
其中:
式中,Y为亮度分量,U为色度值一,V为色度值二,K表示图像的亮度分量以及色度分量类型,NK和MK分别表示图像中分量类型为K的列数和行数,Kij为坐标(ij)处像素的Y、Y和V分量值。
虽然每一任务包含的切片数目是确定的,但切片中图像的类型及图像的数据复杂度并不相同,因此各任务的数据复杂度存在差异。调度程序依据任务的Ci对其按降序排列,即Ci高的任务拥有更高的优先级别,排在队列的前面。若两个或多个任务拥有相同的Ci值,则采用随机方式对它们进行排队。这样,需要更多计算资源的大任务将尽可能早地被调度,以期所有任务的完成时间能尽可能地缩短,减少任务完成之后的等待时间。
工作从服务器的选择原则是把任务分配给能使它在最短时间内完成的处理器。这一方面取决于工作从服务器的处理性能,另一方面取决于工作从服务器的最早可用时刻,即处理器完成之前分配给它的其它所有任务所需要的时间。为此,调度算法根据代理收集的各项信息(各工作从服务器剩余的CPU处理能力、剩余内存和传输速率等),计算出该任务在不同工作从服务器上进行图像处理需要的时间。最后选择处理时间最短的工作从服务器分配给该任务。
用CPj表示第qj台处理器的处理能力,则任务ti在处理器qj上运行,估算的执行时间Ei,j:
Ei,j=Ci/CPj;
处理器qj与宿主从服务器之间进行数据传输的时间
DTi=size(fi)/bj;
size(fi)表示处理器qj处理任务ti所需传输的图像文件大小,bj表示处理器qj与宿主从服务器之间的传输速率。
任务ti启动运行之前有一个等待时间,具体值主要由在同一处理器上排在任务ti之前的所有其它任务的完成时间以及传输任务ti所需的数据传输时间来决定,系统对这两项工作的处理可以同步进行。任务ti在处理器qj上的完成时间EFTi,j为:
pre(i)表示处理器qj上排在任务ti之前的所有任务。
任务调度时间跨度:
MakeSpan(f)=max{EFTi,j};
其中f代表一种调度方式。使用该调度方式,计算量为Ci的任务ti被分配到计算能力为CPj的处理器qj上运行。
LBMM算法处理流程图如图3所示。
(3)服务迁移算法
服务迁移的代价决定了服务迁移的必要性和可行性。服务迁移的代价与可供选择的服务数量、资源情况、服务的位置、服务的类型、服务的大小以及服务在云中的复制情况等等相关。
在完成任务调度后,理论上后期就可以按照此调度算法执行,而不用再进行服务的迁移了。但在实际应用中,从服务器可能由于资源故障等多种原因而变得不再适合处理当前服务,这时需要将此服务迁移到其他新的资源上继续处理。因此本发明提出一种基于遗传算法的服务迁移算法,通过实时地对从服务器的状态、性能进行监控,从全局和局部两个方面综合分析服务迁移的代价。提出合理的代价模型,确立各因素在代价模型中的权重,从而完成服务迁移,以支持负载均衡的实现。
①迁移服务选择
主要通过内存占用率、CPU占用率、在线用户数来决定要迁移的服务。
A.内存占用率
当内存占用量时,Mk=max{M1,M2,.......Mj},Mk>>M-Mk;
其中,M为从服务器上总的内存利用率;Mk为从服务器上第k个图像处理服务的内存利用率;e为判断阈值,由用户自行设定;
若Mk/M<e,则对该从服务器上的第k个图像处理服务Sk进行迁移服务处理。迁移此服务能够有效改善该从服务器负载过高的状况。
B.CPU占用率
CPU总利用率时,Ck=max{C1,C2,.......Cj},Ck>>C-Ck;
其中,C为从服务器上总的CPU利用率;Ck为从服务器上第k个图像处理服务Sk的CPU利用率;e为判断阈值,由用户自行设定;若,Ck/C<e,则对该从服务器上的第k个图像处理服务Sk进行迁移服务处理。迁移此服务能够有效改善该从服务器负载过高的状况。
C.在线用户数
在线用户数时,Uk=max{U1,U2,.......Uj},Uk>>U-Uk即Uk/U<e,则对该从服务器上的第k个图像处理服务Sk进行迁移服务处理。迁移服务Sk,因为迁移其他服务实例并不能改变该节点从服务器负载过高的状况。Uk1=max{{U1,U2,......,Uj}-{Uk}}时,若即Uk/U>e则考虑其他图像处理服务进行迁移,待迁徙的图像处理服务的发布包小于第k个图像处理服务Sk。
②目的服务器选择
确定要迁移的服务实例Sk后,设该服务实例单位时间内接收到的请求数为nsource目的从服务器每单位时间内接收到的请求数为ne,然后遍历所有从服务器,计算每个从服务器是否能够处理这些请求。
(i=1;i<=n;i++)
其中,nsource为从服务器单位时间内接收到的请求数,ne为目标从服务器每单位时间内接收到的请求数,△n表示系统新产生的请求数。
为了更好的说明各个参数的意义,特加本段解释如下:
从服务器的负载通常用一些运行时的信息来反映,例如CPU利用率、内存利用率、交换空间利用率等,但这些参数只能反映整个从服务器的负载状况,不能反映处理web请求的进程承受的压力。一个请求的生命周期从浏览器产生一个请求开始,然后与服务器建立连接,发送请求,服务器接收请求然后在线程池中启动一个线程进行处理。若服务器在短时间内接收到大量的请求,则把超过线程池数量的请求放到一个请求队列中。请求队列的长度是预先设定的,当请求队列达到最大时,服务器将会拒绝后续来的请求。因此一台服务器在单位时间内接收到的请求数目会及时反映该服务器的负载状况。不同配置的服务器对不同的服务有着不同的处理能力。定义服务器的满负载状态为该服务器在满足服务质量的前提下,在单位时间内接收到的请求数最多的状态。假设有n个从服务器A1,A2,...,An,,m个服务S1,S2,...,Sm,,测试每一对<Ai,Sj>来获得该从服务器在满负载状态下针对某个服务在单位时间内能够处理的请求数目,然后得到一个n×m的矩阵:
我们使用4个参数来计算节点的负载状况:CPU,利用率(C);内存利用率(M);交换空间利用率(P);实时请求数占满负载状况下请求数的百分比(R)。对于节点,运行j个服务S1,S2,S3.......Sj,U1,U2,U3.......Uj表示这些服务的在线用户数,单位时间内接收到的请求数为ni,那么
若:Rk=min{R1,R2,......,Rj},则选择从服务器Ak作为目的从服务器。
③代价分析
由集中式动态负载均衡调度模型可见,M个需要迁移的服务与N个目的服务器构成一个有限源的生灭排队系统,整个系统性能的好坏最关键的一项指标就是服务能不能以最小的代价完成迁移。相应的,对于提供服务的Web服务器来说最重要就是要能够快速的处理完来自客户的请求。因此服务迁移模型就可以描述成:有M个需要迁移的服务,N个目的服务器从服务器,各个服务器从服务器的处理能力和负载状况各不相同,目标是要找到一个最优的调度方案,使得整个系统的迁移代价最小。
在集群系统中,能够反映服务器从服务器性能和负载状况的参数主要有:CPU的相对速度S、CPU任务就绪队列的长度L、内存占用率z、网络带宽占用率w等等。一般来说CPU的相对速度越快、CPU的就绪队列越短、内存占用率越小、网络带宽占用率越小,那么,它处理任务的速度就越快。为了简化处理,我们取CPU的相对速度S和CPU就绪队列的长度L来反映服务器从服务器的负载状况。
不同的负载参数对任务负载均衡分配的影响是不同的,根据Thomas Kunz的研究,对迁代价影响最大的是CPU的就绪队列长度p,随着p的增大,迁移代价呈近似指数增长。即迁移代价与p2成正比,而与CPU的相对速度成反比增加。可以作出如公式2的预测:
其中,CZ为常数,mi为通信代价,本发明中把数据传输量看作通信代价,T1为代价和。向第i台服务器从服务器分配ni个新任务,那么总的代价就是:
对于所有的新到任务来说,它们要完成的时问总和就是每个服务器从服务器完成所分配任务的时间的总和。所以,如果X=(n1,n2,n3,......,nN)取为一个分配方案,那么所有服务迁移完的总代价就可以表达为:
在确定了服务需要迁移的源服务器和目标服务器之后,还需要选择代价最低的迁移路径。鉴于遗传算法在问题的优化过程中表现出的高效性和实用性,在我们的迁移策略中,决策系统采用遗传算法实现。本发明采用一种基于遗传算法的高性能负载均衡策略。该策略在考虑后端服务器从服务器负载状况的基础上,充分利用遗传算法在随机搜索方面的优良性能,将需要迁移的服务合理地分担到各个服务器从服务器上去,使得各个服务器从服务器的负载状况接近平衡状态,并使迁移代价尽可能的最小。
④基于遗传算法的服务迁移决策算法设计,算法流程如图4所示。
A.编码表示
遗传算法求解问题不是直接作用在问题的解空间上,而是利用解的某种编码表示。因此首要步骤是对所求解的问题进行编码表示,编码表示方案的选取很大程度上依赖于问题的性质及遗传算子的设计。
根据Web服务器负载均衡集群的特点,本发明采用的编码方法是,将每个分配方案作为算法中的一个个体(染色体),个体中含有N个字符(基因),每个字符代表相应服务器从服务器预分配的服务数ni。由于0≤ni≤M,所以每个字符的有效位数取为每个个体的有效位数是N×k。为了在操作时方便地实现个体中字符的分离,使用整数类型的变量数组表示个体,数组中的每个元素包含有个体的相应字符的内容。在进行字符内的位操作时,k用于保证在字符的有效位中进行操作。数据结构如图5所示。
B.生存初始种群
采用随机分配的方法产生初始种群。具体方法:初始化个体的第i个字符的取值为0到尚未分配的服务数之间的一个数,即
若则个体中从第i个开始的字符(整数型数组变量)均取值为0。
C.确定适应度函数
整个问题的目标函数是:
其中,X=(n1,n2,n3,......,nN)为一个分配方案,M是目的服务器数,N为待迁移的服务数。是一个能够反映分配代价的一个预测函数,就绪任务队列越长、CPU相对速度越小、通信代价越大的服务器越容易达到较高的分配代价,其中C为常数。适应度函数取为:
F(Xi)=1/G(Xi);
⑤选择策略的制定
本发明中的算法主要采用的是基于适应度比例的选择策略。首先根据前面提出的目标函数G(X)计算出当前种群中个体的适应度F(Xi),再采用择优策略的方法,根据各个体的适应值,计算出其相对适应值,作为该个体的选择概率。每个个体Xi被选中复制的概率为:
最后,采用转盘式选择策略对个体进行选择。即根据选择概率P(Xi)(i=1,2,…,D)将一个圆盘分成D份,其中第f扇形的中心角为2πP(Xi)转动圆盘,待其停止。若某参照点落入到第i个扇形内,则选择个体i。这样个体的适应值越大,它所占的扇区面积就越大,因此,它被选择的机会就越多。在这种方法下,即使具有较小适应值的个体也有被选择的机会。
按照一定的交换概率PC,从群体中选出一个个体,然后随机地选出个体上的两个不同的字符(基因),交换它们的值;即对一个被选中的分配方案中的两个服务器上分配的任务数进行了交换,从而产生了新的分配方案。
变异操作不能随便改变某个染色体的基因值,必须的保证变异后产生的新的个体中各个字符的值的和不变,即为参与分配的任务的总数不变,否则就会产生错误的调度方案。我们所采用的方法是,按照一定概率Pm随机地改变染色体字符值。操作时,在选中的一个个体中,任意选取个体的两个各不同的字符,对其有效位进行交换操作,从而产生新的个体。
遗传算法计算的本质在于它永远不停地进化。然而在实际应用时,一旦某个终止条件满足,进化过程应立即停止。终止条件一般有两个:一是当最大容许进化代数满足时,进化过程立即停止;二是当预先设定的问题求解成功条件满足时,进化过程立即停止。对于一些无法判明其答案的问题(如最优化问题)或一些无法获得精确答案的问题,通常采用一些近似的成功判断条件来终止进化。对于一些难以建立成功判断条件的问题,常常在进化G代以后,通过分析其结果来决定是否终止进化。本发明采用的方法是,预先设定一个最大的繁殖代数Nmax=300。
综上所述,本发明就并行图像处理系统架构方面,提出基于云计算的图像并行处理架构。本架构根据图像处理的异构性和动态性特点,将云计算的虚拟技术以及任务调度策略应用于图像处理,有效地弥补了现有的图像处理系统在低延迟的实时图像处理领域中存在的资源利用不均衡、图像处理速度低下等缺陷。该图像并行处理架构能有效地提高图像处理的速度。同时,在图像处理任务调度算法方面,根据医学影像的图像特性及相应的图像处理复杂度计算模型,提出新的适用于图像处理的LBMM任务调度算法。LBMM调度算法可大幅降低整个图像处理的时间跨度,性能优于Map/Reduce自带的轮循调度算法及经典的Min-Min调度算法。在云环境中,当网络中的某台服务器因为负载过高、掉电或机器故障等原因导致其不可用时,通过将处理医学影像的服务从该计算平台迁移到另外的平台上,可以最大程度地均衡负载、减少网络流量、降低网络资源的开销,提高医学影像图像处理的速度,这就是云服务的选择与服务的迁移。通过建立代价模型和决策算法在可迁移服务中选择用于迁移的服务并确定迁移方案,以促进服务的迁移,使得整个网络性能最优化。服务迁移可选择的路径是很多的,遗传算法作为一种快捷、简便、容错性强的算法,在各类结构对象的优化过程中显示出明显的优势。具有简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,考虑用其实现服务决策,建立一个最优或接近最优的服务迁移的决策。
通过本发明,我们获得了一种基于Map/Reduce的医学影像图像处理的整体解决方案。对于给定的医学影像图像源,该方案将对其按一定方式进行切分,分成多个可以并行处理的图像切片组,然后根据调度算法,采用大量具有一定计算能力的从服务器对每个切片分组单独处理,通过上述方式以达到降低图像处理的时间跨度,解决实时图像处理领域资源利用不均的情况,大幅度提高医学影像图像处理速度的目的。
Claims (5)
1.一种医学影像的分割与调度方法,其特征在于,包括以下步骤:
步骤1、系统对待处理的医学影像的源图像进行切片分割,将切片组成至少一个图像分组;
步骤2、系统将图像分组分配给从服务器进行数据处理,图像分组与从服务器一一对应;
步骤3、系统检测从服务器是否正常运行,若运行正常则进行正常数据处理,否则进行迁移服务处理;
步骤4、系统实时检测所有从服务器处理进度,当所有从服务器完成数据处理时,进行处理后数据整合,并进行图像输出;
步骤3中所述迁移服务处理具体包括:
步骤31、系统确定待迁徙的医学影像处理服务后,检测该医学影像处理服务单位时间内接收到的请求数,然后遍历所有从服务器,计算每个从服务器能够处理的请求个数Ri,计算公式如下:
其中,nsource为从服务器单位时间内接收到的请求数,ne为目标从服务器每单位时间内接收到的请求数,△n表示系统新产生的请求数,Uj表示第j个服务的在线用户数;
若Rk=min{R1,R2,......,Rj},则选择第K台从服务器作为目标从服务器;
步骤32.系统计算迁移代价,计算公式如下:
其中,pi表示第i个处理器的就绪队列长度,Cz为常数,mi为通信代价,Si表示第i个服务,T1为代价和;
设向第i台从服务器分配ni个新任务,那么总的代价就是:
对于所有的新到任务来说,它们要完成的时问总和就是每个服务器节点完成所分配任务的时间的总和,所以,如果X=(n1,n2,n3,......,nN)取为一个分配方案,那么所有服务迁移完的总代价就可以表达为:
步骤33、系统基于遗传算法设计服务迁移决策算法,具体包括:
A.编码表示
将每个分配方案作为算法中的一个个体,即染色体,个体中含有N个字符,即基因,每个字符代表相应服务器节点预分配的服务数ni,由于0≤ni≤M,所以每个字符的有效位数取为每个个体的有效位数是N×K;
B.生存初始种群
初始化个体的第i个字符的取值为0到尚未分配的服务数之间的一个数,即
若则个体中从第i个开始的字符均取值为0;
C.确定适应度函数
整个问题的目标函数是:
其中,X=(n1,n2,n3,......,nN)为一个分配方案,M是目标服务器数,N为待迁移的服务数;
则,适应度函数取为:
F(Xi)=1/G(Xi);
步骤34、系统基于遗传算法计算最佳迁移路径,具体包括:
系统根据目标函数G(X)计算出当前种群中个体的适应度F(Xi),再采用择优策略的方法,根据各个体的适应值,计算出其相对适应值,作为该个体的选择概率,则每个个体XiXi被选中复制的概率,即每个分配方案的选择概率为:
系统采用转盘式选择策略对个体进行选择出最适合的迁移从服务器:
根据选择概率P(Xi)(i=1,2,…,D)将一个圆盘分成D份,其中第f扇形的中心角为转动圆盘,待其停止,若某参照点落入到第i个扇形内,则选择个体i;
步骤3中,系统通过检测内存占用率、处理器占用率、在线用户数来检测从服务器是否正常运行:
当内存占用量时,Wk=max{W1,W2,.......Wj},Wk>>W-Wk;
其中,W为从服务器上总的内存利用率;Wk为从服务器上第k个图像处理服务的内存利用率;e为判断阈值,由用户自行设定;
若Wk/W<e,则对该从服务器上的第k个图像处理服务进行迁移服务处理;
处理器总利用率时,Ck=max{C1,C2,.......Cj},Ck>>C-Ck;
其中,C为从服务器上总的处理器利用率;Ck为从服务器上第k个图像处理服务的处理器利用率;e为判断阈值,由用户自行设定;
若,Ck/C<e,则对该从服务器上的第k个图像处理服务进行迁移服务处理;
在线用户数时,Uk=max{U1,U2,.......Uj},Uk>>U-Uk;
其中,U为从服务器上需要访问那个医学影像处理的服务的结果的总的在线用户数;Uk为从服务器上需要访问那个医学影像处理的服务的结果的第k个在线用户数;e为判断阈值,由用户自行设定;
若Uk/U<e,则对该服务器上发布包最小医学影像处理服务进行迁徙。
2.根据权利要求1所述的一种医学影像的分割与调度方法,其特征在于,所述步骤1中,每个图像分组中的切片数都相同。
3.根据权利要求1所述的一种医学影像的分割与调度方法,其特征在于,所述步骤2中,还包括以下步骤:
步骤21、系统对每组图像分组进行数据复杂度的分析,并根据分析结果得出每组图像分组的优先级,数据复杂度越高优先级越高;
步骤22、系统对从服务器的处理能力进行分析,并将优先级最高的图像分组分给处理能力最强的从服务器。
4.根据权利要求3所述的一种医学影像的分割与调度方法,其特征在于,所述步骤21中,数据复杂度的计算公式为:
其中:
式中,GeoGrad为复杂度,GeoGrad[K]为K的复杂度,Y为亮度分量,U为色度值一,V为色度值二,K表示图像的亮度分量以及色度分量类型,NK和MK分别表示图像中分量类型为K的列数和行数,Ki、j为坐标(i,j)处像素的Y、U和V分量值。
5.根据权利要求3所述的一种医学影像的分割与调度方法,其特征在于,所述步骤22包括以下步骤:
步骤221、计算任务ti在从服务器qj上的执行时间Ei,j,计算公式如下:
Ei,j=Ci/CPj;
其中,CPj表示从服务器qj的处理能力,Ci表示任务ti的计算量;
步骤222、计算从服务器qj与宿主节点之间进行数据传输的时间DTi:
DTi=size(fi)/bj;
size(fi)表示从服务器qj处理任务ti所需传输的图像文件大小,bj表示从服务器qj与宿主节点之间的传输速率;
步骤223、计算任务ti在从服务器qj上的完成时间EFTi,j为:
其中,pre(i)表示从服务器qj上排在任务ti之前的所有任务;
步骤224、系统计算任务调度时间跨度:
MakeSpan(f)=max{EFTi,j};
其中,f代表一种调度方式,使用该调度方式,计算量为Ci的任务ti被分配到对应的计算能力为CPj的从服务器qj上运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510037430.5A CN104537682B (zh) | 2015-01-26 | 2015-01-26 | 一种医学影像的分割与调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510037430.5A CN104537682B (zh) | 2015-01-26 | 2015-01-26 | 一种医学影像的分割与调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104537682A CN104537682A (zh) | 2015-04-22 |
CN104537682B true CN104537682B (zh) | 2018-09-07 |
Family
ID=52853201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510037430.5A Active CN104537682B (zh) | 2015-01-26 | 2015-01-26 | 一种医学影像的分割与调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104537682B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808687B (zh) * | 2016-09-08 | 2021-01-29 | 京东方科技集团股份有限公司 | 医疗数据获取方法、处理方法、集群处理系统及方法 |
CN107977922B (zh) * | 2016-10-25 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 一种图像分析方法、装置及系统 |
CN107360213B (zh) * | 2017-06-19 | 2020-07-31 | 北京全域医疗技术集团有限公司 | 一种医学影像传输方法、装置及系统 |
EP3451286B1 (de) * | 2017-08-30 | 2019-08-28 | Siemens Healthcare GmbH | Verfahren zum segmentieren einer organstruktur eines untersuchungsobjekts in medizinischen bilddaten |
CN108335735A (zh) * | 2018-03-06 | 2018-07-27 | 上海赛图计算机科技股份有限公司 | 一种医疗影像存储、读取的方法和系统 |
CN108920281A (zh) * | 2018-07-20 | 2018-11-30 | 深圳码隆科技有限公司 | 大规模图片处理方法及系统 |
JP6891153B2 (ja) * | 2018-09-18 | 2021-06-18 | 富士フイルムビジネスイノベーション株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
CN109766209A (zh) * | 2019-01-10 | 2019-05-17 | 广州科技贸易职业学院 | 一种提高云计算环境稳定性的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809969A (zh) * | 2014-01-15 | 2014-05-21 | 中国公路工程咨询集团有限公司 | 云环境下基于预分片的遥感影像数据并行重采样方法 |
CN103825963A (zh) * | 2014-03-18 | 2014-05-28 | 中国科学院声学研究所 | 虚拟服务迁移方法 |
CN104159126A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于Map-Reduce的视频转码任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101502896B1 (ko) * | 2011-02-14 | 2015-03-24 | 주식회사 케이티 | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 |
-
2015
- 2015-01-26 CN CN201510037430.5A patent/CN104537682B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809969A (zh) * | 2014-01-15 | 2014-05-21 | 中国公路工程咨询集团有限公司 | 云环境下基于预分片的遥感影像数据并行重采样方法 |
CN103825963A (zh) * | 2014-03-18 | 2014-05-28 | 中国科学院声学研究所 | 虚拟服务迁移方法 |
CN104159126A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于Map-Reduce的视频转码任务调度方法 |
Non-Patent Citations (5)
Title |
---|
A rate control scheme for distributed high performance video encoding in cloud;Lihua Zheng et al.;《2011 International Conference on Cloud and Service Computing》;20111231;全文 * |
H.264/AVC视频编码的码率控制及并行处理研究;郑莉华;《中国博士学位论文全文数据库 信息科技辑》;20131115(第11期);论文第三章第3.5节,第五章5.1-5.3节 * |
Web服务在线迁移问题研究与实现;蔡启申;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130215(第02期);论文第4章第4.2节 * |
基于MapReduce的H.264/AVC并行视频编码;郑莉华 等;《计算机应用研究》;20131031;第30卷(第10期);全文 * |
异构集群的一种基于遗传的负载均衡改进算法;陈畅 等;《电脑知识与技术》;20091031;第5卷(第29期);论文第2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104537682A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104537682B (zh) | 一种医学影像的分割与调度方法 | |
Baek et al. | Heterogeneous task offloading and resource allocations via deep recurrent reinforcement learning in partial observable multifog networks | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
CN107426332B (zh) | 一种web服务器集群的负载均衡方法及系统 | |
CN111722806B (zh) | 云盘分配方法、装置、电子设备及存储介质 | |
CN107273211B (zh) | 一种云计算环境下基于虚拟机的数据处理方法 | |
CN109271257A (zh) | 一种虚拟机迁移部署的方法及设备 | |
CN107992353A (zh) | 一种基于最小迁移量的容器动态迁移方法及系统 | |
Yao et al. | A network-aware virtual machine allocation in cloud datacenter | |
Manikandan et al. | Virtualized load balancer for hybrid cloud using genetic algorithm | |
CN107566535A (zh) | 一种Web地图服务中基于用户并发访问时序规则的自适应负载均衡策略 | |
Kumar et al. | C-FDLA: Crow search with integrated fractional dragonfly algorithm for load balancing in cloud computing environments | |
CN117407160A (zh) | 一种边缘计算场景下在线任务和离线任务的混合部署方法 | |
CN106487854A (zh) | 存储资源分配方法、装置和系统 | |
More et al. | Energy-aware VM migration using dragonfly–crow optimization and support vector regression model in Cloud | |
CN106104527A (zh) | 流式查询资源控制 | |
Ashalatha et al. | Dynamic load balancing methods for resource optimization in cloud computing environment | |
JP6383336B2 (ja) | サーバ管理装置およびサーバ管理方法 | |
Gupta et al. | Network aware resource optimization using nature inspired optimization algorithm for task scheduling in cloud infrastructure | |
Javadi-Moghaddam et al. | Resource allocation in cloud computing using advanced imperialist competitive algorithm. | |
Zhang et al. | Learning driven parallelization for large-scale video workload in hybrid CPU-GPU cluster | |
Shouraboura et al. | Placement of applications in computing clouds using Voronoi diagrams | |
Radha et al. | Allocation of resources and scheduling in cloud computing with cloud migration | |
Daming et al. | Load balancing mechanism in the cloud environment using preference alignments and an optimisation algorithm | |
Wen et al. | Load balancing consideration of both transmission and process responding time for multi-task assignment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |