CN107423038B - 不依赖文件***的差分包合并方法与*** - Google Patents
不依赖文件***的差分包合并方法与*** Download PDFInfo
- Publication number
- CN107423038B CN107423038B CN201710158034.7A CN201710158034A CN107423038B CN 107423038 B CN107423038 B CN 107423038B CN 201710158034 A CN201710158034 A CN 201710158034A CN 107423038 B CN107423038 B CN 107423038B
- Authority
- CN
- China
- Prior art keywords
- memory pointer
- differential
- pointer
- memory
- packet
- 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
Images
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/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种不依赖文件***的差分包合并方法与***,拷贝差分包中前N字节,获得字节数据,根据字节数据,获取控制字段和差分数据,确定预设的内存指针,将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针,循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。整个过程中,将源码中读取文件的位置修改为内存,并且采用传递内存指针,在指针中包括用来传递指向差分包结尾的指针,从而把读取文件修改为从相应的地址拷贝差分包内容,最终实现把原差分包合并方式移植到不支持文件***的平台上进行使用。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及不依赖文件***的差分包合并方法与***。
背景技术
目前,在计算机或终端程序中可以实现程序不同版本之间的增量升级,即采用差分方式实现版本的更新,采用这种方式更新,可以显著减少更新所需下载数据量,提高更效率。
以安卓***为应用场景为例,在安卓开源代码智能应用更新可以实现程序不同版本中间的增量升级。然而由于安卓***中的bsdiff工具用于生成差分包,bapatch工具用于把差分包和旧版本合成新的版本,这个两个工具在运行过程中,都要求新旧版本和差分包都以文件的形式给出,这样,如果把这套开源代码移植到其他不支持文件***的操作***中使用时,就会无法使用,如果再实现一套文件***的话,无疑会增加很大的工作量,也会给***带来很大的开销。
可见一般差分包和旧版本合成新的版本的过程中都有赖于文件***,严重影响差分包合并技术的推广应用。
发明内容
基于此,有必要针对目前尚无不依赖文件***的差分包合并的方法的问题,提供一种不依赖文件***的差分包合并方法与***。
一种不依赖文件***的差分包合并方法,包括步骤:
将新旧版本的差分包保存在内存中;
拷贝差分包中前N字节,获得字节数据,N为正整数;
根据字节数据,获取控制字段和差分数据;
确定预设的内存指针,获取预设的内存指针所指向控制字段的地址和差分数据,并将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针;
将旧版本内容读取到内存中;
循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。
一种不依赖文件***的差分包合并***,包括:
存储模块,用于将新旧版本的差分包保存在内存中;
拷贝模块,用于拷贝差分包中前N字节,获得字节数据,N为正整数;
参数获取模块,用于根据字节数据,获取控制字段和差分数据;
指针处理模块,用于确定预设的内存指针,获取预设的内存指针所指向控制字段的地址和差分数据,并将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针;
读取模块,用于将旧版本内容读取到内存中;
差分运算模块,用于循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。
本发明不依赖文件***的差分包合并方法与***,拷贝差分包中前N字节,获得字节数据,根据字节数据,获取控制字段和差分数据,确定预设的内存指针,将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针,循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。整个过程中,将源码中读取文件的位置修改为内存,采用传递内存指针,在指针中包括用来传递指向差分包结尾的指针,从而把读取文件修改为从相应的地址拷贝差分包内容,最终实现把传统差分包合并方式移植到不支持文件***的平台上进行使用。
附图说明
图1为传统依赖文件***的差分包合并方法的流程示意图;
图2为本发明不依赖文件***的差分包合并方法其中一个实施例的流程示意图;
图3为本发明不依赖文件***的差分包合并方法其中一个具体应用实例的流程示意图;
图4为本发明不依赖文件***的差分包合并***其中一个实施例的结构示意图。
具体实施方式
bsdiff工具可以在Windows***上面实现,用来生成差分包,可以不做修改,bspatch需要运行在终端***中,终端是否支持文件***将影响到bspatch的使用,所以本发明不依赖文件***的差分包合并方法着重点是在bspatch源代码中进行修改。
为了更进一步详细解释本发明不依赖文件***的差分包合并方法的技术方案及其原理,下面将针对一般的依赖文件***的差分包合并方法进行介绍,阐述本发明不依赖文件***的差分包合并方法与一般依赖文件***的差分包合并方法的区别。
如图1所示,一般需依赖文件***的差分包合并方法包括步骤:
1、打开差分包文件;
2、读取文件前32字节;
3、当读取的数据中前8字节为“BSDIFF40”时,进入步骤4,当不为时,字节终止操作;
4、从前32字节中得到控制字段长度,差分数据长度及新文件长度;
5、关闭差分包文件;
6、打开差分包文件,获取文件句柄cpf,并把句柄位置定位在第33字节;
7、打开差分包文件,获取文件句柄dpf,并把句柄位置定位在控制字段之后;
8、调用BZ2_bzReadOpen(),把句柄dpf传递到结构体bzf的元素handle中;
9、打开差分包文件,获取文件句柄epf,并把句柄位置定位在数据字段之后;
10、调用BZ2_bzReadOpen(),把句柄epf传递到结构体bzf的元素handle中;
11、打开旧版本文件,并把文件内容读取到内存中;
12、循环读取差分文件内容,和旧版本内容进行差分运算生成新版本内容。
从上述流程可见一般差分包合并方法必须依赖于文件***,对此,本发明提供一种不依赖文件***的差分包合并方法,具体如图2所示,其包括步骤:
S100:将新旧版本的差分包保存在内存中。
新旧版本的差分包是指软件(***)的旧版本与新版本之间的差分数据包,例如***当前版本(旧版本)为V1,新版本为V2,则差分包记录有旧版本V1与新版本V2之间的差分数据,常用记录为V21。在这里,不是传统直接打开差分包,而是选择将新旧版本的差分包保存在内存中,其目的是使最终整个方案能够将源码中读取文件的位置修改为读取内存,有效减小数据改动。
S200:拷贝差分包中前N字节,获得字节数据,N为正整数。
N的具体数值可以根据实际情况作出一定的调整,一般是直接拷贝差分包中前32字节,获得字节数据。
S300:根据字节数据,获取控制字段和差分数据。
基于步骤S200拷贝得到的字节数据,获取控制字段和差分数据,另外还可以获得新文件长度等参数。
S400:确定预设的内存指针,获取预设的内存指针所指向控制字段的地址和差分数据,并将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针。
在这里,将一般依赖文件***的差分包合并方法中传递文件句柄的操作变成了传递内存指针,并且增加了一个用来传递指向差分包结尾的指针,这是因为在读取文件的过程只需要判断文件的结尾,所以针对内存的操作也需要判断差分包的结尾。可见在这里与一般依赖文件***的差分包合并方法不同的是把保存文件的句柄修改为保存指针的所指向的地址。并且把读取文件修改为从相应的地址拷贝差分包内容。
S500:将旧版本内容读取到内存中。
同样的,将旧版本内容也读取到内存中,即此时内存中已存储有旧版本内容和步骤S400处理后的修改的差分包。
S600:循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。
在内存中循环读取修改的差分包中内容,并且将循环读取的内容与旧版本内容进行差分运算生成新版本内容。上述整个过程中,不需要依赖于文件***,打破了传统差分升级方式需要依赖文件***的局限,即最终实现把原差分包合并方式移植到不支持文件***的平台上进行使用。
本发明不依赖文件***的差分包合并方法,拷贝差分包中前N字节,获得字节数据,根据字节数据,获取控制字段和差分数据,确定预设的内存指针,将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针,循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。整个过程中,将源码中读取文件的位置修改为内存,并且采用传递内存指针,在指针中包括用来传递指向差分包结尾的指针,从而把读取文件修改为从相应的地址拷贝差分包内容,最终实现把原差分包合并方式移植到不支持文件***的平台上进行使用。
在其中一个实施例中,确定预设的内存指针,获取预设的内存指针所指向控制字段的地址和差分数据,并将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包的步骤包括:
步骤一:确定定义的第一内存指针,并将第一内存指针指向差分包第N+1字节。
步骤二:确定定义的第二内存指针,并将第二内存指针指向差分包最后字节。
步骤三:将第一内存指针和第二内存指针传递至结构体的元素handle和fEnd中。
步骤四:确定定义的第三内存指针,并将第三内存指针指向控制字段。
步骤五:将第二内存指针和第三内存指针传递至结构体的元素handle和fEnd中。
步骤六:确定定义的定义第四内存指针,并将第四内存指针指向差分数据。
步骤七:将第三内存指针和第四内存指针传递至结构体的元素handle和fEnd中,获得修改的差分包。
第一内存指针、第二内存指针、第三内存指针以及第四内存指针都是预先设定的内存指针,在这里可以根据需要更新的软件(***)选取符合当前应用场景的为内存指针。更具体来说,第一内存指针为cpf、第二内存指针为patchEnd、第三内存指针为dpf且第四内存指针为epf。
在其中一个实施例中,将第一内存指针和第二内存指针传递至结构体的元素handle和fEnd中的步骤包括:调用BZ2_bzReadOpen函数,将第一内存指针和第二内存指针传递到结构体的元素handle和fEnd中;将第二内存指针和第三内存指针传递至结构体的元素handle和fEnd中的步骤包括:调用BZ2_bzReadOpen函数,将第二内存指针和第三内存指针传递至结构体的元素handle和fEnd中;将第三内存指针和第四内存指针传递至结构体的元素handle和fEnd中的步骤包括:调用BZ2_bzReadOpen函数,将第三内存指针和第四内存指针传递至结构体的元素handle和fEnd中。
在其中一个实施例中,根据字节数据,获取控制字段和差分数据的步骤之前还包括:
步骤一:判断字节数据中前M字节是否为预设字节数据,M为正整数,且M小于N;
步骤二:若是,进入根据字节数据,获取控制字段和差分数据的步骤。
预设字节数据可以基于实际应用场景的需要进行设定,在这里进行判断是为了识别拷贝得到的字节数据是否完整且有效的,可以将其理解为一个校验的步骤。更具体来说,M可以为8,预设字节数据可以为BSDIFF40。
为更进一步详细解释本发明不依赖文件***的差分包合并方法,下面将采用具体应用实例,并结合附图3详细说明整个步骤。
如图3所示,在其中一个具体应用实例中,本发明不依赖文件***的差分包合并方法,包括步骤:
1、把差分包保存在内存中;
2、拷贝差分包前32字;
3、判断前8字节是否为”BSDIFF40”,若是,进入步骤4,若否,直接终止操作;
4、从前32字节中得到控制字段长度,差分数据长度及新文件长度;
5、定义指针cpf,并指向差分包第33字节;
6、定义指针patchEnd,并指向差分包最后;
7、调用BZ2_bzReadOpen(),把指针cpf和patchEnd传递到结构体bzf的元素handle和fEnd中;
8、定义指针dpf,并把指针指向控制字段之后;
9、调用BZ2_bzReadOpen(),把指针dpf和patchEnd传递到结构体bzf的元素handle和fEnd中;
10、定义指针epf,并把指针指向定位在数据字段之后;
11、调用BZ2_bzReadOpen(),把指针epf和patchEnd传递到结构体bzf的元素handle和fEnd中;
12、把旧版本内容读取到内存中;
13、循环读取差分包内容,和旧版本内容进行差分运算生成新版本内容。
如图4所示,一种不依赖文件***的差分包合并***,包括:
存储模块100,用于将新旧版本的差分包保存在内存中。
拷贝模块200,用于拷贝差分包中前N字节,获得字节数据,N为正整数。
参数获取模块300,用于根据字节数据,获取控制字段和差分数据。
指针处理模块400,用于确定预设的内存指针,获取预设的内存指针所指向控制字段的地址和差分数据,并将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针。
读取模块500,用于将旧版本内容读取到内存中。
差分运算模块600,用于循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。
本发明不依赖文件***的差分包合并***,存储模块100将新旧版本的差分包保存在内存中,拷贝模块200拷贝差分包中前N字节,获得字节数据,参数获取模块300根据字节数据,获取控制字段和差分数据,指针处理模块400确定预设的内存指针,将预设的内存指针指向的地址传递至差分包中结构体,获得修改的差分包,预设的内存指针包括指向差分包最后字节的内存指针,读取模块500将旧版本内容读取到内存中,差分运算模块600循环读取修改的差分包中内容,并将循环读取的内容与旧版本内容进行差分运算生成新版本内容。整个过程中,将源码中读取文件的位置修改为内存,并且采用传递内存指针,在指针中包括用来传递指向差分包结尾的指针,从而把读取文件修改为从相应的地址拷贝差分包内容,最终实现把原差分包合并方式移植到不支持文件***的平台上进行使用。
在其中一个实施例中,指针处理模块400包括:
第一处理单元,用于确定定义的第一内存指针,并将第一内存指针指向差分包第N+1字节。
第二处理单元,用于确定定义的第二内存指针,并将第二内存指针指向差分包最后字节。
第一传递单元,用于将第一内存指针和第二内存指针传递至结构体的元素handle和fEnd中。
第三处理单元,用于确定定义的第三内存指针,并将第三内存指针指向控制字段。
第二传递单元,用于将第二内存指针和第三内存指针传递至结构体的元素handle和fEnd中。
第四处理单元,用于确定定义的定义第四内存指针,并将第四内存指针指向差分数据。
第三传递单元,用于将第三内存指针和第四内存指针传递至结构体的元素handle和fEnd中,获得修改的差分包。
在其中一个实施例中,第一内存指针为cpf、第二内存指针为patchEnd、第三内存指针为dpf且第四内存指针为epf。
在其中一个实施例中,第一传递单元,用于调用BZ2_bzReadOpen函数,将第一内存指针和第二内存指针传递到结构体的元素handle和fEnd中;第二传递单元,用于调用BZ2_bzReadOpen函数,将第二内存指针和第三内存指针传递至结构体的元素handle和fEnd中;第三传递单元,用于调用BZ2_bzReadOpen函数,将第三内存指针和第四内存指针传递至结构体的元素handle和fEnd中。
在其中一个实施例中,本发明不依赖文件***的差分包合并***还包括:
判断模块,用于判断字节数据中前M字节是否为预设字节数据,M为正整数,且M小于N。
判断处理模块,用于当字节数据中前M字节为预设字节数据时,控制参数获取模块执行根据字节数据,获取控制字段和差分数据的操作。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种不依赖文件***的差分包合并方法,其特征在于,包括步骤:
将新旧版本的差分包保存在内存中;
拷贝所述差分包中前N字节,获得字节数据,所述N为正整数;
根据所述字节数据,获取控制字段和差分数据;
确定预设的内存指针,获取所述预设的内存指针所指向的控制字段的地址、以及所述预设的内存指针所指向的差分数据,并将所述预设的内存指针指向的地址传递至所述差分包中结构体,获得修改的差分包,所述预设的内存指针包括指向所述差分包最后字节的内存指针;
将旧版本内容读取到所述内存中;
循环读取所述修改的差分包中内容,并将循环读取的内容与所述旧版本内容进行差分运算生成新版本内容。
2.根据权利要求1所述的不依赖文件***的差分包合并方法,其特征在于,所述确定预设的内存指针,获取所述预设的内存指针所指向的控制字段的地址、以及所述预设的内存指针所指向的差分数据,并将所述预设的内存指针指向的地址传递至所述差分包中结构体,获得修改的差分包的步骤包括:
确定定义的第一内存指针,并将所述第一内存指针指向所述差分包第N+1字节;
确定定义的第二内存指针,并将所述第二内存指针指向所述差分包最后字节;
将所述第一内存指针和所述第二内存指针传递至所述结构体的元素handle和fEnd中;
确定定义的第三内存指针,并将所述第三内存指针指向控制字段;
将所述第二内存指针和所述第三内存指针传递至所述结构体的元素handle和fEnd中;
确定定义的定义第四内存指针,并将所述第四内存指针指向差分数据;
将所述第三内存指针和所述第四内存指针传递至所述结构体的元素handle和fEnd中,获得修改的差分包。
3.根据权利要求2所述的不依赖文件***的差分包合并方法,其特征在于,所述第一内存指针为cpf、所述第二内存指针为patchEnd、所述第三内存指针为dpf且所述第四内存指针为epf。
4.根据权利要求2或3所述的不依赖文件***的差分包合并方法,其特征在于:
所述将所述第一内存指针和所述第二内存指针传递至所述结构体的元素handle和fEnd中的步骤包括:调用BZ2_bzReadOpen函数,将所述第一内存指针和所述第二内存指针传递到所述结构体的元素handle和fEnd中;
所述将所述第二内存指针和所述第三内存指针传递至所述结构体的元素handle和fEnd中的步骤包括:调用所述BZ2_bzReadOpen函数,将所述第二内存指针和所述第三内存指针传递至所述结构体的元素handle和fEnd中;
所述将所述第三内存指针和所述第四内存指针传递至所述结构体的元素handle和fEnd中的步骤包括:调用所述BZ2_bzReadOpen函数,将所述第三内存指针和所述第四内存指针传递至所述结构体的元素handle和fEnd中。
5.根据权利要求1所述的不依赖文件***的差分包合并方法,其特征在于,所述根据所述字节数据,获取控制字段和差分数据的步骤之前还包括:
判断所述字节数据中前M字节是否为预设字节数据,所述M为正整数,且所述M小于所述N;
若是,进入所述根据所述字节数据,获取控制字段和差分数据的步骤。
6.一种不依赖文件***的差分包合并***,其特征在于,包括:
存储模块,用于将新旧版本的差分包保存在内存中;
拷贝模块,用于拷贝所述差分包中前N字节,获得字节数据,所述N为正整数;
参数获取模块,用于根据所述字节数据,获取控制字段和差分数据;
指针处理模块,用于确定预设的内存指针,获取所述预设的内存指针所指向的控制字段的地址、以及所述预设的内存指针所指向的差分数据,并将所述预设的内存指针指向的地址传递至所述差分包中结构体,获得修改的差分包,所述预设的内存指针包括指向所述差分包最后字节的内存指针;
读取模块,用于将旧版本内容读取到所述内存中;
差分运算模块,用于循环读取所述修改的差分包中内容,并将循环读取的内容与所述旧版本内容进行差分运算生成新版本内容。
7.根据权利要求6所述的不依赖文件***的差分包合并***,其特征在于,所述指针处理模块包括:
第一处理单元,用于确定定义的第一内存指针,并将所述第一内存指针指向所述差分包第N+1字节;
第二处理单元,用于确定定义的第二内存指针,并将所述第二内存指针指向所述差分包最后字节;
第一传递单元,用于将所述第一内存指针和所述第二内存指针传递至所述结构体的元素handle和fEnd中;
第三处理单元,用于确定定义的第三内存指针,并将所述第三内存指针指向控制字段;
第二传递单元,用于将所述第二内存指针和所述第三内存指针传递至所述结构体的元素handle和fEnd中;
第四处理单元,用于确定定义的定义第四内存指针,并将所述第四内存指针指向差分数据;
第三传递单元,用于将所述第三内存指针和所述第四内存指针传递至所述结构体的元素handle和fEnd中,获得修改的差分包。
8.根据权利要求7所述的不依赖文件***的差分包合并***,其特征在于,所述第一内存指针为cpf、所述第二内存指针为patchEnd、所述第三内存指针为dpf且所述第四内存指针为epf。
9.根据权利要求7或8所述的不依赖文件***的差分包合并***,其特征在于:
所述第一传递单元,用于调用BZ2_bzReadOpen函数,将所述第一内存指针和所述第二内存指针传递到所述结构体的元素handle和fEnd中;
所述第二传递单元,用于调用所述BZ2_bzReadOpen函数,将所述第二内存指针和所述第三内存指针传递至所述结构体的元素handle和fEnd中;
所述第三传递单元,用于调用所述BZ2_bzReadOpen函数,将所述第三内存指针和所述第四内存指针传递至所述结构体的元素handle和fEnd中。
10.根据权利要求6所述的不依赖文件***的差分包合并***,其特征在于,还包括:
判断模块,用于判断所述字节数据中前M字节是否为预设字节数据,所述M为正整数,且所述M小于所述N;
判断处理模块,用于当所述字节数据中前M字节为预设字节数据时,控制所述参数获取模块执行所述根据所述字节数据,获取控制字段和差分数据的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710158034.7A CN107423038B (zh) | 2017-03-16 | 2017-03-16 | 不依赖文件***的差分包合并方法与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710158034.7A CN107423038B (zh) | 2017-03-16 | 2017-03-16 | 不依赖文件***的差分包合并方法与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423038A CN107423038A (zh) | 2017-12-01 |
CN107423038B true CN107423038B (zh) | 2020-09-29 |
Family
ID=60423532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710158034.7A Active CN107423038B (zh) | 2017-03-16 | 2017-03-16 | 不依赖文件***的差分包合并方法与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423038B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286564A (zh) * | 2020-10-22 | 2021-01-29 | 上海艾拉比智能科技有限公司 | 一种针对iot设备二进制***文件的差分升级算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212548B2 (en) * | 2002-06-21 | 2007-05-01 | Adtran, Inc. | Multiple T1 channel inverse multiplexing method and apparatus |
CN103077017A (zh) * | 2012-12-27 | 2013-05-01 | 惠州市德赛西威汽车电子有限公司 | 一种嵌入式内存复用方法 |
CN106469122A (zh) * | 2015-08-14 | 2017-03-01 | 群联电子股份有限公司 | 有效数据合并方法、存储器控制器与存储器储存装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191914B2 (en) * | 2015-03-31 | 2019-01-29 | EMC IP Holding Company LLC | De-duplicating distributed file system using cloud-based object store |
-
2017
- 2017-03-16 CN CN201710158034.7A patent/CN107423038B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212548B2 (en) * | 2002-06-21 | 2007-05-01 | Adtran, Inc. | Multiple T1 channel inverse multiplexing method and apparatus |
CN103077017A (zh) * | 2012-12-27 | 2013-05-01 | 惠州市德赛西威汽车电子有限公司 | 一种嵌入式内存复用方法 |
CN106469122A (zh) * | 2015-08-14 | 2017-03-01 | 群联电子股份有限公司 | 有效数据合并方法、存储器控制器与存储器储存装置 |
Non-Patent Citations (1)
Title |
---|
"基于EXT3文件***数据恢复方法的研究";徐国天;《信息网络安全》;20120310(第2期);正文第63页至正文第65页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107423038A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
US8196110B2 (en) | Method and apparatus for verifying a suspect return pointer in a stack | |
US20090070374A1 (en) | Generating Incremental Program Updates | |
EP3076292B1 (en) | System and method of controlling access of a native image of a machine code to operating system resources | |
CN109710185B (zh) | 数据处理方法及装置 | |
CN105138410A (zh) | 一种基于磁盘缓存的消息队列的实现方法及装置 | |
CN107423038B (zh) | 不依赖文件***的差分包合并方法与*** | |
US8413132B2 (en) | Techniques for resolving read-after-write (RAW) conflicts using backup area | |
EP3121750B1 (en) | System and method for antivirus checking of native images of software assemblies | |
US9064042B2 (en) | Instrumenting computer program code by merging template and target code methods | |
US20040181777A1 (en) | Method and device for programming electronic devices using a uniform parameter format | |
CN106557572A (zh) | 一种安卓应用程序文件的提取方法及*** | |
US6718405B2 (en) | Hardware chain pull | |
CN112637143B (zh) | 安全控制方法、装置及工控数据采集网关 | |
CN111651195B (zh) | 一种***依赖包冲突检测方法及装置 | |
CN110471669B (zh) | 一种空指针引用的检测方法及检测装置 | |
US7222128B2 (en) | Method for updating and preserving data when performing a software upgrade | |
CN112114811A (zh) | 一种编译方法、装置和设备 | |
CN111651188A (zh) | 差分包的数据结果确定方法、装置、设备及存储介质 | |
CN103473057A (zh) | 一种memcpy函数的优化方法 | |
US20240192936A1 (en) | Systems and methods for creating an extended smart card application file from multiple smart card application files | |
CN112765676B (zh) | 一种智能合约执行方法、智能合约执行装置及节点设备 | |
CN112214220B (zh) | 用于集成***的方法、装置和设备 | |
CN113760195B (zh) | 一种基于嵌入式的fatfs文件*** | |
CN108257333B (zh) | 一种税控设备与Android平台进行通讯的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |