CN115033502A - 一种数据防丢失方法、装置、计算机设备和存储介质 - Google Patents
一种数据防丢失方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115033502A CN115033502A CN202210624333.6A CN202210624333A CN115033502A CN 115033502 A CN115033502 A CN 115033502A CN 202210624333 A CN202210624333 A CN 202210624333A CN 115033502 A CN115033502 A CN 115033502A
- Authority
- CN
- China
- Prior art keywords
- programmable logic
- logic device
- complex programmable
- data
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000002265 prevention Effects 0.000 title claims abstract description 28
- 230000015654 memory Effects 0.000 claims abstract description 111
- 238000004590 computer program Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种数据防丢失方法、装置、计算机设备和存储介质。所述方法应用于复杂可编程逻辑器件无断电更新,通过判断是否更新复杂可编程逻辑器件,若更新复杂可编程逻辑器件,则读取内设于复杂可编程逻辑器件内的寄存器数据,将寄存器数据写入用户闪存,并锁存复杂可编程器件管脚状态,直至复杂可编程逻辑器件更新完成。本申请基于复杂可编程逻辑器件无断电更新后其内部寄存器数据会被清除的技术问题,搭配内设于复杂可编程逻辑器件的用户闪存,在不附加外在设备的前提下,实现了复杂可编程逻辑器件在无断电更新后有效防止寄存器内部数据丢失的有益效果。
Description
技术领域
本申请涉及数据存储技术领域,特别是涉及一种数据防丢失方法、装置、计算机设备和存储介质。
背景技术
复杂可编程逻辑器件(英文全称:Complex Programmable Logic Device;简称:CPLD)作为可程序化的逻辑器件,被广泛应用于服务器上,CPLD可以通过程序编码的方式,实现许多的数字电路应用,包含常见的逻辑闸,计数器等,都可以全部整合到CPLD内部实现,在服务器上最常使用到的是主板上的电源时序控制,并搭配多向控制总线(英文全称:Inter-Integrated Circuit;简称:I2C)接口来达到与基板管理控制器(英文全称:Baseboard Management Controller;简称:BMC)交互沟通的应用,以达到通过BMC控制CPLD的外部器件,比如灯号的显示、硬件外部的开关控制,或是实现读取CPLD监控。由于CPLD是可以重复的更新,但CPLD更新后的外部管脚将无法锁存,进而会导致服务器的电源将无法正常运作,同时在CPLD更新后,CPLD内部的寄存器将会恢复到初始状态,这代表的是当BMC通过I2C写数据到CPLD内部的寄存器时,CPLD内部也将会恢复到初始状态,这也将影响到原本CPLD控制外部器件的状态。
在现有的服务器主板设计中,使用CPLD无断电更新的设计时,虽然可以使CPLD的管脚保持当前的状态,并达到***不断电就可以完成CPLD的更新,但面临到的一个问题是,一旦CPLD更新完毕,CPLD内部被BMC填写的寄存器的数值就会被恢复到初始状态,例如:当***开机的时候,CPLD本身有些外部的管脚是通过CPLD内部的寄存器去控制的,而内部的寄存器是由BMC通过I2C写入到CPLD,所以当***运作的情况下,BMC是可以随时控制CPLD内部的寄存器,来控制外部的电路。例如灯号的控制或是控制外部开关的电路,如果BMC通过I2C控制CPLD内部的寄存器去开启CPLD控制外部的切换开关,在CPLD无断电更新完成后,这些控制外部的讯号将会回到初始状态。即原本在CPLD无断电更新前,BMC通过I2C将该切换开关电路打开,但一旦无断电更新CPLD后,原本应该被CPLD开启的切换开关电路,在CPLD使用无断电更新完毕后,切换开关电路会处于关闭状态,这样会导致***在设计行为上出现问题。而导致这一问题发生的最主要的原因是,CPLD被更新完毕后,BMC写入到CPLD内部寄存器将会恢复到初始的关闭状态,而目前的方案仅大多数针对如何实现无断电更新CPLD,但并未考虑到当CPLD无断电更新后,如何保持BMC写入CPLD的寄存器状态。即现有的技术仅针对如何实现无断电更新,比方使用外部讯号通知CPLD需要开始启动无断电更新流程,或是CPLD内部自己处理无断电更新流程,但不管当前使用哪种无断电更新,皆没有办法在无断电更新后,可以保持CPLD内部寄存器在无断电更新前的状态。
因此,急需提出一种能够实现在CPLD无断电更新时,可以有效保留寄存器内数据,防止存储于寄存器内数据丢失的数据防丢失方法、装置、计算机设备和存储介质。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现在CPLD无断电更新时,可以有效保留寄存器内数据,防止存储于寄存器内数据丢失的数据防丢失方法、装置、计算机设备和存储介质。
一方面,提供一种数据防丢失方法,应用于复杂可编程逻辑器件无断电更新,所述方法包括:
判断是否更新所述复杂可编程逻辑器件;
若更新所述复杂可编程逻辑器件,则读取所述内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件内的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在其中一个实施例中,所述复杂可编程逻辑器件更新完成后,所述方法还包括:读取所述用户闪存内数据并写回至所述寄存器;解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
在其中一个实施例中,判断是否更新所述复杂可编程逻辑器件,包括:监测所述复杂可编程逻辑器件是否收到更新指令;若所述复杂可编程逻辑器件收到更新指令,则更新所述复杂可编程逻辑器件。
在其中一个实施例中,更新所述复杂可编程逻辑器件前,所述方法还包括:将所述复杂可编程逻辑器件置为数据可写入状态。
在其中一个实施例中,将所述复杂可编程逻辑器件置为数据可写入状态前,所述方法还包括:判断所述复杂可编程逻辑器件是否处于更新状态;若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
在其中一个实施例中,判断所述复杂可编程逻辑器件是否处于更新状态,包括:判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
在其中一个实施例中,读取所述用户闪存内数据并写回至所述寄存器后,所述方法还包括:清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
另一方面,提供了一种数据防丢失装置,所述装置包括:复杂可编程逻辑器件和第一判断单元,所述复杂可编程逻辑器件包括用户闪存和寄存器;
所述第一判断单元与所述复杂可编程逻辑器件通信连接,所述第一判断单元以用于判断是否更新所述复杂可编程逻辑器件;
若所述第一判断单元判断更新所述复杂可编程逻辑器件,则所述复杂可编程逻辑器件读取所述内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
上述数据防丢失方法、装置、计算机设备和存储介质,上述数据防丢失方法应用于复杂可编程逻辑器件无断电更新,通过判断是否更新所述复杂可编程逻辑器件,若更新所述复杂可编程逻辑器件,则读取所述内设于复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。本申请基于复杂可编程逻辑器件无断电更新后其内部寄存器数据会被清除的技术问题,搭配内设于复杂可编程逻辑器件内部的用户闪存,在不附加外在设备的前提下,实现了复杂可编程逻辑器件在无断电更新后有效防止寄存器内部数据丢失的有益效果。
附图说明
图1为一个实施例中数据防丢失方法的应用环境图;
图2为一个实施例中数据防丢失方法的流程示意图;
图3为一个实施例中数据防丢失步骤的流程示意图;
图4为另一个实施例中数据防丢失方法的流程示意图;
图5为一个实施例中数据防丢失装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一
本申请提供的数据防丢失方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104作为***通信装置与复杂可编程逻辑器件通信连接,以用于接收外部讯号,进而基于外部讯号实现对复杂可编程逻辑器件的无断电更新;终端102以用于根据CPLD更新要求向服务器104发送外部讯号。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和/或平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,提供了一种数据防丢失方法,以该方法应用于图1中的终端102为例进行说明,即基于外部讯号实现对复杂可编程逻辑器件的无断电更新,包括以下步骤:
步骤A,将内设于所述复杂可编程逻辑器件内部的用户闪存置为数据可写入状态;
步骤B,判断是否更新所述复杂可编程逻辑器件;
步骤C,若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,提供了一种数据防丢失方法,以该方法应用于图1中的终端102为例进行说明,即基于外部讯号实现对复杂可编程逻辑器件的无断电更新,包括以下步骤:
步骤A,判断是否更新所述复杂可编程逻辑器件;
步骤B,若更新所述复杂可编程逻辑器件,则将内设于所述复杂可编程逻辑器件内部的用户闪存置为数据可写入状态;
步骤C,读取所述内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,所述用户闪存的数量为一;需要理解的是,当所述用户闪存的数量为一时,可以将用户闪存划分为至少两个区,定义其中一个区为次专区,将次专区专用于存储寄存器数据,以确保对复杂可编程逻辑器件进行更新时,有足够的空间可以存储寄存器数据。在需要对复杂可编程逻辑器件进行无断电更新时,提前将次专区设置为数据可写入状态,以确保在对复杂可编程逻辑器件无断电更新前,可以将寄存器数据存储至用户闪存的次专区;当不对复杂可编程逻辑器件进行无断电更新时,将次专区设置为数据不可写入状态,以防止非寄存器数据写入。
在一个实施例中,所述用户闪存的数量为多个;当所述用户闪存的数量为多个时,可以基于复杂可编程逻辑器件无断电更新频次、寄存器数据量及其他相关更新需求,将其中一个或多个用户闪存定义为复杂可编程逻辑器件无断电更新时专用的数据闪存单元,以保证复杂可编程逻辑器件的更新频次满足作业需求,以确保寄存器内部数据不丢失。
在一个实施例中,所述复杂可编程逻辑器件更新完成后,所述方法还包括:读取所述用户闪存内数据并写回至所述寄存器;解锁处于锁存状态的所述复杂可编程逻辑器件管脚。将所述用户闪存内数据写回寄存器,以实现保留复杂可编程逻辑器件更新前的寄存器内部的数据不丢失,解锁处于锁存状态的复杂可编程逻辑器件管脚以实现基板管理控制器通过I2C总线实现对复杂可编程逻辑器件内部寄存器的控制,最终实现对复杂可编程逻辑器件管脚的管脚状态控制。
在一个实施例中,将所述复杂可编程逻辑器件置为数据可写入状态前,所述方法还包括:判断所述复杂可编程逻辑器件是否处于更新状态;若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
在一个实施例中,判断所述复杂可编程逻辑器件是否处于更新状态,包括:判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
在一个实施例中,读取所述用户闪存内数据并写回至所述寄存器后,所述方法还包括:清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
在一个实施例中,所述方法还包括:当所述复杂可编程逻辑器件处于更新状态时,则发出第一信号告警;当所述复杂可编程逻辑器件完成更新时,则发出第二信号告警,待所述第二信号告警时长超过预设阈值时,则发出第三信号告警。
在一个实施例中,所述第一信号告警、第二信号告警与所述第三信号告警包括:信号灯告警和/或蜂鸣器告警;所述告警频率从高到低依次为:所述第二信号告警、所述第一信号告警和所述第三信号告警。以告警的方式直观、高效地告知技术人员复杂可编程逻辑器件无断电更新的状态,即所述复杂可编程逻辑器件是处于正在更新状态、还是刚刚完成更新、还是处于非更新状态。
在一个实施例中,判断是否更新所述复杂可编程逻辑器件,包括:监测所述复杂可编程逻辑器件是否收到更新指令;若所述复杂可编程逻辑器件收到更新指令,则更新所述复杂可编程逻辑器件。所述更新指令包括内部更新指令和外部更新指令,内部更新指令由所述复杂可编程逻辑器件发出,外部更新指令由所述复杂可编程逻辑器件发出。
上述数据防丢失方法中,应用于复杂可编程逻辑器件无断电更新,通过将内设于所述复杂可编程逻辑器件内部的用户闪存置为数据可写入状态;判断是否更新所述复杂可编程逻辑器件,若更新所述复杂可编程逻辑器件,则读取所述内设于复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。本申请基于复杂可编程逻辑器件无断电更新后其内部寄存器数据会被清除的技术问题,搭配内设于复杂可编程逻辑器件内部的用户闪存,在不附加外在设备的前提下,实现了复杂可编程逻辑器件在无断电更新后有效防止寄存器内部数据丢失的有益效果。即可以实现复杂可编程逻辑器件在被更新后,完整保持复杂可编程逻辑器件被更新前的数据信息及控制信息,如:基板管理控制器通过双向控制总线控制复杂可编程逻辑器件内部寄存器、复杂可编程逻辑器件管脚状态等,以实现对复杂可编程逻辑器件无断电更新情景的进一步完善。
实施例二
在一个实施例中,如图2所示,提供了一种数据防丢失方法,应用于复杂可编程逻辑器件无断电更新,本实施例所述的数据防丢失方法以基于内部讯号实现对复杂可编程逻辑器件的无断电更新,即复杂可编程逻辑器件不与外部器件进行通讯,基于自我更新需求实现自我更新,包括以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,如图3所示,提供了一种数据防丢失方法,应用于复杂可编程逻辑器件无断电更新,本实施例所述的数据防丢失方法以基于内部讯号实现对复杂可编程逻辑器件的无断电更新,即复杂可编程逻辑器件不与外部器件进行通讯,基于自我更新需求实现自我更新,包括以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则将内设于所述复杂可编程逻辑器件内部的用户闪存置为数据可写入状态;
步骤C:读取所述内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,所述用户闪存的数量为一;需要理解的是,当所述用户闪存的数量为一时,可以将用户闪存划分为至少两个区,将其中一个区定义为次专区,并设置所述次专区专用于在对复杂可编程逻辑器件进行无断电更新时,存储寄存器数据;在不对复杂可编程逻辑器件进行无断电更新时,将所述次专区设置为数据不可写入状态,以防止除寄存器数据之外的数据存入所述次专区;只有在确定需要对复杂可编程逻辑器件进行无断电更新时,才提前将所述次专区设置为数据可写入状态,以确保在对复杂可编程逻辑器件进行无断电更新时,次专区有足够的存储空间存储寄存器数据。
在一个实施例中,所述用户闪存的数量为多个;当所述用户闪存的数量为多个时,可以基于复杂可编程逻辑器件无断电更新频次、寄存器数据量及其他相关更新需求,将其中一个或多个用户闪存定义为复杂可编程逻辑器件无断电更新时专用的数据闪存单元,以保证复杂可编程逻辑器件的更新频次满足作业需求,以确保寄存器内部数据不丢失。
在一个实施例中,如图3所示,所述复杂可编程逻辑器件更新完成后,所述方法还包括:读取所述用户闪存内数据并写回至所述寄存器;解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
在一个实施例中,如图4所示,将所述复杂可编程逻辑器件置为数据可写入状态前,所述方法还包括:判断所述复杂可编程逻辑器件是否处于更新状态;若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
在一个实施例中,读取所述用户闪存内数据并写回至所述寄存器后,所述方法还包括:清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
在一个实施例中,判断所述复杂可编程逻辑器件是否处于更新状态,包括:判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
在一个实施例中,所述方法还包括:当所述复杂可编程逻辑器件处于更新状态时,则发出第一信号告警;当所述复杂可编程逻辑器件完成更新时,则发出第二信号告警,待所述第二信号告警时长超过预设阈值时,则发出第三信号告警。
在一个实施例中,所述第一信号告警、第二信号告警与所述第三信号告警包括:信号灯告警和/或蜂鸣器告警;所述告警频率从高到低依次为:所述第二信号告警、所述第一信号告警和所述第三信号告警。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例三
在一个实施例中,如图5所示,提供了一种数据防丢失装置,所述装置包括:复杂可编程逻辑器件和第一判断单元,所述复杂可编程逻辑器件包括用户闪存和寄存器;所述复杂可编程逻辑器件将内设于所述复杂可编程逻辑器件内部的用户闪存置为数据可写入状态;所述第一判断单元与所述复杂可编程逻辑器件通信连接,所述第一判断单元以用于判断是否更新所述复杂可编程逻辑器件;若所述第一判断单元判断更新所述复杂可编程逻辑器件,则所述复杂可编程逻辑器件读取所述内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入所述用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,所述复杂可编程逻辑器件还用于读取所述用户闪存内数据并写回至所述寄存器,还用于解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
在一个实施例中,所述装置还包括:监测单元,所述监测单元与所述复杂可编程逻辑器件通信连接,所述监测单元以用于监测所述复杂可编程逻辑器件是否处于更新状态;若所述监测单元监测到所述复杂可编程逻辑器件不处于更新状态,则所述复杂可编程逻辑器件将所述用户闪存置为数据可写入状态;若所述监测单元监测到所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态,直至所述复杂可编程逻辑器件不处于更新状态。
关于数据防丢失装置的具体限定可以参见上文中对于数据防丢失方法的限定,在此不再赘述。上述数据防丢失装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例四
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储复杂可编程逻辑器件无断电更新次数数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据防丢失方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取所述用户闪存内数据并写回至所述寄存器;解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:监测所述复杂可编程逻辑器件是否收到更新指令;若所述复杂可编程逻辑器件收到更新指令,则更新所述复杂可编程逻辑器件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述复杂可编程逻辑器件置为数据可写入状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断所述复杂可编程逻辑器件是否处于更新状态;若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
实施例五
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤A:判断是否更新所述复杂可编程逻辑器件;
步骤B:若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取所述用户闪存内数据并写回至所述寄存器;解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:监测所述复杂可编程逻辑器件是否收到更新指令;若所述复杂可编程逻辑器件收到更新指令,则更新所述复杂可编程逻辑器件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述复杂可编程逻辑器件置为数据可写入状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判断所述复杂可编程逻辑器件是否处于更新状态;若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据防丢失方法,其特征在于,应用于复杂可编程逻辑器件无断电更新,所述方法包括:
判断是否更新所述复杂可编程逻辑器件;
若更新所述复杂可编程逻辑器件,则读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
2.根据权利要求1所述的数据防丢失方法,其特征在于,所述复杂可编程逻辑器件更新完成后,所述方法还包括:
读取所述用户闪存内数据并写回至所述寄存器;
解锁处于锁存状态的所述复杂可编程逻辑器件管脚。
3.根据权利要求2所述的数据防丢失方法,其特征在于,判断是否更新所述复杂可编程逻辑器件,包括:
监测所述复杂可编程逻辑器件是否收到更新指令;
若所述复杂可编程逻辑器件收到更新指令,则更新所述复杂可编程逻辑器件。
4.根据权利要求3所述的数据防丢失方法,其特征在于,更新所述复杂可编程逻辑器件前,所述方法还包括:将所述复杂可编程逻辑器件置为数据可写入状态。
5.根据权利要求4所述的数据防丢失方法,其特征在于,将所述复杂可编程逻辑器件置为数据可写入状态前,所述方法还包括:
判断所述复杂可编程逻辑器件是否处于更新状态;
若所述复杂可编程逻辑器件处于更新状态,则将所述用户闪存置为数据不可写入状态;
若所述复杂可编程逻辑器件不处于更新状态,则将所述用户闪存置为数据可写入状态。
6.根据权利要求5所述的数据防丢失方法,其特征在于,判断所述复杂可编程逻辑器件是否处于更新状态,包括:
判断所述用户闪存内是否存储有数据,和,所述复杂可编程逻辑器件管脚是否处于锁存状态;
若所述用户闪存内存储有数据,且,所述复杂可编程逻辑器件管脚处于锁存状态,则判断所述复杂可编程逻辑器件处于更新状态;反之,则判断所述复杂可编程逻辑器件不处于更新状态。
7.根据权利要求1~6任一项所述的数据防丢失方法,其特征在于,读取所述用户闪存内数据并写回至所述寄存器后,所述方法还包括:
清除所述用户闪存内数据,并将所述用户闪存置为数据可写入状态。
8.一种数据防丢失装置,其特征在于,所述装置包括:
复杂可编程逻辑器件和第一判断单元,所述复杂可编程逻辑器件包括用户闪存和寄存器;
所述第一判断单元与所述复杂可编程逻辑器件通信连接,所述第一判断单元以用于判断是否更新所述复杂可编程逻辑器件;
若所述第一判断单元判断更新所述复杂可编程逻辑器件,则所述复杂可编程逻辑器件读取内设于所述复杂可编程逻辑器件内的寄存器数据,将所述寄存器数据写入内设于所述复杂可编程逻辑器件的用户闪存,并锁存所述复杂可编程器件管脚状态,直至所述复杂可编程逻辑器件更新完成。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210624333.6A CN115033502A (zh) | 2022-06-02 | 2022-06-02 | 一种数据防丢失方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210624333.6A CN115033502A (zh) | 2022-06-02 | 2022-06-02 | 一种数据防丢失方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115033502A true CN115033502A (zh) | 2022-09-09 |
Family
ID=83123628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210624333.6A Pending CN115033502A (zh) | 2022-06-02 | 2022-06-02 | 一种数据防丢失方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033502A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806924A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种指示装置的控制方法、装置、服务器及介质 |
-
2022
- 2022-06-02 CN CN202210624333.6A patent/CN115033502A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806924A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种指示装置的控制方法、装置、服务器及介质 |
CN117806924B (zh) * | 2024-02-29 | 2024-05-10 | 苏州元脑智能科技有限公司 | 一种指示装置的控制方法、装置、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992310B (zh) | 应用程序保活方法、装置、计算机设备和存储介质 | |
CN110073333A (zh) | 恢复fpga芯片中的逻辑的方法、***和fpga设备 | |
US10649840B2 (en) | Data storage device performing recovery operation after sudden power-off and operating method thereof | |
CN115033502A (zh) | 一种数据防丢失方法、装置、计算机设备和存储介质 | |
JP5981906B2 (ja) | 画像形成装置 | |
CN110430431B (zh) | 视频解码方法、芯片、装置、计算机设备和存储介质 | |
CN113467709B (zh) | 存储器***及其操作方法 | |
KR20170139730A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109388511B (zh) | 一种信息处理方法、电子设备及计算机存储介质 | |
CN111552650B (zh) | 一种数据保存方法、装置、存储介质和数据存储设备 | |
JP2009176147A (ja) | 電子機器および電子機器のメモリアクセス許可判別方法 | |
CN113687842B (zh) | 更新韧体不需断电的服务器及主板模块 | |
CN109542345B (zh) | Flash存储器的数据写入和读取方法、装置 | |
CN108121580A (zh) | 应用程序通知服务的实现方法及装置 | |
CN114116306B (zh) | 磁盘阵列掉电下的数据备份方法、***、终端及存储介质 | |
CN115714714B (zh) | 管理网络智能切换***、方法、计算机设备和存储介质 | |
JP3497066B2 (ja) | フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置 | |
KR100526547B1 (ko) | 듀얼 칩을 구비하는 단말기에서 nand 플래쉬 메모리관리방법 | |
CN116610494A (zh) | 一种卫星测控设备重要数据备份及恢复方法、装置和设备 | |
CN116483450A (zh) | 一种bios启动时间优化方法、装置、设备及介质 | |
CN116204484A (zh) | 通信连接方法、装置、计算机设备和存储介质 | |
CN115858024A (zh) | 芯片启动的初始化方法、装置、计算机设备和存储介质 | |
JP2008305263A (ja) | 不揮発性半導体記憶装置及びメモリ管理方法 | |
CN116431542A (zh) | 一种防芯片spi与nand管脚冲突的方法和装置 | |
CN116126382A (zh) | 复杂可编程逻辑器件在线升级方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |