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

一种基于人工智能模型动态消费消息的方法及装置

文献发布时间:2024-04-18 20:02:18


一种基于人工智能模型动态消费消息的方法及装置

技术领域

本发明涉及程序间通讯技术领域,尤其涉及为一种基于人工智能模型动态消费消息的方法及装置。

背景技术

随着互联网和云计算的快速发展,现代应用程序需要更高的可伸缩性、弹性和可靠性。分布式系统的出现使应用程序可以在多个服务器或主机上运行,这样可以提高性能和容错能力。然而,分布式系统引入了新的挑战,例如跨网络通信、数据一致性、消息传递和故障处理等。为了解决这些挑战,消息中间件应运而生。消息中间件成为了一种关键的解决方案。它提供了一种基于消息的通信模型,通过解耦合应用程序之间的通信,实现异步、可靠和高吞吐量的消息传递。现有的消息中间件已经非常的成熟,但是它任然存在一些问题。消息中间件在消息的生产和消费端都存在一些问题,但是本发明主要解决的是消费端的消费延迟问题。由于主流消息中介采用的是拉模式的消息传递模型,本发明也是解决拉模式下消息消费存在的问题。在拉模式中,消费者主动从消息中间件或消息队列中请求消息并进行消费。消费者控制消费的频率和时机,可以根据自身的处理能力和需求进行灵活调节。拉模式下的消费者需要轮询消息队列或定时拉取消息,以获取可用的消息进行处理。综上所述,拉模式存在以下主要问题:

1)需要消费者主动发起请求,增加了消费者的负担和网络开销。

2)消费者可能会频繁地请求消息,导致网络和系统资源的浪费。

3)不适用于实时性要求较高的场景,因为消息的传递时间可能受到拉取的频率和延迟的影响。

为了解决消息延迟的问题,一些消息中间件和消费者库提供了基于流的拉取功能,通过建立持久连接或流式传输方式,消费者可以实时接收消息流,并在需要时按需拉取消息。这样可以提供更低的延迟和相对较高的吞吐量。但上述解决方案仍然存在以下几种问题:

1)长连接维持:基于流的拉取通常需要建立和维护长时间的连接,以便实时接收消息流。这可能会增加服务器和客户端的资源消耗,并对网络和系统稳定性提出要求。长时间的连接还可能受到网络中断、超时和其他网络问题的影响。

2)吞吐量限制:基于流的拉取通常受到消费者的处理能力和网络带宽的限制。如果消费者的处理速度或网络带宽不足以满足消息的传输需求,系统的吞吐量可能会受到限制。

发明内容

针对现有技术存在的不足,本发明目的是提供一种基于人工智能模型动态消费消息的方法及装置,用于解决当前方案存在不足之处,通过采集历史消息的发送时间规律,利用人工智能技术构建预测模型对消息发送的规律进行预测,从而有效的控制消息的拉取时机与频率,做到降低消息消费延迟的同时降低连接数量,进而也提升了消息消费的吞吐量。

为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于人工智能模型动态消费消息的方法及装置,包括消息发送时间采集模块、消息发送时间预测模块和消息拉取模块;

所述消息发送时间采集模块用于按照周期统计消息发送的时间;

所述消息发送时间预测模块用于对消息发送的时间预测模型进行训练并预估消息发送时间;

所述消息拉取模块用于消息拉取并反馈消息拉取时间。

进一步地,所述消息发送时间采集模块包括如下功能:时间窗口设置、消息计数器、定时重置和统计信息。

进一步地,所述消息发送时间采集模块还包括如下步骤:

步骤S1、定义一个时间窗口,这将确定消息发送频率的统计间隔,这个时间窗口由发送方设置,未设置默认为每秒钟;

步骤S2、创建一个计数器,用于跟踪在时间窗口内发送的消息数量,可以使用一个变量或计数器对象来记录发送的消息数;

步骤S3、根据时间窗口的设定,定期重置计数器,例如,如果时间窗口为每分钟,则每分钟结束时将计数器重置为0,以开始下一个时间窗口的统计;

步骤S4、提供获取统计信息的功能,例如时间窗口内发送的总消息数、平均每秒钟/每分钟/每小时发送的消息数等。

进一步地,所述消息发送时间预测模块包括如下功能:数据分析、特征提取、模型训练、模型评估和预测生成。

进一步地,所述消息发送时间预测模块还包括如下步骤:

步骤A1、对历史数据进行分析,探索消息发送时间的模式和趋势,可以使用统计方法、机器学习或时间序列分析等技术来分析数据;

步骤A2、从历史数据中提取有意义的特征,例如消息内容、发送方、接收方、网络延迟等,这些特征可以作为预测模型的输入;

步骤A3、根据提取的特征和目标变量(即消息发送时间),构建一个预测模型,通过线性回归算法构建模型;

步骤A4、使用历史数据的一部分进行模型评估,以衡量模型的准确性和性能,可以使用交叉验证、均方根误差(RMSE)、平均绝对误差(MAE)等指标进行评估;

步骤A5、根据新的消息特征,使用训练好的模型进行预测,得到消息发送时间的估计值。

进一步地,所述消息拉取模块包括如下功能:消息拉取、消息消费和息延迟反馈。

进一步地,所述消息拉取模块还包括如下步骤:

步骤B1、根据消息时间预估模型给出的时间拉取消息队列中的消息进行消费,消息拉取线程在线程池中管理;

步骤B2、拉取到消息后调用消费接口对消息进行相关业务逻辑处理;

步骤B3、消息拉取模块计算出每条消息的消费延迟并反馈给消息发送时间预测模块。

进一步地,一种基于人工智能模型动态消费消息的方法,并包括三个阶段:采集消费期、适应调整消费期和稳定消费期三个阶段。

进一步地,所述该方法还包括以下步骤:

步骤C1、整个装置启动后处于采样消费期,根据消息发送的频率给消息发送时间采集模块配置时间窗口,无法确定时,默认按照一秒作为采样周期,采样模块按照时间窗口到消息队列获取消息的发送时间,并将采集的消息发送时间整理后保存;

步骤C2、消息发送时间采集模块采集到的消息特征数据达到消息发送时间预测模块要求的数量之后,将样本数据打包压缩后传输给消息发送时间预测模块,同时采样模块继续进行消息发送特征信息的采集;

步骤C3、在上一步骤中,消息发送时间预测模块获取到消息发送时间采集模块发送的训练数据,消息发送时间预测模块从休眠模式转为训练模式,消息发送时间预测模块从训练数据中提取出模型需要的特征信息,通过线性回归算法构建预测模型,并对模型进行训练,训练结束之后,消息发送时间预测模块转为评估模式;

步骤C4、预测模型进入评估模式之后,利用消息发送时间采集模块发送的最新数据包对模型进行评估,评估指标不满足要求继续转入步骤C3进行训练,评估指标满足要求,模型进入预测模式,对消息发送时间进行预测,并把预测结果发送给消息拉取模块,整个装置进入适应调整消费期;

步骤C5、消息拉取模块收到消息发送时间预测模块的预测时间后,将按照固定时间间隔拉取消息调整为按照预测时间拉取消息,记录并反馈消息拉取时间与消息发送时间给预测模型;

步骤C6、预测模型根据多个周期消息消费的延迟时间判断预测模型是否转为训练模式继续优化调整预测模型的预测精度,消息消费延迟低于预定范围,整个系统进入稳定消费期,否则回到步骤C3。

进一步地,所述步骤C1采样模块还包括采集消息发送时间、采集消息长度、Topic和Partition消息特征信息。

本发明的有益效果:

1、本专利提出的方法通过线性回归算法模型对发送消息的时间进行预测,减少了消息拉取的次数与延时,能够在消息发送成功后的第一时间对消息进行拉取,也大大减少了消息空拉取的情况,对消费系统的性能提升与消息的及时性都有较大的提升。

2、率先提出将人工智能应用于消息队列,提升了消息中间件的性能。

3、打破传统的按照固定频率拉取消息的模式,采用态度调整的时间间隔拉取消息。

本发明更适用于消息发送具有一定规律的场景,在这样的场景下,本发明能够最大限度的减少消息消费的延时并提升消息消费的吞吐量。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明任务的核心流程图。

具体实施方式

为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。

请参阅图1,一种基于人工智能模型动态消费消息的方法及装置,包括消息发送时间采集模块、消息发送时间预测模块和消息拉取模块;

所述消息发送时间采集模块用于按照周期统计消息发送的时间;

所述消息发送时间预测模块用于对消息发送的时间预测模型进行训练并预估消息发送时间;

所述消息拉取模块用于消息拉取并反馈消息拉取时间。

所述消息发送时间采集模块包括如下功能:时间窗口设置、消息计数器、定时重置和统计信息。

所述消息发送时间采集模块还包括如下步骤:

步骤S1、定义一个时间窗口,这将确定消息发送频率的统计间隔,这个时间窗口由发送方设置,未设置默认为每秒钟;

步骤S2、创建一个计数器,用于跟踪在时间窗口内发送的消息数量,可以使用一个变量或计数器对象来记录发送的消息数;

步骤S3、根据时间窗口的设定,定期重置计数器,例如,如果时间窗口为每分钟,则每分钟结束时将计数器重置为0,以开始下一个时间窗口的统计;

步骤S4、提供获取统计信息的功能,例如时间窗口内发送的总消息数、平均每秒钟/每分钟/每小时发送的消息数等。

所述消息发送时间预测模块包括如下功能:数据分析、特征提取、模型训练、模型评估和预测生成。

所述消息发送时间预测模块还包括如下步骤:

步骤A1、对历史数据进行分析,探索消息发送时间的模式和趋势,可以使用统计方法、机器学习或时间序列分析等技术来分析数据;

步骤A2、从历史数据中提取有意义的特征,例如消息内容、发送方、接收方、网络延迟等,这些特征可以作为预测模型的输入;

步骤A3、根据提取的特征和目标变量(即消息发送时间),构建一个预测模型,通过线性回归算法构建模型;

步骤A4、使用历史数据的一部分进行模型评估,以衡量模型的准确性和性能,可以使用交叉验证、均方根误差(RMSE)、平均绝对误差(MAE)等指标进行评估;

步骤A5、根据新的消息特征,使用训练好的模型进行预测,得到消息发送时间的估计值。

所述消息拉取模块包括如下功能:消息拉取、消息消费和息延迟反馈。

所述消息拉取模块还包括如下步骤:

步骤B1、根据消息时间预估模型给出的时间拉取消息队列中的消息进行消费,消息拉取线程在线程池中管理;

步骤B2、拉取到消息后调用消费接口对消息进行相关业务逻辑处理;

步骤B3、消息拉取模块计算出每条消息的消费延迟并反馈给消息发送时间预测模块。

一种基于人工智能模型动态消费消息的方法,并包括三个阶段:采集消费期、适应调整消费期和稳定消费期三个阶段。

所述该方法还包括以下步骤:

步骤C1、整个装置启动后处于采样消费期,根据消息发送的频率给消息发送时间采集模块配置时间窗口,无法确定时,默认按照一秒作为采样周期,采样模块按照时间窗口到消息队列获取消息的发送时间,并将采集的消息发送时间整理后保存;

步骤C2、消息发送时间采集模块采集到的消息特征数据达到消息发送时间预测模块要求的数量之后,将样本数据打包压缩后传输给消息发送时间预测模块,同时采样模块继续进行消息发送特征信息的采集;

步骤C3、在上一步骤中,消息发送时间预测模块获取到消息发送时间采集模块发送的训练数据,消息发送时间预测模块从休眠模式转为训练模式,消息发送时间预测模块从训练数据中提取出模型需要的特征信息,通过线性回归算法构建预测模型,并对模型进行训练,训练结束之后,消息发送时间预测模块转为评估模式;

步骤C4、预测模型进入评估模式之后,利用消息发送时间采集模块发送的最新数据包对模型进行评估,评估指标不满足要求继续转入步骤C3进行训练,评估指标满足要求,模型进入预测模式,对消息发送时间进行预测,并把预测结果发送给消息拉取模块,整个装置进入适应调整消费期;

步骤C5、消息拉取模块收到消息发送时间预测模块的预测时间后,将按照固定时间间隔拉取消息调整为按照预测时间拉取消息,记录并反馈消息拉取时间与消息发送时间给预测模型;

步骤C6、预测模型根据多个周期消息消费的延迟时间判断预测模型是否转为训练模式继续优化调整预测模型的预测精度,消息消费延迟低于预定范围,整个系统进入稳定消费期,否则回到步骤C3。

所述步骤C1采样模块还包括采集消息发送时间、采集消息长度、Topic和Partition消息特征信息。

工作原理:步骤1,整个装置启动后处于采样消费期,首先根据消息发送的频率给采集模块配置时间窗口,如果无法确定,默认按照一秒作为采样周期。采样模块按照时间窗口到消息队列获取消息的发送时间,并将采集的消息发送时间整理后保存,本步骤采样模块主要采集消息发送时间,同时也会采集消息长度、Topic、Partition等消息特征信息;

步骤2,采集模块采集到的消息特征数据达到预测模块要求的数量之后,将样本数据打包压缩后传输给预测模块,同时采样模块继续进行消息发送特征信息的采集;

步骤3,在上一步骤中,预测模块获取到采集模块发送的训练数据,预测模块从休眠模式转为训练模式,预测模块首先从训练数据中提取出模型需要的特征信息,然后通过线性回归算法构建预测模型,并对模型进行训练,训练结束之后,预测模块转为评估模式;

步骤4,预测模型进入评估模式之后,利用采集模块发送的最新数据包对模型进行评估,如果评估指标不满足要求继续转入步骤3进行训练,如果评估指标满足要求,模型进入预测模式,对消息发送时间进行预测,并把预测结果发送给拉取模块,此时整个装置进入适应调整消费期;

步骤5,拉取模块收到预测模块的预测时间后,将按照固定时间间隔拉取消息调整为按照预测时间拉取消息,同时,记录并反馈消息拉取时间与消息发送时间给预测模型;

步骤6,预测模型根据多个周期消息消费的延迟时间判断预测模型是否转为训练模式继续优化调整预测模型的预测精度,如果消息消费延迟低于预定范围,整个系统进入稳定消费期,否则回到步骤3。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

相关技术
  • 一种基于图像识别的人工智能模型训练方法及装置
  • 一种基于智能推荐的消息推送方法、装置及终端设备
  • 一种基于短信的带格式多媒体内容消息下发接收方法及装置
  • JMS规范的Pub/Sub消息模型的消息生产消费方法
  • JMS规范的Pub/Sub消息模型的消息生产消费方法
技术分类

06120116585835