H04L12/437
1.一种数据传输系统,其特征在于,所述数据传输系统包括多个通信模块,以及串联各个所述通信模块的环形线路;所述通信模块包括主通信模块和从通信模块;
所述主通信模块,用于获取所述从通信模块发送的目标传输任务对应的传输申请信息;根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况;若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则所述主通信模块向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务;
所述从通信模块,用于向所述主通信模块发送所述目标传输任务对应的所述传输申请信息;若接收到所述主通信模块根据所述传输申请信息返回的所述第一传输指示信息,则执行所述目标传输任务。
2.一种数据传输方法,其特征在于,应用于如权利要求1所述数据传输系统中的主通信模块,包括:
获取从通信模块发送的目标传输任务对应的传输申请信息;
根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述数据传输系统的环形线路中各个通信模块的占用情况;
若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务。
3.如权利要求2所述的数据传输方法,其特征在于,所述传输申请信息包括目标方向的信息,所述目标方向包括顺时针方向和逆时针方向,所述根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,包括:
根据所述目标方向的信息,获取与所述目标方向对应的目标环形线路的占用信息;
根据所述传输申请信息与所述目标环形线路的占用信息,确定所述目标传输任务对应的预估占用信息。
4.如权利要求2所述的数据传输方法,其特征在于,所述方法还包括:
若所述预估占用信息表示所述环形线路中各个所述通信模块均被占用,则向所述从通信模块发送第二传输指示信息,以指示所述从通信模块暂停所述目标传输任务。
5.如权利要求2所述的数据传输方法,其特征在于,在所述向所述从通信模块发送第一传输指示信息之后,还包括:
根据所述传输申请信息,更新所述预存的占用信息。
6.如权利要求5所述的数据传输方法,其特征在于,在所述根据所述传输申请信息,更新所述预存的占用信息之后,还包括:
获取所述从通信模块发送的所述目标传输任务对应的传输完成通知信息;
根据所述传输完成通知信息,更新所述预存的占用信息。
7.一种数据传输方法,其特征在于,应用于如权利要求1所述数据传输系统中的从通信模块,包括:
向主通信模块发送目标传输任务对应的传输申请信息;
若接收到所述主通信模块根据所述传输申请信息返回的第一传输指示信息,则执行所述目标传输任务。
8.如权利要求7所述的数据传输方法,其特征在于,所述方法还包括:
在所述目标传输任务执行完成后,向所述主通信模块发送所述目标传输任务对应的传输完成通知消息,以指示所述主通信模块更新预存的占用信息;其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况。
9.一种电子设备,其特征在于,所述电子设备包括如权利要求1所述的数据传输系统。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被数据传输系统的通信模块执行时,实现如权利要求2至6任一项所述方法的步骤,或者,实现如权利要求7-8任一项所述方法的步骤。
本申请属于计算机技术领域,尤其涉及一种数据传输系统、方法、电子设备及存储介质。
目前,在包含多个通信模块的数据传输系统中,通常是为每两个通信模块设置独立的物理线路以实现通信模块间的数据传输。然而,这种方案需要设置众多的物理线路,并且每个通信模块需要处理多个物理线路的数据传输任务,导致数据传输效率较低且成本较高。
有鉴于此,本申请实施例提供了数据传输系统、方法、电子设备及存储介质,以解决现有技术中如何提高数据传输效率的问题。
本申请实施例的第一方面提供了一种数据传输系统,所述数据传输系统包括多个通信模块,以及串联各个所述通信模块的环形线路;所述通信模块包括主通信模块和从通信模块;
所述主通信模块,用于获取所述从通信模块发送的目标传输任务对应的传输申请信息;根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况;若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则所述主通信模块向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务;
所述从通信模块,用于向所述主通信模块发送所述目标传输任务对应的所述传输申请信息;若接收到所述主通信模块根据所述传输申请信息返回的所述第一传输指示信息,则执行所述目标传输任务。
本申请实施例的第二方面提供了第一种数据传输方法,应用于如第一方面所述的数据传输系统中的主通信模块,包括:
获取从通信模块发送的目标传输任务对应的传输申请信息;
根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述数据传输系统的环形线路中各个通信模块的占用情况;
若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务。
本申请实施例的第三方面提供了第二种数据传输方法,应用于如第一方面所述的数据传输系统中的从通信模块,包括:
向主通信模块发送目标传输任务对应的传输申请信息;
若接收到所述主通信模块根据所述传输申请信息返回的第一传输指示信息,则执行所述目标传输任务。
本申请实施例的第四方面提供了一种电子设备,包括如第一方面所述的数据传输系统。
本申请实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被被数据传输系统的通信模块执行时,实现如第二方面或者第三方面所述的数据传输方法的步骤。
本申请实施例的第六方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第二方面或者第三方面中所述的数据传输方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,由于能够在包含多个通信模块的数据传输系统中,设置串联各个通信模块的环形线路,使得无需单独为每两个通信模块设置独立的物理线路,就能够高效地通过环形线路实现多通信模块间的数据传输;并且,从通信模块在需要执行目标传输任务时,先发送传输申请信息至主通信模块,使得主通信模块能够根据传输申请信息和预存的占用信息后,确定该目标传输任务对应的预估占用信息,并在确定该预估占用信息表示环形线路中存在未被占用的通信模块时,向从通信模块发送第一传输指示信息,指示从通信模块执行目标传输任务。通过主通信模块与从通信模块的交互,使得从通信模块在确定目标传输任务执行时环形线路中仍存在未被占用的通信模块,即不会造成数据环路的情况下,再执行该目标传输任务,因此能够避免造成数据环路,从而避免出现环路死锁的现象,提高数据传输效率。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的第一种数据传输系统的示意图;
图2是本申请实施例提供的第二种数据传输系统的示意图;
图3是本申请实施例提供的第一种数据传输方法的实现流程示意图;
图4是本申请实施例提供的一种传输申请信息的数据格式示意图;
图5是本申请实施例提供的第二种数据传输方法的实现流程示意图;
图6是本申请实施例提供的一种第一数据传输装置的示意图;
图7是本申请实施例提供的一种第二数据传输装置的示意图;
图8是本申请实施例提供的电子设备的示意图。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,在包含多个通信模块的数据传输系统中,通常是为每两个通信模块设置独立的物理线路以实现通信模块间的数据传输。然而,这种方案需要设置众多的物理线路,并且每个通信模块需要处理多个物理线路的数据传输任务,导致数据传输效率较低且成本较高。
为了解决上述的技术问题,本申请实施例提供了一种数据传输系统、方法、装置、电子设备及存储介质。其中,该数据传输系统包括多个通信模块,以及串联各个所述通信模块的环形线路;所述通信模块包括主通信模块和从通信模块;所述主通信模块,用于获取所述从通信模块发送的目标传输任务对应的传输申请信息;根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况;若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行目标传输任务;所述从通信模块,用于向所述主通信模块发送所述目标传输任务对应的所述传输申请信息;若接收到所述主通信模块根据所述传输申请信息返回的所述第一传输指示信息,则执行所述目标传输任务。
由于能够在包含多个通信模块的数据传输系统中,设置串联各个通信模块的环形线路,使得无需单独为每两个通信模块设置独立的物理线路,就能够高效地通过环形线路实现多通信模块间的数据传输;并且,从通信模块在需要执行目标传输任务时,先发送传输申请信息至主通信模块,使得主通信模块能够根据传输申请信息和预存的占用信息后,确定该目标传输任务对应的预估占用信息,并在确定该预估占用信息表示环形线路中存在未被占用的通信模块时,向从通信模块发送第一传输指示信息,指示从通信模块执行目标传输任务。通过主通信模块与从通信模块的交互,使得从通信模块在确定目标传输任务执行时环形线路中仍存在未被占用的通信模块,即不会造成数据环路的情况下,再执行该目标传输任务,因此能够避免造成数据环路,从而避免出现环路死锁的现象,提高数据传输效率。
实施例一:
图1示出了本申请实施例提供的一种数据传输系统的示意图。详述如下:
所述数据传输系统包括多个通信模块,以及串联各个所述通信模块的环形线路;所述通信模块包括主通信模块和从通信模块。
在一个实施例中,上述的数据传输系统为多芯片互联系统,通信模块为晶粒Die。Die指的是芯片未封装前的晶粒,是从硅晶元(Wafer)上用激光切割而成的小片(Die),每一个Die就是一个独立的功能芯片。在本申请实施例中,多个独立的功能芯片Die被封装为一个单位,从而得到多芯片互联系统。
本申请实施例中,该数据传输系统包括P0~P(n-1)共n个通信模块,其中n为大于或者等于3的正整数。示例性地,n可以等于8,即数据传输系统中可以包括P0~P7共8个通信模块。
在该数据传输系统中,还包括用于依次串联各个通信模块,使得各个通信模块之间形成首尾相连形式的环形线路。
在数据传输系统包含的各个通信模块中,包括至少一个主通信模块和多个从通信模块。其中,主通信模块为从各个通信模块中选出的用于确定数据传输系统中的传输任务能否在当前的环形线路中执行的通信模块。在一个实施例中该主通信模块具体为与各个其它通信模块的距离之和最短的通信模块,使得各个其它通信模块在作为从通信模块时,能够方便高效地通过较短的路径与主通信模块进行交互,以高效地实现数据传输。
所述主通信模块,用于执行以下的数据传输步骤,包括:
获取所述从通信模块发送的目标传输任务对应的传输申请信息;
根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况;
若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务。
所述从通信模块,用于执行以下的数据传输步骤,包括:
向所述主通信模块发送所述目标传输任务对应的所述传输申请信息;
若接收到所述主通信模块根据所述传输申请信息返回的所述第一传输指示信息,则执行所述目标传输任务。
上述主通信模块对应的各个数据传输步骤可以详见以下实施例二的相关描述,从通信模块对应的各个数据传输步骤可以详见以下实施例三的相关描述。
本申请实施例中,由于能够在包含多个通信模块的数据传输系统中,设置串联各个通信模块的环形线路,使得无需单独为每两个通信模块设置独立的物理线路,就能够高效地通过环形线路实现多通信模块间的数据传输;并且,从通信模块在需要执行目标传输任务时,先发送传输申请信息至主通信模块,使得主通信模块能够根据传输申请信息和预存的占用信息后,确定该目标传输任务对应的预估占用信息,并在确定该预估占用信息表示环形线路中存在未被占用的通信模块时,向从通信模块发送第一传输指示信息,指示从通信模块执行目标传输任务。通过主通信模块与从通信模块的交互,使得从通信模块在确定目标传输任务执行时环形线路中仍存在未被占用的通信模块,即不会造成数据环路的情况下,再执行该目标传输任务,因此能够避免造成数据环路,从而避免出现环路死锁的现象,提高数据传输效率。
可选地,本申请实施例的数据传输系统中的环形线路具体包括顺时针环形线路和逆时针环形线路这两条线路。该顺时针环形线路为数据传输方向为顺时针方向的环形线路,逆时针环形线路为数据传输方向为逆时针方向的环形线路,该顺时针环形线路与逆时针环形线路相互平行且方向相反。上述的n个通信模块通过顺时针环形线路和逆时针环形线路依次串联,使得每个通信模块都有分别对应不同时针方向的两个用于输出数据的出口和两个用于输入数据的入口,即任意两个通信模块之间均有两条不同方向的路径可以连通,提供了更多的数据传输路径,进一步提高数据传输系统的数据传输效率。
对应地,上述预存的占用信息包括顺时针环形线路对应的第一预存占用信息和逆时针环形线路对应的第二预存占用信息。从通信模块发送的目标传输任务对应的传输申请信息,携带了本次数据传输的传输方向(简称为目标方向)的信息。该目标方向可以为顺时针方向或者逆时针方向。当该目标方向为顺时针方向时,则根据该第一预存占用信息和传输申请信息,确定第一预估占用信息,在通过第一预估占用信息确定顺时针环形线路上存在未被占用的通信模块时,即确定在顺时针环形线路上不会构成数据环路时,则允许该从通信模块在顺时针方向上执行目标传输任务,向从通信模块发送第一传输指示信息。当目标方向为逆时针方向时,则根据该第二预存占用信息和传输申请信息,确定第二预估占用信息,在通过第二预估占用信息确定逆时针环形线路上存在未被占用的通信模块时,即确定在逆时针环形线路上不会构成数据环路时,则允许从通信模块在逆时针方向上执行目标传输任务,向从通信模块发送第一传输指示信息。
由于顺时针环形线路和逆时针环形线路为相互平行互不干扰的两条不同的环形线路,因此能够提供更多的线路资源进行数据传输,提高数据传输系统的数据传输效率;并且,可以根据当前的传输申请信息确定目标方向,从而获取对应的预存的占用信息,准确地确定在当前目标传输任务对应的顺时针环形线路或者逆时针环形线路是否构成数据环路,准确地避免环路死锁现象。
实施例二:
图3示出了本申请实施例提供的第一种数据传输方法的流程示意图,该数据传输方法应用于如实施例一所述的数据传输系统中的主通信模块,详述如下:
本申请实施例中,主通信模块为从数据传输系统的各个通信模块中选出的用于确定数据传输系统中的传输任务能否在当前的环形线路中执行的通信模块。在一个实施例中该主通信模块具体为与各个其它通信模块的距离之和最短的通信模块,使得各个其它通信模块在作为从通信模块时,能够方便高效地通过较短的路径与主通信模块进行交互,以高效地实现数据传输。
在S301中,获取从通信模块发送的目标传输任务对应的传输申请信息。
本申请实施例中的从通信模块为数据传输系统中,除该主通信模块以外的任意一个通信模块。当该从通信模块需要执行目标传输任务时,向主通信模块发送该目标传输任务对应的传输申请信息。主通信模块获取该传输申请信息。
在一个实施例中,该传输申请信息可以包括从通信模块的标识信息和该目标传输任务对应的目的通信模块的信息,该目的通信模块为除该从通信模块以外的至少一个其它通信模块,其为从通信模块当前所要传输的数据的目的地。通常,数据传输系统中的每个通信模块都存在对应的编号,作为一种可能的实现方式,该从通信模块的标识信息具体可以为该从通信模块的编号,该目的通信模块的信息可以为各个目的通信模块的编号。由于通常目的通信模块为与从通信模块紧邻的若干个通信模块,因此,该目的通信模块的信息也可以为目的通信模块的数量信息,根据该数量信息结合从通信模块的编号,可以确定各个目的通信模块的编号。例如,设当前的从通信模块为P1,其发送的传输申请信息可以包括从通信模块的编号“P1”和目的通信模块的数量信息“4”,则可以根据该传输申请信息,确定目的通信模块对应的编号为与P1紧邻的四个目的通信模块的编号P2~P5。
在S302中,根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述数据传输系统中的环形线路中各个通信模块的占用情况。
本申请实施例中,占用信息用于表示数据传输系统中的环形线路中各个通信模块的占用情况。对于一个通信模块,其占用情况包括已被占用或者未被占用两种状态,其中通信模块已被占用指的是该通信模块当前存在接收数据的任务,其数据缓存空间被占用。具体来说,对于一个通信模块,只要其需要接收其它通信模块发送的数据,则该通信模块为已被占用的状态;而若该通信模块只向其它通信模块发送数据,而不接收数据,或者该通信模块即不发送数据也不接收数据,则该通信模块为未被占用的状态。
预存的占用信息为主通信模块存储的当前环形线路中各个通信模块的占用情况;目标传输任务对应的预估占用信息用于表示在当前环形线路中各个通信模块的占用情况的前提下,加上目标传输任务所需占用的通信模块的信息,预估目标传输任务执行后该环形线路中各个通信模块的占用情况。
在一个实施例中,该预存的占用信息具体可以存储于主通信模块的寄存器DIE_USE中。
在获取到传输申请信息后,可以根据该传输申请信息,确定目标传输任务对应的申请占用信息use_req。之后,根据该申请占用信息use_req和从寄存器DIE_USE中读取的预存的占用信息use_save,可以确定当前该目标传输任务预估执行后的预估占用信息。
作为一种可能的实现方式,可以用二进制的包含n个数据位的独热编码one-hot表示数据传输系统中n个通信模块的占用情况,其中one-hot中按照数据位从低到高的顺序依次表示数据传输系统中编号从小到大的通信模块的占用情况,“1”表示已被占用,“0”表示未被占用。在确定申请占用信息use_req和预存的占用信息use_save后,可以将二者进行按位或运算,得到预估占用信息use_predict=use_req|use_save。其中,若该预估占用信息的每个数据位均为1,则确定若增加目标传输任务,当前的环形线路中每个通信模块均会被占用,形成数据环路。若该预估占用信息中存在至少一个为“0”的数据位,则确定即使增加目标传输任务,当前的环形线路中仍存在未被占用的通信模块,不会构成数据环路。
在S303中,若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行所述目标传输任务。
在确定预估占用信息后,若根据该预估占用信息确定增加目标传输任务后,该环形线路仍存在未被占用的通信模块时,例如上述的预估占用信息use_predict中存在至少一个为“0”的数据位时,确定即使增加目标传输任务,也不会构成数据环路,不会造成线路死锁。因此,此时可以向从通信模块发送第一传输指示信息,该第一传输指示信息为用于指示从通信模块执行目标传输任务的信息。示例性地,该第一传输指示信息可以通过值“1”来标识当前该从通信模块可以执行目标传输任务。
本申请实施例中,主通信模块能够根据传输申请信息和预存的占用信息后,确定该目标传输任务对应的预估占用信息,并在确定该预估占用信息表示环形线路中存在未被占用的通信模块时,向从通信模块发送第一传输指示信息,指示从通信模块执行目标传输任务,因此,能够通过主通信模块与从通信模块的交互,使得从通信模块在确定目标传输任务执行时环形线路中仍存在未被占用的通信模块,即不会造成数据环路的情况下,再执行该目标传输任务,从而能够避免造成数据环路,避免出现环路死锁的现象,提高数据传输效率。
可选地,所述传输申请信息包括目标方向的信息,所述目标方向包括顺时针方向和逆时针方向,所述根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,包括:
根据所述目标方向的信息,获取与所述目标方向对应的目标环形线路的占用信息;
根据所述传输申请信息与所述目标环形线路的占用信息,确定所述目标传输任务对应的预估占用信息。
本申请实施例中,主通信模块所在的数据传输系统中,环形线路具体包括顺时针环形线路和逆时针环形线路这两条线路。该顺时针环形线路为数据传输方向为顺时针方向的环形线路,逆时针环形线路为数据传输方向为逆时针方向的环形线路,该顺时针环形线路与逆时针环形线路相互平行且方向相反。对应地,主通信模块预存的占用信息包括:顺时针环形线路对应的第一预存占用信息和逆时针环形线路对应的第二预存占用信息。具体地,可以通过两个独立的寄存器DIE_USE1、DIE_USE2分别存储该第一预存占用信息、第二预存占用信息。
对应地,本申请实施例中的传输申请信息包括目标方向的信息,该目标方向的信息用于指示当前从通信模块申请的目标传输任务的数据传输流向为顺时针方向还是逆时针方向。具体地,该传输申请信息可以包括:申请者信息(即从通信模块的信息)、申请占用的通信模块数量、目标方向的信息这三个信息。
本申请实施例中,具体根据目标方向的信息,确定对应的目标环形线路,获取预存的与该目标环形线路的占用信息。示例性地,若该目标方向为顺时针方向,则确定目标环形线路为顺时针环形线路,通过读取寄存器DIE_USE1,获取第一预存占用信息use_save1作为该目标环形线路的占用信息。若该目标方向为逆时针方向,则确定目标环形线路为逆时针环形线路,通过读取寄存器DIE_USE2,获取第二预存占用信息use_save2作为该目标环形线路的占用信息。
在获取到目标环形线路的占用信息后,根据从传输申请信息中解析到的申请占用信息,以及该目标环形线路的占用信息,预估目标传输任务执行后数据传输系统中的各个通信模块的占用情况,得到目标传输任务对应的预估占用信息。
本申请实施例中,由于能够根据当前的传输申请信息确定目标方向,因此能够准确地获取对应的目标环形线路的占用信息,准确地确定在当前目标传输任务对应的目标环形线路是否构成数据环路,从而避免环路死锁现象。
可选地,所述方法还包括:
若所述预估占用信息表示所述环形线路中各个所述通信模块均被占用,则向所述从通信模块发送第二传输指示信息,以指示所述从通信模块暂停所述目标传输任务。
在确定预估占用信息后,若根据该预估占用信息确定增加目标传输任务后,该环形线路的所有通信模块均会被占用时,例如上述的预估占用信息use_predict中的各个数据位均为1时,则确定如果增加目标传输任务,会构成数据环路,从而造成线路死锁。因此,此时可以向从通信模块发送第二传输指示信息,该第二传输指示信息为用于指示从通信模块暂停执行目标传输任务的信息。示例性地,该第二传输指示信息可以通过值“0”来标识当前该从通信模块不能够执行目标传输任务。
本申请实施例中,由于在根据预估占用信息确定环形线路中各个通信模块均被占用时,能够通过第二传输指示信息,及时地指示从通信模块暂停目标传输任务,从而能够避免出现数据环路,避免线路死锁而影响数据传输系统其它通信模块的数据传输。
可选地,在所述向所述从通信模块发送第一传输指示信息之后,还包括:
根据所述传输申请信息,更新所述预存的占用信息。
本申请实施例中,在向从通信模块发送第一传输指示信息之后,从通信模块执行目标传输任务,对数据传输系统中的目的通信模块进行占用,因此数据传输系统中通信模块的占用情况发生变化,需要更新主通信模块预存的占用信息。
在一个实施例中,根据该传输申请信息,可以确定该从通信模块的申请占用信息use_req;以及,可以从主通信模块的寄存器中读取执行目标传输任务前预存的占用信息use_save。将该申请占用信息use_req和预存的占用信息use_save进行按位或运算,得到新的占用信息进行保存,从而实现预存的占用信息的更新。示例性地,use_req=use_save|use_save。
本申请实施例中,由于在发送第一传输指示信息,指示从通信模块执行目标传输任务后,能够根据该传输申请信息,及时地更新预存的占用信息,因此能够及时地更新记录数据传输系统的通信模块占用情况,保证后续在接收到新的传输申请信息时能够准确地确定新的预估占用情况,以及时地避免出现数据环路,提高数据传输效率。
可选地,在所述根据所述传输申请信息,更新所述预存的占用信息之后,还包括:
获取所述从通信模块发送的所述目标传输任务对应的传输完成通知信息;
根据所述传输完成通知信息,更新所述预存的占用信息。
本申请实施例中,传输完成通知消息为从通信模块根据第一传输指示信息,完成目标传输任务之后,向主通信模块发送的反馈信息。
在根据传输申请信息更新预存的占用信息后,当接收到从通信模块发送的该目标传输任务对应的传输完成通知消息,说明当前的目标传输任务已完成,解除对数据传输系统中通信模块的占用,此时需要相应地再次更新预存的占用信息。具体地,该传输完成通知消息同样可以携带从通信模块的信息和目的通信模块的信息,主通信模块在接收到该传输完成通知消息后,从预存的占用信息中删除目标传输任务对应的占用信息,从而得到更新后的预存的占用信息。
可选地,所述预存的占用信息包括各个通信模块的占用状态和占用次数,该占用状态包括已被占用状态和未被占用状态。可以通过预设的一个寄存器DIE_USE存储各个通信模块的占用状态,并为每个通信模块设置一个对应的累加器Count,该累加器用于存储该通信模块的被占用次数。
对应地,上述的根据所述传输完成通知消息,更新所述目标环形线路的已占用信息,包括:
根据所述传输完成通知消息,确定已完成的所述目标传输任务占用的各个目标通信模块的编号;
根据所述目标传输任务占用的各个目标通信模块的编号,将所述已占用信息中所述目标通信模块对应的占用次数减1;
将减1后所述占用次数等于0的通信模块的占用状态更新为所述未被占用状态。
本申请实施例中,由于能够接收从通信模块发送的传输完成通知消息,并根据该传输完成通知消息进一步更新预存的占用信息,因此能够及时地更新记录数据传输系统的通信模块占用情况,保证后续在接收到新的传输申请信息时能够准确地确定新的预估占用情况,以及时地避免出现数据环路,提高数据传输效率。
作为示例而非限定,以下以包括P0~P7共8个通信模块,并且包括顺时针环形线路和逆时针环形线路这两条环形线路的数据传输系统作为示例,对上述的数据传输方法进行描述:
主通信模块通过两个独立的寄存器DIE_USE1、DIE_USE2分别存储顺时针环形线路上的通信模块占用信息use_save1、逆时针环形线路上的通信模块占用信息use_save2。占用信息可以用上述的二进制one-hot表示,从低到高的顺序依次表示数据传输系统中编号从小到大的通信模块的占用情况,“1”表示已被占用,“0”表示未被占用。例如use_save1=00001111表示在顺时针环形线路上,通信模块P0~P3已被占用,P4~P7未被占用。
本申请实施例的传输申请信息可以通过如图4所示的7位二进制格式的数据来表示。其中,该传输申请信息的最高的一个比特(bit)位(简称为方向位)用于存储目标方向的信息,该方向位通过二进制的值“1”表示顺时针方向,通过二进制的值“0”表示逆时针方向。该方向位之后的3比特数据位用于存储当前申请的目标传输任务的数据流所需占用的通信模块的数量,将这三比特数据位简称为数量位。该数据的最低3比特数据位(简称为起点位)用于存储当前该目标传输任务的数据流的起始通信模块的编号,即目标传输任务的申请者(从通信模块)的编号。例如,设当前的从通信模块为P1,目标方向为顺时针方向,目的通信模块为P2~P5,即需要连续占用P1之后的4个通信模块,则对应的该传输申请信息为:1 100001。根据该传输申请信息,可以确定从通信模块所申请占用的通信模块包括P2~P5,则其对应的申请占用信息use_req为:00111100。
由于目标方向为顺时针方向,因此可以获取上述顺时针环形线路预存的占用信息use_save1,之后,将use_req和use_save1进行按位或运算,得到对应的预估占用信息use_predict=use_save1|use_req=00001111|00111100=00111111。由于预估占用信息use_predict不等于“11111111”,说明即使增加目标传输任务,也不会构成数据环路,不会造成线路死锁。因此,此时可以向从通信模块发送携带标识“1”的第一传输指示信息,指示从通信模块执行目标传输任务。
实施例三:
图5示出了本申请实施例提供的第二种数据传输方法的流程示意图,该数据传输方法应用于如实施例一所述的数据传输系统中的从通信模块,详述如下:
在S501中,向主通信模块发送目标传输任务对应的传输申请信息。
本申请实施例的步骤S501与实施例二中的步骤S301相对应,当从通信模块需要执行目标传输任务时,向主通信模块发送该目标传输任务对应的传输申请信息。
在一个实施例中,该传输申请信息可以包括从通信模块的标识信息和该目标传输任务对应的目的通信模块的信息。
在一个实施例中,该传输申请信息还可以包括目标方向的信息。
在S502中,若接收到所述主通信模块根据所述传输申请信息返回的第一传输指示信息,则执行所述目标传输任务。
本申请实施例的步骤S502与实施例二中的步骤S303相对应,该第一传输指示信息的含义与实施例二中的含义一致。从通信模块在接收到该第一传输指示信息时,确定当前不会造成数据环路,执行目标传输任务。在一个实施例中,该目标传输任务包括:通过目标方向对应的目标环形线路(顺时针环形线路或者逆时针环形线路),沿着目标方向将从通信模块的数据依次传递至各个目的通信模块,从而实现从通信模块的数据广播。
本申请实施例中,由于从通信模块在需要执行目标传输任务时,先发送传输申请信息至主通信模块,使得从通信模块在接收到第一传输指示信息时再执行目标传输任务,因此能够避免造成数据环路,从而避免出现环路死锁的现象,提高数据传输效率。
可选地,所述方法还包括:
若接收到所述主通信模块根据所述传输申请信息返回的第二传输指示信息,则暂停执行所述目标传输任务。
可选地,所述方法还包括:
在所述目标传输任务执行完成后,向所述主通信模块发送所述目标传输任务对应的传输完成通知消息,以指示所述主通信模块更新预存的占用信息;其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况。
本申请实施例中,从通信模块根据第一传输指示信息执行目标传输任务,并在目标传输任务执行完成后,向该主通信模块发送对应的传输完成通知消息。该传输完成通知消息可以包括从通信模块的信息和目标通信模块的信息,从而使得主通信模块可以根据该传输完成通知消息,及时地更新主通信模块预存的占用信息,及时地更新记录数据传输系统的通信模块占用情况,保证后续在接收到新的传输申请信息时能够准确地确定新的预估占用情况,以及时地避免出现数据环路,提高数据传输效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例四:
图6示出了本申请实施例提供的一种第一数据传输装置的结构示意图,该第一数据传输装置应用于上述的主通信模块,为了便于说明,仅示出了与本申请实施例相关的部分:
该第一数据传输装置包括:传输申请信息获取单元61、预估占用信息确定单元62和第一传输指示信息发送单元63:
传输申请信息获取单元61,用于获取从通信模块发送的目标传输任务对应的传输申请信息;
预估占用信息确定单元62,用于根据所述传输申请信息与预存的占用信息,确定所述目标传输任务对应的预估占用信息,其中,所述占用信息用于表示所述数据传输系统的环形线路中各个通信模块的占用情况;
第一传输指示信息发送单元63,用于若所述预估占用信息表示所述环形线路存在未被占用的通信模块,则向所述从通信模块发送第一传输指示信息,以指示所述从通信模块执行目标传输任务。
可选地,所述传输申请信息包括目标方向的信息,所述目标方向包括顺时针方向和逆时针方向,所述预估占用信息确定单元62,具体用于根据所述目标方向的信息,获取与所述目标方向对应的目标环形线路的占用信息;根据所述传输申请信息与所述目标环形线路的占用信息,确定所述目标传输任务对应的预估占用信息。
可选地,所述第一数据传输装置还包括:
第二传输指示信息发送单元,用于若所述预估占用信息表示所述环形线路中各个所述通信模块均被占用,则向所述从通信模块发送第二传输指示信息,以指示所述从通信模块暂停所述目标传输任务。
可选地,所述第一数据传输装置还包括:
第一更新单元,用于根据所述传输申请信息,更新所述预存的占用信息。
可选地,所述第一数据传输装置还包括:
第二更新单元,用于获取所述从通信模块发送的所述目标传输任务对应的传输完成通知信息;根据所述传输完成通知信息,更新所述预存的占用信息。
图7示出了本申请实施例提供的一种第二数据传输装置的结构示意图,该第二数据传输装置应用于上述的从通信模块,为了便于说明,仅示出了与本申请实施例相关的部分:
该第二数据传输装置包括:传输申请信息发送单元71和目标传输任务执行单元72:
传输申请信息发送单元71,用于向主通信模块发送目标传输任务对应的传输申请信息;
目标传输任务执行单元72,用于若接收到所述主通信模块根据所述传输申请信息返回的第一传输指示信息,则执行所述目标传输任务。
可选地,所述第二数据传输装置,还包括:
传输完成通知消息发送单元,用于在所述目标传输任务执行完成后,向所述主通信模块发送所述目标传输任务对应的传输完成通知消息,以指示所述主通信模块更新预存的占用信息;其中,所述占用信息用于表示所述环形线路中各个通信模块的占用情况。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例五:
图8是本申请一实施例提供的电子设备的示意图。如图8所示,该实施例的电子设备8包括:数据传输系统80、存储器81以及存储在所述存储器81中并可在所述数据传输系统80的通信模块上运行的计算机程序82,例如数据传输程序。所述通信模块执行所述计算机程序82时实现上述各个数据传输方法实施例中的步骤,例如图3所示的步骤S301至S303,或如图5所示的步骤S501至S502。或者,所述数据传输系统80的通信模块执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图6所示传输申请信息获取单元61至预估占用信息确定单元62的功能,或者例如图7所示传输申请信息发送单元至目标传输任务执行单元72的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述电子设备8中的执行过程。
所述电子设备8可以是桌上型计算机、笔记本、掌上电脑等计算设备。所述电子设备可包括,但不仅限于,数据传输系统80、存储器81。本领域技术人员可以理解,图8仅仅是电子设备8的示例,并不构成对电子设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称数据传输系统80中包括的通信模块,可以为芯片模块,该芯片模块为独立的处理单元,或者也可以为数据传输系统中的多个芯片模块封装成为一个整体的处理单元。
所述存储器81可以是所述电子设备8的内部存储单元,例如电子设备8的硬盘或内存。所述存储器81也可以是所述电子设备8的外部存储设备,例如所述电子设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述电子设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
本文发布于:2023-04-13 19:59:01,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |