0 前言
卫星地而测试是卫星研制过程中的重要环}丁,对其系统功能验证及性能评估具有重要作用。然而,卫星地而测试系统本身作为一个复杂巨系统,其设计与实现过程仍受多种因素影响。①在应用过程中,测试系统中各测试单元常常需要把不同类型的测试结果周期性传递给各差异化服务单元,其信息交勺_过程呈现发布一词阅模式。②不同类型的数据报告传输对其传输效率、安全性、可靠性等的要求可能不一样,所以系统信息交勺_过程要能够有效支持信息传输的差异性。③鉴于测试环境的多样性,系统需跨平台操作。然而,现有系统中各测试单元与服务单元间的紧祸合关联,严重限制了系统的可扩展性,无法满足各服务单元的差异化需求,并且现有系统的勺_操作性较差,难以在实际应用中人规模部署。
基于ICE (Internet Communication Engine)中间件的信息不J阅/发布机制为解决上述问题提供了一种新思路。ICE中间件通过解祸合消息发布者和消息订阅者之间的关联关系,保证了系统的高可扩展性及灵活配置,从而为人型卫星地而测试系统的分布式设计奠定了实现基础。针对上述分析,本文给出一种新型的基于ICE中间件的分布式卫星地而测试系统设计,并给出其详细实现过程。与传统系统相比,该系统能够有效避免传统系统的复杂性,实现了日标服务器的动态定位及负载均衡,在系统开销、内存使用及网络带宽占用等方而都有明显优势。
1 基于ICE中间件的分布式设计原理
中间件技术作为构建分布式应用系统的重要支撑技术,广泛应用于分布式系统设计中。然而,现有中间件技术在跨平台操作性及开发便利性等方而均不同程度地存在缺陷。
ICE作为一种而向对象的中间件平台,它能够为构建而向对象的分布式应用系统提供基于不同操作系统及不同编程语言的工具、通用接口和库支持;并且ICE提供了简单的对象模型、简洁而功能强人的应用接口、高效紧凑的协议以及丰富的调用和派遣模式,从而为地而卫星测试系统设计提供了一种新思路。
首先,ICE提供的一种发布/订阅服务ICEStrom,该服务能够消除消息发布者和消息订阅者之间的紧祸合关系,从而保证了系统的高可扩展性及灵活配置。传统的消息订阅/发布模式如图1所示。
在传统消息订阅/发布模式下,消息发布者周期性为消息订阅者提供所需要的消息。但是,该架构要求由消息订阅者来管理消息发布者的注册细竹、观测数据传输以及出错恢复等。在比较复杂的应用环境下,如多个订阅者订阅不同的消息且存在多个发布者发布不同的消息时,传统信息订阅/发布模式就需花费人量的资源来管理和维护上述过程中的细竹,严重限制了系统的可扩展性和灵活配置能力。而在ICE架构下,由ICEStorm充当消息发布者和消息词阅者的中介,当消息发布者准备好分发一个新消息时,它不再关注订阅者,只需要简单地向ICEStorm服务器发出一个请求,由ICEStrom服务器全权负责把消息传递给订阅者。与此类似,订阅者仅需要与ICEStrom服务器进行简单的交,完成像订阅和取消订阅这样的任务,就可以获得感兴趣的消息。在此逻辑下,发布者和订阅者都可以专注于其应用逻辑,极人地减少了信息订阅/发布过程中的复杂度。如图2所示。
同样,消息发布可以基于主题进行分类。订阅者会指定他们感兴趣的主题,只有那些与该订阅者感兴趣的主题或相吻合的主题才会发布给该订阅者。因此,上述架构特别适合于应用到人规模差异化应用环境。此外,ICE还提供了分布式管理服务,主要用于定位和激活ICE应用程序,该服务应用由注册定位服务和任意竹点组成,它们协同管理组成应用的信息和服务进程,并为在不同的服务器上运行相同的服务提供冗余,在其中一台服务器无法提供服务的情况下,其它的在同一个服务群组中的服务器还可以为客户端提供相同的服务。
2 基于ICE中间件的分布式卫星地面测试系统设计
通过对系统需求分析,结合ICE在信息词阅/发布及分布式管理服务方而的优势,本文提出一种基于ICE中间件的分布式卫星地而测试系统的实现方案,如图3所示。
测试系统中的各功能模块分布式部署,并基于ICE中间件进行系统集成,从而为系统的测试提供支持。“功能模块”主要包含三种模块:提供硬件接口功能的一系列智能设备,包含特定软件功能的计算机以及控制标准商用仪器的计算机软件。前端测试单元通过多样的测试接口对卫星遥测、遥控及姿势等各种指令、信号及数据进行测试,并对测试数据分析整理形成各种主题的数据报告,最后发布给各差异化的服务单元。该系统依托ICE中间件技术,解祸合卫星地而测试系统中各服务单元间的关联关系,从而实现系统的灵活配置和数据的高效发布,并实现了日标服务器的动态定位及负载均衡。
上述系统中,安全有效的事件消息通信机制是卫星地而测试系统设计中非常重要的一环,图4给出了事件消息传输模块的设计。
各功能模块功能如下:。
(1)ICE用接口:实现异构环境下的规范化统一通信。
(2)接收线程池管理:管理接收处理事件的线程池,当有人量的事件并发产生时,根据优先级来进行处理。
(3)发送线程池管理:管理发布事件的线程缓冲池。
(4)网络连接管理:限制并发事件发送和接收的连接数。
(5)事件缓冲管理:发送方把事件消息放到缓冲区,按照先进先出的原则,交给发送线程。
<6) QoS信息传输的QoS参数。
(7)内存管理:内存的统一分配和释放。
依据上述功能设计,图5给出了事件消息传输的流程。
上图中,在发送端发送消息之前,接收端首先要调用用户接口绑定自己唯一标识,并且与ICEStorm建立网络连接,用于接收消息。建立好连接之后,接收端进入等待数据状态,其中接收的数据通过回调函数来返回给上层应用。
发布端调用用户接口来发布消息,自一先把事件消息放入先进先出带优先级的事件缓冲区;发送线程池在有空闲线程的时候,将会从事件缓冲区取出事件消息,然后利用QoS管理传输参数。在数据准备完毕后,等待连接管理模块分配网络连接的句柄。在此期间,连接管理首先判断是否有空闲连接或者能够复用的连接,如果有,则返回网络连接的句柄。ICE的通用传输接口通过调用句柄向ICEStorm服务器发布消息。
ICEStorm服务器在收到事件消息后,自一先遍历与该事件消息主题相关的订阅接收者,然后依次向各个订阅者转发事件消息。接收方接收到转发的事件消息后,挂起等待接收线程池分配处理线程,在获取接收线程句柄后对数据进行相应处理,最后送到用户注册接收的回调函数。
下而以其中一个主题T1为例,简要说明卫星地而测试系统事件消息发布八」阅过程。消息发布者实现过程如下:(1)-}-先获取主题管f}的一个代;(2)获取T1主题的一个代,如果该主题不存在,就创建它,否则就获取已有主题;(3)获取T1主题的“发布者对象”代; (4)最后收集并发布事件消息。
消息订阅者实现过程如下:(1)-一先获取主题管理的一个代理;}2)创建一个对象适配器,作为主题接口的宿主;C3)实例化上述代理,并通过对象适配器激活;(4) 订阅T1主题;(5)处理report消息,直到关闭为n; <6)取消T1主题的订阅。
3系统测试为验证系统设计的正确性,并进行性能测试,本文搭建的测试环境如图6所示
测试环境由TP-LINK的SOHO路由器搭建的100M局域网。计算机5台,操作系统均为Windows XP ProfessionalSP3,双核2G内存,网卡都为100M/ 1000M自适应网卡。测试中,一台计算机作为服务器,向其他计算机发送数据。4台客户机每台开启4到6个客户端,总共20个客户端。服务器以10条/秒的速率向客户进行命令发送,每条命令字民为30K,持续时间为24小时。
测试结果表明:命令传输的吞吐量为10*20*60=12000条/分钟;传输的数据量为12000v30K=360000K/分钟。通过分析24小时的日志信息,服务器工作正常,并且命令正确送达,反馈时间小于0.001秒;丢包率小于0.01 %,且丢包之后上报时间小于0.003秒;对于有QoS要求的命令包,100%传递。测试结果远远高于卫星地而系统的性能指标,符合系统设计要求。
考虑到恶劣网络环境下事件消息传输的情况,限制测试环境的网速为1M,服务器以10条/秒的速率向客户进行命令发送,每条命令字民为5K,持续时间为24小时。命令传输的吞吐量为1Ox20x60=12000条/分钟;传输的数据量为12000v5K=60000K/分钊,。测试结果表明,即使在网络环境相对较差及满负载的情况下,该系统也能达到卫星地而测试的性能指标。
4 结语
通过分析卫星地而测试的业务需求,提出一种基于ICE中间件的卫星地而测试系统。该系统依托ICE中间件技术,解祸合卫星地而测试系统中各服务单元间的关联关系,从而实现系统的灵活配置和数据的高效发布,并实现了日标服务器的动态定位及负载均衡。最后,系统测试有效验证了上述方案的正确性及性能。
参考文献:
[1]Joseph H.Yuen.Deep. Space Telecommunications SystemsEngineering[M].New York:Plenum Press 1983.
[2]陈宜元(主编).卫星无线电测控技术「M].中国宇航出版社.