法律状态公告日
法律状态信息
法律状态
2018-05-11
专利实施许可合同备案的生效 IPC(主分类):G06F19/00 合同备案号:2018330000035 让与人:浙江大学 受让人:恒生电子股份有限公司 发明名称:面向数据密集型服务协同系统的组件服务部署方法 申请公布日:20131127 授权公告日:20160608 许可种类:普通许可 备案日期:20180417 申请日:20130805
专利实施许可合同备案的生效、变更及注销
2016-06-08
授权
授权
2013-12-18
实质审查的生效 IPC(主分类):G06F19/00 申请日:20130805
实质审查的生效
2013-11-27
公开
公开
技术领域
本发明涉及通信领域,尤其涉及一种面向数据密集型服务协同系 统的组件服务部署方法。
背景技术
近年来,随着云计算、物联网、移动互联网等新一代信息技术的 发展,互联网数据成爆炸式增长。据统计,互联网一天产生的全部数 据可以刻满1.68亿张DVD,发出的邮件相当于美国两年的纸质信件 数量,发出的社区帖子相当于《时代》杂志770年的文字量。美国互 联网数据中心指出互联网数据每年将增长50%,每两年便将翻一番。 在互联网数据正以前所未有的速度急剧增长的态势下,《纽约时报》 于2012年发表文章“Age of Big Data”正式拉开了“大数据”时代的 序幕,掀起了大数据组织、管理、分析、挖掘和应用的研究热潮。
基于大数据的处理和分析,通过互联网提供各类专业性、个性化 的特色服务,将是现代企业在“大数据”时代的一个重要发展方向。 相比企业现已提供的各类信息服务和业务服务,这类服务的一个重要 特征是以大数据处理和分析为基础,其实现过程通常伴有海量数据的 操作、交换和存储,服务的处理周期、响应时间都相对较长,这类服 务被称之为数据密集型服务。随着企业大数据的不断积累,针对大数 据的价值挖掘和利用的不断推进,数据密集型服务作为互联网上的一 种重要服务形态,开始得到工业界和学术界的高度关注,并成为服务 计算领域的一个重要研究方向,形成了一批相关的学术会议,如 DIEW、DIDC、DIES、DISA等,涌现出众多的研究成果,推动了数 据密集型服务的应用。
目前,数据密集型服务已开始被应用于天文学、高能物理学以及 生物信息学等领域。为了解决更为复杂的问题,多个数据密集型服务 往往会依据一定的业务逻辑进行协同工作。然而,数据密集型服务的 协同相对于传统服务之间的协同有着很大不同。首先,数据密集型服 务处理的数据大小通常达到TB级甚至PB级,其中既有已存在的输 入数据源,也有在大数据处理过程中产生的中间数据和最终结果数据, 服务协同不再以过程为中心,转而变成以数据为中心。其次,在分布 式环境下部署并执行数据密集型服务的协同过程,需要多数据中心的 协作;在协同的执行过中,将不可避免的产生大量的数据传输开销, 而在传统的服务协同中,数据传输的时间开销相对于服务的执行时间 可以忽略。此外,传统服务由于处理的数据量不大,只需要将数据存 储在本地即可;而数据密集型服务处理的数据量巨大,往往存储在云 数据中心,这就导致了服务存取数据的方式发生了变化,不再是单一 的在服务之间进行数据迁移,而更有可能是将服务向数据源迁移。
由于数据密集型服务协同处理的数据量十分庞大,这些数据会部 署在不同的数据中心。因此,在数据密集型服务协同的执行过程中不 可避免地需要进行跨数据中心的数据传输。如何减少这些数据传输开 销对于提高数据密集型服务协同的执行性能至关重要。一方面,由于 数据规模巨大且数据中心间网络带宽有限;另一方面,存在一些数据 只能被存放于指定的数据中心而不能被移动,故如何实现服务协同过 程中跨数据中心的高效数据传输成为一个挑战。此外,数据密集型服 务协同的流程特性决定了其数据之间存在数据依赖关系。在多数据中 心环境下,合理的服务部署方案应力求保持这种数据间的依赖关系, 这将利于降低流程执行过程中跨数据中心数据传输所导致的时间开 销,进而提升执行效率。因此,如何有效地部署服务以减少数据中心 间的数据传输开销是实现服务协同整体执行性能优化的一大挑战。此 外,由于数据密集型服务协同过程往往伴随着大规模数据的处理,因 此如何优化其执行性能也是一个重要的研究课题。
传统的性能优化方法大多建立在性能分析、性能预测等技术的基 础之上,这些方法可分为建模和经验测量两种类型。建模方法不需要 具备真实系统,成本较低,通用性较好,但是准确度相对较低,且无 法适用于数据密集型服务协同这样的复杂系统。经验测量方法准确度 较好,但是需要具备真实系统或基准程序,性能预测的成本较高。因 此,如何针对数据密集型服务协同提出高效准确的性能预测模型,是 对其执行性能进行优化的重要基础。
发明内容
本发明针对现有的数据密集型服务协同系统在执行时会产生大 量数据传输开销的问题,提供了一种面向数据密集型服务协同系统的 组件服务部署方法。
本发明的面向数据密集型服务协同系统的组件服务部署方法,包 括:
1)初始化过程,将组件服务部署映射到阴性选择算法中,将单 个组件服务部署到某一数据中心表示为基因,部署方案表示成由基因 组成的抗体,并将所有可能的基因构建形成基因仓库,同时还建立一 个初始状态为空的低质量基因库;
2)基因重组,从基因仓库中选取若干基因组合生成预定数量的 抗体,形成抗体群组;
3)阴性选择,根据低质量基因库从所述的抗体群组中剔除低质 量抗体,保留高质量抗体;
4)抗体评估,计算所述高质量抗体的适应度,并根据所述的适 应度将所述的高质量抗体分为适应度较高组和适应度较低组;
5)基因评估,根据基因的适应度从所述适应度较低组的抗体中 确定低质量基因,并存入低质量基因库;
6)基因仓库更新,利用适应度较高组的抗体的基因更新基因仓 库;
7)循环进行步骤2)~6)直至设定的循环次数,选取适应度最 高的抗体为抗原,并将所述的抗原对应的部署方案作为所述的组件服 务部署方案。
本发明针对数据密集型服务协同的组件服务部署问题,采用基于 阴性选择(negative selection algorithm)的多目标优化算法进行部署 优化。将据数据密集型服务协同的部署问题模型映射到阴性选择算法 中,将单个组件服务的单个部署方案映射为基因,将所有组件服务的 单个部署方案映射为抗体。根据基于阴性选择方法顺序迭代匹配,每 次迭代过程中先通过基因重组生成一定数量的抗体,形成抗体群组, 再根据阴性选择算法剔除抗体群组中的低质量抗体,降低搜索空间, 另外每次迭代最后都根据迭代结果更新基因仓库,保证在下一轮迭代 中能够生成更优的抗体。每次生成抗体的数量,其大小可根据实际的 应用场景设定。经过多次迭代匹配最终得到全局最优的部署方案。
所述步骤2)中依据概率从基因库中选取基因,概率高的基因优 先被选取。
所述的概率根据公式:
得到,其中:
probabiliy(i,j)表示第i个组件服务部署到第j个数据中心对应基因 的概率;
Ci,j和Ci,k为参考矩阵中的元素,所述的参考矩阵为p×q阶矩阵,, p为数据密集型服务协同系统中组件服务的数量,q表示可用于部署 的数据中心的数量,该参考矩阵在初始化过程中建立,且初始状态该 参考矩阵中所有元素为1;
localfitness(i,j)为局部目标函数,表示第i个组件服务部署到第j 个数据中心对应基因的适应度,datai表 示第i个组件服务所需要的输入数据的大小,dcj.sc是第j个数据中心 的容量。
依据概率进行基因重组,适应度越高的基因被选择进行重组生成 抗体的概率也越高,从而保证每轮迭代过程中生成的抗体的质量不断 提高。基因的适应度与数据中心的容量有关,在第i个组件服务部署 到第j个数据中心后,剩余的存储空间越大,函数localfitness(i,j), 即相应基因的适应度越高,该基因被选择生成抗体的概率也越高。
所述步骤3)中确定低质量抗体的方法如下:
将步骤2)中生成的抗体分别与低质量基因库匹配,若抗体中含 有低质量基因库中的基因数量超过了设定的阈值,或抗体中包含适应 度小于0的基因,则认定该抗体为低质量抗体;否则,认定为高质量 抗体。
抗体中的基因质量决定抗体的质量,当抗体中含有的低质量基因 达到一定的比例时,该抗体就为低质量。另外,当抗体中任一基因的 适应度小于0,则说明该基因对应的组件服务所需要输入的数据量超 过了数据中心的容量,因此包含该基因的抗体对应的整个部署方案不 可用,该抗体也被认定为低质量抗体。
所述步骤4)中根据全局目标函数:
计算高质量抗体的适应度,fitness(v)表示抗体v的适应度,其中:
Latency表示在该部署方案下,数据密集型服务协同系统的数据传 输的时间开销:Latency=Tdata+Texec+Tc,Tdata是组件服务之间的数据传 输的时间开销,Texec表示服务执行的时间开销,Tc表示其他的固定时 间开销;
Roverload(DC)为所有数据中心的负载率,
ω1和ω2分别表示变量Latency和Roverload(DC)的权重;
是调节参数。
ω1、ω2和可以根据偏好或实际应用场景进行配置,ω1和ω2作 为调节参数,用于平衡目标数据传输时间开销和负载的比例,用于 平衡变量ω1和ω2的值。如果两个含有数据依赖关系的组件服务部署 在同一个数据中心,则这两个组件服务部署之间不存在数据传输开销 Tdata,此时Tdata=0。Tc表示其他的固定时间开销,例如请求,响应, 建立连接等时间开销。由于数据密集型服务协同系统要处理的数据量 是十分庞大的,因此数据传输的时间开销要远远大于其他时间开销, 因此Latency近似等于Tdata。通过该方法计算抗体的适应度,同时将数 据之间的传输开销和数据中心的存储负载作为优化的目标。
所述步骤4)中将适应度高于平均值的抗体分为适应度较高组, 低于平均值的抗体分为适应度较低组;
所述平均值为所有高质量抗体的适应度的平均值。
所述步骤5)中低质量基因确定通过如下方法确定:若基因的适 应度低于设定的阈值,则确定该低质量基因。
一般认为适应度越低,包含低质量基因的可能性越大,因此从适 应度较低组确认低质量基因,有效缩小了搜索的范围,提高效率。
所述步骤6)还包括根据公式:更新参考矩 阵中的相应元素,ρ是衰减系数,fitnessmax是适应度较高组中抗体的 适应度的最大值,Ci,j'为Ci,j更新后的值。
衰减系数ρ用于提升算法的收敛性,通过该方法更新参考矩阵中 的元素,保证高质量基因在基因重组过程中被选择的概率不断提升。
所述的初始化过程还包括设定循环次数为50次。
一般迭代次数越高,最后得到的组件服务部署方案越好,但是次 数高,导致计算量大。通过50次迭代一般已经能够保证最终得到的 部署方案满足服务协同系统的性能要求,且能够有效的降低计算量, 提升优化速率。
本发明的面向数据密集型服务协同的组件服务部署优化方法采 用基于阴性选择(negative selection algorithm)的多目标优化算法进 行部署优化,将不同的组件服务部署到合适的数据中心,有效降低了 组件服务之间的数据传输开销。
附图说明
图1为本实施例的面向数据密集型服务协同的组件服务部署方 法应用场景;
图2为本实施例的面向数据密集型服务协同的组件服务部署方 法的工作流程图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
本实施的面向数据密集型服务协同的组件服务部署方法的应用 场景如图1所示:某大型企业想要发布一个服务协同系统S,S包含 了5个组件服务sa到se,需要处理来自4个不同数据中心dc1到dc4的大规模数据。
本实施的面向数据密集型服务协同的组件服务部署方法,如图2 所示,包括:
1)初始化过程,包括:
将数据密集型服务协同系统的部署优化问题映射到阴性选择算 法中,将最优的组件服务部署方案表示成抗原,部署方案表示成由基 因组成的抗体,例如(2,3,1,2,4)表示一个抗体,表示该数据 密集型服务协同系统中第1个组件服务部署在2号数据中心,第2个 组件服务部署在3号数据中心,以此类推。将单个组件服务部署到某 一数据中心表示为基因,并初始化所有可能基因,将所有可能基因构 建基因库;
建立5×4阶参考矩阵Consistence Matrix表示,用于评估一个组 件服务被部署到某个数据中心是否合适,Ci,j为参考矩阵Consistence Matrix中的元素,用于计算第i个组件服务部署到第j个数据中心对 应的基因的适应度,初始状态Ci,j=1;
建立低质量集合SELF set,作为低质量基因库,用来存放低质量 的基因,初始状态SELF set为空集;
设定每次生成的抗体数为50和循环次数为50。
2)根据每个基因的概率进行基因重组,生成50个抗体,形成抗 体群组,概率高的基因优选被选择,每个基因的概率根据公式:
得到,probabiliy(i,j)表示第i个组件服务部署到第j个数据中心对应的 基因的概率。
3)阴性选择,将所述的抗体与SELF set进行匹配,若抗体中含 有SELF set中的基因数量超过了设定的阈值(本实施例中为抗体中 基因总数的10%),或者抗体包含适应度小于0的基因,则认定该抗 体为低质量抗体,从抗体的群组中剔除,否则,认定该抗体为高质量 抗体并保留。
4)抗体评估,根据全局目标函数评估保留下的高质量抗体的适 应度,根据抗体的适应度将高质量抗体分成两组,适应度大于或等于 平均值的分为适应度较高组,否则,分为适应度较低组。将全局目标 函数为:
Latency表示在该部署方案下,数据密集型服务协同系统的数据传 输时间开销,
Latency=Tdata+Texec+Tc,
Tdata是组件服务之间的数据传输开销,如果两个含有数据依赖关 系的组件服务部署在同一个数据中心,则Tdata=0,Texec表示服务执行 的时间开销,Tc表示其他的固定时间开销,
Roverload(DC)为所有负载中心的负载率,
其中,Roverload(dci)为一个数据中心dc的负载率,
usage表示所有传输到dc的数据量,dc.st表示数据中心的负载上 限,dc.sc表示数据中心的容量,ω1和ω2表示变量Latency和Roverload(DC) 的权重,是调节参数,ω1、ω2和根据实际场景设定。本实施例中 满足ω1+ω2=1,且均设为0.5,一般为所有数据中的负载率的平均 值与数据传输时间开销的比值。
5)基因评估,根据局部目标函数计算适应度较低组抗体中的基 因的适应度,若低于设定的阈值(本实施例中为0.1-0.3),则认定为 低质量基因,并存入集合SELF set。局部目标函数为:
localfitness(i,j)表示第i个组件服务部署到第j个数据中心对应的 基因的适应度,datai表示第i个组件服务所需要的输入数据的大小。 dcj.sc是第j个数据中心的数据容量。
6)基因仓库更新,对于所述的适应度较高组,通过公式: 更新Consistence Matrix中的相应元素,ρ是衰 减系数(本实施例中为0.9),Ci,j是矩阵Consistence Matrix中的元素, Ci,j'为Ci,j更新后的值。
7)循环进行步骤2)~6)直至设定的循环次数50次终,选取适 应度最高的抗体为抗原,并将所述的抗原对应的部署方案作为所述的 组件服务部署方案。
机译: 服务部署控制系统,服务部署控制方法和存储介质
机译: 服务部署控制系统,服务部署控制方法和存储介质
机译: 服务部署控制系统,服务部署控制方法和存储介质