一种带安全约束的成批作业‑资源匹配方法及系统与流程

文档序号:11133720阅读:376来源:国知局
一种带安全约束的成批作业‑资源匹配方法及系统与制造工艺
本发明涉及一种带安全约束的成批作业-资源匹配方法及系统,尤其适用于数据安全性较高的成批作业调度应用,例如基于MapReduce的警务数据作业调度、交通监控作业调度等,属于分布式并行计算领域。
背景技术
:作为Hadoop的核心组件之一的MapReduce框架被广泛应用。MapReduce在数据处理时,将大的任务分成一个个小的计算作业,该类作业为典型的成批作业,包括Map作业和Reduce作业。在一批任务到达时,MapReduce将其分成非常多的Map和Reduce作业,此时不同的作业调度策略有不同的效果,成批作业调度策略对集群的资源利用率和系统的执行效率有很大影响。现有的Hadoop调度器主要有:(1)先来先服务调度器:Hadoop的默认调度器,按照作业的到达顺序安排执行次序;(2)公平调度器:配置作业的资源占用量,使得每个任务的资源占用量保持平衡;(3)延迟调度:当前空闲的机器上没有当前作业所需的数据时,该作业延迟一段时间,当存有数据的机器空闲时执行该延迟作业。研究者们提出了一些关于成批作业调度的方法,比如采取预取策略以缩短数据准备时间[电子科技大学.一种基于MapReduce的数据预取方法:中国,201510299063.6[P].2015-09-23],不同的方法适用于不同的作业调度应用,比如上述策略在重视作业截止期约束的作业调度应用中有较好的优化效果。实际应用中许多作业调度应用具有安全性约束,比如警务数据作业调度,交通监控作业调度等,数据的安全性要求较高,数据的转移和复制受到一些限制,往往需要经过加密才能够被转移或复制。对于这类应用,现有的作业调度策略没有涉及安全性约束的方法。综上所述,现有的作业调度方法不能很好的适应实际应用中具有安全约束的批处理成批作业调度问题。技术实现要素:发明目的:针对现有技术中存在的问题,考虑到数据所具有的特殊安全性约束,本发明提供一种带安全约束的成批作业-资源匹配方法及系统,满足实际应用的需求,在获得较短的批处理作业完工时间的基础上,保证数据的安全访问。技术方案:一种带安全约束的成批作业-资源匹配方法,包括以下步骤:步骤A、服务器端控制节点对安全性进行配置;数据节点的当前安全设置情况,为数据节点设置安全等级;根据数据源对安全性的要求,为数据源设置安全要求等级;根据作业请求者权限,设置作业权限等级;步骤B、服务器端控制节点采用基于安全约束和负载平衡的作业与数据节点映射方法,将Map作业映射到满足安全和负载平衡约束的数据节点上,将各节点上的作业按优先级进行排序并依次执行;所示安全约束包含2点:(1)作业只能在其有权限执行的数据节点上执行;(2)安全要求高的数据源必须以加密状态存储在安全等级低的数据节点上。所示负载平衡指的是控制节点根据数据节点计算能力,设置每个数据节点上可以映射的作业数量上限。步骤C、服务器端宕机监测节点周期性检测数据节点当前状态,实时将故障数据节点ID反馈给服务器端控制节点;步骤D、服务器端控制节点收到故障数据节点ID,对当前映射到该节点上未完成的作业按照安全约束和负载平衡的作业与数据节点映射方法,将作业重新映射至未宕机数据节点。采用基于安全约束和负载平衡的作业与数据节点映射方法,计算出若干映射方案,选择代价最低方案进行执行;方案代价=设置的每次数据源复制代价*数据源复制次数+设置的每次加密代价*加密次数。Map作业映射到数据节点上时,很可能该数据节点上没有作业计算所需数据源,需要先将数据源复制过来。复制的过程需要满足安全约束,即安全要求高的数据源必须以加密状态存储在安全等级低的数据节点上。控制节点在将作业映射至数据节点上时,除了满足安全约束与负载平衡外,应该尽可能少的发生复制与加密。一种带安全约束的成批作业-资源匹配系统包括控制节点、数据节点和宕机检测节点。控制节点:接收来自用户的作业并且接收来自宕机检测节点的安全约束和宕机信息;控制节点收到宕机信息后,根据故障数据节点ID,对当前映射到该节点上的作业按照安全约束和负载平衡的作业与数据节点映射方法,将作业重新映射至未宕机数据节点;控制节点收到安全约束信息后,匹配能接受任务的子节点。控制节点对安全性进行配置:数据节点的当前安全设置情况,为数据节点设置安全等级;根据数据源对安全性的要求,为数据源设置安全要求等级;根据作业请求者权限,设置作业权限等级;采用基于安全约束和负载平衡的作业与数据节点映射方法,将作业映射到满足安全和负载平衡约束的数据节点上,进行基于安全约束和负载平衡的作业调度/重调度工作。数据节点:向控制节点提供各节点的安全等级信息,接收控制节点分配的作业后负责对各自等待队列中的作业进行优先级排序并执行,根据作业分配情况进行必要的数据源复制操作和加密操作,即作业映射到数据节点上时,如果该数据节点上没有作业计算所需数据源,需要先将数据源复制过来;安全要求高的数据源存储在安全等级低的数据节点上必须加密;在作业执行的过程中采集各自的节点负载信息提交给控制节点;宕机检测节点:进行周期性的数据节点宕机故障检测,将宕机数据节点ID反馈给控制节点。本发明采用上述技术方案,具有以下有益效果:本发明提供的带安全约束的成批作业-资源匹配方法及系统,在成批作业调度过程中考虑安全性约束的实际情况,策略简单直接,对于涉及安全性的作业调度应用具有很好的实用性。附图说明图1为本发明系统优选实施例的架构示意图;图2是本发明方法优选实施例在控制节点上的步骤流程图;图3图2是本发明方法优选实施例在数据节点上的步骤流程图。具体实施方式下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。传统的MapReduce系统包括控制节点和数据节点,如图1所示,本发明提供的带安全约束的成批作业-资源匹配方法实现系统增设了宕机检测节点。带安全约束的成批作业-资源匹配系统包括控制节点、数据节点和宕机检测节点。控制节点:控制节点:接收来自用户的作业并且接收来自宕机检测节点的安全约束和宕机信息;控制节点收到宕机信息后,根据故障数据节点ID,对当前映射到该节点上的作业按照安全约束和负载平衡的作业与数据节点映射方法,将作业重新映射至未宕机数据节点;控制节点收到安全约束信息后,匹配能接受任务的子节点;控制节点对安全性进行配置:数据节点的当前安全设置情况,为数据节点设置安全等级;根据数据源对安全性的要求,为数据源设置安全要求等级;根据作业请求者权限,设置作业权限等级;采用基于安全约束和负载平衡的作业与数据节点映射方法,将作业映射到满足安全和负载平衡约束的数据节点上,进行基于安全约束和负载平衡的作业调度/重调度工作。数据节点:向控制节点提供各节点的安全等级信息,接收控制节点分配的作业后负责对各自等待队列中的作业进行优先级排序并执行,根据作业分配情况进行必要的数据源复制操作和加密操作,即作业映射到数据节点上时,如果该数据节点上没有作业计算所需数据源,需要先将数据源复制过来;安全要求高的数据源存储在安全等级低的数据节点上必须加密;在作业执行的过程中采集各自的节点负载信息提交给控制节点;宕机检测节点:进行周期性的数据节点宕机故障检测,将宕机数据节点ID反馈给控制节点。控制节点采用基于安全约束和负载平衡的作业与数据节点映射方法,计算出若干映射方案,选择代价最低方案进行执行;方案代价=设置的每次数据源复制代价*数据源复制次数+设置的每次加密代价*加密次数。带安全约束的成批作业-资源匹配方法,包括以下步骤:步骤A、服务器端控制节点对安全性进行配置;数据节点的当前安全设置情况,为数据节点设置安全等级;根据数据源对安全性的要求,为数据源设置安全要求等级;根据作业请求者权限,设置作业权限等级;步骤A中安全等级划分工作基于数据节点所在地理位置、数据节点上的安全配置,包括防火墙设置、端口设置、安全软件安装情况、数据节点所有者对安全等级划分的建议;步骤B、服务器端控制节点采用基于安全约束和负载平衡的作业与数据节点映射方法,将Map作业映射到满足安全和负载平衡约束的数据节点上,将各节点上的作业按优先级进行排序并依次执行;所示安全约束包含2点:(1)作业只能在其有权限执行的数据节点上执行;(2)安全要求高的数据源必须以加密状态存储在安全等级低的数据节点上。所示负载平衡指的是控制节点根据数据节点计算能力,设置每个数据节点上可以映射的作业数量上限,每个数据节点上映射的作业数量不能超过指定阈值。步骤C、服务器端宕机监测节点周期性检测数据节点当前状态,实时将故障数据节点ID反馈给服务器端控制节点;步骤D、服务器端控制节点收到故障数据节点ID,对当前映射到该节点上未完成的作业按照安全约束和负载平衡的作业与数据节点映射方法,将作业重新映射至未宕机数据节点。采用基于安全约束和负载平衡的作业与数据节点映射方法,计算出若干映射方案,选择代价最低方案进行执行;方案代价=设置的每次数据源复制代价*数据源复制次数+设置的每次加密代价*加密次数。Map作业映射到数据节点上时,很可能该数据节点上没有作业计算所需数据源,需要先将数据源复制过来。复制的过程需要满足安全约束,即安全要求高的数据源必须以加密状态存储在安全等级低的数据节点上。控制节点在将作业映射至数据节点上时,除了满足安全约束与负载平衡外,应该尽可能少的发生复制与加密。如图2所示,控制节点上主要处理的步骤包括:设置数据节点安全等级/数据源安全要求等/作业权限;基于安全约束与负载平衡的作业分配/重分配;根据基于安全约束和负载平衡的作业与数据节点映射方法及最低方案进行执行的原则,作业分配/重分配方案要求满足以下条件:(1)作业只能分配到其有权限执行的数据节点上;控制节点不会将成批作业映射至其没有权限的数据节点之上;(2)作业尽可能分配到其所计算的数据源所在数据节点上,减少数据源复制次数;如果作业所分配的数据节点上没有其所需数据节点,则将发生数据源复制;复制过程中,安全要求高的数据源从安全等级高的数据节点上复制到安全等级低的数据节点上,安全等级高的数据节点必须先将数据源进行加密操作,再将加密后的数据源复制至安全等级低的数据节点上;(3)如果作业无法分配到其数据源所在数据节点上,则尽可能避免将安全要求高的数据源复制到安全等级低的数据节点上,以减少数据源加密次数;对安全要求高的数据源可以以明文方式存储在安全等级高的数据节点上;对安全要求低的数据源可以以明文方式存储在安全等级低或安全等级高的数据节点上;(4)作业分配应保证每个数据节点上的作业数量不超过指定阈值,以保证负载均衡;如图3所示,数据节点主要执行流程为:(1)接收作业请求并执行作业:判断是否接收到作业请求。如果接收到,则进一步判断所需数据源是否在该数据节点上,如果不在则向数据源所在节点发送数据源复制请求并接收数据源副本执行作业并将完成信息返回给控制节点;如果没有收到接收作业请求,则判断(2)是否接收数据源复制请求。如果接收到,则判断是否数据源安全要求高且请求数据源的数据节点安全等级低,如果是则需对数据源进行加密;将数据源发送至请求数据节点。如果没有接收到或者数据源已经复制,则判断是否发生宕机,如果没有发生,则(3)定期发送心跳给宕机检测节点;否则结束。表1是在发生数据源复制时,数据源加密操作执行表。数据节点会根据数据节点安全等级和数据源安全要求等级,参照此表决定是否发生数据源加密操作。表1在发生数据源复制时,数据源加密操作执行表表2预处理阶段的Map作业权限表服务端控制节点对安全性进行配置,数据节点的当前安全设置情况,为数据节点设置安全等级;当前系统中有3个数据节点,服务器控制节点对这些数据节点所设置的安全等级,如表3所示。在本实施例中,安全等级只有高和低两种等级。表3数据节点ID安全等级当前状态数据节点1高正常数据节点2低正常数据节点3高正常控制节点根据数据源对安全性的要求,为数据源设置安全要求等级;表4显示当前每个数据节点上数据源的安全要求等级。设当前数据源都尚未加密。表4数据源ID安全要求等级是否加密数据节点ID数据源a低否数据节点1数据源b高否数据节点1数据源c低否数据节点2数据源d低否数据节点2数据源e高否数据节点3数据源f低否数据节点3数据源g高否数据节点3控制节点根据作业请求者权限,设置作业权限等级;控制节点在本周期内收到10个作业请求。控制节点从作业请求中查看到每个作业所需数据源和请求者的信息,设置每个作业请求的权限。表5显示控制节点当前收到的作业在每个数据节点上的权限。0表示无权限,1表示有权限;表6显示每个作业所请求的数据源以及作业状态。表5表6作业ID数据源ID作业状态作业1数据源c未完成作业2数据源g未完成作业3数据源b未完成作业4数据源d未完成作业5数据源e未完成作业6数据源f未完成作业7数据源g未完成作业8数据源a未完成作业9数据源b未完成作业10数据源c未完成控制节点根据数据节点计算能力,设置每个数据节点上可以映射的作业数量上限,如表7所示。表7数据节点ID负载阈值数据节点13数据节点25数据节点33服务器端控制节点采用基于安全约束和负载平衡的作业与数据节点映射方法,将Map作业映射到满足安全和负载平衡约束的数据节点上,将各节点上的作业进行排序并依次执行。控制节点根据表3-表7信息,基于安全和负载均衡策略,计算出若干映射方案。在每个方案中,作业优先级由整数表示,整数值越低,表示优先级越高;在计算方案代价时,设置复制代价为10/每次,加密代价为15/每次。方案一,如表8所示。方案一总共需要进行6次复制和3次加密,总代价为105。表8方案二,如表9所示。方案二总共进行了5次复制和1次加密,总代价为65。表9作业ID数据节点ID是否发生复制是否发生加密优先级作业1数据节点2是否0作业2数据节点1是否0作业3数据节点3是否0作业4数据节点2否否1作业5数据节点3否否1作业6数据节点2是否2作业7数据节点2是是3作业8数据节点1否否1作业9数据节点1否否2作业10数据节点2否否4根据代价比较,方案二代价较低。控制节点决定执行方案二。执行方案二后,表4因为数据源复制发生改变,如表10所示。表10数据源ID安全要求等级是否加密数据节点ID数据源a低否数据节点1数据源b高否数据节点1数据源b高否数据节点3数据源c低否数据节点2数据源d低否数据节点2数据源e高否数据节点3数据源f低是数据节点2数据源g高否数据节点1数据源g高是数据节点2服务器端宕机监测节点周期性检测数据节点当前状态,实时将故障数据节点ID反馈给服务器端控制节点;在上述10个作业执行过程中的某个时刻,服务器端宕机监测节点检测到数据节点1发生宕机。此时表1信息发生变化,如表11所示表11数据节点ID安全等级当前状态数据节点1高正常数据节点2低正常数据节点3高宕机当前作业完成情况如表12所示。发现数据节点3上面有作业5未完成,需要重新映射到运行正常的数据节点。表12作业ID作业状态数据节点ID作业1已完成数据节点2作业2已完成数据节点1作业3已完成数据节点3作业4未完成数据节点2作业5未完成数据节点3作业6未完成数据节点2作业7未完成数据节点2作业8未完成数据节点1作业9未完成数据节点1作业10未完成数据节点2控制节点根据表5发现,作业5只在数据节点1和数据节点3上有权限,当前只有数据节点1运行正常,所以控制节点将作业5所需数据源e从备份处拷贝至节点1,无需加密。并将作业5重新映射至数据节点1。通过上述过程,本发明实现基于安全约束的批处理成批作业调度,在获得较短的批处理作业完工时间的基础上,可保证数据的安全访问。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1