CN110839068B - 业务请求处理方法、装置、电子设备及可读存储介质 - Google Patents
业务请求处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110839068B CN110839068B CN201911065564.2A CN201911065564A CN110839068B CN 110839068 B CN110839068 B CN 110839068B CN 201911065564 A CN201911065564 A CN 201911065564A CN 110839068 B CN110839068 B CN 110839068B
- Authority
- CN
- China
- Prior art keywords
- service request
- processing node
- cluster
- nodes
- processing
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
本申请提供一种业务请求处理方法、装置、电子设备及可读存储介质,业务分配设备在接收到业务请求时,确定有效处理节点,且有效处理节点为所述业务请求所需访问的集群中,可以与所述集群内的其余节点进行数据同步的节点。进而向所述有效处理节点发送所述业务请求。这样通过业务分配设备的调控管理,即使得业务请求均由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种业务请求处理方法、装置、电子设备及可读存储介质。
背景技术
互联网技术日新月异,极大丰富了人们的生活。随着访问量加大,互联网服务大多采用分布式集群方式对外提供服务,这样既提高了并发性能又提高了服务可靠性。
但是集群中,可能存在由于网络断开或者其他脑裂场景导致的某一节点和集群中的其他节点脱离的情况。目前,在出现这一情况后,脱离的节点仍旧可以为用户提供数据服务,但是由于脱离的节点又不能和其余节点之间进行正常的数据同步,这就会导致提供给用户的服务不一致,从而影响整个集群的正常运行。
发明内容
本申请实施例的目的在于提供一种业务请求处理方法、装置、电子设备及可读存储介质,用以解决相关技术存在着的,可能导致提供给用户的服务不一致,从而影响整个集群的正常运行的问题。
本申请实施例提供了一种业务请求处理方法,应用于业务分配设备上,包括:
在接收到业务请求时,确定有效处理节点;所述有效处理节点为所述业务请求所需访问的集群中,可以与所述集群内的其余节点进行数据同步的节点;
向所述有效处理节点发送所述业务请求。
在上述实现过程中,业务请求先到达业务分配设备,由业务分配设备为其确定有效处理节点(即确定集群内的能与集群内的其余节点保持数据同步,且未与集群内其他节点脱离的处理节点),此时将业务请求发送给该有效处理节点。这样,通过业务分配设备的调控管理,即使得业务请求均由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
进一步地,所述在接收到业务请求时,确定有效处理节点包括:在接收到业务请求时,为所述业务请求分配处理节点;确定是否能从所述处理节点中检测到预设的有效性标识;所述有效性标识为在所述处理节点可以与所述集群内的其余节点进行数据同步时所产生的标识;在能检测到所述预设的有效性标识时,确定所述处理节点为所述有效处理节点;在不能检测到所述预设的有效性标识时,为所述业务请求重新分配处理节点,并确定是否能从重新分配的处理节点中检测到预设的有效性标识。
在上述实现过程中,业务请求先到达业务分配设备,由业务分配设备为其分配处理节点,且在分配了处理节点之后,在将业务请求发送给该处理节点之前,还会先确定该处理节点中是否能检测到预设的有效性标识(即确定该处理节点是否能与同一集群内的其余节点保持数据同步),在确认存在有效性标识时,即表明该处理节点能与同一集群内的其余节点保持数据同步,此时将该处理节点作为有效处理节点,从而将业务请求发送给该处理节点。而一旦确认不存在有效性标识时,即表明该处理节点不能与同一集群内的其余节点保持数据同步,该处理节点与集群内的其他节点脱离,此时若以其来对业务请求进行处理则不能保证提供给用户的服务的一致性,因此可以重新为业务请求分配处理节点,并重新确定是否能从重新分配的处理节点中检测到预设的有效性标识。这样,通过业务分配设备的调控管理,即使得业务请求均由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
进一步地,所述有效性标识为所述处理节点的预设端口处于启用状态;所述确定是否能从所述处理节点中检测到预设的有效性标识包括:向所述处理节点请求调用所述预设端口;在收到所述预设端口的响应时,确定能检测到所述预设的有效性标识;否则,确定不能检测到所述预设的有效性标识。
在上述实现过程中,通过设置集群中的处理节点,在能够和集群内的其余节点保持数据同步时,即使预设端口处于启用状态。这样,业务分配设备通过请求调用相应的预设端口即可很容易的确定出该处理节点中预设端口的启用状态,从而确定出该处理节点是否可以作为有效处理节点。整个方案实现简单,具有较高的实际应用价值。
进一步地,所述在接收到业务请求时,确定有效处理节点包括:在接收到业务请求时,获取所述集群中当前具有预设的有效性标识的处理节点;所述有效性标识为在所述处理节点可以与所述集群内的其余节点进行数据同步时所产生的标识;从具有所述有效性标识的处理节点中,选择一个处理节点作为所述有效处理节点。
在上述实现过程中,业务请求先到达业务分配设备,由业务分配设备先获取集群中当前具有预设的有效性标识的处理节点,进而再从具有所述有效性标识的处理节点中,选择一个处理节点作为有效处理节点,将业务请求发送给该有效处理节点。这样,即保证了进行对业务请求进行处理的处理节点是由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
本申请实施例还提供了一种业务请求处理方法,应用于集群的处理节点中,包括:
检测是否能和所述集群中的其他节点进行数据同步;
在能和所述集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和所述集群中的其他节点进行数据同步时,消除所述预设的有效性标识,以使业务分配设备在未检测到所述预设的有效性标识时,将其所接收到的业务请求发送给所述集群中具有所述有效性标识的其他节点。
在上述实现过程中,集群中的处理节点可以检测自身是否能和集群中的其他节点进行数据同步,若不能,即表明自身已与集群中的其他节点脱离,可能存在脑裂等情况。此时即消除预设的有效性标识,从而使得业务分配设备得以在进行业务请求分配的时候,得以将业务请求分配给集群中具有有效性标识的其他节点,从而使得业务请求能由集群内的有效处理节点(即具有有效性标识的处理节点)来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
进一步地,所述有效性标识为所述处理节点的预设端口处于启用状态。
在上述实现过程中,处理节点在能够和集群内的其余节点保持数据同步时,即使预设端口处于启用状态。这样,业务分配设备通过请求调用相应的预设端口就可以很容易的确定出该处理节点中预设端口的状态,从而确定出该处理节点是否可以作为有效处理节点,从而使得整个方案实现简单,具有较高的实际应用价值。
进一步地,在不能和所述集群中的其他节点进行数据同步时,所述业务请求处理方法还包括:重启所述处理节点。
在上述实现过程中,处理节点在检测到自身不能和集群中的其他节点进行数据同步时,即自动进行重启,以尝试重新与集群内的其他节点建立联系,以重新实现数据同步。这样,可以在一定程度上实现处理节点的自愈,提升整个集群的可靠性。
本申请实施例还提供了一种业务请求处理装置,应用于业务分配设备上,包括:接收模块,确定模块和发送模块;
所述接收模块用于接收业务请求;
所述确定模块用于在所述接收模块接收到业务请求时,确定有效处理节点;所述有效处理节点为所述业务请求所需访问的集群中,可以与所述集群内的其余节点进行数据同步的节点;
所述发送模块用于向所述有效处理节点发送所述业务请求。
在上述实现过程中,业务请求先到达业务请求处理装置,由业务请求处理装置为其确定有效处理节点(即确定集群内的能与集群内的其余节点保持数据同步,且未与集群内其他节点脱离的处理节点),此时将业务请求发送给该有效处理节点。这样,通过业务请求处理装置的调控管理,即使得业务请求均由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
本申请实施例还提供了一种业务请求处理装置,应用于集群的处理节点中,包括:检测模块和控制模块;
所述检测模块用于检测是否能和所述集群中的其他节点进行数据同步;
所述控制模块用于在能和所述集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和所述集群中的其他节点进行数据同步时,消除所述预设的有效性标识,以使业务分配设备在未检测到所述预设的有效性标识时,将其所接收到的业务请求发送给所述集群中具有所述有效性标识的其他节点。
在上述实现过程中,集群中的处理节点即可以检测自身是否能和集群中的其他节点进行数据同步,若不能,即表明自身已与集群中的其他节点脱离,可能存在脑裂等情况。此时即消除预设的有效性标识,从而使得业务分配设备得以在进行业务请求分配的时候,得以将业务请求分配给集群中具有有效性标识的其他节点,从而使得业务请求能由集群内的有效处理节点(即具有有效性标识的处理节点)来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现上述应用于业务分配设备上的任一种的业务请求处理方法;或所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现上述应用于集群的处理节点中的任一种业务请求处理方法。
本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述应用于业务分配设备上的任一种的业务请求处理方法;或实现上述应用于集群的处理节点中的任一种的业务请求处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术中的业务处理示意图;
图2为本申请实施例提供的一种应用于处理节点上的业务请求处理方的流程示意图;
图3为本申请实施例提供的一种应用于业务分配设备上的业务请求处理方的流程示意图;
图4为本申请实施例提供的一种确定有效处理节点的流程示意图;
图5为本申请实施例提供的一种业务处理示意图;
图6为本申请实施例提供的一种应用于业务分配设备中的业务请求处理装置的结构示意图;
图7为本申请实施例提供的一种确定模块的结构示意图;
图8为本申请实施例提供的一种应用于处理节点中的业务请求处理装置的结构示意图;
图9为本申请实施例提供的一种较具体的应用于处理节点中的业务请求处理装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
应当理解的是,在实际应用中,集群中的处理节点可能由于网络断开等情况,使得某一节点与集群内的其余节点脱离,此时该节点即不能和集群内的其余节点进行数据同步。例如参见图1所示,假设处理节点3脱离(图中数据同步处的圆圈加感叹号即表征处理节点3脱离),但是此时该处理节点3仍旧可以为用户提供服务,这就会导致由于处理节点3不能和处理节点1以及2进行数据同步,在各自进行了相应的数据操作后,处理节点3中的数据就和处理节点1和2中的数据不一致,此种情况下就可能出现针对一个业务请求,处理节点3的处理结果与处理节点1和2的处理结果不一致,即导致提供给用户的服务不一致,从而降低了集群的可靠性,影响了集群的正常运行。
为了解决这一问题,本申请实施例中提供了一种业务请求处理方法。可以参见图2和图3所示,图2为本申请实施例中提供的应用于集群的处理节点中的业务请求处理方法流程示意图,而图3为本申请实施例中提供的应用于业务分配设备上的业务请求处理方法流程示意图。
S201:处理节点检测自身是否能和集群中的其他节点进行数据同步。
需要说明的是,本申请实施例中所述的处理节点为集群中可以进行业务处理(如进行数据读写等操作)的节点。该节点可以为服务器或其他可以进行业务处理的设备。
在本申请实施例中,在集群内的各业务处理节点中,可以预先配置一个集群检测程序,由集群检测程序来自动执行对于自身是否能和集群中的其他节点进行数据同步的检测。在本申请实施例中,集群检测程序可以自处理节点启动之时起就不断运行,其检测自身是否能和集群中的其他节点进行数据同步的方式包括但不限于通过检测自身与集群中的其他节点是否能正常通信,在自身不能与集群中的其他节点正常通信时,即认为自身不能和集群中的其他节点进行数据同步。
S202:在能和集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和集群中的其他节点进行数据同步时,消除该预设的有效性标识。
在本申请实施例中,有效性标识为在处理节点可以与集群内的其余节点进行数据同步时所产生的一种预先定义好的标识。
在本申请实施例中,可以通过预先指定一个端口,通过该端口的启用与否的状态来表征处理节点自身是否能和集群中的其他节点进行数据同步。示例性的,可以在处理节点自身能和集群中的其他节点进行数据同步时,即控制该端口保持在启用转态,而在检测到自身不能和集群中的其他节点进行数据同步时,即控制该端口保持在关闭状态。需要理解的是,在实际应用过程中,系统的端口号的范围为0~65535,其中部分端口是有专门的系统定义的,若选定这类端口来表征处理节点自身是否能和集群中的其他节点进行数据同步,则可能造成系统冲突,否则就需要对该端口原本的协议定义进行修改。而为了避免前述情况,在本申请实施例预先指定的端口可以选择可以供处理节点自由分配的端口,例如5000~65535号端口。还需要说明的是,本申请实施例中,对于预先指定的端口的启用或关闭的控制,可以通过调用xinetd(extended internet daemon,新一代网络守护进程服务程序)来实现。
值得注意的是,在本申请实施例中,除了可以采用上述通过端口的启用状态来作为有效性标识外,有效性标识还可以通过其他方式来实现。例如,处理节点可以在最初检测到能和集群中的其他节点进行数据同步时,在节点内生成一个特定的标识符并保存在指定位置,从而使得在业务分配设备需要确定处理节点是否能作为有效处理节点(有效处理节点需要为能和集群中的其他节点进行数据同步的处理节点)时,业务分配设备能够从该指定位置获取到该特定的标识符;而在处理节点检测到不能和集群中的其他节点进行数据同步时,即将该特定的标识符从指定位置清除,从而使得业务分配设备不能从该指定位置获取到该特定的标识符。应当理解的是,在本申请实施例中,只要能表征处理节点对自身是否能和集群中的其他节点进行数据同步,且能被业务分配设备获取到的有效性标识均可被本申请实施采用。
需要说明的是,在本申请实施例中,业务分配设备会接收业务请求,并根据各处理节点是否存在该有效标识来确定是否将接收到的业务请求分配给该处理节点来处理。业务分配设备所执行的操作可以参见附图3所示:
S301:在接收到业务请求时,确定有效处理节点。
需要理解的是,在本申请和实施例中,有效处理节点为业务请求所需访问的集群中,可以与集群内的其余节点进行数据同步的节点。参见上述对于图2的描述可见,集群内的各处理节点会在自身能和集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和集群中的其他节点进行数据同步时,消除该预设的有效性标识。因此在本申请实施例中,可以通过确定各处理节点是否存在预设的有效性标识来确定处理节点是否能作为有效处理节点。
示例性的,在本申请实施例的一种可行实施方式中,参见图4所示,包括:
S401:为该业务请求分配处理节点。
业务分配设备可以在接收到业务请求时,即为该业务请求分配处理节点。
S402:确定是否能从所分配的处理节点中检测到预设的有效性标识。在能检测到有效性标识时,转至步骤S403;在不能检测到有效性标识时,转至步骤S401,以重新为该业务请求分配处理节点。
需要说明的是,在本可行实施方式中,业务分配设备可以在不能检测到所分配的处理节点中的有效性标识时,可以对该处理节点进行标记,从而在重新为该业务请求分配处理节点时,从集群中没有进行标记的处理节点中再重新进行分配。需要理解的是,在确定出了有效处理节点后,即可以将标记清除。
S403:将所分配的处理节点确定为有效处理节点。
在本申请实施例中,在确定出有效处理节点后即可转至步骤S302。
在本申请实施例的又一种可行实施方式中,业务分配设备也可以在接收到业务请求时,即依次针对各处理节点尝试检测各处理节点的有效性标识,从而得到集群中当前具有预设的有效性标识的处理节点的集合。进而再从当前具有预设的有效性标识的处理节点中选出一个处理节点来作为有效处理节点。需要注意的是,在本可行实施方式中,可以随机从当前具有预设的有效性标识的处理节点中选择一个处理节点来作为有效处理节点;或者也可以是根据各处理节点当前的剩余处理量来进行选择,例如业务分配设备可以在检测各处理节点的有效性标识时,同时获取各处理节点的剩余处理量(如CPU(CentralProcessing Unit/Processor,中央处理器)空闲率、内存空闲量等),进而选择剩余处理量最大的具有预设的有效性标识的处理节点来作为有效处理节点。应当理解的是,在本可行实施方式中,对于选择方式并不做限制,只要能从当前具有预设的有效性标识的处理节点中选择一个处理节点来作为有效处理节点即可。
在本申请实施例的另一种可行实施方式中,业务分配设备也可以在接收到业务请求之前,即实时检测集群中各处理节点的有效性标识,从而实时得到集群中当前具有预设的有效性标识的处理节点的集合。在接收到业务请求,即从当前具有预设的有效性标识的处理节点中,选出一个处理节点来作为有效处理节点。
需要说明的是,在本申请实施例的一种可行示例中,上述各可行实施方式中的有效性标识可以为处理节点的预设端口处于启用状态。此时,业务分配设备在获取有效性标识时,可以向所述处理节点请求调用所述预设端口。而在收到预设端口的响应时,即确定能检测到预设的有效性标识,否则,确定不能检测到预设的有效性标识。
S302:向有效处理节点发送该业务请求。
需要注意的是,在本申请实施例中,业务分配设备可以为具有能够实现上述业务请求分配功能的设备,例如可以为负载均衡器,或者装载有负载均衡软件的电子设备(如服务器等)。
通过上述方案,业务分配设备即可将接收到的业务请求分配给有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
值得注意的是,在本申请实施例中,集群中的各处理节点在检测到自身不能和集群中的其他节点进行数据同步时,还可以控制自身进行重启,从而尝试重新与集群内的其他节点建立联系,以重新实现数据同步。从而在一定程度上实现处理节点的自愈,提升整个集群的可靠性。
还值得注意的是,在本申请实施例的一种可行实施方式中,若一个处理节点在连续重启n次之后,仍不能和集群中的其他节点进行数据同步,则可以按照预设方式进行故障通知,例如通过微信、短信、邮件等方式通知运维人员,从而使得运维人员能够及时只要该处理节点出现不可自愈的故障,从而进行人工修复。
综上,本申请实施例所提供的业务请求处理方法,业务请求先到达业务分配设备,由业务分配设备为其确定有效处理节点(即确定集群内的能与集群内的其余节点保持数据同步,且未与集群内其他节点脱离的处理节点),此时将业务请求发送给该有效处理节点。这样,通过业务分配设备的调控管理,即使得业务请求均由集群内的有效处理节点来进行处理,而由于各有效处理节点之间的数据始终保持同步,因此可以提升集群提供的服务的一致性,使得集群能够正常运行。
此外,通过本申请实施例所提供的业务请求处理方法,与集群内其他节点脱离的处理节点能够保持脱离时的数据,在恢复后只需要从其余处理节点正常获取数据即可很容易的实现与其余节点之间的数据同步,保证各处理节点中的数据一致性。
此外,处理节点在检测到自身不能和集群中的其他节点进行数据同步时,可以自动进行重启,以尝试重新与集群内的其他节点建立联系,以重新实现数据同步。这样,可以在一定程度上实现处理节点的自愈,提升整个集群的可靠性。
实施例二:
本实施例在实施例一的基础上,以业务请求为数据读写请求,处理节点为服务器,业务分配设备为负载均衡器,有效性标识为服务器的8080端口处于启用状态的情况为例,为本申请做进一步示例说明。
参见图5所示,集群具有服务器1至服务器3这3个处理节点,服务器1至服务器3中分别都运行有一个集群检测程序以检测自身是否能与集群内的其余处理节点进行数据同步。在集群检测程序检测结果为自身可以与集群内的其余处理节点进行数据同步时,控制8080端口处于启用状态,例如图5中服务器1和服务器2的情况,而在集群检测程序检测结果为自身不能与集群内的其余处理节点进行数据同步时,控制8080端口处于关闭状态,例如图5中服务器3的情况。需要说明的是,对于8080端口的启用和关闭,可以通过调用xinetd实现。还需要说明的是,服务器3中的集群检测程序在检测到自身不能与集群内的其余处理节点进行数据同步时,会同时控制自身进行重启,以尝试恢复与集群内的其余处理节点之间的数据同步。
参见图5所示,用户先访问负载均衡,负载均衡器分别请求服务器1至服务器3的8080端口,此时会得到请求结果为服务器3中的8080端口无响应,故负载均衡器将用户的数据读写请求分配给服务器1或服务器2,而不分配给服务器3。
通过上述方案,可以提升集群提供的服务的一致性,使得集群能够正常运行,同时与集群内其余处理节点脱离的处理节点可以尝试自愈,提升了集群的可靠性。
实施例三:
基于同一发明构思,本申请实施例中还提供业务请求处理装置100和业务请求处理装置200。请参阅图6和图8所示,图6示出了采用图3所示的方法的业务请求处理装置,图8示出了采用图2所示的方法的业务请求处理装置。应理解,装置100和装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置100和装置200包括至少一个能以软件或固件的形式存储于存储器中或固化在装置100、装置200的操作系统中的软件功能模块。具体地:
参见图6所示,装置100应用于业务分配设备上,包括:接收模块101,确定模块102和发送模块103;
接收模块101用于接收业务请求;
确定模块102用于在接收模块101接收到业务请求时,确定有效处理节点;有效处理节点为业务请求所需访问的集群中,可以与集群内的其余节点进行数据同步的节点;
发送模块103用于向有效处理节点发送业务请求。
在本申请实施例的一种可行实施方式中,参见图7所示,确定模块102包括分配子单元1021和确定子单元1022。分配子单元1021用于在接收模块101接收到业务请求时,为业务请求分配处理节点;确定子单元1022用于确定是否能从处理节点中检测到预设的有效性标识;在能检测到预设的有效性标识时,确定处理节点为有效处理节点;有效性标识为在处理节点可以与集群内的其余节点进行数据同步时所产生的标识。
分配子单元1021还用于在不能检测到预设的有效性标识时,为业务请求重新分配处理节点;确定子单元1022还用于确定是否能从重新分配的处理节点中检测到预设的有效性标识。
在本申请实施例中,确定子单元1022具体用于向处理节点请求调用预设端口;在收到预设端口的响应时,确定能检测到预设的有效性标识;否则,确定不能检测到预设的有效性标识。
在本申请实施例的一种可行实施方式中,确定模块102具体用于在接收到业务请求时,获取集群中当前具有预设的有效性标识的处理节点;有效性标识为在处理节点可以与集群内的其余节点进行数据同步时所产生的标识;从具有有效性标识的处理节点中,选择一个处理节点作为有效处理节点。
参见图8所示,装置200应用于集群的处理节点中,包括:检测模块201和控制模块202;
检测模块201用于检测是否能和集群中的其他节点进行数据同步;
控制模块202用于在能和集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和集群中的其他节点进行数据同步时,消除预设的有效性标识,以使业务分配设备在未检测到预设的有效性标识时,将其所接收到的业务请求发送给集群中具有有效性标识的其他节点。
在本申请实施例中,有效性标识为处理节点的预设端口处于启用状态。
在本申请实施例中,参见图9所示,装置200还包括重启模块203。重启模块203用于在不能和集群中的其他节点进行数据同步时,重启处理节点。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图10所示,其包括处理器1001、存储器1002以及通信总线1003。其中:
通信总线1003用于实现处理器1001和存储器1002之间的连接通信。
处理器1001用于执行存储器1002中存储的一个或多个第一程序,以实现上述实施例一和/或实施例二中业务分配设备所执行的业务请求处理方法的各步骤;
或,处理器1001用于执行存储器1002中存储的一个或多个第二程序,以实现上述实施例一和/或实施例二中处理节点所执行的业务请求处理方法的各步骤。
可以理解,图10所示的结构仅为示意,电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。例如,电子设备可以为负载均衡器,以实现业务分配设备所执行的各步骤;或者可以为服务器,以实现处理节点所执行的各步骤。此外,可以理解的是电子设备应具有数据通信接口,可实现不同设备之间的数据交互,同时还具有存储介质等部件,同时还可以具有自动外发邮件、微信、短信等功能。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中业务分配设备所执行的业务请求处理方法的各步骤,或实现上述实施例一和/或实施例二中处理节点所执行的业务请求处理方法的各步骤。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种业务请求处理方法,其特征在于,应用于业务分配设备上,包括:
在接收到业务请求时,确定有效处理节点;所述有效处理节点为所述业务请求所需访问的集群中,可以与所述集群内的其余节点进行数据同步的节点;
向所述有效处理节点发送所述业务请求;
所述在接收到业务请求时,确定有效处理节点包括:
在接收到业务请求时,为所述业务请求分配处理节点;
确定是否能从所述处理节点中检测到预设的有效性标识;所述有效性标识为在所述处理节点可以与所述集群内的其余节点进行数据同步时所产生的标识;
在能检测到所述预设的有效性标识时,确定所述处理节点为所述有效处理节点;
在不能检测到所述预设的有效性标识时,为所述业务请求重新分配处理节点,并确定是否能从重新分配的处理节点中检测到预设的有效性标识。
2.如权利要求1所述的业务请求处理方法,其特征在于,所述有效性标识为所述处理节点的预设端口处于启用状态;
所述确定是否能从所述处理节点中检测到预设的有效性标识包括:
向所述处理节点请求调用所述预设端口;
在收到所述预设端口的响应时,确定能检测到所述预设的有效性标识;
否则,确定不能检测到所述预设的有效性标识。
3.如权利要求1所述的业务请求处理方法,其特征在于,所述在接收到业务请求时,确定有效处理节点包括:
在接收到业务请求时,获取所述集群中当前具有预设的有效性标识的处理节点;所述有效性标识为在所述处理节点可以与所述集群内的其余节点进行数据同步时所产生的标识;
从具有所述有效性标识的处理节点中,选择一个处理节点作为所述有效处理节点。
4.一种业务请求处理方法,其特征在于,应用于集群的处理节点中,包括:
检测是否能和所述集群中的其他节点进行数据同步;
在能和所述集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和所述集群中的其他节点进行数据同步时,消除所述预设的有效性标识,以使业务分配设备在未检测到所述预设的有效性标识时,将其所接收到的业务请求发送给所述集群中具有所述有效性标识的其他节点。
5.如权利要求4所述的业务请求处理方法,其特征在于,所述有效性标识为所述处理节点的预设端口处于启用状态。
6.如权利要求4或5所述的业务请求处理方法,其特征在于,在不能和所述集群中的其他节点进行数据同步时,所述业务请求处理方法还包括:重启所述处理节点。
7.一种业务请求处理装置,其特征在于,应用于业务分配设备上,包括:接收模块,确定模块和发送模块;
所述接收模块用于接收业务请求;
所述确定模块用于在所述接收模块接收到业务请求时,确定有效处理节点;所述有效处理节点为所述业务请求所需访问的集群中,可以与所述集群内的其余节点进行数据同步的节点;
所述发送模块用于向所述有效处理节点发送所述业务请求;
所述确定模块包括分配子单元和确定子单元;
所述分配子单元,用于在所述接收模块接收到业务请求时,为业务请求分配处理节点;
所述确定子单元,用于确定是否能从处理节点中检测到预设的有效性标识;在能检测到预设的有效性标识时,确定处理节点为有效处理节点;所述有效性标识为在处理节点可以与集群内的其余节点进行数据同步时所产生的标识;
所述分配子单元,还用于在不能检测到预设的有效性标识时,为业务请求重新分配处理节点;
所述确定子单元,还用于确定是否能从重新分配的处理节点中检测到预设的有效性标识。
8.一种业务请求处理装置,其特征在于,应用于集群的处理节点中,包括:检测模块和控制模块;
所述检测模块用于检测是否能和所述集群中的其他节点进行数据同步;
所述控制模块用于在能和所述集群中的其他节点进行数据同步时,保持预设的有效性标识,并在不能和所述集群中的其他节点进行数据同步时,消除所述预设的有效性标识,以使业务分配设备在未检测到所述预设的有效性标识时,将其所接收到的业务请求发送给所述集群中具有所述有效性标识的其他节点。
9.一种电子设备,其特征在于,包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现如权利要求1-3中任一项所述的业务请求处理方法;
或,所述处理器用于执行存储器中存储的一个或者多个第二程序,以实现如权利要求4-6中任一项所述的业务请求处理方法。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-3中任一项所述的业务请求处理方法,或以实现如权利要求4-6中任一项所述的业务请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065564.2A CN110839068B (zh) | 2019-11-04 | 2019-11-04 | 业务请求处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065564.2A CN110839068B (zh) | 2019-11-04 | 2019-11-04 | 业务请求处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110839068A CN110839068A (zh) | 2020-02-25 |
CN110839068B true CN110839068B (zh) | 2022-02-18 |
Family
ID=69576055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911065564.2A Active CN110839068B (zh) | 2019-11-04 | 2019-11-04 | 业务请求处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110839068B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865722B (zh) * | 2020-07-20 | 2022-07-05 | 深圳市活力天汇科技股份有限公司 | 一种节点健康状态检测及处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158707A (zh) * | 2014-08-29 | 2014-11-19 | 杭州华三通信技术有限公司 | 一种检测并处理集群脑裂的方法和装置 |
CN107094182A (zh) * | 2017-06-01 | 2017-08-25 | 云南电网有限责任公司信息中心 | 一种采用sso单点认证系统检测服务节点健康度的负载均衡方法 |
CN108055159A (zh) * | 2017-12-21 | 2018-05-18 | 郑州云海信息技术有限公司 | 一种集群节点操作同步方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719473B2 (en) * | 2008-09-19 | 2014-05-06 | Microsoft Corporation | Resource arbitration for shared-write access via persistent reservation |
CN102238146B (zh) * | 2010-04-27 | 2014-10-08 | 中国移动通信集团公司 | 认证方法、装置、认证中心及系统 |
-
2019
- 2019-11-04 CN CN201911065564.2A patent/CN110839068B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158707A (zh) * | 2014-08-29 | 2014-11-19 | 杭州华三通信技术有限公司 | 一种检测并处理集群脑裂的方法和装置 |
CN107094182A (zh) * | 2017-06-01 | 2017-08-25 | 云南电网有限责任公司信息中心 | 一种采用sso单点认证系统检测服务节点健康度的负载均衡方法 |
CN108055159A (zh) * | 2017-12-21 | 2018-05-18 | 郑州云海信息技术有限公司 | 一种集群节点操作同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110839068A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108923992B (zh) | 一种nas集群高可用方法、系统及电子设备和存储介质 | |
WO2020177533A1 (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
WO2017140131A1 (zh) | 数据写入、读取方法及装置、云存储系统 | |
US10609159B2 (en) | Providing higher workload resiliency in clustered systems based on health heuristics | |
US9208029B2 (en) | Computer system to switch logical group of virtual computers | |
WO2017067484A1 (zh) | 一种虚拟化数据中心调度系统和方法 | |
CN106817432B (zh) | 云计算环境下虚拟资源弹性伸展的方法,系统和设备 | |
CN111147274B (zh) | 为集群解决方案创建高度可用的仲裁集的系统和方法 | |
CN113067850A (zh) | 一种多云场景下的集群编排系统 | |
CN108614728A (zh) | 虚拟机服务提供方法、装置、设备及计算机可读存储介质 | |
US9092396B2 (en) | Standby system device, a control method, and a program thereof | |
CN113467873A (zh) | 虚拟机的调度方法、装置、电子设备及存储介质 | |
CN110839068B (zh) | 业务请求处理方法、装置、电子设备及可读存储介质 | |
CN114143175B (zh) | 主备集群实现方法及系统 | |
CN110019475B (zh) | 数据持久化处理方法、装置及系统 | |
CN111274022A (zh) | 服务器资源分配方法和系统 | |
CN113867915A (zh) | 任务调度方法、电子设备及存储介质 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN109284169B (zh) | 基于进程虚拟化的大数据平台进程管理方法及计算机设备 | |
CN109614242B (zh) | 一种计算能力共享方法、装置、设备及介质 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
CN113259975A (zh) | 网络游戏连接方法、电子设备和计算机可读介质 | |
CN112822792A (zh) | 承载标识的分配方法、装置、设备和存储介质 | |
CN114124812B (zh) | 维护表项一致性的方法、装置及电子设备 | |
CN112559185B (zh) | 芯片资源分配方法、装置、网络设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |