1无线电监测软件总线
1.1构件库构件是实现单一功能的独立结构。在实际应用中,具体监测任务由各构件间的有序组合完成。软件总线通过调用相应功能的构件或构件组合实现与不同平台、不同协议的监测设备通信并解析获取的数据,然后按照系统内部协议的统一格式输出。其中,通信和解析过程的每个步骤都会调用不同的功能构件。结构设计合理的构件库有利于构件的存储和外层共享内层构件,同时提高构件的复用率和检索速度[13-14]。根据无线电监测任务要求,无线电监测软件总线的构件库分为系统构件库、通用构件库和功能构件库,如图3所示。系统构件库包括基本的数据结构(各种业务数据结构体定义)、数据类型、常数变量(如固定数值、字符串)等;通用构件库包括常用的监测数据处理方法,如数据分析方法、数据聚类算法、数据排序和查询算法等;功能构件库由基本监测任务(如频段扫描、中频测向等)及获取无线电监测系统自身运行状态的基本功能指令等组成。1.2通信协议和适配器在无线电监测软件总线中,通信协议负责数据帧格式和交互流程实现,适配器负责指令识别和数据转换。通过通信协议和适配器,设备“认识”接收到的系统指令,同时把设备数据“翻译”为系统内部可以识别的格式,保证系统与设备的正常交互,完成必要的通信过程(这个过程可能发生在不同平台、不同协议之间)。首先无线电监测软件总线的通信协议和适配器要确保各种异构协议的设备(如RMTP、SCPI等)可以像插头一样随意地与“插座”进行数据交互;其次,适配器具有一定的调度能力和管理能力,并且能够通过指令操作获得系统状态信息或设置系统参数等。从图1可以看出,通信协议和适配器可以最大限度地集成无线电监测网络系统中的设备。如当A类设备要集成到无线电监测网络系统时,通过A类通信协议,将A类设备具有的功能构件添加到构件库中,同时把A类适配器“安装”到总线,这样软件总线就会把系统内部的指令转换为A类设备可识别的指令,并调用构件库中A类设备对应的功能构件完成与设备的交互,交互过程中会调用其他构件实现诸如数据分析、信号监测等功能。本文适配器解析的指令分为4部分并以“;”作为分隔符,第1部分是指令ID,第2部分为设备(控制)ID,第3部分为功能类型,第4部分为任务类型。例1考试保障监测任务指令的解析与工作过程。指令内容为:0002;61007500;TKNEW;FSCAN#startfreq=87,stopfreq=108,step=100#tasktype=1,starttime=20130728010123,totletime=100,creator=1,level=1,name=考试保障。其中:0002为指令ID,表示该指令为任务操作,每台监测设备都有唯一ID标志;61007500为设备ID,表示某台监测设备;TKNEW为功能类型,表示创建新任务;FSCAN#startfreq=87,stopfreq=108,step=100#tasktype=1,starttime=20130728010123,totletime=100,creator=1,level=1,name=考试保障为任务信息,FSCAN表示该指令任务类型为频段扫描,startfreq=87,stopfreq=108,step=100表示起始频率、终止频率以及步长,tasktype=1,starttime=20130728010123,totletime=100,creator=1,level=1,name=考试保障表示任务执行相关参数,即任务类型、开始时间、执行时长、任务创建者ID、任务等级、任务名称。指令的执行过程如图4所示,组件接收到任务指令后,各适配器通过“0002”识别出是任务指令,通过“61007500”识别出该任务操作的设备,通过“TKNEW”识别任务的类别,通过“level=1”判定任务的优先级,其余是任务的执行参数。1.3消息机制无线电监测软件总线设计了总线消息队列和连接消息队列,其中,总线消息队列负责维护系统的全局消息,连接消息队列负责维护系统与设备的通信消息。只有当系统与设备之间需要进行长时间数据交互通信(长连接)时,软件总线才为其分配一个独立的连接消息队列。总线消息队列与连接消息队列如图5所示。当满足一定条件时,总线消息队列会把消息分发到相应的连接消息队列中,如果同一个时间段内有多个长连接并发执行,它们之间也可以通过发送消息实现信息共享(如图中A和B之间的共享)。以执行例1中任务指令的考试保障为例,总线会根据任务执行参数生成触发条件,即当发现异常信号时,跳转至频点监测并寻求协助站点辅助监测(算法选择当前最优辅助设备经由监测系统调度该设备与之发生连接),总线消息队列将频段跳转频点、时间同步、任务时间终了等控制信息发到各个连接消息队列,因为是协助监测,各个连接消息队列可以分享彼此的分析数据。1.4工作调度机制针对区域内有多个监测点(每个监测点至少有1台监测设备)的情况,无线电监测软件总线设计了任务指令的工作调度机制。该机制包括任务分发和任务调度2部分。任务指令由应用层到达每个监测设备的过程称为任务分发;每个监测设备按一定的方式执行各自任务队列的过程称为任务调度。任务分发采用优化的负载调度算法。该算法涉及连接数(当前任务数)和经纬度坐标(最小距离),形式描述如下。令区域内监测点T={T1,T2,…,Tm-1},每个监测地点的监测设备S={S1,S2,…,Sn-1},C(Si)和D(Si)分别表示接收机Si的当前连接数(任务数)和与监测地点的距离,W(C(Si))和W(D(Si))表示接收机Si相应特征的权值。任务分发的条件为min{C(Si)·W(C(Si))+D(Si)·W(D(Si))}(i=0,1,…,n-1)。任务调度采用先来先服务和优先级结合的调度算法,高优先级先执行,同优先级按时间先后顺序获取时间片,分片并发交替执行。在无线电监测软件总线中,实时连接优先级高于离线任务的优先级,当有实时连接发生时,独占设备会暂时中断离线任务并等待连接。调度算法可以避免离线任务和实时连接之间的冲突。由于设备对软件总线是“即插即用”的关系,所以在连接到软件总线的同时,软件总线会初始化当前设备的任务队列,并保持对任务队列的管理,以高优先级任务中断当前低优先级任务、同等级任务并发处理的原则,合理调度队列中的任务,并处理好与实时连接的兼容性。在无线电智能监测网络系统中,调度机制可用于异常信号处理。当网络系统发现异常信号时,软件总线以发现信号的设备为中心向附近设备(以经纬度判断)发出协助请求,形成一个局部自组织监测网络系统,调度机制会自动处理区域内的设备选择、功能执行和数据处理。
2无线电监测软件总线的应用
随着无线电通信技术的快速发展和广泛应用,利用无线电设备进行考试作弊的现象也日趋严重[15]。无线电考试保障是对考试作弊信号频率进行实时监控和及时定位,为查处相关责任人提供技术支撑[16]。2.1无线电考试保障监测无线电考试保障是一个复杂的监测任务,如图6所示。从构件调用的角度,软件总线需要通过适配器按一定的交互顺序复用FSCAN与IF_DF(或者IF_FQ)。从任务调度、站点协调的角度,由于每个设备的通信协议不同(如RMTP、SCPI等),设备和设备之间的沟通存在障碍,因此,软件总线需要通过消息机制和调度机制在触发条件成立时(一般是监测到异常信号),协调不同协议的多个设备参与协助监测、交汇定位,并整合不同监测设备采集的数据。在图6中:(1)为频段扫描阶段,即任务开始时软件总线以消息方式通知执行任务的设备持续对指令要求的频段进行扫描,并调用构件库中自适应阈值算法、信号检测算法等通用构件对频段扫描数据进行分析,当结果中出现可疑或作弊信号时,系统自动执行流程图中(2)的内容;(2)为频点监测过程,频点监测通过相应的通用构件对当前信号监听、初步测向,并分析其调制方式,然后确认信号性质,如是干扰信号还是作弊信号;当信号性质被确认后,系统需对此信号进一步分析处理,即图中(3)所示过程,此时由软件总线选择区域内合适的多个不同协议的设备参与协助,从协助请求的发送到形成区域自组织网络,软件总线负责整个组织过程;通过交汇定位,确认作弊信号的发射源位置后组织实施图中(4)所示过程,干预压制,压制后需要继续对这个频点进行监测,以便确认压制效果。当所有作弊信号处理结束后,继续进行频段扫描,循环上述整个流程。2.2无线电考试保障监测的执行过程如例1中指令,客户端发送任务命令告知要进行的监测任务(监测设备61007500对87MHz至108MHz进行监测),软件总线解析接收到的指令,然后根据指定的设备(由设备的ID得到设备的其他信息,如协议类型、IP地址等)调用相应的适配器和指令要求的FSCAN功能构件,若发现有作弊信号,则进入到自组织过程,由软件总线选择区域内合适的辅助监测设备。辅助设备发生连接以后软件总线以消息的方式同步各个监测设备,多设备调用IF_DF功能构件相互配合协调完成数据分析和交汇定位。在监测过程中,任务队列根据任务的优先级自动执行队列中的任务。图7为无线电考试保障在执行过程中适配器调用通用构件自适应阈值算法[17]得到的结果图。2.3自定义任务流程由于监测任务的目的和内容不同,在实际应用中,监测数据的处理方法也不同,在软件总线中体现为功能构件或构件组合也不同。为便于操作人员使用,在软件总线的框架内,需要自定义任务流程功能模块。无线电考试保障监测的任务流程、构件的组合方式是由用户自己定义的,即软件总线处理考试保障监测任务请求时,依据任务发布者自己定义的任务流程和构件调用关系,这样可以使总线具有更好的可扩展性和延伸性。软件总线在处理用户自定义的监测流程过程中,监控前一功能构件的输出和后一功能构件的输入的一致性,以确保构件和构件的衔接顺畅。自定义流程使无线电考试保障监测系统具有更强的适应性,用户使用方便并能达到更好的监测效果。
3结束语
软件总线应用于无线电监测系统,能够解决实际应用中监测设备异构的问题,使无线电监测系统具有更强的开放性,推动无线电监测的自动化、网格化和智能化,为监测数据采集、监测数据挖掘以及各种保障监测提供强有力的支持。进一步完善无线电监测软件总线的功能,满足大区域监测、区域之间协同监测、智能监测的需要,同时拓展无线电监测软件总线的应用范围是今后需进一步研究的内容。
作者:徐禄 裴峥 马方立 刘志才 张嘉楠 单位:西华大学无线电管理技术研究中心 四川省无线电监测站