一种基于动态二进制插桩的可回溯仿真方法及系统技术方案

技术编号:29672844 阅读:25 留言:0更新日期:2021-08-13 21:54
本发明专利技术公开了一种基于动态二进制插桩的可回溯仿真方法及系统,该方法包括:通过动态二进制插桩方法对正在运行的仿真程序和底层操作系统之间引入虚拟文件层;根据动态二进制插桩方法拦截目标函数参数,对仿真系统模型组件的各个接口加以拦截,以获得仿真事件状态;根据仿真事件状态,构建基于事件的检查点。该方法利用动态二进制插桩技术,在不修改仿真程序源代码的情况下,插入虚拟文件层拦截所有文件操作,在内存中的缓冲区执行,避免了内存和磁盘文件在重启检查点时的不一致问题。此外,由动态插桩引入的额外代码和原程序执行在同一个地址空间中,通过拦截仿真模型组件相关接口,基于获取的仿真事件状态信息设置检查点,具有更强的实用性。

【技术实现步骤摘要】
一种基于动态二进制插桩的可回溯仿真方法及系统
本专利技术涉及仿真以及容错等相关
,特别涉及一种基于动态二进制插桩的可回溯仿真方法及系统。
技术介绍
传统的推演仿真系统是一种离线的推演系统,整个推演过程可分为三个阶段:准备阶段、推演阶段、评估阶段。准备阶段的主要任务是制作想定文件,并由相关人员依据任务规划,结合想定文件,配置各种资源的初始位置、数量、仿真模型、行动路线等参数。推演阶段由仿真引擎加载上一阶段配置的数据,运行推演并给出推演结果,最后在评估阶段对推演结果进行评估。需要强调的是,仿真进程启动之后,仿真引擎加载初始参数并依照想定自动推演整个仿真事件,在此期间,工作人员不需要也不能对仿真进程做出任何干预。在线推演需要在推演阶段根据当前仿真事件状态灵活的进行各种人工干预以调整仿真参数,主导仿真事件走向。根据推演阶段不同的人工干预,可以更加快速的推演出各种行动策略,而在线推演的特点就需要整个仿真过程具有可回溯性,否则每次获得一个仿真结果就需要重新从头执行一次仿真程序,这将付出更多的时间和人力成本。检查点/重启技术是计算机容错本文档来自技高网...

【技术保护点】
1.一种基于动态二进制插桩的可回溯仿真方法,其特征在于,应用于仿真系统;所述方法包括:/n通过动态二进制插桩方法对正在运行的仿真程序和底层操作系统之间引入虚拟文件层;所述虚拟文件层用于缓冲文件操作到内存;/n根据所述动态二进制插桩方法拦截目标函数参数,对仿真系统模型组件的各个接口加以拦截,以获得仿真事件状态;/n根据所述仿真事件状态,构建基于事件的检查点。/n

【技术特征摘要】
1.一种基于动态二进制插桩的可回溯仿真方法,其特征在于,应用于仿真系统;所述方法包括:
通过动态二进制插桩方法对正在运行的仿真程序和底层操作系统之间引入虚拟文件层;所述虚拟文件层用于缓冲文件操作到内存;
根据所述动态二进制插桩方法拦截目标函数参数,对仿真系统模型组件的各个接口加以拦截,以获得仿真事件状态;
根据所述仿真事件状态,构建基于事件的检查点。


2.根据权利要求1所述的一种基于动态二进制插桩的可回溯仿真方法,其特征在于,通过二进制插桩方法对正在运行的程序和底层操作系统之间引入虚拟文件层,包括:
封装底层操作系统原生文件操作函数;
利用动态二进制插桩方法,拦截并替换可执行进程对文件接口的调用;以使目标进程对原生接口的访问,调用封装的对应的所述原生文件操作函数;
所述动态二进制插桩方法引入的代码在所述目标进程调用时,获得进程对文件的操作信息;将所述操作信息对应的操作在内存缓冲区中执行。


3.根据权利要求1所述的一种基于动态二进制插桩的可回溯仿真方法,其特征在于,所述仿真程序对应的进程包括仿真进程和服务进程;
根据所述仿真事件状态,构建基于事件的检查点;包括:
根据所述仿真事件状态,设定创建检查点的时机;
创建仿真状态拦截方法;所述拦截方法在预设事件发生后,阻塞仿真进程执行,发出检查点创建信号;
利用动态二进制插桩方法,将所述拦截方法,插入所述仿真进程中;
所述服务进程随时接收所述检查点创建信号,启动内存检查点工具对所述仿真进程设置检查点。


4.根据权利要求2所述的一种基于动态二进制插桩的可回溯仿真方法,其特征在于,所述操作信息对应的操作,包括:
当进程写第一数据时,直接写入缓冲区对应区域;
当进程读第二数据时,从磁盘加载所述第二数据到缓冲区,从缓冲区返回所述第二数据;
当进程访问的第三数据已经在缓冲区存在时,直接返回所述第三数据。


5.一种基于动...

【专利技术属性】
技术研发人员:计卫星王一拙魏双剑陈秋瑞杨凯石峰
申请(专利权)人:北京理工大学北京仿真中心
类型:发明
国别省市:北京;11

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

1