一种代理端注册方法、系统及相关装置与流程

文档序号:20202926发布日期:2020-03-27 20:49阅读:285来源:国知局
一种代理端注册方法、系统及相关装置与流程

本申请涉及权限管理领域,特别涉及一种代理端注册方法、系统及相关装置。



背景技术:

b/s结构的安全应用主要形式为管理端同时管理多个代理端,通过管理端导入授权证书,由管理端继续授权给代理端,通常会有数量等限制。实际使用中,代理端可能是虚拟机,有时会有克隆虚拟机的操作,此操作完全克隆了相同的一个虚拟机,所以会有两台除了ip完全一致的代理端,而因为ip在真实环境中经常是hdcp动态获取,经常存在变动,无法作为唯一标识,所以在管理端接收到完全一样的数据,两个客户端都有可能接收数据。是管理端的授权功能无法准确控制代理端数量,造成损失。



技术实现要素:

本申请的目的是提供一种代理端注册方法、系统、计算机可读存储介质和终端,能够有效克制克隆机器造成的机器使用混乱问题。

为解决上述技术问题,本申请提供一种代理端注册方法,具体技术方案如下:

管理端接收所述代理端发送的心跳信息,判断管理端数据库中是否包含所述心跳信息中的uuid;其中,所述心跳信息由所述代理端的mac地址和时间戳信息生成;

若否,判断所述心跳信息中的第一哈希计数器是否为0;所述第一哈希计数器用于指示所述心跳信息的心跳ip变换状态;

若所述第一哈希计数器不为0,告知所述代理端重新注册;

若所述第一哈希计数器为0,允许所述代理端注册。

其中,若所述管理端数据库中包含所述心跳信息中的uuid,还包括:

判断所述心跳信息的心跳ip与上一次接收到的心跳ip是否相同;

若否,在所述代理端对所述uuid进行哈希计算得到第二uuid后,接收所述uuid和所述第二uuid;

其中,所述代理端每进行一次哈希计算,所述第一哈希计数器加1。

其中,接收所述uuid和所述第二uuid之后,还包括:

对所述第二uuid进行哈希计算得到新的uuid,且每进行一次哈希计算,第二哈希计数器加1;

当所述第二哈希计数器与所述第一哈希计数器相等时,判断所述第二uuid与当前经过哈希计算的第三uuid是否相同;

若是,将所述第二uuid和所述第一哈希计算器值更新至所述管理端数据库;

若否,告知所述代理端重新注册。

其中,在所述代理端重新注册前,还包括:

删除所述uuid和所述第二uuid,并重置所述第一哈希计数器。

其中,对所述第二uuid进行哈希计算得到新的uuid包括:

对所述第二uuid利用预设对称算法加密后,进行哈希计算得到新的uuid。

其中,所述代理端与所述管理端通过rabbitmq通信。

本申请还提供一种代理端注册系统,包括:

第一判断模块,用于接收所述代理端发送的心跳信息,判断管理端数据库中是否包含所述心跳信息中的uuid;其中,所述心跳信息由所述代理端的mac地址和时间戳信息生成;

第二判断模块,用于所述第一判断模块判断结果为否时,判断所述心跳信息中的第一哈希计数器是否为0;所述第一哈希计数器用于指示所述心跳信息的心跳ip变换状态;

禁止注册模块,用于所述第二判断模块判断结果为否时,告知所述代理端重新注册;

允许注册模块,用于所述第二判断模块判断结果为是时,允许所述代理端注册。

其中,还包括:

第三判断模块,用于所述第一判断模块判断结果为是时,判断所述心跳信息的心跳ip与上一次接收到的心跳ip是否相同;若否,在所述代理端对所述uuid进行哈希计算得到第二uuid后,接收所述uuid和所述第二uuid;其中,所述代理端每进行一次哈希计算,所述第一哈希计数器加1。

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

本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。

本申请提供一种代理端注册方法,包括:管理端接收所述代理端发送的心跳信息,判断管理端数据库中是否包含所述心跳信息中的uuid;其中,所述心跳信息由所述代理端的mac地址和时间戳信息生成;若否,判断所述心跳信息中的第一哈希计数器是否为0;所述第一哈希计数器用于指示所述心跳信息的心跳ip变换状态;若所述第一哈希计数器不为0,告知所述代理端重新注册;若所述第一哈希计数器为0,允许所述代理端注册。

本申请通过判断代理端的发送的uuid是否与自身数据库相同,以判断该代理端是否已注册。若未注册,还需要进一步根据第一哈希计数器的计数情况区分是否为克隆机,由于克隆机的mac地址相同但ip地址不同,因此可以通过判断心跳信息的心跳ip确定是否为克隆机,若第一哈希计数器为0,说明该代理端并非克隆机,允许注册。本申请能够有效控制克隆机器场景下的一个授权多个代理端使用问题,保护厂商权益。本申请还提供一种代理端注册方法、系统、计算机可读存储介质和终端,具有上述有益效果,此处不再赘述。

附图说明

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

图1为本申请实施例所提供的一种代理端注册方法的流程图;

图2为本申请实施例所提供的一种代理端注册系统结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种代理端注册方法的流程图,该方法包括:

s101:管理端接收代理端发送的心跳信息,判断管理端数据库中是否包含心跳信息中的uuid;若否,进入s102;

本申请实施例中,管理端指的是可以同时管理多个代理端的web系统,通过心跳信息维护与代理端的在线状态,通过通讯组件(如rabbitmq)完成控制端与代理端之间的数据交互。代理端主指安装了代理程序,具体进行业务处理的服务器或者主机。心跳信息为定时发送或接收的消息,并且校验消息内容是否正确,正确的情况下说明心跳有效,代理端在线。

心跳信息需要根据mac地址和时间戳信息生成,因此管理端可以根据mac地址区分不同的代理端,而即使是同一个代理端,由于和管理端进行心跳信息交互时的时间戳不同,每次发送的心跳信息也并不相同。

若是该心跳信息在管理端数据库中存在,意味着存在相同mac地址的代理端设备在同一时间戳生成了该uuid并发送到了管理端。通常,这种情况为代理端离线后重连。即代理端离线后与管理端重新建立连接,其向管理端发送的uuid为离线前保留的最后一个uuid,则说明该代理端已经注册过,仅仅是重新建立与管理端的连接,无需重新注册。

s102:判断心跳信息中的第一哈希计数器是否为0;若否,进入s103;若是,进入s104;

而当管理端数据库中不包含心跳信息中的uuid时,由于存在克隆及其的可能。对于管理端而言,克隆产生的机器mac地址均相同,一旦在同一时间生成心跳信息,则得到的心跳信息也相同。因此管理端按照mac地址区分代理端时,将无法满足原本需求的代理端设备同时连接。举例而言,管理端可以同时与五个代理端abcde建立连接,而一旦原目标中的五个代理端存在克隆代理端,即存在a1、a2作为a的克隆端,由于mac地址相同,导致将会使得a1、a2有可能成为管理端的连接目标,势必影响b、c、d、e与管理端建立连接。

因此即使管理端数据库中不包含心跳信息中的uuid,并不能直接确定该代理端是否为新的代理端。此时可以判断心跳信息中的第一哈希计数器是否为0,第一哈希计数器时代理端用于指示心跳信息的心跳ip变换状态的计数器。具体的,每当代理端对uuid计算得到新的uuid用于建立与管理端的连接时,第一哈希计数器加1。

s103:若第一哈希计数器不为0,告知代理端重新注册;

当管理端数据库不包含该uuid,但第一哈希计数不为0,认为该代理端为克隆的代理端,此时需要该代理端重新注册。在重新注册后,使其与被克隆的代理端的uuid产生区别。

s104:若第一哈希计数器为0,允许代理端注册。

当管理端数据库不包含该uuid,且第一哈希计数为0时,认为该代理端并非克隆的代理端,因此允许该代理端注册。

本申请实施例通过判断代理端的发送的uuid是否与自身数据库相同,以判断该代理端是否已注册。若未注册,还需要进一步根据第一哈希计数器的计数情况区分是否为克隆机,由于克隆机的mac地址相同但ip地址不同,因此可以通过判断心跳信息的心跳ip确定是否为克隆机,若第一哈希计数器为0,说明该代理端并非克隆机,允许注册。本申请能够有效控制克隆机器场景下的一个授权多个代理端使用问题,保护厂商权益。

在上述实施例的基础上,管理端数据库中包含心跳信息中的uuid,还可以包括如下步骤:

判断心跳信息的心跳ip与上一次接收到的心跳ip是否相同;

若否,在代理端对uuid进行哈希计算得到第二uuid后,接收uuid和第二uuid;其中,代理端每进行一次哈希计算,第一哈希计数器加1。

当管理端数据库中存在该uuid时,判断两次心跳信息的心跳ip是否相同。若不同代理端对uuid进行哈希计算,得到第二uuid,并将uuid和第二uuid均发送至管理端。

而管理端并不对uuid进行计算,只对第二uuid进行哈希计算,得到新的uuid,且每进行一次哈希计算,管理端中的第二哈希计数器加1。

当第二哈希计数器与第一哈希计数器相等时,判断第二uuid与当前经过哈希计算的第三uuid是否相同;

若相同,将第二uuid和第一哈希计算器值更新至管理端数据库;

若不同,告知代理端重新注册。

本申请实施例在上述实施例的基础上,虽然代理端的克隆设备在上一实施例被禁止注册,但一旦其与被克隆端在不同的时间戳生成uuid,将到导致管理端错误识别,因此,管理端需要经过与代理端相同次数的哈希计算,以避免该克隆端通过在另一时间生成的uuid与被克隆端不同而欺骗管理端。由于克隆端和被克隆端的初始uuid均相同,因此对初始uuid经过相同次数的计算得到的uuid应当是相同的。因此,本申请实施例可以实现克隆端在第一次被禁止注册后的二次禁止。

在上述实施例的基础上,在代理端重新注册前,还包括:

删除uuid和第二uuid,并重置第一哈希计数器。

由于克隆端与被克隆端的初始uuid相同,因此,为了避免上一实施例中所描述的情况,需要克隆的代理端删除自身已保存的uuid和第二uuid,并重置第一哈希计数器。同时其需要一个新的mac地址,以区分其他代理端,这样才能保证避免管理端错误识别和连接。

在上述各实施例的基础上,作为更优选的实施例,无论是在代理端进行哈希计算,还是在管理端进行哈希计算,均可以先利用预设对称算法加密,在进行哈希计算。例如管理端可以对第二uuid利用预设对称算法加密,代理端可以对uuid利用预设对称算法加密。在此对于预设算法不做限定,其可以为aes加密等等。

下面对本申请实施例提供的一种代理端注册系统进行介绍,下文描述的代理端注册系统与上文描述的代理端注册方法可相互对应参照。

参见图2,图2为本申请实施例所提供的一种代理端注册方法的流程图,本申请还提供一种代理端注册系统,包括:

第一判断模块100,用于接收所述代理端发送的心跳信息,判断管理端数据库中是否包含所述心跳信息中的uuid;其中,所述心跳信息由所述代理端的mac地址和时间戳信息生成;

第二判断模块200,用于所述第一判断模块判断结果为否时,判断所述心跳信息中的第一哈希计数器是否为0;所述第一哈希计数器用于指示所述心跳信息的心跳ip变换状态;

禁止注册模块300,用于所述第二判断模块判断结果为否时,告知所述代理端重新注册;

允许注册模块400,用于所述第二判断模块判断结果为是时,允许所述代理端注册。

在上述实施例的基础上,作为优选的实施例,还可以包括:

第三判断模块,用于所述第一判断模块判断结果为是时,判断所述心跳信息的心跳ip与上一次接收到的心跳ip是否相同;若否,在所述代理端对所述uuid进行哈希计算得到第二uuid后,接收所述uuid和所述第二uuid;其中,所述代理端每进行一次哈希计算,所述第一哈希计数器加1。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述终端还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1