掌桥专利:专业的专利平台
掌桥专利
首页

请求处理及反馈方法、装置、计算机设备及可读存储介质

文献发布时间:2023-06-19 12:07:15


请求处理及反馈方法、装置、计算机设备及可读存储介质

技术领域

本发明涉及云服务技术领域,尤其涉及一种请求处理及反馈方法、装置、计算机设备及可读存储介质。

背景技术

在当前互联网微服务架构体系下,业务网关(如:网关服务器)承担着后台微服务系统和前端入口的桥梁角色。业务网关在业务功能上主要承接着,如:协议转换、条件聚合、服务编排、响应剪裁等工作;在非业务功能上承接着,如:限流、熔断、降级、防刷、权限验证、负载均衡等功能。

在业务网关的建设过程中,非业务功能作为基础能力,一般可以借助企业内部的RPC框架自身能力和开源组件完成建设,但对于业务功能当前通常是采用人工编写代码的方式进行解决。

然而,发明人意识到,这种方式不仅导致业务网关的业务功能开发不仅需要耗费大量的开发资源(如:人力、物力、时间)导致开发效率低下,还由于人工编写的代码难以修改,导致业务网关的适用范围非常有限。

发明内容

本发明的目的是提供一种请求处理及反馈方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的业务网关的业务功能开发不仅需要耗费大量的开发资源导致开发效率低下,还由于人工编写的代码难以修改,导致业务网关的适用范围非常有限的问题。

为实现上述目的,本发明提供一种请求处理及反馈方法,包括:

编排预置的业务模型得到内核模块,构建所述内核模块的URL路径,其中,所述URL路径是反映所述内核模块保存位置的资源定位符;

接收客户端发送的请求消息,并对所述请求消息进行适配处理得到URL路径;

调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息;

对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

上述方案中,所述编排预置的业务模型得到内核模块之前,所述方法还包括:

创制用于对所述请求消息进行运算处理的业务模型;

接收客户端发送的请求消息之前,所述方法还包括:

将所述URL路径与预置的请求标识关联。

上述方案中,所述编排预置的业务模型得到内核模块,构建所述内核模块的URL路径的步骤,包括:

接收控制端发送的组件信息和组件编排信息;

根据所述组件信息获取业务模型并将所述业务模型设为目标组件,根据所述组件编排信息编排所述目标组件形成业务模块;

接收控制端发送的内核编排信息,根据所述内核编排信息编排所述业务模块,并使各所述业务模块通过转发路径相互关联形成内核模块,其中,所述转发路径是指业务模块的网络地址;

将所述内核模块中位于首位的业务模块的转发路径作为URL路径,将所述URL路径记载于所述适配模块中。

上述方案中,所述构建所述内核模块的URL路径之后,所述方法还包括:

创制至少由一个缓存块构成直接映射缓存,在所述缓存块上设置反映所述缓存块的内存地址的索引;其中,所述缓存块用于保存阶段信息,所述阶段信息是所述内核模块中的业务模块根据所述请求消息所生成的反馈结果。

上述方案中,所述对所述请求消息进行适配处理得到URL路径的步骤,包括:

将所述请求消息进行协议转换得到标准信息;

从预置的注册中心中获取与所述标准信息的入参信息对应的URL路径。

上述方案中,所述调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息的步骤,包括:

通过与所述URL路径对应的内核模块,抽取所述请求消息中的入参信息;

调用服务集群运算所述入参信息得到出参信息;

判断所述出参信息是否满足预置的出参规则;若是,则将所述出参信息设为合格信息;若否,则将所述出参信息设为异常信息;

对所述合格信息进行重塑处理得到阶段信息。

上述方案中,所述对所述阶段信息进行汇总编排处理得到反馈信息的步骤,包括:

在监听到内核模块接收到所述请求消息时,调用预置的计时模块对所述内核模块进行计时,并缓存所述内核模块生成的阶段信息;

按照预置的判断周期判断所述计时的时间是否达到预置的异常时间阈值;

若达到所述异常时间阈值,则判定所述内核模块出现异常;删除缓存的所述阶段信息并结束,或将缓存的所述阶段信息设为待处理信息;

若未达到所述异常时间阈值,则判断是否接收到所述内核模块发送的终止信息;若接收到所述终止信息,则将缓存的所述阶段信息设为待处理信息;

汇总所述待处理信息得到汇总信息,通过预置的编排规则提取所述汇总信息中指定字段所对应的保留数据,并对所述数据进行排序得到裁剪重组信息;

对所述裁剪重组信息进行渲染得到反馈信息;

所述对所述阶段信息进行汇总编排处理得到反馈信息之后,还包括:

将所述反馈信息上传至区块链中。为实现上述目的,本发明还提供一种请求处理及反馈装置,包括:

编排配置模块,用于编排预置的业务模型得到内核模块,构建所述内核模块的URL路径,其中,所述URL路径是反映所述内核模块保存位置的资源定位符;

消息适配模块,用于接收客户端发送的请求消息,并对所述请求消息进行适配处理得到URL路径;

调用运算模块,用于调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息;

汇总反馈模块,用于对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述请求处理及反馈方法的步骤。

为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述请求处理及反馈方法的步骤。

本发明提供的请求处理及反馈方法、装置、计算机设备及可读存储介质,通过编排配置业务模型得到内核模块的方式,实现内核模块的自定义服务编排的技术效果,不仅无需耗费大量的开发资源,因服务编排的自定义使得内核模块中的业务模型便于增减和修改,避免了大量编写代码实现内核模块的情况发生,因此,扩展了网关服务器的适用范围,降低了代码量及开发强度,节省了业务功能开发所需的开发资源。

通过向内核模块的各业务模块提供用于运算请求消息以获得阶段信息的线程,并将阶段信息保存在缓存块之时作为线程结束的节点,避免了内核模块占用一个线程持续运行其中的业务模块,直至获得反馈信息的情况发生,缩短了网关服务器提供的每个线程的运行时间,并实现了异步调用服务集群对请求消息进行处理得到阶段信息的技术效果,避免了网关服务器因高并发的情况导致线程阻塞的问题发生。

通过对阶段信息进行裁剪和重组,实现了对阶段信息进行自定义的裁剪避免了阶段信息中的敏感数据泄露至外界,以及实现了阶段信息的自定义重组,保证反馈信息中各个数据能够按照展示需求排列,扩大了网关服务器的适用范围。同时,通过对裁剪重组信息进行渲染得到反馈信息,使反馈信息发送到客户端即可直接展示,而无需调用客户端的渲染组件对其进行渲染,极大的提高了反馈信息的展示效率。

附图说明

图1为本发明请求处理及反馈方法实施例一的流程图;

图2为本发明请求处理及反馈方法实施例二中请求处理及反馈方法的环境应用示意图;

图3是本发明请求处理及反馈方法实施例二中请求处理及反馈方法的具体方法流程图;

图4为本发明请求处理及反馈装置实施例三的程序模块示意图;

图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的请求处理及反馈方法、装置、计算机设备及可读存储介质,适用于云服务技术领域,为提供一种基于编排配置模块、消息适配模块、调用运算模块和汇总反馈模块的请求处理及反馈方法。本发明通过编排业务模型得到内核模块,构建内核模块的URL路径并将URL路径记载于适配模块中;调用适配模块对请求消息进行适配处理得到URL路径,并调用与URL路径对应的内核模块运算请求消息得到阶段信息,对阶段信息进行汇总编排处理得到反馈信息。

实施例一:

请参阅图1,本实施例的一种请求处理及反馈方法,包括:

S102:编排预置的业务模型得到内核模块,构建所述内核模块的URL路径,其中,所述URL路径是反映所述内核模块保存位置的资源定位符。

S104:接收客户端发送的请求消息,并对所述请求消息进行适配处理得到URL路径。

S105:调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息。

S106:对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

在示例性的实施例中,通过将业务模型编排成内核模块的方式,其中,所述内核模块(URLModel),用于对客户端一次的前端请求进行运算处理并获得反馈信息,所述内核模块中可具有至少一个业务模块。通过编排配置业务模型得到内核模块的方式,实现内核模块的自定义服务编排的技术效果,不仅无需耗费大量的开发资源,因服务编排的自定义使得内核模块中的业务模型便于增减和修改,避免了大量编写代码实现所述内核模块(即:用于实现背景技术中所述业务功能的功能性模块)的情况发生,因此,扩展了网关服务器的适用范围,降低了代码量及开发强度,节省了业务功能开发所需的开发资源。

通过提取请求消息中的入参信息,并调用所述适配模块的注册中心识别与所述入参信息对应的URL路径,以实现对所述请求消息的适配处理,即:获得与所述请求消息对应的内核模块,进而实现将客户端发送的请求路由至其所需的内核模块的技术效果。

通过调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息,并通过将所述阶段信息保存至所述缓存块中,对所述缓存块中的阶段信息进行汇总编排处理得到反馈信息,其中,所述汇总编排处理是指是对阶段信息进行裁剪、重组、并将所述裁剪重组后的裁剪重组信息进行渲染得到反馈信息的过程。使得网关服务器能够向内核模块的各业务模块提供用于运算请求消息以获得阶段信息的线程,并将阶段信息保存在缓存块之时作为线程结束的节点,避免了内核模块占用一个线程持续运行其中的业务模块,直至获得反馈信息的情况发生,缩短了网关服务器提供的每个线程的运行时间,并实现了异步调用服务集群对所述请求消息进行处理得到阶段信息的技术效果,避免了网关服务器因高并发的情况导致线程阻塞的问题发生。

通过对阶段信息进行裁剪和重组,实现了对阶段信息进行自定义的裁剪避免了阶段信息中的敏感数据泄露至外界,以及实现了阶段信息的自定义重组,保证反馈信息中各个数据能够按照展示需求排列,扩大了网关服务器的适用范围。同时,通过对所述裁剪重组信息进行渲染得到反馈信息,使所述反馈信息发送到所述客户端即可直接展示,而无需调用客户端的渲染组件对其进行渲染,极大的提高了反馈信息的展示效率。

实施例二:

本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。

下面,以在运行有请求处理及反馈方法的服务器中,调用所述适配模块得到内核模块,并通过所述内核模块运算所述请求消息得到所述反馈信息为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。

图2示意性示出了根据本申请实施例二的请求处理及反馈方法的环境应用示意图。

在示例性的实施例中,请求处理及反馈方法所在的服务器2通过网络3分别连接客户端4;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述客户端4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。

图3是本发明一个实施例提供的一种请求处理及反馈方法的具体方法流程图,该方法具体包括步骤S201至S206。

S201:创制用于对所述请求消息进行运算处理的业务模型。本步骤中,可采用spring controller构建所述适配模块,用以对所述请求消息进行适配处理,其中,所述适配处理是指将请求消息路由至能够处理所述请求消息的业务模型的过程。

需要说明的是,所述spring controller是在SpringMVC中负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示的控制器。

示例性地,所述业务模型包括:参数抽取模型、协议调用模型、响应判断模型和响应重塑模型。

其中,所述参数抽取模型(ExtractModel)用于抽取请求消息中的请求参数,并对所述请求参数进行组装得到入参信息;

所述协议调用模型(ProtocolModel)用于执行协议,其通过与运行有协议的服务集群进行通信连接,并根据所述入参信息调用所述服务集群中的协议以对所述入参信息进行运算;其中,所述协议调用模型为调用所述服务集群的调用接口;

协议执行的模型,代表一次RPC的执行。具体的协议可以扩展实现,如Dubbo请求,http请求等;

响应判断模型(JudgeModel)用于判断协议执行的结果是否符合预置的标准规范;

响应重塑模型(RestructModel)用于对当前协议返回结果的重塑处理。如可以对Dubbo返回返回的class属性进行统一的移除等。至此,一个完整的Step远端调用结束。

S202:编排预置的业务模型得到内核模块,构建所述内核模块的URL路径,其中,所述URL路径是反映所述内核模块保存位置的资源定位符。

本步骤中,通过将业务模型编排成内核模块的方式,其中,所述内核模块(URLModel),用于对客户端一次的前端请求进行运算处理并获得反馈信息,所述内核模块中可具有至少一个业务模块。

所述适配模块中具有注册中心,所述注册中心用于将请求消息的请求标识与内核模块的URL(统一资源定位符)相互关联,将接收到的请求消息路由至与其请求标识关联的URL,使该URL的内核模块对所述请求消息进行处理,以得到反馈信息,因此,不仅无需耗费大量的开发资源,因服务编排的自定义使得内核模块中的业务模型便于增减和修改。

在一个优选的实施例中,所述编排预置的业务模型得到内核模块,构建所述内核模块的URL路径的步骤,包括:

S21:接收控制端发送的组件信息和组件编排信息。

本步骤中,所述组件信息反映了为完成一个指定任务所需的业务模型,所述组件编排信息定义了为完成所述指定任务编排所述业务模型的顺序。

S22:根据所述组件信息获取业务模型并将所述业务模型设为目标组件,根据所述组件编排信息编排所述目标组件形成业务模块。

本步骤中,将所述组件信息中指定的业务模型设为目标组件,将所述组件编排信息中所定义的顺序对所述目标组件进行编排,以获得红玉完成所述指定任务的业务模块。所述业务模块(StepModel)用于对客户端一次的前端请求中任一后端请求环节进行运算处理,以完成所述指定任务。其中,所述前端请求是指客户端发送的完整请求,所述前端请求至少包括一个节点/环节的分步请求;所述后端请求是值在完成在所述前端请求的过程中,需要完成的任一节点/环节的分步请求。示例性地,如果前端请求包含请求参数的抽取、协议执行、结果判断、响应重塑四个分步请求。那么,所述业务模块中将依次包含:所述参数抽取模型、所述协议调用模型、协议执行的模型、响应判断模型和响应重塑模型。

S23:接收控制端发送的内核编排信息,根据所述内核编排信息编排所述业务模块,并使各所述业务模块通过转发路径相互关联形成内核模块,其中,所述转发路径是指业务模块的网络地址。

本步骤中,位于上一顺位业务模块在生成阶段信息之后,通过所述转发路径即可将所述信息转发至位于下一顺位业务模块,实现内核模块中各业务模块之间的相互关联,并使各所述业务模块能够按照所述内核编排信息中所定义的顺序,依次对请求消息进行处理,以最终获得反馈信息。其中,所述内核编排信息中定义了为完成指定服务编排所述业务模块的顺序,以及,通过位于上一顺位的业务模块所生成的阶段信息,调用位于下一顺位的业务模块时所需的请求字段。根据所述请求字段以及所述业务模块的保存位置构建所述业务模块的转发路径,用于反映所述业务模块的网络地址。其中,所述转发路径可通过预置的转发模板进行设置,如:/保存位置/{{body.请求字段}}/{{header.认证信息}}。于本实施例中,所述认证信息可通过获取请求消息的消息头获得。

示例性地,内核模块的服务是“查询用户预定的酒店”,请求消息中包括订单信息,该服务的反馈信息包括:包括用户信息、酒店信息和房间信息。

内核模块的业务模块Step1接收客户端传入的订单信息(如:orderID参数),和认证信息(如:Authorization参数)。那么,通过所述转发模板构建所述业务模块Step1的转发路径如:/getOrderInfo/{{body.orderID}}/{{header.Authorization}},使得通过所述转发路径即可获得业务模块Step1,并调用服务集群根据所述订单信息获得用户信息(如:userID)。

内核模块的业务模块Step2接收业务模块Step1生成的用户信息(如:userID),及客户端传入的认证信息(如:Authorization参数),那么,通过所述转发模板构建所述业务模块Step2的转发路径如:/getUserInfo/{{body1.userID}}/{{header.Authorization}},使得通过所述转发路径即可获得业务模块Step2,并调用服务集群根据所述用户信息获得酒店信息(如:hotelID)。

内核模块的业务模块Step3接收业务模块Step1生成的用户信息、和业务模块Step2生成的酒店信息,及客户端传入的认证信息,那么,通过所述转发模板构建所述业务模块Step3的转发路径是:/getUserInfo/{{body1.userID.hotelID}}/{{header.Authorization}},使得通过所述转发路径即可获得业务模块Step3,并调用服务集群根据所述用户信息和所述酒店信息获得房间信息(roomID)。

S24:将所述内核模块中位于首位的业务模块的转发路径作为URL路径,将所述URL路径记载于所述适配模块中。

本步骤中,适配模块在接收到请求消息时,提取所述请求消息的入参信息(例如:orderID),识别所述适配模块中与所述入参信息对应的URL路径(如:/getOrderInfo/{{body.orderID}}/{{header.Authorization}}),并将所述URL路径作为请求路径,以实现将所述请求消息路由至其所需的内核模块的技术效果。

于本实施例中,将所述内核模块的URL路径以及转发路径保存在所述适配模块的注册中心中,以便于控制端通过修改所述注册中心中的URL路径即可实现调整内核模块中业务模块的排序,及各所述业务模块的转发路径,和所述URL路径的技术效果,而无需编写大量的代码对所述内核模块及其中的业务模块进行管理和修改,提高了内核模块的配置及修改效率,降低了代码量。

进一步地,在所述将所述URL路径记载于所述适配模块中之后,所述方法还包括:

S25:通过注册中心获取内核模块并测试所述内核模块的健康状况。

本步骤中,根据所述注册中心中记载的URL路径,以及转发路径,获取内核模块及其中的业务模块,通过预置的测试脚本对所述内核模块及其中的业务模块进行测试并生成测试结果,将所述测试结果设为所述健康状况。

其中,所述测试脚本中记载有测试信息,所述测试信息是符合所述测试脚本测试预期的反馈结果。

S26:若所述健康状况为异常宕机,则将所述内核模块设为异常模块,并封存所述异常模块所对应的URL路径。

本步骤中,如果无法通过所述测试脚本获得所述测试信息,那么,将生成记载该内核模块为异常宕机的测试结果。通过将异常模块所对应URL路径进行封存,以避免调用异常模块运算所述请求消息,导致服务器出现异常、卡死甚至死机的情况发生。

S27:若所述健康状况为正常,则继续检查下一内核模块。

本步骤中,如果能够通过所述测试脚本获得所述测试信息,那么,将生成的记载该内核模块为正常的测试结果。

S203:创制至少由一个缓存块构成直接映射缓存,在所述缓存块上设置反映所述缓存块的内存地址的索引;其中,所述缓存块用于保存阶段信息,所述阶段信息是所述内核模块中的业务模块根据所述请求消息所生成的反馈结果。

缓存块为避免长时间占用网关服务器的线程,导致网关服务器线程阻塞的情况发生,本步骤通过在内核模块中构建用于保存阶段信息的缓存块的方式,以阶段性地将各业务模块生成的阶段信息预先保存在缓存块中,当所有业务模块生成的阶段信息均保存在缓存块中之后,再调用网关服务器的线程对所述阶段信息进行汇总编排得到反馈信息。

网关服务器向内核模块的各业务模块提供用于运算请求消息以获得阶段信息的线程,并将阶段信息保存在缓存块之时作为线程结束的节点,避免了内核模块占用一个线程持续运行其中的业务模块,直至获得反馈信息的情况发生,缩短了网关服务器提供的每个线程的运行时间,进而实现异步运行各所述业务模块的执行线程,有效的应对了高并发状态下的请求消息的处理。

于本实施例中,通过RenderModel模型作为所述缓存块,其中,RenderModel是对阶段信息进行裁剪、重组、并将所述裁剪重组后的结果进行渲染得到反馈信息的计算机模型。

结构上,一个直接映射(Direct Mapped)缓存由若干缓存块(Cache Block,或Cache Line)构成。每个缓存块存储具有连续内存地址的若干个存储单元。在32位计算机上这通常是一个双字(dword),即四个字节。因此,每个双字具有唯一的块内偏移量。

每个缓存块有一个索引(Index),它一般是内存地址的低端部分,但不含块内偏移和字节偏移所占的最低若干位。一个数据总量为4KB、缓存块大小为16B的直接映射缓存一共有256个缓存块,其索引范围为0到255。使用一个简单的移位函数,就可以求得任意内存地址对应的缓存块的索引。由于这是一种多对一映射,必须在存储一段数据的同时标示出这些数据在内存中的确切位置。所以每个缓存块都配有一个标签(Tag)。拼接标签值和此缓存块的索引,即可求得缓存块的内存地址。如果再加上块内偏移,就能得出任意一块数据的对应内存地址。

在一个优选的实施例中,在所述创制至少由一个缓存块构成直接映射缓存,在所述缓存块上设置反映所述缓存块的内存地址的索引之后,所述方法还包括:

S31:在所述缓存块中构建反馈规则,其中,所述反馈规则用于汇总及编排所述阶段信息,并对所述阶段信息进行拆包处理,以获得反馈信息。

本步骤中,所述反馈规则中定义了对所述阶段信息进行汇总及编排的规范,以及对汇总及编排后的阶段信息进行拆包处理所需的字段。

S32:在所述缓存块中构建计时线程,用于监听所述内核模块运算请求消息所消耗的时间。

本步骤中,通过所述计时线程记录业务模块运算请求消息所消耗的时间,用以判断所述时间是否超过预置的时间阈值,进而及时判断出所述内核模块是否出现异常宕机的情况,保证了网关服务器的稳定性。

S204:接收客户端发送的请求消息,对所述请求消息进行适配处理得到URL路径。

为将客户端发送的请求路由至其所需的内核模块,本步骤通过提取请求消息中的入参信息,并调用所述适配模块的注册中心识别与所述入参信息对应的URL路径,以实现对所述请求消息的适配处理,即:获得与所述请求消息对应的内核模块。

在一个优选的实施例中国,在所述接收客户端发送的请求消息之前,所述方法还包括:

将所述URL路径与预置的请求标识关联。

于本实施例中,将请求消息的请求标识与内核模块的URL(统一资源定位符)在注册中心的注册表中相互关联,将接收到的请求消息路由至与其请求标识关联的URL,使该URL的内核模块对所述请求消息进行处理,以得到反馈信息,因此,不仅无需耗费大量的开发资源,因服务编排的自定义使得内核模块中的业务模型便于增减和修改。

在一个优选的实施例中,所述对所述请求消息进行适配处理得到URL路径的步骤,包括:

S41:将所述请求消息进行协议转换得到标准信息。

本步骤中,各业务模块可能是由很多种不同的协议实现的,比如HTTP、Dubbo、GRPC等,但对于用户来说其中很多都不是很友好,或者根本没法对外暴露,比如Dubbo服务;因此,通过将请求消息进行协议转换,以得到与底层对应的标准协议,于本实施例中,所述标准协议为json格式或xml格式的通用协议。

S42:从预置的注册中心中获取与所述标准信息的入参信息对应的URL路径。

本步骤中,从所述注册中心中获取与所述标准信息对应的URL路径,以实现快速获取该请求所需的内核模块,而无需构建域名,并且,无需编写大量用于转发或配置所述请求消息的代码。

进一步地,调用所述注册中心轮询所述内核模块的健康状况;

若所述健康状况为异常宕机,则将所述内核模块设为异常模块,并封存所述异常模块所对应的转发路径,以避免调用异常模块运算所述请求消息,导致服务器出现异常、卡死甚至死机的情况发生。

若所述健康状况为正常,则继续检查下一内核模块。

S205:调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息。

为实现异步调用服务集群对所述请求消息进行处理得到阶段信息,以避免网关服务器因高并发的情况导致线程阻塞的问题发生,本步骤通过调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息。

在一个优选的实施例中,所述调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息的步骤,包括:

S51:通过与所述URL路径对应的内核模块,抽取所述请求消息中的入参信息;

S52:调用服务集群运算所述入参信息得到出参信息;

S53:判断所述出参信息是否满足预置的出参规则;若是,则将所述出参信息设为合格信息;若否,则将所述出参信息设为异常信息;

S54:对所述合格信息进行重塑处理得到阶段信息。

具体地,将与所述转发路径对应的内核模块设为执行模块;通过所述执行模块中的参数抽取模型抽取所述请求消息中的入参信息;通过所述执行模块中的协议调用模型调用服务集群运算所述入参信息得到出参信息;通过所述执行模块中的响应判断模型判断所述出参信息是否满足预置的出参规则;若是,则将所述出参信息设为合格信息;若否,则将所述出参信息设为异常信息;通过所述执行模块中的响应重塑模型对所述合格信息进行重塑处理得到阶段信息。

于本实施例中,所述响应重塑模型中预定义了对所述合格信息进行重塑处理的规范,通过所述规范对所述合格信息进行数据删除、数据提取及数据封装的重塑处理以得到阶段信息,其中,所述规范包括但不限于黑名单规则、拆包规则、封装规则。

进一步地,所述黑名单规则是根据预置的黑名单字段,删除所述合格信息中与所述黑名单字段对应的数据的计算机规则,其用于对所述合格信息进行数据删除。

所述拆包规则是是根据预置的拆包字段,提取所述合格信息中与所述拆包字段对应的数据的计算机规则,其用于对所述合格信息进行数据提取。

所述封装规则是用于将所述合格信息整体打包成整体对象的计算机规则,其用于对所述合格信息进行数据封装。

S206:对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

为实现网关服务器的异步处理请求消息并获得反馈信息,以降低网关服务器线程阻塞的风险的技术效果,本步骤通过将所述阶段信息保存至所述缓存块中,对所述缓存块中的阶段信息进行汇总编排处理得到反馈信息,其中,所述汇总编排处理是指是对阶段信息进行裁剪、重组、并将所述裁剪重组后的结果进行渲染得到反馈信息的过程,进而实现对阶段信息进行定制裁剪及重组渲染的技术效果。

在一个优选的实施例中,所述对所述阶段信息进行汇总编排处理得到反馈信息的步骤,包括:

S61:在监听到内核模块接收到所述请求消息时,调用预置的计时模块对所述内核模块进行计时,并缓存所述内核模块生成的阶段信息;

S62:按照预置的判断周期判断所述计时的时间是否达到预置的异常时间阈值;

S63:若达到所述异常时间阈值,则判定所述内核模块出现异常;删除缓存的所述阶段信息并结束,或将缓存的所述阶段信息设为待处理信息;

S64:若未达到所述异常时间阈值,则判断是否接收到所述内核模块发送的终止信息;若接收到所述终止信息,则将缓存的所述阶段信息设为待处理信息;

S65:汇总所述待处理信息得到汇总信息,通过预置的编排规则提取所述汇总信息中指定字段所对应的保留数据,并对所述数据进行排序得到裁剪重组信息;

S66:对所述裁剪重组信息进行渲染得到反馈信息。

具体地,在监听到内核模块接收到所述请求消息时,调用预置的计时模块对所述内核模块进行计时,并将所述内核模块生成的阶段信息保存至所述缓存块;按照预置的判断周期判断所述计时的时间是否达到预置的异常时间阈值;若达到所述异常时间阈值,则判定所述内核模块出现异常;删除所述缓存块中保存的阶段信息并结束,或将所述缓存块中保存的阶段信息设为待处理信息;若未达到所述异常时间阈值,则判断是否接收到所述内核模块发送的终止信息;其中,所述终止信息是内核模块在完成对所述请求信息的处理所生成的结束报文,例如:end。

若接收到所述终止信息,则将所述缓存块中保存的阶段信息设为待处理信息。若未接收到所述终止信息,则再次按照预置的判断周期判断所述计时的时间是否达到预置的异常时间阈值。汇总所述待处理信息得到汇总信息,通过预置的编排规则提取所述汇总信息中指定字段所对应的保留数据,并对所述数据进行排序得到裁剪重组信息,其中,所述编排规则包括用于保留所述汇总信息中内容的保留字段,及用于对所述保留字段对应的数据进行排序的序列信息。

对所述裁剪重组信息进行渲染得到反馈信息,其中,通过所述缓存块中预置的渲染组件,如:render渲染组件,对所述裁剪重组信息进行渲染得到反馈信息,此时,所述反馈信息是经过渲染的,因此将所述反馈信息发送到所述客户端即可直接展示,而无需调用客户端的渲染组件对其进行渲染,极大的提高了反馈信息的展示效率。

优选的,所述对所述阶段信息进行汇总编排处理得到反馈信息之后,还包括:

将所述反馈信息上传至区块链中。

需要说明的是,基于反馈信息得到对应的摘要信息,具体来说,摘要信息由反馈信息进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证反馈信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

实施例三:

请参阅图4,本实施例的一种请求处理及反馈装置1,包括:

编排配置模块12,用于编排预置的业务模型得到内核模块,构建所述内核模块的URL路径并将所述URL路径记载于预置的适配模块中,其中,所述URL路径是反映所述内核模块保存位置的资源定位符;

消息适配模块14,用于接收客户端发送的请求消息,对所述请求消息进行适配处理得到URL路径;

调用运算模块15,用于调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息;

汇总反馈模块16,用于对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

可选的,所述请求处理及反馈装置1还包括:

创制模块11,用于创制用于对客户端发送的请求消息进行适配处理的适配模块,及创制用于对所述请求消息进行运算处理的业务模型。

可选的,所述请求处理及反馈装置1还包括:

构建模块13,用于在所述内核模块中构建用于保存阶段信息的缓存块,其中,所述阶段信息是所述内核模块中的业务模块根据所述请求消息所生成的反馈结果。

可选的,所述编排配置模块12还包括:

