一种服务请求的响应方法及系统与流程

文档序号:20678306发布日期:2020-05-08 18:07阅读:201来源:国知局
一种服务请求的响应方法及系统与流程

本发明属于互联网技术领域,尤其涉及一种服务请求的响应方法及系统。



背景技术:

随着互联网技术的不断发展,越来越多的服务可以通过线上的方式实现,多类型的服务请求可以通过线上完成,从而大大提高了服务响应的效率,提升了用户使用服务请求的便捷程度。

现有的服务请求的响应技术,在为用户提供快捷多样的服务请求的同时,由于不同的服务请求均交由相同的服务器进行处理,特别随着终端设备的多样化,一个服务请求涉及了不同的服务类型,在交由同一服务器进行响应时,服务器需要处理完成一个类型的任务才可以执行下一类型的任务,不仅容易导致处理逻辑冲突,还会延长服务响应时长,从而降低了服务响应的效率。



技术实现要素:

有鉴于此,本发明实施例提供了一种服务请求的响应方法及系统,以解决现有的服务请求的响应技术,由于不同的服务请求均交由相同的服务器进行处理,当一个服务请求涉及了不同的服务类型时,容易导致处理逻辑冲突,并且延长服务响应时长,从而降低了服务响应的效率的问题。

本发明实施例的第一方面提供了一种服务请求的响应方法,应用于服务请求的响应系统,所所述服务请求的响应方法包括:

发送服务请求发送;

识别所述服务请求对应的服务类型,并为每个服务类型配置关于所述服务请求的任务信息;

查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,以通过所述服务处理节点输出所述任务信息的任务结果;

根据所述服务处理节点反馈的所述任务结果,生成所述服务请求的服务响应结果,并发送所述服务响应结果。

本发明实施例的第二方面提供了一种服务请求的响应系统,所述服务请求的响应系统包括:服务分配中间件、处理控制中间件以及至少一个服务处理节点;

所述服务分配中间件,用于将接收到的服务请求发送给所述处理控制中间件;

所述处理控制中间件,用于识别所述服务请求对应的服务类型,并为每个服务类型配置关于所述服务请求的任务信息;

所述处理控制中间件,用于查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,以通过所述服务处理节点输出所述任务信息的任务结果;

所述处理控制中间件,用于根据所述服务处理节点反馈的所述任务结果,生成所述服务请求的服务响应结果,并发送所述服务响应结果。

实施本发明实施例提供的一种服务请求的响应方法及系统具有以下有益效果:

本发明实施例通过服务分配中间件接收各个终端设备发送的服务请求,并转发给对应的处理控制中间件,通过处理控制中间件确定该服务请求包含的服务类型,并为不同的服务类型配置对应的任务信息,并将各个任务信息发送给对应的服务处理节点进行响应,将所有服务处理节点反馈的处理结果进行封装,得到关于服务请求的响应结果,实现了并行处理多类型服务的目的。与现有的服务请求的响应技术相比,本发明为不同的服务类型配置对应的服务处理节点,并通过处理控制中间件对服务请求涉及的服务类型进行任务划分,得到多个任务信息,并根据服务类型将任务信息发送给相应的服务处理节点进行处理,从而能够保证了不同类型的服务请求的处理逻辑的独立性的同时,能够实现多类型任务的并行处理,减少了不同服务类型之间的耦合度以及提高了服务响应效率,从而降低了服务响应的时长。

附图说明

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

图1是本发明第一实施例提供的一种服务请求的响应方法的交互流程图;

图2是本发明第二实施例提供的一种服务请求的响应方法s103具体实现流程图;

图3是本发明第三实施例提供的一种服务请求的响应方法s1031具体实现流程图;

图4是本发明第四实施例提供的一种服务请求的响应方法具体实现流程图;

图5是本发明第五实施例提供的一种服务请求的响应方法s103具体实现流程图;

图6是本发明第六实施例提供的一种服务请求的响应方法s101具体实现流程图;

图7是本发明第七实施例提供的一种服务请求的响应方法s101具体实现流程图;

图8是本发明一实施例提供的一种服务请求的响应系统的结构框图;

图9是本发明另一实施例提供的一种服务请求的响应系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例通过服务分配中间件接收各个终端设备发送的服务请求,并转发给对应的处理控制中间件,通过处理控制中间件确定该服务请求包含的服务类型,并为不同的服务类型配置对应的任务信息,并将各个任务信息发送给对应的服务处理节点进行响应,将所有服务处理节点反馈的处理结果进行封装,得到关于服务请求的响应结果,实现了并行处理多类型服务的目的,解决了现有的服务请求的响应技术,由于不同的服务请求均交由相同的服务器进行处理,当一个服务请求涉及了不同的服务类型时,容易导致处理逻辑冲突,并且延长服务响应时长,从而降低了服务响应的效率的问题。

在本发明实施例中,流程的执行主体为服务请求的响应系统。该服务请求的响应包括服务分配中间件、处理控制中间件以及至少一个服务处理节点。该服务分配中间件以及处理控制中间件可以为一服务器,服务处理节点可以为一服务器,也可以为包含多个服务器的服务器集群。图1示出了本发明第一实施例提供的服务请求的响应方法的实现流程图,详述如下:

在s101中,发送服务请求发送。

在本实施例中,终端设备可以通过安装于本地的客户端或者访问服务请求的响应系统关联的网络页面,向服务请求的响应系统发送服务请求。该服务请求携带有所需请求的服务类型或服务标识,可选地,该服务请求还可以包含服务请求方,即上述的终端设备的设备标识。服务请求的响应系统会将所有从终端终端侧接收到的服务请求汇聚到服务分配中间件,并通过服务分配中间件对服务请求进行转发。

示例性地,发送服务请求的终端设备可以为一智能机器人,该智能机器人在进行自动化的过程中,可以将采集得到的环境信息进行封装,生成目标识别请求,即上述的服务请求为识别目标对象的服务请求,将包含环境信息的服务请求发送给服务分配中间件。智能机器人可以通过与服务请求的响应系统对采集的信息进行云处理,从而能够提高数据处理能力。

示例性地,发送服务请求的终端设备可以为一分布式摄像装置,该分布式摄像装置可以采集当前环境的视频数据,将视频数据封装成人脸识别请求,即上述的服务请求为人脸识别的服务请求,将包含视频数据的服务请求发送给服务分配中间件。分布式摄像装置可以通过与服务请求的响应系统对采集的视频数据进行云处理,实现人脸识别的目的,通过云端进行人脸识别能够提高人脸识别的准确性,与通过本地方式完成人脸识别的技术相比,识别的效率会大大提高,并减少分布式摄像装置的处理模块的要求,减少了分布式视频装置的造价成本。

示例性地,发送服务请求的终端设备可以为一用户终端,例如用户使用的智能手机、平板电脑或智能手表等智能设备,将采集到的信息,例如语音数据(用于进行语音识别)或图像数据(进行人脸识别、文字识别或目标识别)封装到服务请求中,并通过服务请求的响应系统处理上述数据识别,从而能够增强用户终端的智能识别范围,扩大终端设备的可用性。

在本实施例中,服务分配中间件作为服务请求的汇聚节点,将所有终端设备发起的服务请求发送给服务分配中间件,并通过服务分配中间件转发给对应的处理控制中间件。

在本实施例中,终端设备向服务分配中间件发送了服务请求后,服务分配中间件可以为该服务请求配置对应的会话标识,即sessionid;当终端设备通过内置的客户端首次向服务请求的响应系统发送服务请求时,系统会为客户端创建一个session,并通过预设的会话标识生成算法为每个服务请求配置对应的sessionid,服务分配中间件将该sessionid表示的客户端会话和本次会话的服务请求建立对应关系,即一次会话的请求中包含该sessionid和服务请求,将此对应关系保存到数据库中,方便后面的查询操作。

可选地,在本实施例中,服务分配中间件在将服务请求转发给处理控制中间件前,可以通过数据过滤单元过滤异常的服务请求,即在服务分配中间件与处理控制中间件之间的通信链路之间部署数据过滤单元。数据过滤单元在接收到用户终端发送的服务请求后,会判断该服务请求是否包含预设的关键参数项,关键参数项包括但不限于服务类型、用户终端的终端标识、网络地址等一项或多项的组合。数据过滤单元若检测到服务请求中并未包含任一关键参数项,则识别该服务请求为异常请求,对异常请求进行过滤,从而实现了对数据进行清洗,防止了大量无效请求进入服务请求的响应系统,提高了系统的安全性,以及减少对无效请求的响应操作,避免资源浪费。

在s102中,识别所述服务请求对应的服务类型,并为每个服务类型配置关于所述服务请求的任务信息。

在本实施例中,处理控制中间件在接收到服务分配中间件发送的服务请求后,会识别服务请求对应的服务类型。该服务类型可以包括以下一种或两种以上的组合:目标识别类型、人脸识别类型、语音识别类型、生物体征识别类型以及文字识别等服务。处理控制中间件可以根据该服务请求的请求内容,确定对应的服务类型,若服务请求携带有服务标识,则可以基于服务标识查询对应的服务类型。

需要说明的是,部分服务请求可以通过多个服务逻辑共同完成,例如智能机器人发送环境视频数据,需要对该环境中的目标类型进行识别,在识别了目标类型后,需要对“人”类型的对象进行人脸识别,则该服务请求包含了目标类型识别以及人脸识别两个服务类型。因此,处理控制中间件需要确定该服务请求对应的服务类型,该服务类型可以为一种也可以为多种的组合。

可选地,在本实施例中,处理控制中间件可以配置有服务请求索引表,该服务请求索引表包含各个服务请求对应的服务类型。终端设备可以通过查询该服务请求索引表,确定各个接收到的服务请求关联的服务类型。例如,处理控制中间件可以通过服务标识内的预设字节的位值,确定服务请求在服务请求索引表中对应的项目,并查询该项目包含的服务类型。

在本实施例中,由于不同的服务类型交由不同的服务处理节点进行处理,因此,服务处理中间件需要对服务请求进行拆分,将服务请求划分为不同的任务信息,每个任务信息对应一个服务类型,限定该服务类型所需完成的内容。

在s103中,查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,以通过所述服务处理节点输出所述任务信息的任务结果。

在本实施例中,处理控制中间件可以配置有服务类型与服务处理节点之间的对应关系表,其中,每个服务处理节点可以对应一个服务类型。服务响应中间件可以查询该对应关系表,确定用于响应接收到的服务请求的服务类型对应的服务处理节点,并将该服务类型对应的任务信息发送给与该服务类型关联的服务处理节点进行处理。

可选地,在本实施例中,处理控制中间件可以配置有关于服务处理节点的运行状态的状态列表。该状态列表内包含有各个服务处理节点关联的服务类型以及运行状态。在服务请求的响应系统内不存在任一服务类型的服务响应请求时,服务响应中间件可以将该服务类型关联的第一服务处理节点的运行状态调整为关闭状态,并更新状态列表;若检测到服务请求的响应系统接收到的服务类型所对应的服务处理节点的运行状态为关闭状态,则可以启动该服务类型对应的服务处理节点,并更新状态列表。处理控制中间件可以根据状态列表,确定当前服务响应系统中可响应的服务类型以及当前启动的服务类型,并基于接收到的服务请求包含的服务类型,开启以及关闭对应的服务处理节点,从而能够减少服务响应系统的资源消耗。

在本实施例中,服务处理节点会接收处理控制中间件转发的任务信息,对下发的任务信息进行响应,并生成对应的任务结果。可选地,服务处理节点可以将任务信息添加到响应队列内,并基于各个任务信息的添加次序依次进行响应。

可选地,在本实施例中,若处理控制中间件可以设置有最大响应时长。处理控制中间件在下发了任务信息后,会启动响应计时器,并检测该响应计时器的计数值是否大于最大响应时长。若检测到响应计时器的计数值大于最大响应时长且未接收到服务处理节点反馈的任务结果,则可以识别未任务结果的服务处理节点为异常节点,生成异常处理信息,以便维护人员对异常节点进行处理。

在s104中,根据所述服务处理节点反馈的所述任务结果,生成所述服务请求的服务响应结果,并发送所述服务响应结果。

在本实施例中,处理控制中间件接收从各个服务处理节点反馈的任务结果,并对所有任务结果进行封装以及结果合并,生成服务请求对应的服务响应结果,并从服务请求提取发送服务请求的终端设备对应的通信地址,并基于通信地址将服务响应结果发送给终端设备,从而完成服务响应流程。

可选地,处理控制中间件可以将生成的服务响应结果反馈给服务分配中间件,由于服务分配中间件可以维护与终端设备之间的通信链路和/或会话,因此可以将服务响应结果发送给服务分配中间件,并通过服务分配中间件将服务响应结果发送给终端设备。

以上可以看出,本发明实施例提供的一种服务请求的响应方法通过服务分配中间件接收各个终端设备发送的服务请求,并转发给对应的处理控制中间件,通过处理控制中间件确定该服务请求包含的服务类型,并为不同的服务类型配置对应的任务信息,并将各个任务信息发送给对应的服务处理节点进行响应,将所有服务处理节点反馈的处理结果进行封装,得到关于服务请求的响应结果,实现了并行处理多类型服务的目的。与现有的服务请求的响应技术相比,本发明为不同的服务类型配置对应的服务处理节点,并通过处理控制中间件对服务请求涉及的服务类型进行任务划分,得到多个任务信息,并根据服务类型将任务信息发送给相应的服务处理节点进行处理,从而能够保证了不同类型的服务请求的处理逻辑的独立性的同时,能够实现多类型任务的并行处理,减少了不同服务类型之间的耦合度以及提高了服务响应效率,从而降低了服务响应的时长。

图2示出了本发明第二实施例提供的一种服务请求的响应方法的s103具体实现流程图。参见图2,相对于图1所述实施例,本实施例提供的一种服务请求的响应方法s103包括:s1031~s1033,具体详述如下:

进一步地,所述服务处理节点包括多个集群服务器;所述查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,包括:

在s1031中,获取所述服务处理节点内各个所述集群服务器反馈的运行参数。

在本实施例中,每个服务处理节点内可以包含多个集群服务器,多个集群服务器共同构成该服务处理节点,用于处理该服务处理节点所对应的服务类型的所有任务。服务处理节点可以配置有一可用设备列表,该可用设备列表记录有服务处理节点包含的所有集群服务器,并标记有各个集群服务器对应的运行参数。处理控制中间件在发送任务信息之前,可以通过读取该可用设备列表获取各个集群服务器的运行参数。

在本实施例中,集群服务器可以主动反馈运行参数,举例性地,服务请求的响应系统可以配置有反馈周期,集群服务器若检测到当前时刻到达预设的反馈周期,则会获取本地的运行参数,并上传运行参数;服务请求的响应系统也可以设置有多个运行阈值,集群服务器若检测到某一时刻超过或低于运行阈值,则可以向服务请求的响应系统反馈一个通知信息,以通知服务请求的响应系统该集群服务器的运行参数到达某一参数范围。

可选地,集群服务器可以被动发送运行参数,处理控制中间件在接收到服务请求后,可以向该服务类型对应的服务处理节点发送一广播信息,以通知该服务处理节点下联的所有集群服务器反馈上述的运行参数。

需要说明的是,该运行参数用于表示集群服务器当前环境的运行情况的参量,该运行参数包括但不限于:负载值、网络带宽、网络速率、可用硬件资源值、数据处理速率和/或可用线程数中的一个或两个以上的组合。

在s1032中,通过预设的负载均衡算法,计算各个所述集群服务器的响应优先级。

在本实施例中,处理控制中间件在获取了各个集群服务器的运行参数后,可以分别计算各个集群服务器的响应优先级,若集群服务器的响应优先级越高,则集群服务器的数据处理能力越高,反之,若集群服务器的对应的响应优先级越低,则集群服务器的数据处理能力越低。因此,可以通过响应优先级的大小,确定任务信息具体分配到服务处理节点内的哪一集群服务器进行响应。

可选地,在本实施例中,处理控制中间件计算响应优先级的方式可以为:处理控制中间件为不同的运行参数配置对应的基准值,处理控制中间件分别计算实际采集到的运行参数与对应的基准值之间的比值,并根据各个运行参数对应的权重,进行加权叠加,从而计算得到该集群服务器的响应优先级。

其中,priority为集群服务器的响应优先级,factruni为集群服务器的第i个运行参数;standardruni为第i个基准值;ξi为第i个权重值,n为运行参数的总个数。

可选地,在本实施例中,处理控制中间件计算响应优先级的方式可以为:处理控制中间件可以对各个运行参数进行归一化操作,并根据各个运行参数的预设权重,对归一化后的运行参数进行叠加,从而计算得到集群服务器的响应优先级,具体公式如下:

其中,priority为第j集群服务器的响应优先级,factrunji为第j集群服务器的第i个运行参数;ξi为第i个运行参数对应的权重值,n为运行参数的总个数;m为集群服务器的总个数。

在s1033中,选取所述响应优先级最高的所述集群服务器作为目标服务器,将所述任务信息发送给所述目标服务器。

在本实施例中,处理控制中间件计算了各个集群服务器的响应优先级后,可以根据优先级数值的大小对各个集群服务器进行排序,并选取响应优先级的数值最大对应的集群服务器作为目标服务器,通过目标服务器处理服务请求对应的任务信息。

在本发明实施例中,通过获取服务处理节点内各个集群服务器的响应优先级,并选取优先级最高的一个集群服务器作为目标服务器,能够实现负载均衡的目的,提高了服务请求的响应系统的数据处理能力,以及系统的稳定性。

图3示出了本发明第三实施例提供的一种服务请求的响应方法s1031的具体实现流程图。参见图3,相对于图2所述的实施例,本实施例提供的一种服务请求的响应方法s1031包括:s301~s303,具体详述如下:

进一步地,所述服务请求的响应系统还包括节点注册服务器;所述获取所述服务处理节点内各个所述集群服务器反馈的运行参数,包括:

在s301中,若检测到满足预设的反馈条件,则向所述节点注册服务器发送所述运行参数。

在本实施例中,集群服务器可以配置有反馈条件,该反馈条件可以一时间触发条件,在该情况下,集群服务器可以设置有反馈周期或反馈时间节点,集群服务器若检测到当前时间到达满足预设的反馈时间节点或反馈周期,则识别当前时刻满足上述反馈条件,执行s301的操作。该反馈条件还可以为一事件触发条件,在该情况下,在接收到节点注册服务器反馈的反馈指令时,则识别满足预设的事件触发条件,或者设置有瞬时参数变化比例,若检测到在某一时间段内,集群服务器的运行参数的变化率大于上述的瞬时参数变化比例,则识别满足反馈条件,并向节点注册服务器发送运行参数。

在本实施例中,节点注册服务器可以用于管理各个集群服务器的运行状态。集群服务器启动时,需要向节点注册服务器发送一个注册指令,节点注册服务器会将该集群服务器添加到监控列表内,并获取监控列表内各个集群服务器的运行参数。

在s302中,通过所述节点注册服务器记录各个所述集群服务器的所述运行参数。

在本实施例中,节点注册服务器可以存储各个集群服务器反馈的运行参数,并建立集群服务器与运行参数之间的对应关系。

可选地,节点注册服务器可以为每个运行参数配置对应的有效时间,不同的运行参数对应的有效时间的长短可以不同,也可以相同。节点注册服务器在接收到集群服务器反馈的运行参数后,会启动该运行参数对应的计时器,若检测到该计时器的计数值大于上述运行参数对应的有效时长,且未接收到该集群服务器返回的运行参数,则识别当前记录的运行参数已失效,并向集群服务器发送参数反馈指令,以重新采集集群服务器的运行参数。

在s303中,通过所述节点注册服务器接收所述处理控制中间件发送的查询指令,并根据查询指令包含的所述节点标识,向所述处理控制中间件发送所述节点标识对应的服务处理节点内各个所述集群服务器的所述运行参数。

在本实施例中,节点注册服务器可以用于存储所有服务处理节点内集群服务器的运行参数。处理控制中间件在接收到服务请求并发送任务信息之前,可以向节点注册服务器发送查询指令,该查询指令携带有所需查询的节点标识,该节点标识用于限定响应服务请求所需调用的服务处理节点。

在本实施例中,节点注册服务器可以对查询指令进行解析,通过节点标识确定目标的服务处理节点,并确定该服务处理节点关联的各个集群服务器,并查询各个集群服务器对应的运行参数,将所有运行参数进行封装,发送给处理控制中间件。

在本发明实施例中,通过节点注册服务器管理各个集群服务器的运行状态,处理控制中间件可以通过节点注册服务器获取所有集群服务器的运行参数,从而能够提高运行参数的获取效率。

图4示出了本发明第四实施例提供的一种服务请求的响应方法的具体实现流程图。参见图4,相对于图1述实施例,本实施例提供的一种服务请求的响应方法还包括:s401~s403,具体详述如下:

进一步地,所述服务请求的响应系统还包括部署中间件;所述服务处理节点包括多个集群服务器;所述服务请求的响应方法还包括:

在s401中,通过所述部署中间件获取各个所述集群服务器的负载值。

在本实施例中,部署中间件可以用于管理各个集群服务器的运行状态,若检测到当前网络的负载情况较低,可以关闭一定数量的集群服务器,减少系统的能耗;若检测到当前网络的负载情况较高,则可以开启一定数量的集群服务器,以提高系统的数据处理能力,实现动态调整服务请求的响应系统的服务请求的响应容量。

在本实施例中,部署中间件可以以预设的监控周期获取集群服务器的负载值,通过获取整个服务请求的响应系统的整体负载情况。

在s402中,若检测到任一服务处理节点内各个所述集群服务器的负载值均大于预设的第一负载阈值,则启动备用服务器,并将所述备用服务器加入至所述服务请求节点的可用设备列表。

在本实施例中,部署中间件在检测到各个集群服务器的负载值均大于预设的第一负载阈值,则表示服务处理节点整体的负载处于较高的状态,可能部分集群服务器处于满载或过载情况,需要对该服务处理节点进行扩容操作,从备用服务器中选取一个作为扩容服务器,并将该扩容服务器的运行状态设置为开启状态,将扩容服务器假如值服务请求节点的可用设备列表,继而后续接收到该服务类型的任务信息时,可以将任务信息发送给扩容后的备用服务器进行处理。

在s403中,若检测到任一所述服务处理节点内各个所述集群服务器的负载值均小于预设的第二负载阈值,则从所述服务处理节点内选取至少一个所述集群服务器作为冗余服务器,并关闭所述冗余服务器。

在本实施例中,部署中间件在检测到各个集群服务器的负载值均小于预设的第二负载阈值,则表示服务处理节点整体的负载处于较低的状态,则该服务处理节点对应的服务类型的任务较少,此时可以关闭对应数量的服务器,因而选取对应数量的集群服务器作为冗余服务器,并关闭冗余服务器,以减少响应系统的资源消耗。

在本发明实施例中,通过在服务请求的响应系统中加入部署中间件,通过部署中间件控制集群服务器的开关状态,能够动态调整各个服务处理节点的处理能力,提高了资源利用率。

图5示出了本发明第五实施例提供的一种服务请求的响应方法s103的具体实现流程图。参见图5,相对于图1-4任一所述实施例,本实施例提供的一种服务请求的响应方法s103包括:s501~s502,具体详述如下:

进一步地,所述处理控制中间件查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,以通过所述服务处理节点输出所述任务信息的任务结果,包括:

在s501中,获取所述服务请求关联的响应流程,并基于所述响应流程确定各个所述任务信息对应的处理次序。

在本实施例中,处理控制中间件在获取了服务请求后,可以根据该服务请求所对应的服务标识,查询与该服务标识关联的响应流程。该服务标识可以与服务请求发送的会话信息相关。终端设备可以通过不同的客户端,向服务请求的响应系统发送服务请求,而不同的客户端与响应系统建立通信连接时,所使用的会话信息不同,例如可以通过会话编号等信息来标记通过不同渠道,即客户端发送的服务请求。基于此,服务请求的响应系统可以通过解析该服务请求的会话信息,确定该服务请求对应的客户端,而响应不同客户端放的服务请求时,所对应的响应流程不同,因此可以通过解析该会话信息确定该服务请求的响应流程。

在本实施例中,响应流程具体用于限定响应服务请求时所需执行的任务,以及各个任务之间的处理次序,基于此,处理控制中间件可以通过解析响应流程,确定多个任务节点,并为不同的任务节点配置对应的任务信息,并基于各个任务节点在响应流程中的位置,确定各个任务信息的处理次序。

在s502中,基于所述处理次序,依次向各个所述任务信息对应的所述服务处理节点。

在本实施例中,处理控制中间件可以根据确定得到的响应次序,将任务信息发送给对应的服务处理节点,并在接收到服务处理节点反馈的处理结果后,将下一响应次序的任务信息发送给下一处理次序的服务处理节点。可选地,若多个服务处理节点之间存在迭代关系,即下一处理次序的服务处理节点需要上一处理次序的处理结果,则处理控制中间件可以将上一处理次序反馈的处理结果添加到下一处理次序的任务信息内,并将添加后的任务信息发送给下一处理次序对应的服务处理节点。

举例性地,对于人脸识别流程,需要首先识别图像信息中各个对象的对象类型,并从对象类型为“人”这一类型的对象中,进行人脸识别。因此,处理控制中间件可以将对象类型识别的任务信息发送给第一服务处理节点,并接收第一服务处理节点反馈的对象类型列表;并将对象类型列表添加到任务信息内,交由处理人脸识别的第二服务处理节点进行后续处理。

在本发明实施例中,通过获取服务请求的响应流程,确定各个任务信息的处理次序,保证服务请求处理逻辑的准确性。

图6示出了本发明第六实施例提供的一种服务请求的响应方法的s101具体实现流程图。参见图6,相对于图1-4任一所述实施例,,本实施例提供的一种服务请求的响应方法s101包括:s1011~s1012,具体详述如下:

进一步地,所述发送服务请求,包括:

在s1011中,识别所述服务请求关联的主题类型。

在本实施例中,每个服务请求对应一个主题类型,即topic。服务分配中间件与处理控制中间件可以通过建立发布-订阅的关系,确定处理不同主题类型对应的处理控制中间件。基于此,服务分配中间件在接收到服务请求后,需要确定该服务请求关联的主题类型。

可选地,该主题类型可以根据服务请求所需的会话标识进行确定。会话标识,即sessionid,服务分配中间件可以通过解析该sessionid对应字段的位值,确定该服务请求关联的主题类型。

可选地,该主题类型可以由服务请求发布的客户端类型确定,服务分配中间件可以通过解析服务请求的客户端编号,确定发送服务请求对应的客户端类型,并基于该客户端类型确定关联的主题类型。

在s1012中,查询预存的主题订阅列表,确定订阅所述主题类型的处理控制中间件,将所述服务请求发送给所述处理控制中间件。

在本实施例中,不同的主题类型的服务请求,可以通过不同的处理控制中间件进行响应分配,基于此,处理控制中间件可以与服务分配中间建立订阅-发布的关系,在服务分配中间件接收到对应主题类型的服务请求后,可以向订阅了该主题类型的处理控制中间件进行服务请求的发布操作,从而能够定向发送关联主题类型的服务请求。基于此,服务分配中间件可以通过查询该主题订阅列表,确定本次接收到的服务请求的主题类型对应的处理控制中间件,并将服务请求发送给处理控制中间件进行后续的响应操作。

在本发明实施例中,通过识别服务请求的主题类型,确定处理服务请求对应的处理控制中间件,能够实现不同主题类型交由不同的处理控制中间件进行响应,减少了不同主题类型的服务响应流程之间的耦合度。

图7示出了本发明第七实施例提供的一种服务请求的响应方法s101的具体实现流程图。参见图7,相对于图1至图4任一所述实施例,本实施例提供的一种服务请求的响应方法s101包括:s701~s702,具体详述如下:

在s701中,将所述服务请求添加至待处理列表,并根据所述服务请求的接收时间,确定所述服务请求在所述待处理列表内的处理次序。

在本实施例中,服务分配中间件在响应服务服务请求时,可以通过异步响应的方式进行处理,即在接收到终端设备发送的服务请求后,将服务请求添加到待处理列表内,并根据各个待处理请求的接收时间,确定各个服务请求的处理次序,依次对各个服务请求进行响应。

在s702中,基于所述处理次序,依次发送所述待处理列表内的各个所述服务请求。

在本实施例中,服务分配中间件可以根据上述确定的处理次序,将存储于待处理列表内的各个服务请求发送给各个处理控制中间件。若服务请求的响应系统内存在多个处理控制中间件,则可以根据各个服务请求的主题类型,依次将各个服务请求发送给与其主题类型对应的处理控制中间件进行响应。

在本发明实施例中,将服务请求添加到待处理列表内,实现异步响应服务请求,能够提高服务请求的响应系统的数据处理效率,并降低系统的负载压力。

图8示出了本发明一实施例提供的一种服务请求的响应系统的结构示意图。参见图8,该服务请求的响应系统包括终端设备81、服务分配中间件82、处理控制中间件83、服务处理节点84、节点注册服务器85以及部署中间件86。其中,终端设备81可以将服务请求发送给服务分配中间件82,通过服务分配中间件82转发给处理控制中间件83,并通过处理控制中间件83确定用于响应服务请求对应的服务处理节点84,由于每个服务处理节点往往包含多个集群服务器,因此可以级联一个节点注册服务器85,节点注册服务器85确定目标的服务处理节点中用于响应服务请求对应服务类型的任务信息的集群服务器。其中,根据终端设备81的终端类型不同,可以分为智能机器人811、摄像设备812、智能手机813以及笔记本电脑814,上述各个终端设备可以通过内置的客户端向服务请求的响应系统发送服务请求。根据响应服务类型的不同,服务处理节点可以划分为用于处理意图识别的服务处理节点1(对应附图编号841)、用于处理语音识别的服务处理节点2(对应附图编号842)、用于处理人脸识别的服务处理节点3(对应附图编号843)以及用于处理目标识别的服务处理节点4(对应附图编号844)。该服务请求的响应系统还可以包括部署中间件84,用于控制各个集群服务器的开启情况。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图9示出了本发明另一实施例提供的一种服务请求的响应系统的结构框图,该服务请求的响应系统包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。

参见图9,所述服务请求的响应系统包括:服务分配中间件91、处理控制中间件92以及至少一个服务处理节点93;

所述服务分配中间件91,用于将接收到的服务请求发送给所述处理控制中间件92;

所述处理控制中间件92,用于识别所述服务请求对应的服务类型,并为每个服务类型配置关于所述服务请求的任务信息;

所述处理控制中间件92,用于查询所述服务类型关联的服务处理节点93,并将所述任务信息发送给所述服务处理节点93,以通过所述服务处理节点93输出所述任务信息的任务结果;

所述处理控制中间件92,用于根据所述服务处理节点反馈的所述任务结果,生成所述服务请求的服务响应结果,并发送所述服务响应结果。

可选地,所述服务处理节点93包括多个集群服务器931;

所述处理控制中间件92,用于查询所述服务类型关联的服务处理节点,并将所述任务信息发送给所述服务处理节点,包括:

所述处理控制中间件92,用于获取所述服务处理节点内各个所述集群服务器反馈的运行参数;

所述处理控制中间件92,用于通过预设的负载均衡算法,计算各个所述集群服务器的响应优先级;

所述处理控制中间件92,用于选取所述响应优先级最高的所述集群服务器作为目标服务器,将所述任务信息发送给所述目标服务器。

可选地,所述服务请求的响应系统还包括节点注册服务器;

所述处理控制中间件92,用于获取所述服务处理节点内各个所述集群服务器反馈的运行参数,包括:

所述集群服务器,用于若检测到满足预设的反馈条件,则向所述节点注册服务器发送所述运行参数;

所述节点注册服务器,用于记录各个所述集群服务器的所述运行参数;

所述节点注册服务器,用于接收所述处理控制中间件发送的查询指令,并根据查询指令包含的所述节点标识,向所述处理控制中间件发送所述节点标识对应的服务处理节点内各个所述集群服务器的所述运行参数。

可选地,所述服务请求的响应系统还包括部署中间件;所述服务处理节点93包括多个集群服务器931;所述服务请求的响应方法还包括:

所述部署中间件,用于获取各个所述集群服务器的负载值;

所述部署中间件,用于若检测到任一服务处理节点内各个所述集群服务器的负载值均大于预设的第一负载阈值,则启动备用服务器,并将所述备用服务器加入至所述服务请求节点的可用设备列表;

所述部署中间件,用于若检测到任一所述服务处理节点内各个所述集群服务器的负载值均小于预设的第二负载阈值,则从所述服务处理节点内选取至少一个所述集群服务器作为冗余服务器,并关闭所述冗余服务器。

可选地,所述处理控制中间件92,用于查询所述服务类型关联的服务处理节点93,并将所述任务信息发送给所述服务处理节点93,以通过所述服务处理节点93输出所述任务信息的任务结果,包括:

所述处理控制中间件92,用于获取所述服务请求关联的响应流程,并基于所述响应流程确定各个所述任务信息对应的处理次序;

所述处理控制中间件92,用于基于所述处理次序,依次向各个所述任务信息对应的所述服务处理节点。

可选地,所述服务分配中间件91,用于将服务请求发送给所述处理控制中间件,包括:

所述服务分配中间件91,用于识别所述服务请求关联的主题类型;

所述服务分配中间件91,用于查询预存的主题订阅列表,确定订阅所述主题类型的所述处理控制中间件,将所述服务请求发送给所述处理控制中间件。

可选地,所述服务分配中间件91,用于将服务请求发送给所述处理控制中间件,包括:

所述服务分配中间件91,用于将所述服务请求添加至待处理列表,并根据所述服务请求的接收时间,确定所述服务请求在所述待处理列表内的处理次序;

所述服务分配中间件91,用于基于所述处理次序,依次将所述待处理列表内的各个所述服务请求发送给所述处理控制中间件92。

因此,本发明实施例提供的服务请求的响应系统为不同的服务类型配置对应的服务处理节点,并通过处理控制中间件对服务请求涉及的服务类型进行任务划分,得到多个任务信息,并根据服务类型将任务信息发送给相应的服务处理节点进行处理,从而能够保证了不同类型的服务请求的处理逻辑的独立性的同时,能够实现多类型任务的并行处理,减少了不同服务类型之间的耦合度以及提高了服务响应效率,从而降低了服务响应的时长。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

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