基于微服务的混合信号系统执行效率的优化方法技术方案

技术编号:37411664 阅读:9 留言:0更新日期:2023-04-30 09:36
本发明专利技术提出基于微服务的混合信号系统执行效率的优化方法。所述方法中每个Actor封装为独立的服务,Actor服务之间通过消息队列传输数据,当试图从空通道读取时,服务处于等待状态,直到有消息可用。调度器负责控制仿真时间的推进、结果验证以及回溯等。所述方法充分利用云计算、微服务的优势,使用并行化的算法加速了混合系统仿真引擎的执行速度。加速了混合系统仿真引擎的执行速度。加速了混合系统仿真引擎的执行速度。

【技术实现步骤摘要】
基于微服务的混合信号系统执行效率的优化方法


[0001]本专利技术属于模型仿真
,特别是涉及基于微服务的混合信号系统执行效率的优化方法。

技术介绍

[0002]本专利技术应用于面向模型Actor的并发系统的异构建模、仿真和设计系统。面向Actor的设计框架强调组件之间的并发性和数据通信。每个Actor有着定义好的抽象接口,封装了其内部状态和行为,并限制了与其环境的交互方式。一个Actor带有一个或多个端口,端口又分为输入端口以及输出端口,Actor在输入(输出)端口接收(发送)消息。消息也被称为信号。每个端口处信号的一个集合称为Actor的行为。具有连续行为的Actor以及离散行为的Actor共同组成了混合信号系统。
[0003]多个Actor之间可以通过在端口之间建立连接器组装成一个复合Actor,ActorA的输出端口a1到ActorB的输入端口b1的连接器表示信号会从A的a1端口流向B的b1端口。
[0004]在图形化建模语言中,Actor常用方框组合三角形(端口)表示,三角形顶点方向指向框内代表输入端口,三角形顶点方向指向框外代表输出端口,连接器则由线来表示。
[0005]模型的总体执行过程由管理器类的一个实例来控制。可执行接口定义了执行计算的参与者抽象语义的操作。这些操作被分为三个阶段:设置、迭代和包装。每个阶段都被进一步划分为子阶段。在初始化操作中,执行者执行任何可能影响静态分析的操作(包括调度、类型推理和检查、代码生成等)。其中,迭代阶段是模型的主要执行阶段,即每个参与者执行一系列的循环操作,通过有限数量的更新使得每个Actor(执行组件)进入稳定状态。迭代中的prefire、fire、postfire接口是为了协调参与者之间的交互,prefire测试参与者点火所需的先决条件;fire读取输入数据,执行计算,并产生输出数据;postfire更新组件状态标志着执行的完成。
[0006]现有技术通过对系统的依赖图进行拓扑分析,从而得到一个比较优化的Actor执行顺序,按序调用Actor的执行接口,从而完成整体迭代。由此可见目前技术还是顺序执行的过程,没有利用并行化算法,执行速度相对较慢。

技术实现思路

