feat:add new ppt and video
本项目成功实现了基于CRIU的D-Bus服务冻结与恢复功能。
1.对CRIU源代码进行完善,能够应用于对dbus服务进行冻结操作,以便能够把冻结的数据放到同架构上进行恢复操作,从而能够对问题进行定位。
2.基于Qt框架实现的用户交互界面,实现了Dbus服务列表模块,获取Pid模块;unix ID获取模块;冻结模块;访问冻结服务提示模块;服务恢复模块。
首先将fix_criu_socket文件下的patch文件应用到CRIU源代码中。采用git apply。
编译好CRIU源码后。采用dpkg命令安装deb–CRIU的用户交互UI界面。
找到criu-gui的desktop文件,或者是可执行文件进行使用。
1.criu_stream_test:测试 Unix 套接字的创建、绑定、连接以及在删除和恢复过程中是否能够正确操作
2.dbus_example:自建Dbus服务通信程序。
3.fix_criu_socket:基于CRIU源代码下对Dbus服务冻结和恢复的实现。
4.monitor_dbus:对已冻结的Dbus服务监听测试程序。
5.criu_gui:基于Qt框架的CRIU可视化界面。
1.编译过程缺少libCRIU。
答:libcriu 的API库函数在CRIU仓库中定义。lib/criu.h
lib/criu.h
要创建库,请在主目录中运行。lib/libcriu.so``make
lib/libcriu.so``make
2.Dbus服务测试时候无法正确冻结。
答:终端原因,需要在Linux系统的tty终端运行,以防dump无法成功。
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
基于CRIU技术实现dbus服务的冻结与恢复
项目介绍
本项目成功实现了基于CRIU的D-Bus服务冻结与恢复功能。
1.对CRIU源代码进行完善,能够应用于对dbus服务进行冻结操作,以便能够把冻结的数据放到同架构上进行恢复操作,从而能够对问题进行定位。
2.基于Qt框架实现的用户交互界面,实现了Dbus服务列表模块,获取Pid模块;unix ID获取模块;冻结模块;访问冻结服务提示模块;服务恢复模块。
使用教程
首先将fix_criu_socket文件下的patch文件应用到CRIU源代码中。采用git apply。
编译好CRIU源码后。采用dpkg命令安装deb–CRIU的用户交互UI界面。
找到criu-gui的desktop文件,或者是可执行文件进行使用。
文件介绍
1.criu_stream_test:测试 Unix 套接字的创建、绑定、连接以及在删除和恢复过程中是否能够正确操作
2.dbus_example:自建Dbus服务通信程序。
3.fix_criu_socket:基于CRIU源代码下对Dbus服务冻结和恢复的实现。
4.monitor_dbus:对已冻结的Dbus服务监听测试程序。
5.criu_gui:基于Qt框架的CRIU可视化界面。
系统框架
1.CRIU源码修改框架
2.UI用户交互界面框架
FAQ
1.编译过程缺少libCRIU。
答:libcriu 的API库函数在CRIU仓库中定义。
lib/criu.h
要创建库,请在主目录中运行。
lib/libcriu.so``make
2.Dbus服务测试时候无法正确冻结。
答:终端原因,需要在Linux系统的tty终端运行,以防dump无法成功。