一种大规模网络服务系统行为重构方法与流程

文档序号:11732051阅读:196来源:国知局
一种大规模网络服务系统行为重构方法与流程
本发明涉及一种大规模网络服务系统行为重构方法,属于信息技术
技术领域

背景技术
:随着网络技术的迅速发展和网络服务系统的出现普及,以及网络用户的急剧增加和用户需求的不断变化,都需要大型网络服务系统能够保持动态自适应负载均衡下响应用户需求以及环境的变化。对于系统自适应可重构和负载均衡,丁博提出软件自适应包含感知、决策和执行三个环节。feng-linli等提出指出在当前软件服务或系统演化的研究中,主要从系统本身考虑,而没有把满足用户变化需求摆在优先的位置。袁刚提出对用户请求服务分类来分配系统资源从而动态均衡负载。shaileshsaxena等利用模糊的动态负载平衡算法通过任务调度实现负载均衡的目的。系统建模工具多种多样,例如流程图、自动机、petri网等,相比较其他的系统建模工具,petri网对系统并发的描述具有独特优势。庞善臣等针对petri网对动态系统重构形式化描述和建模能力的不足,提出了可重写petri网和位置可重写petri网的基本概念,为动态重构系统的petri网形式化建模提供理论方法,为大规模动态分布式系统的形式化验证提供有效途径。顾军等通过分析服务系统的执行过程,提出了一种基于排队petri网的性能建模和分析方法,该方法在定量评估服务系统性能时具有一定的优越性。现有的工作对于用户需求变化或个性化需求的服务技术有较多研究,服务质量的更多考虑也在于系统是否满足用户的需求的目标,但对于用户的刚性需求及用户的需求行为考虑甚少,尤其是大规模刚性需求行为的聚集而导致系统变异的情况。技术实现要素:本发明的目的是:针对大规模用户行为短时间的聚集造成系统负载超载的问题,提出一种大规模网络服务系统行为重构模型与方法。为了达到上述目的,本发明的技术方案是提供了一种大规模网络服务系统行为重构方法,其特征在于,包括以下步骤:s1、初始化大规模网络服务系统并利用petri网对系统进行建模;s2、对系统petri网模型进行分析,并确定需重构的关键节点;s3、针对t时刻关键节点用户行为数所对应的系统负载与安全负载判断节点关系,并设置判断结构,包括以下步骤:步骤1、计算t时刻系统中用户提交的行为对应的系统实时负载lt,lt=bt×l,式中,l(l≥1)表示一个用户提交一个请求行为所需要的系统负载,bt表示t时刻大规模网络服务系统中用户提交的总的行为数,bt=ut,ut表示t时刻系统中的用户数;步骤2、根据用户交互行为序列时间,利用隶属度函数对用户行为进行分类,其中:用户行为隶属度函数表示用户行为ui隶属于每一类sj的程度,(j=1,2,...p,式中,uik={ui1,ui2,...,uim}表示用户行为ui具有的交互行为序列时间特征,假设把用户行为按交互行为时间的长短分成p个用户群体,sj={s1,s2,...,sp}(p≥1)表示每一类用户群体的标准;用户行为隶属标准d(ui,sj),是用户行为ui隶属于具体某一用户行为群体sj的标准,即表示用户行为属于用户行为隶属度函数中取最小值的那一类用户行为群体,设nd(nd∈n+)表示的个数,则当nd=1时,行为ui属于第j类用户行为群体,当nd>1时,则把行为ui随机分配到nd类中的任意一类行为群体;步骤3、计算每一类用户行为所对应的系统负载,第i类用户行为所对应的系统负载为li;步骤4、设置系统实时负载lt与安全负载lsafe的关系:系统良好服务状态,是系统能够正常提供服务的服务状态,当0≤lt≤lsafe时,系统处于良好服务状态,lsafe表示系统处于良好服务状态所能承受的最大服务能力对应的负载值,即是安全负载;系统不稳定服务状态,是系统虽能够提供服务,但有可能出现异常的服务状态,当lsafe<lt≤lmax时,系统处于不稳定服务状态,lmax表示系统处于不稳定服务状态所能承受的最大服务能力对应的负载值,即是系统所能承受的最大负载;系统不可服务状态,是系统由于负载过大,不能够正常提供服务的服务状态,即当lt>lmax时,系统处于不可服务状态,即处于瘫痪状态;步骤5、根据重构模型确定第一类行为负载处理时间和后面各类的延时时间和处理时间,在重构模型中:系统的处理能力lhc,是单位时间内系统能够处理的用户行为所对应的系统负载,假设lmax=lhc,则当lt>lhc时,系统即会进入不可服务状态;系统单位时间内的系统负载lut,是单位时间内系统处理的行为数but对应的系统负载,当t时刻系统实时负载lt≥lsafe时,即单位时间内系统负载超过系统的处理能力,则且lut<lsafe,tc是满足该式系统负载均衡所需的时间。重构系统延时时间δtd,表示在δt时间内,t1时刻系统瞬时负载即系统此刻处于不稳定状态时,重构系统后使得在δtd时间内任意时刻t2系统的瞬时负载且δtd时间内的系统总负载等于此时根据用户交互行为序列时间特征把用户行为分为p类,设类所对应的系统负载为l1,…,lp,则:当且时;当且时;…δtd=t1+t2+…+tj;步骤6、输出每个时间点对应的系统负载;s4、用户行为数对应的系统负载超出安全负载,判断的瞬时变迁优先级高优先触发;s5、根据每一类用户行为数对应负载设置判断并控制其延时时间;s6、前面一类对后面一类有一个反馈行为,动态控制其延时时间;s7、输出系统流程中库所的托肯值;s8、算法结束。优选地,所述petri网是一个七元组∑=(p,t;f,c,di,τ,m),其中:p是库所集,p={p1,p2,...,pn}(n≥0),库所里的token数表示用户行为数,且用户在一段时间内到达系统的数量可以服从泊松分布;t是变迁集,时间变迁集tt=(t1,t2,...,tk),是系统本身具有的服务行为变迁,瞬时变迁集ti=(tk+1,tk+2,tk+i),(k≥0,i≥0),是系统负载超出安全负载时所触发的表判断的服务变迁;c是控制服务变迁集,c=(c1,c2,...,cm)(m≥0);di是定义在变迁集c上的时间函数,即di:c→r0,对于t∈c,di(t)=a表示变迁t的发生需要a(a≥0)个单位时间来完成;f是有向弧集,f=ft∪fc,τ是定义在变迁集上的一个取值于[0,∞)中实数的函数,表示变迁的阈值。本发明依据用户交互行为序列特征提出用户行为隶属度的概念。在系统行为重构模型的基础上,基于系统交互行为分类及延时控制,提出了带时延的随机模糊petri网的系统行为重构模型和系统行为重构算法。使之在系统实时负载超出最大负载时触发重构模型均衡系统负载,使系统能够处于良好服务状态。本发明的有益效果:本发明的大规模网络服务系统行为重构方法实用性要好,该方法从实用性角度出发,通过动态控制不同用户群体的延时进而动态均衡系统负载及系统自适应重构,为解决大规模网络服务系统因负载过载出现的系统异常问题提供了技术支持。附图说明图1为系统行为重构方法流程图;图2为系统行为重构控制模型流程图;图3为12306购票软件系统流程图;图4为12306购票软件系统的petri网模型;图5为12306购票系统的dsfpn模型。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明主要有以下三部分内容:第一部分、用户隶属度函数模块。该模块根据用户交互行为特征依据隶属度函数把用户行为进行分类。第二部分、基于用户分类的系统行为重构模型模块。该模块主要是根据系统负载及用户群体的大小构建负载均衡的行为重构模型。第三部分、用户群体的行为流程。该模块主要是用petri网构建用户群体的行为流程。本发明的技术核心在于第一部分及第二部分,系统行为重构模型得建立。在实际的系统中,系统行为重构模型实现的关键是如何对用户行为分类并能够根据系统实时负载动态的重构系统模型,本模型主要是通过行为时间的延时来达到均衡负载的目的。即当在t时间内用户施加给系统的负载大于系统所能承受的最大负载时,在原统行为序列中插入或删除某些行为,使得新的系统行为序列的负载总和在δtd时间内任意时刻小于系统所能承受的最大负载(δtd>t)。根据以上基本思想,定义本发明的系统性为恶重构模型为:(1)用户行为隶属度函数表示用户行为ui隶属于每一类sj的程度。其中uik={ui1,ui2,...,uim}表示用户行为具有的交互行为序列时间特征,假设把用户行为按交互行为时间的长短(交互行为速度从慢到快)分成p个用户群体,sj={s1,s2,...,sp}(p≥1)表示每一类用户群体的标准。(2)用户行为隶属标准d(ui,sj),是用户行为隶属于具体某一用户行为群体的标准,即表示用户行为属于用户行为隶属度函数中取最小值的那一类用户行为群体。设nd(nd∈n+)表示的个数,则当nd=1时,ui行为属于第j类用户行为群体;当nd>1时,则把ui行为随机分配到nd类中的任意一类行为群体。(3)t时刻大规模网络服务系统中用户提交的总的行为数等于用户数,即bt=ut。其中ut表示t时刻系统中的用户数。(4)时刻系统的实时负载lt,是t时刻用户提交的总的行为数所对应的系统负载,即lt=bt×l。其中l(l≥1)表示一个用户提交一个请求行为所需要的系统负载。时刻系统的实时负载lt,也是p类用户行为所对应的负载之和,即其中,li表示第i类群体用户行为所对应的系统负载。(5)系统良好服务状态,是系统能够正常提供服务的服务状态。即当0≤lt≤lsafe时,系统处于良好服务状态,其中lsafe表示系统处于良好服务状态所能承受的最大服务能力对应的负载值,即是安全负载。(6)系统不稳定服务状态,是系统虽能够提供服务,但有可能出现异常的服务状态。即当lsafe<lt≤lmax时,系统处于不稳定服务状态,其中lmax表示系统处于不稳定服务状态所能承受的最大服务能力对应的负载值,即是系统所能承受的最大负载。(7)系统不可服务状态,是系统由于负载过大,不能够正常提供服务的服务状态。即当lt>lmax时,系统处于不可服务状态,即处于瘫痪状态。(8)系统的处理能力lhc,是单位时间内系统能够处理的用户行为所对应的系统负载。假设lmax=lhc,则当lt>lhc时,系统即会进入不可服务状态。(9)系统单位时间内的系统负载lut,是单位时间内系统处理的行为数but对应的系统负载,当t时刻系统实时负载lt≥lsafe时,即单位时间内系统负载超过系统的处理能力,则且lut<lsafe,tc是满足该式系统负载均衡所需的时间。(11)重构系统延时时间δtd,表示在δt时间内,t1时刻系统瞬时负载即系统此刻处于不稳定状态时,重构系统后使得在δtd时间内任意时刻t2系统的瞬时负载且δtd时间内的系统总负载等于此时根据用户交互行为序列时间特征把用户行为分为p类,设类所对应的系统负载为l1,…,lp,则:当且时;当且时;…δtd=t1+t2+…+tj。构建如上所述模型,如图1所示,具体算法如下:s1计算t时刻系统中用户提交的行为对应的系统实时负载;s2根据用户交互行为序列时间,利用隶属度函数对用户行为进行分类;s3计算每一类用户行为所对应的系统负载;s4确定用户群体的负载与设置的安全负载的关系;s5根据重构模型确定第一类行为负载处理时间和后面各类的延时时间和处理时间;s6输出每个时间点对应的系统负载;s7算法结束。上述模型及算法的描述为大规模网络服务系统提供里理论支持,在实际系统的应用中,本发明提供了一种技术方法可以将大规模网络服务系统行为重构方法应用到实际系统中。该方法针对大规模网络服务系统中的关键节点,根据检测的用户行为数对应的系统负载对用户行为进行分类控制,并使系统负载在t时刻的负载得以动态均衡。结合图2,具体方法分为以下几个步骤:s1初始化大规模网络服务系统并利用petri网对系统进行建模;s2对系统petri网模型进行分析,并确定需重构的关键节点;s3针对t时刻关键节点用户行为数所对应的系统负载与安全负载判断节点关系判断,并设置判断结构;s4用户行为数对应的系统负载超出安全负载,表判断的瞬时变迁优先级高优先触发;s5根据每一类用户行为数对应负载设置判断并控制其延时时间;s6前面一类对后面一类有一个反馈行为,动态控制其延时时间;s7输出系统流程中库所的托肯值;s8算法结束。上述算法中所用到的定义可参考下面的定义:petri网是一个七元组∑=(p,t;f,c,di,τ,m),其中:p是库所集,p={p1,p2,...,pn}(n≥0),库所里的token数表示用户行为数,且用户在一段时间内到达系统的数量可以服从泊松分布;t是变迁集,时间变迁集tt=(t1,t2,...,tk),是系统本身具有的服务行为变迁,瞬时变迁集ti=(tk+1,tk+2,tk+i),(k≥0,i≥0),是系统负载超出安全负载时所触发的表判断的服务变迁;c是控制服务变迁集,c=(c1,c2,...,cm)(m≥0);di是定义在变迁集c上的时间函数,即di:c→r0,对于t∈c,di(t)=a表示变迁t的发生需要a(a≥0)个单位时间来完成;f是有向弧集,f=ft∪fc,τ是定义在变迁集上的一个取值于[0,∞)中实数的函数,表示变迁的阈值。本发明所述的大规模网络服系统行为重构方法可以应用到某购票软件系统等大规模网络服务系统中,本发明应用到12306模拟购票软件中进行实验验证,通过系统行为重构方法实现了t时刻系统实时负载超出最大负载时系统负载动态行为自适应均衡。具体方法描述如图3所示。s1根据模拟12306购票软件系统的流程图(如图3所示),构建系统的petri网模型,如图4所示:表1图4petri模型中变迁所对应的行为活动s2对12306购票系统的petri网模型进行分析,确定关键行为是登录行为、查询行为、预订行为和支付行为。s3针对上面四个关键行为节点进行行为重构模型设置。利用dsfpn对12306系统行为流程进行建模,如图5所示:对于图5中变迁t15~t42,c1~c12变迁所对应的含义如表2所示:表2图5系统模型中t15-t42,c1-c12变迁所对应的含义t15、t22、t29、t36判断负载是否超载的变迁t16、t23、t30、t37判断用户行为属于速度缓慢群体的变迁t17、t24、t31、t38判断速度缓慢的行为群体负载的变迁t18、t25、t32、t39判断用户行为属于速度适中群体的变迁t19、t26、t33、t40判断速度适中的行为群体负载的变迁t20、t27、t34、t41判断用户行为属于速度极快群体的变迁t21、t28、t35、t42判断速度极快的行为群体负载的变迁c1~c12判断三类行为群体延时时间的变迁以查询行为为例:s4当用户行为所对应的系统负载超出设定的安全负载时,服务行为变迁t5和表判断的瞬时变迁t22同时满足触发条件,系统结构出现冲突关系;s5判断服务行为变迁t5和表判断的瞬时变迁t22的优先级;s6判断瞬时变迁t22高于服务行为变迁t5的优先级,表判断的瞬时变迁t22触发;s7对用户行为进行分类,瞬时变迁t23、t25、t27分别代表判断用户行为属于具体那一类;s8瞬时变迁t24、t26、t28判断三类用户行为对应系统负载用以控制处理时间;s9控制变迁c4、c5、c6执行并分别控制每一类用户的延时时间;s10系统中总的重复行为数是由四个关键行为节点的行为数累加得到,用户提交的总的行为数为系统行为流程库所的托肯值。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1