消息汇总方法、装置、存储介质及设备与流程

文档序号:26050786发布日期:2021-07-27 15:25阅读:88来源:国知局
消息汇总方法、装置、存储介质及设备与流程

本申请实施例涉及数据处理技术领域,特别涉及一种消息汇总方法、装置、存储介质及设备。



背景技术:

查询系统可以外接多个查询服务器,从而为用户提供查询服务。

相关技术中,查询系统将获取到的查询请求转发给各个查询服务器,接收各个查询服务器发送的反馈信息,查询系统中的统计线程对反馈的查询服务器进行统计,在确定所有查询服务器都已经反馈后,对所有反馈信息进行汇总,得到查询结果。

查询系统中需要创建专门的统计线程来统计反馈的查询服务器,且运行统计线程需要消耗资源,从而导致消息汇总的资源消耗较多。



技术实现要素:

本申请实施例提供了一种消息汇总方法、装置、存储介质及设备,用于解决创建专门的统计线程来统计反馈的查询服务器时,导致消息汇总的资源消耗较多的问题。所述技术方案如下:

一方面,提供了一种消息汇总方法,所述方法包括:

将获取到的查询请求转发给各个查询服务器;

在数据库中插入所述查询请求的标记信息,所述标记信息用于记录各个查询服务器的反馈情况;

接收各个查询服务器发送的反馈信息,根据所述反馈信息对所述标记信息进行修改;

在修改后的所述标记信息满足预设条件时,对所述反馈信息进行汇总,得到查询结果。

在一种可能的实现方式中,所述将获取到的查询请求转发给各个查询服务器,包括:

将获取到的所述查询请求转换成查询组,所述查询组中包含至少一条查询信息,且每条查询信息对应于一个查询服务器;

将所述查询组批量插入到消息队列中;

通过所述消息队列将每条查询信息转发给对应的查询服务器。

在一种可能的实现方式中,所述在数据库中插入所述查询请求的标记信息,包括:

对所述查询请求对应的查询组分配组标识;

在所述数据库中插入包含所述组标识、所述查询组中所包含的查询信息的总数量、查询成功数量和查询失败数量的标记信息。

在一种可能的实现方式中,所述根据所述反馈信息对所述标记信息进行修改,包括:

若所述反馈信息用于指示查询成功,则增大所述查询成功数量;

若所述反馈信息用于指示查询失败,则增大所述查询失败数量。

在一种可能的实现方式中,所述将获取到的所述查询请求转换成查询组,包括:

获取当前提供查询服务的各个查询服务器的查询地址;

分别将每个查询地址与所述查询请求封装成一条查询信息,得到所述查询组。

在一种可能的实现方式中,在所述根据所述反馈信息对所述标记信息进行修改之后,所述方法还包括:

若所述查询成功数量和所述查询失败数量之和等于所述总数量,且查询时长未达到预设的时长阈值,则确定修改后的所述标记信息满足所述预设条件。

在一种可能的实现方式中,在所述根据所述反馈信息对所述标记信息进行修改之后,所述方法还包括:

若在查询时长达到预设的时长阈值时,所述查询成功数量和所述查询失败数量之和与所述总数量的比值达到预设的比例阈值,则确定修改后的所述标记信息满足所述预设条件。

在一种可能的实现方式中,在所述根据所述反馈信息对所述标记信息进行修改之后,所述方法还包括:

获取每个查询服务器的第一权重;

若在查询时长达到预设的时长阈值时,已发送所述反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的所述标记信息满足所述预设条件。

在一种可能的实现方式中,所述方法还包括:

获取发送所述查询请求的客户端的第二权重;

从多个时长阈值中选择与所述第二权重对应的时长阈值;

其中,所述第二权重的大小与所述时长阈值的大小呈负相关关系。

在一种可能的实现方式中,所述方法还包括:

在查询时长达到超时时长时,确定修改后的所述标记信息满足所述预设条件。

在一种可能的实现方式中,所述通过所述消息队列将每条查询信息转发给对应的查询服务器,包括:

通过订阅了所述消息队列的主题的转发端,将所述查询信息转发给对应的查询服务器。

在一种可能的实现方式中,所述方法还包括:

在将所述查询组批量插入到各个消息队列之前,获取每个消息队列中的剩余查询信息数量;

根据预设的均衡分配原则和所述剩余查询信息数量,将所述查询组中的查询信息批量插入到各个消息队列中。

在一种可能的实现方式中,所述方法还包括:

在各个消息队列中的剩余查询信息数量满足预设的高压条件时,创建订阅所述消息队列的主题的转发端;

通过创建的所述转发端将所述消息队列中的查询信息转发给对应的查询服务器。

一方面,提供了一种消息汇总装置,所述装置包括:

转发模块,用于将获取到的查询请求转发给各个查询服务器;

插入模块,用于在数据库中插入所述查询请求的标记信息,所述标记信息用于记录各个查询服务器的反馈情况;

处理模块,用于接收各个查询服务器发送的反馈信息,根据所述反馈信息对所述标记信息进行修改;

汇总模块,用于在修改后的所述标记信息满足预设条件时,对所述反馈信息进行汇总,得到查询结果。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的消息汇总方法。

一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的消息汇总方法。

本申请实施例提供的技术方案的有益效果至少包括:

查询系统可以在数据库中插入查询请求的标记信息,由于标记信息用于记录各个查询服务器的反馈情况,所以,查询系统可以在接收各个查询服务器发送的反馈信息后,根据反馈信息对标记信息进行修改,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,从而得到查询结果。这样,查询系统可以利用内存数据的原子属性对标记信息进行修改,从而对查询服务器的反馈情况进行统计,相比于需要设置专门的统计线程来统计反馈的查询服务器来说,可以节省资源消耗。

若查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时汇总全部的反馈信息,从而可以提高消息汇总的全面性和效率。

若在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时进行消息汇总,从而可以提高消息汇总的效率。

获取每个查询服务器的第一权重;若在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的标记信息满足预设条件。通常,查询服务器的第一权重与查询服务器的重要性以及查询准确性是呈正比例关系的,所以,查询系统根据查询服务器的第一权重进行消息汇总时,可以在确保重要的查询服务器反馈后进行消息汇总,可以提高消息汇总的准确性。

获取发送查询请求的客户端的第二权重,从多个时长阈值中选择与第二权重对应的时长阈值;其中,第二权重的大小与时长阈值的大小呈负相关关系。通常,客户端的第二权重与客户端的重要性呈正比例关系,所以,查询系统根据第二权重确定时长阈值时,可以对重要的客户端设置较小的时长阈值,从而提高消息汇总的效率。

在将查询组批量插入到各个消息队列之前,获取每个消息队列中的剩余查询信息数量;根据预设的均衡分配原则和剩余查询信息数量,将查询组中的查询信息批量插入到各个消息队列中,这样,可以按需分配查询信息,保证消息队列中查询信息的平衡。

在各个消息队列中的剩余查询信息数量满足预设的高压条件时,创建订阅消息队列的主题的转发端;通过创建的转发端将消息队列中的查询信息转发给对应的查询服务器,这样,可以在消息队列的处理压力较大时扩展转发端,从而缓解了消息队列的处理压力。

附图说明

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

图1是本申请一个实施例提供的消息汇总方法的方法流程图;

图2是本申请一个实施例提供的消息汇总方法的方法流程图;

图3是本申请一个实施例提供的消息汇总装置的结构框图;

图4是本申请一个实施例提供的消息汇总装置的结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个实施例提供的消息汇总方法的方法流程图,该消息汇总方法可以应用于计算机设备中的查询系统中。该消息汇总方法,可以包括:

步骤101,将获取到的查询请求转发给各个查询服务器。

查询系统与客户端相连,可以为客户端提供各种查询业务。客户端可以生成查询请求,并将该查询请求发送给查询系统,查询系统接收到该查询请求。其中,查询请求中至少包含查询内容,比如,查询业务是查询用户贷款,则查询请求中可以包含用户的姓名、身份证号码等身份信息;又比如,查询业务的查询话费余额,则查询请求中可以包含用户的电话号码等信息。

查询系统还与至少一个查询服务器相连。若查询系统提供一项查询业务,则查询系统可以与同一类型的查询服务器相连。比如,查询业务是查询用户贷款,则查询系统与至少一个银行服务器相连;又比如,查询业务是查询话费余额,则查询系统与至少一个电信运营商服务器相连。在这种应用场景下,查询系统可以直接将查询请求转发给相连的各个查询服务器。若查询系统提供至少两项查询业务,则查询系统可以与至少两种类型的查询服务器相连。比如,查询业务包括查询用户贷款和查询话费余额,则查询系统同时与至少一个银行服务器和至少一个电信运营商服务器相连。在这种应用场景下,查询系统可以根据查询请求的查询内容选择一类查询服务器,将查询请求转发给这类查询服务器。

需要说明的是,查询系统还可以在转发查询请求之前,获取各个查询服务器的服务状态,根据服务状态筛选当前能够提供查询服务的查询服务器,或者,根据服务状态筛选当前服务质量较好的查询服务器,再将查询请求转发给筛选出的查询服务器。

步骤102,在数据库中插入查询请求的标记信息,该标记信息用于记录各个查询服务器的反馈情况。

查询系统可以在内存中的数据库中插入查询请求的标记信息,插入方法详见下文中的描述,此处不作赘述。

步骤103,接收各个查询服务器发送的反馈信息,根据该反馈信息对标记信息进行修改。

查询系统可以在每接收到一条反馈信息时,利用内存数据的原子属性,对数据库中的标记信息进行修改。

步骤104,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,得到查询结果。

查询系统还可以在修改标记信息之后,检测修改后的标记信息是否满足预设条件,若满足预设条件,则进行消息汇总,得到查询结果,将该查询结果写入内存中,客户端从内存中读取该查询结果;若不满足预设条件,则继续等待接收下一条反馈信息。

其中,预设条件可以根据需要设置,详见下文中的描述,此处不作赘述。

综上所述,本申请实施例提供的消息汇总方法,查询系统可以在数据库中插入查询请求的标记信息,由于标记信息用于记录各个查询服务器的反馈情况,所以,查询系统可以在接收各个查询服务器发送的反馈信息后,根据反馈信息对标记信息进行修改,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,从而得到查询结果。这样,查询系统可以利用内存数据的原子属性对标记信息进行修改,从而对查询服务器的反馈情况进行统计,相比于需要设置专门的统计线程来统计反馈的查询服务器来说,可以节省资源消耗。

请参考图2,其示出了本申请一个实施例提供的消息汇总方法的方法流程图,该消息汇总方法可以应用于计算机设备中的查询系统中。该消息汇总方法,可以包括:

步骤201,将获取到的查询请求转换成查询组,该查询组中包含至少一条查询信息,且每条查询信息对应于一个查询服务器。

由于查询请求需要被转发给查询服务器,且不同的查询服务器的查询地址不同,所以,查询系统需要将一条查询请求转换成至少一条查询信息,使得每条查询信息中包含一个查询服务器的查询地址,从而将查询请求转换成能够在网络中传输的查询信息。本实施例中将转换后的查询信息的集合称为查询组。

具体的,将获取到的查询请求转换成查询组,包括:获取当前提供查询服务的各个查询服务器的查询地址;分别将每个查询地址与查询请求封装成一条查询信息,得到查询组。

假设查询系统获取到第一查询地址、第二查询地址和第三查询地址,则可以将查询请求中的查询内容和第一查询地址封装成第一查询信息,将查询请求中的查询内容和第二查询地址封装成第二查询信息,将查询请求中的查询内容和第三查询地址封装成第三查询信息,得到包含第一查询信息、第二查询信息和第三查询信息的查询组。

可选的,查询系统还可以将查询服务器的服务器标识和查询地址一起封装到对应的查询信息中。其中,服务器标识用于标识提供查询服务器的供应商。

步骤202,将查询组批量插入到消息队列中。

查询系统可以确定每个消息队列的主题(topic),选择主题与查询请求相匹配的消息队列,将该查询组批量插入到选出的消息队列中。

当一个主题对应于多个消息队列时,查询系统可以将查询组中的查询信息平均分配到每个消息队列中。比如,查询组中包含10条查询信息,且该主题对应于5个消息队列,则查询系统在每个消息队列中插入2条查询信息。

每个消息队列对应于查询系统中的至少一个转发端,该转发端用于将消息队列中的查询信息转发给查询服务器。由于每个转发端的转发能力不同,这就导致每个消息队列中查询信息的处理速度不同,比如,某些消息队列中的查询信息已经全部被转发,而其他的消息队列中还剩余一些查询信息未被转发。在这种情况下,查询系统需要按需分配查询信息,保证消息队列中查询信息的平衡。

具体的,在将查询组批量插入到各个消息队列之前,查询获取每个消息队列中的剩余查询信息数量;根据预设的均衡分配原则和剩余查询信息数量,将查询组中的查询信息批量插入到各个消息队列中。其中,均衡分配原则可以按照实际需求进行设置,本实施例不做具体限定。

步骤203,通过消息队列将每条查询信息转发给对应的查询服务器。

具体的,通过消息队列将每条查询信息转发给对应的查询服务器,包括:通过订阅了消息队列的主题的转发端,将查询信息转发给对应的查询服务器。

需要说明的是,当消息队列中剩余了较多的查询信息,即,在各个消息队列中的剩余查询信息数量满足预设的高压条件时,查询系统可以创建订阅消息队列的主题的转发端;通过创建的转发端将消息队列中的查询信息转发给对应的查询服务器。

其中,高压条件可以是一个数量阈值,则当剩余查询信息数量大于数量阈值时,确定消息队列满足高压条件。当然,还可以根据实际需求设置其他的高压条件,本实施例不做具体限定。

由于各个转发端之间不需要进行消息互通,所以,可以在消息队列的处理压力较大时轻松扩展转发端,从而缓解了消息队列的处理压力。

步骤204,对查询请求对应的查询组分配组标识。

查询系统还可以对查询组分配组标识,并将组标识反馈给客户端,这样,客户端后续可以根据组标识从内存中读取查询结果。

步骤205,在数据库中插入包含组标识、查询组中所包含的查询信息的总数量、查询成功数量和查询失败数量的标记信息。

标记信息用于记录各个查询服务器的反馈情况,其至少包含组标识、总数量、查询成功数量和查询失败数量。其中,查询成功数量是成功查询到所需查询的内容的数量,查询失败数量是未查询到所需查询的内容的数量,且查询成功数量与查询失败数量初始时为0。

步骤206,接收各个查询服务器发送的反馈信息,根据该反馈信息对标记信息进行修改。

每个转发端接收查询服务器发送的反馈信息,若反馈信息用于指示查询成功,则增大查询成功数量;若反馈信息用于指示查询失败,则增大查询失败数量。

比如,第一转发端向第一查询服务器转发第一查询信息,若接收到的反馈信息指示查询成功,则将查询成功数量加1;第二转发端向第二查询服务器转发第二查询信息,若接收到的反馈信息指示查询失败,则将查询失败数量加1。

步骤207,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,得到查询结果。

转发端可以检测修改后的标记信息是否满足预设条件,若满足预设条件,则进行消息汇总,得到查询结果,将该查询结果和组标识对应写入内存中,客户端根据组标识从内存中读取该查询结果;若不满足预设条件,则不作处理。

其中,预设条件可以根据实际需求设置,本实施例中仅以四种预设条件进行举例说明。

1)第一种预设条件是查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则若查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则确定修改后的标记信息满足预设条件。其中,查询时长的初始时刻是转发查询信息的时刻,结束时刻是当前时刻。

比如,查询组中包含10条查询信息,且查询成功数量为8,查询失败数量为1,若最后一个转发端在接收到反馈信息后修改查询失败数量为2,此时查询成功数量与查询失败数量之和为10。若此时查询时长未达到时长阈值,则该转发端确定修改后的标记信息满足预设条件。

其中,时长阈值可以根据实际需求设置。在一种实现方式中,查询系统可以对所有客户端设置同一时长阈值;在另一种实现方式中,查询系统还可以对不同客户端设置不同的时长阈值,下文中不再赘述。

本实施例中以根据客户端的权重设置时长阈值为例,则查询系统可以预先设置多个不同大小的时长阈值,再获取发送查询请求的客户端的第二权重,从多个时长阈值中选择与第二权重对应的时长阈值;其中,第二权重的大小与时长阈值的大小呈负相关关系。即,客户端的第二权重越大,则时长阈值越小,查询系统越快进行消息汇总。通常,客户端的第二权重与客户端的重要性呈正比例关系,所以,查询系统根据第二权重确定时长阈值时,可以对重要的客户端设置较小的时长阈值,从而提高消息汇总的效率。

2)第二种预设条件是在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则若在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则确定修改后的标记信息满足预设条件。

比如,查询组中包含10条查询信息,比例阈值为80%,且查询成功数量为6,查询失败数量为1,若一个转发端在接收到反馈信息后修改查询失败数量为2,此时查询成功数量与查询失败数量之和与总数量的比值为80%,达到预设的比例阈值。若此时查询时长达到时长阈值,则该转发端确定修改后的标记信息满足预设条件。

3)第三种预设条件是在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则转发端可以获取每个查询服务器的第一权重;若在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的标记信息满足预设条件。

比如,查询组中包含10条查询信息,且查询成功数量为6,查询失败数量为1,若一个转发端在接收到反馈信息后修改查询失败数量为2,此时将已发送反馈信息的8个查询服务器的第一权重之和与权重阈值进行比较,若第一权重之和达到权重阈值,且查询时长达到时长阈值,则该转发端确定修改后的标记信息满足预设条件。

4)第四种预设条件是查询时长达到超时时长,则在查询时长达到超时时长时,确定修改后的标记信息满足预设条件。

比如,查询系统中的超时计数服务在确定查询时长达到超时时长时,确定修改后的标记信息满足预设条件,进行消息汇总,得到查询结果,将该查询结果和组标识对应写入内存中,客户端根据组标识从内存中读取该查询结果。

总结来说,某一个转发端在接收到反馈信息后,对标记信息进行修改,若修改后的标记信息满足前三个预设条件中的任意一个预设条件,则转发端进行消息汇总;若修改后的标记信息不满足前三个预设条件,则转发端不进行消息汇总。最后,当查询时长达到超时时长时,由超时计数服务进行消息汇总。

综上所述,本申请实施例提供的消息汇总方法,查询系统可以在数据库中插入查询请求的标记信息,由于标记信息用于记录各个查询服务器的反馈情况,所以,查询系统可以在接收各个查询服务器发送的反馈信息后,根据反馈信息对标记信息进行修改,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,从而得到查询结果。这样,查询系统可以利用内存数据的原子属性对标记信息进行修改,从而对查询服务器的反馈情况进行统计,相比于需要设置专门的统计线程来统计反馈的查询服务器来说,可以节省资源消耗。

若查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时汇总全部的反馈信息,从而可以提高消息汇总的全面性和效率。

若在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时进行消息汇总,从而可以提高消息汇总的效率。

获取每个查询服务器的第一权重;若在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的标记信息满足预设条件。通常,查询服务器的第一权重与查询服务器的重要性以及查询准确性是呈正比例关系的,所以,查询系统根据查询服务器的第一权重进行消息汇总时,可以在确保重要的查询服务器反馈后进行消息汇总,可以提高消息汇总的准确性。

获取发送查询请求的客户端的第二权重,从多个时长阈值中选择与第二权重对应的时长阈值;其中,第二权重的大小与时长阈值的大小呈负相关关系。通常,客户端的第二权重与客户端的重要性呈正比例关系,所以,查询系统根据第二权重确定时长阈值时,可以对重要的客户端设置较小的时长阈值,从而提高消息汇总的效率。

在将查询组批量插入到各个消息队列之前,获取每个消息队列中的剩余查询信息数量;根据预设的均衡分配原则和剩余查询信息数量,将查询组中的查询信息批量插入到各个消息队列中,这样,可以按需分配查询信息,保证消息队列中查询信息的平衡。

在各个消息队列中的剩余查询信息数量满足预设的高压条件时,创建订阅消息队列的主题的转发端;通过创建的转发端将消息队列中的查询信息转发给对应的查询服务器,这样,可以在消息队列的处理压力较大时扩展转发端,从而缓解了消息队列的处理压力。

请参考图3,其示出了本申请一个实施例提供的消息汇总装置的结构框图,该消息汇总装置可以应用于计算机设备中的查询系统中。该消息汇总装置,可以包括:

转发模块310,用于将获取到的查询请求转发给各个查询服务器;

插入模块320,用于在数据库中插入查询请求的标记信息,标记信息用于记录各个查询服务器的反馈情况;

处理模块330,用于接收各个查询服务器发送的反馈信息,根据反馈信息对标记信息进行修改;

汇总模块340,用于在修改后的标记信息满足预设条件时,对反馈信息进行汇总,得到查询结果。

在一个可选的实施例中,转发模块310,还用于:

将获取到的查询请求转换成查询组,查询组中包含至少一条查询信息,且每条查询信息对应于一个查询服务器;

将查询组批量插入到消息队列中;

通过消息队列将每条查询信息转发给对应的查询服务器。

在一个可选的实施例中,插入模块320,还用于:

对查询请求对应的查询组分配组标识;

在数据库中插入包含组标识、查询组中所包含的查询信息的总数量、查询成功数量和查询失败数量的标记信息。

在一个可选的实施例中,处理模块330,还用于:

若反馈信息用于指示查询成功,则增大查询成功数量;

若反馈信息用于指示查询失败,则增大查询失败数量。

在一个可选的实施例中,转发模块310,还用于:

获取当前提供查询服务的各个查询服务器的查询地址;

分别将每个查询地址与查询请求封装成一条查询信息,得到查询组。

请参考图4,在一个可选的实施例中,该装置还包括确定模块350,用于在根据反馈信息对标记信息进行修改之后,若查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则确定修改后的标记信息满足预设条件。

在一个可选的实施例中,确定模块350,还用于在根据反馈信息对标记信息进行修改之后,若在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则确定修改后的标记信息满足预设条件。

在一个可选的实施例中,该装置还包括:

获取模块360,用于获取发送查询请求的客户端的第二权重;

选择模块370,用于从多个时长阈值中选择与第二权重对应的时长阈值;

其中,第二权重的大小与时长阈值的大小呈负相关关系。

在一个可选的实施例中,获取模块360,还用于在根据反馈信息对标记信息进行修改之后,获取每个查询服务器的第一权重;

确定模块350,还用于若在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的标记信息满足预设条件。

在一个可选的实施例中,确定模块350,还用于在查询时长达到超时时长时,确定修改后的标记信息满足预设条件。

在一个可选的实施例中,转发模块310,还用于:

通过订阅了消息队列的主题的转发端,将查询信息转发给对应的查询服务器。

在一个可选的实施例中,转发模块310,还用于:

在将查询组批量插入到各个消息队列之前,获取每个消息队列中的剩余查询信息数量;

根据预设的均衡分配原则和剩余查询信息数量,将查询组中的查询信息批量插入到各个消息队列中。

在一个可选的实施例中,该装置还包括:

创建模块380,用于在各个消息队列中的剩余查询信息数量满足预设的高压条件时,创建订阅消息队列的主题的转发端;

转发模块310,还用于通过创建的转发端将消息队列中的查询信息转发给对应的查询服务器。

综上所述,本申请实施例提供的消息汇总装置,查询系统可以在数据库中插入查询请求的标记信息,由于标记信息用于记录各个查询服务器的反馈情况,所以,查询系统可以在接收各个查询服务器发送的反馈信息后,根据反馈信息对标记信息进行修改,在修改后的标记信息满足预设条件时,对反馈信息进行汇总,从而得到查询结果。这样,查询系统可以利用内存数据的原子属性对标记信息进行修改,从而对查询服务器的反馈情况进行统计,相比于需要设置专门的统计线程来统计反馈的查询服务器来说,可以节省资源消耗。

若查询成功数量和查询失败数量之和等于总数量,且查询时长未达到预设的时长阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时汇总全部的反馈信息,从而可以提高消息汇总的全面性和效率。

若在查询时长达到预设的时长阈值时,查询成功数量和查询失败数量之和与总数量的比值达到预设的比例阈值,则确定修改后的标记信息满足预设条件,这样,查询系统可以及时进行消息汇总,从而可以提高消息汇总的效率。

获取每个查询服务器的第一权重;若在查询时长达到预设的时长阈值时,已发送反馈信息的查询服务器的第一权重之和达到预设的权重阈值,则确定修改后的标记信息满足预设条件。通常,查询服务器的第一权重与查询服务器的重要性以及查询准确性是呈正比例关系的,所以,查询系统根据查询服务器的第一权重进行消息汇总时,可以在确保重要的查询服务器反馈后进行消息汇总,可以提高消息汇总的准确性。

获取发送查询请求的客户端的第二权重,从多个时长阈值中选择与第二权重对应的时长阈值;其中,第二权重的大小与时长阈值的大小呈负相关关系。通常,客户端的第二权重与客户端的重要性呈正比例关系,所以,查询系统根据第二权重确定时长阈值时,可以对重要的客户端设置较小的时长阈值,从而提高消息汇总的效率。

在将查询组批量插入到各个消息队列之前,获取每个消息队列中的剩余查询信息数量;根据预设的均衡分配原则和剩余查询信息数量,将查询组中的查询信息批量插入到各个消息队列中,这样,可以按需分配查询信息,保证消息队列中查询信息的平衡。

在各个消息队列中的剩余查询信息数量满足预设的高压条件时,创建订阅消息队列的主题的转发端;通过创建的转发端将消息队列中的查询信息转发给对应的查询服务器,这样,可以在消息队列的处理压力较大时扩展转发端,从而缓解了消息队列的处理压力。

本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的消息汇总方法。

本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的消息汇总方法。

需要说明的是:上述实施例提供的消息汇总装置在进行消息汇总时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将消息汇总装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的消息汇总装置与消息汇总方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

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