CN117235017A - 数据升级方法、装置、设备及存储介质 - Google Patents
数据升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117235017A CN117235017A CN202311160859.4A CN202311160859A CN117235017A CN 117235017 A CN117235017 A CN 117235017A CN 202311160859 A CN202311160859 A CN 202311160859A CN 117235017 A CN117235017 A CN 117235017A
- Authority
- CN
- China
- Prior art keywords
- data
- default
- file
- target
- effective
- 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 56
- 238000010200 validation analysis Methods 0.000 claims abstract description 13
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据升级方法、装置、设备及存储介质。应用于NV文件系统,NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;包括:在接收到数据更新指令时,从数据更新指令中提取NV配置文件;根据NV配置文件对第一数据文件中的默认NV数据和/或第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;基于目标默认NV数据解析目标生效NV数据。由于本发明在进行NV数据更新时,可分别更新默认NV数据和/或生效NV数据,相对于现有的在进行版本升级时,直接对NV数据进行升级的方式,本发明上述方式能够避免升级后原有NV数据的丢失。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据升级方法、装置、设备及存储介质。
背景技术
在PC通信模块中,有些运营商配置文件、用户参数配置文件,模块自身的应用数据需要存储在flash中支持掉电保存,这类数据我们统称为NV数据。当通信模块版本有改动时,比如新增功能需求等,就需要对通信模块进行版本升级。如果升级后的版本NV数据结构有修改,比如有新增用户配置项时,就需要考虑版本升级后的NV数据兼容。需要保证新的NV数据结构能够生效,同时尽量避免原NV数据丢失或者被修改。相关技术中采用的方案为在原NV数据中新增全新的NV结构使用,但是项目在长期维护过程中,修改NV结构或者新增客户配置的场景很多,如果每次修改都新增一个NV结构,后期会有很多小NV结构,不方便研发后期维护,且如果修改NV结构的同时修改N V版本号,升级后模块会根据NV版本号重新初始化NV数据,这样会导致N V数据恢复默认值,修改了客户配置参数,影响用户体验。因此,如何在数据升级时保留原NV数据,提高数据升级效率成为了亟待解决的技术问题。
发明内容
本发明的主要目的在于提供了一种数据升级方法、装置、设备及存储介质,旨在解决现有技术NV数据升级效率较低,原NV数据会丢失的技术问题。
为实现上述目的,本发明提供了一种数据升级方法,所述数据升级方法应用于NV文件系统,所述NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;
所述方法包括以下步骤:
在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;
根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;
基于所述目标默认NV数据解析所述目标生效NV数据。
可选地,所述根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据的步骤,包括:
获取所述NV配置文件中的第一NV数据和/或第二NV数据;
根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据;
和/或,
根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。
可选地,所述第一NV数据包括NV数据结构,所述第二NV数据包括N V数据的名称与数值的键值对;
所述根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据,包括:
利用所述NV数据结构修改所述第一数据文件中的默认NV数据;
所述根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据,包括:
利用所述键值对作为索引对所述第二数据文件中的生效NV数据进行修改。
可选地,所述基于所述目标默认NV数据解析所述目标生效NV数据的步骤,包括:
对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体;
基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析。
可选地,所述基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析的步骤,包括:
根据所述默认NV数据结构体解析所述第二数据文件中的所述目标生效NV数据;
在存在无法解析的目标参数时,读取所述默认NV数据结构体中所述目标参数对应的参数信息;
将所述参数信息添加至所述目标生效NV数据中。
可选地,所述对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体的步骤,包括:
通过预设数据交换格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
可选地,所述根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改的步骤之前,还包括:
确定所述NV配置文件的文件类型;
根据所述文件类型确定待修改的默认NV数据和/或生效NV数据。
此外,为实现上述目的,本发明还提供一种数据升级装置,所述数据升级装置中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,所述数据升级装置包括:
提取模块,用于在接收到数据更新指令时,从所述数据更新指令中提取N V配置文件;
修改模块,用于根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;
解析模块,用于基于所述目标默认NV数据解析所述目标生效NV数据。
此外,为实现上述目的,本发明还提出一种数据升级设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据升级程序,所述数据升级程序配置为实现如上文所述的数据升级方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据升级程序,所述数据升级程序被处理器执行时实现如上文所述的数据升级方法的步骤。
本发明应用于NV文件系统,所述NV文件系统中设置有用于存放默认N V数据的第一数据文件和用于存放生效NV数据的第二数据文件;包括:在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;基于所述目标默认NV数据解析所述目标生效NV数据。由于本发明NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,在进行NV数据更新时,可分别更新默认NV数据和/或生效NV数据,相对于现有的在升级NV数据后,会丢失原有的NV数据的方式,本发明上述方式能够避免升级后原有NV数据的丢失。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据升级设备的结构示意图;
图2为本发明数据升级方法第一实施例的流程示意图;
图3为本发明数据升级方法第二实施例的流程示意图;
图4为本发明数据升级方法第三实施例的流程示意图;
图5为本发明数据升级方法第三实施例的NV数据解析过程示意图;
图6为本发明数据升级装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据升级设备结构示意图。
如图1所示,该数据升级设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyb oard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fid elity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Me mory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据升级程序。
在图1所示的数据升级设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据升级设备中的处理器1001、存储器1005可以设置在数据升级设备中,所述数据升级设备通过处理器1001调用存储器1005中存储的数据升级程序,并执行本发明实施例提供的数据升级方法。
基于上述数据升级设备,本发明实施例提供了一种数据升级方法,参照图2,图2为本发明数据升级方法第一实施例的流程示意图。
本实施例中,所述数据升级方法应用于NV文件系统,所述NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;所述数据升级方法包括以下步骤:
步骤S10:在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或NV文件系统。以下以所述NV文件系统为例,对本实施例及下述各实施例进行说明。
需要说明的是,所述数据更新指令可以包括NV数据的升级命令或者是用户修改NV数据的NV数据修改命令。所述NV配置文件可以包括需要修改的NV数据。所述第一数据文件可以是用于存放默认NV数据的文件。所述第二数据文件可以是用于存放生效NV数据的文件。NV数据的存储方式可以是通过Json数据格式存储为文件,可提高数据的可读性和维护性。为了与所述默认NV数据和所述生效NV数据一一对应,所述NV配置文件中也可包含第三数据文件和/或第四数据文件,所述第三数据文件中可存放对第一数据文件中的默认NV数据进行修改的修改NV数据。所述第四数据文件可存放对第二数据文件中的生效NV数据进行修改的修改NV数据。在所述第三数据文件为空时,则意味着不需要对第一数据文件中的默认NV数据进行修改。同理,在所述第四数据文件为空时,则意味着不需要对第二数据文件中的生效NV数据进行修改。
进一步的,为了提高数据的可读性和可维护性,所述默认NV数据和所述生效NV数据以Json格式存储在所述第一数据文件和所述第二数据文件中。
步骤S20:根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据。
需要说明的是,所述根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据可以是在所述NV配置文件中存储有对第一数据文件中的默认NV数据进行修改的第一NV数据时,根据所述第一NV数据对第一数据文件中的默认NV数据进行修改。在所述NV配置文件中存储有对第二数据文件中的生效NV数据进行修改的第二NV数据时,根据所述第二NV数据对第二数据文件中的生效NV数据进行修改。得到目标默认NV数据和/或目标生效NV数据。
进一步的,所述第一NV数据包括NV数据结构,所述第二NV数据包括NV数据的名称与数值的键值对;
所述根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据,包括:
利用所述NV数据结构修改所述第一数据文件中的默认NV数据;
所述根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据,包括:
利用所述键值对作为索引对所述第二数据文件中的生效NV数据进行修改。
需要说明的是,所述NV数据结构可以是键值对形式的数据结构。所述N V数据的名称与数值的键值对可以包括NV数据中的成员名称和对应的成员值。所述利用所述NV数据结构修改所述第一数据文件中的默认NV数据可以是将所述默认NV数据中的数据结构修改为所述NV数据结构。所述利用所述键值对作为索引对所述第二数据文件中的生效NV数据进行修改可以是根据所述键值对中的成员名称和对应的成员值,对生效NV数据中的成员的成员值进行修改。例如,第二NV数据中的键值对包括:acsleep-20,第二数据文件中的生效NV数据包括:acsleep-10;dcrpt-20。根据所述键值对的成员名称acsleep,找到所述第二数据文件中的生效NV数据:acsleep-10。将所述生效NV数据中成员acsleep的成员值修改为第二NV数据中的成员值-20,得到的目标生效NV数据为:acsleep-20;dcrpt-20。
步骤S30:基于所述目标默认NV数据解析所述目标生效NV数据。
需要说明的是,所述基于所述目标默认NV数据解析所述目标生效NV数据可以是解析所述目标默认NV数据中的NV数据结构,根据所述NV数据结构对所述目标生效NV数据进行解析。
进一步的,为了提升用户体验感,使用户可以修改NV数据,所述数据更新指令包括生效NV数据修改指令,本实施例还包括:在所述数据更新指令为所述生效NV数据修改指令时,根据所述NV配置文件对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。
需要说明的是,由于用户不能对默认NV数据进行修改,因此,用户触发的对NV数据进行修改的命令均可识别为所述生效NV数据修改指令。所述生效NV数据修改指令可以是用户触发的对第二数据文件中的生效NV数据进行修改的命令。在所述数据更新指令为所述生效NV数据修改指令时,所述N V配置文件中包含对生效NV数据进行修改的修改数据。
在具体实施中,根据用户需求开发了一个APP,这个APP涉及到3个功能特性,为了代码的可维护性,和更好管理NV数据结构,每个功能特性都创建了存储用户配置的NV数据结构。当其中的功能A,用户后期想要新增一个配置项。需要修改NV数据结构来满足用户的需求,这时候可以通过本实施例中的方案,直接对功能A对应的NV文件系统中的NV数据结构进行修改,即修改功能A对应的NV文件系统中的默认NV数据。客户升级版本后可以还可以对新增的配置项进行配置,即修改功能A对应的NV文件系统中的生效NV数据。同时之前用户已经修改过的配置项并没有受到影响。对于程序的内部设计和代码修改来说,维持了原有设计,依旧还是这三个NV,便于管理和维护。
进一步的,为了避免维护的NV数据过多,不便于NV数据的统一管理,相同类型的NV数据可以放到同一个结构和/或同一个文件中。所述步骤S20之前,还包括:确定所述NV配置文件的文件类型;
根据所述文件类型确定待修改的默认NV数据和/或生效NV数据。
需要说明的是,相同类型或者同一APP的NV数据可以放在同一个NV数据文件或者是同一个NV数据结构中,例如,对于终端中的各个APP,同一个APP的NV数据可放置在同一个文件或者同一个NV数据结构中。在进行NV数据升级或修改时,根据NV配置文件中要修改的NV数据的文件类型确定待修改的默认NV数据和/或生效NV数据。
本实施例应用于NV文件系统,所述NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;包括:在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;基于所述目标默认NV数据解析所述目标生效NV数据。由于本发明NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,在进行NV数据更新时,可分别更新默认NV数据和/或生效NV数据,相对于现有的在升级NV数据后,会丢失原有的NV数据的方式,本实施例上述方式能够避免升级后原有NV数据的丢失。
参考图3,图3为本发明数据升级方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20包括:
步骤S201:获取所述NV配置文件中的第一NV数据和/或第二NV数据。
需要说明的是,所述第一NV数据可以是对第一数据文件中的默认NV数据进行修改的NV数据。所述第二NV数据可以是对第二数据文件中的生效N V数据进行修改的NV数据。例如,所述NV配置文件中的第一NV数据可以是:Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}
第二NV数据可以是Effect_PC_Client_nv:Struct PC_Client_nv.acrpt-300。
步骤S202:根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据。
需要说明的是,所述根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据可以是在所述NV配置文件中包含第一NV数据时,根据所述第一NV数据对所述默认NV数据进行修改。例如:默认NV数据可以是:Default_PC_Client_nv:
Struct_PC_Client_nv{
acrpt-10;
dcrpt-20;
}
当第一NV数据为:Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}时,根据所述第一NV数据对所述默认NV数据进行修改,得到的目标默认NV数据可以是:Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}
步骤S202:和/或,根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。
需要说明的是,所述根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据可以是在所述NV配置文件中包含第二NV数据时,根据所述第二NV数据对所述生效NV数据进行修改。例如:生效NV数据为:Effect_PC_Client_nv:
Struct PC_Client_nv{
acrpt-30;
dcrpt-40;
}
第二NV数据为:Effect_PC_Client_nv:Struct PC_Client_nv.acrpt-300;
则根据第二NV数据对所述生效NV数据进行修改,得到的目标生效NV数据可以是:
Effect_PC_Client_nv:
Struct_PC_Client_nv{
acrpt-300;
dcrpt-40;
}
本实施例获取所述NV配置文件中的第一NV数据和/或第二NV数据;根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据;和/或,根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。本实施例可以支持对默认NV数据和生效NV数据进行分别修改,在版本升级后,新的默认NV数据可以生效,同时不会影响到原来生效的NV数据。不会修改用户的配置信息,且对用户无感知,提高用户的体验感,也不需要新增新的NV数据,便于NV数据的统一管理。
参考图4,图4为本发明数据升级方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S30,包括:
步骤S301:对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
需要说明的是,所述第一数据文件中的所述目标默认NV数据是通过Jso n格式存储的,包含了各个参数的参数名称和参数对应参数值,所述对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体可以是解析所述目标默认NV数据中的参数和参数值,确定目标默认NV数据中的各个参数和对应的参数值,即默认NV数据结构体。
进一步的,为了提高NV文件系统的可读性和可维护性,所述步骤S301,可包括:通过预设数据交换格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
需要说明的是,所述预设数据交换格式可以是Json数据格式。所述通过预设数据交换格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体可以是通过Json数据格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
步骤S302:基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析。
需要说明的是,若NV数据升级过程中新增有配置项,在对目标生效NV数据进行解析时,新增的配置项,即新增的参数信息无法被解析,此时,需要根据默认NV数据的默认NV数据结构体对所述目标生效NV数据进行解析。所述基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析可以是将所述默认NV数据结构体中无法从目标生效NV数据中解析成功的配置项添加至目标生效NV数据中。
在具体实施中,假设本次升级会新增一个NV成员acsleep,并且会同时将acrpt的值由10改成300。首先会在OEM pack(即NV配置文件)中的Default_PC_Client_nv(即第一NV数据)中新增acsleep成员,另外在第二NV数据中添加acrpt的键值对,为acrpt-300,然后OEM pack升级后,会修改NV文件系统中的默认NV数据,即添加acsleep成员,还有Effect_PC_Client_nv(即生效NV数据)中的acrpt数值。在升级完后设备第一次启动会对Effect_PC_Client_nv进行初始化,初始化过程是将NV文件系统中的Effect_PC_Client_nv文件通过Json Parse的方式把每一个成员解析出来,存放到全局结构体中。由于升级后,NV数据新增acsleep配置项,所以在json_parse过程中会发现acsleep无法从原来的Effect_PC_Client_nv文件中解析成功,这时候就会读取默认NV数据中的acsleep配置项信息,将acsleep配置项信息存放到Effect_PC_Client_nv(即生效NV数据)中。
进一步的,为了准确解析所述目标生效NV数据,所述步骤S302,可包括:根据所述默认NV数据结构体解析所述第二数据文件中的所述目标生效NV数据;
在存在无法解析的目标参数时,读取所述默认NV数据结构体中所述目标参数对应的参数信息;
将所述参数信息添加至所述目标生效NV数据中。
需要说明的是,所述目标参数可以是所述NV数据结构体中的成员,例如,NV数据结构体中的acrpt-10、dcrpt-20等参数,可参照图5,图5为本发明数据升级方法第三实施例的NV数据解析过程示意图,在对NV数据进行修改后,需要初始化NV数据,即解析修改后的NV数据,将Default_xxx_nv(即默认NV数据)通过json解析到NV结构体全局变量,得到最新的NV结构体,然后根据NV结构体解析Effect_xxx_nv(即生效NV数据),判断NV结构体中的成员是否成功解析,若存在无法解析的成员,则读取默认NV数据中该无法解析的成员的成员信息,将所述成员信息添加至生效NV数据中,该成员信息即可解析成功,判断NV结构体中的全部成员是否均已经解析成功,若NV结构体中还存在未解析成功的成员,则切换至下一个未解析成功的成员进行解析,直至NV结构体中的成员全部解析完成。
在具体实施中,初始的NV文件系统中的默认NV数据可以是:
Default_PC_Client_nv:
Struct_PC_Client_nv{
acrpt-10;
dcrpt-20;
}
初始的NV文件系统中的生效NV数据可以是:
Effect_PC_Client_nv:
Struct PC_Client_nv{
acrpt-30;
dcrpt-40;
}
第一NV数据为:Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}
第二NV数据为:Effect_PC_Client_nv:Struct PC_Client_nv.acrpt-300;
根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到的目标默认NV数据可以是:
Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}
根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据可以是:
Effect_PC_Client_nv:
Struct_PC_Client_nv{
acrpt-300;
dcrpt-40;
}
基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析,得到的解析后的NV文件系统中的默认NV数据可以是:
Default_PC_Client_nv:
Struct PC_Client_nv{
acrpt-10;
dcrpt-20;
acsleep-20;
}
得到的解析后的NV文件系统中的生效NV数据可以是:
Effect_PC_Client_nv:
Struct_PC_Client_nv{
acrpt-300;
dcrpt-40;
acsleep-20;
}
本实施例对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体;基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析。本实施例中通过默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析。可以支持对原来的NV数据结构直接修改,在版本升级后新NV数据结构可以生效,同时不会影响到原来的NV数据,避免原NV数据丢失。
参照图6,图6为本发明数据升级装置第一实施例的结构框图。
如图6所示,本发明实施例提出的数据升级装置中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,所述数据升级装置包括:
提取模块10,用于在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;
修改模块20,用于根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;
解析模块30,用于基于所述目标默认NV数据解析所述目标生效NV数据。
本实施例应用于NV文件系统,所述NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;包括:在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;基于所述目标默认NV数据解析所述目标生效NV数据。由于本发明NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,在进行NV数据更新时,可分别更新默认NV数据和/或生效NV数据,相对于现有的在升级NV数据后,会丢失原有的NV数据的方式,本实施例上述方式能够避免升级后原有NV数据的丢失。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据升级方法,此处不再赘述。
基于本发明上述数据升级装置第一实施例,提出本发明数据升级装置的第二实施例。
在本实施例中,所述修改模块20,还用于获取所述NV配置文件中的第一NV数据和/或第二NV数据;
根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据;
和/或,
根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。
进一步的,所述第一NV数据包括NV数据结构,所述第二NV数据包括NV数据的名称与数值的键值对;
所述修改模块20,还用于利用所述NV数据结构修改所述第一数据文件中的默认NV数据;
所述修改模块20,还用于利用所述键值对作为索引对所述第二数据文件中的生效NV数据进行修改。
进一步的,所述解析模块30,还用于对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体;
基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析。
进一步的,所述解析模块30,还用于根据所述默认NV数据结构体解析所述第二数据文件中的所述目标生效NV数据;
在存在无法解析的目标参数时,读取所述默认NV数据结构体中所述目标参数对应的参数信息;
将所述参数信息添加至所述目标生效NV数据中。
进一步的,所述解析模块30,还用于通过预设数据交换格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
进一步的,所述默认NV数据和所述生效NV数据以Json格式存储在所述第一数据文件和所述第二数据文件中。
进一步的,所述修改模块20,还用于确定所述NV配置文件的文件类型;
根据所述文件类型确定待修改的默认NV数据和/或生效NV数据。
本发明数据升级装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据升级程序,所述数据升级程序被处理器执行时实现如上文所述的数据升级方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据升级方法,其特征在于,所述数据升级方法应用于NV文件系统,所述NV文件系统中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件;
所述方法包括以下步骤:
在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;
根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;
基于所述目标默认NV数据解析所述目标生效NV数据。
2.根据权利要求1所述的数据升级方法,其特征在于,所述根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据的步骤,包括:
获取所述NV配置文件中的第一NV数据和/或第二NV数据;
根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据;
和/或,
根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据。
3.根据权利要求2所述的数据升级方法,其特征在于,所述第一NV数据包括NV数据结构,所述第二NV数据包括NV数据的名称与数值的键值对;
所述根据所述第一NV数据对所述第一数据文件中的默认NV数据进行修改,得到目标默认NV数据,包括:
利用所述NV数据结构修改所述第一数据文件中的默认NV数据;
所述根据所述第二NV数据对所述第二数据文件中的生效NV数据进行修改,得到目标生效NV数据,包括:
利用所述键值对作为索引对所述第二数据文件中的生效NV数据进行修改。
4.根据权利要求1所述的数据升级方法,其特征在于,所述基于所述目标默认NV数据解析所述目标生效NV数据的步骤,包括:
对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体;
基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效N V数据进行解析。
5.根据权利要求4所述的数据升级方法,其特征在于,所述基于所述默认NV数据结构体对所述第二数据文件中的所述目标生效NV数据进行解析的步骤,包括:
根据所述默认NV数据结构体解析所述第二数据文件中的所述目标生效NV数据;
在存在无法解析的目标参数时,读取所述默认NV数据结构体中所述目标参数对应的参数信息;
将所述参数信息添加至所述目标生效NV数据中。
6.根据权利要求4所述的数据升级方法,其特征在于,所述对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体的步骤,包括:
通过预设数据交换格式对所述第一数据文件中的所述目标默认NV数据进行解析,得到默认NV数据结构体。
7.根据权利要求1-6任一项所述的数据升级方法,其特征在于,所述根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改的步骤之前,还包括:
确定所述NV配置文件的文件类型;
根据所述文件类型确定待修改的默认NV数据和/或生效NV数据。
8.一种数据升级装置,其特征在于,所述数据升级装置中设置有用于存放默认NV数据的第一数据文件和用于存放生效NV数据的第二数据文件,所述数据升级装置包括:
提取模块,用于在接收到数据更新指令时,从所述数据更新指令中提取NV配置文件;
修改模块,用于根据所述NV配置文件对所述第一数据文件中的默认NV数据和/或所述第二数据文件中的生效NV数据进行修改,得到目标默认NV数据和/或目标生效NV数据;
解析模块,用于基于所述目标默认NV数据解析所述目标生效NV数据。
9.一种数据升级设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据升级程序,所述数据升级程序配置为实现如权利要求1至7中任一项所述的数据升级方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有数据升级程序,所述数据升级程序被处理器执行时实现如权利要求1至7任一项所述的数据升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160859.4A CN117235017A (zh) | 2023-09-07 | 2023-09-07 | 数据升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160859.4A CN117235017A (zh) | 2023-09-07 | 2023-09-07 | 数据升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117235017A true CN117235017A (zh) | 2023-12-15 |
Family
ID=89097767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311160859.4A Pending CN117235017A (zh) | 2023-09-07 | 2023-09-07 | 数据升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235017A (zh) |
-
2023
- 2023-09-07 CN CN202311160859.4A patent/CN117235017A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9439025B1 (en) | Multi-step mobile device initiation with intermediate partial reset | |
CN110750286B (zh) | OTA升级Mbn的管理方法、装置、系统、设备和介质 | |
US11310654B1 (en) | Electronic subscriber identity module (eSIM) profile delivery and activation system and methods | |
KR101201276B1 (ko) | 액션 리스트 및 버저닝을 이용한 무선 디바이스상에서액션을 수행하기 위한 방법, 소프트웨어 및 장치 | |
US20150067668A1 (en) | Installation engine and package format | |
CN112083971B (zh) | 组件处理方法、设备及存储介质 | |
CN110543327A (zh) | 业务组件复用方法、装置、计算机设备及存储介质 | |
CN112612502A (zh) | 补丁生成方法、装置、设备及存储介质 | |
CN111078200A (zh) | 任务构建方法、装置、设备、介质及系统 | |
CN103677937A (zh) | 升级软件和运行软件的方法及装置 | |
CN111857881A (zh) | 基于repo的manifest仓库加载方法、装置及存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
KR101632288B1 (ko) | 고급 운영 시스템(hlos) 부팅 전에 스마트폰에 연결된 주변기기 디바이스들을 위한 디바이스 드라이버들을 프리페칭하기 위한 방법 및 장치 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN115794214B (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
CN112416384A (zh) | 软件升级方法、装置及计算机设备 | |
CN117235017A (zh) | 数据升级方法、装置、设备及存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN114721681A (zh) | 配置文件更新方法、装置、设备及存储介质 | |
US20140137092A1 (en) | Information processing apparatus, information processing system, non-transitory computer-readable storage medium having stored therein information processing program, and information processing method | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 | |
CN113656009A (zh) | 一种宏处理方法、装置、电子设备及存储介质 | |
CN112163178A (zh) | 页面数据的显示方法和装置、存储介质、电子装置 | |
CN116382796B (zh) | 一种h5小程序运行器的插件管理方法、装置及电子设备 | |
CN111831294B (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 |