一种Web实时数据主动推送方法

文档序号:7775148阅读:671来源:国知局
一种Web实时数据主动推送方法
【专利摘要】本发明涉及一种Web实时数据主动推送方法,所述方法包括:(1)客户端浏览器向服务器请求监控页面;(2)客户端浏览器加载Flex控件;(3)Flex控件开启Socket通讯端口等待连接;(4)Flex控件连接服务器,告知自身已就绪;(5)服务器将Flex控件注册到服务器的通知列表里;(6)服务器将新数据主动发送到通知列表的Flex控件,Flex控件将信息反馈到客户端浏览器上。本发明当服务器数据发生更新时可实时将最新数据通过Socket推送到客户端浏览器的Flex控件,加强了客户端浏览器数据的实时性,减少了服务器和网络的压力。
【专利说明】一种Web实时数据主动推送方法
【技术领域】
[0001]本发明属于数据推送技术,具体讲涉及一种Web实时数据主动推送方法。
【背景技术】
[0002]目前,在电力计量业务生产调度平台中,需要在客户端浏览器中监测设备的工作状态及相关数据,且由于工作的重要性,这些数据要求实时展现。在这种情况下,采用传统的浏览器定时请求的模式就不符合要求了。一个典型的服务器与客户端浏览器之间的交互如下所示:
[0003](I)、客户端浏览器提出一个请求;
[0004](2)、服务器收到客户端浏览器的请求,进行分析处理;
[0005](3)、服务器将运行处理的结果返回给客户端浏览器。
[0006]通常一个服务器需要向多个客户端提供服务,因此对服务器来说,还需要考虑如何有效地处理多个客户端的请求。
[0007]B / S系统(浏览器和服务器结构)一般采用HTTP协议,服务器端的数据发生更新时不会主动发送到客户端的浏览器,需要客户端主动地去请求才能获得新数据。通常的解决方案是客户端浏览器定时向服务器发送请求来进行更新,但是这种方式可能会造成一定的时间误差。在电力计量业务生产调度平台中,设备将其状态信息实时发送到服务器上,月艮务器收到客户端浏览器的定时请求后将获得的设备状态信息发送到浏览器上,由于电力计量业务生产调度平台中的实时性要求较高,因此这种方法不合适。另外,服务器没有数据更新时客户端浏览器仍然会发出获取数据的请求,这样就加重了服务器和网络传输的负担。

【发明内容】

[0008]针对现有技术的不足,本发明提供一种Web实时数据主动推送方法,用于在电力计量业务生产调度平台中使用,服务器的数据更新可主动推送到浏览器,能够加强客户端浏览器数据的实时性。
[0009]相对于B/S架构,C/S系统中很容易通过Socket方式在服务器数据发生变化时将新数据送到客户端。本发明通过在客户端浏览器上加载Flex控件来在B/S结构中模仿C/S结构,使得浏览器与服务端建立Socket连接,浏览器上的Flex控件作为中间层来连接客户端浏览器上的Web页面和服务器端进行Socket通信,客户端浏览器上的Flex控件与服务器可以相互发送数据,互相控制和调用,从而实现服务器主动“推”送更新数据的目的。
[0010]本发明的目的是采用下述技术方案实现的
[0011]一种Web实时数据主动推送方法,其改进之处在于,所述方法包括:
[0012](I)、客户端浏览器向服务器请求监控页面;
[0013](2)、客户端浏览器加载Flex控件;
[0014](3)、Flex控件开启Socket通讯端口等待连接;
[0015](4)、Flex控件连接服务器,告知自身已就绪;[0016](5)、服务器将Flex控件注册到服务器的通知列表里;
[0017](6)、服务器将新数据主动发送到通知列表的Flex控件,Flex控件将信息反馈到客户端浏览器上。
[0018]优选的,所述步骤(I)包括浏览器通过HTTP协议向服务器调用监控页面,服务器将监控页面返回给浏览器。
[0019]优选的,所述步骤(2)包括客户端浏览器接收服务器返回的监控页面后进行加载监控页面同时加载Flex控件。
[0020]优选的,所述步骤(3)包括Flex控件绑定客户端PC的Socket通讯端口。
[0021]优选的,所述步骤(4) Flex控件告知自身已就绪包括Flex控件的编号、当前所在PC的IP地址、等待的端口。
[0022]优选的,所述步骤(4)每隔一段时间执行一次。
[0023]优选的,所述步骤(5)服务器的通知列表里包括多个Flex控件。
[0024]优选的,所述步骤(6)包括服务器数据没有发生更新,Flex控件则继续等待服务器数据发生更新。
[0025]优选的,所述步骤(6 )包括
[0026](a)、服务器根据Flex控件的告知信息,找到Flex控件的IP地址与等待的端口 ;
[0027](b)、服务器主动发起Socket连接,若连接成功后将新数据发送到对应的Flex控件上;
[0028]( c )、发送结束后断开连接,并继续等待服务器数据发生更新。
[0029]进一步地,所述步骤(b)包括
[0030]若连接不成功,并尝试进行多次连接后失败,则将此Flex控件从通知列表中删除,继续等待服务器数据发生更新。
[0031]与现有技术比,本发明的有益效果为:
[0032]1、本发明当服务器数据发生更新时可实时将最新数据通过Socket推送到客户端浏览器的Flex控件,加强了客户端浏览器数据的实时性,减少了服务器和网络的压力。
[0033]2、本发明采用Flex控件可支持多种浏览器。
[0034]3、本发明通过Flex控件定时告知和服务器检测连接两种技术保证数据不会漏报和多报,非常适合用于电力计量业务生产调度平台的数据实时传送。
[0035]4、本发明服务器的数据变化可主动推送到浏览器,提高了实时性;
[0036]5、本发明服务器与Flex控件的通讯采用短连接,降低开发难度;
[0037]6、本发明通过Flex定时告知和服务器检测连接两种技术保证数据不会漏报和多报。
【专利附图】

【附图说明】
[0038]图1为本发明提供的一种Web实时数据主动推送方法的结构图。
[0039]图2为本发明提供的一种Web实时数据主动推送方法的流程图。
【具体实施方式】
[0040]下面结合附图对本发明的【具体实施方式】作进一步的详细说明。[0041]如图1所示,本发明包括3部分:设备、服务器和客户端浏览器。
[0042]通过在客户端浏览器上加载Flex控件从而在B/S系统中使得浏览器与服务器建立Socket连接,这样就可以利用Flex控件作为中间层来连接客户端浏览器上的Web页面和服务器端来进行Socket通信;
[0043]客户端浏览器上的Flex控件与服务器可以相互发送数据,互相控制和调用,从而实现服务器主动推送更新数据的目的。
[0044]因此当设备将其状态信息实时发送到服务器上,服务器就将获得的状态信息主动发送到客户端浏览器上。除此之外,客户端浏览器也可以通过Flex控件主动向服务器请求信息。
[0045]socket通常也称作〃套接字〃,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
[0046]如图2所示,本发明的工作流程具体步骤如下所述:
[0047](I)、客户端浏览器向服务器请求监控页面;
[0048]浏览器通过HTTP协议向服务器调用监控页面,服务器将监控页面返回给浏览器;
[0049](2)、客户端浏览器加载Flex控件;
[0050]浏览器接收步骤(I)中返回的监控页面并进行加载,同时将Flex控件也进行加载;
[0051](3)、Flex控件开启Socket端口等待连接;
[0052]Flex控件加载成功后,绑定客户端PC的某个Socket通讯端口,等待服务器的连接。
[0053](4)、Flex控件连接服务器,告知自身已就绪;
[0054]Flex控件在步骤(3)完成后,连接服务器,告知服务器自身已就绪,可以接收服务器推送数据。告知的内容包括本Flex控件的编号、当前所在PC的IP地址、等待的端口等。本步骤可每隔一段时间执行一次,相当于告知服务器本Flex控件仍然在线。
[0055](5)、服务器将Flex控件注册到服务器的通知列表里;
[0056]服务器收到Flex控件发送的告知信息后,将告知信息放到服务器的通知列表里;通知列表里维护了多个Flex控件信息,当服务器有数据更新时,将会一一通知这些Flex控件;
[0057](6)、服务器将新数据主动发送到通知列表的Flex控件,Flex控件将信息反馈到客户端浏览器上;
[0058]当服务器数据发生更新时,服务器将新数据主动发送到通知列表的每个Flex控件上,具体为:
[0059](a)、首先服务器根据Flex控件的告知信息,找到Flex控件的IP地址与等待的端Π ;
[0060](b)、服务器主动发起Socket连接,若连接成功后将新数据发送到对应的Flex控件上,然后断开连接,然后继续等待服务器数据发生更新;
[0061]若连接不成功,则尝试进行多次连接,如果仍然连接不成功,则将此Flex控件从通知列表中删除,然后继续服务器数据发生更新。
[0062]当服务器数据没有发生更新,则继续等待服务器数据发生更新。[0063]实施例
[0064]采用附图2所示的电力计量业务生产调度平台调度大屏系统即采用实时数据主动推送方法将计量设备生产的数据实时主动的推送到调度大屏幕上进行显示。
[0065]针对电力计量业务生产调度平台调度大屏系统,客户端浏览器通过HTTP协议向服务器请求调用监控页面,服务器将监控页面返回给浏览器。客户端浏览器接收监控页面并进行加载,同时将Flex控件进行加载。Flex控件加载成功后,绑定客户端PC的Socket通讯端口,连接服务器,告知服务器已可以接收推送的数据,服务器将告知信息放到服务器的通知列表里,通知列表里维护了多个Flex控件信息。当有新计量生产数据时,服务器会将更新后的数据实时发送给Flex控件,Flex控件将信息反馈到客户端浏览器上在调度大屏上进行实时显示。
[0066]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种Web实时数据主动推送方法,其特征在于,所述方法包括: (1)、客户端浏览器向服务器请求监控页面; (2)、客户端浏览器加载Flex控件; (3)>Flex控件开启Socket通讯端口等待连接; (4),Flex控件连接服务器,告知自身已就绪; (5)、服务器将Flex控件注册到服务器的通知列表里; (6)、服务器将新数据主动发送到通知列表的Flex控件,Flex控件将信息反馈到客户端浏览器上。
2.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(I)包括浏览器通过HTTP协议向服务器调用监控页面,服务器将监控页面返回给浏览器。
3.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(2)包括客户端浏览器接收服务器返回的监控页面后进行加载监控页面同时加载Flex控件。
4.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(3)包括Flex控件绑定客户端PC的Socket通讯端口。
5.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(4)Flex控件告知自身已就绪包括Flex控件的编号、当前所在PC的IP地址、等待的端口。
6.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(4)每隔一段时间执行一次。
7.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(5)月艮务器的通知列表里包括多个Flex控件。
8.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(6)包括服务器数据没有发生更新,Flex控件则继续等待服务器数据发生更新。
9.如权利要求1所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(6)包括(a)、服务器根据Flex控件的告知信息,找到Flex控件的IP地址与等待的端口; (b)、服务器主动发起Socket连接,若连接成功后将新数据发送到对应的Flex控件上; (C)、发送结束后断开连接,并继续等待服务器数据发生更新。
10.如权利要求9所述的一种Web实时数据主动推送方法,其特征在于,所述步骤(b)包括 若连接不成功,并尝试进行多次连接后失败,则将此Flex控件从通知列表中删除,继续等待服务器数据发生更新。
【文档编号】H04L29/08GK103716371SQ201310529356
【公开日】2014年4月9日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】郑安刚 申请人:国家电网公司, 中国电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1