CN104079598B - 一种实现网页协同浏览的方法和装置 - Google Patents
一种实现网页协同浏览的方法和装置 Download PDFInfo
- Publication number
- CN104079598B CN104079598B CN201310101226.6A CN201310101226A CN104079598B CN 104079598 B CN104079598 B CN 104079598B CN 201310101226 A CN201310101226 A CN 201310101226A CN 104079598 B CN104079598 B CN 104079598B
- Authority
- CN
- China
- Prior art keywords
- host process
- host
- server
- key assignments
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种实现网页协同浏览的方法和装置。该方法包括:每加载一个网页,则生成与该个网页对应的一个从进程;生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程;所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域。应用本发明能够降低对应用服务器产生的负荷。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种实现网页协同浏览的方法和装置,可同时保持多个网页的实时状态。
背景技术
基于浏览器浏览网页,是目前最常见的一种提供互联网服务的模式,除了采用独立的网页浏览器浏览网页以外,在某些web应用中,也常常采用基于浏览器浏览网页的模式,实现web应用中的某些具体功能。
采用独立的网页浏览器浏览网页时,在某些场景下需要维持网页的实时状态,例如基于网页进行网络聊天等场景,在需要维持实时状态的web应用中,也需要保持网页的实时状态。特别地,在某些场景中,同一用户会同时打开多个需要维持实时状态的网页,即需要协同浏览多个网页,此时,需要及时更新多个网页的数据信息和状态信息。
要实现网页的协同浏览,需要实时地与应用服务器交换每个网页的数据信息和状态信息。目前,实时地与应用服务器交换网页的数据信息和状态信息的方式可以有多种,例如,可以通过长连接方式、http短轮询方式、http长轮询方式、flash组件方式等实时地与应用服务器交换网页的数据信息和状态信息,无论哪种方式,都会占用应用服务器的资源,从而对应用服务器造成一定的负荷。
鉴于通用性的考虑,目前通常通过http短轮询或http长轮询的方式维持每个网页的实时状态,进而实现网页的协同浏览,具体地:
http短轮询是指,浏览器模块不论网页是否有数据或状态的更新,都定时向应用服务器发出请求,应用服务器接收到请求后,也不论是否有需要向网页发送的数据或状态信息,都立即作出响应,即向浏览器模块返回响应消息。
http长轮询是指,浏览器模块每次在接收到应用服务器返回的响应消息后立即发出请求,应用服务器每次接收到浏览器模块发来的请求后,如果有需要向网页发送的数据或状态信息,则立即向浏览器模块返回响应消息,否则,保持(hold)一段时间,在该段时间内如果有需要向网页发送的数据或状态信息则立即返回响应消息,如果该段时间结束时还没有需要向网页发送的数据或状态信息,则在该段时间结束时向浏览器模块返回响应消息。
可见,在需要实现网页协同浏览的场景下,为了维持多个网页的实时状态,浏览器模块会针对每个网页分别与服务器建立连接,例如建立http短轮询连接或http长轮询连接,从而实时地与应用服务器交换数据和状态信息。
由于与应用服务器的每个连接都会对应用服务器产生一定的负荷,例如,每个http短轮询连接本身会产生大量的请求,每个http长轮询连接本身会一直占用应用服务器的连接资源,因此,当需要同时维持多个网页的实时状态时,目前针对每个网页分别与应用服务器建立诸如http短轮询连接或http长轮询连接的方式将导致请求数量成倍增加或占用的应用服务器连接资源成倍增加,因此将大大加重应用服务器的负荷。
发明内容
本发明提供了一种实现网页协同浏览的方法和装置,能够降低对应用服务器产生的负荷。
一种实现网页协同浏览的方法,该方法包括:
每加载一个网页,生成与该网页对应的一个从进程;
生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程;
所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域;
所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信的步骤包括:
所述从进程在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储空间内;
所述主进程在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储空间;
所述从进程从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该从进程的响应信息;
所述主进程从所述共享存储空间内读取插入有所述从进程的标识信息的键值,从插入有所述从进程的标识信息的键值中解析出所述从进程的数据信息和/或状态信息。
一种实现网页协同浏览的装置,该装置包括模拟进程模块和通信模块;
所述模拟进程模块,用于每加载一个网页,生成与该网页对应的一个从进程,生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程;
所述通信模块,用于被所述主进程和该主进程对应的所有从进程调用,通过访问共享存储区域实现所述主进程与该主进程对应的所有从进程的通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域;
所述通信模块包括分区存取模块和收发模块;
所述分区存取模块,在用于表示从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,从而为该从进程划分存储区域,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,从而为该主进程划分存储区域,将插入了从进程的标识信息的所述键值写入所述共享存储空间内,从而将每个从进程的数据信息和/或状态信息分别写入每个从进程各自的存储区域内,将插入了主进程的标识信息的所述键值写入所述共享存储空间,从而将服务器返回的响应信息写入所述主进程的存储区域内,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从而读取所述主进程的存储区域内的信息,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而读取所述从进程的存储区域内的信息;
所述收发模块,用于建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息;
每个从进程通过调用所述分区存取模块,在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该从进程的响应信息;
所述主进程通过调用所述分区存取模块,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而获取从进程的数据信息和/或状态信息。
由上述技术方案可见,本发明中,为每个加载的网页生成一个从进程,并且生成与一个以上的从进程对应的一个主进程,也就是说,在从进程的个数为两个以上时,为两个以上的从进程生成一个主进程,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,其中,主进程和该主进程对应的所有从进程通过访问共享存储区域进行通信。
可见,本发明实现了由一个另外生成的主进程代替所有从进程与应用服务器进行信息交互,不需要每个从进程分别与应用服务器建立通信连接,从而实现了在同时维护多个网页的实时状态时,只与应用服务器建立一个通信连接(即主进程与应用服务器的通信连接),而不需要针对每个网页都分别与应用服务器建立连接,即不需要为多个需要维护实时状态的网页与服务器建立多个连接。
因此,从应用服务器的角度看,相当于只与一个进程进行信息交互,能够大大减轻应用服务器的负荷;另外,由于所述主进程是不同于各个从进程的另外生成的一个进程,其专门负责和应用服务器的通信,因此,每个从进程只需要关注与自身对应的网页的业务逻辑处理即可,每个从进程不再需要与应用服务器进行通信,因此在同时打开多个需要维持实时状态的网页时,即在需要实现多个网页的协同浏览时,也利于该多个网页的业务逻辑管理。
附图说明
图1是本发明实施例提供的实现网页协同浏览的方法流程图。
图2是本发明实施例提供的实现网页协同浏览的装置的结构示意图。
图3是本发明较佳实施例提供的实现网页协同浏览的方法或装置的运行环境示意图。
具体实施方式
图1是本发明实施例提供的实现网页协同浏览的方法流程图。
如图1所示,该方法包括:
步骤101,每加载一个网页,则生成与该个网页对应的一个从进程。
步骤102,生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程。
步骤103,所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信。
步骤104,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域。
其中,步骤103和步骤104间无先后执行顺序,也可以并行执行。
由图1可见,通过为加载的每个网页都生成一个对应的从进程,并对应所有从进程另外生成一个主进程,由该另外生成的主进程代替所有从进程与应用服务器进行信息交互,实现了在同时维护多个网页的实时状态时,只与应用服务器建立一个通信连接(即主进程与应用服务器的通信连接),而不需要针对每个网页都分别与应用服务器建立连接,即不需要为多个需要维护实时状态的网页与服务器建立多个连接,因而能够大大减轻了对服务器的负荷。
在具体实现时,可以通过模拟进程类模拟出从进程类和主进程类,由从进程类生成从进程,由主进程类生成主进程。
其中,模拟进程类具备在预定时机执行预定对象的功能,所述预定对象一般为片段代码,通过设计所述预定对象,可以由模拟进程类模拟出从进程类和主进程类。
具体地,根据从进程类所需要完成的业务逻辑等需求设计得到第一预定对象,进而可以通过模拟进程类执行所述第一预定对象而生成从进程类;根据主进程类所需要完成的通信逻辑等需求设计得到第二预定对象,进而可以通过模拟进程类执行所述第二预定对象而生成主进程类。
关于由从进程类生成从进程,具体可以在加载网页时由从进程类生成一个从进程,通常是通过对所述从进程类进行实例化,从而得到与当前加载的网页对应的一个从进程。
而关于由主进程类生成主进程,则是由多个从进程共同维护一个主进程,即由多个从进程及时检测主进程的状态信息,包括检测当前是否存在主进程、当前存在的主进程的状态是否可用,在当前不存在可用状态的主进程时,由最先检测出不存在可用状态的主进程的从进程来启动所述主进程类生成主进程,具体可以是最先检测出不存在可用状态的主进程的从进程对所述主进程类进行实例化,从而生成一个可用状态的主进程。
本发明实施例中,从进程和主进程之间通过共享存储区域进行通信,其中,所述的共享存储区域可以是超文本标记语言(如第五版本超文本标记语言,HTML5)标准的本地存储区域(LocalStorage)、或者是浏览器的cookie存储区域,如果存在浏览器能够访问的其他本地存储区域,则所述共享存储区域也可以是所述其他本地存储区域。
本发明实施例中,可以通过虚拟分割共享存储区域,在所述共享存储区域中为主进程和各个从进程分别划分出自身的存储空间,每个从进程将自身的数据信息和/或状态信息写入自身的存储空间内,主进程也将服务器返回的响应信息写入主进程自身的存储空间内,由于从进程和主进程各自的存储空间都位于所述共享存储区域内,因此从进程可以读取主进程的存储空间,主进程也可以读取每个从进程的存储空间,从而实现了主进程和从进程之间的通信。
通过虚拟分割共享存储区域,可以使得各个从进程的存储空间相互独立,每个从进程对自身的数据信息和/或状态信息进行操作时,不会影响其他从进程的数据信息和/或状态信息。
其中,各个从进程的业务逻辑可以相同,也可以不同。由于本发明实施例实现了虚拟分割共享存储区域,因此即便各个从进程的业务逻辑不同,也能够实现各个业务之间独立运行,彼此互不影响。
从进程和主进程可以通过在用于表示自身需要写入的信息的键值中插入自身的标识信息,来虚拟分割出自身的存储区域。
具体地,从进程在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储空间内,从而实现了将该从进程的数据信息和/或状态信息写入了该从进程自身的存储空间内;主进程在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储空间,从而实现了将主进程接收的来自于服务器的响应信息写入该主进程自身的存储空间内。
在读取数据时,主进程和从进程也可以通过键值中插入的标识信息识别主进程和从进程的存储空间,从而读取目标存储空间中的信息。
具体地,每个从进程从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该个从进程的响应信息;当从进程需要读取某个从进程的存储空间时,所述主进程从所述共享存储空间内读取插入有该个从进程的标识信息的键值,从插入有该个从进程的标识信息的键值中解析出该个从进程的数据信息和/或状态信息。
其中,在键值中插入标识信息的方法有多种,例如,可以采用“标识信息+字段名”的方式来命名每个存储值,也可以采用“字段名+标识信息”的方式来命名每个存储值,或者,也可以采用混淆算法,根据需要在其中插入标识信息的原始键值和所述标识信息,计算出已经插入了标识信息的新的键值。
当主进程和从进程通过共享存储空间实现通信时,主进程根据自身的实际状态更新所述共享存储区域内存储的主进程状态信息,从进程可以定时检测所述共享存储区域内存储的主进程状态信息,一旦发现不存在主进程、或者主进程的状态不可用,则由最先检测出不存在可用状态的主进程的从进程实例化一个主进程。其中,主进程的状态信息可以是主进程的心跳信息,也可以是用于标识主进程状态的标志位信息。
下面以采用Javascript编程语言实现本发明实施例为例,对本发明实施例进行示例性介绍:
多个页面可以用浏览器提供的Javascript应用程序接口(API)访问到共享存储区域,该区域一般为HTML5标准中的LocalStorage,若不支持HTML5标准,则使用cookie存储区域作为共享存储区域。
在共享存储区域的基础上,利用Javascript封装了公用类BlockStorage,用于虚拟地分割共享存储区域,使得采用Javascript实现的从进程和主进程在操作共享存储区域时,对各自存储空间的操作都能互相独立,不会互相影响对方的数据。分割方法有多种,例如可以在每个数据的键值前增加以虚拟区域名命名的前缀,例如,要操作名为block1的虚拟区域中的键值为key1的数据时,利用封装好的BlockStorage类,实际操作的是LocalStorage或cookie中键值为block1_key1的数据。
其中,采用Javascript实现从进程和主进程时,利用Javascript封装模拟进程类,该进程类能定时执行相应片段代码;在模拟进程类上拓展出业务逻辑需要的主、从两种进程类;利用上述BlockStorage类作为操作
共享存储区域的工具;主进程通过共享存储区域检查从进程状态、获取从进程的数据信息和/或状态信息,从进程通过共享区域获得主进程的状态信息,并在主进程不可用时,及时恢复一个新的主进程,从进程还通过共享存储区域获得属于该从进程的响应信息,所述响应信息由主进程从服务器获取、并存储在共享存储区域内,所述响应信息可以包括服务器发来的数据信息、状态信息或命令信息。其中,当采用Javascript实现从进程和主进程时,由于主进程与启动该主进程的从进程所在页面的生命周期相同,因此,当启动主进程的从进程所在的页面被关闭时,需要重新启动一个主进程。
本发明实施例中,对主进程与服务器之间的通信连接不作具体限定,例如,可以采用长连接方式、http短轮询方式、http长轮询方式或flash组件方式等。出于性能的考虑,优选地,主进程和服务器之间建立的通信连接为http短轮询方式。
根据本发明实施例提供的上述方法,本发明实施例还提供了一种实现网页协同浏览的装置,可同时保持多个网页的实时状态,具体请参照图2。
图2是本发明实施例提供的实现网页协同浏览的装置的结构示意图。
如图2所示,该装置包括模拟进程模块201和通信模块202。
模拟进程模块201,用于每加载一个网页,则生成与该个网页对应的一个从进程,生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程。
通信模块202,用于被所述主进程和该主进程对应的所有从进程调用,通过访问共享存储区域实现所述主进程与该主进程对应的所有从进程的通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域。
其中,模拟进程模块201可以包括:从进程模拟模块和主进程模拟模块。
所述从进程模拟模块,用于每加载一个网页,则生成与该个网页对应的一个从进程。
所述主进程模拟模块,生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程。
所述从进程模拟模块生成的每个从进程检测所述共享存储区域内存储的主进程状态信息,由最先检测出不存在可用状态的主进程的从进程向所述主进程模拟模块发送生成指示;所述主进程模拟模块,用于接收所述生成指示,生成一个可用状态的主进程,所述主进程根据自身的实际状态更新所述共享存储区域内存储的主进程状态信息。
其中,每个从进程定时检测所述共享存储区域内存储的主进程状态信息。所述不存在可用状态的主进程包括:不存在主进程、或者主进程处于不可用状态。所述主进程状态信息包括:主进程的心跳信息、或用于标识主进程状态的标志位信息。
通信模块202可以包括分区存取模块和收发模块。
所述分区存取模块,在用于表示从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,从而为该从进程划分存储区域,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,从而为该主进程划分存储区域,将插入了从进程的标识信息的所述键值写入所述共享存储空间内,从而将每个从进程的数据信息和/或状态信息分别写入每个从进程各自的存储区域内,将插入了主进程的标识信息的所述键值写入所述共享存储空间,从而将服务器返回的响应信息写入所述主进程的存储区域内,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从而读取所述主进程的存储区域内的信息,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而读取所述从进程的存储区域内的信息。
所述收发模块,用于建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息。
每个从进程通过调用所述分区存取模块,在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该从进程的响应信息。
所述主进程通过调用所述分区存取模块,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而获取从进程的数据信息和/或状态信息。
其中,通信模块202具体可以用于建立所述主进程与服务器的http短轮询连接。
在具体实现时,可以在网页中嵌入用于实现本发明实施例方法或装置的模块,网页浏览器在加载网页时通过执行所述模块来执行本发明实施例的方法或装置。
其中,本发明实施例所述的网页浏览器,不仅包括目前以独立形式存在的网页浏览器,还包括以任何方式嵌入其他装置或模块、用以实现和web应用服务器交换数据和状态信息、从而起到类似独立网页浏览器功能的模块。
为了更清楚地表明本发明实施例提供的实现网页协同浏览的方法或装置,作为示例性地,下面进一步给出本发明实施例提供的实现网页协同浏览的方法或装置的运行环境示意图,具体请见图3。
图3是本发明较佳实施例提供的实现网页协同浏览的方法或装置的运行环境示意图。
图3示出了运行本发明较佳实施例提供的实现网页协同浏览的方法或装置的设备的基本组成示意图,该设备包括处理器301、存储器302、传输模块303、显示单元304和输入单元305,该设备还包括用于为上述各个模块供电的电源模块(图3中未示出),该设备例如可以是个人电脑、也可以是手机等移动终端。
在存储器302中存储有用于执行本发明实施例提供的实现网页协同浏览的方法的指令、或者包括用于实现本发明实施例提供的实现网页协同浏览的装置的模块,当需要采用本发明实施例提供的方法或装置实现网页协同浏览时,处理器301从所述存储器302读取用于执行本发明实施例提供的实现网页协同浏览的方法的指令、或者读取用于实现本发明实施例提供的实现网页协同浏览的装置的模块中的内容,以实现实现网页协同浏览。
其中,存储器302可以为软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM等存储介质。
由上述方案可见,通过本发明实施例,可以实现多个从进程负责各个页面的管理,通过共享存储区域实现主进程和从进程的信息共享以及主从进程间的通信,让唯一的主进程与服务器进行通信,从而减轻服务器的负荷。
例如,当采http短轮询方式与服务器进行通信时,如果有n个页面都需要维护实时状态,如果采用本发明实施例,则可以将发往服务器的请求数减小n倍,因此能够明显地降低服务器的负荷。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种实现网页协同浏览的方法,其特征在于,该方法包括:
每加载一个网页,生成与该网页对应的一个从进程;
生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程;
所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域;
所述主进程与该主进程对应的所有从进程通过访问共享存储区域进行通信的步骤包括:
所述从进程在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储空间内;
所述主进程在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储空间;
所述从进程从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该从进程的响应信息;
所述主进程从所述共享存储空间内读取插入有所述从进程的标识信息的键值,从插入有所述从进程的标识信息的键值中解析出所述从进程的数据信息和/或状态信息。
2.根据权利要求1所述的方法,其特征在于,所述生成与一个以上的从进程对应的一个主进程的步骤包括:
每个从进程检测所述共享存储区域内存储的主进程状态信息,由最先检测出不存在可用状态的主进程的从进程生成一个可用状态的主进程;
根据主进程的实际状态更新所述共享存储区域内存储的主进程状态信息。
3.根据权利要求2所述的方法,其特征在于,每个从进程检测所述共享存储区域内存储的主进程状态信息包括:每个从进程定时检测所述共享存储区域内存储的主进程状态信息。
4.根据权利要求2所述的方法,其特征在于,所述不存在可用状态的主进程包括:不存在主进程、或者主进程处于不可用状态。
5.根据权利要求2所述的方法,其特征在于,所述主进程状态信息包括:主进程的心跳信息、或用于标识主进程状态的标志位信息。
6.根据权利要求1所述的方法,其特征在于,所述共享存储区域包括浏览器的cookie存储区域和/或超文本标记语言标准的本地存储区域。
7.根据权利要求1所述的方法,其特征在于,建立所述主进程与服务器的通信连接包括:
建立所述主进程与服务器的http短轮询连接。
8.一种实现网页协同浏览的装置,其特征在于,该装置包括模拟进程模块和通信模块;
所述模拟进程模块,用于每加载一个网页,生成与该网页对应的一个从进程,生成与一个以上的从进程对应的一个主进程,其中,当从进程的个数为两个以上时,该两个以上的从进程对应一个主进程;
所述通信模块,用于被所述主进程和该主进程对应的所有从进程调用,通过访问共享存储区域实现所述主进程与该主进程对应的所有从进程的通信,建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息,将所述响应信息写入所述共享存储区域;所述通信模块包括分区存取模块和收发模块;
所述分区存取模块,在用于表示从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,从而为该从进程划分存储区域,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,从而为该主进程划分存储区域,将插入了从进程的标识信息的所述键值写入所述共享存储空间内,从而将每个从进程的数据信息和/或状态信息分别写入每个从进程各自的存储区域内,将插入了主进程的标识信息的所述键值写入所述共享存储空间,从而将服务器返回的响应信息写入所述主进程的存储区域内,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从而读取所述主进程的存储区域内的信息,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而读取所述从进程的存储区域内的信息;
所述收发模块,用于建立所述主进程与服务器的通信连接,通过主进程与服务器的通信连接向服务器发送该主进程对应的所有从进程的数据信息和/或状态信息,接收服务器返回的响应信息;
每个从进程通过调用所述分区存取模块,在用于表示该从进程的数据信息和/或状态信息的键值中插入该从进程的标识信息,将插入了该从进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有所述主进程的标识信息的键值,从插入有所述主进程的标识信息的键值中解析出针对该从进程的响应信息;
所述主进程通过调用所述分区存取模块,在用于表示服务器返回的响应信息的键值中插入该主进程的标识信息,将插入了该主进程的标识信息的所述键值写入所述共享存储区域,从所述共享存储空间内读取插入有从进程的标识信息的键值,从而获取从进程的数据信息和/或状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101226.6A CN104079598B (zh) | 2013-03-27 | 2013-03-27 | 一种实现网页协同浏览的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101226.6A CN104079598B (zh) | 2013-03-27 | 2013-03-27 | 一种实现网页协同浏览的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104079598A CN104079598A (zh) | 2014-10-01 |
CN104079598B true CN104079598B (zh) | 2018-09-28 |
Family
ID=51600640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310101226.6A Active CN104079598B (zh) | 2013-03-27 | 2013-03-27 | 一种实现网页协同浏览的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104079598B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704008B (zh) * | 2015-12-31 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种网页即时通讯方法、系统及终端 |
CN106020960B (zh) * | 2016-05-30 | 2020-02-18 | 北京奇艺世纪科技有限公司 | 一种调用方法及装置 |
CN106961482B (zh) * | 2017-04-01 | 2021-01-15 | 联想(北京)有限公司 | 一种信息处理方法及装置、存储介质、电子设备 |
US20190190986A1 (en) * | 2017-12-19 | 2019-06-20 | Avaya Inc. | Long polling for clustered application load balancing |
CN110730173B (zh) * | 2019-10-16 | 2022-06-07 | 北京明略软件系统有限公司 | 一种信息交互方法及装置 |
CN115190160A (zh) * | 2022-05-25 | 2022-10-14 | 杭州脸脸会网络技术有限公司 | 屏设备的断网监控方法、装置、电子装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782864A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种改善Web服务器通信服务稳定性的方法 |
CN102073537A (zh) * | 2010-09-29 | 2011-05-25 | 深圳市蓝韵实业有限公司 | 一种高并发Web医学影像服务器的实现方法 |
CN102420805A (zh) * | 2010-09-27 | 2012-04-18 | 阿里巴巴集团控股有限公司 | 一种通过套接字连接进行通信的方法、系统及设备 |
-
2013
- 2013-03-27 CN CN201310101226.6A patent/CN104079598B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782864A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种改善Web服务器通信服务稳定性的方法 |
CN102420805A (zh) * | 2010-09-27 | 2012-04-18 | 阿里巴巴集团控股有限公司 | 一种通过套接字连接进行通信的方法、系统及设备 |
CN102073537A (zh) * | 2010-09-29 | 2011-05-25 | 深圳市蓝韵实业有限公司 | 一种高并发Web医学影像服务器的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104079598A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079598B (zh) | 一种实现网页协同浏览的方法和装置 | |
US10642904B2 (en) | Infrastructure enabling intelligent execution and crawling of a web application | |
CN103425491B (zh) | 一种游戏引擎 | |
CN104094234B (zh) | 便利原生实体与虚拟机间通信的方法、系统及存储介质 | |
US20160261699A1 (en) | Transferring cookie data to another domain | |
CN107133180A (zh) | 动态页面的测试方法、测试装置及存储介质 | |
CN109542427A (zh) | 一种系统定制方法、装置及电子设备和存储介质 | |
CN104426925A (zh) | 网页资源获取方法及装置 | |
CN104395881B (zh) | 动态型阵列的表达和变换 | |
CN102982091A (zh) | 用于基于动态域的隔离的技术 | |
CN107809383A (zh) | 一种基于mvc的路径映射方法及装置 | |
CN109639749A (zh) | 云桌面的访问方法、装置、设备及存储介质 | |
CN103975336A (zh) | 对值中的标签进行编码以俘获信息流 | |
CN104268229A (zh) | 一种基于多进程浏览器的资源获得方法及装置 | |
CN103530338A (zh) | 在计算设备上进行页面渲染的框架及生成页面的方法 | |
CN105095220B (zh) | 一种浏览器实现方法、终端和虚拟化代理装置 | |
CN110532495A (zh) | 一种网页信息的展示方法及装置 | |
CN108134812A (zh) | 数据处理方法和装置 | |
CN104462242B (zh) | 网页回流量统计方法及装置 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN103023704B (zh) | 虚拟网络服务设备接入方法及系统 | |
CN109981533A (zh) | 一种DDoS攻击检测方法、装置、电子设备及存储介质 | |
CN102662838A (zh) | 一种浏览器中Flash的调试方法及系统 | |
CN103399776A (zh) | 可重用mock创建方法及系统 | |
CN109032693A (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |