CN110430255A - 分布式集群中服务请求的处理方法、***以及电子设备 - Google Patents

分布式集群中服务请求的处理方法、***以及电子设备 Download PDF

Info

Publication number
CN110430255A
CN110430255A CN201910701938.9A CN201910701938A CN110430255A CN 110430255 A CN110430255 A CN 110430255A CN 201910701938 A CN201910701938 A CN 201910701938A CN 110430255 A CN110430255 A CN 110430255A
Authority
CN
China
Prior art keywords
service request
node
mapping relations
logical node
logical
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.)
Pending
Application number
CN201910701938.9A
Other languages
English (en)
Inventor
李龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910701938.9A priority Critical patent/CN110430255A/zh
Publication of CN110430255A publication Critical patent/CN110430255A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种分布式集群中服务请求的处理方法,包括:根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;所述第一映射关系为一个服务请求对应一个逻辑节点,并且一个逻辑节点对应一个以上服务请求;根据物理集群管理模块物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。

Description

分布式集群中服务请求的处理方法、***以及电子设备
技术领域
本说明书实施例涉及计算机领域,尤其涉及一种分布式集群中服务请求的处理方法、***以及电子设备。
背景技术
在现有分布式环境中的调用功能在实现过程中一般是服务请求所在的服务请求代理方直接与执行服务器方对应,即产生映射关系。当执行服务器方为服务器集群(物理集群)时,由于考虑到负载的均衡和容灾等问题,所以是直接与该服务器集群中的每个服务器(物理节点)映射,在服务请求调用时,随机路由到集群中的某个服务器,即随机调用集群中的某个服务器。但是这种情况下,当物理集群对外提供的读写服务是有状态时,即服务请求被分配到固定的物理节点(机器)上执行,这样可以保证数据写的串行化处理,但是有时并不能做到所有的有状态的服务请求都能够满足该种情况。当物理集群是无状态时,通过该类物理集群中物理节点的无状态性可以做到服务器节点的灵活切换,服务请求也是没有被分配到固定的物理机器上执行的,这种无状态性会因为***抖动或者并发等原因导致一次请求被多台物理机器处理,例如当次请求有数据写操作时,则可能造成数据不一致或者写坏数据,或者数据库会有大量热点等问题。
发明内容
为了解决以上技术问题,本说明书实施例的主要目的在于提供一种分布式集群中服务请求的处理方法、***以及电子设备,以解决现有技术中在分布式集群中的一次服务请求可能被多台物理机器执行,导致的出现错误的技术问题。
本说明书的一个或多个实施例的技术方案是通过以下方式实现的:
本申请实施例提供了一种分布式集群中服务请求的处理方法,包括:
根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;所述第一映射关系为一个服务请求对应一个逻辑节点,并且一个逻辑节点对应一个以上服务请求;
根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;
利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,在建立所述服务请求与逻辑节点的映射关系之前,还包括:
在所述请求代理模块中配置请求白名单,所述服务请求为所述请求白名单中的服务请求。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,在建立所述服务请求与逻辑节点的映射关系之前,还包括:所述请求代理模块获取所述逻辑节点的信息。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,所述根据服务请求的信息和逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系,具体为:
通过预设的计算规则对所述服务请求的参数进行计算;
将所述计算的结果与所述逻辑节点的编号进行匹配,建立所述服务请求与逻辑节点的第一映射关系。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,所述根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,具体包括:
将所述物理节点的通用唯一识别码信息添加至所述逻辑节点,建立所述物理节点与所述逻辑节点的一一对应的关系。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,当所述物理节点发生变化时,将变化后的物理节点的通用唯一识别码信息更新至所述逻辑节点中,建立所述变化后的物理节点与所述逻辑节点的一一对应的关系。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,在利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联之前,还包括:
所述请求代理模块向所述逻辑集群管理模块订阅所述逻辑节点的信息;
所述逻辑集群管理模块判断所述逻辑节点是否发生变化,当所述逻辑节点发生变化时,所述逻辑集群管理模块向所述请求代理模块发送更新通知,所述请求代理模块更新变化后的逻辑节点。
本申请实施例还提供了一种分布式集群中服务请求的处理方法,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理,具体为:
当所述服务请求发起调用请求时,调用所述服务请求对应的逻辑节点;
所述服务请求对应的逻辑节点调用与其对应的物理节点;
所述物理节点判断其自身的通用唯一识别码与所述逻辑节点中的通用唯一识别码是否一致;
当两者一致时,所述逻辑节点对应的物理节点对所述服务请求进行处理;
否则,所述物理节点不对所述服务请求进行处理,并将该信息通过所述逻辑节点返回至所述请求代理模块。
本申请实施例还提供了一种分布式集群中服务请求的处理***,包括:
第一映射关系建立模块,根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;所述第一映射关系为一个服务请求对应一个逻辑节点,并且一个逻辑节点对应一个以上服务请求;
第二映射关系建立模块,根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;
执行模块,利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
本申请实施例还提供了一种分布式集群中服务请求的处理***,还包括:
请求白名单配置模块,在建立所述服务请求与逻辑节点的映射关系之前在所述请求代理模块中配置请求白名单,所述服务请求为所述请求白名单中的服务请求。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于执行所述程序指令,以实现上述以实现上述本申请实施例中所述的服务清楚的处理方法。
相比于现有技术,本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供了一种分布式服务请求的处理方法,通过为每个物理节点创建一个唯一的逻辑节点实现物理节点与服务请求调用的解耦,使得逻辑界对应的物理节点是无状态的,从而物理节点可以灵活的进行变更;服务请求的调用与逻辑节点之间是有状态的,用户的服务请求会被分发到固定的逻辑节点中,从而保证服务请求的调用和处理过程能够保证写的串行化。让服务请求均匀的分散在物理集群中不同的物理节点,保证了一个服务请求只能被一个物理节点执行或处理,解决了一个服务请求在无状态下被多个物理节点处理从而出现错误的技术问题。
同时,本申请的实施例提供的处理方法也解决了服务请求所在的服务请求代理模块同时具有逻辑集群管理模块的功能时,直接与物理节点对应,也就是在直接调用物理节点时,需要建立与物理节点的映射关系并且需要读取或者维护物理节点的增减、更新等操作,导致的服务请求代理模块工作量很大的问题。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书的一个实施例提供的一种分布式集群中服务请求的处理方法的流程示意图;
图2为本说明书的一个实施例提供的一种分布式集群中服务请求的处理的整体方案结构示意图;
图3为本说明书的一个实施例提供的一种分布式集群中服务请求的处理***的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
结合附图对本申请的实施例进行进一步说明。
如图1所示,为本说明书的一个实施例提供的一种分布式集群中服务请求的处理方法的流程示意图,该方法包括以下步骤:
在执行该方法之前,需要先配置请求白名单,请求白名单在请求代理模块中配置,将需要通过该方法处理的服务请求配置在请求白名单中,本实施例中的服务请求为请求白名单中的服务请求。该步骤的目的是选择需要进行该方法的服务请求,不需要执行该方法的服务请求不再请求白名单中,这样可以保证在请求白名单中的服务请求通过执行该方法可以实现一个服务请求只能被一个物理节点执行,从而不会出现一个服务请求被多个物理节点执行导致出错的情况。不在请求白名单中的服务请求通过现有技术执行即可。该步骤相当于判断服务请求是否为请求白名单中的服务请求,如果是,执行该方法。如果不是,则不执行该方法。
步骤S100,根据服务请求的信息和逻辑节点的信息,建立服务请求与逻辑节点的第一映射关系,第一映射关系为一个服务请求对应一个逻辑节点,一个逻辑节点对应一个以上服务请求。物理节点在本实施例中可以是服务器、物理终端机器等执行单元,逻辑节点是本实施例中抽象出来作为服务请求与物理节点之间的起到桥梁作用的中间纽带,逻辑节点可以是一个中间文件,通过逻辑节点将服务请求分配到相应的物理节点执行。
该步骤具体包括:
通过预设的计算规则对服务请求的参数进行计算。每个服务请求中包括与该请求对应的参数信息,根据需要自定义选择参数信息中的某些信息进行处理,在本实施例中,可以是用户身份证明(UID)、进程身份标识(PID)等,不同服务请求的参数可能是不同的。预设的计算规则可以是哈希算法,通过哈希算法对服务请求中的参数关键值进行哈希计算,具体的哈希算法的计算方式同样是可以根据需要进行自定义的,在本实施例中选择的是选取用户身份证明的倒数第2、3位作为哈希的计算方法,选取进程身份标识的倒数1、2位作为哈希的计算方法。服务请求的参数关键值经过哈希算法计算之后,与逻辑节点的编号是对应的,一个服务请求的参数关键值经过哈希算法计算之后的结果会与一个逻辑节点的编号是对应的。当然还可以选择其他的哈希计算方法对服务请求的参数关键值进行计算。服务请求的参数关键值是可以唯一标识该服务请求的参数关键值。
将计算的结果与逻辑节点的编号进行匹配,建立服务请求与逻辑节点的第一映射关系。逻辑节点是有一定的编号的,根据逻辑节点的名称和地址对逻辑节点进行编号,例如有一百个逻辑节点,可以根据逻辑节点的名称和地址对这一百个逻辑节点进行编号,从00到99。服务请求的参数经过哈希算法计算之后得到结果与逻辑节点的编号是可以对应的,也就是说每个服务请求的参数经过哈希算法计算之后会有一个逻辑节点的编号与其对应。这样就将服务请求与逻辑节点进行了匹配,建立服务请求与逻辑节点的第一映射关系。不同的服务请求可以是有不同的哈希计算方法的,根据服务请求和逻辑节点的信息选择相应的哈希计算方法,进一步建立两者之间的第一映射关系。
多个不同的服务请求经过上述哈希算法计算参数关键值后可能会得到相同的结果,对应同一个逻辑节点,也就是多个服务请求会映射同一个逻辑节点,并不是一个逻辑节点只能对应一个服务请求。
值得说明的是,在执行该步骤之前还包括获取逻辑节点的信息的步骤。在获取逻辑节点的信息后才可以建立服务请求与逻辑节点之间的第一映射关系。该步骤可以是在请求代理模块启动请求时进行的。
步骤S200,根据物理节点的信息和逻辑节点的信息,建立物理节点与逻辑节点的第二映射关系,第二映射关系为一一对应的关系。将物理节点一一映射到逻辑节点中,一个物理节点映射一个逻辑节点,将物理节点的通用唯一识别码(UUID)写入逻辑节点中,UUID可以是根据服务器网卡的Mac地址生成。逻辑节点中包括有物理节点的通用唯一识别码之后,说明这个逻辑节点与这个通用唯一识别码对应的物理节点建立了映射关系。判断逻辑节点中是否已经存在有通用唯一识别码时,通过逻辑节点所在的逻辑集群管理模块进行判断,逻辑集群管理模块中包括有逻辑节点,逻辑节点可以看做是逻辑集群管理模块中的一个文件。逻辑集群管理模块具有锁机制,在物理节点与逻辑节点之间建立映射关系的过程中,通过锁机制可以保证逻辑节点与物理节点之间的一一对应性,也就是保证一个逻辑节点只能对应一个物理节点,一个逻辑节点中只能保存一个物理节点的通用唯一识别码。但是,逻辑节点对应的物理节点可以发送变更,例如物理节点损坏等情况下,可以更换物理节点,更换后的物理节点与逻辑节点还是一一对应的关系。
一个逻辑节点对应一个物理节点,当物理节点发生变化时,逻辑节点中保存的之前的物理节点的通用唯一识别码同样需要进行改变,将发生变化后的物理几点的通用唯一识别码写入没有对应最新的物理节点的逻辑节点中。最新的物理节点指的是通用唯一识别码与逻辑节点中保存的通用唯一识别码相同的物理节点。物理节点与服务请求之间没有耦合关系,也就是说本申请的技术方案中通过逻辑节点将服务请求与物理节点进行解耦,每个物理节点对应一个唯一的逻辑节点,物理节点是没有与服务请求直接有唯一对应关系的。当与逻辑节点对应的物理节点发生变化时(例如损坏等情况),可以将逻辑节点对应的物理节点进行更换或者更新,物理节点是可以灵活变更的。
该步骤中的第二映射关系是在物理节点启动的过程中建立的。
步骤S300,利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
在服务请求与物理节点进行关联之前还包括:请求代理模块向逻辑集群管理模块订阅逻辑节点的信息,逻辑集群管理模块判断逻辑节点是否发生变化,当逻辑节点发生变化时,逻辑集群管理模块向请求代理模块发送更新通知,提示请求代理模块逻辑节点发生了变化,请求代理模块接收更新通知后更新变化后的逻辑节点。例如当逻辑节点有增加时,需要订阅增加后的逻辑节点的信息。只有在逻辑节点在发生变化后逻辑集群管理模块将逻辑节点的变化信息发送给请求代理模块,请求代理模块将接收的变化后的逻辑节点信息进行缓存,服务请求与变化后的逻辑节点建立映射关系。订阅逻辑节点的信息的目的是为了请求代理模块即客户端不用每隔一定的时间拉取逻辑集群管理模块中的全量逻辑节点信息,进一步提高了请求代理模块的工作效率,提高了请求代理模块的性能。
当所述服务请求发起调用请求时,调用所述服务请求对应的逻辑节点;该服务请求对应的逻辑节点调用与该服务请求对应的物理节点,与这个服务请求对应的逻辑节点对应的物理节点判断其自身的通用唯一识别码和与其具有第二映射关系的逻辑节点中的通用唯一识别码是否一致。当两者一致时,该逻辑节点对应的物理节点对这次的服务请求进行处理;否则,这个物理节点不对这次的服务请求进行处理,物理节点通过与其具有第二映射关系的逻辑节点将不对这次服务请求进行处理的信息发送至请求代理模块。当物理节点接收到逻辑节点的信息后,判断逻辑节点中的通用唯一识别码是否与物理节点自身的通用唯一识别码一致。当一致时,物理节点执行服务请求,否则不执行并将不执行的信息通过与其对应的逻辑节点发送至请求代理模块,请求代理模块根据需要决定是否重新进行调用的请求。当不一致时,说明物理节点发生了变化,例如物理节点出现了问题等,发生变化后的物理节点的信息还没有在逻辑节点中更新。此时需要将变化后的物理节点的通用唯一识别码信息更新至与原物理节点不对应的逻辑节点中,建立变化后的物理节点与逻辑节点的一一对应的关系。
逻辑节点在保存物理节点的通用唯一识别码之后,逻辑节点的信息包括名称、地址和物理节点的通用唯一识别码。
其中,服务请求方以及订阅逻辑节点信息的一方为客户端,客户端在启动的过程中订阅所有逻辑节点的信息,逻辑节点在发生变化以后,客户端会更新逻辑节点的信息,也就是说服务请求和逻辑信息的订阅均是在客户端中执行的。同样,判断服务请求是不是请求白名单中的请求也是在客户端中执行的。本申请实施例中的物理节点是在物理节点管理模块中,逻辑节点是在逻辑集群管理模块中,客户端可以是服务请求代理模块。参考图2。
本申请实施例提供了一种分布式服务请求的处理方法,通过为每个物理节点创建一个唯一的逻辑节点实现物理节点与服务请求调用的解耦,使得逻辑节点对应的物理节点是无状态的(一个逻辑节点对应的物理节点只有一个,但是这个逻辑节点对应的物理节点可以更换等),从而物理节点可以灵活的进行变更;服务请求的调用与逻辑节点之间是有状态的(也就是一个服务请求只能对应某一个逻辑节点,这个逻辑节点不能变更,相当于一个服务请求与某一个逻辑节点绑定,但是不等于这个逻辑节点只能与一个服务请求绑定,一个逻辑节点可以对应对个服务请求),用户的服务请求会被分发到固定的逻辑节点中,从而保证服务请求的调用和处理过程能够保证写的串行化。保证了一个服务请求只能被一个物理节点执行或处理,解决了一个服务请求在无状态下被多个物理节点处理从而出现错误的技术问题。
同时,本申请的实施例提供的处理方法也解决了服务请求所在的服务请求代理模块同时具有逻辑集群管理模块的功能,直接与物理节点对应,也就是在直接调用物理节点时,需要建立与物理节点的映射关系并且需要读取或者维护物理节点的增减、更新等操作,导致的服务请求代理模块工作量很大的问题。简化了服务请求代理模块的任务,使得在实际应用中的使用效果更好。
不在请求白名单中的服务请求可以使用现有技术进行随机处理。
本申请还提供了一种具体应用场景的实施例,该应用场景可以是邮件智能推荐、联系人搜索等功能的场景。本实施例一邮件智能推荐的应用场景为例进行说明。
邮件中的智能推荐功能是根据用户的历史邮件的发送和接收、联系的好友等信息建立起用户信息检索数据库,在用户进行搜索时,根据用户信息检索数据库推送给用户最有可能感兴趣的内容(例如收件人等)。由于这项功能是根据用户的历史数据进行构建的,需要为每个用户构建自己的检索数据库,在***实现上将每个用户的建设数据库构建为一个文件,存储在分布式文件***中,这个检索文件的构建是增量式构建的。当用户每收到一封邮件时,就会对该邮件进行解析,然后将相关信息加入到建立的用户信息检索数据库中,这样就会修改原来的用户信息检索数据库对应的文件。这样的用户信息检索数据库对应的文件的写操作如果出现并行在多个服务器上进行写操作时,很有可能会导致数据错乱,影响正常的服务功能,所以要保证检索文件构建的串行化处理,也就是用户信息检索数据库对应的文件的写操作只能是在一个服务器中执行。
为了解决上述文件写操作可能会出现问题的情况,在构建用户信息检索数据库的时候,对构建服务请求的调用,我们可以在请求代理模块配置服务请求的白名单,标识服务请求为需要进行有状态处理的服务请求。当一个服务请求启动时,判断这个服务请求是否为服务请求白名单中的服务请求,如果是,则进行本申请的实施例中的方法。服务请求所在的客户端(请求代理模块)拉取逻辑节点的信息,将服务请求通过预定的算法对服务请求中的参数关键值进行计算,计算的结果与逻辑节点的编号进行匹配,建立服务请求与逻辑节点之间的第一映射关系。逻辑节点的编号是在进行第一映射关系之前编辑好的。服务请求调用与其具有第一映射关系的逻辑节点,服务请求与逻辑节点是有状态的,也就是一个服务请求只能对应一个逻辑节点,这个逻辑节点不能变更,但是一个逻辑节点可以对应多个服务请求。物理节点在启动时建立与逻辑节点的第二映射关系,物理节点与逻辑节点之间的第二映射关系是无状态的,也就是一个物理节点对应一个逻辑节点,但是逻辑节点对应的物理节点可以改变。逻辑节点收到服务请求的调用后,调用与逻辑节点具有第二映射关系的物理节点,物理节点判断逻辑节点中的通用唯一识别码是否为自己本身的通用唯一识别码,如果是,则执行服务请求。否则不执行。重新执行上述步骤,直到可以执行为止。
本申请提供的实施例可以保证与逻辑节点具有第一映射关系的服务请求可以只被一个物理节点处理,解决了现有技术中的问题。
上述方法实现了对服务请求的处理,解决了现有技术中一个服务请求被多个物理节点执行从而出现错误的问题,达到了相应的技术效果,本说明书实施例还提供一种实现上述方法的***,可以通过该***实现上述方法。该***可以解决与上述方法同样的技术问题,可以达到与上述方法相同的技术效果,参考图3。
该***包括:
第一映射关系建立模块1,根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;
第二映射关系建立模块2,根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;
执行模块3,利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
还包括:请求白名单配置模块4,在建立所述服务请求与逻辑节点的映射关系之前配置请求白名单,所述服务请求为所述请求白名单中的服务请求。
本说明书实施例还提供了一种电子设备,包括:一个以上存储器和一个以上处理器。其中,
存储器(图中未示出),用于存储程序指令,存储器可以是短暂存储或持久存储。
处理器(图中未示出),用于执行所述程序指令,以实现本技术方案中分布式集群中服务请求的处理方法。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上,仅为本发明说明书的一个或多个实施例较佳的具体实施方式,但发明说明书的一个或多个实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明说明书的一个或多个实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明说明书的一个或多个实施例的保护范围之内。因此,本发明说明书的一个或多个实施例的保护范围应该以权利要求书的保护范围为准。

Claims (11)

1.一种分布式集群中服务请求的处理方法,包括:
根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;所述第一映射关系为一个服务请求对应一个逻辑节点,并且一个逻辑节点对应一个以上服务请求;
根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;
利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
2.根据权利要求1所述的处理方法,在建立所述服务请求与逻辑节点的映射关系之前,还包括:
在所述请求代理模块中配置请求白名单,所述服务请求为所述请求白名单中的服务请求。
3.根据权利要求1所述的处理方法,在建立所述服务请求与逻辑节点的第一映射关系之前,还包括:所述请求代理模块获取所述逻辑节点的信息。
4.根据权利要求1所述的处理方法,所述根据服务请求的信息和逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系,具体为:
通过预设的计算规则对所述服务请求的参数进行计算;
将所述计算的结果与所述逻辑节点的编号进行匹配,建立所述服务请求与逻辑节点的第一映射关系。
5.根据权利要求1所述的处理方法,所述根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,具体包括:
将所述物理节点的通用唯一识别码信息添加至所述逻辑节点,建立所述物理节点与所述逻辑节点的一一对应的关系。
6.根据权利要求5所述的处理方法,当所述物理节点发生变化时,将变化后的物理节点的通用唯一识别码信息更新至所述逻辑节点中,建立所述变化后的物理节点与所述逻辑节点的一一对应的关系。
7.根据权利要求1所述的处理方法,在利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联之前,还包括:
所述请求代理模块向所述逻辑集群管理模块订阅所述逻辑节点的信息;
所述逻辑集群管理模块判断所述逻辑节点是否发生变化,当所述逻辑节点发生变化时,所述逻辑集群管理模块向所述请求代理模块发送更新通知,所述请求代理模块更新变化后的逻辑节点。
8.根据权利要求6所述的处理方法,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理,具体为:
当所述服务请求发起调用请求时,调用所述服务请求对应的逻辑节点;
所述服务请求对应的逻辑节点调用与其对应的物理节点;
所述物理节点判断其自身的通用唯一识别码与所述逻辑节点中的通用唯一识别码是否一致;
当两者一致时,所述逻辑节点对应的物理节点对所述服务请求进行处理;
否则,所述物理节点不对所述服务请求进行处理,并将该信息通过所述逻辑节点返回至所述请求代理模块。
9.一种分布式集群中服务请求的处理***,包括:
第一映射关系建立模块,根据请求代理模块中服务请求的信息和逻辑集群管理模块中逻辑节点的信息,建立所述服务请求与逻辑节点的第一映射关系;所述第一映射关系为一个服务请求对应一个逻辑节点,并且一个逻辑节点对应一个以上服务请求;
第二映射关系建立模块,根据物理集群管理模块中物理节点的信息和所述逻辑节点的信息,建立所述物理节点与逻辑节点的第二映射关系,所述第二映射关系为一一对应的关系;
执行模块,利用所述第一映射关系和第二映射关系,将所述服务请求与所述物理节点进行关联,通过与所述逻辑节点具有所述第二映射关系的物理节点执行与所述逻辑节点具有所述第一映射关系的服务请求,以完成对分布式集群中服务请求的处理。
10.根据权利要求9所述的处理***,还包括:
请求白名单配置模块,在建立所述服务请求与逻辑节点的映射关系之前在所述请求代理模块中配置请求白名单,所述服务请求为所述请求白名单中的服务请求。
11.一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于执行所述程序指令,以实现权利要求1至8中任一项所述的方法。
CN201910701938.9A 2019-07-31 2019-07-31 分布式集群中服务请求的处理方法、***以及电子设备 Pending CN110430255A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910701938.9A CN110430255A (zh) 2019-07-31 2019-07-31 分布式集群中服务请求的处理方法、***以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910701938.9A CN110430255A (zh) 2019-07-31 2019-07-31 分布式集群中服务请求的处理方法、***以及电子设备

Publications (1)

Publication Number Publication Date
CN110430255A true CN110430255A (zh) 2019-11-08

Family

ID=68411839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910701938.9A Pending CN110430255A (zh) 2019-07-31 2019-07-31 分布式集群中服务请求的处理方法、***以及电子设备

Country Status (1)

Country Link
CN (1) CN110430255A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113283891A (zh) * 2021-05-13 2021-08-20 北京字跳网络技术有限公司 信息处理方法、装置和电子设备
CN113296970A (zh) * 2020-06-29 2021-08-24 阿里巴巴集团控股有限公司 消息处理、消息队列管理方法及装置
CN114465895A (zh) * 2022-03-03 2022-05-10 上海微盟企业发展有限公司 一种基于微服务的请求分发方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192920A (zh) * 2006-11-21 2008-06-04 华为技术有限公司 一种应答请求的方法和设备
US20140281065A1 (en) * 2011-09-23 2014-09-18 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
CN104618414A (zh) * 2013-11-05 2015-05-13 阿里巴巴集团控股有限公司 一种分布式服务的实现方法、服务代理装置及分布式***
CN109002362A (zh) * 2017-06-06 2018-12-14 阿里巴巴集团控股有限公司 一种服务方法、装置、***以及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192920A (zh) * 2006-11-21 2008-06-04 华为技术有限公司 一种应答请求的方法和设备
US20140281065A1 (en) * 2011-09-23 2014-09-18 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
CN104618414A (zh) * 2013-11-05 2015-05-13 阿里巴巴集团控股有限公司 一种分布式服务的实现方法、服务代理装置及分布式***
CN109002362A (zh) * 2017-06-06 2018-12-14 阿里巴巴集团控股有限公司 一种服务方法、装置、***以及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296970A (zh) * 2020-06-29 2021-08-24 阿里巴巴集团控股有限公司 消息处理、消息队列管理方法及装置
CN113296970B (zh) * 2020-06-29 2024-03-01 阿里巴巴集团控股有限公司 消息处理、消息队列管理方法及装置
CN113283891A (zh) * 2021-05-13 2021-08-20 北京字跳网络技术有限公司 信息处理方法、装置和电子设备
CN114465895A (zh) * 2022-03-03 2022-05-10 上海微盟企业发展有限公司 一种基于微服务的请求分发方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
KR102208186B1 (ko) 블록체인 합의 방법 및 디바이스
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN110430255A (zh) 分布式集群中服务请求的处理方法、***以及电子设备
CN109614404B (zh) 一种数据缓存***及方法
CN108683695A (zh) 热点访问处理方法、缓存访问代理设备及分布式缓存***
CN108418851A (zh) 策略发布***、方法、装置及设备
CN109284305A (zh) 一种数据的更新方法、装置及***
CN108345977A (zh) 一种业务处理方法及装置
CN111355816B (zh) 服务器选取方法、装置、设备及分布式服务***
TW202008763A (zh) 資料處理方法和裝置、用戶端
CN109391512A (zh) 一种服务发布方法、装置及电子设备
CN108427737A (zh) 一种数据清理方法、设备及计算机可读介质
CN112003922B (zh) 一种数据传输方法及装置
CN110471629A (zh) 一种动态扩容的方法、装置、存储介质、设备及***
CN116167092B (zh) 一种密态数据查询方法、装置、存储介质以及电子设备
CN108390914A (zh) 一种服务更新方法及装置、***
CN109982034A (zh) 视频监控***中的访问请求处理方法及装置
CN109144600A (zh) 一种应用程序的运行方法、设备及计算机可读介质
CN109460312A (zh) 请求失败的处理方法及装置
CN115841335B (zh) 数据处理方法、装置及设备
CN106156050A (zh) 一种数据处理方法及装置
CN110489392A (zh) 多租户间的数据访问方法、装置、***、存储介质及设备
CN108681492A (zh) 数据处理方法及装置
CN114328129A (zh) 消息发送方法、装置、设备及存储介质
CN115033551A (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
TA01 Transfer of patent application right

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20191108

RJ01 Rejection of invention patent application after publication