当前位置: 首页 > article >正文

大数据量处理以及结果导出技术方案

1 方案

(1)数据处理接口
采用异步处理数据,快速返回一个redis的key。异步处理结果以excel等文件形式存储于oss等文件存储系统中,并以接口返回的key作为redis的key,oss下载地址作为值将下载地址存储于redis中,设置一定的过期时间。

(2)结果导出接口
通过数据处理接口返回的key获取下载地址。页面直接访问该链接地址获取处理结果并自动导出。

2 示例

示例代码如下所示。

/**
 * 数据处理接口
 */
@GetMapping("/testDealData")
@ResponseBody
public WebResponse<String> testDealData() {
	try {
		String resultKey = IdUtil.getSnowflakeNextIdStr();
		CommonThreadPoolUtil.submitTask("数据处理", () -> manualDealDataService.testDealData(resultKey));
		return WebResponse.success(resultKey);
	} catch (Exception e) {
		log.error("数据处理失败。", e);
		return WebResponse.error("数据处理失败");
	}
}

/**
 * 结果导出接口
 */
@GetMapping("/downloadResult/{resultKey}")
public String downloadResult(@PathVariable("resultKey") String resultKey) {
	return (String) RedisUtil.get(resultKey);
}


http://www.kler.cn/a/227805.html

相关文章:

  • springboot集成钉钉,发送钉钉日报
  • C# Winform制作一个登录系统
  • Linux 进程概念
  • WINDOWS安装eiseg遇到的问题和解决方法
  • 探索性测试与自动化测试的结合
  • 剑指 Offer II 007. 数组中和为 0 的三个数
  • 【数据结构】分治策略
  • vue2学习笔记(2/2)
  • 使用 axios 请求库,设置请求拦截
  • 命令注入漏洞原理以及修复方法
  • 解释 Python 中的描述符(Descriptor)是什么?如何在 Python 中实现一个简单的 ORM(对象关系映射)?
  • Golang中的HTTP请求凝聚器
  • C语言标准库所有字符串操作库函数汇总
  • ruoyi(若依)(el-menu也可参考)菜单栏过长显示省略号才显示气泡
  • SVDiff: Compact Parameter Space for Diffusion Fine-Tuning——【论文笔记】
  • 聊聊PowerJob的ContainerController
  • Vue中跨域问题的解决
  • 红队渗透靶机:LORD OF THE ROOT: 1.0.1
  • 聊聊并发编程,另送5本Golang并发编程新书
  • LeetCode--代码详解 1.两数之和
  • 为 Windows10 22H2 启用 Microsoft Copilot 功能
  • Android 中的卡顿优化
  • 【JavaEE进阶】 图书管理系统开发日记——肆
  • 1452 - Cannot add or update a child row
  • ES证书过期,错误信息: current license is non-compliant for [security]
  • 大数据信用报告在线查询平台哪个好?