掌桥专利:专业的专利平台
掌桥专利
首页

基于任务分类和隐私保护的异构混合云调度方法

文献发布时间:2024-01-17 01:20:32


基于任务分类和隐私保护的异构混合云调度方法

技术领域

本发明涉及云计算领域,具体涉及一种基于任务分类和隐私保护的异构混合云调度方法。

背景技术

近些年来,云计算作为一种计算模式和商业服务,以其资源多、弹性高、按需付费的特点,越来越收到商业界和学术界的青睐。云计算通过将大量的计算资源共同集中到一个共享的资源池当中,通过互联网以最小的平台管理和维护成本,实现高效的大规模的资源利用。

随着近几年大数据时代的到来,需要使用大量的计算资源来处理大量的数据。越来越多的企业开始搭建自己的私有云,来为内部用户提供高质量的安全和管理控制。然而企业往往需要灵活的计算资源,如果企业搭建一个充分大的私有云集群来满足节假日时候的高峰值需求量,那企业是需要花费巨大的成本,并且在资源需求量较低的时候,私有云的资源利用率极低,会浪费大量的资源。因此当企业的私有云资源的处理能力有限时,合理选择公有云和私有云相结合的架构来处理大量数据是一个性价比较高的选择,公有云和私有云相结合使用的方式称为混合云。

针对混合云中的工作流调度问题,现有技术存在以下问题:

1、针对多个私有云集群和多个公有云平台组成的混合云调度是当前需要解决的一个问题。

2、当面向对象是多个公有云平台时,单凭价格无法在不同的公有云平台之间进行区分选择。

3、很多使用表调度启发式的工作流调度算法,往往是直接对任务进行排序,而没有事先对任务进行分类,不能将任务分配到适合自身的处理器类型上,从而充分合理地利用资源。

4、企业搭建私有云很大原因是为了保护公司内部数据的安全性和隐私性,因此将企业提交的工作流在公有云与私有云之间进行调度时,首先保护数据的隐私安全是首要任务,在针对混合云调度的研究中,发现现有的混合云调度方法没有重视数据的隐私安全。

发明内容

为了克服上述现有技术的缺陷,本发明提供了一种基于任务分类和隐私保护的异构混合云调度方法,针对多个私有云集群和多个公有云平台组成的混合云调度,会通过对任务和私有云资源进行分类,在考虑保护数据隐私安全的前提下,将任务分配到适合自身的处理器类型上,充分合理利用资源,会结合价格与地理位置距离来进行选择公有云平台,最终在满足用户指定截止日期的前提下,得到一个成本最小化的混合云调度方案。

本发明提供如下技术方案:一种基于任务分类和隐私保护的异构混合云调度方法,包括:

S1,任务分类,将工作流中的任务分为计算密集型和通信密集型两大类,再根据当前任务是否会涉及隐私数据,将工作流中的任务分为隐私任务和非隐私任务,最终工作流中的任务分为四小类:(1)计算密集-隐私型、(2)计算密集-非隐私型、(3)通信密集-隐私型、(4)通信密集-非隐私型。

通信密集型任务的特点是资源的CPU消耗低,作业的大部分执行时间都是在等输入输出操作完成,对于通信密集型任务需要频繁地访问共享内存,内存争用会导致系统性能的降低,从而影响整个工作流的执行时间;然而计算密集型任务的的特点是计算量大,需要消耗大量的CPU资源,在多核体系结构中,计算密集型任务可以通过多核来获取高性能效果。因此将工作流中的任务分为通信密集型和计算密集型两大类,能够最大限度的减少内存争用问题,从而提高系统性能和资源利用率,将不同类型的任务分配到相应类型的服务器资源池当中,以减少响应时间。

S2,私有云资源分类,根据物理因素将私有云中处理器资源分为主计算型资源和主通信型资源,形成两个类型的资源池。

S3,任务排序,分别将计算密集型任务和通信密集型任务进行排序,形成两个排序列表,排序的标准采用向上排序值。

向上排序值是指当前任务到出口任务的关键任务的长度,包括当前任务的计算代价。整个列表按照向上排序值降序排列,拥有大的排序值的任务优先执行调度操作。

S4,任务子预期分配,根据任务的向上排序值在所有任务向上排序值总和中占的比值,来分配每个任务子预期。

其中,用户在提交工作流的同时,会指定一个截止期限,将整个工作流的截止期限细分为每个任务的截止期限,即为子预期。

S5,私有云处理器选择,在形成的计算密集型任务和通信密集型任务两个排序列表中,分别依次调用任务,将不同类型的任务分配到相对应的资源池中,从而筛选出当前资源池能满足任务子预期的私有云处理器。

S6,公有云再分配,如果不存在满足任务子预期的私有云处理器,则根据当前任务是否是隐私任务进行两种不同选择,如果当前任务是隐私任务,当前任务存放在私有云资源池中,在私有云资源池中选出一个最早完成时间的私有云处理器,将当前任务部署在这个私有云处理器上;如果当前任务是非隐私任务,则将其在公有云中进行再分配。

例如,当前任务的数据已经传输到当前私有云处理器,但私有云处理器还在处理其他任务,则私有云处理器的最后一个任务的执行结束时间即为当前任务的执行开始时间。

即最终计算密集-隐私型任务和通信密集-隐私型任务必须在相对应的私有云资源池当中选择处理器,而计算密集-非隐私型任务和通信密集-非隐私型任务在不满足任务子预期的情况下,才会到公有云进行再分配。

优选地,物理因素包括CPU速度、内存性能和存储磁盘输入输出性能。

优选地,在为任务选择处理器时,首先满足任务子预期,再去考虑其他因素,其他因素包括优化成本。

优选地,于S5中,基于当前私有云处理器的最后一个任务的执行结束时间以及当前任务的数据到达当前私有云处理器的传输结束时间选择私有云处理器。

优选地,选择私有云处理器时优先考虑插入策略,在当前私有云处理器上已调度的两个任务之间的最早空闲时隙当中插入当前任务。

空闲时隙的长度,即在同一私有云处理器上连续调度的两个任务的执行开始时间和执行结束时间之差。此外,在这个空闲时隙上的调度必须遵守任务之间的优先约束关系。

优选地,在所筛选出的满足任务子预期的私有云处理器中,选择一个成本最低的私有云处理器作为任务的最终部署。

优选地,于S6中,根据当前任务与其直接前驱任务所部署的服务器的地理位置的距离,来选择不同公有云平台上的不同类型不同价格的服务器。

优选地,在满足任务子预期的前提下,选择公有云成本最低的服务器,如果不存在满足任务子预期的服务器,则为任务选择一个最快完成的服务器进行分配。

本发明具备以下有益效果:

1、本发明特别针对多个私有云集群和多个公有云平台组成的混合云调度问题进行设计算法。

2、本发明根据每个任务的计算和通信偏向对其进行分类,同时对私有云资源进行主计算和主通信的分类。在保证任务数据的隐私安全的前提下,将不同类型的任务分配到相应类型的服务器资源池当中,提高系统性能和资源利用率,以减少响应时间。

3、本发明会根据当前任务与其直接前驱任务所部署的服务器的地理位置的距离,来选择不同公有云平台上的不同类型不同价格的处理器。

附图说明

图1为本发明基于任务分类和隐私保护的异构混合云调度方法流程图;

图2为一个实施例的任务分类模型图;

图3为一个实施例的私有云资源分类模型图;

图4为一个实施例的混合云调度流程图。

具体实施方式

下面结合实施示例对本发明的具体实施方式作进一步详细描述,以下实施示例仅用于说明本发明,但不限制本发明的范围。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴。

请参考图1,一种基于任务分类和隐私保护的异构混合云调度方法,包括:

S1,任务分类,将工作流中的任务分为计算密集型和通信密集型两大类,再根据当前任务是否会涉及隐私数据,将工作流中的任务分为隐私任务和非隐私任务,最终工作流中的任务分为四小类:(1)计算密集-隐私型、(2)计算密集-非隐私型、(3)通信密集-隐私型、(4)通信密集-非隐私型。

S2,私有云资源分类,根据物理因素将私有云中处理器资源分为主计算型资源和主通信型资源,形成两个类型的资源池。

S3,任务排序,分别将计算密集型任务和通信密集型任务进行排序,形成两个排序列表,排序的标准采用向上排序值。

S4,任务子预期分配,根据任务的向上排序值在所有任务向上排序值总和中占的比值,来分配每个任务子预期。

S5,私有云处理器选择,在形成的计算密集型任务和通信密集型任务两个排序列表中,分别依次调用任务,将不同类型的任务分配到相对应的资源池中,从而筛选出当前资源池能满足任务子预期的私有云处理器。

S6,公有云再分配,如果不存在满足任务子预期的私有云处理器,则根据当前任务是否是隐私任务进行两种不同选择,如果当前任务是隐私任务,当前任务存放在私有云资源池中,在私有云资源池中选出一个最早完成时间的私有云处理器,将当前任务部署在这个处理器上;如果当前任务是非隐私任务,则会将其在公有云中进行再分配。

在一种实施例中,如图2所示,将工作流中的任务分为通信密集型和计算密集型两大类,再根据当前任务是否会涉及隐私数据,将工作流中的任务分为隐私任务和非隐私任务,最终工作流中的任务分为四小类:(1)计算密集-隐私型、(2)计算密集-非隐私型、(3)通信密集-隐私型、(4)通信密集-非隐私型。

在一种实施例中,如图3所示,根据CPU速度、内存性能和存储磁盘输入输出性能将私有云中处理器资源分为主计算型资源和主通信型资源,形成两个类型的资源池。

在一种实施例中,如图4所示,在形成的计算密集型任务和通信密集型任务两个排序列表中,分别依次调用任务,将不同类型的任务分配到相对应的资源池中。在这个阶段会筛选出当前资源池能满足任务子预期的私有云处理器,选择私有云处理器基于当前处理器的最后一个任务的执行结束时间以及当前任务的数据到达当前私有云处理器的传输结束时间。此阶段会优先考虑插入策略,即在当前私有云处理器上已调度的两个任务之间的最早空闲时隙当中插入当前任务。空闲时隙的长度,即在同一私有云处理器上连续调度的两个任务的执行开始时间和执行结束时间之差。此外,在这个空闲时隙上的调度必须遵守任务之间的优先约束关系。在所筛选出的满足任务子预期的私有云处理器中,选择一个成本最低的私有云处理器作为任务的最终部署。如果不存在满足任务子预期的私有云处理器,则会根据当前任务是否是隐私任务进行两种不同选择。第一,如果当前任务是隐私任务,为了保护数据的隐私安全,当前任务必须存放在私有云资源池中,会在私有云资源池中选出一个最早完成时间的处理器,将当前任务部署在这个处理器上;第二,如果当前任务是非隐私任务,则会将其在公有云中进行在分配。即最终计算密集-隐私型任务和通信密集-隐私型任务必须在相对应的私有云资源池当中选择处理器,而计算密集-非隐私型任务和通信密集-非隐私型任务在不满足任务子预期的情况下,才会到公有云进行再分配。在对于不满足任务子预期的非隐私任务根据当前任务与其直接前驱任务所部署的服务器的地理位置的距离,来选择不同公有云平台上的不同类型不同价格的服务器。在满足任务子预期的前提下,选择公有云成本最低的服务器,如果不存在满足任务子预期的公有云资源,则为任务选择一个最快完成的服务器进行分配。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术分类

06120116149302