具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
如图1所示,是本发明实施例设备控制方法的流程图,包括以下步骤:
步骤101,接收第一控制设备的独占控制请求,进入独占模式;
比如,第一控制设备欲对被控设备进行连续和/或关键操作之前,可以向被控设备发送独占控制请求,以使被控设备进入独占模式。
被控设备接收到所述独占控制请求后,进入独占模式。优选地,被控设备可以向第一控制设备返回对应所述独占控制请求的响应消息,以告知第一控制设备独占模式已经启用。
如果有多个控制设备都向被控设备发送了独占控制请求,则被控设备可以采用先到先得的策略,进入对应相应控制设备的独占模式。
步骤102,接收第一访问请求。
步骤103,在所述独占模式的有效时间内,判断所述第一访问请求是否为所述第一控制设备发送的访问请求;若是,则执行步骤104;否则,执行步骤105。
具体地,接收到第一控制设备的独占控制请求后,可以根据该请求的地址信息等来确定其对应的第一控制设备,为此,可以记录其设备ID、IP地址、MAC地址、证书、证书散列值等信息。在判断所述第一访问请求是否为所述第一控制设备发送的访问请求时,根据记录的设备信息即可确定。
步骤104,执行所述第一访问请求。
步骤105,根据独占条件确定是否执行所述第一访问请求,或直接拒绝或丢弃所述第一访问请求。
也就是说,所述独占模式如果是针对所述第一控制设备的,则在该独占模式有效期间,第一控制设备作为独占者拥有对该被控设备的访问权限,而对于其他控制设备的访问请求,则可以根据独占条件有多种不同的处理方式。
在本发明实施例中,所述独占条件可以是预置的与所述第一控制设备对应的独占条件。比如,可以是在一定时间内(如60s)和/或在一定数目的命令调用内(如5次)只允许该独占控制请求发起者对被控设备进行访问。也就是说,对于不同的控制设备发起的独占控制请求,启动的独占模式的独占条件可以是相同的。
另外,为了进一步方便用户的灵活应用,控制设备在发送独占控制请求时,还可以在所述独占控制请求中携带独占条件信息。被控设备接收到该独占控制请求后,可以根据所述独占控制请求中的独占条件信息设置对应该独占模式的独占条件。或者,控制设备也可以先通过一个或多个独占控制命令设置独占条件,然后向被控设备发送用于启动独占模式的独占控制命令,命令被控设备启动应用预先设定的独占条件的独占模式。这样,可以针对不同的控制设备,设置不同的独占条件,从而可以为不同的控制设备提供区别服务。
在本发明实施例中,被控设备可以根据多种不同方式确定所述独占模式是否在有效时间内。比如:
(1)根据预先设定的第一控制设备与独占有效时间之间的关系确定所述独占模式的有效时间;或者
在所述控制请求中携带独占时间信息,根据所述独占时间信息确定所述有效时间。
(2)根据预先设定的所述第一设备与连续访问请求数信息之间的关系确定所述第一控制设备的独占连续访问请求数,若已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占连续访问请求数,则所述独占模式在所述有效时间内;或者
在所述控制请求中携带请求数阈值信息,根据所述请求数阈值信息,确定所述第一控制设备的独占访问请求数阈值,若已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占访问请求数阈值,则所述独占模式在所述有效时间内。
(3)根据预先设定的第一控制设备与独占有效时间之间的关系确定第一时间,并且根据预先设定的第一控制设备与连续访问请求数信息之间的关系确定所述第一控制设备的独占连续访问请求数;如果当前时间在所述第一时间内,并且已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占连续访问请求数,则所述独占模式在所述有效时间内;或者
在所述控制请求中携带独占时间信息,以及请求数阈值信息,根据所述独占时间信息确定第二时间,根据所述请求数阈值信息,确定所述第一控制设备的独占访问请求数阈值;如果当前时间在所述第二时间内,并且已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占访问请求数阈值,则所述独占模式在所述有效时间内。
需要说明的是,在本发明实施例中,独占有效时间过期后,对应的独占模式可以自动失效;另外,也可以由独占控制设备或其他控制设备主动提前解除所述独占模式。为此,本发明实施例的方法还可进一步包括以下步骤:
接收独占模式解除请求;若所述独占模式解除请求为所述第一控制设备发送的请求,或为等级高于所述第一控制设备的等级的控制设备发送的请求,则解除所述独占模式。
另外,所述独占模式也可以在被控设备重启后自动失效。
在本发明实施例中,还可进一步包括以下步骤:在所述独占模式的有效时间内,如果所述第一访问请求是所述第一控制设备发送的访问请求,则更新所述独占模式的有效期(例如,原有效期设置为60s,独占控制设备可能通过独占控制命令将独占有效期更新为80s,此时被控设备重新开始计时);或者,在独占有效时间内控制设备发送的其他任何访问请求都会导致独占条件自动更新(例如,原有效期设置为60s,独占控制设备发送的其他访问请求将导致被控设备重新开始60s计时)。这样,可以充分保证独占控制设备对被控设备的操作。
当然,本发明实施例并不仅限于上述这些方式,还可以采用其他方式解除所述独占模式或更新独占有效期。
在独占模式失效或解除后,被控设备可以接受所有控制设备的访问。
如图2所示,是本发明实施例设备控制方法中控制设备与被控设备之间的消息交互流程,包括以下步骤:
201.第一控制设备向被控设备发送独占控制请求;
202.被控设备接收到所述独占控制请求后,进入独占模式;
203.被控设备向第一控制设备返回响应消息,以指示独占模式启用;
204.第一控制设备向被控设备发送访问请求;
205.被控设备接收到所述访问请求后,确定独占模式有效,并且请求者为当前独占控制设备,则接受该访问请求;
206.被控设备向第一控制设备返回访问请求的响应消息;
207.第二控制设备向被控设备发送访问请求;
208.被控设备接收到所述访问请求后,确定请求者为第二控制设备,根据独占条件确定如何响应;
209.返回错误码以拒绝该访问请求,或推迟响应,或返回响应消息但推迟执行操作。当然,被控设备也可以直接丢弃该访问请求。
可见,本发明实施例设备控制方法,由被控设备根据控制设备的独占控制请求,决定哪个控制设备可以临时对被控设备进行独占,在独占模式有效时间内,对于独占的控制设备的访问请求正常执行,而对于其他控制设备的访问请求则根据所述独占条件确定是否执行,或直接拒绝或丢弃所述其他控制设备的访问请求,从而保证了独占的控制设备对被控设备进行连续操作以及重要操作的可靠性和效率,避免了多控制设备同时控制情况下可能出现的对被控设备进行的重要操作产生干扰。
为了进一步加强应用的灵活性,在本发明实施例中,还可以对每个控制设备设定一个访问级别,并设置对应各访问级别的控制策略,这些操作可以通过网络中的控制中心或任一控制设备或被控设备来完成,本发明实施例对此不做限定,但需要被控设备能够得到这些信息。
这样,被控设备在启动独占模式之前,即上述步骤202之前,确定所述第一控制设备的访问级别是否具有独占权限,若是,则执行所述进入独占模式;否则可以不启动独占模式,即禁止第一控制设备对被控设备的独占。另外,在独占模式有效时间内,被控设备还可以根据对应各访问级别的控制策略解除所述独占模式。
另外,在本发明实施例中,所述独占条件信息中可以包含独占访问接口信息,所述独占访问接口是指:被控设备上的一些受到独占模式影响的访问接口。当独占模式启动时,例如重启等访问接口一般会对被控设备的连续执行操作有中断影响,因而这类接口需要在被控设备进入独占模式后严禁非独占设备进行访问;再例如获取设备信息/状态等接口一般不会影响被控设备连续执行操作指令,因而可不必受独占模式影响,即即使在独占有效时间内,其他任何控制设备也可以对该接口正常访问。
所述独占访问接口信息可以用于指示允许访问的接口,也可以用于指示禁止访问的接口。这样,在被控设备执行所述第一访问请求之前,确定所述第一访问请求请求访问的接口;如果所述第一访问请求请求访问的接口包含在所述独占访问接口信息中,则执行所述第一访问请求;否则,拒绝所述第一访问请求;或者如果所述第一访问请求请求访问的接口包含在所述独占访问接口信息中,则拒绝所述第一访问请求;否则,执行所述第一访问请求。这样可以更好地保证被控设备的安全性。当然,在独占模式失效或解除后,被控设备可以接受其他控制设备的访问。此时,同样可以根据预先设置的各控制设备对应的可访问的接口集合来决定对哪些接口限制访问。
在本发明另一实施例中,所述独占条件信息中还可进一步包含控制设备的信息集或指定级别,这样,所述根据独占条件确定是否执行所述第一访问请求可以具体为:如果所述第一访问请求为第二控制设备发送的访问请求,并且所述第二控制设备包含在所述信息集中、或者所述第二控制设备的级别为所述指定级别,则执行所述第一访问请求。
在本发明另一实施例中,所述根据独占条件确定是否执行所述第一访问请求可以具体为:如果所述第一访问请求为第二控制设备发送的访问请求,并且所述第二控制设备的级别高于所述第一控制设备的级别,则执行所述第一访问请求。
在本发明另一实施例中,所述根据独占条件确定是否执行所述第一访问请求可以具体为:拒绝所述其他控制设备的访问请求;或者推迟执行所述其他控制设备的访问请求;或者丢弃所述其他控制设备的访问请求。
当然,本发明实施例并不仅限于上述这几种方式,依据该思想,还可以有多种变形,下面对此举例说明。
假设为控制设备设置了对应的访问级别,从低到高为Public->Basic->Admin,每个级别对应了可以访问的接口集合。其中,Public身份的控制设备对于被控设备来说是不可信的,因而仅可以访问对被控设备状态影响不大的接口,例如获取设备当前状态GetStatus();Basic身份的控制设备可以访问更多的接口,例如重启设备Reboot();Admin身份的控制设备可以访问所有接口。
为此,可以设置如下一个或多个策略,以便对设备进行保护。
(1)对于启用/停用独占模式接口,只有Basic/Admin(或只有Admin)身份的控制设备能够调用。这样意味着Public身份的未被信任的控制设备是无法请求被控设备启动独占模式的,从而可以避免被控设备遭到非法控制设备独占。
(2)由Basic身份的控制设备请求启动的独占模式,可以被Admin身份的控制设备中止,或者,Admin身份的控制设备可以无视独占模式是否已启用而照常对被独占的被控设备进行控制。
(3)由Admin身份的控制设备请求启动的独占模式,不可以被Basic身份的控制设备中止,只能够由自己中止或者等到独占条件不再满足后自动解除独占模式。
本发明实施例设备控制方法,不仅可以保证独占的控制设备对被控设备进行连续操作以及重要操作的可靠性和效率,避免多控制设备同时控制情况下可能出现的对被控设备进行的重要操作产生干扰,而且还可进一步保证被控设备各接口的安全性。
需要说明的是,在本发明实施例中,控制设备向被控设备发送的独占控制请求可以通过多种方式实现,下面举例进行详细说明。
一、通过控制命令来实现
比如,可以设置独占模式命令SetMonopolizationMode(),其中的参数如下表1所示。
表1:
Argument |
Direction |
relatedStateVariable |
Enable |
IN |
MonopolizationEnable |
Mode |
IN |
MonopolizationMode |
Policv |
IN |
MonopolizationPolicy |
其中,各参数的定义如下:
(1)Enable参数(Boolean),为1时命令被控设备启用独占模式,为0时命令被控设备停止独占模式。该参数不是必选,即可以另外定义停止独占模式的控制命令,例如StopMonopolization()。
(2)Mode参数(String),该参数用于设置独占条件。可选的值包括:Duration(持续时间)、Times(次数)以及Hybrid(混合型),各取值实例具体举例如下:
Duration=30s,表示30秒内要求独占该被控设备;
Times=6,表示后续6次访问请求内要求独占该被控设备;
Hybrid=30s,6,表示持续时间及次数都必需满足后被控设备自动解除独占,或者有一个满足后被控设备自动解除独占。
(3)Policy参数(String),该参数用于设置独占策略,是可选参数,其具体取值举例如下:
MonopolizedInterfaces=Reboot FactoryReset FirmwareUpgrade,这样表示列出的接口在独占期间是不允许非独占控制设备访问的,其他的接口则可以被独占控制设备和非控制设备正常访问;
FreeInterfaces=GetStatus GetValues,这样表示列出的接口在独占期间是可以照常被独占控制设备和非控制设备正常访问的,而其他的接口则不可以被非独占控制设备访问。
另外,对于上述的一个或多个参数对应的状态变量,可以设置为变化时产生事件,例如:
当控制设备向被控设备发送控制命令导致MonopolizationEnable由原来的0变为1时,被控设备可以向订阅事件的控制设备发送单播事件,其中携带变化的状态变量的最新值,以使其他控制设备可以获取到该消息;或者,被控设备向指定的多播地址发送多播事件,其中携带变化的状态变量的最新值,这样任何控制设备在该多播端口监听则可以获取到该消息,从而决定自己是否还需要向被控设备发送控制命令。
二、通过数据模型来实现
通过设备数据模型可以定义若干节点和参数,以通过树形结构反映该设备的功能组成、信息和配置状态。例如,如下数据模型片段反映了设备的信息,包括设备名称、软件版本、提供商信息等等:
Device/DeviceInfo/
FriendlyName
ProvisioningCode
SoftwareVersion
SoftwareDescription
在本发明实施例中,可以通过通用的设置数据模型的接口设置数据模型中的相应参数,以请求被控设备启动或解除独占模式。
例如,在设备数据模型中定义一个节点用于描述独占模式信息,例如:
Devcie/Monopolization/
Enable
Mode
Policy
其中,Enable、Mode、Policy参数的取值可以参考上面的描述。
控制设备可以通过通用的设置数据模型的接口,比如SetValues()设置这些参数值,以便启动或解除独占模式,进一步地,还可以设置独占条件等信息。
另外,控制设备还可以通过通用的数据模型读取接口,比如GetValues()查询当前被控设备是否处于独占模式。
当然,上面的描述仅是对控制设备向被控设备发送的独占控制请求的具体实现方式的举例,本发明实施例并不仅限于上述这两种方式,还可以有其他类似的实现方式,例如二者的结合,即控制设备通过操作被控设备的数据模型设置独占条件再通过独占模式命令被控设备启动应用了上述独占条件的独占模型,在此不再一一列举。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
相应地,本发明实施例还提供一种网络设备,如图3所示,是该网络设备的一种结构示意图。
在该实施例中,所述网络设备包括:接收单元301、控制单元302和响应单元303。其中:
接收单元301,用于接收独占控制请求和访问请求。
控制单元302,用于在所述接收单元301接收到第一控制设备的独占控制请求后,控制所述网络设备进入独占模式。
判断单元303,用于在所述独占模式有效时间内,在所述接收单元301接收到第一访问请求后,判断所述第一访问请求是否为所述第一控制设备发送的访问请求;
执行单元304,用于在所述判断单元303的判断结果为所述第一访问请求是所述第一控制设备发送的访问请求时,执行所述第一访问请求;否则根据独占条件确定是否执行所述第一访问请求,或直接拒绝或丢弃所述第一访问请求。
在本发明实施例中,所述独占条件可以是:预置的与所述第一控制设备对应的独占条件,比如将所述独占条件存储在所述网络设备中。
另外,所述接收单元,还可用于接收带独占条件信息,比如,控制设备可以在发送的所述独占控制请求中携带独占条件信息,或者控制设备也可以先通过一个或多个独占控制命令设置独占条件。这样,可以针对不同的控制设备,设置不同的独占条件,从而可以为不同的控制设备提供区别服务。为此,所述网络设备还包括:独占条件确定单元(未图示),用于根据所述独占条件信息确定所述独占条件。
在本发明实施例中,可以有多种不同方式确定所述独占模式是否在有效时间内。比如:
在本发明网络设备的一个实施例中,所述网络设备还包括:第一时间确定单元或第二时间确定单元,其中:
所述第一时间确定单元,用于根据预先设定的第一控制设备与独占有效时间之间的关系确定所述独占模式的有效时间;或者
所述第二时间确定单元,用于所述控制请求中携带的独占时间信息确定所述有效时间。
在本发明网络设备的一个实施例中,所述网络设备还包括:第三时间确定单元或第四时间确定单元,其中:
所述第三时间确定单元,用于根据预先设定的所述第一设备与连续访问请求数信息之间的关系确定所述第一控制设备的独占连续访问请求数,若已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占连续访问请求数,则确定所述独占模式在所述有效时间内;或者
所述第四时间确定单元,用于根据所述控制请求中携带的请求数阈值信息,确定所述第一控制设备的独占访问请求数阈值,若已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占访问请求数阈值,则确定所述独占模式在所述有效时间内。
在本发明网络设备的一个实施例中,所述网络设备还包括:第五时间确定单元或第六时间确定单元,其中:
所述第五时间确定单元,用于根据预先设定的第一控制设备与独占有效时间之间的关系确定第一时间,并根据预先设定的第一控制设备与连续访问请求数信息之间的关系确定所述第一控制设备的独占连续访问请求数;如果当前时间在所述第一时间内,并且已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占连续访问请求数,则确定所述独占模式在所述有效时间内;或者
所述第六时间确定单元,用于根据所述控制请求中携带的独占时间信息确定第二时间,以及根据所述控制请求中携带的请求数阈值信息,确定所述第一控制设备的独占访问请求数阈值;如果当前时间在所述第二时间内,并且已记录的所述第一控制设备在所述独占模式下的访问请求数小于所述独占访问请求数阈值,则确定所述独占模式在所述有效时间内。
本发明实施例网络设备,根据控制设备的独占控制请求,决定哪个控制设备可以临时对该网络设备进行独占,在独占模式有效时间内,对于独占的控制设备的访问请求正常执行,而对于其他控制设备的访问请求则根据独占条件确定是否执行,或直接拒绝或丢弃所述其他控制设备的访问请求,从而保证了独占的控制设备对该网络设备进行连续操作以及重要操作的可靠性和效率,避免了多控制设备同时控制情况下可能出现的对该网络设备进行的重要操作产生干扰。
在本发明网络设备的另一实施例中,所述网络设备还可进一步包括:更新单元(未图示),用于在所述独占模式的有效时间内,如果所述第一访问请求是所述第一控制设备发送的访问请求,则更新所述独占模式的有效期,从而可以充分保证独占控制设备对该网络设备的操作。
如图4所示,是本发明实施例网络设备的另一种结构示意图。
与图3所示实施例不同的是,在该实施例中,所述独占条件信息中包含独占访问接口信息,所述网络设备还包括:
访问接口确定单元305,用于确定所述第一访问请求请求访问的接口,并将确定结果通知给所述执行单元304。
相应地,所述执行单元304包括:独占执行子单元和条件执行子单元,其中:
所述独占执行子单元,用于在所述判断单元303的判断结果为所述第一访问请求是所述第一控制设备发送的访问请求时,执行所述第一访问请求;
所述条件执行子单元,用于在所述判断单元303的判断结果为所述第一访问请求不是所述第一控制设备发送的访问请求,且所述访问接口确定单元305的确定结果为所述第一访问请求请求访问的接口包含在所述独占访问接口信息中时,执行所述第一访问请求;否则,拒绝所述第一访问请求;或者在所述判断单元303的判断结果为所述第一访问请求不是所述第一控制设备发送的访问请求,且所述访问接口确定单元305的确定结果为所述第一访问请求请求访问的接口包含在所述独占访问接口信息中时,拒绝所述第一访问请求;否则,执行所述第一访问请求。
本发明实施例网络设备,不仅可以保证独占的控制设备对该网络设备进行连续操作以及重要操作的可靠性和效率,避免多控制设备同时控制情况下可能出现的对该网络设备进行的重要操作产生干扰,而且还可进一步保证该网络设备各接口的安全性。
可选地,在图3和图4所示实施例中,所述独占条件信息中还可进一步包含控制设备的信息集或指定级别。相应地,所述执行单元304根据独占条件确定是否执行所述第一访问请求时,如果所述第一访问请求为第二控制设备发送的访问请求,并且所述第二控制设备包含在所述信息集中、或者所述第二控制设备的级别为所述指定级别,则执行所述第一访问请求。
可选地,在图3和图4所示实施例中,所述执行单元304在根据独占条件确定是否执行所述第一访问请求时,还可以按照以下方式来执行:如果所述第一访问请求为第二控制设备发送的访问请求,并且所述第二控制设备的级别高于所述第一控制设备的级别,则执行所述第一访问请求。
可选地,在图3和图4所示实施例中,所述执行单元304根据独占条件确定是否执行所述第一访问请求时,可以拒绝所述其他控制设备的访问请求;或者推迟执行所述其他控制设备的访问请求;或者丢弃所述其他控制设备的访问请求。
如图5所示,是本发明实施例网络设备的另一种结构示意图。
与图3所示实施例的区别在于,在该实施例中,每个控制设备对应一个访问级别。相应地所述网络设备还进一步包括:
权限确定单元306,用于在所述控制单元302控制所述网络设备进入独占模式之前,根据所述第一控制设备的访问级别确定所述第一控制设备的访问级别是否具有独占权限,若是,则通知所述控制单元302控制所述网络设备进入独占模式。
需要说明的是,所述权限确定单元306同样可以应用于图4所示实施例中。
在上述各实施例中,所述接收单元302,还可进一步用于接收独占模式解除请求。
相应地,所述判断单元303,还进一步用于在所述独占模式有效时间内,判断所述独占模式解除请求是否为所述第一控制设备发送的请求,或为等级高于所述第一控制设备的等级的控制设备发送的请求。所述执行单元304,还进一步用于在所述判断单元303判断所述独占模式请求为所述第一控制设备发送的请求,或为等级高于所述第一控制设备的等级的控制设备发送的请求后,解除所述独占模式。
本发明实施例网络设备,不仅可以保证独占的控制设备对该网络设备进行连续操作以及重要操作的可靠性和效率,避免多控制设备同时控制情况下可能出现的对该网络设备进行的重要操作产生干扰,而且对第一控制设备的访问级别是否具有独占权限的确定,进一步保证了网络设备的安全性。
相应地,本发明实施例还提供一种网络系统,所述系统包括:被控设备和第一控制设备;其中:
所述第一控制设备,用于向所述被控设备发送独占控制请求及访问请求;
所述被控设备,用于接收第一控制设备的独占控制请求,进入独占模式;并接收第一访问请求,在所述独占模式的有效时间内,判断所述第一访问请求是否为所述第一控制设备发送的访问请求,若是,则执行所述第一访问请求;否则根据独占条件确定是否执行所述第一访问请求,或直接拒绝或丢弃所述第一访问请求。
在本发明实施例中,所述独占条件可以是:预置的与所述第一控制设备对应的独占条件。
在本发明的另一实施例中,所述独占条件是由所述第一控制设备发送给所述被控设备的,比如,在发送的所述独占控制请求中携带独占条件信息,或者也可以先通过一个或多个独占控制命令设置独占条件。这样,可以针对不同的控制设备,设置不同的独占条件,从而可以为不同的控制设备提供区别服务。
相应地,被控设备,还用于接收独占条件信息,并根据所述独占条件信息确定所述独占条件。
本发明实施例网络系统,可以保证独占的第一控制设备对被控设备进行连续操作以及重要操作的可靠性和效率,避免多控制设备同时控制情况下可能出现的对被控设备进行的重要操作产生干扰。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。