智能网关灾难恢复方法、装置、电子设备以及存储介质与流程

文档序号:31053955发布日期:2022-08-06 10:17阅读:111来源:国知局
智能网关灾难恢复方法、装置、电子设备以及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种智能网关灾难恢复方法、装置、电子设备以及存储介质。


背景技术:

2.目前智能家居越来越普及,而智能网关作为智能家居的大脑,一般使用linux或android操作系统,而不带电池的网关,由于市电关闭,没有执行正确的关机流程。有概率会导致存储介质内的数据没有及时写入,而导致系统丢失关键文件,从而导致系统无法正确启动。
3.然而,由于网关无法启动则其下的子设备都将无法正常工作,导致智能家居的大脑瘫痪,从而给用户带来了极大的不便。
4.因此,如何解决上述问题是目前亟需解决的问题。


技术实现要素:

5.本技术提供一种智能网关灾难恢复方法、装置、电子设备以及存储介质,旨在改善上述问题。
6.第一方面,本技术提供的一种智能网关灾难恢复方法,在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位;
7.基于所述标志位以及所述恢复启动次数确定是否进行数据恢复;
8.若是,对所述智能网关进行数据恢复;
9.若否,计算被保护文件的哈希值;
10.根据所述哈希值检查所述被保护文件是否发生异常;
11.若发生异常,写入异常数据至所述看门狗中的标志位中,以将所述异常数据存储至所述看门狗。
12.在一可能的实施例中,在所述在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位之前,所述方法还包括:
13.接收启动指令,所述启动指令为用户手动输入;
14.根据所述启动指令启动。
15.在一可能的实施例中,所述基于所述标志位以及所述恢复启动次数确定是否进行数据恢复,包括:
16.判断所述标志位是否存储有异常数据;
17.若是,对所述智能网关进行数据恢复;
18.若否,判断所述恢复启动次数是否小于预设阈值;
19.若小于所述预设阈值,以正常模式启动所述智能网关;
20.若不小于所述预设阈值,对所述智能网关进行数据恢复。
21.在一可能的实施例中,所述方法还包括:在所述若小于所述预设阈值,以正常模式
启动所述智能网关之后,所述方法还包括:
22.控制所述智能网关休眠预设时间,并清零所述恢复启动次数。
23.在一可能的实施例中,所述对所述智能网关进行数据恢复,包括:
24.挂载出厂存储的恢复文件;
25.将系统恢复文件指向已挂载的所述恢复文件;
26.执行系统升级机制,使用所述恢复文件对所述智能网关进行数据恢复。
27.在一可能的实施例中,所述方法还包括:
28.重启所述智能网关;
29.从所述看门狗读取标志位,如果所述标志位为true,则将备份文件进行恢复。
30.在一可能的实施例中,所述计算被保护文件的哈希值,包括:
31.确定cpu负荷是否小于第一负荷阈值以及io负荷是否小于第二负荷阈值;
32.若所述cpu负荷小于所述第一负荷阈值以及所述io负荷小于所述第二负荷阈值;
33.逐个计算被保护文件的哈希值;
34.确定每一所述被保护文件被校验后当前cpu负荷是否小于所述第一负荷阈值以及当前io负荷是否小于所述第二负荷阈值;
35.若是,暂停检查,以让出预设时间的cpu和io使用时间,直到所述当前cpu负荷小于所述第一负荷阈值以及所述当前io负荷小于所述第二负荷阈值,所述预设时间为100ms。
36.第二方面,本技术提供的一种智能网关灾难恢复装置,所述装置包括:
37.处理模块,用于在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位;
38.数据恢复判断模块,用于基于所述标志位以及所述恢复启动次数确定是否进行数据恢复;
39.数据恢复模块,用于若是,对所述智能网关进行数据恢复;
40.数据守护模块,用于若否,计算被保护文件的哈希值;根据所述哈希值检查所述被保护文件是否发生异常;若发生异常,写入异常数据至所述看门狗中的标志位中,以将所述异常数据存储至所述看门狗。
41.第三方面,本技术提供的一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现如第一方面任一项所述的智能网关灾难恢复方法。
42.第四方面,本技术提供的一种存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如第一方面任一项所述的智能网关灾难恢复方法的步骤。
43.有益效果:上述本技术提供的一种智能网关灾难恢复方法、装置、电子设备以及存储介质,通过在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位;基于所述标志位以及所述恢复启动次数确定是否进行数据恢复;若是,对所述智能网关进行数据恢复;若否,计算被保护文件的哈希值;根据所述哈希值检查所述被保护文件是否发生异常;若发生异常,写入异常数据至所述看门狗中的标志位中,以将所述异常数据存储至所述看门狗。从而可以实现在智能网关的系统出现异常时,进行自动恢复,以达到无需人为干预,自行进行系统恢复的功能,以及降低智能网关设备瘫痪的概率。
附图说明
44.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
45.图1为本技术第一实施例提供的一种电子设备的结构示意图;
46.图2为本技术第二实施例提供的一种智能网关灾难恢复方法的流程图;
47.图3为本技术第二实施例提供的一种智能网关灾难恢复方法中判定是否进行恢复的流程图;
48.图4为本技术第二实施例提供的另一种智能网关灾难恢复方法的流程图;
49.图5为本技术第三实施例提供的一种智能网关灾难恢复装置的功能模块示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.图1为本技术实施例提供的一种电子设备的结构示意图,在本技术中可以通过图1所示的示意图来描述用于实现本技术实施例的智能网关灾难恢复方法、装置的示例的电子设备100。
52.如图1所示的一种电子设备的结构示意图,该电子设备100为智能网关设备。该电子设备100可以包括处理器101,电子设备100还可以包括存储器102和/或收发器103。其中,处理器101与存储器102和收发器103 耦合,如可以通过通信总线连接。
53.下面结合图1对电子设备100的各个构成部件进行具体的介绍:
54.其中,处理器101是电子设备100的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器101是一个或多个中央处理器(central processing unit,cpu),也可以是特点集成电路(applicationspecific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signalprocessor,dsp),或,一个或者多个现场可编程门阵列(field programmablegate array,fpga)。
55.可选地,处理器101可以通过运行或执行存储在存储器102内的软件程序,以及调用存储在存储器102内的数据,执行电子设备100的各种功能。
56.在具体的实现中,作为一种实施例,处理器101可以包括一个或多个 cpu,例如图1中所示出的cpu0和cpu1。
57.在具体实现中,作为一种实施例,电子设备100也可以包括多个处理器,例如图1中所示的处理器101和处理器104。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器 (multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
58.其中,所述存储器102用于存储执行本技术方案的软件程序,并由处理器101来控
制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
59.可选地,存储器102可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器 (random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,eeprom)、只读光盘(compact discread-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器102可以和处理器101集成在一起,也可以独立存在,并通过电子设备100的接口电路(图1中未示出)与处理器101耦合,本技术实施例对此不作具体限定。
60.收发器103,用于与其他终端设备之间的通信。例如,电子设备100为终端设备,收发器103可以用于与网络设备通信,或者与另一个终端设备通信。
61.可选地,收发器103可以包括接收器和发送器(图1中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
62.可选地,收发器103可以和处理器101集成在一起,也可以独立存在,并通过电子设备100的接口电路(图1中未示出)与处理器101耦合,本技术实施例对此不作具体限定。
63.需要说明的是,图1中示出的电子设备100的结构并不构成对该电子设备的限定,实际的电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
64.此外,电子设备100的技术效果可以参考上述方法实施例所述的地震初至自动拾取方法的技术效果,此处不再赘述。
65.第二实施例:
66.参照图2所示的一种智能网关灾难恢复方法的流程图,该法具体包括如下步骤:
67.步骤s201,在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位。
68.可选地,标志位存储的数据可以是true或者false。
69.当然,在实际使用中,标志位也可以不用存储数据,而是简单的改变其状态,如将标志位设置为true或者false。
70.应理解,上述仅为示例,而非限定。
71.其中,上电第一时间记录恢复启动次数,是指在上电之后,立即记录恢复启动次数。如上电完成时刻的下一时刻即为上电第一时间。
72.可选地,在步骤s201之前,所述方法还包括:接收启动指令,所述启动指令为用户手动输入;根据所述启动指令启动。
73.举例来说,如“用户手动启动设备”,当用户发现异常时,可选择自行重启设备(智能网关),以使设备进行系统恢复检查,如发生异常,则会进行系统恢复。
74.其中,“设备启动”是指linux或者android设备都需要有一个loader 程序初始化硬件,引导加载系统。
75.步骤s202,基于所述标志位以及所述恢复启动次数确定是否进行数据恢复。
76.作为一种实施方式,步骤s202,包括:判断所述标志位是否存储有异常数据;若是,对所述智能网关进行数据恢复;若否,判断所述恢复启动次数是否小于预设阈值;若小于所述预设阈值,以正常模式启动所述智能网关;若不小于所述预设阈值,对所述智能网关进行数据恢复。
77.可选地,在所述若小于所述预设阈值,以正常模式启动所述智能网关之后,所述方法还包括:控制所述智能网关休眠预设时间,并清零所述恢复启动次数。
78.举例来说,如图3所示,步骤s202包括如下步骤:
79.步骤s2021,看门狗数据异常标准位未被设置。
80.其中,该数据标志位存储在单片机中,并且单片机内有3块区域进行同时存储,以保证该标志位安全可靠。读取时单片机内部会读取读取3个区域的数据,2个或者以上的区域相同的true或者false将被读出。
81.步骤s2022,在为否的情况下(即看门狗数据异常标准位被设置时),进行数据恢复。
82.步骤s2023,在为是的情况下(即看门狗数据异常标准位未被设置时),统计恢复启动次数,是否小于进行数据恢复阈值。
83.其中,此处的阈值即为上述的预设阈值。
84.其中,预设阈值根据实际产品应用进行设置,比如产品启动时间,数据异常的后果等等,在此,不作具体限定。
85.步骤s2024,系统开始启动。
86.步骤s2025,以正常模式启动。
87.步骤s2026,休眠60秒。
88.步骤s2027,恢复计数清零。
89.也就是说,如果标志位未被主动设置,则系统自身也应有恢复的手段,即通过启动异常的次数来判定是否是否进行数据恢复,当系统启动时,将恢复启动计数增加1,当正常进入系统后,由独立进程在休眠60秒后,将该计数将被清零。如果该计数达到设置的阈值,则将启动数据恢复。
90.步骤s203,若是,对所述智能网关进行数据恢复。
91.可选地,所述对所述智能网关进行数据恢复,包括:挂载出厂存储的恢复文件;将系统恢复文件指向已挂载的所述恢复文件;执行系统升级机制,使用所述恢复文件对所述智能网关进行数据恢复。
92.可选地,所述方法还包括:重启所述智能网关;从所述看门狗读取标志位,如果所述标志位为true,则将备份文件进行恢复。
93.具体地:由于恢复文件的制作需要在生成工厂生产镜像时产生,一般制作ext4文件系统的镜像,生产时将该镜像直接烧录到指定分区,后续启动时直接挂载即可使用。在linux文件系统中,如果某块分区已经建立好文件系统,可以将这块分区直接挂载,因恢复文件分区出厂时已经烧录,故可以直接挂载。
94.由于每种系统的系统升级流程不一样,不能一概而论,但一般而言,系统升级是启动一个小系统来对大系统进行文件升级,需要根据系统特异,定位到合适的位置,将默认的升级文件路径改成上一步挂载的文件;系统启动后,守护进程将在启动时从单片机读取标
志位,如果恢复标志位为 true,则将备份文件进行恢复。
95.也就是说,在本技术中,数据恢复是利用改造后的系统升级机制来进行恢复。由于系统的恢复是事先在生产线烧录好的系统升级程序进行升级,数据的恢复需要根据备份分区中存储的文件md5,并且按照规则,选择性的进行覆盖替换,从而完成数据恢复。
96.也就是说,系统文件的恢复可以在该系统原有的升级机制中进行重构升级逻辑,将特定存在的、事先烧录好的恢复文件加入到升级流程中,系统升级机制将恢复文件按照原本的逻辑进行逐个覆盖原始文件,这些原始文件中正常的文件不收影响,而异常的文件则会恢复成正常。
97.应理解,数据文件的恢复需要事先规划好2个文件存储的分区,1号分区是实时被读写的文件分区,2号分区是被定时备份的分区,2号分区也还规划了正确文件的哈希值存储区域,以提供数据守护程序存储数据。系统启动的数据守护程序将按照规则对保护的文件定期进行备份并更新哈希值,确保备份文件定期能更新。
98.步骤s204,若否,计算被保护文件的哈希值。
99.可选地,所述计算被保护文件的哈希值,包括:确定cpu负荷是否小于第一负荷阈值以及io负荷是否小于第二负荷阈值;若所述cpu负荷小于所述第一负荷阈值以及所述io负荷小于所述第二负荷阈值;逐个计算被保护文件的哈希值;确定每一所述被保护文件被校验后当前cpu负荷是否小于所述第一负荷阈值以及当前io负荷是否小于所述第二负荷阈值;若是,暂停检查,以让出预设时间的cpu和io使用时间,直到所述当前cpu负荷小于所述第一负荷阈值以及所述当前io负荷小于所述第二负荷阈值,所述预设时间为100ms。
100.应理解,cpu负荷和io负荷,需要根据实际应用进行定制,在此,不作具体限定。
101.需要说明的是,被保护文件可以根据配置文件指定,在此,不作具体限定。
102.也就是说,在该步骤中,该步骤启动时机需要做到三点:1.不在cpu 高负荷时启动。2.不在io高负荷时启动。3.文件是逐个校验的。故每检查完一个文件后,需要检查当前的cpu和io负荷,如果负荷太高,则暂停检查,让出100ms的cpu和io使用时间,直到能继续进行检查。
103.步骤s205,根据所述哈希值检查所述被保护文件是否发生异常。
104.可选地,检查的间隔是1分钟。
105.步骤s206,若发生异常,写入异常数据至所述看门狗中的标志位中,以将所述异常数据存储至所述看门狗。
106.在本技术中,当系统异常发生时,cpu等核心部件可能已被死锁,导致系统死机,所以外置的看门狗就起到检测系统异常发生,并且复位系统,是系统进入恢复流程,以达到无需人为干预,自行进行系统恢复的功能。
107.举例来说,本技术提供的一种智能网关灾难恢复,其操作流程如图4 所示:
108.步骤s301,用户手动重启设备。
109.步骤s302,设备启动。
110.步骤s303,上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位。
111.步骤s304,不需要进行数据恢复。
112.步骤s305,在需要进行数据恢复时,进行数据恢复。
113.步骤s306,在不需要进行数据恢复时,数据守护程序启动,所述看门狗将被喂狗。
114.应理解,该步骤应处于用户空间程序,喂狗操作执行以清除看门狗定时器,否则系统将被重置。
115.步骤s307,看门狗发生超时,复位设备,并进入步骤s302。
116.步骤s308,计算文件哈希值,检查是否发生异常。
117.步骤s309,在不发生异常时,休眠1分钟,进入步骤s306。
118.步骤s310,在发生异常时,设置数据异常标准位,将数据异常标准位存储在看门狗中,然后进入步骤s302。
119.第三实施例:
120.参见图5所示的一种智能网关灾难恢复装置,该智能网关灾难恢复装置500包括:
121.处理模块510,用于在上电第一时间记录恢复启动次数,开启看门狗,读取所述看门狗中的标志位;
122.数据恢复判断模块520,用于基于所述标志位以及所述恢复启动次数确定是否进行数据恢复;
123.数据恢复模块530,用于若是,对所述智能网关进行数据恢复;
124.数据守护模块540,用于若否,计算被保护文件的哈希值;根据所述哈希值检查所述被保护文件是否发生异常;若发生异常,写入异常数据至所述看门狗中的标志位中,以将所述异常数据存储至所述看门狗。
125.需要说明的是,智能网关灾难恢复装置500的功能模块的具体实现可以参照方法实施例的描述,在此,不再赘述。
126.进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述实施例二提供的任一项智能网关灾难恢复方法的步骤。
127.本技术实施例所提供的一种智能网关灾难恢复方法、装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
128.需要说明的是,上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
129.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存
在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
130.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
131.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
132.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
133.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
134.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
135.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
136.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
137.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1