CN112596770B - 一种数据处理方法、装置、电子设备和存储介质 - Google Patents
一种数据处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112596770B CN112596770B CN202011546869.8A CN202011546869A CN112596770B CN 112596770 B CN112596770 B CN 112596770B CN 202011546869 A CN202011546869 A CN 202011546869A CN 112596770 B CN112596770 B CN 112596770B
- Authority
- CN
- China
- Prior art keywords
- variable
- version
- new version
- identifiers
- same
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及计算机技术领域,公开了一种数据处理方法、装置、电子设备和存储介质,本实施例的方法包括:响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据,本实施例能使程序在运行后产生的变量数据依然与地址变化后的变量对应,避免了因变量地址与变量数据不对应造成的数据读取失败,也避免了该程序在运行后产生的变量数据的遗失。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种数据处理方法、装置、电子设备和存储介质。
背景技术
带电可擦可编程只读存储器(Electrically Erasable Programmable read onlymemory,EEPROM)是指是一种掉电后数据不丢失的存储芯片,具有掉电保存的属性,用于存储程序的多个变量的数据;随机存取存储器(Random Access Memory,RAM)是与处理器直接交换数据的内部存储器,可以随时读写,用于临时存储程序运行过程中产生的数据。在程序启动时,电子设备根据EEPROM与RAM的地址映射关系,将EEPROM中存储的该程序的变量的数据传输到RAM中;程序运行过程中,将运行中的程序的产生的数据临时存储在RAM中;收到数据回存指令后,将产生的数据作为EEPROM中对应地址的新的变量的数据。
相关技术中,通过改变EEPROM与RAM的地址映射关系,即增加、减少或重新排序程序的变量,实现程序版本的更新。在增加、减少或重新排序变量后,可能与上一版本的程序的变量数据并不对应,为了避免变量与数据的不对应,会清除上一版本的程序的变量数据。
然而,上一版本的程序的变量数据可能有在程序运行过程中产生的重要数据,直接清除这些数据会造成重要数据的遗失。
发明内容
本公开提供了一种数据处理方法、装置、电子设备和存储介质,用以在更新程序后避免数据的遗失。
第一方面,本公开实施例提供一种数据处理方法,所述方法包括:
响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
上述方案,在更新程序时,通常只会增加、减少或重新排序部分变量,因此新版本和上一版本的变量信息中有大量相同的变量标识。新版本的变量信息中的变量数据是对应变量的初始数据;而上一版本的变量信息中的变量数据是在程序运行后产生的数据。将相同的变量标识对应的新版本的变量信息中的变量数据,替换为上一版本的变量信息中的变量数据,就能使程序在运行后产生的变量数据依然与地址变化后的变量对应,避免了因变量地址与变量数据不对应造成的数据读取失败,也避免了该程序在运行后产生的变量数据的遗失。
在一些可选的实施方式中,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识,包括:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识。
上述方案,通过将上述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序,两个版本中相同的变量标识就能比较好地进行对应,便于后续比对,提高确定上述相同的变量标识的效率。
在一些可选的实施方式中,将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识,包括:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的循环冗余校验(Cyclic Redundancy Check,CRC)校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识。
上述方案,通过对两版本的变量标识分别进行排序后分段,可以提高将两个版本中相同的变量标识分到对应段的概率;通过将新版本的变量标识的CRC校验值与上一版本的对应段的变量标识的CRC校验值进行比对,可以高效地确定两段的变量标识是否完全相同,提高了确定相同的变量标识的效率。
在一些可选的实施方式中,按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识,包括:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
在一些可选的实施方式中,所述程序的新版本的变量信息为所述存储指令携带的变量信息,所述程序的上一版本的变量信息为基于所述程序的上一变量信息存储指令在EEPROM中存储的变量信息。
第二方面,本公开实施例提供一种数据处理装置,包括:
相同变量确定模块,用于响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
变量数据替换模块,用于针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
在一些可选的实施方式中,相同变量确定模块确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识,包括:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,相同变量确定模块将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识,包括:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,相同变量确定模块按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识,包括:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
在一些可选的实施方式中,所述程序的新版本的变量信息为所述存储指令携带的变量信息,所述程序的上一版本的变量信息为基于所述程序的上一变量信息存储指令在EEPROM中存储的变量信息。
第三方面,本公开实施例提供一种电子设备,包括处理器和存储器;
其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行如第一方面任一项所述的数据处理方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面任一项所述的数据处理方法。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的第一种数据处理方法的示意流程图;
图2为本公开实施例提供的第二种数据处理方法的示意流程图;
图3为本公开实施例提供的第一种分段示意图;
图4为本公开实施例提供的第二种分段示意图;
图5为本公开实施例提供的一种数据处理装置的结构示意图;
图6为本公开实施例提供的一种电子设备的示意框图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
本公开实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本公开的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是直接相连,也可以通过中间媒介间接相连,可以是两个器件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
在程序启动时,电子设备根据EEPROM与RAM的地址映射关系,将EEPROM中存储的该程序的变量的数据传输到RAM中;程序运行过程中,将运行中的程序的产生的数据临时存储在RAM中;收到数据回存指令后,将产生的数据作为EEPROM中对应地址的新的变量的数据。可以看到,在程序运行后,EEPROM中的变量的数据相比于初始的变量数据发生了变化。
相关技术中,通过改变EEPROM与RAM的地址映射关系,即增加、减少或重新排序程序的变量,实现程序版本的更新。在增加、减少或重新排序变量后,可能与上一版本的程序的变量数据并不对应,为了避免变量与数据的不对应,会清除上一版本的程序的变量数据,即EEPROM中的变量的数据都变成初始的变量数据。
然而,上一版本的程序的变量数据可能有在程序运行过程中产生的重要数据,直接清除这些数据会造成重要数据的遗失。
本公开实施例为了在更新程序后避免数据的遗失,提供了一种数据处理方法、装置、电子设备和存储介质。下面以具体的实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
图1为本公开实施例提供的第一种数据处理方法的示意流程图,如图1所示,该方法可以包括:
步骤101:响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识。
本实施例,上述程序的变量信息存储指令,也就是将该程序的新版本的变量信息存储在EEPROM中的指令。
在一些具体的实施例中,该指令携带有上述程序的标识信息,如该程序的名称,表征该程序的字符、数字或者字母等,能够基于上述程序的标识信息确定该程序的上一版本的变量信息。
可选的,该指令还携带有上述程序的新版本的变量信息。
上述变量信息包含变量标识和对应的变量数据。本实施例,在更新某一程序时,通常只会增加、减少或重新排序部分变量,新版本的变量标识相对于上一版本的变量标识一般不会发生太大变化,因此新版本的变量信息和上一版本的变量信息中有大量相同的变量标识(在上述新版本的变量信息中有这些变量标识,在上一版本的变量信息中也有这些变量标识)。
新版本的变量数据是对应变量的初始数据;而上一版本的变量数据是在程序运行后产生的数据。将相同的变量标识对应的新版本的变量信息中的变量数据,替换为上一版本的变量信息中的变量数据,就能使程序在运行后产生的变量数据依然与地址变化后的变量对应,避免了因变量地址与变量数据不对应造成的数据读取失败,也避免了该程序在运行后产生的变量数据的遗失。
本实施例对确定上述相同的变量标识的具体实现方式不做具体限定,如可通过遍历的方式确定相同的变量标识;或者将新版本中的变量标识和上一版本中的变量标识分别进行分段,确定对应段中相同的变量标识等等。
步骤102:针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
如上所述,将相同的变量标识对应的新版本的变量信息中的变量数据,替换为上一版本的变量信息中的变量数据,就能使程序在运行后产生的变量的数据依然与地址变化后的变量对应,基于此,需要在确定出相同的变量标识后,将每个相同的变量标识在新版本的变量信息中对应的变量数据替换为在上一版本的变量信息中对应的变量数据。
本实施例对具体替换方式不做限定,例如:
将相同的变量标识在上一版本的变量信息中对应的变量数据取出,用该变量数据覆盖该相同的变量标识在新版本的变量信息中对应的变量数据。
本实施例,在将相同的变量标识对应的新版本的变量信息中的变量数据,替换为上一版本的变量信息中的变量数据后,可以直接将替换变量数据后的新版本的变量信息存储在EEPROM中的对应位置;或者将变量数据传输到RAM中的映射位置,本实施例对此不做具体限定。
上述方案,在更新某一程序时,通常只会增加、减少或重新排序部分变量,因此新版本和上一版本的变量信息中有大量相同的变量标识。新版本的变量数据是对应变量的初始数据;而上一版本的变量数据是在程序运行后产生的数据。将相同的变量标识对应的新版本的变量信息中的变量数据,替换为上一版本的变量信息中的变量数据,就能使程序在运行后产生的变量数据依然与地址变化后的变量对应,避免了因变量地址与变量数据不对应造成的数据读取失败,也避免了该程序在运行后产生的变量数据的遗失。
图2为本公开实施例提供的第二种数据处理方法的示意流程图,如图2所示,该方法可以包括:
步骤201:响应程序的变量信息存储指令,将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序。
本实施例,上述新版本的变量信息以及上一版本的变量信息中都有大量的变量标识。如果通过遍历的方式确定相同的变量标识,用时较长且会占用大量的计算资源;
如果直接将两个版本中变量标识分别进行分段,确定对应段相同的变量标识,由于变化的变量以及变化的方式不能确定,因此无法较为合理地确定两个版本的对应段。例如依次将每10个变量标识作为一段变量标识,两个版本的同一分段位置作为对应段:
新版本包含100个变量标识,依次为:1、2、3、4、……、100。分段后新版本的第一段变量标识为1~10;第二段变量标识为11~20;第三段变量标识为21~30;第四段变量标识为31~40;第五段变量标识为41~50;第六段变量标识为51~60;第七段变量标识为61~70;第八段变量标识为71~80;第九段变量标识为81~90;第十段变量标识为91~100。
上一版本包含100个变量标识,依次为:100、99、98、97、……、1。分段后上一版本的第一段变量标识为100~91;第二段变量标识为90~81;第三段变量标识为80~71;第四段变量标识为70~61;第五段变量标识为60~51;第六段变量标识为50~41;第七段变量标识为40~31;第八段变量标识为30~21;第九段变量标识为20~11;第十段变量标识为10~1。
上述示例中,两版本包含的变量标识是完全相同的,但将同一分段位置作为对应段,两版本的对应段变量标识是不同的。上述示例即使采用其他方式选择两版本的对应段,也会存在上述问题。由于变化的变量以及变化的方式不能确定,直接将两个版本中变量标识分段,难以将两个版本中相同的变量标识分到对应段。
基于此,本实施例在确定相同的变量标识之前,先将上述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序,两个版本中相同的变量标识就能比较好地进行对应。
本实施例对上述预设排序方式不做具体限定,可根据变量标识的类型进行设定,例如:
1)上述变量标识为数字,排序方式为将变量标识按从大到小的顺序排序;或者排序方式为将变量标识按从小到大的顺序排序;
2)上述变量标识为字母,排序方式为将变量标识按照字母表的顺序进行排序。
上述变量标识的类型以及排序方式只是示例性说明,本实施例也可采用其他类型的变量类型,并将其他排序方式作为预设排序方式,此处不再赘述。
步骤202:将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识。
如上所述,通过将上述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序,两个版本中相同的变量标识就能比较好地进行对应。这样,在直接将新版本的某一变量标识与上一版本的变量标识进行比对时,无需遍历上一版本的所有变量标识;或者,排序后就可通过更为合理地分段方式,提高将两个版本中相同的变量标识分到对应段的概率。例如:
第一种方式:直接将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对。针对排序后的任一新版本的变量标识,只用将其与排序后的上一版本的变量标识中已经确定出的相同的变量标识之后的变量标识进行比对。
以变量标识为数字,预设排序方式为将变量标识按照由小到大的顺序进行排序为例:
新版本包含100个变量标识,依次为1、2、3、4、……、100;排序后还是1、2、3、4、……、100。
上一版本包含100个变量标识,依次为100、99、98、97、……、1;排序后是1、2、3、4、……、100。
如果已经确定排序后的新版本的变量标识中的50是相同的变量标识,只用将新版本的变量标识中的51与排序后的上一版本的变量标识中50之后的变量标识进行比对,大大减少了计算量。
第二种方式:按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识。
如上所述,将上述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序后,两个版本中相同的变量标识就能比较好地进行对应。此时对两版本的变量标识进行排序后分段,可以提高将两个版本中相同的变量标识分到对应段的概率。具体分段方式可以根据实际应用场景进行设定。
在分段后,需要比对两版本对应段的变量标识是否相同,一一对比还是存在计算量大的问题。通过将新版本的变量标识的CRC校验值与上一版本的对应段的变量标识的CRC校验值进行比对,可以高效、准确地确定这两段是否包含完全相同的变量标识,提高了确定相同的变量标识的效率。
如果两段包含的变量标识不完全相同,还是需要确定新版本中该段的变量标识与上一版本中的各变量标识是否是相同的变量标识。
本实施例示例性说明上述分段方式的几种具体实现:
1)依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识;依次将排序后的上一版本的变量标识中预设数量的变量标识作为一段变量标识。针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识。
参阅图3所示,以变量标识为数字,预设排序方式为将变量标识由小到大进行排序,依次将每10个变量标识作为一段变量标识,同一分段位置的两段变量标识作为对应段为例:
新版本包含80个变量标识,依次为1、2、3、4、……、80;排序后还是1、2、3、4、……、80。分段后新版本的第一段变量标识为1~10;第二段变量标识为11~20;第三段变量标识为21~30;第四段变量标识为31~40;第五段变量标识为41~50;第六段变量标识为51~60;第七段变量标识为61~70;第八段变量标识为71~80。
上一版本包含80个变量标识,依次为80、79、78、77、……、1;排序后是变量标识1、2、3、4、……、80。分段后上一版本的第一段变量标识为1~10;第二段变量标识为11~20;第三段变量标识为21~30;第四段变量标识为31~40;第五段变量标识为41~50;第六段变量标识为51~60;第七段变量标识为61~70;第八段变量标识为71~80。
将两版本的对应段变量标识比对,对应段变量标识都是相同的。新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同。
2)基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识;基于上述多个预设范围,将排序后的上一版本的变量标识中在同一预设范围的变量标识作为一段变量标识。其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
参阅图4所示,以变量标识为数字,预设排序方式为将变量标识由小到大进行排序,预设的多个范围有1~10、11~20、21~30、31~40、41~50、51~60、61~70、71~80、81~90、91~100以及101~110为例:
新版本包含80个变量标识,依次为11、12、13、14、……、90;排序后是11、12、13、14、……、90。分段后新版本的第一段变量标识为11~20;第二段变量标识为21~30;第三段变量标识为31~40;第四段变量标识为41~50;第五段变量标识为51~60;第六段变量标识为61~70;第七段变量标识为71~80;第八段变量标识为81~90。
上一版本包含80个变量标识,依次为1、2、3、4、……、80;排序后还是1、2、3、4、……、80。分段后上一版本的第一段变量标识为1~10;第二段变量标识为11~20;第三段变量标识为21~30;第四段变量标识为31~40;第五段变量标识为41~50;第六段变量标识为51~60;第七段变量标识为61~70;第八段变量标识为71~80。
上述新版本的第一段变量标识对应上一版本的第二段变量标识;上述新版本的第二段变量标识对应上一版本第三段变量标识;上述新版本的第三段变量标识对应上一版本的第四段变量标识;上述新版本的第四段变量标识对应上一版本第五段变量标识;上述新版本的第五段变量标识对应上一版本的第六段变量标识;上述新版本的第六段变量标识对应上一版本第七段变量标识;上述新版本的第七段变量标识对应上一版本的第八段变量标识。没有上一版本的变量标识与上述新版本的第八段变量标识对应;也没有新版本的变量标识与上一版本第一段变量标识对应。
针对新版本中多出变量标识或者缺少变量标识的情况,依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,还是会存在难以将两个版本中相同的变量标识分到对应段的问题。通过将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识这种方式,可以避免因新版本中多出的变量标识或者缺少的变量标识,导致难以将两个版本中相同的变量标识分到对应段的问题。
上述实施例是对分段方式以及确定相同的变量标识的示例性说明,本实施不以此为限。
步骤203:针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
该步骤203的实现方式与上述步骤102的实现方式相同,此处不再赘述。
上述方案,通过将上述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序,两个版本中相同的变量标识就能比较好地进行对应,便于后续比对,提高确定上述相同的变量标识的效率。
如图5所示,基于相同的发明构思,本公开实施例提供一种数据处理装置500,包括:
相同变量确定模块501,用于响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
变量数据替换模块502,用于针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
在一些可选的实施方式中,相同变量确定模块501确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识,包括:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,相同变量确定模块501将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识,包括:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,相同变量确定模块501按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识,包括:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
在一些可选的实施方式中,所述程序的新版本的变量信息为所述存储指令携带的变量信息,所述程序的上一版本的变量信息为基于所述程序的上一变量信息存储指令在EEPROM中存储的变量信息。
由于该装置即是本公开实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,基于相同的发明构思,本公开实施例提供一种电子设备600,包括:处理器601和存储器602;
存储器602,用于存储处理器601执行的计算机程序。存储器602可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器602也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器602可以是上述存储器的段合。
处理器601,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。
本公开实施例中不限定上述存储器602和处理器601之间的具体连接介质。本公开实施例在图6中以存储器602和处理器601之间通过总线603连接,总线603在图6中以粗线表示,所述总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,所述存储器存储有程序代码,当所述程序代码被所述处理器601执行时,使得所述处理器601执行下列过程:
响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据。
在一些可选的实施方式中,所述处理器601具体执行:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,所述处理器601具体执行:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识。
在一些可选的实施方式中,所述处理器601具体执行:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
在一些可选的实施方式中,所述程序的新版本的变量信息为所述存储指令携带的变量信息,所述程序的上一版本的变量信息为基于所述程序的上一变量信息存储指令在EEPROM中存储的变量信息。
由于该电子设备即是执行本公开实施例中的方法的电子设备,并且该电子设备解决问题的原理与该方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述数据处理方法的步骤。其中,可读存储介质可以为非易失可读存储介质。
以上参照示出根据本公开实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本公开。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的段合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本公开。更进一步地,本公开可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本公开上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (5)
1.一种数据处理方法,其特征在于,所述方法包括:
响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据;
确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识,包括:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识,包括:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的循环冗余校验CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识;
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识,包括:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
2.根据权利要求1所述的方法,其特征在于,所述程序的新版本的变量信息为所述存储指令携带的变量信息,所述程序的上一版本的变量信息为基于所述程序的上一变量信息存储指令在带电可擦可编程只读存储器EEPROM中存储的变量信息。
3.一种数据处理装置,其特征在于,该装置包括:
相同变量确定模块,用于响应程序的变量信息存储指令,确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识;
变量数据替换模块,用于针对任一相同的变量标识,将所述相同的变量标识对应的所述新版本的变量信息中的变量数据,替换为所述上一版本的变量信息中的变量数据;
相同变量确定模块确定所述程序的新版本的变量信息以及所述程序的上一版本的变量信息中相同的变量标识,包括:
将所述新版本的变量信息中的变量标识以及上一版本的变量信息中的变量标识分别按照预设排序方式进行排序;
将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识;
相同变量确定模块将排序后的新版本的变量标识以及排序后的上一版本的变量标识进行比对,确定所述相同的变量标识,包括:
按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识;并按照所述预设分段方式对排序后的上一版本的变量标识进行分段,得到上一版本的多段变量标识;
针对新版本的任一段变量标识,若所述新版本的变量标识的CRC校验值,与上一版本的对应段的变量标识的CRC校验值相同,则将所述新版本的变量标识作为所述相同的变量标识;否则将所述新版本的变量标识与上一版本的各变量标识进行比对,确定所述相同的变量标识;
相同变量确定模块按照预设分段方式对排序后的新版本的变量标识进行分段,得到新版本的多段变量标识,包括:
依次将排序后的新版本的变量标识中预设数量的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中同一分段位置的变量标识;或者
基于多个预设范围,将排序后的新版本的变量标识中在同一预设范围的变量标识作为一段变量标识,其中,针对所述新版本的任一段变量标识,所述上一版本的对应段的变量标识为上一版本中在同一预设范围的变量标识。
4.一种电子设备,其特征在于,包括:处理器和存储器;
其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行如权利要求1~2任一项所述的数据处理方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1~2任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011546869.8A CN112596770B (zh) | 2020-12-24 | 2020-12-24 | 一种数据处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011546869.8A CN112596770B (zh) | 2020-12-24 | 2020-12-24 | 一种数据处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596770A CN112596770A (zh) | 2021-04-02 |
CN112596770B true CN112596770B (zh) | 2023-08-18 |
Family
ID=75200793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011546869.8A Active CN112596770B (zh) | 2020-12-24 | 2020-12-24 | 一种数据处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596770B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428624A (zh) * | 2021-12-30 | 2022-05-03 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007100290A1 (en) * | 2006-03-02 | 2007-09-07 | Abb Ab | A method for comparing, an automation system and a controller |
US7982516B1 (en) * | 2010-03-19 | 2011-07-19 | Avago Technologies Enterprise IP (Singapore) Pte. Ltd. | RC-based delay element and method for reducing frequency induced delay variation |
CN102187313A (zh) * | 2008-10-15 | 2011-09-14 | 微软公司 | 高速缓存运行时生成的代码 |
CN104484202A (zh) * | 2014-12-15 | 2015-04-01 | 中国科学院长春光学精密机械与物理研究所 | 适用于8051微控制器的航天嵌入式软件在轨重注方法 |
CN107920112A (zh) * | 2017-11-01 | 2018-04-17 | 重庆金融资产交易所有限责任公司 | 支持灰度模式的配置文件推送方法、中心服务器及存储介质 |
CN107992330A (zh) * | 2012-12-31 | 2018-05-04 | 英特尔公司 | 对条件循环进行向量化的处理器、方法、处理系统以及机器可读介质 |
CN109871503A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 数据调用方法、装置、计算机设备及存储介质 |
CN111352757A (zh) * | 2018-12-20 | 2020-06-30 | 英特尔公司 | 检测未初始化存储器读取的设备、系统和方法 |
CN111401028A (zh) * | 2020-03-19 | 2020-07-10 | 北京广利核系统工程有限公司 | 一种核电站rps软件版本的自动化比较方法及装置 |
CN111552491A (zh) * | 2020-04-22 | 2020-08-18 | 北京小马智行科技有限公司 | 移动载体的中转设备的固件升级的方法、装置与存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8564808B2 (en) * | 2007-12-18 | 2013-10-22 | R. R. Donnelley & Sons Company | Systems and methods for processing of variable documents |
-
2020
- 2020-12-24 CN CN202011546869.8A patent/CN112596770B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007100290A1 (en) * | 2006-03-02 | 2007-09-07 | Abb Ab | A method for comparing, an automation system and a controller |
CN102187313A (zh) * | 2008-10-15 | 2011-09-14 | 微软公司 | 高速缓存运行时生成的代码 |
US7982516B1 (en) * | 2010-03-19 | 2011-07-19 | Avago Technologies Enterprise IP (Singapore) Pte. Ltd. | RC-based delay element and method for reducing frequency induced delay variation |
CN107992330A (zh) * | 2012-12-31 | 2018-05-04 | 英特尔公司 | 对条件循环进行向量化的处理器、方法、处理系统以及机器可读介质 |
CN104484202A (zh) * | 2014-12-15 | 2015-04-01 | 中国科学院长春光学精密机械与物理研究所 | 适用于8051微控制器的航天嵌入式软件在轨重注方法 |
CN107920112A (zh) * | 2017-11-01 | 2018-04-17 | 重庆金融资产交易所有限责任公司 | 支持灰度模式的配置文件推送方法、中心服务器及存储介质 |
CN111352757A (zh) * | 2018-12-20 | 2020-06-30 | 英特尔公司 | 检测未初始化存储器读取的设备、系统和方法 |
CN109871503A (zh) * | 2019-01-18 | 2019-06-11 | 平安普惠企业管理有限公司 | 数据调用方法、装置、计算机设备及存储介质 |
CN111401028A (zh) * | 2020-03-19 | 2020-07-10 | 北京广利核系统工程有限公司 | 一种核电站rps软件版本的自动化比较方法及装置 |
CN111552491A (zh) * | 2020-04-22 | 2020-08-18 | 北京小马智行科技有限公司 | 移动载体的中转设备的固件升级的方法、装置与存储介质 |
Non-Patent Citations (1)
Title |
---|
王新 等.数字信号处理器与串行EEPROM的接口设计.《电子工程师》.2004,第30卷(第01期),63-66. * |
Also Published As
Publication number | Publication date |
---|---|
CN112596770A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832062B (zh) | 一种程序更新方法及终端设备 | |
CN109976669B (zh) | 一种边缘存储方法、装置和存储介质 | |
CN112269665B (zh) | 内存的处理方法和装置、电子设备和存储介质 | |
CN112540731B (zh) | 数据的追加写方法、装置、设备、介质和程序产品 | |
US9734620B2 (en) | Apparatus and method for graphics state management | |
CN112596770B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN107678686B (zh) | 基于硬件实现闪存的ftl功能的方法及其数据存储装置 | |
CN113295160A (zh) | 基于视觉导航的地图加载方法、装置、设备及存储介质 | |
CN109753384B (zh) | 云主机的快照备份方法、装置、计算机设备和存储介质 | |
US11150993B2 (en) | Method, apparatus and computer program product for improving inline pattern detection | |
CN105701128A (zh) | 一种查询语句的优化方法和装置 | |
CN114356386A (zh) | 一种分块差分升级方法、终端设备和计算机可读存储介质 | |
CN111143240B (zh) | 图像存储方法、系统及终端设备 | |
CN117112004A (zh) | 差分数据确定方法、差分还原方法、装置、设备及介质 | |
CN117236236A (zh) | 一种芯片设计数据管理方法、装置、电子设备及存储介质 | |
CN109857740B (zh) | 字符串的存储方法、匹配方法、电子设备及可读存储介质 | |
CN112181790A (zh) | 一种存储设备的容量统计方法、系统及相关组件 | |
CN115577149A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN114385891A (zh) | 数据搜索方法、装置、电子设备及存储介质 | |
US20170090820A1 (en) | Method and device for operating a many-core system | |
CN110941730A (zh) | 基于人脸特征数据偏移的检索方法与装置 | |
CN115037799B (zh) | 限流方法、装置、设备及介质 | |
CN117271440B (zh) | 一种基于freeRTOS文件信息存储方法、读取方法及相关设备 | |
CN111176704A (zh) | 一种差分包文件生成方法、中断恢复方法和相关装置 | |
CN114880411B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |