CN115102901A - 路由选择方法、装置、计算机设备和存储介质 - Google Patents

路由选择方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115102901A
CN115102901A CN202210686137.1A CN202210686137A CN115102901A CN 115102901 A CN115102901 A CN 115102901A CN 202210686137 A CN202210686137 A CN 202210686137A CN 115102901 A CN115102901 A CN 115102901A
Authority
CN
China
Prior art keywords
user
routing information
request
server node
identifier
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
CN202210686137.1A
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.)
Shenzhen Qianhai Baidi Network Co ltd
Original Assignee
Shenzhen Qianhai Baidi Network Co 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 Shenzhen Qianhai Baidi Network Co ltd filed Critical Shenzhen Qianhai Baidi Network Co ltd
Priority to CN202210686137.1A priority Critical patent/CN115102901A/zh
Publication of CN115102901A publication Critical patent/CN115102901A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种路由选择方法、装置、计算机设备和存储介质。所述方法包括:获取用户请求信息,用户请求信息包括请求用户标识;根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点,在用户请求高并发情况下有效提升了路由转发效率。

Description

路由选择方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种路由选择方法、装置、计算机设备、存储介质。
背景技术
随着计算机技术的发展,互联网用户数量庞大,并发访问数很高,所以需要搭建服务器集群,以提升系统的吞吐量,为了将流量动态均匀的分布到不同的服务器节点,就需要解决路由选择问题。
现有技术是在反向代理过程中使用负载均衡策略,对于每一次用户请求,都需要根据用户信息做负载均衡的计算,再根据负载情况来随机地将流量转发给某台服务器,在高并发环境下,用户量过大,路由转发效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升路由转发效率的方法、装置、计算机设备、计算机可读存储介质。
一种路由选择方法,所述方法包括:
获取用户请求信息,用户请求信息包括请求用户标识;
根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
在一个实施例中,根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,包括:
当根据请求用户标识在缓存区路由规则表中匹配请求用户标识所对应的目标用户路由信息失败时,获取本地文件用户路由信息,根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息;
当根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,获取数据库用户路由信息,根据请求用户标识在数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息;
当根据请求用户标识在所述数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,根据请求用户标识生成新用户路由信息,并将新用户路由信息写入缓存区路由规则表、本地文件用户路由信息以及数据库用户路由信息。
在一个实施例中,根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点之后,方法还包括:
当用户请求信息发送失败时,执行以下任意一种处理:
通过人工配置的方式得到人工配置用户路由信息,根据人工配置用户路由信息得到人工配置目标服务器节点标识,将用户请求信息发送到人工配置服务器节点标识所对应的服务器节点,并将人工配置用户路由信息按位图缓存的方式写入缓存区路由规则表;
获取数据库中目标服务器节点标识所对应的备用服务器节点标识,将用户请求信息发送给备用服务器节点标识所对应的服务器节点,并将请求用户标识与备用服务器节点标识所对应的目标用户路由信息按位图缓存的方式写入缓存区路由规则表中。
一种路由信息存储方法,包括:
获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
在一个实施例中,获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识,包括:
获取当前用户请求信息,当前用户请求信息包括当前请求用户标识;
获取本地文件用户路由信息和数据库用户路由信息;
根据当前请求用户标识在缓存区路由规则表和本地文件用户路由信息以及数据库用户路由信息中进行匹配,当都匹配失败时,根据当前请求用户标识生成用户路由信息。
在一个实施例中,将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,包括:
将服务器节点标识映射为不同整数序号标识生成服务器节点序号标识;
将用户标识按照对应的服务器节点标识进行划分,并映射为不同整数序号标识生成用户序号标识;
将用户序号标识与对应的服务器节点序号标识映射到缓存区进行储存生成缓存区路由规则表。
一种路由选择装置,包括:
用户请求信息获取模块,用于获取用户请求信息,用户请求信息包括请求用户标识;
目标用户路由信息获取模块,用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
用户请求信息发送模块,用于根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
一种路由信息存储装置,包括:
用户路由信息获取模块,用于获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
用户路由信息存储模块,用于将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用户请求信息,用户请求信息包括请求用户标识;
根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取用户请求信息,用户请求信息包括请求用户标识;
根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
上述路由选择方法、装置、计算机设备、存储介质,通过获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;将用户路由信息按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表;获取用户请求信息,用户请求信息包括请求用户标识;根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息;根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。这样,先基于位图缓存的方式将全量用户路由信息写入到缓存区,当获取到用户请求信息时,根据用户请求信息中的用户标识在缓存区中进行匹配,当在缓存区中匹配到与请求用户标识相对应的目标用户路由信息时,根据目标用户路由信息中的用户标识与服务器节点标识的对应关系,将当前用户请求信息发送到服务器节点标识所对应的服务器节点,而不需要对每一个用户请求都通过负载均衡策略生成路由信息,而且采用位图缓存的方式进行存储可以大大节省存储空间,能在用户请求高并发下有效提升路由的转发效率。
附图说明
图1为一个实施例中路由选择方法的应用环境图;
图2为一个实施例中路由选择方法的流程示意图;
图3为一个实施例中获取目标用户路由信息的流程示意图;
图4为一个实施例中获取人工配置目标用户路由信息的流程示意图;
图5为一个实施例中获取备用目标用户路由信息的流程示意图;
图6为一个实施例中路由信息存储方法的流程示意图;
图7为一个实施例中生成新用户路由信息的流程示意图;
图8为一个实施例中用户路由信息写入缓存的流程示意图;
图9为一个实施例中读取缓存用户路由信息的示意图;
图10为一个实施例中位图缓存区的示意图;
图11为一个实施例中路由选择方法的工作过程示意图;
图12为一个实施例中用户请求响应过程示意图;
图13为一个实施例中用户请求自动重试过程示意图;
图14为一个实施例中路由选择装置结构框图;
图15为一个实施例中路由信息存储装置结构框图;
图16为一个实施例中计算机设备的内部结构图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的路由选择方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括终端102、反向代理服务器104以及服务器106。其中终端102通过网络与反向代理服务器104进行通信,反向代理服务器104通过网络与服务器106进行通信。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、智能摄像机和便携式可穿戴设备,反向代理服务器104和服务器106服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种路由选择方法,以该方法应用于图1中的反向代理服务器104为例进行说明,包括以下步骤:
步骤S202,获取用户请求信息,用户请求信息包括请求用户标识。
其中,用户请求信息包括URL,在访问URL中,会自动携带上用户标识,请求用户标识可以是用户的ID信息,包括IP地址、终端MAC地址、端口号等。
举例说明,用户端通过一个形如http://server/app/request.do的URL进行访问,在访问URL中,会自动携带上用户的ID信息。
步骤S204,根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
其中,目标用户路由信息包括请求用户标识和目标服务器节点。
具体地,计算机设备会根据请求用户标识在缓存区路由规则表中依次读取所有用户路由信息,并将读取到的用户路由信息中的用户标识与请求用户标识进行比对,直至查找到带有请求用户标识的用户路由信息,将匹配到的用户路由信息视为目标用户路由信息,获取目标路由信息中的服务器节点标识,将此服务器节点标识作为目标服务器节点标识。
步骤S206,根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
上述路由选择方法中,如图11和图12所示,缓存区路由规则表中以位图缓存的方式存储有全量用户路由信息,当接收到用户请求信息时,根据用户请求信息中的用户标识在路由规则表中匹配目标用户路由信息,再根据匹配到的目标用户路由信息来确定目标服务器节点标识,然后再将当前用户请求信息发送给所述服务器节点标识对应的服务器节点,这样,通过设立位图缓存区来实现路由选择,本方法能在用户请求高并发下有效提升路由的转发效率、节省缓存资源。
在一个实施例中,如图3所示,根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
步骤S302,当根据请求用户标识在缓存区路由规则表中匹配请求用户标识所对应的目标用户路由信息失败时,获取本地文件用户路由信息,根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息。
步骤S304,当根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,获取数据库用户路由信息,根据请求用户标识在数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息。
步骤S306,当根据请求用户标识在所述数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,根据请求用户标识生成新用户路由信息,并将新用户路由信息写入缓存区路由规则表、本地文件用户路由信息以及数据库用户路由信息。
具体地,如图11和图12所示,每一台计算机设备同步保存全量用户路由信息,在数据库和本地文件各保存一份全量用户路由信息数据,从本地文件读取数据的效率高于从数据库读取的效率,而从缓存区路由规则表读取数据的效率高于从本地文件读取数据的效率,所以在计算机设备启动时,会将本地文件用户路由信息写入到缓存区路由规则表中,在写入缓存区路由规则表之后,服务器本地文件作为二级缓存,数据库作为三级缓存,当用户请求信息到达时,会根据用户请求信息中携带的请求用户标识,依次在缓存区路由规则表、本地文件以及数据库中进行查找匹配,直到匹配成功为止,如果在缓存区路由规则表中没有找到当前用户路由信息,本地文件中读取一次,本地文件中没有找到会去数据库中查找一次,如果当前用户在三层缓存中均没有,则返回查找失败,这时会将当前用户请求作为新用户请求,就会实时动态地根据个服务器节点负载量情况生成新用户路由信息,实现动态路由,并将新用户路由信息存入到上述一级缓存、二级缓存、三级缓存全量用户路由信息中去。其中生成新用户路由信息的方式可以是人工配置的方式,也可以是根据负载均衡算法,即根据计算服务器的负载情况、权重等因素选择一台合适的服务器作为目标服务器进行访问,将这个目标服务器节点标识与用户标识作为新用户路由信息依次更新到缓存区路由规则表、本地文件以及数据库中,其中负载均衡算法包括常见的轮询法、加权轮询法、加权随机法、最小连接数法、随机法、源地址哈希法等。
本实施例中,通过在缓存区路由规则表、本地文件以及数据库中都保存一份全量用户路由信息,然后将缓存区路由规则表作为一级缓存,将本地文件作为二级缓存、将数据库作为三级缓存,当获取到用户请求信息时,根据用户请求信息中的用户标识依次在一级缓存、二级缓存、三级缓存匹配目标用户路由信息,当在上述一级缓存、二级缓存、三级缓存中都没有匹配到目标用户路由信息,即匹配失败时,系统会将当前用户请求作为新用户请求,就会生成新用户路由信息,并将新用户路由信息存入到上述一级缓存、二级缓存、三级缓存全量用户路由信息中去,避免在匹配目标用户路由信息时的查找遗漏情况,同时提高了根据用户标识来查找目标用户路由信息的准确性,以及在用户请求大并发情况下实时根据各服务器节点负载量情况动态及时生成新用户路由信息,提高了全量用户路由信息的完整性。
在一个实施例中,如图4和如图5所示,根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点之后,方法还包括:
当用户请求信息发送失败时,执行以下任意一种处理:
步骤S402,通过人工配置的方式得到人工配置用户路由信息。
其中,用户请求信息发送失败的情况包括当目标服务器节点的负载量超过设定的阈值时,会出现用户请求信息发送失败,人工配置的方式指的是由操作人员视各服务器节点负载量大小情况来人工选定合适的服务器节点来处理当前的用户请求信息,可以人工直接修改缓存区路由规则表中的用户路由信息。
具体地,计算机设备会实时监测各个服务器节点的负载量大小情况,并且将服务器节点的负载量大小与预设的阈值大小进行比较,如果服务器节点的负载量超过设定的阈值,说明此时这台服务器处于“忙碌”的状态,所处理的负载量过大,不宜将当前用户请求信息按匹配到的目标用户路由信息继续发送给该服务器节点处理,这时会将其他负载量较小、状态较“空闲”的服务器节点作为目标服务器节点,通过人工配置的方式直接修改缓存区路由规则表中相应的目标用户路由信息,其中,人工判断服务器节点“忙碌”状态的依据可以是服务器当前负载量大小、内存占用比率、服务器处理速度、服务器连接速度中的一个方面或多个方面的融合来判断服务器节点的“忙碌”状态。
步骤S404,根据人工配置用户路由信息得到人工配置目标服务器节点标识,将用户请求信息发送到人工配置服务器节点标识所对应的服务器节点。
步骤S406,将人工配置用户路由信息按位图缓存的方式写入缓存区路由规则表。
本实施例中,计算机设备实时监测各个服务器节点的“忙碌”状态,“忙碌”状态包括当前负载量大小、服务器处理速度、服务器连接速度以及服务器内存占用比率中的一方面或多个方面的融合考虑,当某台服务器节点当前负载量大小、服务器处理速度、服务器连接速度以及服务器内存占用比率中的一方面或多个方面的融合超过设定的阈值时,判定这台服务器正处于“忙碌”状态时,通过人工配置新的用户路由信息,再将当前用户路由信息发送到人工配置用户路由信息对应的服务器节点,响应当前用户,避免了在缓存区匹配到的目标服务器节点出现“忙碌”状态后继续将当前用户请求信息发送给这台正处于“忙碌”的服务器处理,从而导致服务器负载过高情况的出现,提高了服务器响应用户请求的成功率。
步骤S502,获取数据库中目标服务器节点标识所对应的备用服务器节点标识。
其中,数据库中保存有主服务器节点标识以及对应的备用服务器节点标识,当主服务器出现故障时。
具体地,如图13所示,计算机设备将用户请求信息发送给目标服务器时,当目标服务器出现故障、宕机而无法响应当前用户请求信息,会返回请求失败错误码到计算机设备,计算机设备会去数据库中查找与当前主服务器对应的备用服务器的信息,返回备用服务器信息后会更新其会话状态数据,在调用完成之后,同步更新缓存区路由规则表以及对应的数据库信息,因此,即使原来对其进行服务的服务器崩溃了,也不用担心服务无法响应,这对用户来说,是一个无感知的过程。
步骤S504,将用户请求信息发送给备用服务器节点标识所对应的服务器节点,并将请求用户标识与备用服务器节点标识所对应的目标用户路由信息按位图缓存的方式写入缓存区路由规则表中。
本实施例中,当目标路由信息中目标服务器节点标识对应的主服务器出现故障、宕机等崩溃情况时,会主动调用数据库中与主服务器对应的备用服务器作为目标服务器,来处理当前用户请求,并将备用服务器与当前用户请求之间的用户路由信息作为新的目标用户路由信息更新进缓存区和数据库中,在这整个自动重连过程中,对用户来说是个无感知的过程,提高了响应用户请求的成功率和用户的体验性。
在一个实施例中,如图6所示,提供了一种路由信息存储方法,以该方法应用于图1中的反向代理服务器104为例进行说明,包括以下步骤:
步骤S602,获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
其中,用户路由信息存放于数据库中,是用于指示全量用户终端与目标服务器的路由,也可以是根据各服务器节点的负载情况、权重等因素通过负载均衡策略生成的新用户路由信息、也可以是由人工配置生成等等,用户标识可以是用户终端的ID号,包括IP地址、终端MAC地址、端口号等,服务器节点标识用于标识服务器的地址,可以是服务器的IP地址、服务器主机的MAC地址、端口号等,用户路由信息中的用户标识与服务器节点标识是有对应关系的,这种对应关系是由以往生成的路由关系保存下来的,存放在数据库里。
具体地,当计算机设备启动时会自动去读取数据库里的全量用户路由信息,全量用户路由信息包括每一个用户终端与处理该终端用户请求的服务器之间的路由,全量用户路由信息里的每一个用户标识都至少与一台服务器的服务器节点标识所对应,比如用户标识A与服务器节点标识B对应,这表明该用户标识A对应的用户终端所产生的用户请求以往是由服务器B来进行处理和响应的,把这种对应关系作为用户标识A的用户路由信息。
步骤S604,将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
其中,位图缓存的方式是指使用位图缓存技术将前述步骤获取的用户路由信息写入缓存区,位图缓存本质上是哈希表的一种应用实现,缓存区路由规则表存放的内容包括全量用户路由信息,包括所有用户标识与对应的服务器节点标识之间的对应关系,映射指的是缓存区中的比特位的位置与用户标识和对应的服务器节点标识是一一对应的关系,所以将用户标识与对应的服务器节点标识存入缓存区时,改变用户标识与对应的服务器节点标识在缓存区里的对应比特位状态,从而生成缓存区路由规则表。
具体地,当把用户标识与服务器节点标识写入缓存区时,找到用户标识和服务器节点标识在缓存区中对应的比特位,改变其比特位状态,这样就完成了用户标识与服务器节点标识的写入,在后续步骤中当用户请求信息过来时,就可以按用户标识在缓存区路由规则表中进行查找匹配,得到缓存区路由规则表中的目标用户路由信息,进而得到对应的服务器节点标识。
举例说明,比如给定一个整型数组int[]arr=new int[]{2,7,14,3},arr数组中最大值为14,考虑位的下标从0开始,需要长度为15的bit,因此每个bit代表着0~14的整数,在第2位、第3位、第7位以及第14位的状态由0置1,通过改变相关比特位的状态,来达到储存整型数据的目的,如图10所示,而当存储的整型数据很大时,使用
EWAHCompressedBitmap将整个的二进制数据划分为一个个Word,一个Word需要64位,而一个空的位图默认拥有4个Word,也就是4*64=256位,其中Word0存储位图的头信息,当我们改变对应位置的bit位的值时Word会跟着变化。Word又可以分为两种:直接存储数据的LW,存储跨度信息的RLW,EWAH有些Word存储实际数据,有些Word存储数据和数据之间的间隔个数,当节点之间跨度很大时,会由一个节点专门存储两个节点之间的跨度信息,以此达到节省空间的目的。在插入新的数据的时候,如果数据不存放在已有的Word当中,EWAH还会进行动态扩充或对存储跨度的节点进行分裂。由此可见,这种方法储存一个整型数据相比于传统的存储方式来说,有效节省了内存空间。
上述路由信息存储方法中,如图11和图12所示,通过将全量用户路由信息写入位图缓存区生成路由规则表,当接收到用户请求信息时,根据用户请求信息中的用户标识在路由规则表中匹配目标用户路由信息,再根据匹配到的目标用户路由信息来确定目标服务器节点标识,然后再将当前用户请求信息发送给所述服务器节点标识对应的服务器节点,这样,通过设立位图缓存的方式存储用户路由信息相比于传统缓存方式,能够有效节约缓存资源。
在一个实施例中,如图7所示,获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识,包括:
步骤S702,获取当前用户请求信息,当前用户请求信息包括当前请求用户标识;
步骤S704,获取本地文件用户路由信息和数据库用户路由信息;
步骤S706,根据当前请求用户标识在缓存区路由规则表和本地文件用户路由信息以及数据库用户路由信息中进行匹配,当都匹配失败时,根据当前请求用户标识生成用户路由信息。
其中,计算机设备通过负载均衡策略得到当前请求用户标识对应的目标服务器节点标识,由请求用户标识与目标服务器节点标识得到新用户路由信息,将新用户路由信息按位图缓存的方式存放在缓存区路由规则表中,负载均衡策略是根据计算服务器的负载情况、权重等因素选择一台合适的服务器作为目标服务器进行访问,将这个目标服务器节点标识与用户标识作为新用户路由信息依次更新到缓存区路由规则表、本地文件以及数据库中,其中负载均衡算法包括常见的轮询法、加权轮询法、加权随机法、最小连接数法、随机法、源地址哈希法等。
具体地,计算机设备根据各服务器节点的负载量大小情况、各服务器处理能力,如处理速度、连接速度、最大连接数量以及内存占用率等方面进行综合考虑,对每台服务器配置不同权重比例来实时确定每台服务器当前的优先级,进而根据优先级来确定当前用户请求的目标服务器节点。
举例说明,计算机设备根据服务器当前的负载量n,处理速度V1,连接速度V2,最大连接数N,内存占用率S来确定服务器优先级ρ,可以按照公式
Figure BDA0003699813570000091
Figure BDA0003699813570000092
来计算每台服务器的优先级,其中ω1、ω2、ω3、ω4是上述公式ρ各项前的权重,满足ω1234=1,视具体情况灵活配置,
Figure BDA0003699813570000093
V1,max是全量服务器节点中最快处理速度,V2,max是全量服务器节点中最快连接速度,然后将当前用户请求信息发送给优先级ρ最大的服务器节点进行处理。
本实施例中,当按照前述步骤在缓存区、本地文件用户路由信息以及数据库用户路由信息中都未匹配到当前用户请求信息对应的目标用户路由信息时,按照负载均衡策略生成新用户路由信息,并根据新用户路由信息建立用户与服务器的访问连接,把当前新用户请求信息发送至新用户路由信息对应的目标服务器节点,响应用户请求,其中,根据各服务器节点的负载量大小情况、各服务器处理能力,如处理速度、连接速度、最大连接数量以及内存占用率等方面确定出各服务器优先级,有效实现了在大并发情况下服务器集群达到负载均衡的效果。
在一个实施例中,如图8所示,将所述用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,包括:
步骤S802,将所述服务器节点标识映射为不同整数序号标识生成服务器节点序号标识;
具体地,计算机设备将每个服务器节点标识都映射为一个不同的正整数序号,如序号:1、2、3…n,其中n为缓存区中服务器节点标识个数,然后将这些序号作为服务器节点序号标识,比如:将服务器节点标识A对应的正整数序号映射为i,那么就规定服务器节点标识A所对应的服务器节点序号标识为i。
步骤S804,将所述用户标识按照所述对应的服务器节点标识进行划分,并映射为不同整数序号标识生成用户序号标识;
具体地,计算机设备将缓存区中每个用户标识按对应的服务器节点序号标识来进行分段,并且按服务器节点序号标识的顺序规律将所有用户标识都映射为连续且不同的正整数序号。
举例说明,假如有5个服务器节点,那么就可以将这5个服务器节点的服务器节点序号标识定为:1、2、3、4、5,而将用户序号标识处在1-100000之间的用户请求信息划分到服务器节点序号标识为1的服务器,用户序号标识在100001-200000之间的用户请求信息划分到服务器节点序号标识为2的服务器,以此类推,这时,会生成5个对应的位图,记为bitmap1、bitmap2、bitmap3、bitmap4、bitmap5,当用户序号标识匹配到bitmap1,那么就会路由到服务器节点序号标识为1的服务器,如果匹配到bitmap5,那么就会路由到服务器节点序号标识为5的服务器。
步骤S806,将所述用户序号标识与对应的服务器节点序号标识映射到所述缓存区进行储存生成缓存区路由规则表。
具体地,如图10所示,计算机设备将用户序号标识映射到缓存区相应位置,改变用户序号标识的序号所对应的缓存区中的位置状态,对用户序号标识进行存储,同理,将服务器节点序号标识映射到缓存区相应位置,改变服务器节点序号标识的序号所对应的缓存区中的位置状态。
举例说明,用户序号标识为100和服务器节点序号标识为1所对应的用户路由信息映射到缓存区相应位置时,将缓存区路由规则表中的某空闲一列用户序号标识段中第100位bit位写入1,将其中的服务器节点序号标识段的第1位写入1,以此实现将用户序号标识为100和服务器节点序号标识为1所对应的用户路由信息存入到缓存区路由规则表。
本实施例中,通过将用户标识映射为用户序号标识和将服务器节点标识映射为服务器节点序号标识后再按序号标识映射在缓存区路由规则表对应位置上,从而达到存储用户标识与服务器节点标识的目的,减少了存储的数据量,有效节省了内存的资源。
在一个实施例中,如图9所示,将用户序号标识与对应的服务器节点序号标识映射到缓存区进行储存生成缓存区路由规则表,包括:
步骤S902,当读取缓存区路由规则表时,读取缓存区路由规则表中的用户序号标识,再将读取到的用户序号标识转换为对应的用户标识。
具体地,计算机设备在读取缓存区路由规则表时,先读取相应bit位上的状态,得到用户序号标识,再将读取到的用户序号标识按照之前存数据时将用户标识映射为用户序号标识时的规则反向还原,得到用户标识。
步骤S904,读取缓存区路由规则表中的服务器节点序号标识,再将读取到的服务器节点序号标识转换为对应的服务器节点标识。
具体地,如图11和图12所示,计算机设备在读取缓存区路由规则表时,先读取相应bit位上的状态,得到计算机节点序号标识,再将读取到的计算机节点序号标识按照之前存数据时将计算机节点标识映射为计算机节点序号标识时的规则反向还原,得到计算机节点序号标识。
本实施例中,在读取缓存区路由规则表时将读取到的用户序号标识和服务器节点序号标识进行还原,转换为计算机能识别的用户标识和服务器节点标识,在后续建立用户与服务器之间的访问连接时,根据本实施例中转换得到的用户标识与服务器节点标识来建立用户与目标服务器节点之间的访问连接,与上述将用户标识与服务器节点标识存入缓存区路由规则表步骤一起配合完成用户路由信息在缓存区路由规则表中的写入与读取的过程,减少了存储的数据量,有效节省了内存的资源。
本申请还提供了一种应用场景,该应用场景应用上述的路由选择方法,该方法应用于用户请求高并发时实现路由选择的场景。具体地,如图11和图12所示,该路由选择方法在该应用场景的应用如下:
openresty在启动时会自动将本地文件中的全量用户路由信息写入缓存区中,全量用户路由信息用于指示用户与服务器之间的路由,包括全量用户IP地址和服务器节点IP地址,在本地文件和数据库中各保存一份全量用户路由信息;其中openresty是一个成熟的网络平台,它集成了标准的Nginx核心,LuaJIT,许多精心编写的Lua库,许多高质量的第三方Nginx模块以及大多数外部依赖项。它旨在帮助开发人员轻松构建可伸缩的Web应用程序,Web服务和动态Web网关,每个openresty服务器中,会保存一份全量用户信息与请求对应的服务器节点的节点标识信息,多台openresty组成一个openresty集群,每台openresty服务器同步保存全量用户路由信息,在db和本地各保存一份数据;openresty将所获取到的全量用户路由信息中的全量用户IP地址按照转换规则转换为全量用户整数序号标识,将全量服务器IP地址按照转换规则转换为全量服务器节点整数序号标识,举例,假如全量服务器节点有5个服务器节点,那就将这5个服务器节点转换为5个服务器节点整数序号标识:1、2、3、4、5,将全量用户整数序号标识按照全量服务器节点整数序号标识来进行划分,将1-100000之间的用户请求信息划分到服务器节点整数序号标识为1的服务器,用户整数序号标识在100001-200000之间的用户请求信息划分到服务器节点整数序号标识为2的服务器,以此类推,这时,会生成5个对应的位图,记为bitmap1、bitmap2、bitmap3、bitmap4、bitmap5,当用户整数序号标识匹配到bitmap1,那么就会路由到服务器节点整数序号标识为1的服务器,如果匹配到bitmap5,那么就会路由到服务器节点整数序号标识为5的服务器,然后将全量用户整数序号标识和全量服务器节点整数序号标识映射到缓存区相应bit位上,将相应bit位状态写为1,以此来完成全量用户路由信息在缓存区上的存储以生成缓存区路由规则表,当接收到用户请求信息时,根据用户请求信息中携带的用户IP地址在缓存区路由规则表中进行查找和匹配目标用户路由信息,根据匹配到的目标用户路由信息得到目标服务器节点整数序号标识,再将目标服务器节点整数序号标识按照转换规则还原为目标服务器节点IP地址,再将当前用户请求信息转发到目标服务器节点IP地址对应的目标服务器进行处理,并响应用户;当根据用户请求信息中携带的用户IP地址在缓存区路由规则表中查找和匹配目标用户路由信息失败时,会去本地文件全量用户路由信息中查找和匹配目标用户路由信息,如果仍然匹配失败,则会去数据库中再查找一次,如果仍然匹配失败,就会通过负载均衡策略生成新用户路由信息,具体地,根据公式
Figure BDA0003699813570000121
来计算每台服务器的优先级,其中,
Figure BDA0003699813570000122
Figure BDA0003699813570000123
V1,max是全量服务器节点中最快处理速度,V2,max是全量服务器节点中最快连接速度,然后将当前用户请求信息发送给优先级ρ最大的服务器节点进行处理。
当获得目标用户路由信息后,按照目标用户路由信息将当前用户请求信息转发给目标服务器节点IP地址对应的服务器,当目标服务器节点当前负载量大小超过设定的阈值时,判定这台服务器正处于“忙碌”状态,通过人工指定一台“空闲”服务器的方式来配置新的用户路由信息,再将当前用户路由信息发送到人工配置用户路由信息对应的服务器节点,响应当前用户,并将人工配置的用户路由信息写入缓存区路由规则表、本地文件以及数据库中;当目标服务器节点出现崩溃(如故障、宕机等),会接收用户请求失败返回的错误码,调用数据库中的目标服务器对应的备用服务器,将其作为当前用户请求新的目标服务器,并建立用户与目标服务器之间的连接,并将当前用户IP地址与新的目标服务器IP地址作为新的用户路由信息更新到缓存区路由规则表、本地文件以及数据库中,在这个自动重连的过程中对用户来说,是一个无感知的过程。
通过本申请的路由选择方法,在用户请求高并发的情况下能够在提高路由转发效率的同时有效节省缓存资源,此外,针对目标服务器出现负载量过大和发生故障、宕机的情况下也都分别提出了可行的技术方案,提高了响应用户请求的成功率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图14所示,提供了一种路由选择装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:用户请求信息获取模块1402、目标用户路由信息获取模块1404、用户请求信息发送模块1406,其中:
用户请求信息获取模块1402,用于获取用户请求信息,用户请求信息包括请求用户标识;
目标用户路由信息获取模块1404,用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息,路由规则表是将用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,用户路由信息包括用户标识与对应的服务器节点标识;
用户请求信息发送模块1406,用于根据目标用户路由信息得到请求用户标识对应的目标服务器节点标识,将用户请求信息发送到目标服务器节点标识所对应的服务器节点。
在一个实施例中,目标用户路由信息获取模块1404还包括:
本地用户路由信息匹配单元,用于当根据请求用户标识在缓存区路由规则表中匹配请求用户标识所对应的目标用户路由信息失败时,获取本地文件用户路由信息,根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息;
数据库用户路由信息匹配单元,用于当根据请求用户标识在本地文件用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,获取数据库用户路由信息,根据请求用户标识在数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息;
新用户路由信息确定单元,用于当根据请求用户标识在所述数据库用户路由信息中匹配请求用户标识所对应的目标用户路由信息失败时,根据请求用户标识生成新用户路由信息,并将新用户路由信息写入缓存区路由规则表、本地文件用户路由信息以及数据库用户路由信息。
在一个实施例中,用户请求信息发送模块1406还用于当用户请求信息发送失败时,执行以下任意一种处理:
通过人工配置的方式得到人工配置用户路由信息,根据人工配置用户路由信息得到人工配置目标服务器节点标识,将用户请求信息发送到人工配置服务器节点标识所对应的服务器节点,并将人工配置用户路由信息按位图缓存的方式写入缓存区路由规则表;
获取数据库中目标服务器节点标识所对应的备用服务器节点标识,将用户请求信息发送给备用服务器节点标识所对应的服务器节点,并将请求用户标识与备用服务器节点标识所对应的目标用户路由信息按位图缓存的方式写入缓存区路由规则表中。
在一个实施例中,如图15所示,提供了一种路由信息存储装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:用户路由信息获取模块1502、用户路由信息存储模块1504,其中:
用户路由信息获取模块1502,用于获取用户路由信息,用户路由信息包括用户标识与对应的服务器节点标识;
用户路由信息存储模块1504,用于将用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到请求用户标识所对应的目标用户路由信息。
在一个实施例中,用户路由信息获取模块1502还用于获取当前用户请求信息,当前用户请求信息包括当前请求用户标识;获取本地文件用户路由信息和数据库用户路由信息;根据当前请求用户标识在缓存区路由规则表和本地文件用户路由信息以及数据库用户路由信息中进行匹配,当都匹配失败时,根据当前请求用户标识生成用户路由信息。
在一个实施例中,用户路由信息存储模块1504还包括:
用户路由信息写入单元,用于将服务器节点标识映射为不同整数序号标识生成服务器节点序号标识;将用户标识按照对应的服务器节点标识进行划分,并映射为不同整数序号标识生成用户序号标识;将用户序号标识与对应的服务器节点序号标识映射到缓存区进行储存生成缓存区路由规则表。
用户路由信息读取单元,用于当读取缓存区路由规则表时,读取缓存区路由规则表中的用户序号标识,再将读取到的用户序号标识转换为对应的用户标识;读取缓存区路由规则表中的服务器节点序号标识,再将读取到的服务器节点序号标识转换为对应的服务器节点标识
关于路由选择装置以及路由信息存储装置的具体限定可以参见上文中对于路由选择方法以及路由信息存储方法的限定,在此不再赘述。上述路由选择装置和路由信息存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户路由信息等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种路由选择或路由信息存储方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种路由选择或路由信息存储方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16、图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种路由选择方法,其特征在于,所述方法包括:
获取用户请求信息,所述用户请求信息包括请求用户标识;
根据所述请求用户标识在缓存区路由规则表中匹配得到所述请求用户标识所对应的目标用户路由信息,所述路由规则表是将所述用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,所述用户路由信息包括用户标识与对应的服务器节点标识;
根据所述目标用户路由信息得到所述请求用户标识对应的目标服务器节点标识,将所述用户请求信息发送到所述目标服务器节点标识所对应的服务器节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求用户标识在所述缓存区路由规则表中匹配得到所述请求用户标识所对应的目标用户路由信息,包括:
当根据所述请求用户标识在所述缓存区路由规则表中匹配所述请求用户标识所对应的目标用户路由信息失败时,获取本地文件用户路由信息,根据所述请求用户标识在所述本地文件用户路由信息中匹配所述请求用户标识所对应的目标用户路由信息;
当根据所述请求用户标识在所述本地文件用户路由信息中匹配所述请求用户标识所对应的目标用户路由信息失败时,获取数据库用户路由信息,根据所述请求用户标识在所述数据库用户路由信息中匹配所述请求用户标识所对应的目标用户路由信息;
当根据所述请求用户标识在所述数据库用户路由信息中匹配所述请求用户标识所对应的目标用户路由信息失败时,根据所述请求用户标识生成新用户路由信息,并将所述新用户路由信息写入所述缓存区路由规则表、所述本地文件用户路由信息以及所述数据库用户路由信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标用户路由信息得到所述请求用户标识对应的目标服务器节点标识,将所述用户请求信息发送到所述目标服务器节点标识所对应的服务器节点之后,所述方法还包括:
当所述用户请求信息发送失败时,执行以下任意一种处理:
通过人工配置的方式得到人工配置用户路由信息,根据所述人工配置用户路由信息得到人工配置目标服务器节点标识,将所述用户请求信息发送到所述人工配置服务器节点标识所对应的服务器节点,并将所述人工配置用户路由信息按位图缓存的方式写入所述缓存区路由规则表;
获取数据库中所述目标服务器节点标识所对应的备用服务器节点标识,将所述用户请求信息发送给所述备用服务器节点标识所对应的服务器节点,并将所述请求用户标识与所述备用服务器节点标识所对应的目标用户路由信息按位图缓存的方式写入所述缓存区路由规则表中。
4.一种路由信息存储方法,其特征在于,所述方法包括:
获取用户路由信息,所述用户路由信息包括用户标识与对应的服务器节点标识;
将所述用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,所述缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到所述请求用户标识所对应的目标用户路由信息。
5.根据权利要求4所述的方法,其特征在于,所述获取用户路由信息,所述用户路由信息包括用户标识与对应的服务器节点标识,包括:
获取当前用户请求信息,所述当前用户请求信息包括当前请求用户标识;
获取本地文件用户路由信息和数据库用户路由信息;
根据所述当前请求用户标识在所述缓存区路由规则表和所述本地文件用户路由信息以及所述数据库用户路由信息中进行匹配,当都匹配失败时,根据所述当前请求用户标识生成用户路由信息。
6.根据权利要求4所述的方法,其特征在于,所述将所述用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,包括:
将所述服务器节点标识映射为不同整数序号标识生成服务器节点序号标识;
将所述用户标识按照所述对应的服务器节点标识进行划分,并映射为不同整数序号标识生成用户序号标识;
将所述用户序号标识与对应的服务器节点序号标识映射到所述缓存区进行储存生成缓存区路由规则表。
7.一种路由选择装置,其特征在于,所述装置包括:
用户请求信息获取模块,用于获取用户请求信息,所述用户请求信息包括请求用户标识;
目标用户路由信息获取模块,用于根据所述请求用户标识在所述缓存区路由规则表中匹配得到所述请求用户标识所对应的目标用户路由信息,所述路由规则表是将所述用户路由信息按位图缓存的方式映射到缓存区进行储存生成的,所述用户路由信息包括用户标识与对应的服务器节点标识;
用户请求信息发送模块,用于根据所述目标用户路由信息得到所述请求用户标识对应的目标服务器节点标识,将所述用户请求信息发送到所述目标服务器节点标识所对应的服务器节点。
8.一种路由信息存储装置,其特征在于,所述装置包括:
用户路由信息获取模块,用于获取用户路由信息,所述用户路由信息包括用户标识与对应的服务器节点标识;
用户路由信息存储模块,用于将所述用户路由信息中的用户标识与对应的服务器节点标识按位图缓存的方式映射到缓存区进行储存生成缓存区路由规则表,所述缓存区路由规则表用于根据请求用户标识在缓存区路由规则表中匹配得到所述请求用户标识所对应的目标用户路由信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3或权利要求4至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3或权利要求4至6中任一项所述的方法的步骤。
CN202210686137.1A 2022-06-17 2022-06-17 路由选择方法、装置、计算机设备和存储介质 Pending CN115102901A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210686137.1A CN115102901A (zh) 2022-06-17 2022-06-17 路由选择方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210686137.1A CN115102901A (zh) 2022-06-17 2022-06-17 路由选择方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN115102901A true CN115102901A (zh) 2022-09-23

Family

ID=83291134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210686137.1A Pending CN115102901A (zh) 2022-06-17 2022-06-17 路由选择方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115102901A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794249A (zh) * 2015-05-15 2015-07-22 乐得科技有限公司 一种数据库的实现方法和设备
CN107959702A (zh) * 2016-10-17 2018-04-24 财付通支付科技有限公司 路由方法和装置
CN111092816A (zh) * 2019-11-26 2020-05-01 金蝶软件(中国)有限公司 网关动态路由方法、装置、计算机设备和存储介质
CN111885604A (zh) * 2020-06-28 2020-11-03 北京交通大学 一种基于天地一体化网络的认证鉴权方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794249A (zh) * 2015-05-15 2015-07-22 乐得科技有限公司 一种数据库的实现方法和设备
CN107959702A (zh) * 2016-10-17 2018-04-24 财付通支付科技有限公司 路由方法和装置
CN111092816A (zh) * 2019-11-26 2020-05-01 金蝶软件(中国)有限公司 网关动态路由方法、装置、计算机设备和存储介质
CN111885604A (zh) * 2020-06-28 2020-11-03 北京交通大学 一种基于天地一体化网络的认证鉴权方法、装置及系统

Similar Documents

Publication Publication Date Title
US20170230308A1 (en) Cloud-based service resource provisioning based on network characteristics
CN112153170B (zh) 访问服务器的方法、装置、设备及存储介质
WO2019213169A1 (en) Synchronized distributed processing in a communications network
CN102571936B (zh) 数据查找的方法、装置及系统
CN112346871A (zh) 一种请求处理方法及微服务系统
CN111355791A (zh) 文件传输方法、装置、计算机设备和存储介质
CN111176715A (zh) 一种信息调用方法及服务器
CN108810092B (zh) 网络访问方法和装置、电子设备、计算机可读存储介质
CN112202681B (zh) 数据拥塞处理方法、装置、计算机设备和存储介质
CN117667879A (zh) 数据访问方法、装置、存储介质及电子设备
CN109479214B (zh) 一种负载均衡的方法及相关装置
CN116991800A (zh) 文件获取系统、方法、装置、计算机设备和存储介质
CN115102901A (zh) 路由选择方法、装置、计算机设备和存储介质
EP4136809B1 (en) Distributed flow processing and flow cache
CN113840313B (zh) 移动终端的网络模式控制方法、装置和计算机设备
CN114238264A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109857719B (zh) 分布式文件处理方法、装置、计算机设备以及存储介质
CN112799849A (zh) 一种数据处理方法、装置、设备及存储介质
CN116708532B (zh) 局域网连接方法、装置、计算机设备和可读存储介质
CN110442447B (zh) 基于消息队列的负载均衡方法、装置和计算机设备
CN114793234B (zh) 消息处理方法、装置、设备和存储介质
CN115065636B (zh) 数据分发方法、装置、电子设备及存储介质
CN117992243B (zh) 用于中间件的负载均衡方法、装置和计算机设备
CN106941451A (zh) 一种基于网络感知和覆盖率阈值矩阵的文件智能缓存方法
CN116781786A (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