一种软件系统实时重构方法和重构管理中心技术方案

技术编号:33508073 阅读:12 留言:0更新日期:2022-05-19 01:17
本发明专利技术涉及一种软件系统实时重构方法和重构管理中心,涉及软件重构技术领域,以解决起到转发数据的功能的关键设备瘫痪后,系统将无法正常工作。所述方法包括:确定是否接收到关键模块发送的心跳信号,所述关键模块用于转发所述软件系统内部各模块产生的数据;在确定没有接收到所述关键模块发送的心跳信号时,从当前正常运行的模块中确定所述关键模块对应的重构模块;将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块,所述重构数据包用于使所述重构模块暂时实现所述关键模块的转发功能。本发明专利技术提供的技术方案能够实现关键模块瘫痪后,继续保持其转发功能。继续保持其转发功能。继续保持其转发功能。

【技术实现步骤摘要】
一种软件系统实时重构方法和重构管理中心


[0001]本专利技术涉及软件重构
,尤其涉及一种软件系统实时重构方法和重构管理中心。

技术介绍

[0002]整个发射车系统,由很多模块组成,模块内包括硬件和运行在硬件上及操控硬件的软件组成。系统各模块之间需要通信,并且需要架设多条通信线。为了通信的畅通与安全,会在通信线之间设置关键模块,对连接在不同通信线路中的设备进行工作状态数据通信或者命令通信。
[0003]因为这个关键设备起到转发数据的功能,所以瘫痪后,系统将无法正常工作。为了系统安全性与运行的稳定性,就需要关键模块的关键功能,即通信转发功能,即便在关键模块不能正常工作的情况下,也能正常地表达出来。

技术实现思路

[0004]鉴于上述的分析,本专利技术旨在提出一种软件系统实时重构方法和重构管理中心,以解决上述技术问题中的至少一个。
[0005]本专利技术的目的主要是通过以下技术方案实现的:
[0006]第一方面,本专利技术实施例提供了一种软件系统实时重构方法,包括:
[0007]确定是否接收到关键模块发送的心跳信号,所述关键模块用于转发所述软件系统内部各模块产生的数据;
[0008]在确定没有接收到所述关键模块发送的心跳信号时,从当前正常运行的模块中确定所述关键模块对应的重构模块;
[0009]将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块,所述重构数据包用于使所述重构模块暂时实现所述关键模块的转发功能。
[0010]进一步地,获取所述当前正常运行的模块的当前信息处理量和最大信息处理量;
[0011]确定所述当前信息处理量和所述最大信息处理量之差大于预设值的当前正常运行的模块为待选择模块;
[0012]在所述待选择模块中,确定具有数据采集功能的模块为所述重构模块。
[0013]进一步地,获取所述关键模块的模块标识;
[0014]根据所述模块标识和预存的关系数据,确定所述关键模块对应的重构模块;
[0015]其中,所述关系数据为所述关键模块与所述重构模块的对应关系。
[0016]进一步地,展示所述重构模块的标识;
[0017]接收外部输入的重构确认指令;
[0018]根据所述重构确认指令,将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块。
[0019]进一步地,根据所述关键模块最后发送的心跳信号对应的时刻,检测存储子模块
中是否存在所述关键模块未处理的数据;
[0020]在所述存储子模块中存在所述关键模块未处理的数据时,获取所述未处理的数据并将所述未处理的数据发送给所述重构模块;
[0021]所述存储子模块预先设置在所述关键模块中用于存储所述关键模块在数据处理过程中产生的数据。
[0022]进一步地,根据所述关键模块最后发送的心跳信号对应的时刻,检测数据缓存中是否存在待获取数据;
[0023]在所述数据缓存中存在所述待获取数据时,向所述重构模块发送获取指令;
[0024]所述获取指令用于指示所述重构模块从所述数据缓存中获取所述待获取数据;
[0025]所述数据缓存预先设置在总线上,用于存储因所述关键模块出错而无法获取的待获取数据。
[0026]进一步地,从检错子模块中获取所述关键模块对应的故障信息;
[0027]在预设的补丁数据库中,检测是否存在所述故障信息对应的补丁信息;
[0028]在所述补丁数据库中存在所述故障信息对应的补丁信息时,将所述补丁信息封装成安装程序,并发送至所述关键模块;
[0029]所述检错子模块预先设置所述关键模块中,用于存储引发所述关键模块故障的故障信息。
[0030]进一步地,所述方法还包括:在确定重新接收到所述关键模块发送的心跳信号后,展示信号恢复提示信息;
[0031]接收外部发送的重构终止指令;
[0032]根据所述终止指令,控制所述重构模块恢复至正常运行状态。
[0033]进一步地,所述确定模块用于在所述关键模块对应多个重构模块时,展示所述多个重构模块的标识;接收外部输入的重构确认指令;根据所述重构确认指令,确定所述重构模块。
[0034]进一步地,所述确定模块用于接收外部发送的重构终止指令;根据所述终止指令,控制所述重构模块恢复至正常运行状态。
[0035]第二方面,本专利技术实施例提供了一种重构管理中心,包括:监测模块,确定模块和发送模块;
[0036]所述监测模块用于确定是否接收到关键模块发送的心跳信号;
[0037]所述确定模块用于在确定没有接收到所述关键模块发送的心跳信号时,从当前正常运行的模块中确定所述关键模块对应的重构模块;
[0038]所述发送模块用于将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块,所述重构数据包用于使所述重构模块暂时实现所述关键模块的功能。
[0039]进一步地,所述确定模块用于获取所述当前正常运行的模块的当前信息处理量和最大信息处理量;确定所述当前信息处理量和所述最大信息处理量之差最大的当前正常运行的模块为待选择模块;在所述待选择模块中,确定具有数据采集功能的模块为所述重构模块。
[0040]进一步地,所述确定模块用于获取所述关键模块的模块标识;根据所述模块标识和预存的关系数据,确定所述关键模块对应的重构模块;其中,所述关系数据为所述关键模
块与所述重构模块的对应关系。
[0041]本专利技术技术方案的有益效果:
[0042]1.以当前正常运行的模块为重构模块,不需要额外添加新的模块作为重构模块,简化了软件的复杂程度。
[0043]2.以当前正常运行的模块为重构模块,可以提供多重保证,极大提高了软件的适应性。例如,为车显模块设置一个备用模块,一旦车显模块和该备用模块出现问题,则整个软件无法再度运行。而在本专利技术实施例中,整个软件是否正常运行不会受到备用模块数量限制,因为理论上只要存在相应的正常运行的其他模块,就能保证车显模块的转发功能一直存在,从而保证整个软件持续运行。
[0044]3.通过选择信息处理能力大且具有信息采集功能的模块作为重构模块,以保证重构模块的功能能够达到与关键模块相同的效果。
[0045]4.本专利技术可以采用预先设定,实时选择和人工指定的模式来选择重构模块,增加了重构方法的灵活性和适应性。
[0046]5.在关键模块不能正常运行时,其他模块变成重构模块;而在关键模块的功能恢复后,重构模块会恢复至正常工作状态,上述循环过程能够保证重构可以周而复始的运行,提高了软件运行的稳定性。
[0047]6.通过将预先设定的重构数据包发送至相应的重构模块,再由重构模块执行相应的重构数据包,进而实现关键模块的功能,为灵活地选择重构模块提供技术基础,同时避免在模块中预先加入重构数据包而增加软件复杂度的问题。
[0048]7.通过在关键模块中设置用于存储因关键模块出错而无法获取的待获取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件系统实时重构方法,其特征在于,包括:确定是否接收到关键模块发送的心跳信号,所述关键模块用于转发所述软件系统内部各模块产生的数据;在确定没有接收到所述关键模块发送的心跳信号时,从当前正常运行的模块中确定所述关键模块对应的重构模块;将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块,所述重构数据包用于使所述重构模块暂时实现所述关键模块的转发功能。2.根据权利要求1所述的方法,其特征在于,所述从当前正常运行的模块中确定所述关键模块对应的重构模块,包括:获取所述当前正常运行的模块的当前信息处理量和最大信息处理量;确定所述当前信息处理量和所述最大信息处理量之差大于预设值的当前正常运行的模块为待选择模块;在所述待选择模块中,确定具有数据采集功能的模块为所述重构模块。3.根据权利要求1所述的方法,其特征在于,所述从当前正常运行的模块中确定所述关键模块对应的重构模块,包括:获取所述关键模块的模块标识;根据所述模块标识和预存的关系数据,确定所述关键模块对应的重构模块;其中,所述关系数据为所述关键模块与所述重构模块的对应关系。4.根据权利要求2所述的方法,其特征在于,在所述从当前正常运行的模块中确定所述关键模块对应的重构模块之后,所述方法还包括:展示所述重构模块的标识;接收外部输入的重构确认指令;根据所述重构确认指令,将预先存储的所述关键模块对应的重构数据包发送给相应的重构模块。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述关键模块最后发送的心跳信号对应的时刻,检测存储子模块中是否存在所述关键模块未处理的数据;在所述存储子模块中存在所述关键模块未处理的数据时,获取所述未处理的数据并将所述未处理的数据发送给所述重构模块;所述存储子模块预先设置在所述关键模块中用于存储所述关键模块在数据处理过程中产生的数据。6.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:焦帅帅刘琪
申请(专利权)人:北京机械设备研究所
类型:发明
国别省市:

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

1