中国气象局卫星广播系统(CMACAST)主站播发平台的设计

2013-09-04 07:48刘然,蒋克俭,胡英楣
数字通信世界 2013年7期
关键词:中国气象局广播系统主站

一、引言

CMACast是中国气象局新一代气象资料卫星数据广播系统的简称,始建于2010年,2011年底将投入业务试运行。它是对中国气象局现有的三套卫星数据广播系统(中国气象局卫星单向数据广播系统PCVSAT、DVB-S卫星单向数据广播试验系统DVB-S和FENGYUNCast气象卫星数据广播系统)的整合和升级。CMACast系统建成后,将涵盖原有三套系统的全部数据资料及用户,提供高达70Mb/s速率的数据广播,每天可播发400GB以上的气象资料,日均播发文件数量可达200万个。

CMACast的数据播发能力较之于中国气象局原有的卫星数据广播系统几乎提高了10倍之多,其源自于CMACast广播系统播发平台中的若干有针对性的设计。本文将首先分析可能影响主站播发平台播发能力的几个因素,随后将重点分析CMACast系统针对这些因素所采取的解决方法。

二、影响CMACast播发能力的瓶颈

中国气象局在建设CMACast系统之前,已经建设了PCVSAT、DVB-S和FENGYUNCast三套卫星数据广播系统,但三套系统的日广播数据量均没有达到50GB。从已有三套系统的建设经验来看,对于一个数据广播系统来说,从根本上来说其仍然是一个文件的汇聚和分发系统,其本质上都是在对文件进行读写操作。

因此,影响系统播发能力的主要因素就是系统在处理大量文件时所产生的I/O消耗,以及这些I/O消耗对系统性能造成的影响。如果在这个方面上处理的不好,将极大影响系统的播发能力。从这个角度来说,做到对文件的高效读写与管理就显得十分必要。

图1是CMACast主站播发平台的数据播发流程示意图,如果用一个形象的比喻来理解这个流程示意图的话,我们可以将整个播发平台看作是一个繁忙的“货运站”。“货运站”转运的“货物”是一个个的文件。在“货运站”中设有专门的“仓库”,也就是存储空间,用来对“货物”进行分类存放,同时货运站中还有一条繁忙的“传送带”,用来将“货物”装上一辆辆的“货车”,最后经由“货运站”的出口发出。由于播发平台使用的是卫星信道,其播发带宽终究是有限的,因此这个例子中的“货运站”的“货车”的数量和空间是有上限的。而我们关注的播发平台的播发能力,对于这个“货运站”来说,就是在固定的“货车”的情况下,如何最大限度的发挥“货运站”的货运能力。

图1 CMACast主站播发平台的数据播发流程图

1.主站播发平台对文件的管理能力

主站播发平台对于文件管理的能力,主要取决于操作系统自身对于文件系统的管理机制。以中国气象局现有的三套广播系统为例,它们全部都基于Windows操作系统开发,但Windows操作系统在对于大量目录和文件进行管理时,其处理能力的不足会影响播发平台的整体性能。

2.主站播发平台从数据源获取待广播文件的方式

主站播发平台获取数据源上的大量待广播文件时,如果文件的获取速度较低,将直接影响主站播发平台广播的数据量。以中国气象局现有的PCVSAT和DVB-S卫星广播系统为例,它们都是通过ftp的方式接收数据源提供的待广播文件。但采用ftp方式传输有几个不足之处:首先,ftp的传输速度受网络带宽的限制,如果播发平台与数据源之间的网络带宽无法保证,会影响文件传输的速度,从而直接降低主站播发平台的广播数据量。其次,一个文件必须等待ftp完整接收后才能开始播发,因此如果从一条低速线路上获取一个几百MB的大文件,仅获取这个文件就需要耗费很多时间,其文件广播的时效将明显降低。另外,为了做到从数据源同时获取多个文件,主站播发平台上往往需要部署多个ftp应用程序,分别从数据源获取不同的文件。但这给播发平台后续的应用程序维护带来很大问题,不利于对广播文件的获取进行集中监视。

3.播发平台带宽在广播文件中的分配

播发平台的广播带宽是有限的,当面对种类繁多的大量待广播文件时,必须根据不同类型资料的广播时效要求做到广播带宽的合理分配,否则很容易造成某一类文件的积压,从而造成系统性能的下降,而且也会造成该类文件广播时效的滞后。

4.对文件积压情况的处理机制

在原有三套广播系统中,主站播发平台对于待广播文件的管理机制设计的不够合理,特别是待广播文件量突然增大后,经常出现待广播文件的迅速积压和堆积,当目录下的文件个数达到几千后,目录的访问速度就会明显下降,并使得主站播发平台的播发能力大幅降低。为此,在CMACast系统主站播发平台设计过程中,着重在主站播发平台文件系统选择、播发平台与数据源文件传输方式、播发平台带宽统计复用以及播发平台播发队列设计四个方面进行了有针对性的设计工作。

三、CMACast系统改进方式

1.主站播发平台文件系统的选择

CMACast系统每日广播文件个数保持在120万以上,每日广播文件总量在150GB左右。CMACast系统所广播的文件绝大多数集中在100KB以下,其中又以20KB以下的文件最多,而小于1KB的文件个数则达到了3万个左右。图2是CMACast目前广播资料文件大小分布情况统计。

因此,CMACast主站播发平台选用了Linux操作系统,同时在文件系统方面也选择了在小文件处理方面相对更加有优势的的ReiserFS文件系统。与Windows操作系统相比,其具有以下几个优势:

⊙ 系统的安全性更高,一方面是在用户权限的管理方面更为细致,同时无需担心病毒威胁。

⊙ Linux所采用的文件系统具有更高的读写效率,而且不易产生磁盘碎片问题。

⊙ 所采用的ReiserFS文件系统处理大小1k左右的文件时,其处理效率比其他文件系统有显著提高。

2.通过共享文件系统方式提高文件汇聚能力

CMACast系统的数据源是中国气象局新一代国内通信系统,它是CMACast广播资料的惟一来源。它负责收集各类气象资料、产品以及卫星资料等,为CMACast提供充足的数据资源。

为提高与新一代国内通信系统之间数据交换的速度,与CMACast采用了通过集群进行文件系统共享的方式来解决数据源与主站播发平台的高速数据交换。这种方式与ftp传输方式相比,明显减少了文件的读写操作,同时节省了存储空间。

图3是采用ftp方式传输的数据流程分析,数据源在收集待广播数据时需要进行一次写操作,同时在通过ftp向广播系统提供数据时,还需要再进行一次读操作。对应的在广播系统一侧,在通过ftp接收数据时,将进行一次写操作,而在最终进行数据播发时,还需要进行一次读操作,整个过程需要涉及4次I/O操作。

而通过将数据源与广播系统整合到一个集群中,可以使数据源与广播系统共享集群的存储资源,同时利用共享文件系统来达到减少读写操作的目的。图4是采用集群方式的数据流程分析。与图3进行对照可以发现,利用linux操作系统中提供的文件硬链接的方式,数据源可以将收集到的数据通过硬链接的方式提供给广播系统。Linux系统的硬链接方式与文件拷贝不同,它并不创建新的文件,但可以使一份数据在多个地方使用。采用这种方式,可以为整个数据汇聚流程减少2次读写操作,同时也避免了由于文件复制而引起的存储空间的占用问题。

3.基于广播通道的带宽统计复用机制

(1)带宽统计复用原则

在CMACast系统中,使用逻辑通道的概念来管理不同类型的广播资料。不同的广播通道内的资料的类型各有不同,同时它们对于广播时效性的要求也各不相同,有些要求做到分钟级下发,而有些资料则只需在几小时之内下发即可。

为了兼顾不同通道的特点,同时最大限度的利用有限的卫星信道资源,在CMACast系统中采用了基于逻辑通道的带宽统计复用机制,它的设计兼顾了以下几个方面的因素:

⊙ 对播发平台总带宽进行控制,避免超出卫星信道总带宽。

⊙ 在播发平台内部,允许为不同通道设定带宽范围。

⊙ 为不同的通道设定相应的优先级。

⊙ 对于优先级较高的资料,应优先提供系统带宽供其使用。

⊙ 兼顾优先级低的通道,保证低优先级的通道也有机会得到系统带宽。

⊙ 对无数据播发的通道,其原先占用的带宽应自动释放,供其他通道使用。

(2)带宽统计复用中的几个关键参数

⊙ 系统最大带宽。首先根据租用的卫星转发器带宽以及采用的调制方式等参数计算出卫星信道所能支持的最大信息速率,之后去除DVB-S2封装开销后得出播发平台最大出口IP速率,此速率为系统最大带宽,即系统带宽池总容量。播发平台应严格控制输出的IP包速率不超过该速率,否则将可能造成卫星链路的数据丢包。

⊙ 通道最小带宽。每个通道的最小带宽意味着该通道至少能够占用到的带宽,它是在该通道有数据播发的前提下,在最差情况下该通道所能获得的带宽,即该通道的最低速率(播发平台内所有通道的最小带宽之和不得超过系统最大带宽)。但最小带宽的设定并不意味着该通道会一直占用此带宽,在通道没有数据发送时,该通道的带宽将被释放到系统带宽池中,供其他通道使用。

⊙ 通道最大带宽。每个通道的最大带宽意味着该通道能够占用到的最大带宽。在任何情况下,该通道的播发速率都不能超过该通道的最大带宽,同时单个通道的最大带宽不得超过系统最大带宽。

⊙ 通道优先级。每个通道的优先级代表着该通道所广播资料的紧急程度,带宽统计复用算法根据通道优先级从带宽池中为各通道分配带宽。

(3)带宽统计复用中算法设计

在某一时刻,播发平台内各通道占用带宽的分配策略:

⊙ 首先仅为当前有数据播发的通道分配带宽。

⊙ 尝试为所有有数据播发的通道均预先分配其设定的最大带宽。

⊙ 如带宽池不足,则为所有通道预先分配其设定的最小带宽。

⊙ 在带宽池有剩余的情况下,为其中优先级最高的通道分配带宽,如相同优先级的通道有多个,则尝试使所有通道均达到最大带宽,如带宽池还有剩余,在剩余通道中递归此过程;如带宽池不足,则按各通道设定的最大带宽值的比例分配带宽池剩余带宽。

随时间变化的带宽分配策略。在连续的时间点上不断的进行带宽的统计复用时即是在每个时间点上均重复进行上述算法。在这一过程中,无数据播发的通道原先所占用的带宽将被立即回收到带宽池中,以便在下一个时间点上供其他通道进行使用。

4.主站文件播发机制设计

(1)文件播发机制设计原则

CMACast主站播发平台的工作方式是对数据源目录实时进行轮询,从中获取待播发的数据,并根据不同的数据类型将其在对应的逻辑通道中进行播发。为了提高整个流程的工作效率,在CMACast播发平台中采用了播发队列工作模式,其设计基于以下几个基本原则:

⊙ 数据源目录下的文件被扫描后应尽快移走进行后续处理,避免造成数据源目录下文件的堆积。

⊙ 文件移动采用rename方式,减少文件移动时的I/O操作。

⊙ 采用播发队列方式对待播发文件进行快速查找和管理。

⊙ 对由于带宽不足造成的文件积压,通过专门的积压目录和积压队列对其进行管理,避免由于文件积压而影响正常文件的播发。

(2)文件播发流程设计

在CMACast系统中,播发平台的主要工作进程分为两个,一个是文件预处理进程,一个是文件播发进程。这两个进程独立工作,但通过队列来共享数据。根据应用方式的不同,CMACast设计了四种不同作用的队列,分别是播发队列、定时队列、重发队列和积压队列,对于每个逻辑通道,他们都有各自的队列。

播发队列中记录的是即将在本通道中播发的文件的路径和文件名,其按照先入先出规则进行排队,文件播发进程从播发队列中取出一个节点,根据路径读取相应文件进行播发,同时从队列中删去该节点。而预处理进程则不断将新来的待播发文件插入队列,当队列长度达到上限后,后续再来的待播发文件将进入积压队列。积压队列同样采用先入先出规则,一旦播发队列有空余后,积压队列头部的节点将被取出并放入播发队列尾部。

除了播发队列和积压队列,CMACast系统中还设计了重发队列和定时队列,他们分别用于对重复发送或定时发送的文件进行管理。

CMACast作为对中国气象局现有PCVSAT、DVB-S、FENGYUNCast三套卫星数据广播系统的整合和升级,其整合了现有三套系统内广播的各类气象资料及小站接收用户,且大幅度提升了系统的播发能力。下图是中国气象局原有三套卫星广播系统与CMACast的播发能力对比。目前,CMACast系统在国内已有2000余个省、地、县级气象部门用户,这些用户并通过这套系统实时接收中国气象局广播的气象观测资料和产品,开展天气预测预报及服务业务。

四、结束语

CMACast是中国气象局最新一代卫星数据广播系统,其系统播发能力与原有几套系统相比有了显著提升。目前该系统已建设完成并投入业务运行,它所具备的高速卫星数据广播能力将有力的提升中国气象局信息网络服务能力,为全国各级气象部门提供天气预报预测工作准确率和精细化程度提供有力的支撑。笔者作为CMACast系统的主要设计和实施人员,重点论述了该系统为达到高速数据播发所做的关键设计,望能对相关系统的建设工作起到些须启发作用。

猜你喜欢
中国气象局广播系统主站
中国气象局2018年SCI论文产出首次突破1000篇
中国气象局卫星数据广播系统
浅析语音广播系统在高速公路中的应用和发展
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
应急广播系统中副载波的构建与应用
粤赣高速公路对讲与广播系统改造
走进中国气象局
中国气象局党组书记、局长郑国光
基于改进经济压差算法的主站AVC的研究