首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么Java/设计模式可以用于长时间运行的同步进程?

什么Java/设计模式可以用于长时间运行的同步进程?
EN

Stack Overflow用户
提问于 2010-11-30 00:58:48
回答 2查看 1.8K关注 0票数 1

我在工作中遇到了类似于here线程的情况。区别在于我们没有使用web服务。相反,我们使用的是一个网络应用程序。我们有一个要求,允许用户下载至少30列的8000条记录,这些记录通过jxl写入excel文件。

这是一个长时间运行的过程,由于我不知道的原因,不能异步执行。它的内存占用也很大,大约在500-800 MB之间。最重要的是,它平均需要2分10秒才能完成。

我们目前正在做的是通过jms将此需求从应用程序服务器委托到进程之外。应用服务器将请求发送给代理,然后消费者从队列中获取请求,对其进行处理,并将excel文件的url发回。

我对此有些疑虑,因为我一直在阅读关于JMS的文章,建议的大多数用例都涉及异步请求,这样用户就不必等待很长时间,比如发送电子邮件、发送审批请求、开发票。这个thread中有很多示例,建议的用例可以异步完成。因此,我们目前的解决方案听起来像是一个黑客,而不是一个真正的解决方案。

有什么建议,模式可以做,以进一步改善这一进程?

编辑:不幸的是,无法消除“同步性”--如果您可以将其称为特性的话,因为它是业务需求。因此,我正在寻找能够提高性能和减少进程堆内存使用的答案/调整/技巧/模式。

EN

回答 2

Stack Overflow用户

发布于 2010-11-30 01:12:35

我理解得对吗?

  • 用户发出请求。在此请求期间,向user?

发送消息,

  • ,创建

文件,返回的JMS消息,然后将该消息发送给

如果是这样的话,我同意,这是对JMS异步性质的可怕滥用。

我要做的是:

立即向用户显示包含处理请求的文本的结果页,然后

  • 要么使用AJAX来轮询服务器的结果URL (可能会显示用户状态栏)
  • ,要么通过电子邮件

将URL发送到客户端。

票数 4
EN

Stack Overflow用户

发布于 2010-11-30 03:34:48

我不打算建议您如何使用JMS后端--它可能没有很好地使用,也可能使用不好--我不确定。

我们实现了一些类似的东西,下面是我们最终得到的结果(对于不同的用例,后端实现完全不同,但是“异步用户exp”匹配):

  1. 允许用户提交请求。
  2. 一旦收到(1),将作业提交到后端(JMS等.)并将其绑定到作业id
  3. 响应(1)是此(永久或临时)句柄--作业id,例如后端实现应该以设置作业状态(通过您给他们的句柄)
  4. 允许用户轮询作业状态(通过您给他们的句柄)的状态来结束,如果作业状态“正在进行”,告诉他们这样做(可能需要估计完成时间--这样他们就不会不必要地浪费时间轮询和负担)

H 113,如果状态“成功完成”,请向用户报告,其他数据(url等)用户将需要访问结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4311994

