CN106502936A - 一种多主总线的冲突避让方法及节点设备 - Google Patents
一种多主总线的冲突避让方法及节点设备 Download PDFInfo
- Publication number
- CN106502936A CN106502936A CN201610958115.0A CN201610958115A CN106502936A CN 106502936 A CN106502936 A CN 106502936A CN 201610958115 A CN201610958115 A CN 201610958115A CN 106502936 A CN106502936 A CN 106502936A
- Authority
- CN
- China
- Prior art keywords
- time
- transmit
- predetermined amount
- bus
- little
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
Abstract
本发明的实施例提供一种多主总线的冲突避让方法及节点设备,涉及计算机技术领域,以解决现有的多主总线的发信冲突问题。该方法包括:第一节点设备确定该第一节点设备连接的总线的当前运行状态;若该第一节点设备确定总线的当前运行状态为空闲状态,且获取到发信任务时,则该第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信,第一预定时间段包括至少两个发信点。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多主总线的冲突避让方法及节点设备。
背景技术
为了提高多主总线的利用效率,现有的多主总线系统通常使用多主方式来分配多主总线的使用权,即该多主总线系统中与多主总线相连的节点设备均具备该多主总线的使用权,这样,使得每个节点设备在有发信任务时,均可直接主动向总线发信。
在多主总线系统中,与多主总线相连的每个节点设备都可以主动向多主总线发信,使得每个设备都有机会实时发送和获取数据;但是由于与多主总线相连的设备在接收到发信任务时,会立即通过多主总线向对应设备发信。假设此时存在其他节点设备通过该多主总线向对应节点设备发信,由于多主总线上同一时间点只能传输一组数据,使得该多主总线在同时处理多个节点设备的发信数据时容易出现数据传输紊乱,从而导致节点设备间的发信冲突,进而使得这些节点设备无法正常的将发信数据传输至对应节点设备,降低多主总线系统的通信效率,从而使得该系统的信道利用率降低,甚至出现总线拥堵,使得整个系统无法正常运行。
因此,如何解决与多主总线连接的节点设备的发信冲突成为目前亟待解决的问题。
发明内容
本发明的实施例提供一种多主总线的冲突避让方法及节点设备,以解决现有的与多主总线连接的节点设备的发信冲突问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种多主总线的冲突避让方法,包括:
第一节点设备确定所述第一节点设备连接的总线的当前运行状态;
若所述第一节点设备确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信,所述第一预定时间段包括至少两个发信点。
第二方面,提供一种节点设备,包括:
确定模块,用于确定所述第一节点设备连接的总线的当前运行状态;
选择模块,用于若所述确定模块确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述选择模块从当前时间点之后的第一预定时间段内选择一个目标发信点发信,所述第一预定时间段包括至少两个发信点。
本发明实施例提供的多主总线的冲突避让方法及节点设备,通过节点设备确定节点设备连接的总线的当前运行状态,使得节点设备可以确定总线当前是否进行数据传输,若节点设备确定总线的当前运行状态为空闲状态,则节点设备确定总线当前没有进行数据传输,且节点设备在获取到发信任务时,从当前时间点之后的预定时间段内选择一个目标发信点发信,由于节点设备从预定时间段内的多个发信点中,随机选取一个目标发信点进行发信,而多个节点设备同时选择同一个发信点发信的概率较低,从而能够有效降低多主总线发信冲突的概率,解决多主总线的发信冲突问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多主总线系统的系统架构示意图;
图2为本发明实施例提供的一种多主总线的冲突避让方法的流程示意图;
图3为本发明实施例提供的一种不同场景下的多主总线的冲突避让处理方法示意图;
图4为本发明实施例提供的一种节点设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的多主总线的冲突避让方法应用于多主总线系统,该多主总线系统是指,有多个节点设备(又称通讯节点)通过现场总线连接运行,并且各节点设备无主次之分,都可以主动发信的系统。如图1所示,该多主总线系统1包括多个节点设备11(如图1中的节点设备1、节点设备2、……、节点设备N)和至少一个条总线(如图1中的总线12,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线),每条总线与至少一个节点设备连接。示例性的,上述的节点设备包括但不限于:服务器、物理主机等,而本发明实施例中的总线可以是家庭总线系统(Home Bus System,HBS)、RS-485总线等。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本发明的实施例提供一种多主总线的冲突避让方法,如图2所示,该方法具体包括如下步骤:
201、第一节点设备确定第一节点设备连接的总线的当前运行状态。
示例性的,本发明实施例中的第一节点设备为与总线相连的至少一个节点设备中的任一节点设备(即图1中的任一节点设备)。本发明实施例中的总线的当前运行状态包括忙碌状态和空闲状态;具体的,当总线的当前运行状态为忙碌状态,则说明该总线当前与挂在该总线上的节点设备进行数据通讯,处于工作状态,当总线的当前运行状态为空闲状态,则说明该总线当前与挂在该总线上的节点设备未进行数据通讯,处于空闲态。
示例性的,第一节点设备可以通过实时监测通讯接收端口的电平变化情况来确定第一节点设备连接的总线的当前运行状态。具体的,若第一节点设备检测到该第一节点设备的通讯接收端口的电平变化,即总线上有通讯数据,则确定第一节点设备连接的总线的当前运行状态为忙碌状态;若第一节点设备检测到该第一节点设备的通讯接收端口的电平在预定时间段T1内未发生变化,则确定第一节点设备连接的总线的当前运行状态为空闲状态。
此外,由于总线接触不良等也可以引起通讯接收端口的电平变化,从而容易导致总线的当前运行状态的误判。因此,为了防止总线的当前运行状态的误判,则当该第一节点设备检测到该第一节点设备的通讯接收端口的电平变化,且该电平变化后维持预定时间段T2,确定该总线的当前运行状态为忙碌状态。
需要说明的是,本发明实施例中的与总线连接的节点设备只有在确定该总线的当前运行状态为空闲状态时才会发信。这样,在节点设备发信之前对该节点设备连接的总线的当前工作状态进行判定,这样当多台节点设备同时发信时,只要有极短的时间差,最先开始发信的节点设备就能被其他节点设备检测到,其他节点设备就会延后发信,从而避免冲突。除非有多台设备恰好在同一时刻开始发信,才会产生冲突。当然,这种情况出现的概率很低。(注:发信不冲突的最小时间差,即通讯信号从最先发信的设备传播到其他设备所需要的时间,根据节点设备间的通讯线缆长度÷通讯信号传播速度(光速级别)计算,一般在零点几微秒到几微秒之间)。
202、若第一节点设备确定总线的当前运行状态为空闲状态,且获取到发信任务时,则第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信。
其中,上述的第一预定时间段包括至少两个发信点。
示例性的,上述的第一预定时间段是由至少两个时长相同的发信点组成。每个发信点对应的时间段的时长以及发信点的个数可以按照实际应用场景灵活设置。示例的,可以按照该第一节点设备所连接的总线上连接的节点设备个数来定,通常,该第一预定时间段中发信点的个数是随着该第一节点设备所连接的总线上连接的节点设备个数的增加而增加。例如,假设该第一节点设备所连接的总线上连接的节点设备个数为70,可以将第一预定时间段时长取为12.5毫秒,将该第一预定时间段分为384个发信点,其中,每个发信点的时长为32微秒。
需要说明的是,由于在确定总线的当前运行状态为空闲时,该总线在当前时间点之前的运行状态可能一直为忙碌状态,使得此时可能有多个节点设备都在等待发信,而这些节点设备会同时检测到总线的当前运行状态为空闲状态,并同时向总线发信,从而导致发信冲突,因此通过使这些节点设备取随机发信点发信,能够使得这些节点设备的发信点错开,从而避免冲突。
示例性的,当上述的第一预定时间段是由至少一个发信点组组成,且每个发信点组包括至少两个发信点时;
具体的,步骤202中的第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信可以通过如下步骤来实现:
A1、第一节点设备从当前时间点之后的预定时间段内选择一个目标发信点组。
A2、第一节点设备从目标发信点组中选择一个目标发信点发信。
例如,假设该第一预定时间段是由12个时长相同的发信点组组成,且每个发信点组包含32的发信点时,若第一节点设备检测到总线的当前运行状态为空闲状态,且获取到发信任务时,可以将从第一预定时间段内的12个发信点组中选取一个发信点组作为目标发信点组,然后,从所选取的目标发信点组中的32个发信点中随机选取一个发信点作为目标发信点。
此外,为了防止一个节点设备长期占用总线,确保各节点设备发信机会均衡,第一节点设备在选择目标发信点时,可以根据该第一节点设备上一次成功发信的时间到当前时间的时长,以及近一段时间内的发信成功次数及失败次数,对选择的发信点进行调整。
具体的,步骤202中的第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信包括如下步骤:
B1、第一节点设备根据第一节点设备前一次成功发信时的时间点与当前时间点之间的时长,和/或,第一节点设备在第二预定时间段内的发信成功次数以及失败次数,从当前时间点之后的第一预定时间段内选择一个目标发信点发信。
具体的,第一节点设备前一次成功发信时的时间点与当前时间点之间的时长越长,且第一节点设备成功发信的发送次数越少,则从当前时间点之后的第一预定时间段内选择一个目标发信点的位置越提前。
进一步的,当第一预定时间段是由至少一个发信点组组成,且每个发信点组包括至少两个发信点,则步骤B1具体包括如下步骤B11和B12:
B11、第一节点设备根据第一节点设备前一次成功发信时的时间点与当前时间点之间的时长和第一节点设备发信成功次数以及失败次数,第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点组。
示例性的,第一节点设备可以根据第一节点设备前一次成功发信时的时间点与当前时间点之间的时长确定计数t,并根据发信成功次数以及失败次数确定hi0(i为第一节点设备的发信次数),最后根据计数t与hi0确定目标发信点组的序号,其中hi0为第i次选择发信点时的发信点组的序号初始值。
其中,t可以从节点设备前一次成功发信后开始计时后,计时每增加0.5秒,则t增加1,最多到11;hi0可以根据预设的首次发信的发信点组序号g0及最近一段时间内的发信成功次数和失败次数确定。
具体的,可以选择0-11内任一自然数作为g0(即节点设备首次发信的发信点组序号),并记录从上一次发信成功后的每分钟发信成功的次数S0和发信失败的次数F0,根据每分钟记录的S0和F0调整hi0。例如,g0的初始值可以取为10,当S0<10且F0<2,g0减去1,最小到0;当S0>25或F0>2,g0增加1,最多到11,从而确定hi0的值。
最后根据公式gi=hi0*(1–ti/12)确定目标发信点组的序号。
需要说明的是,节点设备首次发信时直接从首次发信的发信点组的序号g0对应的发信点组选取发信点进行发信。
B12、第一节点设备从目标发信点组中选择一个目标发信点发信。
可选的,为了提高总线数据通讯的稳定性,并提高总线的响应特性,并且避免由于总线响应造成发信冲突,步骤202中的第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信具体包括如下内容:
C1、第一节点设备等待第三预定时间段,并从第三预定时间段到达之后的第一预定时间段内选择一个目标发信点发信。
其中,第三预定时间段是为了给总线进行总线应答和冲突重发处理,以提高响应特性和通讯稳定性。
其中,总线应答包括点播应答、点播重发以及广播重发,具体的,点播应答是收信的节点设备成功接收点播数据包后,需要立即解包并应答ACK/NAK标志(一般为1个字节的特定数据),例如,如图3所示的点播应答,即若上一次通讯是发给该节点设备点播数据包,延时到2ms立即应答ACK/NAK。点播重发是发信的节点设备如果超过一定时间没有收到应答,则需要重发,如果多次重发都收不到应答,就多延后一段时间再重发一次,还收不到应答的话就判为通讯失败,复位通讯设置,例如,如图3所示的点播重发,即上一次通讯是该设备发送的点播数据包,且在5ms内未收到应答,第1~3次延时到5ms立即重发,第4次延时到85ms立即重发。广播重发是对于广播数据包,不要求收信的节点设备应答,但发信的节点设备应连续发送多次,以确保数据被成功接收。比如,发信的节点设备可以每隔2ms发信一次,连发3次。例如,如图3所示的广播重发,即上一次通讯是本设备发送的广播数据包,且未达到最大广播重发次数,在总线空闲后2ms立即重发。
需要说明的是,当确定总线的当前运行状态为空闲状态时,该第一节点设备上不一定立即有发信任务,当节点设备有发信任务时,若总线空闲了很长时间(例如:可以为总线执行上一次发信任务之后的几十毫秒),这时,由于节点设备的发信时间是随机选取的,而总线本身的运行状态为空闲状态,则在节点设备有发信任务时立即发信,而不用随机选取目标发信点。
此外,当节点设备有发信任务时,若确定总线的当前运行状态为忙碌状态,则继续等待,直到确定总线的当前运行状态为空闲状态时,执行步骤202。
示例性的,如图3所示的其他情况(一般情况),在上次通讯结束后,若确定总线当前的运行状态为空闲状态,延时到5ms取随机发信点发信。如果在总线空闲后5~19ms之间需要发信,由于此时已经错过了选取发信点的时间,一律延时到19ms立即发信,若在总线空闲19ms之后,则可自由发信,不必取随机发信点发信。
可选的,步骤C1还包括:
D1、当第一节点设备检测到第一节点设备与第二节点设备发信冲突时,第一节点设备与第二节点设备均停止发信,重新在总线的运行状态为空闲状态时的时间点之后的第四预定时间段内选择一个发信点发信。
其中,第四预定时间段小于等于第三预定时间段,上述的第二节点设备为与总线相连的节点设备中除第一节点设备外的其他节点设备中的至少一个节点设备。
示例性的,当第一节点设备与第二节点设备发信冲突,由于第一节点设备和第二节点设备均能够检测该发信冲突,并几乎同时检测到该发信冲突,则第一节点设备与第二节点设备均可以向总线广播一段冲突码,以使除第一节点设备以外的其他节点设备收到该冲突码,从而使得除第一节点设备以外的其他节点设备根据该冲突码立即进行通讯复位,停止收信,清空相关计时等,以提高通讯效率。每个发信冲突的节点设备在确定总线空闲后,重新发信。示例性的,每个发信冲突的节点设备进行重新发信时,可以在冲突重发发信点组中随机选取,即在判定总线空闲后到正常竞线发信之前的这段时间中随机选取,具体的:将冲突重发发信点组分为等长的多个时间段,即多个发信点。(例如:时间段个数与总线上连接的节点设备的数量相关,节点设备的数量越多,发信点的个数越多),发信冲突的节点设备重新发信随机选择一个发信点即可。如果在冲突发信时间点到来之前检测到其他节点设备的通讯数据,就取消冲突重发操作,这样可以确保冲突的节点设备在重新发信时时间错开,防止再次冲突。在冲突发信时间点到来后,节点设备立即发信。例如,如图3所示的冲突重发,即上一次通讯本设备遇到发信冲突,且未达到最大冲突重发次数,在总线空闲后2~4ms内取随机发信点重发(如64个发信点,每个发信点长度32us)。
需要说明的是,冲突码应确保有别于正常通讯字节格式,并且本身不会发生冲突,或者即使本身发生冲突后,依然有别于正常通讯字节格式,保证收信节点辨识出数据错误。可以根据总线类型和特点确定,例如对于HomeBus总线,可以取连续的12个0bit。
为了进一步防止发生发信冲突,步骤C1还包括:
E1、若第一节点设备在目标发信点之前确定总线的当前运行状态为忙碌状态,则第一节点设备取消发信;
E2、若第一节点设备取消发信之后确定总线的当前运行状态为空闲状态,则重新选择发信点发信。
需要说明的是,本发明实施例中提供的第一预定时间段、第二预定时间段、第三预定时间段、第四预定时间段,以及预定时间段T1和预定时间段T2,均需要根据实际情况而确定,本发明实施例在此不做限定。
此外,根据本发明实施例提供的多主总线的冲突避让方法,本发明实施例还提供了发信不冲突概率计算公式,以使得技术人员易于根据节点设备的个数计算出发信不冲突的概率,从而根据发信不冲突的概率预设合适的发信点的个数,从而有效降低发生发信冲突的概率。
其中,上述的发信不冲突概率的计算公式可以为:
其中,G用于表示发信不冲突的概率,m用于表示节点设备的个数,n用于表示发信点的个数,i用于表示从n个发信点中选取的发新点的序号。
示例性的,上述公式1表示m个节点设备可以从n个发信点中随机选取一个,或者一个都不选择,则m个节点设备选择发信点的样本总数为(n+1)m,若将n个发信点按照时间的先后次序依次记为第1个,第2个,第3个,...,第n个,m个节点设备中的任一节点设备选择第i个发信点发信(i=1,2,……n),那么其余m-1个节点设备选择第i个发信点之后的n-i个发信点中的任一一个发信点,或者不选择任何发信点,都能够成功发信,且不造成冲突,此时,每个节点设备都有n+1-i种选择,因此节点设备发信不冲突的样本数应该是由于节点设备是任选的,因此全部不冲突的样本总数等于
此外,上述的公式1通过推导还可以表示为:
具体的,从公式1到公式2的推导过程如下所示:
为了方便取得发信不冲突的概率,可以求取对公式2的极限值,记可以得到在ρ=常数不变的条件下,在n趋于无穷大时,求公式2的极限为:
可知发信不冲突概率只与m/n有关,即只与每个发信点对应多少个同时发信的节点设备的数量有关。通过计算可以验证,只要n在5以上,极限值就和精确值非常接近了。
根据上述公式4,可以得到如表1所示的发信不冲突概率。由表1可知,取随机发信点的方法对降低冲突概率是非常有效的,并且由于多个节点设备同时需要发信的情况本来就比较少,所以如果总线上设备不是特别多的话,取64个甚至更少的发信时间点就足够了。
表1
本发明实施例提供的多主总线的冲突避让方法及节点设备,通过节点设备确定节点设备连接的总线的当前运行状态,使得节点设备可以确定总线当前是否进行数据传输,若节点设备确定总线的当前运行状态为空闲状态,则节点设备确定总线当前没有进行数据传输,且节点设备在获取到发信任务时,从当前时间点之后的预定时间段内选择一个目标发信点发信,由于节点设备从预定时间段内的多个发信点中,随机选取一个目标发信点进行发信,而多个节点设备同时选择同一个发信点发信的概率较低,从而能够有效降低多主总线发信冲突的概率,解决多主总线的发信冲突问题。
本发明实施例提供一种节点设备,如图4所示,该节点设备3包括:确定模块31和选择模块32,其中:
确定模块31,用于确定第一节点设备连接的总线的当前运行状态。
选择模块32,用于若确定模块31确定总线的当前运行状态为空闲状态,且获取到发信任务时,则选择模块32从当前时间点之后的第一预定时间段内选择一个发信点发信。
其中,第一预定时间段包括至少两个发信点发信。
可选的,选择模块32具体用于:
若确定模块31确定总线的当前运行状态为空闲状态,且获取到发信任务时,则选择模块32从当前时间点之后的第一预定时间段内选择一个目标发信点组,第一预定时间段是由至少一个发信点组组成,每个发信点组包括至少两个发信点;选择模块32从目标发信点组中选择一个发信点发信。
可选的,选择模块32具体用于:
若确定模块31确定总线的当前运行状态为空闲状态,且获取到发信任务时,则选择模块32根据第一节点设备前一次成功发信时的时间点与当前时间点之间的时长,和/或,第一节点设备在第二预定时间段内的发信成功次数以及失败次数,从当前时间点之后的第一预定时间段内选择一个发信点发信。
可选的,选择模块32具体用于:
若确定模块31确定总线的当前运行状态为空闲状态,且获取到发信任务时,等待第三预定时间段,并从第三预定时间段到达之后的第一预定时间段内选择一个发信点发信。
可选的,选择模块32还用于:
当第一节点设备检测到第一节点设备与第二节点设备发信冲突时,则停止发信,则选择模块32重新在总线的运行状态为空闲状态时的时间点之后的第四预定时间段内选择一个目标发信点发信。
其中,第四预定时间段小于等于第三预定时间段,第二节点设备为与总线相连的节点设备中除第一节点设备外的其他节点设备中的至少一个节点设备。
可选的,选择模块32还用于:
若第一节点设备在目标发信点之前确定总线的当前运行状态为忙碌状态,则第一节点设备取消发信。
若第一节点设备取消发信之后确定总线的当前运行状态为空闲状态,则选择模块32重新选择发信点发信。
本发明实施例提供的节点设备,通过确定模块确定节点设备连接的总线的当前运行状态,使得节电设备可以确定总线当前是否进行数据传输,若确定模块确定总线的当前运行状态为空闲状态,则节点设备确定总线当前没有进行数据传输,且节点设备在获取到发信任务时,其选择模块从当前时间点之后的预定时间段内选择一个目标发信点发信,由于节点设备的选择模块从预定时间段内的多个发信点中,随机选取一个目标发信点进行发信,而多个节点设备同时选择同一个发信点发信的概率较低,从而能够有效降低多主总线发信冲突的概率,解决多主总线的发信冲突问题。
需要说明的是,在具体实现过程中,上述如图2所示的方法流程中节点设备所执行的各步骤均可以通过硬件形式的处理器执行存储器中存储的软件形式的计算机执行指令实现,为避免重复,此处不再赘述。而上述节点设备所执行的动作所对应的程序均可以以软件形式存储于该节点设备的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上文中的存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD);还可以包括上述种类的存储器的组合。
上文所提供的节点设备中的处理器可以是一个处理器,也可以是多个处理元件的统称。例如,处理器可以为中央处理器(central processing unit,CPU;也可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等;还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的节点设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的节点设备和方法,可以通过其它的方式实现。例如,以上所描述的模块实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种多主总线的冲突避让方法,其特征在于,包括:
第一节点设备确定所述第一节点设备连接的总线的当前运行状态;
若所述第一节点设备确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信,所述第一预定时间段包括至少两个发信点。
2.根据权利要求1所述的方法,其特征在于,所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信具体包括:
所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点组,所述第一预定时间段是由至少一个发信点组组成,每个发信点组包括至少两个发信点;
所述第一节点设备从所述目标发信点组中选择一个目标发信点发信。
3.根据权利要求1或2所述的方法,其特征在于,所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信具体包括:
所述第一节点设备根据所述第一节点设备前一次成功发信时的时间点与所述当前时间点之间的时长,和/或,所述第一节点设备在第二预定时间段内的发信成功次数以及失败次数,从所述当前时间点之后的第一预定时间段内选择一个目标发信点发信。
4.根据权利要求1或2所述的方法,其特征在于,所述第一节点设备从当前时间点之后的第一预定时间段内选择一个目标发信点发信具体包括:
所述第一节点设备等待第三预定时间段,并从所述第三预定时间段到达之后的第一预定时间段内选择一个目标发信点发信。
5.根据权利要求4所述的方法,其特征在于,所述第一节点设备等待第三预定时间段,并从所述第三预定时间段到达之后的第一预定时间段内选择一个目标发信点发信之后,所述方法还包括:
当所述第一节点设备检测到所述第一节点设备与第二节点设备发信冲突时,则停止发信,重新在所述总线的运行状态为空闲状态时的时间点之后的第四预定时间段内选择一个目标发信点发信,所述第四预定时间段小于等于所述第三预定时间段,所述第二节点设备为与所述总线相连的节点设备中除所述第一节点设备外的其他节点设备中的至少一个节点设备。
6.根据权利要求4所述的方法,其特征在于,所述第一节点设备等待第三预定时间段,并从所述第三预定时间段到达之后的第一预定时间段内选择一个目标发信点发信之后,所述方法还包括:
若所述第一节点设备在所述目标发信点之前确定所述总线的当前运行状态为忙碌状态,则所述第一节点设备取消发信;
若所述第一节点设备取消发信之后确定所述总线的当前运行状态为空闲状态,则重新选择发信点发信。
7.一种节点设备,其特征在于,包括:
确定模块,用于确定所述第一节点设备连接的总线的当前运行状态;
选择模块,用于若所述确定模块确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述选择模块从当前时间点之后的第一预定时间段内选择一个目标发信点发信,所述第一预定时间段包括至少两个发信点。
8.根据权利要求7所述的节点设备,其特征在于,所述选择模块具体用于:
若所述确定模块确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述选择模块从当前时间点之后的第一预定时间段内选择一个目标发信点组,所述第一预定时间段是由至少一个发信点组组成,每个发信点组包括至少两个发信点;
所述选择模块从所述目标发信点组中选择一个目标发信点发信。
9.根据权利要求7或8所述的节点设备,其特征在于,所述选择模块具体用于:
若所述确定模块确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,则所述选择模块根据所述第一节点设备前一次成功发信时的时间点与所述当前时间点之间的时长,和/或,所述第一节点设备在第二预定时间段内的发信成功次数以及失败次数,从所述当前时间点之后的第一预定时间段内选择一个目标发信点发信。
10.根据权利要求7或8任一项所述的节点设备,其特征在于,所述选择模块具体用于:
若所述确定模块确定所述总线的当前运行状态为空闲状态,且获取到发信任务时,等待第三预定时间段,并从所述第三预定时间段到达之后的第一预定时间段内选择一个目标发信点发信。
11.根据权利要求10所述的节点设备,其特征在于,所述选择模块还用于:
当所述第一节点设备检测到所述第一节点设备与第二节点设备发信冲突时,则停止发信,所述选择模块重新在所述总线的运行状态为空闲状态时的时间点之后的第四预定时间段内选择一个目标发信点发信,所述第四预定时间段小于等于所述第三预定时间段,所述第二节点设备为与所述总线相连的节点设备中除所述第一节点设备外的其他节点设备中的至少一个节点设备。
12.根据权利要求10所述的节点设备,其特征在于,所述选择模块还用于:
若所述第一节点设备在所述目标发信点之前确定所述总线的当前运行状态为忙碌状态,则所述第一节点设备取消发信;
若所述第一节点设备取消发信之后确定所述总线的当前运行状态为空闲状态,则所述选择模块重新选择发信点发信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610958115.0A CN106502936B (zh) | 2016-10-26 | 2016-10-26 | 一种多主总线的冲突避让方法及节点设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610958115.0A CN106502936B (zh) | 2016-10-26 | 2016-10-26 | 一种多主总线的冲突避让方法及节点设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106502936A true CN106502936A (zh) | 2017-03-15 |
CN106502936B CN106502936B (zh) | 2020-02-04 |
Family
ID=58322490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610958115.0A Active CN106502936B (zh) | 2016-10-26 | 2016-10-26 | 一种多主总线的冲突避让方法及节点设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106502936B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521854A (zh) * | 2017-05-17 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 通信控制方法、通信主设备和通信系统 |
CN109975568A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市新产业生物医学工程股份有限公司 | 样本架调度控制方法、系统以及医学检测设备 |
CN110609803A (zh) * | 2019-09-17 | 2019-12-24 | 上海钧正网络科技有限公司 | 主从通信方法、装置、系统、计算机设备和可读存储介质 |
CN112737903A (zh) * | 2019-10-28 | 2021-04-30 | 中车株洲电力机车研究所有限公司 | 一种多主组网通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591857A (zh) * | 2015-03-02 | 2016-05-18 | 海信(山东)空调有限公司 | 一种485多主通信的方法和装置 |
US9667475B2 (en) * | 2014-02-28 | 2017-05-30 | Red Hat, Inc. | Systems and methods for communicating information of participants registered with a sub-coordinator during distributed transaction processing |
-
2016
- 2016-10-26 CN CN201610958115.0A patent/CN106502936B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667475B2 (en) * | 2014-02-28 | 2017-05-30 | Red Hat, Inc. | Systems and methods for communicating information of participants registered with a sub-coordinator during distributed transaction processing |
CN105591857A (zh) * | 2015-03-02 | 2016-05-18 | 海信(山东)空调有限公司 | 一种485多主通信的方法和装置 |
Non-Patent Citations (1)
Title |
---|
张淑清,应启戛: ""LONWORKS和Devicenet性能分析及改进"", 《电子测量与仪器学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521854A (zh) * | 2017-05-17 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 通信控制方法、通信主设备和通信系统 |
CN109975568A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市新产业生物医学工程股份有限公司 | 样本架调度控制方法、系统以及医学检测设备 |
CN109975568B (zh) * | 2017-12-28 | 2022-11-11 | 深圳市新产业生物医学工程股份有限公司 | 样本架调度控制方法、系统以及医学检测设备 |
CN110609803A (zh) * | 2019-09-17 | 2019-12-24 | 上海钧正网络科技有限公司 | 主从通信方法、装置、系统、计算机设备和可读存储介质 |
CN110609803B (zh) * | 2019-09-17 | 2021-02-02 | 上海钧正网络科技有限公司 | 主从通信方法、装置、系统、计算机设备和可读存储介质 |
CN112737903A (zh) * | 2019-10-28 | 2021-04-30 | 中车株洲电力机车研究所有限公司 | 一种多主组网通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106502936B (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502936A (zh) | 一种多主总线的冲突避让方法及节点设备 | |
US4707829A (en) | CSMA-CD with channel capture | |
US5664091A (en) | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol | |
CA1198522A (en) | Dual-count, round-robin distributed arbitration technique for serial buses | |
US4547850A (en) | Priority control method and apparatus for common bus of data processing system | |
CN102752084B (zh) | 一种多设备can通讯智能重发方法 | |
US20110026400A1 (en) | Network on chip with quality of service | |
US11095568B2 (en) | Systems and methods for network scheduling and re-transmission buffering | |
CN105162706B (zh) | 组播传输方法、装置及系统 | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
CN101039273B (zh) | 通信设备、传输控制方法、和传输控制程序 | |
WO1991015069A1 (en) | Method and apparatus for scheduling access to a csma communication medium | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
CN110674065B (zh) | 一种在总线上的竞争仲裁方法和系统 | |
CN108307439B (zh) | 一种在大量多跳无线节点下的自适应退避方法 | |
JP2925977B2 (ja) | 通信装置 | |
JP5738324B2 (ja) | 送信装置、通信装置、通信システムおよび送信方法 | |
JP5737039B2 (ja) | パケット伝送装置、メモリ制御回路及びパケット伝送方法 | |
CN101686556A (zh) | 资源释放方法、装置及系统 | |
US6172983B1 (en) | Hub dominated method and system for managing network collisions | |
CN105144629B (zh) | 用于无线网络的多播优化介质访问方法 | |
CN104486187B (zh) | 一种动态同步的can通讯设备和方法 | |
CN112351049B (zh) | 数据传输方法、装置、设备及存储介质 | |
EP1895429A1 (en) | Transmission control device and transmission control method | |
CN114489718A (zh) | 树状连接系统的固件升级方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 266100 Zhuzhou Road, Laoshan District, Qingdao, Shandong Province, No. 151 Applicant after: Hisense (Shandong) Air-conditioning Co., Ltd. Address before: 266736 Hisense Road 1, South Village Town, Pingdu City, Qingdao, Shandong Applicant before: Hisense (Shandong) Air-conditioning Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |