System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据传输方法及系统技术方案_技高网

一种数据传输方法及系统技术方案

技术编号:40071021 阅读:6 留言:0更新日期:2024-01-17 00:10
本申请提供一种数据传输方法及系统,该方法应用于数据传输系统,数据传输系统包括数据生产端、数据读取端和数据系统,其中,数据系统在共享内存中创建数据传输队列、数据传输内存队列、创建数据缓存队列、数据缓存内存队列、文件块队列和文件块传输队列;数据生产端根据实际情况在指定队列中获取内存块地址,并基于内存块地址存储数据到共享内存中,再将内存块地址加入到对应的传输队列;数据读取端则可以直接读取内存块地址,并基于内存块地址读取目标数据,再在共享内存释放内存,以使内存块地址重新回到对应队列。可见,该方法及系统能够通过多级队列传输数据,提升数据传输性能,降低了数据丢失概率,有利于提升系统的可靠性。

【技术实现步骤摘要】

本申请涉及数据传输,具体而言,涉及一种数据传输方法及系统


技术介绍

1、目前,随着网络技术的发展,网络系统越来越庞大,现有的数据传输方法,在嵌入式设备记录日志时,通常业务模块直接使用数据库接口记录日志,或是将日志信息通过socket、队列等方式传输给日志进程,由日志进程集中记录日志。然而,在实践中发现,在大量日志情况下,数据库繁忙会阻塞日志接口,进而阻塞业务模块,最终降低业务性能。可见,现有方法在数据量较大时,容易出现数据拥堵和数据丢失的问题,从而降低输出传输性能。


技术实现思路

1、本申请实施例的目的在于提供一种数据传输方法及系统,能够通过多级队列传输数据,提升数据传输性能,降低了数据丢失概率,有利于提升系统的可靠性。

2、本申请第一方面提供了一种数据传输方法,所述方法应用于数据传输系统,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

3、所述数据系统在共享内存中创建数据传输队列和数据传输内存队列;其中,所述数据传输队列和所述数据传输内存队列均为无锁环形队列;

4、所述数据系统确定所述数据传输队列中被占用节点的数量比例;

5、所述数据系统判断所述数量比例是否大于预设比例阈值;

6、所述数据生产端在所述数据系统判断出所述数量比例不大于所述预设比例阈值时,在所述数据传输内存队列中获取第一目标共享内存的第一内存块地址;

7、所述数据生产端基于所述第一内存块地址将待存储的第一目标数据存储到所述第一目标共享内存中;

8、所述数据生产端将所述第一内存块地址加入到所述数据传输队列中;

9、所述数据读取端读取所述数据传输队列中的所述第一内存块地址;

10、所述数据读取端基于所述第一内存块地址读取所述第一目标共享内存中的所述第一目标数据;

11、所述数据读取端在所述第一目标共享内存释放内存后,将所述第一内存块地址重新加入到所述数据传输内存队列中。

12、在上述实现过程中,数据系统在共享内存中创建数据传输队列和数据传输内存队列;可见,该方法通过数据系统优先建立了最基础的数据传输队列,从而为实现数据传输提供相应的保障。然后,数据系统可以确定数据传输队列中被占用节点的数量比例,并判断数量比例是否大于预设比例阈值;可见,该方法可以通过被占用节点数量的比例来判定应该采用哪一种具体的数据传输流程;可以理解的是,该步骤体现了本方法的实现是依赖着多个数据传输流程的,且多个数据传输流程可以基于不同的条件加以应用,而此处则是优先保障数据传输的可行性,即在被占用节点的数量比例不大于预设比例阈值时的数据传输是可行的。具体的,数据生产端在数据系统判断出数量比例不大于预设比例阈值时,在数据传输内存队列中获取第一目标共享内存的第一内存块地址,并基于第一内存块地址将待存储的第一目标数据存储到第一目标共享内存中,再将第一内存块地址加入到数据传输队列中;可见,该过程体现了数据传输队列和数据传输内存队列在存数据过程中的应用。之后,数据读取端读取数据传输队列中的第一内存块地址,并基于第一内存块地址读取第一目标共享内存中的第一目标数据,再在第一目标共享内存释放内存后,将第一内存块地址重新加入到数据传输内存队列中;可见,该过程体现了数据传输队列和数据传输内存队列在读数据过程中的应用。基于此,该方法能够实现基础的数据传输能力,同时保障了一定的数据传输可扩展性,从而为通过多级队列传输数据提供数据传输基础,进而有利于提升数据传输性能,降低了数据丢失概率,提升系统的可靠性。

13、进一步地,所述方法还包括:

14、所述数据系统在共享内存中创建数据缓存队列、数据缓存内存队列、文件块队列和文件块传输队列;其中,所述数据缓存队列、所述数据缓存内存队列、所述文件块队列和所述文件块传输队列均为无锁环形队列。

15、在上述实现过程中,该方法提出了额外两组队列的存在,并以此来在系统层面上说明该方法是通过怎么样的多级队列来传输数据的。

16、进一步地,所述方法还包括:

17、所述数据系统在判断出所述数量比例大于所述预设比例阈值时,通过写入接口发送预设返回值至所述数据生产端,以通知所述数据生产端下次启用预设的缓存接口;

18、所述数据生产端通过所述预设的缓存接口从所述数据缓存内存队列获取第二目标共享内存的第二内存块地址;其中,所述第二目标共享内存为数据缓存内存;

19、所述数据生产端基于所述第二内存块地址存储第二目标数据;

20、所述数据生产端将所述第二内存块地址加入到所述数据缓存队列中;

21、所述数据读取端读取所述数据缓存队列中的所述第二内存块地址;

22、所述数据读取端基于所述第二内存块地址读取所述第二目标共享内存中的所述第二目标数据;

23、所述数据读取端在所述第二目标共享内存释放内存后,将所述第二内存块地址重新加入到所述数据缓存队列中。

24、在上述实现过程中,该方法在所述数据系统判断所述数量比例大于预设比例阈值时,触发缓存队列在数据传输过程中的应用。具体的,该过程可以类比基础的数据传输流程,以此来实现同类型的数据传输过程,从而有利于保障数据传输的稳定性。

25、进一步地,所述方法还包括:

26、所述数据生产端从所述文件块队列读取目标文件块地址;

27、所述数据生产端根据所述目标文件块地址将第三目标数据写入到目标文件块中;

28、所述数据生产端将所述目标文件块地址写入所述文件块传输队列中;

29、所述数据读取端读取所述文件块传输队列中的所述目标文件块地址;

30、所述数据读取端基于所述目标文件块地址读取所述目标文件块中的所述第三目标数据;

31、所述数据读取端在所述目标文件块释放内存后,将所述目标文件块地址重新加入到所述文件块队列中。

32、在上述实现过程中,该方法提供了一种同步数据传输方式,同时也是一种后备大容量传输方式。基于该种数据传输方式,能够通过同步传输提高数据传输性能;通过大容量的文件块来降低数据丢失概率。综上,该方法能够有效的提升系统的可靠性。

33、进一步地,所述方法还包括:

34、所述数据生产端检测所述数据传输队列、所述数据缓存队列和所述文件块传输队列是否均为空;如果是,执行所述的在所述数据传输内存队列中获取第一目标共享内存的第一内存块地址。

35、在上述实现过程中,该方法可以为数据传输的初始场景或数据传输供不应求的场景触发最基础的数据传输流程,从而保障数据传输流程的可实施,避免了多级数据传输流程的共同实施,并有利于降低数据传输的资源损耗。

36、本申请第二方面提供了一种数据传输系统,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

37、所述数据系统,用于在共享内存中创建数据传输队列和数据传输内存队列;以及确定所述本文档来自技高网...

【技术保护点】

1.一种数据传输方法,其特征在于,所述方法应用于数据传输系统,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

2.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

6.一种数据传输系统,其特征在于,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

7.根据权利要求6所述的数据传输系统,其特征在于,所述数据系统,还用于在共享内存中创建数据缓存队列、数据缓存内存队列、文件块队列和文件块传输队列;其中,所述数据缓存队列、所述数据缓存内存队列、所述文件块队列和所述文件块传输队列均为无锁环形队列。

8.根据权利要求7所述的数据传输系统,其特征在于,所述数据系统,还用于在判断出所述数量比例大于所述预设比例阈值时,通过写入接口发送预设返回值至所述数据生产端,以通知所述数据生产端下次启用预设的缓存接口;

9.根据权利要求7所述的数据传输系统,其特征在于,所述数据生产端,还用于在从所述文件块队列读取目标文件块地址;以及根据所述目标文件块地址将第三目标数据写入到目标文件块中;以及将所述目标文件块地址写入所述文件块传输队列中;

10.根据权利要求7所述的数据传输系统,其特征在于,所述数据生产端,还用于检测所述数据传输队列、所述数据缓存队列和所述文件块传输队列是否均为空;如果是,执行所述的在所述数据传输内存队列中获取第一目标共享内存的第一内存块地址。

...

【技术特征摘要】

1.一种数据传输方法,其特征在于,所述方法应用于数据传输系统,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

2.根据权利要求1所述的数据传输方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:

6.一种数据传输系统,其特征在于,所述数据传输系统包括数据生产端、数据读取端和数据系统,其中,

7.根据权利要求6所述的数据传输系统,其特征在于,所述数据系统,还用于在共享内存中创建数据缓存队列、数据缓存内存队列、文件块队列和文件块传输队列;其中,所述数据缓存队列、所述数据缓存内...

【专利技术属性】
技术研发人员:李仁江杨斌
申请(专利权)人:北京天融信网络安全技术有限公司
类型:发明
国别省市:

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

1