复制
相关文章
老王,怎么完整SQL的显示日志,而不是???...
在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate 、 MyBatis 等。
用户5224393
2019/10/16
1.4K0
如何下载完整的HLS流视频
需要从某网页下载一个视频文件,查看之后发现视频文件是用HLS视频流的,HLS全称Http Live Streaming,是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一部分是m3u8描述文件,另一部分是ts媒体文件
李俊鹏
2020/11/12
7.9K0
Struts Validator有没有办法只生成一些我们定制的?共用的进行引入
阅读更多 http://community.csdn.net/Expert/TopicView.asp?id=3874963 http://www.cjsdn.net/post/view?bid=2
阿敏总司令
2019/02/28
8670
狼厂项目实践:通用检索框架准实时流的设计与实现
检索对实时性的要求很高,不仅是对索引建立、结果召回、策略干扰等核心部分,也包括数据录入的部分。检索的数据流主要包括全量数据与增量数据,其中全量数据是在运行前就已经生成好的,在检索进程运行开始时就直接解析加载了,后面不会再产生,所以不会对录入有高实时性的需求;而增量数据理论上在整个检索进程运行过程中随时都可能新增,新增了就需要录入。所以,提高增量数据录入的实时性,对提升整个检索的性能有重要作用。
后端技术探索
2018/09/18
4350
狼厂项目实践:通用检索框架准实时流的设计与实现
腾讯实时音视频(TRTC)混流的原理
一、概念与原理: 首先,介绍一下混流的基本概念:将 TRTC 房间里的多路音视频流混合成一路,观众拉流是就可以观看到多个上行数据流的画面。并将最终生成的视频流分发给直播 CDN 和云端录制系统。 而混流的的原理包括: 云端混流包含解码、混合和再编码三个过程:
singleli
2022/11/28
2.8K0
EasyCVR视频平台无法播放WebRTC视频流的原因排查与解决办法
EasyCVR是我们所有平台中支持协议最广泛的视频管理平台,包括国标GB28181、RTSP/Onvif、海康SDK、大华SDK、Ehome等协议。在视频里的输出上,更是能支持RTSP、RTMP、FLV、HLS等多种格式的视频流分发,去年我们也实现了对WebRTC视频流的支持。
TSINGSEE青犀视频
2022/02/23
5300
通过WebRTC进行实时通信-从webcam获取视频流
在你的浏览器中打开 index.html,你将看到像下面这样子(当然是你的 webcam 中样子):
音视频_李超
2020/04/02
2.3K0
通过WebRTC进行实时通信-从webcam获取视频流
何时使用MongoDB而不是MySql
MySQL 和 MongoDB 是两个可用于存储和管理数据的数据库管理系统。MySQL 是一个关系数据库系统,以结构化表格格式存储数据。相比之下,MongoDB 以更灵活的格式将数据存储为 JSON 文档。两者都提供性能和可扩展性,但它们为不同的应用场景提供了更好的性能。
wayn
2023/08/09
1.1K0
何时使用MongoDB而不是MySql
视频直播:基于流计算 Oceanus(Flink) 的实时大屏分析
本方案结合腾讯云 CKafka、流计算 Oceanus、私有网络 VPC、商业智能分析BI等,对视频直播行业数字化运营进行实时可视化分析。分析指标包含观看直播人员的地区分布、各级别会员统计、各模块打赏礼物情况、在线人数等。
吴云涛
2021/08/17
2.7K0
视频直播:基于流计算 Oceanus(Flink) 的实时大屏分析
何时使用Kafka而不是RabbitMQ
Kafka 和 RabbitMQ 都是流行的开源消息系统,它们可以在分布式系统中实现数据的可靠传输和处理。Kafka 和 RabbitMQ 有各自的优势和特点,它们适用于不同的场景和需求。本文将比较 Kafka 和 RabbitMQ 的主要区别,并分析何时使用 Kafka 而不是 RabbitMQ。
wayn
2023/06/26
3950
何时使用Kafka而不是RabbitMQ
何时使用Elasticsearch而不是MySql
MySQL 和 Elasticsearch 是两种不同的数据管理系统,它们各有优劣,适用于不同的场景
wayn
2023/08/28
3460
何时使用Elasticsearch而不是MySql
何时使用Elasticsearch而不是MySql
MySQL 和 Elasticsearch 是两种不同的数据管理系统,它们各有优劣,适用于不同的场景。本文将从以下几个方面对它们进行比较和分析:
wayn
2023/08/09
7470
何时使用Elasticsearch而不是MySql
何时使用Kafka而不是RabbitMQ
Kafka 和 RabbitMQ 都是流行的开源消息系统,它们可以在分布式系统中实现数据的可靠传输和处理。Kafka 和 RabbitMQ 有各自的优势和特点,它们适用于不同的场景和需求。本文将比较 Kafka 和 RabbitMQ 的主要区别,并分析何时使用 Kafka 而不是 RabbitMQ。
wayn
2023/08/28
2930
何时使用Kafka而不是RabbitMQ
重要的是图表思维,而不是工具
很久没有作图了,主要是一时找不到应该练手的案例。 然后昨天逛网易数独栏目的数据新闻,看到一幅还不错的案例,对于我来说值得一试,然后就手痒给照葫芦画瓢弄出来了。(主要是其中涉及到的细节处理很麻烦) 当然过程是花了些时间的,主要是需要慢慢打磨其中的细节,需要利用很多技术来处理图形版面的交接位置。 令我感触最深的是,想要用ggplot2随心所欲的画图,ggplot2掌握的再熟练,也只是勉强过的了技术关,而图表背后的思维和结构更考验人,更具有挑战性。 好在我学习R语言之前,就已经利用Excel临摹了大量的高难度信息
数据小磨坊
2018/04/11
9370
重要的是图表思维,而不是工具
视频智能安防监控系统EasyNVR/EasyGBS如何获取RTSP视频流的实时快照图片?
作为一个网页无插件直播视频平台,TSINGSEE青犀视频各项产品可以说是行业内的积极开拓者,包括EasyNVR、EasyDSS等都已经在多个项目落地。TSINGSEE青犀视频安防视频智能监控系统支持视频直播、录像回放,同时视频流还可保存快照。
TSINGSEE青犀视频
2021/03/11
1.2K0
实时视频上的神经风格迁移(具有完整的可实现代码)
近几年来,经历了计算机视觉在生活中几乎每个角落的应用 - 得益于大量数据和超级动力GPU的可用性,这些GPU已经对卷积神经网络进行了训练和部署(CNN)超级容易。今天在机器学习中最有趣的讨论之一是它如何在未来几十年影响和塑造文化和艺术生产。神经风格迁移是卷积神经网络最具创造性的应用之一。
代码医生工作室
2019/06/24
4K0
实时视频上的神经风格迁移(具有完整的可实现代码)
EasyNVR平台视频流直播实时录像接口如何调用?
在EasyNVR的新功能开发时,鉴于大部分用户的需求,我们开发了视频直播实时录像的功能,也和大家分享过实现的方法,大家可以翻阅我们以前的博文进行了解。本文主要讲分享EasyNVR直播时实时录像调用的方法。
EasyNVR
2021/06/29
5570
EasyNVR视频流直播时实时录像开发过程分享
部分用户在使用EasyNVR的过程中,迫切希望我们能够提供视频流实时开启录像功能,并在点击结束录像的同时,将该时段的录像文件直接下载到用户本地。对该需求做评估后我们决定来实现该功能,因此在这里和大家分享一下我们的实现过程和方法。
TSINGSEE青犀视频
2021/06/15
4710
视频 | 机器人:我不是药神,我只医生的小帮手 | ICRA 2018
这里是,雷锋字幕组编译的 ICRA 2018 系列,带你了解机器人与自动化领域的最新研究成果。
AI科技评论
2018/07/27
3530
视频  | 机器人:我不是药神,我只医生的小帮手 | ICRA 2018
OpenCV实时美颜摄像并生成H264视频流
        为什么美颜摄像这么简单的功能,OpenCV这个开源项目网上很少有代码呢?对于在windows平台下,生成h264视频流也比价麻烦,没有现成的api可以使用,需要借助MinGw编译libx264,或者ffmpeg才能使用。
流川疯
2019/01/18
2.8K0

相似问题

从数据挖掘开始

62

ffmpeg不支持icod吗?我应该从哪里开始挖掘这个问题?

10

从哪里开始从GKMinmaxStrategist开始?

29

从rJava开始从哪里开始?

22

从PHP开始从哪里开始?

48
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档