1.一种基于滑动窗口的消息消费方法,其特征在于,所述方法包括:在消息生产者和消息消费者之间部署消息中间件,所述消息中间件用于实现所述消息生产者与消息消费者之间的消息传递;通过所述消息中间件将所述消息生产者生成的消息发送至消息消费者进行消费时,构建第一滑动窗口记录所述消息中间件中的待发送消息和发送中消息,并构建第一位图表存储所述第一滑动窗口记录的信息;通过所述消息中间件接收所述消息消费者在消费完成后回复的已确认消费消息时,构建第二滑动窗口记录所述消息中间件是否接收到已确认消费消息,并构建第二位图表存储所述第二滑动窗口记录的信息;在所述消息中间件上同步滑动所述第一滑动窗口与第二滑动窗口,并当所述第二滑动窗口记录到所述消息中间件接收到已确认消费消息时,将所述已确认消费消息的最小位移存储至本地磁盘中,直至所述消息中间件发布的所有消息消费完成;其中,所述第一位图表将所述第一滑动窗口记录的待发送消息标记为0,将所述第一滑动窗口记录的发送中消息标记为1;所述第二位图表在所述第二滑动窗口记录到所述消息中间件接收到已确认消费消息时,将所述已确认消费消息标记为1,所述第二位图表在所述第二滑动窗口记录到所述消息中间件未接收到已确认消费消息时,将所述已确认消费消息标记为0。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据消息消费者所需消息的主题将设定数量的消息消费者汇集为消费者组,所述消费者组中的所有消息消费者共享消费同一主题内的消息,且一个主题内的消息至少由一个消费者组进行消费。
3.根据权利要求1所述的方法,其特征在于,所述消息消费者在消费完成后回复的已确认消费消息为ACK;通过所述消息中间件接收所述消息消费者在消费完成后回复的已确认消费消息,包括:所述消息消费者在接收到所述消息中间件发送的消息后,将消息移交至上层应用进行业务处理,并在业务处理完成后,手动发送ACK至消息中间件。
4.根据权利要求1所述的方法,其特征在于,所述第一滑动窗口与所述第二滑动窗口的大小一致,且二者在消息中间件上的起始位移与结束位移一致。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当发送中消息被消息消费者进行消费,但消息消费者未回复已确认消费消息时,所述第一位图表将所述第一滑动窗口记录的发送中消息的标记复位为0;当发送中消息被消息消费者进行消费,且消息消费者回复已确认消费消息时,所述第一位图表将所述第一滑动窗口记录的发送中消息的标记维持为1。
6.根据权利要求1所述的方法,其特征在于,在当所述第二滑动窗口记录到所述消息中间件接收到已确认消费消息时,将所述已确认消费消息的最小位移存储至本地磁盘中之后,还包括:当消息生产者与消息消费者之间的消息消费重启时,将所述本地磁盘中存储的最小位移加载至消息中间件中,所述消息中间件继续将所述最小位移对应位置的消息发送至消息消费者进行消费。
7.一种基于滑动窗口的消息消费装置,其特征在于,所述装置包括:预部署模块,用于在消息生产者和消息消费者之间部署消息中间件,所述消息中间件用于实现所述消息生产者与消息消费者之间的消息传递;第一滑动窗口构建模块,用于通过所述消息中间件将所述消息生产者生成的消息发送至消息消费者进行消费时,构建第一滑动窗口记录所述消息中间件中的待发送消息和发送中消息,并构建第一位图表存储所述第一滑动窗口记录的信息;第二滑动窗口构建模块,用于通过所述消息中间件接收所述消息消费者在消费完成后回复的已确认消费消息时,构建第二滑动窗口记录所述消息中间件是否接收到已确认消费消息,并构建第二位图表存储所述第二滑动窗口记录的信息;窗口滑动模块,用于在所述消息中间件上同步滑动所述第一滑动窗口与第二滑动窗口,并当所述第二滑动窗口记录到所述消息中间件接收到已确认消费消息时,将所述已确认消费消息的最小位移存储至本地磁盘中,直至所述消息中间件发布的所有消息消费完成;其中,所述第一位图表将所述第一滑动窗口记录的待发送消息标记为0,将所述第一滑动窗口记录的发送中消息标记为1;所述第二位图表在所述第二滑动窗口记录到所述消息中间件接收到已确认消费消息时,将所述已确认消费消息标记为1,所述第二位图表在所述第二滑动窗口记录到所述消息中间件未接收到已确认消费消息时,将所述已确认消费消息标记为0。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。