一种机柜I2C总线死锁处理方法、系统、介质及设备技术方案

技术编号:18783535 阅读:37 留言:0更新日期:2018-08-29 06:52
本发明专利技术公开了一种机柜I2C总线死锁处理方法,包括:步骤S11:利用中板内的定时器中断检测RMC与中板的I2C总线中断是否被触发;步骤S12:若否,则对定时器中断中全局变量的当前计数值加一;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对I2C总线进行重置。可见,在本发明专利技术中,利用中板中的定时器中断对机柜的I2C总线进行检测,如果发现机柜中的I2C总线死锁之后,可以通过中板对I2C总线进行重置,通过此种方法,保证了RMC与中板之间通信的稳定性。相应的,本发明专利技术还公开了一种机柜I2C总线死锁处理系统、介质及设备,同样具有上述有益效果。

【技术实现步骤摘要】
一种机柜I2C总线死锁处理方法、系统、介质及设备
本专利技术涉及计算机服务器
,特别涉及一种机柜I2C总线死锁处理方法、系统、介质及设备。
技术介绍
随着大数据时代的到来,柜式服务器因其占用空间较小,并且具有良好的可扩展性,而得到了广泛的应用。在柜式服务器当中,一般是RMC(RackManagementController,整机柜管理控制器)利用中板通过I2C总线获取机柜中各个机柜节点的运行状况信息,但是当RMC或者中板出现异常掉电时,会产生I2C总线死锁的现象,从而影响RMC与中板的正常通信。针对这一技术问题,目前的解决方法是将中板断电进行修复,显然,此种方法极大的影响了机柜的正常工作,所以通过怎样的方法来解除I2C总线的死锁现象,以保证RMC与中板的正常通讯,是本领域技术人员亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种机柜I2C总线死锁处理方法、系统、介质及设备,以解除I2C总线的死锁现象。其具体方案如下:一种机柜I2C总线死锁处理方法,包括:步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发;步骤S12:若否,则对所述定时器中断中全局变量的当前计数值加一;其中,所述全局变量能够检测所述I2C总线通讯失败的次数;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对所述I2C总线进行重置。优选的,所述预设时间间隔为1s。优选的,所述预设阈值为20s。优选的,所述步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发的过程之后,还包括:若否,则判定所述I2C总线异常,并将所述I2C总线的异常信息记录至日志。优选的,所述对所述I2C总线进行重置的过程之后,还包括:将当前计数值清零。优选的,所述步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发的过程之后,还包括:若是,则判定所述I2C总线正常,并将当前计数值清零。相应的,本专利技术还公开了一种机柜I2C总线死锁处理系统,包括:触发判断模块,用于步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发;计数值累加模块,用于步骤S12:若否,则对所述定时器中断中全局变量的当前计数值加一;其中,所述全局变量能够检测所述I2C总线通讯失败的次数;I2C总线重置模块,用于步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对所述I2C总线进行重置。优选的,还包括:数值重置模块,用于步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发的过程之后,若是,则判定所述I2C总线正常,并将当前计数值清零。相应的,本专利技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述公开的一种机柜I2C总线死锁处理方法的步骤。相应的,本专利技术还公开了一种机柜I2C总线死锁处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如前述公开的一种机柜I2C总线死锁处理方法的步骤。在本专利技术中,一种机柜I2C总线死锁处理方法,包括:步骤S11:利用中板内的定时器中断检测RMC与中板的I2C总线中断是否被触发;步骤S12:若否,则对定时器中断中全局变量的当前计数值加一;其中,全局变量能够检测I2C总线通讯失败的次数;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对I2C总线进行重置。可见,在本专利技术中,首先是利用中板内的定时器中断去检测RMC与中板的I2C总线中断是否被触发,如果I2C总线中断未被触发,说明RMC与中板之间的I2C总线通讯出现了异常,此时将定时器中断中全局变量的当前计数值加一,之后中板内的定时器中断以预设时间间隔去重复检测RMC与中板的I2C总线中断是否被触发,如果I2C总线中断还是没有被触发,则对全局变量的当前计数值进行累加,当全局变量的当前计数值超过预设阈值时,说明RMC与中板的I2C总线被死锁,此时,利用中板对I2C总线进行重置,以解除RMC与中板之间的I2C总线死锁现象,显然,相比于现有技术中需要对中板断电才能修复I2C总线死锁的方法,本专利技术中的方法能够大大提高工作人员的工作效率。相应的,本专利技术公开的一种机柜I2C总线死锁处理系统、介质和设备,同样具有上述有益效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种机柜I2C总线死锁处理方法的流程图;图2为本专利技术实施例提供的另一种机柜I2C总线死锁处理方法的流程图;图3为本专利技术实施例提供的一种机柜I2C总线死锁处理系统的结构图;图4为本专利技术实施例提供的一种机柜I2C总线死锁处理设备的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种机柜I2C总线死锁处理方法,如图1所示,该方法包括:步骤S11:利用中板内的定时器中断检测RMC与中板的I2C总线中断是否被触发;步骤S12:若否,则对定时器中断中全局变量的当前计数值加一;其中,全局变量能够检测I2C总线通讯失败的次数;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对I2C总线进行重置。随着数据存储的快速发展,柜式服务器在实际当中得到了广泛的应用,在现有技术当中,柜式服务器是一般是通过RMC对机柜的各个节点进行统一管理与监控,具体的,RMC是利用中板通过I2C总线通讯获取各个机柜节点的运行状态信息。需要说明的是,中板是机柜当中RMC与机柜节点BMC进行通讯命令转发和处理的硬件处理单元。但是,在实际应用当中,当RMC异常复位时,会导致I2C总线产生死锁的现象。以下对I2C总线死锁进行具体的阐述,可以理解的是,I2C总线包括两条信号线,一条是SDA,也即双向数据线,一条是SCL,也即时钟线。当在I2C总线上传输数据时,首先是由RMC发出启动信号,控制SCL产生8个时钟脉冲,然后拉低SCL信号为低电平,此时,中板输出应答信号,将SDA信号拉为低电平,如果RMC异常复位,SCL就会释放为高电平,此时,如果中板没有复位,就会继续I2C总线的应答,将SDA一直拉为低电平,直到SCL变为低电平,才会结束应答信号。而对于I2C总线通信中的RMC来说,复位后检测SCL和SDA信号,如果发现SDA信号为低电平,则会认为I2C总线被占用,会一直等待SCL和SDA信号变为高电平,这样,RMC等待中板释放SDA信号,而同时中板又在等待RMC将SCL信号拉低以释放应答信号,两者相互等待,从而使得I2C总线进入死锁状态。而在本实施例中,是相当于在中板中添加了对I2C总本文档来自技高网...

【技术保护点】
1.一种机柜I2C总线死锁处理方法,其特征在于,包括:步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发;步骤S12:若否,则对所述定时器中断中全局变量的当前计数值加一;其中,所述全局变量能够检测所述I2C总线通讯失败的次数;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对所述I2C总线进行重置。

【技术特征摘要】
1.一种机柜I2C总线死锁处理方法,其特征在于,包括:步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发;步骤S12:若否,则对所述定时器中断中全局变量的当前计数值加一;其中,所述全局变量能够检测所述I2C总线通讯失败的次数;步骤S13:以预设时间间隔重复执行步骤S11,直至当前计数值超过预设阈值,然后对所述I2C总线进行重置。2.根据权利要求1所述的方法,其特征在于,所述预设时间间隔为1s。3.根据权利要求1所述的方法,其特征在于,所述预设阈值为20s。4.根据权利要求1所述的方法,其特征在于,所述步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发的过程之后,还包括:若否,则判定所述I2C总线异常,并将所述I2C总线的异常信息记录至日志。5.根据权利要求1所述的方法,其特征在于,所述对所述I2C总线进行重置的过程之后,还包括:将当前计数值清零。6.根据权利要求1至5任一项所述的方法,其特征在于,所述步骤S11:利用中板内的定时器中断检测RMC与所述中板的I2C总线中断是否被触发的过程之后,还包括:若是,则判定所述I2C总线正常,并将当前...

【专利技术属性】
技术研发人员:公衍宾
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1