面向服务体系结构soa下优化服务时间的混合策略方法

文档序号:7655168阅读:305来源:国知局
专利名称:面向服务体系结构soa下优化服务时间的混合策略方法
技术领域
本发明属于SOA技术领域
背景技术
面向服务体系结构(Service Oriented Architecture,SOA)正以松散耦合、自底向上、点对点的方式改变着传统的系统架构方法,以适应大规模、高复杂度的市场需求;服务选择问题是SOA的一个核心问题,指使用者经由服务代理(Broker)可能发现具有相同(可替代)功能、不同服务质量(Qua1ity of Service,QoS)的多个服务提供者,此时使用者所面临着的如何选择服务提供者来获得最佳服务的难题;由于广泛存在的竞争压力,服务时间常常成为优化目标;针对服务时间这一优化目标,张文博等提出一种QoS获益驱动的调度框架(张文博,陈宁江,魏峻,黄涛.QoS获益驱动的中间件调度框架研究.软件学报.2006,17(6)1381-1390),通过资源规划方法来优化响应时间;杜增凯等则通过建立一种分布式的调度体系,为满足更大吞吐量提供可扩展性(杜增凯,郑名扬,鞠九滨.基于内容的分布式Web服务器调度算法.软件学报,2003,14(12)2068-2073);上述方法存在如下问题·在SOA的对等世界中,并无一个权威的领导者来确定和执行选择策略,而是由服务使用者分别确定自己的策略,所有的策略共同决定了SOA的总体性能;因此服务选择问题成为多个具有独立决策权的使用者之间的动态博弈;然而从博弈论角度看,上述文献中的方法均是纯策略,由于对于多人非合作对策来说,平衡局势不一定存在,因此上述纯策略方法往往不能给出稳定的解;·任何纯策略,无论策略多好,都将导致对“优质”服务提供者的争夺,从而形成“赢者通吃”的局面,即多数使用者会选择被评价为最好的服务提供者,而其他的提供者将有更大的概率闲置;采用纯策略,则这一冲突不可避免;这不仅使平均逗留时间延长,而且造成服务提供者之间负荷不均、利用率下降,从而使整体服务水平下降;因为SOA不再采取传统的远程调用(RPC)方式,而是推荐采用一次性文本数据传输的方式来建立服务关系,因此服务选择和服务执行之间的时间差将会加长;此时如果使用者仍采用任何纯策略,则这期间的不完全信息将进一步恶化提供者的性能;

发明内容
本发明的目的是针对SOA架构下服务使用者的逗留时间(含服务时间和等待时间)不稳定的现象,对服务使用者提供一种服务选择的混合策略,使服务提供者的负荷得以均衡化,从而减轻服务质量的波动,提高总体服务水平;本发明的特征在于依次含有以下步骤步骤(1)初始化服务代理服务器,设有
侦听该SOA环境下服务提供者服务器注册服务的端口,并执行注册操作;侦听该SOA环境下服务使用者服务请求的端口;侦听和接收服务质量QoS代理服务器返回的QoS值的端口;侦听和接收服务提供者反馈的准备时间的端口;一台或多台QoS代理服务器,设有侦听该SOA环境下服务代理服务器的QoS询问的端口;接收该SOA环境下服务提供者服务器返回的QoS值;服务提供者服务器,设有服务信息输入端口;向服务代理服务器发出注册请求的端口;侦听和响应该SOA环境下QoS代理服务器发出的QoS询问的端口;服务使用者计算机,设有侦听该SOA环境下服务代理服务器返回的服务及QoS信息的端口;步骤(2)把服务代理服务器、QoS代理服务器、服务提供者服务器以及各服务使用者计算机接入网络;步骤(3)按以下步骤依次执行混合策略方法步骤(3.1)服务使用者计算机向服务代理服务器发出服务请求;步骤(3.2)服务代理服务器收到步骤(3.1)中所述的服务请求后,从注册的服务提供者中搜索满足请求要求的服务提供者,并向服务QoS代理询问这些服务提供者的QoS指标;步骤(3.3)QoS代理服务器从各服务提供者服务器中获取步骤(3.2)所述这些能满足请求的服务提供者服务器当前的QoS状态,包括其排队长度Li(i=1,2,...,m,m是匹配该服务的服务提供者服务器总数)、平均服务率(即单位时间内能够完成的服务请求个数)μi(i=1,2,...,m),并反馈给服务代理服务器;步骤(3.4)服务代理服务器统计该类服务的到达率(即单位时间内接收到的服务请求个数)λ、平均服务准备时间Tp,并将其和从步骤(3.3)得到的各服务提供者服务器的信息以及当前QoS状态一起,反馈给步骤(3.1)中所述的服务使用者计算机;步骤(3.5)服务使用者计算机按以下步骤在各服务提供者服务器中随机选择步骤(3.5.1)求解如下关于p(t)={pi(t)}i=1m]]>的凸规划问题优化变量{pi}mi=1约束条件Σi=1mpi=1pi≥0i=1,2,...,m]]>优化目标λTpΣi=1mmax[1μi(pi2+Li+1-μiTpλTppi),0]]]>最小化;λ是服务代理服务器统计得到的服务请求到达率(单位时间到达的请求数量);m是服务代理服务器搜索到的满足服务请求的服务提供者服务器数量;Tp是服务代理服务器统计的绑定服务、传输数据的准备时间平均值;
μi是第i个服务提供者服务器提供的其完成服务的完成率(单位时间完成的服务数量);Li是第i个服务提供者服务器提供的当前排队长度;pi是该服务使用者计算机选择第i个服务提供者服务器提供服务的概率,通过求解上述凸规划得到;步骤(3.5.2)服务提供者服务器按以下过程选择服务提供者服务器设定随机产生一个(0,1]上的随机数r;服务提供者服务器Mi当且仅当Σk=1i-1pk<r≤Σk=1ipk]]>成立时被选择,p0定义为0;步骤(4)按以下步骤完成服务步骤(4.1)服务使用者计算机和步骤(3)所选择的服务提供者服务器进行绑定,并开始执行服务;步骤(4.2)准备工作(含服务绑定、数据传输)完成后,向服务代理报告准备工作时间,以便服务代理统计准备工作时间平均值Tp;改进效果对比为了验证上述随机选择方法在实际环境中的运行效果,我们对优化结果进行仿真对比;所有的服务请求者、服务代理、QoS代理和服务提供者均在奔腾1.7GHz计算机上,用VB仿真;实验的参数选择如下;一类服务,以参数为λ=100的Poisson过程随机产生;该服务的10个服务提供者注册到注册中心和QoS注册中心;服务提供者完成请求的时间服从负指数分布,其参数μi随机选取,分别为19、12、9、7、2、16、8、14、8和5;实验中,1000个请求被按照本发明方法分配给提供者;Tp设置为0.2;作为对比,我们采用纯策略,也进行了同样的试验;试验共重复进行了100次,表1列出了这100次试验中纯策略和本发明方法的性能指标平均值;表1 本发明方法改进效果对比

从表1中可以看出,相比传统纯策略,采用本发明的合作混合策略,能够平均减少逗留时间、缩短排队长度47%以上,从而在提供者的能力保持不变的情况下,显著提高了SOA的服务水平;为了对比平稳性,计算了各个提供者的连续两个请求分配的到达时间间隔的方差,结果列在图3中的对数坐标下;从图3中可以清晰地看出,本发明方法相比纯策略具有小得多的方差,到来时间间隔集中在其均值附近,其输出过程比纯策略的稳定大约一个数量级;为了分析平衡性,假设有比例为q的服务使用者是不合作者,他们在通过本方法计算获得了其他(1-q)的使用者采用的本发明方法策略后,持不合作态度,仍采用纯策略,即以概率1选择最佳的服务者;显然,当q=0时,非合作模式退化为合作模式;我们进行了一系列的实验,对不同的q值下的系统性能进行仿真;实验参数设置与前述相同;图4显示了实验中记录下来的与比例q相应的平均总时间;作为对比,所有使用者均采取纯策略的系统性能(来自表1)也列在图4中;从图4中可以看出(i)平均逗留时间,随着不合作者的增加,而单调上升;(ii)在同一概率q下,采用不合作策略的服务使用者,其逗留时间反而比合作者长;这一现象应是不合作者相互的对策冲突造成的;因此,选择不合作态度,不仅未给使用者带来额外的支付(Payoff),反而减少了支付;这一统计结果鼓励理智的使用者选择本发明方法代替纯策略,从而优化自己的服务水平;上述特点使本发明方法就成为了一个理想的方法;不仅如此,从图4中还可看出,只要不合作者的比例不超过75%,采用本发明方法的结果都优于纯策略;由于不合作比例超过75%是对对策各方都不利的局势,因此系统会在用户的共同努力下,很快返回平衡点,因此本发明方法是本博弈问题的平衡点;


图1.系统结构2.系统流程3.提供者的请求到来的时间间隔的方差 纯策略---▲---本发明方法图4.逗留时间指标随不合作者比例q的变化曲线 采用本方法的合作者--■--采用本方法的不合作者---▲---纯策略具体实现方式本发明的实现步骤如下1.初始化设定(1)建立SOA环境SOA环境如图1所示,其环境建立过程如下1)建立或接入Internet、Intranet或Extranet网络环境;2)建立一台或者多台服务代理,步骤如下A.安装必要的系统软件,如操作系统、数据库软件;B.接入上述网络环境;C.安装服务元模型;D.安装服务代理软件a.侦听该SOA环境下服务提供者的注册请求;b.侦听该SOA环境下服务使用者的服务请求,并统计到达率;c.侦听和接收QoS代理返回的QoS值;d.侦听和接收服务提供者反馈的准备时间,并统计准备时间平均值;
3)建立一台或者多台QoS代理A.安装必要的系统软件,如操作系统、数据库软件;B.接入上述网络环境;C.安装QoS代理软件a.侦听该SOA环境下服务代理的QoS询问;b.接收该SOA环境下服务提供者返回的QoS值;4)QoS代理可以和服务代理使用同一台服务器,构成一种简化的SOA环境;(2)服务提供者安装及服务发布1)安装必要的系统软件,如操作系统、数据库软件;2)接入上述网络环境;3)录入服务信息,发布(注册)到服务代理中;4)安装服务软件客户端,侦听和响应该SOA环境下QoS代理发出的QoS询问;(3)服务使用者安装1)安装必要的系统软件,如操作系统、数据库软件;2)接入上述网络环境;3)安装服务软件客户端,侦听该SOA环境下服务代理返回的服务及QoS信息;2.发起运行过程运行过程如图2所示;(1)发出服务请求服务使用者通过客户端软件,输入服务请求;软件将请求传递给服务代理;(2)服务匹配服务代理软件收到服务请求后,从注册的服务提供者中搜索满足请求要求的服务提供者,并向服务QoS代理询问这些提供者的QoS指标;(3)获取服务QoSQoS代理软件通过和各服务提供者的客户端软件交互,获取该提供者当前的QoS状态,包括其排队长度Li(i=1,2,...,m,m是匹配该服务的服务提供者总数)、平均服务率μi(i=1,2,...,m),并将各服务提供者的QoS信息反馈给服务代理;(4)反馈服务提供者信息服务代理统计该类服务的到达率λ、服务准备时间Tp,并将其和QoS代理返回的相应QoS状态一起,传递给服务使用者客户端软件;3.方法运行过程(1)计算每个提供者对应的概率服务使用者依据服务代理传递的信息,使用客户端软件求解如下关于p(t)={pi(t)}i=1m]]>的凸规划问题优化变量{pi}i=1m约束条件Σi=1mpi=1pi≥0i=1,2,...,m]]>
优化目标λTpΣi=1mmax[1μi(pi2+Li+1-μiTpλTppi),0]]]>最小化这里λ是服务使用者的服务请求到来频率(单位时间到达的请求数量),m是服务代理返回的服务提供者数量,μi是第i个服务提供者完成率参数(单位时间完成的服务数),Tp是所需的绑定服务、传输数据的准备时间平均值,Li是当前第i个服务提供者的排队长度;而pi则是凸规划的优化变量,即该服务使用者选择第i个服务提供者提供服务的概率;(2)选择服务提供者服务使用者根据上述概率pi采用轮盘赌的方法,来决定选择某个服务提供者;具体做法是首先随机产生一个(0,1]上的随机数r;提供者Mi被选择当且仅当Σk=1i-1pk<r≤Σk=1ipk]]>成立,其中p0定义为0;(3)服务绑定和执行服务使用者和所选择的服务提供者进行绑定,并开始执行服务;执行过程中,准备工作(含服务绑定、数据传输)完成后,向服务代理报告准备工作时间,以便服务代理统计准备工作时间平均值Tp。
权利要求
1.面向服务体系结构SOA下优化服务时间的混合策略方法,其特征在于依次含有以下步骤步骤(1)初始化服务代理服务器,设有侦听该SOA环境下服务提供者服务器注册服务的端口,并执行注册操作;侦听该SOA环境下服务使用者服务请求的端口;侦听和接收服务质量QoS代理服务器返回的QoS值的端口;侦听和接收服务提供者反馈的准备时间的端口;一台或多台QoS代理服务器,设有侦听该SOA环境下服务代理服务器的QoS询问的端口;接收该SOA环境下服务提供者服务器返回的QoS值;服务提供者服务器,设有服务信息输入端口;向服务代理服务器发出注册请求的端口;侦听和响应该SOA环境下QoS代理服务器发出的QoS询问的端口;服务使用者计算机,设有侦听该SOA环境下服务代理服务器返回的服务及QoS信息的端口;步骤(2)把服务代理服务器、QoS代理服务器、服务提供者服务器以及各服务使用者计算机接入网络;步骤(3)按以下步骤依次执行混合策略方法步骤(3.1)服务使用者计算机向服务代理服务器发出服务请求;步骤(3.2)服务代理服务器收到步骤(3.1)中所述的服务请求后,从注册的服务提供者中搜索满足请求要求的服务提供者,并向服务QoS代理询问这些服务提供者的QoS指标;步骤(3.3)QoS代理服务器从各服务提供者服务器中获取步骤(3.2)所述这些能满足请求的服务提供者服务器当前的QoS状态,包括其排队长度Li,i=1,2,...,m,m是匹配该服务的服务提供者服务器总数,以及平均服务率μi,i=1,2,...,m,即单位时间内能够完成的服务请求个数,并反馈给服务代理服务器;步骤(3.4)服务代理服务器统计该类服务的到达率λ,即单位时间内接收到的服务请求个数,以及平均服务准备时间Tp,并将其和从步骤(3.3)得到的各服务提供者服务器的信息以及当前QoS状态一起,反馈给步骤(3.1)中所述的服务使用者计算机;步骤(3.5)服务使用者计算机按以下步骤在各服务提供者服务器中随机选择步骤(3.5.1)求解如下关于p(t)={pi(t)}i=1m]]>的凸规划问题优化变量{pi}i=1m约束条件Σi=1mpi=1pi≥0,i=1,2,...,m]]>优化目标λTpΣi=1mmax[1μi(pi2+Li+1-μiTpλTppi),0]]]>最小化;λ是服务代理服务器统计得到的服务请求到达率,即单位时间到达的请求数量;m是服务代理服务器搜索到的满足服务请求的服务提供者服务器数量;Tp是服务代理服务器统计的绑定服务、传输数据的准备时间平均值;μi是第i个服务提供者服务器提供的其完成服务的完成率,即单位时间完成的服务数量;Li是第i个服务提供者服务器提供的当前排队长度;pi是该服务使用者计算机选择第i个服务提供者服务器提供服务的概率,通过求解上述凸规划得到;步骤(3.5.2)服务提供者服务器按以下过程选择服务提供者服务器设定随机产生一个(0,1]上的随机数r;服务提供者服务器Mi当且仅当Σk=1i-1pk<r≤Σk=1ipk]]>成立时被选择,p0定义为0;步骤(4)按以下步骤完成服务步骤(4.1)服务使用者计算机和步骤(3)所选择的服务提供者服务器进行绑定,并开始执行服务;步骤(4.2)包括服务绑定、数据传输的准备工作完成后,服务使用者计算机向服务代理服务器报告准备工作时间,以便服务代理服务器统计准备工作时间平均值Tp。
全文摘要
面向服务体系结构SOA下优化服务时间混合策略方法,属于SOA技术领域,其特征在于由服务提供者按照自己的需求,为从服务代理得到的、经过匹配的服务提供者设定选择概率,并从中再用轮盘赌的方法按照随机数选择服务提供者;在不合作者的比例小于75%下,在平均逗留时间、最大逗留时间、平均排队长度、最大排队长度上都优于其他方法。
文档编号H04L12/28GK101072185SQ20071011812
公开日2007年11月14日 申请日期2007年6月29日 优先权日2007年6月29日
发明者范玉顺, 沈益民 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1