[0007]本专利技术目的是为了解决现有技术中的问题,提出了基于微服务的混合信号系统执行效率的优化方法。
[0008]本专利技术是通过以下技术方案实现的,本专利技术提出基于微服务的混合信号系统执行效率的优化方法,所述方法包括以下步骤:
[0009]步骤一、首先分析系统中是否存在因果环,如果存在因果环则意味着系统存在死锁,返回错误信息;不存在则继续执行;
[0010]步骤二、调度器初始化仿真时间以及步进时间步长,设置每条连接器表示的消息队列并配置到对应的Actor服务上;
[0011]步骤三、发给所有Actor服务启动指令,所有Actor共享调度器的时间;
[0012]步骤四、每个Actor服务并行运行,依赖图中的起点Actor直接将输出结果输出到消息队列中,其他Actor则观察它的输入,如果输入为空则进入等待状态,如果有则立即计算它的输出,并为下一个执行做好准备,执行结束或进入等待状态的Actor向调度器进行报告,同时报告自己本次执行是否更新了状态;
[0013]步骤五、控制器收到所有执行器的返回结果后进行操作,若存在更新了的Actor则继续向所有Actor服务发出执行信号,重复步骤三和四;若所有Actor本次调度均未更新状态,则测试误差值以及断点判断当前迭代是否成功,不成功则回溯并重新选择时间步长,重新迭代并重复步骤三和四,成功则预测下一步步长并进入下一轮迭代并重复步骤三和四。
[0014]进一步地,所述启动指令为时钟信号。
[0015]进一步地,所述起点Actor为具备直接输出能力的Actor或带有初始状态的Actor。
[0016]进一步地,所述具备直接输出能力的Actor为信号源。
[0017]进一步地,所述带有初始状态的Actor为积分器。
[0018]进一步地,所述未更新状态即到达了不动点。
[0019]进一步地,所述不动点具体指:把每个Actor看做是一个函数f,如果每一个Actor都满足单调性以及斯科特连续性,那么由这些Actor组合构成的系统一定存在一个不动点解,也就是说在一次迭代中按任意的顺序调度Actor的执行,在有限次的执行后必然会使所有组件到达稳定即不动点状态。
[0020]进一步地,每个Actor封装为独立的服务,Actor服务之间通过消息队列传输数据,当试图从空通道读取时,服务处于等待状态,直到有消息可用。
[0021]本专利技术提出一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述基于微服务的混合信号系统执行效率的优化方法的步骤。
[0022]本专利技术提出一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现所述基于微服务的混合信号系统执行效率的优化方法的步骤。
[0023]本专利技术的有益效果:
[0024]本专利技术提出基于微服务的混合信号系统执行效率的优化方法,所述方法采用并行化算法,提高了运行速度。本专利技术充分利用云计算、微服务的优势,使用并行化的算法加速了混合系统仿真引擎的执行速度。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026]图1为基于微服务的混合信号系统执行效率的优化方法流程图。
具体实施方式
[0027]下面将结合本专利技术实施例中的附图对本专利技术实施例中的技术方案进行清楚、完整
地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]从引擎架构上来看,组件的调度为控制流平面,数据的处理与传递为数据流平面。数据流模型的控制流平面可以简化。每个Actor封装为独立的服务,Actor服务之间通过消息队列传输数据,当试图从空通道读取时,服务处于等待状态,直到有消息可用。调度器负责控制仿真时间的推进、结果验证以及回溯等。
[0029]结合图1,本专利技术提出基于微服务的混合信号系统执行效率的优化方法,所述方法包括以下步骤:
[0030]步骤一、首先分析系统中是否存在因果环,如果存在因果环则意味着系统存在死锁,返回错误信息;不存在则继续执行;
[0031]步骤二、调度器初始化仿真时间以及步进时间步长,设置每条连接器表示的消息队列并配置到对应的Actor服务上;
[0032]步骤三、发给所有Actor服务启动指令,所有Ac本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于微服务的混合信号系统执行效率的优化方法,其特征在于,所述方法包括以下步骤:步骤一、首先分析系统中是否存在因果环,如果存在因果环则意味着系统存在死锁,返回错误信息;不存在则继续执行;步骤二、调度器初始化仿真时间以及步进时间步长,设置每条连接器表示的消息队列并配置到对应的Actor服务上;步骤三、发给所有Actor服务启动指令,所有Actor共享调度器的时间;步骤四、每个Actor服务并行运行,依赖图中的起点Actor直接将输出结果输出到消息队列中,其他Actor则观察它的输入,如果输入为空则进入等待状态,如果有则立即计算它的输出,并为下一个执行做好准备,执行结束或进入等待状态的Actor向调度器进行报告,同时报告自己本次执行是否更新了状态;步骤五、控制器收到所有执行器的返回结果后进行操作,若存在更新了的Actor则继续向所有Actor服务发出执行信号,重复步骤三和四;若所有Actor本次调度均未更新状态,则测试误差值以及断点判断当前迭代是否成功,不成功则回溯并重新选择时间步长,重新迭代并重复步骤三和四,成功则预测下一步步长并进入下一轮迭代并重复步骤三和四。2.根据权利要求1所述的方法,其特征在于,所述启动指令为时钟信号。3.根据权利要求1所述的方法,其特征在于,所述起点Actor为具备直...

【专利技术属性】
技术研发人员:代童阳刘劼金晶袁宏宇郑海洋
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1