一种基于二维查表法的随机线性网络编码算法制造技术

技术编号:27751107 阅读:38 留言:0更新日期:2021-03-19 13:46
本发明专利技术公开了一种基于二维查表法的随机线性网络编码算法,包括建立高效乘除运算函数、预设本原多项式、对有限域进行初始化、构建乘除法运算二维表、发送节点对原始数据进行随机编码、接收节点获取编码包并进行译码、空间清理过程;本发明专利技术通过设计高效的有限域乘除法运算函数,基于此提出一种快速高效地构建乘法、除法二维表方法,通过查询所生成的二维表,可快速实现有限域的乘除运算;基于二维查表法的随机线性网络编码算法提供了高效的编解码效率,降低网络编码的计算开销。

【技术实现步骤摘要】
一种基于二维查表法的随机线性网络编码算法
本专利技术涉及网络编码
,主要涉及一种基于二维查表法的高效网络编码算法。
技术介绍
在传统网络通信技术中,中间节点的作用相当于一个转发器仅仅对数据进行存储或转发处理。因此,人们普遍认为对中间节点上的数据进行加工不会产生有效收益。然而,网络编码概念的引入推翻了这种观点,网络编码是一种融合了路由与编码的信息交换技术,它允许中间节点对输入的信息进行编码操作,对接受信息的节点进行解码操作,以此提高网络吞吐量。网络编码方案根据网络中间节点获取编码系数的方式不同可以分为线性网络编码和非线性网络编码。由于随机线性网络编码有着更好的代数结构,计算复杂性更小,因此,本专利技术所研究的网络通信场景均使用随机线性网络编码。随机线性网络编码的软件实现主要存在以下问题:①在发送端,对原始数据采用随机编码方式对其进行编码,编码系数是在有限域GF(2n)中随机产生,需要进行若干次有限域乘法和加法运算,这就增加了编码的计算复杂度。②当采用随机线性编码时,接收端对接收到的每个编码数据包都会进行一次高本文档来自技高网...

【技术保护点】
1.一种基于二维查表法的随机线性网络编码算法,其特征在于,包括如下步骤:/n步骤S1、建立高效乘除运算函数;/n步骤S2、预设本原多项式;所述本原多项式是有限域的有限扩张的本原元的最小生成多项式;/n步骤S3、对有限域进行初始化,根据网络编码所选用的编码有限域的阶数确认有限域的大小;设置用于判断单次运算中需要使用的本原多项式;通过是否修改编码默认值来判断是否使用预设的本原多项式,当没有修改时,使用默认的预设本原多项式,从本原多项式组中选择相应的本原多项式进行后续运算;当编码默认修改值进行修改后,使用修改后的编码默认值来作为本原多项式的值;/n步骤S4、构建乘除法运算二维表方法如下:/n步骤S4...

【技术特征摘要】
1.一种基于二维查表法的随机线性网络编码算法,其特征在于,包括如下步骤:
步骤S1、建立高效乘除运算函数;
步骤S2、预设本原多项式;所述本原多项式是有限域的有限扩张的本原元的最小生成多项式;
步骤S3、对有限域进行初始化,根据网络编码所选用的编码有限域的阶数确认有限域的大小;设置用于判断单次运算中需要使用的本原多项式;通过是否修改编码默认值来判断是否使用预设的本原多项式,当没有修改时,使用默认的预设本原多项式,从本原多项式组中选择相应的本原多项式进行后续运算;当编码默认修改值进行修改后,使用修改后的编码默认值来作为本原多项式的值;
步骤S4、构建乘除法运算二维表方法如下:
步骤S4.1、生成对数表和索引表:
在完成构造本原多项式后,首先设置对数表的大小并进行空间分配,设置索引表大小,并进行空间分配;对于对数表,设置表的第1项,即下标为0的那项元素为-1,为后续的索引表表示0不在其中;设置第2项即下标为1的那项元素为0;设置索引表时,索引表表示某一个有限域元素在对数表里的位置,从第一个数开始构造有限域域中的所有元素,然后左移一位,元素值乘以2;当最终乘法结果大于有限域的大小时,使用本原多项式去取余;重发上述操作,建立好所有的域上元素;
步骤S4.2、生成乘除法运算二维表:
首先为乘法、除法二维表设置大小并分配空间;调用优化后的乘、除法函数使用二重循环分别建立乘法二维表和除法二维表,生成表内数据;
步骤S5、发送节点对原始数据进行随机编码,并在乘除法二维表中查找编码运算结果,将生成的编码结果打包发送至接收端;
步骤S6、接收节点获取编码包并进行译码,并在乘除法二维表中查找译码运算结果,最终获取原始数据;
步骤S7、空间清理过程;
使用反向初始化函数完成空间清理,结束有限域的运算。释放指数表和索引表的内存,对于已经建立好的乘法结果表和除法结果表释放其存储内容后再释放两表的存储空间。


2.根据权利要求1所述的一种基于二维查表法的随机线性网络编码算法,其特征在于,所述步骤S1中建立高效乘除法运算步骤如下:
在有限域GF(2n)中,除了0的每个元素都可以用生成元α的幂来表示如下:
x=αi,y=αj,x、y∈GF(2n)
其中,i是x相对于α的离散对数,j是y相对于α的离散对数;定义指数函数expf来表示具有幂次值的元素,x表示为:x=expf(i)x≠0;
离散对数函数logf可以定义为:
i=logf(x)x≠0
x和y的乘法函数mul(x,y)可以表示为:
mul(x,y)=αiαj=αi+j
由于α2^n-1=1;定义Q=2n,则αQ-1=1;则乘法函...

【专利技术属性】
技术研发人员:殷俊凌仙王磊李鑫陈思光张登银
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1