本申请涉及计算机,尤其涉及一种数据传输方法与数据传输系统。
背景技术:
1、在计算机系统中,总线(bus)用于将多个电子设备或组件连接在一起,以实现信息交换和资源共享的通信通道。
2、在实际应用中,在有多个数据节点同时发送数据时,优先级最高的数据节点会占用总线,而其它数据节点则需要等待总线存在空位时再发送,当总线上的一个数据节点因为长时间无法发送数据包而导致超时的现象,一般称为“饿死”现象。
3、如何有效防止数据节点出现上述“饿死”的现象,是目前亟需解决的技术问题。
技术实现思路
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、本申请实施例中所提供的数据传输方法与数据传输系统,总线上的各个数据节点在发送每个数据包给总线时,均需要等待随机的延迟时长后再发送,由此可以在某个数据节点向总线发送数据包的过程中,使其它数据节点能够在上述延迟时长内向总线发送数据包,从而避免由于一个数据节点向总线发送过量的数据包而导致其它数据节点无法发送数据包的情况出现,有效防止数据节点出现“饿死”现象。
1.一种数据传输方法,其特征在于,应用于数据传输系统,所述数据传输系统包括总线以及与所述总线通信连接的多个数据节点;所述方法包括:
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据节点获取所述目标数据包对应的随机延迟时长,包括:
3.根据权利要求2所述的数据传输方法,其特征在于,所述随机数生成单元包括线性反馈移位寄存器,所述线性反馈移位寄存器用于生成伪随机数;
4.根据权利要求3所述的数据传输方法,其特征在于,所述数据节点获取所述线性反馈移位寄存器生成的伪随机数,包括:
5.根据权利要求1至4任一项所述的数据传输方法,其特征在于,所述总线为环形总线。
6.一种数据传输系统,其特征在于,所述数据传输系统包括总线以及与所述总线通信连接的多个数据节点;所述数据节点用于:
7.根据权利要求6所述的数据传输系统,其特征在于,所述数据节点用于:
8.根据权利要求7所述的数据传输系统,其特征在于,所述随机数生成单元包括线性反馈移位寄存器,所述线性反馈移位寄存器用于生成伪随机数;所述数据节点用于:
9.根据权利要求8所述的数据传输系统,其特征在于,所述数据节点还用于:
10.根据权利要求6至9任一项所述的数据传输系统,其特征在于,所述总线为环形总线。