CN110244973B - 数据更新包的生成方法、装置及数据更新方法、装置 - Google Patents

数据更新包的生成方法、装置及数据更新方法、装置 Download PDF

Info

Publication number
CN110244973B
CN110244973B CN201810196355.0A CN201810196355A CN110244973B CN 110244973 B CN110244973 B CN 110244973B CN 201810196355 A CN201810196355 A CN 201810196355A CN 110244973 B CN110244973 B CN 110244973B
Authority
CN
China
Prior art keywords
bit
data
maximum matching
new data
bit stream
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
Application number
CN201810196355.0A
Other languages
English (en)
Other versions
CN110244973A (zh
Inventor
王杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201810196355.0A priority Critical patent/CN110244973B/zh
Publication of CN110244973A publication Critical patent/CN110244973A/zh
Application granted granted Critical
Publication of CN110244973B publication Critical patent/CN110244973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Abstract

本发明公开了一种数据更新包的生成方法、装置及数据更新方法、装置,本发明通过对旧数据的原始比特流进行补位处理,得到旧数据的至少两条补位比特流,基于旧数据的至少两条补位比特流与新数据的比特流对应的字节串按字节进行匹配,可以使新数据在旧数据的补位比特流中找到匹配的字节串的概率大大提升,进一步,本发明通过将最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包,使得生成的数据更新包的数据量大大减少,同时,基于该数据更新包可以实现数据的快速更新。

Description

数据更新包的生成方法、装置及数据更新方法、装置
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种数据更新包的生成方法、装置及数据更新方法、装置。
背景技术
增量更新与全量更新相对,增量更新是指在进行数据更新操作时,只针对有变化的数据制作数据更新包,在数据变化不大的情况下,增量更新所使用的数据更新包的数据量通常小于全量数据压缩后的数据量,因此广泛应用于手机APP更新、地图数据更新等领域。
现有的数据更新包的生成方案一般适用于按字节存储的数据,该方案需要按字节对新数据和旧数据进行对比,生成用于增量更新的数据更新包。本发明的发明人发现,利用现有技术生成的用于增量更新的数据更新包的大小还可以进一步减小。
发明内容
有鉴于此,本发明提供了一种数据更新包的生成方法、装置及数据更新方法、装置,能够获得数据量更小的数据更新包,并实现数据的快速更新。
为了实现上述目的,现提出的方案如下:
本发明提供了一种数据更新包的生成方法,包括:
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
判断通过去重后的最大匹配字节串是否能还原出所述新数据;
若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
相应地,本发明提供了一种数据更新方法,包括:
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明提供了另一种数据更新方法,包括,
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明提供了一种数据更新包生成装置,包括:
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
匹配字节串确定单元,用于将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
字节串去重单元,用于根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
数据还原判断单元,判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元,用于在所述数据还原判断单元判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
相应地,本发明还提供了一种数据更新装置,包括:
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
补位处理单元,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明还提供了另一种数据更新装置,包括,
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
补位处理单元,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
本发明还提供了另一种数据更新包的生成方法,包括:
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
判断通过去重后的最大匹配字节串是否能还原出所述新数据;
若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
相应地,本发明提供了一种数据更新方法,包括:
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明提供了另一种数据更新方法,包括,
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明还提供另一种数据更新包生成装置,包括:
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串确定单元,用于将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
字节串去重单元,用于根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
数据还原判断单元,用于判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元,用于在数据还原判断单元判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
相应地,本发明提供了一种数据更新装置,包括:
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
相应地,本发明还提供了另一种数据更新装置,包括,
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
从上述的技术方案可以看出,本发明实施例提供了两种数据更新包的生成方法,其中,一种方法按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;判断通过去重后的最大匹配字节串是否能还原出所述新数据;若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。由于该方法对旧数据的原始比特流进行补位处理,首先得到了按字节对齐的补位比特流,进一步,本发明比特位补位个数至少包括两种,也就是,补位处理后会得到旧数据至少两条补位比特流,基于两条以上的补位比特流与新数据的比特流按字节进行匹配,可以使新数据在补位比特流中找到最大匹配字节串的概率大大提升,同时,本发明会判断通过去重后的最大匹配字节串是否能还原出所述新数据,若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包,由于本发明对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串,这保证了去重后的最大匹配字节串之间不会包含重复的字节串,同时,本发明保留了字节个数大于预设的字节个数阈值的去重后的最大匹配字节串,这保证去重后的最大匹配字节串不会过于碎片化,而是能够代表新数据中比较长的一段字节串,这些技术手段有效地降低了数据更新包的数据量。
本发明提供另一种数据更新包的生成方法包括:按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;将各条所述补位比特流按预定的顺序,组织为一条组合比特流;将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;判断通过去重后的最大匹配字节串是否能还原出所述新数据;若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。另一种方法与前一种方法相比最大的区别在于,该方法将各条所述补位比特流按预定的顺序,组织为一条组合比特流,将所述组合比特流与新数据的比特流按字节进行匹配,而第一种方法是将每一条补位比特流单独与新数据的比特流按字节进行匹配,这两种实施例均能实现本发明的目的,同时,另一种方法组织的数据更新包中不再包括比特位补位个数,所以,另一种方法得到的数据更新包的数据量比第一种方法得到的数据更新包的数据量更小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一公开的一种数据更新包的生成方法流程图;
图2为针对本发明实施例一生成的一种数据更新包提供的一种数据更新方法流程图;
图3为针对本发明实施例一生成的另一种数据更新包提供的一种数据更新方法流程图;
图4为本发明实施例一公开的一种数据更新包的生成装置组成示意图;
图5为针对本发明实施例一生成的一种数据更新包提供的一种数据更新装置的组成示意图;
图6为针对本发明实施例一生成的另一种数据更新包提供的一种数据更新装置的组成示意图;
图7为本发明实施例二公开的一种数据更新包的生成方法流程图;
图8为针对本发明实施例二生成的一种数据更新包提供的一种数据更新方法流程图;
图9为针对本发明实施例二生成的另一种数据更新包提供的一种数据更新方法流程图;
图10为本发明实施例二公开的一种数据更新包的生成装置组成示意图;
图11为针对本发明实施例二生成的一种数据更新包提供的一种数据更新装置的组成示意图;
图12为针对本发明实施例二生成的另一种数据更新包提供的一种数据更新装置的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。同时,需要说明的是,本发明所有涉及具体数值的举例,仅为更清楚地说明本发明实施例提供的技术方案,不应视为对本发明具体实施方式的限制。
本发明实施例提供了数据更新包的生成方案,以生成用于增量更新的数据更新包,相应地,本发明实施例还提供与之相关数据更新方案,基于前述方案生成的数据更新包能够实现数据的快速更新。
如图1所示,是本发明实施例一提供的数据更新包的生成方法,该方法包括:
步骤S100、按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
本发明通过设置至少两种比特位补位个数,可以得到至少两条或更多条的补位比特流。由于1字节等于8个比特,所以,本发明“比特位补位个数”可以有8种,即,“比特位补位个数”可以是0-7中的任意一个数值,所以,本发明针对一个旧数据最多可以得到8种补位比特流。
进一步,在实际应用中,步骤S100可以采用如下方式实现:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
在旧数据的原始比特流的首个比特位之前和最后一个比特位之后补入“0”可以保证旧数据的原始比特流本身不会被破坏,以便后续与该旧数据对应的新数据进行匹配。需要说明的是,上述实施例中补入的是“0”,在本发明其他实施例中也可以补入“1”,或者将“0”和“1”按照一定的规则补入,并不影响本发明的实现。前述实施例提供的实施方式不应视为对本发明的限制。
步骤S101、将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
本发明中,以字节为单位为新数据和旧数据中的每个字节赋予了一个位置序号,比如,新数据有8个字节,则位置序号为0-7或者1-8,旧数据同理。
为了通过补位比特流在新数据中找到尽量长的最大匹配字节串,防止最大匹配字节串碎片化,导致数据更新效率降低,本发明还设置了字节个数阈值,字节个数阈值可以由技术人员根据实际要更新的数据的情况设置,本发明不做任何限制。以字节个数阈值设置为5为例,本发明将每一条补位比特流与新数据的比特流按字节进行匹配,得到的最大匹配字节串最少要包括5个字节,如果匹配的字节串包括的字节个数少于5,则该字节串不满足本发明的要求。
步骤S102、根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
本发明进行去重处理原因是,旧数据的补位比特流至少有两条,将每一条补位比特流与新数据的比特流进行匹配之后,最终得到所有的最大匹配字节串中有可能会包含重复的字节。比如,用两条补位比特流分别与新数据的比特流进行匹配之后,一共得到了10个最大匹配字节串,其中一条补位比特流得到了4个最大匹配字节串,另一条补位比特流得到了6个最大匹配字节串,那么步骤S102要做的则是判断这10个最大匹配字节串中是否包含重复的字节,并对重复的字节进行去重处理,即,删除重复的字节。由于字节在新数据中的位置序号是唯一的,所以,可以通过字节在新数据中的位置序号进行去重处理。
步骤S103、判断通过去重后的最大匹配字节串是否能还原出所述新数据,若能还原出所述新数据,则进入步骤S104;
步骤S104、将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
其中,一条去重后的最大匹配字节串包括在字节在新数据中的位置序号是连续的,则可以用这些字节中首个字节在新数据的位置序号和一个长度,来表示这条去重后的最大匹配字节串包括的字节在新数据中的位置序号。比如,首个字节在新数据中的位置序号为2,长度为5,则表示该去重后的最大匹配字节串包括了新数据中位置序号为2-6的字节。在补位比特流中的位置序号也可按照同样的方式表示,此处不再赘述。
以上是本发明实施例一提供一种数据更新包的生成方法,进一步,如果在实际应用中存在通过去重后的最大匹配字节串无法还原出新数据的情况,则本发明实施例一还可以进一步包括如下步骤:
步骤S105、获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
步骤S106、将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
以上是本发明实施例一提供的一种数据更新包的生成方法,以下对该方法所采用的技术手段的实施方式进行介绍。
首先,步骤S103判断通过去重后的最大匹配字节串是否能还原出所述新数据,该技术手段可以采用如下方式实现,包括:
将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节,若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
举例来说,将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织后发现,位置序号2相邻的是位置序号4,中间缺了位置序号3,如果位置序号2对应的去重后的最大匹配字节串是10001010,位置序号4对应的去重后的最大匹配字节串是10100001,则需要在10001010和10100001之间填充一个字节的“0”,即填充8个“0”,相应地,如果还有其他相邻的位置序号是非连续的,则也需要在其中间填充“0”。本发明中,非连续的相邻位置序号之间缺几个位置序号则填充几个字节的“0”,从而保证得到字节个数与新数据相同的待比较字节串。比如,新数据一共是8个字节,仅位置序号2和位置序号4之间缺了一个位置序号3,其他相邻的位置序号都是连续的,则只在位置序号2和位置序号4对应的字节之间补充一个字节的“0”。
所述将所述待比较字节串与所述新数据按字节进行差分处理,可以理解为将待比较字节串和新数据按比特位求差,若求差后得到字节串中包含非“0”的字节,则说明待比较字节串和新数据之间存在差异,即,用最大匹配字节串无法还原出新数据,反之则能还原出。
其次,步骤S102根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串包括的字节个数大于预设的字节个数阈值,该技术手段可以采用如下方式实现,该方式包括:
比较任意两个最大匹配字节串在新数据中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在补位比特流和新数据中的位置序号;
将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
如前所述新数据中的位置序号是按字节分配的,而一个最大匹配字节串会包括大于预设的字节个数阈值的字节,所以,一个最大匹配字节串会包括新数据中的多个位置序号,因此,本发明对最大匹配字节串进行去重处理并不是直接对某个最大匹配字节串进行整体删除,而是要按照上述实施方式有条件的删除,以保证留下足够多的可以反映新数据的最大匹配字节串。
举例说明,一条最大匹配字节串包括4个字节,这4个字节在新数据中对应的位置序号为2、3、4、5,另一条最大匹配字节串包括7个字节,这7个字节在新数据中对应的位置序号为4、5、6、7、8、9、10,则从包括4个字节的最大匹配字节串中删除位置序号4和5对应的字节,这时剩余字节串包括位置序号2和3对应的字节,假定预设的字节个数阈值为4,则该剩余字节串将不会被保留,如果预设的字节个数阈值为2,则该剩余字节串及其相关的信息会被保留。
以上对本发明实施例一提供的技术方案及采用的技术手段的实施例进行了介绍,接下来通过一个具体实例对本发明实施例一提供的技术方案进行介绍。
假设旧数据的原始比特流为:0110 0001 0110 0010 0110 0011 0110 0100 01100101 0110…
新数据的比特流为:0001 0110 0010 0110 0011 0110 0100 0110 0101 01100110…
旧数据原始比特流对应的字节串为:61 62 63 64 65 66 67 68 69 6a 6b 6c 6d6e 6f 70
新数据的比特流对应的字节串为:16 26 36 46 56 66 76 86 96 a6 b6 6c 6d6e 6f 70
在旧数据的首个比特位之前和最后一个比特位之后分别用“0”进行补位,比特位补位个数为0-7,补位之后的补位比特流如下:
补0位比特流:0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110…
补1位比特流:0011 0000 1011 0001 0011 0001 1011 0010 0011 0010 1011…
补2位比特流:0001 1000 0101 1000 1001 1000 1101 1001 0001 1001 0101…
……
上述8个补位比特流对应的字节串如下:
补0位:61 62 63 64 65 66 67 68 69 6a b6
补1位:30 b1 31 b2 32 b3 33 b4 34 b5 35 b6 36 b7 37 b8 00
补2位:18 58 98 d9 19 59 99 da 1a 5a 9a db 1b 5b 9b dc 00
补3位:0c 2c 4c 6c 8c ac cc ed 0d 2d 4d 6d 8d ad cd ee 00
补4位:06 16 26 36 46 56 66 76 86 96 a6 b6 c6 d6 e6 f7 00
补5位:03 0b 13 1b 23 2b 33 3b 43 4b 53 5b 63 6b 73 7b 80
补6位:01 85 89 8d 91 95 99 9d a1 a5 a9 ad b1 b5 b9 bd c0
补7位:00 c2 c4 c6 c8 ca cc ce d0 d2 d4 d6 d8 da dc de e0
新数据和补位比特流的位置序号从0开始编号,则将新数据的比特流按字节分别与上述8个补位比特流进行匹配,并对匹配结果进行去重处理以及按照预设的字节个数阈值进行保留,最终得到的结果如下表1所示:
比特位补位个数 旧数据中的起始位置序号 新数据中的起始位置序号 长度
0 11 11 5
4 1 0 11
表1
表1第一行结果表示的是,将旧数据补位0个“0”后得到的补位比特流和新数据进行匹配,得到的去重后的最大匹配字节串6c 6d 6e 6f 70,该字节串在旧数据中对应的位置序号为11-15,在新数据中对应的位置序号为11-15;第二行结果表示的是,在旧数据的首个比特位之前补位4个“0”,在旧数据的最后一个比特位之后补位4个“0”之后得到一条补位比特流,将该补位比特流和新数据进行匹配,得到的去重后的最大匹配字节串16 26 36 4656 66 76 86 96 a6 b6,该字节串在旧数据中对应的位置序号为1-11,在新数据中对应的位置序号为0-10,由于通过这两个去重后的最大匹配字节串可以还原出新数据,所以,本发明将上述表格中记录的数据组织为数据更新包即可。在组织数据更新包时,若上述表格中的一个参数用一个字节来表示,则上述数据更新包最多占用8个字节的数据,而按照现有技术,将新数据和旧数据直接进行匹配,即与补位“0”个比特流进行匹配,如前所述其只能够匹配到一个长度为5的字节串,这5个字节串在数据更新包中只需记录其在新数据和旧数据的位置序号,按照前述记录方式,至少要用3个字节,一个字节记录在新数据中的起始位置序号,一个字节记录在旧数据中的起始位置序号,一个字节记录长度,由于新数据中还有11个字节的字节串没有被匹配到,所以,数据更新包中还需要包括11个字节的非匹配字节串,因此,现有技术生成的数据更新包至少要占用14个字节,对比可知,本发明实施例一提供的方法与现有技术相比会减少14-8=6个字节的数据量。
针对本发明实施例一提供的数据更新包的生成方法,本发明还提供相应的数据更新实施例,以下结合附图对本发明提供数据更新的实施例进行详细介绍。
由于本发明实施例一提供的方案能够得到两种数据更新包,为此本发明实施例还提供了两种数据更新方法。
请参见图2,是针对本发明实施例一生成的一种数据更新包,提供的一种数据更新方法,该方法包括:
步骤S200、获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
步骤S201、按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
步骤S202、根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
步骤S203、根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
结合前述举例,步骤S200得到了包含了表1所示参数的数据更新包,步骤S201会按照比特位补位个数为0和为4,对旧数据的原始比特流进行补位处理,得到如前所示的两条补位比特流,然后,步骤S202会在比特位补位个数为0的补位比特流中,确定位置序号11-15对应的字节串,在比特位补位个数为4的补位比特流中,确定位置序号1-11对应的字节串,最终,步骤203会按照这两个字节串在新数据中的位置序号生成新数据,如前所述位置序号11-15对应的字节串在新数据中对应的位置序号为11-15,位置序号1-11对应的字节串在新数据中对应的位置序号为0-10,则本发明将位置序号1-11对应的字节串排序在位置序号11-15对应的字节串之前,得到新数据,用该新数据直接替换本地的旧数据,实现对本地数据的更新。由该举例可见,本发明可以通过数据更新包快速得到新数据,并用新数据对旧数据进行替换即可实现对本地数据的更新,因此,本发明能够实现对本地的数据的快速更新。
请参见图3,是针对本发明实施例一生成的另一种数据更新包,提供的另一种数据更新方法,该方法包括:
步骤S300、获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
步骤S301、按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
步骤S302、根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
步骤S303、根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
图3所示实施例与图2所示实施例的差别仅在于,数据更新包中包括了非匹配字节串,其他原理与图2所示实施例相同,此处不再赘述。
相应地,为了实现本发明前述实施例提供的方法,本发明还提供了相应的装置实施例。
如图4所示,为与本发明实施例一提供的数据更新包的生成方法相对应的装置,该装置包括:
补位处理单元400,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
在实际应用中,所述补位处理单元400,按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流的过程具体包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
匹配字节串确定单元401,用于将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
字节串去重单元402,用于根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
数据还原判断单元403,判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元404,用于在所述数据还原判断单元403判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
与前述方法实施例相同的原因,本发明图4所示装置还可以进一步包括:
非匹配字节串确定单元405,用于在所述数据还原判断单元403判断得到不能还原出所述新数据时,获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
数据更新包第二组织单元406,用于将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
在实际应用,所述数据还原判断单元403具体包括:
待比较字节串确定子单元,用于将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
差分处理子单元,用于将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节,若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
在实际应用中,所述字节串去重单元402具体包括:
字节删除子单元,用于比较任意两个最大匹配字节串在新数据中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在补位比特流和新数据中的位置序号;
去重结果确定子单元,用于将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
如前所述本发明实施例一提供的方案能够得到两种数据更新包,针对这两种数据更新包本发明实施例提供了两种数据更新方法,相应地,本发明也提供了两种与数据更新方法对应的数据更新装置。
如图5所示,是针对本发明实施例一生成的一种数据更新包,提供的一种数据更新装置,该装置包括:
数据更新包获取单元500,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
补位处理单元501,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元502,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元503,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
如图6所示,是针对本发明实施例一生成的另一种数据更新包,提供的另一种数据更新装置,该装置包括,
数据更新包获取单元600,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
补位处理单元601,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元602,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元603,用于根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
以上介绍了本发明实施例一提供的数据更新包的生成方法,与之相关的数据更新方法以及实现这些方法的装置实施例,以下结合附图对本发明实施例二提供的数据更新包的生成方法、与之相关的数据更新方法以及实现这些方法的装置实施例进行详细介绍。
如图7所示,本发明实施例二提供的数据更新包的生成方法,包括:
步骤700、按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
步骤701、将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
其中,所述预定的顺序是由比特位补位个数决定的顺序,比如,比特位补位个数为0-7,得到了9个补位比特流,则可以按照比特位补位个数为0-7的顺序,将对应的补位比特流顺序组织为一条组合比特流。
步骤702、将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
其中,步骤702将新数据的比特流与组合比特流按字节进行匹配时,可以按照每次移动一个字节的方式,将新数据的比特流与组合比特流按字节进行匹配,直到新数据的比特流和组合比特流的每个字节都匹配过。比如,新数据的比特流一共是8个字节,组合比特流一共是24个字节,第一次匹配时,将新数据与组合比特流的第0-7个字节进行匹配,第二次匹配时,将新数据与组合比特流的第1-8个字节进行匹配,以此类推直到将新数据的比特流和组合比特流的每个字节都匹配过。
步骤703、根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
其中,在实际应用中步骤703可以采用如下实施方式,该方式包括:
比较任意两个最大匹配字节串在新数据或者组合比特流中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在组合比特流和新数据中的位置序号;
将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
与实施例一不同,实施例二中最大匹配字节串包括的每个字节在新数据中的位置序号或者组合比特流中的位置序号均是唯一的,所以,实施例二可以最大匹配字节串包括的每个字节在新数据中的位置序号或者组合比特流中的位置序号进行去重处理。举例说明,一条最大匹配字节串包括4个字节,这4个字节在组合比特流中对应的位置序号为2、3、4、5,另一条最大匹配字节串包括7个字节,这7个字节在组合比特流中对应的位置序号为4、5、6、7、8、9、10,则从包括4个字节的最大匹配字节串中删除位置序号4和5对应的字节,这时剩余字节串包括位置序号2和3对应的字节,假定预设的字节个数阈值为4,则该剩余字节串将不会被保留,如果预设的字节个数阈值为2,则该剩余字节串及其相关的信息会被保留。按照在新数据中的位置序号进行去重处理原理与前述举例相同,不再赘述。
步骤704、判断通过去重后的最大匹配字节串是否能还原出所述新数据,若能还原出所述新数据,则进入步骤705;
步骤705、将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
与实施例一相同,如果在实际应用中存在通过去重后的最大匹配字节串无法还原出新数据的情况,则图7所示方法还可以进一步包括如下步骤:
步骤S706、获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
步骤S707、将去重后的最大匹配字节串在新数据和组合比特流中的位置序号、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
以上所示本发明实施例二提供的数据更新包的生成方法,该方法与实施例一不同的技术手段在于,该方法将各条所述补位比特流按预定的顺序,组织为一条组合比特流,并将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,最终将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包,数据更新包中不再包括比特位补位个数。其他技术手段与实施例一相同,故关于相同的技术手段的具体实施方式,请参见实施例一相关部分,此处不再赘述。
以上对本发明实施例二提供的技术方案进行了介绍,接下来沿用前述实例对本发明实施例二提供的技术方案进行介绍。
旧数据的原始比特流为:0110 0001 0110 0010 0110 0011 0110 0100 01100101 0110…
新数据的比特流为:0001 0110 0010 0110 0011 0110 0100 0110 0101 01100110…
旧数据的原始比特流对应的字节串为:61 62 63 64 65 66 67 68 69 6a 6b 6c6d 6e 6f 70
新数据的比特流对应的字节串为:16 26 36 46 56 66 76 86 96 a6 b6 6c 6d6e 6f 70
在旧数据的首个比特位之前和最后一个比特位之后用“0”分别进行补位,比特位补位个数为0-7,补位之后的补位比特流如下:
补0位比特流:0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110…
补1位比特流:0011 0000 1011 0001 0011 0001 1011 0010 0011 0010 1011…
补2位比特流:0001 1000 0101 1000 1001 1000 1101 1001 0001 1001 0101…
……
将上述8个补位比特流依序按照补0位到补7位的顺序,组合得到组合比特流为:0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110…0011 0000 1011 00010011 0001 1011 0010 0011 0010 1011…
组合比特流对应的组合后字节串为:
61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 30 b1 31 b2 32 b3 33b4 34 b5 35 b6 36 b7 37 b8 00 18 58 98 d9 19 59 99 da 1a 5a 9a db 1b 5b 9b dc00 0c 2c 4c 6c 8c ac cc ed 0d 2d 4d 6d 8d ad cd ee 00 06 16 26 36 46 56 66 7686 96 a6 b6 c6 d6 e6 f7 00 03 0b 13 1b 23 2b 33 3b 43 4b 53 5b 63 6b 73 7b 8001 85 89 8d 91 95 99 9d a1 a5 a9 ad b1 b5 b9 bd c0 00 c2 c4 c6 c8 ca cc ce d0d2 d4 d6 d8 da dc de e0
将新数据的比特流与上述组合比特流按字节进行匹配,并对匹配结果进行去重处理以及按照预设的字节个数阈值进行保留,最终得到的结果如下表2所示:
组合比特流的起始位置序号 新数据中的起始位置偏移 长度
11 11 5
65 0 11
表2
组合比特流和新数据按照字节进行位置编号,位置序号从0开始编号,表2中第一行结果表示的是,去重后的最大匹配字节串6c 6d 6e 6f 70在组合比特流中对应的位置序号为11-15,在新数据中对应的位置序号为11-15;第二行结果表示的是,去重后的最大匹配字节串16 26 36 46 56 66 76 86 96 a6 b6在组合比特流中对应的位置序号为65-75,在新数据中对应的位置序号为0-10,由于通过这两条去重后的最大匹配字节串可以还原出新数据,本发明将上述表格中记录的数据组织为数据更新包即可。在组织数据更新包时,上述表格中每一个字段占用一个字节的话,上述数据更新包最多至占用6个字节的数据,而如果按照现有技术,如前所述其生成的数据更新包至少要占用14个字节,对比可知,本发明实施例二提供的方法与现有技术相比会减少14-6=8个字节的数据量。而且与实施例一提供的方案相比,该方案能够进一步减少2个字节的数据量。
由于本发明实施例二提供的数据更新包的生成方法,能够生成两种数据更新包,为此本发明实施例提供了两种数据更新方法。
如图8所示,为针对本发明实施例二生成的一种数据更新包,提供的一种数据更新方法,该方法包括:
步骤800、获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
步骤801、按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
步骤802、将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
由于本发明实施例二生成的数据更新包中不会包括比特位补位个数,所以,采用本发明实施例二提供的方案时,需要将比特位补位个数和补位比特流的组织顺序,部署在需要更新数据的客户端和生成数据更新包的数据更新包生成端,即步骤801和802中预设的比特位补位个数和预定的顺序是按照数据更新包生成端的规则预设的。比如,数据更新包生成端预设的比特位补位个数为0-7,预定的顺序是按照补位0-7的顺序组织补位比特流,则客户端也是按照该规则对原始比特流进行补位处理并组织补位比特流。
步骤803、根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
步骤804、根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
结合前述举例,步骤S800得到了包含了表2所示参数的数据更新包,由于客户端预设了比特位补位个数和补位比特流的数据组织顺序,则步骤S801会按照比特位补位个数为0-7,对旧数据的原始比特流进行补位处理,得到如前所示的7条补位比特流,并将这些补位比特流按照生成数据更新包时的顺序组织为一条组合比特流,步骤803会在组合比特流中,确定位置序号11-15以及65-75对应的字节串,最终,步骤804会按照这两个字节串在新数据中的位置序号生成新数据,如前所述位置序号11-15对应的字节串在新数据中对应的位置序号为11-15,位置序号65-75对应的字节串在新数据中对应的位置序号为0-10,则本发明将位置序号65-75对应的字节串排序在位置序号11-15对应的字节串之前,得到新数据,用该新数据直接替换本地的旧数据,实现对本地数据的快速更新。
请参见图9,是针对本发明实施例二生成的另一种数据更新包,提供的另一种数据更新方法,该方法包括:
步骤S900、获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
步骤S901、按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
步骤S902、将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
步骤S903、根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
步骤S904、根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
图9所示实施例与图8所示实施例的差别仅在于,数据更新包中包括了非匹配字节串,其他原理与图8所示实施例相同,此处不再赘述。
相应地,为了实现本发明前述实施例二提供的方法,本发明还提供相应的装置实施例,以下结合附图进行相信介绍。
请参见图10,为与本发明实施例二提供的数据更新包的生成方法相对应的装置,该装置包括:
补位处理单元1000,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元1001,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串确定单元1002,用于将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
字节串去重单元1003,用于根据最大匹配字节串在新数据或者组合比特流中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
在实际应用中,所述字节串去重单元1003可以具体包括:
字节删除子单元,用于比较任意两个最大匹配字节串在新数据或者组合比特流中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在组合比特流和新数据中的位置序号;
去重结果确定子单元,用于将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
数据还原判断单元1004,用于判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元1005,用于在数据还原判断单元1004判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
与方法实施例相同的原因,图10所示装置还可以进一步包括:
非匹配字节串获取单元1006,用于在数据还原判断单元1004判断得到不能还原出所述新数据时,获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
数据更新包第二组织单元1007,用于将去重后的最大匹配字节串在新数据和组合比特流中的位置序号、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
以上所示是本发明实施例二提供的数据更新包生成装置,该装置与实施例一对应的装置区别在于,该装置包括将各条所述补位比特流按预定的顺序,组织为一条组合比特流的比特流组合单元1001,匹配字节串确定单元1002是将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,字节串去重单元1003,可以根据最大匹配字节串在新数据或者组合比特流中的位置序号,对最大匹配字节串进行去重处理,最终,数据更新包第一组织单元1005将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包,数据更新包中不再包括比特位补位个数。其他技术手段与实施例一对应的装置相同,故关于相同的技术手段的具体实施方式,请参见实施例一相关部分,此处不再赘述。
如前所述本发明实施例二能够生成两种数据更新包,为此,提供了两种数据更新方法,相应地本发明还提供了与这两种数据更新方法对应的数据更新装置。
如图11所示,是针对本发明实施例二生成的第一种数据更新包,提供的一种数据更新装置,包括:
数据更新包获取单元1100,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
补位处理单元1101,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元1102,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元1103,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元1104,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
如图12所示,是针对本发明实施例二生成的另一种数据更新包,提供的另一种数据更新装置,该装置包括,
数据更新包获取单元1200,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
补位处理单元1201,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元1202,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元1203,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元1204,用于根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
以上是本发明实施例提供的数据更新包的生成方法、数据更新方法及相对应的装置。需要说明的是,本发明实施例一提供的数据更新包的生成方法、装置及数据更新方法、装置中记载的具体实施方式,以及示例性的举例也适用于本发明实施例二,为节省篇幅,本发明实施例二没有再重复此部分内容,具体包括:
1、本发明与补位处理相关的步骤S100、步骤S201、步骤S301、步骤S700、步骤S801、步骤S901的具体实施方式相同,具体请参见步骤S100相关部分的记载;
2、本发明与数据还原判断相关的步骤S103、步骤S704的具体实施方式相同,具体请参见步骤103相关部分的记载;
3、本发明补位处理单元400、补位处理单元501、补位处理单元601、补位处理单元1000、补位处理单元1101、补位处理单元1201的具体实施方式相同,具体请参见补位处理单元400相关部分的记载;
4、本发发明数据还原判断单元403、数据还原判断单元1004的具体实施方式相同,具体请参见数据还原判断单元403相关部分的记载。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (32)

1.一种数据更新包的生成方法,其特征在于,包括:
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
判断通过去重后的最大匹配字节串是否能还原出所述新数据;
若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
2.根据权利要求1所述的方法,其特征在于,若不能还原出所述新数据,该方法还包括:
获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
3.根据权利要求2所述的方法,其特征在于,所述判断通过去重后的最大匹配字节串是否能还原出所述新数据,包括:
将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节;
若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
4.根据权利要求1-3中任意一项权利要求所述的方法,其特征在于,所述按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
5.根据权利要求1-3中任意一项权利要求所述的方法,其特征在于,所述根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串包括的字节个数大于预设的字节个数阈值,包括:
比较任意两个最大匹配字节串在新数据中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在补位比特流和新数据中的位置序号;
将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
6.一种数据更新方法,其特征在于,包括:
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
7.根据权利要求6述的方法,其特征在于,按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照所述比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
8.一种数据更新方法,其特征在于,包括,
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
9.根据权利要求8所述的方法,其特征在于,按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照所述比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
10.一种数据更新包生成装置,其特征在于,包括:
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
匹配字节串确定单元,用于将每一条补位比特流与新数据的比特流按字节进行匹配,得到该条补位比特流对应的一条以上的最大匹配字节串及其在补位比特流和新数据中的位置序号,所述最大匹配字节串的字节个数大于预设的字节个数阈值;
字节串去重单元,用于根据最大匹配字节串在新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在补位比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
数据还原判断单元,判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元,用于在所述数据还原判断单元判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数组织为数据更新包。
11.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:
非匹配字节串确定单元,用于在所述数据还原判断单元判断得到不能还原出所述新数据时,获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
数据更新包第二组织单元,用于将去重后的最大匹配字节串在新数据和对应补位比特流中的位置序号以及该补位比特流对应的比特位补位个数、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
12.根据权利要求11所述的装置,其特征在于,所述数据还原判断单元具体包括:
待比较字节串确定子单元,用于将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
差分处理子单元,用于将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节,若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
13.根据权利要求10-12中任意一项权利要求所述的装置,其特征在于,所述补位处理单元,按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流的过程具体包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
14.根据权利要求10-12中任意一项权利要求所述的装置,其特征在于,所述字节串去重单元具体包括:
字节删除子单元,用于比较任意两个最大匹配字节串在新数据中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在补位比特流和新数据中的位置序号;
去重结果确定子单元,用于将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
15.一种数据更新装置,其特征在于,包括:
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,以及该补位比特流对应的比特位补位个数;
补位处理单元,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
16.一种数据更新装置,其特征在于,包括,
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和对应补位比特流中的位置序号,该补位比特流对应的比特位补位个数以及非匹配字节串及其在新数据中的位置序号;
补位处理单元,用于按照所述比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在对应补位比特流中的位置序号,在所述旧数据的补位比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,非匹配字节串及其在新数据中的位置序号,生成新数据。
17.一种数据更新包的生成方法,其特征在于,包括:
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
判断通过去重后的最大匹配字节串是否能还原出所述新数据;
若能还原出所述新数据,则将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
18.根据权利要求17所述的方法,其特征在于,若不能还原出所述新数据,该方法还包括:
获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
将去重后的最大匹配字节串在新数据和组合比特流中的位置序号、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
19.根据权利要求18所述的方法,其特征在于,所述判断通过去重后的最大匹配字节串是否能还原出所述新数据,包括:
将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节;
若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
20.根据权利要求17-19中任意一项权利要求所述的方法,其特征在于,所述按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
21.根据权利要求17-19中任意一项权利要求所述的方法,其特征在于,所述根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值,包括:
比较任意两个最大匹配字节串在新数据或者组合比特流中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在组合比特流和新数据中的位置序号;
将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
22.一种数据更新方法,其特征在于,包括:
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
23.根据权利要求22所述的方法,其特征在于,按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
24.一种数据更新方法,其特征在于,包括,
获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
25.根据权利要求24所述的方法,其特征在于,按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
26.一种数据更新包生成装置,其特征在于,包括:
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串确定单元,用于将所述组合比特流与新数据的比特流按字节进行匹配,得到一条以上的最大匹配字节串及其在组合比特流和新数据中的位置序号,所述最大匹配字节串中包含的字节个数大于预设的字节个数阈值;
字节串去重单元,用于根据最大匹配字节串在组合比特流或新数据中的位置序号,对最大匹配字节串进行去重处理,得到去重后的最大匹配字节串及其在组合比特流和新数据中的位置序号,去重后的最大匹配字节串的字节个数大于预设的字节个数阈值;
数据还原判断单元,用于判断通过去重后的最大匹配字节串是否能还原出所述新数据;
数据更新包第一组织单元,用于在数据还原判断单元判断得到能还原出所述新数据时,将去重后的最大匹配字节串在新数据和组合比特流中的位置序号组织为数据更新包。
27.根据权利要求26所述的装置,其特征在于,所述装置还包括:
非匹配字节串获取单元,用于在数据还原判断单元判断得到不能还原出所述新数据时,获取所述新数据中除去重后的最大匹配字节串之外的非匹配字节串及其在新数据中的位置序号;
数据更新包第二组织单元,用于将去重后的最大匹配字节串在新数据和组合比特流中的位置序号、非匹配字节串及其在新数据中的位置序号组织为数据更新包。
28.根据权利要求27所述的装置,其特征在于,数据还原判断单元具体包括:
待比较字节串确定子单元,用于将所述去重后的最大匹配字节串按照其在新数据中的位置序号进行组织以及当相邻两个位置序号非连续时,在这两个位置序号对应的去重后的最大匹配字节串之间填充0,以得到字节个数与新数据相同的待比较字节串;
差分处理子单元,用于将所述待比较字节串与所述新数据按字节进行差分处理,判定差分结果中是否包含非“0”的字节,若包含,则不能还原出所述新数据,若不包含,则能还原出所述新数据。
29.根据权利要求26-28中任意一项权利要求所述的装置,其特征在于,所述补位处理单元,按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流的过程,具体包括:
在旧数据的原始比特流的首个比特位之前,按照预设的比特位补位个数,补入补位个数个“0”,并在旧数据的原始比特流的最后一个比特位之后补入n个“0”,n等于8减去所述补位个数。
30.根据权利要求26-28中任意一项权利要求所述的装置,其特征在于,所述字节串去重单元具体包括:
字节删除子单元,用于比较任意两个最大匹配字节串在新数据或者组合比特流中的位置序号,如果存在相同的位置序号,则从字节个数少的一条最大匹配字节串中删除所述相同的位置序号对应的字节,得到剩余字节串及其在组合比特流和新数据中的位置序号;
去重结果确定子单元,用于将字节个数大于预设的字节个数阈值的剩余字节串及未做删除处理的最大匹配字节串保留为去重后的最大匹配字节串。
31.一种数据更新装置,其特征在于,包括:
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号;
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,生成新数据。
32.一种数据更新装置,其特征在于,包括,
数据更新包获取单元,用于获取数据更新包,所述数据更新包包括最大匹配字节串在新数据和组合比特流中的位置序号和非匹配字节串及其在新数据中的位置序号;
补位处理单元,用于按照预设的比特位补位个数,对旧数据的原始比特流进行补位处理,得到旧数据的补位比特流,所述比特位补位个数至少包括两种;
比特流组合单元,用于将各条所述补位比特流按预定的顺序,组织为一条组合比特流;
匹配字节串获取单元,用于根据所述最大匹配字节串在组合比特流中的位置序号,在所述组合比特流中确定所述最大匹配字节串;
数据生成单元,用于根据所述最大匹配字节串及其在新数据中的位置序号,所述非匹配字节串及其在新数据中的位置序号,生成新数据。
CN201810196355.0A 2018-03-09 2018-03-09 数据更新包的生成方法、装置及数据更新方法、装置 Active CN110244973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810196355.0A CN110244973B (zh) 2018-03-09 2018-03-09 数据更新包的生成方法、装置及数据更新方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810196355.0A CN110244973B (zh) 2018-03-09 2018-03-09 数据更新包的生成方法、装置及数据更新方法、装置

Publications (2)

Publication Number Publication Date
CN110244973A CN110244973A (zh) 2019-09-17
CN110244973B true CN110244973B (zh) 2022-09-16

Family

ID=67882711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810196355.0A Active CN110244973B (zh) 2018-03-09 2018-03-09 数据更新包的生成方法、装置及数据更新方法、装置

Country Status (1)

Country Link
CN (1) CN110244973B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111342933B (zh) * 2020-02-25 2022-06-07 卓望数码技术(深圳)有限公司 数据传输方法、设备及介质
CN111597239B (zh) * 2020-04-10 2021-08-31 中科驭数(北京)科技有限公司 数据对齐的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204287A (ja) * 2007-02-21 2008-09-04 Access Co Ltd データ生成方法、データ復元方法、データ生成装置およびデータ復元装置
CN102831001A (zh) * 2012-09-11 2012-12-19 北京百纳威尔科技有限公司 软件升级包的制作方法及装置、程序的升级方法及设备
CN104834539A (zh) * 2015-03-02 2015-08-12 倪桂强 一种数据增量更新方法
CN106599097A (zh) * 2016-11-24 2017-04-26 东软集团股份有限公司 海量特征串集合的匹配方法和装置
CN106663050A (zh) * 2014-07-28 2017-05-10 三菱电机株式会社 差分数据生成系统、数据更新系统以及差分数据生成方法
CN107038026A (zh) * 2017-02-28 2017-08-11 中国科学院信息工程研究所 一种增量式的自动机更新方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925467B2 (en) * 2002-05-13 2005-08-02 Innopath Software, Inc. Byte-level file differencing and updating algorithms

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204287A (ja) * 2007-02-21 2008-09-04 Access Co Ltd データ生成方法、データ復元方法、データ生成装置およびデータ復元装置
CN102831001A (zh) * 2012-09-11 2012-12-19 北京百纳威尔科技有限公司 软件升级包的制作方法及装置、程序的升级方法及设备
CN106663050A (zh) * 2014-07-28 2017-05-10 三菱电机株式会社 差分数据生成系统、数据更新系统以及差分数据生成方法
CN104834539A (zh) * 2015-03-02 2015-08-12 倪桂强 一种数据增量更新方法
CN106599097A (zh) * 2016-11-24 2017-04-26 东软集团股份有限公司 海量特征串集合的匹配方法和装置
CN107038026A (zh) * 2017-02-28 2017-08-11 中国科学院信息工程研究所 一种增量式的自动机更新方法与系统

Also Published As

Publication number Publication date
CN110244973A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN101009516B (zh) 一种进行数据同步的方法、系统及装置
US7650429B2 (en) Preventing aliasing of compressed keys across multiple hash tables
CN110244973B (zh) 数据更新包的生成方法、装置及数据更新方法、装置
US20090172265A1 (en) Flash memory device having secure file deletion function and method for securely deleting flash file
US8452093B2 (en) Efficient histogram storage
CN110557124B (zh) 一种数据压缩方法及装置
CN105099843A (zh) 针对车辆通信总线的运行时间压缩方法
CN110690943A (zh) 数据编码方法、解码方法、编解码方法、设备及存储介质
US9098513B1 (en) Methods and systems for differencing orderly dependent files
CN111163008A (zh) 一种IPv6单播地址压缩方法、系统及汇聚分流设备
CN106802927A (zh) 一种数据存储方法及查询方法
CN103780263B (zh) 数据压缩装置、数据压缩方法及记录介质
WO2014069034A1 (en) Communication control device, communication device, and computer program product
CN104063377A (zh) 信息处理方法和使用其的电子设备
CN111147181A (zh) 业务发送方法、接收方法、装置及系统、存储介质
CN109947776B (zh) 一种数据压缩、解压方法及装置
CN106569986B (zh) 字符串替换方法和装置
CN110825706B (zh) 一种数据压缩的方法和相关设备
CN110888918A (zh) 相似数据检测方法及装置、计算机设备和存储介质
CN107181715B (zh) 一种业务校验方法和装置
CN106383670B (zh) 一种数据处理方法及存储设备
CN104821829B (zh) 一种哈夫曼树保存方法及系统
CN108984780B (zh) 基于支持重复键值树数据结构管理磁盘数据的方法和装置
CN114356386A (zh) 一种分块差分升级方法、终端设备和计算机可读存储介质
CN103714091B (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
TA01 Transfer of patent application right

Effective date of registration: 20200417

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 100081 01-A051, 3rd floor, 55 Suzhou Street, Haidian District, Beijing

Applicant before: AUTONAVI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant