首页> 中国专利> 一种网页间通信的方法、系统及在音乐搜索中的应用

一种网页间通信的方法、系统及在音乐搜索中的应用

摘要

本发明公开了一种网页间通信的方法、系统及在音乐搜索中的应用,以解决现有采用刷新页面或轮询服务器的方式,存在打断当前页面播放、浪费带宽、响应不及时的问题。所述方法包括:客户端的一个网页A发出操作请求后,等待服务端答复;当服务端收到该客户端的另一个网页B发出的触发请求后,将对应网页A操作请求的答复返回给该客户端;该客户端根据所述答复对网页A进行相应操作。本发明对于客户端,并不需要轮询服务器,只需要一次连接即可,从而极大地节省了带宽和服务器资源。同时,当服务器得到另一个触发请求,便会对这个客户端做出答复,最大程度上保证了实时通信能力,同时避免了页面的刷新。而且,本发明还适用于两个无关网页间的通信。

著录项

  • 公开/公告号CN101291273A

    专利类型发明专利

  • 公开/公告日2008-10-22

    原文格式PDF

  • 申请/专利权人 网易有道信息技术(北京)有限公司;

    申请/专利号CN200810114837.3

  • 发明设计人 江峰;李新娟;吴迎晖;周枫;

    申请日2008-06-12

  • 分类号H04L12/28;H04L12/54;G06F17/30;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 100084 北京市海淀区中关村东路1号院3号楼206室

  • 入库时间 2023-12-17 20:53:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-04-06

    授权

    授权

  • 2008-12-17

    实质审查的生效

    实质审查的生效

  • 2008-10-22

    公开

    公开

说明书

技术领域

本发明涉及网络技术领域,特别是涉及一种网页间通信的方法、系统及在音乐搜索中的应用。

背景技术

通常,用户的上网行为都是基于客户端-浏览器模式,即客户端浏览器发出请求,网站服务器立即响应所述请求做出答复。例如,当用户通过Web(WorldWide Web,万维网)版的BBS(Bulletin Board System,电子公告板)发贴子的时候,用户把写的文字提交给服务器,服务器接收后返回一个新的页面,这个页面包含了用户的帖子,就说明用户的帖子已经发表成功了。

基于这种通信模式,一种网络应用是在线听歌:用户在一个网页上听歌(称这个网页为音乐盒),然后在另一个网页,假设是歌曲的搜索结果页面,点击了添加按钮,希望新添加的歌曲能够立即反应在音乐盒页面上。这时,涉及到两个网页间的通信问题。

针对上述应用,有如下两种处理方法:

一种方法是,如果这两个页面有关系,即浏览器允许他们之间通信,则音乐盒页面需要刷新一下,才能将新添加的歌曲更新到音乐盒页面上。但是,这种方式下当前正在听的音乐就会被打断,会给用户带来不好的使用体验。

另一种方法是,音乐盒页面(即客户端)可以用Javascript(是一种由Netscape的LiveScript发展而来的脚本语言)程序定期访问服务器,查看是否有新歌被添加。定期访问可以是5s一次,3s一次,或者不停地访问。但是,这种方式非常浪费带宽资源,而且实时性很差。

综上所述,目前的方法通常采用刷新页面或轮询服务器的方式,存在打断当前页面播放、浪费带宽、响应不及时等问题。

发明内容

本发明所要解决的技术问题是提供一种网页间通信的方法、系统及在音乐搜索中的应用,以解决现有采用刷新页面或轮询服务器的方式,存在打断当前页面播放、浪费带宽、响应不及时的问题。

为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下

技术方案:

一种网页间通信的方法,包括:

客户端的一个网页A发出操作请求后,等待服务端答复;

当服务端收到该客户端的另一个网页B发出的触发请求后,将对应网页A操作请求的答复返回给该客户端;

该客户端根据所述答复对网页A进行相应操作。

优选的,所述方法还包括:将所述网页A发出操作请求时附带的客户端标识和请求标识进行保存。

优选的,将对应网页A操作请求的答复返回给该客户端具体包括:将网页B发出的触发请求附带的客户端标识,与所述保存的客户端标识进行匹配;当匹配成功时,根据相匹配的请求标识得到网页A的操作请求,然后将对应该操作请求的答复返回给该客户端。

其中,当所述客户端的网页A被打开后,自动发出操作请求。

其中,当该客户端收到服务端的答复后,网页A继续向服务端发送操作请求。

其中,当所述操作请求为获取用户所添加歌曲信息的请求时,该客户端根据所述答复对网页A进行相应操作具体包括:该客户端通过网页脚本程序,将用户添加的歌曲信息动态更新到网页A。

一种网页间通信的系统,包括:客户端和服务端,其中,

所述客户端包括操作请求单元,用于该客户端的一个网页A向服务端发出操作请求;操作触发单元,用于该客户端的另一个网页B向服务端发出触发请求;操作单元,用于根据服务端的答复进行相应操作;

所述服务端用于在收到客户端的操作请求后,等待接收该客户端发送的触发请求;当收到触发请求后,将对应该操作请求的答复返回给该客户端。

优选的,所述服务端进一步包括:存储单元,用于保存客户端网页A发出操作请求时附带的客户端标识和请求标识;查找单元,用于将客户端网页B发出的触发请求附带的客户端标识,与所述保存的客户端标识进行匹配;当匹配成功时,服务端根据相匹配的请求标识得到客户端网页A的操作请求,然后将对应该操作请求的答复返回给该客户端。

其中,所述存储单元为数据库或内存。

优选的,所述服务端设置两个端口,分别用于接收客户端发送的操作请求和触发请求。

一种应用于音乐搜索的网页间通信方法,包括:

音乐播放页面发出获取用户所添加歌曲信息的请求,然后等待服务器答复;

当用户点击音乐搜索结果页面的添加按钮后,该页面向所述服务器发出添加歌曲的请求;

所述服务器收到添加歌曲的请求后,将用户所添加的歌曲信息作为答复返回给所述音乐播放页面;

音乐播放页面根据所述答复更新页面。

优选的,所述方法还包括:服务器收到音乐播放页面发出的请求后,将该请求附带的客户端标识和请求标识进行保存。

优选的,服务器将用户所添加的歌曲信息作为答复返回给所述音乐播放页面具体包括:服务器将添加歌曲的请求附带的客户端标识,与所述保存的客户端标识进行匹配;当匹配成功时,根据相匹配的请求标识得到获取用户所添加歌曲信息的请求,然后将用户所添加的歌曲信息作为答复返回给所述音乐播放页面。

根据本发明提供的具体实施例,本发明具有以下技术效果:

首先,本发明改变传统思路,提出一种新的网页间通信模式,即:客户端的一个网页A发出操作请求(如希望得到用户所添加的歌曲信息的请求),服务端接收请求并假装正在处理,让客户端一直等待;当服务端收到该客户端的另一个网页B发出的触发请求后(如点击添加按钮),便将对应网页A操作请求的答复返回给等待中的客户端。

这样,对于客户端,并不需要轮询服务器,只需要一次连接即可,从而极大地节省了带宽和服务器资源。同时,当服务器得到另一个触发请求,便会对这个客户端做出答复,最大程度上保证了实时通信能力,同时避免了页面的刷新。

其次,本发明所述新的通信模式不仅能够解决有关系的两个网页间的通信问题,还适用于两个无关网页间的通信。例如,搜索结果页面是新打开的,与音乐盒页面没有任何关系,这种情况下,如果用户在所述搜索结果页面点击添加按钮,则所述音乐盒页面同样会自动添加新的歌曲,而不会打断正在听的音乐。

附图说明

图1是本发明实施例一所述网页间通信的方法流程图;

图2是本发明实施例二所述网页间通信的方法流程图;

图3是本发明实施例二所述网页间通信的示意图;

图4是本发明实施例所述一种网页间通信的系统结构图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

针对两个网页间的通信问题,本发明改变传统思路,提出一种新的网页间通信模式,下面参见实施例一的说明。

实施例一:

参照图1,是本发明实施例一所述网页间通信的方法流程图。

S101,客户端的一个网页A发出操作请求后,等待服务端答复;

S102,服务端接收所述操作请求并假装正在处理,让客户端一直等待;

S103,该客户端的另一个网页B向服务端发出触发请求;

S104,服务端收到该客户端的触发请求后,将对应网页A操作请求的答复返回给等待中的客户端;

S105,该客户端根据所述答复对网页A进行相应操作。

上述流程实现了网页A与网页B之间的实时通信,与传统的“客户端请求,服务端立即答复”的模式不同,本发明中服务端收到客户端的操作请求后,并不立即答复,而是等待客户端的触发请求,当客户端发出触发请求后,服务端才真正返回答复。

下面结合实际应用详细说明。

实施例二:

参照图2,是本发明实施例二所述网页间通信的方法流程图。仍以在线听歌为例,用户在某客户端上登录一个在线听歌的网站,打开该网站的歌曲搜索结果页面,页面上展示出歌曲列表,用户选择要听的歌曲后,打开一个新的播放页面,这个播放页面称为音乐盒。

S201,音乐盒在首次被打开的时候,会自动向网站服务器发出一个表明自己希望得到用户所添加的歌曲信息的请求。

所述请求即为前述的操作请求,该请求附带了客户端ID和请求ID。其中,客户端ID用于唯一标识一个客户端,可以是注册用户的账号,也可以是临时生成的一个ID。

优选的,可以用该客户端的cookie作为客户端ID,例如用户登录1 63通行证,然后当点击网易其他频道的时候,服务器端总是可以自动知道用户是谁,即使用户重新打开浏览器也可以。

所述请求ID用于唯一标识一个客户端请求,是操作系统为每个socket(通常也称作″套接字″,用于描述IP地址和端口)提供的一个整数,通过这个整数即可访问这个socket以及对这个请求做任何操作。

S202,网站服务器收到该客户端发出的请求后,将所述客户端ID和请求ID保存起来(可以采用数据库保存或内存存储),表示这个请求暂时没有处理。然后,服务器继续等待用户添加请求。同时对于音乐盒,也一直在等待答复。

S203,当用户在搜索结果页面选择新的歌曲并点击添加按钮后,该搜索结果页面自动向网站服务器发出添加歌曲的请求。所述添加歌曲的请求即为前述的触发请求,该请求同样也附带客户端ID和请求ID。

S204,网站服务器收到所述添加歌曲的请求后,将该请求附带的客户端ID与保存的客户端ID进行匹配,查找是否有相同的客户端ID。

S205,当匹配成功时,根据相匹配的请求ID(即保存的请求ID)就可以得到对应的请求(这个请求是音乐盒获取用户所添加的歌曲信息的请求),并把用户所添加的歌曲作为答复返回给等待中的客户端。

如果匹配不成功,服务器就可以对该添加请求不作任何处理,因为这说明这个音乐盒还没打开(打开了就应该已经发出了请求,客户端ID就不会不存在)。

S206,该客户端得到新歌的信息之后,可以用javascript动态的更新页面,而不需要打断正在播放的歌曲。

当音乐盒收到答复并动态更新页面后,还会自动发出获取用户所添加歌曲的请求,然后继续等待答复,即重复执行以上流程。由此可知,整个音乐盒窗口的生命周期都会发出该请求,一旦收到答复之后,就处理这个答复,处理完之后又发请求,一直循环直到音乐盒被关闭。

上述流程还可以参照图3所示的示意图。在时间1,客户端向服务端发送请求,然后等待;在时间2,客户端添加新歌,触发服务器;在时间3,服务端向客户端返回答复结果。

通过图2和图3所示实例可知,对于客户端,并不需要轮询服务器,只需要一次连接即可,从而极大地节省了带宽和服务器资源。同时,当服务器得到另一个添加请求时,便会对这个客户端做出答复,最大程度上保证了实时通信能力,同时避免了页面的刷新。

本发明所述新的网页间通信模式不仅能够解决有关系的两个网页间的通信问题,还适用于两个无关网页间的通信。网页间有关系是指浏览器允许他们之间通信,而两个无关网页浏览器就不允许他们互相访问,网页间的这种关系是出于安全因素的考虑。举个例子:如果正在浏览公司内部的网站A,而同时又打开了另一个网站B,如果浏览器允许这两个页面互相访问,例如网页B上的一段javascript代码可以访问网页A,那么公司的机密信息就会泄露。所以对此进行限制,要求这两个独立的窗口不能相互访问,即网站A的网页与网站B的网页没有关系。

但是,不能互相访问有时候也特别不方便。例如一个投票网站会弹出一个投票结果的窗口B,当用户在窗口A投票之后,窗口B就会自动刷新显示最新的投票结果。如果不能让这两个窗口相互访问,这个事情就无法实现。因此,需要建立这两个窗口的关系,允许他们相互访问,才能实现投票结果的自动刷新。

通常,如果窗口A是由窗口B产生的(例如用户在窗口B点了一个链接弹出了窗口A),那么这两个窗口就是有关系的,他们是可以互相访问的。既然A是由B弹出的,那么B就显然相信A,所以就不存在安全性问题。上述的在线听歌示例,音乐盒就是由搜索结果页面产生的,这两个页面是有关系的。

但是,如果两个页面没有关系,即相互不能访问,利用本发明所述的新的通信模式,也能实现网页间的通信。因为本发明所述方法在整个实现流程中,不需要考虑通信的两个网页之间是否有关系。因此,即使搜索结果页面是新打开的,与音乐盒页面没有任何关系,这种情况下,如果用户在所述搜索结果页面点击添加按钮,所述音乐盒页面同样会自动添加新的歌曲,而不会打断正在听的音乐。

针对上述方法,本发明还提供了一种网页间通信的系统实施例。参照图4,是所述一种网页间通信的系统结构图。所述系统主要包括客户端U41和服务端U42。

所述客户端U41包括操作请求单元U411,用于该客户端的一个网页A向服务端U42发出操作请求;操作触发单元U412,用于该客户端的另一个网页B向服务端U42发出触发请求;操作单元U413,用于根据服务端U42的答复进行相应操作。

所述服务端U42用于在收到客户端U41的操作请求后,等待接收该客户端U41发送的触发请求;当收到触发请求后,将对应该操作请求的答复返回给该客户端U41。

优选的,所述服务端U42进一步包括存储单元U421,用于保存客户端网页A发出操作请求时附带的客户端标识和请求标识;查找单元U422,用于将客户端网页B发出的触发请求附带的客户端标识,与所述保存的客户端标识进行匹配;当匹配成功时,服务端U42根据相匹配的请求标识得到客户端网页A的操作请求,然后将对应该操作请求的答复返回给该客户端U41。

优选的,所述存储单元U421可以为数据库,也可以为内存,本发明在此不作限定。

优选的,服务端U42为区分客户端U41发来的操作请求和触发请求,设置了两个端口来分别接收操作请求和触发请求。

以在线听歌为例,客户端网页A即为音乐盒,客户端网页B即为搜索结果页面。在音乐盒被打开的时候,通过操作请求单元U411自动发出获取用户所添加歌曲信息的请求,同时附带客户端ID和请求ID一起发送过去,然后等待答复;服务端U42将所述客户端ID和请求ID保存到存储单元U421,然后等待添加歌曲的请求;当用户点击搜索结果页面的添加按钮时,客户端的操作触发单元U412将所述添加歌曲的请求发送给服务端U42,同时附带客户端ID;服务端U42通过查找单元U422,将添加请求附带的客户端ID与保存的客户端ID进行匹配,当匹配成功时,服务端U42根据相匹配的请求ID得到获取用户所添加歌曲信息的请求,然后将用户所添加的歌曲信息作为答复返回给该客户端U41;客户端U41收到答复,通过操作单元U413将新添加的歌曲动态更新到音乐盒上,而不会打断正在播放的歌曲。

图4所示系统中未详述的部分可以参见图1、图2和图3所示方法的相关部分,为了篇幅考虑,在此不再详述。

以上对本发明所提供的一种网页间通信的方法、系统及在音乐搜索中的应用,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号