标签: streaming

C#、Sql Server 2008:将大型结果集流式传输给最终用户仅适用于某些数据库

我有一个长时间运行的查询,返回一个大数据集。该查询是从 Web 服务调用的,结果会转换为 CSV 文件供最终用户使用。以前的版本需要 10 多分钟才能运行,并且只有在查询完成后才会将结果返回给最终用户。

我将查询重写为在大多数情况下在一分钟左右运行的位置,并重写了它的访问方式,以便结果在从数据库服务器进入 asp.net Web 服务时将流式传输到客户端。我使用 SQL Server 的本地实例以及远程实例对此进行了测试,没有出现任何问题。

现在,在生产部署的关键时刻,我们的生产 SQL Server 机器似乎在查询完成执行之前不会将任何结果发送回 Web 服务。此外,我发现另一台机器与工作的远程服务器(克隆)相同,也没有流式传输结果。

所有计算机上的 SQL Server 2008 版本都是相同的。生产计算机安装的 Windows Server 版本略有不同(6.0 与 6.1)。生产服务器有 4 个核心,RAM 是其他服务器的几倍。其他服务器是单核、1GB 内存。

有什么设置会导致这种情况吗?或者我可以设置任何设置来阻止 SQL Server 缓冲结果吗?

尽管我知道这根本不会真正影响整体运行时间,但它会极大地改变最终用户的看法。

太长;博士;我需要在查询运行时将查询结果流式传输给最终用户。它适用于某些数据库机器,但不适用于其他数据库机器。所有计算机都运行相同版本的 SQL Server。

我在 C# 中所做的事情的要点:

var reader = cmd.ExecuteReader();
Response.Write(getHeader());
while(reader.Read())
{
  Response.Write(getCSVForRow(reader));
  if(shouldFlush()) Response.Flush()
}
Run Code Online (Sandbox Code Playgroud)

根据以下回复进行澄清

有 4 个数据库服务器,Local、Prod、QA1、QA2。它们都运行 SQL Server 2008。它们都加载了相同的数据库(或多或少,非产品上有 1 天的延迟)。

Web 服务托管在我的计算机上(尽管我也测试过远程托管)。

测试之间唯一的变化是 web.config 中的连接字符串。

QA2 正在运行(流式传输),它是 QA1(VM)的克隆。QA1 和 QA2 之间的唯一区别是 QA2 上添加的数据库与此查询根本无关。

QA1 不起作用。 …

c# sql-server streaming resultset

5
推荐指数
1
解决办法
4116
查看次数

将 Python 脚本的状态流式传输到网站

我有一个简单的工作流程[Step 0]->[1]->[2]->...->[Step N]。主程序知道它当前所处的步骤(状态)。

我想将其实时传输到网站(在局域网中),以便当我的同事打开时,例如,http://thecomputer:8000他们可以看到我们工作流程当前状态的实时渲染以及任何相关细节。

我已经考虑过将脚本的状态写入一个StringIO对象(流式传输到它)并用于Javascript刷新浏览器,但老实说我不知道​​如何实际执行此操作。

有什么建议吗?

javascript python streaming real-time

5
推荐指数
1
解决办法
1121
查看次数

如何使用 MP4Box 创建 mpd 文件

我是 GPAC 的 MP4Box 工具的新手。使用它,我们可以为 DASH 创建 MPD(媒体演示描述)文件。我不知道该怎么做。

有人使用此工具为视频文件创建 MPD 吗?

streaming mp4box

5
推荐指数
1
解决办法
9178
查看次数

Storm动态拓扑

Storm 支持动态拓扑吗?我想要的功能是在 Storm 拓扑运行时根据用户要求动态更改拓扑。例如,当用户想知道流的前 10 个单词时,我使用前 10 个 Bolt 来处理它,当用户想知道其他内容时,我使用另一个 Bolt 来处理流并“拔出”顶部 10 螺栓。

我知道可以通过分区流或复制流并始终运行每个功能并仅演示我们想要的数据来完成,或者我们可以关闭流并更新另一个拓扑,但是是否有“热插件”方式要做到这一点?

streaming apache-storm

5
推荐指数
2
解决办法
4643
查看次数

将数据从 Google Sheets 流式传输到 BigQuery 以在 Tableau 中进行可视化

我正在尝试创建从 Google Sheets 到 BigQuery 的定时自动数据上传,以便我可以在 Tableau 中可视化数据。数据源自 import.io。

基于已经能够使用 Google Apps 脚本从 Google Sheets 文件创建 .csv,并将 .csv 文件一次性上传到 BigQuery。但是,这不能用作重复解决方案,因为 BigQuery 加载脚本需要 .csv 文件的静态 URL(并且每个 .csv 下载文件都有一个唯一的 URL)。

我相信来自Google Sheets的流数据,或者直接来自但是,在研究了Google BigQuery Analytics之后还无法解决这个问题。

将数据从 Google Sheets 流式传输到 BigQuery 需要执行哪些步骤?

streaming google-sheets google-bigquery import.io

5
推荐指数
1
解决办法
1344
查看次数

在 Azure Blob 存储中查找音频文件

我在 Azure Blob 存储中有不同类型的音频文件(wav、mp3...)。我想流式传输它们,但我也想从音频文件中的特定位置流式传输它们。例如,我希望一个流在文件的 0:00 秒开始,另一个流在文件的 01:15 秒开始。

这有可能吗?我知道有“DownloadRangeToStream”方法。用这个方法可以实现吗?即使这有效,我认为偏移量也会出现问题,因为文件头丢失了,对吗?

我将不胜感激任何意见!

感谢您的帮助,新陈代谢

streaming azure azure-blob-storage

5
推荐指数
2
解决办法
5034
查看次数

如何在Spring Integration中实现这个TCP流读取器?

我想要一个流读取器的 Spring Integration 实现。另一个应用程序(java 之外)将数据流(由美元符号分隔)发送到端口 9999。该服务器侦听

首先,我通过使用连接来确保流正在流式传输telnet 127.0.0.1 9999

然后我使用以下方法创建了一个简单的java应用程序。目前正在运行。

public void readStream() throws IOException{
    Scanner s = null;
    try {
        Socket skt = new Socket("localhost", 9999);
        BufferedReader bufferedReader = new BufferedReader(
                new InputStreamReader(
                        skt.getInputStream()));
        s = new Scanner(bufferedReader);
        s.useDelimiter("[$]");
        System.out.println(s);
        while (s.hasNext()) {
            System.out.println("----------------------");
            System.out.println(s.next());
        }
    } finally {
        if (s != null) {
            s.close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想在 Spring Integration 框架中实现这一点。我查看了https://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-serverhttp://docs.spring.io/autorepo/docs/spring-integration /2.0.0.M3/spring-integration-reference/html/stream.html。但我很困惑从哪里开始?连接到发送应用程序需要什么?(我对 Spring 框架真的很陌生。)

对我来说,困难在于术语。我应该创建 TCP 入站网关吗?或者接收通道适配器?或者是出站,因为我正在请求流?

加里评论后编辑:

<bean …
Run Code Online (Sandbox Code Playgroud)

java streaming spring tcp spring-integration

5
推荐指数
1
解决办法
1667
查看次数

CSCore-实时流式传输系统音频

如何实时流式传输CSCore捕获的声卡输出音频?是否可以使用 FFMpeg 等库将其编码为 MPEG 音频流,然后使用 WebSocket 进行流式传输?

audio streaming ffmpeg websocket cscore

5
推荐指数
0
解决办法
676
查看次数

Okhttp 向服务器发送流请求

我目前正在使用 OkHttp 向服务器发送语音请求。我记录并收集整个数据,然后将请求发送到服务器。我可以使用 OkHttp 在记录自身的同时将数据请求流式传输到服务器吗?

streaming android okhttp

5
推荐指数
1
解决办法
3284
查看次数

使用 nginx-rtmp 模块的 HLS 片段长度和播放列表长度

我在 Amazon Linux 上安装了 nginx 和 nginx-rtmp 模块。RTMP 流工作正常,但有关 HLS 的某些配置不起作用。

在配置文件上,

rtmp {    
    server {    
        listen 1935;    
        max_streams 32;    
        chunk_size 4096;    

        access_log /var/log/nginx/rtmp_access.log;    
         application live {    
            live on;    
            hls on;    
            hls_path /usr/local/nginx/html/hls;    
            hls_playlist_length 4s;    
            hls_fragment 1s;    
            hls_continuous on;    
        }    
    }    
Run Code Online (Sandbox Code Playgroud)

但是当我开始流式传输时,.m3u8 文件是这样创建的

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:8
#EXT-X-DISCONTINUITY
#EXTINF:8.333,
test-0.ts
#EXTINF:8.333,
test-1.ts
#EXTINF:8.334,
test-2.ts
Run Code Online (Sandbox Code Playgroud)

这些 .ts 文件长度和播放列表长度不是预期的。为什么?

streaming nginx http-live-streaming

5
推荐指数
1
解决办法
1万
查看次数