本发明涉及设备运行管理领域,尤其是涉及一种基于实时操作系统的sca设备管理组件实现方法。
背景技术:
1、sca规范规定了软件无线电通信系统中软件实现框架,是一种面向通用分布式通信系统的设计规范,它可以将硬件、软件、无线电技术有机地结合起来,组成灵活多样的通信系统。目前sca规范规定了软件无线电通信系统的核心功能模块,如域管理器、设备管理器、应用管理等。在sca规范中,每个设备向设备管理器注册,并通过设备管理器对设备进行管理和控制。sca规范虽然明确了设备接口,可以对设备进行申请和释放,但是,并未对sca核心框架的设备运行管理提出统一要求。近年来,随着软件无线电系统的发展,国内外许多科研机构针对sca技术开展相关研究,并推出了相应的产品。但普遍存在以下问题:大多数系统基于linux实现,系统过于复杂,对底层硬件平台的资源消耗过大,系统服务与设备操作耦合度高,设计开发人员无法及时根据设备状态信息调整波形应用部署方案。
2、因此,实有必要设计一种基于实时操作系统的sca设备管理组件实现方法,以克服上述问题。
技术实现思路
1、为了避免上述问题,提供了一种基于实时操作系统的sca设备管理组件实现方法,解决多数sca核心框架基于linux运行时资源消耗大,系统服务与设备操作耦合度高,缺乏对运行设备有效管理的问题。本发明设计的启动sca框架运行所需服务的方式,可以有效降低sca架构对系统资源的消耗,实现轻量化管理;同时,可以帮助设计人员了解运行设备的实时情况,为系统的波形管理提供运行时的有效信息。
2、本发明提供的一种基于实时操作系统的sca设备管理组件实现方法,包括:启动sca相关服务、设备注册、设备启动、设备组件属性配置、设备执行和设备状态动态监测;
3、其中,启动sca相关服务为以线程形式启动服务,且设置线程任务优先级设置高于默认优先级;设备注册为将zynq设备注册到设备管理器,并最终注册到域管理器中,实现sca框架域管理器对设备组件的管理;设备启动包括zynq设备运行环境配置、设备属性装载、设备初始化;设备组件属性配置用于提供设备属性配置、设备组件加载的信息,包含.prf.xml、.scd.xml和.spd.xml描述文件;设备执行用于实现对设备组件应用的加载、卸载、运行和停止功能;设备状态动态监测对zynq设备状态进行周期监控,包括cpu状态监控、内存状态监控,并定义cpu空闲率阈值cpuidlethreshold和内存空闲率阈值memfreethreshold。
4、优选地,启动服务包括corba中间件命名服务、corba中间件事件服务、域管理器服务和设备管理器服务。
5、优选地,设备注册的具体步骤包括:
6、s1通过嵌入式实时操作系统启动corba通信中间件的命名服务和事件服务后,启动sca核心框架中的域管理器并向命名服务注册,创建域命名上下文;
7、s2启动设备管理器,设备管理器获取域管理器对象引用;
8、s3设备管理器实例化并初始化设备;
9、s4设备管理器根据设备组件描述文件配置设备;
10、s5设备向设备管理器注册,创建设备连接;
11、s6设备管理器向域管理器注册自身。
12、优选地,zynq设备运行环境配置包括日志配置、信号集配置和信号处理函数安装,并去除任务阻塞集中的sigint、sigterm、sigchild和sigquit信号;
13、设备属性装载是从设备组件描述文件中读取配置的属性值,并将读取的属性信息添加到设备的属性集中;
14、设备初始化包含设备参数的初始化和工作环境初始化,设备参数初始化是配置常用的全局变量,并获取管理事件通道的入口指针和odm事件通道使用者接收端指针,工作环境初始化是设置设备的工作路径和缓存的工作路径。
15、优选地,.prf.xml为属性配置描述符,定义设备的基本属性信息,包括设备类型、设备模型、处理器名称、操作系统、操作系统版本、缓存工作路径、工作路径、cpu空闲率阈值、内存空闲率阈值;.scd.xml为软件组件描述符,定义本组件依赖的软件组件信息;.spd.xml为软件包描述符,定义本组件的运行所需的软件信息,包括组件名称、组件的描述文件、组件的执行类型、组件可执行文件路径、编译器等信息。
16、优选地,设备组件属性配置还设计了设备状态devicestatus和轮询周期cycles;其中,devicestatus设置为只读,默认值为active,为用户提供实时了解设备状态的途径;cycles设置为可写,默认值为2s,该属性表征查询设备资源使用情况的周期,支持用户修改该参数,并设置为可以即时生效。
17、优选地,设备执行操作包含处理设备参数获取应用对象,并执行设备进程,具体为:首先,解析并处理设备参数,再获取命名上下文信息,并对命名上下文进行校验,若命名上下文有效,则获取波形应用对象;然后,执行设备进程,再将波形应用对象加到设备的组件队列中去,并返回设备进程id,完成设备组件应用的加载。
18、优选地,cpu/内存状态监控是计算cpu/内存空闲率,再将cpu/内存空闲率与给定的cpu/内存空闲率阈值做对比,若低于给定阈值,则判断设备资源使用过高,设置设备状态为busy,并打印告警信息,若高于给定阈值,则判断设备处于可用,设置设备状态为active;并将设备状态devicestatus定义为全局只读属性,通过.prf.xml定义后装载,用于用户直观地查看设备的实时状态信息。
19、优选地,设备状态动态监测是通过设计轮询周期属性周期地监测运行设备,并且支持用户在运行时进行动态配置,具体包括如下:
20、1)通过.prf.xml定义轮询周期属性cycles,为cycles属性安装属性变化监听器,该监听器绑定组件延时修改函数,支持用户在设备运行时动态修改cycles值;当用户修改cycles参数,该参数值发生变化,实时触发组件延时修改函数,组件延时修改函数用于修改线程组件延时周期;
21、2)cpu/内存状态监测:将设备状态devicestatus定义为全局只读属性,当设备资源空闲率低于阈值时,将设备状态设置为busy,用户通过.prf.xml直观地查看设备的实时状态信息;
22、3)设备状态轮询监测:通过继承sca核心框架中的threadedcomponent类实现设备状态的轮询监测,servicefunction函数被线程组件周期调用,在该函数中实现设备状态更新,用于实现对设备状态的轮询监测。
23、优选地,设备状态轮询监测中关于周期处理函数servicefunction的实现包括如下步骤:
24、3-1)获取当前时间戳;
25、3-2)计算距离上一次运行的时间间隔;
26、3-3)后台监听轮询周期cycles属性值变化情况,若发生变化,则更新线程组件延时周期;
27、3-4)比较上一步骤计算的时间间隔与周期调度时间阈值大小;
28、3-5)若时间间隔小于周期调度时间阈值,则回到3-1重新执行,若时间间隔大于周期调度时间阈值,设置时间更新标志为当前最新时间;
29、3-6)更新设备cpu使用率和内存使用率。
30、一种基于实时操作系统的sca设备管理组件实现方法,主要基于实时操作系统运行,能够支持软件通信体系架构(sca),执行在通用处理器(gpp)上的设备管理相关服务。
31、所述sca设备管理组件,运行在凌久嵌入式实时操作系统(sightos)之上。该实时操作系统与主流linux系统相比,实时性更强,支持用户通过线程而非进程的方式运行服务。通过线程的方式启动corba通信中间件服务、sca核心框架中的域管理器服务和设备管理器服务,不依赖于其他操作系统的任务或线程,实现与操作系统的解耦,便于开发人员管理运行设备。
32、同时,所述设备管理组件完成向sca核心框架的设备管理器发起注册、设备启动、设备执行的相关功能。sca规范仅明确了设备申请、释放接口,本组件在此基础上进行扩展和完善。通过sca核心框架的设备管理器发起注册可以实现sca框架域管理器对设备组件的管理,通过设备启动完成设备运行环境配置、设备属性装载、设备初始化,而设备执行则包含设备组件应用的加载、卸载、运行、停止等基本功能。
33、所述设备管理组件还包括设备状态动态监测,该模块实现对运行设备硬件资源(cpu、内存)的监测,通过设计轮询周期属性,可以周期地监测运行设备,该属性支持用户在运行时进行动态配置。
34、与现有技术相比,本发明具有以下有益效果:该基于实时操作系统的sca设备管理组件实现方法,所有服务基于线程运行,相比较于linux系统下基于进程运行的相关服务,线程服务在执行时占用内存更小,可以极大地节省系统资源;同时,除了支持设备的运行、停止、加载、卸载等基本功能外,还提供设备状态轮询机制,通过设备状态的实时管理,为系统的波形管理提供运行时的有效信息。
1.一种基于实时操作系统的sca设备管理组件实现方法,其特征在于,包括:启动sca相关服务、设备注册、设备启动、设备组件属性配置、设备执行和设备状态动态监测;
2.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:启动服务包括corba中间件命名服务、corba中间件事件服务、域管理器服务和设备管理器服务。
3.如权利要求2中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:设备注册的具体步骤包括:
4.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:zynq设备运行环境配置包括日志配置、信号集配置和信号处理函数安装,并去除任务阻塞集中的sigint、sigterm、sigchild和sigquit信号;
5.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:.prf.xml为属性配置描述符,定义设备的基本属性信息,包括设备类型、设备模型、处理器名称、操作系统、操作系统版本、缓存工作路径、工作路径、cpu空闲率阈值、内存空闲率阈值;.scd.xml为软件组件描述符,定义本组件依赖的软件组件信息;.spd.xml为软件包描述符,定义本组件的运行所需的软件信息,包括组件名称、组件的描述文件、组件的执行类型、组件可执行文件路径、编译器等信息。
6.如权利要求5中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:设备组件属性配置还设计了设备状态devicestatus和轮询周期cycles;其中,devicestatus设置为只读,默认值为active,为用户提供实时了解设备状态的途径;cycles设置为可写,默认值为2s,该属性表征查询设备资源使用情况的周期,支持用户修改该参数,并设置为可以即时生效。
7.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:设备执行操作包含处理设备参数获取应用对象,并执行设备进程,具体为:首先,解析并处理设备参数,再获取命名上下文信息,并对命名上下文进行校验,若命名上下文有效,则获取波形应用对象;然后,执行设备进程,再将波形应用对象加到设备的组件队列中去,并返回设备进程id,完成设备组件应用的加载。
8.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:cpu/内存状态监控是计算cpu/内存空闲率,再将cpu/内存空闲率与给定的cpu/内存空闲率阈值做对比,若低于给定阈值,则判断设备资源使用过高,设置设备状态为busy,并打印告警信息,若高于给定阈值,则判断设备处于可用,设置设备状态为active;并将设备状态devicestatus定义为全局只读属性,通过.prf.xml定义后装载,用于用户直观地查看设备的实时状态信息。
9.如权利要求1中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:设备状态动态监测是通过设计轮询周期属性周期地监测运行设备,并且支持用户在运行时进行动态配置,具体包括如下:
10.如权利要求9中所述的基于实时操作系统的sca设备管理组件实现方法,其特征在于:设备状态轮询监测中关于周期处理函数servicefunction的实现包括如下步骤:
