CN106326012A - web应用集群缓存利用方法和系统 - Google Patents

web应用集群缓存利用方法和系统 Download PDF

Info

Publication number
CN106326012A
CN106326012A CN201610728802.3A CN201610728802A CN106326012A CN 106326012 A CN106326012 A CN 106326012A CN 201610728802 A CN201610728802 A CN 201610728802A CN 106326012 A CN106326012 A CN 106326012A
Authority
CN
China
Prior art keywords
web server
request
data
classification
user
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.)
Granted
Application number
CN201610728802.3A
Other languages
English (en)
Other versions
CN106326012B (zh
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201610728802.3A priority Critical patent/CN106326012B/zh
Publication of CN106326012A publication Critical patent/CN106326012A/zh
Application granted granted Critical
Publication of CN106326012B publication Critical patent/CN106326012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种web应用集群缓存利用方法和系统。所述方法的核心是web应用集群采用负载均衡算法,即分类哈希算法,通过对用户请求进行分类,进而求取用户请求类别的哈希值,同时为Web应用集群中每一台web服务器分配一个哈希值,通过比较将用户请求分配到哈希值最接近的web服务器;除此之外,web应用集群定期利用大数据处理算法对web用户请求的相似性进行分析,更新分类哈希算法,确保该算法动态自我优化。由于该技术方案能将同一类用户请求分发到同一台web服务器上进行处理,因此可以有效提高缓存利用率,提高对用户请求的处理效率。

Description

web应用集群缓存利用方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种web应用集群缓存利用方法和系统。
背景技术
随着科技的发展和普及,人们的生活方式也逐渐发生变化,其中,电子交易逐渐增多,相应的数据分析型应用也逐渐增多,随着数据量的急剧膨胀,需要相应的web应用集群具备更有效的缓存利用能力,以提高数据处理速度。比如,目前各银行内部的营销管理系统、财会分析系统等等,这些系统都是在银行海量数据中进行数据挖掘和提炼,需要web应用集群具备强大缓存利用能力,以加快数据挖掘和提炼的效率,确保业务可以更有序的开展。
因此,如何有效提高web应用集群的缓存利用能力变得很有必要。
发明内容
有鉴于此,本发明提供了一种web应用集群缓存利用方法和系统,能够有效提高web应用集群的缓存利用能力。
为实现上述目的,本发明提供如下技术方案:
一种web应用集群缓存利用方法,包括:
负载均衡服务器获取用户请求;
依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,包括各个所述请求类别以及每个所述请求类别各自对应的所述用户请求;
以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;
将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小;所述预设标号值的取值范围为(0,100],呈均匀分布;
将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求。
优选的,还包括:
所述数据分析服务器获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
优选的,还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
优选的,还包括:
所述目标WEB服务器计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
优选的,还包括:
监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
优选的,所述将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器之前,还包括:
为所述WEB服务器集群中每台所述WEB服务器设置所述预设标号值。
一种web应用集群缓存利用系统,包括:
负载均衡服务器、数据分析服务器和WEB服务器集群,所述WEB服务器集群包括多个WEB服务器;
所述负载均衡服务器的操作包括:获取用户请求;依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,包括各个所述请求类别以及每个所述请求类别各自对应的所述用户请求;以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小;所述预设标号值的取值范围为(0,100],呈均匀分布;将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求。
优选的,所述数据分析服务器的操作包括:
获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
优选的,所述数据分析服务器的操作还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作还包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
优选的,所述目标WEB服务器的操作还包括:
计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
优选的,所述负载均衡服务器的操作还包括:
监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种web应用集群缓存利用方法和系统。本发明提供的技术方案,负载均衡服务器依据从数据分析服务器得到的设定分类标准,通过所述设定分类标准能够确定所述用户请求的请求类别,然后以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值,将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器,最后将所述用户请求发送至所述目标WEB服务器,所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小,所述预设标号值的取值范围为(0,100],呈均匀分布,从而使分发到各WEB服务器的用户请求相对均衡,由于哈希函数在输入值相同时,其输出值也相同,因此为同一请求类别的用户请求所分配的是相同的WEB服务器,而同一请求类别的用户请求需访问的数据表相同,因此,WEB服务器缓存中数据表能够被同一类别的多个用户请求所访问,不必每次获取到用户请求后都从数据库中调取数据表,从而能够有效提高缓存利用率,提高对用户请求的处理效率。因此,本发明提供的技术方案,能够有效提高web应用集群的缓存利用能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种web应用集群缓存利用方法的流程图;
图2为本发明实施例提供的一种web应用集群缓存利用系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例
请参阅图1,图1为本发明实施例提供的一种web应用集群缓存利用方法的流程图。如图1所示,该方法包括:
步骤S101,负载均衡服务器获取用户请求;
步骤S102,依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;
具体的,所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,所述设定分类标准包括:各个所述请求类别以及每个所述请求类别各自对应的所述用户请求。
步骤S103,以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;
具体的,同一所述请求类别的输入,其对应的哈希函数的输出值是唯一的。需要说明的是,对于任一所述请求类别的输入,对应的哈希函数的输出值均位于(0,100)区间内,而所有所述请求类别的输入,其对应的哈希函数的输出值在(0,100)区间内呈均匀分布。
步骤S104,将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;
具体的,所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小。具体的,所述预设标号值的取值范围为(0,100],呈均匀分布,比如,WEB服务器集群中有5台WEB服务器,那么这5台WEB服务器对应的所述预设标号值可以分别为20,40,60,80和100。
步骤S105,将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求;
具体的,由于所有所述请求类别的输入,其对应的哈希函数的输出值在(0,100)区间内呈均匀分布,且WEB服务器的所述预设标号值的取值范围为(0,100],呈均匀分布,因此,所述请求类别(包括多个所述用户请求)会比较均衡地分发到各个所述WEB服务器。
需要说明的是,所述步骤S101~所述步骤S105由所述负载均衡服务器执行。
本发明实施例提供的技术方案,负载均衡服务器依据从数据分析服务器得到的设定分类标准,通过所述设定分类标准能够确定所述用户请求的请求类别,然后以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值,将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器,最后将所述用户请求发送至所述目标WEB服务器,所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小,所述预设标号值的取值范围为(0,100],呈均匀分布,从而使分发到各WEB服务器的用户请求相对均衡,由于哈希函数在输入值相同时,其输出值也相同,因此为同一请求类别的用户请求所分配的是相同的WEB服务器,而同一请求类别的用户请求需访问的数据表相同,因此,WEB服务器缓存中数据表能够被同一类别的多个用户请求所访问,不必每次获取到用户请求后都从数据库中调取数据表,从而能够有效提高缓存利用率,提高对用户请求的处理效率。因此,本发明实施例提供的技术方案,能够有效提高web应用集群的缓存利用能力。
可选的,本发明另外一个实施例提供的技术方案,还包括:
所述数据分析服务器获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
具体的,所述数据分析服务器也可以为数据分析服务器集群,可选的,若为数据分析服务器集群,则可以采用Spark处理框架(基于内存的快速并行计算框架),能够有效提高在海量数据环境下数据处理的快速响应,同时保证了高容错性,成本低廉。
具体的,所述历史数据库可以为Hadoop的分布式文件系统HDFS,即海量的用户操作数据被采集到Hadoop的分布式文件系统HDFS上,形成历史数据,存储效率要优于传统关系型数据库,而且对设备要求的标准很低,极大节省了资源成本。
可选的,本发明另外一个实施例提供的技术方案,还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
本发明实施例提供的技术方案,能够使WEB服务器加载经常用到的数据表到内存中,即提供静态内存,能够避免获取到用户请求后需要到数据库中查找数据表的操作,可以直接读取内存中的数据表,从而能够有效提高缓存利用率,使处理速度得到明显提升。
可选的,本发明另外一个实施例提供的技术方案,还包括:
所述目标WEB服务器计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
本实施例提供的技术方案与上一实施例提供的技术方案类似,区别在于,本实施例提供的技术方案中各WEB服务器专门统计自身所常用的数据表,以有效提高缓存利用率,使处理速度得到明显提升,而上一实施例提供的技术方案是针对所有WEB服务器(即WEB服务器集群)所常用的数据表,因此,相对于上一实施例提供的技术方案,本实施例提供的技术方案针对性更强。
可选的,本发明另外一个实施例提供的技术方案,还包括:
所述负载均衡服务器监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
本实施例提供的技术方案,旨在实现动态负载均衡,若任一WEB服务器的CPU占用率和/或内存占用率较高,则可以降低该WEB服务器对应的所述预设标号值,这样,便能够实现原本发送至该WEB服务器的用户请求,发往其他WEB服务器来处理,从而减轻CPU占用率和/或内存占用率较高的WEB服务器的压力。比如,WEB服务器集群中有5台WEB服务器,那么这5台WEB服务器对应的所述预设标号值可以分别为20,40,60,80和100,若某用户请求的请求类别所对应的所述哈希函数的输出值为59,那么,该用户请求将发送至(预设标号值为)60所对应的WEB服务器;若(预设标号值为)60所对应的WEB服务器的CPU占用率和/或内存占用率较高,想要减轻其负载压力,则应用本实施例提供的技术方案,可以将原预设标号值为60所对应的WEB服务器的预设标号值调整为59(或58等),那么按照本发明实施例提供的技术方案,该用户请求(其请求类别所对应的所述哈希函数的输出值为59)将发送至预设标号值为80对应的WEB服务器来处理,从而能够减轻原预设标号值为60所对应的WEB服务器的负载压力。
可选的,本发明另外一个实施例提供的技术方案,所述步骤S104之前还包括:
负载均衡服务器为所述WEB服务器集群中每台所述WEB服务器设置所述预设标号值。
为了更加全面地阐述本发明提供的技术方案,对应于本发明实施例提供的web应用集群缓存利用方法,本发明公开一种web应用集群缓存利用系统。
请参阅图2,图2为本发明实施例提供的一种web应用集群缓存利用系统的结构图。如图2所示,该系统包括:
负载均衡服务器201、数据分析服务器202和WEB服务器集群203,所述WEB服务器集群203包括多个WEB服务器;
所述负载均衡服务器201的操作包括:
获取用户请求;依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,包括各个所述请求类别以及每个所述请求类别各自对应的所述用户请求;以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小;所述预设标号值的取值范围为(0,100],呈均匀分布;将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求。
可选的,所述数据分析服务器202为大数据分析服务器。
应用本发明实施例提供的web应用集群缓存利用系统,能够有效提高web应用集群的缓存利用能力,从而提高对用户请求的处理效率,。
可选的,本发明另外一个实施例提供的web应用集群缓存利用系统,所述数据分析服务器的操作包括:
获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
可选的,本发明另外一个实施例提供的web应用集群缓存利用系统,所述数据分析服务器的操作还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作还包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
可选的,本发明另外一个实施例提供的web应用集群缓存利用系统,所述目标WEB服务器的操作还包括:
计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
可选的,本发明另外一个实施例提供的web应用集群缓存利用系统,所述负载均衡服务器的操作还包括:
监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
可选的,本发明另外一个实施例提供的web应用集群缓存利用系统,所述负载均衡服务器的操作还包括:
所述将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器之前,为所述WEB服务器集群中每台所述WEB服务器设置所述预设标号值。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种web应用集群缓存利用方法和系统。本发明提供的技术方案,负载均衡服务器依据从数据分析服务器得到的设定分类标准,通过所述设定分类标准能够确定所述用户请求的请求类别,然后以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值,将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器,最后将所述用户请求发送至所述目标WEB服务器,所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小,所述预设标号值的取值范围为(0,100],呈均匀分布,从而使分发到各WEB服务器的用户请求相对均衡,由于哈希函数在输入值相同时,其输出值也相同,因此为同一请求类别的用户请求所分配的是相同的WEB服务器,而同一请求类别的用户请求需访问的数据表相同,因此,WEB服务器缓存中数据表能够被同一类别的多个用户请求所访问,不必每次获取到用户请求后都从数据库中调取数据表,从而能够有效提高缓存利用率,提高对用户请求的处理效率。因此,本发明提供的技术方案,能够有效提高web应用集群的缓存利用能力。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种web应用集群缓存利用方法,其特征在于,包括:
负载均衡服务器获取用户请求;
依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,包括各个所述请求类别以及每个所述请求类别各自对应的所述用户请求;
以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;
将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小;所述预设标号值的取值范围为(0,100],呈均匀分布;
将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述数据分析服务器获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
4.根据权利要求1所述的方法,其特征在于,还包括:
所述目标WEB服务器计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
5.根据权利要求1所述的方法,其特征在于,还包括:
监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
6.根据权利要求1所述的方法,其特征在于,所述将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器之前,还包括:
为所述WEB服务器集群中每台所述WEB服务器设置所述预设标号值。
7.一种web应用集群缓存利用系统,其特征在于,包括:
负载均衡服务器、数据分析服务器和WEB服务器集群,所述WEB服务器集群包括多个WEB服务器;
所述负载均衡服务器的操作包括:获取用户请求;依据从数据分析服务器得到的设定分类标准,确定所述用户请求的请求类别;所述设定分类标准为同一所述请求类别的所述用户请求需访问的数据表相同,包括各个所述请求类别以及每个所述请求类别各自对应的所述用户请求;以所述请求类别作为哈希函数的输入,计算所述哈希函数的输出值;将所述输出值与WEB服务器集群中每台WEB服务器的预设标号值相比较,确定目标WEB服务器;所述目标WEB服务器对应的所述预设标号值大于所述输出值,且所述目标WEB服务器对应的所述预设标号值减所述输出值的差最小;所述预设标号值的取值范围为(0,100],呈均匀分布;将所述用户请求发送至所述目标WEB服务器,以使所述目标WEB服务器处理所述用户请求。
8.根据权利要求7所述的系统,其特征在于,所述数据分析服务器的操作包括:
获取历史数据库的日志记录中与所述用户请求相对应的请求数据,确定所述请求数据对应的所述数据表;
确定访问数据库中相同所述数据表的所述用户请求为同一类请求类别,记录各个所述请求类别以及每个所述请求类别各自对应的所述用户请求,生成所述设定分类标准。
9.根据权利要求8所述的系统,其特征在于,所述数据分析服务器的操作还包括:
所述数据分析服务器统计所述历史数据库的日志记录中所述用户请求的次数,计算各个所述请求类别中所有所述用户请求的第一总次数;
按照所述第一总次数从高到低进行排序,若所述第一总次数相同,则计算所述第一总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第一总数据量,按照所述第一总数据量从高到低进行排序;
将排序后的前预设数目个所述请求类别发送至所述目标WEB服务器;
则所述目标WEB服务器的操作还包括,从数据库中读取并加载所述排序后的前预设数目个所述请求类别各自对应的第一常用数据表到内存中。
10.根据权利要求7所述的系统,其特征在于,所述目标WEB服务器的操作还包括:
计算预设时间内接收到的各个所述请求类别中所有所述用户请求的第二总次数;
按照所述第二总次数从高到低进行排序,若所述第二总次数相同,则计算所述第二总次数相同的各个所述请求类别中所有所述用户请求对应的请求数据的第二总数据量,按照所述第二总数据量从高到低进行排序;
从数据库中读取并加载排序后前预设数目个所述请求类别各自对应的第二常用数据表到内存中。
11.根据权利要求7所述的系统,其特征在于,所述负载均衡服务器的操作还包括:
监控所述WEB服务器集群中每台所述WEB服务器的状态,若第一WEB服务器的CPU占用率和/或内存占用率超过预设数值,将所述第一WEB服务器对应的所述预设标号值降低预设数值;
则若所述哈希函数的输出值大于每台所述WEB服务器的所述预设标号值,确定所述预设标号值最小的所述WEB服务器为所述目标WEB服务器。
CN201610728802.3A 2016-08-25 2016-08-25 web应用集群缓存利用方法和系统 Active CN106326012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610728802.3A CN106326012B (zh) 2016-08-25 2016-08-25 web应用集群缓存利用方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610728802.3A CN106326012B (zh) 2016-08-25 2016-08-25 web应用集群缓存利用方法和系统

Publications (2)

Publication Number Publication Date
CN106326012A true CN106326012A (zh) 2017-01-11
CN106326012B CN106326012B (zh) 2019-09-24

Family

ID=57790989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610728802.3A Active CN106326012B (zh) 2016-08-25 2016-08-25 web应用集群缓存利用方法和系统

Country Status (1)

Country Link
CN (1) CN106326012B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951456A (zh) * 2017-02-24 2017-07-14 广东广信通信服务有限公司 一种内存数据库系统及数据处理系统
CN109165096A (zh) * 2018-08-20 2019-01-08 四川长虹电器股份有限公司 web集群的缓存利用系统及方法
CN109634746A (zh) * 2018-12-05 2019-04-16 四川长虹电器股份有限公司 一种web集群缓存的利用系统及优化方法
CN109885593A (zh) * 2019-02-21 2019-06-14 北京字节跳动网络技术有限公司 用于处理信息的方法和装置
CN111698270A (zh) * 2019-03-12 2020-09-22 浙江宇视科技有限公司 一种分布式横向扩展协商服务规模的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005116A1 (en) * 2001-06-28 2003-01-02 Chase Jeffrey Scott Method, system and computer program product for hierarchical load balancing
CN102523258A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种面向云操作系统的数据存储架构及其负载均衡方法
CN103391299A (zh) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 负载均衡方法和负载均衡系统
CN103701951A (zh) * 2013-12-27 2014-04-02 北京奇虎科技有限公司 网站访问记录的分析方法与网站访问记录的分析装置
CN104811503A (zh) * 2015-05-21 2015-07-29 龙信数据(北京)有限公司 一种r统计建模系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005116A1 (en) * 2001-06-28 2003-01-02 Chase Jeffrey Scott Method, system and computer program product for hierarchical load balancing
CN102523258A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种面向云操作系统的数据存储架构及其负载均衡方法
CN103391299A (zh) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 负载均衡方法和负载均衡系统
CN103701951A (zh) * 2013-12-27 2014-04-02 北京奇虎科技有限公司 网站访问记录的分析方法与网站访问记录的分析装置
CN104811503A (zh) * 2015-05-21 2015-07-29 龙信数据(北京)有限公司 一种r统计建模系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951456A (zh) * 2017-02-24 2017-07-14 广东广信通信服务有限公司 一种内存数据库系统及数据处理系统
CN109165096A (zh) * 2018-08-20 2019-01-08 四川长虹电器股份有限公司 web集群的缓存利用系统及方法
CN109634746A (zh) * 2018-12-05 2019-04-16 四川长虹电器股份有限公司 一种web集群缓存的利用系统及优化方法
CN109634746B (zh) * 2018-12-05 2022-03-01 四川长虹电器股份有限公司 一种web集群缓存的利用系统及优化方法
CN109885593A (zh) * 2019-02-21 2019-06-14 北京字节跳动网络技术有限公司 用于处理信息的方法和装置
CN111698270A (zh) * 2019-03-12 2020-09-22 浙江宇视科技有限公司 一种分布式横向扩展协商服务规模的方法及装置
CN111698270B (zh) * 2019-03-12 2023-06-20 浙江宇视科技有限公司 一种分布式横向扩展协商服务规模的方法及装置

Also Published As

Publication number Publication date
CN106326012B (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN107329837B (zh) 一种负载均衡的方法和单元、分布式NewSQL数据库系统
CN106326012A (zh) web应用集群缓存利用方法和系统
CN104065568B (zh) 一种Web服务器集群的路由方法
CN103593436B (zh) 文件合并方法和装置
CN104731796B (zh) 数据存储计算方法和系统
CN107436813A (zh) 一种元数据服务器动态负载均衡的方法及系统
CN102523158A (zh) 一种基于权重的元数据服务器集群负载均衡方法
CN107329983B (zh) 一种机器数据分布式存储、读取方法及系统
CN106161120A (zh) 动态均衡负载的分布式元数据管理方法
CN108183947A (zh) 分布式缓存方法及系统
US20180314566A1 (en) Systems for parallel processing of datasets with dynamic skew compensation
CN112860695B (zh) 监控数据查询方法、装置、设备、存储介质及程序产品
CN102314336B (zh) 一种数据处理方法和系统
CN104965861A (zh) 一种数据访问监控装置
CN103077197A (zh) 一种数据存储方法装置
CN108376143A (zh) 一种新型的olap预计算模型及生成预计算结果的方法
CN107291539B (zh) 基于资源重要程度的集群程序调度方法
CN111737168A (zh) 一种缓存系统、缓存处理方法、装置、设备及介质
CN104270412A (zh) 一种基于Hadoop分布式文件系统的三级缓存方法
CN108305163A (zh) 基于特征库的信用预警方法及系统
CN101419600A (zh) 基于面向对象文件系统的数据副本映射方法及装置
CN108647155A (zh) 一种基于深度学习的多级cache共享的方法和装置
CN105975345A (zh) 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN104158902B (zh) 一种基于请求数的Hbase数据块分配方法及装置
CN110489418B (zh) 一种数据聚合方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant