基于优先级的动态带宽分配方法、电子设备及存储器
文献发布时间:2023-06-19 11:45:49
技术领域
本申请属于工业通信领域,特别涉及一种高速工业通信系统的基于优先级的动态带宽分配方法、电子设备及存储器。
背景技术
在现有的工业总线通信中,往往存在冲突的可能性。本申请的发明人发现,为了避免潜在冲突可能,往往需要引入仲裁机制而牺牲通信效率,从而导致了现有的工业总线的通信效率和实时性不高。
现有的工业总线通信实时性不高,一般通过软件在主站发送同步帧来对总线进行时间上的同步。这种方式的实时性不高。因此本申请的发明人提出了一种新的通信系统——两线网络。两线网络天然就具备实时的特点,实现了可靠的实时数据传输。
本申请的发明人还发现,在在两线网络中,个别终端节点有时需要临时增加通信资源,用于发送通信信息。由此则衍生出通信资源的动态带宽分配问题。
发明内容
本申请旨在提供一种高速工业通信系统的基于优先级的动态带宽分配方法。
本申请的一个实施例提供了一种高速工业通信系统的基于优先级的动态带宽分配方法,包括:根据至少一个终端节点的至少一个条动态带宽申请信息,确定所述至少一个终端节点的优先级;根据所述优先级向所述至少一个终端节点中的至少一个终端节点分配动态带宽;发送带宽分配信息。
本申请的另一实施例还提供了一种电子设备,包括:存储器和处理器以及存储于所述存储器中的所述处理器可执行的程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
本申请的另一实施例还提供了一种存储器,存储处理器可执行程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
通过上述方法、以及电子设备或存储器,利用通信系统中的终端节点发送动态带宽请求,而通信系统中的控制节点响应该请求,并为其分配动态带宽的方式,为该节点分配了临时通信资源。该终端节点可以利用分配到的动态带宽发送临时信息。通过对该至少一个终端节点的优先级排序,并根据优先级次序分配动态带宽,效率较高地解决了在动态资源分配时的冲突问题。
附图说明
图1示出了本申请的一个实施例高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
图2示出了本申请的一个实施例高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
图3示出了本申请的一个实施例高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
图4示出了本申请的一个实施例高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
图5示出了一种通信系统的案例两线网络的组成示意图。
具体实施方式
以下是通过特定的具体实施例来说明本发明所公开有关“一种高速工业通信系统的基于优先级的动态带宽分配方法、电子设备及存储器”的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
为了便于更好的理解本技术方案,下面先解释本申请实施例所涉及的技术术语。
图5示出了一种通信系统的案例两线网络的组成示意图。本申请所公开的方法主要应用于两线网络。
如图5所示两线网络5000是一种利用分时方式进行总线资源调度的高速工业通信系统。两线网络5000可以包括一个控制节点502和多个终端节点503以及通信总线501。其中:
通信总线501为一种时分多路的通信总线。通信总线501可以是一种基于有线通信的通信总线也可以是一种基于无线通信的通信总线。基于有线通信的通信总线501的物理层连接可以是一对双绞线,也可以是并行的多对双绞线,或者其他类型的物理连接。
控制节点(Control Node,CN)502,与通信总线501连接,并通过通信总线501与每个终端节点503通信连接。两线网络5000中包含一个控制节点502。控制节点502负责整个网络的配置和管理工作,包括对终端节点503之间通信进行带宽分配工作。
终端节点(Terminal Node,TN)503,两线网络5000可以包括若干个终端节点503。终端节点503使用获得的带宽资源进行信息交换,来完成特定的任务。
时间槽(TimeSlot),两线网络中的基本时间片单元,可以用作带宽资源以及帧的长度单位。
帧(Frame),两线网络中的一种通信周期,可以由多个时间槽(TimeSlot)构成。比如,一个帧(Frame)可以通过64个时间槽(TimeSlot)构成。在一个两线网络中,每个帧(Frame)所包含的时间槽(TimeSlot)的数量可以是固定的。在两线网络中,终端节点503可以在每个帧(Frame)内,根据所分配的时间槽(TimeSlot)进行通信。
超级帧(Super-Frame)、两线网络的一种通信周期,由多个帧(Frame)构成。比如,一个超级帧(Super-Frame)可以通过256个帧(Frame)构成。在一个两线网络中,每个超级帧(Super-Frame)所包含的帧(Frame)的数量可以是固定的。终端节点503可以周期性的在超级帧(Super-Frame)中的每个帧(Frame)内,根据所分配的时间槽(TimeSlot)进行通信。超级帧(Super-Frame)中的每个帧(Frame)的时间槽(TimeSlot)分配可以相同,也可以各不相同。
带宽,每个帧(Frame)内的时间槽(TimeSlot)资源。
预留带宽,用于通信的相对稳定的带宽资源,一般来说终端节点503或者控制节点502可以利用获得的预留带宽在一个帧(Frame)或者一个超级帧(Super-Frame)内,周期性地发送通信信息。
动态带宽,用于通信的临时带宽资源。动态带宽资源一般为一次性使用的带宽资源。
为了解决背景技术所存在的问题,本申请的一个实施例提供了一种高速工业通信系统的基于优先级的动态带宽分配方法,包括:根据至少一个终端节点的至少一个条动态带宽申请信息,确定所述至少一个终端节点的优先级;根据所述优先级向所述至少一个终端节点中的至少一个终端节点分配动态带宽;发送带宽分配信息。
本申请的另一实施例还提供了一种电子设备,包括:存储器和处理器以及存储于所述存储器中的所述处理器可执行的程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
本申请的另一实施例还提供了一种存储器,存储处理器可执行程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
通过上述方法、以及电子设备或存储器,利用通信系统中的终端节点发送动态带宽请求,而通信系统中的控制节点响应该请求,并为其分配动态带宽的方式,为该节点分配了临时通信资源。该终端节点可以利用分配到的动态带宽发送临时信息。通过对该至少一个终端节点的优先级排序,并根据优先级次序分配动态带宽,效率较高地解决了在动态资源分配时的冲突问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1示出了本申请的一个实施例高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
如图1所示,方法1000可以用于,为至少一个终端节点分配动态带宽资源。该动态带宽资源可以在当前帧内有终端节点主动申请,并可以在下一个帧内用作临时性地发送通信信息。方法1000可以包括:步骤S110、步骤S120和步骤S130,其中:
在S110中,可以在一个帧(Frame)内,可以由至少一个终端节点中的每个终端节点分别利用预先获得的预留带宽,向控制节点CN发送动态带宽申请信息。控制节点CN可以分别接收由该至少一个终端节点中的每个终端节点发送的动态带宽申请信息。可以在下一帧(Frame)开始之前,确定发送了动态带宽申请信息的每个终端节点的优先级。
在S120中,控制节点CN根据步骤S110中确定的优先级,按照优先级从高到低的顺序,对在步骤S110中发送了动态带宽申请信息的至少一个终端节点,逐一分配动态带宽。
在S130中,发送动态带宽分配信息,把动态带宽分配结果发送给终端节点TN。其中,可选地,步骤S130可以是点对点地向被分配动态带宽的终端节点,发送动态带宽分配信息;也可以是向通信系统的所有节点广播动态带宽分配信息;还可以是既点对点发送动态带宽分配信息,又广播发送动态带宽分配信息。
可选地,步骤S130可以利用下一帧(Frame)的第一个时间槽(TimeSlot)发送动态带宽分配信息。
如图1所示,可选地,步骤S110中的动态带宽申请信息可以包括:终端节点业务类型、带宽实时性和带宽长度中的至少一项。步骤S110中的确定终端节点TN的优先级,可以包括:根据终端节点业务类型、带宽实时性和带宽长度中的至少一项确定终端节点TN的节点的优先级。其中,终端节点业务类型表示在总线上传输的数据类型,比如CAN、以太网、485等,每种数据类型下又区分不同业务,比如上报状态信息,查询信息,报警信息等。带宽实时性表示对在这段带宽上发送的数据有时间要求,如果对数据传输有时间要求的话,那么对分配的时间也就会有一定要求。
进一步地,上述优先级的判断顺序可以依次是业务类型,然后是带宽实时性,最后是带宽长度,而且带宽大的优先级高或者带宽小的优先级高根据具体情况决定。
可选地,方法1000也可以包括以下步骤:控制节点根据自身需要,在剩余带宽中确定待分配带宽,并分配给自身。
可选地,方法1000还可以包括,在下一帧结束之前,回收已分配的动态带宽。以及可以包括,在收回收已分配的动态带宽之后,进行下一帧的动态带宽分配,该动态带宽可以在更下一帧内用作临时性地通信。
图2示出了本申请的另一实施例,高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
如图2所示,方法2000可以包括:S210、S220、S230、S240、S250和S270。其中:
其中,步骤S210和步骤S270中分别与方法1000中的S110和S130相同,不再赘述
在S220中,建立当前帧的动态带宽申请队列,把在步骤S210中发送动态带宽申请信息的终端节点,按照优先级从高到底的顺序,依次存入该申请队列中。
在S230中,从申请队列中提取第一个终端节点TN1,即申请队列中优先级最高的终端节点。
在S240中,根据终端节点TN1发送的动态带宽申请信息,在剩余带宽资源中确定待分配带宽。其中,剩余带宽资源可以是通信系统中的总带宽除去预留带宽剩下的带宽资源。
在S250中,把在S240中确定的待分配带宽分配给终端节点TN1。
如图2所示,可选地,方法2000还可以包括:S260和S265。其中:
在S260中,把终端节点TN1从申请队列中剔除。
在S265中,判断申请队列是否为空;如果是,则进入S270,发布已经完成的动态带宽分配;如果否,则执行S230开始的步骤,为下一个终端节点分配动态带宽。
如图2所示,进一步地,S240可以包括:在剩余带宽资源中选择适合终端节点TN1的带宽资源。
更进一步地,动态带宽申请信息中可以包含带宽长度,其中带宽长度为终端节点所请求的带宽的长度,该长度以时间槽(TimeSlot)为单位。相应地,在S240中,在剩余带宽资源中确定待分配带宽,可以是:根据终端节点TN1发送的动态带宽申请信息中的带宽长度,在剩余带宽资源中选择长度不小于带宽长度的连续时间槽(TimeSlot)作为待分配动态带宽。
图3示出了本申请的另一实施例,高速工业通信系统的基于优先级的动态带宽分配方法的流程示意图。
如图3所示,方法3000可以包括:S335、S340、S350、S355和S360。
其中,
S340-S360分别与方法2000中的S240-S260相同,不再赘述。
在S335中,判断剩余带宽中是否存在适合终端节点TN1的带宽资源;如果是,则执行S340开始的步骤,为终端节点TN1分配动态带宽;如果否则跳过S340和S350进入S355,放弃在当前帧内为终端节点TN1分配动态带宽,即终端节点TN1将无法在下一帧内利用的动态带宽通信。同时开始为下一个终端节点分配动态带宽。
如图3所示,可选地,S335中的,判断剩余带宽中是否存在适合终端节点TN1的带宽资源,可以换成是:根据终端节点TN1发送的动态带宽申请信息中的带宽长度,判断在剩余带宽资源中,是否存在长度不小于该带宽长度的连续时间槽(TimeSlot)。
图4示出了本申请的另一实施例,高速工业通信系统的基于优先级的动态带宽分配方法的局部流程示意图。
如图4所示,方法4000可以包括:S435、S438、S450和S460。其中:
S460与方法3000中的S360相同,不再赘述。
在S435中,判断在剩余带宽资源中,是否存在适合终端节点TN1的动态带宽资源;如果否则进入S450,执行终端节点TN1在当前帧内的动态带宽分配失败的处理程序;如果是,则进入步骤S438。
在S438中,从剩余带宽资源中选择适合终端节点TN1的带宽资源,作为动态带宽资源分配给终端节点TN1。S438可以与方法3000中的S340和S350的组合类似,在此不做赘述。
在S450中,可以把终端节点TN1存入下一帧的申请序列中,并在再下一帧开始之前,利用前述任意一种方法,为包括终端节点TN1在内的至少一个终端节点分配动态带宽。
可选地,动态带宽申请信息中还可以包含分配周期。其中,每个终端节点可以在动态带宽申请信息中,请求控制节点CN在当前帧之后的一定数量帧内,予以分配动态带宽。该一定数量即分配周期。
进一步地,把终端节点TN1存入下一帧的申请序列中之前,S450还可以包括,判断终端节点TN1所发送的动态带宽申请信息中的分配周期是否大于1。可选地,如果判断结果为否,则可以进入S460,终端TN1的不再参与下一帧的动态带宽分配;如果判断结果为是,则可以把终端节点TN1存入下一帧的申请序列中,令终端节点TN1参与下一帧的动态带宽分配。
更进一步地,在该判断步骤之后,S450还可以包括:把终端节点TN1的分配周期减去1,作为终端节点TN1的新分配周期,在下一帧的动态带宽申请中使用。
可选地,在把终端节点TN1存入下一帧的申请序列中之前,也可以先把分配周期减去1作为新的分配周期,再判断新的分配周期是否大于0。如果判断结果为是,则可以把终端节点TN1存入下一帧的申请序列中;如果判断结果为否,则可以进入S460。
或者,也可以用其他的迭代出口判定方式,在此不做一一列举。
本申请还提供了一个实施例,一种电子设备,包括:存储器和处理器以及存储于所述存储器中的所述处理器可执行的程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
以及本申请还提供了一个实施例,一种存储器,存储处理器可执行程序,当所述程序被执行时,所述处理器执行前述任意一种方法。
通过上述方法、以及电子设备或存储器,利用通信系统中的终端节点发送动态带宽请求,而通信系统中的控制节点响应该请求,并为其分配动态带宽的方式,为该节点分配了临时通信资源。该终端节点可以利用分配到的动态带宽发送临时信息。通过对该至少一个终端节点的优先级排序,并根据优先级次序分配动态带宽,效率较高地解决了在动态资源分配时的冲突问题。
本领域技术人员可以理解,本申请的技术方案可实施为系统、方法或计算机程序产品。因此,本申请可表现为完全硬件的实施例、完全软件的实施例(包括固件、常驻软件、微码等)或将软件和硬件相结合的实施例的形式,它们一般可被称为“电路”、“模块”或“系统”。此外,本申请可表现为计算机程序产品的形式,所述计算机程序产品嵌入到任何有形的表达介质中,所述有形的表达介质具有嵌入到所述介质中的计算机可用程序代码。
参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本申请。可以理解的是,可由计算机程序指令执行流程图和/或框图中的每个框、以及流程图和/或框图中的多个框的组合。这些计算机程序指令可提供给通用目的计算机、专用目的计算机或其它可编程数据处理装置的处理器,以使通过计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个框或多个框中指明的功能/动作的装置。
这些计算机程序指令还可存储于能够指导计算机或其它可编程数据处理装置以特定的方式实现功能的计算机可读介质中,以使存储于计算机可读介质中的指令产生包括实现流程图和/或框图中的一个框或多个框中指明的功能/动作的指令装置。
计算机程序指令还可加载到计算机或其它可编程数据处理装置上,以引起在计算机上或其它可编程装置上执行一连串的操作步骤,以产生计算机实现的过程,从而使在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个框或多个框中指明的功能/动作的过程。
附图中的流程图和框图示出根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可表示一个模块、区段或代码的一部分,其包括一个或多个用于实现特定逻辑功能的可执行指令。还应注意,在一些可替代性实施中,框中标注的功能可以不按照附图中标注的顺序发生。例如,根据所涉及的功能性,连续示出的两个框实际上可大致同时地执行,或者这些框有时以相反的顺序执行。还可注意到,可由执行特定功能或动作的专用目的的基于硬件的系统、或专用目的硬件与计算机指令的组合来实现框图和/或流程图示图中的每个框、以及框图和/或流程图示图中的多个框的组合。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。
- 基于优先级的动态带宽分配方法、电子设备及存储器
- 一种基于表型的基因优先级排序方法和电子设备