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

文档序号:7695338阅读:145来源:国知局
专利名称:一种网页间通信的方法、系统及在音乐搜索中的应用的制作方法
技术领域
本发明涉及网络技术领域,特别是涉及一种网页间通信的方法、系统及在 音乐搜索中的应用。
背景技术
通常,用户的上网行为都是基于客户端-浏览器模式,即客户端浏览器发
出请求,网站服务器立即响应所述请求做出答复。例如,当用户通过Web( World Wide Web,万维网)版的BBS (Bulletin Board System,电子公告板)发贴子 的时候,用户把写的文字提交给服务器,服务器接收后返回一个新的页面,这 个页面包含了用户的帖子,就说明用户的帖子已经发表成功了 。
基于这种通信模式, 一种网络应用是在线听歌用户在一个网页上听歌(称 这个网页为音乐盒),然后在另一个网页,假设是歌曲的搜索结果页面,点击 了添加按钮,希望新添加的歌曲能够立即反应在音乐盒页面上。这时,涉及到 两个网页间的通信问题。
针对上述应用,有如下两种处理方法
一种方法是,如果这两个页面有关系,即浏览器允许他们之间通信,则音 乐盒页面需要刷新一下,才能将新添加的歌曲更新到音乐盒页面上。但是,这 种方式下当前正在听的音乐就会被打断,会给用户带来不好的使用体验。
另一种方法是,音乐盒页面(即客户端)可以用Javascript (是一种由 Netscape的LiveScript发展而来的脚本语言)程序定期访问服务器,查看是否 有新歌被添加。定期访问可以是5s—次,3s—次,或者不停地访问。但是, 这种方式非常浪费带宽资源,而且实时性纟艮差。
综上所述,目前的方法通常采用刷新页面或轮询服务器的方式,存在打断 当前页面播放、浪费带宽、响应不及时等问题。

发明内容
本发明所要解决的技术问题是提供一种网页间通信的方法、系统及在音乐 搜索中的应用,以解决现有采用刷新页面或轮询服务器的方式,存在打断当前
4页面播放、浪费带宽、响应不及时的问题。
为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下
技术方案
一种网页间通信的方法,包括
客户端的一个网页A发出操作请求后,等待服务端答复; 当服务端收到该客户端的另一个网页B发出的触发请求后,将对应网页A 操作请求的答复返回给该客户端;
该客户端根据所述答复对网页A进行相应操作。
优选的,所述方法还包括将所述网页A发出操作请求时附带的客户端 标识和请求标识进行保存。
优选的,将对应网页A操作请求的答复返回给该客户端具体包括将网 页B发出的触发请求附带的客户端标识,与所述保存的客户端标识进行匹配; 当匹配成功时,才艮据相匹配的请求标识得到网页A的4喿作请求,然后将对应 该操作请求的答复返回给该客户端。
其中,当所述客户端的网页A被打开后,自动发出操作请求。
其中,当该客户端收到服务端的答复后,网页A继续向服务端发送操作 请求。
其中,当所述操作请求为获取用户所添加歌曲信息的请求时,该客户端根 据所述答复对网页A进行相应操作具体包括该客户端通过网页脚本程序, 将用户添加的歌曲信息动态更新到网页A。
一种网页间通信的系统,包括客户端和服务端,其中,
所述客户端包括操作请求单元,用于该客户端的一个网页A向服务端发 出操作请求;操作触发单元,用于该客户端的另一个网页B向服务端发出触 发请求;操作单元,用于根据服务端的答复进行相应操作;
所述服务端用于在收到客户端的操作请求后,等待接收该客户端发送的触 发请求;当收到触发请求后,将对应该操作请求的答复返回给该客户端。
优选的,所述服务端进一步包括存储单元,用于保存客户端网页A发 出操作请求时附带的客户端标识和请求标识;查找单元,用于将客户端网页B 发出的触发请求附带的客户端标识,与所述保存的客户端标识进行匹配;当匹配成功时,服务端根据相匹配的请求标识得到客户端网页A的4乘作请求,然 后将对应该操作请求的答复返回给该客户端。 其中,所述存储单元为数据库或内存。
优选的,所述服务端设置两个端口,分别用于接收客户端发送的操作请求 和触发请求。
一种应用于音乐搜索的网页间通信方法,包括
音乐播放页面发出获取用户所添加歌曲信息的请求,然后等待服务器答
复;
当用户点击音乐搜索结果页面的添加按钮后,该页面向所述服务器发出添
加歌曲的i青求;
所述服务器收到添加歌曲的请求后,将用户所添加的歌曲信息作为答复返 回给所述音乐纟番;故页面;
音乐播放页面根据所述答复更新页面。
优选的,所述方法还包括服务器收到音乐播放页面发出的请求后,将该 请求附带的客户端标识和请求标识进行保存。
优选的,服务器将用户所添加的歌曲信息作为答复返回给所述音乐播放页 面具体包括服务器将添加歌曲的请求附带的客户端标识,与所述保存的客户 端标识进行匹配;当匹配成功时,根据相匹配的请求标识得到获取用户所添加 歌曲信息的请求,然后将用户所添加的歌曲信息作为答复返回给所述音乐播放 页面。
根据本发明提供的具体实施例,本发明具有以下技术效果 首先,本发明改变传统思路,提出一种新的网页间通信模式,即客户端 的一个网页A发出操作请求(如希望得到用户所添加的歌曲信息的请求),服 务端接收请求并假装正在处理,让客户端一直等待;当服务端收到该客户端的 另一个网页B发出的触发请求后(如点击添加按钮),便将对应网页A操作请 求的答复返回给等待中的客户端。
这样,对于客户端,并不需要轮询服务器,只需要一次连接即可,从而极 大地节省了带宽和服务器资源。同时,当服务器得到另一个触发请求,便会对这个客户端做出答复,最大程度上保证了实时通信能力,同时避免了页面的刷新。
其次,本发明所述新的通信才莫式不仅能够解决有关系的两个网页间的通信 问题,还适用于两个无关网页间的通信。例如,搜索结果页面是新打开的,与 音乐盒页面没有任何关系,这种情况下,如果用户在所述搜索结果页面点击添 加按钮,则所述音乐盒页面同样会自动添加新的歌曲,而不会打断正在听的音 乐。


图l是本发明实施例一所述网页间通信的方法流程图; 图2是本发明实施例二所述网页间通信的方法流程图; 图3是本发明实施例二所述网页间通信的示意图; 图4是本发明实施例所述一种网页间通信的系统结构图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
针对两个网页间的通信问题,本发明改变传统思路,提出一种新的网页间 通信模式,下面参见实施例一的说明。
实施例一
参照图1,是本发明实施例一所述网页间通信的方法流程图。
5101, 客户端的一个网页A发出操作请求后,等待服务端答复;
5102, 服务端接收所述操作请求并假装正在处理,让客户端一直等待;
5103, 该客户端的另一个网页B向服务端发出触发请求;
5104, 服务端收到该客户端的触发请求后,将对应网页A操作请求的答 复返回给等待中的客户端;
S105,该客户端根据所述答复对网页A进行相应操作。 上述流程实现了网页A与网页B之间的实时通信,与传统的"客户端请 求,服务端立即答复"的模式不同,本发明中服务端收到客户端的操作请求后, 并不立即答复,而是等待客户端的触发请求,当客户端发出触发请求后,服务端才真正返回答复。
下面结合实际应用详细说明。
实施例二
参照图2,是本发明实施例二所述网页间通信的方法流程图。仍以在线听 歌为例,用户在某客户端上登录一个在线听歌的网站,打开该网站的歌曲搜索 结果页面,页面上展示出歌曲列表,用户选择要听的歌曲后,打开一个新的播 放页面,这个播放页面称为音乐盒。
5201, 音乐盒在首次被打开的时候,会自动向网站服务器发出一个表明自 己希望得到用户所添加的歌曲信息的请求。
所述请求即为前述的操作请求,该请求附带了客户端ID和请求ID。其中, 客户端ID用于唯一标识一个客户端,可以是注册用户的账号,也可以是临时 生成的一个ID。
优选的,可以用该客户端的cookie作为客户端ID,例如用户登录163通 行证,然后当点击网易其他频道的时候,服务器端总是可以自动知道用户是谁, 即使用户重新打开浏览器也可以。
所述请求ID用于唯一标识一个客户端请求,是才喿作系统为每个socket(通 常也称作"套接字",用于描述IP地址和端口 )提供的一个整数,通过这个整数 即可访问这个socket以及对这个请求估文任何梯:作。
5202, 网站服务器收到该客户端发出的请求后,将所述客户端ID和请求 ID保存起来(可以采用数据库保存或内存存储),表示这个请求暂时没有处理。 然后,服务器继续等待用户添加请求。同时对于音乐盒,也一直在等待答复。
S203,当用户在搜索结果页面选择新的歌曲并点击添加按钮后,该搜索结 果页面自动向网站服务器发出添加歌曲的请求。所述添加歌曲的请求即为前述 的触发请求,该请求同样也附带客户端ID和请求ID。
5204, 网站服务器收到所述添加歌曲的请求后,将该请求附带的客户端 ID与保存的客户端ID进行匹配,查找是否有相同的客户端ID。
5205, 当匹配成功时,才艮据相匹配的请求ID (即保存的请求ID)就可以 得到对应的请求(这个请求是音乐盒获取用户所添加的歌曲信息的请求),并 把用户所添加的歌曲作为答复返回给等待中的客户端。如果匹配不成功,服务器就可以对该添加请求不作任何处理,因为这说明 这个音乐盒还没打开(打开了就应该已经发出了请求,客户端ID就不会不存 在)。
S206,该客户端得到新歌的信息之后,可以用javascript动态的更新页面, 而不需要打断正在播放的歌曲。
当音乐盒收到答复并动态更新页面后,还会自动发出获取用户所添加歌曲 的请求,然后继续等待答复,即重复^l行以上流程。由此可知,整个音乐盒窗 口的生命周期都会发出该请求, 一旦收到答复之后,就处理这个答复,处理完 之后又发请求, 一直循环直到音乐盒被关闭。
上述流程还可以参照图3所示的示意图。在时间1,客户端向服务端发送 请求,然后等待;在时间2,客户端添加新歌,触发服务器;在时间3,服务 端向客户端返回答复结果。
通过图2和图3所示实例可知,对于客户端,并不需要轮询服务器,只需 要一次连接即可,从而极大地节省了带宽和服务器资源。同时,当服务器得到 另一个添加请求时,便会对这个客户端做出答复,最大程度上保证了实时通信 能力,同时避免了页面的刷新。
本发明所述新的网页间通信模式不仅能够解决有关系的两个网页间的通 信问题,还适用于两个无关网页间的通信。网页间有关系是指浏览器允许他们 之间通信,而两个无关网页浏览器就不允许他们互相访问,网页间的这种关系 是出于安全因素的考虑。举个例子如果正在浏览公司内部的网站A,而同时 又打开了另一个网站B,如果浏览器允许这两个页面互相访问,例如网页B 上的一段javascript代码可以访问网页A,那么公司的机密信息就会泄露。所 以对此进4亍限制,要求这两个独立的窗口不能相互访问,即网站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所示方法的相关 部分,为了篇幅考虑,在此不再详述。
以上对本发明所提供的一种网页间通信的方法、系统及在音乐搜索中的应
了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同 时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用 范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种网页间通信的方法,其特征在于,包括客户端的一个网页A发出操作请求后,等待服务端答复;当服务端收到该客户端的另一个网页B发出的触发请求后,将对应网页A操作请求的答复返回给该客户端;该客户端根据所述答复对网页A进行相应操作。
2、 根据权利要求1所述的方法,其特征在于,还包括将所述网页A发出操作请求时附带的客户端标识和请求标识进行保存。
3、 根据权利要求2所述的方法,其特征在于,将对应网页A操作请求的 答复返回给该客户端具体包括'.将网页B发出的触发请求附带的客户端标识,与所述保存的客户端标识 进行匹配;当匹配成功时,才艮据相匹配的请求标识得到网页A的操作请求,然后将 对应该操作请求的答复返回给该客户端。
4、 根据权利要求1所述的方法,其特征在于当所述客户端的网页A被 打开后,自动发出操作请求。
5、 根据权利要求1所述的方法,其特征在于当该客户端收到服务端的 答复后,网页A继续向服务端发送操作请求。
6、 根据权利要求1所述的方法,其特征在于,当所述操作请求为获取用 户所添加歌曲信息的请求时,该客户端根据所述答复对网页A进行相应操作 具体包括该客户端通过网页脚本程序,将用户添加的歌曲信息动态更新到网页A。
7、 一种网页间通信的系统,其特征在于,包括客户端和服务端,其中, 所述客户端包括才乘作请求单元,用于该客户端的一个网页A向服务端发出操作请求;操作触发单元,用于该客户端的另一个网页B向服务端发出触 发请求;操作单元,用于根据服务端的答复进行相应操作;所述服务端用于在收到客户端的操作请求后,等待接收该客户端发送的触 发请求;当收到触发请求后,将对应该操作请求的答复返回给该客户端。
8、 根据权利要求7所述的系统,其特征在于,所述服务端进一步包括存储单元,用于保存客户端网页A发出操作请求时附带的客户端标识和请求标识;查找单元,用于将客户端网页B发出的触发请求附带的客户端标识,与 所述保存的客户端标识进行匹配;当匹配成功时,服务端根据相匹配的请求标识得到客户端网页A的操作 请求,然后将对应该操作请求的答复返回给该客户端。
9、 根据权利要求8所述的系统,其特征在于所述存储单元为数据库或 内存。
10、 根据权利要求7所述的系统,其特征在于所述服务端设置两个端口 , 分别用于接收客户端发送的操作请求和触发请求。
11、 一种应用于音乐搜索的网页间通信方法,其特征在于,包括音乐播放页面发出获取用户所添加歌曲信息的请求,然后等待服务器答复;当用户点击音乐搜索结果页面的添加按钮后,该页面向所述服务器发出添 加歌曲的请求;所述服务器收到添加歌曲的请求后,将用户所添加的歌曲信息作为答复返 回给所述音乐播放页面;音乐播放页面根据所述答复更新页面。
12、 根据权利要求11所述的方法,其特征在于,还包括 服务器收到音乐播放页面发出的请求后,将该请求附带的客户端标识和请求标识进行保存。
13、 根据权利要求12所述的方法,其特征在于,服务器将用户所添加的 歌曲信息作为答复返回给所述音乐播放页面具体包括服务器将添加歌曲的请求附带的客户端标识,与所述保存的客户端标识进 行匹配;当匹配成功时,根据相匹配的请求标识得到获取用户所添加歌曲信息的请 求,然后将用户所添加的歌曲信息作为答复返回给所述音乐播放页面。
全文摘要
本发明公开了一种网页间通信的方法、系统及在音乐搜索中的应用,以解决现有采用刷新页面或轮询服务器的方式,存在打断当前页面播放、浪费带宽、响应不及时的问题。所述方法包括客户端的一个网页A发出操作请求后,等待服务端答复;当服务端收到该客户端的另一个网页B发出的触发请求后,将对应网页A操作请求的答复返回给该客户端;该客户端根据所述答复对网页A进行相应操作。本发明对于客户端,并不需要轮询服务器,只需要一次连接即可,从而极大地节省了带宽和服务器资源。同时,当服务器得到另一个触发请求,便会对这个客户端做出答复,最大程度上保证了实时通信能力,同时避免了页面的刷新。而且,本发明还适用于两个无关网页间的通信。
文档编号H04L12/28GK101291273SQ20081011483
公开日2008年10月22日 申请日期2008年6月12日 优先权日2008年6月12日
发明者吴迎晖, 枫 周, 李新娟, 峰 江 申请人:网易有道信息技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1