我有一个网页,显示来自服务器的大量数据.通信是通过ajax完成的.
每次用户交互并更改此数据(假设用户A重命名某些内容)时,它都会告诉服务器执行操作,服务器返回新更改的数据.
如果用户B同时访问该页面并创建一个新的数据对象,它将再次通过ajax告诉服务器,服务器将返回该用户的新对象.
在A的页面上,我们有一个带有重命名对象的数据.在B的页面上,我们有一个新对象的数据.在服务器上,数据具有重命名的对象和新对象.
当多个用户同时使用该页面时,我有什么选择让页面与服务器保持同步?
可以避免在每次更改时锁定整个页面或将整个状态转储给用户等选项.
如果有帮助,在此特定示例中,网页调用静态web方法,该方法在数据库上运行存储过程.存储过程将返回它已更改的所有数据,而不再返回.然后静态web方法将存储过程的返回转发给客户端.
赏金编辑:
您如何设计一个多用户Web应用程序,它使用Ajax与服务器通信,但避免了并发问题?
即对数据库的功能和数据进行并发访问,而不存在数据或状态损坏的风险
Google刚刚发布了Android 4.2,其中包括在单个设备上支持多个用户配置文件:http://developer.android.com/about/versions/android-4.2.html#MultipleUsers.
Google表示这对应用程序是透明的,但我认为它可能会对用于识别设备,用户和安装的数据模型产生影响.
一个问题是使用android_id.上面链接页面上的建议建议通过android_id以外的方法之一识别设备,但我相信android_id被广泛用于此目的.
我的主要问题是 - 每个用户配置文件都有自己的android_id,其含义是什么?
安装新操作系统或完成硬重置时会生成新的android_id - 在创建新的用户配置文件时可能会生成一个新的(这是问题#1)?我想可能不是,所以一个应用程序可以安装多次同一个android_id - 我认为这可能会破坏某些应用程序的服务器端数据模型.
无论哪种方式,根据您识别设备的方式,您现在可以发现特定应用可以在单个设备上进行多次安装.
另一个问题是用户.据推测,每个配置文件可以包含任意数量的Google帐户,但每个配置文件中的一个Google帐户必须与游戏商店相关联.我认为你的应用也可能有多个同时安装使用相同的设备(通过android_id)和同一个用户.我认为多个配置文件功能的常见用途是让单个用户在手机上拥有家庭和工作资料 - 通常使用不同的Google帐户,但在某些情况下,他们可能在每个配置文件中拥有相同的Google帐户(例如他们不需要两次付钱).
附注
以下是对新ARC平台(Android on Chrome)上ANDROID_ID 的类似讨论.小心 - ARC上的行为与Android上的行为不同.
我有两台工程师共享的Mac.两者都有单独的用户帐户.两者都需要运行brew update和brew install...偶尔为之.
如何设置这没有得到这样的错误:
/usr/local must be writable!?
是的,我可以UserA接受/usr/local每次他想使用brew 的权限(和相同UserB),但这似乎是很多不必要的麻烦.
我们正在考虑"增加"一个MS-Access数据库,其中包含一些用于多个用户的表,表单和查询.(使用不同的后端是另一个,但更长期的选择,遗憾的是目前是不可接受的.)
大多数用户将是只读的,但会有一些(当前一两个)用户必须能够进行更改(而只读用户也使用数据库).我们并不关心安全方面,而是关注以下一些问题:
任何有用文章的提示或指示将不胜感激.
我正在尝试使一些MSSQL代码也运行在MYSQL上,我只是打了这个地雷.Google表示,通常的方法是简单地执行插入操作,然后选择last_insert_ID()来查找写入的内容.
不过,这并不会让我觉得在多用户环境中是安全的.那里有一个狭窄的窗口,其他用户可以插入一些东西并导致错误的返回值.如何安全地插入并获取插入记录的密钥?
有没有办法分别接受来自多个鼠标的输入?我有兴趣制作一个多用户应用程序,我认为如果我可以让2个或更多用户持有无线鼠标,每个用户使用单独的鼠标箭头单独与应用程序交互,那将会很棒.
这是我应该尝试移植到其他应用程序/驱动程序/ os_magic的东西吗?还是有一个我可以用来完成这个的库?语言不是一个巨大的交易,但C,C++和Python是首选.
谢谢 :)
编辑:
找到这个用于linux的多指针工具包(它实际上是一个多指针x服务器):http: //wearables.unisa.edu.au/mpx/
我有一个产品设计为使用MS Access文件作为数据库的桌面产品.
现在,一些用户需要将它安装在几台PC上(假设为2或3)并共享数据库.
我想将MS Access文件放在共享文件夹中并从PC访问它,但是...... JET Engine是为多用户访问而设计的?
有什么提示或事情需要注意这样做吗?
编辑:该应用程序是.net一个,使用数据库作为存储(不使用数据库作为前端)
我正在使用Google App Engine(Python)构建一个多用户实时应用程序,它看起来像Facebook livestream插件:https://developers.facebook.com/docs/reference/plugins/live-stream/
这意味着:同一网页上的1到1 000 000个用户可以执行立即通知其他人的操作.这就像群聊,但有很多人......
我的问题:
- App Engine 能够扩展到那种数字吗?
- 如果是的话,你会如何设计它?
- 如果不是,你的建议是什么?
现在,这是我的设计:
- 我正在使用App Engine Channel API
- 我将每个连接在memcache中的用户存储起来
- 每次执行操作时,都会向任务队列添加一个通知任务
- 任务包括检索所有用户来自memcache并向他们发送通知.
我知道我的瓶颈在于任务.通过相同的任务/请求通知每个人.目前,对于连接的30个用户,它持续约1秒,因此对于10万用户,您可以想象可以花多长时间.
你怎么纠正这个?
非常感谢
我想在我的应用程序中实现Group Chat,为此我正在使用MUC聊天室来实现它.
在这里,我想添加一个成员列表(我有JID的)到房间.我想在内部将它们添加到列表中的所有成员.如何在不邀请它们的情况下添加它们.
并且在添加成员之后我想实现一种功能,每当聊天室的用户发送消息或聊天时,它应该被传递给所有其他用户.
主要问题是如何将成员添加到聊天室
码:
private void createRoom(){
MultiUserChat privateRoom = new MultiUserChat(connection, "testGroup@conference.abc.com");
try {
privateRoom.join("gaurav","123456");
privateRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
System.out.println("Room Created!!!");
Message message = new Message("testGroup@conference.abc.com", Message.Type.normal);
message.setBody("Happy User");
privateRoom.sendMessage(message);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 是否应用程式内计费(V2或V3)适用于谁使用几个账户,使采购与不是主之一的帐户的用户?
PD:需要一些解释,没有简单的是/否
android multi-user in-app-purchase in-app-billing google-play
multi-user ×10
android ×3
ms-access ×2
ajax ×1
channel-api ×1
chatroom ×1
google-play ×1
homebrew ×1
javascript ×1
macos ×1
mouse ×1
mysql ×1
permissions ×1
python ×1
real-time ×1
xmpp ×1