基于云计算的微服务构架方法与流程

文档序号:18028658发布日期:2019-06-28 22:24阅读:335来源:国知局
基于云计算的微服务构架方法与流程

本发明涉及属于云计算、软件工程领域,特别涉及一种基于云计算的微服务构架方法。



背景技术:

云计算已成为新一代信息技术发展的重要基础性技术支撑之一,成功应用于各行各业的信息化中,极大地推动了信息产业发展和促进了巨大的学术价值产生,并集约了资源,促使了资源利用最大化,解决了分布式计算伸缩性和弹性不足等突出问题,也改变了传统的软件计算和构架模式,全面提高了信息化开发与维护效率,实现了按需按量为终端用户提供资源,提高了资源利用效率,并以基础设施即服务(iaas)、平台即服务(paas)和软件即服务(saas)三种基本云计算服务形态来描述和应用互联网中资源及其服务。然而,不同的资源、服务分别分布、部署在不同数据中心的节点中,且对服务描述方法有重有轻,服务间依赖关系复杂,导致按潜在要求所生成的互联网软件实效性不强、过重、部署迁移受服务依赖关系影响;而且可用性、易用性受服务所在网络和资源的透明性影响,导致所生成软件松散性不强,耦合度不高。因此,近年来,随着大数据技术及新人工智能的发展,促进基于云计算软件工程变革,逐步构成了以数据及其价值为驱动的软件构架模式和生成方法,进一步丰富了面向服务体系构架(soa)方法,并从服务依赖中有效解耦出来,以容器(如docker)来实现承载和迁移,又进一步促进了软件工程演化和演变,形成了以微服务(microservice)为构架的新型软件构架模式,现在在众多云计算环境中得到了有效应用,并能根据不同的应用生成不同的基于微服务的小程序和小应用,有效解决互联网软件所面临的服务描述过重和迁移部署困难等问题,形成了微服务+部署迁移docker+devops新型软件构架与开发模式,但是怎样解决服务依赖、服务拆分熔断、数据与服务间的网关等问题还面临巨大挑战。



技术实现要素:

本发明提供了一种基于云计算的微服务构架方法,以解决上述至少一个技术问题。

为解决上述问题,作为本发明的一个方面,提供了一种基于云计算的微服务构架方法,包括基于语义智能识别的服务注册模块,其对服务注册中心服务进行语义化处理,并采用描述逻辑进行推理运算以发现各服务间的语义关系,还根据终端应用要求采用模糊系统对服务拆分解耦,保障服务中心的服务能根据服务消费进行拆分,并能返回至语义推理发现更多接近服务消费要求的服务;基于深度学习的数据分析模块,其采用基于卷积神经网络的深度学习模型来为微服务提供应用数据呈现的支撑,快速探测到满足服务的数据,并能呈现给终端用户;基于负载均衡的微服务网关调度模块,其构造一种基于遗传算法的网关负均衡载方法,当终端用户发出请求后,服务消费通过该负均衡载方法实现网关调度,保障快速搜索到最优的资源;基于qos的拆分服务组合模块,其利用服务质量qos来评估拆分服务组合的质量,保障服务拆分的有效性和易用性,用wsc(wsr,sws.(wse,wscont),usr,cd,gal,qos)表示拆分服务组合,其中,sws.(wse,wscont)分别表示服务拆分后的服务边界及服务上下文,并形成服务组合后的边界与上下文wsc.(wse,wscont),构成服务组合链,生成小应用程序;基于微分动力系统的小程序生成与迁移部署模块,其被构造为:wsc:ft(des)→docker(wl(t)),其中,ft(des)是用部署wsc描述模式的容错机制,保障小程序在具有bug的情况下也可以实现迁移部署,并根据应用弹性实现负载均衡与调度,负载均衡与调度方法与服务网关一致,docker(wl(t))表示将生成的小程序通过docker方式云环境中部署,最终构造出轻量级、稳定性的小应用程序。

优选地,所述服务注册模块根据服务描述结构,将服务注册中心未进行语义化的服务用本体进行语义化操作,或将未能满足基于本体的语义服务描述转换为基于本体的服务描述,并要求新注册的服务都需要语义化。

优选地,所述服务注册模块采用描述dl(i,ops,ap)来构建服务的语义关联关系,使服务间的关系具有自动识别能力,其中i是推理解释函数,ops是语义推理的运算集,ap是推理的公理规则集。

优选地,所述服务注册模块采用模糊系统fs(inp,fuo,fl,fr,df)来构建服务拆分机制,保障服务可解耦可熔断,并能延续服务关联性,确保所实现的功能可用,其中,inp表示服务消费的输入;fuo是对语义化服务进行模糊化;fl是基于mamdani模糊规则;fr是模糊运算推理;df是去模糊化,恢复服务边界,实现服务间上下文衔接。

优选地,所述服务注册模块采用服务注册中心语义智能识别机制usr(ws,dl,fs),构成了语义化的服务注册中心,保障服务语义化且智能化拆分,且根据服务消费,实现语义推理至服务边界,用于组合其它服务,完成终端业务需要。

优选地,数据分析模块构建基于深度学习的数据分析模块为:ws:usr→cd,其中cd被定义为cd(cnn,layers,deep,dataobject,learna,dk,datamodel,rule,nor),其中:

cnn是根据服务消费ws构造的卷积神经网络模型;layers是cnn的层次;deep是基于cnn的学习深度数;dataobject是数据对象领域,可以不同的ws.wtype分类提供数据支持;learna是机器学习方法,可以根据ws的要求选择诸如多向反馈学习的监督学习算法和诸如网络置信区间的非监督学习算法,也可称cnn训练算法,如最基本的梯度下降算法;dk是深度学习的样本库和知识库,样本库用支持基于微服务的应用生成的特征提取,知识库用于支持语义服务推理和服务边界上下文联结,实现服务组合;datamodel是深度学习的对象模型,用于优化到更能满足服务要求的数据集;rule是深度学习的规则,防止过渡拟合,保障服务组合过程有效,能满足基于微服务的应用生成;nor是在算法学习过程中对相同特性的数据进行归一化处理,使其具有相同的学习目标。

优选地,所述微服务网关调度模块中,定义gal(w.(ws.rapi{…},ws.josn{…}),gaload(ga,model,index),disp(id,method)),其中,

w.(ws.rapi{…},ws.josn{…})分别表示面向语义的描述的服务网关,rapi{…},josn{…}分别表示服务网关资源集,这些服务预先已采用语义化的方法进行了注册,w是服务资源;

gaload(ga,model,index)表示服务网关的负载均衡方法,ga是遗传算法,用于优化负载能力和效率;model是服务网关的优化模型,用于支持ga优化;特别地,针对不同的终端用户需求和wsr要求,所构造的model也不一样,如可以建立服务组合和基于qos的服务模型等;index表示负载均衡指数,用于标注选择优化模型model的优先级;

disp(id,method)是服务网关调度方法,当终端用户发出请求,wsr负载过载,则首先启动负载均衡gaload,然后再根据资源访问权限启动调度机制;id是调度序号;method是调度方法,如先到先执行、优先级、多级反馈等;

于是,负载均衡与调度间的关系为w:gaload→disp:(rapi,josn),它是实现服务资源负载和调度,完成服务网关向不同微服务分派。

优选地,所述拆分服务组合模块中,服务片段需要从服务中拆分split,并实现服务间解耦dp,即在服务边界处解耦,通过服务上下文实现解耦后的服务间连接,则定义为sws(split.sws{…},fs.dp,fuse.(0,1)),split.sws{…}表示对服务拆分,拆分为多个服务的;fs.dp是基于模糊系统的服务解耦方法,fuse.(0,1)是表示当服务拆分不成功或无法拆分时,用启用熔断方法进行断裂,并转向其它服务中继续拆分;0表示熔断不成功,1表示成功熔断;当实现fs(基于模糊系统)服务拆分后,需要判别拆分后的服务可用性、可靠性、成本等。

优选地,所述小程序生成与迁移部署模块中,服务组合链生成应用小程序微分动力系统构造为wl(t)=s(t)+f(t)+d(t)+l(t)+c(t),现求解wl(t)的稳定性,找到了稳定不动点就表明小应用程序已生成,并具有平台、语言、部署无关性。

本发明具有以下优点:(1)用语义化服务和模糊规则可以方便实现服务拆分、边界明晰与上下文可连;(2)用深度学习方法可以更加精准地获取到价值的数据和更优秀易用性;(3)用负载均衡与调度机制可以保障服务消费快速有效捕获到服务;(4)用qos可以保障拆分服务地组合更效,更能满足终端用户应用的体验效果;(5)用微分动力系统可以确保服务组合链构造过程更稳定,使生成的应用小程序具有稳态。

附图说明

图1示意性地示出了本发明中的基于云计算的微服务构架方法;

图2示意性地示出了基于云计算的微服务构架的层次结构。

具体实施方式

以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

本发明共五部分来构成一种基于云计算的微服务构架方法,在云计算环境下分别是由基于语义智能识别的服务注册模块、基于深度学习的数据分析模块、基于负载均衡的微服务网关调度模块、基于qos的拆分服务组合模块、基于微分动力系统的小程序生成与迁移部署模块。

1、基于语义智能识别的服务注册模块

构建基于本体的语义服务注册体系,采用基于本体o(c,r,a,s,ac,ar,rs)对服务注册中心服务进行语义化处理,并采用描述逻辑进行推理运算,发现各服务间的语义关系。同时,根据终端应用要求采用模糊系统对服务拆分解耦,保障服务中心的服务能根据服务消费进行拆分,即用模糊化实现服务拆分,保障服务边界可用且可以通过服务上下文组合连接,使服务解耦有效,并能返回至语义推理发现更多接近服务消费要求的服务。其中,c表示服务的概念集,r表示服务间的关系,a=(a1,a2)表示语义推理和模糊规模运算集,s=(s,c)表示服务拆分点集和服务边界上下文集,ac表示c的概念属性描述关联集,ar表示服务属性间的关系集,rs表示基于服务关系的拆分集。rs表示根据服务消费需求在服务关系中拆分服务和发现服务边界上下文。

完成服务注册中心服务语义化及智能识别主要构成如下:

(1)根据服务描述结构,将服务注册中心未进行语义化的服务用本体进行语义化操作,或未能满足基于本体的语义服务描述转换为基于本体的服务描述,并要求新注册的服务都需要语义化。定义为ws(ws,sws,wtype),其中,ws是服务注册中心中未语义化的服务,sws表示服务注册中心中已语义化的服务,wtype是服务分类;它们转化关系可以描述为:ws.wtype:o→sws。服务消费集定义为wsr{wsr1,wsr2,…,wsrn}且wsrws。

(2)采用描述dl(i,ops,ap)来构建服务的语义关联关系,使服务间的关系具有自动识别能力,其中i是推理解释函数,ops是语义推理的运算集,ap是推理的公理规则集。

(3)采用模糊系统fs(inp,fuo,fl,fr,df)来构建服务拆分机制,保障服务可解耦可熔断,并能延续服务关联性,确保所实现的功能可用,其中,inp表示服务消费的输入;fuo是对语义化服务进行模糊化;fl是基于mamdani模糊规则;fr是模糊运算推理;df是去模糊化,恢复服务边界,实现服务间上下文衔接。

(4)服务注册中心语义智能识别机制usr(ws,dl,fs),构成了语义化的服务注册中心,保障服务语义化且智能化拆分,且根据服务消费,实现语义推理至服务边界,用于组合其它服务,完成终端业务需要。

2、基于深度学习的数据分析模块

采用基于卷积神经网络(convolutionalneuralnetworks,cnn)的深度学习模型来为微服务提供应用数据呈现的支撑,快速探测到满足服务的数据,并能呈现给终端用户,定义为cd(cnn,layers,deep,dataobject,learna,dk,datamodel,rule,nor),其中,cnn根据服务消费ws构造的卷积神经网络模型;layers是cnn的层次;deep是基于cnn的学习深度数;dataobject是数据对象领域,可以不同的ws.wtype分类提供数据支持;learna是机器学习方法,可以根据ws的要求选择诸如多向反馈学习的监督学习算法和诸如网络置信区间的非监督学习算法,也可称cnn训练算法,如最基本的梯度下降算法;dk是深度学习的样本库和知识库,样本库用支持基于微服务的应用生成的特征提取,知识库用于支持语义服务推理和服务边界上下文联结,实现服务组合;datamodel是深度学习的对象模型,用于优化到更能满足服务要求的数据集;rule是深度学习的规则,防止过渡拟合,保障服务组合过程有效,能满足基于微服务的应用生成;nor是在算法学习过程中对相同特性的数据进行归一化处理,使其具有相同的学习目标。

因此,构建基于深度学习的数据分析模块为:ws:usr→cd。

3、基于负载均衡的微服务网关调度模块

微服务网关是在网络中实现访问资源的主要接口,服务网关常用接口是restfulapi,而连接终端用户可视化的接口通常为josn(称为数据可视化网关);这些资源主要服务与数据资源,而这些资源往往拓扑分布在不同的区域的,需要通过互联网进行连接。因此,基于微服务的应用生成,需要处理来自多处的网络资源。为了快速处理这些服务网关和数据可视化网关,构造一种基于遗传算法的网关负均衡载方法,当终端用户发出请求后,服务消费通过该负均衡载方法实现网关调度,保障快速搜索到最优的资源。定义为gal(w.(ws.rapi{…},ws.josn{…}),gaload(ga,model,index),disp(id,method)),其中,

(1)w.(ws.rapi{…},ws.josn{…})分别表示面向语义的描述的服务网关,rapi{…},josn{…}分别表示服务网关资源集,这些服务预先已采用语义化的方法进行了注册。w是服务资源。

(2)gaload(ga,model,index)表示服务网关的负载均衡方法,ga是遗传算法,用于优化负载能力和效率;model是服务网关的优化模型,用于支持ga优化;特别地,针对不同的终端用户需求和wsr要求,所构造的model也不一样,如可以建立服务组合和基于qos的服务模型等。index表示负载均衡指数,用于标注选择优化模型model的优先级。

(3)disp(id,method)是服务网关调度方法,当终端用户发出请求,wsr负载过载,则首先启动负载均衡gaload,然后再根据资源访问权限启动调度机制。id是调度序号;method是调度方法,如先到先执行、优先级、多级反馈等。

因此,负载均衡与调度间的关系有:w:gaload→disp:(rapi,josn),它是实现服务资源负载和调度,完成服务网关向不同微服务分派。

4、基于qos的拆分服务组合模块

基于微服务的应用本质是服务组合,而针对不同终端应用需要不同的服务及服务片段。服务片段需要从服务中拆分split,并实现服务间解耦dp,即在服务边界处解耦,通过服务上下文实现解耦后的服务间连接,则定义为sws(split.sws{…},fs.dp,fuse.(0,1)),split.sws{…}表示对服务拆分,拆分为多个服务的;fs.dp是基于模糊系统的服务解耦方法,fuse.(0,1)是表示当服务拆分不成功或无法拆分时,用启用熔断方法进行断裂,并转向其它服务中继续拆分;0表示熔断不成功,1表示成功熔断。当实现fs(基于模糊系统)服务拆分后,需要判别拆分后的服务可用性、可靠性、成本等。因此,用服务质量qos来评估拆分服务组合的质量,保障服务拆分的有效性和易用性。用wsc(wsr,sws.(wse,wscont),usr,cd,gal,qos)表示拆分服务组合。其中,sws.(wse,wscont)分别表示服务拆分后的服务边界及服务上下文,并形成服务组合后的边界与上下文wsc.(wse,wscont),构成服务组合链,生成小应用程序。

5、基于微分动力系统的小程序生成与迁移部署模块

在基于微服务的小应用程序生成过程中,所生成的服务组合链根据不同的服务消费可能具有多条服务组合链。因此,在服务组合和服务组合链构成中,可能面临生成不成功或可用性不高,虽然有qos做保障,但也难以保障所生成的应用程序具有强的健壮性。因此,基于微服务的小程序不但与本发明所述语义推理s、模糊系统f、数据分析结果d、负载均衡调度l、拆分服务组合c相关,还与时间与t相关。服务组合链生成应用小程序微分动力系统构造为wl(t)=s(t)+f(t)+d(t)+l(t)+c(t),现求解wl(t)的稳定性,找到了稳定不动点就表明小应用程序已生成,并具有平台、语言、部署无关性。

无关联迁移部署是云计算重要特性,已在业界实现成功应用,为企业及用户带来了诸多便捷,提高了资源利用率和效率。将生成的小应用程序在云环境中实现迁移,目前最常用、效率最高的迁移载体为docker,因此,基于微分动力系统的小程序生成与迁移部署机制构造为:wsc:ft(des)→docker(wl(t)),其中,ft(des)是用部署wsc描述模式的容错机制,保障小程序在具有bug的情况下也可以实现迁移部署,并根据应用弹性实现负载均衡与调度,负载均衡与调度方法与服务网关一致。docker(wl(t))表示将生成的小程序通过docker方式云环境中部署,最终构造出轻量级、稳定性的小应用程序。

为了使基于云计算的微服务构架方法具有效果,促进当前微服务构架发展,提供微服务构架效率和增强期可用性,本发明具有以下优点:

1.用语义化服务和模糊规则可以方便实现服务拆分、边界明晰与上下文可连

本发明将服务注册中心中的服务用本体的方法实现语义化处理,以实现基于描述逻辑自动推理,找到满足服务组合的服务。同时,语义化的服务容易根据推理要求,实现服务描述的拆分或切断,从而保障服务注册中心服务具有活性。另一方面,为了使拆分后的服务边界清晰,服务上下文连接更具有可用性,用模糊系统实现服务边界、上下文模糊化推理,探测到其它拆分服务,从而保障了服务注册中心的服务拆分有效,边界更清晰,并当服务基于语义推理拆分后,能用基于模糊推理实现服务上下文连接,实现服务组合,构造满足终端应用的小程序的服务组合链。

2.用深度学习方法可以更加精准地获取到价值的数据和更优秀易用性

终端应用需要有价值信息能呈现出来,特别在大数据中,怎么学习到满足服务呈现的价值信息,是基于微服务构架小程序的难点。因此,本发明采用cnn的深度学习模型和算法来学习到满足服务组合的价值信息,确保呈现终端用户的信息是可用且有价值的。

3.用负载均衡与调度机制可以保障服务消费快速有效捕获到服务

当今由于资源分布网络中,而且由不同的数据中心提供支撑,因此为了使用服务组合有效,且具有快速性和有效性,合理的负载均衡算法与调度机制是必须的,它们能提高拆分服务组合的可用性,并保障服务组合后的服务边界与上下文可以继续生长(持续搜索服务)下去。

4.用qos可以保障拆分服务地组合更效,更能满足终端用户应用的体验效果

用服务质量qos的目的就是约束服务组合更有效,更能满足终端应用要求,使生成的应用小程序更具有高可靠性。用服务所呈现的信息更有价值,并能根据服务消费要求持续提供更好的服务,所呈现的信息对终端用户更有弹性。

5.用微分动力系统可以确保服务组合链构造过程更稳定,使生成的应用小程序具有稳态。

建立以时间为变量的微分动力系统是保障所生态的应用小程序具有鲁棒性和稳定性,用微分系统控制基于微服务的应用小程序生成。

下面,以一个具体的实施例,对本发明的实施过程进行说明:

步骤1,构建云计算环境,并在云计算环境中部署或采集或生成或清洗,生成满足微服务构架的大数据环境。

步骤2,更新或重新服务注册中心,并使服务注册中心具有处理语义或模糊推理载体,保障注册中心的服务具有语义识别能力,实现服务自动识别。

步骤3,开发本发明的语义模糊推理程序,并嵌入到步骤2中,制定语义化和模糊化的规则,使新注册的服务按规则注册。

步骤4,研发并设计一种基于云计算和大数据的微服务构架平台(系统软件),将将本发明所发明的大数据深度学习算法、基于ga的负载均衡与调度算法、基于qos的拆分服务组合方法和基于微分系统的应用生成小程序方法集成在系统软件中,用于支撑应用小程序生成。

步骤5,在应用小程序生成过程中,直接采用docker方式进行部署,并按要求进行迁移部署。

本发明的创新之处在于:(1)基于本体的服务语义化和推理,使服务具有自动识别能力,当服务执行拆分时,便于发现服务边界和清晰服务上下文。基于模糊系统的服务拆分解耦,用于保障拆分服务间具有关联性。(2)基于cnn深度学习的价值信息提取。(3)基于ga的服务网关负载均衡与调度。(4)qos保障的拆分服务组合方法。(5)以时间为变量的多参数微分动力系统,用于保障所生成的应用小程序具有鲁棒性和稳定性。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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