一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

模糊边云协同环境下的多工作流应用调度方法

2022-10-13 03:59:02 来源:中国专利 TAG:


1.本发明属于工作流应用领域,具体涉及一种模糊边云协同环境下的多工作流应用调度方法。


背景技术:

2.工作流应用结构复杂,通常包含数十个计算任务,这些任务之间具有数据或控制流依赖关系。典型的工作流应用包括基于dnn的应用、物联网应用等。这些应用计算复杂度高,对数据传输时延敏感,一般需要高性能的计算平台来执行完成。云计算提供强大的计算性能,但由于iot设备和云端间的数据传输时延严重,导致iot设备的时延敏感工作流应用无法直接调度至云端执行。移动边缘计算是一种不断发展的计算范式,提供了一种更有效的替代方案,即在更接近创建点的位置处理数据。因此,对延迟敏感的工作流应用可以在边缘云环境中得到及时处理,其中,数据密集型任务被调度至边缘,而计算密集型任务则被调度至云端。然而,边云协同环境的资源异构,各个计算节点的计算能力、带宽、存储等均存在差异,如何在边云协同环境下,将存在任务依赖的多个工作流应用合理调度,满足每个工作流应用的截止时间约束,是一个重要挑战。
3.近年来,许多研究工作针对云计算或边缘计算环境下的工作流应用调度展开。工作流应用调度问题是一个np难问题,通常考虑在单一平台(云计算或边缘计算)环境下,将工作流应用的依赖任务分别调度到不同的计算节点,满足工作流应用的qos要求。边云协同环境下的工作流应用调度,不仅需要满足工作流应用的高计算复杂度需求,而且能够有效降低数据传输时延。现有研究工作大多仅考虑单一工作流应用的调度问题,而忽略了多个工作流应用的调度,且在满足工作流应用截止时间约束下前提下的调度代价优化方面仍有较大的可挖掘空间。如何在满足多个不同工作流应用时延约束前提下,考虑不同工作流应用的差异化生成时间,有效调度工作流应用的依赖任务至合适的边云计算节点上,降低多工作流应用的总体执行代价,仍是一项极具挑战的研究。


技术实现要素:

4.本发明的目的在于提供一种模糊边云协同环境下的多工作流应用调度方法,该方法有利于降低截止时间约束下多工作流应用的模糊执行代价。
5.为实现上述目的,本发明采用的技术方案是:一种模糊边云协同环境下的多工作流应用调度方法,包括:
6.构建多工作流应用调度模型,包括带截止时间约束的多工作流应用模型、边云协同环境以及代价驱动调度器;
7.针对建立的多工作流应用调度模型,采用基于遗传算子的粒子群优化调度策略来最小化多工作流应用在模糊边云协同环境中的模糊执行代价,并在其中引入二次惩罚方法,以使调度策略更快地搜索到可行解。
8.进一步地,对于多工作流应用在模糊边云协同环境中的调度方案
其目标是找到一个多工作流应用w对应于模糊边云协同环境s的最优映射m,使得在所有工作流应用的模糊完成时间都满足截止时间约束的条件下,最小化多工作流应用的模糊执行代价模糊边云协同环境中的多工作流应用调度是一个np难问题,同时是一个多约束组合优化问题;针对组合优化问题,采用基于遗传算子的粒子群优化调度策略来最小化多工作流应用在模糊边云协同环境中的模糊执行代价;此外,由于所述组合优化问题是多约束的,引入二次惩罚方法,替代传统的适应度评估函数,以使调度策略更快地搜索到可行解;所述多工作流应用调度方法具体包括以下步骤:
9.1)初始化算法相关参数,包括种群大小、最大迭代次数、惯性因子、学习因子和变异位数,并随机生成初始种群;
10.2)将各粒子映射到相应的多工作流应用调度方案;
11.3)基于二次惩罚方法,评估粒子群中每个粒子的模糊适应度,并选取个体最优粒子和全局最优粒子;
12.4)判断是否满足终止条件,即是否达到最大迭代次数,是则直接跳转到步骤6),否则进行参数自适应调整;
13.5)更新粒子群,然后返回步骤3)评估更新后粒子群中每个粒子的模糊适应度,同时更新相应的个体最优粒子和全局最优粒子;
14.6)输出粒子群中全局最优粒子,并终止算法。
15.进一步地,所述基于遗传算子的粒子群优化调度策略的实现方法为:
16.采用优先级和服务器嵌套组成的二维离散粒子来编码工作流应用调度方案;粒子群中的一个粒子对应于多工作流应用在模糊边云协同环境下的一种潜在调度方案;对于第g次迭代,粒子群内第k个粒子如式所示;
[0017][0018][0019][0020]
其中,np表示粒子群的规模,和分别表示第i个工作流应用中第j个任务v
i,j
的优先级编码和服务器编码;在初始化过程中,第0代粒子的编码初始化如式所示;
[0021][0022]
其中,rand()表示随机选取给定区间内的一位小数,randint()表示随机选取给定区间内的整数;
[0023]
对于二元组对于二元组表示多工作流应用的优先级编码,表示多工作流应用的服务器编码,分别是由实数和整数构成的二维矩阵;对于的一个编码位其值代表模糊调度过程中对应任务的优先级大小,若存在编码值相同的任务,则最先进入待执行队列
的任务优先级更高;对于的某个编码位其值代表模糊边云协同环境中执行相应任务的服务器编号;
[0024]
所述基于遗传算子的粒子群优化调度策略旨在使任意一个工作流应用的模糊完成时间满足其截止时间约束的同时,最小化其模糊执行代价上述问题编码策略存在不满足截止时间约束的不可行解;因此,用于比较两个候选解优劣性的模糊适应度函数定义如下:
[0025]
(1)两个粒子都是可行解,即选择较低的粒子,其模糊适应度函数定义如式所示;
[0026][0027]
(2)两个粒子存在至少一个不可行解,则根据二者满足约束条件的工作流个数,定义如下:
[0028]
(2.1)若二者满足约束条件的工作流个数相同,则
[0029][0030]
(2.2)若二者满足约束条件的工作流个数不同,则
[0031][0032]
其中,是一个事件示性函数,表示约束条件的示性函数;当约束条件满足时,函数值取1;反之,函数值取0;
[0033]
在迭代过程中,粒子的更新受其自身当前情况、粒子个体最优位置和种群全局最优位置的影响,分别对应于粒子更新策略的惯性部分、个体认知部分和群体认知部分;通过遗传算法的变异算子和交叉算子对粒子群进行更新;在第g 1次迭代中,第k个粒子的更新方式如式所示;
[0034][0035]
其中,当前迭代次数g小于最大迭代次数g
max


和分别表示自适应多点变异算子和两点交叉算子,和gbg分别表示粒子个体最优粒子和全局最优粒子;
[0036]
对于惯性部分,引入自适应多点变异算子进行更新,其更新方式如式所示;
[0037][0038]
其中,r是区间[0,1]的随机数,当且仅当r<w时,对粒子执行自适应多点变异算子;
[0039]
对于个体认知部分和社会认知部分,引入两点交叉算子进行更新,其更新方式分别如式和式所示;
[0040][0041][0042]
其中,r1和r2都是区间[0,1]的随机数,当且仅当r1<c1(r2<c2)时,对粒子
执行两点交叉算子;
[0043]
在模糊边云协同环境中,编码粒子到多工作流应用调度方案的映射的实现算法为:
[0044]
省略编码粒子的上标和下标,即使用x=(μ,π)代替
[0045]
该算法的输入包括多工作流应用w、模糊边云协同环境s和编码粒子x,输出为编码粒子x所对应的模糊调度方案首先,将映射m初始化为空集null,待执行队列q=(q1,q2,...,q
|s|
)初始化为空队列null,模糊数据传输代价初始化为0;其次,生成|s| 1个线程用于调度多工作流应用w,该过程分为以下两个子过程:
[0046]
(1)调用监测多工作流应用的到达的实现算法,实时监测多工作流应用w的到达,并进行多工作流应用的任务分配;
[0047]
(2)在所有服务器的待执行队列上,调用在服务器的待执行队列上执行多工作流应用的实现算法,进行多工作流应用的执行;
[0048]
再次,关闭模糊边云协同环境s中的所有服务器,并计算各服务器产生的模糊任务计算代价;根据式和式,分别计算模糊执行代价和模糊完成时间若存在某个工作流应用的模糊完成时间超过其截止时间,即则该调度方案不满足截止时间约束,将编码粒子x标记为不可行解;最后,返回工作流的模糊调度方案
[0049]
根据粒子群当前迭代的更新情况,动态调整惯性因子w的值,以增强搜索能力,如式所示;
[0050][0051]
其中,w
max
和w
min
分别表示w的最大值和最小值,sk表示粒子在当前迭代中是否更新;在迭代初期,粒子群的更新频繁,增大惯性因子w的大小,增强粒子对解空间的全局搜索能力;在迭代后期,提高粒子的局部搜索能力,对解空间进行精细化搜索,以提高搜索策略的收敛效果,因此减小惯性因子w的大小;
[0052]
对于惯性部分所采用的自适应多点变异算子,其变异位数k随惯性因子w的变化进行自适应调整,其调整策略如式所示;
[0053][0054]
其中,k
max
和k
min
分别表示变异位数k的最大值和最小值;变异位数k的调整对惯性因子w具有正反馈作用:当惯性因子w较大时,变异位数k增加,提高变异算子的变异能力,从而进一步增强算法的全局搜索能力;反之,则减少变异位数k,只保留一定的变异能力,以维持种群在进化过程中的多样性,使得在惯性因子w较小时对解空间进行更精确的局部搜索。
[0055]
与现有技术相比,本发明具有以下有益效果:提出了一种模糊边云协同环境下的多工作流应用调度方法,将服务器的计算性能和服务器之间的带宽表示三角模糊数,以体
现边云协同环境中的不确定性对多工作流应用调度的影响。同时,将二次惩罚方法作为评估调度方案的适应度函数,提出一种代价驱动的调度策略wspg-qpf,能够有效降低截止时间约束下多工作流应用的模糊执行代价。实验结果表明,与其他基准策略相比,本方法在多工作流应用调度方面表现出良好的性能,在不同的截止时间约束下,本方法都能获得多工作流应用的最优调度方案,实现了模糊执行代价的有效优化。
附图说明
[0056]
图1是本发明实施例的方法实现流程图。
[0057]
图2是本发明实施例中对应于多工作流应用调度方案的编码粒子。
[0058]
图3是本发明实施例中惯性部分关于服务器编号的自适应多点变异算子。
[0059]
图4是本发明实施例中个体(或社会)认知部分的两点交叉算子。
[0060]
图5是本发明实施例中不同调度策略下多工作流应用的平均模糊执行代价。
[0061]
图6是本发明实施例中不同调度策略下多工作流应用的截止时间约束满足情况。
[0062]
图7是本发明实施例中不同截止时间约束下多工作流应用的代价曲线。
具体实施方式
[0063]
下面结合附图及实施例对本发明做进一步说明。
[0064]
应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
[0065]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0066]
本实施例提供了一种模糊边云协同环境下的多工作流应用调度方法,包括:
[0067]
1、构建多工作流应用调度模型,包括带截止时间约束的多工作流应用模型(workflow applications)、边云协同环境以及代价驱动调度器。其中,边云协同环境包括云和边缘。
[0068]
2、针对建立的多工作流应用调度模型,采用基于遗传算子的粒子群优化调度策略来最小化多工作流应用在模糊边云协同环境中的模糊执行代价,并在其中引入二次惩罚方法,以使调度策略更快地搜索到可行解。
[0069]
1.1多工作流应用模型
[0070]
在边云协同环境中,用户在不同时间向边云协同系统提交工作流应用,我们假设工作流应用的到达满足一个强度为λ的泊松过程,因此工作流应用到达的时间间隔服从参数为λ的指数分布,其中,λ表示工作流的到达率。多工作流应用w由多个工作流应用{w1,w2,...,wn}组成,每个工作流应用wi可以表示为一个三元组wi=(αi,di,gi),αi表示第i个工作流应用到达边云协同系统的时间;di表示第i个工作流应用的截止时间,在某个调度方案中,若所有工作流应用都能在相应的截止时间前被执行完成,则称该调度方案是可行的;gi表示第i个工作流应用的数据依赖结构。
[0071]
每个工作流应用的数据依赖结构可以用有向无环图来表示,即gi=(vi,ei)。其中,vi表示包含m个任务的集合{v
i,1
,v
i,2
,...,v
i,m
},v
i,j
表示第i个工作流中的第j个任务,τ
i,j
表示任务v
i,j
的计算量。表示任务之间的数据边集合,对于一条有向边表示任务v
i,p
和任务v
i,q
之间存在数据依赖关系,由任务v
i,p
向任务v
i,q
传输的数据量大小为同时,任务v
i,p
是任务v
i,q
的前驱任务,任务v
i,q
是任务v
i,p
的后继任务。在工作流应用调度中,一个任务当且仅当其所有前驱任务都被执行完成,且得到所有前驱任务传输的数据,该任务才能被执行。
[0072]
对于某个工作流应用,若某个任务没有前驱任务,则将其标记为入任务v
in
,同理,若没有后继任务,则将其标记为出任务v
out
。若某个工作流包含两个及以上入任务或出任务,则可以通过为其添加虚拟入任务v
in
或虚拟出任务v
out
,将其转化为仅含有一个入任务和出任务的工作流,具体操作如下:
[0073]
设置虚拟入任务v
in
或虚拟出任务v
out
的计算量为0,并将原有的入任务和出任务分别与v
in
和v
out
通过虚拟数据边连接,同时将上述虚拟数据边的权值设置为0,即其传输数据量为0。因此,此方法增加虚拟任务和数据边不会对工作流调度产生任何影响。
[0074]
1.2边云协同环境
[0075]
在多工作流应用调度过程中,边云协同环境向用户提供计算服务和带宽服务。边云协同环境s={s
cloud
,s
edge
}由云和边缘组成,云s
cloud
={s1,s2,...,su}包含的u个服务器,边缘s
edge
={s
u 1
,s
u 2
,...,s
u v
}包含v个服务器。服务器sk可以表示为:
[0076][0077]
其中,pk表示服务器sk的计算性能;uk表示服务器sk提供服务而设定的特定要价单元时间;表示服务器sk在单元时间uk内的计算代价,单元计算代价近似与其计算性能成正比;fk∈{0,1}表示服务器sk所属平台的类型,当fk=0时,sk属于云,具有较强的计算性能;当fk=1时,sk属于边缘,具有一般的计算性能,假定每个服务器的处理能力是已知的。
[0078]
根据服务器所属平台的类型,边云协同环境中的服务器sr和s
t
之间的带宽β
r,t
可表示为:
[0079][0080]
其中,b
r,t
表示带宽β
r,t
的值,表示从服务器sr传输1gb数据到服务器s
t
产生的数据传输代价。
[0081]
1.3多工作流应用的代价驱动调度方案
[0082]
在边云协同环境中,代价驱动调度器的目标是给定一个调度方案,在每个工作流应用都满足截止时间约束的条件下,多工作流应用的执行代价最低。其根据调度方案中工作流应用任务和服务器之间的映射关系,为工作流应用任务分配相应的服务器。
[0083]
因此,多工作流应用的调度方案可以被定义如下:
[0084]
γ=(w,s,m,ce,tf),
ꢀꢀꢀ
(3)
[0085]
其中,表示多工作流应用w对应于边云协同环境s的映射,ce表示多工作流应用w在边云协同环境s中的执行代价,表示多工作流应用的完成时间。
[0086]
对于映射m中的两类元素,(v
i,j
,sk)表示任务v
i,j
在服务器sk上执行,表示数据边从服务器sr传输到服务器s
t
上。通过观察发现,当映射m的子映射被确定时,子映射也随之确定。因此,映射m可等价为
[0087][0088]
1.3.1确定性边云协同环境下的调度
[0089]
在本发明中,我们主要关注服务器的任务计算能力和服务器之间的数据传输能力,并假定在执行过程中有足够的容量存储传输数据。因此,我们侧重于考虑任务计算时间t
tc
和数据传输时间t
dt
,其计算方式具体如下:
[0090][0091][0092]
其中,式表示任务v
i,j
在服务器sk上的计算时间,式表示数据边从服务器sr传输到服务器s
t
产生的传输时间。由于单个服务器的带宽为无穷大,当数据传输发生在同一台服务器上时,其数据传输时间为0。
[0093]
对于一个调度方案γ,一旦映射m被确定,每个服务器sk的使用情况也随之确定,从而能够确定其启动时间t
boot
(sk)。为了计算多工作流应用的执行代价ce和完成时间tf,根据多工作流应用w对应于边云协同环境s的映射m,对相关变量进行定义如下:
[0094]
(1)t
start
(v
i,j
,sk):任务v
i,j
在服务器sk上的开始时间,由服务器sk的当前可用时间和任务v
i,j
所有前驱任务的完成时间所决定,如所示。
[0095][0096]
(2)t
end
(v
i,j
,sk):任务v
i,j
在服务器sk上的完成时间,等于任务v
i,j
的开始时间与其在服务器sk上计算时间之和,如所示。
[0097]
t
end
(v
i,j
,sk)=t
start
(v
i,j
,sk) t
tc
(v
i,j
,sk),(v
i,j
,sk)∈m.
ꢀꢀꢀ
(8)
[0098]
(3)t
shut
(sk):服务器sk的关闭时间,等于在该服务器上最迟执行的任务的完成时间,如所示。
[0099][0100]
(4)c
com
(sk):边云协同环境中服务器sk的任务计算代价,取决于服务器的启动时间和关闭时间,其计算方式如式所示。
[0101][0102]
(5)c
tran
(wi):在给定调度方案γ下,工作流应用wi的数据传输代价的计算方式如式所示:
[0103]
[0104]
基于上述定义,可以得到多工作流应用的执行代价ce和完成时间如式和所示。
[0105][0106][0107]
其中,由于工作流调度过程中数据存储、资源监控等代价与上述代价相比可以忽略不计,从而只考虑任务计算代价和数据传输代价。
[0108]
对于多工作流应用的一个调度方案,其目标是在所有工作流应用的完成时间均满足截止时间约束的同时,最小化其执行代价。因此,多工作流应用调度问题可形式化定义为:
[0109][0110]
1.3.2模糊边云协同环境下的调度
[0111]
上述的问题形式化定义中,我们总是假定边云协同环境具有确定性,即工作流应用的执行过程中任务计算时间和数据传输时间是确定的。然而,在实际的多工作流应用调度中,服务器的计算性能和传输带宽存在波动,这些因素会导致多工作流应用调度产生不确定性。因此,为了使得模型更加符合实际调度,模糊集理论被用于反映这种不确定性,将服务器的计算性能pk和服务器之间的带宽b
r,t
分别表示三角模糊数和以体现边云协同环境中的不确定性对多工作流应用调度的影响。值得注意的是,在工作流应用到达后,其任务计算量和数据传输量总是固定的。
[0112]
三角模糊数的隶属函数如式所示。其中,ξ
l
、ξm和ξu代表三角模糊数的三个端点值。对于多工作流应用的模糊调度方案而言,其顶点ξm表示模糊变量的最可能值,左右端点ξ
l
和ξu分别表示模糊变量的下界和上界,从而确定的取值范围。值得注意的是,当ξ
l
=ξm=ξu=ξ时,三角模糊数与实数ξ是相互等价的。
[0113][0114]
在模糊边云协同环境中,服务器的计算性能和传输带宽被表示为三角模糊数。同时,提出一种新型的模糊化方法来刻画和的不确定性。对于一个变量ξ(也就是或),其对应的模糊变量的参数定义为:ξ
l
从区间[δ1ξ,ξ]中随机选取;ξm的值取为t;ξu从区间[2ξ-ξ
l
,δ2ξ]中随机选取。其中,δ
2-1>1-δ1>0。
[0115]
另外,在构建多工作流应用调度方案的过程中,上述问题定义的变量均为三角模糊数。因此,为了计算上述变量,模糊调度过程的运算法则需要进一步定义,如加法、减法、取大、数乘、除法等运算。不失一般性地,对于两个三角模糊数(tfns),
上述模糊运算的运算法则如式~式所示。
[0116][0117][0118][0119][0120][0121]
本发明中,我们将上述这种具备不确定性的边云协同环境称为模糊边云协同环境,模糊边云协同环境中的模糊变量ξ对应于确定性边云协同环境中的变量相应地,多工作流应用的模糊调度方案可表示如式所示。
[0122][0123][0124][0125]
特别地,在模糊边云协同环境中,多工作流应用的模糊执行代价和模糊完成时间分别如式和所示,分别对应于确定性边云协同环境中的式和。同样地,式~式也具有类似的对应表示,在此不再赘述。
[0126]
根据模糊理论的扩展原理,基于上述形式化定义,模糊边云协同环境下的多工作流应用调度方案的优化问题可形式化定义如式所示。
[0127][0128]
对于目标函数其函数值是一个三角模糊数,其优劣由其均值与标准差共同决定。因此,目标函数可等价为最小化两个目标值的线性组合,则有:
[0129][0130]
其中,表示的均值,表示的标准差,为标准差的权重。
[0131]
对于多工作流应用的模糊调度方案执行代价的不确定性通过基于比例分布的三角模糊数进行刻画。因此,其均值和标准差分别由式和式给出。
[0132][0133][0134]
对于约束条件在模糊事件的概率测度意义下,设置多工作流应用的完成时间不超过截止时间的概率为η,则约束条件可转化为:
[0135][0136]
综上所述,基于上述形式化定义,模糊边云协同环境下的多工作流应用调度问题可转化为式所示。
[0137][0138]
2多工作流应用调度策略
[0139]
对于多工作流应用在模糊边云协同环境中的调度方案其核心目标是找到一个多工作流应用w对应于模糊边云协同环境s的最优映射m,使得在所有工作流应用的模糊完成时间都满足截止时间约束的条件下,最小化多工作流应用的模糊执行代价模糊边云协同环境中的多工作流应用调度是一个np难问题,同时是一个多约束组合优化问题。传统的pso算法往往被用于连续优化问题,针对其组合优化问题这一特点,本发明提出一种基于遗传算子的粒子群优化调度策略(workflow applications scheduling based on particle swarm optimization employing genetic operators,wspg)来最小化多工作流应用在模糊边云协同环境中的模糊执行代价。另外,针对该问题是多约束的,引入二次惩罚方法(quadratic penalty function,qpf),提出一种新的调度策略(wspg-qpf),使得该策略能够更快地搜索到可行解。
[0140]
首先介绍wspg,然后具体阐述wspg-qpf的主要内容。
[0141]
2.1 wspg
[0142]
2.1.1问题编码
[0143]
为了使pso算法更好地解决多工作流应用调度这一组合优化问题,本发明提出一种新型编码方式,即优先级和服务器嵌套组成的二维离散粒子来编码工作流应用调度方案。粒子群中的一个粒子对应于多工作流应用在模糊边云协同环境下的一种潜在调度方案。对于第g次迭代,粒子群内第k个粒子如式所示。
[0144][0145][0146][0147]
其中,np表示粒子群的规模,和分别表示第i个工作流应用中第j个任务v
i,j
的优先级编码和服务器编码。在初始化过程中,第0代粒子的编码初始化如式所示。
[0148][0149]
其中,rand()表示随机选取给定区间内的一位小数,randint()表示随机选取给定区间内的整数。
[0150]
对于二元组对于二元组表示多工作流应用的优先级编码,表示多工作流应用的
服务器编码,分别是由实数和整数构成的二维矩阵。对于的某个编码位它的值代表模糊调度过程中对应任务的优先级大小,若存在编码值相同的任务,则最先进入待执行队列的任务优先级更高;对于的某个编码位它的值代表模糊边云协同环境中执行相应任务的服务器编号。
[0151]
图2的编码粒子对应于包含2个工作流应用的多工作流应用在模糊边云协同环境中的调度方案,其中每个工作流应用包含4个任务,模糊边云协同环境由1个云服务器和2个边缘服务器组成。例如,在执行过程中的某一时刻,若任务v
1,3
和v
2,1
同时处于服务器s3的待执行队列中,则根据任务优先级大小,服务器s3将优先执行任务v
2,1
;待任务v
2,1
执行完成后,再根据待执行队列中各任务的优先级大小执行下一个任务。
[0152]
2.1.2模糊适应度函数
[0153]
本发明旨在任意一个工作流应用的模糊完成时间满足其截止时间约束的同时,最小化其模糊执行代价由此可见,上述提出的问题编码策略可能存在不满足截止时间约束的不可行解。因此,用于比较两个候选解优劣性的模糊适应度函数定义如下:
[0154]
(1)两个粒子都是可行解,即选择较低的粒子,其模糊适应度函数定义如式所示。
[0155][0156]
(2)两个粒子存在至少一个不可行解,则根据二者满足约束条件的工作流个数,定义如下:
[0157]
(2.1)若二者满足约束条件的工作流个数相同,则
[0158][0159]
(2.2)若二者满足约束条件的工作流个数不同,则
[0160][0161]
其中,是一个事件示性函数,这里表示约束条件的示性函数。当约束条件满足时,函数值取1;反之,函数值取0。
[0162]
2.1.3粒子更新策略
[0163]
在迭代过程中,粒子的更新受其自身当前情况、粒子个体最优位置和种群全局最优位置的影响,分别对应于粒子更新策略的惯性部分、个体认知部分和群体认知部分。为了避免传统pso算法过早收敛的缺陷,wspg引入遗传算法的变异算子和交叉算子对粒子群进行更新。在第g 1次迭代中,第k个粒子的更新方式如式所示。
[0164][0165]
其中,当前迭代次数g应小于最大迭代次数g
max


和分别表示自适应多点变异算子和两点交叉算子,和gbg分别表示粒子个体最优粒子和全局最优粒子。
[0166]
对于惯性部分,引入自适应多点变异算子进行更新,其更新方式如式所示。
[0167]
[0168]
其中,r是区间[0,1]的随机数,当且仅当r<w时,对粒子执行自适应多点变异算子。如图3所示,随机选取粒子的k个编码位,每个分位的优先级编码和服务器编号分别在区间和区间[1,|s|]内随机变异,从而生成新的编码粒子
[0169]
对于个体认知部分和社会认知部分,引入两点交叉算子进行更新,其更新方式分别如式和式所示。
[0170][0171][0172]
其中,r1和r2都是区间[0,1]的随机数,当且仅当r1<c1(r2<c2)时,对粒子执行两点交叉算子。如图4所示,随机选取2个交叉点,类似两条染色体的交叉操作,将粒子和在2个交叉点之间进行编码位的交叉,最后选择图4中实线表示的粒子作为新的编码粒子。
[0173]
2.1.4编码粒子到多工作流应用调度方案的映射
[0174]
在模糊边云协同环境中,编码粒子到多工作流应用调度方案的映射如算法1所示。为了简化表示,在本节中省略了编码粒子的上标和下标,即使用x=(μ,π)代替
[0175][0176]
该算法的输入包括多工作流应用w、模糊边云协同环境s和编码粒子x,输出为编码粒子x所对应的模糊调度方案首先,将映射m初始化为空集null,待执行队列q=(q1,q2,...,q
|s|
)初始化为空队列null,模糊数据传输代价初始化为0(第1行)。其次,生成|s| 1个线程用于调度多工作流应用w(第2~12行),该过程分为以下两个子过程:
[0177]
(1)调用算法2:workflow_applications_arriving(w,s,x),实时监测多工作流应用w的到达,并进行多工作流应用的任务分配(第4~6行),指令#pragma omp master表示该过程由主线程执行;
[0178]
(2)在所有服务器的待执行队列上,调用算法3:进行多工作流应用的执行,指令#pragma omp for表示各服务器qk,k=1,2,...,|s|上多工作流应用的执行将被多线程并行处理(第7~11行)。
[0179]
再次,关闭模糊边云协同环境s中的所有服务器,并根据式计算各服务器产生的模糊任务计算代价(第13~16行)。根据式和式,分别计算模糊执行代价和模糊完成时间(第17行)。值得注意的是,若存在某个工作流应用的模糊完成时间超过其截止时间,即则该调度方案不满足截止时间约束,将编码粒子x标记为不可行解(第18~21行)。最后,返回工作流的模糊调度方案(第22行)。
[0180]
在编码粒子到多工作流应用调度方案的映射过程中,需要实时监测多工作流应用w的到达,并进行多工作流应用的任务分配,该过程如算法2所示。该算法的输入与算法1相同,包括多工作流应用w、模糊边云协同环境s和编码粒子x。在算法运行过程中,若工作流应用wi达到,则根据式和式分别计算其模糊任务计算时间和模糊数据传输时间记录其到达时间αi(第3~4行)。遍历工作流应用wi的所有任务,若任务v
i,j
为入任务,即该任务不存在前驱任务,则根据服务器编码值π
i,j
,将任务v
i,j
放入服务器π
i,j
的待执行队列;否则,将任务v
i,j
放入服务器π
i,j
的任务等待池(第5~11行)。反之,则等待某个工作流应用的到达(第13~14行)。直到所有工作流应用都已经到达,该算法结束。
[0181][0182]
在编码粒子到多工作流应用调度方案的映射过程中,将在服务器的待执行队列上进行多工作流应用的执行,该过程如算法3所示。该算法的输入包括服务器sk、服务器sk的待执行队列qk、映射m和模糊数据传输代价在算法的运行过程中,若服务器sk处于关闭状态,则开启服务器sk,将服务器sk的启动时间设置为当前时间(第2~4行)。若服务器sk的待执行队列qk非空,则根据优先级编码μ,将待执行队列qk中优先级最高的任务v
i,j
调度到服务器sk,对应的映射关系(v
i,j
,sk)添加到映射m中,并调用算法4,执行任务计算过程和数据传输过程(第6~8行);反之,则等待qk非空(第10~11行)。直到所有的工作流应用都被执行完成,该算法结束。
[0183][0184]
在多工作流应用的执行过程中,工作流应用的任务计算和数据传输过程如算法4所示。该算法的输入包括任务v
i,j
和服务器sk,输出为当前产生的模糊数据传输代价首先,将初始化为0(第1行)。其次,记录任务v
i,j
的模糊开始时间并根据式计算任务v
i,j
的模糊完成时间(第2~3行)。最后,遍历任务v
i,j
的所有后继任务,根据服务器编码π
i,s
,将数据传输到执行后继任务v
i,s
的服务器π
i,s
上,并计算相应产生的数据传输代价;此时,若任务v
i,s
已经完成其所有前驱任务数据的接收,则将任务v
i,s
从服务器π
i,s
的任务等待池放入待执行队列(第4~10行)。
[0185]
[0186][0187]
2.1.5参数设置
[0188]
惯性因子w影响传统pso算法的收敛性能和搜索能力,较大的惯性因子使得算法具备跳出局部最优的能力,提高粒子的全局搜索能力;反之,算法具有更强的局部搜索能力。本发明提出一种新的调整机制,能够根据粒子群当前迭代的更新情况,动态调整惯性因子w的值,从而增强算法的搜索能力,如式所示。
[0189][0190]
其中,w
max
和w
min
分别表示w的最大值和最小值,sk表示粒子在当前迭代中是否更新。该机制可以根据当前粒子和上一代粒子之间的差异自适应调整算法的搜索能力。在迭代初期,粒子群的更新较为频繁,应增大惯性因子w的大小,增强粒子对解空间的全局搜索能力;在迭代后期,应倾向于提高粒子的局部搜索能力,对解空间进行精细化搜索,以提高搜索策略的收敛效果,因此减小惯性因子w的大小。
[0191]
另外,对于惯性部分所采用的自适应多点变异算子,其变异位数k随惯性因子w的变化进行自适应调整,其调整策略如式所示。
[0192][0193]
其中,k
max
和k
min
分别表示变异位数k的最大值和最小值。在这种策略下,变异位数k的调整对惯性因子w具有正反馈作用:当惯性因子w较大时,变异位数k增加,提高变异算子的变异能力,从而进一步增强算法的全局搜索能力;反之,则减少变异位数k,只保留一定的变异能力,以维持种群在进化过程中的多样性,使得在惯性因子w较小时能够对解空间进行更加精确的局部搜索。
[0194]
随着算法的不断迭代,学习因子c1,c2采用线性增减的方式进行动态调整,具体的更新策略不再赘述。
[0195]
2.2 wspg-qpf
[0196]
2.2.1二次惩罚方法
[0197]
本发明中,多工作流应用的截止时间约束是针对每一个工作流应用的,因此,模糊边云协同环境中多工作流应用调度问题是一个多约束组合优化问题。为了使得多工作流应用调度策略能够更快地搜索到可行解,引入二次惩罚方法,来代替传统的模糊适应度函数,该方法对编码粒子的评估函数如式所示。
[0198][0199]
其中,罚因子σg=0.1
×2g
,当σg→
∞时,要使达到极小值,罚函数应当充分小,从而使得的极小解充分逼近可行域,即得到满足约束且执行代价尽可能小的调度策略。
[0200]
2.2.2算法流程
[0201]
在wspg-qpf中,我们使用二次惩罚方法,代替wspg中传统的适应度评估函数。wspg-qpf的搜索过程主要包含以下6个步骤,如图1所示。
[0202]
1)初始化wspg-qpf的相关参数,包括种群大小、最大迭代次数、惯性因子、学习因子和变异位数等,并随机生成初始种群。
[0203]
2)根据算法1,将各粒子映射到相应的多工作流应用调度方案。
[0204]
3)基于二次惩罚方法,评估粒子群中每个粒子的模糊适应度,并选取个体最优粒子和全局最优粒子。
[0205]
4)判断是否满足算法的终止条件,即是否达到最大迭代次数,是则直接跳转到步骤6),否则进行参数自适应调整。
[0206]
5)基于调度策略wspg,根据式更新粒子编码,更新粒子群,然后返回步骤3)评估更新后粒子群中每个粒子的模糊适应度,同时更新相应的个体最优粒子和全局最优粒子。
[0207]
6)输出粒子群中全局最优粒子,并终止算法。
[0208]
3实验仿真与结果
[0209]
为了验证本发明的wspg-qpf方法对于在截止时间约束下最小化多工作流应用模糊执行代价的有效性,在这里进行实验仿真和结果分析。在实验中,我们主要围绕以下研究问题(research question,rq)进行讨论:
[0210]
rq1:在不同的截止时间约束下,和其他调度策略相比,wspg-qpf在降低多工作流应用的模糊执行代价方面是否具有优越性?
[0211]
rq2:对于wspg-qpf和其他元启发式调度策略,评估多工作流应用截止时间约束的满足情况?
[0212]
rq3:相较于wspg,wspg-qpf在搜索性和收敛性的性能方面是否得到改进?
[0213]
3.1实验设置
[0214]
所有实验都在16gb ram和3.00ghz intel i5-9500f cpu的win 10系统下运行,wspg-qpf和所有对比调度策略均在python 3.8环境下实现。wspg-qpf的相关参数设置如表3.1所示。
[0215]
表3.1算法参数设置
[0216][0217]
用户每次提交的工作流应用均来自于五种小型工作流应用模型:地震科学的cybershake、生物基因学的epigenomics、重力物理学的ligo、天文学的montage以及生物信息学的sipht。每种工作流应用含有约30个任务,具有不同的依赖结构,其计算需求和数据集大小等相关信息均被存储在xml文件中。在本次实验中,设置多工作流应用的规模为20个。假定工作流应用的到达是一个强度为λ的泊松过程,工作流应用到达的时间间隔服从参数为λ的指数分布,用户平均每隔2.5s向边云协同环境提交工作流应用,即λ取2.5,则工作流的到达率为1/λ=0.4。因此,对于工作流应用wi,定义其到达时间αi如式所示。
[0218][0219]
其中,randexp(λ)用于产生参数为λ的指数分布随机数。
[0220]
另外,每个工作流应用都有对应的截止时间约束,并以此来测试调度策略的有效性。对于工作流应用wi,定义其截止时间di如式所示。
[0221]di
=αi baseline*|w|*heft(wi),
ꢀꢀꢀ
(45)
[0222]
其中,heft(wi)表示用heft算法调度工作流应用wi所需的执行时间。参数baseline表示截止时间因子,具体定义如下:
[0223][0224]
假定模糊边云协同环境中存在5个云服务器(s1,s2,...,s5)和5个边缘服务器(s6,s7,...,s
10
)。每个服务器具有特定的任务计算能力和单位计算代价。假定云服务器s1,s2,...,s5的计算能力分别为2.5,3.5,5.0,7.5,10.0gbps,边缘服务器s6,s7,...,s
10
的计算能力约为2.5gbps,分别为2.5,2.6,2.2,2.3,2.7gbps;假定计算能力最强的云服务器s5的单位计算代价为12.5$/h或(5/24$/min),以云服务器s5的单位时间计算代价为基准,其余服务器的单位计算代价近似与其计算能力成正比。
[0225]
目前主流的商业云服务,如amazon ec2,通常按60秒或1小时为单位要价时间pi进行付费。在本次实验中,用户提交的工作流应用均为小型规模,选择以60秒为单位进行付费。
[0226]
两个服务器si和sj之间的带宽和单位数据传输代价,根据二者所属环境fi和fj的不同,如表3.2进行设置。
[0227]
表3.2 si和sj之间的带宽和单位数据传输代价
[0228][0229]
另外,第1.3.1节详细阐述了如何将计算性能pk和带宽b
r,t
模糊化为对应的三角模
糊数,参数δ1和δ2分别取为0.85和1.3。为了比较实验结果的好坏,第1.3.2节详细阐述了模糊执行代价和模糊完成时间的去模糊化方法,参数取为1;另外,基于时效性的考虑,设置参数η的值为0.95。
[0230]
3.2基准策略
[0231]
wspg-qpf是一种元启发式调度策略。为了验证该策略对于降低多工作流应用模糊执行代价的有效性,在本次实验中,除了本发明提出的wspg外,我们还采用了以下三个元启发式调度策略作为基准策略,比较wspg-qpf和其他基准策略的调度性能。
[0232]
(1)wspso(workflow applications scheduling based on particle swarm optimization):该策略采用与wspg-qpf类似的优先级和服务器嵌套的编码方案,优先级编码和服务器编码均采用传统的连续编码值,并将服务器编码值四舍五入的结果作为服务器编号;采用传统pso的更新策略对粒子的编码进行更新以寻找较优的调度策略。
[0233]
(2)wsga(workflow applications scheduling based on genetic algorithm):该策略采用与wspg-qpf相同的优先级和服务器嵌套的编码方案,根据传统ga的更新策略,通过二元锦标赛选择、两点交叉和多点变异算子对当前种群进行更新,并采用精英保留策略,将当前种群中的精英个体,即适应度值最高的个体,完整地复制到下一代,不断对染色体进行更新,最终输出种群的精英个体作为最优解。
[0234]
(3)wsrs(workflow applications scheduling based on random searching):该策略采用与wspg-qpf相同的优先级和服务器嵌套的编码方案,使用随机搜索策略生成新的种群,在相应的定义域内随机生成每个粒子的优先级和服务器编码,并将粒子映射到对应的调度策略,计算粒子的适应度值,记录随机搜索过程中的最优解,每次迭代之间互不影响,最终输出种群的最优解,即最优调度策略。
[0235]
3.3rq1:多工作流的模糊执行代价
[0236]
为了比较wspg-qpf,wspg和其他基准策略在模糊边云协同环境中多工作流应用的调度性能,在不同截止时间约束下,对多工作流应用调度进行4组实验,包括严格(baseline=2.0)、中等(baseline=2.5)和宽松(baseline=3.0 or 3.5),并分析wspg-qpf在降低多工作流应用模糊执行代价方面的优越性。对于每种截止时间约束,我们记录了10次独立重复实验中的最优和平均模糊执行代价及其适应度(单位:10-3
$)。表3.3展示了在不同调度策略下多工作流应用的最优模糊执行代价,其中,所有的最优解用粗体表示,不可行解用“*”标记。
[0237]
从目标函数来看,我们提出的调度策略wspg-qpf在4种截止时间约束下都得到了最优的调度方案,即多工作流应用的模糊执行代价最小,而wspg的性能次之,这是因为wspg-qpf在wspg的基础上,引入了二次惩罚方法作为评估函数,使得多工作流应用调度策略能够更快地搜索到可行解。接着,wsga和wspso再次之,这是因为wspg改进了传统pso的编码方式,并引入ga的两点交叉算子和自适应多点变异算子,从而避免过早陷入局部最优,从而得到更优的调度方案。
[0238]
从截止时间约束来看,wspg-qpf、wspg和wsga在任何情况下都能得到满足约束的可行调度方案。在严格的截止时间约束下,wspso和wsrs是无效的,无法得到可行的调度方案。随着截止时间约束的放宽,在wspg-qpf、wspg和wsga下,多工作流应用的模糊执行代价呈降低趋势;而wspso能够得到可行的调度方案。在宽松的截止时间约束下,wsrs依旧无法
得到可行解。这是因为多工作流应用调度是一个组合优化问题,具有大量的局部极值点,是不连续的、高度非线性的np难问题,而wspso往往被用于求解连续性优化问题,所采用的连续编码策略不适用于多工作流应用调度,容易陷入局部最优;另外,多工作流应用调度问题的解空间规模一般是指数级的,而wsrs所采用的随机搜索策略效率较低,在有限的种群规模和搜索次数下,难以搜索到高质量的、可行的调度方案。
[0239]
表3.3不同调度策略下多工作流应用的最优模糊执行代价
[0240][0241][0242]
此外,对于每种截止时间约束下的10次独立重复实验,图5展示了在不同调度策略下多工作流应用的平均模糊执行代价。从图5中可以看出,在严格的截止时间约束下,即baseline=2.0,wspg-qpf所产生的调度方案显著优于其他基准策略,对于多工作流应用平均模糊执行代价的降低约为17%~35%。在严格和相对宽松的截止时间约束下,即baseline=2.5 or 3.0,相较于其他基准策略,在wspg-qpf所产生的调度方案下的多工作流应用的平均模糊执行代价仍然是最优的;在宽松的截止时间约束下,即baseline=3.5,wspg是最优的。由此看出,二次惩罚方法更适用于较强约束条件下的多工作流应用调度方案优化。这是因为在较弱的约束条件下,在迭代的初始阶段,我们提出的两种调度策略wspg-qpf和wspg往往都能够得到可行的调度方案;在满足截止时间约束后的迭代过程中,wspg-qpf和wspg的模糊适应度函数是等价的,因此二者的性能几乎是等同的。另外,由于wspg-qpf和wspg是元启发式策略,具有一定的随机性,因此在宽松的截止时间约束下,wspg-qpf的性能略低于wspg。
[0243]
综上所述,相较于其他基准策略,wspg结合传统pso和ga的编码策略和更新策略,能够有效地跳出局部最优;同时引入二次惩罚方法,使得wspg-qpf较wspg而言能够更快地搜索到可行调度方案,特别是在强约束条件下,从而进一步优化多工作流应用的调度方案,降低多工作流应用的模糊执行代价,表现出更优的性能。
[0244]
3.4rq2:多工作流应用的截止时间约束满足情况
[0245]
模糊边云协同环境下多工作流应用调度是一个复杂的多约束优化问题,每个工作流应用都有着各自的截止时间约束。因此,在本节中,我们将讨论wspg-qpf,wspg和其他基准策略所产生的调度方案对于截止时间约束的满足情况。基于rq1中在不同的截止时间约束下多工作流应用调度的4组实验,图6给出了不同调度策略下多工作流应用的截止时间约束满足情况,右侧的数字表示在4组实验中各调度策略产生的方案不满足截止时间约束的总次数。
[0246]
由图6可以看出,wspg-qpf所产生的调度方案均是可行的,即使是在严格的截止时间约束下;wsrs所产生的调度方案均是不可行的,即使是在宽松的截止时间约束下。在严格和中等的截止时间约束下,wspg和wsga效果相当;而wspso和wsrs都无法产生可行调度方案。随着截止时间约束的放宽,在宽松的截止时间约束下,wspso对于截止时间约束的满足情况逐渐转好,基本上都能够得到可行方案,但仍然存在个别的不可行方案。由此,进一步说明了二次惩罚方法的引入对于多工作流应用调度的有效性,保证了wspg-qpf的可靠性。
[0247]
综上所述,与其他基准策略相比,对于截止时间约束的满足,wspg-qpf具有最好的可靠性,wspg具有较好的可靠性。同时,对于严格的截止时间约束,wspg-qpf具有较好的鲁棒性。
[0248]
3.5 rq3:wspg-qpf的搜索性和收敛性
[0249]
为了验证wspg-qpf在搜索性和收敛性方面的优越性,我们记录了所提出的两种调度策略wspg-qpf和wspg在1000次迭代过程的多工作流应用的模糊执行代价,所记录的数据中最终的调度方案均是可行的。为了直观地描述两种调度策略的收敛性,图7展示了两种调度策略在不同截止时间约束下得到的迭代曲线,其中,蓝色实线和红色虚线分别表示wspg-qpf和wspg所产生的多工作流应用调度方案所需的模糊执行代价的适应度曲线,在图中简单记作cost(单位:10-3
$)。
[0250]
从两种调度策略的迭代曲线来看,迭代初期代价曲线的波动表明调度策略正在进行对解空间的全局搜索,希望能够找到一个可行调度方案,使之满足多工作流应用的截止时间约束。随着迭代次数的增加,在满足截止时间约束的前提下,则致力于更加精确的局部搜索,进一步对多工作流应用调度方案进行优化,以降低多工作流应用的模糊执行代价。
[0251]
在严格的截止时间约束下,wspg-qpf对于调度方案的优化效果显著优于wspg。wspg-qpf引入了二次惩罚方法,对于不满足截止时间约束的粒子,给予很大的惩罚值,使之具备更强的搜索性,能够更快的接近可行域,得到可行的调度方案。从图7(a)中可以看到,wspg接近600代才得到可行调度方案,而wspg-qpf产生的调度方案在50代以内就已经能够满足截止时间约束,表现出良好的搜索性。图7(a)中第600代附近的尖峰的出现,说明wspg在此时搜索到了满足约束的可行调度方案。这是因为在wspg的模糊适应度函数中,当调度方案不满足约束时,采用模糊完成时间或不满足约束的工作流应用个数对调度方案进行评估,即使其模糊执行代价很小;而当满足约束时,采用模糊执行代价进行评估。因此,当wspg
得到可行的调度方案时,适应度曲线出现了突增现象。另外,与wspg相比,wspg-qpf最终得到的调度方案的适应度更低,表现了较好的收敛性。
[0252]
在中等和宽松的截止时间约束下,wspg-qpf和wspg都能够在50代以内得到可行调度方案,这是因为随着约束条件的放宽,多工作流应用截止时间的满足变得更加容易。在后续的迭代过程中,两种调度策略的适应度曲线总是呈下降趋势,其中wspg较为平缓,而wspg-qpf的优化效果更加显著,最终得到的调度方案的模糊执行代价更小,也就是说wspg-qpf能够有效降低多工作流应用的模糊执行代价。
[0253]
综上所述,本发明提出的wspg-qpf方法对于截止时间约束下的多工作流应用调度这一约束优化问题的有效性,能够有效降低多工作流应用的模糊执行代价。相较于wspg,wspg-qpf引入了二次惩罚方法,将约束优化问题转化为无约束优化问题,对于不满足截止时间约束的调度方案施加一个很大的惩罚值,使其获得更强的搜索性和收敛性,能够更快地得到可行方案,同时收敛到适应度更低的调度方案。
[0254]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0255]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0256]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0257]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0258]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献