System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据传输,更具体地说,涉及一种数据的传输方法及系统。
技术介绍
1、随着社会的发展,各类数据传输需求日益增加,如视频监控、无人机图像传输等场景中都需要进行大量的数据无线传输。但是无线通信条件复杂、传输距离较远,这给数据的实时可靠传输带来了挑战。如何提高长距离无线数据传输的效率和可靠性成为一个关键技术问题。
2、现有的长距离无线传输技术中,通常采用直接发送采集到的完整数据帧的方式。但随着传感器分辨率的提升,单帧数据量大幅增加,直接传输整帧数据将产生很大的网络流量,导致网络阻塞、丢包等问题,无法满足实时传输需求。另外重复传输完全相同的数据也极大浪费了网络带宽资源。
3、中国专利申请,申请号cn202210509820.8,公开日2022年5月11日,公开了基于dmx512协议的编码传输方法、系统、设备及存储介质,本申请包括:设置连接到同一以太网交换机的控制端集群,控制端集群包括一主机和至少一从机,以太网交换机连接并控制灯具组的工作状态;每个控制端基于灯具组的中灯具的连接关系建立一个包括调光参数和控制件状态参数的树状数据表,从机的树状数据表分别基于主机的树状数据表进行数据同步并实时配置对应的控制件的状态;以及控制端按时互发心跳包,未收到主机的心跳包的从机从其他从机中另选主机并进行数据同步。但是本申请直接依赖重复的数据交换与同步来维持系统一致性,数据传输效率有待进一步提高。
技术实现思路
1、1.要解决的技术问题
2、针对现有技术中存在的长距离
3、2.技术方案
4、本申请的目的通过以下技术方案实现。
5、本说明书实施例的一个方面提供一种数据的发送方法,包括:接收当前帧数据,并建立缓存区;将上一帧数据存储在建立的缓存区中;将当前帧数据和缓存区中存储的上一帧数据进行对比,获得变化数据;根据获得的变化数据设置标记信息,标记信息包含变化数据对应的通道地址;将当前帧数据按预设字节长度拆分成若干数据包;根据设置的标记信息对拆分获得的数据包进行标记;发送标记后的数据包;具体地,本申请通过接收当前帧数据,并与上一帧数据进行对比来获得变化数据,仅对变化数据所在的数据包进行标记,并发送标记后的数据包,由接收方对标记包进行差分更新。本申请能够有效减少无效数据的传输,降低数据冗余度,从而提高了数据的传输效率。
6、进一步地,将当前帧数据按预设字节长度拆分成若干数据包之前,还包括如下步骤:统计当前帧数据与上一帧数据的比对结果,如果当前帧数据与上一帧数据的对应通道的数据一致,则进行累加操作,并用当前帧数据替换缓存区中的上一帧数据;当累加操作的次数达到预设阈值时,将缓存区内存储的上一帧数据按预设字节长度拆分成若干数据包。
7、具体地,在将当前帧数据按预设字节长度拆分成若干数据包进行传输之前,还设置了以下降低数据冗余的技术手段:统计当前帧数据与上一帧数据的比对结果,如果当前帧数据与上一帧数据的对应通道的数据一致,则进行累加操作,并用当前帧数据替换缓存区中的上一帧数据;当累加操作的次数达到预设阈值时,判断上一帧数据中存在大量静态冗余数据,则将缓存区内存储的上一帧数据按预设字节长度拆分成多个数据包后发送。设置累加次数达到阈值的条件,在一定统计次数后才确认上一帧确实存在大量静态冗余数据需要发送。避免小量样本导致的误判,增强了统计结果的可靠性。当统计确认上一帧存在大量冗余时,才将其拆分成多个包传输。这种策略可以避免频繁发送大量静态冗余数据,大幅减少传输数据量,提高效率。接收方利用接收到的上一帧冗余数据包来初始化本地存储,为后续帧数据提供差分更新基础,减少接收处理计算。总体上,本申请的设置实现了动态调整数据发送策略,只在确定必要时才发送冗余数据,从而有效减少传输数据量。
8、本申请通过统计当前帧与上一帧数据的差异情况,动态调整上一帧静态数据的发送策略,在确定上一帧数据存在大量冗余时,才将其拆分成多个包传输。这种方式可以避免频繁发送大量静态冗余数据,有效减少传输数据量,从而进一步提高数据的传输效率。
9、进一步地,计算变化数据的通道总数n。根据通道总数n来建立相应字节数量的缓存区,用于存储上一帧数据,以供后续帧数据比对差分的需要。该方式可以准确申请适量的存储空间,避免造成内存浪费。通过计算每帧数据中变化数据的通道总数n,并根据n值建立相应字节数量的缓存区用于存储上一帧数据,以供后续帧数据比对差分之需。具体是在执行接收当前帧数据并建立缓存区之后,统计计算当前帧数据与上一帧数据比对的结果,获得变化数据对应的通道总数n;然后根据n值确定需要申请的缓存区存储空间大小,例如每个通道占用2字节,则需要申请2*n字节大小的缓存区;随后将该缓存区用于存储上一帧的数据。通过计算通道变化总数n来动态申请缓存区存储空间,能够准确申请到所需的最小空间,有利于提高存储空间的利用效率,避免因固定配置而造成的内存资源浪费。
10、进一步地,标记信息还包含数据包的包号。在对差分数据包进行标记时,除了包含变化数据的通道地址外,还标记上该数据包的包号信息。这可以使接收端在获得分包传输的数据后,能够根据包号正确排序、组装并还原整个数据帧,提高数据处理的正确性。数据包含利用lora模块发送的无线dmx512数据。本申请的数据发送方法适用于包含利用lora模块发送的无线dmx512数据。具体是,在执行数据发送方法的接收当前帧数据、与上一帧数据比对差分、标记变化数据等过程时,所处理发送的数据为通过lora无线模块传输的dmx512控制命令数据。lora无线传输模块可实现长距离、低功耗的无线数据通信。应用该模块实现无线dmx512传输,可以解决有线dmx512系统布线复杂、系统搭建困难的问题,实现灯光、激光等设备的无线智能控制。本申请的数据发送方法能够适用于lora无线dmx512系统,通过差分比对、标记变化数据等手段提高无线dmx512数据的传输效率。
11、本说明书实施例的一个方面提供一种数据的接收方法,包括:接收发送的标记数据包,标记数据包包含通道地址和包号作为标记信息;解析标记数据包,根据标记信息判断数据包是否包含变化数据;根据解析结果,对包含变化数据的数据包执行更新处理;根据标记数据包中的包号,按顺序组装恢复原始数据帧。具体地,接收发送的标记数据包,标记数据包包含通道地址和包号作为标记信息;根据标记信息解析数据包,判断数据包是否包含变化数据;则仅对包含变化数据的数据包执行更新处理,以更新存储的上一帧数据;最后,根据标记数据包中的包号按顺序组装,恢复原始完整的数据帧。
12、相比于直接传输完整数据,该接收方法只对数据发送方根据变化数据标记并传输的数据包进行有选择性地更新处理,可以最大限度地减少无效冗余数据的接收和处理,有效降低数据冗余度,减少接收方的计算和存储资源消耗,从而提高了数据的传输和处理效率。该接本文档来自技高网...
【技术保护点】
1.一种数据的发送方法,包括:
2.根据权利要求1所述的数据的发送方法,其特征在于:
3.根据权利要求2所述的数据的发送方法,其特征在于:
4.根据权利要求1所述的数据的发送方法,其特征在于:
5.根据权利要求1至4任一项所述的数据的发送方法,其特征在于:
6.一种数据的接收方法,包括:
7.根据权利要求6所述的数据的接收方法,其特征在于:
8.根据权利要求6所述的数据的接收方法,其特征在于:
9.一种数据的发送系统,包括:
10.一种数据的接收系统,包括:
【技术特征摘要】
1.一种数据的发送方法,包括:
2.根据权利要求1所述的数据的发送方法,其特征在于:
3.根据权利要求2所述的数据的发送方法,其特征在于:
4.根据权利要求1所述的数据的发送方法,其特征在于:
5.根据权利要求1至4任一项所述的数据的发送...
【专利技术属性】
技术研发人员:姚辰甫,
申请(专利权)人:南京奥视威电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。