logo好方法网

基于中间件的请求发送方法、装置和计算机设备


技术摘要:
本申请揭示了一种基于中间件的请求发送方法、装置、计算机设备和存储介质,所述方法包括:获取预设的第一中间件的第一流量数据;利用所述第一流量数据,计算出负荷数值;若所述负荷数值大于预设的负荷阈值,则筛选出指定组件;将所述指定组件改造为第二中间件,并开放  全部
背景技术:
中间件的诞生主要是为了解决请求终端与被请求组件之间的强耦合问题(即,早 先的请求终端与被请求组件之间直接连接,因此难以进行组件的维护等操作)。传统的中间 件处于多个请求终端与多个被请求组件之间,虽然实现了请求终端与组件之间的耦合问 题,但是由于所有的请求都要经由中间件,因此中间件一旦出现在高负荷之下引发故障,将 影响整个体系的运作。而传统的中间件方案,无法解决中间件负荷过大的问题。
技术实现要素:
本申请的主要目的为提供一种基于中间件的请求发送方法、装置、计算机设备和 存储介质,旨在减轻中间件的负荷。 为了实现上述发明目的,本申请提出一种基于中间件的请求发送方法,包括以下 步骤: 获取预设的第一中间件的第一流量数据; 根据预设的负荷计算方法,利用所述第一流量数据,计算出所述第一中间件的负 荷数值,并判断所述负荷数值是否大于预设的负荷阈值; 若所述负荷数值大于预设的负荷阈值,则通过预设的组件筛选方法,从与所述第 一中间件保持通信连接的多个组件中筛选出指定组件,其中所述指定组件能够被改造为第 二中间件; 根据预设的中间件改造方法,将所述指定组件改造为第二中间件,并开放所述指 定组件的第一备用通信端口和第二备用通信端口,其中所述第一备用通信端口用于接收请 求报文,所述第二备用通信端口用于发送请求报文; 根据预设的请求报文分类方法,将所述第一中间件接收到的请求报文分类为第一 请求报文和第二请求报文,其中所述第一请求报文来自于指定类型的请求终端,所述第二 请求报文来自于除所述指定类型之外的其他请求终端; 利用所述第二中间件的第一备用通信端口,接收所述第一请求报文,并采用预设 的数据处理方法处理所述第一请求报文,从而得到中间请求报文; 利用所述第二中间件的第二备用通信端口,将所述中间请求报文发送至所述第一 请求报文指定的最终组件。 进一步地,所述第一流量数据在时间上连续,所述根据预设的负荷计算方法,利用 所述第一流量数据,计算出所述第一中间件的负荷数值的步骤,包括: 以时间为自变量,所述第一流量数据为因变量,生成第一流量数据-时间的第一函 数f(x);以及获取预设的标准流量数据,以时间为自变量,所述标准流量数据为因变量,生 5 CN 111600921 A 说 明 书 2/14 页 成标准流量数据-时间的第二函数F(x); 采用公式: 计算出负荷函数 M(x),其中P为预设的阈值参数,P大于0; 根据公式:负荷数值=高值时间长度/(低值时间长度 高值时间长度),计算出所 述第一中间件的负荷数值,其中所述高值时间长度为所述负荷函数M(x)等于P的时间长度, 所述低值时间长度为所述负荷函数M(x)不等于P的时间长度。 进一步地,所述多个组件包括多个第一组件和多个第二组件,所述第一组件指不 能够被改造为第二中间件的组件,所述第二组件指能够被改造为第二中间件的组件,所述 通过预设的组件筛选方法,从与所述第一中间件保持通信连接的多个组件中筛选出指定组 件的步骤,包括: 统计所述第一中间件接收到的请求报文的类型,以及统计与所述第一中间件保持 通信连接的请求终端的类型; 根据所述请求报文的类型和所述请求终端的类型,将所述请求报文分为多个类 别,其中同一个类别中的请求报文的类型和请求终端的类型均相同; 从所述多个类别中选出指定类别,其中所述指定类别中的报文条数大于其他类别 中的报文条数; 根据预设的类别-第二组件的对应关系,获取与所述指定类别对应的指定组件。 进一步地,所述指定组件在已有中间件的基础上进行代码编写而得到,所述指定 组件包括第一代码和第二代码,所述第一代码用于实现所述指定组件的中间件功能,所述 第二代码用于实现所述指定组件的组件功能,并且所述第一代码常态下处于未激活状态; 所述根据预设的中间件改造方法,将所述指定组件改造为第二中间件的步骤,包括: 向所述指定组件发送激活指令,所述激活指令用于激活所述指定组件的第一代 码,从而将所述指定组件改造为第二中间件。 进一步地,所述利用所述第二中间件的第一备用通信端口,接收所述第一请求报 文,并采用预设的数据处理方法处理所述第一请求报文,从而得到中间请求报文的步骤之 前,包括: 获取所述第一请求报文的数量A1和所述第二报文的数量A2,以及获取所有的第一 请求报文的报文总长度L1,获取所有的第二请求报文的报文总长度L2; 根据公式: 计算出所述第一请求报文的占比指数J,其中k1、k2 为预设的参数; 判断所述占比指数J是否大于预设的占比阈值; 若所述占比指数J大于预设的占比阈值,则生成请求报文接收指令,所述请求报文 接收指令用于指示利用所述第二中间件的第一备用通信端口,接收所述第一请求报文。 进一步地,所述采用预设的数据处理方法处理所述第一请求报文,从而得到中间 6 CN 111600921 A 说 明 书 3/14 页 请求报文的步骤,包括: 采用预设的代理模式创建与所述第一请求报文对应的代理对象,其中所述代理对 象中包含了请求终端的回调函数和回调属性; 把所述代理对象封装到预设的内部参数中,从而得到代理参数; 将所述第一请求报文的格式转换为指定报文格式,从而得到暂时报文,并将所述 代理参数写入所述暂时报文,从而得到中间请求报文。 进一步地,所述利用所述第二中间件的第二备用通信端口,将所述中间请求报文 发送至所述第一请求报文指定的最终组件的步骤之后,包括: 获取的述第一中间件的第二流量数据,其中所述第二流量数据在时间上承接所述 第一流量数据; 根据所述负荷计算方法,利用所述第二流量数据,计算出所述第一中间件的二次 负荷数值,并判断所述二次负荷数值是否大于所述负荷阈值; 若所述二次负荷数值大于所述负荷阈值,则根据预设的组件筛选方法,从与所述 第一中间件保持通信连接的多个组件中筛选出备用组件,其中所述备用组件能够被改造为 第三中间件; 根据预设的中间件改造方法,将所述备用组件改造为第三中间件,并开放所述备 用组件的第三备用通信端口和第四备用通信端口,其中所述第三备用通信端口用于接收请 求报文,所述第四备用通信端口用于发送请求报文; 根据预设的请求报文分类方法,将所述第二请求报文分类为第三请求报文和第四 请求报文,其中所述第三请求报文来自于与所述第三中间件匹配的请求终端; 利用所述第三中间件的第三备用通信端口,接收所述第三请求报文,并采用预设 的数据处理方法处理所述第三请求报文,从而得到间接请求报文; 利用所述第三中间件的第四备用通信端口,将所述间接请求报文发送至所述第三 请求报文指定的最终组件。 本申请提供一种基于中间件的请求发送装置,包括: 第一流量数据获取单元,用于获取预设的第一中间件的第一流量数据; 负荷数值判断单元,用于根据预设的负荷计算方法,利用所述第一流量数据,计算 出所述第一中间件的负荷数值,并判断所述负荷数值是否大于预设的负荷阈值; 指定组件筛选单元,用于若所述负荷数值大于预设的负荷阈值,则通过预设的组 件筛选方法,从与所述第一中间件保持通信连接的多个组件中筛选出指定组件,其中所述 指定组件能够被改造为第二中间件; 第二中间件改造单元,用于根据预设的中间件改造方法,将所述指定组件改造为 第二中间件,并开放所述指定组件的第一备用通信端口和第二备用通信端口,其中所述第 一备用通信端口用于接收请求报文,所述第二备用通信端口用于发送请求报文; 请求报文分类单元,用于根据预设的请求报文分类方法,将所述第一中间件接收 到的请求报文分类为第一请求报文和第二请求报文,其中所述第一请求报文来自于指定类 型的请求终端,所述第二请求报文来自于除所述指定类型之外的其他请求终端; 中间请求报文获取单元,用于利用所述第二中间件的第一备用通信端口,接收所 述第一请求报文,并采用预设的数据处理方法处理所述第一请求报文,从而得到中间请求 7 CN 111600921 A 说 明 书 4/14 页 报文; 中间请求报文发送单元,用于利用所述第二中间件的第二备用通信端口,将所述 中间请求报文发送至所述第一请求报文指定的最终组件。 本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程 序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。 本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序 被处理器执行时实现上述任一项所述的方法的步骤。 本申请的基于中间件的请求发送方法、装置、计算机设备和存储介质,获取预设的 第一中间件的第一流量数据;利用所述第一流量数据,计算出所述第一中间件的负荷数值; 若所述负荷数值大于预设的负荷阈值,则通过预设的组件筛选方法,从与所述第一中间件 保持通信连接的多个组件中筛选出指定组件;将所述指定组件改造为第二中间件,并开放 所述指定组件的第一备用通信端口和第二备用通信端口;将所述第一中间件接收到的请求 报文分类为第一请求报文和第二请求报文;利用所述第二中间件的第一备用通信端口,接 收所述第一请求报文,并处理所述第一请求报文,从而得到中间请求报文;利用所述第二中 间件的第二备用通信端口,将所述中间请求报文发送至所述第一请求报文指定的最终组 件。从而在保证结构体系基本不变的前提下,减轻了中间件的负荷。 附图说明 图1为本申请一实施例的基于中间件的请求发送方法的流程示意图; 图2为本申请一实施例的基于中间件的请求发送装置的结构示意框图; 图3为本申请一实施例的计算机设备的结构示意框图。 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
分享到:
收藏