一种云计算环境下安全感知的科学工作流调度方法

文档序号:6370466阅读:169来源:国知局
专利名称:一种云计算环境下安全感知的科学工作流调度方法
技术领域
本发明涉及数据密集型科学工作流的调度方法,特别是一种云计算环境下安全感知的科学工作流调度方法。
背景技术
云计算是一种典型的网络计算模式,强调在虚拟计算环境下运行大规模应用的可伸缩性和可用性。基于云计算的大型网络应用呈现异出分布、异构的特点和数据密集的趋势,如科学工作流系统,这类应用被称为数据密集型应用。目前数据密集型应用已被广泛的应用于天文学、高能物理学以及生物信息学等领域。这类应用的数据密集性主要体现在其处理的数据大小通常达TB级甚至PB级,其中既有已存在的输入数据源,也有在对数据进行分析和处理的过程中产生的中间数据和最终结果数据,而通过流程管理技术可以实现这类 数据密集型应用的自动化执行。但是科学工作流在利用云计算环境的过程中遇到了一些新的问题,其中在如何保证数据安全和工作流性能方面显得尤为突出。一方面,由于云计算环境的开放性和共享性,数据安全是科学工作流部署到云计算环境下必须要考虑的问题,尤其是那些关键应用,如地震预测等;另一方面,由于数据密集型科学工作流具有数据量巨大、任务多的特点,对数据加密势必会带来一定的性能开销,因此如何在保证数据安全的同时兼顾工作流的执行性能(主要指调度的时间)是亟待解决的重要问题之一;合理的调度方法可以在不影响科学工作流调度长度的同时来提高科学工作流整体安全级别。科学工作流调度技术是针对云计算环境下科学工作流自身的特点,从保证科学工作流调度性能和提高数据安全性两方面对科学工作流进行调度。科学工作流具有任务个数多、数据量大的特点,其中任务之间具有相互依赖的关系,这种依赖关系一般体现在数据之间的依赖关系。因此在进行任务调度的时候,综合考虑任务之间的依赖关系、数据的安全服务和科学工作流的调度性能等因素,为任务选择合适的执行位置,以达到在保证科学工作流性能的情况下提高科学工作流数据的安全服务级别。在云计算环境中,科学工作流数据调度的一般方法是先根据一定的QoS目标(一般指科学工作流的性能)为科学工作流中的单个任务选择指定的数据中心执行任务,然后在运行科学工作流任务的时候根据任务的依赖关系以及执行位置依次执行科学工作流中的任务,任务运行过程中根据布局策略把产生的数据放置到指定的数据中心上。由于云计算环境的开放性、多租户等特性,安全问题是部署科学工作流到云计算环境下亟待解决的重要问题之一,因此在云计算环境下调度执行科学工作流的时候应该考虑提高科学工作流的数据安全服务级别同时兼顾性能。目前,国内外关于云计算环境下科学工作流调度问题的研究较少,当前的工作大多是针对网格环境的,并且主要侧重于如何提高科学工作流调度性能澳大利亚的Ke Liu等人提出了一种云计算环境下针对实例密集型工作流的基于时间和成本调度算法,充分考虑数用户对调度时间和成本两方面的要求,对云计算环境下实例密集型的工作流进行调度,从而满足用户对调度时间和成本的要求。
上海交通大学的伍民友等人提出了 MCP (Modified Critical-Path)算法用于在分布式计算系统中调度基于DAG (Directed Acyclic Graphs)的任务,如并行任务、科学工作流等,实验表明此算法具有较好的性能。然而,云计算环境作为一个开放的环境,允许多用户共享硬件资源,如何在保障科学工作流调度性能的前提下提高数据安全服务级别是部署科学工作流到云计算环境下面临的问题之一。然而上述云计算环境下科学工作流数据调度方面的研究,并没有综合考虑 科学工作流的数据安全和性能。

发明内容
本发明的目的是提出一种基于MCP算法同时利用科学工作流非关键任务的空闲时间做数据安全服务的云计算环境下安全感知的科学工作流调度方法。本发明提出的调度方法的优势在于能以较小的性能开销来对科学工作流非关键任务的数据做安全服务,以达到提高科学工作流数据整体安全服务级别同时兼顾科学工作流性能的目的。为了实现上述目的,本发明的技术方案是一种云计算环境下安全感知的科学工作流调度方法,包括以下步骤第一步先计算出科学工作流中各个任务的最早开始时间和最晚开始时间;第二步根据科学工作流中单个任务的最早开始时间和最晚开始时间计算出单个任务的空闲时间;第三步根据安全服务模型和科学工作单个任务的空闲时间,对单个任务的数据采取相应的安全服务,同时更新后继任务的空闲时间。该步骤针对侦听、篡改、哄骗三种常见的攻击手段,对数据的安全服务需求和数据中心安全服务进行建模,设定数据安全服务向量Si= {K,6,Si表示数据中心i的安全服
务能力,其中4代表保密服务,<代表完整性服务,4代表授权服务;,S,, .V;的值分别
代表各个安全服务的不同服务系数;系数越大代表安全服务的级别越高,相应的安全服务带来的时间开销也越大。安全服务模型详见图4、图5、图6,其中加密算法代表安全服务的具体实现技术,安全级别代表相应算法的安全级别,加密性能代表单位时间内加密算法加密数据的效率,注意此数据为在90MHz的处理器上测得,在具体实施部署算法时,应把此加密效率转化为对应的处理器上的效率。第四步重复第三步,直到把科学工作流所有任务的安全服务设置完毕。第五步根据第三步中制定的数据加密方案,重新计算科学工作流单个任务的预测时间,然后再利用改进的MCP算法对科学工作流进行调度。本发明的特点综合考虑在云计算环境下部署科学工作流时存在的数据安全问题和科学工作流的性能两方面问题。通过计算科学工作流中单个任务的最早开始时间和最迟开始时间,计算出非关键任务的空闲时间,然后根据安全服务模型和空闲时间的大小动态的设置科学工作流中单个任务的安全服务,然后在调度执行的阶段利用改进的MCP算法调度执行任务,本发明对MCP算法的改进主要侧重于把任务安全服务的开销加入到了 MCP算法中。通过上述步骤,在科学工作流执行之前根据自身的特点即非关键任务的空闲时间,求得一个科学工作流整体的安全服务方案,因为本发明利用非关键任务的空闲时间做数据安全服务,因此在理论上来说不会影响科学工作流的调度性能;根据实际仿真实验数据,表明本发明中所提的算法可以适用于不同类型的科学工作流,科学工作流可以得到较可靠的安全服务,即109^90%的任务可以获得安全服务。总之,本发明利用非关键任务的空闲时间对任务数据做安全服务不会增加额外的性能开销,另外数据安全服务模型也可以采取不同的模型,因此具有良好的适应性。


图I为本发明的调度执行模型图。图2为本发明的科学工作流应用实例图。图3为本发明的流程框图。图4为安全服务模型中保密服务的图示。图5为安全服务模型中授权服务的图示。图6为安全服务模型中完整性服务的图示。
具体实施例方式下面结合附图和实例对本发明作进一步的详细描述。为了便于阐述本发明的内容,先说明相关定义。定义I :科学工作流任务的最早开始时间(TasapUi))科学工作流任务的最早开始时间是指任务的最早开始时间。定义2 :科学工作流任务的最晚开始时间(TalapUi))
科学工作流任务的最晚开始时间是指任务在不影响科学工作流调度关键路径长度的前提下,任务的最晚开始时间。定义3 :科学工作流任务的空闲时间(TidlJti))科学工作流任务的空闲时间是指科学工作流任务最早开始时间和最晚开始时间之间的时间差,任务在最早开始时间和最晚开始时间之间的任何时刻开始执行都会影响科学工作流调度长度,因此本发明定义此段时间为空闲时间。本发明正是利用这段空闲时间对科学工作流的任务做数据安全服务的。定义4 :科学工作流任务\前驱任务集合Spment Ui)和后继任务的集合Sehild Ui)科学工作流任务\所有前驱任务的集合为Sparent⑷,科学工作流任务\的所有后继任务的集合为SehildUi)。定义5 :科学工作流任务\的安全服务开销Cost (tj对科学工作流任务\的数据采用数据加密等数据安全服务时所带来的性能开销,本发明中性能开销主要指安全服务带来的时间开销,即Costai)。如图I所示,云计算环境主要包含三大部分由不同带宽连接的多个数据中心资源的集合、云计算环境的用户接口层和科学工作流调度管理模块组成。运行一个科学工作流任务的具体方法如下(I)在云环境下部署科学工作流的时候,用户通过云计算环境的用户接口层提交工作流任务到云计算环境中;(2)云计算环境下的科学工作流管理模块在接收到用户提交的科学工作流任务后计算科学工作流任务的空闲时间,然后再根据安全服务模型设置科学工作流的安全服务方案;(3)根据步骤(2)中制定的科学工作流安全服务方案和安全服务模型更新科学工作流任务的预测执行时间,然后根据改进的MCP算法调度科学工作任务到云计算环境下执行;(4)根据步骤(3)中的调度方案,如果待调度任务ti的前驱任务执行完毕,云计算环境下的可学工作流执行管理器会在执行ti的数据中心创建相应的虚拟机然后再把任务ti执行所需的数据传输到执行\的数据中心上;(5)判断是否所有的输入数据均已传输完毕,如果是,则提交任务给为该任务创建好的VM,否则转向步骤(4);(6)VM执行任务,将结果返回给科学工作流执行管理器,如果科学工作流中还有任务未完成那么转向步骤(4); (7)云计算环境下的科学工作流管理收到任务执行结果,向数据中心发出销毁VM的请求,并释放资源。如图2所示,在下面实例的描述中,一个科学科学工作流任务W=〈T,C,DS>,其中T为科学工作流任务的集合,C是各任务间控制流的集合,在本发明中,控制流是通过任务之间的数据流来反映的;DS是W中所有数据的集合。图2所示科学工作流P中有T=ITp T2,T3、T4、T5、T6、T7I,以任务 T2 为例有 T2 = {{dTj,{dTj,Iength2, Vm2 ;任务 T2 的输入数据包括任务T1产生的数据ClT1,任务T2的输出数据为dT2。Iength2为任务T2在虚拟机Vm2上的运行时间,在本例中计算时间为20个时间单位。科学工作流的控制流C在图(2)中用虚线表示,主要通过任务之间的数据依赖关系来表达,例如任务T1和T2之间虚线代表任务T2的运行需要任务Ti产生的数据ClT1,数字6代表任务T1产生的数据传输到执行任务T2数据中心上的传输时间。本发明研究的安全感知的科学工作流调度方法所要解决的主要问题是在尽量不增加科学工作流执行性能的前提下,提高科学工作流数据的整体安全服务级别。下面结合图3对本发明进行详细说明。第一步计算用户输入科学工作流中单个任务的前驱任务集合Spara^ti)和后继任务集合 ^child
(tj ;第二步根据科学工作流中单个任务的计算时间和数据(主要指输入数据)的传输时间计算科学工作流单个任务\的最早开始时间TasapUi)和最晚开始时间TalapUi);第三步根据第二步中计算的科学工作流中单个任务\的最早开始时间Tasap Ui)和最晚开始时间Talap Ui),计算科学工作流单个任务\的空闲时间Tideal Ui);第四步把科学工作流中前驱集合为空且没有设置安全服务的任务\加入到集合G中,同时把以\为前驱的任务t的前驱任务集合中删除科学工作流任务\ ;第五步判断集合G是否为空,如果否,转向第六步;如果是,转向第七步;第六步根据集合G中仟务\的空闲时间和安全服务模型随机选择数据安全服
务且\应满足约束t eSchM(tt);在为ti设置安全服务时,\的安全服务在Vmi 上的时间开销应小于当 TidlJti)且需满MTidle (tj) > 0, Tidle (tj) = Tidle (tj) - Cost (tj)
tj ^ ^child
(\),然后再利用公式
Tidle (tj)= Tidle (tj) — Cost (tj)
tj ^ Schild (ti)更新集合Sdlild(ti)中任务h的空闲时间,最后把任务ti从集合G中删除;然后转向第四步;
第七步科学工作流中所有单个任务设置完安全服务后,根据MCP算法为科学工作流中所有任务分配合适的数据中心,用于创建虚拟机和执行科学工作流任务;其中科学工作流中单个任务执行时间的预测值为Ct^ai)+Iengthi ;第八步按照科学工作流中单个任务的执行次序和MCP算法生成的调度策略,在 云环境下执行科学工作流任务,最后返回结果。本说明书中未做详细描述的内容属于本领域中专业技术人员公知的现有技术。
权利要求
1.、一种云计算环境下安全感知的科学工作流调度方法,包括以下步骤 第一步骤先计算出科学工作流中各个任务的最早开始时间和最晚开始时间; 第二步骤根据科学工作流中单个任务的最早开始时间和最晚开始时间计算出单个任务的空闲时间; 第三步骤根据安全服务模型和科学工作单个任务的空闲时间,对单个任务的数据采取相应的安全服务,同时更新后继任务的空闲时间; 第四步骤重复第三步骤,直到把科学工作流所有任务的安全服务设置完毕; 第五步骤根据第三步骤中制定的数据加密方案,重新计算科学工作流单个任务的预测时间,然后再利用改进的MCP算法对科学工作流进行调度。
2.如权利要求I所述的云计算环境下安全感知的科学工作流调度方法,其特征在于运行一个科学工作流任务的具体方法如下 (1)在云环境下部署科学工作流的时候,用户通过云计算环境的用户接口层提交工作流任务到云计算环境中; (2)云计算环境下的科学工作流管理模块在接收到用户提交的科学工作流任务后计算科学工作流任务的空闲时间,然后再根据安全服务模型设置科学工作流的安全服务方案; (3)根据步骤(2)中制定的科学工作流安全服务方案和安全服务模型更新科学工作流任务的预测执行时间,然后根据改进的MCP算法调度科学工作任务到云计算环境下执行; (4)根据步骤(3)中的调度方案,如果待调度任务ti的前驱任务执行完毕,云计算环境下的可学工作流执行管理器会在执行ti的数据中心创建相应的虚拟机然后再把任务\执行所需的数据传输到执行\的数据中心上; (5)判断是否所有的输入数据均已传输完毕,如果是,则提交任务给为该任务创建好的VM,否则转向步骤(4); (6)VM执行任务,将结果返回给科学工作流执行管理器,如果科学工作流中还有任务未完成那么转向步骤(4); (7)云计算环境下的科学工作流管理收到任务执行结果,向数据中心发出销毁VM的请求,并释放资源。
3.如权利要求I所述的云计算环境下安全感知的科学工作流调度方法,其特征在于具体为 第一步计算用户输入科学工作流中单个任务的前驱任务集合Sparent Ui)和后继任务集合 Schiid (h); 第二步根据科学工作流中单个任务的计算时间和数据的传输时间计算科学工作流单个任务ti的最早开始时间Tasap(ti)和最晚开始时间;Talap(ti) 第三步根据第二步中计算的科学工作流中单个任务\的最早开始时间Tasap (ti)和最晚开始时间Talap(ti),计算科学工作流单个任务ti的空闲时间TidlJti); 第四步把科学工作流中前驱集合为空且没有设置安全服务的任务ti加入到集合G中,同时把以\为前驱的任务的前驱任务集合中删除科学工作流任务\ ; 第五步判断集合G是否为空,如果否,转向第六步;如果是,转向第七步; 第六步根据集合G中任务\的空闲时间和安全服务模型随机选择数据安全服务且ti应满足约束 在为ti设置安全服务时,ti的安全服务在Vmi上的时间开销应小于当 TidealUi)且需满MTidle(tj) >0,Tidle(tj) = Tidle(tj)-Costai)tj e Schild(tj ,然后再利用公式 Tidle(t」·) = Tidle (tj) — CostUi)tj ^ Schild 更新集合Schild(t,)中任务&的空闲时间,最后把任务\从集合G中删除;然后转向第四步; 第七步科学工作流中所有单个任务设置完安全服务后,根据MCP算法为科学工作流中所有任务分配合适的数据中心,用于创建虚拟机和执行科学工作流任务;其中科学工作流中单个任务执行时间的预测值为CostUi) + Iengthi ; 第八步按照科学工作流中单个任务的执行次序和MCP算法生成的调度策略,在云环境下执行科学工作流任务,最后返回结果。
全文摘要
本发明涉及一种云计算环境下安全感知的科学工作流调度方法,它首先根据科学工作流中单个任务的计算时间以及任务之间的数据传输时间,计算出科学工作流任务中单个任务的空闲时间,然后根据安全服务模型和空闲时间以及任务之间的依赖关系,随机为科学工作流中的单个任务设置空闲时间允许的安全服务;最后把科学工作流中单个任务安全服务带来的开销加入到对任务执行时间的预测中,并把这种任务开销计算的改进加入到MCP算法中,最后根据云计算环境数据中心中的资源情况为科学工作流中的单个任务映射资源,用于创建虚拟机和执行任务。本发明能在不影响科学工作流调度性能的前提下,提高整体的安全服务级别,降低部署到云计算环境下的安全风险。
文档编号G06Q10/06GK102799957SQ20121017230
公开日2012年11月28日 申请日期2012年5月30日 优先权日2012年5月30日
发明者杜薇, 刘伟, 位凯志, 彭苏 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1