面向云平台可信性评估的多级数据采集与证据提取方法与流程

文档序号:16847853发布日期:2019-02-12 22:28阅读:277来源:国知局
面向云平台可信性评估的多级数据采集与证据提取方法与流程

本发明属于云计算的可信评估领域,涉及一种面向云平台可信性评估的多级数据采集与证据提取方法,主要面向iaas模式的云服务平台。



背景技术:

近年来,随着云计算相关技术的发展,云计算的可靠性和易用性得到了很大的提升,吸引了越来越多的企业和个人用户将业务迁移到云端,利用云计算按使用量计费的商业模式来节约成本。但是,由于云计算资源集中、开放和共享的特点,对于提供云计算服务的云平台而言,更容易受到恶意攻击;同时对于用户而言,也失去了对私有数据的绝对控制,因而云计算环境的安全问题更为凸显。近年来针对云平台的安全事件不断出现,也极大影响了用户对云计算的信任度。因此,监控及评测云平台的可信性已经成为业界亟待解决的重要问题。

目前较为常见的云平台可信性评测方案是建立第三方可信性评测平台,在此平台上收集来自多个云平台的包括用户评价、虚拟主机监测数据等在内的主客观评价数据,并基于特定算法对这些数据加以综合评估,得出云平台可信性评测报告,供云平台的用户参考,系统结构如图1所示。在这一过程中,第三方可信性评测平台需要采集的数据种类繁多,数据采集的周期不同,部分监测数据项如网络连通性、主机存活性等的采集频率较高,数据总量大,这种数据采集方式,会对部署在互联网上的第三方可信性评测平台带来很大的数据处理压力,导致建设第三方可信性评测平台的成本大大增加;同时,大量的数据通过互联网发送,也会消耗用户和云平台的网络流量资源,考虑到云服务本身出现异常的概率并不高,传输全量数据会造成很大的资源浪费,从而影响第三方可信性评测平台的实用性。



技术实现要素:

针对上述问题,本发明通过在云平台内网中部署数据采集服务,建立由互联网可信性评测中心+内网数据采集服务+数据采集终端组成的多级数据采集机制。虚拟主机监测数据首先归集并存储到云平台内网中的数据采集服务,并周期性地依据服务的sla协议进行合规性评测,当发现sla异常时,将相关的虚拟主机监测数据提取并封装为可信证据发送给云平台可信性评测中心;当没有sla异常时,只需要发送一个简化的sla合规性报告即可。从而避免了在互联网上的大数据传输,大大减小了可信性评测中心的数据处理压力;而可信证据的提取,保留了出现异常时的监测数据,方便用户与云平台之间进行善后处理。

具体而言,本发明采用的技术方案由数据采集终端、内网数据采集服务、可信性评测中心三部分组成,包含用户、云平台、虚拟主机等参与方,系统架构如附图2所示。

面向云平台可信性评估的多级数据采集与证据提取方法基本思路如下:

在云平台内部局域网中部署数据采集服务。数据采集服务由可靠消息队列服务、并行数据分析服务、持久化存储服务以及通讯及控制接口四部分组成,系统架构如附图3所示。同时可以合理地假设每个云平台都对外提供了服务水平协议数据库(sla协议库)查询接口。数据采集服务接收来自云平台内各个虚拟主机上部署的数据采集终端采集的数据,这些数据将按照用户和服务进行分类汇集,并周期性地进行服务sla合规性评估(评估周期由实际需要和数据采集服务的处理能力决定)。若某个用户名下的某个服务的sla评估结果为异常,则将异常时间段内及前后一段时间内与该异常相关的监测数据提取出来,压缩后作为可信性评测证据,发送给互联网上的可信性评测中心;sla评估结果正常的服务,只需要将评估结果封装为报告,将相应sla参数标记为“合规”,发送给互联网上的可信性评测中心,不必发送原始的监测数据。完成评估处理后的监测数据,将被持久化存储在数据采集服务中,并被定期清理,数据保留时间由实际需要和可用存储空间的大小决定。

在互联网部署可信性评测中心。可信性评测中心为独立的第三方服务,负责接收各个云平台中部署的数据采集服务发出的合规性报告和评测证据,以及用户给出的服务评价。可信性评测中心由消息队列服务、数据持久化存储、可信性评估程序、通讯及控制接口组成。接收到的数据首先由消息队列服务缓存,然后被可靠地持久化存储。可信性评估程序接受用户给出的评估请求,对用户评价和sla合规性评估结果进行综合,并考虑评估历史数据,对云平台的可信性进行动态的综合评估,评估结果将返回给用户。

该方法的步骤包括:

步骤一,在互联网部署可信性评测中心(以下简称tp)。tp为每个数据采集服务、每个云平台生成一份公钥和私钥,用于后续的消息签名和加密;

步骤二,在云平台内部环境中部署数据采集服务(以下简称dc);

步骤三,用户向云平台申请云服务,获得服务id,签署服务水平协议sla;

步骤四,用户在tp上注册需要监测的云服务,需要提供的信息包括:云平台id、(在该平台下的)用户id、服务id。tp为该用户生成一组公钥和私钥(该服务下的每台虚拟机一份);

步骤五,用户在分配的云虚拟机内部署数据采集终端(以下简称dt),完成必要的配置,包括导入虚拟机私钥,设置数据采集服务地址、用户id、服务id等,需要监测的sla参数可以通过从sla协议库获取该服务的sla来判定;

步骤六,用户启动部署在虚拟机内的dt,周期性采集sla监测结果,使用分配的私钥签名并加密发送给dc;

步骤七,dc接收来dt采集的数据,数据将首先被缓存在可靠消息、队列服务中;并行数据分析服务将周期性地启动以处理消息队列服务中缓存的数据,并与从sla协议库获取的服务sla协议进行比对,以判断sla协议的合规性。若发现某项sla参数被违反,dc将提取该时间段内的与被违反的sla参数相关的监测数据,打包、签名、加密后作为可信证据,发送给tp;没有被违反的sla参数,dc将给出一个“合规”的标记,同样进行打包、签名、加密,作为sla合规性报告发送给tp;

步骤八,dc发送给tp的数据将首先被可靠的消息队列缓存,并进一步被持久化存储。可信性评估程序将对用户提交的主观评价数据和sla合规性报告/可信证据做综合分析以得到云服务可信性评分并返回给用户。

通过上述步骤,本发明的方法能够有效地完成数据采集和云平台可信性评估工作。同时,使用sla合规性报告/可信证据代替原有方案的全量监测数据,避免了全量数据在互联网上的传输,大大减少了可信性评测中心的数据处理压力。

附图说明

图1是目前主流的“云平台可信性评估系统”架构图;

图2是本发明所设计的“多级数据采集与证据提取的云平台可信性评估系统”架构图;

图3是本发明所设计的“数据采集服务”架构图;

图4是本发明所设计的“云平台可信性评测中心”架构图

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的说明。

本发明所提出的多级数据采集与证据提取方法,主要是为云平台可信性评估问题服务的,由数据采集终端、内网数据采集服务、可信性评测中心三部分组成,系统整体架构、数据采集服务和云平台可信性评测中心架构分别如附图2-4所示。

本发明完成的云平台可信性评估,融合了用户对服务的评价这一主观数据以及从云虚拟主机处采集到的sla监测数据等客观数据,并考虑历史数据,得出综合的云平台可信性评测结果。本发明的核心内容,除上述多级数据采集系统架构外,还有监测数据的组织与证据的提取方法,为了更好地加以说明,下面首先给出sla协议的定义。

本发明所涉及到的系统中,sla协议的数据结构可以被定义为一个四元组:

sla:=<ida,idc,idu,h>

其中ida,idc,idu分别为sla协议、云平台以及用户的id,h为高层(high-level)sla参数列表。

高层sla参数h∈h又可以进一步被定义为一个四元组:

h=[h1,h2…,hk],h:=<l,map,v,compliance>

其中l为与h相关联的低层(low-level)sla参数列表,map:l→h是一个从低层sla参数监测值到高层sla参数值的映射函数,它的输入为一段时间内的低层sla参数监测数据,输出为该时间段内的高层sla参数评估值。v是用户与云平台通过协商确定的与该高层sla参数相对应的参数值,compliance:v×vc→ok|error是一个合规性评估函数,输入为协商得到的sla参数值v和通过实际监测数据计算得到的sla参数值vc=map(l),输出为该sla参数是否合规的评估结果,结果为ok说明该时间段内对应sla参数监测值是合规的,如果结果为error,说明该参数不合规。

低层sla参数(low-level)l∈l被定义为一个二元组:

l=[l1,l2…,ln],l:=<s,t>

其中s为负责该项参数采集任务的数据采集程序名称,t为该项参数的采集周期。

以上为本发明所使用的sla协议逻辑格式,具体的sla协议可以使用xml、json等多种文件格式实现。

数据采集终端部署于每一台云虚拟机上,从服务的sla协议中,可以提取出需要监测的低层sla参数列表,每个低层sla参数定义中,都包含了该参数的数据采集程序名称和采集周期,数据采集终端负责按照设定的采集周期,调度数据采集程序完成数据的采集工作。并使用分配的私钥完成消息签名和加密传输,发送给数据采集服务。消息内容包含用户id、服务id、虚拟机id(等同于数据采集终端id)、高层sla参数名、低层sla参数名、监测时间、监测参数值等。

数据采集服务由可靠消息队列服务、并行数据分析服务、持久化存储服务以及通讯及控制接口四部分组成。来自数据采集终端的数据将被首先缓存在可靠消息队列服务(如apachekafka)中。并行数据分析服务(如apachehadoop或apachespark)会周期性启动以分析缓存在消息队列中的数据。处理过程步骤如下:

步骤一,从消息队列中读取缓存的当前时间段内的数据,按照用户id、服务id、虚拟机id、高层sla参数四个字段对数据成组归集(groupby)

步骤二,将成组后的数据中的剩余字段按照低层sla参数名、监测时间进行排序,排序后的数据将交给对应高层sla参数的映射函数(从sla协议中可以获得对应高层sla参数的映射函数)进行计算,得到高层sla参数的监测值,并进一步将监测值和协议参数值(从sla协议中获取)交给参数评估函数进行评估。若评估结果为ok则执行步骤三,否则执行步骤四

步骤三,对于不存在sla违约的高层sla参数值,将采集到的数据存入持久化存储服务中,并将评估结果,封装为sla合规性报告,内容包括云平台id、用户id、服务id、高层sla参数名、高层sla参数监测值、“合规”(或ok等含义类似的单词),使用数据采集服务的私钥签名。

步骤四,对于存在sla违约的高层sla参数值,将采集到的数据存入持久化存储服务中,同时将采集到的数据打包,将包含云平台id、用户id、服务id、高层sla参数名、高层sla参数监测值、监测数据包等在内的数据作为可信证据,使用数据采集服务的私钥签名。

步骤五,将步骤三/四中封装的sla合规性报告/可信证据发送给云平台可信性评测中心。

可信性评测中心由消息队列服务、数据持久化存储、可信性评估程序、通讯及控制接口等四个组件组成。数据采集服务发送来的sla合规性报告/可信证据首先缓存在消息队列服务中。可信性评估程序周期性启动以计算服务的可信性评分。处理过程步骤如下:

步骤一,将消息队列服务中缓存的合规性报告/可信证据转存到持久化存储中,持久化存储可以采用hbase等列式存储引擎,也可以采用关系型数据库。若以关系型数据库存储,存储的数据记录应包含下列字段:云平台id、用户id、服务id、高层sla参数名、评估时间、高层sla参数监测值、合规性评估结果(可以是“合规”|“不合规”或具有相似含义的标识符);若使用hbase等列式存储引擎,可以依次将云平台id、用户id、服务id、高层sla参数名、评估时间拼接作为数据的行键,将其余字段作为列。

步骤二,根据可信性评估程序的执行周期,取出当前周期内的数据,以云平台id、用户id、服务id的顺序对数据进行归集(groupby),归集后的数据,交给可信性评估函数进行处理。可信性评估函数为一个多元参数加权函数,定义如下:

eval(list(v),list(w))=w1×v1+w2×v2+…+wn×vn

其中,w1,w2…wn为sla协议中每一个高层sla参数对应的权重值,可以根据经验或实验手段确定。评估函数的结果为这一项云服务在当前时间周期内的sla合规性评估结果。并按照云平台id、服务id、评估结果的格式存入持久化存储中。

步骤三,为了合理地评估服务的可信性,除了上述通过客观监测数据计算得到的sla合规性评估结果外,还需要考虑用户的主观评价,假定用户提供的主观评价以云平台id、服务id、评价分数(假定为0-5的5分制)的形式保存在持久化存储中。则可以取出近一段时间(时间段的长度可以调整,可以是一个月、一个季度或一年等)内的sla合规性评估结果和用户评分,同样进行加权评估,得到最终的服务可信性评分。

综上,本发明所提出的方法能够有效地完成数据采集和云平台可信性评估工作。同时,通过建立多级数据采集机制,使用sla合规性报告/可信证据代替全量监测数据,减少了数据传输量,大大减轻了可信性评测中心的数据处理压力。

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