System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种芯片、数据组包方法及存储介质。
技术介绍
1、虚拟网络控制(virtual network console,vnc)是一种基于远程帧缓冲(remoteframe buffer,rfb)协议的图形化的远程桌面控制技术,用户可通过vnc客户端连接到vnc服务端,从而远程访问和控制其他计算机。vnc服务端可以将被控制端的图像数据压缩,并组包成符合rfb协议的数据包格式,从而将数据包传输至控制端。
2、随着远程办公和远程协作的需求增加,对于高效的远程桌面体验的需求也在不断增加。然而目前vnc服务端通常是在软件层面对图像数据进行分割,并打包为符合rfb协议的数据包,然而这种方式会消耗cpu的处理资源和处理时间,导致cpu负载过高,可能会进一步导致数据包的发送延迟较大,影响远程访问的流畅度。
技术实现思路
1、本申请实施例的目的在于提供一种芯片、数据组包方法及存储介质,以提升远程访问的流畅度。具体技术方案如下:
2、第一方面,本申请实施例提供一种芯片,所述芯片位于远程访问的被控制端,所述芯片包括:数据读取模块、ram以及组包数据回写模块;所述数据读取模块和所述组包数据回写模块均与所述ram连接,且所述数据读取模块和所述组包数据回写模块均与所述芯片的片外缓存连接,所述片外缓存中存储有所述被控制端待传输至远程访问的控制端的待传输图片;
3、所述数据读取模块,用于基于所述待传输图片的基本信息、图片参数以及单个数据块的数据块尺寸,从
4、所述组包数据回写模块,用于从所述ram中读取数据块,将多个数据块组合为一个rfb包,将所述rfb包回写至所述片外缓存。
5、在一种可能的实现方式中,所述芯片还包括依次连接的配置寄存器、描述符读取解析模块和参数读取解析模块,所述描述符读取解析模块和所述参数读取解析模块均与所述片外缓存连接,所述参数读取解析模块与所述数据读取模块连接;
6、所述配置寄存器,用于存储描述符的头指针、所述数据块尺寸以及所述待传输图片的基本信息;
7、所述描述符读取解析模块,用于基于所述头指针从所述片外缓存中读取描述符,所述描述符包括所述图片参数的地址和长度;
8、所述参数读取解析模块,用于基于所述图片参数的地址和长度从所述片外缓存中读取所述图片参数。
9、在一种可能的实现方式中,所述图片参数包括编码方式,所述编码方式用于指示是否对数据块进行压缩以及压缩算法的预设类型;所述芯片还包括压缩模块,所述压缩模块分别与所述ram和所述参数读取解析模块连接;
10、所述压缩模块,用于获取所述编码方式,若所述编码方式指示对数据块进行压缩,则从所述ram中读取数据块,并采用所述预设类型的压缩算法对读取的数据块进行压缩,将压缩后的数据块存入所述ram;
11、所述组包数据回写模块,具体用于从所述ram中读取压缩后的数据块,将多个压缩后的数据块组合成一个rfb包。
12、在一种可能的实现方式中,所述待传输图片的基本信息包括图片格式和存储模式,所述图片参数包括待传输图片的尺寸和坐标位置;
13、所述数据读取模块,具体用于基于所述待传输图片的图片格式、存储模式、尺寸、坐标位置以及所述数据块尺寸,依次计算所述待传输图片包括的每个数据块的存储地址;基于各数据块的存储地址,依次从所述片外缓存中读取每个数据块,将读取的数据块写入所述ram。
14、在一种可能的实现方式中,所述描述符中还包括单个rfb包的数据量阈值以及rfb包的预设数量;
15、所述组包数据回写模块,具体用于将所述ram中的数据块依次组合为rfb包,直至rfb包的数量达到所述预设数量或所述待传输图片包括的数据块均被组包时,停止组包,将已得到的rfb包作为所述待传输图片的rfb包,每个rfb包的总数据量不超过所述数据量阈值。
16、在一种可能的实现方式中,所述组包数据回写模块,具体用于当所述ram中存在新增的数据块时,将所述新增的数据块的数据量与待组rfb包的当前数据量进行累加,得到累加数据量;若所述累加数据量超出所述数据量阈值,则将所述待组rfb包作为一个完整rfb包,将所述当前数据量作为所述完整rfb包的总数据量,将完成封包的rfb包的数量加1;若所述累加数据量未超出所述数据量阈值,则将所述新增的数据块作为所述待组rfb包中的一个数据块,将所述待组rfb包的当前数据量更新为所述累加数据量;从所述ram中读取所述新增的数据块,若完成封包的rfb包的数量达到所述预设数量,则停止组包;若完成封包的rfb包的数量未达到所述预设数量,则将所述新增的数据块的包头和所述新增的数据块回写至所述片外缓存,若所述新增的数据块为所述待传输图像的最后一个数据块,则停止组包。
17、在一种可能的实现方式中,所述组包数据回写模块,具体用于在将所述待组rfb包作为一个完整rfb包之后,将所述完整rfb包的第一个数据块的包头中的数据块数量字段的值更新为所述完整rfb包中包括的数据块数量,并在所述描述符中记录所述完整rfb包的总数据量;
18、所述组包数据回写模块,具体用于若所述新增的数据块为所述待传输图像的最后一个数据块,则将指定rfb包的第一个数据块的包头中的数据块数量字段的值更新为所述指定rfb包中包括的数据块数量,并在所述描述符中记录所述指定rfb包的总数据量,所述指定rfb包为所述新增的数据块所属的rfb包。
19、在一种可能的实现方式中,所述组包数据回写模块,具体用于若所述新增的数据块是rfb包中的第一个数据块,则将第一预设长度的包头和所述新增的数据块回写至所述片外缓存;若所述新增的数据块不是rfb包中的第一个数据块,则将第二预设长度的包头和所述新增的数据块回写至所述片外缓存,所述第一预设长度大于所述第二预设长度。
20、在一种可能的实现方式中,所述芯片还包括状态寄存器;
21、所述组包数据回写模块,还用于在停止组包后,更新所述描述符中的完成标志,并更新所述状态寄存器中存储的所述描述符的尾指针,所述完成标志用于表示已完成对所述待传输图片的组包。
22、第二方面,本申请实施例提供一种数据组包方法,应用于远程访问的被控制端中的芯片,所述芯片与片外缓存连接,所述片外缓存中存储有所述被控制端待传输至远程访问的控制端的待传输图片,所述方法包括:
23、基于所述待传输图片的基本信息、图片参数以及单个数据块的数据块尺寸,从所述片外缓存中依次读取所述待传输图片包括的每个数据块,将读取到的数据块写入ram;
24、从所述ram中读取数据块,将多个数据块组合为一个rfb包;
25、将所述rfb包回写至所述片外缓存。
26、在一种可能的实现方式中,在所述基于所述待传输图片的图片信息以及单个数据块的数据块尺本文档来自技高网...
【技术保护点】
1.一种芯片,其特征在于,所述芯片位于远程访问的被控制端,所述芯片包括:数据读取模块、随机存取存储器RAM以及组包数据回写模块;所述数据读取模块和所述组包数据回写模块均与所述RAM连接,且所述数据读取模块和所述组包数据回写模块均与所述芯片的片外缓存连接,所述片外缓存中存储有所述被控制端待传输至远程访问的控制端的待传输图片;
2.根据权利要求1所述的芯片,其特征在于,所述芯片还包括依次连接的配置寄存器、描述符读取解析模块和参数读取解析模块,所述描述符读取解析模块和所述参数读取解析模块均与所述片外缓存连接,所述参数读取解析模块与所述数据读取模块连接;
3.根据权利要求2所述的芯片,其特征在于,所述图片参数包括编码方式,所述编码方式用于指示是否对数据块进行压缩以及压缩算法的预设类型;所述芯片还包括压缩模块,所述压缩模块分别与所述RAM和所述参数读取解析模块连接;
4.根据权利要求1或2所述的芯片,其特征在于,所述待传输图片的基本信息包括图片格式和存储模式,所述图片参数包括待传输图片的尺寸和坐标位置;
5.根据权利要求2所述的芯片,其特征在
6.根据权利要求5所述的芯片,其特征在于,
7.根据权利要求6所述的芯片,其特征在于,
8.根据权利要求6所述的芯片,其特征在于,
9.根据权利要求5-8任一项所述的芯片,其特征在于,所述芯片还包括状态寄存器;
10.一种数据组包方法,其特征在于,应用于远程访问的被控制端中的芯片,所述芯片与片外缓存连接,所述片外缓存中存储有所述被控制端待传输至远程访问的控制端的待传输图片,所述方法包括:
11.根据权利要求10所述的方法,其特征在于,在所述基于所述待传输图片的图片信息以及单个数据块的数据块尺寸,从所述片外缓存中依次读取所述待传输图片包括的每个数据块,将读取到的数据块写入随机存取存储器RAM之前,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,所述图片参数包括编码方式,所述编码方式用于指示是否对数据块进行压缩以及压缩算法的预设类型;
13.根据权利要求10或11所述的方法,其特征在于,所述待传输图片的基本信息包括图片格式和存储模式,所述图片参数包括待传输图片的尺寸和坐标位置;
14.根据权利要求11所述的方法,其特征在于,所述描述符中还包括单个RFB包的数据量阈值以及RFB包的预设数量;
15.根据权利要求14所述的方法,其特征在于,所述将所述RAM中的数据块依次组合为RFB包,直至RFB包的数量达到所述预设数量或者所述待传输图片包括的数据块均被组包时,停止组包,包括:
16.根据权利要求15所述的方法,其特征在于,在所述将所述待组RFB包作为一个完整RFB包之后,所述方法还包括:
17.根据权利要求15所述的方法,其特征在于,所述将所述新增的数据块的包头和所述新增的数据块回写至所述片外缓存,包括:
18.根据权利要求14-17任一项所述的方法,其特征在于,在所述停止组包之后,所述方法还包括:
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求10-18任一所述的方法。
...【技术特征摘要】
1.一种芯片,其特征在于,所述芯片位于远程访问的被控制端,所述芯片包括:数据读取模块、随机存取存储器ram以及组包数据回写模块;所述数据读取模块和所述组包数据回写模块均与所述ram连接,且所述数据读取模块和所述组包数据回写模块均与所述芯片的片外缓存连接,所述片外缓存中存储有所述被控制端待传输至远程访问的控制端的待传输图片;
2.根据权利要求1所述的芯片,其特征在于,所述芯片还包括依次连接的配置寄存器、描述符读取解析模块和参数读取解析模块,所述描述符读取解析模块和所述参数读取解析模块均与所述片外缓存连接,所述参数读取解析模块与所述数据读取模块连接;
3.根据权利要求2所述的芯片,其特征在于,所述图片参数包括编码方式,所述编码方式用于指示是否对数据块进行压缩以及压缩算法的预设类型;所述芯片还包括压缩模块,所述压缩模块分别与所述ram和所述参数读取解析模块连接;
4.根据权利要求1或2所述的芯片,其特征在于,所述待传输图片的基本信息包括图片格式和存储模式,所述图片参数包括待传输图片的尺寸和坐标位置;
5.根据权利要求2所述的芯片,其特征在于,所述描述符中还包括单个rfb包的数据量阈值以及rfb包的预设数量;
6.根据权利要求5所述的芯片,其特征在于,
7.根据权利要求6所述的芯片,其特征在于,
8.根据权利要求6所述的芯片,其特征在于,
9.根据权利要求5-8任一项所述的芯片,其特征在于,所述芯片还包括状态寄存器;
10.一种数据组包方法,其特征在于,应用于远程访问的被控制端中的芯片,所述芯片与片外缓存连接,所述片外缓存中存储有所述被控...
【专利技术属性】
技术研发人员:马仕清,王耀强,
申请(专利权)人:新华三半导体技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。