云计算中基于任务复制的安全性敏感工作流的调度方法技术

技术编号:14000047 阅读:81 留言:0更新日期:2016-11-15 14:13
本发明专利技术提供一种云计算中基于任务复制的安全性敏感工作流的调度方法,并命名为SOLID,其包括两个重要阶段:1)基于选择性任务复制的任务调度,2)利用任务松弛时间加密工作流中间数据。解决了目前已有的工作流调度方法往往没有考虑工作流运行过程时中间数据的安全需求,此外没有充分利用由工作流任务之间的数据依赖关系造成的资源空闲时隙。本发明专利技术弥补了以上不足,最后,使用随机产生的工作流进行模拟实验,实验结果表明本调度方法优于现有算法。

【技术实现步骤摘要】

本专利技术涉及一种云计算方法,尤其是涉及一种云计算中基于任务复制的安全性敏感工作流的调度方法
技术介绍
1、背景云计算已成为分布式计算的新样式。在这种模式下,云供应商以即用即付费的方式,按需为用户提供服务(例如,应用,平台和计算资源)[1]。特别是,基础设施即服务(IaaS)模式,即平台,已成为最常用的服务模式。在这种模式下,云服务提供商管理着大规模异构的虚拟机(VM)来处理用户的应用。另外,IaaS平台中的可用虚拟机可以动态增加和减少。由于云计算在价格、快速伸缩等方面的优势[1,2],云计算已被应用到越来越多的领域,如银行,电子商务,零售业和科研机构等[3]。虽然云计算提供了种种好处,大量潜在用户或组织对是否采用云计算仍持观望态度[4,5]。根据调查,缺乏安全性是阻止用户采用云计算的主要原因之一[6]。这是因为敏感数据的泄露可能会导致组织的财产损失。更糟的是,如果这些数据极其敏感,他们的泄露将导致不可弥补的后果[7]。因此,当部署应用到云计算平台时,提供相应的安全服务来保障数据安全至关重要。在支持IaaS云平台处理应用的编程模式中,通常用有向无环图(DAG)表示的工作流。值得注意的是,工作流的处理往往是计算密集型和数据密集型,同时伴随着大量中间数据的产生和传输。部署工作流应用到IaaS云时,数据安全威胁主要有两个来源:云供应商和不良用户[10]。云供应商掌握用户的数据,一些恶意的云供应商会公布这些数据,甚至卖给别人。此外,在IaaS环境中,资源由大量用户共享,这样的共享方式,将导致用户的数据很容易被其他不良用户窃取或篡改[9]。为了保障处理工作流过程中的数据安全,一种切实可行的方法是在中间数据存储和传输之前,对其进行加密[9]。加密中间数据能够满足工作流的安全需求,但同时数据加密必然造成一定的时间开销[10]。此外,每个中间数据都有多种安全性需求,如保密性,完整性和认证。与此同时,每个中间数据的每一个安全要求,可以使用多种计算时间和安全强度的加密实例。特别地,加密的时间开销会延迟等待这些中间数据的任务的开始时间,并递归地传播到多个任务,不仅包括它们的后续任务,还包括调度在它们后面的任务及这些任务的后续任务。很显然,为每个中间数据的每个安全要求选择一个合适的加密实例,是典型的组合优化问题。2、相关工作:在过去的二十年中,已有大量的研究来解决工作流调度问题。例如,Zhu等人扩展NSGA-II来优化云环境中运行工作流的完工时间和成本[11]。Rodriguez等人提出了一种粒子群优化算法,其目标是尽量减少工作流的执行成本,同时满足工作流执行的最后期限[12]。另外,Talukder等人采用差分进化算法(DE)在网格计算中工作流调度中进行完工时间和成本之间的权衡[13]。然而,这些以随机搜索为基础的方法具有较高的时间复杂度,使得它们很难在实际云计算平台中应用。此外,一些启发式方法已被研究人员提出来解决工作流调度问题。这些方法大致可分为:基于列表,聚类和任务复制的启发式算法。例如,durillo等人扩展了工作流调度算法(HEFT),用于处理多个相互冲突的目标:最小化完工时间和成本[14]。Boutin等人提出了一种高度可扩展和协调调度框架Appollo,从整体上考虑各种因素,以减少任务完成时间[8]。Lee等人研究了资源有效利用的工作流调度问题,并提出了调度算法MER来权衡任务的完成时间和成本[15]。Abrishami等人提出了两个基于任务聚类的工作流调度算法,在满足其截止期要求的条件下,优化了工作流的执行成本[17]。然而,上述启发式方法并没有充分利用资源的空闲时间时隙。此外,还有一些工作研究基于任务复制的工作流调度方法。例如,Zong等人提出了高效节能的复制调度算法,以提高集群的性能和能源使用效率[18]。 Choudhury等人提出了一种基于关键任务复制的混合调度方法,在多处理器嵌入式系统中调度工作流任务[19]。然而,在集群和嵌入式系统中,现有的基于任务重复的启发式通常忽略了数据安全问题。由于云计算环境中对数据安全意识的日益提高,已有一些研究提出相应方法来保障工作流中间数据的安全。比如,Liu等人提出一个数据放置策略,在运行工作流的过程中,动态放置中间数据[7]。Qiu等人提出了基于ILP的加密实例选择策略,来保障工作流的可调度性和中间数据的安全[10]。Zeng等人提出一个工作流调度算法,同时考虑了中间数据的成本和安全性约束[21]。然而,已有的安全性调度方法并没有充分利用空闲时隙来备份工作流任务,以提前工作流任务的开始时间和工作流的完成时间。另外,这些方法几乎没有利用任务的松弛时间来加密中间数据,以至于数据的加密时间开销严重推迟了工作流的完成时间。有效的工作流调度方法和加密实例选择策略是最小化安全性敏感工作流完成时间和成本,以及保证数据安全的有效途径。现有关于IaaS云中工作流调度的研究,要么最小化工作流的完成时间和成本,要么试图在降低工作流的运行成本同时,满足其截止期。值得注意的是,虚拟机上的空闲时隙是由任务之间的数据依赖关系造成的,即使是最优的调度方法也不可避免。然而,很少有研究复制任务到这些空闲时隙,以此改善工作流的完成时间和运行成本。此外,执行工作流产生的中间数据的安全性要求没有得到充分考虑。针对已有研究的局限性,我们研究如何调度工作流任务到虚拟机同时选择性地复制任务到空闲时隙,以最小化工作流的完成时间和运行成本,同时提高虚拟机(VM)的资源效率。此外,我们寻找利用任务的松弛时间来对工作流的中间数据进行加密,以满足工作流的安全要求。参考文献:[1]P.Mell and T.Grance,“The nist definition of cloud computing,”National Institute of Standards and Technology,vol.53,no.6,p.50,2009.[2]X.Zhu,L.T.Yang,H.Chen,J.Wang,S.Yin,and X.Liu,“Real-time tasks oriented energy-aware scheduling in virtualized clouds,”IEEE Transactions on Cloud Computing,vol.2,no.2,pp.168–180,2014.[3]G.Juve,A.Chervenak,E.Deelman,S.Bharathi,G.Mehta,and K.Vahi,“Characterizing and profiling scientific workflows,”Future Generation Computer Systems,vol.29,no.3,pp.682–692,2013.[4]C.Wang,K.Ren,and J.Wang,“Secure and practical outsourcing of linear programming in cloud computing,”in Proceedings of the 2011 INFOCOM.IEEE,2011,pp.820–828.[5]L.Wei,H.Zhu,Z.Cao,X.本文档来自技高网...

【技术保护点】
一种云计算中基于任务复制的安全性敏感工作流的调度方法,包括下列步骤:(1)初始化可用虚拟机列表,记为vmList;找到所有就绪任务并初始化,记为readyTL;为readyTL中的每个任务赋予一个权重;(2)调度算法SOLID采用迭代方法调度readyTL中的就绪任务,每一次迭代,readyTL中权重最大的就绪任务将被函数ScheduleTaskByDuplication()调度到相应的虚拟机,所述函数ScheduleTaskByDuplication()首先用于保证就绪任务在其最晚完成时间前完成,且最小化运行成本;其次,最小化任务的完成时间而不考虑运行成本;当一个就绪任务被调度后,其部分或全部后续任务将变为就绪任务,同时调度方法SOLID找出刚变为就绪的任务,赋予权重,并添加到中readyTL;(3)当所有的工作流任务被调度到虚拟机后,调度方法SOLID调用函数EncryptData()对工作流的中间数据进行加密,所述函数EncryptData()为每个中间数据的每个安全服务选择合适的加密实例,来满足工作流的数据安全需求;(4)函数EncryptData()在每一次迭代中,利用任务的松弛时间来加密工作流的中间数据,来逐步增强数据的安全性。...

【技术特征摘要】
1.一种云计算中基于任务复制的安全性敏感工作流的调度方法,包括下列步骤:(1)初始化可用虚拟机列表,记为vmList;找到所有就绪任务并初始化,记为readyTL;为readyTL中的每个任务赋予一个权重;(2)调度算法SOLID采用迭代方法调度readyTL中的就绪任务,每一次迭代,readyTL中权重最大的就绪任务将被函数ScheduleTaskByDuplication()调度到相应的虚拟机,所述函数ScheduleTaskByDuplication()首先用于保证就绪任务在其最晚完成时间前完成,且最小化运行成本;其次,最小化任务的完成时间而不考虑运行成本;当一个就绪任务被调度后,其部分或全部后续任务将变为就绪任务,同时调度方法SOLID找出刚变为就绪的任务,赋予权重,并添加到中readyTL;(3)当所有的工作流任务被调度到虚拟机后,调度方法SOLID调用函数EncryptData()对工作流的中间数据进行加密,所述函数EncryptData()为每个中间数据的每个安全服务选择合适的加密实例,来满足工作流的数据安全需求;(4)函数EncryptData()在每一次迭代中,利用任务的松弛时间来加密工作流的中间数据,来逐步增强数据的安全性。2.根据权利要求1所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其特征在于:步骤(1)中,任务权重的计算如下: r a n k ( t i ) = max ...

【专利技术属性】
技术研发人员:朱晓敏陈黄科邱涤珊
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1