基于中间件实现的后台服务器选择方法及装置制造方法及图纸

技术编号:15302280 阅读:71 留言:0更新日期:2017-05-13 12:50
本发明专利技术公开了一种基于中间件实现的后台服务器选择方法及装置,所述方法包括:接收客户端发送的业务请求;在预设数值范围内生成第一随机数,所述预设数值范围包含第一数值范围;若第一随机数落入第一数值范围内,根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;将所述业务请求转发给所选取的服务器。采用本方案,通过利用各个服务器最近的预设时间段内的响应时间来选择服务器,可以实现服务器系统的负载均衡,提高系统稳定性;又由于只有当第一随机数落入第一数值范围内,才需计算各个服务器最近的预设时间段内的响应时间,所以在一定程度上降低了系统的运算量及运算资源占有率,提高服务器系统处理任务的效率。

Method and device for selecting background server based on Middleware

The invention discloses a method and apparatus for selecting a middleware server based on the background, the method comprises: receiving the client sends the service request; generating a first random number in the preset range, the preset range includes a first numerical value range; if the first random number in the first range, according to the response time of each server the server list recently a preset period of time selecting a server; the service request will be forwarded to the selected server. By this method, by using the response time of each server has a preset period of time to select the server, you can achieve load balancing server system, improve the stability of the system; and because only when the first random number in the first range of values, only need to compute the response time of the server has a preset period of time, and so on to a certain extent, reduce the amount of computing resources and computing system share, improve the efficiency of server system processing tasks.

【技术实现步骤摘要】

本专利技术涉及计算机网络
,具体涉及一种基于中间件实现的后台服务器选择方法及装置
技术介绍
中间件位于数据管理层和用户界面层之间,它可以为处于操作系统和应用程序之间的通信平台,也可以是应用平台与后台数据库之间的数据通信媒介等。其中,中间件也可位于客户端和服务器之间,可以完成对事物的管理与协调等任务。中间件在接收到客户端发送的新的请求后常采用轮询的方式将请求发送至服务器,或者通过统计当前服务器与客户端的连接数将新的请求发送至当前连接数最少的服务器。但是,采用轮询的方法常会出现部分服务器过载甚至宕机的现象,而与客户端连接数的多少并未能有效反映服务器处理任务的能力,也会造成严重的负载失衡,降低系统处理事物的效率及资源利用率,并降低了系统的稳定性。而且,当以某一性能参数表征服务器处理任务能力,常采用穷举的方法,即计算所有服务器的性能参数,来寻求较优的服务器。此种方法会增加整个系统的运算量,额外占用系统较多的运算资源,降低系统处理事物的效率。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于中间件实现的后台服务器选择方法及装置。根据本专利技术的一个方面,提供了一种基于中间件实现的后台服务器选择方法,其包括:接收客户端发送的业务请求;在预设数值范围内生成一第一随机数,所述预设数值范围包含第一数值范围;若所述第一随机数落入第一数值范围内,根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;将所述业务请求转发给所选取的服务器。可选的,所述预设数值范围包含第二数值范围,所述方法还包括:若所述第一随机数落入第二数值范围内,在服务器列表中随机或顺次选取一服务器。可选的,所述预设数值范围为[0,1],所述第二数值范围为[0,ε],所述第一数值范围为(ε,1],其中ε为根据之前服务器的选择情况预先设置的值。可选的,所述在服务器列表中顺次选取一服务器进一步包括:查询上一次第一随机数落入第二数值范围时所选取的服务器;在服务器列表中选取排序紧邻在上一次第一随机数落入第一数值范围时所选取的服务器之后的服务器。可选的,所述根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器进一步包括:计算各个服务器在最近的预设时间段内的响应时间参数;选取所述各个服务器在最近的预设时间段内的响应时间参数最小的服务器。可选的,所述根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器进一步包括:计算各个服务器在最近的预设时间段内的响应时间参数;对各个服务器在最近的预设时间段内的响应时间参数进行归一化处理,得到归一化处理后的响应时间参数T1,T2,…,Ti,…,Tn,其中Ti为在服务器列表中排在第i位的服务器的归一化处理后的响应时间参数;根据归一化的数值范围,生成一第二随机数;从k=1开始,按照如下公式计算Sumk,直至Sumk大于或等于第二随机数结束,选取在服务器列表中排在第k位的服务器;可选的,所述根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器进一步包括:计算各个服务器在最近的预设时间段内的响应时间参数;选取所述各个服务器在最近的预设时间段内的响应时间参数小于预设阈值的一服务器。可选的,所述预设时间段包含多个子时间段;所述计算各个服务器在最近的预设时间段内的响应时间参数进一步包括:根据各个服务器在每个子时间段内的响应时间和响应次数计算各个服务器在最近的预设时间段内的响应时间参数。可选的,所述根据各个服务器在每个子时间段内的响应时间和响应次数计算各个服务器在最近的预设时间段内的响应时间参数进一步包括:根据各个服务器在每个子时间段内的响应时间和响应次数计算各个服务器每个子时间段的平均响应时间;计算各个服务器各个子时间段的平均响应时间与子时间段序号的乘积之和作为各个服务器在最近的预设时间段内的响应时间参数,其中子时间段序号根据子时间段距离当前时间由远及近依次递增。根据本专利技术的另一方面,提供了一种基于中间件实现的后台服务器选择装置,其包括:接收模块,适于接收客户端发送的业务请求;生成模块,适于在预设数值范围内生成一第一随机数,所述预设数值范围包含第一数值范围;第一选取模块,适于若所述第一随机数落入第一数值范围内,根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;发送模块,适于将所述业务请求转发给所选取的服务器。可选的,所述预设数值范围包含第二数值范围,所述装置还包括:第二选取模块,适于若所述第一随机数落入第二数值范围内,在服务器列表中随机或顺次选取一服务器。可选的,所述预设数值范围为[0,1],所述第二数值范围为[0,ε],所述第一数值范围为(ε,1],其中ε为根据之前服务器的选择情况预先设置的值。可选的,所述装置还包括:查询模块,适于查询上一次第一随机数落入第二数值范围时所选取的服务器;所述第二选取模块进一步适于:在服务器列表中选取排序在上一次第一随机数落入第一数值范围时所选取的服务器之后的服务器。可选的,所述装置还包括:计算模块,适于计算各个服务器在最近的预设时间段内的响应时间参数;所述第一选取模块进一步适于:选取所述各个服务器在最近的预设时间段内的响应时间参数最小的服务器。可选的,所述装置还包括:计算模块,适于计算各个服务器在最近的预设时间段内的响应时间参数;所述第一选取模块进一步适于:对各个服务器在最近的预设时间段内的响应时间参数进行归一化处理,得到归一化处理后的响应时间参数T1,T2,…,Ti,…Tn,其中Ti为在服务器列表中排在第i位的服务器的归一化处理后的响应时间参数;所述生成模块还适于:根据归一化的数值范围,生成一第二随机数;所述第一选取模块进一步适于:从k=1开始,按照如下公式计算Sumk,直至Sumk大于或等于第二随机数结束,选取在服务器列表中排在第k位的服务器;可选的,所述装置还包括:计算模块,适于计算各个服务器在最近的预设时间段内的响应时间参数;所述第一选取模块进一步适于:选取所述各个服务器在最近的预设时间段内的响应时间参数小于预设阈值的一服务器。可选的,所述预设时间段包含多个子时间段;所述计算模块进一步适于:根据各个服务器在每个子时间段内的响应时间和响应次数计算各个服务器在最近的预设时间段内的响应时间参数。可选的,所述计算模块进一步包括:第一计算单元。适于根据各个服务器在每个子时间段内的响应时间和响应次数计算各个服务器每个子时间段的平均响应时间;第二计算单元,适于计算各个服务器各个子时间段的平均响应时间与子时间段序号的乘积之和作为各个服务器在最近的预设时间段内的响应时间参数,其中子时间段序号根据子时间段距离当前时间由远及近依次递增。根据本专利技术提供的基于中间件实现的后台服务器选择方法及装置,可以接收客户端发送的业务请求;在预设数值范围内生成一第一随机数,其中,预设数值范围包含第一数值范围;若第一随机数落入第一数值范围内,则根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;最终将业务请求转发给所选取的服务器。采用本方案,通过利用各个服务器最近的预设时间段内的响应时间来选择服务器,可以实现服务器系统的负载均衡,提高系统稳定性;又由于只有当第一随机数落入第一数值范围内,才需计算各个服务器最本文档来自技高网...
基于中间件实现的后台服务器选择方法及装置

【技术保护点】
一种基于中间件实现的后台服务器选择方法,包括:接收客户端发送的业务请求;在预设数值范围内生成一第一随机数,所述预设数值范围包含第一数值范围;若所述第一随机数落入第一数值范围内,根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;将所述业务请求转发给所选取的服务器。

【技术特征摘要】
1.一种基于中间件实现的后台服务器选择方法,包括:接收客户端发送的业务请求;在预设数值范围内生成一第一随机数,所述预设数值范围包含第一数值范围;若所述第一随机数落入第一数值范围内,根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器;将所述业务请求转发给所选取的服务器。2.根据权利要求1所述的方法,其中,所述预设数值范围包含第二数值范围,所述方法还包括:若所述第一随机数落入第二数值范围内,在服务器列表中随机或顺次选取一服务器。3.根据权利要求2所述的方法,其中,所述预设数值范围为[0,1],所述第二数值范围为[0,ε],所述第一数值范围为(ε,1],其中ε为根据之前服务器的选择情况预先设置的值。4.根据权利要求2所述的方法,其中,所述在服务器列表中顺次选取一服务器进一步包括:查询上一次第一随机数落入第二数值范围时所选取的服务器;在服务器列表中选取排序紧邻在上一次第一随机数落入第一数值范围时所选取的服务器之后的服务器。5.根据权利要求1-3中任一项所述的方法,其中,所述根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器进一步包括:计算各个服务器在最近的预设时间段内的响应时间参数;选取所述各个服务器在最近的预设时间段内的响应时间参数最小的服务器。6.根据权利要求1-3中任一项所述的方法,其中,所述根据服务器列表中各个服务器最近的预设时间段内的响应时间选取一服务器进一步包括:计算各个服务器在最近的预设时间段内的响应时间参数;对各个服务器在最近的预设时间段内的响应时间参数进行归一化处理,得到归一化处理后的响应时间参数T1,T2…,Ti,…,Tn,其中Ti为在服务器列表中排在第i位的服务器的归一化处理后的响应时间参数;根据归一化的...

【专利技术属性】
技术研发人员:邓怡豪
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1