Class ChunkMessageService

java.lang.Object
com.bytedesk.kbase.llm_chunk.mq.ChunkMessageService

@Service public class ChunkMessageService extends Object
Chunk消息服务 使用核心模块中的JmsTemplate发送Chunk索引请求 优化了批处理逻辑,避免大文件处理时的并发问题
  • Field Details

    • jmsTemplate

      @Autowired private org.springframework.jms.core.JmsTemplate jmsTemplate
    • random

      private final Random random
  • Constructor Details

    • ChunkMessageService

      public ChunkMessageService()
  • Method Details

    • sendToIndexQueue

      public void sendToIndexQueue(String chunkUid)
      发送单个Chunk到索引队列
      Parameters:
      chunkUid - Chunk的唯一标识
    • sendToIndexQueue

      public void sendToIndexQueue(String chunkUid, String fileUid)
      发送单个Chunk到索引队列,附带文件UID信息
      Parameters:
      chunkUid - Chunk的唯一标识
      fileUid - 文件UID
    • sendToDeleteQueue

      public void sendToDeleteQueue(String chunkUid)
      发送Chunk删除请求到索引队列
      Parameters:
      chunkUid - Chunk的唯一标识
    • sendToDeleteQueue

      public void sendToDeleteQueue(String chunkUid, String fileUid)
      发送Chunk删除请求到索引队列,附带文件UID信息
      Parameters:
      chunkUid - Chunk的唯一标识
      fileUid - 文件UID
    • batchSendToIndexQueue

      public void batchSendToIndexQueue(List<String> chunkUids, String fileUid)
      批量发送Chunk到索引队列 优化了大文件处理的批量策略,减少并发冲突
      Parameters:
      chunkUids - Chunk唯一标识列表
      fileUid - 文件UID(用于分组)
    • processBatch

      private void processBatch(List<String> batch, String fileUid, String batchId, int startIndex, int totalCount)
      处理一批Chunk索引请求 为每个消息设置递增延迟,避免并发冲突
      Parameters:
      batch - Chunk唯一标识批次
      fileUid - 文件UID
      batchId - 批次ID
      startIndex - 起始索引
      totalCount - 总数量
    • batchSendToDeleteQueue

      public void batchSendToDeleteQueue(List<String> chunkUids, String fileUid)
      批量发送文件的所有Chunk删除请求
      Parameters:
      chunkUids - Chunk唯一标识列表
      fileUid - 文件UID
    • sendChunkCompleteNotification

      public void sendChunkCompleteNotification(String chunkUid, String fileUid, String status, String processType)
      发送chunk处理完成通知 用于统计文件处理进度
      Parameters:
      chunkUid - Chunk UID
      fileUid - 文件UID
      status - 处理状态
      processType - 处理类型