基于语义的NGN融合业务合成算法研究*
2013-10-08彭荣群张连俊糜正琨
彭荣群,张连俊,糜正琨
(1.山东理工大学计算机学院 淄博 255049;2.南京邮电大学通信与信息工程学院 南京210003)
1 引言
NGN(next generation network,下一代网络)是业务驱动的网络,能否快速高效地提供用户所需要的各种业务决定着网络未来的发展。在过去的20多年中,计算机网络和电信网络都在不断地演进,但二者提供业务的机理不同[1]:电信网络是一个封闭的垂直网络,提供保证收费质量的业务;而计算机网络是一个开放的平面网络,提供免费的尽力而为的服务,因此它们在很长一段时间内都各自独立地提供基于自身网络的业务。但随着社会的进步以及电信网向全IP网的演进,用户越来越不满足于只使用由计算机网络或电信网络提供的单纯业务,而是希望能够享用由这两种网络提供的融合服务。根据客户请求自动发现、匹配以及动态合成新业务,特别是由两种网络业务合成的融合业务,成为未来网络发展的关键技术。
NGN以前的电信网络是一个封闭的网络,只有电信工程师才能理解电信业务的提供机制,导致了两种业务合成过程实现的困难。Web Service[2]技术的出现使业务的合成变得简单并易于实现。Web Service是近年来计算机界提出的一种新的分布技术,具有平台独立性、松耦合性、自包含性、基于可编程性等诸多优点,在计算机网络领域得到了广泛的应用。随着Web Service技术的成熟,将该技术应用于电信网络中成为现在研究的一个新热点[3]。由ETSI、OSA Parlay Group以及3GPP定义的Parlay X Web Services API[4]和由欧洲计算机制造商协会(ECMA)制定的一系列计算机支持的电信应用(CSTA)[5]标准,都是Web业务技术在电信领域的成功应用。
传统的电信业务可以被封装成一系列具有标准接口的Web Service,具有丰富网络业务开发经验的非电信业务开发人员可以像调用普通网络业务那样调用电信业务,在传统的网络业务中融入呼叫、即时消息等电信业务功能,实现网络业务和电信业务的无缝集成,缩短了融合业务的开发周期,给电信业带来了新的发展机遇。
Parlay X Web Service和CSTA业务与Web Service类似,都基于WSDL描述业务,它们没有提供业务的语义信息,不支持基于语义的操作,不利于业务的自动发现、调用与合成。这就需要采用机器能够理解的基于语义的Web业务描述语言。
语义Web业务描述语言采用一种具有明显语义的表示方式来表示和交换信息,以利于Web业务的自动处理。基于语义支持的自动业务合成算法主要采用OWL-S[6]、WSMO[7]两种语义建模语言来描述业务,它主要包含两种具体算法[8],即前向链合成算法(forward-chaining composition algorithm,FCA)[9]和无回溯的反向链合成算法(non-backtrace backward-chaining composition algorithm,NBCA)[10]。这 两 种算法虽然在网络域得到了广泛的应用,但对于由网络域和电信域业务合成的融合业务来说,它们存在着明显的不足。
1.1 前向链合成算法
[9]给出了一种前向链合成算法,该算法的基本思想是根据用户的输入来推导各种Web Service输出,把推导中用到的Web Service和它们产生的输出分别加到Web Service输入集合和Web Service输出集合中,同时要把每次Web Service产生的输出加到Web Service的输入集合中,这样一直迭代,直到用户所请求的结果完全包含在Web Service输出集合中。
但FCA存在几个很显著的问题,介绍如下。
·该算法结束的条件是用户请求的输出都已经获得。对于电信业务来说,这个结束条件并不充分,因为某些电信业务只是执行一个动作,并没有明显的输出。如果没有用户要求的输出参数,即UO= ,那么FCA就不执行。以MakeCall业务为例,该业务的主要功能是建立通信双方的连接,而不是产生明确的输出结果。
·算法中没有考虑业务的前提(P)和效果(E)参数,而这两个参数对电信域业务来说是非常重要的。
·没有考虑对于合成中需要的某些业务,用户未提供它的某些输入或某些前提不满足时的情况。
当算法遇到上述情况时就会返回,导致合成失败结果,使合成成功率降低。
1.2 无回溯反向链合成算法
无回溯反向链合成算法的基本思想是:从用户所想要得到的查询结果开始,试图找出能得到该结果所需要的所有生成式。如果存在多个与当前目标匹配的生成式,则先去缓冲区查找有无对该输入用户的输入闭包;若没有,则先要计算该用户的输入闭包,并放入缓冲区中,然后选用生成式体部项全部包含在输入闭包中的生成式进行合成。输入闭包计算只需要进行一次,只要用户的输入和模型描述库不变,以后的合成都可以从缓冲区中取出使用。
与FCA相比,NBCA由于在算法中引入了输入闭包,克服了前向链合成算法中多次回溯的缺点,因此在合成效率方面有了显著的提高。但对于电信域业务来说,仍不能直接使用,原因如下。
·NBCA的启动条件是用户需要的输出参数集合非空,但由于很多电信业务只是要求完成一个动作,并没有明确需求的输出,这样NBCA就没法启动。
·算法中也没有考虑业务的前提(P)和效果(E)参数,而这两个参数对电信域业务来说是非常重要的。
针对以上分析,本文提出了一种双向链合成算法(double-chaining composition algorithm,DCA),以满足网络域和电信域业务合成的需求。
2 双向链合成算法的设计
DCA的基本思想是:首先针对FCA和NBCA存在的问题,对它们分别进行改进;然后把两种业务合成算法结合起来使用,并充分利用两者各自的优势。当用户请求的输出集合为空(UO= )时,由于FCA用UO作为算法的结束条件,因此对它进行简单的改进后就可以顺利完成合成过程,但对NBCA来说,就很难做到这一点,因为UO是该算法的启动条件。因此在UO= 的条件下,可以首先采用改进后的FCA,如果能成功完成合成,那么就输出合成结果;对于合成不成功的情况,如果此时的UO已经非空(UO≠ ),那么还可以启动NBCA进行合成,这样可以进一步提高业务合成的成功率。如果一开始UO就非空(UO≠ ),那么就可以直接启动改进后的NBCA,这样仍可以保证较好的合成成功率。DCA的基本思想如图1所示。
图1 DCA的基本思想
2.1 对FCA的改进
对FCA的改进介绍如下。
·该 算法结束的条件根据用户请求的输出都已经得到。如果没有用户要求的输出参数,即UO= ,那么FCA就不会执行。因此,为了适应电信业务的特殊性,在前期工作中[11]对该算法进行了改进,在结束条件中加入了功能说明项,使算法只有在所有输出都得到且所有要执行的功能都完成后才能结束。
·在 算法中增加了业务的前提(P)和效果(E)参数的匹配。
·考虑了在合成中需要的某些业务,在用户未提供某些输入或某些前提不满足的情况。当合成需要的业务的某些输入参数不在用户输入集合中时,就把这些没有的参数加入用户需求的输出集合中,再去查找能生成它们的业务,使合成得以完成,由此提高合成的成功率。
改进的FCA(improvedFCA,I-FCA)算法参见参考文献[11]。
2.2 对NBCA的改进
对NBCA的改进介绍如下。
·与对FCA的改进类似,在算法中增加了对业务功能(F)的匹配。也就是说,算法结束的条件是除了要得到用户所要求的所有输出参数之外,还要完成用户要求的所有功能。
·算法中增加了业务的前提(P)和效果(E)参数的匹配。
改进后的 NBCA(improved NBCA,I-NBCA)的计算流程如图2所示。
2.3 双向链合成算法
综合上述I-FCA和I-NBCA,本文提出了支持网络域和电信域业务合成的双向链合成算法,计算流程如图3所示。
DCA采用Java语言编程开发。程序中利用美国马里兰大学开发的Mindswap OWL-S API调用Pellet推理机来获取两概念间的语义相似度。另外,在算法中把I和P、O和E同等对待,因为只有在业务执行时才需要验证前提(P)是否满足,效果(E)是否能得到;而在业务合成中,业务只需要P和E参数项,不用验证,因此它们与I、O地位相同,可以放在一起处理。
3 算法性能
3.1 性能指标
对于业务合成性能,可以从以下两方面来测试。
·平均合成时间:指成功合成业务所用时间的平均值,表示如下:
·合成成功率,表示如下:
3.2 性能测试的设计
性能测试的步骤设计如下。
(1)测试用业务集合包括扩展后的CSTA电信域业务(共 154个)和网络域业务(OWLS-TC_v2.2_revision_3_(profile_taxonomy)[12]测试集的1 007个业务)。
(2)合成请求由系统随机生成,I、P和O、E的个数从0到10逐渐变大,I、O、P、E参数均来自于从测试集业务中提取的 I、O、P、E 参数集合。
(3)在具体测试中采用2.6 GHz双核Intel处理器、内存2 GB的个人计算机实现对算法性能的评估,每组100个业务请求,分别做100组求均值。
3.3 测试结果
FCA、NBCA、DCA 3种算法的合成时间与请求的输出个数、参与的业务数量以及用户输入个数之间的关系曲线分别如图4~图6所示。
由图4~图6可以看出,3种算法的平均合成时间均随着用户提供的输入参数个数、用户请求的输出参数个数和参与的业务数量的增加呈现上升趋势。其中,FCA的平均合成时间最长,NBCA所用时间最少,而DCA略高于NBCA,这是因为FCA是由输入推导输出,算法中存在回溯,而NBCA中消除了回溯,因此所用时间最少,合成效率最高。而对于DCA,当用户需求的输出参数个数集不为空集时,采用的是改进型的NBCA,因此合成效率与NBCA类似,但由于在算法中增加了P、E和F参数的匹配,因此所用时间略高于NBCA。
图6 平均合成时间与用户提供的输入参数个数之间的关系
单就合成效率来看,DCA不是最好的,但从合成的成功率来看,DCA却是最好的,如图7~图9所示。特别是当用户请求的输出参数集为空时,FCA和NBCA根本就不能启动,因此合成成功率为0;而DCA就可以启动并完成合成,如图9所示。这一点特别适合应用于电信业务和网络业务融合的场合。
4 业务合成实例
假设某“股票信息业务”的需求是:从某个日期开始,每隔一段时间自动查询在某个城市股票交易所的某支股票的价格信息,如果价格高于或低于某个数值,就自动接通用户和股票经纪人的电话,以便商讨如何处理股票。
该用户请求的业务可以表示为:
WSautoStockQuote (I:stockname,city,datetostart,interval,toplimit,bottomlimit,usertelnum,stockbrokertelnum;O: ;P: ;E:establish a call between user and broker;F:timing stock quote,data comparison,make call)
利用上面提出的DCA可以找到9个原子业务,其中6个是电信域业务,3个是网络域业务,如图10所示。输出的合成业务如图11所示。
5 结束语
前向链合成算法和无回溯反向链合成算法是目前常用的两种基于语义支持的自动业务合成算法,但由于它们是基于网络域开发的,因此不太适用于网络域和电信域融合业务的合成。本文通过分析两种算法的不足,提出了一种新的基于语义的双向链自动业务合成算法,克服了现有算法的不足,并在缩短平均合成时间和提高合成成功率方面获得了明显的改进。并且利用该算法时,用户只需要提供必要的输入输出信息、部分处理过程,在合成过程中需要的其他部分可以由系统自动生成,这对不熟悉电信业务的IT开发人员是非常有帮助的,既节省了开发成本,又缩短了开发周期,提高了开发效率。
图11 自动股票查询系统的合成结果
参考文献
1 乔秀全,李晓峰.融合业务网络的发展和演进技术研究.中国新通信,2008(7):77~84
2 Booth D,Haas H,McCabe F,et al.NOTE-ws-arch-20040211.Web Services Architecture.W3C,Massachusetts,USA,2004
3 Griffin D,Pesch D.A survey on web service in telecommunications.IEEE Communications Magazine,2007(7):28~35
4 Parlay X Working Group.ES 202 504.Parlay X 3.0 Web Service.ETSI,Nice France,2007
5 ECMA-269.Services for Computer Supported Telecommunications Applications (CSTA)Phase III,6th Edition.http://www.ecmainternational.org/publications/standards/Ecma-269.htm,2004
6 Martin D,Burstein M,Hobbs J,et al.Semantic Markup for Web Services.W3C,Massachusetts,USA,2004
7 BruijnJ,BusslerC,DomingueJ,etal.SUBM-WSMO-20050603.Web Service Modelling Ontology.W3C,Massachusetts,USA,2005
8 顾宁,刘家茂,柴晓路等.Web Services原理与研发实践.北京:机械工业出版社,2006
9 Thakkar S,Knoblock C A,Ambite J L.Dynamically composing web service from on-line sources.AAA Workshop on Intelligent Service Intergration,Edmonton,Alberta,Canada,2002:54~80
10 Liu J M,Gu N,Shi B L.Non-backtrace backward chaining dynamic composition of web service based on mediator.Journal of Computer Research and Development,2005,42(7):1153~1158
11 彭荣群,糜正琨.基于CSTA扩展接口的下一代网络融合业务合成研究.南京邮电大学学报(自然科学版),2009,29(1):23~28
12 Meditskos G,Bassiliades N.OWLS-SLR:an OWL-S service profile matchmaker.http://lpis.csd.auth.gr/systems/OWLS-SLR/datasets.html,2009