一种基于云计算的快速数据处理方法与流程

文档序号:15402310发布日期:2018-09-11 17:50阅读:236来源:国知局

本发明涉及云计算,特别涉及一种基于云计算的快速数据处理方法。



背景技术:

目前,随着云计算业务的技术不断发展,在很多情况下需要对sdn架构中的应用服务器的计算进行动态调整。应用服务器在访问高峰应用服务器的计算压力大,此时需要更多的计算资源,以增加应用服务器的计算性能;而在访问低谷时,应用服务器的计算压力小,如果应用服务器的计算性能过大,则就会造成计算资源的浪费。但是目前sdn架构的应用服务器计算性能在进行调整时,只能依赖于手动进行应用服务器的增减,调整速度较慢,无法满足应用服务器快速扩展和收缩的要求。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于云计算的快速数据处理方法,包括:

在基于sdn的云平台中依次设置入口组件、后台服务组件、元数据处理组件、数据持久化组件;在入口组件和后台服务组件之间设置后端服务中间件,后台服务组件和元数据处理组件之间设置元数据处理中间件,元数据处理组件和数据持久化组件之间设置数据服务中间件;

任一上层组件通过中间件来获取其下层组件提供的服务,中间件为上层组件提供下层组件的单一访问入口,中间件将上层的服务请求按负载均衡策略分散到下层的各个服务节点中,超出中间件处理能力的请求推送到缓存队列中。

优选地,所述入口组件是整个云平台架构的入口点,实现负载均衡机制;所述后台服务组件中部署不同的基于sdn的服务器软件;所述元数据处理组件中部署不同的元数据服务器软件;所述数据持久化组件中设置数据库服务和文件服务。

优选地,所有的会话由元数据处理中间件中的会话生成组件生成并存储在元数据处理中间件中的数据库中,元数据处理服务器只需从元数据处理中间件获取相应的会话即可实现会话的共享和高速存取。

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

本发明提出了一种基于云计算的快速数据处理方法,通过自动调整应用服务器的数量或能力,保证了云端计算服务的稳定性。

附图说明

图1是根据本发明实施例的一种基于云计算的快速数据处理方法的流程图。

具体实施方式

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

本发明的一方面提供了一种基于云计算的快速数据处理方法。图1是根据本发明实施例的一种基于云计算的快速数据处理方法流程图。

本发明将基于sdn的云平台按功能分为入口组件、后台服务组件、元数据处理组件、数据持久化组件。并且在以上各个功能组件之间添加相应的中间件。云计算提供商按照该体系组织云平台服务器,根据性能需求自动增减服务器数量。

入口组件作为整个云平台架构的入口点,实现支持各种负载均衡算法的负载均衡机制,增加了以下两项优化的机制:

(1)队列机制。当存在超过入口组件处理能力的客户端请求数量时,入口组件启用队列机制将超出的请求放入队列中,避免超出的客户端请求数量进入整个前端处理组件导致整个云平台故障;

(2)地址映射机制。只需使用一个公有云地址作为入口组件的地址并让一级域名指向该地址,然后为用户的每个应用分配一个唯一的多级域名,就可以在入口组件中建立一个多级域名与应用的映射。

当请求到达入口组件时,入口组件会检查该请求的报头,按其域名通知后台服务组件应返回哪个应用中的数据。当部署在云平台中的某个应用遭受到攻击时,入口组件只需要丢弃特定域名的请求即可隔离该应用,避免对其他应用的正常运行造成影响。

此外,入口组件将云平台私有云和公有云隔离,可在入口组件进行各种安全防护操作,提高整个云平台架构的安全性。

在本发明的基于sdn的云平台中,入口组件和后台服务组件之间设置后端服务中间件,后台服务组件和元数据处理组件之间设置元数据处理中间件,元数据处理组件和数据持久化组件之间设置数据服务中间件。

任一上层组件通过中间件来获取其下层组件提供的服务,中间件为上层组件提供下层组件的单一访问入口,中间件将上层的服务请求按负载均衡策略分散到下层的各个服务节点中,超出中间件处理能力的请求推送到缓存队列中,以保证服务的稳定性;

为了解决元数据处理组件中多个真实的元数据处理服务器如何共享会话的问题,所有的会话由元数据处理中间件中的会话生成组件生成并存储在元数据处理中间件中的数据库中,元数据处理服务器只需从元数据处理中间件获取相应的会话即可实现会话的共享和其高速存取。

在后台服务组件中,云计算提供商可以部署不同的基于sdn的服务器软件;在元数据处理组件中,部署不同的元数据服务器软件。数据持久化组件由数据库服务和文件服务组成:

(1)数据持久化组件的数据库服务部署不同的数据库软件。就数据库服务而言,通过配置数据库服务器的负载均衡与数据库读写分离策略以提高整个数据库服务的速度和质量。

(2)文件服务用于存储应用数据并实现了文件传输服务。云计算提供商可在文件传输服务器上为每个用户创建一个限定大小的文件传输目录,该目录作为该用户的应用数据目录,当元数据处理服务器接收到绑定了特定域名的应用服务请求时即从相应的应用数据目录获取所需数据。

通过此方式,用户可方便地对自己的应用数据进行管理,并且云计算提供商可将为用户定时备份的数据库数据和应用数据放置在用户对应的文件传输目录中,方便用户下载及管理。

当基于sdn的云平台的规模和服务器数量可变时;在云平台中部署一台服务器作为sdn控制器,并且在云平台中的其他服务器上安装一个用以接受并执行sdn控制器发来的执行元数据的协同组件,该协同组件定时向sdn控制器报告服务器状态及获取配置更新。

当安装了协同组件的服务器首次接入云平台网络中时,协同组件即向sdn控制器请求配置执行元数据及其他相关数据。sdn控制器在收到协同组件的首次请求时,将该服务器信息保存到云平台日志中,并且向协同组件返回配置执行元数据及其他有关的数据。

协同组件在接收到sdn控制器发来的元数据及其他有关数据后,即执行元数据开始配置所在服务器,待协同组件加载元数据并保存好相关数据后,即向sdn控制器报告已经配置完毕。

协同组件定时向sdn控制器询问是否有配置更新元数据;sdn控制器根据管理员操作向在云平台日志中记录的服务器发送更新通知,通知协同组件立即发起更新操作。

所述sdn控制器监控所述计算网格的客户端访问数据;根据所述客户端访问数据,判断是否需要对计算网格内的计算资源进行调整;在需要调整计算资源后,与所述sdn控制器的负载均衡组件进行交互,以移除计算网格内的计算资源、增加计算网格内的计算资源、对应用服务器的优先级进行修改,对应用服务器的均衡策略进行修改;所述sdn控制器的负载均衡组件,用于对计算网格内的计算资源进行调整。负载均衡组件将服务请求均衡分配到实际执行的服务器中,从而保证整个系统的响应速度。

具体地,所有用户的请求都首先发送到此sdn控制器的负载均衡组件,然后由此sdn控制器的负载均衡组件根据各个应用服务器状态将请求具体分配到某个实际处理的应用服务器中,由相应的应用服务器对请求进行响应,而对外公开的域名与地址都对应于sdn控制器。

一个计算网格承担至少一个云计算任务,其作为一个负载均衡组,进行计算性能的动态调整。本发明对应用服务器计算性能进行动态调整,首先是对整个计算网格内整体计算性能进行调整:

当并行云计算任务需要的计算资源较多即用户的访问量较大时,相应增加云平台的应用服务器的数量;如果需要的计算资源较少即用户的访问量较少,相应的减少云平台的应用服务器的数量。在不调整应用服务器数量的前提下,对应用服务器进行计算性能的均衡调整:即在应用服务器根据sdn控制器的负载均衡组件所分配的计算任务出现不同的变化。其调整包括:

1、移除计算网格内的计算资源,即减少云平台的应用服务器的数量。

2、增加计算网格内的计算资源,即增加云平台的应用服务器的数量。

3、对云平台的应用服务器的优先级进行修改。

具体地,sdn控制器的负载均衡组件在向应用服务器部署计算任务时,根据每个应用服务器的当前负载情况来具体进行的,优先级较大的应用服务器,sdn控制器的负载均衡组件会更多的分配计算任务,而优先级较小的应用服务器,sdn控制器的负载均衡组件会更少的分配计算任务。

4、对云平台的应用服务器的均衡策略进行修改。均衡策略实际上是sdn控制器的负载均衡组件将用户访问分配至具体的应用服务器的分配策略。

优选地,sdn控制器的负载均衡组件根据预先制定好的均衡策略将用户的访问请求发送至对应的应用服务器。

在sdn控制器获取应用服务器的客户端访问数据时,可以是主动获取,例如每隔预设时间,sdn控制器会向各个应用服务器发送相应的查询指令,应用服务器在接收到该查询指令之后,将与查询指令对应的客户端访问数据发送给sdn控制器;

或者sdn控制器也可以是被动接收客户端访问数据,例如处于计算网格内的所有应用服务器每隔预设时间都向sdn控制器发送客户端访问数据。

在对计算网格内的计算资源进行调整时,具体如下所述:

sdn控制器获取到计算网格内所有的应用服务器所发送的客户端访问数据之后,会对客户端访问数据进行进一步的处理。

客户端访问数据还服务器性能指标;服务器性能指标包括:访问量、连接数、处理器占用率、存储器消耗数据、响应延迟中至少一种。

根据上述客户端访问数据,可以计算出当前计算网格的总体负载情况,和计算网格内每一台应用服务器的平均负载情况。如果计算网格中,云平台访问量大于流量最大阈值,则表示当前计算网格将无法再处理更多的用户访问,需要增加云平台的应用服务器的数量。

sdn控制器在计算出访问量总量后,将之与流量最大阈值进行比对,如果访问量总量大于该流量最大阈值,则生成应用服务器增加指令,并将该应用服务器增加指令发送至sdn控制器的负载均衡组件;所述负载均衡组件根据所述应用服务器增加指令,增加新的应用服务器,并将所增加的新的应用服务器加入至计算网格内。

当以其他的客户端访问负载信息作为用于评价是否需要增加继计算网格内的计算资源的评价参数时,sdn控制器也会同样将之与对应的最大负载量阈值进行比对,如果该客户端访问负载信息大于该最大负载量阈值,则生成并向所述sdn控制器的负载均衡组件发送应用服务器增加指令;

所述负载均衡组件具体用于,接收所述应用服务器增加指令,并根据所述应用服务器增加指令创建新的应用服务器,并将所创建的新的应用服务器加入到所述计算网格。

如果所述客户端访问负载信息小于所述最小负载量阈值,则生成并向负载均衡组件发送应用服务器缩减指令;所述负载均衡组件接收所述应用服务器缩减指令,并根据所述应用服务器缩减指令,对应用服务器按照预设的卸载方式进行卸载。

sdn控制器的负载均衡组件在创建新的应用服务器时,是根据预先创建的模板进行启动,使得所创建的应用服务器具备处理并行云计算任务的能力,然后将该新的应用服务器加入到计算网格中。而新创建的应用服务器则会在被加入到计算网格后,向sdn控制器上报,从而使得负载中心能够获取新的应用服务器的客户端访问数据。

sdn控制器的负载均衡组件在卸载计算网格内原有的应用服务器时,对应用服务器按照预设的卸载方式进行卸载。例如先将要卸载的应用服务器的计算任务分配到其他的应用服务器上,当要卸载的应用服务器上不再运行有计算任务时,执行卸载的过程;或者负载均衡组件在接收到应用服务器缩减指令后,根据当前应用服务器的服务器性能指标流量,从所有应用服务器中找到当前计算量最少的一台,并不再向该应用服务器分配新的任务。直到监测到该应用服务器上不再运行有计算任务时,执行卸载过程。

具体地,可以预先设置每一种使用到的客户端访问负载信息的在整体衡量结果中的优先级。

采用云平台访问量a、连接数b、传输数c、响应延迟数d来共同衡量。

其中,a的优先级为λ1,b的优先级为λ2,c的优先级为λ3,d的优先级为λ4,则衡量指标m满足:

m=λ1×a+λ2×b+λ3×c+λ4×d

在计算出m后,将m与预设的最大负载量阈值和最小负载量阈值进行比对。

如果m大于该最大负载量阈值,则确定为需要增加应用服务器,如果m小于该最小负载量阈值,则确定为需要减少应用服务器。

在每次增加或者减少了应用服务器时,需要对应用服务器的均衡策略和/或应用服务器优先级进行调整。每隔预设时间,sdn控制器都要获取一次客户端访问数据,根据客户端访问数据,要判断是否需要调整计算网格内当前的均衡策略和/或应用服务器优先级。

当不需要增加或者减少云平台内的应用服务器时,根据服务器性能指标来判断是否需要对均衡策略和/或应用服务器的优先级进行调整。具体地:

sdn控制器根据每台应用服务器的服务器性能指标,计算所有服务器性能指标的均值以及方差;将服务器性能指标的均值与预设性能均值进行比对,如果服务器性能指标的均值小于所述性能均值,则根据服务器性能指标的方差判断应用服务器负载是否均衡;

如果否,则根据所述服务器性能指标以及预设调整条件,生成并向负载均衡组件发送应用服务器负载均衡指令;所述负载均衡指令中携带有均衡类型;所述sdn控制器的负载均衡组件接收所述应用服务器负载均衡指令,并根据所述均衡类型,调整应用服务器的均衡策略和/或应用服务器的优先级。

在调整应用服务器的优先级时,将计算任务更多的分配给当前性能更加优良的应用服务器上,或将流量更多的均衡到存储器消耗更低的设备。计算所有服务器性能指标的均值,将服务器性能指标的均值和上限阈值进行比对,如果服务器性能指标的均值小于预设性能均值,则确定为当前计算网格可以承受计算压力。

根据服务器性能指标的方差判断所有应用服务器负载是否均衡。如果判断结果是不均衡,则根据服务器性能指标和预设的调整条件,生成应用服务器负载均衡指令。应用服务器负载均衡指令中携带有均衡类型,均衡类型的确定要根据当前计算网格内所有应用服务器的负载情况和与均衡类型对应的调整条件来进行。

所述sdn控制器还用于在应用服务器负载不均衡时,根据所述服务器性能指标生成资源调度指令;并将所述资源调度指令发送给所述负载均衡组件;所述资源调度指令中携带有应用服务器的身份标识;所述sdn控制器的负载均衡组件,还用于接收所述资源调度指令;根据所述资源调度指令,增加与所述身份标识对应的应用服务器的处理器核心数和/或存储器数量。

所述sdn控制器时间序列分析方法,对应用服务器的运行参数进行负载状态半监督聚类,按照负载状态相似性聚类得到的集合作为最小单位,服务器最小集合内部采用相同的建模方法。

根据历史数据对不同负载状态的服务器建立各自服务器状态表达的模型,进行服务器稳定状态量化。进行数据融合重组得到单个应用服务器的稳定状态。

在负载状态预测之前,数据预处理包括如下具体步骤:

所述sdn控制器对服务器运行数据进行分类,根据数据类型确定应用服务器状态更新的参照节点。

发现在不同时间片序列形态之间的关联,即反映服务器运行状态的时间序列中频繁出现的变化模式和异常模式。

将服务器的历史数据集划分为不同负载状态下的离散状态序列。为每段离散的状态序列加上相应的状态标签,并和相应时间点的运行数据和负载状态数据进行关联存储。

当服务器的负载状态发生改变时,所述sdn控制器自动记录应用服务器的最新状态数据,并贴上新的状态标签进行存储,得到模型的训练样本集。

对云平台服务器运行数据进行数据预处理,得到实体状态更新参照节点,进而得到模型的训练样本集。

其中,应用服务器的运行参数进行负载状态半监督聚类,进一步包括:按照负载状态相似性聚类得到的集合作为服务器最小集合。半监督聚类方法具体包括如下步骤:

1.1对应用服务器的运行参数进行负载状态半监督聚类,首先给定判定系数θ,0<θ<1,给定判定距离dc,并且任取一个样本作为第一个中心z1,如取z1=x1。

1.2寻找新的中心,直到找到该样本所有中心:

1.2a在第一个中心的基础上,计算其他所有样本x1到z1的距离di1,i=1,2,3,...,n,距离计算公式为:

1.2b若dk1=max{di1},其中k为{di1}中距离值最大的元素的下标号,取xk作为第二个中心z2。

1.2c计算所有样本到中心z2的距离di2。

1.2d若di=max{min(di1,di2)},其中di为距离di1和距离di2中各自距离最小值中的最大值,且di>θ·d12,d12是z1和z2间的距离,则取xi为第三个中心z3。

1.2e如果z3存在,若dj=max{min(di1,di2,di3)},i=1,2,...,n,其中dj为距离di1、距离di2和距离di3中各自距离最小值中的最大值,且dj>θ·d12,则建立第四个中心z4,迭代该步骤直到最大最小距离不大于θ·d12时,结束寻找中心的计算,得到所有应用服务器负载状态参数的中心。

1.3按照最邻近原则把所有的样本xi,i=1,2,3,...,n,归属于距离最近的中心,得到聚类结果集合。

1.4若聚类结果集合内距离d小于给定距离dc,结束迭代过程,得到应用服务器负载状态参数半监督聚类结果集合;若聚类结果集合内距离d不小于给定距离dc,则重选θ和第一个中心z1,返回到1.2重新寻找新的集合中心,进行下一轮迭代。

云平台在应用服务器选择中,通过记录网络通信质量来确定用于相应客户端的应用服务器。具体地,所述sdn控制器获取每个域的客户端分别与每个服务器集合在d×f个时间片内的网络延迟,d为预设采集天数且每一天均按照预设的划分规则进行时间片平均划分,f为对任意一天进行时间片平均划分并按照时间顺序对划分得到的时间片进行编号后的编号最大值;

将任意一个域客户端分别与每个服务器集合在各天的预设编号时间片内的网络延迟作为一个集合,每个集合均包括一个域客户端与一个服务器集合在各天的预设编号时间片内的网络延迟,并且遍历全部域客户端;对遍历全部域客户端后得到的每个集合进行估计并计算每个集合对应的预测值;

将相同的域客户端对应的预测值作为一个预测值集合,并在每个预测值集合中确定最大预测值以及最大预测值对应的域客户端和最大预测值对应的服务器集合,将每一最大预测值对应的域客户端、每一最大预测值对应的服务器集合和预设编号时间片一一对应记录在sdn控制器全局列表中;

当接收到客户端发送的请求指令时,根据请求指令在sdn控制器全局列表中进行查找和匹配,当查找到与客户端相匹配的目标域客户端且请求指令的请求时间在预设编号时间片内时,向目标域客户端对应的服务器集合中的节点服务器发送任务指令,以使节点服务器根据任务指令选择相关节点对客户端进行响应。

上述步骤还包括以下过程:遍历全部域客户端后,将预设编号时间片遍历划分得到的全部时间片,得到各个时间片下的集合;对遍历全部域客户端和全部时间片后得到的每个集合进行估计并计算每个集合对应的预测值;

将相同时间片下相同的域客户端对应的预测值作为一个预测值集合,并在每个预测值集合中确定最大预测值以及最大预测值对应的域客户端和最大预测值对应的服务器集合,将相同时间片下每一最大预测值对应的域客户端、每一最大预测值对应的服务器集合和对应的相同时间片一一对应记录在sdn控制器全局列表中;

当接收到客户端发送的请求指令时,根据请求指令在sdn控制器全局列表中进行查找和匹配,当查找到与客户端相匹配的目标域客户端和与请求指令的请求时间相匹配的目标时间片时,向目标域客户端对应的服务器集合中的节点服务器发送任务指令,以使节点服务器根据任务指令选择相关节点对客户端进行响应。

对于客户端,在提交访问请求时,访问请求根据云平台提供的表单生成,该访问请求携带用户的访问数据和该用户对该访问数据的加密信息。

对于该客户端来说,在为用户呈现访问界面时,可以在访问界面中显示由基于sdn的云平台提供的表单,使得客户端能够基于该表单获取访问请求。具体过程可以包括:

从客户端中获取该用户的私钥,并采用该私钥对该访问数据进行加密,得到该用户的加密信息;将该访问数据和该用户的加密信息封装为该访问请求。

其中,用户所输入的访问数据后续被存储于云平台所生成验证块的字段内。

基于sdn的云平台可以基于查询请求中所携带的加密信息与相应验证块中所存储的加密信息进行比较,一旦查询确定两次加密信息不一致,则说明数据被修改过,并可以通过验证块特征值来确定是哪部分访问数据被修改。

客户端向云平台发送该访问请求。当云平台接收到访问请求时,从该访问请求中提取该用户的访问数据和该加密信息。基于sdn的云平台的sdn控制器在接收到访问请求后,将访问请求中的特征数据提取出来。

当基于sdn的云平台接收到访问请求时,可以根据访问请求所携带的客户端的公钥,生成该客户端的校验地址信息;如果该客户端的校验地址信息和该访问数据所包括的地址信息一致,则响应该访问请求,如果不一致,则拦截该访问请求。

云平台生成访问数据请求,该访问数据请求携带该用户的访问数据以及该加密信息。基于sdn的云平台基于上述提取得到的用户的访问数据以及该加密信息,按照基于sdn的云平台所支持的请求格式,重新生成一条访问数据请求,以便在基于sdn的云平台内部实现数据处理。

云平台将该访问数据请求发送至云平台中的应用服务器。该访问数据请求可以在云平台中进行全局发送,即由sdn控制器将该访问数据请求广播至各个应用服务器,也可以由sdn控制器将该验证块序列接入请求广播至全部服务器,再由这些服务器进行进一步广播。

应用服务器基于该用户的访问数据、加密信息、前一验证块的特征值以及当前验证块的特征值,生成该当前验证块。可选地,由应用服务器基于自身的私钥对验证块内待存储的信息进行再次加密,大大提高安全性。

具体地,采用应用服务器的私钥对该用户的访问数据、该加密信息、验证块序列中前一验证块的特征值以及当前验证块的特征值进行加密,得到该当前验证块的加密信息;将该用户的访问数据、该加密信息、该验证块序列中前一验证块的特征值、当前验证块的特征值以及该当前验证块的加密信息对应存储,生成该当前验证块。

综上所述,本发明提出了一种基于云计算的快速数据处理方法,通过自动调整应用服务器的数量或能力,保证了云端计算服务的稳定性。

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

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

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