CN113315825A - 分布式请求的处理方法、装置、设备及存储介质 - Google Patents
分布式请求的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113315825A CN113315825A CN202110566350.4A CN202110566350A CN113315825A CN 113315825 A CN113315825 A CN 113315825A CN 202110566350 A CN202110566350 A CN 202110566350A CN 113315825 A CN113315825 A CN 113315825A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- edge
- edge node
- request
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims abstract description 94
- 238000004364 calculation method Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000012360 testing method Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000002147 killing effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- 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
-
- 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
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- 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
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及互联网领域,公开了一种分布式请求的处理方法、装置、设备及存储介质,该方法包括:获取访问前端页面的所有用户的用户id信息;基于用户id信息确定每个用户的接入地理区域并分类,得到用户集群;根据一致性哈希算法将用户集群的用户分配到对应的边缘节点;当接收到用户的访问请求时,查询对应的边缘节点,并进行边缘计算,得到边缘计算结果;根据边缘计算结果确定并执行对应的请求处理策略。本方法通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上,使服务端数据中心的性能提升,提高服务端的响应速度和稳定性,边缘节点可以进行动态的扩容,提高系统的可扩展性。此外本发明还涉及区块链技术,用户信息可存储于区块链中。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种分布式请求的处理方法、装置、设备及存储介质。
背景技术
现如今,绝大部分业务量达到一定规模的系统基本上采用的都是分布式服务架构设计,此架构设计在应对大规模应用场景的同时,亦可冗余系统以消除单点故障,提高系统可用性。不过分布式服务架构虽然解决了“单点”和“性能容量”的问题,但与此同时,系统的吞吐量在变大,系统的复杂性也在提高,从而响应时间也会变长。例如,现如今互联网企业或多或少都会为了吸引客户而去举行各种大促活动,低价或免费在某个时间点去抢定量的有价值商品,此类场景本质上就是一种秒杀活动。一瞬间会有大量的用户流量涌入,流量可高达平时的几十倍,正常情况下,系统因为资源有限,会产生下面这样的困境:
目前,针对此类分布式的瞬时流量业务,又需要快速实时返回结果的,大部分实现方案是通过服务端数据中心系统通过缓存、异步、限流、削峰等技术手段去解决,绝大部分请求流量压力都打在了服务端,总的来说,服务端压力瞬时骤增的同时,不光该业务响应时间会变长,影响到客户体验,同时也可能会拖垮系统相关联业务的功能。
发明内容
本发明的主要目的在于解决现有的瞬时流量业务在分布式服务架构中的服务端流量压力大响应时间长的技术问题。
本发明第一方面提供了一种分布式请求的处理方法,包括:获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;根据所述边缘计算结果确定对应的请求处理策略,并执行。
可选的,在本发明第一方面的第一种实现方式中,所述根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上包括:对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;根据所述最大承载量,计算每个边缘节点的虚拟节点数量;将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系;基于所述关系将对应的用户分配到对应的边缘节点上。
可选的,在本发明第一方面的第二种实现方式中,所述计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系包括:计算所述用户id信息的哈希值,并获取所述哈希环中边缘节点以及对应的虚拟节点的哈希值;根据用户id信息的哈希值和边缘节点以及对应的虚拟节点的哈希值,计算用户id信息在所述哈希环上与所有边缘节点以及对应的虚拟节点的距离;若用户id信息距离最近的为边缘节点,则将用户id信息对应的用户与距离最近的边缘节点进行关联;若用户id信息距离最近的为虚拟节点,则将用户id信息对应的用户于距离最近的虚拟节点对应的边缘节点进行关联。
可选的,在本发明第一方面的第三种实现方式中,所述对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量包括:将预设的流量任务导向边缘节点;获取边缘节点执行所述流量任务时的性能数据;当所述性能数据达到瓶颈值时,获取边缘节点执行所述流量任务时的流量任务量作为边缘节点的最大承载量。
可选的,在本发明第一方面的第四种实现方式中,所述当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果包括:当接收到属于所述至少一组用户集群中的用户的访问请求时,查询所述用户对应的边缘节点,并将所述访问请求以及对应的用户id信息发送至对应的边缘节点;统计所有边缘节点接收到的用户id数量,并获取数据中心中所述访问请求对应的业务数量;通过所述边缘节点计算所述业务数量和所述用户id数量的比值,并将所述比值作为边缘计算结果。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述边缘计算结果,执行对应的请求处理策略包括:获取不同请求类型对应的所需令牌数和预消费令牌数;根据边缘节点对应的边缘计算结果,生成对应的令牌桶;获取所述令牌桶内的可用令牌数,并确定接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数;根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略。
可选的,在本发明第一方面的第六种实现方式中,所述根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略包括:根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数判断是否为所述访问请求分发令牌;若是,则执行所述访问请求对应的业务;若否,则向所述访问请求对应的用户发送预设的访问失败界面。
本发明第二方面提供了一种分布式请求的处理装置,包括:信息获取模块,用于获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;区域划分模块,用于基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;分配模块,用于根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;边缘计算模块,用于当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;请求处理模块,用于根据所述边缘计算结果确定对应的请求处理策略,并执行。
可选的,在本发明第二方面的第一种实现方式中,所述分配模块包括:压力测试单元,用于对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;虚拟节点计算单元,用于根据所述最大承载量,计算每个边缘节点的虚拟节点数量;哈希环构建单元,用于将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;映射单元,用于计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系;节点分配单元,用户基于所述关系将对应的用户分配到对应的边缘节点上。
可选的,在本发明第二方面的第二种实现方式中,所述节点分配单元具体用于:计算所述用户id信息的哈希值,并获取所述哈希环中边缘节点以及对应的虚拟节点的哈希值;根据用户id信息的哈希值和边缘节点以及对应的虚拟节点的哈希值,计算用户id信息在所述哈希环上与所有边缘节点以及对应的虚拟节点的距离;若用户id信息距离最近的为边缘节点,则将用户id信息对应的用户与距离最近的边缘节点进行关联;若用户id信息距离最近的为虚拟节点,则将用户id信息对应的用户于距离最近的虚拟节点对应的边缘节点进行关联。
可选的,在本发明第二方面的第三种实现方式中,所述压力测试单元具体用于:将预设的流量任务导向边缘节点;获取边缘节点执行所述流量任务时的性能数据;当所述性能数据达到瓶颈值时,获取边缘节点执行所述流量任务时的流量任务量作为边缘节点的最大承载量。
可选的,在本发明第二方面的第四种实现方式中,所述边缘计算模块具体用于:当接收到属于所述至少一组用户集群中的用户的访问请求时,查询所述用户对应的边缘节点,并将所述访问请求以及对应的用户id信息发送至对应的边缘节点;统计所有边缘节点接收到的用户id数量,并获取数据中心中所述访问请求对应的业务数量;通过所述边缘节点计算所述业务数量和所述用户id数量的比值,并将所述比值作为边缘计算结果。
可选的,在本发明第二方面的第五种实现方式中,所述请求处理模块具体用于:获取不同请求类型对应的所需令牌数和预消费令牌数;根据边缘节点对应的边缘计算结果,生成对应的令牌桶;获取所述令牌桶内的可用令牌数,并确定接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数;根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略。
可选的,在本发明第二方面的第六种实现方式中,所述请求处理模块具体还用于:根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数判断是否为所述访问请求分发令牌;若是,则执行所述访问请求对应的业务;若否,则向所述访问请求对应的用户发送预设的访问失败界面。
本发明第三方面提供了一种分布式请求的处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述分布式请求的处理设备执行上述的分布式请求的处理方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的分布式请求的处理方法的步骤。
本发明的技术方案中,通过获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;根据边缘计算结果确定对应的请求处理策略,并执行。本方法通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性,同时,边缘节点可以进行动态的扩容或者缩容,提高系统的可扩展性。此外本发明还涉及区块链技术,用户信息可存储于区块链中。
附图说明
图1为本发明实施例中分布式请求的处理方法的第一个实施例示意图;
图2为本发明实施例中分布式请求的处理方法的第二个实施例示意图;
图3为本发明实施例中分布式请求的处理方法的第三个实施例示意图;
图4为本发明实施例中分布式请求的处理方法的第四个实施例示意图;
图5为本发明实施例中分布式请求的处理方法的第五个实施例示意图;
图6为本发明实施例中分布式请求的处理装置的一个实施例示意图;
图7为本发明实施例中分布式请求的处理装置的另一个实施例示意图;
图8为本发明实施例中分布式请求的处理设备的一个实施例示意图。
具体实施方式
本发明的技术方案中,通过获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;根据边缘计算结果确定对应的请求处理策略,并执行。本方法通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性,同时,边缘节点可以进行动态的扩容或者缩容,提高系统的可扩展性。此外本发明还涉及区块链技术,用户信息可存储于区块链中。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中分布式请求的处理方法的第一个实施例包括:
101、获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;
可以理解的是,本发明的执行主体可以为分布式请求的处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
需要强调的是,为保证数据的私密和安全性,上述用户信息可以存储于一区块链的节点中。
在本实施例中,对部分前端页面进行前端感知,将登陆该前端页面的用户默认进行边缘节点的分配,以商品秒杀为例,在商品秒杀界面中,可以设置登陆操作,通过登陆操作进入该前端页面的用户默认为对商品秒杀界面存在秒杀需求的用户,在用户登陆操作后获取该用户输入的用户id信息,将用户id信息作为边缘节点分配的依据,此外,还可以通过用户不同的访问请求类型,进行用户数据的获取,本发明不做限定。
102、基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
在本实施例中,通过地理区域进行用户集群的划分,不同的地理区域对于流量的需求不同,可以通过历史流量数据进行识别,通过历史流量数据中不同地理区域的流量业务需求进行排序,得到不同地理区域的流量业务需求顺序,并设置优先级,将流量业务需求较高的地理区域设置为较高的优先级,将流量业务需求较低的地理区域设置为较低的优先级,在后续进行流量分配的过程中,将流量配额优先分配给高优先级对应的用户集群,以及对应的边缘节点,通过对用户进行地理区域划分,合理安排流量分配。以秒杀业务为例,在秒杀的过程中,一瞬间会有大量的用户流量涌入,流量可高达平时的几十倍,系统的流量资源有限,需要进行流量分配,通过事先的地理区域划分分配流量,保证用户访问的相对平衡。
103、根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;
在本实施例中,设置有多个边缘几点,边缘节点是一批离网页端或者手机Native和H5页面端很近的,类似于节点网关,可以再其上做一些定制化的计算功能,主要设置在前端和服务端数据中心系统之间,能够针对某些业务做一些边缘计算工作,让流量再前端和边缘节点之间就已经分发处理好之后再把请求释放至服务端,减轻服务端的流量压力。
在本实施例中,事先对边缘节点进行编号,区分不同的边缘节点,并通过哈希算法计算边缘节点编号的哈希值,并通过实现通过边缘节点的最大承载量和地理区域划分得到的流量额度,计算虚拟节点的数量,生成对应数量的虚拟节点,最大承载量和分配的流量额度越高,则生成的虚拟节点数量越多。根据边缘节点和对应的虚拟节点进行哈希环的构建,在获得用户信息时,通过哈希算法计算用户信息的哈希值,其中,用户信息可以是用户的id信息。
104、当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;
在本实施例中,边缘节点是一批离网页端或者手机Native和H5页面端很近的,类似于节点网关,可以再其上做一些定制化的计算功能,主要设置在前端和服务端数据中心系统之间,能够针对某些业务做一些边缘计算工作,根据用户不用的访问类型,可以对边缘节点的功能进行不同的设计,以秒杀业务为例,可以将用户访问量的统计工作放置在边缘节点上,并且定时进行更新,用户访问量的统计类似于打点,同一用户的用户id只统计一次,这样既可统计出有多少用户在当前的前端秒杀界面在线进行秒杀,每个边缘节点将统计结果作为边缘节点结果发送至数据中心,数据中心进行在线人数的统计,就能知道全网总在线的用户数,此外在数据中心统计出全网总在线人数后,数据中兴根据秒杀商品的数量向边缘节点回传一个概率值,例如统计得到的全网总在线人数为100万,而前端界面中的秒杀商品的数量为2000,则数据中心计算得到的概率值为0.02%,边缘节点根据获取到的概率值进行适当的限流措施。在实际应用中,边缘节点根据不同的访问请求类型可以设置不同的边缘计算,得到不同的边缘计算结果,本发明不做限定。
105、根据边缘计算结果确定对应的请求处理策略,并执行。
在本实施例中,根据边缘节点计算得到的边缘计算结果,进行不同的访问请求类型设置不同的请求处理策略,当边缘计算结果符合要求时,则执行访问请求类型对应的请求处理策略,例如在秒杀业务中,通过边缘计算用户总在线数量后,获取数据中心的概率值,例如,统计得到的全网总在线人数为100万,而前端界面中的秒杀商品的数量为2000,则数据中心计算得到的概率值为0.02%,边缘节点获取到该概率值后,按照用户访问请求的先后顺序,从边缘节点中的用户进行筛选,例如边缘节点中的用户数为1万,则根据概率值0.02%,从1万的用户请求中选择最先访问的2个访问请求进入数据中心,执行对应的请求处理策略,例如进行秒杀购买操作,而对于剩下的9998个用户访问请求,则执行另外的请求处理策略,例如直接退出前端界面,或者跳转至预设的秒杀结束提醒界面。在实际应用中,可以根据不用的用户访问类型进行不同的请求处理策略的设置,本发明不做限定。
在本实施例中,通过获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;根据边缘计算结果确定对应的请求处理策略,并执行。本方法通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性,同时,边缘节点可以进行动态的扩容或者缩容,提高系统的可扩展性。此外本发明还涉及区块链技术,用户信息可存储于区块链中。
请参阅图2,本发明实施例中分布式请求的处理方法的第二个实施例包括:
201、获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;
202、基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
203、对边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;
204、根据最大承载量,计算每个边缘节点的虚拟节点数量;
在本实施例中,压力测试通过将预设的流量导向待测的边缘节点,并检测边缘节点的性能数据,当性能数据达到一定的瓶颈值后,将边缘节点的吞吐量作为该边缘节点的最大承载量,吞吐量指单位时间内边缘节点的处理请求数。不同的边缘节点根据不同的最大承载量设置虚拟节点,最大承载量越高,虚拟节点数量越多。
205、将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;
206、计算用户id信息的哈希值,并获取哈希环中边缘节点以及对应的虚拟节点的哈希值;
在实际应用中,分布式系统中对象与节点的映射关系,传统方案是使用对象的哈希值,对节点个数取模,再映射到相应编号的节点,这种方案在节点个数变动时,绝大多数对象的映射关系会失效而需要迁移,而在本实施例中,通过一致性哈希算法构建哈希环,当节点个数变动时,映射关系失效的对象非常少,迁移成本也非常小,一致性哈希算法将整个哈希值空间组织成一个虚拟的圆环,一般的哈希函数H的值空间为0-2^32-1,整个空间按顺时针方向组织。0和232-1在零点中方向重合,将各个边缘节点使用哈希算法得到哈希值,具体可以选择边缘节点的ip或主机名作为关键字进行哈希,这样每个边缘节点就能确定其在哈希环上的位置,同时确定用户在环上的位置,根据用户的id信息的哈希值的位置沿环顺时针,第一个遇到的边缘节点就是该用户应分配到的边缘节点。
207、根据用户id信息的哈希值和边缘节点以及对应的虚拟节点的哈希值,计算用户id信息在哈希环上与所有边缘节点以及对应的虚拟节点的距离;
208、若用户id信息距离最近的为边缘节点,则将用户id信息对应的用户与距离最近的边缘节点进行关联;
209、若用户id信息距离最近的为虚拟节点,则将用户id信息对应的用户于距离最近的虚拟节点对应的边缘节点进行关联;
210、基于用户与边缘节点的关联关系,将对应的用户分配到对应的边缘节点上;
在实际应用中,可能在边缘节点较少的情况,而一致性哈希算法在节点太少时,容易因为节点分布不均而造成数据倾斜的情况,也就是容易倒是用户分配至边缘节点的数量不均等,需要引入虚拟节点,具体做法可以在边缘节点的ip或主机名的后面增加编号来实现,最大承载量较大的边缘节点设置较多的虚拟节点,这是因为最大承载量较大的边缘节点可以承载较多的用户访问请求,也就可以对该边缘节点分配更多的用户。
在本实施例中,通过用户id信息的哈希值与哈希环上的边缘节点和对应的虚拟节点进行距离的计算,该距离的计算通过在哈希环上顺时针的方向进行,由于各边缘节点均设置了虚拟节点,节点在哈希环上的分布较为均匀,用户id信息生成哈希值映射在哈希环上与各节点之间相近的概率均等,由于最大承载量较大的边缘节点设置有较多的虚拟节点,故最后最大承载量较大的边缘节点能够分配到更多的用户。
211、当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;
212、根据边缘计算结果确定对应的请求处理策略,并执行。
本实施例在上一实施例的基础上,详细描述了根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上的过程,通过对边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;根据最大承载量,计算每个边缘节点的虚拟节点数量;将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;计算用户id信息的哈希值,并根据哈希值将用户id信息对应的用户映射至哈希环中,得到用户id信息与边缘节点之间的关系;基于关系将对应的用户分配到对应的边缘节点上。本方法通过一致性哈希算法,能够将不同用户通过用户id进行边缘节点的分配,通过设置边缘节点的虚拟节点,在边缘节点进行扩容或者删减时,不需要对全部用户进行重新分配,提高边缘节点分配的效率。
请参阅图3,本发明实施例中分布式请求的处理方法的第三个实施例包括:
301、获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;
302、基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
303、将预设的流量任务导向边缘节点;
在本实施例中,预设的流量任务可以是现网流量,该现网流量是指网络中真实用户的流量,包括上行数据流量和下行数据流量,其中,上行数据流量包括用户的请求等数据所产生的流量,下行数据流量包括用户发送数据等操作产生的流量。
304、获取边缘节点执行流量任务时的性能数据;
在本实施例中性能数据包括系统吞吐量、模调成功率、平均处理时间、队列等待时间、磁盘读写速度中的一种或多种,其中事务处理量是指在单位时间内系统能够处理的事务的数量;模调成功率是指系统中单位时间内模块间调用的成功率,平均处理时间是指对事务进行处理的平均耗时时长;队列等待时间是指在对事务进行处理之前,事务在队列中的平均等待时长;磁盘读写速度是指磁盘在单位时间内能够读出以及写入的数据量。
305、当性能数据达到瓶颈值时,获取边缘节点执行流量任务时的流量任务量作为边缘节点的最大承载量;
在本实施例中,当上述的系统吞吐量、模调成功率、平均处理时间、队列等待时间、磁盘读写速度中的一种或多种达到瓶颈值时,将执行所述流量任务时的吞吐量作为边缘节点的最大承载量,其中达到瓶颈值是指一段时间内该数值保持恒定不变。
306、根据最大承载量,计算每个边缘节点的虚拟节点数量;
307、将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;
308、计算用户id信息的哈希值,并根据哈希值将用户id信息对应的用户映射至哈希环中,得到用户id信息与边缘节点之间的关系;
309、基于关系将对应的用户分配到对应的边缘节点上;
310、当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;
311、根据边缘计算结果确定对应的请求处理策略,并执行。
本实施例在前实施例的基础上,详细描述了对边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量的过程。通过将预设的流量任务导向边缘节点;获取边缘节点执行流量任务时的性能数据;当性能数据达到瓶颈值时,获取边缘节点执行流量任务时的流量任务量作为边缘节点的最大承载量。本方法通过对每个边缘节点进行压力测试,得到边缘节点的最大承载量,便于对用户进行边缘节点的分配。
请参阅图4,本发明实施例中分布式请求的处理方法的第四个实施例包括:
401、获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;
402、基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
403、根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;
404、当接收到属于至少一组用户集群中的用户的访问请求时,查询用户对应的边缘节点,并将访问请求以及对应的用户id信息发送至对应的边缘节点;
405、统计所有边缘节点接收到的用户id数量,并获取数据中心中访问请求对应的业务数量;
406、通过边缘节点计算业务数量和用户id数量的比值,并将比值作为边缘计算结果;
在本实施例中,在实际应用中,边缘节点是一批离网页端或者手机Native和H5页面端很近的,类似于节点网关,可以再其上做一些定制化的计算功能,主要设置在前端和服务端数据中心系统之间,能够针对某些业务做一些边缘计算工作,根据用户不用的访问类型,可以对边缘节点的功能进行不同的设计,本实施例以秒杀业务为例,在接收到用户访问请求后,可以将用户访问量的统计工作放置在边缘节点上,并且定时进行更新,用户访问量的统计类似于打点,同一用户的用户id只统计一次,这样既可统计出有多少用户在当前的前端秒杀界面在线进行秒杀,并获取数据中的业务数量,通过计算两者比值判断边缘节点能够放行的访问请求的比值。
407、根据边缘计算结果确定对应的请求处理策略,并执行。
本实施例在前实施例的基础上,详细描述了当接收到用户集群中的用户的访问请求时,通过边缘节点,对访问请求进行边缘计算,得到边缘计算结果的过程,当接收到用户集群中的用户的访问请求时,将访问请求以及对应的用户id信息发送至对应的边缘节点;统计所有边缘节点接收到的用户id数量,并获取数据中心中访问请求对应的业务数量;通过边缘节点计算业务数量和用户id数量的比值,并将比值作为边缘计算结果。通过边缘节点的边缘计算,能够将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性。
请参阅图5,本发明实施例中分布式请求的处理方法的第五个实施例包括:
501、获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;
502、基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
503、根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;
504、当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;
505、获取不同请求类型对应的所需令牌数和预消费令牌数;
在本实施例中,对令牌桶进行初始化,并创建限流配置表,将不同请求类型对应的所需令牌数以及预消费令牌数均写入限流配置表中,以秒杀业务为例,边缘节点中的用户数为1万,则根据概率值0.02%,从1万的用户请求中选择最先访问的2个访问请求进入数据中心,则秒杀业务对应的访问请求类型需要的令牌数为2。
506、根据边缘节点对应的边缘计算结果,生成对应的令牌桶;
在本实施例中,通过边缘节点计算得到的比值,以及数据中心中的业务数量生成对应的令牌桶,令牌桶中的可用令牌数为数据中心中的业务数量。
507、获取令牌桶内的可用令牌数,并确定接入令牌桶的访问请求对应的所需令牌数和预消费令牌数;
508、根据接入令牌桶的访问请求对应的所需令牌数和预消费令牌数和令牌桶内的可用令牌数判断是否为访问请求分发令牌;
在本实施例中,基于分布式场景,可以对接入令牌桶的请求进行分类,例如可以将一种类型的请求归属为一个应用,还可以将一个应用对应的不同用户分为不同类型的请求。还可以将一个应用生成的不同业务请求分为不同类型的请求。通过为访问请求进行令牌的分配,得到令牌的访问请求可以进行对应的访问操作,而没分到令牌的访问请求则直接返回访问失败的相应提示。
509、若是,则执行访问请求对应的业务;
510、若否,则向访问请求对应的用户发送预设的访问失败界面。
在本实施例中,通过令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,例如边缘节点中的用户数为1万,则根据概率值0.02%,从1万的用户请求中选择最先访问的2个访问请求进入数据中心,分发令牌,执行对应的请求处理策略,例如进行秒杀购买操作,而对于剩下的9998个用户访问请求,则执行另外的请求处理策略,例如直接退出前端界面,或者跳转至预设的秒杀结束提醒界面。
本实施例在前实施例的基础上,详细描述了根据边缘计算结果,执行对应的请求处理策略的过程,通过获取不同请求类型对应的所需令牌数和预消费令牌数;根据边缘节点对应的边缘计算结果,生成对应的令牌桶;获取令牌桶内的可用令牌数,并确定接入令牌桶的访问请求对应的所需令牌数和预消费令牌数;根据接入令牌桶的访问请求对应的所需令牌数和预消费令牌数和令牌桶内的可用令牌数,确定访问请求的请求处理策略。通过设置令牌桶的方法,能够对访问请求进行令牌方法,实现访问请求的限流。
上面对本发明实施例中分布式请求的处理方法进行了描述,下面对本发明实施例中分布式请求的处理装置进行描述,请参阅图6,本发明实施例中分布式请求的处理装置一个实施例包括:信息获取模块601,用于获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;区域划分模块602,用于基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;分配模块603,用于根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;边缘计算模块604,用于当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;请求处理模块605,用于根据所述边缘计算结果确定对应的请求处理策略,并执行。
需要强调的是,为保证数据的私密和安全性,上述用户信息可以存储于一区块链的节点中。
本发明实施例中,所述分布式请求的处理装置运行上述分布式请求的处理方法,所述分布式请求的处理装置通过获取当前时刻访问前端页面的所有用户的用户信息,其中用户信息至少包括用户id信息;基于用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;根据一致性哈希算法计算用户id信息与预设的边缘节点之间的关系,并基于关系将对应的用户分配到对应的边缘节点上;当接收到属于至少一组用户集群中的用户的访问请求时,通过查询用户对应的边缘节点,并对访问请求进行边缘计算,得到边缘计算结果;根据边缘计算结果确定对应的请求处理策略,并执行。本方法通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性,同时,边缘节点可以进行动态的扩容或者缩容,提高系统的可扩展性。此外本发明还涉及区块链技术,用户信息可存储于区块链中。
请参阅图7,本发明实施例中分布式请求的处理装置的第二个实施例包括:
信息获取模块601,用于获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;区域划分模块602,用于基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;分配模块603,用于根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;边缘计算模块604,用于当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;请求处理模块605,用于根据所述边缘计算结果确定对应的请求处理策略,并执行。
其中,所述分配模块603包括:压力测试单元6031,用于对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;虚拟节点计算单元6032,用于根据所述最大承载量,计算每个边缘节点的虚拟节点数量;哈希环构建单元6033,用于将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;映射单元6034,用于计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系;节点分配单元6035,用户基于所述关系将对应的用户分配到对应的边缘节点上。
可选的,所述节点分配单元6035具体用于:计算所述用户id信息的哈希值,并获取所述哈希环中边缘节点以及对应的虚拟节点的哈希值;根据用户id信息的哈希值和边缘节点以及对应的虚拟节点的哈希值,计算用户id信息在所述哈希环上与所有边缘节点以及对应的虚拟节点的距离;若用户id信息距离最近的为边缘节点,则将用户id信息对应的用户与距离最近的边缘节点进行关联;若用户id信息距离最近的为虚拟节点,则将用户id信息对应的用户于距离最近的虚拟节点对应的边缘节点进行关联。
可选的,所述压力测试单元6031具体用于:将预设的流量任务导向边缘节点;获取边缘节点执行所述流量任务时的性能数据;当所述性能数据达到瓶颈值时,获取边缘节点执行所述流量任务时的流量任务量作为边缘节点的最大承载量。
可选的,所述边缘计算模块604具体用于:当接收到属于所述至少一组用户集群中的用户的访问请求时,查询所述用户对应的边缘节点,并将所述访问请求以及对应的用户id信息发送至对应的边缘节点;统计所有边缘节点接收到的用户id数量,并获取数据中心中所述访问请求对应的业务数量;通过所述边缘节点计算所述业务数量和所述用户id数量的比值,并将所述比值作为边缘计算结果。
可选的,所述请求处理模块605具体用于:获取不同请求类型对应的所需令牌数和预消费令牌数;根据边缘节点对应的边缘计算结果,生成对应的令牌桶;获取所述令牌桶内的可用令牌数,并确定接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数;根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略。
可选的,所述请求处理模块605具体还用于:根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数判断是否为所述访问请求分发令牌;若是,则执行所述访问请求对应的业务;若否,则向所述访问请求对应的用户发送预设的访问失败界面。
本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,通过设置边缘节点,将部分服务端的请求任务设置在边缘节点上进行处理,使得服务端数据中心的性能提升,提高服务端的响应速度和稳定性,同时,边缘节点可以进行动态的扩容或者缩容,提高系统的可扩展性。
上面图6和图7从模块化功能实体的角度对本发明实施例中的中分布式请求的处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中分布式请求的处理设备进行详细描述。
图8是本发明实施例提供的一种分布式请求的处理设备的结构示意图,该分布式请求的处理设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对分布式请求的处理设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在分布式请求的处理设备800上执行存储介质830中的一系列指令操作,以实现上述分布式请求的处理方法的步骤。
分布式请求的处理设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的分布式请求的处理设备结构并不构成对本申请提供的分布式请求的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述分布式请求的处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分布式请求的处理方法,其特征在于,所述分布式请求的处理方法包括:
获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;
基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;
当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;
根据所述边缘计算结果确定对应的请求处理策略,并执行。
2.根据权利要求1所述的分布式请求的处理方法,其特征在于,所述根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上包括:
对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量;
根据所述最大承载量,计算每个边缘节点的虚拟节点数量;
将边缘节点和对应的虚拟节点,根据哈希算法构建哈希环;
计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系;
基于所述关系将对应的用户分配到对应的边缘节点上。
3.根据权利要求2所述的分布式请求的处理方法,其特征在于,所述计算所述用户id信息的哈希值,并根据所述哈希值将所述用户id信息对应的用户映射至所述哈希环中,得到所述用户id信息与边缘节点之间的关系包括:
计算所述用户id信息的哈希值,并获取所述哈希环中边缘节点以及对应的虚拟节点的哈希值;
根据用户id信息的哈希值和边缘节点以及对应的虚拟节点的哈希值,计算用户id信息在所述哈希环上与所有边缘节点以及对应的虚拟节点的距离;
若用户id信息距离最近的为边缘节点,则将用户id信息对应的用户与距离最近的边缘节点进行关联;
若用户id信息距离最近的为虚拟节点,则将用户id信息对应的用户于距离最近的虚拟节点对应的边缘节点进行关联。
4.根据权利要求2所述的分布式请求的处理方法,其特征在于,所述对所述边缘节点集群中的所有边缘节点进行压力测试,获得每个边缘节点的最大承载量包括:
将预设的流量任务导向边缘节点;
获取边缘节点执行所述流量任务时的性能数据;
当所述性能数据达到瓶颈值时,获取边缘节点执行所述流量任务时的流量任务量作为边缘节点的最大承载量。
5.根据权利要求2-4中任一项所述的分布式请求的处理方法,其特征在于,所述当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果包括:
当接收到属于所述至少一组用户集群中的用户的访问请求时,查询所述用户对应的边缘节点,并将所述访问请求以及对应的用户id信息发送至对应的边缘节点;
统计所有边缘节点接收到的用户id数量,并获取数据中心中所述访问请求对应的业务数量;
通过所述边缘节点计算所述业务数量和所述用户id数量的比值,并将所述比值作为边缘计算结果。
6.根据权利要求5所述的分布式请求的处理方法,其特征在于,所述根据所述边缘计算结果,执行对应的请求处理策略包括:
获取不同请求类型对应的所需令牌数和预消费令牌数;
根据边缘节点对应的边缘计算结果,生成对应的令牌桶;
获取所述令牌桶内的可用令牌数,并确定接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数;
根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略。
7.根据权利要求6所述的分布式请求的处理方法,其特征在于,所述根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数,确定所述访问请求的请求处理策略包括:
根据接入所述令牌桶的访问请求对应的所需令牌数和预消费令牌数和所述令牌桶内的可用令牌数判断是否为所述访问请求分发令牌;
若是,则执行所述访问请求对应的业务;
若否,则向所述访问请求对应的用户发送预设的访问失败界面。
8.一种分布式请求的处理装置,其特征在于,所述分布式请求的处理装置包括:
信息获取模块,用于获取当前时刻访问前端页面的所有用户的用户信息,其中所述用户信息至少包括用户id信息;
区域划分模块,用于基于所述用户id信息确定每个用户的接入地理区域,并对所有用户进行分类,得到至少一组用户集群;
分配模块,用于根据一致性哈希算法计算所述用户id信息与预设的边缘节点之间的关系,并基于所述关系将对应的用户分配到对应的边缘节点上;
边缘计算模块,用于当接收到属于所述至少一组用户集群中的用户的访问请求时,通过查询所述用户对应的边缘节点,并对所述访问请求进行边缘计算,得到边缘计算结果;
请求处理模块,用于根据所述边缘计算结果确定对应的请求处理策略,并执行。
9.一种分布式请求的处理设备,其特征在于,所述分布式请求的处理设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述分布式请求的处理设备执行如权利要求1-7中任一项所述的分布式请求的处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的分布式请求的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566350.4A CN113315825A (zh) | 2021-05-24 | 2021-05-24 | 分布式请求的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566350.4A CN113315825A (zh) | 2021-05-24 | 2021-05-24 | 分布式请求的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113315825A true CN113315825A (zh) | 2021-08-27 |
Family
ID=77374210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110566350.4A Pending CN113315825A (zh) | 2021-05-24 | 2021-05-24 | 分布式请求的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315825A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095567A (zh) * | 2021-10-12 | 2022-02-25 | 鸬鹚科技(深圳)有限公司 | 数据访问请求的处理方法、装置、计算机设备及介质 |
CN115134410A (zh) * | 2022-05-18 | 2022-09-30 | 北京邮电大学 | 边缘协作服务领域划分方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178677A (ja) * | 2012-02-28 | 2013-09-09 | Nippon Telegr & Teleph Corp <Ntt> | 分散処理システム、ディスパッチャおよび分散処理管理装置 |
CN107801086A (zh) * | 2017-10-20 | 2018-03-13 | 广东省南方数字电视无线传播有限公司 | 多缓存服务器的调度方法和系统 |
CN108897615A (zh) * | 2018-05-31 | 2018-11-27 | 康键信息技术(深圳)有限公司 | 秒杀请求处理方法、应用服务器集群及存储介质 |
CN110177310A (zh) * | 2019-06-28 | 2019-08-27 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN110545246A (zh) * | 2018-05-29 | 2019-12-06 | 北京京东尚科信息技术有限公司 | 一种基于令牌桶的限流方法和装置 |
CN110888735A (zh) * | 2019-11-12 | 2020-03-17 | 厦门网宿有限公司 | 基于一致性哈希的分布式消息分发方法、装置和调度节点 |
-
2021
- 2021-05-24 CN CN202110566350.4A patent/CN113315825A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178677A (ja) * | 2012-02-28 | 2013-09-09 | Nippon Telegr & Teleph Corp <Ntt> | 分散処理システム、ディスパッチャおよび分散処理管理装置 |
CN107801086A (zh) * | 2017-10-20 | 2018-03-13 | 广东省南方数字电视无线传播有限公司 | 多缓存服务器的调度方法和系统 |
CN110545246A (zh) * | 2018-05-29 | 2019-12-06 | 北京京东尚科信息技术有限公司 | 一种基于令牌桶的限流方法和装置 |
CN108897615A (zh) * | 2018-05-31 | 2018-11-27 | 康键信息技术(深圳)有限公司 | 秒杀请求处理方法、应用服务器集群及存储介质 |
CN110177310A (zh) * | 2019-06-28 | 2019-08-27 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN110888735A (zh) * | 2019-11-12 | 2020-03-17 | 厦门网宿有限公司 | 基于一致性哈希的分布式消息分发方法、装置和调度节点 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095567A (zh) * | 2021-10-12 | 2022-02-25 | 鸬鹚科技(深圳)有限公司 | 数据访问请求的处理方法、装置、计算机设备及介质 |
CN114095567B (zh) * | 2021-10-12 | 2023-12-29 | 鸬鹚科技(深圳)有限公司 | 数据访问请求的处理方法、装置、计算机设备及介质 |
CN115134410A (zh) * | 2022-05-18 | 2022-09-30 | 北京邮电大学 | 边缘协作服务领域划分方法、装置、电子设备及存储介质 |
CN115134410B (zh) * | 2022-05-18 | 2023-11-10 | 北京邮电大学 | 边缘协作服务领域划分方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7523454B2 (en) | Apparatus and method for routing a transaction to a partitioned server | |
US11736372B2 (en) | Collecting samples hierarchically in a datacenter | |
JP4621087B2 (ja) | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 | |
US20190384627A1 (en) | Secure consensus-based endorsement for self-monitoring blockchain | |
CN101266557B (zh) | 在客户机-服务器或主机环境中计算作业的多目标分配 | |
EP2335154B1 (en) | Distributed data processing system | |
US8522241B1 (en) | Systems and methods for auto-balancing of throughput in a real-time event-driven system | |
US20180247265A1 (en) | Task grouping method and apparatus, electronic device, and computer storage medium | |
CN106899680A (zh) | 多区块链的分片处理方法和装置 | |
US20090138883A1 (en) | Method and system of managing resources for on-demand computing | |
US20130060834A1 (en) | Distributed messaging system connectivity and resource management | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
US7660897B2 (en) | Method, system, and program for distributing application transactions among work servers | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
CN102932271A (zh) | 负载均衡的实现方法和装置 | |
CN112822235A (zh) | 一种异构云计算系统的数据共享系统及方法 | |
Vashistha et al. | Comparative study of load balancing algorithms | |
Manikandan et al. | Virtualized load balancer for hybrid cloud using genetic algorithm | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN109285015B (zh) | 一种虚拟资源的分配方法及系统 | |
CN111858014A (zh) | 资源分配方法及装置 | |
CN112559130A (zh) | 容器分配方法、装置、电子设备及存储介质 | |
CN107277088B (zh) | 高并发业务请求处理系统及方法 | |
CN113377866A (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 |