CN108833492B - 提高服务器调用准确率的方法、装置、客户端和系统 - Google Patents
提高服务器调用准确率的方法、装置、客户端和系统 Download PDFInfo
- Publication number
- CN108833492B CN108833492B CN201810507460.1A CN201810507460A CN108833492B CN 108833492 B CN108833492 B CN 108833492B CN 201810507460 A CN201810507460 A CN 201810507460A CN 108833492 B CN108833492 B CN 108833492B
- Authority
- CN
- China
- Prior art keywords
- server
- information
- client
- tasks
- servers
- 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.)
- Active
Links
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
-
- 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/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例提供了一种提高服务器调用准确率的方法、装置、计算机设备和系统。本发明实施例根据服务器的负载情况选择处理客户端的任务的服务器,实现服务器的负载均衡,同时,如果在服务器处理任务的期间服务器的ID受某些影响被篡改,而在客户端还未到达下一周期更新其记录的服务器的ID信息和负载情况的时候,能够有效地避免客户端记录的服务器的ID信息与服务器当前ID信息不一致而导致下一次调用该服务器出错的情况。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种提高服务器调用准确率的方法、装置、客户端和系统。
背景技术
目前调节服务器的负载均衡的方法主要有两种,第一种是通过处理任务的应用服务器调配任务量,例如系统包含两台应用服务器,一台是主要服务器,另一台为备用服务器,当主要服务器的需要处理的来自客户端的任务数量过多,主要服务器的负载率就会过高,此时为了任务处理效率,启用备用服务器,主要服务器将一部分任务转移到备用服务器上处理,一次来降低主要服务器的负载率,提高任务的处理效率;另一种方法是在客户端与应用服务器之间引入中介服务器,通过中介服务器根据应用服务器的负载情况分配处理客户端任务的应用服务器,以实现每台应用服务器的负载均衡的目的。
第一种方法是在主要服务器负载率过高的情况下才将一部分任务转分至备用服务器,因此很长时间内浪费了备用服务器的处理资源,因此服务器负载均衡的调节效率不高,而第二种方法中的中介服务器作为一种硬件设备与所有应用服务器都产生联系,同时与业务系统中除客户端的其他诸多设备也会产生联系,一旦中介服务器失效会引发整个业务系统的奔溃,导致所有应用服务器不可用,同时,如果由于某种原因应用服务器的ID地址被篡改,中介服务器也无法及时获取情况,发生中介服务器调用应用服务器出错的情况。
发明内容
本发明实施例提供了一种提高服务器调用准确率的方法、装置、客户端、系统及存储介质,能够实现服务器的负载均衡以及有效地提高调用服务器的效率。
第一方面,本发明实施例提供了一种提高服务器调用准确率的方法,应用于客户端,该方法包括:
每隔预设时间获取并保存服务器的ID以及所述服务器的负载情况,所述服务器为多个;
若接收到任务,根据多个所述服务器的负载情况选择一用于处理所述任务的服务器;
将已保存的所述服务器的ID与所述任务进行封装得到封装信息;
将所述封装信息发送至所述服务器;
若接收到所述服务器反馈的所述封装信息中的ID与该服务器的当前ID不一致的反馈信息,将已保存在所述客户端的所述服务器的ID更新为所述当前 ID。
第二方面,本发明实施例还提供了一种提高服务器调用准确率的装置,所述提高服务器调用准确率的装置包括用于实现第一方面所述的提高服务器调用准确率的方法的单元。
第三方面,本发明实施例还提供了一种客户端,包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现提高服务器调用准确率的方法的计算机程序;
所述处理器用于运行所述存储器中存储的计算机程序,以执行如上述第一方面所述的方法。
第四方面,本发明实施例提供了一种提高服务器调用准确率的系统,该系统包括至少两个客户端,每个所述客户端包括存储器以及与所述存储器相连的处理器,所述存储器用于存储实现提高服务器调用准确率的方法的计算机程序,两个所述客户端的处理器运行相应的存储器中存储的计算机程序共同实现提高服务器调用准确率的方法。
第五方面,本发明实施例提供了一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现上述第一方面所述的方法。
本发明实施例提供了提高服务器调用准确率的方法、装置、客户端、系统及存储介质,根据服务器的负载情况选择处理客户端的任务的服务器,实现服务器的负载均衡,同时,如果在服务器处理任务的期间服务器的ID受某些影响被篡改,而在客户端还未到达下一周期更新其记录的服务器的ID信息和负载情况的时候,能够有效地避免客户端记录的服务器的ID信息与服务器当前ID信息不一致而导致下一次调用该服务器出错的情况。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种提高服务器调用准确率的方法的流程示意图;
图2是本发明实施例提供的一种提高服务器调用准确率的方法的子流程示意图;
图3是本发明实施例提供的客户端与服务器之间的交互示意图;
图4是本发明实施例提供的一种提高服务器调用准确率的方法的另一流程示意图;
图5是本发明实施例提供的一种提高服务器调用准确率的装置的示意性框图;
图6是本发明实施例提供的一种提高服务器调用准确率的装置的子单元示意性框图;
图7是本发明实施例提供的一种提高服务器调用准确率的装置的子单元示意性框图;
图8是本发明实施例提供的一种提高服务器调用准确率的装置的另一示意性框图;
图9是本发明实施例提供的一种提高服务器调用准确率的装置的另一示意性框图;
图10是本发明实施例提供的一种客户端的结构示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
也应当理解,尽管术语第一、第二等可以在此用来描述各种元素,但这些元素不应该受限于这些术语,这些术语仅用来将这些元素彼此区分开。
图1为本发明实施例提供的一种提高服务器调用准确率的方法的流程示意图,该方法应用于一客户端,该方法包括步骤S101~S105。
S101,每隔预设时间获取并保存服务器的ID以及所述服务器的负载情况,所述服务器为多个。
首先创建一拦截器,将所述拦截器安装于客户端,拦截器中有一负载均衡插件和一代理对象,代理对象可下载服务器节点分布视图(即每个服务器的ID) 和服务器的负载情况,以及能够拦截和加工客户端的任务,负载均衡插件封装有负载均衡策略,负载均衡策略用于根据服务器的负载来调节每个服务器的负载均衡,拦截器根据负载均衡策略为客户端选择一负载情况较佳的服务器来处理客户端的任务,以此来实现从客户端实现服务器的负载均衡。
服务器的负载情况指的是CPU使用率、内存占用率、网络I/O占用率的一种或任意组合,通过CPU使用率、内存占用率、网络I/O占用率,CPU使用率、内存占用率、网络I/O占用率越低,服务器的负载越小。
S102,若接收到任务,根据多个所述服务器的负载情况选择一用于处理所述任务的服务器。
当客户端接收到任务之后,因为拦截器的作用客户端不直接将任务发送至服务器处理,而是向其拦截器发出调用服务器处理所述任务的调用请求指令,拦截器接收到调用请求指令后再根据负载均衡插件中的负载均衡策略来选择负载情况最佳的一台服务器。
将拦截器安装在客户端一侧,实现了从客户端一侧实现服务器的负载均衡,若设置客户端的集群模式,每个客户端都安装拦截器,各个客户端之间可以通信,任务可转分,即使任一拦截器发生故障,那么除安装该拦截器的其它客户端仍可以正常工作,整个系统仍可以正常运行,不受拦截器的故障而停止,以此来提高系统的高可用性。
针对客户端数量为1的情况,负载均衡策略是调用负载率最低的一台服务器来处理任务。针对客户端的数量为若干的情况,负载均衡策略是根据每个客户端的任务数量的排序以及服务器的负载率排序两个因素来调用服务器。
在本发明实施例中,所述客户端为多个,则如图2所示,步骤S102包括子步骤S1021-S1022。
S1021,根据多个所述服务器的负载情况将多个所述服务器进行优先调用等级排序。
客户端安装的拦截器中的负载均衡插件将多个所述服务器进行优先调用等级排序,服务器的负载率越低,优先调用等级越高,客户端根据负载均衡策略对每个服务器的优先调用等级进行排序。
S1022,根据每个客户端各自接收到的任务的数量情况选择优先调用等级相匹配的服务器。
每个客户端能够实现通信,其中的负载均衡插件能够获知每个客户端接收到的任务数量,对任务数量进行排序,负载均衡策略包括选择优先调用等级排序与人数数量排序相匹配的服务器来处理对应的客户端的任务,即按照任务多的客户端分配负载率低的服务器的原则调用服务器,最终各个客户端根据各自接收到的任务的数量情况选择优先调用等级相匹配的服务器,以实现服务器的负载均衡。
例如,如图3所示,客户端的数量为3,分别为A、B和C,服务器的数量为5,分别为server1、server2、server3、server4和server5,客户端A、B和C 的任务数量分别为a、b和c,其中a>b>c,server1、server2、server3、server4 和server5的负载率分别为s1、s2、s3、s4和s5,s1>s2>s3>s4>s5,则各个服务器的优先调用等级排序结果分别为server5、server4、server3、server2和 server1,那么,根据a>b>c以及server5>server4>server3>server2>server1 的优先调用结果,分别为客户端A、B、C选择server5、server4、server3,以使每个服务器处理任务的负载率能够尽可能均衡。
S103,将已保存的所述服务器的ID与所述任务进行封装得到封装信息。
所述客户端的拦截器根据负载均衡策略选择出负载情况最佳的一个服务器之后,其代理对象根据网络数据的封装协议对客户端的任务信息与服务器的ID 信息进行封装,以便能够将服务器的ID与任务进行打包一并发送给服务器。
步骤S103包括以下:若接收到的任务的数量小于第一阈值,将所有任务与所述服务器的ID进行封装得到封装信息;若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息。
如果某一客户端接收到的任务数量过多,通过一个服务器同时处理如此数量的任务,会导致服务器处理当前任务的时间过长,先让服务器处理一部分的任务,提高该部分任务的处理效率,同时避免未能被及时处理的任务因提前在服务器排队等候处理而占据内存,影响服务器的性能。
在本发明实施例中,所述预设数量与所述第一阈值为1000-2000,例如预设数量与所述第一阈值均为1000、1500或2000。
在其他发明实施例中,如图3所示,客户端为多个,各个客户端之间实现通信,在步骤S103的将预设数量的任务与所述服务器的ID进行封装得到封装信息的步骤之后,还包括:若接收到的任务的数量大于或等于第一阈值,将除预设数量任务外的其他任务平均地转分至任务数量小于或等于第二阈值的客户端。
在一些情况下,可能会存在某些客户端的任务过少,某些客户端的任务过多的情况,虽然可以通过负载均衡策略按照任务多的客户端分配负载率低的服务器的原则调用服务器,但也会存在某些服务器因客户端任务过重而导致负载过高的情况,为了避免这种情况,先将任务过重的客户端中的一部分任务均匀地分配到任务过少的客户端中,该任务过少的客户端再根据负载均衡策略调用服务器。
在一发明实施例中,所述第二阈值可选择为第一阈值的一半。
S104,将所述封装信息发送至所述服务器。
服务器接收到封装信息之后,对封装信息进行处理,获得封装信息中的ID 信息和任务信息,对任务进行处理,以及核实该ID是否与该服务器的当前ID 一致。
S105,若接收到所述服务器反馈的所述封装信息中的ID与该服务器的当前ID不一致的反馈信息,将已保存在所述客户端的所述服务器的ID更新为所述当前ID。
服务器接收到封装信息之后,对封装信息进行处理,获得封装信息中的ID 信息和任务信息,然后核实该ID是否与该服务器的当前ID一致。正常情况下,该ID与该服务器的当前ID应当是一致,但如果在服务器在接收到分装信息之后该服务器收到攻击,或由于其他原因的影响而导致如果其ID地址被篡改,那么会导致拦截器中保存的服务器的ID信息错误。在客户端下一次需要调用服务器处理任务的时间点至下一次开始获取服务器的ID以及负载情况的时间点的这一段时间内,如果服务器的ID发生改变,此时客户端不及时更新其保存的服务器的ID,那么在此期间内调用服务器处理任务时,由于客户端保存的ID已经失效,该服务器虽然正常但也不可用。为了防止出现这种情况,一旦服务器检测到这两个ID不一致,服务器将这个结果反馈给客户端的拦截器,客户端的拦截器接收到反馈信息后更新之前已保存的该服务器的ID为所述当前ID,以实现提高服务器调用准确率的目的。
本发明实施例提供的提高服务器调用准确率的方法,根据服务器的负载情况选择用于处理客户端的任务的服务器,实现服务器的负载均衡,同时,如果在服务器处理任务的期间,服务器的ID被篡改,而在客户端还未到达下一周期更新其记录的服务器的ID信息和负载情况的时候,能够有效地避免客户端记录的服务器的ID信息与服务器当前ID信息不一致而导致下一次调用该服务器出错的情况。
在另一发明实施例中,如图4所示,该提高服务器调用准确率的方法在步骤S104之后还包括步骤S106:若接收到所述服务器发生处理故障的信息,根据剩余的服务器的负载情况选择另一用于处理所述任务的服务器,并返回步骤 S103。
服务器接收到封装信息之后,需要对封装信息中的任务进行处理,如果服务器本身故障或在处理任务的过程发生故障,则需要及时通知客户端,客户端根据负载均衡策略在其他服务器中重新选择另一负载状况较佳的服务器处理该任务,并按照后续相同的步骤加工该任务,以便服务器可以及时处理该客户端的任务。
图5为本发明实施例提供的一种提高服务器调用准确率的装置100的示意性框图。该提高服务器调用准确率的装置100包括获取单元101、接收单元102、第一选择单元103、封装单元104、发送单元105和更新单元106。
获取单元101用于每隔预设时间获取并保存服务器的ID以及所述服务器的负载情况,所述服务器为多个。
接收单元102用于接收来自用户请求的任务;
若接收单元102接收到任务,第一选择单元103根据多个所述服务器的负载情况选择一用于处理所述任务的服务器。
封装单元104用于将已保存的所述服务器的ID与所述任务进行封装得到封装信息。
发送单元105用于将所述封装信息发送至所述服务器。
更新单元106用于若接收到所述服务器反馈的所述封装信息中的ID与该服务器的当前ID不一致的反馈信息,将已保存在所述客户端的所述服务器的ID 更新为所述当前ID。
在本发明实施例中,如图6所示,所述封装单元104包括第一封装子单元 1041和第二封装子单元1042。
第一封装子单元1041用于若所述接收单元102接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息。
第二封装子单元1042用于若所述接收单元102接收到的任务的数量小于第一预置阈值,则将所有任务与所述服务器的ID进行封装得到封装信息。
在其他发明实施例中,多个提高服务器调用准确率的装置100可形成一个提高服务器调用准确率的系统,不同的提高服务器调用准确率的装置100之间可实现通信。
在该其他发明实施例中,如图7所示,所述第一选择单元103包括:
排序子单元1031,用于根据多个所述服务器的负载情况将多个所述服务器进行优先调用等级排序。
选择子单元1032,用于根据各个提高服务器调用准确率的装置100接收到的任务的数量情况选择优先调用等级与该提高服务器调用准确率的装置100相匹配的服务器。
在该其他发明实施例中,如图8所示,所述提高服务器调用准确率的系统中的每个提高服务器调用准确率的装置100还包括转分单元107,转分单元107 用于:若所述接收单元102接收到的任务的数量大于或等于第一阈值,将除预设数量任务外的其他任务平均地转分至任务数量小于或等于第二阈值的提高服务器调用准确率的装置100。
在另一发明实施例中,如图9所示,所述提高服务器调用准确率的装置100 还包括第二选择单元108,第二选择单元108用于:若接收到所述服务器发生处理故障的信息,根据剩余的服务器的负载情况选择另一用于处理所述任务的服务器。
上述提高服务器调用准确率的装置100的作用以及各个单元的具体描述,本发明实施例未详尽之处可参考上述方法实施例,此处不做赘述。上述提高服务器调用准确率的装置100可以实现为一种计算机程序的形式,计算机程序可以在如图10所示的客户端上运行。
图10为本发明实施例提供的一种客户端200的结构示意性框图。该客户端 200,可以是智能手机、平板电脑、笔记本电脑和台式电脑等具有通信功能的电子设备。
该客户端200,包括通过系统总线201连接的处理器202、存储器和网络接口205,其中,存储器可以包括非易失性存储介质203和内存储器204。
该客户端200的非易失性存储介质203可存储操作系统2031和计算机程序 2032,该计算机程序2032被执行时,可使得处理器202执行一种提高服务器调用准确率的方法。该内存储器204为非易失性存储介质203中的计算机程序 2032的运行提供环境。该客户端200的处理器202用于提供计算和控制能力,支撑整个客户端200的运行。客户端200的网络接口205用于进行网络通信,如发送分配的任务、接收数据等。
处理器202运行非易失性存储介质203中的计算机程序2032时,处理器 202执行以下步骤:每隔预设时间获取并保存服务器的ID以及所述服务器的负载情况,所述服务器为多个;若接收到任务,根据多个所述服务器的负载情况选择一用于处理所述任务的服务器;将已保存的所述服务器的ID与所述任务进行封装得到封装信息;将所述封装信息发送至所述服务器;若接收到所述服务器反馈的所述封装信息中的ID与该服务器的当前ID不一致的反馈信息,将已保存在所述客户端200的所述服务器的ID更新为所述当前ID。
在一实施例中,处理器202在执行将所述封装信息发送至所述服务器的步骤之后,还执行以下步骤:若接收到所述服务器发生处理故障的信息,根据剩余的服务器的负载情况选择另一用于处理所述任务的服务器。
在一实施例中,处理器202在执行所述将已保存的所述服务器的ID与所述任务进行封装得到封装信息的步骤中,具体执行:若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息;若接收到的任务的数量小于第一阈值,则将所有任务与所述服务器的ID进行封装得到封装信息。
在一实施例中,多个所述客户端200可形成一个提高服务器调用准确率的系统,不同的客户端200之间可实现通信。在该实施例中,一客户端200的处理器202在执行所述若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息的步骤之后,还执行以下步骤:将除预设数量任务外的其他任务平均地转分至任务数量小于或等于第二阈值的客户端200。
在一实施例中,所述客户端200为多个,处理器202在执行所述根据多个所述服务器的负载情况选择一用于处理所述任务的服务器的步骤中,具体执行:根据多个所述服务器的负载情况将多个所述服务器进行优先调用等级排序;根据每个客户端200接收到的任务的数量情况选择优先调用等级与所述客户端 200相匹配的服务器。
本领域技术人员可以理解,图10中示出的客户端的实施例并不构成对客户端具体构成的限定,在其他实施例中,客户端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,客户端可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
本发明还提供一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,可实现一种提高服务器调用准确率的方法,包括以下步骤:每隔预设时间获取并保存服务器的ID以及所述服务器的负载情况,所述服务器为多个;若接收到任务,根据多个所述服务器的负载情况选择一用于处理所述任务的服务器;将已保存的所述服务器的ID与所述任务进行封装得到封装信息;将所述封装信息发送至所述服务器;若接收到所述服务器反馈的所述封装信息中的ID与该服务器的当前ID不一致的反馈信息,将已保存的所述服务器的ID为所述当前ID。
在一实施例中,在实现将所述封装信息发送至所述服务器的步骤之后,还实现以下步骤:若接收到所述服务器发生处理故障的信息,根据剩余的服务器的负载情况选择另一用于处理所述任务的服务器。
在一实施例中,在实现所述将已保存的所述服务器的ID与所述任务进行封装得到封装信息的步骤中,具体实现:若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息;若接收到的任务的数量小于第一阈值,则将所有任务与所述服务器的ID进行封装得到封装信息。
在一实施例中,所述存储介质中的计算机程序应用于多个客户端,在实现所述根据多个所述服务器的负载情况选择一用于处理所述任务的服务器的步骤中,具体实现:根据多个所述服务器的负载情况将多个所述服务器进行优先调用等级排序;根据每个客户端接收到的任务的数量情况选择优先调用等级与所述客户端相匹配的服务器。
在一实施例中,所述存储介质中的计算机程序可应用于多个客户端,在实现所述将预设数量的任务与所述服务器的ID进行封装得到封装信息的步骤之后,还实现以下步骤:将除预设数量任务外的其他任务平均地转分至任务数量小于或等于第二阈值的客户端。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD) 卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得作为客户端的计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种提高服务器调用准确率的方法,应用于客户端中,其特征在于,包括:
每隔预设时间获取并保存服务器的ID 以及所述服务器的负载情况,所述服务器为多个;
若接收到任务,根据多个所述服务器的负载情况选择一用于处理所述任务的服务器;
将已保存的所述服务器的ID 与所述任务进行封装得到封装信息;
将所述封装信息发送至所述服务器;
若接收到所述服务器反馈的所述封装信息中的ID 与该服务器的当前ID 不一致的反馈信息,将已保存在所述客户端的所述服务器的 ID 更新为所述当前ID,所述反馈信息为所述服务器接收到所述封装信息后,所述服务器的 ID 被篡改成所述当前ID,确定所述封装信息中的 ID 与所述当前ID 不一致时生成的信息;
其中,所述若接收到所述服务器反馈的所述封装信息中的ID 与该服务器的当前ID 不一致的反馈信息,将已保存在所述客户端的所述服务器的 ID 更新为所述当前ID,包括:
在客户端下一次需要调用服务器处理任务的时间点至下一次开始获取服务器的ID以及负载情况的时间点的这一段时间内,服务器将反馈信息反馈给客户端的拦截器,客户端的拦截器接收到反馈信息后更新之前已保存的该服务器的ID为所述当前ID。
2.根据权利要求 1 所述的提高服务器调用准确率的方法,其特征在于,所述将所述封装信息发送至所述服务器之后,还包括:
若接收到所述服务器发生处理故障的信息,根据剩余的服务器的负载情况选择另一用于处理所述任务的服务器。
3.根据权利要求 1 所述的提高服务器调用准确率的方法,其特征在于,所述将已保存的所述服务器的ID 与所述任务进行封装得到封装信息,包括:
若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息;
若接收到的任务的数量小于第一阈值,将所有任务与所述服务器的 ID 进行封装得到封装信息。
4.根据权利要求 3 所述的提高服务器调用准确率的方法,其特征在于,所述客户端为多个;
若接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID进行封装得到封装信息之后,还包括:
将除预设数量任务外的其他任务平均地转分至任务数量小于或等于第二阈值的客户端。
5.根据权利要求 1 所述的提高服务器调用准确率的方法,其特征在于,所述客户端为多个;所述根据多个所述服务器的负载情况选择一用于处理所述任务的服务器,包括:
根据多个所述服务器的负载情况将多个所述服务器进行优先调用等级排序;
根据每个客户端各自接收到的任务的数量情况选择优先调用等级相匹配的服务器。
6.一种提高服务器调用准确率的装置,其特征在于,包括:
获取单元,用于每隔预设时间获取并保存服务器的 ID 以及所述服务器的负载情况,所述服务器为多个;
接收单元,用于接收来自用户请求的任务;
第一选择单元,用于若接收单元接收到任务,该第一选择单元根据多个所述服务器的负载情况选择一用于处理所述任务的服务器;
封装单元,用于将已保存的所述服务器的 ID 与所述任务进行封装得到封装信息;
发送单元,用于将所述封装信息发送至所述服务器;
更新单元,用于若接收到所述服务器反馈的所述封装信息中的 ID 与该服务器的当前ID 不一致的反馈信息,将已保存在客户端的所述服务器的ID 更新为所述当前ID,所述反馈信息为所述服务器接收到所述封装信息后,所述服务器的ID 被篡改成所述当前ID,确定所述封装信息中的ID 与所述当前ID 不一致时生成的信息;
其中,所述更新单元用于:
在客户端下一次需要调用服务器处理任务的时间点至下一次开始获取服务器的ID以及负载情况的时间点的这一段时间内,服务器将反馈信息反馈给客户端的拦截器,客户端的拦截器接收到反馈信息后更新之前已保存的该服务器的ID为所述当前ID。
7.根据权利要求 6 所述的提高服务器调用准确率的装置,其特征在于, 所述封装单元包括:
第一封装子单元,用于若所述接收单元接收到的任务的数量大于或等于第一阈值,将预设数量的任务与所述服务器的ID 进行封装得到封装信息;
第二封装子单元,用于若所述接收单元接收到的任务的数量小于第一预置阈值,则将所有任务与所述服务器的ID 进行封装得到封装信息。
8.一种客户端,其特征在于,包括存储器,以及与所述存储器相连的处理器;所述存储器用于存储实现提高服务器调用准确率的方法的计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1 至5 任一项所述的方法。
9.一种提高服务器调用准确率的系统,其特征在于,包括至少两个客户端, 每个所述客户端包括存储器以及与所述存储器相连的处理器,所述存储器用于存储实现提高服务器调用准确率的方法的计算机程序,两个所述客户端的处理器运行相应的存储器中存储的计算机程序共同实现如权利要求 1至 5 中任一项所述的提高服务器调用准确率的方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个以上计算机程序,所述一个以上计算机程序可被一个以上的处理器执行,以实现如权利要求 1 至 5 任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810507460.1A CN108833492B (zh) | 2018-05-24 | 2018-05-24 | 提高服务器调用准确率的方法、装置、客户端和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810507460.1A CN108833492B (zh) | 2018-05-24 | 2018-05-24 | 提高服务器调用准确率的方法、装置、客户端和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833492A CN108833492A (zh) | 2018-11-16 |
CN108833492B true CN108833492B (zh) | 2022-05-27 |
Family
ID=64148521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810507460.1A Active CN108833492B (zh) | 2018-05-24 | 2018-05-24 | 提高服务器调用准确率的方法、装置、客户端和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833492B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530269A (zh) * | 2014-09-28 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 数据交互方法和系统以及服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4677813B2 (ja) * | 2005-03-31 | 2011-04-27 | 株式会社日立製作所 | サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム |
CN104735098B (zh) * | 2013-12-18 | 2018-05-08 | 青岛海尔空调器有限总公司 | 会话信息的控制方法和控制系统 |
US10404791B2 (en) * | 2015-12-04 | 2019-09-03 | Microsoft Technology Licensing, Llc | State-aware load balancing of application servers |
CN105871588A (zh) * | 2015-12-11 | 2016-08-17 | 乐视云计算有限公司 | 负载均衡配置方法、设备及系统 |
CN107800756A (zh) * | 2017-03-13 | 2018-03-13 | 平安科技(深圳)有限公司 | 一种负载均衡方法及负载均衡器 |
-
2018
- 2018-05-24 CN CN201810507460.1A patent/CN108833492B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530269A (zh) * | 2014-09-28 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 数据交互方法和系统以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108833492A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10402231B2 (en) | Adjusting variable limit on concurrent code executions | |
JP6522128B2 (ja) | リソースサイジングの自動管理システム、方法及び非一時的コンピュータ可読記憶媒体 | |
CN109478134B (zh) | 用跨账户别名执行按需网络代码 | |
CN107800768B (zh) | 开放平台控制方法和系统 | |
US20180004556A1 (en) | Adjusting variable limit on concurrent code executions based on communication between frontends | |
EP3782030A1 (en) | System for managing deployment of distributed computing resources | |
JP5000456B2 (ja) | 資源管理システム、資源管理装置およびその方法 | |
CN110224860B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN110149409B (zh) | 云主机元数据服务管理方法、系统、设备及存储介质 | |
CN111490963B (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
US8966086B2 (en) | License redistributing method, moderator and license controlling system thereof | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN110995617B (zh) | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 | |
WO2013169422A1 (en) | Communications management | |
WO2021051881A1 (zh) | Vpp 集群管理方法及装置、计算机设备及存储介质 | |
CN110855746A (zh) | 中间件管理方法、电子装置及存储介质 | |
CN114281263A (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN115426361A (zh) | 分布式客户端打包方法、装置、主服务器及存储介质 | |
KR20100120093A (ko) | 전화 호출 관리 방법 및 호출 관리 시스템 | |
CN108833492B (zh) | 提高服务器调用准确率的方法、装置、客户端和系统 | |
CN111416888A (zh) | 一种基于服务网关的寻址方法及装置 | |
CN114124737B (zh) | 一种控制用户设备接入网络的方法及装置 | |
CN114710483A (zh) | 一种基于多云对象存储的统一传输方法及系统 | |
CN111124445B (zh) | 一种家庭网关的升级方法及家庭网关 | |
CN113535402A (zh) | 基于5g mec的负载均衡处理方法、装置及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |