7月7日是什么日子| 采耳是什么意思| 画蛇添足什么意思| 属牛幸运色是什么颜色| 小人得志是什么意思| 伽马刀是什么| 尿不尽挂什么科| 排卵期是在什么时候| 玻璃五行属什么| 孩子干咳吃什么药效果好| 寒门子弟是什么意思| bn是什么意思| 被告不出庭有什么后果| 白带有血丝是什么情况| 明天是什么日子| 菌血症是什么病| 小孩长白头发是什么原因| 白细胞低是什么意思| 2003属什么生肖| 心肌炎是什么病严重吗| 小孩走路迟是什么原因| 蔡英文是什么党派| 金牛男和什么星座女最配| 办理港澳通行证需要带什么证件| 什么是腹式呼吸的正确方法| b型血为什么叫贵族血| 巨蟹座的幸运色是什么颜色| 右边小腹疼是什么原因女性| 吃什么降胆固醇最快| skr什么意思| 阴历六月十三是什么日子| 什么水晶招财旺事业| 夜晚尿频尿多是什么原因| 煲鸡汤放什么材料好| 茯苓的功效与作用是什么| 心脏不好的人吃什么好| 蚕长什么样| 酸笋炒什么好吃| 跑步配速什么意思| 北海为什么叫北海| 扎西德勒是什么意思| 稼字五行属什么| 学业是什么意思| 梦见爸爸去世预兆什么| 做什么生意| 江字五行属什么| 坐月子什么不可以吃| 血脂稠喝什么茶效果好| 为什么新疆人不吃猪肉| sdeer是什么牌子| 医生停诊是什么意思| 更年期什么时候| 胃反酸吃点什么能缓解| 膝关节积液吃什么药| 肩周炎是什么症状| mk包包属于什么档次| 乳糖酶是什么| 淋巴结是什么引起的| 黄茶适合什么人喝| 生殖器疱疹是什么| 喝什么茶对睡眠有帮助| 李亚男为什么选王祖蓝| 怕空调冷风什么原因| 梦到小孩子是什么意思| 整天犯困没精神想睡觉是什么原因| 你算什么男人歌词| 包皮与包茎有什么区别| 相机hdr功能是什么意思| 咖啡是什么做的| 茉莉花茶适合什么人喝| 9月9号什么星座| 梦见被蛇追是什么意思| 数九寒天是什么意思| 池鱼是什么意思| 习俗是什么意思| 避免是什么意思| 腋下淋巴结肿大挂什么科| 两脚发热是什么原因| 女人吃什么| 为什么同房会有刺痛感| 一什么眼镜| 肝火郁结是什么症状| 护肝养肝吃什么药| 夜尿多是什么原因引起的| 糖尿病的人可以吃什么水果| 宝宝大便有泡沫是什么原因| 白兰地是什么酒| 红豆生南国什么意思| 什么的耳朵| 猫咪掉胡子是什么原因| 肝内钙化灶是什么意思| 陈赫什么星座| 低血钾吃什么补上来的快| 女生肚脐眼下面疼是什么原因| 痰多吃什么好| 什么是靶向药| 胃黏膜病变是什么意思| 家里为什么有小飞虫| 什么是木乃伊| 菠萝蜜不能和什么一起吃| 耳声发射检查是什么| 子时右眼跳是什么预兆| 翻糖是什么| 1992年是什么年| 白斑是什么| 脉管炎吃什么药最好| 92年1月属什么生肖| 神态是什么意思| 手舞足蹈是什么生肖| 眼镜轴位是什么意思| diptyque属于什么档次| 精神卫生科看什么病| 小金鱼吃什么| 灰姑娘叫什么名字| 最大的罩杯是什么杯| 汗疱疹用什么药| 动脉血检查是检查什么| 湿疹擦什么药| 泪河高度说明什么| 春暖花开是什么生肖| 剪头发叫什么手术| gi食物是什么意思| peace是什么牌子| 狗肉不能和什么食物一起吃| 零零年属什么| 梦见戴帽子是什么预兆| 为什么会高反| 一什么水花| 胸闷气短是什么原因造成的| 吃什么升白细胞比较快| 真菌镜检阳性是什么意思| 翊什么意思| 补办户口本需要什么材料| 什么症状要查心肌酶| 耳道湿疹用什么药| 刚怀孕有什么办法打掉| 甲状腺结节挂什么科| 小狗能看见什么颜色| 肾在五行中属什么| 条条框框是什么意思| 女人喝什么茶最好| 小猫什么时候打疫苗| 细菌性前列腺炎吃什么药| 扁尖是什么| 牛黄是什么东西| 化名是什么意思| 黑茶属于什么茶| raf是什么意思| 六味地黄丸什么人不能吃| 抽烟头晕是什么原因| 姿态万千的意思是什么| 肚子一直响是什么原因| 从革是什么意思| 喝酒前吃什么不会醉| 得了梅毒会有什么症状| 裸贷是什么意思| 为什么打雷| 为什么要备孕| 吃皮蛋有什么好处和坏处| 手热脚热是什么原因| 臭氧是什么东西| 什么的天| 偏头痛挂什么科| 什么球不能拍| 沙悟净是什么生肖| 卵巢早衰是什么意思| 放疗与化疗区别是什么| 脚脱皮用什么药膏| 耳鸣是什么感觉| 尿酸高肌酐高是什么原因呢| 殇什么意思| 胆汁是什么颜色| 口吐白沫是什么病| 珮字五行属什么| 来月经属于什么期| d2聚体高是什么原因| s代表什么| 关节疼痛用什么药| 反手引体向上练什么肌肉| 什么东西有脚却不能走路| 宫保鸡丁是什么菜系| 七宗罪分别是什么| 腹腔气体多是什么原因| 8月底是什么星座| kpa是什么意思| 工作单位是什么意思| 白细胞计数高是什么原因| 芝麻吃多了有什么坏处| 进德勤一般要什么学历| 双鱼座是什么象星座| 器质性心脏病是什么意思| 泡脚什么时候泡最好| 前哨是什么意思| 中国国花是什么花| 单人旁的字有什么| 灰飞烟灭是什么意思| 什么的脸| 黑茶金花是什么菌| 肝病不能吃什么| 手指甲发白是什么原因| 甘草有什么功效| 什么情况下用妇炎洁| 四肢抽搐口吐白沫是什么病| 梦见前女友是什么预兆| 草字头一个辛读什么| 胆汁酸高是什么原因| 血糖高早餐吃什么| 色拉油是什么| 海肠是什么| 西地那非是什么| 与自己和解什么意思| 皮可以加什么偏旁| 热感冒吃什么药| 胎盘植入是什么意思| 西地那非是什么药| 迷你巴拉巴拉和巴拉巴拉什么关系| 九三年属鸡是什么命| 鼠和什么生肖最配| 笔触是什么意思| 中国劲酒有什么功效| 嚭是什么意思| 地藏经适合什么人念| au750是什么意思| 吃什么东西能流产| 心意是什么意思| 麻腮风疫苗什么时候打| 十二指肠霜斑样溃疡是什么意思| 什么是无精症| 吹空调头疼吃什么药| 羊猄皮是什么皮| 闻风丧胆指什么动物| 助产是干什么的| 女人吃山竹有什么好处| 今年为什么闰六月| 小儿安现在叫什么名| 一什么车厢| 老年人晚上夜尿多是什么原因| 心肌缺血吃什么药好| 为什么会内分泌失调| 七月二号是什么日子| 什么的色彩| 五行什么意思| marlboro是什么烟| 心悸吃什么药效果好| 晚上睡觉遗精是什么原因| 头痛吃什么| 查钙含量做什么检查| 血红蛋白浓度偏低是什么原因| 大专有什么专业| 耳朵嗡嗡的响是什么原因| 怀孕为什么会流褐色分泌物| 化验肝功挂什么科| 血燕是什么| 什么洗面奶最好用排行第一| 全身抽筋吃什么药| 柠檬配什么泡水喝最好| 100年前是什么朝代| 淋球菌是什么病| 过氧化氢弱阳性什么意思| 刘邦和刘秀是什么关系| 藕色是什么颜色| 晚上睡觉手发麻是什么原因| 农村做什么生意赚钱| 直销是什么意思| 百度Jump to content

[第一时间]又到一年采茶时 四川蒲江:万亩茶园 感受最美春光

From Wikipedia, the free encyclopedia
百度 日益严重的外挂问题显然已经成为《绝地求生》长期运营的一大绊脚石,尽管蓝洞和专职子公司并不是完全没有行动,但从目前的结果来看这些反外挂措施大多收效甚微。

Delta encoding is a way of storing or transmitting data in the form of differences (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compression, particularly where archival histories of changes are required (e.g., in revision control software).

The differences are recorded in discrete files called "deltas" or "diffs". In situations where differences are small – for example, the change of a few words in a large document or the change of a few records in a large table – delta encoding greatly reduces data redundancy. Collections of unique deltas are substantially more space-efficient than their non-encoded equivalents.

From a logical point of view, the difference between two data values is the information required to obtain one value from the other – see relative entropy. The difference between identical values (under some equivalence) is often called 0 or the neutral element.

Simple example

[edit]

Perhaps the simplest example is storing values of bytes as differences (deltas) between sequential values, rather than the values themselves. So, instead of 2, 4, 6, 9, 7, we would store 2, 2, 2, 3, ?2. This reduces the variance (range) of the values when neighbor samples are correlated, enabling a lower bit usage for the same data. IFF 8SVX sound format applies this encoding to raw sound data before applying compression to it. Not even all 8-bit sound samples compress better when delta encoded, and the usability of delta encoding is even smaller for 16-bit and better samples. Therefore, compression algorithms often choose to delta encode only when the compression is better than without. However, in video compression, delta frames can considerably reduce frame size and are used in virtually every video compression codec.

Definition

[edit]

A delta can be defined in 2 ways, symmetric delta and directed delta. A symmetric delta can be expressed as

A directed delta, also called a change, is a sequence of (elementary) change operations which, when applied to , yields another, (note the correspondence to transaction logs in databases). In computer implementations, they typically take the form of a language with two commands: copy data from and write literal data.

Variants

[edit]

A variation of delta encoding which encodes differences between the prefixes or suffixes of strings is called incremental encoding. It is particularly effective for sorted lists with small differences between strings, such as a list of words from a dictionary.

Implementation issues

[edit]

The nature of the data to be encoded influences the effectiveness of a particular compression algorithm.

Delta encoding performs best when data has small or constant variation; for an unsorted data set, there may be little to no compression possible with this method.

In delta encoded transmission over a network where only a single copy of the file is available at each end of the communication channel, special error control codes are used to detect which parts of the file have changed since its previous version. For example, rsync uses a rolling checksum algorithm based on Mark Adler's adler-32 checksum.

Sample C code

[edit]

The following C code performs a simple form of delta encoding and decoding on a sequence of characters:

void delta_encode(unsigned char *buffer, int length)
{
    unsigned char last = 0;
    for (int i = 0; i < length; i++)
    {
        unsigned char current = buffer[i];
        buffer[i] = current - last;
        last = current;
    }
}

void delta_decode(unsigned char *buffer, int length)
{
    unsigned char last = 0;
    for (int i = 0; i < length; i++)
    {
        unsigned char delta = buffer[i];
        buffer[i] = delta + last;
        last = buffer[i];
    }
}

Examples

[edit]

Binary delta compression

[edit]
Binary delta compression is a technology used in software deployment for distributing patches.

Delta encoding in HTTP

[edit]

Another instance of use of delta encoding is RFC 3229, "Delta encoding in HTTP", which proposes that HTTP servers should be able to send updated Web pages in the form of differences between versions (deltas), which should decrease Internet traffic, as most pages change slowly over time, rather than being completely rewritten repeatedly:

This document describes how delta encoding can be supported as a compatible extension to HTTP/1.1.

Many HTTP (Hypertext Transport Protocol) requests cause the retrieval of slightly modified instances of resources for which the client already has a cache entry. Research has shown that such modifying updates are frequent, and that the modifications are typically much smaller than the actual entity. In such cases, HTTP would make more efficient use of network bandwidth if it could transfer a minimal description of the changes, rather than the entire new instance of the resource.

[...] We believe that it might be possible to support rsync using the "instance manipulation" framework described later in this document, but this has not been worked out in any detail.

The suggested rsync-based framework was implemented in the rproxy system as a pair of HTTP proxies.[1] Like the basic vcdiff-based implementation, both systems are rarely used.

Delta copying

[edit]

Delta copying is a fast way of copying a file that is partially changed, when a previous version is present on the destination location. With delta copying, only the changed part of a file is copied. It is usually used in backup or file copying software, often to save bandwidth when copying between computers over a private network or the internet. One notable open-source example is rsync.[2][3][4]

Online backup

[edit]

Many of the online backup services adopt this methodology, often known simply as deltas, in order to give their users previous versions of the same file from previous backups. This reduces associated costs, not only in the amount of data that has to be stored as differing versions (as the whole of each changed version of a file has to be offered for users to access), but also those costs in the uploading (and sometimes the downloading) of each file that has been updated (by just the smaller delta having to be used, rather than the whole file).

Delta updates

[edit]

For large software packages, there is usually little data changed between versions. Many vendors choose to use delta transfers to save time and bandwidth.

Diff

[edit]

Diff is a file comparison program, which is mainly used for text files. By default, it generates symmetric deltas that are reversible. Two formats used for software patches, context and unified, provides additional context lines that allow for tolerating shifts in line number.

Git

[edit]

The Git source code control system employs delta compression in an auxiliary "git repack" operation. Objects in the repository that have not yet been delta-compressed ("loose objects") are compared against a heuristically chosen subset of all other objects, and the common data and differences are concatenated into a "pack file" which is then compressed using conventional methods. In common use cases, where source or data files are changed incrementally between commits, this can result in significant space savings. The repack operation is typically performed as part of the " git gc"[5] process, which is triggered automatically when the numbers of loose objects or pack files exceed configured thresholds.

The format is documented in the pack-format page of the Git documentation. It implements a directed delta.[6]

VCDIFF

[edit]

One general format for directed delta encoding is VCDIFF, described in RFC 3284. Free software implementations include Xdelta and open-vcdiff.

GDIFF

[edit]

Generic Diff Format (GDIFF) is another directed delta encoding format. It was submitted to W3C in 1997.[7] In many cases, VCDIFF has better compression rate than GDIFF.

bsdiff

[edit]

Bsdiff is a binary diff program using suffix sorting. For executables that contain many changes in pointer addresses, it performs better than VCDIFF-type "copy and literal" encodings. The intent is to find a way to generate a small diff without needing to parse assembly code (as in Google's Courgette). Bsdiff achieves this by allowing "copy" matches with errors, which are then corrected using an extra "add" array of bytewise differences. Since this array is mostly either zero or repeated values for offset changes, it takes up little space after compression.[8]

Bsdiff is useful for delta updates. Google uses bsdiff in Chromium and Android. The deltarpm feature of the RPM Package Manager is based on a heavily modified bsdiff that can use a hash table for matching.[9] FreeBSD also uses bsdiff for updates.[10]

Since the 4.3 release of bsdiff in 2005, various improvements or fixes have been produced for it. Google maintains multiple versions of the code for each of its products.[11] FreeBSD takes many of Google's compatible changes, mainly a vulnerability fix and a switch to the faster divsufsort suffix-sorting routine.[12] Debian has a series of performance tweaks to the program.[13]

ddelta is a rewrite of bsdiff proposed for use in Debian's delta updates. Among other efficiency improvements, it uses a sliding window to reduce memory and CPU cost.[14]

See also

[edit]

References

[edit]
  1. ^ "rproxy: introduction". rproxy.samba.org.
  2. ^ "Feature request: Delta copying - 2BrightSparks". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  3. ^ "Bvckup 2 | Forum | How delta copying works".
  4. ^ [1][permanent dead link]
  5. ^ "Git - git-gc Documentation". git-scm.com. Retrieved November 9, 2024.
  6. ^ "Git - pack-format Documentation". Git documentation. Retrieved 13 January 2020.
  7. ^ "Generic Diff Format Specification". www.w3.org.
  8. ^ "Binary diff". www.daemonology.net. Retrieved November 9, 2024.
  9. ^ "rpmdelta/delta.c". rpm-software-management. 3 July 2019. Retrieved 13 January 2020.
  10. ^ Anonymous (May 2016). "NON-CRYPTANALYTIC ATTACKS AGAINST FREEBSD UPDATE COMPONENTS". GitHub Gist.
  11. ^ "xtraeme/bsdiff-chromium: README.chromium". GitHub. 2012.; "courgette/third_party/bsdiff/README.chromium - chromium/src". Git at Google.; "android/platform/external/bsdiff/". Git at Google.
  12. ^ "History for freebsd/usr.bin/bsdiff". GitHub.
  13. ^ "Package: bsdiff". Debian Patch Tracker.
  14. ^ Klode, Julian. "julian-klode/ddelta". GitHub. Retrieved 13 January 2020.
[edit]
  • RFC 3229 – Delta Encoding in HTTP
舌头尖疼吃什么药 急性结肠炎什么症状 玄是什么颜色 水猴子长什么样子 补肾最好的药是什么药
中国人的祖先是什么人 除湿气吃什么 1m是什么意思 爆炸盐是什么 尿潴留吃什么药
思密达什么意思 蓝莓是什么季节的水果 竹笙是什么 风起云涌是什么意思 鼻子上长红疙瘩是什么原因
女人肾虚吃什么补回来 粘米是什么米 眼睛飞蚊症用什么眼药水 蟑螂最喜欢吃什么 吃什么缓解痛经
减肥期间吃什么主食96micro.com 寻麻疹涂什么药膏xinjiangjialails.com 上海是什么中心hcv7jop6ns9r.cn 五行水多代表什么hcv9jop0ns5r.cn 下肢浮肿是什么原因引起的hcv9jop6ns0r.cn
华盖什么意思hcv8jop1ns4r.cn 胃胀痛吃什么药好hcv7jop9ns7r.cn 眼睛出血是什么原因hcv9jop5ns1r.cn vad是什么意思hcv7jop6ns8r.cn 阴虚火旺吃什么中药hcv8jop0ns2r.cn
16是什么生肖yanzhenzixun.com 北是什么生肖hcv7jop5ns6r.cn 重楼有什么功效hcv7jop4ns7r.cn 海子为什么自杀cl108k.com 什么叫凤凰男hcv9jop5ns9r.cn
疖肿是什么hcv9jop4ns4r.cn 猎德有什么好玩的hcv9jop7ns2r.cn ACG是什么牌子hcv8jop2ns0r.cn 男人结扎有什么危害hcv9jop7ns9r.cn 头疼是什么原因引起hcv8jop5ns1r.cn
百度