若依架构下的质检项目的记录

本文介绍了如何使用生产者消费者模型处理录音文件。生产者定时读取Excel文件,通过Redis避免重复读取,将录音URL存入数据库,并调用阿里云ASR服务获取taskid。消费者监听RocketMq消息,获取taskid完成转写文本,进一步进行质检处理并保存结果。
摘要由CSDN通过智能技术生成

设计模式:

生产者和消费者模型

逻辑设计:
1.生产者

定时任务从服务器A的文件夹上读取保存有前十分钟录音url的Execl文件;

将Execl中的录音url进行一定的判断,存放到一个map集合中;

在这里,服务器A中文件夹中存放的录音Execl是保存一定时间的,在这里,避免重复读取Execl文件,使用Redis,把读取过的Execl文件路径名保存到redis,设置一定生命周期

redisTemplate.opsForValue().set("nls:" + sourceProperties.getSourceName()[i] + ":" + urlStr, 1, 5, TimeUnit.DAYS);

将map集合中的录音url传递到接口中的方法中,进行url唯一性验证,将录音格式保存到数据库表B中;

调用阿里云的ASR服务,获取taskid,将taskid保存到数据库表B中;

这里使用RocketMq,把这个B对象给消费者来消费;

 rocketMqHelper.asyncSend("NLS_VOICE_TOPIC", MessageBuilder.withPayload(nlsVoiceName).build());

基本上把这个对象作为参数了

 2.消费者

@RocketMQMessageListener(consumerGroup = "${rocketmq.producer.groupName}", topic = "NLS_VOICE_TOPIC")

这里拿到B对象的所有数据,获取该录音对应的taskid,调用阿里ASR,根据taskid来异步获取该录音对于的转写文本;

抽取出转写文本中的核心文本,将文本保存到数据表表B中;

将对象B作为参数传递给质检算法的方法中,得到质检结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值