基于业务-传输解耦的分布式实时嵌入式控制系统的制作方法
本技术涉及航天器地面测控,尤其涉及一种基于业务-传输解耦的分布式实时嵌入式控制系统。
背景技术:
1、在航天器地面测控、无人集群控制、工业自动化等分布式实时嵌入式系统中,dds因具有高吞吐、低延迟以及服务质量qos可配置等特点,被广泛应用于多节点之间的数据交互。
2、然而,传统dds开发模式通常将数据收发、数据序列化与反序列化以及具体业务逻辑,如指令解析、算法调用和数据存储,集中耦合在同一模块中。该模式通常存在以下问题。
3、一是扩展性较差。每新增一种数据交互类型,通常需要同步修改dds实体创建、数据接收处理、业务调用以及日志记录等多处代码,开发人员需要理解既有业务逻辑和传输细节,容易引入回归问题。
4、二是维护难度较大。传输层配置变化可能影响核心业务处理;同一源文件中同时包含dds接口调用和业务算法代码,不利于职责划分和模块化维护。
5、三是复用性较低。业务逻辑往往与特定dds实现深度绑定,迁移至其他消息中间件或在其他地面系统中复用时,需要进行较多适配工作。
6、四是测试复杂。业务模块的单元测试通常依赖真实dds网络环境,难以灵活模拟故障、注入异常数据或独立验证业务处理逻辑;在多线程环境下,dds接收线程与业务处理线程之间的并发竞争还可能引入隐藏缺陷。
7、现有技术中,已有一些方案尝试解决相关问题。例如,公开号为cn110324325a的中国发明专利,提出了一种“配置驱动的卫星通信协议动态加载方法”。该方法通过json格式的配置文件描述通信协议字段,软件运行时解析配置文件并动态构建协议处理逻辑,从而实现了通信协议与软件代码的解耦。但其解耦维度仅限于协议层,业务逻辑与传输模块仍然处于同一进程空间内,新增一种业务数据仍需修改协议解析代码并重新配置,未能实现业务功能的“即插即用”。
8、《第十八届卫星通信学术年会论文集》(2022年) 中发表的《基于dds的卫星多目标测控系统设计》一文,采用dds的发布/订阅模式构建系统,但文章停留在dds整体应用架构层面,未深入探讨如何将传输层与具体业务回调分离,也未提供通用的业务扩展机制。
9、公开号为cn117518876a的中国发明专利,公开了一种支撑数字结合物理卫星仿真模型异构互连的控制管理系统,利用dds解决数字模型与物理模型之间的异构互连问题,其核心是数据的标准化与模型集成,而非软件架构层次的业务逻辑与传输机制解耦。
10、但是,上述方案的重点通常在于协议动态加载、整体数据分发架构或者模型集成,并未形成一种能够将传输层与具体业务处理函数彻底分离,并支持新增业务主题时通过统一注册机制实现即插即用扩展的系统架构。
11、此外,在本领域的常规设计中,回调函数通常被设计为直接承载较完整的业务处理逻辑,以减少模块之间的调用层级并追求局部处理效率。该设计思路虽然具有一定灵活性,但也使得传输层与业务层之间的边界不清晰,新增业务时往往仍需了解通信细节,从而限制了系统可扩展性和可维护性的进一步提升。
12、因此,仍有必要提供一种新的分布式实时嵌入式控制系统及其业务扩展方法,以便在保留dds实时通信能力的基础上,实现业务逻辑与传输层的清晰分离,并支持新增业务功能时尽量少修改既有模块代码。
技术实现思路
1、为解决上述现有技术中存在的问题,本技术的目的在于提供一种基于业务-传输解耦的分布式实时嵌入式控制系统,以解决现有技术中业务逻辑与通信传输层耦合较紧、扩展新业务时修改点较多、测试和维护成本较高以及多线程条件下线程安全保障不足的问题。
2、为实现上述发明目的,本技术提供一种基于业务-传输解耦的分布式实时嵌入式控制系统,包括以下步骤:
3、配置模块,用于存储系统运行参数,所述运行参数至少包括系统标识符、主题路径、中间件域标识、核心业务库路径和日志容量;
4、传输服务模块,用于管理数据分发中间件的生命周期,并提供订阅注册、发布注册和数据收发服务;
5、业务逻辑模块,用于将各业务主题对应的业务处理函数注册至所述传输服务模块,并调用所述传输服务模块发布业务数据;
6、核心业务封装模块,用于封装核心业务库并对外提供业务处理接口;
7、日志存储模块,用于记录业务处理日志和异常日志;
8、其中,
9、所述传输服务模块包括订阅注册表和独立运行的数据轮询线程;
10、所述订阅注册表用于存储主题路径、与该主题路径对应的数据读取器以及业务处理函数之间的映射关系;
11、所述数据轮询线程用于以固定周期遍历已注册的数据读取器,调用数据读取器的数据获取接口取得数据样本,根据所述订阅注册表查找对应的业务处理函数并执行;
12、所述业务处理函数用于接收所述数据样本,并仅执行以下操作:调用所述核心业务封装模块提供的业务处理接口,以及调用所述日志存储模块记录日志;
13、当新增业务主题时,仅需在所述业务逻辑模块中完成该新增业务主题的数据结构定义、主题配置、业务处理函数编写及注册绑定,而无需修改所述传输服务模块的内部处理逻辑。
14、根据本技术的一个技术方案,所述传输服务模块还包括发布注册表和统一注册接口,
15、所述发布注册表用于维护主题路径与数据写入器之间的对应关系,
16、所述统一注册接口至少包括订阅注册接口和发布注册接口,
17、其中所述订阅注册接口用于将主题路径、数据类型、数据读取器和业务处理函数进行关联注册,所述发布注册接口用于将主题路径、数据类型和数据写入器进行关联注册。
18、根据本技术的一个技术方案,所述数据轮询线程在执行所述业务处理函数时对异常进行捕获,并将异常信息写入所述日志存储模块,以防止单个业务处理函数执行失败导致所述数据轮询线程退出。
19、根据本技术的一个技术方案,所述业务逻辑模块还包括独立定时任务线程,所述独立定时任务线程按照预设周期调用所述核心业务封装模块获取业务结果,并通过所述传输服务模块提供的统一发布接口发布所述业务结果。
20、根据本技术的一个技术方案,所述配置模块用于按照统一命名规范生成或存储各主题路径,所述统一命名规范为:
21、/{systemid}/{servicetype}/{apid}/{interfacetype}/{topicfunction};
22、所述传输服务模块和业务逻辑模块均基于所述配置模块提供的参数运行,以实现配置驱动的系统行为。
23、根据本技术的一个技术方案,所述核心业务封装模块用于通过动态链接方式加载核心业务库;
24、当核心业务库加载失败时,所述核心业务封装模块将自身状态设置为不可用状态并记录错误日志,同时保持所述传输服务模块、业务逻辑模块和日志存储模块继续运行;
25、所述核心业务封装模块还对外提供状态查询接口,用于暴露当前可用性状态。
26、根据本技术的一个技术方案,所述核心业务封装模块设置有互斥锁,用于对多个线程发起的核心业务库调用进行并发保护,以保证数据接收处理与定时任务处理并发执行时的线程安全。
27、根据本技术的一个技术方案,所述日志存储模块采用内存循环队列和磁盘文件相结合的双层存储结构;
28、所述日志存储模块还提供基于标识增量的日志拉取接口,以供监控模块轮询获取新增日志并进行实时显示。
29、根据本技术的一个方面,提出了一种基于如上述技术方案任一项所述的基于业务-传输解耦的分布式实时嵌入式控制系统的业务扩展方法,包括以下步骤:
30、步骤s1、定义新增业务主题对应的数据结构,以满足系统预设的数据序列化要求;
31、步骤s2、在配置模块中添加所述新增业务主题对应的主题路径;
32、步骤s3、在业务逻辑模块中编写与所述新增业务主题对应的业务处理函数,所述业务处理函数仅执行调用核心业务封装模块提供的业务处理接口和调用日志存储模块记录日志;
33、步骤s4、在系统初始化过程中,通过所述传输服务模块的订阅注册接口,将所述新增业务主题、对应的数据读取器和所述业务处理函数进行绑定注册;
34、完成步骤s1至s4后,所述传输服务模块的数据轮询线程自动接收所述新增业务主题的数据并调用对应的业务处理函数,而无需修改传输服务模块、日志存储模块和监控模块的代码。
35、根据本技术的一个技术方案,所述分布式实时嵌入式控制系统应用于航天器地面测控系统、无人机地面站系统、工业机器人控制系统、自动驾驶数据分发系统或边缘计算节点控制系统,并支持跨平台部署以及不同消息中间件之间的适配替换。
36、与现有技术相比,本技术所提供的基于业务-传输解耦的分布式实时嵌入式控制系统具有以下显著的技术效果:
37、通过订阅注册表、统一注册接口和独立数据轮询线程的协同设计,传输层可统一管理不同业务主题对应的数据读取器和业务处理函数,从而在不改变传输层内部处理逻辑的情况下支持新增业务主题接入,提高了系统扩展能力。
38、通过对业务处理函数的职责进行限定,使业务处理函数主要承担“调用核心业务封装模块”和“记录日志”的处理职责,减少业务逻辑直接依赖dds细节的情况,有利于实现业务层与传输层的边界清晰化,并降低业务开发对底层通信实现的理解负担。
39、通过在数据轮询线程中捕获业务处理函数执行异常,可降低单个业务处理异常对整体数据接收流程的影响,提高系统运行稳定性。
40、通过采用核心业务封装模块对底层算法库进行动态加载,并在多线程调用场景下设置互斥锁,可提高核心业务库调用的并发安全性,并在底层库异常或缺失时保留非依赖部分功能,增强系统容错性。
41、通过内存循环队列与磁盘文件结合的日志存储结构,并提供增量拉取接口,可兼顾日志写入效率、历史持久化能力和监控显示的实时性。
42、由于业务层不直接依赖具体dds接口形式,当需要替换消息中间件时,可主要在传输服务模块层面进行适配,业务代码改动较少,从而提高系统跨平台、跨中间件迁移的便利性。
43、本技术,适用于航天器地面测控、无人机集群控制、工业机器人协同、自动驾驶数据融合及边缘计算节点的轻量化部署场景。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com