首页> 中国专利> 基于面向服务架构的软件无线电系统

基于面向服务架构的软件无线电系统

摘要

本发明为解决目前软件无线系统存在的各模块间耦合较紧密,模块的独立开发、升级困难的问题,提出了一种支持异构环境的、松耦合的、复用性与灵活性更好的基于面向服务架构的软件无线电系统。所述的软件无线电系统采用面向服务的体系结构,系统各波形组件均封装为Web服务,分布式地部署在异构环境中,通过波形服务总线WSB集成,所建立波形服务总线是一种逻辑软总线,是支持异构环境的分布式、松耦合服务与应用集成框架,提供服务交互、服务管理、通信和消息处理、安全性控制等功能。服务的管理控制信息传输与业务信息传输分离,管理控制信息采用简单对象访问协议SOAP传输,业务信息采用SOAP协议或直接建立连接的方式传输。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-11

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20140618 终止日期:20190209 申请日:20100209

    专利权的终止

  • 2014-06-18

    授权

    授权

  • 2011-09-21

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20100209

    实质审查的生效

  • 2011-08-10

    公开

    公开

说明书

技术领域

本发明属于软件无线电系统领域,具体涉及一种基于面向服务架构的软件无线电系统。

背景技术

无线通信是现代通信极其重要的组成部分,在军事和民用领域都发挥着重要的作用。目前,在无线通信领域中,各种新的无线通信体制和标准被不断提出,无线通信产品周期缩短,开发时间和费用增加,同时多种通信体制并存下的各种通信设备灵活互联的要求也越来越迫切。软件无线电SDR(SoftwareDefined Radio)是能够解决和缓和这些问题的一种新的无线通信体系结构,也是无线通信技术发展的重要方向。

软件无线电是Joe Mitola在1992年的美国电信系统会议上首次明确提出的,其基本概念是将硬件作为无线通信的基本通用平台,把尽可能多的无线通信和个人通信的功能用软件实现。软件无线电通过构造一个具有开放性、标准化、模块化的通用硬件平台,将系统的各种功能和波形应用处理过程,如调制解调、信道编/译码、信息加/解密、网络协议等用软件来完成。软件无线电系统或设备要求具有重新编程及重新配置、提供并改变业务、支持多种标准等能力。

软件通信体系结构SCA(Software Communications Architecture)是目前研究和应用最多的SDR软件结构。美军于1997年提出联合战术无线电系统JTRS(Joint Tactical Radio System)计划,并且提出了相应的软件通信体系结构SCA规范,SCA规范得到了JTRS、SDR论坛以及众多的研究机构和企业的支持,基于SCA的软件无线电系统成为当前软件无线电研究的典型系统。SCA是一个开放的体系结构框架,SCA硬件体系结构采用机箱、插槽、硬件模块的组成方式,SCA软件体系结构采用开放的商业软件基础设施的多层结构,从底层硬件分离出核心应用与非核心应用,通过核心框架层CF(Core Framework)和公共对象请求代理体系结构CORBA(Common Object Request Broker Architecture)提供一种分布式处理环境,从而提供软件应用的可移植性、可重用性和可扩展性。由于SCA的核心框架软件采用组件化技术开发,核心框架软件模块多,接口间调用关系复杂,应用组件在SCA规定范围内可以直接访问操作系统,非CORBA组件的使用以及CORBA本身存在厂商绑定情况等问题,基于SCA的软件无线电系统软件各部分的关联比较紧密、复杂、耦合性较强,软件各部分的协作开发,便携组装,独立升级比较困难。

虚拟无线电是软件无线电的一种实现方式,虚拟无线电系统分为子卡和工作站两个部分,子卡完成射频信号收发,上下变频,中频信号采样与恢复,工作站(多个)来完成所有的信号处理和通信协议实现。虚拟无线电具有较好的通用性,但其信号处理时延长,且各工作站软件间为紧耦合关系,软件独立开发和升级困难。

现有的软件无线系统都存在系统各部分间耦合较紧密,软件模块协作开发和灵活升级困难的问题。

发明内容

本发明的目的是为解决目前软件无线系统存在的各模块间耦合较紧密,模块的独立开发和独立升级扩展困难的问题,并且建立一个支持异构环境的、松耦合的、复用性与灵活性更好的软件无线电系统,本发明提出了一种基于面向服务架构SOA(Service-Oriented Architecture)的软件无线电系统。

本发明是这样实现的:一种基于面向服务架构的软件无线电系统,其中,采用面向服务的体系结构,软件无线电系统各波形组件均封装为Web服务。

如上所述的基于面向服务架构的软件无线电系统,其中,各服务通过波形服务总线WSB(Waveform Service Bus)集成,波形服务总线WSB是企业服务总线ESB(Enterprise Service Bus)的扩展,提供服务管理、透明的路由和寻址、异构环境的消息传递功能,其中,WSB提供总线映射功能:将芯片间总线、PCI、VME、Ethernet、Internet等总线映射为统一的数据格式和统一的地址形式的虚拟总线。

如上所述的基于面向服务架构的软件无线电系统,其中,WSB总线下,除SOAP消息传递机制外,还针对数据流提供有连接的通信方式。

如上所述的基于面向服务架构的软件无线电系统,其中,有连接的通信方式使用的协议是TCP。

如上所述的基于面向服务架构的软件无线电系统,其中,软件无线电系统各波形组件服务使用以XML语言为基础的Web服务描述语言WSDL(WebServices Description Language)来描述服务的接口规约、消息格式规约、通信格式规约以及访问地址。

如上所述的基于面向服务架构的软件无线电系统,其中,在波形服务总线WSB上提供波形服务管理单元WSMU(Waveform Service ManagementUnit),服务提供者在波形服务管理单元WSMU注册所提供的服务、WSDL文件的信息,服务使用者根据服务名字在波形服务管理单元WSMU查找所需的服务,获得服务的访问地址以及接口协议信息。

本发明的有益效果是:基于面向服务架构的软件无线电系统,具有更强的灵活性、可重用性与可扩展性。在WSB总线的支持下,系统各服务可部署在异构环境中,服务间通过松耦合的方式进行联系和通信,整个系统可以灵活划分服务,各服务的硬软件可以独立的开发。基于分布式部署的一些通用服务可以为多个软件无线电系统服务,实现服务的可重用性。系统在实现新的波形应用时,可以灵活添加和修改服务,各服务可以独立演化升级。

附图说明

图1是基于面向服务架构的软件无线电系统体系结构;

图2是软件无线电系统服务分布示例;

图3是多模式广播接收软件无线电系统体系结构;

图4是用BPMN实现的数字AM广播接收系统业务过程模型;

图5是数字AM广播接收系统服务连接关系;

图6是一种部署在机箱内的软件无线电系统结构示例。

具体实施方式

下面结合附图和具体实施例对本发明做进一步的说明:

图1为基于面向服务架构的软件无线电系统体系结构示意图,本发明所述的软件无线电系统采用面向服务的架构,各波形组件服务通过服务的组合、集成来完成系统的各波形应用的实现。

具体的,本发明所述的基于面向服务架构的软件无线电系统包括:各波形组件以及波形服务总线,波形服务总线将各波形组件集成;

其中,软件无线电系统各波形组件均封装为Web服务;

软件无线电系统各波形组件服务之间使用Web服务描述语言WSDL(Web Services Description Language)来描述服务的接口规约、消息格式规约、通信格式规约以及访问地址,WSDL文件用可扩展标记语言XML(ExtensibleMarkup Language)文件格式存储并采用XML Schema的数据类型系统。这样,各服务可以在满足其WSDL文件描述的内容下自由设计实现和独立扩展升级,实现软件无线电系统各波形组件的松耦合和跨平台分布式部署。

按照约定,WSDL文件包括抽象描述部分和具体描述部分。抽象描述部分包括类型(types)、消息(messages)、操作(operations)和端口类型(porttype)四个部分。类型(types)提供消息定义所需的数据类型定义;消息(messages)建立在类型(types)之上,定义通信中使用的消息数据结构;操作(operations)为服务中所支持的操作的抽象描述;端口类型(port type)是对操作(operations)进行逻辑分组。具体描述包括绑定(binding)、端口(port)和服务(service)三个部分。绑定(binding)为特定端口类型的具体协议和数据格式的绑定;端口(port)将接口绑定于具体的网络地址;服务(service)是端口(port)的逻辑分组。

进行了同一的接口定义之后,系统中使用自定义总线WSB(WaveformService Bus)进行联系和交互。

图2为一个软件无线电系统服务分布的示例,软件无线电系统各服务可以部署在Internet上、局域网上、软件无线电机箱内、软件无线电处理板卡内、处理芯片内。一个软件无线电的波形应用可能是部署在不同位置的多个服务的组合,如图2中的服务1~服务16的组合,异构环境中服务间的实际通信总线和协议有多种,如图2中的服务15、服务16之间的实际通信协议为Internet的TCP/IP,服务9、服务10之间的实际总线可能是PCI总线,服务4、服务5之间的实际总线可能是芯片间总线,服务6、服务7之间可能是芯片内总线,所建立的波形服务总线WSB提供统一的通信协议在各具体总线的映射功能,支持在上述异构环境下,部署在不同位置的各服务间的通信。

各服务通过波形服务总线WSB(Waveform Service Bus)集成,通过服务的组合实现软件无线电系统的配置、发送、接收。

WSB总线是一种逻辑软总线,是支持异构环境的分布式、松耦合服务与应用集成框架,提供服务交互、服务管理、通信和消息处理、安全性控制等功能。波形服务总线WSB与现有的企业服务总线ESB相比,两者有一些相似之处:WSB和ESB都是应用集成框架的软总线,都提供服务管理、透明的路由和寻址、异构环境的消息传递等。WSB在一些方面又区别于ESB:ESB总线使用的异构环境通常指跨操作系统、编程语言、网络硬件平台的环境,服务是基于网络设备提供的,而WSB总线由于应用在软件无线电系统中,其使用的异构环境除包括异构网络环境(ESB总线的异构环境)外,还包括了单芯片系统、单板卡系统、机箱式设备等嵌入式系统,WSB使用的异构环境更复杂,需要处理芯片间总线、PCI、VME、Ethernet、Internet等多种总线或连接下的统一传输协议和透明传输;ESB总线下,服务间的通信仅通过SOAP消息传递,WSB总线下,由于软件无线电系统的业务数据流使用有连接的通信更高效,WSB还提供除SOAP消息传递外的有连接数据流通信方式,这要求在各种总线或连接的异构环境下,提供或建立统一的连接协议;另外,WSB是针对软件无线电系统应用的特殊软总线,其提供的服务管理和安全性控制等方面也与ESB总线下通用的服务管理和安全性控制等方面不安全相同。

WSB的基本功能包括:波形服务管理、总线映射、路由和寻址、无连接消息传递与有连接通信。

波形服务管理:在波形服务总线WSB上提供波形服务管理单元WSMU(Waveform Service Management Unit),WSMU可以集中式或分布式地部署在WSB上。波形服务管理具体包括服务注册、服务发现与查询、服务分类管理。服务注册:服务提供者在波形服务管理单元WSMU注册所提供的服务,其WSDL文件的信息以及其他描述信息(如:注释说明、协作描述等)被映射到WSMU。服务发现与查询:服务使用者根据服务名字在波形服务管理单元WSMU查找所需的服务,获得服务的访问地址以及接口协议等信息,还可以基于某些条件对可获得的服务进行动态搜索。服务分类管理:按照特定标准对服务进行分类,并监测服务的提供情况和记录服务评测信息。

总线映射:软件无线电系统各服务部署的环境可以是网络与嵌入式系统混合的异构环境,服务间的通信总线或连接可能有芯片间总线、PCI、VME、Ethernet、Internet等,WSB分布式地部署异构总线通信转换单元,将各种各样的总线或连接映射为统一数据包格式和统一形式地址的虚总线,使服务间能够方便、顺畅的通信。

具体的实现方式由需要映射的总线类型确定,如:将PCI总线类型映射为WSB总线类型时,异构总线通信转换单元首先读取PCI总线格式的数据,将其进行解析,得到其中的信息,然后将信息重新打包成WSB总线格式的数据,通过WSB总线进行传输。具体实现方式为成熟技术,是本领域技术人员公知常识。

路由和寻址:波形服务管理单元提供了服务名称与服务地址的映射,总线映射提供了统一形式的访问地址,服务使用者通过服务的名称就能完成服务的请求调用,使WSB具有透明性的路由和寻址能力。

无连接消息传递与有连接通信:分布式环境下服务间的消息传递采用简单对象访问协议SOAP,在总线映射形成的虚总线上提供或建立统一的传输协议,典型的是在网络虚总线上使用HTTP。WSB总线除提供SOAP消息传递外,还提供有连接通信,在总线映射形成的虚总线上提供或建立一种连接协议,典型的是在网络虚总线上使用TCP。服务间的管理控制信息使用SOAP消息传递,服务间的业务数据可使用SOAP消息传递,也可在服务间建立连接,进行业务流传递。

WSB的扩展功能包括:安全性控制、服务等级与服务质量管理、基础架构智能等。

图3所示的多模式广播接收软件无线电系统的例子中,系统各服务均分布部署在Internet上,该方式可以充分利用网络资源并进行大范围的协作开发,系统具有高度的灵活性,能够灵活添加、修改服务。

下面给出一个服务仅分布部署在单个机箱内的软件无线电系统的例子,该软件无线电系统的结构如图6所示。系统采用模块化组成方式,由机箱和功能插卡组成,系统定义能提供服务的软硬件基本单元为软件无线电系统服务单元,即服务提供者,一个服务单元可以包括一张或多张硬件插卡,如射频服务单元#1为一张插卡,射频服务单元#2包括射频卡、中频卡。各服务间的消息通过千兆以太网进行传输,以太网是此系统中WSB总线的通信承载方式。系统以太网总线分为已加密边(黑边)总线和未加密边(红边)总线,中间用以太网桥连接。位于黑边总线的服务单元有调制解调服务单元和射频服务单元。调制解调服务单元主要完成信号的调制解调、数字滤波、插值/抽取、数字上/下变频等工作;射频服务单元主要完成信号的A/D、D/A转换,模拟混频、滤波,射频信号收发等工作。位于红边总线的服务单元有主控服务单元、信源/信宿服务单元、网络协议服务单元、信道编/译码服务单元。主控服务单元主要完成波形应用的服务组合过程控制,系统人机交互管理等工作;信源/信宿服务单元提供信息数据、音视频接口,完成信源信号的A/D、D/A转换,信源的编解码等;网络协议服务单元完成波形应用中的MAC层、网络层、传输层的功能,一般由通用处理器实现;信道编/译码服务单元实现信道编码和译码功能,一般是由FPGA、DSP等可编程硬件实现,该服务单元上仍包括通用处理器来实现与总线接口。位于黑边总线和位于红边总线的服务通信时需要经过安全服务单元提供的相应安全服务的代理,业务流在跨黑边和红边传输时,也要求经过安全服务单元的加/解密服务。

软件无线电系统各服务分布式地部署在开放的异构环境中,波形服务总线WSB参考现有的企业服务总线ESB建立,与现有的企业服务总线ESB相比,两者有一些相似之处:WSB和ESB都是应用集成框架的软总线,都提供服务管理、透明的路由和寻址、异构环境的消息传递等。

WSB在一些方面又区别于ESB:ESB总线使用的异构环境通常指跨操作系统、编程语言、网络硬件平台的环境,服务是基于网络设备提供的,而WSB总线由于应用在软件无线电系统中,其使用的异构环境除包括异构网络环境(ESB总线的异构环境)外,还包括了单芯片系统、单板卡系统、机箱式设备等嵌入式系统,WSB使用的异构环境更复杂,需要处理芯片间总线、PCI、VME、Ethernet、Internet等多种总线或连接下的统一传输协议和透明传输;此功能采用总线映射的功能实现:软件无线电系统各服务部署的环境可以是网络与嵌入式系统混合的异构环境,服务间的通信总线或连接可能有芯片间总线、PCI、VME、Ethernet、Internet等,WSB分布式地部署异构总线通信转换单元,将各种各样的总线或连接映射为统一数据包格式和统一形式地址的虚总线,使服务间能够方便、顺畅的通信。

ESB总线下,服务间的通信仅通过SOAP消息传递,WSB总线下,由于软件无线电系统的业务数据流使用有连接的通信更高效,WSB还提供除SOAP消息传递外的有连接数据流通信方式,这要求在各种总线或连接的异构环境下,提供或建立统一的连接协议;此种协议可以有系统组建人员自行编写确认,也可以采用常见、成熟的协议,例如:TCP协议。

另外,WSB是针对软件无线电系统应用的特殊软总线,其提供的服务管理和安全性控制等方面也与ESB总线下通用的服务管理和安全性控制等方面不完全相同,此处,主要是针对系统需要进行相应的数据加密,解密处理。

通过上述系统结构,即可以实现软件无线电系统各服务分布式地部署在异构环境中;具体的部署方式包括:服务部署在Internet上,服务部署在局域网上,服务部署在软件无线电机箱内,服务部署在软件无线电处理板卡内,服务部署在处理芯片内。以上多种服务部署方式可以在一个软件无线电系统中并存。

在波形服务总线WSB上提供波形服务管理单元WSMU(WaveformService Management Unit),服务提供者在波形服务管理单元WSMU注册所提供的服务,其WSDL文件的信息以及其他描述信息(如:注释说明、协作描述等)被映射到WSMU,服务使用者可以根据服务名字在波形服务管理单元WSMU查找所需的服务,获得服务的访问地址以及接口协议等信息。在波形服务管理单元WSMU的支持下,波形服务总线WSB提供了智能路由的功能,即提供服务之间灵活、基于内容、位置透明的消息传输,当系统中添加了服务内容,或者是服务内容有所改变时,只需要服务提供者在波形服务管理单元WSMU中进行重新注册,服务使用者即可以方便的使用新的系统。

基于面向服务架构的软件无线电系统中的波形服务是自治的、粗粒度的应用,服务间通信的内容涉及管理、控制和业务三个方面。基于通信中控制信道与业务信道分离的思想,将服务的管理控制信息传输与业务信息传输分离开,服务间进行管理控制信息通信时,采用基于通用的XML消息处理框架来传输信息的简单对象访问协议SOAP(Simple Object Access Protocol),并且在异构环境中,使用一种典型的绑定方式,如HTTP绑定,在其它不适合直接实现HTTP协议的总线上将HTTP协议映射到该特定总线上。服务间的业务信息通信有两种实现方式,方式一与管理控制信息通信方式相同,使用基于通用的XML消息的SOAP协议,管理控制信息通信与业务信息通信方式的统一有利于整个系统内服务间通信方式的简化。方式二是服务间直接建立连接,进行业务数据流的传输,在异构环境中,典型的情况是建立TCP连接,当总线不适合直接建立TCP连接时,由WSB总线提供的具体总线映射功能来服务间的TCP连接,本方式更加适和业务数据流的传输并且有利于提高传输效率。

软件无线电系统需要完成某特定波形应用以及其它任务(如:系统环回测试、状态查询、日志查询等),每个任务均通过服务组合的实现来完成。系统设计人员根据任务需求以及在波形服务管理单元WSMU获得的各种服务提供的情况,首先使用服务组合建模语言BPMN(Business Process ModelingNotation)来建立业务过程的图形化模型,然后基于此模型,使用服务组合编程语言BPEL(Business Process Execution Language)编写可执行的服务组合过程代码。服务组合执行过程的BPEL程序本身也作为一个服务,采用WSDL描述其接口,能够被其它的服务调用。

下面用一个软件无线电系统的例子来说明在基于面向服务架构的软件无线电系统中,WSDL服务描述、服务间的通信、用服务组合建模语言BPMN建立业务过程模型、用服务组合编程语言BPEL编写可执行的服务组合过程代码的情况。图3为多模式广播接收软件无线电系统体系结构示意图,该系统可以根据用户需求工作在数字AM广播接收、模拟AM广播接收、模拟FM广播接收这三种方式下。

多模式广播接收软件无线电系统基于SOA的架构,各组成部分分布在Internet上,通过服务的组合完成具体波形应用,系统包括一个客户端和五个服务提供者:射频接收服务器、数字前端处理服务器、信号解调服务器、信道译码服务器、信源译码服务器。在无线广播信号的接收处理过程中,各服务提供者提供的典型服务如下:

射频接收服务器:射频接收服务,完成射频接收中的模式选择、载波频率、业务流输出地址参数的配置,业务流连接建立,完成射频信号的滤波、放大、带通采样,业务流向下一服务输出任务。

数字前端处理服务器:数字前端处理服务,完成数字下变频与数字滤波的相关参数、业务流输入输出地址的配置,业务流连接建立,完成业务流的接收,信号的数字下变频、滤波,以及业务流向下一服务输出任务。

信号解调服务器:数字AM解调服务,完成数字AM解调中的相关参数(如:FFT点数)和业务流输入输出地址的配置,业务流连接建立,完成对数字AM调制(OFDM+QAM)的解调,包括FFT变换、频率跟踪补偿、QAM软判决、反交织等过程以及业务流的接收和输出处理;模拟AM解调服务,完成模拟AM解调中的相关参数和业务流输入输出地址的配置,业务流连接建立,完成对模拟AM调制的解调及业务流的接收和输出处理;模拟FM解调服务,完成模拟FM解调中的相关参数和业务流输入输出地址的配置,业务流连接建立,完成对模拟FM调制的解调及业务流的接收和输出处理。

信道译码服务器:维特比译码服务,完成对卷积编码的维特比译码相关参数和业务流输入输出地址的配置,业务流连接建立,完成维特比译码和业务流的接收和输出处理。

信源译码服务器:MPEG-2音频解码服务,完成音频解码相关参数和业务流输入输出地址的配置,业务流连接建立,完成对信号的音频解码和业务流的接收和输出处理。

各个模块具体的实现方式为成熟技术,属于本领域技术人员公知常识。

系统中各服务使用Web服务描述语言WSDL来描述服务的接口规约、消息格式规约、通信格式规约以及访问地址。下面给出数字AM解调服务的WSDL文件Digital_AM_Demodu.Wsdl的主要代码:

<?xml version=″1.0″encoding=″UTF-8″?>

<wsdl:definitions

name=″Digital_AM_Demodu″

xmlns:soap=″http://schemas.xmlsoap.org/wsdl/soap/″

xmlns:xsd=″http://wwww.w3.org/2001/XMLSchema/″

xmlns:wsdl=″http://schemas.xmlsoap.org/wsdl/″

xmlns=″http://www.mysoftradio.org/″

xmlns:tns=″http://www.mysoftradio.org/target/″

targetNamespace=″http://www.mysoftradio.org/target/″>

<!--类型-->

<wsdl:types>

<xsd:schema targetNamespace=″http://www.mysoftradio.org/target/″>

<xsd:complexType name=″InAddress″>

<xsd:sequence>

<xsd:element name=″InIpAddress″type=″xsd:string″/>

<xsd:element name=″InTcpPort″type=″xsd:string″/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name=″OutAddress″>

<xsd:sequence>

<xsd:element name=″OutIpAddress″type=″xsd:string″/>

<xsd:element name=″OutTcpPort″type=″xsd:string″/>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

<!--消息-->

<wsdl:messagename=″DemodulateInputMessage″>

<part name″InputAddress″type=″tns:InAddress″/>

<part name=″OutputAddress″tyPe=″tns:OutAddress″/>

<part name=″FFTSize″type=″xsd:int″/>

</wsdl:message>

<wsdl:message name=″DemodulateOutputMessage″>

<part name=″OutputInformation″type=″xsd:string″/>

</wsdl:message>

<!--端口类型-->

<wsdl:portType name=″DemodulateInterface″>

<wsdl:operation name=″DemodulateConfigProcess″>

<wsdl:input message=″tns:DemodulateInputMessage″/>

<wsdl:output message=″tns:DemodulateOutputMessage″/>

</wsdl:operation>

</wsdl:portType>

<!--绑定-->

<wsdl:binding name=″DemodulateBinding″type=″tns:DemodulateInterface″>

<soap:binding style=″document″

transport=″http://schemas xmlsoap.org/soap/http″/>

<wsdl:operation name=″DemodulateConfigProcess″>

<soap:operation soapAction=″tns:Demodu″/>

<wsdl:input>

<soap:body use=″literal″/>

</wsdl:input>

<wsdl:output>

<soap:body use=″literal″/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name=″DemodulateService″>

<wsdl:port name=″DemodulateEndpoint″binding=″tns:DemodulateBinding″>

<soap:address location=″http://www.demodulate.org/digitalAM″/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

上述代码中,类型(types)中定义了两种复杂数据类型InAddress(输入地址)和OutAddress(输出地址)。InAddress(输入地址)由InIpAddress(输入IP地址)和InTcpPort(输入TCP端口号)组成;OutAddress(输出地址)由OutIpAddress(输出IP地址)和OutTcpPort(输出TCP端口号)组成。

消息(messages)中定义了两类消息DemodulateInputMessage(解调输入消息)和DemodulateOutputMessage(解调输出消息)。DemodulateInputMessage(解调输入消息)包括3个part,分别是InputAddress,其类型为InAddress,OutputAddress,其类型为OutAddress,FFTSize,其类型为int;DemodulateOutputMessage(解调输出消息)包括1个part,是OutputInformation,其类型是string。

端口类型(port type)中定义了一类端口类型DemodulateInterface(解调端口),该端口类型包括了1类操作DemodulateConfigProcess,此操作的输入消息为DemodulateInputMessage(解调输入消息),输出消息为DemodulateOutputMessage(解调输出消息)。

绑定(binding)中描述了1个绑定DemodulateBinding,将端口类型DemodulateInterface(解调端口)绑定为SOAP/documnet消息风格,传输协议定为SOAP的HTTP绑定,编码规则定为字面(literal)。

服务(service)中描述了1个服务DemodulateService,该服务包括1类端口DemodulateEndpoint,采用DemodulateBinding绑定,绑定的具体地址为“http://www.demodulate.org/digitalAM”。

如上所述:服务间通信的内容涉及管理、控制和业务三个方面。基于通信中控制信道与业务信道分离的思想,将服务的管理控制信息传输与业务信息传输分离开,服务间进行管理控制信息通信时,采用基于通用的XML消息处理框架来传输信息的简单对象访问协议SOAP(Simple Object AccessProtocol),并且在异构环境中,使用一种典型的绑定方式,如HTTP绑定,在其它不适合直接实现HTTP协议的总线上将HTTP协议映射到该特定总线上。SOAP消息包括消息头(Header)和消息体(Body),消息头是可选的,包括多个任意格式的Header项,比如安全信息项、状态信息项等;消息体是必需的,为实际的消息负载,包括多个任意格式的项,采用的消息风格分为RPC风格和文档风格。服务间的业务信息通信有两种实现方式,方式一与管理控制信息通信方式相同,使用基于通用的XML消息的SOAP协议,管理控制信息通信与业务信息通信方式的统一有利于整个系统内服务间通信方式的简化。方式二是服务间直接建立连接,进行业务数据流的传输,在异构环境中,典型的情况是建立TCP连接,当总线不适合直接建立TCP连接时,由WSB总线提供的具体总线映射功能来服务间的TCP连接。多模式广播接收软件无线电系统中各服务间的业务信息即是采用的建立TCP连接的方式,进行业务流的传输。

多模式广播接收软件无线电系统中各服务在传输管理控制信息时,其服务间的通信使用简单对象访问协议SOAP的HTTP协议绑定方式。下面是调用数字AM解调服务的SOAP请求代码,其SOAP消息体中的内容是数字AM解调服务的WSDL文件的输入接口描述要求的内容,即InputAddress,OutputAddress,FFTSize三部分的内容。消息中的InAddress元素对应InputAddress,包括两个子元素<m:InIpAddress>210.123.57.9</m:InIpAddress>和<m:InTcpPort>51600</m:InTcpPort>;消息中的OutAddress元素对应OutputAddress元素对应InputAddress,包括两个子元素<m:OutIpAddress>222.56.38.143</m:OutIpAddress>和<m:OutTcpPort>51600</m:OutTcpPort>。消息中的FFTSize元素对应FFTSize,具体内容为<m:FFTSize xsi:type=″Xsd:int″>288</m:FFTSize>。

数字AM解调服务在传输管理控制信息时,其服务间的通信使用简单对象访问协议SOAP的HTTP协议绑定方式,下面是调用数字AM解调服务的SOAP请求代码:

POST/digitalAM HTTP/1.1

Host:www.demodulate.org

Content-Type:application/soap+xml;charset=″utf-8″

Content-Length:nnn

<?xml version=″1.0″?>

<soapEnv:Envelope

xmlns:xsd=″http://www.w3.org/2000/10/XMLSchema″

xmlns:xsi=″http://www.w3.org/2000/10/XMLSchema-instance″

xmlns:soapEnv=″http://www.w3.org/2003/05/soap-envelope/″>

<soapEnv:Body>

<m:DemodulateInputParameter xmlns:m=″http://www.mysoftradio.org/″>

<m:InAddress>

<m:InIpAddress>210.123.57.9</m:InIpAddress>

<m:InTcpPort>51600</m:InTcpPort>

</m:InAddress>

<m:OutAddress>

<m:OutIpAddress>222.56.38.143</m:OutIpAddress>

<m:OutTcpPort>51600</m:OutTcpPort>

</m:OutAddress>

<m:FFTSize xsi:type=″xsd:int″>288</m:FFTSize>

</m:DemodulateInputParameter>

</soapEnv:Body>

</soapEnv:Envelope>

数字AM解调服务的SOAP响应消息代码如以下代码所示,其消息体中的内容是数字AM解调服务的WSDL文件的输出接口描述要求的内容,即OutputInformation部分内容。消息中的status元素对应OutputInformation,具体内容为<m:status>C onfigDone</m:status>。

HTTP/1.1200OK

Content-Type:application/soap+xml;charset=″utf-8″

Content-Length:nnn

<?xml version=″1.0″?>

<soapEnv:Envelope

xmlns:xsd=″http://www.w3.org/2000/10/XMLSchema″

xmlns:xsi=″http://www.w3.org/2000/10/XMLSchema-instance″

xmlns:soapEnv=″http://www.w3.org/2003/05/soap-envelope/″>

<soapEnv:Body>

<m:DemodulateResponse xmlns:m=″http://www.mysoftradio.org/″>

<m:status>ConfigDone</m:status>

</m:DemodulateResponse>

</soapEnv:Body>

</soapEnv:Envelope>

根据任务需求以及在波形服务管理单元WSMU获得的各种服务提供的情况,使用服务组合建模语言BPMN来建立服务组合的业务过程图形化模型,采用4类图形元素:流对象、连接对象、泳道和物件来建立图形化模型,建立的数字AM广播接收系统服务组合的业务过程图形化模型如图4所示。客户端首先发起数字AM接收请求,组合服务提供者收到客户端得请求消息后,按服务组合的业务过程调用一系列服务,来完成客户端的要求。该业务过程对应的BPEL程序依次调用射频接收、数字前端处理、数字AM解调等服务来完成各服务的参数配置,并建立相应的业务过程服务间的业务流TCP连接,建立好的业务流TCP连接如图5所示。

基于组合建模语言BPMN建立的业务过程图形化模型,使用服务组合编程语言BPEL编写可执行的服务组合过程代码,BPEL程序包括三部分内容:合作伙伴链接声明、变量声明和流程定义。与图4所示业务过程模型对应的BPEL程序代码如下。

<?xml version=″1.0″encoding=″UTF-8″?>

<process name=″Digital_AM_Receive_Process″

targetNamespace=″http://www.mysoftradio.org/bpel/″

xmlns:tns=″http://www.mysoftradio.org/bpel/″

xmlns=″http://schemas.xmlsoap.org/ws/2003/03/business-process/″

xmlns:mns=″http://www.mysoftradio.org/target/″>

<!--合作伙伴链接声明-->

<partnerLinks>

<partnerLink name=″Client″

partnerLinkType=″tns:Client_Receive″myRole=″ProcessProvider″partnerRole=″ProcessRequest″/>

<partnerLink name=″RFReceive″

partnerLinkType=″tns:RF_Receive″partnerRole=″RFReceiveProvider″/>

<partnerLink name=″DigitalFront″

partnerLinkType=″tns:Digital_Front″partnerRole=″DigitalFront Provider″/>

<partnerLink name=″DigitalAMDemodulation″

partnerLinkType=″tns:Digital_AM_Demodulation″partnerRole=″DigitalAMDemodulationProvider″/>

<partnerLink name=″ViterbiDecode″

partnerLinkType=″tns:Viterbi_Decode″partnerRole=″ViterbiDecodeProvider″/>

<partnerLink name=″MPEG2Decode″

partnerLinkType=″tns:MPEG2_Decode″partnerRole=″MPEG2DecodeProvider″/>

</partnerLinks>

<!--变量声明-->

<variables>

<variable name=″input″messageType=″mns:InputMessage″/>

<variable name=″output″messageType=″mns:OutputMessage″/>

<variable name==″RFinput″messageType=″mns:RFInputMessage″/>

<variable name=″RFoutput″messageType=″mns:RFOutputMessage″/>

<variable name=″DFinput″messageType=″mns:DFInputMessage″/>

<variable name=″DFoutput″messageType=″mns:DFOutputMessage″/>

<variable name=″Demodulateinput″messageType=″mns:DemodulateInputMessage″/>

<variable name=″Demodulateoutput″messageType=″mns:DemodulateOutputMessage″/>

<variable name=″Viterbiinput″messageType=″mns:ViterbiInputMessage″/>

<variable name=″Viterbioutput″messageType=″mns:ViterbiOutputMessage″/>

<variable name=″MPEG2input″messageType=″mns:MPEG2InputMessage″/>

<variable name=″MPEG2output″messageType=″mns:MPEG2OutputMessage″/>

</variables>

<!--流程定义-->

<sequence name=″main″>

<receive name=″receiveInput″

partnerLink=″Client″portType=″tns:Client_Receive″

operation=″RadioProcess″variable=″input″createInstance=″yes″/>

<invoke partnerLink=″DigitalFront″

portType=″tns:Digital_Front″operation=″DFProcess″

outputVariable=″DFoutput″inputVariable=″DFinput″/>

<invoke partnerLink=″DigitalAMDemodulation″

portType=″tns:Digital_AM_Demodulation″operation=″DemodulationProcess″

outputVariable=″Demodulateoutput″inputVariable=″Demodulateinput″/>

<invoke partnerLink=″ViterbiDecode″

portType=″tns:Viterbi_Decode″operation=″ViterbiProcess″

outputVariable=″Viterbioutput″inputVariable=″Viterbiinput″/>

<invoke partnerLink=″MPEG2Decode″

portType=″tns:MPEG2_Decode″operation=″MPEG2Process″

outputVariable=″MPEG2output″inputVariable=″MPEG2input″/>

<reply name=″replyOutput″partnerLink=″Client″

portType=″tns:Client_Receive″operation=″process″variable=″output″/>

</sequence>

</process>

上述BPEL程序代码中,合作伙伴链接声明中定义了6个合作伙伴链接,分别是Client、RFReceive、DigitalFront、DigitalAMDemodulation、ViterbiDecode和MPEG2Decode。变量声明中为过程接收到的所有消息定义了对应变量,包括:input、Rfinput、Dfinput、Demodulateinput、Viterbiinput和MPEG2input,为过程发出的所行消息定义了对应变量,包括:output、Rfoutput、Dfoutput、Demodulateoutput、Viterbioutput和MPEG2output。流程定义中根据服务组合的BPMN图形化模型定义了一组顺序活动:RadioProcess→DFProcess→DemodulationProcess→ViterbiProcess→MPEG2Process→process。该业务过程的BPEL程序执行完成后将返回服务配置完成和业务连接建立完成的消息给客户端。

各服务通过波形服务总线WSB进行联系和交互,WSB总线是一种逻辑软总线,是支持异构环境的分布式、松耦合服务与应用集成框架,提供服务交互、服务管理、通信和消息处理、安全性控制等功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号