CN116614200A - 一种前向纠错的fuota方法、装置、服务器及终端 - Google Patents
一种前向纠错的fuota方法、装置、服务器及终端 Download PDFInfo
- Publication number
- CN116614200A CN116614200A CN202310426506.8A CN202310426506A CN116614200A CN 116614200 A CN116614200 A CN 116614200A CN 202310426506 A CN202310426506 A CN 202310426506A CN 116614200 A CN116614200 A CN 116614200A
- Authority
- CN
- China
- Prior art keywords
- fragments
- packet
- fuota
- redundant
- parity check
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000012634 fragment Substances 0.000 claims abstract description 121
- 239000011159 matrix material Substances 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供了一种前向纠错的FUOTA方法、装置、服务器及终端,根据服务器的最大应用有效载荷先将初始固件包分割成M个数据片段,根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;将所述N个编码片段按顺序下发给一个或多个接收端,旨在解决现有的OTA升级过程中,由于丢包的原因需要多轮重发的问题。
Description
技术领域
本发明涉及物联网领域,特别涉及一种前向纠错的FUOTA方法、装置、服务器及终端。
背景技术
随着物联网技术发展,OTA空中下载技术变得极为重要。物联网平台支持通过OTA进行设备固件升级,是智能设备修复系统漏洞,实现系统升级的手段,通过固件升级,为用户提供更好的服务。
OTA升级过程中,传输信道可靠性不高、强噪声干扰信道中进行数据传输时,接收数据包的丢包率也比较高,导致传输质量下降,且多设备情况下会发生丢包问题,需要进行多轮重发机制,在升级过程中就会较为耗时。
有鉴于此,提出本申请。
发明内容
本发明公开了一种前向纠错的FUOTA方法、装置、服务器及终端,旨在解决现有的OTA升级过程中,由于丢包的原因需要多轮重发的问题。
本发明第一实施例提供了一种前向纠错的FUOTA方法,包括:
接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
将所述N个编码片段按顺序下发给一个或多个接收端。
优选地,所述根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段,具体为:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段。
本发明第二实施例提供了一种前向纠错的FUOTA方法,包括:
接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息;
若无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
优选地,所述判断接收到的冗余包是否含有新的片段信息,具体为:
将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若不为0,所述冗余包解码的片段为解码后的片段就是丢失的某个片段、或多个丢失的片段的组合。
本发明第三实施例提供了一种前向纠错的FUOTA装置,包括:
初始固件包分割单元,用于接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
片段选取单元,根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
发送单元,用于将将所述N个编码片段按顺序下发给一个或多个接收端。
优选地,所述片段选取单元具体用于:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段。
本发明第四实施例提供了一种前向纠错的FUOTA装置,包括:
接收单元,用于接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
判断单元,用于接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息;
若无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
优选地,所述判断单元具体用于:
将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若不为0,所述冗余包解码的片段为丢失的某个片段、或多个丢失的片段的组合。
本发明第五实施例提供了一种服务器,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种前向纠错的FUOTA方法。
本发明第六实施例提供了一种终端,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种前向纠错的FUOTA方法。
基于本发明提供的一种前向纠错的FUOTA方法、装置、服务器及终端,根据服务器的最大应用有效载荷先将初始固件包分割成M个数据片段,基于实际情况设定的丢包率,确定冗余包数量,根据奇偶校验矩阵,选取未编码片段中需要编码的片段生成编码片段,将编码片段按顺序下发给终端,终端会依次接收编码片段,对其解码记录保存,在接收完固件包的编码片段后,发现存在丢失片段,继续接收有效的冗余包,解码获取丢失片段,重新组成用于升级的固件包,进行校验升级,旨在解决现有的OTA升级过程中,由于丢包的原因需要多轮重发的问题。
附图说明
图1是本发明第一方面提供的一种前向纠错的FUOTA方法的流程示意图;
图2是本发明提供的矩阵产生函数示意图;
图3是本发明提供的发送端将固件包进行FEC编码并打包发送的流程示意图;
图4是本发明第二方面提供的一种前向纠错的FUOTA方法的流程示意图;
图5是本发明提供的接收端进行FEC解码以实现丢包数据的恢复的处理流程示意图;
图6是本发明第三方面提供的一种前向纠错的FUOTA装置的模块示意图;
图7是本发明第四方面提供的一种前向纠错的FUOTA装置的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以下结合附图对本发明的具体实施例做详细说明。
本发明公开了一种前向纠错的FUOTA方法、装置、服务器及终端,旨在解决现有的OTA升级过程中,由于丢包的原因需要多轮重发的问题。
请参阅图1,本发明在第一方面提供了一种前向纠错的FUOTA方法,其可由前向纠错的FUOTA设备(以下FUOTA设备)来执行,特别的,由所述FUOTA设备内的一个或者多个处理器来执行,以至少实现如下步骤:
S101,接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
需要说明的是,FUOTA设备可以是一个服务器,能够与下方的多个物联网设备进行通讯,以向多个物联网设备下发用于升级的固件包,进一步地,其可以接收由工程师上传的初始固件包;
在本实施例中,传输的初始固件包首先被分割成任意但长度相等的M个数据片段。这些片段的长度必须选择与可用的最大应用有效载荷的大小兼容。实际有效长度为每个片段的字节长度加上2字节的帧序号和2个字节帧校验。帧序号存放的是数据片段的索引。要传输的数据块格式如下所示:
Byte0~Byte1 | Byte2~ByteN | ByteN+1~ByteN+2 |
帧序号 | FEC帧内容 | 帧校验 |
帧校验=crc16(帧序号+FEC帧内容)
其中:N固定为128,帧序号从1开始计数
这些原始数据片段被命名为未编码片段,并注明B
因此,要传输的完整数据块由Bn未编码片段组成[B1:B2:...:Bm]
S102,根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
具体地:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段;
其中,需要编码片段被记为并且派生自未编码片段。
是包含M(B1到Bm)未编码片段的分片会话中的第N个编码片段。编码片段/>的字节长度与未编码(Bn)片段完全相同。
为了允许在链路的接收端重建原始未编码的分片,即使存在任意数据包丢失,发送器(执行分片)增加了冗余。因此,N可能大于M,这意味着发送方发送的编码片段可能多于未编码片段的总数,以便在数据包丢失的情况下在接收端进行重建。M与实际发送的编码片段数量之间的比率称为编码比率(或冗余因子),并记下CR。
编码片段是通过在未编码片段的不同子集之间执行按位异或运算来构建的。Xor运算符表示为+。
每个编码片段定义为:
其中是M、N和i的函数,其值为0或1。
0*B1是一个二进制字,其长度与片段B1相同,所有位=0。
1*B1是与B1相等。
如果N<=M,一个长度为M的向量,其中单个向量位于位置N,则所有其他位=0
如果N>M:一个奇偶校验向量,在统计上包含与伪随机顺序中的1一样多的零。
奇偶校验矩阵,是一个M*N矩阵,包含i列和N行上的
如图2所示,其说明了由提出的函数生成的这样一个矩阵的例子,当M=26并且编码比CR=1/2时,该矩阵有26/CR=52行。它允许从26个原始未编码片段中创建52个编码片段。
M位的二进制向量是M和N的函数,并且由函数matrix_line(M,N)给出。
奇偶校验矩阵首先由M*M单位矩阵组成,然后是奇偶校验控制M*M矩阵。
因此,编码片段是未编码片段B的逐位异或;使得/>不为零。编码片段的位长度与未编码的片段完全相同。
S103,将所述N个编码片段按顺序下发给一个或多个接收端。
以一个例子进行说明发送端的执行过程,其将固件包进行FEC编码并打包发送,其流程如图3所示:
以发射器发送2000字节固件,允许无线电链路上的数据包丢包率高达50%。选择1/2的编码比例。为此,2000字节的数据块将被分割为100个片段,每个20字节,每个帧将传输1个片段。发射器将发送100/CR=200个编码片段。我们将看到接收器在接收到200帧中的~103帧后立即解码(取决于丢失帧的确切组合)。
首先将2000个字节拆分为100个未编码的片段,每个片段20个字节,B1到B100。
生成第一个编码片段,首先通过调用C=matrix_line(1,100)生成奇偶校验矩阵的第一行,然后在C奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算。在这种情况下,C=1'b1后跟99个零,第一个编码片段
当发射器达到帧号101,例如:
C=matrix_line(101,100)=100’b0110010………;
因此其中+是按位异或运算符。
请参阅图4,本发明在第二方面提供了一种前向纠错的FUOTA方法,其运用与终端,具体包括:
S201,接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
S202,接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息,具体地,将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若不为0,则包含新片段信息,所述冗余包解码的片段为丢失的某个片段、或多个丢失的片段的组合;
若为0,则无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
具体地,请进一步参阅图5,需要进行OTA升级的终端会执行如下步骤:
对于接收到的每个帧,提取编码片段及其索引。
接收器还需要在他的内存中创建一个空二进制A=MxM位矩阵结构,记录接收到的索引对应A矩阵A的行i的A(i)置1。
然后逐个处理这些片段。
对于每个新片段首先获取奇偶校验矩阵的相应行:C=matrix_line(N,M)
沿着C向量从左到右继续(i从1到M变化):对于每个条目Ci等于1,检查矩阵A的行i是否在第i行中包含1。如果第i行中包含1,在矩阵A”A(i)”的行i和向量C之间执行异或并将结果存储在C中。还要在和存储在片段存储器存储Si中位置i的编码片段之间执行异或,并使用结果更新/>
完成此过程后,有两个选项:
要么向量C现在只包含零,在这种情况下,只需删除编码片段它没有带来任何新信息。
向量C是非空的:把它写在矩阵A中对应于C的第一个非零元素的行i处。还将修改后的片段添加到内存存储的位置i:Si。
循环到1,直到矩阵A的所有行都已更新。矩阵A的对角线上只有1,左下半部分只有一个三角形矩阵。片段内存存储将正好包含M个片段。
从矩阵行i=M-1向下到1,获取矩阵A的第i行:A(i)。行A(i)在位置i处有一个1,在左侧只有零。对于任何1的位置j>i,就在Si和Sj之间执行异或,并用结果更新Si。
片段内存存储现在包含原始未编码片段Si=Bi
通过连接所有未编码的片段来重新组合数据块。
针对OTA升级时的设备数量众多,环境干扰比较强的情况下,使用FEC前向纠错算法对数据到达对端后通过自身查验并补偿,无需再次重发,即可保证固件包的完整性,从而减少重传次数,缩短整体升级时间。
请参阅图6,本发明第三实施例提供了一种前向纠错的FUOTA装置,包括:
初始固件包分割单元,用于接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
片段选取单元,根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
发送单元,用于将将所述N个编码片段和K个冗余包按顺序下发给一个或多个接收端。
优选地,所述片段选取单元具体用于:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段。
请参阅图7,本发明第四实施例提供了一种前向纠错的FUOTA装置,包括:
接收单元,用于接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
判断单元,用于接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息;
若无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
优选地,所述判断单元具体用于:
将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若不为0,所述冗余包解码的片段为解码后的片段就是丢失的某个片段、或多个丢失的片段的组合。
本发明在第五方面提供了一种服务器,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种前向纠错的FUOTA方法。
本发明在第六方面提供了一种终端,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种前向纠错的FUOTA方法。
基于本发明提供的一种前向纠错的FUOTA方法、装置、服务器及终端,根据服务器的最大应用有效载荷先将初始固件包分割成M个数据片段,基于实际情况设定的丢包率,确定冗余包数量,根据奇偶校验矩阵,选取未编码片段中需要编码的片段生成编码片段,将编码片段按顺序下发给终端,终端会依次接收编码片段,对其解码记录保存,在接收完固件包的编码片段后,发现存在丢失片段,继续接收有效的冗余包,解码获取丢失片段,重新组成用于升级的固件包,进行校验升级,旨在解决现有的OTA升级过程中,由于丢包的原因需要多轮重发的问题。
示例性地,本发明第三实施例和第四实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种前向纠错的FUOTA设备中的执行过程。例如,本发明第二实施例中所述的装置。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于一种前向纠错的FUOTA方法的控制中心,利用各种接口和线路连接整个所述实现对一种前向纠错的FUOTA方法的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种前向纠错的FUOTA方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(SmartMediaCard,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述实现的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种前向纠错的FUOTA方法,其特征在于,包括:
接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
将所述N个编码片段按顺序下发给一个或多个接收端。
2.根据权利要求1所述的一种前向纠错的FUOTA方法,其特征在于,所述根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段,具体为:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段。
3.一种前向纠错的FUOTA方法,其特征在于,包括:
接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息;
若无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
4.根据权利要求3所述的一种前向纠错的FUOTA方法,其特征在于,所述判断接收到的冗余包是否含有新的片段信息,具体为:
将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若是,所述冗余包解码的片段为解码后的片段就是丢失的某个片段、或多个丢失的片段的组合。
5.一种前向纠错的FUOTA装置,其特征在于,包括:
初始固件包分割单元,用于接收初始固件包,根据最大应用有效载荷将所述初始固件包分割成M个数据片段;
片段选取单元,根据预设的丢包率,确定K个冗余包,并通过奇偶校验矩阵,将M个数据片段编码成N个编码片段;
发送单元,用于将将所述N个编码片段按顺序下发给一个或多个接收端。
6.根据权利要求5所述的一种前向纠错的FUOTA装置,其特征在于,所述片段选取单元具体用于:
根据预设的丢包率确定奇偶校验矩阵的行数N;
调用函数C=matrix_line(N,M)生成奇偶校验矩阵的第n行,在奇偶校验向量中对应于1的所有未编码片段之间执行按位Xor运算,生成需要编码的片段。
7.一种前向纠错的FUOTA装置,其特征在于,包括:
接收单元,用于接收由服务器下发的编码片段,并对所述编码片段进行解码并记录编码片段的索引;
判断单元,用于接收由服务器下发的冗余包,并将冗余包解码,并判断是否含有未接收到的片段信息;
若无新片段信息,丢弃该冗余包;
若含有未接收到的片段信息,将该新片段信息保存,继续接收冗余包,直至满足补偿丢失的所有数据片段。
8.根据权利要求7所述的一种前向纠错的FUOTA装置,其特征在于,所述判断单元具体用于:
将已接收到的片段与接收到的冗余包进行异或,并判断异或结果是否为0;
若不为0,所述冗余包解码的片段为丢失的某个片段、或多个丢失的片段的组合。
9.一种服务器,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1至2任意一项所述的一种前向纠错的FUOTA方法。
10.一种终端,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求3至4任意一项所述的一种前向纠错的FUOTA方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310426506.8A CN116614200A (zh) | 2023-04-20 | 2023-04-20 | 一种前向纠错的fuota方法、装置、服务器及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310426506.8A CN116614200A (zh) | 2023-04-20 | 2023-04-20 | 一种前向纠错的fuota方法、装置、服务器及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116614200A true CN116614200A (zh) | 2023-08-18 |
Family
ID=87677174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310426506.8A Pending CN116614200A (zh) | 2023-04-20 | 2023-04-20 | 一种前向纠错的fuota方法、装置、服务器及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116614200A (zh) |
-
2023
- 2023-04-20 CN CN202310426506.8A patent/CN116614200A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3421583B2 (ja) | データブロックの送信方法 | |
US10050741B2 (en) | Method and apparatus for transmitting and receiving control information in a broadcasting/communication system | |
CN103444087B (zh) | 使用弹性代码与柔性源块映射进行编码和解码 | |
CN101127710A (zh) | 用于非重复性包传输的方法和装置 | |
US8245096B2 (en) | System, method and apparatus for FEC encoding and decoding | |
US10476528B2 (en) | Data packet processing method and device | |
US8386894B2 (en) | Parallel forward error correction with syndrome recalculation | |
US7594154B2 (en) | Encoding and decoding modules with forward error correction | |
US11342945B2 (en) | Method and apparatus for processing rate matching of polar codes | |
KR20130095231A (ko) | 데이터 패킷 송수신 장치 및 방법 | |
CN1372735A (zh) | 灵活的通信差错保护方法 | |
US20100061400A1 (en) | Frame generation apparatus and method of protecting protocol header information over wideband high frequency wireless system | |
KR20170138928A (ko) | 프리앰블의 구조적 사전 정보를 이용한 채널 복호화 방법 및 장치 | |
JPH11513850A (ja) | 重要度の低い記号を破壊することにより不平等なエラー保護を行うコード化システムおよび方法 | |
CN107370488A (zh) | 纠错编码方法及装置 | |
US20100235709A1 (en) | Systems and methods for providing unequal error protection code design from probabilistically fixed composition codes | |
RU2008122944A (ru) | Способы и устройство для фрагментации сообщений системной информации в радиосетях | |
EP2309651A1 (en) | Optimised code block segmentation for turbo encoding | |
KR20190126806A (ko) | 데이터 프로세싱 방법 및 디바이스 | |
US6678854B1 (en) | Methods and systems for providing a second data signal on a frame of bits including a first data signal and an error-correcting code | |
CN113037437A (zh) | 数据传输方法及装置 | |
CN116614200A (zh) | 一种前向纠错的fuota方法、装置、服务器及终端 | |
US11368246B2 (en) | Method and device for transmitting or receiving broadcast service in multimedia service system | |
CN111246428A (zh) | 一种网络可靠通信方法、系统、装置及存储介质 | |
CN104541469A (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 |