CN116614388B - Method and terminal for realizing domain manager model based on software communication system structure - Google Patents
Method and terminal for realizing domain manager model based on software communication system structure Download PDFInfo
- Publication number
- CN116614388B CN116614388B CN202310861042.3A CN202310861042A CN116614388B CN 116614388 B CN116614388 B CN 116614388B CN 202310861042 A CN202310861042 A CN 202310861042A CN 116614388 B CN116614388 B CN 116614388B
- Authority
- CN
- China
- Prior art keywords
- manager
- application
- domain manager
- domain
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000006870 function Effects 0.000 claims description 147
- 238000009434 installation Methods 0.000 claims description 24
- 230000004913 activation Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 abstract description 2
- 230000003213 activating effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
Description
技术领域Technical field
本发明涉及域管理器模型的实现方法和终端,具体是基于软件通信体系结构的域管理器模型的实现方法和终端。The present invention relates to an implementation method and terminal of a domain manager model, specifically to an implementation method and terminal of a domain manager model based on software communication architecture.
背景技术Background technique
软件定义无线电(SDR)是一种无线电广播通信技术,它是基于软件定义的无线通信协议而非通过硬连线实现,包括频带、空中接口协议和功能都可通过软件下载和更新来升级,而不用完全更换硬件。它是针对构建多模式、多频和多功能无线通信设备的问题提供有效而安全的解决方案。软件定义无线电可以用一个单一的通用无线电(由通用硬件构建)替代几个不同的无线电(功能由硬件定义和限制),这些无线电可以通过软件重新配置,即通过软件来控制性能参数,如波长、调制或加密。为了使无线电之间的互操作性成为可能,软件通信体系结构(SCA)标准是一个关键元素,SCA是一个开放的框架,它定义了软件和硬件组件如何在软件定义无线电中进行互操作,并且SCA集成了最初由对象管理组(OMG)开发的公共对象请求代理体系结构(CORBA)规范中定义的互操作性特性和标准。Software-defined radio (SDR) is a radio broadcast communication technology that is based on a software-defined wireless communication protocol rather than through hard wiring. The frequency band, air interface protocol and functions can be upgraded through software downloads and updates. No need to completely replace the hardware. It is an effective and secure solution to the problem of building multi-mode, multi-frequency and multi-function wireless communication devices. Software-defined radio can replace several different radios (functions defined and limited by hardware) with a single universal radio (built from common hardware) that can be reconfigured through software, i.e., software controls performance parameters such as wavelength, Modulation or encryption. To make interoperability between radios possible, the Software Communications Architecture (SCA) standard is a key element. SCA is an open framework that defines how software and hardware components interoperate in software-defined radios, and SCA integrates interoperability features and standards defined in the Common Object Request Broker Architecture (CORBA) specification originally developed by the Object Management Group (OMG).
软件体系结构是SCA的重要组成部分,它包括核心框架(CF)和操作环境(OE),其中核心框架包括域管理器、设备管理器、服务和设备等,在系统中主要负责管理、连接各个组件,完成组件之间的通信任务。Software architecture is an important part of SCA. It includes core framework (CF) and operating environment (OE). The core framework includes domain manager, device manager, services and devices, etc., and is mainly responsible for managing and connecting various components in the system. Components complete communication tasks between components.
在SCA中,SCA域包含事件通道、节点、设备、组件、服务和实现等,SCA应用程序中的组件可以在不同的节点上运行,因此需要一个域管理器对整个SCA域进行管理和控制。In SCA, the SCA domain includes event channels, nodes, devices, components, services, implementations, etc. The components in the SCA application can run on different nodes, so a domain manager is required to manage and control the entire SCA domain.
目前有少量的现有技术提出了域管理器安装和删除应用的功能,例如申请号为201410366827.4,名称为“一种基于软件通信体系架构的核心框架集成方法”的专利申请,但还没有文献和现有技术提出了对域管理器整个模型架构的具体实现方法。There are currently a small number of existing technologies that propose the function of installing and deleting applications by domain managers, such as the patent application with application number 201410366827.4, titled "A core framework integration method based on software communication architecture", but there are no documents and The existing technology proposes a specific implementation method for the entire model architecture of the domain manager.
发明内容Contents of the invention
本发明提供了一种基于软件通信体系结构的域管理器模型的实现方法和终端,以提供完整的符合SCA(软件通信体系结构)规范和SRTF(软件无线电通信装备体系结构)标准的域管理器接口以及域管理器的构建方式,便于对整个域的管理,以及提高域的运行效率。The present invention provides an implementation method and terminal of a domain manager model based on software communication architecture to provide a complete domain manager that complies with SCA (Software Communication Architecture) specifications and SRTF (Software Radio Communication Equipment Architecture) standards. The interface and domain manager are constructed in a way that facilitates the management of the entire domain and improves the operational efficiency of the domain.
本发明基于软件通信体系结构的域管理器模型的实现方法,包括域管理器接口的实现和域管理器的实现,通过域管理器接口访问域管理器,所述域管理器接口用于配置和管理域内的设备、服务与应用,所述域管理器用于管理整个系统的资源;The implementation method of the domain manager model based on the software communication architecture of the present invention includes the implementation of the domain manager interface and the implementation of the domain manager. The domain manager is accessed through the domain manager interface, and the domain manager interface is used for configuring and Manage devices, services and applications within the domain, and the domain manager is used to manage resources of the entire system;
域管理器接口的实现包括:The implementation of the domain manager interface includes:
每个组件实例对应有组件标识符接口和组件接口,所述组件标识符接口存储组件实例的唯一性标识符,组件接口中的属性包括:域管理器配置文件属性、设备管理器属性、应用程序属性、应用程序工厂属性,以及文件管理器属性;Each component instance corresponds to a component identifier interface and a component interface. The component identifier interface stores the unique identifier of the component instance. The properties in the component interface include: domain manager configuration file properties, device manager properties, application programs properties, application factory properties, and file manager properties;
所述组件实例指的是独立的具备自治功能的,并且提供有一个或多个访问接口的软件模块。其中,The component instance refers to an independent software module that has autonomous functions and provides one or more access interfaces. in,
域管理器配置文件属性的实现:将域管理器对象的域管理器配置文件属性复制到新分配的内存空间中,并将所述新分配的内存空间信息返回给客户端;Implementation of domain manager configuration file attributes: Copy the domain manager configuration file attributes of the domain manager object to the newly allocated memory space, and return the newly allocated memory space information to the client;
设备管理器属性的实现:通过互斥锁来防止并发访问设备管理器列表,将每个设备管理器复制为一个CORBA对象(公共对象请求代理体系结构对象),并将该CORBA对象添加到设备管理器列表的序列缓冲区中,然后调用函数解锁互斥锁的互斥变量;通过设备管理器属性对域内的所有设备管理器进行控制,再通过设备管理器对域内的所有设备进行控制;Implementation of device manager properties: Prevent concurrent access to the device manager list through a mutex, copy each device manager as a CORBA object (Common Object Request Broker Architecture Object), and add this CORBA object to the device manager in the sequence buffer of the device list, and then call the function to unlock the mutex variable of the mutex; control all device managers in the domain through the device manager properties, and then control all devices in the domain through the device manager;
应用程序属性的实现:通过函数获取域管理器中应用程序的数量,从每个应用程序中取出当前节点的应用程序对象,并复制该应用程序对象的引用到缓存中,复制完成所有应用程序的引用后,将所有应用程序对象返回给客户端;应用程序属性中包含域内的应用管理组件序列,通过应用程序属性得到域内应用程序的应用程序对象,从而对应用程序进行控制;Implementation of application attributes: Get the number of applications in the domain manager through a function, take out the application object of the current node from each application, and copy the reference of the application object to the cache, and copy the application objects of all applications. After reference, all application objects are returned to the client; the application attributes contain the sequence of application management components in the domain, and the application objects of the applications in the domain are obtained through the application attributes, thereby controlling the application;
应用程序工厂属性的实现:获取域管理器中应用程序工厂的数量,从各应用程序工厂中取出当前节点的应用程序工厂对象,并复制该应用程序工厂对象的引用到缓存中,复制完成所有应用程序工厂对象的引用后,将各应用程序工厂对象返回给客户端;Implementation of the application factory attribute: Get the number of application factories in the domain manager, take out the application factory object of the current node from each application factory, and copy the reference of the application factory object to the cache, and copy all applications After obtaining the reference of the program factory object, return each application factory object to the client;
文件管理器属性的实现:将域管理器的文件管理对象的引用复制到一个初始化过的参数对象中,返回复制后的参数对象,文件管理器属性用于对文件管理器进行控制;Implementation of file manager attributes: Copy the reference of the domain manager's file management object to an initialized parameter object, and return the copied parameter object. The file manager attributes are used to control the file manager;
每个属性实现后,都向域管理器的日志写入一条日志记录,表示已获取该属性;After each attribute is implemented, a log record is written to the domain manager's log indicating that the attribute has been obtained;
域管理器的实现包括:The domain manager implementation includes:
在域管理器实现的对象中创建文件管理器,然后初始化域管理器,再通过激活函数激活域管理器,获取域管理器的参数后,启动IDM(Input Domain Manager,域管理器输入)和ODM(Output Domain Manager,域管理器输出)的事件服务,然后通过创建命名服务函数为域管理器设置命名服务,以及通过组件注册函数启动组件注册程序,再通过获取安装文件函数获取应用程序的文件进行应用程序安装,当需要卸载应用程序时,调用函数从已安装的应用程序文件中删除应用程序配置文件名称,防止在域管理器重启时自动重新安装该应用程序,再从域中卸载应用程序。Create a file manager in the object implemented by the domain manager, then initialize the domain manager, and then activate the domain manager through the activation function. After obtaining the parameters of the domain manager, start IDM (Input Domain Manager, domain manager input) and ODM (Output Domain Manager, domain manager output) event service, then set the naming service for the domain manager by creating a naming service function, and start the component registration program through the component registration function, and then obtain the application file through the get installation file function. Application installation, when the application needs to be uninstalled, call the function to delete the application configuration file name from the installed application file to prevent the application from being automatically reinstalled when the domain manager restarts, and then uninstall the application from the domain.
本发明提供的域管理器具有控制功能,能够对域里面的所有设备、服务进行控制,以及域管理器的安装、卸载以及注册的功能的具体实现过程,同时还提出日志记录功能,用于跟踪对各属性的访问、记录域管理器的事件日志。域管理器和域管理器接口的实现完全符合SCA(软件通信体系结构)规范和SRTF(软件无线电通信装备体系结构)标准。The domain manager provided by the invention has a control function and can control all devices and services in the domain, as well as the specific implementation process of the domain manager's installation, uninstallation and registration functions. At the same time, it also proposes a logging function for tracking Access to each attribute is recorded in the event log of the domain manager. The implementation of the domain manager and domain manager interface is fully compliant with the SCA (Software Communications Architecture) specification and the SRTF (Software Radio Communications Equipment Architecture) standard.
具体的,所述域管理器配置文件属性的实现,是先定义一个检查函数和一个用于获取域管理器的配置文件路径的配置文件路径函数,然后调用所述检查函数检查域管理器是否正在关闭,如果正在关闭,检查函数将返回域管理器正在关闭的信息,并且终止后续操作;如果域管理器未关闭,则判断通过配置文件路径函数获取的域管理器的配置文件路径是否为空,然后分配与域管理器配置文件属性相适配的内存空间,判断域管理器配置文件属性是否已分配非空指针,如果否,则抛出异常,如果是,将域管理器配置文件属性复制到分配的内存空间中,并将分配的内存空间信息返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取域管理器配置文件属性,随后释放日志记录内存并返回域管理器配置文件属性的序列。Specifically, the implementation of the domain manager configuration file attribute is to first define a check function and a configuration file path function for obtaining the configuration file path of the domain manager, and then call the check function to check whether the domain manager is Shut down. If it is shutting down, the check function will return information that the domain manager is shutting down and terminate subsequent operations; if the domain manager is not shut down, it will determine whether the configuration file path of the domain manager obtained through the configuration file path function is empty. Then allocate memory space that matches the domain manager configuration file attributes, determine whether the domain manager configuration file attributes have been allocated a non-null pointer, if not, throw an exception, and if so, copy the domain manager configuration file attributes to in the allocated memory space, and returns the allocated memory space information to the client. Finally, a log record is written to the domain manager's log, indicating that the domain manager configuration file attributes have been obtained, and then the log record memory is released and returned to domain management. A sequence of server configuration file properties.
具体的,所述设备管理器属性的实现,是先获取域管理器中的设备管理器列表,然后使用互斥锁来保护并发访问设备管理器列表的操作,以防止多个线程同时修改设备管理器列表中的内容,再遍历设备管理器列表并计算总的设备管理器数量,然后调用分配函数分配内存空间,将该内存空间作为封装所有设备管理器的序列对象,根据设备管理器的数量设定序列对象的缓冲区大小,并将其作为所有设备管理器序列对象的缓冲区,接着遍历设备管理器列表,将每个设备管理器复制为一个CORBA对象,并将该CORBA对象添加到所述缓冲区中,然后调用函数解锁互斥锁的互斥变量,最后向域管理器的日志写入一条日志记录,将访问设备管理器属性的日志消息记录到域管理器的日志中,随后释放日志记录内存并返回序列对象,通过设备管理器属性对域内的所有设备管理器和服务进行控制,再通过设备管理器对域内的所有设备进行控制,以及通过一个节点里面的设备管理器,管理该节点内的所有设备和服务。Specifically, the device manager attribute is implemented by first obtaining the device manager list in the domain manager, and then using a mutex to protect concurrent access to the device manager list to prevent multiple threads from modifying device management at the same time. content in the device manager list, then traverse the device manager list and calculate the total number of device managers, then call the allocation function to allocate memory space, use the memory space as a sequence object that encapsulates all device managers, and set it according to the number of device managers. Determine the buffer size of the sequence object and use it as the buffer for all device manager sequence objects, then iterate through the device manager list, copy each device manager as a CORBA object, and add the CORBA object to the buffer, then call a function to unlock the mutex variable of the mutex lock, and finally write a log record to the domain manager's log, record the log message of accessing the device manager properties to the domain manager's log, and then release the log Record the memory and return the sequence object, control all device managers and services in the domain through the device manager properties, control all devices in the domain through the device manager, and manage the node through the device manager in a node All equipment and services within.
具体的,所述应用程序属性的实现,是先定义一个用于获取域管理器下所有应用程序对象的函数,调用该函数分配用于存储所有应用程序对象的内存,再通过线程加锁,防止在处理应用程序列表时其他并发操作干扰,然后将域管理器中应用程序的数量赋值给一个参数,将应用程序添加到缓冲区中,从应用程序中取出当前节点的应用程序对象,并复制该应用程序对象的引用到缓存中,复制完所有应用程序对象的引用后,使用线程解锁,并将应用程序对象返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取访问应用程序属性,应用程序属性包含域内的应用管理组件序列,通过应用程序属性得到域内应用程序的对象,从而对应用程序进行控制。Specifically, the implementation of the application attributes is to first define a function for obtaining all application objects under the domain manager, call this function to allocate memory for storing all application objects, and then lock it through threads to prevent When other concurrent operations interfere with processing the application list, then assign the number of applications in the domain manager to a parameter, add the application to the buffer, take the application object of the current node from the application, and copy the The reference of the application object is stored in the cache. After copying the references of all application objects, a thread is used to unlock the application object and the application object is returned to the client. Finally, a log record is written to the domain manager's log indicating that access has been obtained. Application attributes include a sequence of application management components in the domain. Through the application attributes, the object of the application in the domain is obtained, thereby controlling the application.
具体的,所述应用程序工厂属性的实现,是先定义一个用于获取域管理器下所有应用程序工厂对象的函数,调用该函数分配存储所有应用程序工厂对象的内存大小,接着使用线程加锁,防止在处理应用程序工厂列表时其他并发操作干扰,然后将域管理器中应用程序工厂的数量赋值给一个参数,然后为应用程序工厂对象分配内存并将应用程序工厂对象添加到缓冲区中,从应用程序工厂中取出当前节点的应用程序工厂对象,并复制该应用程序工厂对象的引用到缓存中,复制完所有应用程序工厂对象的引用后,使用线程解锁,并将应用程序工厂对象返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取访问应用程序工厂属性。Specifically, the implementation of the application factory attribute is to first define a function for obtaining all application factory objects under the domain manager, call this function to allocate the memory size for storing all application factory objects, and then use thread locking. , to prevent other concurrent operations from interfering when processing the application factory list, and then assign the number of application factories in the domain manager to a parameter, then allocate memory for the application factory object and add the application factory object to the buffer, Get the application factory object of the current node from the application factory, and copy the reference of the application factory object to the cache. After copying the references of all application factory objects, use thread unlocking and return the application factory object to The client, finally writes a log record to the domain manager's log indicating that access to the application factory property has been obtained.
具体的,所述文件管理器属性的实现,是先定义一个用于获取域管理器下的文件管理器对象的函数,调用该函数将域管理器的文件管理对象的引用复制到一个初始化过的参数中,若复制成功,则向域管理器的日志写入一条日志记录,表示已获取访问文件管理器属性,若复制失败,则抛出异常,最后,返回复制得到的所述参数,通过文件管理器属性对文件管理器进行控制。Specifically, the implementation of the file manager attribute is to first define a function for obtaining the file manager object under the domain manager, and call this function to copy the reference of the file management object of the domain manager to an initialized Among the parameters, if the copy is successful, a log record is written to the domain manager's log, indicating that access to the file manager attribute has been obtained. If the copy fails, an exception is thrown. Finally, the copied parameters are returned and passed through the file. Manager properties control the file manager.
具体的,在所述域管理器的实现中,通过创建文件管理器的函数在域管理器实现的对象中创建文件管理器:分配一个文件管理器实现的对象,然后将该对象初始化并设置回调函数,再将该对象激活并转换成CORBA对象引用,最后返回文件管理器的CORBA对象引用;Specifically, in the implementation of the domain manager, the file manager is created in the object implemented by the domain manager through the function of creating the file manager: allocate an object implemented by the file manager, and then initialize the object and set the callback function, then activate and convert the object into a CORBA object reference, and finally return the CORBA object reference of the file manager;
然后通过域管理器初始化函数初始化域管理器,包括初始化从接口描述文件生成的代码和数据,然后初始化各组件和域管理器配置描述文件,再初始化各属性,给各属性赋初值,最后初始化各类端口;Then initialize the domain manager through the domain manager initialization function, including initializing the code and data generated from the interface description file, then initializing each component and domain manager configuration description file, then initializing each attribute, assigning an initial value to each attribute, and finally initializing Various ports;
通过激活函数激活域管理器,首先记录一条日志,表明域管理器开始激活,然后调用激活函数激活域管理器的实现对象,并将实现对象返回的对象标识符存储到域管理器实现结构体的对应字段中,最后,释放所述对应字段的内存并将其设置为NULL;The domain manager is activated through the activation function. First, a log is recorded indicating that the domain manager has started to activate. Then the activation function is called to activate the implementation object of the domain manager, and the object identifier returned by the implementation object is stored in the domain manager implementation structure. In the corresponding field, finally, release the memory of the corresponding field and set it to NULL;
获取域管理器的参数时,使用获取域管理器引用函数获取域管理器的对象引用,然后通过函数将传入的实现对象参数转换为域管理器的对象引用,最后返回对象引用;When obtaining the parameters of the domain manager, use the Get Domain Manager Reference function to obtain the object reference of the domain manager, then convert the incoming implementation object parameters into the object reference of the domain manager through the function, and finally return the object reference;
然后通过启动事件服务函数分别启动IDM和ODM的事件服务:通过函数初始化IDM和ODM的事件服务的对象引用和事件服务通道,再通过函数将IDM和ODM的事件服务添加到域管理器已注册服务的列表中,最后返回IDM和ODM的事件服务的对象引用;Then start the event services of IDM and ODM respectively by starting the event service function: initialize the object reference and event service channel of the event service of IDM and ODM through the function, and then add the event service of IDM and ODM to the registered service of the domain manager through the function In the list, the object reference of the event service of IDM and ODM is finally returned;
所述通过创建命名服务函数为域管理器设置命名服务,是通过解析命名服务的初始引用,再创建一个新的命名上下文,并将域管理器对象绑定到所述命名上下文中;The step of setting the naming service for the domain manager by creating the naming service function is to parse the initial reference of the naming service, create a new naming context, and bind the domain manager object to the naming context;
所述通过组件注册函数启动组件注册程序,是先判断设备对象是否为空且是否有效,通过卸载函数将已失效的设备对象卸载;在设备对象不为空且有效的情况下根据设备信息从文件系统中加载软件配置文件,为软件包描述文件变量分配内存空间,然后解析软件包描述文件中的数据并将结果存储在软件包描述文件解析变量中,释放软件包描述文件变量的内存,接着获取设备对象所在的设备管理器,通过加锁函数锁定互斥变量,防止在处理设备管理器列表时发生并发访问的问题,然后获取设备对象标识符和设备ID并存储在相应的变量中,通过函数检查设备对象的接口是否实现了SCA(软件通信体系结构)规范和SRTF(软件无线电通信装备体系结构)标准中定义的设备对象接口,如果实现了,将存储设备标识符和设备ID的变量传到域管理器设备添加函数中,将设备对象添加到域管理器中并注册,然后通过解锁函数解锁互斥变量;To start the component registration program through the component registration function, it is first determined whether the device object is empty and valid, and the expired device object is uninstalled through the uninstall function; when the device object is not empty and valid, it is retrieved from the file according to the device information. Load the software configuration file in the system, allocate memory space for the software package description file variables, then parse the data in the software package description file and store the results in the software package description file parsing variables, release the memory of the software package description file variables, and then obtain The device manager where the device object is located locks the mutex variable through the lock function to prevent concurrent access problems when processing the device manager list, and then obtains the device object identifier and device ID and stores them in the corresponding variables, through the function Check whether the interface of the device object implements the device object interface defined in the SCA (Software Communications Architecture) specification and the SRTF (Software Radio Communications Equipment Architecture) standard. If it is implemented, pass the variables storing the device identifier and device ID to In the domain manager device addition function, add the device object to the domain manager and register it, and then unlock the mutex variable through the unlock function;
所述通过获取安装文件函数获取应用程序的文件进行应用程序安装,是先获取安装域管理器的应用程序文件名,然后解析对应的应用程序文件和相关文件,循环遍历应用程序工厂列表,检查是否已在文件系统中安装了指定的应用程序,如果已经安装,则继续安装下一个应用程序,否则,为指定的应用程序安装对应的应用程序工厂,并为该应用程序工厂设置相关的属性值,最后将该应用程序工厂添加到应用程序工厂列表中。The method of obtaining application files for application installation through the Get Installation File function is to first obtain the application file name of the installation domain manager, then parse the corresponding application files and related files, loop through the application factory list, and check whether The specified application has been installed in the file system. If it has been installed, continue to install the next application. Otherwise, install the corresponding application factory for the specified application and set the relevant attribute values for the application factory. Finally, add the application factory to the list of application factories.
具体的,在所述域管理器的实现中,通过卸载应用函数从域管理器配置文件中卸载应用程序,首先查找指定标识符的应用程序,然后调用函数从已安装的应用程序文件中删除与所述指定标识符对应的应用程序配置文件名称,防止在域管理器重启时自动重新安装该应用程序,最后从域中卸载应用程序。Specifically, in the implementation of the domain manager, the application is uninstalled from the domain manager configuration file through the uninstall application function. First, the application with the specified identifier is found, and then the function is called to delete the application from the installed application file. The name of the application configuration file corresponding to the specified identifier prevents the application from being automatically reinstalled when the domain manager is restarted, and finally uninstalling the application from the domain.
本发明还提供了一种用于上述实现方法的基于软件通信体系结构的域管理器模型的实现终端,在域管理器中设有域管理器接口,所述域管理器接口中包括与每个组件实例对应的组件标识符接口和组件接口,所述组件标识符接口中设有存储组件实例唯一性标识符的存储空间,在所述组件接口中包括并行设置的域管理器配置文件属性实现模块、设备管理器属性实现模块、应用程序属性实现模块、应用程序工厂属性实现模块、文件管理器属性实现模块,以及日志模块。通过域管理器接口可以访问域管理器;The present invention also provides an implementation terminal of the domain manager model based on the software communication architecture for the above implementation method. The domain manager is provided with a domain manager interface, and the domain manager interface includes a link to each domain manager. The component identifier interface and the component interface corresponding to the component instance. The component identifier interface is provided with a storage space for storing the unique identifier of the component instance. The component interface includes a domain manager configuration file attribute implementation module set in parallel. , device manager property implementation module, application property implementation module, application factory property implementation module, file manager property implementation module, and log module. The domain manager can be accessed through the domain manager interface;
所述域管理器中包括顺序连接的:The domain manager includes sequential connections:
文件管理器创建模块:在域管理器实现的对象中创建文件管理器,返回文件管理器的CORBA对象引用;File manager creation module: creates a file manager in the object implemented by the domain manager and returns the CORBA object reference of the file manager;
域管理器初始化模块:初始化域管理器,包括初始化从接口描述文件生成的代码和数据,初始化各组件和域管理器配置描述文件,初始化各属性,给各属性赋初值,以及初始化各类端口;Domain manager initialization module: Initialize the domain manager, including initializing the code and data generated from the interface description file, initializing each component and domain manager configuration description file, initializing each attribute, assigning initial values to each attribute, and initializing various ports. ;
域管理器激活模块:通过激活函数激活域管理器,将实现对象返回的对象标识符存储到域管理器实现结构体的对应字段中;Domain manager activation module: Activate the domain manager through the activation function, and store the object identifier returned by the implementation object into the corresponding field of the domain manager implementation structure;
域管理器参数获取模块:使用获取域管理器引用函数获取域管理器的对象引用,然后通过函数将传入的实现对象参数转换为域管理器的对象引用,最后返回对象引用;Domain manager parameter acquisition module: Use the Get Domain Manager Reference function to obtain the object reference of the domain manager, then convert the incoming implementation object parameters into the object reference of the domain manager through the function, and finally return the object reference;
事件服务模块:启动IDM和ODM的事件服务,将IDM和ODM的事件服务添加到域管理器已注册服务的列表中,并返回IDM和ODM的事件服务的对象引用;Event service module: Start the event service of IDM and ODM, add the event service of IDM and ODM to the list of registered services of the domain manager, and return the object reference of the event service of IDM and ODM;
域管理器命名模块:为域管理器设置命名服务,将域管理器对象绑定到命名上下文中;Domain manager naming module: Sets the naming service for the domain manager and binds the domain manager object to the naming context;
组件注册模块:启动组件注册程序,将设备对象添加到域管理器中并注册;Component registration module: Start the component registration program, add the device object to the domain manager and register it;
应用程序安装模块:获取应用程序的文件进行应用程序安装,将应用程序对应的应用程序工厂添加到应用程序工厂列表中;Application installation module: obtain the application files for application installation, and add the application factory corresponding to the application to the application factory list;
应用程序卸载模块:从已安装的应用程序文件中删除应用程序配置文件名称,再从域中卸载应用程序。Application Uninstall Module: Removes the application profile name from installed application files before uninstalling the application from the domain.
本发明还提供了一种终端,包括存储器、处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该处理器在执行所述计算机程序时执行上述基于软件通信体系结构的域管理器模型的实现方法。The present invention also provides a terminal, which includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor. The processor executes the above software-based communication system when executing the computer program. Implementation method of the domain manager model of the structure.
本发明的有益效果包括:The beneficial effects of the present invention include:
1、提供了完整的符合SCA(软件通信体系结构)规范和SRTF(软件无线电通信装备体系结构)标准的域管理器接口以及域管理器的构建方式,极大方便了对整个域的管理,以及明显提高了域的运行效率。1. Provides a complete domain manager interface and domain manager construction method that conforms to SCA (Software Communications Architecture) specifications and SRTF (Software Radio Communications Equipment Architecture) standards, which greatly facilitates the management of the entire domain, and The operational efficiency of the domain is significantly improved.
2、实现了对整个域内所有组件的访问、操作和管理,为基于软件通信体系结构的系统提供了访问域及域内组件的接口。2. It realizes access, operation and management of all components in the entire domain, and provides an interface for accessing the domain and components within the domain for systems based on software communication architecture.
附图说明Description of the drawings
图1为本发明基于软件通信体系结构的域管理器模型的实现方法的流程图。Figure 1 is a flow chart of the implementation method of the domain manager model based on the software communication architecture of the present invention.
图2为图1中初始化域管理器的流程图。Figure 2 is a flow chart of initializing the domain manager in Figure 1.
图3为图1中域管理器的启动组件注册程序的流程图。Figure 3 is a flow chart of the startup component registration procedure of the domain manager in Figure 1.
实施方式Implementation
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only These are part of the embodiments of this application, but not all of them. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a variety of different configurations. Accordingly, the following detailed description of the embodiments of the application provided in the appended drawings is not intended to limit the scope of the claimed application, but rather to represent selected embodiments of the application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without any creative work shall fall within the scope of protection of this application.
实施例1:Example 1:
如图1所示,本发明基于软件通信体系结构的域管理器模型的实现方法,包括域管理器接口的实现和域管理器的实现,通过域管理器接口访问域管理器,所述域管理器接口用于配置和管理域内的设备、服务与应用,所述域管理器用于管理整个系统的资源;As shown in Figure 1, the implementation method of the domain manager model based on the software communication architecture of the present invention includes the implementation of the domain manager interface and the implementation of the domain manager. The domain manager is accessed through the domain manager interface. The domain management The domain manager interface is used to configure and manage devices, services and applications within the domain, and the domain manager is used to manage the resources of the entire system;
域管理器接口的实现包括:The implementation of the domain manager interface includes:
每个组件实例对应有组件标识符接口和组件接口,所述组件标识符接口存储组件实例的唯一性标识符,组件接口中的属性包括:域管理器配置文件属性(domainManagerProfile)、设备管理器属性(managers)、应用程序属性(applications)、应用程序工厂属性(applicationFactories),以及文件管理器属性(fileMgr);所述组件实例指的是独立的具备自治功能的,并且提供有一个或多个访问接口的软件模块。其中,Each component instance corresponds to a component identifier interface and a component interface. The component identifier interface stores the unique identifier of the component instance. The attributes in the component interface include: domain manager profile attributes (domainManagerProfile), device manager attributes (managers), application properties (applications), application factory properties (applicationFactories), and file manager properties (fileMgr); the component instances refer to independent autonomous functions and provide one or more access Interface software module. in,
域管理器配置文件属性的实现:将域管理器对象的域管理器配置文件属性复制到新分配的内存空间中,并将所述新分配的内存空间信息返回给客户端;Implementation of domain manager configuration file attributes: Copy the domain manager configuration file attributes of the domain manager object to the newly allocated memory space, and return the newly allocated memory space information to the client;
设备管理器属性的实现:通过互斥锁来防止并发访问设备管理器列表,将每个设备管理器复制为一个CORBA对象(公共对象请求代理体系结构对象),并将该CORBA对象添加到设备管理器列表的序列缓冲区中,然后调用函数解锁互斥锁的互斥变量;通过设备管理器属性对域内的所有设备管理器进行控制,再通过设备管理器对域内的所有设备进行控制;Implementation of device manager properties: Prevent concurrent access to the device manager list through a mutex, copy each device manager as a CORBA object (Common Object Request Broker Architecture Object), and add this CORBA object to the device manager in the sequence buffer of the device list, and then call the function to unlock the mutex variable of the mutex; control all device managers in the domain through the device manager properties, and then control all devices in the domain through the device manager;
应用程序属性的实现:通过函数获取域管理器中应用程序的数量,从每个应用程序中取出当前节点的应用程序对象,并复制该应用程序对象的引用到缓存中,复制完成所有应用程序的引用后,将所有应用程序对象返回给客户端;应用程序属性中包含域内的应用管理组件序列,通过应用程序属性得到域内应用程序的应用程序对象,从而对应用程序进行控制;Implementation of application attributes: Get the number of applications in the domain manager through a function, take out the application object of the current node from each application, and copy the reference of the application object to the cache, and copy the application objects of all applications. After reference, all application objects are returned to the client; the application attributes contain the sequence of application management components in the domain, and the application objects of the applications in the domain are obtained through the application attributes, thereby controlling the application;
应用程序工厂属性的实现:获取域管理器中应用程序工厂的数量,从各应用程序工厂中取出当前节点的应用程序工厂对象,并复制该应用程序工厂对象的引用到缓存中,复制完成所有应用程序工厂对象的引用后,将各应用程序工厂对象返回给客户端;Implementation of the application factory attribute: Get the number of application factories in the domain manager, take out the application factory object of the current node from each application factory, and copy the reference of the application factory object to the cache, and copy all applications After obtaining the reference of the program factory object, return each application factory object to the client;
文件管理器属性的实现:将域管理器的文件管理对象的引用复制到一个初始化过的参数对象中,返回复制后的参数对象,文件管理器属性用于对文件管理器进行控制;Implementation of file manager attributes: Copy the reference of the domain manager's file management object to an initialized parameter object, and return the copied parameter object. The file manager attributes are used to control the file manager;
每个属性实现后,都向域管理器的日志写入一条日志记录,表示已获取该属性;After each attribute is implemented, a log record is written to the domain manager's log indicating that the attribute has been obtained;
域管理器的实现包括:The domain manager implementation includes:
在域管理器实现的对象中创建文件管理器,然后初始化域管理器,再通过激活函数激活域管理器,获取域管理器的参数后,启动IDM(Input Domain Manager,域管理器输入)和ODM(Output Domain Manager,域管理器输出)的事件服务,然后通过创建命名服务函数为域管理器设置命名服务,以及通过组件注册函数启动组件注册程序,再通过获取安装文件函数获取应用程序的文件进行应用程序安装,当需要卸载应用程序时,调用函数从已安装的应用程序文件中删除应用程序配置文件名称,防止在域管理器重启时自动重新安装该应用程序,再从域中卸载应用程序。Create a file manager in the object implemented by the domain manager, then initialize the domain manager, and then activate the domain manager through the activation function. After obtaining the parameters of the domain manager, start IDM (Input Domain Manager, domain manager input) and ODM (Output Domain Manager, domain manager output) event service, then set the naming service for the domain manager by creating a naming service function, and start the component registration program through the component registration function, and then obtain the application file through the get installation file function. Application installation, when the application needs to be uninstalled, call the function to delete the application configuration file name from the installed application file to prevent the application from being automatically reinstalled when the domain manager restarts, and then uninstall the application from the domain.
本发明提供的域管理器具有控制功能,能够对域里面的所有设备、服务进行控制,以及域管理器的安装、卸载以及注册的功能的具体实现过程,同时还提出日志记录功能,用于跟踪对各属性的访问、记录域管理器的事件日志。域管理器和域管理器接口的实现完全符合SCA(软件通信体系结构)规范和SRTF(软件无线电通信装备体系结构)标准。The domain manager provided by the invention has a control function and can control all devices and services in the domain, as well as the specific implementation process of the domain manager's installation, uninstallation and registration functions. At the same time, it also proposes a logging function for tracking Access to each attribute is recorded in the event log of the domain manager. The implementation of the domain manager and domain manager interface is fully compliant with the SCA (Software Communications Architecture) specification and the SRTF (Software Radio Communications Equipment Architecture) standard.
实施例2:Example 2:
在实施例1的基础上,所述域管理器配置文件属性的实现,是先定义一个检查函数和一个用于获取域管理器的配置文件路径的配置文件路径函数,然后调用所述检查函数检查域管理器是否正在关闭,如果正在关闭,检查函数将返回域管理器正在关闭的信息,并且终止后续操作;如果域管理器未关闭,则判断通过配置文件路径函数获取的域管理器的配置文件路径是否为空,然后分配与域管理器配置文件属性相适配的内存空间,判断域管理器配置文件属性是否已分配非空指针,如果否,则抛出异常,如果是,将域管理器配置文件属性复制到分配的内存空间中,并将分配的内存空间信息返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取域管理器配置文件属性,随后释放日志记录内存并返回域管理器配置文件属性的序列。On the basis of Embodiment 1, the implementation of the domain manager configuration file attribute is to first define a check function and a configuration file path function for obtaining the configuration file path of the domain manager, and then call the check function to check Whether the domain manager is shutting down. If it is shutting down, the check function will return the information that the domain manager is shutting down and terminate subsequent operations; if the domain manager is not shutting down, it will determine the configuration file of the domain manager obtained through the configuration file path function. Whether the path is empty, then allocate memory space that matches the domain manager configuration file attributes, determine whether the domain manager configuration file attributes have been allocated a non-null pointer, if not, throw an exception, if so, add the domain manager The configuration file attributes are copied to the allocated memory space, and the allocated memory space information is returned to the client. Finally, a log record is written to the domain manager's log, indicating that the domain manager configuration file attributes have been obtained, and then the log record is released. Memory and returns a sequence of domain manager profile properties.
实施例3:Example 3:
在实施例1的基础上,所述设备管理器属性的实现,是先获取域管理器中的设备管理器列表,然后使用互斥锁来保护并发访问设备管理器列表的操作,以防止多个线程同时修改设备管理器列表中的内容,再遍历设备管理器列表并计算总的设备管理器数量,然后调用分配函数分配内存空间,将该内存空间作为封装所有设备管理器的序列对象,根据设备管理器的数量设定序列对象的缓冲区大小,并将其作为所有设备管理器序列对象的缓冲区,接着遍历设备管理器列表,将每个设备管理器复制为一个CORBA对象,并将该CORBA对象添加到所述缓冲区中,然后调用函数解锁互斥锁的互斥变量,最后向域管理器的日志写入一条日志记录,将访问设备管理器属性的日志消息记录到域管理器的日志中,随后释放日志记录内存并返回序列对象,通过设备管理器属性对域内的所有设备管理器和服务进行控制,再通过设备管理器对域内的所有设备进行控制,以及通过一个节点里面的设备管理器,管理该节点内的所有设备和服务。On the basis of Embodiment 1, the device manager attribute is implemented by first obtaining the device manager list in the domain manager, and then using a mutex lock to protect concurrent access to the device manager list to prevent multiple The thread simultaneously modifies the content in the device manager list, then traverses the device manager list and calculates the total number of device managers, then calls the allocation function to allocate memory space, and uses the memory space as a sequence object that encapsulates all device managers. According to the device The number of managers sets the buffer size of the sequence object and uses it as the buffer for all device manager sequence objects. Then iterates through the device manager list, copies each device manager into a CORBA object, and copies the CORBA The object is added to said buffer, then a function is called to unlock the mutex's mutex variable, and finally a log record is written to the domain manager's log, and a log message for accessing the device manager's properties is logged to the domain manager's log. , then releases the logging memory and returns the sequence object, controls all device managers and services in the domain through the device manager attributes, controls all devices in the domain through the device manager, and controls the device management in a node The server manages all devices and services within the node.
实施例4:Example 4:
在实施例1的基础上,所述应用程序属性的实现,是先定义一个用于获取域管理器下所有应用程序对象的函数,调用该函数分配用于存储所有应用程序对象的内存,再通过线程加锁,防止在处理应用程序列表时其他并发操作干扰,然后将域管理器中应用程序的数量赋值给一个参数,将应用程序添加到缓冲区中,从应用程序中取出当前节点的应用程序对象,并复制该应用程序对象的引用到缓存中,复制完所有应用程序对象的引用后,使用线程解锁,并将应用程序对象返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取访问应用程序属性,应用程序属性包含域内的应用管理组件序列,通过应用程序属性得到域内应用程序的对象,从而对应用程序进行控制。On the basis of Embodiment 1, the implementation of the application attributes is to first define a function for obtaining all application objects under the domain manager, call the function to allocate memory for storing all application objects, and then use The thread locks to prevent interference from other concurrent operations when processing the application list, then assigns the number of applications in the domain manager to a parameter, adds the application to the buffer, and removes the application of the current node from the application. object and copy the reference of the application object to the cache. After copying the references of all application objects, use the thread to unlock and return the application object to the client. Finally, write a log record to the domain manager's log. , indicating that the application attribute has been accessed. The application attribute contains the sequence of application management components in the domain. The object of the application in the domain is obtained through the application attribute, thereby controlling the application.
实施例5:Example 5:
在实施例1的基础上,所述应用程序工厂属性的实现,是先定义一个用于获取域管理器下所有应用程序工厂对象的函数,调用该函数分配存储所有应用程序工厂对象的内存大小,接着使用线程加锁,防止在处理应用程序工厂列表时其他并发操作干扰,然后将域管理器中应用程序工厂的数量赋值给一个参数,然后为应用程序工厂对象分配内存并将应用程序工厂对象添加到缓冲区中,从应用程序工厂中取出当前节点的应用程序工厂对象,并复制该应用程序工厂对象的引用到缓存中,复制完所有应用程序工厂对象的引用后,使用线程解锁,并将应用程序工厂对象返回给客户端,最后向域管理器的日志写入一条日志记录,表示已获取访问应用程序工厂属性。On the basis of Embodiment 1, the implementation of the application factory attribute is to first define a function for obtaining all application factory objects under the domain manager, and call this function to allocate the memory size for storing all application factory objects. Then use thread locking to prevent interference from other concurrent operations when processing the application factory list, then assign the number of application factories in the domain manager to a parameter, then allocate memory for the application factory object and add the application factory object to the buffer, take out the application factory object of the current node from the application factory, and copy the reference of the application factory object to the cache. After copying the references of all application factory objects, use thread unlocking and apply The application factory object is returned to the client, and finally a log record is written to the domain manager's log indicating that access to the application factory properties has been obtained.
实施例6:Example 6:
在实施例1的基础上,所述文件管理器属性的实现,是先定义一个用于获取域管理器下的文件管理器对象的函数,调用该函数将域管理器的文件管理对象的引用复制到一个初始化过的参数中,若复制成功,则向域管理器的日志写入一条日志记录,表示已获取访问文件管理器属性,若复制失败,则抛出异常,最后,返回复制得到的所述参数,通过文件管理器属性对文件管理器进行控制。On the basis of Embodiment 1, the implementation of the file manager attribute is to first define a function for obtaining the file manager object under the domain manager, and call the function to copy the reference of the file management object of the domain manager. into an initialized parameter. If the copy is successful, a log record is written to the domain manager's log, indicating that access to the file manager attribute has been obtained. If the copy fails, an exception is thrown. Finally, all copied values are returned. The above parameters are used to control the file manager through the file manager properties.
实施例7:Example 7:
在实施例1的基础上,在所述域管理器的实现中,通过创建文件管理器的函数在域管理器实现的对象中创建文件管理器:分配一个文件管理器实现的对象,然后将该对象初始化并设置回调函数,再将该对象激活并转换成CORBA对象引用,最后返回文件管理器的CORBA对象引用;On the basis of Embodiment 1, in the implementation of the domain manager, the file manager is created in the object implemented by the domain manager through the function of creating the file manager: allocate an object implemented by the file manager, and then assign the object Initialize the object and set the callback function, then activate the object and convert it into a CORBA object reference, and finally return the CORBA object reference of the file manager;
然后通过域管理器初始化函数初始化域管理器,如图2所示,包括初始化从接口描述文件生成的代码和数据,例如CosNaming.idl和CF.idl生成的代码和数据。然后初始化各组件,如应用工厂的创建及数量、应用程序的创建及数量、设备管理器的创建、设备对象的创建及数量和服务的创建等;初始化域管理器配置描述文件(DMD),先创建一个文件系统来读取域管理器配置描述文件,再通过DMD解析函数解析该域管理器配置描述文件,并将解析结果传给一个参数,判断该参数是否为空,不为空就释放该参数,同时释放文件系统资源;再初始化各属性,给各属性赋初值,最后初始化各类端口,如域里面的设备管理器注册端口、安装端口、时间通道端口等;The domain manager is then initialized through the domain manager initialization function, as shown in Figure 2, including initializing the code and data generated from the interface description file, such as the code and data generated by CosNaming.idl and CF.idl. Then initialize each component, such as the creation and number of application factories, the creation and number of applications, the creation of device managers, the creation and number of device objects, and the creation of services; initialize the domain manager configuration description file (DMD), first Create a file system to read the domain manager configuration description file, then parse the domain manager configuration description file through the DMD parsing function, and pass the parsing result to a parameter to determine whether the parameter is empty. If it is not empty, release the parameters, and release file system resources at the same time; then initialize each attribute, assign an initial value to each attribute, and finally initialize various ports, such as the device manager registration port, installation port, time channel port, etc. in the domain;
通过激活函数激活域管理器,首先使用CF_DEBUG0宏记录一条日志,表明域管理器开始激活,然后调用激活函数激活域管理器的实现对象,并将实现对象返回的对象标识符存储到域管理器实现结构体的对应字段中,最后,释放所述对应字段的内存并将其设置为NULL;Activate the domain manager through the activation function. First, use the CF_DEBUG0 macro to record a log indicating that the domain manager has started to activate. Then call the activation function to activate the implementation object of the domain manager, and store the object identifier returned by the implementation object to the domain manager implementation. In the corresponding field of the structure, finally, release the memory of the corresponding field and set it to NULL;
获取域管理器的参数时,使用获取域管理器引用函数获取域管理器的对象引用,然后通过函数将传入的实现对象参数转换为域管理器的对象引用,检查对象引用是否为空,不为空的话就返回该对象引用;When obtaining the parameters of the domain manager, use the Get Domain Manager Reference function to obtain the object reference of the domain manager, and then use the function to convert the incoming implementation object parameters into the object reference of the domain manager. Check whether the object reference is empty. If not, If it is empty, the object reference is returned;
然后通过启动事件服务函数分别启动IDM和ODM的事件服务:通过函数初始化IDM和ODM的事件服务的对象引用和事件服务通道,再通过函数将IDM和ODM的事件服务对应的IDM_Channel服务和ODM_Channel服务分别添加到域管理器已注册服务的列表中,最后返回IDM_Channel服务和ODM_Channel服务的对象引用;Then start the event services of IDM and ODM respectively by starting the event service function: initialize the object reference and event service channel of the event service of IDM and ODM through the function, and then use the function to set the IDM_Channel service and ODM_Channel service corresponding to the event service of IDM and ODM respectively. Add to the list of registered services of the domain manager, and finally return the object references of the IDM_Channel service and ODM_Channel service;
所述通过创建命名服务函数为域管理器设置命名服务,是通过解析命名服务的初始引用,再创建一个新的命名上下文,并将域管理器对象绑定到所述命名上下文中;The step of setting the naming service for the domain manager by creating the naming service function is to parse the initial reference of the naming service, create a new naming context, and bind the domain manager object to the naming context;
所述通过组件注册函数启动组件注册程序,如图3所示,是先判断设备对象是否为空且是否有效,如果设备对象为空则抛出异常,如果设备对象失效,则通过卸载函数将已失效的设备对象卸载;在设备对象不为空且有效的情况下通过设备管理接口获取设备的标签、软件配置文件路径以及设备ID等信息,从文件系统中加载软件配置文件,再计算解析软件包描述文件(SPD)所需的内存空间,为软件包描述文件变量分配内存空间,然后通过SPD解析函数解析软件包描述文件中的数据并将结果存储在软件包描述文件解析变量中,释放软件包描述文件变量的内存,接着获取设备对象所在的设备管理器,通过加锁函数锁定互斥变量,防止在处理设备管理器列表时发生并发访问的问题,然后获取设备对象标识符和设备ID并存储在相应的变量中,通过函数检查设备对象接口是否实现了SCA(软件通信体系结构)规范和SRTF标准(软件无线电通信装备体系结构)中定义的设备对象接口,如果实现了,将存储设备标识符和设备ID的变量传到域管理器设备添加函数中,将设备对象添加到域管理器中并注册,然后通过解锁函数解锁互斥变量,打印当前已注册设备列表,如果设备注册失败,则根据不同的失败原因使用不同的异常类型对错误情况进行处理,并输出相应的日志记录,最后调用清除函数释放所使用的内存空间;The component registration program is started through the component registration function, as shown in Figure 3. It is first judged whether the device object is empty and valid. If the device object is empty, an exception will be thrown. If the device object is invalid, the uninstall function will be used to remove the device object. Uninstall the invalid device object; when the device object is not empty and valid, obtain the device label, software configuration file path, device ID and other information through the device management interface, load the software configuration file from the file system, and then calculate and parse the software package The memory space required by the description file (SPD), allocates memory space for the software package description file variables, then parses the data in the software package description file through the SPD parsing function and stores the results in the software package description file parsing variables, and releases the software package Describe the memory of the file variable, then obtain the device manager where the device object is located, lock the mutex variable through the locking function to prevent concurrent access problems when processing the device manager list, and then obtain the device object identifier and device ID and store them In the corresponding variable, the function checks whether the device object interface implements the device object interface defined in the SCA (Software Communications Architecture) specification and the SRTF standard (Software Radio Communications Equipment Architecture). If it is implemented, the device identifier will be stored and device ID variables are passed to the domain manager device addition function, the device object is added to the domain manager and registered, then the mutex variable is unlocked through the unlock function, and the current registered device list is printed. If the device registration fails, according to Different failure reasons use different exception types to handle the error situation, and output corresponding log records, and finally call the clear function to release the used memory space;
所述通过获取安装文件函数获取应用程序的文件进行应用程序安装,是通过获取安装文件函数获取应用程序的文件,检索用于存储安装应用程序的文件(即SAD文件)的名称;通过安装应用函数安装应用程序,是先获取安装域管理器的应用程序文件名,并调用分配函数为其分配存储空间并在存储空间中存储该SAD文件,接着检查该文件是否存在,如果存在,解析对应的应用程序文件和相关文件,循环遍历应用程序工厂列表,检查是否已在文件系统中安装了指定的应用程序,如果已经安装,则继续安装下一个应用程序,否则,为指定的应用程序安装对应的应用程序工厂,并为该应用程序工厂设置相关的属性值,如应用程序工厂名称和标识符、软件配置文件等,最后将该应用程序工厂添加到应用程序工厂列表中。Obtaining the file of the application through the Get Installation File function to install the application is to obtain the file of the application through the Get Installation File function and retrieve the name of the file (i.e., SAD file) used to store the installation application; through the Install Application function To install an application, first obtain the application file name for installing the domain manager, and call the allocation function to allocate storage space for it and store the SAD file in the storage space. Then check whether the file exists. If it exists, parse the corresponding application. Program files and related files, loop through the application factory list, check whether the specified application has been installed in the file system, if it has been installed, continue to install the next application, otherwise, install the corresponding application for the specified application program factory, and set relevant attribute values for the application factory, such as application factory name and identifier, software configuration file, etc., and finally add the application factory to the application factory list.
实施例8:Example 8:
在上述实施例的基础上,在所述域管理器的实现中,通过卸载应用函数从域管理器配置文件中卸载应用程序,首先查找指定标识符的应用程序,然后调用函数从已安装的应用程序文件中删除与所述指定标识符对应的应用程序配置文件名称,防止在域管理器重启时自动重新安装该应用程序,最后从域中卸载应用程序。Based on the above embodiment, in the implementation of the domain manager, the application is uninstalled from the domain manager configuration file through the uninstall application function. First, the application with the specified identifier is searched, and then the function is called to remove the installed application from the application. Remove the application profile name corresponding to the specified identifier from the program file, prevent the application from being automatically reinstalled when the domain manager restarts, and finally uninstall the application from the domain.
实施例9:Example 9:
本发明还提供了一种用于上述实现方法实施例的基于软件通信体系结构的域管理器模型的实现终端,在域管理器中设有域管理器接口,所述域管理器接口中包括与每个组件实例对应的组件标识符接口和组件接口,所述组件标识符接口中设有存储组件实例唯一性标识符的存储空间,在所述组件接口中包括并行设置的域管理器配置文件属性实现模块、设备管理器属性实现模块、应用程序属性实现模块、应用程序工厂属性实现模块、文件管理器属性实现模块,以及日志模块。The present invention also provides an implementation terminal for the domain manager model based on the software communication architecture of the above implementation method embodiment. The domain manager is provided with a domain manager interface, and the domain manager interface includes: The component identifier interface and the component interface corresponding to each component instance. The component identifier interface is provided with a storage space for storing the unique identifier of the component instance. The component interface includes domain manager configuration file attributes set in parallel. Implementation module, device manager property implementation module, application property implementation module, application factory property implementation module, file manager property implementation module, and logging module.
实施例10:Example 10:
在实施例9的基础上,所述域管理器中包括顺序连接的:Based on Embodiment 9, the domain manager includes sequential connections:
文件管理器创建模块:在域管理器实现的对象中创建文件管理器,返回文件管理器的CORBA对象引用;File manager creation module: creates a file manager in the object implemented by the domain manager and returns the CORBA object reference of the file manager;
域管理器初始化模块:初始化域管理器,包括初始化从接口描述文件生成的代码和数据,初始化各组件和域管理器配置描述文件,初始化各属性,给各属性赋初值,以及初始化各类端口;Domain manager initialization module: Initialize the domain manager, including initializing the code and data generated from the interface description file, initializing each component and domain manager configuration description file, initializing each attribute, assigning initial values to each attribute, and initializing various ports. ;
域管理器激活模块:通过激活函数激活域管理器,将实现对象返回的对象标识符存储到域管理器实现结构体的对应字段中;Domain manager activation module: Activate the domain manager through the activation function, and store the object identifier returned by the implementation object into the corresponding field of the domain manager implementation structure;
域管理器参数获取模块:使用获取域管理器引用函数获取域管理器的对象引用,然后通过函数将传入的实现对象参数转换为域管理器的对象引用,最后返回对象引用;Domain manager parameter acquisition module: Use the Get Domain Manager Reference function to obtain the object reference of the domain manager, then convert the incoming implementation object parameters into the object reference of the domain manager through the function, and finally return the object reference;
事件服务模块:启动IDM和ODM的事件服务,将IDM和ODM的事件服务添加到域管理器已注册服务的列表中,并返回IDM和ODM的事件服务的对象引用;Event service module: Start the event service of IDM and ODM, add the event service of IDM and ODM to the list of registered services of the domain manager, and return the object reference of the event service of IDM and ODM;
域管理器命名模块:为域管理器设置命名服务,将域管理器对象绑定到命名上下文中;Domain manager naming module: Sets the naming service for the domain manager and binds the domain manager object to the naming context;
组件注册模块:启动组件注册程序,将设备对象添加到域管理器中并注册;Component registration module: Start the component registration program, add the device object to the domain manager and register it;
应用程序安装模块:获取应用程序的文件进行应用程序安装,将应用程序对应的应用程序工厂添加到应用程序工厂列表中;Application installation module: obtain the application files for application installation, and add the application factory corresponding to the application to the application factory list;
应用程序卸载模块:从已安装的应用程序文件中删除应用程序配置文件名称,再从域中卸载应用程序。Application Uninstall Module: Removes the application profile name from installed application files before uninstalling the application from the domain.
实施例11:Example 11:
在上述实施例的基础上,本发明还提供了一种终端,包括存储器、处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该处理器在执行所述计算机程序时执行上述实施例中的基于软件通信体系结构的域管理器模型的实现方法。Based on the above embodiments, the present invention also provides a terminal, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor. The processor executes the computer program. The program executes the implementation method of the domain manager model based on the software communication architecture in the above embodiment.
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做相关的变形和改进,这些都属于本申请的保护范围。The above-described embodiments only express specific implementation modes of the present application, and their descriptions are relatively specific and detailed, but should not be construed as limiting the scope of protection of the present application. It should be noted that, for those of ordinary skill in the art, relevant modifications and improvements can be made without departing from the concept of the technical solution of the present application, and these all belong to the protection scope of the present application.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310861042.3A CN116614388B (en) | 2023-07-14 | 2023-07-14 | Method and terminal for realizing domain manager model based on software communication system structure |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310861042.3A CN116614388B (en) | 2023-07-14 | 2023-07-14 | Method and terminal for realizing domain manager model based on software communication system structure |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116614388A CN116614388A (en) | 2023-08-18 |
| CN116614388B true CN116614388B (en) | 2023-09-22 |
Family
ID=87680338
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310861042.3A Active CN116614388B (en) | 2023-07-14 | 2023-07-14 | Method and terminal for realizing domain manager model based on software communication system structure |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116614388B (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117579458B (en) * | 2024-01-17 | 2024-04-23 | 成都谐盈科技有限公司 | Data transmission method based on software communication system structure |
| CN117857291A (en) * | 2024-03-07 | 2024-04-09 | 成都谐盈科技有限公司 | System of sensor open architecture fused with SCA standard |
| CN118445000B (en) * | 2024-07-08 | 2024-11-05 | 成都谐盈科技有限公司 | Cross-operating system file access system and method |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104090810A (en) * | 2014-07-29 | 2014-10-08 | 中国航空无线电电子研究所 | Core framework integration method based on software communication system architecture |
| CN108847852A (en) * | 2018-06-08 | 2018-11-20 | 中国人民解放军国防科技大学 | SCA-based domain configuration file parser and use method thereof |
| CN109254757A (en) * | 2018-07-17 | 2019-01-22 | 中国航空无线电电子研究所 | The software communications architecture of double-core frame |
| CN109324912A (en) * | 2018-09-21 | 2019-02-12 | 中国航空无线电电子研究所 | The communication means of the application management class software of software-oriented communication architecture |
| CN111447079A (en) * | 2020-02-28 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | High Availability Extension System and Method Based on SCA Framework |
| CN113312245A (en) * | 2021-05-28 | 2021-08-27 | 成都谐盈科技有限公司 | Integrated waveform management terminal and management method |
| CN116248629A (en) * | 2023-03-13 | 2023-06-09 | 中国人民解放军国防科技大学 | Registration optimization method for SCA equipment component |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100903999B1 (en) * | 2007-11-30 | 2009-06-22 | 한국전자통신연구원 | System and method for operating a domain profile using a database in core framework for SD terminal |
-
2023
- 2023-07-14 CN CN202310861042.3A patent/CN116614388B/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104090810A (en) * | 2014-07-29 | 2014-10-08 | 中国航空无线电电子研究所 | Core framework integration method based on software communication system architecture |
| CN108847852A (en) * | 2018-06-08 | 2018-11-20 | 中国人民解放军国防科技大学 | SCA-based domain configuration file parser and use method thereof |
| CN109254757A (en) * | 2018-07-17 | 2019-01-22 | 中国航空无线电电子研究所 | The software communications architecture of double-core frame |
| CN109324912A (en) * | 2018-09-21 | 2019-02-12 | 中国航空无线电电子研究所 | The communication means of the application management class software of software-oriented communication architecture |
| CN111447079A (en) * | 2020-02-28 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | High Availability Extension System and Method Based on SCA Framework |
| CN113312245A (en) * | 2021-05-28 | 2021-08-27 | 成都谐盈科技有限公司 | Integrated waveform management terminal and management method |
| CN116248629A (en) * | 2023-03-13 | 2023-06-09 | 中国人民解放军国防科技大学 | Registration optimization method for SCA equipment component |
Non-Patent Citations (2)
| Title |
|---|
| 基于SCA架构的信息处理模块设计;吕浩;中国新通信(第11期);168-170 * |
| 基于SCA的多协议终端软件体系架构的研究与设计;裴文钰;《中国优秀硕士学位论文全文数据库》;I136-1210 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116614388A (en) | 2023-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN116614388B (en) | Method and terminal for realizing domain manager model based on software communication system structure | |
| US7567985B1 (en) | Mechanism for implementing a sparse file system for an operating system partition | |
| US6393474B1 (en) | Dynamic policy management apparatus and method using active network devices | |
| US7367020B2 (en) | Executable radio software system and method | |
| JP4297790B2 (en) | Persistent key-value repository with pluggable architecture abstracting physical storage | |
| US7330967B1 (en) | System and method for injecting drivers and setup information into pre-created images for image-based provisioning | |
| US6336171B1 (en) | Resource protection in a cluster environment | |
| RU2429529C2 (en) | Dynamic configuration, allocation and deployment of computer systems | |
| US20090328030A1 (en) | Installing a management agent with a virtual machine | |
| US6269442B1 (en) | Apparatus and method for on-line replacement of a running program code and data using checkpoints | |
| US20040088397A1 (en) | System and method for management of software applications | |
| KR100903999B1 (en) | System and method for operating a domain profile using a database in core framework for SD terminal | |
| JP2004272912A (en) | Architecture for distributed computing system and automated design, development and management of distributed application | |
| CN105094922A (en) | Application installation-free operation control method and device | |
| CN119620958B (en) | A model file loading method, system, computer device and storage medium | |
| CN116028163A (en) | Method, device and storage medium for scheduling dynamic link library of container group | |
| US9110758B2 (en) | Cross-platform software framework for embedded systems on data storage device | |
| US8151360B1 (en) | System and method for administering security in a logical namespace of a storage system environment | |
| US6711737B1 (en) | Data processing system, data processing method, and program-providing medium therewith | |
| US20140280767A1 (en) | Web services provided from software framework | |
| CN120653366A (en) | Method, system, equipment and product for deploying containerized EPICS system | |
| CN119808113A (en) | Container data encryption method and related equipment | |
| US20250284476A1 (en) | Disk Image Dump for Configuring Bare Metal Servers | |
| CN117560373A (en) | A multi-tenant cloud IDE management system based on cloud native | |
| CN109933375B (en) | Remote starting method based on VxWorks653 and NFS over FC |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
| PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Implementation method and terminal of domain manager model based on software communication architecture Granted publication date: 20230922 Pledgee: Agricultural Bank of China Limited by Share Ltd. Chengdu high tech Industrial Development Zone Branch Pledgor: Chengdu Xieying Technology Co.,Ltd. Registration number: Y2024510000088 |
|
| PC01 | Cancellation of the registration of the contract for pledge of patent right | ||
| PC01 | Cancellation of the registration of the contract for pledge of patent right |
Granted publication date: 20230922 Pledgee: Agricultural Bank of China Limited by Share Ltd. Chengdu high tech Industrial Development Zone Branch Pledgor: Chengdu Xieying Technology Co.,Ltd. Registration number: Y2024510000088 |