【技术实现步骤摘要】
基于消息队列和fastDFS微服务架构的异步文件导出方法及系统
本专利技术涉及文件管理
,具体地说是一种基于消息队列和fastDFS微服务架构的异步文件导出方法及系统。
技术介绍
传统的同步导出下载虽然可以满足80%的文件导出需求,但是对于数据量大,业务拼接复杂的系统来说,等待时间较长甚至超时、用户体验较差、对系统服务实时压力较大等都是不可避免的。常用的java导出方式有poi和流式两种导出方式,通过poi方式导出,会实时占用大量内存,一旦有其他多线程并发就会出现内存溢出的场景,导致系统崩溃,而流式导出的方式虽然一定程度上可以满足当前需求的需要,但也是在实时占用系统的IO,很容易导致后续操作等待等问题。而异步文件生成及下载是基于微服务思想独立于业务模块之外单独运行,不对业务组件造成影响,通过业务类型、文件类型等将不同的业务场景进行逻辑分离处理,能让业务线程、文件异步生成线程在后台运行,没有等待时间,处理完成后通知前台进行展示下载即可,这种方式不仅大大降低了对业务组件的压力,而且提高了用户体验。其实这种场景在现实 ...
【技术保护点】
1.一种基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,该方法是通过认证授权模块、消息组装及推送模块、消息消费处理模块、文件异步生成及上传模块和异步下载模块完成对文件的异步生成及下载,通过消息队列完成分布式部署,进而实现各模块之间松耦合;具体如下:/nS1、用户在浏览器登录,向认证授权模块的授权认证服务请求认证授权;/nS2、认证授权通过后,用户选择需要导出的数据进行导出操作,消息组装及推送模块将消息自动根据业务进行区分处理,并组装消息;/nS3、消息消费处理模块接收到组装消息后,进行逻辑处理,并异步获取到需要导出的数据集;/nS4、文件异步生成及上传 ...
【技术特征摘要】
1.一种基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,该方法是通过认证授权模块、消息组装及推送模块、消息消费处理模块、文件异步生成及上传模块和异步下载模块完成对文件的异步生成及下载,通过消息队列完成分布式部署,进而实现各模块之间松耦合;具体如下:
S1、用户在浏览器登录,向认证授权模块的授权认证服务请求认证授权;
S2、认证授权通过后,用户选择需要导出的数据进行导出操作,消息组装及推送模块将消息自动根据业务进行区分处理,并组装消息;
S3、消息消费处理模块接收到组装消息后,进行逻辑处理,并异步获取到需要导出的数据集;
S4、文件异步生成及上传模块根据数据集生成临时文件,并上传到fastDFS文件系统中进行临时存储,存储完成后更新库中文件状态;
S5、文件生成处理完成后,页面展示下载的文件,用户通过异步下载模块直接将数据导出。
2.根据权利要求1所述的基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,所述步骤S1中的认证授权模块用于对登录用户进行授权认证,认证通过才能够对文件进行导出操作。
3.根据权利要求1所述的基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,所述步骤S2中认证授权通过后,消息组装及推送模块生成一条状态为生成中的记录,组装消息体发送到消息消费处理模块。
4.根据权利要求1或2或3所述的基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,所述步骤S2中组装消息的格式根据导出类型决定,导出类型包括直接执行sql查询数据的方式导出和通过调用接口的方式获取数据后导出。
5.根据权利要求1所述的基于消息队列和fastDFS微服务架构的异步文件导出方法,其特征在于,所述步骤S3中消息消费处理模块...
【专利技术属性】
技术研发人员:徐士强,魏金雷,杨继伟,
申请(专利权)人:山东汇贸电子口岸有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。