查询请求的分配方法及系统与流程

文档序号:17079280发布日期:2019-03-09 00:03阅读:177来源:国知局
查询请求的分配方法及系统与流程

本发明属于通信技术领域,尤其涉及一种查询请求的分配方法及系统。



背景技术:

在分布式的查询系统中,各个对查询请求进行处理的服务器的处理能力是有限的,如果查询请求过多,超出了该服务器的处理能力,则有可能出现数据阻塞以及查询请求被退回的情况,从而影响整个系统的正常运行以及处理效率。

为了更好的对各个服务器的资源进行合理利用,现有的负载均衡技术往往是基于预设固定的服务器查询顺序对查询请求进行分配,即使在遇到处理服务器忙的情况,也是将相应的请求转发到预先确定好的备份服务器中。但是现有的负载均衡技术对于资源的配置过程较为僵化,由于未考虑到系统运行的实际情况,因此整个资源的分配过程并不是最优的,仍然在查询业务中存在请求分配不合理的情况,导致了系统处理效率较低。



技术实现要素:

有鉴于此,本发明实施例提供了一种查询请求的分配方法及系统,以解决现有技术存在查询业务中存在由于请求分配不合理导致的系统处理效率较低的问题。

本发明实施例的第一方面提供了一种查询请求的分配方法,包括:

终端设备根据用户输入的查询请求确定目标ip地址,将所述查询请求发送至所述目标ip地址对应的分配服务器;

所述分配服务器通过预设的负载均衡算法,从预设的处理服务器集合中选定目标处理服务器,所述处理服务器集合中的处理服务器用于在对所述查询请求进行分析后,得到用户查询的数据;

若所述目标处理服务器未超载,则所述分配服务器将所述查询请求发送至所述目标处理服务器;

若所述目标处理服务器超载,则所述分配服务器从所述处理服务器集合中选择一个以上的备份处理服务器,并将所述查询请求任意发送至其中一个所述备份处理服务器,所述备份处理服务器为除所述目标处理服务器之外的处理服务器。

本发明实施例的第二方面提供了一种查询请求的分配系统,包括终端设备、分配服务器以及处理服务器;

所述终端设备,用于根据用户输入的查询请求确定目标ip地址,将所述查询请求发送至所述目标ip地址对应的分配服务器;

所述分配服务器,用于通过预设的负载均衡算法,从预设的处理服务器集合中选定目标处理服务器,所述处理服务器集合中的处理服务器,所述处理服务器用于在对所述查询请求进行分析后,得到用户查询的数据;

若所述目标处理服务器未超载,则所述分配服务器将所述查询请求发送至所述目标处理服务器;

若所述目标处理服务器超载,则所述分配服务器从所述处理服务器集合中选择一个以上的备份处理服务器,并将所述查询请求任意发送至其中一个所述备份处理服务器,所述备份处理服务器为除所述目标处理服务器之外的处理服务器。

在本发明实施例中,通过终端设备根据用户输入的查询请求确定目标ip地址,并将查询请求发送至目标ip地址对应的分配服务器;分配服务器通过预设的负载均衡算法,从多个处理服务器中选定目标处理服务器,如果目标处理服务器未超载,则通过分配服务器将查询请求发送至目标处理服务器,以对查询请求进行分析,如果目标处理服务器超载,则将查询请求发送至目标处理服务器之外的一个处理服务器,以提高在分配查询请求过程中的合理性,更加有效利用各个处理服务器的计算资源。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的查询请求的分配方法的实现流程图;

图2是本发明实施例提供的查询请求的分配方法s101的具体实现流程图;

图3是本发明实施例提供的查询请求的分配方法s102的具体实现流程图;

图4是本发明实施例提供的查询请求的分配系统的系统交互图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的查询请求的分配方法的实现流程,该方法流程包括步骤s101至s105。各步骤的具体实现原理如下。

s101:终端设备根据用户输入的查询请求确定目标ip地址,将所述查询请求发送至所述目标ip地址对应的分配服务器。

在本发明实施例中,查询请求在分配过程中会经过三端进行处理,这三端分别为:终端设备、分配服务器以及处理服务器。其中,终端设备用于接收用户输入的查询请求,并确定合适的分配服务器;分配服务器用于根据各个处理服务器的运行情况,将查询请求分配至各个处理服务器;处理服务器用于对查询请求进行计算分析,生成用户希望查询到的各类数据。

在本发明实施例中,存在多个分配服务器,所以本发明实施例的第一个步骤就是通过查询请求确定一个适当的分配服务器,从而在后续的步骤中,有利于快速准确的对查询请求进行分配。

作为本发明的一个实施例,如图2所示,上述s101包括:

s1011,提取所述查询请求中包含的查询内容,并对所述查询内容通过预设的脚本组件进行分词处理,得到一个以上的查询词。

在本发明实施例中,查询内容可以是一个词语也可以是由多个词语组成的句子,为了更准确的分析查询内容的特征,需要对查询内容进行分词处理。

通过jieba分词包对查询内容进行分词处理,得到一个以上的查询词。

s1012,调取预设的多个ip地址,并根据预设的ip地址与词语集合的对应关系,将各个ip地址对应的词语集合中包含所述查询词的数量,作为各个所述ip地址对应的搜索数量。

在本发明实施例中,可以对查询请求进行分配的分配服务器有多个,每一个分配服务器都对应一个ip地址,每一个ip地址都对应一个词语集合。ip地址对应的词语集合为工程师预先设定的,用于体现各个ip地址对应的分配服务器擅长计算和分配哪一类查询请求。所以通过计算各个ip地址对应的词语集合中包含查询词的数量,可以反映出哪个ip地址对应的分配服务器更适合对查询请求进行分配。一个ip地址对应的词语集合中包含的查询词的数量越高,证明该ip地址对应的分配服务器与查询请求的相关度越大,越适合对查询请求进行分配。

s1013,若各个所述ip地址对应的搜索数量中只有一个搜索数量的最大值,则将所述搜索数量的最大值对应的ip地址作为目标ip地址。

在这种情况发生时,只有一个唯一的与查询请求的相关度最大的ip地址,所以把该ip地址作为目标ip地址。

s1014,若各个所述ip地址对应的搜索数量中有多个搜索数量的最大值,则将所述搜索数量的最大值对应的ip地址作为候选ip地址。

在这种情况发生时,有多个与查询请求的相关度并列最大的ip地址,所以还需要进一步的筛选过程,才能从这些与查询请求的相关度并列最大的ip地址确定出目标ip地址。

s1015,计算所述终端设备与各个所述候选ip地址之间的路由节点数量,任意选择一个最小的路由节点数量对应的ip地址作为目标ip地址。

通过traceroute命令即可控制终端设备计算出终端设备与候选ip地址之间的路由节点数量。

在本发明实施例中,通过对分配服务器的ip地址以及ip地址对应的词语集合的分析,可以为查询请求指定一个适当的分配服务器,从而更加快速、准确地实现对于查询请求的分配。

s102:所述分配服务器通过预设的负载均衡算法,从预设的处理服务器集合中选定目标处理服务器,所述处理服务器集合中的处理服务器用于在对所述查询请求进行分析后,得到用户查询的数据。

在本发明实施例中,当分配服务器接收到查询请求后,会根据处理服务器集合中各个处理服务器的负载情况,对查询请求进行动态分配。

作为本发明的一个实施例,如图3所示,上述s102包括:

s1021,统计所述分配服务器在预设时间段内,接收到的各个所述处理服务器退回的查询请求的数量,作为各个所述处理服务器对应的退回数值。

值得注意地,当预设的处理服务器集合中的一个处理服务器针对一个查询请求出现处理异常的时候,就会将所述查询请求退回给分配服务器。在一般情况下,一个处理服务器超载时,出现退回查询请求的概率较高。但是,一个处理服务器未超载时,也可能出现退回查询请求的情况,一个处理服务器超载,也并不意味着一定会将查询请求退回,只是会将后接收到的查询请求存放于等候队列或缓存区,在时隔一段时间后再对该查询请求进行处理。

s1022,调取所述处理服务器集合中各个处理服务器对应的容量值,并根据所述处理服务器对应的所述容量值以及所述退回数值,计算各个所述处理服务器对应的最佳转发比例,所述容量值表示所述处理服务器对于查询请求在同一时刻的最大处理极限,所述最佳转发比例用于表示所述分配服务器理论上应将查询请求分配至各个处理服务器的最佳比例。

在本发明实施例中,处理服务器的容量值表示该处理服务器在同一个时刻可以处理的查询请求的最大值,当一个处理服务器接收到的查询请求超出该容量值时,可能导致两类问题,第一,由于新接收到的查询请求需要暂存于等候队列或者缓存区,所以影响新接收到的查询请求的处理速度;第二,处理服务器在超载情况下会出现处理异常增多的情况,这可能导致对新接收到的查询请求的处理异常,从而退回该查询请求至分配服务器的现象。

基于上述问题,所以本发明实施例提出了一种负载均衡算法,并根据该负载均衡算法将查询请求合理分配至各个处理服务器。在本负载均衡算法中,需要首先计算出最佳转发比例,所述最佳转发比例用于表示所述分配服务器理论上应将查询请求分配至各个处理服务器的最佳比例。

所述根据所述处理服务器对应的所述容量值以及所述退回数值,计算各个所述处理服务器对应的最佳转发比例,包括:

通过公式:计算理论转发参数,所述k(i)表示处理服务器i对应的理论转发参数,所述z(i)表示处理服务器i对应的所述容量值,所述dev(i)表示处理服务器i对应的所述退回数值。

通过上述公式,可以根据一个处理服务器的退回数值的三种情况,分别选定对应的赋值子公式。总体而言,一个处理服务器的退回数值与其对应的理论转发参数成负相关关系。

计算所述处理服务器集合中全部处理服务器对应的所述转发参数之和,作为参数总和,并计算所述处理服务器对应的转发参数与所述参数总和的比值,作为所述处理服务器对应的所述最佳转发比例。

s1023,计算在所述预设时间段内,所述处理服务器集合中各个处理服务器对应的实际接收比例;所述实际接收比例表示在所述预设时间段内,所述处理服务器接收到的查询请求的数量与所述分配服务器发送的查询请求的总量的比值。

示例性地,假设分配服务器在预设时间段内发送的查询请求的总量为10000,而处理服务器a接收到的查询请求数量为200,则处理服务器a的实际接收比例为2%。

s1024,计算各个所述处理服务器对应的所述最佳转发比例减去所述实际接收比例的差值,作为各个所述处理服务器对应的误差比例。

示例性地,假设处理服务器a的最佳转发比例为3%,处理服务器b的最佳转发比例为5%,处理服务器c的最佳转发比例为10%。此外,处理服务器a的实际接收比例为4%,处理服务器b的实际接收比例为2%,处理服务器c的实际接收比例为9%,则通过计算各个处理服务器对应的最佳转发比例减去所述实际接收比例的差值,作为各个处理服务器对应的误差比例,可以得到处理服务器a的误差比例为-1%,处理服务器b的误差比例为3%,处理服务器c的误差比例为1%。

s1025,任意选择一个最大的误差比例对应的所述处理服务器,作为所述目标处理服务器。

示例性地,假设处理服务器a的误差比例为-1%,处理服务器b的误差比例为3%,处理服务器c的误差比例为1%,则由于处理服务器b的误差比例最大,所以将处理服务器b作为目标处理服务器。

s103,判断所述目标服务器是否超载。

如上文所述,虽然一个处理服务器超载时,出现退回查询请求的概率较高。但是,一个处理服务器未超载时,也可能出现退回查询请求的情况,一个处理服务器超载,也并不意味着一定会将查询请求退回。所以还需要进一步地判断目标处理服务器是否超载。

所述分配服务器向所述目标处理服务器发送询问报文;所述目标处理服务器在接收到所述询问报文后,向所述分配服务器返回答复报文,所述答复报文中包含超载标识或未超载标识;所述分配服务器根据所述答复报文,判断所述目标处理服务器是否超载。

s104,若所述目标处理服务器未超载,则所述分配服务器将所述查询请求发送至所述目标处理服务器。

s105,若所述目标处理服务器超载,则所述分配服务器从所述处理服务器集合中选择一个以上的备份处理服务器,并将所述查询请求任意发送至其中一个所述备份处理服务器,所述备份处理服务器为除所述目标处理服务器之外的处理服务器。

将所述处理服务器集合中除所述目标处理服务器之外的,所述退回数值为预设数值的处理服务器作为候选处理服务器,并向各个所述候选处理服务器发送询问报文;根据所述候选处理服务器返回的答复报文中包含的超载标识或未超载标识,判断各个所述候选处理服务器是否超载;将未超载的所述候选处理服务器选定为备份处理服务器。

在本发明实施例中,通过终端设备根据用户输入的查询请求确定目标ip地址,并将查询请求发送至目标ip地址对应的分配服务器;分配服务器通过预设的负载均衡算法,从多个处理服务器中选定目标处理服务器,如果目标处理服务器未超载,则通过分配服务器将查询请求发送至目标处理服务器,以对查询请求进行分析,如果目标处理服务器超载,则将查询请求发送至目标处理服务器之外的一个处理服务器,以提高在分配查询请求过程中的合理性,更加有效利用各个处理服务器的计算资源。

对应于上文实施例所述的查询请求的分配方法,图4示出了本发明实施例提供的查询请求的分配系统的系统交互图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图4,该查询请求的分配系统包括:终端设备401、分配服务器402以及处理服务器403,

终端设备,用于根据用户输入的查询请求确定目标ip地址,将所述查询请求发送至所述目标ip地址对应的分配服务器;

所述分配服务器,用于通过预设的负载均衡算法,从预设的处理服务器集合中选定目标处理服务器,所述处理服务器集合中的处理服务器用于在对所述查询请求进行分析后,得到用户查询的数据;

若所述目标处理服务器未超载,则所述分配服务器将所述查询请求发送至所述目标处理服务器;

若所述目标处理服务器超载,则所述分配服务器从所述处理服务器集合中选择一个以上的备份处理服务器,并将所述查询请求任意发送至其中一个所述备份处理服务器,所述备份处理服务器为除所述目标处理服务器之外的处理服务器。

所述根据所述查询请求确定目标ip地址,包括:

提取所述查询请求中包含的查询内容,并对所述查询内容通过预设的脚本组件进行分词处理,得到一个以上的查询词;

调取预设的多个ip地址,并根据预设的ip地址与词语集合的对应关系,将各个ip地址对应的词语集合中包含所述查询词的数量,作为各个所述ip地址对应的搜索数量;

若各个所述ip地址对应的搜索数量中只有一个搜索数量的最大值,则将所述搜索数量的最大值对应的ip地址作为目标ip地址;

若各个所述ip地址对应的搜索数量中有多个搜索数量的最大值,则将所述搜索数量的最大值对应的ip地址作为候选ip地址;

计算所述终端设备与各个所述候选ip地址之间的路由节点数量,任意选择一个最小的路由节点数量对应的ip地址作为目标ip地址。

所述通过预设的负载均衡算法,从预设的处理服务器集合中选定目标处理服务器,包括:

统计所述分配服务器在预设时间段内,接收到的各个所述处理服务器退回的查询请求的数量,作为各个所述处理服务器对应的退回数值;

调取所述处理服务器集合中各个处理服务器对应的容量值,并根据所述处理服务器对应的所述容量值以及所述退回数值,计算各个所述处理服务器对应的最佳转发比例,所述容量值表示所述处理服务器对于查询请求在同一时刻的最大处理极限,所述最佳转发比例用于表示所述分配服务器理论上应将查询请求分配至各个处理服务器的最佳比例;

计算在所述预设时间段内,所述处理服务器集合中各个处理服务器对应的实际接收比例;所述实际接收比例表示在所述预设时间段内,所述处理服务器接收到的查询请求的数量与所述分配服务器发送的查询请求的总量的比值;

计算各个所述处理服务器对应的所述最佳转发比例减去所述实际接收比例的差值,作为各个所述处理服务器对应的误差比例;

任意选择一个最大的误差比例对应的所述处理服务器,作为所述目标处理服务器。

所述根据所述处理服务器对应的所述容量值以及所述退回数值,计算各个所述处理服务器对应的最佳转发比例,包括:

通过公式:计算理论转发参数,所述k(i)表示处理服务器i对应的理论转发参数,所述z(i)表示处理服务器i对应的所述容量值,所述dev(i)表示处理服务器i对应的所述退回数值;

计算所述处理服务器集合中全部处理服务器对应的所述转发参数之和,作为参数总和,并计算所述处理服务器对应的转发参数与所述参数总和的比值,作为所述处理服务器对应的所述最佳转发比例。

在所述从预设的处理服务器集合中选定目标处理服务器之后,还包括:

所述分配服务器向所述目标处理服务器发送询问报文;

所述目标处理服务器在接收到所述询问报文后,向所述分配服务器返回答复报文,所述答复报文中包含超载标识或未超载标识;

所述分配服务器根据所述答复报文,判断所述目标处理服务器是否超载。

所述从所述处理服务器集合中选择备份处理服务器,包括:

将所述处理服务器集合中除所述目标处理服务器之外的,所述退回数值为预设数值的处理服务器作为候选处理服务器,并向各个所述候选处理服务器发送询问报文;

根据所述候选处理服务器返回的答复报文中包含的超载标识或未超载标识,判断各个所述候选处理服务器是否超载;

将未超载的所述候选处理服务器选定为备份处理服务器。

在本发明实施例中,通过获取待分配保单的保单信息以及各个保险单位的放款阈值;计算各个保险单位在预设时间段内的累计放款量与放款阈值的比值,作为放款比例;将放款比例小于预设比例阈值的保险单位归入第一受理组,反之,则将保险单位归入第二受理组;根据保单信息,确定待分配保单的保单类别;若第一受理组内不存在处理过待分配保单的保单类别的保险单位,则将第二受理组内处理过待分配保单的保单类别的保险单位作为候选单位,并将待分配保单分配至候选单位中放款比例最低的一个保险单位,以提高保单分配的合理程度和自动化程度。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1