高性能云计算平台的作业调度方法与流程

文档序号:14914816发布日期:2018-07-11 00:26阅读:178来源:国知局

本发明涉及云计算,特别涉及一种高性能云计算平台的作业调度方法。



背景技术:

移动终端处理的事务从传统的通信领域延伸到办公、支付等高安全事务领域。移动终端需要处理包括用户账户信息、个人隐私信息、支付订单信息、私密文件等。如何有效保障私密数据的安全性成为了移动终端设备开展安全、私密事务面临的难题。现有的解决方案是通过高强度密码算法对私密数据加密,并利用集群节点的权限控制来限制数据访问。但是移动终端集群节点的复杂性和开放性使其无法创造安全的运行环境,集群节点自身以及应用很容易遭受恶意攻击。此外将私密数据加密存储在普通文件系统中也存在遭受非法破坏导致攻击风险。虽然可信隔离区技术为应用处理私密数据提供了安全隔离的运行时环境,但未能为已验证的应用开发和web应用开发提供统一的安全访问接口,同时对发送数据安全访问请求的web应用做安全检测。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种高性能云计算平台的作业调度方法,包括:

云平台集群引擎启动成功后,向云平台主控模块发布集群引擎启动成功消息;

云平台集群空间实例化单元侦听集群引擎启动成功消息,接收到消息后,定时发送本机运行的web应用运行副本的具体信息;

集群引擎接收到集群空间实例化单元的消息,解析出web应用ID、web应用运行副本地址和端口;

根据web应用ID和预先设置的调度规则,选择出web应用运行副本进行处理;

将访问请求重定向到所选择的web应用运行副本。

优选地,在解析出web应用运行副本地址之后,该方法还包括:

如果该web应用运行副本地址在集群引擎的寻址列表中已经存在,则更新web应用运行副本的最近更新时间;

如果该web应用运行副本地址在集群引擎的寻址列表中不存在,则在集群调度在内存中维护的寻址列表新增一条记录。

优选地,在将访问请求重定向到所选择的web应用运行副本后,进一步包括:

web应用运行副本处理请求,完成具体的调用,将调用处理结果返回给集群引擎;

由集群引擎将调用结果返回给移动终端。

优选地,所述集群空间实例化单元将集群进行空间实例化,并对所有的空间实例进行统筹编排,记录和维护当前平台中运行的应用和web应用运行副本列表;

所述集群空间实例化单元中运行部署在云集群,根据服务端转发的消息内容构建运行副本、删除运行副本、监控运行副本的运行状态,同时,反馈运行副本的更新信息、反馈所在运行集群的资源状态,为服务器端处理获取web应用列表、构建应用、删除应用、更新应用的副本数量提供支撑。

本发明相比现有技术,具有以下优点:

本发明提出了一种高性能云计算平台的作业调度方法,将云平台的基础集群环境进行空间实例化,更加充分的利用集群的系统资源,解决了利用虚拟机的私有云所带来的耗时问题。既保证了私密数据与集群节点隔离,也保证了私密数据在已验证应用之间的隔离,保证私有存储的安全性。

附图说明

图1是根据本发明实施例的高性能云计算平台的作业调度方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种高性能云计算平台的作业调度方法。图1是根据本发明实施例的高性能云计算平台的作业调度方法流程图。

本发明首先在私有云计算系统中设置任务分配器,与集群引擎和主控模块连接,任务分配器在私有云平台中用于控制数据和事务数据的访问分配及访问请求的权限验证,集群引擎与集群空间实例化单元连接;主控模块进一步包括权限控制节点和管理控制节点;

对于控制数据和事务数据的访问分配,具体步骤如下:

①对访问地址进行解析,获取到访问的鉴权信息;

②将鉴权信息传递给主控模块,由主控模块的权限控制节点进行鉴权信息的验证,验证结果返回给任务分配器。

③如果验证结果失败,则任务分配器给移动终端返回失败信息;如果验证结果成功,则任务分配器分析访问数据的类型,分析出是控制数据还是事务数据;

④如果是控制数据则由主控模块进行控制数据的处理;

⑤如果是事务数据则将地址请求转发给集群引擎,由集群引擎进行事务数据的处理;

集群引擎将访问请求转发至具体的空间实例,由具体的空间实例进行事务处理后返回给集群引擎,由集群引擎返回处理结果给移动终端;

集群引擎在内存中维护寻址列表,所述寻址列表包括web应用ID、调度规则、web应用运行副本地址和最近更新时间。web应用ID是部署在空间实例中的web应用ID,一个web应用对应一个或多个web应用运行副本,并由web应用运行副本提供具体的处理;调度规则为任务调度的处理规则;web应用运行副本地址是访问空间实例应用时所使用的地址;web应用运行副本更新时间是空间实例应用时最近的更新时间;

处理的具体步骤如下:

集群引擎启动成功后,向主控模块发布集群引擎启动成功消息;

集群空间实例化单元侦听集群引擎启动成功消息,接收到消息后,集群空间实例化单元定时发送本机运行的web应用运行副本的具体信息;

集群引擎接收到集群空间实例化单元的消息后,解析出web应用ID、web应用运行副本地址和端口;

如果该web应用运行副本地址在集群引擎内存中维护的寻址列表中已经存在,则更新web应用运行副本的最近更新时间。

如果该web应用运行副本地址在集群引擎在内存中维护的寻址列表中不存在,则在集群调度在内存中维护的寻址列表新增一条记录;

根据地址请求,集群引擎解析出访问的web应用ID;根据访问的web应用ID,所设置的调度规则,选择出合适的web应用运行副本进行处理;将访问请求重定向到选择的web应用运行副本;

web应用运行副本处理请求,完成具体的调用,将调用处理结果返回给集群引擎;由集群引擎将调用结果返回给移动终端;

集群空间实例化单元将集群进行空间实例化,并对所有的空间实例进行统筹编排,记录和维护当前平台中运行的应用和web应用运行副本列表,主控模块接收数据信息并维护应用和web应用运行副本列表、监控和反馈web应用运行副本的状态;

其中,集群空间实例化单元在接收主控模块转发的控制数据后转发给响应进行处理,该控制数据包括获取web应用列表、构建web应用、删除web应用、更新副本数量;

集群空间实例化单元中运行部署在云集群,根据服务端转发的消息内容构建运行副本、删除运行副本、监控运行副本的运行状态,同时,反馈运行副本的更新信息、反馈所在运行集群的资源状态,为服务器端处理获取web应用列表、构建应用、删除应用、更新应用的副本数量提供支撑。

具体的,获取web应用列表的具体步骤如下:

①集群空间实例化单元访问数据库表获取应用ID、应用状态、对应的运行副本;

②集群空间实例化单向量织数据返回给移动终端;

构建应用的具体步骤如下:

①集群空间实例化单元发送构建应用资源请求的消息;

②集群空间实例化单元侦听该消息,通过计算得到本集群可以构建的运行副本数量;

③设置超时时间,得到在一定时间范围内响应列表,根据所可构建的运行副本数,将请求构建的副本数按照比例分配各个集群节点;其中,为集群节点分配可构建的运行副本数的具体步骤如下:

i,记录每次给集群节点分配的构建副本数;

ii,如果已经构建的副本数之和加上给集群节点将要分配运行副本数总和大于应用需要构建的运行副本数,则给集群节点分配构建的副本数等于应用需要构建的web应用运行副本数减去已经分配构建的副本数。

④给指定的集群节点发送需要构建的web应用运行副本数;

⑤集群节点获取镜像文件构建运行副本,构建完成后通知服务器端,并在集群调度中注册web应用运行副本的访问路径;

⑥根据反馈修改记录数据表中信息,当应用所需要的运行副本数都构建完成后,修改应用的状态为启动。

其中,删除应用的具体步骤如下:

①空间实例化引擎分析出要删除的web应用ID;

②空间实例化引擎发送删除应用的消息;

③集群节点侦听删除应用的消息,接收到消息后判断自身所在的集群是否有该应用的运行副本,如果没有该应用的运行副本,则结束;如果有该应用的运行副本,删除该应用的运行副本。

其中,更新web应用运行副本数量的具体步骤如下:

①空间实例化引擎计算web应用ID、变更的运行副本数量、变更操作类型(增加或者减少);

②如果操作类型是增加运行副本,则构建应用副本;

③如果操作类型是减少运行副本,具体操作如下:

i、从记录表中获得当前的运行副本列表;

ii、随机选择出要删除的运行副本;

iii、发送要删除web应用运行副本的消息;

iv、空间实例化引擎集群节点侦听该消息,接收到消息后判断自身所在的集群是否有该运行副本,如果没有该运行副本,不进行任何操作;如果有该运行副本,删除该运行副本。

其中,在将云平台收集到的访问请求调度到云平台的目标集群节点过程中,首先根据评价集群节点性能的适应度函数计算出当前全部集群节点的服务性能,依据终端请求事务量对云平台内部的集群节点进行条件过滤,将集群节点剩余空间量大于访问请求集合的总空间量的集群节点组成一个集合,该集合是对云平台的整体约束。将集群节点集合中k台集群节点抽象成k个聚类点并且分别与云平台中全部集群节点进行聚类,根据集群节点的两个空间量属性计算集群节点之间的相似度,然后由相似度给定一个阈值,将集群节点之间的相似度在阈值内的集群节点加入到一个新的集合。当集合中的元素不再变化时,这个集合就是聚类的最后结果。最后,将待处理的事务调度至最终集合中的集群节点。

1:假设有n台集群节点组成一个集合H,对全部集群节点进行一个约束条件限制,将集群节点的剩余空间量Li作为度量标准,Li定义如下:

Li=αLc+βLm

其中α+β=1

Lc为web应用空间量;Lm为已验证应用空间量;α和β分别为两者权重,其值的确定采用BP神经网络学习获取,根据集群节点性能的适应度函数,获取整个私有云中集群节点的各项性能监控数据,计算出当前云平台中n台集群节点的剩余空间量。将约束值定义为:特定时间段内接收到的访问请求集合的总空间量,即:

其中,LR表示为访问请求集合的总空间量,表示为访问请求集合中第i个事务的空间量。定义一个空集Φ,计算出访问请求集合的总空间量LR,当Li>LR时,将i集群节点调度至集合Φ中,否则继续寻找,当n台集群节点与约束值比较完成后得到的集合Φ,集合Φ={s1,s2,s3....,sm},即为聚类点的集合,m<n。

步骤2:根据集群节点性能的适应度函数得到每个集群节点的性能值,通过和约束值的限定,将性能相对较好的集群节点调度至集合Φ中。设Φ={s1,s2,s3....,sm}为m个集群节点组成的集合,对集合Φ中的集群节点的web应用空间剩余进行降序排序,假设sj为web应用空间剩余最大的集群节点,将sj作为聚类点,则计算相似度的公式为:

s(si,sj)=1/d(si,sj)

为集群节点j的第k个属性,由此计算出集群节点j与集群节点i之间的相似度s(si,sj):

步骤3:以sj为聚类点,计算sj与集合H中各个元素之间的相似度值。根据相似度给定一个阈值U,如果相似度大于阈值U,则将该元素加入新集合Φ'中。然后集合Φ按照集群节点处理器剩余的降序依次选择聚类点,分别计算与集合H中元素的相似度,将阈值大于U的元素调度至集合Φ'中,当集合Φ'中元素不再变化时,则迭代结束,集合Φ'为最终的聚类结果,即Φ'={s1',s2'...sq'},其中q<m<n。

步骤4:将接收的访问请求调度至集合Φ'中的集群节点,然后集合Φ'中的集群节点处理请求的事务集合,处理完成后将结果返回给用户。从集合Φ'中集群节点开始处理事务到处理完成,将这段时间内接收的访问请求数作为下一次待处理的事务。

所述主控模块的权限控制节点允许web应用通过调用管理接口向已验证应用发送数据私有访问请求。为使可信执行环境能够在web应用发送数据访问请求时对其进程进行安全检测,权限控制节点提供web应用的指纹信息作为检验准则,具体实现步骤为:

(1)读取web应用二进制文件信息,获取代码段大小Sizecode;

使用HASH算法对web应用代码段二进制信息进行HASH运算,生成代码段HASH值Hcode=Hash(Code),其中Code代表web应用代码段;

将代码段大小Sizecode和代码段HASH值Hcode作为web应用的指纹信息Fprapp=(Sizecode||Hcode);

(2)使用可信许可签名web应用的指纹信息Fprapp,生成指纹信息签名Sgapp=Sg(Sizecode||Hcode);

(3)将指纹信息签名Sgapp存储到已验证应用的特定数据段中。所述已验证应用是接受web应用数据访问请求的已验证应用。

当web应用向已验证应用发送数据访问请求时,集群节点将web应用的进程异常信息发送给可信执行环境的可信隔离区监视进程;可信隔离区监视进程捕获进程异常信息后,对web应用的进程异常信息进行检测,具体实现步骤如下:

(1)获取web应用的进程异常信息(包括接口调用数据地址、进程代码段基地址、进程代码段大小与已验证应用ID),并根据已验证应用ID从对应的已验证应用的特定数据段加载web应用指纹信息签名Sgapp;

(2)使用HASH算法对进程内存地址到进程代码段大小之间的代码段数据进行HASH运算,计算web应用进程的代码段HASH值H'code=Hash(Code),得到web应用的进程指纹信息Fpr'app=(CodeSize||H'code);其中Code表示web应用进程的代码段;

(3)使用可信许可公钥对指纹信息签名Sgapp进行验证,得到web应用的指纹信息Fprapp=(Sizecode||Hcode);

(4)比较指纹信息Fprapp和Fpr'app是否相等。如果相等,则判定当前web应用进程是合法的,并将检测状态标志位置1;否则判定当前web应用进程是非法的,则将检测状态标志位置0;

其中检测状态标志位表示当前web应用进程是否通过安全检测,如果检测标志位为1,则表示通过检测;否则表示未通过检测。

在完成安全检测后,接下来权限控制节点实现应用数据处理和密钥管理,进一步包括:

a)已验证应用发起数据存储操作的远程调用,请求参数中包括已验证应用ID、待处理的私密数据Datapv和密码算法Typeen;

b)接收到已验证应用的数据访问请求后,通过判断检测状态标志位来决定远程调用是否可以被接受处理。若检测状态标志位为0,则拒绝远程调用;若检测状态标志位为1,则处理远程调用;

c)安全检测通过后,根据密码算法Typeen发起密钥生成请求;

d)收到密钥生成请求后,首先根据密码算法Typeen调用密钥生成器生成对称密码算法的随机密钥KEY=KeyGenerator(IDTypeen);

其次加载已验证应用的许可公钥PKpy对密码算法Typeen和随机密钥KEY加密,生成密钥加密数据EPKpy=RSA(PKpy,(ID||KEY));

然后加载已验证应用的许可私钥PPKpy对密钥加密数据EPKpy签名,产生密钥签名数据SPKpy=Sg(PPKpy,EPKpy);

最后以已验证应用ID为索引将密钥加密数据EPKpy和密钥签名数据SPKpy按照特定组织方式存储到可信执行环境中的非易失性存储器上,并返回生成的随机密钥KEY。

其中,KeyGenerator是对称密钥生成器算法;RSA是公钥加密算法;Sg是公钥签名算法;

e)密钥成功生成后,根据密码算法Typeen调用对应的对称密码加密算法并使用随机密钥KEY对私密数据Datapv进行加密,生成加密数据EDatapv=SymEn(KEY,Datapv);

其次使用HASH算法对加密数据计算HASH值HDatapv=Hash(EDatapv);

然后使用已验证应用的许可私钥PPKpy对HASH值签名,生成签名数据SDatapv=Sg(PPKpy,HDatapv);

最后数据处理模块103以已验证应用ID为索引将加密数据EDatapv和签名数据SDatapv按照特定的组织方式存储到可信执行环境中的非易失性存储器上,并向已验证应用返回数据存储结果。

其中,SymEn是对称加密算法;Sg是公钥签名算法。

所述主控模块的权限控制节点还控制访问地址的鉴权信息验证,提供管理接口,包括获取web应用列表、构建应用、删除应用、更新web应用运行副本数量,具体步骤如下:

主控模块维护应用鉴权信息表,所述应用鉴权信息表包括web应用ID和鉴权信息;

接收鉴权信息;该鉴权信息包括下列特征:128位长度,具备唯一性,对应到唯一的应用,具备时间特性,对鉴权信息具备校验功能;

在应用鉴权信息表中寻找是否有对应的应用鉴权信息;

如果找到应用的鉴权信息,返回成功;如果没有找到应用的鉴权信息,返回失败;

解析地址请求参数,分析操作的接口;如果操作类型获取web应用列表、构建应用、删除应用、更新web应用运行副本数量,则将地址请求转发至集群空间实例化引擎;

集群空间实例化引擎进行具体的操作,并将处理结果反馈给主控制器的管理控制节点;

由主控制器将调用结果返回给移动终端。

此外,如果发现应用的运行状态和预设状态不一致,则通知空间实例化单元进行处理,步骤如下:

启动两个线程,侦听线程侦听空间实例化引擎发布的更新消息,并用于将更新信息消息存储在键值对系统,发现线程将应用的预设状态和运行状态进行比对,并通知空间实例化引擎处理状态差异;

侦听线程始终侦听消息总线,接收到更新信息消息后,分析出web应用ID、web应用运行副本访问地址、web应用运行副本的状态,以键值对的形式存放在键值对系统中;

发现线程定时从空间实例化引擎获取当前应用的预设状态和预设的运行副本,并同时从键值对系统中获取当前应用的实际运行状态进行比对,判断出和预设状态的差异,并通知空间实例化引擎进行处理,具体步骤如下:

发现线程定时从键值对系统中获取应用实际运行状态,获取到的每一个运行状态时刻作为一个快照;

记录应用实际运行状态的最近N个快照,并对N个快照进行比较,如果N个快照状态不一致,判断为当前网络不稳定或者正在进行故障转移造成,这种情况下不进行处理;

如果N个快照状态一致,开始判断web应用运行副本实际运行状态和预设状态是否一致,判断完成后,判断应用的副本数量是否和预设数量一致。

其中,所述检查运行副本实际运行状态和预设状态是否一致的具体步骤如下:

i根据空间实例化引擎提供的web应用运行副本列表,逐一和键值对系统中记录进行比对,如果两者记录的运行副本状态不一致,调用空间实例化引擎的管理接口完成状态变更;

ii只比较处于运行和停止状态的web应用运行副本,对处于中间状态的应用不进行处理;

情况1:空间实例化引擎中的记录的副本在键值对系统中没有,发现线程通知空间实例化引擎新构建一个副本;

情况2:空间实例化引擎中记录的副本在键值对系统中状态不一致,发现线程通知空间实例化引擎修改副本状态;

情况3:空间实例化引擎中没有记录,但键值对系统中有更新信息,发现线程通知空间实例化引擎移除该副本;

所述判断应用的副本数量是否和预设数量一致的具体步骤如下:

i获取空间实例化单元中记录的应用运行数量的期望值,和键值对系统记录的副本更新信息数量进行比较;

ii只比较处于运行和停止状态的应用,其他状态不处理。

两者进行比较存在的可能情况包括:

情况1:如果空间实例化引擎记录的副本预设数量多于键值对系统记录的副本数量,通知空间实例化引擎减少运行副本;

情况2:如果空间实例化引擎记录的副本预设数量少于键值对系统记录的副本数量,通知空间实例化引擎增加运行副本。

应用运行副本数据验证标签生成后,针对每个副本Rj建立哈希树TREEj,TREEj的叶子节点为在主关键字上有序的向量HASH值集合{h(H(rij))},树根为hRj。

利用所有副本哈希树TREE的根节点HASH值{hRj}1≤j≤m生成签名Sg1=(IDR|hR)α。同一数据副本的验证标签集合与应用运行副本哈希树与应用运行副本数据一起存储在云中相同集群节点中。

web应用同时对集群节点数据副本发出采样请求,进行完整性验证。采样检查的流程包括:

(1)web应用委托的可信第三方验证节点确定要采样的向量数目c,1≤c≤N并随机生成置换函数πkey(·)的密钥k1与随机映射函数ψkey(·)的密钥k2。验证节点使用相同的随机置换函数与随机映射函数,并按照相同的密钥k1,k2生成挑战值集合C={(i,vi)},C代表要进行验证的向量关键字值i∈[1,N]以及对应的随机值vi。其中{i}=πkey(k)1≤k≤c,{vi}=ψkey(k)1≤k≤c。验证节点将采样信息(C,k1,k2)发送给集群节点。

(2)集群节点收到验证节点发出的采样信息后,生成验证证据P来证明各个集群节点正确了存储web应用的副本数据。生成的验证证据P={σ,μ,<H(r)ij),Iij>(i,*)∈C,1≤j≤m,S},其中:

①σ为采样向量的聚合标签值,为采样副本向量验证标签聚合值,其中σi=Πj∈[1,m]σij,为对应同一向量的多个数据副本的同态标签的聚合标签,σ∈G;

②μ为能够证明集群节点存储web应用的采样数据向量的验证信息,针对web应用所有数据副本μ={μj}1≤j≤m,其中每个副本中向量数据计算过程为

③Iij为哈希树TREE上对应每个数据副本采样向量的辅助验证路径信息,该信息记录了从TREE根节点到采样数据向量对应的叶子节点路径上的所有的兄弟节点信息以及位置信息。

(3)验证节点接收到集群节点返回的验证值P后,验证P的正确性:

①根据<H(r)ij),Iij>(i,*)∈C,1≤j≤m与应用运行副本编号信息,重构V=IDR|hR;

②确定该web应用返回的校验值的信息是否正确,检查等式是否成立:

e(·,·)为双线性映射,如果验证通过,则返回true,否则返回false。

综上所述,本发明提出了一种高性能云计算平台的作业调度方法,将云平台的基础集群环境进行空间实例化,更加充分的利用集群的系统资源,解决了利用虚拟机的私有云所带来的耗时问题。既保证了私密数据与集群节点隔离,也保证了私密数据在已验证应用之间的隔离,保证私有存储的安全性。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1