[发明专利]一种多线程并行编/解码方法、编/解码器、用户端在审
申请号: | 202110796828.2 | 申请日: | 2021-07-14 |
公开(公告)号: | CN113590376A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 曹强;孙磊 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 徐美琳 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 并行 解码 方法 解码器 用户端 | ||
1.一种多线程并行编码方法,其特征在于,包括以下步骤:
使用多个I/O线程从存储设备读取源文件;
将所述源文件分割为n*z个用户数据块,其中包含z个数量为n的用户数据条带,使用T个编码线程,第t个编码线程按照每n个用户数据块得到k个校验数据块的编码规则对ti个数据条带进行编码,其中,1≤t≤T,当t≤z%T时,当t>z%T时,
使用多个I/O线程,将编码文件进行布局写入存储设备。
2.如权利要求1所述的多线程并行编码方法,其特征在于,所述分割的规则为:
若用户数据块的大小是m,对于长度为x的源文件:
(a)若x能被n*m整除,那么用户数据块的总量为x/m,分为n*z个用户数据块;
(b)若x不能被n*m整除,那么用户数据块的总量为通过补零或者补充预设数据的方法补全为n*z个用户数据块。
3.如权利要求1所述的多线程并行编码方法,其特征在于,所述布局方法包括:
用户数据块与校验数据块的垂直布局方法:n*z个用户数据块,编码得到k*z个校验数据块,将用户数据块连续存放在编码文件的前部,然后在编码文件尾部对应地连续存放校验数据块;
或者用户数据块与校验数据块的水平布局方法:用户数据块与校验数据块按照条带次序放置,每个条带中的数据块连续存放,同时,用户数据块连续存放在条带前部,校验数据块连续存放在条带后部;
或者用户数据块与校验数据块的水平交叉布局方法:用户数据块与校验数据块按照条带次序放置,但条带内部用户数据块与校验数据块间隔分布,用户数据块与校验数据块按照约定间隔存放。
4.一种多线程并行解码方法,其特征在于,编码文件包括z个条带,每个条带包括n个用户数据块和k个校验数据块;包括以下步骤:
使用多个I/O线程从存储设备读取编码文件到内存中;
使用T个线程从内存中读取条带,第t个线程读取ti个条带,对于每个条带,如果成功地读取了n个用户数据块,则解码结束;当y个用户数据块存在错误或者丢失时,如果yk,则失效数据块过多,该条带中的用户数据不可恢复,则解码结束;否则读取x个校验数据块,如果不能成功读出y个校验数据块,则用户数据也不可恢复,解码结束;如果成功读出y个校验数据块,根据有效的用户数据块和y个校验数据块恢复出n个用户数据块,解码结束;其中,1≤t≤T,当t≤z%T时,当t>z%T时,
5.一种多线程并行编码器,其特征在于,包括:计算机可读存储介质和处理器;
所述计算机可读存储介质用于存储可执行指令;
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行权利要求1至3任一项所述的多线程并行编码方法。
6.一种多线程并行解码器,其特征在于,包括:计算机可读存储介质和处理器;
所述计算机可读存储介质用于存储可执行指令;
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行权利要求4所述的多线程并行解码方法。
7.一种用户端,其特征在于,所述用户端同时包含如权利要求5所述的多线程并行编码器和如权利要求6所述的多线程并行解码器,当用户端作为发送端时,将多线程并行编码器的编码结果发送给接收端;当用户端作为接收端时,接收发送端的编码结果并进行多线程并行解码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110796828.2/1.html,转载请声明来源钻瓜专利网。