CN112583927A - 基于机载嵌入式实时操作系统的服务管理系统 - Google Patents
基于机载嵌入式实时操作系统的服务管理系统 Download PDFInfo
- Publication number
- CN112583927A CN112583927A CN202011540018.2A CN202011540018A CN112583927A CN 112583927 A CN112583927 A CN 112583927A CN 202011540018 A CN202011540018 A CN 202011540018A CN 112583927 A CN112583927 A CN 112583927A
- Authority
- CN
- China
- Prior art keywords
- service
- node
- request
- calling
- data
- 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.)
- Granted
Links
Images
Classifications
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开实施例公开了一种基于机载嵌入式实时操作系统的服务管理系统。该系统包括:至少一个服务提供节点、至少一个服务调用节点、服务管理节点和用于通信的分布式实时通信中间件;服务调用节点向服务管理节点发起服务发现请求;服务管理节点从服务信息列表中查找服务发现请求对应的目标服务的服务标识,并将其反馈至服务调用节点;服务调用节点向服务标识对应的服务提供节点发起服务调用请求;服务提供节点基于服务调用请求执行目标服务,并将生成的服务调用响应发送至服务调用节点。实现了在机载嵌入式RTOS中引入服务管理系统,以分布式架构来部署、管理和执行RTOS中的机载服务,提高机载服务的管理效率和运行效率。
Description
技术领域
本公开涉及航空设备设计技术领域,尤其涉及一种基于机载嵌入式实时操作系统的服务管理系统。
背景技术
在航空航电技术领域中,分布式综合模块化航电(DIMA)作为先进的开放式航电系统架构越来越受到重视。当前基于DIMA架构的运行平台例如有机载嵌入式实时操作系统(RTOS),该机载嵌入式RTOS中部署有实现各种航电功能的服务。
随着航电系统的功能日益增多,机载嵌入式RTOS中部署的服务也越来越多。但是,因嵌入式RTOS中部署的服务是一体式架构,这些服务之间就具有很高的耦合性,不利于后期维护。并且,日益增多的服务得不到有效管理,会造成基于DIMA架构的机载嵌入式RTOS的服务运行效率低下,进而引起航电系统的操作反映迟缓或失效。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种基于机载嵌入式实时操作系统的服务管理系统。该基于机载嵌入式实时操作系统的服务管理系统部署于VxWorks操作系统,包括:
至少一个服务提供节点、至少一个服务调用节点、服务管理节点和分布式实时通信中间件;
所述服务调用节点,用于发起服务发现请求,并在接收到所述服务管理节点反馈的服务标识后,向所述服务标识对应的服务提供节点发起服务调用请求,以及接收所述服务标识对应的服务提供节点反馈的服务调度响应;
所述服务管理节点,用于接收所述服务调用节点发送的服务发现请求,并从服务信息列表中查找所述服务发现请求对应的目标服务的服务标识;所述服务信息列表中记录机载嵌入式实时操作系统中部署的各服务的服务描述信息;
所述服务提供节点,用于注册并发布服务;以及接收所述服务调用节点发送的所述服务调用请求,并基于所述服务调用请求,执行所述目标服务,生成服务调度响应,且将所述服务调用响应发送至所述服务调用节点;
所述分布式实时通信中间件,用于构建主题通道和共享数据空间,以供所述服务调用节点、所述服务提供节点和所述服务管理节点之间通信,且所述分布式实时通信中间件基于数据分发服务DDS实现。
在一些实施例中,所述服务调用节点还用于:
在发起服务发现请求之后,基于所述服务发现请求,从本地节点查找所述目标服务;
若所述服务调用节点存在所述目标服务,则基于所述目标服务对应的服务标识发起服务调用请求;
基于所述服务调用请求执行所述目标服务,获得服务调用响应;
若所述服务调用节点不存在所述目标服务,则将所述服务发现请求发送至所述服务管理节点。
在一些实施例中,所述服务提供节点还用于:
获取待发布服务;
将所述待发布服务在本地节点进行服务注册及端口分配,且生成所述待发布服务的服务标识;
向所述服务管理节点发起远程注册请求,并接收所述服务管理节点发送的远程注册响应;
相应地,所述服务管理节点还用于:
基于所述远程注册请求,将所述待发布服务的服务描述信息和所述服务标识写入所述服务信息列表,并向所述服务提供节点发送所述远程注册响应。
在一些实施例中,所述服务提供节点还用于:
若所述远程注册响应为远程注册成功,且所述待发布服务的软件依赖和硬件依赖均满足时,激活所述待发布服务,完成服务发布。
在一些实施例中,所述服务提供节点基于所述服务调用请求,执行所述目标服务,生成服务调度响应包括:
将所述服务调用请求缓存至请求队列;
在获得CPU资源后,遍历所述请求队列,以执行所述服务调用请求对应的目标服务,生成所述服务调度响应。
在一些实施例中,所述服务管理节点从服务信息列表中查找所述服务发现请求对应的目标服务的服务标识包括:
基于所述服务发现请求中的服务描述信息,从所述服务信息列表中查找所述目标服务;
若所述目标服务存在于多个所述服务提供节点中,则基于所述目标服务所在的每个所述服务提供节点的节点负载信息,确定所述目标服务的服务标识,以均衡调度各所述服务提供节点。
在一些实施例中,所述服务调用节点还用于:
注册为所述分布式实时通信中间件中请求发布通道的数据发布者,所述请求发布通道为预先注册在所述分布式实时通信中间件中的主题通道;
相应地,所述服务调用节点向所述服务标识对应的服务提供节点发起服务调用请求包括:
基于所述服务标识生成服务请求序列,并通过所述请求发布通道的数据发布者,将所述服务请求序列发布到所述分布式实时通信中间件的共享数据空间。
在一些实施例中,所述服务提供节点还用于:
注册为所述请求发布通道的数据订阅者;
在基于所述服务调用请求,执行所述目标服务,生成服务调度响应之前,通过所述请求发布通道的数据订阅者,监听到所述共享数据空间中存在有所述请求发布通道的数据时,检查所述数据的关键字段,并利用内容主题过滤机制,接收属于所述服务提供节点的服务调用请求。
在一些实施例中,所述服务提供节点还用于:
注册为所述分布式实时通信中间件中反馈接收通道的数据发布者,所述反馈接收通道为预先注册在所述分布式实时通信中间件中的主题通道;
相应地,所述服务提供节点将生成的服务调用响应发送至所述服务调用节点包括:
将所述服务调用响应转换为服务调用响应序列,并通过所述反馈接收通道的数据发布者,将所述服务调用响应序列发布到所述分布式实时通信中间件的共享数据空间。
在一些实施例中,所述服务调用节点还用于:
注册为所述反馈接收通道的数据订阅者;
相应地,所述服务调用节点接收所述服务标识对应的服务提供节点反馈的服务调度响应包括:
通过所述反馈接收通道的数据订阅者,监听到所述共享数据空间中存在有所述反馈接收通道的数据时,检查所述数据的关键字段,并利用所述内容主题过滤机制,接收属于所述服务调用节点的服务调用响应。
本公开实施例提供的技术方案,通过在VxWorks操作系统上部署基于机载嵌入式实时操作系统的服务管理系统,且该系统包括至少一个服务提供节点、至少一个服务调用节点、服务管理节点和分布式实时通信中间件;其中,服务调用节点,用于发起服务发现请求,并在接收到服务管理节点反馈的服务标识后,向服务标识对应的服务提供节点发起服务调用请求,以及接收服务标识对应的服务提供节点反馈的服务调度响应;其中,服务管理节点,用于接收服务调用节点发送的服务发现请求,并从服务信息列表中查找服务发现请求对应的目标服务的服务标识;服务信息列表中记录机载嵌入式实时操作系统中部署的各服务的服务描述信息;其中,服务提供节点,用于注册并发布服务;以及接收服务调用节点发送的服务调用请求,并基于服务调用请求,执行目标服务,生成服务调度响应,且将服务调用响应发送至服务调用节点;其中,分布式实时通信中间件,用于构建主题通道和共享数据空间,以供服务调用节点、服务提供节点和服务管理节点之间通信,且分布式实时通信中间件基于数据分发服务DDS实现。实现了在机载嵌入式实时操作系统中引入服务管理系统,且由服务调用节点对服务进行调用,由服务管理节点统一管理所有服务的信息及进行服务发现,由服务提供节点发布并执行各服务,能够以分布式架构来部署机载嵌入式RTOS中的机载服务,并且高效地管理和执行各机载服务,提高机载服务的运行效率,进而提高航电系统的响应速度和准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种基于机载嵌入式实时操作系统的服务管理系统的结构示意图;
图2是本公开实施例提供的一种分布式实时通信中间件的通信过程示意图;
图3是本公开实施例提供的一种基于机载嵌入式实时操作系统的服务管理方法的流程图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步的详细描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1是本公开实施例提供的一种基于机载嵌入式实时操作系统的服务管理系统的结构示意图。该基于机载嵌入式实时操作系统的服务管理系统主要适用于对机载嵌入式实时操作系统RTOS中的机载服务进行管理的情况,例如适用于高铁、航空等搭载机载嵌入式RTOS的机载服务的管理,本公开实施例中以航空航电系统为例进行说明。本公开实施例提供的基于机载嵌入式实时操作系统的服务管理系统可以由软件和/或硬件的方式实现,该系统可以集成在基于分布式综合模电系统DIMA架构的航电系统中,例如部署于VxWorks操作系统中。
如图1所示,该基于机载嵌入式实时操作系统的服务管理系统100包括:至少一个服务提供节点101、至少一个服务调用节点104、服务管理节点103和分布式实时通信中间件104。服务提供节点101、服务调用节点104和服务管理节点103均通过分布式实时通信中间件104进行数据通信。在一些实施例中,多个服务提供节点101分布式部署于机载嵌入式RTOS中,其分布式部署至少与基于分布式综合航电DIMA架构的硬件部署的一部分重合。在一些实施例中,多个服务调用节点104分布式部署于机载嵌入式RTOS中,其分布式部署至少与基于DIMA架构的硬件部署的一部分重合。
服务调用节点104,用于发起服务发现请求,并在接收到服务管理节点103反馈的服务标识后,向服务标识对应的服务提供节点101发起服务调用请求,以及接收服务标识对应的服务提供节点101反馈的服务调度响应。具体地,机载嵌入式RTOS中的机载服务分布式部署于不同的服务提供节点101中。服务调用节点104在调用其需要调用的机载服务(即目标服务)之前,需要先根据目标服务的服务描述信息发起服务发现请求,以请求目标服务的服务标识license,确定出该目标服务所在的服务提供节点101,才能对该服务提供节点101中的目标服务发起服务调用。当服务调用节点104接收到服务管理节点发送的服务标识后,服务调用节点104根据服务标识生成服务调用请求,并通过分布式实时通信中间件102向确定出的服务提供节点101发送该服务调用请求,以请求该服务提供节点101执行目标服务并生成服务执行结果(即服务调用响应)。最后,服务调用节点104便可通过分布式实时通信中间件102接收到该服务提供节点101反馈的服务调用响应。上述服务描述信息是用于介绍机载服务的相关信息,如服务名称、服务功能简介、服务所在的服务提供节点等。服务标识license是一个机载服务的全局唯一性的标识,其能够唯一定位一个机载服务。
在一些实施例中,服务调用节点104还用于:在发起服务发现请求之后,基于服务发现请求,从本地节点查找目标服务;若服务调用节点104存在目标服务,则基于目标服务对应的服务标识发起服务调用请求;基于服务调用请求执行目标服务,获得服务调用响应;若服务调用节点104不存在目标服务,则将服务发现请求发送至服务管理节点103。具体地,鉴于目标服务可能部署在发起请求的服务调用节点104,且本地调用能够节省远程服务发现和远程服务调用的流程,进而提高服务执行效率,本公开实施例优先在本地节点进行本地服务发现。具体实施时,服务调用节点104根据服务发现请求中的服务描述信息,从本地节点中维护的各机载服务的服务描述信息中进行信息匹配,以查找目标服务。如果服务调用节点104在本地节点查询到服务描述信息匹配的目标服务,那么其便对该目标服务进行服务调用。例如,服务调用节点104调用目标服务的本地调用接口,以向本地节点发起该目标服务的服务调用请求。之后,服务调用节点在本地节点执行目标服务,并获得服务调用响应。如果服务调用节点104在本地节点中未匹配到服务描述信息,说明本地节点中未部署目标服务。此时,服务调用节点104通过分布式实时通信中间件102向服务管理节点103发送服务发现请求,以请求远程服务发现。应当理解的是,如果目标服务在服务调用节点104中,那么服务调用节点104和服务提供节点101便为同一节点,此时本地节点执行目标服务即可。如果目标服务不在服务调用节点104,那么服务调用节点104和服务提供节点101便为不同的节点。
在一些实施例中,服务调用节点104还用于:注册为分布式实时通信中间件102中请求发布通道的数据发布者,其中,请求发布通道为预先注册在分布式实时通信中间件中的主题通道;相应地,服务调用节点104向服务标识对应的服务提供节点101发起服务调用请求包括:基于服务标识生成服务请求序列,并通过请求发布通道的数据发布者,将服务请求序列发布到分布式实时通信中间件101的共享数据空间。具体地,服务调用节点104要通过分布式实时通信中间件102向服务提供节点101发起目标服务的服务调用请求,那么服务调用节点104应当预先注册为请求发布通道的数据发布者,以便向该请求发布通道中发布数据。之后,服务调用节点104调用目标服务的远程调用接口,将服务调用请求进行序列化,生成服务请求序列。然后,调用目标服务的远程过程调用RPC发布接口,通过请求发布通道的数据发布者,将该服务请求序列发布到分布式实时通信中间件102的共享数据空间。
在一些实施例中,服务调用节点104还用于:注册为反馈接收通道的数据订阅者。相应地,服务调用节点104接收服务标识对应的服务提供节点反馈的服务调度响应包括:通过反馈接收通道的数据订阅者,监听到共享数据空间中存在有反馈接收通道的数据时,检查数据的关键字段,并利用内容主题过滤机制,接收属于服务调用节点104的服务调用响应。其中,反馈接收通道为预先注册在分布式实时通信中间件中的主题通道。具体地,服务调用节点104要从分布式实时通信中间件102中获取其相关的反馈数据,便需要预先注册为反馈接收通道的数据订阅者。然后,服务调用节点104通过反馈接收通道的数据订阅者,对共享数据空间中的数据进行监听。如果监听到反馈接收通道的数据,那么就解析该数据,并获取其关键字段。之后,利用内容主题过滤机制对关键字段进行匹配,筛选出包含目标服务的服务标识的数据并接收。最后,将接收到的数据反序列化,便可获得服务调用响应。
需要说明的是,目标服务可根据实际需求对服务调用响应进行同步响应或异步响应。上述请求发布通道与上述服务发现请求发布通道可以是同一个主题通道,也可以是两个独立的主题通道。上述反馈接收通道与上述服务发现响应反馈通道可以是同一个主题通道,也可以是两个独立的主题通道。
服务管理节点103,用于接收服务调用节点104发送的服务发现请求,并从服务信息列表中查找服务发现请求对应的目标服务的服务标识,且将服务标识反馈至服务调用节点104。其中,服务信息列表中记录机载嵌入式实时操作系统中部署的各服务的服务描述信息。具体地,为了实现RTOS中所有机载服务的统一管理,服务管理节点103中存储并维护RTOS中所有机载服务的服务描述信息。例如,服务管理节点103创建服务信息列表,并将服务提供节点101发送的机载服务的服务描述信息存储至该服务信息列表中。所以,服务管理节点103可以接收服务调用节点104发起的服务发现请求,并将服务发现请求中的服务描述信息与其内维护的服务信息列表中的各服务描述信息匹配。当匹配成功时,从服务信息列表中确定匹配的服务描述信息对应的服务标识和服务提供节点的节点信息。之后,服务管理节点103将确定出的服务标识及其所在的服务提供节点的节点信息作为服务发现响应,并将该服务发现响应反馈至服务调用节点104。
在一些实施例中,服务管理节点103从服务信息列表中查找服务发现请求对应的目标服务的服务标识包括:基于服务发现请求中的服务描述信息,从服务信息列表中查找目标服务;若目标服务存在于多个服务提供节点101中,则基于目标服务所在的每个服务提供节点101的节点负载信息,确定目标服务的服务标识,以均衡调度各服务提供节点101。具体地,为了提高服务的运行效率,可以将同一个机载服务部署在多个服务提供节点101中。所以,服务管理节点103在进行服务发现时,可能确定出多个服务提供节点101中均包含目标服务。为了均衡RTOS系统的运行效率和运算资源,服务管理节点103中预先部署有负载均衡策略,以均衡调度各服务提供节点。具体实施时,服务管理节点103对各机载服务及其所在的服务提供节点进行监控,并通过分布式实时通信中间件102来实时收集各个服务提供节点101的负载信息。当确定目标服务部署于多个服务提供节点101时,根据这些确定出的服务提供节点101的负载信息以及负载均衡策略,确定出一个最合适的服务提供节点101及其内部署的目标服务的服务标识。
在一些实施例中,服务管理节点103将服务标识反馈至服务调用节点104可实现为:预先在分布式实时通信中间件102中注册相应主题通道,如服务发现请求发布通道和服务发现响应反馈通道。并且,服务管理节点103和服务调用节点104分别注册为服务发现请求发布通道的数据订阅者和数据发布者,分别用于发布和接收服务发现请求。同时,服务管理节点103和服务调用节点104分别注册为服务发现响应反馈通道的数据发布者和数据订阅者,分别用于发布和接收服务发现响应(即目标服务的服务标识)。
在一些实施例中,服务管理节点103还用于:基于远程注册请求,将待发布服务的服务描述信息和服务标识写入服务信息列表,并向服务提供节点发送远程注册响应。其中,待发布服务是指需要发布并部署于RTOS系统中的机载服务。具体地,服务管理节点103接收到服务提供节点101发送的远程注册请求后,便将待发布服务的服务描述信息和服务标识写入其维护的服务信息列表,并向服务提供节点101发送远程注册是否成功的远程注册响应。
服务提供节点101,用于注册并发布服务;以及接收服务调用节点104发送的服务调用请求,并基于服务调用请求,执行目标服务,生成服务调度响应,且将服务调用响应发送至服务调用节点104。具体地,每个服务提供节点101均可用于向RTOS系统中发布机载服务,并维护和执行(运行)其发布的机载服务。具体实施时,服务提供节点101接收到服务调用请求后,便执行目标服务,生成服务调用响应。然后,再通过分布式实时通信中间件102将该服务调用响应发送至服务调用节点104。
在一些实施例中,服务提供节点101还用于:获取待发布服务;将待发布服务在本地节点进行服务注册及端口分配,且生成待发布服务的服务标识;向服务管理节点发起远程注册请求,并接收服务管理节点发送的远程注册响应。具体地,服务提供节点101需要在服务调用流程之前,将机载服务发布至RTOS中。并且,为了实现RTOS系统中所有机载服务的统一管理,服务提供节点101在发布机载服务的过程中,需要将其发布的机载服务的服务描述信息和服务标识license通过分布式实时通信中间件102注册至服务管理节点103。具体实施时,服务提供节点101需要预先创建并封装需要发布的机载服务(即待发布服务)。待发布服务的封装属性包括服务描述信息、服务地址(服务端口号、服务标识)和服务状态,外部节点可访问机载服务的上述属性信息。待发布服务的封装接口至少包括本地调用接口、远程调用接口和服务暴露接口。本地调用接口和远程调用接口都需要按照标准完成请求的反序列化和反馈响应的序列化。本地调用接口不需要调用分布式实时通信中间件102(也称为航空电子服务总线ASB)发布接口,只需要将反馈序列写入预先给定的Buffer中即可。远程调用接口需要调用ASB数据发布者,以将响应发布在共享数据空间内。服务暴露接口是实现服务部署的关键方法,其中包括本地注册、远程注册、接口注册和服务创建等步骤。获取待发布服务后,服务提供节点101便调用待发布服务的服务暴露接口中的本地注册功能,将待发布服务在本地节点进行服务注册,并为其分配端口号,且为其生成服务标识license。然后,服务提供节点101调用待发布服务的服务暴露接口中的远程注册功能,向服务管理节点103发起远程注册请求,该远程注册请求中至少包含待发布服务的服务描述信息和服务标识。待服务管理节点103执行服务远程注册后,便可返回远程注册是否成功的远程注册响应。
在一些实施例中,服务提供节点101还用于:若远程注册响应为远程注册成功,且待发布服务的软件依赖和硬件依赖均满足时,激活待发布服务,完成服务发布。具体地,如果服务提供节点101接收到的远程注册响应为远程注册成功,那么其检测待发布服务的服务依赖条件(含软件依赖和硬件依赖)是否完备。若服务依赖条件未完备,则不激活待发布服务。若服务依赖条件完备,则激活待发布服务,完成服务发布。
在一些实施例中,服务提供节点基于服务调用请求,执行目标服务,生成服务调度响应包括:将服务调用请求缓存至请求队列;在获得CPU资源后,遍历请求队列,以执行服务调用请求对应的目标服务,生成服务调度响应。具体地,RTOS系统以严格分区的方式共享机载服务之间的可用计算时间和内存,而RTOS系统中存在多个服务提供节点101,每个服务提供节点中部署有多个机载服务,可能存在CPU资源被过多占用,导致某些服务提供节点101中的某些机载服务暂时无法获取CPU资源的情况。这种情况下,服务提供节点101将接收到的服务调用请求缓存至请求队列中。当目标服务获取CPU资源后,便循环查询其请求队列。若请求队列为空,则释放CPU资源。若请求队列不为空,则将其中的服务调用请求逐个取出,并执行该服务调用请求对应的目标服务,获得服务调用响应。
在一些实施例中,服务提供节点101还用于:注册为请求发布通道的数据订阅者;通过请求发布通道的数据订阅者,监听到共享数据空间中存在有请求发布通道的数据时,检查数据的关键字段,并利用内容主题过滤机制,接收属于服务提供节点101的服务调用请求。具体地,服务提供节点101要从分布式实时通信中间件中获取其相关的数据,便需要预先注册为上述请求发布通道的数据订阅者。然后,服务提供节点101调用目标服务的RPC请求监听接口,通过请求发布通道的数据订阅者,对共享数据空间中的数据进行监听。如果监听到请求发布通道的数据,那么就解析该数据,并获取其关键字段。然后,利用DDS中的内容主题过滤(CTF)机制和目标服务的服务标识对关键字段进行匹配,筛选出包含目标服务的服务标识的数据并接收。最后,将接收到的数据反序列化,便可获得服务调用请求。
在一些实施例中,服务提供节点101还用于:注册为分布式实时通信中间件102中反馈接收通道的数据发布者。相应地,服务提供节点101将生成的服务调用响应发送至服务调用节点104包括:将服务调用响应转换为服务调用响应序列,并通过反馈接收通道的数据发布者,将服务调用响应序列发布到分布式实时通信中间件102的共享数据空间。具体地,服务提供节点101要通过分布式实时通信中间件102将服务调度响应发送至服务调用节点104,故其预先注册为分布式实时通信中间件102中反馈接收通道的数据发布者。之后,服务提供节点101将服务调用响应进行序列化,生成服务调用响应序列,并通过反馈接收通道的数据发布者,将该服务调用响应序列发布到分布式实时通信中间件102的共享数据空间。
分布式实时通信中间件102,用于构建主题通道和共享数据空间,以供服务调用节点104、服务提供节点101和服务管理节点103之间通信,且分布式实时通信中间102件基于数据分发服务(Data Distribute Service,DDS)实现。具体地,分布式实时通信中间件102是基于数据分发服务DDS开发的面向服务的通信中间件,用于提供机载平台内和平台间的数据传输功能,同时提供服务接口。机载服务需要注册的ASB接口包括:远程过程调用RPC发布接口、RPC请求监听接口、状态监控接口和服务暴露接口(暴露机载服务的各种功能接口,如注册接口、服务创建接口)等。在ASB中,所有的实体处于同一域内,共享订阅者(Subscribe)和发布者(Publisher),由主题(Topic)形成特定功能的数据通道(即主题通道),由不同服务的数据订阅者和数据发布者从中订阅和发布服务数据。ASB中所有的数据样本(Sample)构成共享数据空间。基于此,在ASB中扩展特定的功能,需要注册对应的主题通道,并与指定数据结构进行绑定。并且,机载服务需要接收或者发送该特定主题的内容,需要在服务内创建该主题的数据订阅者和数据发布者,从注册的主题通道中订阅和发布数据,即服务的收发端口注册。
参见图2,以服务提供节点101和服务调用节点104之间通过分布式实时通信中间件102来传输服务调用请求和服务调用响应为例,说明分布式实时通信中间件102的实现过程。首先,在分布式实时通信中间件102中注册请求发布通道201和反馈接收通道202。然后,分别将服务提供节点101和服务调用节点104注册为请求发布通道201的数据订阅者和数据发布者,分别将服务提供节点101和服务调用节点104注册为反馈接收通道202的数据发布者和数据订阅者。数据传输的过程为:服务调用节点104通过请求发布通道201的数据发布者,将服务调用请求发布至请求发布通道201;服务提供节点101通过请求发布通道201的数据订阅者,监听请求发布通道201中的共享数据,当判断有其对应的数据时,接收相应数据。待服务提供节点101执行目标服务后,通过反馈接收通道202的数据发布者,将服务调用响应发布于反馈接收通道202;服务调用节点104通过反馈接收通道202的数据订阅者,监听反馈接收通道202中的共享数据,当判断有其对应的数据时,接收相应数据。
本公开实施例提供的技术方案,通过在VxWorks操作系统上部署基于机载嵌入式实时操作系统的服务管理系统,且该系统包括至少一个服务提供节点、至少一个服务调用节点、服务管理节点和分布式实时通信中间件;其中,服务调用节点,用于发起服务发现请求,并在接收到服务管理节点反馈的服务标识后,向服务标识对应的服务提供节点发起服务调用请求,以及接收服务标识对应的服务提供节点反馈的服务调度响应;其中,服务管理节点,用于接收服务调用节点发送的服务发现请求,并从服务信息列表中查找服务发现请求对应的目标服务的服务标识;服务信息列表中记录机载嵌入式实时操作系统中部署的各服务的服务描述信息;其中,服务提供节点,用于注册并发布服务;以及接收服务调用节点发送的服务调用请求,并基于服务调用请求,执行目标服务,生成服务调度响应,且将服务调用响应发送至服务调用节点;其中,分布式实时通信中间件,用于构建主题通道和共享数据空间,以供服务调用节点、服务提供节点和服务管理节点之间通信,且分布式实时通信中间件基于数据分发服务DDS实现。实现了在机载嵌入式实时操作系统中引入服务管理系统,且由服务调用节点对服务进行调用,由服务管理节点统一管理所有服务的信息及进行服务发现,由服务提供节点发布并执行各服务,能够以分布式架构来部署机载嵌入式RTOS中的机载服务,并且高效地管理和执行各机载服务,提高机载服务的运行效率,进而提高航电系统的响应速度和准确性。
图3为本公开实施例提供的一种基于机载嵌入式实时操作系统的服务管理方法的流程图。该基于机载嵌入式实时操作系统的服务管理方法由上述基于机载嵌入式实时操作系统的服务管理系统来执行。参见图3,该基于机载嵌入式实时操作系统的服务管理方法包括:
S301、服务调用节点发起服务发现请求。
S302、服务调用节点基于服务发现请求,从本地节点查找目标服务。
S303、若服务调用节点存在目标服务,则服务调用节点基于目标服务对应的服务标识发起服务调用请求。
S304、服务调用节点基于服务调用请求执行目标服务,获得服务调用响应。
S305、若服务调用节点不存在目标服务,则服务调用节点将服务发现请求发送至服务管理节点。
S306、服务管理节点接收服务发现请求,并从服务信息列表中查找服务发现请求对应的目标服务的服务标识。
S307、服务管理节点将服务标识反馈至服务调用节点。
S308、服务调用节点注册为分布式实时通信中间件中请求发布通道的数据发布者。
S309、服务调用节点基于服务标识生成服务请求序列,并通过请求发布通道的数据发布者,将服务请求序列发布到分布式实时通信中间件的共享数据空间。
S310、服务提供节点注册为请求发布通道的数据订阅者。
S311、服务提供节点通过请求发布通道的数据订阅者,监听到共享数据空间中存在有请求发布通道的数据时,检查数据的关键字段,并利用内容主题过滤机制,接收属于服务提供节点的服务调用请求。
S312、服务提供节点基于服务调用请求,执行目标服务,生成服务调用响应。
S313、服务提供节点注册为分布式实时通信中间件中反馈接收通道的数据发布者。
S314、服务提供节点将服务调用响应转换为服务调用响应序列,并通过反馈接收通道的数据发布者,将服务调用响应序列发布到分布式实时通信中间件的共享数据空间。
S315、服务调用节点注册为反馈接收通道的数据订阅者。
S316、服务调用节点通过反馈接收通道的数据订阅者,监听到共享数据空间中存在有反馈接收通道的数据时,检查数据的关键字段,并利用内容主题过滤机制,接收属于服务调用节点的服务调用响应。
需要注意的是,S308、S310、S313、S316的执行顺序不受上述顺序限制,其只需要在使用相应主题通道的数据订阅者和数据发布者之前执行即可。
本公开实施例的上述技术方案,通过服务调用节点、服务提供节点和服务管理节点分别注册为分布式通信中间件中不同主题通道的数据发布者和数据订阅者,并调用相关接口来向分布式通信中间件发布数据,以及从分布式通信中间件接收数据,实现了机载嵌入式RTOS中各节点基于航空电子服务总线的数据通信,为机载服务的分布式部署、管理和调用提供通信基础。通过服务调用节点基于服务发现请求,从本地节点查找目标服务;若本地节点存在目标服务,则基于目标服务对应的服务标识发起服务调用请求,并基于服务调用请求执行目标服务,获得服务调用响应;若本地节点不存在目标服务,则将服务发现请求发送至服务管理节点。实现了机载嵌入式RTOS中机载服务的本地调用和远程调用,且优先执行本地调用,能够节省远程服务发现和远程服务调用的流程,从而进一步提高机载服务的执行效率。
需要说明的是,本公开所用术语仅为了描述特定实施例,而非限制本申请范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于机载嵌入式实时操作系统的服务管理系统,其特征在于,所述系统部署于VxWorks操作系统,所述系统包括:至少一个服务提供节点、至少一个服务调用节点、服务管理节点和分布式实时通信中间件;
所述服务调用节点,用于发起服务发现请求,并在接收到所述服务管理节点反馈的服务标识后,向所述服务标识对应的服务提供节点发起服务调用请求,以及接收所述服务标识对应的服务提供节点反馈的服务调度响应;
所述服务管理节点,用于接收所述服务调用节点发送的服务发现请求,并从服务信息列表中查找所述服务发现请求对应的目标服务的服务标识;所述服务信息列表中记录机载嵌入式实时操作系统中部署的各服务的服务描述信息;
所述服务提供节点,用于注册并发布服务;以及接收所述服务调用节点发送的所述服务调用请求,并基于所述服务调用请求,执行所述目标服务,生成服务调度响应,且将所述服务调用响应发送至所述服务调用节点;
所述分布式实时通信中间件,用于构建主题通道和共享数据空间,以供所述服务调用节点、所述服务提供节点和所述服务管理节点之间通信,且所述分布式实时通信中间件基于数据分发服务DDS实现。
2.根据权利要求1所述的系统,其特征在于,所述服务调用节点还用于:
在发起服务发现请求之后,基于所述服务发现请求,从本地节点查找所述目标服务;
若所述服务调用节点存在所述目标服务,则基于所述目标服务对应的服务标识发起服务调用请求;
基于所述服务调用请求执行所述目标服务,获得服务调用响应;
若所述服务调用节点不存在所述目标服务,则将所述服务发现请求发送至所述服务管理节点。
3.根据权利要求1所述的系统,其特征在于,所述服务提供节点还用于:
获取待发布服务;
将所述待发布服务在本地节点进行服务注册及端口分配,且生成所述待发布服务的服务标识;
向所述服务管理节点发起远程注册请求,并接收所述服务管理节点发送的远程注册响应;
相应地,所述服务管理节点还用于:
基于所述远程注册请求,将所述待发布服务的服务描述信息和所述服务标识写入所述服务信息列表,并向所述服务提供节点发送所述远程注册响应。
4.根据权利要求3所述的系统,其特征在于,所述服务提供节点还用于:
若所述远程注册响应为远程注册成功,且所述待发布服务的软件依赖和硬件依赖均满足时,激活所述待发布服务,完成服务发布。
5.根据权利要求1所述的系统,其特征在于,所述服务提供节点基于所述服务调用请求,执行所述目标服务,生成服务调度响应包括:
将所述服务调用请求缓存至请求队列;
在获得CPU资源后,遍历所述请求队列,以执行所述服务调用请求对应的目标服务,生成所述服务调度响应。
6.根据权利要求1所述的系统,其特征在于,所述服务管理节点从服务信息列表中查找所述服务发现请求对应的目标服务的服务标识包括:
基于所述服务发现请求中的服务描述信息,从所述服务信息列表中查找所述目标服务;
若所述目标服务存在于多个所述服务提供节点中,则基于所述目标服务所在的每个所述服务提供节点的节点负载信息,确定所述目标服务的服务标识,以均衡调度各所述服务提供节点。
7.根据权利要求1所述的系统,其特征在于,所述服务调用节点还用于:
注册为所述分布式实时通信中间件中请求发布通道的数据发布者,所述请求发布通道为预先注册在所述分布式实时通信中间件中的主题通道;
相应地,所述服务调用节点向所述服务标识对应的服务提供节点发起服务调用请求包括:
基于所述服务标识生成服务请求序列,并通过所述请求发布通道的数据发布者,将所述服务请求序列发布到所述分布式实时通信中间件的共享数据空间。
8.根据权利要求1所述的系统,其特征在于,所述服务提供节点还用于:
注册为所述请求发布通道的数据订阅者;
在基于所述服务调用请求,执行所述目标服务,生成服务调度响应之前,通过所述请求发布通道的数据订阅者,监听到所述共享数据空间中存在有所述请求发布通道的数据时,检查所述数据的关键字段,并利用内容主题过滤机制,接收属于所述服务提供节点的服务调用请求。
9.根据权利要求1所述的系统,其特征在于,所述服务提供节点还用于:
注册为所述分布式实时通信中间件中反馈接收通道的数据发布者,所述反馈接收通道为预先注册在所述分布式实时通信中间件中的主题通道;
相应地,所述服务提供节点将生成的服务调用响应发送至所述服务调用节点包括:
将所述服务调用响应转换为服务调用响应序列,并通过所述反馈接收通道的数据发布者,将所述服务调用响应序列发布到所述分布式实时通信中间件的共享数据空间。
10.根据权利要求1所述的系统,其特征在于,所述服务调用节点还用于:
注册为所述反馈接收通道的数据订阅者;
相应地,所述服务调用节点接收所述服务标识对应的服务提供节点反馈的服务调度响应包括:
通过所述反馈接收通道的数据订阅者,监听到所述共享数据空间中存在有所述反馈接收通道的数据时,检查所述数据的关键字段,并利用内容主题过滤机制,接收属于所述服务调用节点的服务调用响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540018.2A CN112583927B (zh) | 2020-12-23 | 2020-12-23 | 基于机载嵌入式实时操作系统的服务管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540018.2A CN112583927B (zh) | 2020-12-23 | 2020-12-23 | 基于机载嵌入式实时操作系统的服务管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583927A true CN112583927A (zh) | 2021-03-30 |
CN112583927B CN112583927B (zh) | 2022-04-15 |
Family
ID=75139337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011540018.2A Active CN112583927B (zh) | 2020-12-23 | 2020-12-23 | 基于机载嵌入式实时操作系统的服务管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112583927B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205153A1 (en) * | 2000-09-15 | 2004-10-14 | Bernhard Weisshaar | Service framework supporting remote service discovery and connection |
CN101820444A (zh) * | 2010-03-24 | 2010-09-01 | 北京航空航天大学 | 一种基于描述信息匹配相似度的资源服务匹配与搜索方法 |
US20120246468A1 (en) * | 2009-12-16 | 2012-09-27 | Nokia Corporation | System, Method, and Apparatus for Performing Reliable Network, Capability, and Service Discovery |
CN104202427A (zh) * | 2014-09-24 | 2014-12-10 | 国家电网公司 | 一种分布式节点间的服务调用方法及系统 |
CN108134764A (zh) * | 2016-12-01 | 2018-06-08 | 中国电子科技集团公司第十五研究所 | 一种分布式数据共享交换方法及系统 |
US20180239793A1 (en) * | 2017-02-17 | 2018-08-23 | Home Box Office, Inc. | Service discovery using attribute matching |
CN109271170A (zh) * | 2018-09-05 | 2019-01-25 | 杭州数梦工场科技有限公司 | 一种分布式系统部署方法、系统、电子设备及存储介质 |
US20190149618A1 (en) * | 2017-11-14 | 2019-05-16 | Dell Products, L.P. | Local proxy for service discovery |
CN110008044A (zh) * | 2019-04-11 | 2019-07-12 | 北京航空航天大学 | 一种嵌入式rtos上分布式实时通信中间件的构建方法 |
CN110209514A (zh) * | 2019-08-01 | 2019-09-06 | 奥特酷智能科技(南京)有限公司 | 在嵌入式传感器接入平台实现dds服务的方法 |
CN110311896A (zh) * | 2019-05-28 | 2019-10-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 机载平台服务注册中心系统 |
CN110704070A (zh) * | 2019-09-30 | 2020-01-17 | 北京航空航天大学 | 一种分区实时操作系统下dds通信中间件的构建方法 |
CN111131401A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市优必选科技股份有限公司 | 一种服务请求的响应方法及系统 |
CN111262892A (zh) * | 2018-11-30 | 2020-06-09 | 北京图森智途科技有限公司 | 一种多ros的服务发现系统 |
CN111698308A (zh) * | 2020-06-05 | 2020-09-22 | 电子科技大学 | 一种基于soa和dds的服务模型和分布式数据通信方法 |
-
2020
- 2020-12-23 CN CN202011540018.2A patent/CN112583927B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205153A1 (en) * | 2000-09-15 | 2004-10-14 | Bernhard Weisshaar | Service framework supporting remote service discovery and connection |
US20120246468A1 (en) * | 2009-12-16 | 2012-09-27 | Nokia Corporation | System, Method, and Apparatus for Performing Reliable Network, Capability, and Service Discovery |
CN101820444A (zh) * | 2010-03-24 | 2010-09-01 | 北京航空航天大学 | 一种基于描述信息匹配相似度的资源服务匹配与搜索方法 |
CN104202427A (zh) * | 2014-09-24 | 2014-12-10 | 国家电网公司 | 一种分布式节点间的服务调用方法及系统 |
CN108134764A (zh) * | 2016-12-01 | 2018-06-08 | 中国电子科技集团公司第十五研究所 | 一种分布式数据共享交换方法及系统 |
US20180239793A1 (en) * | 2017-02-17 | 2018-08-23 | Home Box Office, Inc. | Service discovery using attribute matching |
US20190149618A1 (en) * | 2017-11-14 | 2019-05-16 | Dell Products, L.P. | Local proxy for service discovery |
CN109271170A (zh) * | 2018-09-05 | 2019-01-25 | 杭州数梦工场科技有限公司 | 一种分布式系统部署方法、系统、电子设备及存储介质 |
CN111262892A (zh) * | 2018-11-30 | 2020-06-09 | 北京图森智途科技有限公司 | 一种多ros的服务发现系统 |
CN110008044A (zh) * | 2019-04-11 | 2019-07-12 | 北京航空航天大学 | 一种嵌入式rtos上分布式实时通信中间件的构建方法 |
CN110311896A (zh) * | 2019-05-28 | 2019-10-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 机载平台服务注册中心系统 |
CN110209514A (zh) * | 2019-08-01 | 2019-09-06 | 奥特酷智能科技(南京)有限公司 | 在嵌入式传感器接入平台实现dds服务的方法 |
CN110704070A (zh) * | 2019-09-30 | 2020-01-17 | 北京航空航天大学 | 一种分区实时操作系统下dds通信中间件的构建方法 |
CN111131401A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市优必选科技股份有限公司 | 一种服务请求的响应方法及系统 |
CN111698308A (zh) * | 2020-06-05 | 2020-09-22 | 电子科技大学 | 一种基于soa和dds的服务模型和分布式数据通信方法 |
Non-Patent Citations (2)
Title |
---|
徐照,等: "基于面向服务中间件的集成化CAPP系统研究", 《计算机集成制造系统》 * |
胡春明,等: ""一种支持端到端 QoS 的服务网格体系结构"", 《软件学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112583927B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498625B1 (en) | Distributed testing service | |
US5452459A (en) | Method and apparatus for allocating server access in a distributed computing environment | |
EP1027796B1 (en) | Distributed web application server | |
EP0447038B1 (en) | A system for establishing a communication path in a closely coupled computer system | |
US5925098A (en) | Apparatus and method for dispatching client method calls within a server computer system | |
US20020091874A1 (en) | Deferred reconstruction of objects and remote loading for event notification in a distributed system | |
US20070011291A1 (en) | Grid automation bus to integrate management frameworks for dynamic grid management | |
EP0817025A2 (en) | Data structures and method for implementing subcontracts in a distributed object oriented system | |
JP2001522114A (ja) | 分散を意識させない態様で分散ソフトウェア開発を容易にするための方法およびシステム | |
US20230342191A1 (en) | Task Scheduling Method and System | |
CN112714164A (zh) | 一种物联网系统及其任务调度方法 | |
CN113448655B (zh) | C标准动态库的调用方法与装置 | |
US20160112540A1 (en) | System and Method for Virtual Desktop Infrastructure User Level Virtual Channel | |
KR20020021237A (ko) | 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법 | |
CN112583927B (zh) | 基于机载嵌入式实时操作系统的服务管理系统 | |
KR100751456B1 (ko) | OSGi 서비스 플랫폼 및 이를 이용한 서비스 제공 방법 | |
CN111913784B (zh) | 任务调度方法及装置、网元、存储介质 | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN112583929B (zh) | 基于机载嵌入式实时操作系统的服务管理方法 | |
CN111831402B (zh) | 用于管理软件功能的方法、设备和计算机程序产品 | |
CN114721743B (zh) | 任务执行方法、装置和电子设备 | |
CN109669793B (zh) | 中间件进程内对象调用方法 | |
EP1058880A1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
US9052973B2 (en) | Inter-process communication mechanism | |
Anke et al. | Seamless integration of distributed OSGi bundles into enterprise processes using BPEL |
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 |