CN104754029B - 确定主管理服务器的方法、装置和*** - Google Patents
确定主管理服务器的方法、装置和*** Download PDFInfo
- Publication number
- CN104754029B CN104754029B CN201510072084.4A CN201510072084A CN104754029B CN 104754029 B CN104754029 B CN 104754029B CN 201510072084 A CN201510072084 A CN 201510072084A CN 104754029 B CN104754029 B CN 104754029B
- Authority
- CN
- China
- Prior art keywords
- management server
- server
- master management
- message
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种确定主管理服务器的方法、装置和***,涉及数据处理领域,所述方法包括步骤1:向已知的管理服务器发送询问报文,询问是否是主管理服务器;步骤2:接收管理服务器返回的应答报文;步骤3:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。本发明能够保证正常运行过程中,***只存在一个主管理服务器,避免了管理服务器之间处理权限的冲突,并且稳定可靠地运行。
Description
技术领域
本发明涉及数据处理领域,特别是指一种确定主管理服务器的方法、装置和***。
背景技术
当前软件技术中,大数据量处理以及高并发处理是一个技术瓶颈。大数据处理以及高并发要求对服务器的处理能力提出了更高的要求,因此,多服务器的协同工作(分布式数据处理)是必然之趋势。多服务器协同工作时,如何协调各个服务器之间的运行,是个值得研究的问题。
现有技术中,为了方便管理,增强数据并行处理能力,常采用并行数据处理结构,如图1所示,包括应用服务器、管理服务器、比对服务器。管理服务器与比对服务器进行通讯,应用服务器与管理服务器之间进行通讯。这种结构极大地提高了数据的处理能力,但由于管理服务器数量较多,极易造成各个管理服务器权限的冲突,如何协调各个管理服务器在***中的地位,目前还没有较好的解决方案。
发明内容
本发明要解决的技术问题是提供一种确定主管理服务器的方法、装置和***,能够避免管理服务器之间处理权限的冲突,保证***稳定可靠地运行。
为解决上述技术问题,本发明提供的技术方案如下:
一种确定主管理服务器的方法,包括:
步骤1:向已知的管理服务器发送询问报文,询问是否是主管理服务器;
步骤2:接收管理服务器返回的应答报文;
步骤3:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
进一步的,所述步骤1之前还包括:
步骤10:不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
步骤11:接收管理服务器响应的确认报文。
进一步的,所述步骤3包括:
步骤31:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
步骤32:从所述第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
进一步的,所述步骤3之后还包括:
步骤4:延迟一定时间,重复执行步骤1-3,直至存在主管理服务器且唯一。
与上述方法对应的,本发明提供一种比对服务器,包括:
第一发送模块,用于向已知的管理服务器发送询问报文,询问是否是主管理服务器;
第一接收模块,用于接收管理服务器返回的应答报文;
判断模块,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
进一步的,还包括:
广播模块,用于不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
第二接收模块,用于接收管理服务器响应的确认报文。
进一步的,所述判断模块包括:
第一发送子模块,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
第二发送子模块,用于从所述第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
进一步的,所述比对服务器还包括:
重复执行模块,用于延迟一定时间,重复执行第一发送模块、第一接收模块和判断模块,直至存在主管理服务器且唯一。
一种确定主管理服务器的方法,包括:
步骤1’:接收比对服务器发送的询问是否是主管理服务器的询问报文;
步骤2’:向比对服务器发送应答报文;
步骤3’:接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器。
进一步的,所述步骤3中,当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息。
进一步的,所述步骤3中,当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息的发送时间是否早于原先已收到的设置主管理服务器消息的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
与上述方法对应的,本发明提供一种管理服务器,包括:
第一接收模块,用于接收比对服务器发送的询问是否是主管理服务器的询问报文;
第一发送模块,用于向比对服务器发送应答报文;
第二接收模块,用于接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器。
进一步的,所述第二接收模块中,当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息。
进一步的,所述第二接收模块中,当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息中的发送时间是否早于原先已收到的设置主管理服务器消息中的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
一种服务器***,包括应用服务器、至少两个上述的管理服务器和至少两个上述的比对服务器;所述应用服务器和管理服务器为相同或不同的服务器;所述应用服务器、管理服务器和比对服务器均通过网络连接。
本发明具有以下有益效果:
与现有技术相比,***启动后,比对服务器向***中已知的管理服务器发送询问是否是主管理服务器的询问报文,管理服务器将自身的状态(是或者不是主管理服务器)向比对服务器返回应答报文,比对服务器接收到管理服务器返回的应答报文后,判断***内的主管理服务器是否存在且唯一,如***内不存在主管理服务器或已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器的消息,将该管理服务器设置为主管理服务器后,向其余管理服务器发送设置非主管理服务器的消息,其余管理服务器根据接收到的设置非主管理服务器的消息将自身状态设置为非主管理服务器。本***通过设置主管理服务器的机制,避免了管理服务器之间处理权限的冲突,提高了***的运行效能,保证了***稳定可靠地运行。
附图说明
图1为现有技术中的分布式数据处理***结构示意图;
图2为本发明的确定主管理服务器的方法的流程图一;
图3为本发明的确定主管理服务器的方法的流程图二;
图4为本发明的确定主管理服务器的方法的流程图三;
图5为本发明的确定主管理服务器的方法的流程图四;
图6为本发明的确定主管理服务器的装置结构示意图一;
图7为本发明的确定主管理服务器的装置结构示意图二;
图8为本发明的确定主管理服务器的判断模块的示意图;
图9为本发明的确定主管理服务器的装置结构示意图三;
图10为本发明的另一种确定主管理服务器方法的流程图;
图11为本发明的另一种确定主管理服务器的装置结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
名词解释
1、比对节点/比对服务器/处理节点/处理服务器:进行相关算法调用与调度、数据的加载与同步,例如,运行一套运行生物特征比对算法的程序,即为生物特征的比对以及数据处理的服务器。
2、管理节点/管理服务器:用于数据管理以及请求分发的服务器。
3、应用***/应用服务器:提供***对外的接口与业务逻辑的实现的服务器。
一方面,本发明提供一种确定主管理服务器的方法,如图2所示,包括:
步骤1:向已知的管理服务器发送询问报文,询问是否是主管理服务器;
步骤2:接收管理服务器返回的应答报文;
本步骤中,管理服务器接收到比对服务器发送的询问报文,检查自身是否是主管理服务器,并向比对服务器做出应答,比对服务器接收管理服务器返回的应答报文。
步骤3:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
本步骤中,比对服务器根据管理服务器返回的应答报文,判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则直接向第一个响应的管理服务器发送设置主管理服务器的消息,向其他管理服务器发送设置非主管理服务器的消息,管理服务器根据比对服务器发送的消息设置自己的状态。
本方法通过设置***内的主管理服务器,避免了管理服务器之间处理权限的冲突,提高了***的运行效能,保证了***稳定可靠地运行。
优选的,如图3所示,前述步骤1之前还可以包括:
步骤10:不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
本步骤中,比对服务器内预先通过配置文件指定管理服务器的地址范围与监听端口,比对服务器在启动后,不间断的向指定范围或指定地址的管理服务器广播通知。
步骤11:接收管理服务器响应的确认报文。
上述步骤中,管理服务器接收到比对服务器的广播通知后,向比对服务器反馈能收到广播通知的确认报文,比对服务器接收管理服务器响应的确认报文,比对服务器根据管理服务器响应的确认报文可以确定哪些管理服务器可以接收到广播通知,也可以随时发现新加入的管理服务器或出现故障的管理服务器。当然,比对服务器也可以通过本领域技术人员容易想到的其他方式确定哪些管理服务器为已知的管理服务器。
作为本方法的一种改进,如图4所示,步骤3还可以包括:
步骤31:比对服务器判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
步骤32:比对服务器从第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
进一步的,设置非主管理服务器消息优选包括当前主管理服务器的名字和地址。比对服务器确定已经设置主管理服务器后,将主管理服务器的名字、地址,也可以包括发送时间等信息向其他管理服务器发送设置非主管理服务器的消息一并发送给其他管理服务器,通过名字和地址其他管理服务器可以确定哪个管理服务器被设置为主管理服务器。
进一步的,如图5所示,步骤3之后还优选包括:
步骤4:延迟一定时间,重复执行步骤1-3,直至存在主管理服务器且唯一。
由于***在运行的过程中,主管理服务器有可能会出现故障,导致主管理服务器宕机,或者新加的管理服务器中有新的主管理服务器的出现,或者由于网络延迟导致比对服务器和管理服务器之间的通信出现故障等情况,为了保证***中存在主管理服务器且唯一,优选通过重复步骤1-3,这样可以进一步确定并保证***中的主管理服务器存在且唯一。
与上述方法相对应的,本发明还提供一种确定主管理服务器的装置,即比对服务器,如图6所示,包括:
第一发送模块101,用于向已知的管理服务器发送询问报文,询问是否是主管理服务器;
第一接收模块201,用于接收管理服务器返回的应答报文;
判断模块301,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
本发明中的比对服务器启动后,通过第一发送模块向已知的管理服务器发送该管理服务器是否是主管理服务器的询问报文,之后第一接收模块接收主管理服务器返回的应答报文,并通过判断模块判断主管理服务器是否存在。当不存在或者存在不唯一时,则将第一个响应的管理服务器设置为主管理服务器。通过设置***内的主管理服务器,确保了运行中主管理服务器存在且唯一,避免了管理服务器之间处理权限的冲突,提高了***的运行效能,保证了***稳定可靠地运行。其中,已知的主管理服务器在上文中已经讲过,此处不再赘述。
进一步的,如图7所示,比对服务器还优选包括:
广播模块1010,用于不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
第二接收模块1011,用于接收管理服务器响应的确认报文。
这样,广播模块通过不间断的发送广播通知,接收到广播的管理服务器返回确认报文,第二接收模块通过接收管理服务器响应的确认报文,比对服务器可以确定哪些管理服务器可以接收到广播通知,也可以随时发现新加入的管理服务器或出现故障的管理服务器。
进一步的,如图8所示,判断模块可以包括:
第一发送子模块3010,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
第二发送子模块3011,用于从第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器;
其中,所述设置非主管理服务器消息可以包括当前主管理服务器的名字和地址。
当不存在主管理服务器或已存在主管理服务器但不唯一时,第一发送子模块向第一个响应的管理服务器发送设置主管理服务器的消息后,第二发送子模块向其他管理服务器发送设置非主管理服务器的消息,这样就可以确定管理服务器自身的状态。这样可以避免主管理服务器重复设置或未设置成功的情况,其中,主管理服务器的发送时间等信息的作用上文已经讲述,此处不再赘述。
优选的,如图9所示,比对服务器还可以包括:
重复执行模块401,用于延迟一定时间,重复执行第一发送模块101、第一接收模块201和判断模块301,直至存在主管理服务器且唯一。这样可以进一步确定并保证主管理服务器存在且唯一。
另一方面,本发明提供一种确定主管理服务器的方法,如图10所示,包括:
步骤1’:接收比对服务器发送的询问是否是主管理服务器的询问报文;
本步骤中,管理服务器一直监听比对服务器发送的消息,接收比对服务器发送的询问是否是主管理服务器的询问报文。
步骤2’:向比对服务器发送应答报文;
本步骤中,管理服务器将自身的状态(是或者不是主管理服务器)反馈给比对服务器,向比对服务器发送应答报文。
步骤3’:接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器。
本步骤中,管理服务器向比对服务器发送响应报文后,比对服务器根据接收的报文向管理服务器发送设置主管理服务器或非主管理服务器的消息,管理服务器接收到比对服务器的设置消息后,将自身设置为主管理服务器或非主管理服务器。
进一步的,步骤3’中,当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息。
管理服务器在接收到比对服务器发送的设置主管理服务器的消息时,设置成功后向比对服务器发送设置成功的消息,这样比对服务器在收到主管理服务器设置成功的消息后向其他管理服务器发送设置非主管理服务器的消息,避免重复设置主管理服务器或者主管理服务器未设置成功。
优选的,为了避免重复设置主管理服务器,步骤3’中,当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息的发送时间是否早于原先已收到的设置主管理服务器消息的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
这样就能够避免多个比对服务器同时进行主管理服务器设置工作过程中出现的冲突。
与上述方法相对应的,本发明还提供一种确定主管理服务器的装置,即管理服务器,如图11所示,优选包括:
第一接收模块501,用于接收比对服务器发送的询问是否是主管理服务器的询问报文;
第一发送模块601,用于向比对服务器发送应答报文;
第二接收模块701,用于接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器。
管理服务器通过与比对服务器之间的通信机制,确定了主管理服务器并且保证主管理服务器唯一,避免了多个管理服务器均发送运算指令导致权限冲突的问题,保证了***协调有序的进行工作,同时提高了***的运算效率。
优选的,第二接收模块701中,当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息。
通过及时向比对服务器发送设置主管理服务器成功的响应消息可以避免主管理服务器的重复设置,提高效率。
为了避免重复设置主管理服务器,优选的,第二接收模块701中,当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息中的发送时间是否早于原先已收到的设置主管理服务器消息中的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
再一方面,本发明还提供一种服务器***,包括应用服务器、至少两个比对服务器和至少两个管理服务器;应用服务器和管理服务器为相同或不同的服务器;应用服务器、管理服务器和比对服务器均通过网络连接。
具体的,该服务器***中,每个管理服务器连接所有比对服务器,每个比对服务器连接所有管理服务器,多个管理服务器之间通过设置唯一的主管理服务器,可以避免多个管理服务器之间权限的冲突,提高***的运算效率。
一种具体的***架构及功能概述:
本发明分为应用***、管理节点、比对节点、数据库等四部分,其中应用***部分提供***对外的接口与业务逻辑的实现,管理节点用于管理比对节点、接收生物特征相关请求、将请求转发到比对节点、对比对节点的结果进行可能需要的二次处理,比对节点用于进行生物特征相关算法调用与调度、生物特征数据的加载与同步等,数据库用于存储生物特征与业务相关数据。
整体结构如图1所示:
整体结构说明:在整体结构上,应用***与管理节点间为N:N的结构,即一个应用***可以连接多个管理节点,多个应用***也可以连接一个管理节点。管理节点与比对节点间也是一个N:N的结构。
应用***与应用***间不进行通讯;管理节点与管理节点间也不进行通讯;比对节点与比对节点间也不进行通讯。
应用***仅与管理节点进行通讯,管理节点与比对节点进行通讯,应用***不直接与比对节点进行通讯。
通讯方式:应用***与管理节点、管理节点与比对节点间都是通过网络进行通讯,通讯协议为带长度校验的json格式。
管理节点功能与详细描述:
管理节点分为普通管理节点与主管理节点两类,主管理节点只能有一个。主管理节点通过管理节点与比对节点的自协商在运行期间动态设置。管理节点间不进行通讯,即各管理节点不知道其它管理节点的存在,也不关心其它管理节点的存在。主管理节点由最后一个发送设置主管理节点通知的比对节点进行确定。
确定主管理节点的协商机制如下:
管理服务器和比对服务器启动时,将一个管理节点注册为主管理节点,主管理节点会根据比对节点的个数,计算每个比对节点要加载的数据范围,并记录每个比对节点的数据范围。同时将分片号与比对节点绑定,以此决定接收到比对请求之后通知哪一个比对节点进行数据加载。具体如下:
管理节点启动后等待接收比对节点发送的消息。比对节点启动后向所有的管理节点询问每个管理节点是否是主管理节点,若已经存在主管理节点或有多个主管理节点时,通知除第一个返回的主管理节点外的其它的所有主管理节点为非主管理节点;不存在主管理节点时,设置第一个返回的管理节点为主管理节点,并通知其它管理节点为非主管理节点。
管理节点收到设置主管理节点的请求后,将自己设置为主管理节点或非主管理节点,并将新的状态(是否是主管理节点)通知所有注册到当前管理节点的比对节点上。
在所有节点启动完成后,通过上述循环广播机制,将可唯一确定一台管理节点为主管理节点。
管理节点作为应用***与比对节点间的桥梁,有多种作用:
1、管理比对节点
管理节点需要保证比对节点的可用性,因此管理节点内置了比对节点状态与网络连接的检测机制:
通过定时检测与状态监听来检查管理节点的可用性,应用***在发送生物特征运算请求时,从可用的管理节点中通过轮训选择一个可用的管理节点,并将生物特征运算请求发送到这个管理节点上。
2、管理数据
根据场景的不同,每一个生物特征由根据场景确定的一个KEY进行标识,并根据这个KEY用一定的算法计算一个分片号,使得对任意数量的KEY,每个分片中包含的KEY的数量是均匀分布的。
管理节点接收到请求之后,使用要查询数据的分片号计算一个HASH值,例如,取HASH值的前两位作为与比对服务器绑定使用的KEY值,以此来决定将请求发送到哪一个比对节点上。两位最多可支持扩展255个比对节点。若使用HASH值的前4位绑定比对节点,则最多支持65535个比对节点。
比对服务器在安装时,运行内置的标准运行生物运算能力测试程序,得到一个可提供的生物特征运算能力数据,并将此数据配置到比对节点内。
比对节点在启动时,将自己的ID和此生物特征运算能力数值和其它相关数据向所有的管理服务器进行注册。非主管理服务器仅接收注册请求,但不做处理。主管理节点在接收到请求后,将此比对节点加入到待处理列表。主管理节点每隔一段时间检查这个列表,统计当前已经注册的比对节点和这个列表中注册的比对节点的总生物特征运算能力,计算出每个节点相对总生物特征运算能力的的占比,根据每个节点的占比计算每个节点的就分配的数据量,结合各节点当前已经分配的数据范围(分片号),在尽量少调整数据范围的原则下,确定各节点新的数据范围(分片号),并将新的数据范围通知给比对节点。比对节点根据新的数据范围与当前已缓存的数据范围对比后得到需要调整的分片,根据分片从缓存的数据中删除或从数据库加载数据。
3、分发请求
生物特征运算请求分为1:1和1:N两类生物特征运算。1:1运算是指给定一张图片和一个用户的唯一标识,***判断这张图片是否是这个用户。1:N运算是批给定一张图片和一些限定条件,***根据所给定的限定条件,从满足限定条件的人中找出最相似的人。
对于认证请求,应用服务器收到请求后,将请求进行简单处理后选择一个管理节点并将请求转发到管理节点,管理节点收到请求后,根据用户标识计算出该用户标识所属的分片,找出该分片所在的比对节点,将此认证请求分发到包含这个分片的认证节点上。具体过程为:如果是1:1比对请求,管理服务器根据请求的分片号,计算得到HASH值,取HASH的前2位从而确定将请求分发到对应数据范围的比对服务器上。比对服务器进行生物特征比对以及数据处理,并将处理结果返回。
对于识别请求,应用服务器在收到请求后,进行处理后,选择一个管理节点,并将请求进行转发,管理节点收到请求后,将这个请求分发到所有的比对节点上,比对节点将收到请求后从管理的数据中找出最相似的记录返回给管理节点,管理节点对比对节点返回的数据进行再次排序后返回前几条给应用服务器,应用服务器将管理节点返回的数据处理后返回给调用者。具体过程为:如果是1:N或者N:N的请求,管理节点将请求发送到所有的比对服务器,比对服务器根据自己的数据范围处理请求后将结果返回到管理服务器,管理服务器等待所有比对服务器的处理结果,所有比对服务器处理完成之后,管理服务器合并所有比对节点的处理结果。管理节点基本可以实现请求平均分发到所有的比对节点,从而减轻服务器压力,并可以提高处理性能。并且确保了所有数据处理的完整性
4、故障转移
当主管理节点不可用之后,会进行相应计算注册一个管理节点作为主管理节点。
管理节点在检测到比对节点不可用时,重新对可用的比对节点进行数据分片分布计算,使得不可用的比对节点上分配的数据分片可以按各节点计算能力均匀的分散到其它可用的节点上。
具体的,当部署节点出现故障时,管理服务器会将此服务器上加载的数据平均分发到其他的比对服务器上。并且网络连接的***会实时监听所有管理节点与比对节点的连接状态。当故障的服务节点恢复或者新增节点之后,***会第一时间获得服务器节点的状态,并通知管理节点将恢复的或者新增的节点纳入管理。管理节点动态计算数据分片,并通知比对节点进行数据加载。保证了管理节点以及比对节点的高扩展性和有效性。
上述机制支持实时动态添加管理节点以及比对节点,而无需停止现有服务器。真正意义上实现了不同服务之间的松耦合以及连接状态无关联性,确保了***运行的稳定性,大大降低了由于网络或者服务器原因造成的***问题。
比对节点功能说明:
比对节点负责调用生物特征算法对生物特征进行运算。此外为加快运算速度,每个比对节点均缓存部分生物特征数据,所有比对节点缓存的生物特征数据之间无交集,所有比对节点缓存的生物特征数据的合集为当前可管理的所有生物特征。
每个比对节点缓存哪部分生物特征数据由主管理节点在运行时通过计算给出。各比对节点间不进行通讯,即各比对节点不知道其它比对节点的存在。比对节点接收所有管理节点的生物特征运算请求;仅接收主管理节点的发送的对缓存数据进行管理的请求,非主管理服务器发送的缓存管理请求将被忽略。
整体的请求的处理流程:
应用***接收所有的请求,对需要进行生物特征运算的请求,将其发给管理节点。管理节点根据请求的不同,将请求转发到一个或多个比对节点上,收到比对节点的返回后,将结果响应给应用***。流程图如图2所示。
上述介绍中,是以将该***应用于生物识别领域的,事实上,该***可以应用于任何数据处理的领域。
下面对***的连接匹配机制及工作过程进行描述:
1.服务器的启动与发现机制
管理节点启动后监听指定的端口,不主动查找比对节点。
在比对节点内通过配置文件指定管理节点的地址或地址范围与监听端口,比对服务器在启动后向,不间断的向指定范围或指定地址的管理的服务器广播通知。管理服务器收到广播通知后,响应确认报文给比对节点。
通过不间断的广播,比对服务器可以随时发现新加入的管理服务器,管理服务器也可以发现新加入的比对服务器。
2.主管理服务器的确认机制
比对节点在启动后,向已收到响应的管理服务器发送报文,询问是否是主管理服务器,
+若还没有设置主管理服务器,向第一台响应的管理服务器发送设置主管理服务器消息。管理服务器收到调整自身状态,并响应新的状态给比对服务器。
-比对服务器收到管理服务器新的状态后,向其它管理服务器发送消息,设置其它服务器为非主管理服务器(消息中包括当前主管理服务器名字、地址、设置的时间等)。
-其它管理服务器收到设置为非主管理服务器消息后,若当前非主管理服务器,则不做处理。若当前服务器已经由另外的比对服务器设置为主管理服务器,则比对设置时间与收到的消息中原主管理服务器设置的时间,若小于当前,忽略这个请求,否则调整自身为非主管服务器,并通知给原来发送设置主管理服务器消息的比对服务器。
-比对服务器在延迟一定时间后,检测主管理服务器的设置是否唯一。不唯一时取第一个为主管理服务器,重复上述过程。
+若已经设置主管理服务器,或有多个主管理服务器,则取第一个作为主管理服务器,并通知其它作为非主管理服务器。
-收到所有服务器的响应后,检查主管理服务器是否唯一,不唯一时重复上述过程直至唯一。
3.确定主管理服务器后,比对服务器向确定的唯一主管理服务器发送当前比对节点的配置、性能等相关信息,将自己注册到主管理服务器。
+主管理服务器的处理流程
-主管理服务器收到比对服务器的注册请求后,将注册的比对服务器加入到待处理列表。
-延时一定时间后,主管理服务器计算待处理列表与已连接的正常的比对服务器的总生物特征处理性能。
-计算每台比对服务器相对于总处理性能的比例。
-根据每台服务器的比例,确定每台服务器可处理的数据分片的分片数。
-比较新的分片数量与现有的已经分配的分片数量,计算是调整的分片数量(增加用正数表示,减小用负数表示)
-从已经分配的分片数中,采用大数优先的原则,从尾部去除指定数量的分片号,并将分片号加入到可用的分片号列表。
-去除完成后,将可用的分片号分配到需要增加的分片的比对服务器分片号分配方案中。
-将新的分片号列表通知比对服务器。
+比对服务器收到分片调整请求后处理流程
-比较当前已经加载的分片与新的分片的差异,根据分片号,从数据中移出要去除的分片号,对要增加的,从指定的数据源中加载对应分片号的数据。
-将加载结果发送给主管理服务器。
-将新的分片范围通知其它非主管理服务器。
+非主管理服务器收到分片请求后,用新的分片范围调整本身的分片范围,并检查范围是否完整。
通过以上步骤,实现了配置过程以及工作过程,并且将可以实现动态增加比对服务器从而动态增加运算能力的目的,且支持增加不同性能配置的服务器,并根据性能的不同达到了均匀分配数据的目的。在完全随机访问的情况下,请求将可以相对均衡的分配到所有的比对服务器上。
关于故障检测及处理:
因为未知、网络、BUG等等各种原因,主管理服务器出现异常时,***可以达到自动调整主管理服务器的目的,具体方案如下:
1.比对节点上启用状态检查与监测机制
+比对节点监听网络状态
+比对节点定时向管理服务器发送检测报文,检查管理服务器的服务状态。
通过监测与检查,可侦测到管理服务器的异常。
2.侦测到管理服务器异常后,根据主管理服务器的确认机制,从剩余的管理服务器中选取第一个作为新主管理服务器,并执行主管理服务器确认流程。
+主管理服务器确认后,向新的主管理服务器注册当前的分片号
+主管理服务器延时检查分片范围是否完整,分片范围完整时,主管理服务器切换完成。
+分片范围不完整时,进行一定次数的延时并重新检测分片范围是否完整,仍不完整时,开始进行新的分片分配流程。
通过上述流程可以达到动态增加主管理服务器、动态调整主管理服务器的目的。
管理节点在检测到比对节点不可用时,重新对可用的比对节点进行数据分片分布计算,使得不可用的比对节点上分配的数据分片可以按各节点计算能力均匀的分散到其它可用的节点上。
结合上述两个流程,实现了一种N:N网络下的管理与比对服务器的任意扩展机制。
本发明在生物识别领域的应用
现有的生物识别的方式大多是单一生物特征的识别,例如单独用指纹识别、单独的人脸识别或者单独的用虹膜识别,某种识别方式都有各自的优缺点和使用环境的限制,并都存在一定的误差。如指纹识别对手指掉皮、经常出汗的人就不大实用,无法采集有效的指纹图像;人脸识别在光线比较差的情况下不大实用;虹膜识别对具有白内障等人不大实用。通过多种生物特征的相结合的方式可以解决掉这些问题。单一生物特征识别都存在一定的误识率,如人脸识别、指纹识别、虹膜识别都存在一定的误识率,当客户数量很大时,做1:N认证时,得到错误结果的可能性就比较大。怎样避免或者减少这种误识率呢,通过多生物特征综合认证可以减少这种问题。先通过某种生物特征缩小范围,然后再通过另外的一种或者几种生物特征再进行认证,这样就可以把误识率降到一个很小的范围。
通过多种生物特征综合认证的方式,例如指纹+人脸+虹膜,来避免各种生物识别所带来的误差和使用限制,可以提高1:1或者1:N认证时的准确率。在采集用户生物特征时,可以采集用户的指纹、人脸、虹膜信息,如果有的无法采集则为空。在进行身份认证时,可以选择单一生物特征认证、或者多生物特征认证,如人脸+指纹,这样可以提供认证的准确率,也可以解决单生物特征识别所带来的环境使用限制。
生物特征综合认证平台是多生物特征综合认证的服务平台,它分为比对节点和管理节点,比对节点负责特征比对,管理节点负责结果汇总,以及对比对节点的管理。统一认证平台的工作流程如下:
1.在用户采集信息时,尽可能全面的采集用户的各种生物特征信息。
2.对每一种生物识别方式分别提供认证服务节点,每一种认证服务节点相互独立互不影响,在某种认证服务节点故障的时候不影响其他认证服务的使用。各种认证服务之间可以协同合作。
3.提供多样的认证接口,各种单一特征的认证接口,以及多种生物特征相结合的认证接口。
4.调用单一特征的比对接口,管理节点收到请求后,把比对任务发到该特征所对应的认证服务节点,认证服务节点处理后,把结果反馈到管理节点,管理节点再把结果返回到客户端。
5.各种认证服务之间可以协同工作,在调用多种特征比对的接口时,管理节点会把比对任务发往对应的认证服务节点,认证服务进行比对,把比对结果发到管理节点,管理节点汇总结果返回客户端。
6.1:N多种特征相结合的接口调用,管理节点在收到客户端的1:N请求时,会把比对任务发到第一种特征的认证服务节点(第一个一般是比对相对较快的生物特征),认证服务节点处理后会把结果返回的管理节点,管理节点会收到一个比对后返回的结果列表,然后再把结果列表和特征信息发往第二种特征的认证服务节点,以此类推,等到最后管理节点收到的结果列表就是一个比较准确的结果,然后返回给客户端。
多生物特征综合认证的方式解决了目前单一生物特征所遇到的问题,提供了生物识别的准确率。
多生物特征综合认证平台同时支持以下几种功能:
1.在做1:N认证时,各认证服务节点可以同时进行1:N认证服务,然后把结果反馈到管理节点,管理节点把各认证服务节点反馈的结果取一个交集,得到最终的结果,返回给客户端。
2.图片认证服务支持从图片中从获取多张人脸的特征,然后用每一张人脸特征与模板进行比对,获得结果,返回客户端。
3.在1:1认证时,平台支持对结果进行各种操作,如与操作,当所有的认证都通过时才通过,或者或操作,当某个或某几个认证通过时也可以认为认证通过。
4.支持多指纹1:N认证操作,可以同时传入同一个人的多个手指的指纹,然后对每一个手指都进行1:N认证,这样可以减少单手指指纹的误识问题,提供指纹识别的准确率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种确定主管理服务器的方法,其特征在于,包括:
步骤1:向已知的管理服务器发送询问报文,询问是否是主管理服务器;
步骤2:接收管理服务器返回的应答报文;
步骤3:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器;
所述步骤3包括:
步骤31:判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
步骤32:从所述第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
2.根据权利要求1所述的确定主管理服务器的方法,其特征在于,
所述步骤1之前还包括:
步骤10:不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
步骤11:接收管理服务器响应的确认报文。
3.根据权利要求1或2所述的确定主管理服务器的方法,其特征在于,所述步骤3之后还包括:
步骤4:延迟一定时间,重复执行步骤1-3,直至存在主管理服务器且唯一。
4.一种比对服务器,其特征在于,包括:
第一发送模块,用于向已知的管理服务器发送询问报文,询问是否是主管理服务器;
第一接收模块,用于接收管理服务器返回的应答报文;
判断模块,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器,并向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器;
所述判断模块包括:
第一发送子模块,用于判断是否存在主管理服务器,若不存在主管理服务器或者已存在主管理服务器但不唯一,则向第一个响应的管理服务器发送设置主管理服务器消息,将该管理服务器设置为主管理服务器;
第二发送子模块,用于从所述第一个响应的管理服务器接收到设置成功的响应消息后,再向其余管理服务器发送设置非主管理服务器消息,将其余管理服务器设置为非主管理服务器。
5.根据权利要求4所述的比对服务器,其特征在于,还包括:
广播模块,用于不间断的向指定地址范围的管理服务器发送广播通知,要求网络内的管理服务器响应确认报文;
第二接收模块,用于接收管理服务器响应的确认报文。
6.根据权利要求4或5所述的比对服务器,其特征在于,所述比对服务器还包括:
重复执行模块,用于延迟一定时间,重复执行第一发送模块、第一接收模块和判断模块,直至存在主管理服务器且唯一。
7.一种确定主管理服务器的方法,其特征在于,包括:
步骤1’:接收比对服务器发送的询问是否是主管理服务器的询问报文;
步骤2’:向比对服务器发送应答报文;
步骤3’:接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器;
所述步骤3’中,当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息;当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息的发送时间是否早于原先已收到的设置主管理服务器消息的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
8.一种管理服务器,其特征在于,包括:
第一接收模块,用于接收比对服务器发送的询问是否是主管理服务器的询问报文;
第一发送模块,用于向比对服务器发送应答报文;
第二接收模块,用于接收比对服务器发送的设置主管理服务器消息或设置非主管理服务器消息,并将自身相应设置为主管理服务器或非主管理服务器;
所述第二接收模块还用于当接收到的消息为设置主管理服务器消息时,在设置成功后向比对服务器发送设置成功的响应消息;所述第二接收模块还用于当接收到的消息为设置非主管理服务器消息时,如果自身当前为主管理服务器,则比对该设置非主管理服务器消息中的发送时间是否早于原先已收到的设置主管理服务器消息中的发送时间,如果早于,则设置自身为非主管理服务器,反之,则忽略该设置非主管理服务器消息。
9.一种服务器***,其特征在于,包括应用服务器、至少两个权利要求4所述的比对服务器和至少两个权利要求8所述的管理服务器;所述应用服务器和管理服务器为相同或不同的服务器;所述应用服务器、管理服务器和比对服务器均通过网络连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072084.4A CN104754029B (zh) | 2014-12-31 | 2015-02-11 | 确定主管理服务器的方法、装置和*** |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014108558016 | 2014-12-31 | ||
CN201410855801 | 2014-12-31 | ||
CN201510072084.4A CN104754029B (zh) | 2014-12-31 | 2015-02-11 | 确定主管理服务器的方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104754029A CN104754029A (zh) | 2015-07-01 |
CN104754029B true CN104754029B (zh) | 2018-04-27 |
Family
ID=53593117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510072084.4A Active CN104754029B (zh) | 2014-12-31 | 2015-02-11 | 确定主管理服务器的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104754029B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634963B (zh) * | 2017-10-12 | 2020-03-10 | 中国铁塔股份有限公司 | 一种现场监控单元注册***及方法 |
CN112714143A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 分布式存储***的服务协调方法、装置及电子设备 |
CN111541577A (zh) * | 2020-05-20 | 2020-08-14 | 南京巨鲨显示科技有限公司 | 一种适用于分布式***的主服务选举方法及其*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679103A (zh) * | 2002-08-28 | 2005-10-05 | 松下电器产业株式会社 | 内容-复制管理***、装置和方法,回放设备和方法,以及计算机程序 |
CN102195950A (zh) * | 2010-03-16 | 2011-09-21 | 无锡指网生物识别科技有限公司 | 基于云计算的指纹认证平台 |
CN103632127A (zh) * | 2012-08-21 | 2014-03-12 | 北京恒泰天宇科技有限公司 | 基于云计算的智能生物特征识别*** |
CN103902871A (zh) * | 2014-04-10 | 2014-07-02 | 上海电力学院 | 采用虹膜识别实现云计算的用户身份认证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076978B (zh) * | 2004-01-16 | 2014-01-01 | 艾利森电话股份有限公司 | 一种用于在服务器间分配负载的方法 |
-
2015
- 2015-02-11 CN CN201510072084.4A patent/CN104754029B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679103A (zh) * | 2002-08-28 | 2005-10-05 | 松下电器产业株式会社 | 内容-复制管理***、装置和方法,回放设备和方法,以及计算机程序 |
CN102195950A (zh) * | 2010-03-16 | 2011-09-21 | 无锡指网生物识别科技有限公司 | 基于云计算的指纹认证平台 |
CN103632127A (zh) * | 2012-08-21 | 2014-03-12 | 北京恒泰天宇科技有限公司 | 基于云计算的智能生物特征识别*** |
CN103902871A (zh) * | 2014-04-10 | 2014-07-02 | 上海电力学院 | 采用虹膜识别实现云计算的用户身份认证方法 |
Non-Patent Citations (1)
Title |
---|
一种基于指纹人脸的多生物特征身份认证方法;石业晨等;《科技广场》;20110930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104754029A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677860B2 (en) | Decentralization processing method, communication proxy, host, and storage medium | |
US10868840B1 (en) | Multiple-master DNS system | |
CN110545260A (zh) | 一种基于拟态构造的云管理平台构建方法 | |
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
CN112261172B (zh) | 服务寻址访问方法、装置、***、设备及介质 | |
CN101605108A (zh) | 一种即时通信的方法、***及装置 | |
WO2016155360A1 (zh) | 业务请求处理方法、相关装置及*** | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN104639546B (zh) | 多生物特征综合认证的方法、装置和*** | |
CN111698126B (zh) | 信息监控方法、***及计算机可读存储介质 | |
CN104754029B (zh) | 确定主管理服务器的方法、装置和*** | |
CN104731660B (zh) | 数据分配方法、装置和*** | |
CN103312593A (zh) | 一种消息分发***及方法 | |
CN107872492B (zh) | 一种在服务端支持多用户编辑数据对象的方法和装置 | |
US20210200765A1 (en) | Connection pools for parallel processing applications accessing distributed databases | |
US20150079966A1 (en) | Methods for facilitating telecommunication network administration and devices thereof | |
CN109600254A (zh) | 全链路日志的生成方法及相关*** | |
CN104702409B (zh) | 基于云平台的生物识别***及其方法 | |
CN112612496A (zh) | 智能合约操作管理方法、装置、设备和计算机存储介质 | |
CN112543150A (zh) | 基于服务端控制的动态负载均衡方法 | |
KR20210044281A (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
CN111190707A (zh) | 一种数据处理方法及装置 | |
CN111327666B (zh) | 服务管理方法、装置及***、计算机设备、存储介质 | |
CN107465743B (zh) | 一种处理请求的方法和装置 | |
WO2020006904A1 (zh) | 财务调拨方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |