发明内容
本发明提供一种安全策略更新方法及系统,旨在解决在进行安全策略更新时由于客户端与服务端启用安全策略的时刻不一致而导致客户端与服务端之间短时间内无法正常通信的技术问题。
为实现上述目的,本发明提供的一种安全策略更新方法,所述安全策略更新方法包括以下步骤:
第一客户端实时监听对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息;
在监听到所述ZooKeeper节点中存在安全策略更新信息时,所述第一客户端获取所述安全策略更新信息对应的安全策略;
在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,所述第一客户端将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效。
优选地,所述第一客户端获取所述安全策略更新信息对应的安全策略的步骤包括:
所述第一客户端获取所述安全策略更新信息对应的安全策略的版本信息;
所述第一客户端通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略。
优选地,所述第一客户端将当前的安全策略切换为获取到的所述安全策略的步骤包括:
所述第一客户端禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源;
在当前的安全策略禁用时,所述第一客户端启用获取到的所述安全策略。
优选地,所述第一客户端实时监听对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息的步骤之前,所述安全策略更新方法还包括:
在检测到第二客户端的安全策略更新时,安全策略平台获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端;
安全策略平台基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略;
安全策略平台下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点。
优选地,所述安全策略平台下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点的步骤之后,所述安全策略更新方法还包括:
服务端实时监听所述服务端对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息;
在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,所述服务端启用所述安全策略更新信息对应的安全策略。
此外,为实现上述目的,本发明还提供一种安全策略更新系统,所述安全策略更新系统包括:第一客户端,其中,所述第一客户端包括:
第一监听模块,用于实时监听所述第一客户端对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息;
第一获取模块,用于在监听到所述ZooKeeper节点中存在安全策略更新信息时,获取所述安全策略更新信息对应的安全策略;
切换模块,用于在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效。
优选地,所述第一获取模块包括:
第一获取单元,用于获取所述安全策略更新信息对应的安全策略的版本信息;
第二获取单元,用于通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略。
优选地,所述切换模块包括:
禁用单元,用于禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源;
启用单元,用于在当前的安全策略禁用时,启用获取到的所述安全策略。
优选地,所述安全策略更新系统还包括:安全策略平台,其中,所述安全策略平台包括:
第二获取模块,用于在检测到第二客户端的安全策略更新时,获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端;
生成模块,用于基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略;
发送模块,用于下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点。
优选地,所述安全策略更新系统还包括:服务端,其中,所述服务端包括:
第二监听模块,用于实时监听所述服务端对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息;
启用模块,用于在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,启用所述安全策略更新信息对应的安全策略。
本发明通过第一客户端实时监听对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息,接着在监听到所述ZooKeeper节点中存在安全策略更新信息时,所述第一客户端获取所述安全策略更新信息对应的安全策略,而后在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,所述第一客户端将当前的安全策略切换为获取到的所述安全策略,实现了根据ZooKeeper节点中的安全策略更新信息自动更新第一客户端的安全策略,并且通过预设时长之后使安全策略生效,实现了安全策略的延迟生效,进而使得第一客户端能够在安全策略生效之前继续采用之前的安全策略与服务端进行通信,避免了客户端与服务端之间短时间内无法正常通信的问题,提高了安全策略更新的效率。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种安全策略更新方法。
参照图1,图1为本发明安全策略更新方法第一实施例的流程示意图。
在本实施例中,该安全策略更新方法包括:
步骤S10,第一客户端实时监听对应的ZooKeeper节点中是否存在安全策略更新信息;
其中,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper节点是有生命周期的,在ZooKeeper中,按照节点类型可以将ZooKeeper节点分为持久节点、临时节点以及时序节点。
本实施例中,第一客户端实时监听第一客户端所属的域下的ZooKeeper节点,确定该第一客户端所属的域下的ZooKeeper节点中是否存在安全策略更新信息,具体地,该安全策略更新信息可以包括安全策略变更号、安全策略变更标识、或变更后的安全策略信息等,第一客户端可以根据该安全策略更新信息进行安全策略的更新。
步骤S20,在监听到所述ZooKeeper节点中存在安全策略更新信息时,所述第一客户端获取所述安全策略更新信息对应的安全策略;
在监听到所述ZooKeeper节点中存在安全策略更新信息时,第一客户端获取所述安全策略更新信息对应的安全策略,具体地,第一客户端获取所述安全策略更新信息对应的安全策略的版本信息,而后通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,即缓存安全策略平台中的所述版本信息对应的安全策略。
步骤S30,在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,所述第一客户端将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效。
其中,预设时长可以通过第一客户端进行设置,例如,预设时长可以设置为3分钟、5分钟等。在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,第一客户端将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效,进而使获取到的所述安全策略延迟生效,例如,在监听到所述安全策略更新信息3分钟之后,第一客户端将当前的安全策略切换为获取到的所述安全策略。
本实施例中,通过第一客户端实时监听对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息,接着在监听到所述ZooKeeper节点中存在安全策略更新信息时,所述第一客户端获取所述安全策略更新信息对应的安全策略,而后在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,所述第一客户端将当前的安全策略切换为获取到的所述安全策略,实现了根据ZooKeeper节点中的安全策略更新信息自动更新第一客户端的安全策略,并且通过预设时长之后使安全策略生效,实现了安全策略的延迟生效,进而使得第一客户端能够在安全策略生效之前继续采用之前的安全策略与服务端进行通信,避免了客户端与服务端之间短时间内无法正常通信的问题,提高了安全策略更新的效率。
基于第一实施例提出本发明安全策略更新方法的第二实施例,参照图2,在本实施例中,步骤S20包括:
步骤S21,所述第一客户端获取所述安全策略更新信息对应的安全策略的版本信息;
具体地,在安全策略更新信息中包含版本信息时,第一客户端通过解析该安全策略更新信息获取该安全策略更新信息对应的安全策略的版本信息,或者,第一客户端根据该安全策略更新信息通过应用程序接口API在安全策略平台中获取该安全策略更新信息对应的安全策略的版本信息。
步骤S22,所述第一客户端通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略。
在获取到版本信息时,第一客户端通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,具体地,第一客户端缓存安全策略平台中的所述版本信息对应的安全策略。
本实施例通过所述第一客户端获取所述安全策略更新信息对应的安全策略的版本信息,接着所述第一客户端通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,实现了第一客户端根据安全策略更新信息获取到安全策略,使得第一客户端能够准确的获得安全策略,提高了安全策略更新的效率。
基于第一实施例提出本发明安全策略更新方法的第三实施例,参照图3,在本实施例中,步骤S30包括:
步骤S31,所述第一客户端禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源;
具体地,第一客户端通过禁用当前的安全策略,使当前的安全策略失效,而后释放当前的所述安全策略占用的系统资源,以提高第一客户端的系统资源利用率。
步骤S32,在当前的安全策略禁用时,所述第一客户端启用获取到的所述安全策略。
在当前的安全策略失效时,第一客户端启用获取到的所述安全策略,使获取到的所述安全策略生效,以实现安全策略的更新。
本实施例通过所述第一客户端禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源,接着在当前的安全策略禁用时,所述第一客户端启用获取到的所述安全策略,使得第一客户端只存在一个生效的安全策略,避免第一客户端在发送数据时选择安全策略的问题,进而提高了第一客户端发送数据的效率。
基于第一实施例提出本发明安全策略更新方法的第四实施例,参照图4,在本实施例中,在步骤S10之前,该安全策略更新方法还包括:
步骤S40,在检测到第二客户端的安全策略更新时,安全策略平台获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端;
其中,用户(管理员)通过安全策略平台手动更新第二客户端的安全策略。在检测到第二客户端的安全策略更新时,譬如用户在安全策略平台的安全策略编辑界面编辑完成安全策略之后触发第二客户端的安全策略更新指令时,安全策略平台获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端。
步骤S50,安全策略平台基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略;
具体地,根据第二客户端的安全策略的SSL(Secure Sockets Layer安全套接层)协议及第三客户端所属的域的SSL与服务端所属的域的SSL分别生成所述第三客户端及服务端对应的安全策略。
步骤S60,安全策略平台下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点。
安全策略平台下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点,使得第三客户端以及服务端能够根据各自对应ZooKeeper节点中的全策略更新信息进行安全策略的更新。
本实施例通过在检测到第二客户端的安全策略更新时,安全策略平台获取所述第二客户端关联的第三客户端以及服务端,接着安全策略平台基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略,而后安全策略平台下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点,实现了在第二客户端的安全策略更新时安全策略平台通过下发安全策略更新信息使第三客户端以及服务端能够进行安全策略的自动更新,避免了通过人工更新第三客户端以及服务端的安全策略,进而提高了安全策略更新的效率。
基于第四实施例提出本发明安全策略更新方法的第五实施例,参照图5,在本实施例中,该安全策略更新方法还包括:
步骤S70,服务端实时监听对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息;
本实施例中,服务端实时监听服务端所属的域下的ZooKeeper节点,确定该服务端所属的域下的ZooKeeper节点中是否存在安全策略更新信息,具体地,该安全策略更新信息可以包括安全策略变更号、安全策略变更标识、或变更后的安全策略信息等,服务端可以根据该安全策略更新信息进行安全策略的更新。
步骤S80,在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,所述服务端启用所述安全策略更新信息对应的安全策略。
具体地,在监听到所述ZooKeeper节点中存在安全策略更新信息时,服务端获取所述安全策略更新信息对应的安全策略的版本信息,通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,而后服务端启用获取到的所述安全策略,以使获取到的所述安全策略生效。
本实施例中,服务端直接启用安全策略更新信息对应的安全策略,而无需使服务端启用的其他安全策略失效,即服务端当前生效多个安全策略,进而使得第一客户端无论采用服务端更新前的安全策略还是服务端更新后的安全策略均能够与服务端正常通信,进而能够避免了第一客户端与服务端之间短时间内无法正常通信的问题。
本实施例中,通过服务端实时监听对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息,接着在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,所述服务端启用所述安全策略更新信息对应的安全策略,实现了服务端安全策略的更新,使得第一客户端无论采用服务端更新前的安全策略还是服务端更新后的安全策略均能够与服务端正常通信,进而能够避免了第一客户端与服务端之间短时间内无法正常通信的问题,进一步提高了安全策略更新的效率。
本发明进一步提供一种安全策略更新系统。参照图6,图6为本发明安全策略更新系统第一实施例的功能模块示意图。
在本实施例中,该安全策略更新系统包括:第一客户端100,其中,所述第一客户端100包括:
第一监听模块110,用于实时监听所述第一客户端对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息;
本实施例中,第一监听模块110实时监听第一客户端所属的域下的ZooKeeper节点,确定该第一客户端所属的域下的ZooKeeper节点中是否存在安全策略更新信息,具体地,该安全策略更新信息可以包括安全策略变更号、安全策略变更标识、或变更后的安全策略信息等,第一客户端可以根据该安全策略更新信息进行安全策略的更新。
第一获取模块120,用于在监听到所述ZooKeeper节点中存在安全策略更新信息时,获取所述安全策略更新信息对应的安全策略;
在监听到所述ZooKeeper节点中存在安全策略更新信息时,第一获取模块120获取所述安全策略更新信息对应的安全策略,具体地,第一获取模块120获取所述安全策略更新信息对应的安全策略的版本信息,而后通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,即缓存安全策略平台中的所述版本信息对应的安全策略。
切换模块130,用于在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效。
其中,预设时长可以通过第一客户端进行设置,例如,可以设置为3分钟、5分钟等。在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,切换模块130将当前的安全策略切换为获取到的所述安全策略,以使获取到的所述安全策略生效,进而使获取到的所述安全策略延迟生效,例如,在监听到所述安全策略更新信息3分钟之后,切换模块130将当前的安全策略切换为获取到的所述安全策略。
本实施例中,通过第一监听模块110实时监听所述第一客户端对应的ZooKeeper节点,以确定所述ZooKeeper节点中是否存在安全策略更新信息,接着在监听到所述ZooKeeper节点中存在安全策略更新信息时,第一获取模块120获取所述安全策略更新信息对应的安全策略,而后在监听到所述安全策略更新信息的时间点之后的时间间隔大于预设时长时,切换模块130将当前的安全策略切换为获取到的所述安全策略,实现了根据ZooKeeper节点中的安全策略更新信息自动更新第一客户端的安全策略,并且通过预设时长之后使安全策略生效,实现了安全策略的延迟生效,进而使得第一客户端能够在安全策略生效之前继续采用之前的安全策略与服务端进行通信,避免了客户端与服务端之间短时间内无法正常通信的问题,提高了安全策略更新的效率。
基于第一实施例提出本发明安全策略更新系统的第二实施例,参照图7,在本实施例中,第一获取模块120包括:
第一获取单元121,用于获取所述安全策略更新信息对应的安全策略的版本信息;
具体地,在安全策略更新信息中包含版本信息时,第一获取单元121通过解析该安全策略更新信息获取该安全策略更新信息对应的安全策略的版本信息,或者,第一获取单元121根据该安全策略更新信息通过应用程序接口API在安全策略平台中获取该安全策略更新信息对应的安全策略的版本信息。
第二获取单元122,用于通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略。
在获取到版本信息时,第二获取单元122通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,具体地,第二获取单元122缓存安全策略平台中的所述版本信息对应的安全策略。
本实施例通过所述第一获取单元121获取所述安全策略更新信息对应的安全策略的版本信息,接着第二获取单元122通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,实现了第一客户端根据安全策略更新信息获取到安全策略,使得第一客户端能够准确的获得安全策略,提高了安全策略更新的效率。
基于第一实施例提出本发明安全策略更新系统的第三实施例,参照图8,在本实施例中,切换模块130包括:
禁用单元131,用于禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源;
具体地,禁用单元131通过禁用当前的安全策略,使当前的安全策略失效,而后释放当前的所述安全策略占用的系统资源,以提高第一客户端的系统资源利用率。
启用单元132,用于在当前的安全策略禁用时,启用获取到的所述安全策略。
在当前的安全策略失效时,启用单元132启用获取到的所述安全策略,使获取到的所述安全策略生效,以实现安全策略的更新。
本实施例通过禁用单元131禁用当前的安全策略,并释放当前的所述安全策略占用的系统资源,接着在当前的安全策略禁用时,启用单元132启用获取到的所述安全策略,使得第一客户端只存在一个生效的安全策略,避免第一客户端在发送数据时选择安全策略的问题,进而提高了第一客户端发送数据的效率。
基于第一实施例提出本发明安全策略更新系统的第四实施例,参照图9,在本实施例中,安全策略更新系统还包括:安全策略平台200,其中,所述安全策略平台200包括:
第二获取模块210,用于在检测到第二客户端的安全策略更新时,获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端;
其中,用户(管理员)通过安全策略平台手动更新第二客户端的安全策略。在检测到第二客户端的安全策略更新时,譬如用户在安全策略平台的安全策略编辑界面编辑完成安全策略之后触发第二客户端的安全策略更新指令时,第二获取模块210获取所述第二客户端关联的第三客户端以及服务端,其中,所述第三客户端包括所述第一客户端。
生成模块220,用于基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略;
具体地,生成模块220根据第二客户端的安全策略的SSL(Secure Sockets Layer安全套接层)协议,及第三客户端所属的域的SSL与服务端所属的域的SSL分别生成所述第三客户端及服务端对应的安全策略。
发送模块230,用于下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点。
发送模块230下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点,使得第三客户端以及服务端能够根据各自对应ZooKeeper节点中的全策略更新信息进行安全策略的更新。
本实施例通过在检测到第二客户端的安全策略更新时,第二获取模块210获取所述第二客户端关联的第三客户端以及服务端,接着生成模块220基于所述第二客户端的安全策略、所述第三客户端所属的域及服务端所属的域分别生成所述第三客户端及服务端对应的安全策略,而后发送模块230下发安全策略更新信息至所述第三客户端对应的ZooKeeper节点以及所述服务端对应的ZooKeeper节点,实现了在第二客户端的安全策略更新时安全策略平台通过下发安全策略更新信息使第三客户端以及服务端能够进行安全策略的自动更新,避免了通过人工更新第三客户端以及服务端的安全策略,进而提高了安全策略更新的效率。
基于第四实施例提出本发明安全策略更新系统的第五实施例,参照图10,在本实施例中,安全策略更新系统还包括:服务端300,其中,所述服务端300包括:
第二监听模块310,用于实时监听所述服务端对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息;
本实施例中,第二监听模块310实时监听服务端所属的域下的ZooKeeper节点,确定该服务端所属的域下的ZooKeeper节点中是否存在安全策略更新信息,具体地,该安全策略更新信息可以包括安全策略变更号、安全策略变更标识、或变更后的安全策略信息等,服务端可以根据该安全策略更新信息进行安全策略的更新。
启用模块320,用于在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,启用所述安全策略更新信息对应的安全策略。
具体地,在监听到所述ZooKeeper节点中存在安全策略更新信息时,启用模块320获取所述安全策略更新信息对应的安全策略的版本信息,通过应用程序接口API获取安全策略平台中的所述版本信息对应的安全策略,而后服务端启用获取到的所述安全策略,以使获取到的所述安全策略生效。
本实施例中,通过第二监听模块310实时监听所述服务端对应的ZooKeeper节点,以确定所述服务端对应的ZooKeeper节点中是否存在安全策略更新信息,接着在监听到服务端对应的ZooKeeper节点中存在安全策略更新信息时,启用模块320启用所述安全策略更新信息对应的安全策略,实现了服务端安全策略的更新,使得第一客户端无论采用服务端更新前的安全策略还是服务端更新后的安全策略均能够与服务端正常通信,进而能够避免了第一客户端与服务端之间短时间内无法正常通信的问题,进一步提高了安全策略更新的效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。