Package com.bytedesk.kbase.llm_chunk.mq
Class ChunkMessageService
java.lang.Object
com.bytedesk.kbase.llm_chunk.mq.ChunkMessageService
Chunk消息服务
使用核心模块中的JmsTemplate发送Chunk索引请求
优化了批处理逻辑,避免大文件处理时的并发问题
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.springframework.jms.core.JmsTemplateprivate final Random -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbatchSendToDeleteQueue(List<String> chunkUids, String fileUid) 批量发送文件的所有Chunk删除请求voidbatchSendToIndexQueue(List<String> chunkUids, String fileUid) 批量发送Chunk到索引队列 优化了大文件处理的批量策略,减少并发冲突private voidprocessBatch(List<String> batch, String fileUid, String batchId, int startIndex, int totalCount) 处理一批Chunk索引请求 为每个消息设置递增延迟,避免并发冲突voidsendChunkCompleteNotification(String chunkUid, String fileUid, String status, String processType) 发送chunk处理完成通知 用于统计文件处理进度voidsendToDeleteQueue(String chunkUid) 发送Chunk删除请求到索引队列voidsendToDeleteQueue(String chunkUid, String fileUid) 发送Chunk删除请求到索引队列,附带文件UID信息voidsendToIndexQueue(String chunkUid) 发送单个Chunk到索引队列voidsendToIndexQueue(String chunkUid, String fileUid) 发送单个Chunk到索引队列,附带文件UID信息
-
Field Details
-
jmsTemplate
@Autowired private org.springframework.jms.core.JmsTemplate jmsTemplate -
random
-
-
Constructor Details
-
ChunkMessageService
public ChunkMessageService()
-
-
Method Details
-
sendToIndexQueue
发送单个Chunk到索引队列- Parameters:
chunkUid- Chunk的唯一标识
-
sendToIndexQueue
发送单个Chunk到索引队列,附带文件UID信息- Parameters:
chunkUid- Chunk的唯一标识fileUid- 文件UID
-
sendToDeleteQueue
发送Chunk删除请求到索引队列- Parameters:
chunkUid- Chunk的唯一标识
-
sendToDeleteQueue
发送Chunk删除请求到索引队列,附带文件UID信息- Parameters:
chunkUid- Chunk的唯一标识fileUid- 文件UID
-
batchSendToIndexQueue
批量发送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- 文件UIDbatchId- 批次IDstartIndex- 起始索引totalCount- 总数量
-
batchSendToDeleteQueue
批量发送文件的所有Chunk删除请求- Parameters:
chunkUids- Chunk唯一标识列表fileUid- 文件UID
-
sendChunkCompleteNotification
public void sendChunkCompleteNotification(String chunkUid, String fileUid, String status, String processType) 发送chunk处理完成通知 用于统计文件处理进度- Parameters:
chunkUid- Chunk UIDfileUid- 文件UIDstatus- 处理状态processType- 处理类型
-