一种基于嵌入式Linux平台的掉电关机保护数据的方法及系统与流程

文档序号:37155710发布日期:2024-02-26 17:16阅读:15来源:国知局
一种基于嵌入式Linux平台的掉电关机保护数据的方法及系统与流程

本发明属于计算机,具体地,涉及一种基于嵌入式linux平台的掉电关机保护数据的方法及系统。


背景技术:

1、当前的嵌入式linux平台的保护,许多嵌入式linux系统使用支持日志记录的文件系统,如ext3或ext4。这些文件系统在写操作时会记录事务日志,可以在系统异常关机后通过回放日志来保护文件系统的一致性。然而,即使使用了日志记录,仍然有可能在突然断电的情况下导致文件系统损坏。或者是通过开机后fsck自修复文件系统,但是此方法依然不能够完全修改文件系统,只有在关机的过程中就进行系统正常关机,文件系统正常协助。才能够切底解决此类问题。


技术实现思路

1、针对上述问题,本发明提出了一种基于嵌入式linux平台的掉电关机保护数据的方法及系统,当嵌入式linux平台在外场出现突然断电关机的情况下,避免系统因为反复开关机过程中文件系统出现概率损坏,导致后面设备开机无法挂载文件系统或者文件系统读写异常,进而保证文件系统经过几千次系统掉电依然能够正常运行。

2、本发明通过以下技术方案实现:

3、一种基于嵌入式linux平台的掉电关机保护数据的方法:

4、所述方法具体包括以下步骤:

5、步骤1,在电源电路上增加电容供电,避免瞬间关机;

6、步骤2,gpio引脚检测,在嵌入式系统的硬件电路中增加一个gpio引脚,并将其连接到外部供电硬件;

7、步骤3,系统启动给电容充电:并在运行程序并通过secondpower.sh脚本定期检查gpio引脚的状态变化;

8、步骤4,在判定为掉电时进入掉电关机流程并正确关机。

9、进一步的,在步骤1中,在外部power断电的情况下,电容能够提供一定时间的电源。

10、进一步的,在步骤2中,如果外部power断电,此时gpio引脚会出现电平变化,linuxkernel以此读取gpio电平值判断是否外部已经断电;

11、linux kernel通过读取gpio状态后,客户获取是否外部供电已经断开;

12、linux kernel层通过sys文件系统提供gpio节点,供应用层获取gpio状态。

13、进一步的,在步骤3中,如果检测到gpio状态变化,进入掉电关机流程;

14、开机的时候启动一个secondpower.sh,脚本启动中调用c可执行程序,在程序中每隔1s检查下gpio状态,如果有变化,则进入掉电关机流程。

15、进一步的,在步骤4中,在关机前,首先通过kill命令终止正在运行的进程;

16、关闭背光、关闭外设电源以减小系统功耗;

17、让文件系统线remount为只读模式,将文件系统重新挂载为只读模式,确保在关机过程中没有新的写入操作,避免文件系统损坏;

18、使用umount命令卸载文件系统,在关机之前,确保文件系统已被正确卸载,以避免任何未完成的写入操作;

19、调用reboot命令并传递参数poweroff,让cpu系统进入正常关机流程,至此完成整个断电关机流程。

20、进一步的,所述方法还包括日志记录:在系统中加入日志记录机制,在发生故障或异常时能够追踪问题。

21、进一步的,所述方法还包括备份机制:在发生断电时能够恢复数据。

22、一种基于嵌入式linux平台的掉电关机保护数据的系统:

23、所述系统包括电容模块、gpio引脚检测模块和掉电关机保护模块;

24、所述电容模块用于避免瞬间关机;

25、所述gpio引脚检测模块连接到系统内部和外部供电硬件上;当系统启动给电容充电时,运行程序并通过secondpower.sh脚本定期检查gpio引脚的状态变化;

26、所述掉电关机保护模块在判定为掉电时进入关机流程并正确关机。

27、一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

28、一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现上述方法的步骤。

29、本发明有益效果

30、本发明确保设备文件系统能够正常访问,能够减少外场设备反复开机后出现设备不能正常启动,导致不能正常工作,从而需要重新刷系统或者进行fsck修复的情况。

31、本发明确保数据完整性:正常关机确保了文件系统和数据的完整性。通过调用reboot(poweroff),系统可以有序地关闭进程、保证文件系统正确卸载,从而避免数据损坏或文件系统错误。

32、本发明能提供硬件保护:使用电容供电和监测外部电源状态的gpio可以增加系统的稳定性。电容供电可以在短暂的断电情况下维持系统运行,gpio监测能够及时发现外部电源变化。

33、本发明将这些操作封装在一个脚本中,例如secondpower.sh,使得执行和维护这个关机流程变得更加方便。这有助于系统管理员或维护人员在必要时对系统进行调试和维护。

34、将文件系统转换为只读模式和正确卸载可以降低数据丢失的风险。只读模式减少了写入操作,避免了文件系统在关机时出现问题。

35、并且本发明具有可扩展性:可以根据具体硬件和系统需求进行定制和修改,以满足特定的嵌入式系统要求。



技术特征:

1.一种基于嵌入式linux平台的掉电关机保护数据的方法,其特征在于:

2.根据权利要求1所述方法,其特征在于:

3.根据权利要求2所述方法,其特征在于:

4.根据权利要求3所述方法,其特征在于:

5.根据权利要求4所述方法,其特征在于:

6.根据权利要求5所述方法,其特征在于:

7.根据权利要求6所述方法,其特征在于:

8.一种基于嵌入式linux平台的掉电关机保护数据的系统,其特征在于:

9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任意一项所述方法的步骤。

10.一种计算机可读存储介质,用于存储计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1至7中任意一项所述方法的步骤。


技术总结
本发明提出了一种基于嵌入式Linux平台的掉电关机保护数据的方法及系统,在硬件上增加电容供电,避免瞬间关机;增加一个gpio引脚连接到外部供电硬件上;系统启动给电容充电:并在运行程序并通过secondpower.sh脚本定期检查GPIO引脚的状态变化;在判定为掉电时进入掉电关机流程并正确关机;本发明当嵌入式Linux平台在外场出现突然断电关机的情况下,避免系统因为反复开关机过程中文件系统出现概率损坏,导致后面设备开机无法挂载文件系统或者文件系统读写异常,进而保证文件系统经过几千次系统掉电依然能够正常运行。

技术研发人员:李丹
受保护的技术使用者:黑龙江惠达科技发展有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1