一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地址分配方法、智能柜、可读存储介质及计算机程序产品与流程

2021-08-24 16:07:00 来源:中国专利 TAG:智能 可读 分配 通信 地址
地址分配方法、智能柜、可读存储介质及计算机程序产品与流程

本申请涉及智能柜通信技术领域,尤其涉及一种地址分配方法、智能柜、可读存储介质及计算机程序产品。



背景技术:

随着计算机技术的不断发展,快递柜、自动售卖机、自动寄存柜等智能柜的应用也越来越广泛,当前,智能柜的主柜与副柜之间的通信一般用rs485、以太网等通信方式,目前使用这些通信方式通常是通过拨码开关或者软件配置进行设置设备地址,但是,拨码开关或者软件配置都需要人工手动设置设备地址,当副柜数量过多或者副柜发生异常的时候,使用传统的人工手动设置设备地址操作繁琐,工作量较大,进而导致地址分配的效率较低。



技术实现要素:

本申请的主要目的在于提供一种地址分配方法、智能柜、可读存储介质及计算机程序产品,旨在解决现有技术中智能柜中主柜与副柜的地址分配效率低的技术问题。

为实现上述目的,本申请提供一种地址分配方法,所述地址分配方法应用于智能柜,所述地址分配方法包括:

通过所述主柜向各所述副柜发送上报请求信息;

通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签;

通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送所述地址分配信息;

通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址。

本申请还提供一种地址分配装置,所述地址分配装置为虚拟装置,且所述地址分配装置应用于智能柜,所述地址分配装置包括:

上报请求模块,用于通过所述主柜向各所述副柜发送上报请求信息;

响应模块,用于通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签;

地址分配模块,用于通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送所述地址分配信息;

设置地址模块,用于通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址。

本申请还提供一种智能柜,所述智能柜包括:主柜、至少一个副柜存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述地址分配方法的程序,所述地址分配方法的程序被处理器执行时可实现如上述的地址分配方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有实现地址分配方法的程序,所述地址分配方法的程序被处理器执行时实现如上述的地址分配方法的步骤。

本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的地址分配方法的步骤。

本申请提供了一种地址分配方法、智能柜、可读存储介质及计算机程序产品,相比于现有技术采用的通过拨码开关或者软件配置进行设置设备地址的技术手段,本申请首先通过所述主柜向各所述副柜发送上报请求信息,进而通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签,进一步地,通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,进而实现了通过所述主柜基于所述副柜的身份识别标签,为各副柜分配目标地址的目的,并向各所述副柜发送所述地址分配信息,进而通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址,进而实现了将各所述副柜对应的目标地址准确传输至各所述副柜的目的,所以,实现了自动为各所述副柜设置设备地址,无需用户手动操作,克服了现有技术中用户通过拨码开关或者软件配置进行设置设备地址时,若副柜数量较多,则通过传统的人工手动设置设备地址操作繁琐,工作量较大,进而导致地址分配的效率较低的技术缺陷,从而提高了地址分配的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请地址分配方法第一实施例的流程示意图;

图2为本申请地址分配方法中通过所述主柜分配设备地址的流程示意图;

图3为本申请地址分配方法中通过所述副柜响应上报请求信息分配设备地址的流程示意图;

图4为本申请地址分配方法第二实施例的流程示意图;

图5为本申请地址分配方法中通过所述主柜定时查询副柜数量的流程示意图;

图6为本申请地址分配方法中通过所述副柜响应定时查询副柜数量的流程示意图;

图7为本申请实施例中地址分配方法涉及的硬件运行环境的设备结构示意图。

本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

目前,智能柜的主柜与副柜之间的通信一般采用rs485、以太网等通信方式,而使用这些通信方式通常是通过手动设置拨码开关或者软件配置为智能柜中主柜和副柜设置设备地址,但是,在实际应用场景,智能柜常需要新增或者减少一些副柜,所以常需要重新为智能柜中各副柜重新分配设备地址,但是通过手动设置拨码开关或者软件配置为智能柜中主柜和副柜设置设备地址的方式十分繁琐和复杂,影响智能柜中主柜和副柜的地址分配的效率。

本申请实施例提供一种地址分配方法,应用于智能柜,所述智能柜包括一主柜和至少一副柜,在本申请地址分配方法的第一实施例中,参照图1,所述地址分配方法包括:

步骤s10,通过所述主柜向各所述副柜发送上报请求信息;

在本实施例中,需要说明的是,所述地址分配方法应用于智能柜,所述智能柜包括主柜、至少一个副柜和通信总线,其中,所述通信总线为用于所述主柜和所述副柜之间进行通信的渠道,所述主柜通过通信总线向所述副柜发送信息,所述副柜在接收到所述主柜发来的信息后,通过通信总线向所述主柜返回应答信息。所述上报请求信息为所述主柜生成的radio命令,用于通过所述主柜请求各所述副柜上报各自的身份识别标签,且所述上报请求信息包括所述主柜的主柜身份识别标签,其中,所述主柜身份识别标签为表示所述主柜身份的标识,可以为所述主柜的mcu唯一id,也可以为预先设置好的字符串。

通过所述主柜向各所述副柜发送上报请求信息,具体地,当检测到所述智能柜的通信总线处于空闲状态时,通过所述主柜向各所述副柜发送上报请求信息。

其中,在所述通过所述主柜向各所述副柜发送上报请求信息的步骤之前,所述地址分配包括:

步骤s11,读取适配器供电接口的电平;

在本实施例中,需要说明的是,所述智能柜包括适配器供电接口,所述适配器供电接口是为所述主柜和各所述副柜提供电压的接口。

读取适配器供电接口的电平,具体地,将gpio的引脚接入所述适配器供电接口,通过所述gpio的引脚输出所述适配器供电接口的电平。

步骤s12,若所述电平为高电平时,则判定所述适配器供电接口对应的柜子为所述主柜;

步骤s13,若所述电平为低电平,则判定所述适配器供电接口对应的柜子为所述副柜。

步骤s20,通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签;

在本实施例中,需要说明的是,当存在两个副柜同时通过通信总线向所述主柜发送信息时,将会导致通信总线发生紊乱,也即,通信总线在同一时间点只能用于承载一个副柜与主柜之间的通信过程,所述第一应答延迟时间为通过所述副柜需要延迟响应于所述上报请求信息的时间,所述第一应答信息为所述副柜生成的响应radio命令,用于通过各所述副柜响应于所述上报请求信息,所述身份识别标签为表示所述副柜身份的标识,可以为所述副柜的mcu唯一id,也可以为预先设置好的字符串。

通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签,具体地,通过所述副柜接收所述上报请求信息,并生成第一应答延迟时间,其中,所述第一应答延迟时间是从通过所述副柜接收到所述上报请求信息开始计算的,进而通过各所述副柜在各自对应的第一应答延迟时间到达后,分别向所述主柜返回响应于所述上报请求信息的第一应答信息,以防止各所述第一应答信息在所述通信总线上发生信息碰撞,而导致通信总线紊乱,从而提高了数据传输的效率。

其中,所述通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签的步骤还包括:

步骤s21,通过所述副柜接收所述上报请求信息,并生成第一应答延迟时间;

在本实施例中,需要说明的是,各所述副柜对应的第一应答延迟时间可设置不同。

通过所述副柜接收所述上报请求信息,并生成第一应答延迟时间,具体地,通过所述副柜接收所述上报请求信息,并随机生成所述副柜对应的第一应答延迟时间,例如,利用newrandom()函数或者math.random()函数随机生成一个随机数,当所述随机数为20时,则设置所述第一应答延迟时间为20毫秒,其中,各所述副柜对应的第一应答延迟时间各不相同,进而避免了由于出现通过多个所述副柜同时向响应所述主柜发出的上报请求信息,而导致响应于所述上报请求信息的第一应答信息回退的情况发生。

步骤s22,当所述第一应答延迟时间到达后,通过所述副柜向所述主柜返回响应于所述上报请求信息的第一应答信息。

在本实施例中,当所述第一应答延迟时间到达后,通过所述副柜向所述主柜返回响应于所述上报请求信息的第一应答信息,具体地,当所述第一应答延迟时间到达后,通过所述副柜向所述主柜发送响应于所述上报请求信息的第一应答信息,进而通过通信总线对应的通信状态线,检测通信总线是否发生紊乱,其中,所述通信状态线为用于检测是否存在至少两个所述副柜同时向所述主柜返回应答信息而导致通信紊乱的状态线,进而若未发生紊乱,则证明不存在相同的第一应答延迟时间,若发生紊乱,则证明存在至少两个所述副柜对应的第一应答延迟时间相同,也即存在至少两个所述副柜同时向所述主柜返回响应于所述上报请求信息的第一应答信息,导致两个所述第一响应消息互相冗杂,使得通信状态线发生紊乱,此时,删除所述第一应答信息,进而返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤。

其中,在所述通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息的步骤之后,所述地址分配方法还包括:

步骤s23,启动第一响应接收周期计时,并在所述第一响应接收周期计时结束后,停止通过所述主柜接收所述副柜发送的第一应答信息。

在本实施例中,需要说明的是,所述第一响应接收周期为通过所述主柜接收各所述副柜返回响应于所述上报请求信息的第一应答信息的时间周期。

启动第一响应接收周期计时,并在所述第一响应接收周期计时结束后,停止通过所述主柜接收所述副柜发送的第一应答信息,具体地,在通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息后,通过所述主柜启动所述第一响应接收周期计时,并在所述第一响应接收周期内,持续地通过所述主柜接收各所述副柜返回响应于所述上报请求信息的第一响应消息,进而在所述第一响应接收周期结束后,停止通过所述主柜接收所述副柜发送的第一应答信息,以避免所述主柜和所述副柜等待过久可能引起的通信障碍。

步骤s30,通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送所述地址分配信息;

在本实施例中,需要说明的是,所述地址分配信息为所述主柜生成的ping命令,用于通过所述主柜向所各述副柜发送各所述副柜的身份识别标签和各所述身份识别标签对应的目标地址,其中,所述地址分配信息可以包括所述主柜的主柜身份识别标签和所述主柜的主柜目标地址,以供所述副柜基于所述主柜目标地址,准确地向所述主柜发送应答信息。

通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送所述地址分配信息,具体地,在第一响应接收周期计时结束后,根据通过所述主柜在第一响应接收周期内接收到的各所述副柜返回响应于所述上报请求信息的第一响应消息,将第一响应消息中的各所述身份识别标签进行排序,获得身份识别标签序列,并根据所述身份识别标签序列,通过为各所述副柜分配目标地址,获得目标地址序列,进而将所述身份识别标签序列和所述目标地址序列合并,例如,所述身份识别标签序列可表示各所述副柜对应的身份识别标签的顺序结果,记为(副柜,身份识别标签),所述目标地址序列可表示为各所述身份识别标签分配目标地址的序列结果,记为(身份识别标签,目标地址),进行合并后获得的合并结果为(副柜,身份识别标签,目标地址),根据所述合并结果,确定各所述副柜对应的身份识别标签和各所述目标地址的映射关系,进而生成所述具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,进而通过所述主柜向各所述副柜发送所述地址分配信息。

其中,所述通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送地址分配信息的步骤还包括:

步骤s31,通过所述主柜对各所述身份识别标签进行排序,获得身份识别标签序列;

在本实施例中,需要说明的是,所述身份识别标签序列为将各所述身份识别标签进行排序的排序结果。

通过所述主柜对各所述身份识别标签进行排序,获得身份识别标签序列,具体地,通过所述主柜将各所述身份识别标签按照预设排序方式进行排序,其中,所述预设排序方式包括将各所述身份识别标签按照从小到大或者从大到小的顺序进行排序的方式,进而获得排序结果,并将所述排序结果作为所述身份识别标签序列。

步骤s32,基于所述身份识别标签序列,通过为各所述副柜分配所述目标地址,生成目标地址序列;

在本实施例中,基于所述身份识别标签序列,通过为各所述副柜分配目标地址,生成目标地址序列,具体地,根据所述身份识别标签序列,为各所述副柜分配目标地址,例如,若通过所述主柜接收到各所述副柜的身份识别标签的数量为3,可分配各所述副柜的目标地址为1至5,通过各所述身份识别标签按照从小到大进行排序,将最小的身份识别标签对应的目标地址设置为1,顺序排在第二的身份识别标签对应的目标地址设置为2,最大的身份识别标签对应的目标地址设置为3,分配完成3个所述副柜的目标地址,即可获得所述目标地址序列。

步骤s33,基于所述身份识别标签序列和所述目标地址序列,生成所述地址分配信息。

在本实施例中,基于所述身份识别标签和各所述身份识别标签对应的目标地址,生成所述地址分配信息,具体地,根据所述身份识别标签序列和所述目标地址序列,将所述身份识别标签序列和所述目标地址序列进行合并,确定各所述副柜对应的身份识别标签和所述目标地址之间的映射关系,进而生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息。

步骤s40,通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址。

在本实施例中,通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址,具体地,通过各所述副柜接收所述地址分配信息,并在所述地址分配信息中的各身份识别标签中查询与所述副柜本地存储的本地身份识别标签一致的身份识别标签,进而将所述身份识别标签对应的目标地址设置为所述副柜的设备地址,并通过所述副柜分别向所述主柜返回响应于所述地址分配信息的第三应答信息,其中,所述第三应答信息为所述副柜生成的响应ping命令,用于所述副柜响应所述主柜向所述副柜发送的地址分配信息,且所述第三应答信息可以包括所述主柜的主柜身份识别标签、所述主柜的主柜目标地址、各所述副柜的身份识别标签和各所述副柜的身份识别标签对应的目标地址,其中,各所述副柜的设备地址均各不相同,且可设置一所述副柜唯一对应一设备地址。

其中,所述通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址的步骤还包括:

步骤s41,通过所述副柜在所述地址分配信息中的各身份识别标签中查询与所述副柜本地存储的本地身份识别标签一致的目标身份识别标签;

在本实施例中,需要说明的是,所述目标身份识别标签为所述地址分配信息中的身份识别标签与所述副柜本地存储的本地身份识别标签一致的标签。

通过所述副柜在所述地址分配信息中的各身份识别标签中查询与所述副柜本地存储的本地身份识别标签一致的目标身份识别标签,具体地,通过所述副柜接收所述主柜发送的地址分配信息,根据所述副柜本地存储的本地身份识别标签,在所述地址分配信息中的各身份识别标签中进行查询与所述本地身份识别标签一致的目标身份识别标签。

步骤s42,将所述目标身份识别标签对应的目标地址设置为所述副柜的设备地址。

在本实施例中,将所述目标身份识别标签对应的目标地址设置为所述副柜的设备地址,具体地,当查询到所述地址分配信息中的身份识别标签与所述副柜本地存储的本地身份识别标签一致时,将所述身份识别标签对应的目标地址设置为所述副柜的设备地址,进而通过各所述副柜分别向所述主柜返回响应于所述地址分配信息的第三应答信息。

进一步地,图2为本申请地址分配方法中通过所述主柜分配设备地址的流程示意图,其中,i为所述副柜的身份识别标签对应的目标地址,图3为本申请地址分配方法中通过所述副柜响应上报请求信息分配设备地址的流程示意图。

本申请实施例提供了一种地址分配方法,相比于现有技术采用的通过拨码开关或者软件配置进行设置设备地址的技术手段,本申请实施例首先通过所述主柜向各所述副柜发送上报请求信息,进而通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签,进一步地,通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,进而实现了通过主柜基于副柜的身份识别标签,为各副柜分配目标地址的目的,并向各所述副柜发送所述地址分配信息,进而通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址,进而实现了将各所述副柜对应的目标地址准确传输至各所述副柜的目的,所以,实现了自动为各所述副柜设置设备地址,无需用户手动操作,克服了现有技术中用户通过拨码开关或者软件配置进行设置设备地址时,若副柜数量较多,则通过传统的人工手动设置设备地址操作繁琐,工作量较大,进而导致地址分配的效率较低的技术缺陷,从而提高了地址分配的效率。

进一步地,参照图4,基于本申请中第一实施例,在本申请的另一实施例中,在所述通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址的步骤之后,所述地址分配方法还包括:

步骤a10,判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息;

在本实施例中,需要说明的是,所述数量查询信息为所述主柜生成的tick命令,用于通过所述主柜查询各所述副柜的数量。

判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息,具体地,当通过所述主柜为各所述副柜分配设备地址完成后,通过所述主柜开启定时器设置定时时间,进而通过所述主柜向各所述副柜周期性发送数量查询信息,并在预设时间内判断是否通过所述副柜接收到所述主柜向各所述副柜发送的数量查询信息,其中,所述预设时间为通过所述主柜发出数量查询信息到所述副柜接收到所述数量查询信息的时间。

步骤a20,若是,则通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,以判断各所述副柜是否发生异常;

在本实施例中,需要说明的是,所述第二应答信息为所述副柜生成的响应tick命令,用于通过所述副柜响应于所述数量查询信息。

若是,则通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,以判断各所述副柜是否发生异常,具体地,若是,则证明所述副柜接收到所述数量查询信息,进而随机生成所述副柜对应的第二应答延迟时间,当所述第二应答延迟时间到达后,通过所述副柜向所述主柜发送响应于所述数量查询信息的第二应答信息,进而通过通信总线对应的通信状态线,检测通信总线是否发生紊乱,若未发生紊乱,则证明不存在相同的第二应答延迟时间,若发生紊乱,则证明存在至少两个所述副柜对应的第二应答延迟时间相同,也即存在至少两个所述副柜同时向所述主柜返回响应于所述上报请求信息的第二应答信息,导致两个所述第二响应消息互相冗杂,使得通信状态线发生紊乱,此时,删除所述第二应答信息,进而返回执行所述通过所述主柜向各所述副柜定时发送数量查询信息的步骤。

其中,所述通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,以判断各所述副柜是否发生异常的步骤包括:

步骤b10,通过所述主柜接收各所述副柜分别向所述主柜返回响应于所述数量查询信息的第二应答信息;

在本实施例中,通过所述主柜接收各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,具体地,在通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息之后,通过所述主柜启动第二响应接收周期计时,其中,所述第二响应接收周期为通过所述主柜接收各所述副柜返回响应于所述数量查询信息的第二应答信息的时间周期。并在所述第二响应接收周期内,持续地通过所述主柜接收各所述副柜返回响应于所述数量查询信息的第二应答信息,进而在第二响应接收周期结束后,停止通过所述主柜接收所述副柜发送的第二应答信息,以避免所述主柜和所述副柜等待过久可能引起的通信障碍。

步骤b20,若所述第二应答信息的数量大于所述第一应答信息的数量,则判定所述副柜发生地址分配异常,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤;

在本实施例中若所述第二应答信息的数量大于所述第一应答信息的数量,则判定所述副柜发生地址分配异常,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤,具体地,在所述第二响应接收周期计时结束后,根据通过所述主柜在所述第二响应接收周期内接收到的第二应答信息,将所述第二应答信息的数量与所述所述第一应答信息的数量进行比较,若所述第二应答信息的数量大于所述第一应答信息的数量,则证明存在未分配设备地址的副柜,进而返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤,以重新通过所述主柜为各所述副柜分配设备地址。

步骤b30,若所述第二应答信息的数量等于所述第一应答信息的数量,则判定所述副柜未发生地址分配异常,并返回执行所述判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息的步骤;

在本实施例中,具体地,若所述第二应答信息的数量等于所述第一应答信息的数量,则判定所述副柜未发生地址分配异常,进而返回执行所述判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息的步骤。

步骤b40,若所述第二应答信息的数量小于所述第一应答信息的数量,则判定所述副柜发生故障,并剔除未向所述主柜返回所述第二应答信息的副柜的设备地址。

在本实施例中,若所述第二应答信息的数量小于所述第一应答信息的数量,则判定所述副柜发生故障,并剔除未向所述主柜返回所述第二应答信息的副柜的设备地址,具体地,若所述第二应答信息的数量小于所述第一应答信息的数量,则证明所述副柜发生故障,进而通过所述主柜剔除未向所述主柜返回所述第二应答信息的副柜的设备地址,并上报故障给设备维护人员进行检修。

步骤a30,若否,则判定所述主柜发生故障,并在各所述副柜中重新选取主柜,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤。

在本实施例中,具体地,若否,则判定所述主柜发生故障,也即无法通过所述副柜接收到所述主柜周期性向各所述副柜发送的数量查询信息,进而在各所述副柜中选取身份识别标签最小的副柜作为新的主柜,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤,以重新进行分配设备地址,同时将出现故障的主柜上报给设备维护人员进行检修。

进一步地,图5为本申请地址分配方法中通过所述主柜定时查询副柜数量的流程示意图,图6为本申请地址分配方法中通过所述副柜响应定时查询副柜数量的流程示意图。

本申请实施例提供了一种定时检测异常的方法,也即,判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息,以判断所述主柜是否发生故障,若是,则通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,以判断各所述副柜是否发生异常,若否,则判定所述主柜发生故障,并在各所述副柜中重新选取主柜,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤,并上报故障给设备维护人员进行检修,实现了定时检测异常的目的,进而实现了若所述主柜出现故障或者所述副柜发生异常时,自动重新为各所述副柜分配设备地址,无需用户手动操作,为克服用户通过拨码开关或者软件配置进行设置设备地址,若副柜发生异常或主柜出现故障,通过传统的人工手动设置设备地址操作繁琐,工作量较大,进而导致地址分配的效率较低的技术缺陷奠定了基础。

参照图7,图7是本申请实施例方案涉及的硬件运行环境的设备结构示意图。

如图7所示,该智能柜可以包括:主柜,至少一个副柜,处理器1001,例如cpu,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信以及实现所述主柜和各所述副柜之间的通信。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。

可选地,该智能柜还可以包括矩形用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。矩形用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图7中示出的智能柜结构并不构成对智能柜的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及地址分配程序。操作系统是管理和控制智能柜硬件和软件资源的程序,支持地址分配程序以及其它软件和/或,程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与地址分配系统中其它硬件和软件之间通信。

在图7所示的智能柜中,处理器1001用于执行存储器1005中存储的地址分配程序,实现上述任一项所述的地址分配方法的步骤。

本申请智能柜具体实施方式与上述地址分配方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种地址分配装置,所述地址分配装置应用于智能柜,所述地址分配装置包括:

上报请求模块,用于通过所述主柜向各所述副柜发送上报请求信息;

响应模块,用于通过各所述副柜分别向所述主柜返回响应于所述上报请求信息的第一应答信息,其中,所述第一应答信息包括所述副柜的身份识别标签;

地址分配模块,用于通过所述主柜生成具备各所述身份识别标签和各所述身份识别标签对应的目标地址的地址分配信息,并向各所述副柜发送所述地址分配信息;

设置地址模块,用于通过各所述副柜响应于所述地址分配信息,分别为各所述副柜设置设备地址。

可选地,所述响应模块还用于:

通过所述副柜接收所述上报请求信息,并生成第一应答延迟时间;

当所述第一应答延迟时间到达后,通过所述副柜向所述主柜返回响应于所述上报请求信息的第一应答信息。

可选地,所述地址分配模块还用于:

通过所述主柜对各所述身份识别标签进行排序,获得身份识别标签序列;

基于所述身份识别标签序列,通过为各所述副柜分配所述目标地址,生成目标地址序列;

基于所述身份识别标签序列和所述目标地址序列,生成所述地址分配信息

可选地,所述设置地址模块还用于:

通过所述副柜在所述地址分配信息中的各身份识别标签中查询与所述副柜本地存储的本地身份识别标签一致的目标身份识别标签;

将所述目标身份识别标签对应的目标地址设置为所述副柜的设备地址。

可选地,所述地址分配装置还用于:

启动第一响应接收周期计时,并在所述第一响应接收周期计时结束后,停止通过所述主柜接收所述副柜发送的第一应答信息。

可选地,所述地址分配装置还用于:

判断是否通过所述副柜接收到所述主柜定时向各所述副柜发送的数量查询信息;

若是,则通过各所述副柜向所述主柜返回响应于所述数量查询信息的第二应答信息,以判断各所述副柜是否发生异常;

若否,则判定所述主柜发生故障,并在各所述副柜中重新选取主柜,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤。

可选地,所述地址分配装置还用于:

通过所述主柜接收各所述副柜分别向所述主柜返回响应于所述数量查询信息的第二应答信息;

若所述第二应答信息的数量大于所述第一应答信息的数量,则判定所述副柜发生地址分配异常,并返回执行所述通过所述主柜向各所述副柜发送上报请求信息的步骤;

若所述第二应答信息的数量等于所述第一应答信息的数量,则判定所述副柜未发生地址分配异常,并返回执行所述通过所述主柜向各所述副柜定时发送数量查询信息的步骤;

若所述第二应答信息的数量小于所述第一应答信息的数量,则判定所述副柜发生故障,并剔除未向所述主柜返回所述第二应答信息的副柜的设备地址。

本申请地址分配装置的具体实施方式与上述地址分配方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的地址分配方法的步骤。

本申请可读存储介质具体实施方式与上述地址分配方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种计算机程序产品,且所述计算机程序产品包括有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的地址分配方法的步骤。

本申请计算机程序产品具体实施方式与上述地址分配方法各实施例基本相同,在此不再赘述。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