NCR Shuffle算法原理

转载 2006年06月04日 15:30:00
NCR Shuffle算法原理
 
刘永胜    2006年于广州
 
NCR的Shuffle(混淆)算法,做ATM的很多都知道,并且都使用有封装好的现成接口,但是基本没有多少人知道其算法原理,所以将原理写在这,给需要的人提供些许帮助。
 
以下为举例。比如
要Shuffle的数据(J):0123456789 123456
参与Shuffle的Key(K):12345678
Basic Shuffle Key(L):19F2 C827 6AD0 839B
 
其中对于J/K/L的计算都是从后往前算的,即对于J是从6开始,最后到0;K是从8到1。
 
 
说明:下面的数字没有说明的,默认指10进制数字。
 
定义:m为int,初值为0
 
基本算法:
1、J的6与K的8相加,等于14,然后与m相加。此时m为初值0,仍然为14。
2、14除以10,得到除数为1,赋给m,此时m为1,余数为4。
3、将L的最后一位“B”由16进制转成10进制,则为11。用11和上面的4异或,得到15。15转为16进制为“F”,再和0X30相加,得到0X3F。将0X3F转成ASCII码,为“:”。
4、至此,Shuffle处理的最后一位完成。
5、接着是倒数第二位计算,过程与上面一样,唯一的区别是m是可能发生了变化的,为0或1。
6、等到算到第9位后,m值恒为0,因为K的长度只为8位。
 
 
计算过程见下表:
次数
计算过程
m
Basic Shuffle Key(L)
异或(余数和L
输出(ASCII码)
1
6+8+0
1
B
4与B
3F(?)
2
5+7+1
1
9
3与9
3A(:)
3
4+6+1
1
3
1与3
32(2)
4
3+5+1
0
8
9与8
31(1)
5
2+4+0
0
0
6与0
36(6)
6
1+3+0
0
D
4与D
39(9)
7
2+9+0
1
A
1与A
3B(;)
8
1+8+1
1
6
0与6
36(6)
9
7+0+1
0
7
8与7
3F(?)
10
……
…….
 
 
……..

Part1:NCR RKT技术之(基于NDC)--RSA算法在RKT中的应用

一  RSA算法描述     RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。   RSA的算法涉及三个参数,n、e1、e2: ...

深入理解Spark 2.1 Core (十):Shuffle Map 端的原理与源码分析

在上一篇《深入理解Spark 2.1 Core (九):迭代计算和Shuffle的原理与源码分析》提到经过迭代计算后,SortShuffleWriter.write中: // 根据排序方式,对数...

深入理解Spark 2.1 Core (十一):Shuffle Reduce 端的原理与源码分析

我们曾经在《深入理解Spark 2.1 Core (一):RDD的原理与源码分析 》讲解过: 为了有效地实现容错,RDD提供了一种高度受限的共享内存,即RDD是只读的,并且只能通过其他RDD上的...

MapReduce的Shuffle原理

什么是ShuffleHadoop计算框架Shuffler, 在mapper和reducer中间的一个步骤 ,可以把mapper的输出按照某种key值重新切分和组合成n份,把key值符 合某种范围的输出...

彻底理解MapReduce shuffle过程原理

MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程...

彻底理解MapReduce shuffle过程原理

本文转自:http://blog.itpub.net/29754888/viewspace-1704959/ MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌...

深入理解Spark 2.1 Core (九):迭代计算和Shuffle的原理与源码分析

在博文《深入理解Spark 2.1 Core (七):任务执行的原理与源码分析 》我们曾讲到过: Task有两个子类,一个是非最后的Stage的Task,ShuffleMapTask;一个是最后的...

spark-2.0原理分析-shuffle过程

shuffle概览shuffle过程概览shuffle数据流概览shuffle数据流shuffle工作流程在运行job时,spark是一个stage一个stage执行的。先把任务分成stage,在任务...

spark shuffle内在原理说明

在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量...

hadoop运行原理之shuffle

转:http://www.cnblogs.com/gwgyk/p/3997849.html   hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。sh...
  • pzasdq
  • pzasdq
  • 2016年09月25日 10:17
  • 94
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NCR Shuffle算法原理
举报原因:
原因补充:

(最多只允许输入30个字)