问题标签 [synchronisation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6112 浏览

opencv - 相机同步 OpenCV

我有立体摄像机系统。在我的程序中,我在两个线程中捕获来自每个相机的图像。(每个相机一个线程)。从每台相机收到图像后,我想用 OpenCV 处理它们。我怎么能对我的程序说,两个相机线程都有图像,我可以去处理它们?

我有另一个问题。从摄像头接收到的每个帧都有一个时间戳,由摄像头指定。如何匹配时间戳,以便从同时捕获的两个相机中获取图像?

0 投票
3 回答
336 浏览

php - PHP 会话同步

我正在用 PHP 开发一个 WebApp。用户将能够单击一个按钮,PHP 代码最终将调用系统执行程序。由于 WebApp 将使用 AJAX,因此用户可能会单击该按钮两次,或者确实单击另一个按钮会启动另一个执行进程。

现在,我知道我可以编写一些 javascript 来禁用按钮,直到单个事件完成。但是,这是客户端强制执行,很容易被覆盖。

我可以在 PHP 方面做些什么来阻止这样的事情发生吗?在我的脑海中,我有一个想法,让会话变量充当“信号量”,在执行每个脚本之前,将检查这个变量,并且必须在脚本继续之前返回 0。

我这样做对吗?或者这是否只是为死锁/竞争条件打开了一罐蠕虫?

谢谢

更新:只是把它放在上下文中,我正在开发的系统将用于启动、停止和重新映像虚拟专用服务器。如果按下重新映像按钮,PHP 脚本将调用一些 bash 脚本来开始重新映像 VPS。但是,如果用户在此过程中尝试启动 VPS....

0 投票
1 回答
188 浏览

browser - 浏览器之间的 MIDI 或 OSC 控件

我正在研究移动浏览器之间简单的音乐同步和控制(MIDI / OSC)的可能性,XMPP 似乎很有希望,但我没有找到合适的扩展。你有什么有用的指点吗?

此外,你觉得 xmpp 可能是要走的路,还是有更好的选择?“浏览器内”真的是必须的。

谢谢

0 投票
2 回答
1750 浏览

sql-server - 同步数据库时作为主键的唯一标识符

我花了一天中最好的时间研究和测试在 Mac 上将 SQL Server 数据库与 CoreData 同步的不同方法。我已经测试了 INT 和 GUID(也是顺序 GUID)作为我的主键,虽然 GUID 在性能方面是迄今为止最差的,但我看不出没有其他方法可以确保跨系统的唯一性。

在平台之间同步数据时,将 GUID 用于主键是否是错误的方式?我很难相信公司在同步时使用 GUID,但我读过的关于该主题的大多数文章似乎都指向这一点。如果开发人员使用 GUID,有人知道如何提高性能吗?我尝试使用 GUID 作为非聚集索引的主键,并创建了一个日期字段作为我的聚集索引,但性能没有很大提升。

任何帮助将不胜感激,特别是如果您解决了类似的问题。

0 投票
1 回答
941 浏览

database - 双向数据库同步

任何人都可以就双向数据库同步的 C# 框架/开源项目提供一些建议吗?

我有一个将由多个用户使用的应用程序。通常,用户将与应用程序的本地数据库 (MS ACCESS) 进行交互,因为我们假设网络大部分时间在现场不可用。当用户有网络连接时,本地数据库将与集中式远程数据库(MS SQL)同步。最后,所有用户都能够读取/写入/提交彼此的数据。我认为它非常像一个 SVN 存储库。

有没有人尝试过http://msdn.microsoft.com/en-us/library/bb629326.aspx?怎么样?我还没有真正研究它,我试图在评估每个选项之前先寻找更多选项。

谢谢你。

0 投票
1 回答
1192 浏览

sql-server-ce - 如何通过 WCF(n 层)同步两个 Sql Compact 版本数据库

我有一种情况,需要两个 SQL Compact 版本数据库在 C# 4 Winforms 应用程序中使用 Microsoft Sync Framework 相互同步,但我正在努力寻找一种方法来实现这一点。

我让它在 2 层类型的场景中足够容易地工作,SqlCeSyncProvider 直接连接到服务器数据库,但我不确定如何通过 WCF 实现这一点。

我从 Microsoft 看到的示例基本上是委托给 WCF 服务内的 SqlSyncProvider,但 SqlCeSyncProvider 似乎没有公开与 ServerSyncProviderProxy 相同的方法。

我可以在服务中使用 SqlCeClientSyncProvider (在这个问题中提到:Using MS Sync Framework to synchronize two SQL CE Dbs),但 SqlCeClientSyncProvider 不公开 GetSchema 或 GetServerInfo 方法。我不知道我是否可以安全地忽略这些方法。

人们只是通过网络公开 SQLCe 数据库并使用 SqlCeSyncProvider 还是我错过了使这项工作有效的东西?

0 投票
1 回答
3105 浏览

sync - 使用 SyncStatusObserver 或通过其他方式获取同步状态信息?

具体来说,我有一个令人难以置信的“Droid HTC”,Android 版本 2.2,基带 2.15.00.07.28,内核 2.6.32.17-g9a2fe16,内部版本 3.26.605.1,软件编号 3.26.605.1

我已经安装好 Eclipse 和 Android SDK 并且运行良好。很高兴我可以在 Eclipse 中调试和在我的 Droid 上执行单步代码。

我已经阅读了许多书籍并尝试了所有示例,作为实践,并且正在建立在其他面向对象语言(包括 C++)的多年软件开发经验(> 10 年)的基础上,而不是 Java,但我正在挑选它很快就起来了。

我还下载了在我的“Droid running repo / git”上运行的源代码版本,我一直在研究 FRG83G packages/apps/AccountsAndSyncSettings/src/com/android/settings 代码.

现在。我想编写一个小应用程序,它会在同步失败时通知我。我试图解决的问题是,在我使用 GMail 联系人界面(例如)进行了大量更改之后,'Droid 无法同步它们(可能是删除太多?)。因此,当同步始终失败时,我想显示一个通知栏图标,让我知道此同步失败。如果没有这样的应用程序,它失败的第一个迹象是我可能在 2-3 天后发现缺少联系信息。

因此,逻辑似乎表明我的小应用程序需要成为 SyncStatusObserver 才能在同步操作更改状态时得到通知,然后在该同步上获取 SyncStatusInfo 并注意哪个同步失败以及何时失败。据我所知,这意味着实现一个 SyncStatusObserver 并通过调用 ContentResolver.addStatusChangeListener 将其连接到广播。我已经实现了这一点,并且确实看到了通知消息。

我相信我理解对象模型,因为帐户类型具有零到多个帐户权限,并且每个帐户权限都表示正在同步的数据类型(联系人与日历等)。

SyncStatusObserver 的单一方法 onStatusChanged(final int which) 具有“int which”参数,该参数似乎试图指示哪个帐户类型或哪个帐户权限刚刚更改了它的同步状态。我已经编写并连接了它,并且正在接收这些方法调用,正如人们所期望的那样,当一种类型的数据已同步时。当我的应用程序正在执行时,我在 Eclipse 调试器日志记录窗口中观察到了这一点。

我的问题是如何将单个 int 参数值与帐户类型和/或帐户权限相关联?我想调用 SyncInfo getCurrentSync() 并记录帐户、权限和开始时间。(为什么要开始时间?我们真的不想要结束时间和结束状态吗?)

在 stackoverflow 上搜索,我发现在发布How do do one listen for progress from Android SyncAdapter? SyncStatusObserver 非常无用,因为它不能使用单个整数参数传达非常有用的信息。哦。好的。

我想还有另一种看待这个问题的方法是:在 HTC Incredible 上,当您在主屏幕上并选择菜单 -> 设置 -> 帐户和同步 -> 谷歌(列出的帐户)时,用户界面显示上次成功同步 GMail 帐户的每种帐户类型的时间。获取此信息的代码在哪里,因为这与我所追求的信息相同,并且我想在每次 SyncStatusObserver 的 onStatusChanged 方法调用之后获取此信息。

在发布Syncadapter last update date中,基本上表明当前 Droid 代码没有公开最后同步日期/时间。

有没有其他方法可以获取每个 SyncAdators 的最后成功同步日期/时间?我真的很想抓挠我的痒(可以这么说)。

0 投票
1 回答
3204 浏览

matlab - Matlab, Simulink, 通过局域网连接多个 simulink 模型

有一个由一些子系统组成的 Simulink 模型,它应该在一台计算机中运行每个子系统,并且所有计算机都连接到 LAN 网络。

这些子系统之间存在互连,数据应在它们之间传输,因此它们应该同步运行,最好是实时运行。

但是计算机有 Windows 操作系统,因此它们没有实时操作系统。

我正在寻找解决此问题的方法。到目前为止我发现的是:

  1. Simulink real time Workshop可以制作simulink模型的可执行代码,但是代码可以只用实时处理器实时运行,而且似乎不支持多台计算机之间的连接。

  2. XPC 目标是已知的,但它只是在一台主机 PC 或硬件与一台目标 PC 之间建立连接,并且目标 PC 应具有实时操作系统。所以它不包括这个问题。

  3. 有一个 Matlab 库,名为“Hardware Input / Output Library for Matlab / Simulink”,作者是 Werner.Zimmermann,它有一些很好的设施,可以使 simulink 接近实时运行,并且可以通过 TCP 建立连接和发送数据/IP 在两台计算机之间,但它似乎只能在运行 simulink 的两台计算机之间建立连接。

它还对 OS 和 Matlab/Simulink 版本有一些限制,并且没有更新。所以我不确定这是否足够。

毕竟,有没有人知道处理这个问题的更好方法?对于这些主题中的任何一个有用的帮助或解决此问题的其他方法,我将不胜感激。

提前致谢

0 投票
1 回答
1410 浏览

java - 同步访问数据库?

我正在为我叔叔的钓鱼店写一个小商店管理软件。它支持多个客户端访问本地网络中的单个数据库。我目前正在寻找一种方法来同步对数据库的访问。一种解决方案是编写一个管理数据库访问的服务器程序。但是我没有网络编程经验,所以我想找到其他解决方案。我想出了以下内容:

数据库中的每个条目都有一个时间戳,用于告知它最后一次被编辑的时间。在客户端编辑条目之前,它会读取时间戳以检查该条目是否已被另一个客户端修改。如果是这种情况,客户端不会写入数据库,而是通知用户。用户必须将他的本地更改与修改后的数据库条目合并。读取时间戳、检查时间戳和写入数据库的过程将作为单个 jdbc 事务来实现。

你怎么看,这行得通吗?

0 投票
1 回答
358 浏览

qt - 经常使用来自服务器的图像数据更新 QLabel

我正在编写一个程序,它应该QLabelQWidget. 图像是从服务器发送的。首先,我有一个线程负责连接并从服务器接收数据。当接收到数据时,套接字线程发送一个信号gotNewData(Imagedata),该信号连接到QWidget updateImage(Imagedata)插槽。在updateImage(Imagedata)插槽中,我将从服务器获取的图像数据转换为QImage、缩放图像并创建QPixmap,并将其设置为QLabel. 我的问题是,在处理功能期间,套接字获取带有新图像的其他包并一次又一次updateImage(Imagedata)地发送信号。QWidget这是合乎逻辑的,因为套接字线程不关心函数是否updateImage(Imagedata),由前一个信号调用调用,是否已经完成。我的问题是:是否有一些技术,我如何将我的套接字线程与QWidget updateImage(Imagedata)函数同步?