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

文档序号:7741616阅读:201来源:国知局
专利名称:基于面向服务架构的软件无线电系统的制作方法
技术领域
本发明属于软件无线电系统领域,具体涉及一种基于面向服务架构的软件无线电 系统。
背景技术
无线通信是现代通信极其重要的组成部分,在军事和民用领域都发挥着重要的作 用。目前,在无线通信领域中,各种新的无线通信体制和标准被不断提出,无线通信产品周 期缩短,开发时间和费用增加,同时多种通信体制并存下的各种通信设备灵活互联的要求 也越来越迫切。软件无线电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 Jnternet等总线映射为统一的 数据格式和统一的地址形式的虚拟总线。如上所述的基于面向服务架构的软件无线电系统,其中,WSB总线下,除SOAP消息 传递机制外,还针对数据流提供有连接的通信方式。如上所述的基于面向服务架构的软件无线电系统,其中,有连接的通信方式使用 的协议是TCP。如上所述的基于面向服务架构的软件无线电系统,其中,软件无线电系统各波形 组件服务使用以XML语言为基础的Web服务描述语言WSDL(Webkrvices 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文件用可扩展标记语言XMUExtensibleMarkup Language)文件格式存储并采用 XML khema的数据类型系统。这样,各服务可以在满足其WSDL文件描述的内容下自由设计 实现和独立扩展升级,实现软件无线电系统各波形组件的松耦合和跨平台分布式部署。按照约定,WSDL文件包括抽象描述部分和具体描述部分。抽象描述部分包括类 型(types)、消息(messages)、操作(operations)和端 口类型(porttype)四个部分。类 型(types)提供消息定义所需的数据类型定义;消息(messages)建立在类型(types)之 上,定义通信中使用的消息数据结构;操作(operations)为服务中所支持的操作的抽象 描述;端口类型(port type)是对操作(operations)进行逻辑分组。具体描述包括绑定 (binding)、端口 (port)和服务(service)三个部分。绑定(binding)为特定端口类型的 具体协议和数据格式的绑定;端口(port)将接口绑定于具体的网络地址;服务(service) 是端口(port)的逻辑分组。进行了同一的接口定义之后,系统中使用自定义总线WSB(WaVeforn^erVice Bus) 进行联系和交互。图2为一个软件无线电系统服务分布的示例,软件无线电系统各服务可以部署在 hternet上、局域网上、软件无线电机箱内、软件无线电处理板卡内、处理芯片内。一个软件 无线电的波形应用可能是部署在不同位置的多个服务的组合,如图2中的服务1 服务16 的组合,异构环境中服务间的实际通信总线和协议有多种,如图2中的服务15、服务16之间 的实际通信协议为hternet的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、hternet等,WSB 分布式地部署异构总线通信转换单元,将各种各样的总线或连接映射为统一数据包格式和 统一形式地址的虚总线,使服务间能够方便、顺畅的通信。具体的实现方式由需要映射的总线类型确定,如将PCI总线类型映射为WSB总线 类型时,异构总线通信转换单元首先读取PCI总线格式的数据,将其进行解析,得到其中的 信息,然后将信息重新打包成WSB总线格式的数据,通过WSB总线进行传输。具体实现方式 为成熟技术,是本领域技术人员公知常识。路由和寻址波形服务管理单元提供了服务名称与服务地址的映射,总线映射提 供了统一形式的访问地址,服务使用者通过服务的名称就能完成服务的请求调用,使WSB 具有透明性的路由和寻址能力。无连接消息传递与有连接通信分布式环境下服务间的消息传递采用简单对象访 问协议S0AP,在总线映射形成的虚总线上提供或建立统一的传输协议,典型的是在网络虚 总线上使用HTTP。WSB总线除提供SOAP消息传递外,还提供有连接通信,在总线映射形成 的虚总线上提供或建立一种连接协议,典型的是在网络虚总线上使用TCP。服务间的管理控 制信息使用SOAP消息传递,服务间的业务数据可使用SOAP消息传递,也可在服务间建立连 接,进行业务流传递。WSB的扩展功能包括安全性控制、服务等级与服务质量管理、基础架构智能等。图3所示的多模式广播接收软件无线电系统的例子中,系统各服务均分布部署在 hternet上,该方式可以充分利用网络资源并进行大范围的协作开发,系统具有高度的灵 活性,能够灵活添加、修改服务。下面给出一个服务仅分布部署在单个机箱内的软件无线电系统的例子,该软件无 线电系统的结构如图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 Jnternet等多种总线或连接下的统一传输协议和透明传输; 此功能采用总线映射的功能实现软件无线电系统各服务部署的环境可以是网络与嵌入式 系统混合的异构环境,服务间的通信总线或连接可能有芯片间总线、PCI、VME、Ethernet, Internet等,WSB分布式地部署异构总线通信转换单元,将各种各样的总线或连接映射为 统一数据包格式和统一形式地址的虚总线,使服务间能够方便、顺畅的通信。ESB总线下,服务间的通信仅通过SOAP消息传递,WSB总线下,由于软件无线电系 统的业务数据流使用有连接的通信更高效,WSB还提供除SOAP消息传递外的有连接数据流 通信方式,这要求在各种总线或连接的异构环境下,提供或建立统一的连接协议;此种协议 可以有系统组建人员自行编写确认,也可以采用常见、成熟的协议,例如TCP协议。另外,WSB是针对软件无线电系统应用的特殊软总线,其提供的服务管理和安全性 控制等方面也与ESB总线下通用的服务管理和安全性控制等方面不完全相同,此处,主要 是针对系统需要进行相应的数据加密,解密处理。通过上述系统结构,即可以实现软件无线电系统各服务分布式地部署在异构环境 中;具体的部署方式包括服务部署在hternet上,服务部署在局域网上,服务部署在软件 无线电机箱内,服务部署在软件无线电处理板卡内,服务部署在处理芯片内。以上多种服务 部署方式可以在一个软件无线电系统中并存。
在波形服务总线WSB上提供波形服务管理单元WSMU (WaveformService Management Unit),服务提供者在波形服务管理单元WSMU注册所提供的服务,其WSDL文件 的信息以及其他描述信息(如注释说明、协作描述等)被映射到WSMU,服务使用者可以根 据服务名字在波形服务管理单元WSMU查找所需的服务,获得服务的访问地址以及接口协 议等信息。在波形服务管理单元WSMU的支持下,波形服务总线WSB提供了智能路由的功 能,即提供服务之间灵活、基于内容、位置透明的消息传输,当系统中添加了服务内容,或者 是服务内容有所改变时,只需要服务提供者在波形服务管理单元WSMU中进行重新注册,服 务使用者即可以方便的使用新的系统。基于面向服务架构的软件无线电系统中的波形服务是自治的、粗粒度的应用,服 务间通信的内容涉及管理、控制和业务三个方面。基于通信中控制信道与业务信道分离 的思想,将服务的管理控制信息传输与业务信息传输分离开,服务间进行管理控制信息通 信时,采用基于通用的XML消息处理框架来传输信息的简单对象访问协议S0AP(Simple Object Access I^rotocol),并且在异构环境中,使用一种典型的绑定方式,如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的架构,各组成部分分布在hternet 上,通过服务的组合完成具体波形应用,系统包括一个客户端和五个服务提供者射频接收 服务器、数字前端处理服务器、信号解调服务器、信道译码服务器、信源译码服务器。在无线 广播信号的接收处理过程中,各服务提供者提供的典型服务如下射频接收服务器射频接收服务,完成射频接收中的模式选择、载波频率、业务流 输出地址参数的配置,业务流连接建立,完成射频信号的滤波、放大、带通采样,业务流向下 一服务输出任务。
数字前端处理服务器数字前端处理服务,完成数字下变频与数字滤波的相关参 数、业务流输入输出地址的配置,业务流连接建立,完成业务流的接收,信号的数字下变频、 滤波,以及业务流向下一服务输出任务。信号解调服务器数字AM解调服务,完成数字AM解调中的相关参数(如FFT点 数)和业务流输入输出地址的配置,业务流连接建立,完成对数字AM调制(0FDM+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 definitionsname = “ Digital一AM一Demodu"xmlnssoap = “ 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" />
0078]<xsd: element name =〃 OutTcpPort 〃 type =〃 xsd: string" />
0079]</xsd:sequence)
0080]</xsd:complexType>
0081]</xsd:schema)
0082]</wsdl:types)
0083]〈!一消息一>
0084]<wsdl:messagename = “ DemodulateInputMessage“ >
0085]〈part name〃 InputAddress〃 type =〃 tns:InAddress〃 />
0086]〈part name=" OutputAddress" tyPe = 〃 tns:OutAddress〃 />
0087]<part name =FFTSiζe,r type=" xsd:int" /></wsdl: message)<wsdl :message name =" DemodulateOutputMessage “ >〈part name =" Outputlnformation" type =" xsd: string/r /></wsdl: message〉〈!一端 口类型一><wsdl :portType name =〃 DemodulateInterface 〃 >〈wsdl: operation name =〃 DemodulateConf igProcess “ >〈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 =〃 DemodulateConf igProcess “ >〈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=“tnsDemodulateBinding“ ><soapaddress location = “ http://www.demodulate.org/digitalAM" /></wsdl:port></wsdl service)</wsdl:definitions)上述代码中,类型(types)中定义了两种复杂数据类型InAddress (输入地址) 和OutAddress (输出地址)。InAddress (输入地址)由IrHpAddress (输入IP地址)和 InTcpPort (输入 TCP 端口号)组成;OutAddress (输出地址)由 OutIpAddress (输出 IP 地 址)和OutTcpPort (输出TCP端口号)组成。消息(messages)中定义了两类消息DemodulatehputMessage (解调输入消息) 禾口 DemodulateOutputMessage (解调输出消息)。DemodulateInputMessage (解调输入消 息)包括3个part,分别是hputAddress,其类型为InAddress,OutputAddress,其类型为 OutAddress,FFTSize,其类型为 int ;DemodulateOutputMessage (解调输出消息)包括 1 个 part,是 OutputInformation,其类型是 string。端口类型(porttype)中定义了 一类端 口类型 Demodulatehterface(解调 端口),该端口类型包括了 1类操作DemodulateConf igProcess,此操作的输入消息为 DemodulateInputMessage (解调输入消息),输出消息为 DemodulateOutputMessage (解调 输出消息)。绑定(binding)中描述了 1个绑定DemodulateBinding,将端口类型 DemodulateInterface (解调端口 )绑定为SOAP/documnet消息风格,传输协议定为SOAP的 HTTP绑定,编码规则定为字面(literal)。服务(service)中描述了 1个服务Demodulat必ervice,该服务包括1类端口 DemodulateEndpoint,采用 DemodulateBinding 绑定,绑定的具体地址为 “http//www. demodulate. org/digitalAM,,。如上所述服务间通信的内容涉及管理、控制和业务三个方面。基于通信中控制信 道与业务信道分离的思想,将服务的管理控制信息传输与业务信息传输分离开,服务间进 行管理控制信息通信时,采用基于通用的XML消息处理框架来传输信息的简单对象访问协 议SOAP (Simple Object AccessftOtocol),并且在异构环境中,使用一种典型的绑定方式, 如HTTP绑定,在其它不适合直接实现HTTP协议的总线上将HTTP协议映射到该特定总线 上。SOAP消息包括消息头(Header)和消息体(Body),消息头是可选的,包括多个任意格式 的Header项,比如安全信息项、状态信息项等;消息体是必需的,为实际的消息负载,包括 多个任意格式的项,采用的消息风格分为RPC风格和文档风格。服务间的业务信息通信有 两种实现方式,方式一与管理控制信息通信方式相同,使用基于通用的XML消息的SOAP协 议,管理控制信息通信与业务信息通信方式的统一有利于整个系统内服务间通信方式的简 化。方式二是服务间直接建立连接,进行业务数据流的传输,在异构环境中,典型的情况是 建立TCP连接,当总线不适合直接建立TCP连接时,由WSB总线提供的具体总线映射功能来 服务间的TCP连接。多模式广播接收软件无线电系统中各服务间的业务信息即是采用的建 立TCP连接的方式,进行业务流的传输。多模式广播接收软件无线电系统中各服务在传输管理控制信息时,其服务间的通信使用简单对象访问协议SOAP的HTTP协议绑定方式。下面是调用数字AM解调服务的SOAP 请求代码,其SOAP消息体中的内容是数字AM解调服务的WSDL文件的输入接口描述要求的 内容,艮P InputAddress, OutputAddress, FFTSize 三部分的内容。夕肖肩、中的 InAddress 元 素对应 InputAddress,包括两个子元素 <m: InIpAddress>210. 123. 57. 9</m: InIpAddress) 和<m: InTcpPort>51600</m: InTcpPort);消息中的 OutAddress 元素对应 OutputAddress 元素对应 InputAddress,包括两个子元素 <m:0utIpAddress>222. 56. 38. 143</ m:OutIpAddress> 和 <m: 0utTcpPort>51600</m: OutTcpPort〉。消息中的 FFTSize 元素对应 FFTSize,具体内容为 <m:FFTSize xsi:type =〃 Xsd:int〃 >288</m:FFTSize>0
数字AM解调服务在传输管理控制信息时,其服务间的通信使用简单对象访问协 议SOAP的HTTP协议绑定方式,下面是调用数字AM解调服务的SOAP请求代码POST/digitalAM HTTP/1. 1Host:www. demodulate, orgContent-Type: application/soap+xml ;charset =" utf-8 "Content-Length:nnn< ? xml version = " 1.0" ? ><soapEnv: Envelopexmlns: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:0utAddress><m:0utIpAddress>222. 56. 38. 143</m:OutIpAddress)<m:0utTcpPort>51600</m:OutTcpPort)</m:0utAddress><m:FFTSize xsi:type = " xsd:int〃 >288</m:FFTSize〉</m:DemodulateInputParameter></soapEnv:Body></soapEnv: Envelope)数字AM解调服务的SOAP响应消息代码如以下代码所示,其消息体中的内容是数
字AM解调服务的WSDL文件的输出接口描述要求的内容,即Outputhformation部分内容。 消息中的 status 元素对应 OutputInformation,具体内容为 <m:status>C onfigDone</ m:status〉。 HTTP/1. 12000K0152]Content-Typeapplication/soap+xml ;charset =” utf-8'
0153]Content-Lengthnnn
0154]〈? xml version=" 1.0〃 ? >
0155]<soapEnvEnvelope xmlns:xsd = “ http xmlns:xsi = 〃 http
0156]
0157]
0158]
www. w3. org/2000/10/XMLSchema〃
www. w3. org/2000/10/XMLSchema-instance,/
xmlns:soapEnv =〃 http://www. w3. org/2003/05/soap-envelope/“ >
0159]<soapEnv: Body>
0160]<m:DemodulateResponse xmlns:m = “ http://www. mysoftradio. org/" >
0161]<m:status>ConfigDone</m:status)
0162]</m:DemodulateResponse>
0163]〈/soapEnv: Body)
0164]</soapEnv: Envelope)
0165]根据任务需求以及在波形服务管理单元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 “ m y R ο 1 e =“ProcessProvider“ partnerRole = “ ProcessRequest“ /><partnerLink name = “ RFReceive“partnerLinkType = “ tns:RF_Receive “ partnerRole =“RFReceiveProvider“ /><partnerLink name =“ DigitalFront “
partnerLinkType = 〃 tns:Digital—Front 〃 partnerRole = 〃 DigitalFront Provider/r />〈partnerLink name =〃 DigitalAMDemodulation〃partnerLinkType =〃 tns:Digital—AM—Demodulation" partnerRole =〃 Digit alAMDemodulationProvider〃 />〈partnerLink name =〃 ViterbiDecode “partnerLinkType = 〃 tns:Viterbi_Decode 〃 partnerRole =” ViterbiDecodeProvider/r />〈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/r messageType =” mns: RFInputMessage “ />〈variable name =" RFoutput “ messageType =" mns: RFOutputMessage" />〈variable name =" DFinput/r messageType =" mns:DFInputMessage" />〈variable name =" DFoutput “ messageType =" mns:DFOutputMessage “ />〈variable name = ” Demodulateinput ” messageType =“mns:DemodulateInputMessage“ />〈variable name = “ Demodulateoutput“ messageType = “ mnsDemodulateOut putMessage" />〈variable name = ” Viterbiinput ” messageType =〃 mnsViterbiInputMessage 〃 />〈variable name = ” Viterbioutput ” messageType =“mnsViterbiOutputMessage“ />〈variable name = ” MPEG2input ” messageType =〃 mns:MPEG2InputMessage〃 /> 〈variable name = ” MPEG2output ” messageType =〃 mns:MPEG20utputMessage〃 />〈/variables〉< !—流程定义一>〈sequence name = “ main" >〈receive name =" receivelnput"partnerLink =〃 Client" portType =〃 tns:Client_Receive“operation = 〃 RadioProcess 〃 variable = 〃 input 〃 createlnstance =〃 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 =“ tnsViterbi_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 = “ tnsClient_Receive “ operation = “ process “ variable =〃 output" /></sequence></process>上述BPEL程序代码中,合作伙伴链接声明中定义了 6个合作伙伴链接,分别 是 Client、RFReceive、DigitalFront、DigitalAMDemoduIation> ViterbiDecode 禾口 MPEG2Decode。变量声明中为过程接收到的所有消息定义了对应变量,包括input、 Rfinput, Dfinput、Demodulateinput、Viterbiinput 和 MPEG2input,为过程发出的所行消 息定义了对应变量,包括output、Rfoutput、Dfoutput、Demodulateoutput、Viterbioutput 和MPEG2output。流程定义中根据服务组合的BPMN图形化模型定义了一组顺序活动=Radio Process 一 DFProcess 一 DemodulationProcess 一 ViterbiProcess 一 MPEG2Process 一 process 0 该业务过程的BPEL程序执行完成后将返回服务配置完成和业务连接建立完成的消息给客 户端。各服务通过波形服务总线WSB进行联系和交互,WSB总线是一种逻辑软总线,是支 持异构环境的分布式、松耦合服务与应用集成框架,提供服务交互、服务管理、通信和消息 处理、安全性控制等功能。
权利要求
1.一种基于面向服务架构的软件无线电系统,其特征在于采用面向服务的体系结 构,软件无线电系统各波形组件均封装为Web服务。
2.根据权利要求1所述的基于面向服务架构的软件无线电系统,其特征在于各服务 通过波形服务总线WSB (Waveform Service Bus)集成,波形服务总线WSB是企业服务总线 ESB (Enterprise Service Bus)的扩展,提供服务管理、透明的路由和寻址、异构环境的消 息传递功能,其中,WSB提供总线映射功能将芯片间总线、PCI、VME、Ethernet Jnternet等 总线映射为统一的数据格式和统一的地址形式的虚拟总线。
3.根据权利要求2所述的基于面向服务架构的软件无线电系统,其特征在于WSB总线 下,除SOAP消息传递机制外,还针对数据流提供有连接的通信方式。
4.根据权利要求3所述的基于面向服务架构的软件无线电系统,其特征在于有连接 的通信方式使用的协议是TCP。
5.根据权利要求1至4中任一项所述的基于面向服务架构的软件无线电系统,其 特征在于软件无线电系统各波形组件服务使用以XML语言为基础的Web服务描述语言 WSDL(ffeb Services Description Language)来描述服务的接口规约、消息格式规约、通信 格式规约以及访问地址。
6.根据权利要求5所述的基于面向服务架构的软件无线电系统,其特征在于在波形 服务总线WSB上提供波形服务管理单元WSMU(Waveform ServiceManagement Unit),服务提 供者在波形服务管理单元WSMU注册所提供的服务、WSDL文件的信息,服务使用者根据服务 名字在波形服务管理单元WSMU查找所需的服务,获得服务的访问地址以及接口协议信息。
全文摘要
本发明为解决目前软件无线系统存在的各模块间耦合较紧密,模块的独立开发、升级困难的问题,提出了一种支持异构环境的、松耦合的、复用性与灵活性更好的基于面向服务架构的软件无线电系统。所述的软件无线电系统采用面向服务的体系结构,系统各波形组件均封装为Web服务,分布式地部署在异构环境中,通过波形服务总线WSB集成,所建立波形服务总线是一种逻辑软总线,是支持异构环境的分布式、松耦合服务与应用集成框架,提供服务交互、服务管理、通信和消息处理、安全性控制等功能。服务的管理控制信息传输与业务信息传输分离,管理控制信息采用简单对象访问协议SOAP传输,业务信息采用SOAP协议或直接建立连接的方式传输。
文档编号H04L29/08GK102148800SQ201010106919
公开日2011年8月10日 申请日期2010年2月9日 优先权日2010年2月9日
发明者于全, 伍春, 张鸿, 李颖, 董玮, 贾哲, 赵丹, 魏胜群 申请人:中国人民解放军总参谋部第六十一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1