编排信息输入单元121,用于接收控制端发送的组件信息和组件编排信息;

组件编排单元122,用于根据所述组件信息获取业务模型并将所述业务模型设为目标组件,根据所述组件编排信息编排所述目标组件形成业务模块;

模块编排单元123,用于接收控制端发送的内核编排信息,根据所述内核编排信息编排所述业务模块,并使各所述业务模块通过转发路径相互关联形成内核模块,其中,所述转发路径是指业务模块的网络地址;

路径记载单元124,用于将所述内核模块中位于首位的业务模块的转发路径作为URL路径,将所述URL路径记载于所述适配模块中。

可选的,所述编排配置模块12还包括:

模块测试单元125,用于通过注册中心获取内核模块并测试所述内核模块的健康状况;

异常封存单元126,用于在所述健康状况为异常宕机时,将所述内核模块设为异常模块,并封存所述异常模块所对应的URL路径;

正常跳转单元127,用于在所述健康状况为正常时,继续检查下一内核模块。

可选的,所述构建模块13还包括:

规则构建单元131,用于在所述缓存块中构建反馈规则,其中,所述反馈规则用于汇总及编排所述阶段信息,并对所述阶段信息进行拆包处理,以获得反馈信息;

线程构建单元132,用于在所述缓存块中构建计时线程,用于监听所述内核模块运算请求消息所消耗的时间。

可选的,所述消息适配模块14还包括:

协议转换单元141,用于将所述请求消息进行协议转换得到标准信息;

路径获取单元142,用于从预置的注册中心中获取与所述标准信息的入参信息对应的URL路径。

可选的,所述调用运算模块15还包括:

识别抽取单元151,用于通过与所述URL路径对应的内核模块,抽取所述请求消息中的入参信息;

信息运算单元152,用于用于调用服务集群运算所述入参信息得到出参信息;

信息判断单元153,用于判断所述出参信息是否满足预置的出参规则;若是,则将所述出参信息设为合格信息;若否,则将所述出参信息设为异常信息;

信息重塑单元154,用于对所述合格信息进行重塑处理得到阶段信息。

可选的,所述汇总反馈模块16还包括:

计时缓存单元161,用于在监听到内核模块接收到所述请求消息时,调用预置的计时模块对所述内核模块进行计时,并缓存所述内核模块生成的阶段信息;

时间判断单元162:按照预置的判断周期判断所述计时的时间是否达到预置的异常时间阈值;

时间异常处理单元163,用于在达到所述异常时间阈值时,判定所述内核模块出现异常;删除缓存的阶段信息并结束,或将缓存的的阶段信息设为待处理信息,调用汇总编排单元167;

时间正常处理单元164,用于在未达到所述异常时间阈值时,判断是否接收到所述内核模块发送的终止信息;

信息终止单元165,用于在接收到所述终止信息时,将缓存的阶段信息设为待处理信息,并调用汇总编排单元167;

信息持续单元166,用于在未接收到所述终止信息时,调用时间判断单元162;

汇总编排单元167,用于汇总所述待处理信息得到汇总信息,通过预置的编排规则提取所述汇总信息中指定字段所对应的保留数据,并对所述数据进行排序得到裁剪重组信息;

信息渲染单元168,用于对所述裁剪重组信息进行渲染得到反馈信息。

本技术方案涉及并利用云服务的容器编排技术,编排预置的业务模型得到内核模块,构建所述内核模块的URL路径,其中,所述URL路径是反映所述内核模块保存位置的资源定位符;接收客户端发送的请求消息,对所述请求消息进行适配处理得到URL路径;调用与所述URL路径对应的内核模块运算所述请求消息得到阶段信息;对所述阶段信息进行汇总编排处理得到反馈信息,将所述反馈信息发送至所述客户端。

实施例四:

为实现上述目的,本发明还提供一种计算机设备5,实施例三的请求处理及反馈装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的请求处理及反馈装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行请求处理及反馈装置,以实现实施例一和实施例二的请求处理及反馈方法。

实施例五:

为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储实现所述请求处理及反馈方法的计算机程序,被处理器52执行时实现实施例一和实施例二的请求处理及反馈方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 请求处理及反馈方法、装置、计算机设备及可读存储介质
  • 请求处理方法和装置、电子设备、计算机可读存储介质
技术分类

06120113178274