怎么查询候诊队列变化与否,实时更新客户端显示数据。

任务:做一个查询医院候诊队列实时显示到大屏幕。
前提:医院门诊系统服务器端是其他人写的,他不肯给我做接口,我要自己另外写一个查询候诊队列的基于SSM框架的服务器端和安卓客户端,与医院门诊系统用同一个数据库。一开始我在安卓客户端用Service+Thread轮询进行http请求,然后发现太耗资源,决定用websocket,让客户端与服务器端保持连接,如果数据库有更新,服务器端给客户端进行消息推送。
难题:我该怎么查询候诊队列,实时更新客户端的显示数据?我目前的做法是,在后端轮询,先将一开始查到的候诊队列保存到list1,服务器端定时查询候诊队列,保存到list2,两个list比较,如果两个list不同,则数据库发生了变化,通知客户端查询新数据。还有没有更好的办法,请各位大神搭救!!!

2个回答

采用 Service 和 AlarmManager可以试试
https://www.jianshu.com/p/63a9c9187389

weixin_39825906
weixin_39825906 那还是安卓客户端在轮询啊
大约 2 个月之前 回复

1.dwr有一个主动模式,可以了解一下,代码侵入少,改的东西不多,2.spring boot2也有服务端推送技术,
另外你的算法也太慢,如果搞并发的情况,你比较的数据是不准确的,可以和后端的同学商量,在更新数据库的同时,如果更新成功,同步把更新请求发给你就好,如果担心更新请求太多导致服务压力大,可以把更新请求放入到队列中,监控队列当队列长度达到一定时间的时候推送客户端,同时采用定时监控,如果段时间内更新数量比较少,则定时推送服务端

sw19930104
asafer 回复weixin_39825906: 在一个系统里面都不合作,你做个锤子,老实用轮询,不要用list比,这样数据多了效率低,最好在数据库里面比较或者有更新标志,写个数据库触发器或者全量推送
大约 2 个月之前 回复
weixin_39825906
weixin_39825906 如果做门诊系统后端的人肯给我做接口,我就不用另外写一个后端了。头痛!
大约 2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
客户端数据的如何实现实时更新?
我现在要实现这样一个功能:rn通过手持pos机扫描条形码,rn然后将扫描到的条形码信息发动给服务器,rn同时在客户端进行实时更新,显示出该条形码信息,rnrnPOS机安装的是Windows Mobile 6.0,rn我通过vs2008.net+c#做了一个条形码扫描打印的程序安装在pos机上,rnrn通过vs2008.net+c#做了一个webservice用于pos机和服务器之间的通信rnrn扫描到条形码后,通过调用webservice将条形码信息发送到服务器rnrn通过vs2012.net+c#做了一个管理系统,用于信息的管理,现在的问题是:pos机将条形码信息发动给服务器后,如何在客户端的管理系统上实时更新显示条形码信息?rnrn现在我没有什么思路,大家有什么好的解决方案吗?rnrn
课程设计——医院门诊候诊队列管理系统.doc
本文件文医院门诊候诊队列管理系统报告书以及源代码,资料可根据实际情况自行修改。
在客户端控制图片或控件的显示与否?
rn rn rn rn <img src="../images/add.gif" style="cursor: hand" name="nradd"></p>rn </td>rn </tr>rn</table>rncx.asp中会查询出多条记录,以供选择。我想根据所选cx.asp记录内数值的不同,控制图片add.gif的显示与否。该怎么写?
判断出栈队列的正确与否
告诉你一个入栈队列和一个出栈队列,当然这一个队列里边不容许出现一样的数,判断这个出栈队列是不是合理的出站队列。。。 比如说告诉你一个入栈队列,1 2 3 4 5 6,当然这个不一定是这样单调递增的,还告诉你一个出站队列1 2 5 6 4 3,结果是yes, 但是如果告诉的入栈队列是1 2 3 4 5 6,出站队列是4 3 6 1 2 5那是不可能有这样的出站队列的,所以输出no。 #incl
客户端实时更新的问题
C/S模式,点击客户端某个BUTTON,发送connect请求到服务端,服务端Accept到请求后,立刻把数据以结构体方法发送到客户端,结构体里的数据是从服务端界面上的3个EDIT里输入收集的,现在的问题是:在代码里给服务端3个EDIT赋初值(11,22,33)后运行服务端,点击客户端BUTTON后,客户端能显示出这3个数据,但是把服务端EDIT里的数据更改后,客户端不能实时更新数据,一直保持原来的数据(11,22,33)。rn 如何让数据保持实时更新或者每几秒更新一次的频率呢?
根据checkbox的选中与否设置显示与否
  var obj = $('#checkbox_id'); if(obj.attr('checked')){ $('#div_id').hide(); //显示 } else{ $('#div_id').show(); //隐藏 }    
c# winform dataGridView1实时更新显示数据
我做了一个新增数据的窗体,添加新数据的时候,单击确定后,就调回到 dataGridView1的界面,可是 dataGridView1没有实时的显示数据,怎么办?请大家帮忙。rnrn要代码的哦,给个例子参考也行
怎么我的客户端查询的数据不一样呢!
我做了一个C/S程序,可我几台电脑怎么客户端查询的数据会不一样呢,都是用的同一个数据库啊,请顺是怎么回事
巧用CursorLoader实时更新界面上显示的数据
巧用CursorLoader实时更新界面上显示的数据
求助:医院候诊管理系统
下面的能用C语言实现吗?小弟是初学者,实在毫无办法。。。rnrnrnrn已知医院有内科、外科、骨科、皮肤科和口腔科,每个科均有普通门诊和专家门诊,普通门诊挂号费5元,专家门诊挂号费10元,其中内科门诊要求14岁以下(含14岁)儿童进第一诊室,15~25岁(含25岁)男患者进第二诊室,女患者进第三诊室,其他的进第四诊室,要求编制程序实现如下功能(患者信息包括挂号单编号、性别、年龄、所挂科室):统计一天的挂号费收入,并分别统计出各科挂各类号的人数排序rn对各科的就诊人数由大到小进行排序输出各科室不同年龄层就诊的比例顺序建立初步的决策支持系统(充分发挥自己的想象),可设定某个正常的参考值,然后进行比较监测。如年轻人就诊骨科增多,可能说明骨质疏松症有年轻化的趋势;内科病人异常增多,可能是突发某种流行性病等等。
医院排队候诊模型
医院候诊问题 问题描述: 医院某科室,有医生m名 现有病人n名,先后到达 病人病情轻重各有不同(分k级),重的先就诊;病症相同的,先来的先就诊。   模型假设: 1.  病人挂完号后进入对应的科室,每天病人数目随机 2.  每个科室有一定数量的医生,一开始的时候,所有医生都空闲(即可以接待病人)。 3.  每个科室需要安排一位医生或者护士,专门判断一下新来的病人病情的严重情况
窗口显示与否的判断
要实现的功能是,from1窗口上有个按钮,按下后如果from2没有load那就打开2并关掉1rn如果from2 load了,那就关掉2同时也关掉1窗口rnrn不知道这个判断怎么写
基本组件显示与否问题
只要继承View的组件(包括自定义组件),btn.setVisibility(View.Gone); 如果是一个ViewGroup,移除里面的组件,mainView.removeAllView();移除子View 布局中的:android:visibility 程序中可用setVisibility(); 对应的三个常量值:0、4、8 VISIBLE:0 意思是可见的 INVIS
菜单项的显示与否
根据用户权限,显示不同的菜单项(可选与不可选)。rn用VS2005 自带的控件Menu,代码如下:rnrn rn rn rn rn rn rn rn rn rn rnrn如果有2个用户A和B。登录进去后默认都能选择所有菜单项,现在要让B用户不能选择“车辆维护”这个菜单项,怎么做?注:数据库中已设置A和B得权限。谢谢。
VIM-行号的显示与否
临时情况 显示行号 :set nu 或 :set number 取消行号 :set nonu 或 :set nonumber 永久情况 显示行号 vim /etc/vimrc set nu 或 vim /etc/vimrc set number 取消行号 使用英文双引号,注释掉或删去下面的语句即可: &quot;set nu 或 &quot;set ...
使用 JavaScript 将网站后台的数据变化实时更新到前端-【知乎总结】
问: 难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1、 nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Socket、隐藏IFrame、JSONP Polling等方式。http://Socket.io提供前端和服务器端的配套机制,并兼容各种浏览器,它的前端js模块会判断浏览器的能力,自适应选择最合适...
DataGrid显示与否问题
页面初始化,DataGrid绑定数据源,如果没有数据,还是想呈现出空白的5行来,这样页面美观点,可以实现嘛?rnrn谢谢!
ASPX 客户端关闭与否检测
能否在客户端关闭的同时向主机发送一个消息,服务器根据这个消息判断客户端的使用情况。
QTextEdit信息实时更新显示
void MainWindow::on_Button1_clicked(){ for(int i = 0; i &amp;lt; 10; i++){ //滚动条保持底部 QScrollBar *scrollbar = ui-&amp;gt;console-&amp;gt;verticalScrollBar(); if(scrollbar){ ...
vb中怎么实现数据实时更新
我用VB做得一个数据输入窗体,数据通过文本框和下拉列表框输入,并且填加一个DATAGRID控件,怎么实现点一下按钮在DATAGrid里数据马上更新啊,谢谢各位大虾,帮帮忙啊!
jsp怎么实时更新某一行的数据
![图片说明](https://img-ask.csdn.net/upload/201801/03/1514963027_461327.png)rn把一个servlet查询的用户表的内容通过循环打印在一个jsp中,效果如下:rn![图片说明](https://img-ask.csdn.net/upload/201801/03/1514962990_364985.png)rn每一行都有一个“保存”超链接转向一个servlet,把修改行的参数重写到数据库的用户表中,rn,可是怎么构造这个href呢,因为我的href的参数在input标签中,曾尝试过用jquery组装href,但由于我是循环输出的每一行,所以每一行的每个属性的id(不是那个标识ID,是jquery中的$("#id"))会相同,所以只能更新第一行。我实在是不知道怎么做了,大家能替我指点指点思路吗
怎么快速的显示数据到客户端( WS 到 Application )
如题, 检索数据很多的时候, 怎么保证画面的显示速度。rnrn现在的方法:rn 检索数据保存在WS端的xml文件里,一次只显示500条数据到客户端, 翻页的时候rn直接从xml里面检索, 换条件了WS重新生成xml文件。 rnrn 有点慢, 请教好的办法。
VC.NET窗口之间怎么做到数据实时更新?
想请教下各位,我做了个多文档窗体,然后分割成三块 一个文档两个视图,想请教各位怎样做到数据实时的更新?比如一个参数变化了 同时实时地更新到另一个窗口里去,这样该怎么做?
实时更新adapter中的数据
main.xmlrn[code=XML]rnrnrn rn rn rn rn rn rn rn rn rn rnrnrn[/code]rnuser.xmlrn[code=XML]rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn[/code]rnActivityrn[code=Java]rnpackage com.list;rnrnimport java.util.ArrayList;rnimport java.util.HashMap;rnrnimport android.app.Activity;rnimport android.os.Bundle;rnimport android.widget.ListView;rnimport android.widget.SimpleAdapter;rnrnpublic class ListTest extends Activity rn /** Called when the activity is first created. */rnrn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.main);rn ArrayList> users = new ArrayList>();rn for (int i = 0; i < 10; i++) rn HashMap user = new HashMap();rn user.put("img", R.drawable.user);rn user.put("username", "姓名(" + i + ")");rn user.put("age", (20 + i) + "");rn users.add(user);rn rn SimpleAdapter saImageItems = new SimpleAdapter(this, users,// 数据来源rn R.layout.user,// 每一个user xml 相当ListView的一个组件rn new String[] "img", "username", "age" ,rn // 分别对应view 的idrn new int[] R.id.img, R.id.name, R.id.age );rn // 获取listviewrn ((ListView) findViewById(R.id.users)).setAdapter(saImageItems);rnrn rnrn[/code]rn我现在想实时更新滚条的显示进度,在网上查了很多,说需要重写adpter之类的,但是我重写了也不会用,还需要handler传递消息,来刷新当前进度条的进度显示,期待牛人的帮助。
对话框数据实时更新
在鼠标移动的过程中,获取鼠标坐标,并且见鼠标坐标送入对话框中,请问,怎么做可以使对话框中的数据得到实时的更新,也就是随着鼠标在视图上的移动,数据一起变化。
asp.net + ajax 数据实时更新
asp.net + ajax 数据实时更新rnrn不是定时更新,是当服务器端数据变化(这个数据是从别处采集来的),或者来了新数据就发送到客户的网页上。rnrn我是ajax的小菜,大家多多指教!
mybatis缓存与数据实时更新
第一种方式:刷新缓存(就是清空缓存)在mapper的同一个namespace中,如果有其它insert、update、delete操作数据后需要刷新缓存,如果不执行刷新缓存会出现脏读,每次查询都需要清除缓存,设置statement配置中的flushCache=”true” 属性,默认情况下为true即刷新缓存,如果改成false则不会刷新。使用缓存时如果手动修改数据库表中的查询数据会出现脏读。**
数据统计报表实时更新springmvc+ajax+highcharts
数据统计报表 数据统计报表 数据统计报表模板数据统计报表 数据统计报表
mysql5.0数据实时更新问题
有熟悉mysql的没 在5.0中怎么对数据库中的数据进行实时更新,rn例如每天的 某个时间定时去检测数据库中某个时间字段是否比当前时间大,然后更新该记录的某个字段rn注意是在5.0中
数据实时更新的问题!
想问下,,,A页面输入数据进数据库,按提交打开B页面,B页面显示刚刚输入的数据
Java的数据实时更新
用Java写一个模块,实现将服务端数据的实时变化通知客户端浏览器,不使用Ajax轮询的方式。rnrn 哪位高手有思路的,指点一下啊 ?
Mschart 饼状图 数据实时更新
用的Mschart组件,做饼状图的时候,数据分2块。合格数量和不合格数量。rn测试:开始运行的时候,增加一个合格品数量1rnchart1.series("data").points.addY(1)rn第二个产品,直接修改前一个的值rnchart1.series("data").points.item(0).setValueY(2)rn第三个产品rnchart1.series("data").points.item(0).setValueY(3)rnrn这样运行没有问题,但是没有时间间隔,看不出效果。就想每个产品增加的时候,做一个时间延迟。rn通过for 循环来做rnfor i =2 to 10rn thread.sleep(1000)rn chart1.series("data").points.item(0).setValueY(i)rnnextrnrn但是这样就出问题了,chart1的数据一直不动,直到for循环结束,chart1的数据直接到最后一个产品的序号10了。rnrn以为是setValueY 方法的问题,然后用chart1.series("data").points.clear,先清除,后添加rnchart1.series("data").points.addY(1).rn这种办法在for循环里同样错误。rnrn如果把延迟去掉,瞬间,char1的值变成10. 也就是说chart1的值无法变化显示,它只显示最后一个值。rnrn这种问题,要怎么破??rn
dbgrid数据实时更新
很经典的用法应该是很成熟了,就是不知道怎么写rn点击保存数据后,数据更新到与之相连的dbgrid中rn数据保存,就能在dbgrid中看到刚才保存的数据
数据实时更新问题
ADODataSet1->Refresh() ;rnDBGrid1->DataSource = DataSource1;rnrn//DBGrid1->Columns [0].Items->rnDBGrid1->Update() ;rnrn但是数据库的变化无法立即表现出来,rn只有应用程序重启才能表现出来。rn是不是控件设置问题?
echart数据的实时更新
https://www.cnblogs.com/rongyux/p/5855660.html
实时更新GridView数据问题
一个页面上就2个控件 一个txt文本框,一个gridview,要求文本框输入数据不同,gridview里要实时更新,求代码。要求用户输入在文本框中的每一个值改变都会触发gridview显示的数据改变
vc TeeChart 数据实时更新
[code=C/C++]rn char second[32] ="";rn char one[7]="";rn struct tm *temptm;rn time_t temptime;rn temptime= time(0);rn temptm = localtime(&temptime);rnrn sprintf(second,"%02d:%02d:%02d",temptm->tm_hour,temptm->tm_min,temptm->tm_sec);rn while(m_Chart1.Series(0).GetCount()>50) m_Chart1.Series(0).Delete(0);rn if(m_Chart1.Series(0).GetCount()>50) m_Chart1.Series(0).Delete(0); rn rn newX=m_Chart1.Series(0).GetXValues().GetCount()+1;//rn newY=GetRandom(100,300);rn m_Chart1.Series(0).AddXY(newX,newY,second,RGB(255,255,0));rn[/code]rn[color=#FF0000]rn1。页面最多显示100个点温度曲线rn2。根据时间测试一个点的温度数据实时更新(超过100个点的时候删除前面的点)rn3。后面的温度曲线每秒向前移动一个温度曲线。[/color]
ExpandableListView实时更新UI数据
本来想添加图片但是没有找到怎么添加效果图,ExpandableListView中操作子项内容,更新数据并实时的显示到group中,应该说是实时刷新UI。
客户端显示JSON 数据
var x=xmlhttp.responseText;rndocument.getElementById('copy').innerHTML=x;rn这两行代码可以把服务器传来的数据在客户端如下显示出来:rn "programmers": [rn "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" ,rn "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" ,rn "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" rnrn但是不知道该怎样遍历这一串数据,让它在客户端显示呢?用什么函数或库呢?rn
人口数据实时更新网
http://www.world-gazetteer.com/
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法