CN110213155B - 通信处理方法、装置及相关设备、存储介质 - Google Patents
通信处理方法、装置及相关设备、存储介质 Download PDFInfo
- Publication number
- CN110213155B CN110213155B CN201910370780.1A CN201910370780A CN110213155B CN 110213155 B CN110213155 B CN 110213155B CN 201910370780 A CN201910370780 A CN 201910370780A CN 110213155 B CN110213155 B CN 110213155B
- Authority
- CN
- China
- Prior art keywords
- communication
- information
- browser client
- indication information
- service
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种对浏览器客户端的通信处理方法、装置及智能终端、服务器,其中,所述方法包括:接收内嵌有通信工具的浏览器客户端发送的访问请求后;会根据为网页通信工具提供通信服务的服务侧设备的负载信息、判决条件,来为所述网页通信工具生成策略指示信息,以便于通知所述浏览器客户端根据所述策略指示信息选择通信策略,浏览器客户端再按照选择的通信策略为所述网页通信工具传输通信数据。采用本发明实施例,可灵活选择通信策略来实现运行在浏览器客户端上的网页通信工具的数据传输。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种对浏览器客户端的通信处理方法、装置及智能终端、服务器、存储介质。
背景技术
浏览器客户端是一种常用的用来搜索并呈现互联网信息的应用程序,浏览器客户端可以根据用户操作请求相应的网页数据,并在一个标签页中显示网页数据。随着技术的发展,在浏览器客户端上还可以构建一些工具,例如基于浏览器客户端构建的即时通信webIM(Instant Messaging)工具,基于浏览器客户端构建的网页游戏工具等等,其中,web IM应用最广的是在浏览器客户端上实现的即时通信客服服务。
浏览器客户端在进行与服务侧设备的数据交互时,一般是采用超文本传输协议(Hyper Text Transfer Protocol,http)访问服务侧设备,获取相应的数据。目前,在webIM和网页游戏等网页通信工具中,实现实时通信采用了websocket协议与polling访问方式两种。
websocket协议是超文本链接标示语言HTML5定义的一种新协议,能够实现浏览器客户端与服务侧设备的全双工通信(full-duplex),实现浏览器客户端与服务侧设备之间的双向通信。而polling访问方式则是由浏览器客户端周期性的向服务侧设备发起http请求以获取数据。
在当前web IM、网页游戏等网页通信工具设计过程中,研发人员一般针对网页通信工具的具体通信需求,单纯地设计为基于websocket协议的通信方式实现网页通信工具的数据传输,或者单纯地设计为基于polling访问方式来实现网页通信工具的数据传输。这使得针对网页通信工具的数据传输不够灵活,相应的服务侧设备的资源利用率低。
发明内容
本发明实施例提供一种对浏览器客户端的通信处理方法、装置及智能终端、服务器、存储介质,可灵活选择通信策略来实现运行在浏览器客户端上的网页通信工具的数据传输。
一方面,本发明实施例提供了一种对浏览器客户端的通信处理方法,包括:
接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的;
获取用于为网页通信工具提供通信服务的服务侧设备的负载信息;
根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;
将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于按照选择的通信策略为所述网页通信工具传输通信数据。
另一方面,本发明实施例还提供了另一种对浏览器客户端的通信处理方法,包括:
若检测到在浏览器客户端内嵌的网页通信工具上产生通信事件,则向服务侧设备发送访问请求;
接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的;
根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
相应地,本发明实施例还提供了一种对浏览器客户端的通信处理装置,包括:
通信模块,用于接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的;
获取模块,用于获取用于为网页通信工具提供通信服务的服务侧设备的负载信息;
生成模块,用于根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;
发送模块,用于将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于按照选择的通信策略为所述网页通信工具传输通信数据。
相应地,本发明实施例还提供了另一种对浏览器客户端的通信处理装置,包括:
请求模块,用于当检测到在浏览器客户端内嵌的网页通信工具上产生通信事件时,则向服务侧设备发送访问请求;
接收模块,用于接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的;
处理模块,用于根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
相应地,本发明实施例还提供了一种通信服务器,包括存储装置和处理器,所述存储装置中存储有程序指令,所述处理器用于调用所述存储装置中存储的程序指令,用于执行上述的一方面中所述的方法。
相应地,本发明实施例还提供了一种智能终端,包括存储装置和处理器,所述存储装置中存储有程序指令,所述处理器用于调用所述存储装置中存储的程序指令,用于执行上述另一方面中所述的方法。
相应地,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有程序指令,这些程序指令被处理器执行时,实现上述一方面中所述的方法。
相应地,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现上述提及的方法。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,用来确定服务侧设备的负载是否过高,如果是,则可以通知浏览器客户端以轮询访问方式访问服务侧设备,轮询访问方式是按照一定的时间间隔周期性访问服务侧设备的端口,可灵活地利用通信端口,可以满足高访问量的需求。而如果负载较低,则可以通知浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以在该双向通信连接上为所述网页通信工具传输通信数据,如此可以满足更高的及时性需求,保证通信质量;对于浏览器客户端而言可以灵活地基于服务侧设备的通知,选择不同的通信策略接入服务侧设备以为网页通信工具传输数据,满足高访问量的需求或者及时性需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种通信系统的结构示意图;
图2是本发明实施例所涉及的一种用户界面的示意图;
图3是本发明实施例所涉及的另一种用户界面的示意图;
图4是本发明实施例的一种对浏览器客户端的通信处理方法的流程示意图;
图5是本发明实施例的另一种对浏览器客户端的通信处理方法的流程示意图;
图6是本发明实施例的一种对浏览器客户端的通信指示处理的方法流程示意图;
图7是本发明实施例的又一种对浏览器客户端的通信处理方法的流程示意图;
图8是本发明实施例的再一种对浏览器客户端的通信处理方法的流程示意图;
图9是本发明实施例的一种对浏览器客户端的通信处理装置的结构示意图;
图10是本发明实施例的另一种对浏览器客户端的通信处理装置的结构示意图;
图11是本发明实施例的一种服务器的结构示意图;
图12是本发明实施例的一种智能终端的结构示意图。
具体实施方式
本发明实施例是将为浏览器客户端上的网页通信工具提供通信服务的服务侧设备的负载信息为参考依据,动态地指示浏览器客户端选择不同的通信策略来实现在该浏览器客户端上打开的网页通信工具的数据传输。在本发明实施例中,浏览器客户端所支持的通信策略至少包括两种,一种是可以实现浏览器客户端与服务侧设备之间进行双向通信的策略,该双向通信的策略能够保证浏览器客户端上的网页通信工具与提供通信服务的服务侧设备之间更加准确、及时地通信,保证了网页通信工具的通信质量,另一种是由浏览器客户端通过轮询的方式从服务侧设备获取数据的方式,轮询的方式不能较好地保证通信的及时性,但能够保证更多用户的接入,当然,在其他实施例中,还可以存在其他的通信策略,例如,将多个请求链接能合并为一个链接的shareworker通信策略。
在一个实施例中,一方面,对于服务侧设备,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,用来确定服务侧设备的负载是否过高,如果是,则可以通知浏览器客户端以轮询访问方式访问服务侧设备,轮询访问方式是以一定的周期间隔向服务侧设备发起访问,因此,在周期间隔内,其他的网页通信工具也可以访问服务侧设备,可以满足高访问量的需求。而如果负载较低,则可以通知浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以在该双向通信连接上为所述网页通信工具传输通信数据,如此可以满足更高的及时性需求,保证通信质量;另一方面,对于浏览器客户端而言,可以灵活地基于服务侧设备的通知,选择不同的通信策略接入服务侧设备以为网页通信工具传输数据,满足高访问量的需求或者及时性需求。在一个实施例中,浏览器客户端支持socket.io,在socket.io中至少封装了支持双向通信协议的websocket和能够实现轮询访问方式的polling方式。
在一个实施例中,请参见图1,是本发明实施例的一种通信系统的结构示意图。本发明实施例的所述通信系统可以是一个用于为web IM(一种在浏览器客户端网页上实现在线客服服务的工具)、网页游戏等网页通信工具提供通信服务的分布式系统,该系统包括服务侧设备,而服务侧设备则进一步包括代理服务器和通信服务器,浏览器客户端和这些服务侧设备通信,为网页通信工具传输数据,为用户提供网页通信功能。
在图1所示的结构中,浏览器客户端对应于诸如智能手机、平板电脑、个人电脑、智能可穿戴设备等带网络功能的智能终端,代理服务器为提供高性能的http和反向代理服务Nginx(engine x)的代理服务器,图1中所示的提供socket.io服务的节点即为通信服务器。其中,socket.io服务集成了基于websocket协议(一种双向通信协议)的接口服务和polling(轮询访问方式)的接口传输服务。其中,代理服务器是可选的服务器,在一些实施例中,浏览器客户端也可以直接连接通信服务器而不通过中间的代理服务器。
在服务侧设备为各个浏览器客户端上运行的网页通信工具提供服务的数据传输过程为:网页通信工具通过浏览器客户端和代理服务器提供的端口向代理服务器发送数据或者访问请求,代理服务器将数据或者访问请求转发给通信服务器,通信服务器在获取到需要发送给网页通信工具的数据时,可以将这些数据发送给代理服务器,由代理服务器通过与浏览器客户端连接的端口将这些数据发送给浏览器客户端,由浏览器客户端输出给网页通信工具,网页通信工具在用户界面上呈现相应的数据或者执行相应的数据。
在图2中示出了浏览器客户端201和在浏览器客户端201中显示的web IM的用户界面202,在web IM中,用户在浏览器客户端上点击图2中的立即咨询按钮203后,可打开如图3所示的会话界面301,用户可以通过鼠标点击立即咨询按钮203,也可以通过触屏等方式点击立即咨询按钮203。用户可以在图3所示的会话界面301上输入信息,例如其中的信息302,输入的信息通过用户侧的浏览器客户端、用户侧的浏览器客户端连接的代理服务器以及通信服务器后,会传输给客服人员的浏览器客户端或其他形式的客户端,反之,客服人员通过自动或者手动方式录入的信息也先后通过客服侧的浏览器客户端、客服侧的浏览器客户端连接的代理服务器、通信服务器、用户侧的代理服务器传输给用户侧的浏览器客户端,最后通过图3所示的会话界面301呈现给用户。在图3中的会话界面301中还包括其他功能按钮,例如包括发送表情图片的按钮303、能够发送影像或者触发拍摄影像的按钮304等。
本发明实施例中,在代理服务器和通信服务器构成的服务侧设备对各个浏览器客户端上内嵌的网页通信工具提供通信服务的过程中,每一个代理服务器会将其被占用的端口数(或者被占用的端口数占其端口总量的端口占比)通知给与该代理服务器连接的通信服务器,同时,每一个通信服务器会统计其在提供通信服务的过程中被占用的硬件资源,包括统计CPU的占用率、内存的占用率等等。并且,相连的通信服务器之间还会共享各自统计到的CPU占用率、内存占用率以及获取的端口数,这样一来,在信息共享后每一个通信服务器均可以知道整个分布式系统中的资源占用信息,可以将资源占用信息作为负载信息,分别存储在各个通信服务器中。在一个实施例中,各通信服务器还可以统计接入的用户数量作为用户接入信息,将用户接入信息作为负载信息存储在通信服务器中。
在通信服务器得到了负载信息后,对于后续某个用户通过内嵌有网页通信工具的浏览器客户端发起访问请求时,例如,检测到用户在图2所示的浏览器客户端页面上点击了立即咨询的按钮发起了访问请求或者在图3所示的界面上产生了新的待传输数据时,通信服务器即可基于负载信息来指示浏览器客户端选择合适的通信策略。在一个实施例中,图2和图3显示的是网页通信工具提供的方便用户交互的用户交互界面,例如可以是用户与某个客服人员之间的即时通讯的用户交互界面,在其他实施例中也可以是两个普通用户(例如即时通讯好友)之间的即时通讯的用户交互界面,图2或图3所示的在某一个标签页上打开了网页通信工具的浏览器客户端即被认为是内嵌有网页通信工具的浏览器客户端。
具体请参见图4所示,是本发明实施例的一种对浏览器客户端的通信处理方法的流程示意图。该方法可以是由如图1中的任意一个接收到浏览器客户端的访问请求的通信服务器来执行。通信服务器在S401中,接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的;所述通信事件例如可以是在图2所示的界面上点击了立即咨询的按钮,或者是在图3的界面上录入并点击发送了一段文字、语音等数据。该访问请求可以是一个http请求,该http请求可以基于超文本传输协议接入到代理服务器并接入到图1所示的某一个通信服务器中。
在接收到访问请求后,通信服务器在S402中获取用于为网页通信工具提供通信服务的服务侧设备的负载信息;所述负载信息包括资源占用信息和/或用户接入信息,基于上述提及的信息共享的方式,通信服务器能够确定整个系统的负载信息,可以快捷准确地为当前需要接入的浏览器客户端的网页通信工具确定通信策略。在其他实施例中,也可以在接收到访问请求后,从各个服务侧设备中统计并获取负载信息,由于统计过程需要耗时,因此,这种方式可以应用于对及时性要求比较低的网页通信工具。
在确定了负载信息后,通信服务器可以在S403中根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;策略指示信息主要用于指示浏览器客户端在该浏览器客户端所支持的传输策略中应该选用何种通信策略来实现网页通信工具上的数据的传输。策略指示信息可以包括双向通信指示信息、轮询通信指示信息、共享通信指示信息等等。在一个实施例中,根据所述策略指示信息的指示,浏览器客户端可以选择双向通信协议建立与所述服务侧设备之间的双向通信连接的通信策略,例如选择所述策略指示信息指示的且浏览器客户端支持的websocket协议进行双向通信的通信策略,或者,根据所述策略指示信息的指示,浏览器客户端可以选择轮询访问方式周期性访问服务侧设备的通信策略,例如选择所述策略指示信息指示的且浏览器客户端支持的polling方式进行轮询访问的通信策略。
在一个实施例中,对于浏览器客户端而言,双向通信指示信息用于指示浏览器客户端选择websocket协议来传输网页通信工具的数据,轮询通信指示信息用于指示浏览器客户端选择polling传输方式周期性地发起http请求来传输网页通信工具的数据,共享通信指示信息用于指示浏览器客户端选择shareworker的传输方式来传输网页通信工具的数据。
在一个实施例中,所述S403可以包括:若所述负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;生成携带双向通信指示信息的响应消息;其中,所述携带双向通信指示信息的响应消息用于通知所述浏览器客户端按照双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
进一步地,所述S403还可以包括:若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息;生成携带轮询通信指示信息的响应消息;所述携带轮询通信指示信息的响应消息用于通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。在一个实施例中,生成的轮询通信指示信息除了指示浏览器客户端选择polling等轮询访问方式,还可以指示浏览器客户端按照具体的周期间隔值进行轮询访问,例如指示浏览器客户端以1秒的周期间隔、或2秒的周期间隔周期性发起http请求。
在一个实施例中,负载信息可以与设置的一个或多个间隔值调整条件比较,来决定是以多长的周期间隔发起请求,当负载信息不满足预设的判决条件且该负载信息所指示的负载值小于间隔值调整条件中的第一阈值,则设置第一轮询周期值,所述响应消息中除了携带轮询通信指示信息外还携带有该第一轮询周期值,以通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式以所述第一轮询周期值为周期间隔,周期性访问服务侧设备。进一步地,当负载信息不满足预设的判决条件且该负载信息所指示的负载值大于间隔值调整条件中的第二阈值,则设置第二轮询周期值,所述响应消息中除了携带轮询通信指示信息外还携带有该第二轮询周期值,以通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式以所述第二轮询周期值为周期间隔,周期性访问服务侧设备,其中,第一轮询周期值与第二轮询周期值不相同,第一阈值可以小于等于第二阈值。所述间隔值调整条件中设置的阈值也可以根据需要进行动态改变,例如根据服务器管理员根据实际情况进行动态调整。
在一个实施例中,在浏览器客户端选择了轮询访问方式周期性访问服务侧设备后,通信服务器还可以再次获取服务侧设备新共享得到的负载信息作为负载更新信息,若负载更新信息满足预设的间隔值调整条件,则生成携带间隔值调整指示信息的更新消息,将所述更新消息发送给所述浏览器客户端,所述更新消息用于通知所述浏览器客户端按照所述间隔值调整指示信息调整轮询访问方式的周期间隔,以按照新的周期间隔周期性访问服务侧设备。其中,更新消息主要用于调整周期间隔,调整后的周期间隔大于调整前的周期间隔。负载更新信息满足预设的间隔值调整条件可以是指:负载更新信息所包括的资源占用信息大于预设的资源更新阈值,和/或用户接入信息大于预设的接入数量更新阈值。所述的资源更新阈值大于前述提及的资源阈值,所述接入数量更新阈值大于前述提及的接入数量阈值。
所述判决条件用于衡量服务侧设备当前的软硬件处理资源是否充足,如果根据负载信息和判决条件确定当前服务侧设备的软硬件处理资源充足,确定负载信息满足判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;而如果根据负载信息和判决条件确定当前服务侧设备的负载不足,确定负载信息不满足判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息。
在一个实施例中,判决条件可以是基于一个或者多个软硬件处理资源的资源阈值来设置的。所述负载信息包括服务侧设备的资源占用信息,所述负载信息是否满足预设的判决条件是根据资源占用信息与预设的资源阈值来确定的;和/或,所述负载信息包括服务侧设备的用户接入信息,所述负载信息是否满足预设的判决条件是根据用户接入信息与预设的接入数量阈值来确定的。
当负载信息中的资源占用信息对应的值小于或等于预设的资源阈值时,确定负载信息满足判决条件,当负载信息中的资源占用信息对应的值大于预设的资源阈值时,确定负载信息不满足判决条件。在一个实施例中,资源占用信息对应的值包括:代理服务器和通信服务器构成的分布式系统中,代理服务器被占用端口占端口总量的端口占比,所有通信服务器的总CPU占用率、总内存占用率等,将被占用端口的端口占比与预设的占比阈值进行比较、将总CPU占用率与预设的第一占用率阈值进行比较、将总内存占用率与预设的第二占用率阈值进行比较,以确定负载信息是否满足判决条件,有一个或者多个小于或等于对应阈值时,确定满足判决条件,可以使用双向通信确保通信质量,有一个或者多个大于对应阈值时,确定不满足判决条件,可以使用轮询访问方式,尽量确保接入的用户数量。在其他实施例中,如果浏览器客户端不是通过代理服务器与通信服务器相连而是直接连接到通信服务器,则负载信息中不包括代理服务器的端口数据,而仅仅包括通信服务器的相关硬件资源信息,例如仅包括通信服务器的CPU占用率、内参占用率等等资源占用信息。
用户接入信息也可以在一定程度上体现服务侧设备的处理资源是否充足。可以预先根据代理服务器可以提供的端口数量设置一个阈值,例如端口数量的90%的量作为接入数量阈值,以便于在接入的用户数量过多时,能够及时进行通信策略的确定。
通信服务器可以在S404中将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于按照选择的通信策略为所述网页通信工具传输通信数据。浏览器客户端在接收到响应消息后,即可按照响应消息中的策略指示信息的指示选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便于在不同的负载状况下分别满足高访问量的需求、和满足更高的及时性需求,保证通信质量。这样可以更好地为网页游戏、网页客服的web IM等通信工具提供数据支撑,满足普通用户、游戏运营商或商户等服务提供商的数据交互需求。
再请参见图5,是本发明实施例的另一种对浏览器客户端的通信处理方法的流程示意图。该方法可以是由接收到浏览器客户端的访问请求的通信服务器来执行。本发明实施例的所述方法包括如下步骤。
S501:接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的。该网页通信工具为用户提供通信功能。
S502:获取用于为网页通信工具提供通信服务的服务侧设备的负载信息。
S503:若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息。所述负载信息包括服务侧设备的资源占用信息,所述负载信息是否满足预设的判决条件是根据资源占用信息与预设的资源阈值来确定的;和/或,所述负载信息包括服务侧设备的用户接入信息,所述负载信息是否满足预设的判决条件是根据用户接入信息与预设的接入数量阈值来确定的。该轮询通信指示信息可以为一个预设的标记,例如预先设置1表示双向通信指示信息,预先设置2表示轮询通信指示信息。
在一个实施例中,所述S503可以包括:若所述负载信息不满足预设的判决条件,则为所述网页通信工具确定轮询访问方式;根据所述负载信息确定所述轮询访问方式的周期间隔值;根据所述轮询访问方式和所述周期间隔值生成轮询通信指示信息。也就是说,在确定轮询通信指示信息时,可以加入关于周期间隔值的内容,例如1秒、2秒等周期间隔值,表示浏览器客户端在选择了轮询通信方式与服务侧设备通信时,以每隔1秒或每隔2秒发起一个http请求。当然,轮询通信指示信息也可以仅仅包括轮询访问方式而不必包括周期间隔值,浏览器客户端按照默认的周期间隔值发起轮询访问即可。
S504:生成携带轮询通信指示信息的响应消息。生成的响应消息的格式为服务侧设备与浏览器客户端约定的格式,在一个实施例中,响应消息可以包括多个字段,这些字段例如可以包括标记字段,该标记字段的值用于表示该消息为一个特殊的用于指示浏览器客户端选择通信策略的消息而非其他消息,还包括策略字段,当字段值为1时表示携带了双向通信指示信息,浏览器客户端需要选择双向通信协议来建立浏览器客户端与所述服务侧设备之间的双向通信连接,当字段值为2时表示携带了轮询通信指示信息,浏览器客户端需要选择轮询访问方式周期性访问服务侧设备,还包括周期间隔字段,当策略字段的值为1时,周期间隔字段的值为0,当策略字段的值为2时,周期间隔字段的值为一个具体的数值,例如1、2,分别表示周期间隔为1秒、2秒。所述响应消息还可以包括扩展字段,以便于后续根据需要对该扩展字段进行赋值。
S505:将所述携带轮询通信指示信息的响应消息发送给所述浏览器客户端;所述携带轮询通信指示信息的响应消息用于通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。浏览器客户端在接收到该响应消息后,选择浏览器客户端支持的socket.io中的polling接口服务,周期性地向服务侧设备发送http请求,以为浏览器客户端上的网页通信工具传输数据。
在另一个实施例中,若所述负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;生成携带双向通信指示信息的响应消息;其中,所述携带双向通信指示信息的响应消息用于通知所述浏览器客户端按照双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。此时发送给浏览器客户端的响应消息携带的是双向通信指示信息。双向通信协议包括上述提及的websocket协议,浏览器客户端通过选择socket.io中的websocket协议的接口服务与服务侧设备建立双向通信连接,以传输浏览器客户端上的网页通信工具的数据。
进一步地,在本发明实施例中,在确定所述负载信息不满足预设的判决条件后,还可以执行S506:对服务侧设备进行扩容处理,以接入新的服务侧设备;对服务侧设备进行扩容处理主要是指将新配置的或者备用的服务侧设备接入到当前服务侧设备所构建的分布式系统中,可以新接入代理服务器、新接入通信服务器等等。在接入了用户新配置的或备用的代理服务器和/或通信服务器后,一般情况下硬件处理资源信息得以补充,可以对选择了轮询访问方式的所述浏览器客户端发起通信策略的切换通知。
S507:获取扩容后的服务侧设备的扩容负载信息;也就是获取加入了新的服务侧设备的分布式系统中新的负载信息。在新配置的和/或备用的服务侧设备成功接入到系统后,扩容后的系统中所有的代理服务器上传端口占用数据(例如被占用端口数或被占用的端口数占其端口总量的占比),系统中的通信服务器之间开始共享信息(共享的信息包括上述提及的端口占用数据、CPU占用率、内存占用率等资源占用信息),由此可以得到新的负载信息。
S508:若扩容负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息;例如分布式系统中代理服务器被占用端口的端口占比小于或等于预设的占比阈值、和/或分布式系统中通信服务器的总CPU占用率小于或等于预设的第一占用率阈值、和/或分布式系统中通信服务器的总内存占用率小于或等于预设的第二占用率阈值。其中,第一占用率阈值可以与第二占用率阈值相同或者不相同。
S509:生成携带双向通信指示信息的切换消息,并向所述浏览器客户端发送所述切换消息;该切换消息用于指示浏览器客户端从负载信息不满足判决条件时使用的轮询访问方式切换为双向通信协议对应的双向通信方式。也就是说,所述切换消息用于指示所述浏览器客户端按照该切换消息中的双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,如图6所示,考虑到分布式系统中接入新的或者备用的代理服务器或通信服务器需要消耗一些的时间,在对服务侧设备进行扩充处理过程中,所述方法还可以包括如下步骤。
S601:检测扩容是否完成;确定扩容是否完成可以包括多种方式,例如,可以预先评估扩容的时间,在从发起扩容到预设的时长后,即可认为扩容已完成,否则,扩容未完成。又例如,在本发明实施例所涉及的分布式系统中,新接入的代理服务器和通信服务器也会上传资源占用信息,当检测到分布式系统的负载信息的变化满足用于表示资源增加的条件时,例如负载信息的变化幅度大于预设的阈值,可以认为扩容完成,否则,扩容未完成。扩容未完成可以执行下述的S602,而如果扩容已完成,则可以执行上述的S507。
S602:若扩容未完成,则再次获取服务侧设备的负载信息,得到负载更新信息;在扩容未完成时,持续获取服务侧设备的负载信息以进行后续判断。
S603:若负载更新信息满足预设的间隔值调整条件,则生成携带间隔值调整指示信息的更新消息。负载更新信息满足预设的间隔值调整条件可以是指:负载更新信息所包括的资源占用信息大于预设的资源更新阈值,和/或用户接入信息大于预设的接入数量更新阈值。所述的资源更新阈值大于前述S503提及的资源阈值,所述接入数量更新阈值大于前述S503提及的接入数量阈值,例如,前述的资源阈值为90%,此时的资源更新阈值可以为95%,前述的接入数量阈值为3万,此时的接入数量更新阈值可以为4万。这些阈值都可以根据分布式系统中代理服务器和通信服务器的性能进行设置。
S604:将所述更新消息发送给所述浏览器客户端,所述更新消息用于通知所述浏览器客户端按照所述间隔值调整指示信息调整轮询访问方式的周期间隔,以按照新的周期间隔周期性访问服务侧设备。更新消息主要用于调整周期间隔,调整后的周期间隔大于调整前的周期间隔,例如,在S505发送的响应消息中,周期间隔值为1秒,则更新消息通知的浏览器客户端将间隔值调整至2秒。所述间隔值调整只是信息可以是一个幅度信息,例如在现有的周期间隔上,调整幅度为1秒,也可以是具体的时间间隔值,例如调整至2秒的周期间隔。在调整周期间隔后,在当前的为网页通信工具提供通信服务的分布式系统上,可以接入更多的用户。
需要说明的是,在浏览器客户端选择了轮询访问方式后,在按照轮询访问方式访问服务侧设备的过程中或者需要扩容并进行扩容处理的过程中,都可以基于新的负载信息来对轮询访问方式的周期间隔进行调整。为了以示区别,在浏览器客户端采用轮询访问方式访问的过程中,获取的是第一负载更新信息、采用了第一间隔值调整条件、生成了第一更新消息。而在扩容处理的过程中,获取的是第二负载更新信息、采用了第二间隔值调整条件、生成了第二更新消息。其中,第一间隔值调整条件和第二间隔值调整条件可以相同也可以不相同。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便于在不同的负载状况下灵活地指示浏览器客户端选择通信策略。并且在选择了轮询访问方式后,还可以进一步地在负载继续增加恶化时,进一步加大轮询访问的周期时间间隔,以进一步增加用户接入量,并且可以通过扩容处理,在扩容成功后,再基于扩容后的负载信息选择是否将轮询访问方式切换至双向通信方式,使得网页通信工具的通信方式更加灵活,通信效率更高。
再请参见图7,是本发明实施例的一种对浏览器客户端的通信处理方法的流程示意图。通过浏览器客户端、两个代理服务器、两个通信服务器为例来对本发明实施例的对浏览器客户端的通信处理方法进行说明。在实际使用过程中,实际可以包括大量的代理服务器、大量的通信服务器来为web IM、网页游戏等网页通信工具提供服务,实际接入的浏览器客户端亦包括多个,图7仅仅作为示例,本发明实施例所述方法的具体流程如下所述。
S701:代理服务器向关联的通信服务器发送资源占用信息,该代理资源占用信息主要包括代理服务器当前被占用的端口数等硬件资源信息。
S702:通信服务器与通信服务器之间共享资源占用信息。共享的资源占用信息包括通信服务器的CPU占用信息、内参占用信息等等硬件资源,以及通信服务器接收到的代理服务器的代理资源占用信息,如被占用端口数等硬件资源信息。在本发明实施例中,图7中的第一通信服务器与图4、图5所对应实施例中的通信服务器对应。
基于S701和S702,每一个通信服务器中都记载了服务侧设备的包括了代理服务器的资源占用信息和通信服务器的资源占用信息的负载信息。上述步骤S701发送代理资源占用信息和S702共享资源占用信息的过程是周期性执行的,也可以是相应的代理服务器和通信服务器检测到资源占用发生变化时动态触发执行的。
S703:浏览器客户端发起访问请求。所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的。该访问请求可以是用户通过在浏览器客户端上打开的网页通信工具需要收发信息时触发的。例如用户点击了图2所示的立即咨询按钮。浏览器客户端基于http协议会将访问请求发送给第一代理服务器。
S704:第一代理服务器将访问请求转发给对应的第一通信服务器。
S705:第一通信服务器获取负载信息。
S706:第一通信服务器根据负载信息生成策略指示信息。
S707:第一通信服务器生成携带策略指示信息的响应消息,并发送给第一代理服务器。
S708:第一代理服务器将响应消息转发给浏览器客户端。
S709:浏览器客户端根据响应消息中的所述策略指示信息选择通信策略。
S710:按照选择的通信策略为所述网页通信工具传输通信数据。在一个实施例中,支持socket.io的浏览器客户端可以选择双向传输策略websocket,或者选择轮询访问方式polling方式来为在浏览器客户端页面上打开的网页通信工具传输数据。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,用来确定服务侧设备的负载是否过高,如果是,则可以通知浏览器客户端以轮询访问方式访问服务侧设备,轮询访问方式是以一定的时间间隔周期性占用服务侧设备的端口,端口可以被灵活地利用,可以满足高访问量的需求。而如果负载较低,则可以通知浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以在该双向通信连接上为所述网页通信工具传输通信数据,如此可以满足更高的及时性需求,保证通信质量;对于浏览器客户端而言可以灵活地基于服务侧设备的通知,选择不同的通信策略接入服务侧设备以为网页通信工具传输数据,满足高访问量的需求或者及时性需求。
再请参见图8,是本发明实施例的再一种对浏览器客户端的通信处理方法的流程示意图,本发明实施例的所述方法可以在浏览器客户端端执行。所述方法包括如下步骤。
S801:若检测到在浏览器客户端内嵌的网页通信工具上产生通信事件,则向服务侧设备发送访问请求。网页通信工具可以是一些基本web浏览器客户端所构建的即时通讯工具或者游戏工具,例如上述提及的web IM和网页游戏等等。在用户打开界面或者需要收发数据时,可以在网页通信工具上检测到通信事件。网页通信工具可以如图2和图3那样显示在用户浏览器客户端页面上,用户为用户提供网页通信界面,收发数据并显示数据。
S802:接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的;所述服务侧设备基于负载信息和判决条件从生产策略指示信息并生产响应消息返回给浏览器客户端的过程可参考前述各实施例的描述,在此不赘述。
S803:根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。本发明实施例中的浏览器客户端支持socket.io,浏览器客户端可以根据响应消息的指示,选择其中的双向通信策略websocket为通信工具传输数据或者选择polling方式轮询访问服务侧设备。
在一个实施例中,策略指示信息包括双向通信指示信息,所述S803具体可以包括:按照双向通信指示信息的指示,选择基于双向通信协议的通信策略;根据基于双向通信协议的通信策略建立与所述服务侧设备之间的双向通信连接;在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,策略指示信息包括轮询通信指示信息,所述S803具体可以包括:按照轮询通信指示信息的指示,选择轮询访问方式的通信策略;按照轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。本发明实施例中各个步骤的具体实现可进一步参考前述实施例中相关内容的描述,在此不赘述。
在本发明实施例中,浏览器客户端可以灵活地基于服务侧设备的通知,选择不同的通信策略接入服务侧设备以为网页通信工具传输数据,满足高访问量的需求或者及时性需求。
再请参见图9,是本发明实施例的一种对浏览器客户端的通信处理装置的结构示意图,本发明实施例的所述装置可以设置在一些能够为基于浏览器客户端构建的页面通信工具提供通信服务的通信服务器中,例如上述实施例中提及的通信服务器。在本发明实施例中,所述装置包括如下结模块。
通信模块901,用于接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的;获取模块902,用于获取用于为网页通信工具提供通信服务的服务侧设备的负载信息;生成模块903,用于根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;发送模块904,用于将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于按照选择的通信策略为所述网页通信工具传输通信数据。
在一个实施例中,所述生成模块903,具体用于若所述负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;生成携带双向通信指示信息的响应消息;其中,所述携带双向通信指示信息的响应消息用于通知所述浏览器客户端按照双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,所述生成模块903,具体用于若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息;生成携带轮询通信指示信息的响应消息;所述携带轮询通信指示信息的响应消息用于通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
在一个实施例中,所述生成模块903,在用于若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息时,具体用于若所述负载信息不满足预设的判决条件,则为所述网页通信工具确定轮询访问方式;根据所述负载信息确定所述轮询访问方式的周期间隔值;根据所述轮询访问方式和所述周期间隔值生成轮询通信指示信息。
在一个实施例中,所述装置还可以包括:第一扩容处理模块905,用于对服务侧设备进行扩容处理,以接入新的服务侧设备。进一步地,所述获取模块902,还用于获取扩容后的服务侧设备的扩容负载信息;所述生成模块903,还用于若扩容负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息;并生成携带双向通信指示信息的切换消息,向所述浏览器客户端发送所述切换消息;所述发送模块904,还用于向所述浏览器客户端发送所述切换消息;所述切换消息用于指示所述浏览器客户端按照该切换消息中的双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,所述装置还可以包括:第二扩容处理模块906,用于对服务侧设备进行扩容处理,并检测扩容是否完成;进一步地,所述获取模块902,还用于若扩容未完成,则再次获取服务侧设备的负载信息,得到负载更新信息;所述生成模块903,还用于若负载更新信息满足预设的间隔值调整条件,则生成携带间隔值调整指示信息的更新消息;所述发送模块904,还用于将所述更新消息发送给所述浏览器客户端,所述更新消息用于通知所述浏览器客户端按照所述间隔值调整指示信息调整轮询访问方式的周期间隔,以按照新的周期间隔周期性访问服务侧设备。
在一个实施例中,所述负载信息包括服务侧设备的资源占用信息,所述负载信息是否满足预设的判决条件是根据资源占用信息与预设的资源阈值来确定的;和/或,所述负载信息包括服务侧设备的用户接入信息,所述负载信息是否满足预设的判决条件是根据用户接入信息与预设的接入数量阈值来确定的。
本发明实施例中所述装置的各个模块的具体实现可参考前述各个实施例中相关内容的描述,在此不赘述。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便在负载是否过高时,浏览器客户端以轮询访问方式访问服务侧设备,以满足高访问量的需求,而在负载较低时,浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以满足更高的及时性需求,保证通信质量;另外,还能够实现动态扩容的操作,并且在负载进一步扩大的时候或者扩容未完成之前,还可以进一步根据负载信息来对轮询访问方式的周期间隔进行调整,以进一步接入新的用户。
再请参见图10,是本发明实施例的另一种对浏览器客户端的通信处理装置的结构示意图,本发明实施例的所述装置可以设置在诸如智能手机、平板电脑、个人电脑、智能可穿戴设备等带网络功能的智能终端中,本发明实施例的所述装置包括如下模块。
请求模块1001,用于当检测到在浏览器客户端内嵌的网页通信工具上产生通信事件时,则向服务侧设备发送访问请求;接收模块1002,用于接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的;处理模块1003,用于根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
在一个实施例中,策略指示信息包括双向通信指示信息,所述处理模块1003,具体用于按照双向通信指示信息的指示,选择基于双向通信协议的通信策略;根据基于双向通信协议的通信策略建立与所述服务侧设备之间的双向通信连接;在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,策略指示信息包括轮询通信指示信息,所述处理模块1003,具体用于按照轮询通信指示信息的指示,选择轮询访问方式的通信策略;按照轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
本发明实施例中所述装置的各个模块的具体实现可参考前述各个实施例中相关内容的描述,在此不赘述。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便在负载是否过高时,浏览器客户端以轮询访问方式访问服务侧设备,以满足高访问量的需求,而在负载较低时,浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以满足更高的及时性需求,保证通信质量。
再请参见图11,是本发明实施例的一种服务器的结构示意图,本发明实施例的所述服务器包括上述提及的通信服务器,该服务器能够为基于浏览器客户端构建的通信工具提供通信服务,例如为web IM、网页游戏等通信工具提供通信服务。所述服务器包括存储装置1102和处理器1101,并且还包括网络接口1103,及电源等其他结构。服务器的各个结构之间可通过总线1104进行数据传输。
所述网络接口1103用于接收智能终端等设备通过计算机网络、移动通信网络传输的数据。所述存储装置1102可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置1102也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置1102还可以包括上述种类的存储器的组合。
所述处理器1101可以是中央处理器(central processing unit,CPU)。所述处理器1101还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。
可选地,所述存储装置1102还用于存储程序指令。所述处理器1101可以调用所述程序指令,实现如本申请图4、图5以及图6对应实施例中所示的相关方法。
具体的,在一个实施例中,所述处理器1101调用所述存储装置1102中存储的程序指令,用于接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的;获取用于为网页通信工具提供通信服务的服务侧设备的负载信息;根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于浏览器客户端按照选择的通信策略为所述网页通信工具传输通信数据。
在一个实施例中,所述处理器1101,具体用于若所述负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;生成携带双向通信指示信息的响应消息;其中,所述携带双向通信指示信息的响应消息用于通知所述浏览器客户端按照双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,所述处理器1101,具体用于若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息;生成携带轮询通信指示信息的响应消息;所述携带轮询通信指示信息的响应消息用于通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
在一个实施例中,所述处理器1101,具体用于若所述负载信息不满足预设的判决条件,则为所述网页通信工具确定轮询访问方式;根据所述负载信息确定所述轮询访问方式的周期间隔值;根据所述轮询访问方式和所述周期间隔值生成轮询通信指示信息。
在一个实施例中,所述处理器1101,还用于对服务侧设备进行扩容处理,以接入新的服务侧设备;获取扩容后的服务侧设备的扩容负载信息;若扩容负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息;生成携带双向通信指示信息的切换消息,向所述浏览器客户端发送所述切换消息;所述切换消息用于指示所述浏览器客户端按照该切换消息中的双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,所述处理器1101,还用于对服务侧设备进行扩容处理,并检测扩容是否完成;若扩容未完成,则再次获取服务侧设备的负载信息,得到负载更新信息;若负载更新信息满足预设的间隔值调整条件,则生成携带间隔值调整指示信息的更新消息;将所述更新消息发送给所述浏览器客户端,所述更新消息用于通知所述浏览器客户端按照所述间隔值调整指示信息调整轮询访问方式的周期间隔,以按照新的周期间隔周期性访问服务侧设备。
在一个实施例中,所述负载信息包括服务侧设备的资源占用信息,所述负载信息是否满足预设的判决条件是根据资源占用信息与预设的资源阈值来确定的;和/或,所述负载信息包括服务侧设备的用户接入信息,所述负载信息是否满足预设的判决条件是根据用户接入信息与预设的接入数量阈值来确定的。
本发明实施例中所述服务器中处理器1101的具体实现可参考前述各个实施例中相关内容的描述,在此不赘述。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便在负载是否过高时,浏览器客户端以轮询访问方式访问服务侧设备,以满足高访问量的需求,而在负载较低时,浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以满足更高的及时性需求,保证通信质量;另外,还能够实现动态扩容的操作,并且在负载进一步扩大的时候或者扩容未完成之前,还可以进一步根据负载信息来对轮询访问方式的周期间隔进行调整,以进一步接入新的用户。
再请参见图12,是本发明实施例的一种智能终端的结构示意图,本发明实施例的所述智能终端可以是指智能手机、平板电脑、智能可穿戴设备等等带网络功能的终端。所述智能终端包括存储装置1202和处理器1201,并且包括用户接口1203、通信接口1204,以及其他的根据需要配置的外围设备接口,各个结构之间可以通过总线1205进行数据传输。在所述智能终端中安装有浏览器客户端应用,该浏览器客户端应用被执行时,实现如图8对应实施例中所示的方法。
所述存储装置1202同样可以为易失性存储器(volatile memory),例如RAM;存储装置1202也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flashmemory),SSD等;存储装置1202还可以包括上述种类的存储器的组合。所述处理器1201可以是CPU。所述处理器1201还可以进一步包括硬件芯片。例如ASIC,PLD等。上述PLD可以是FPGA,GAL等。
所述用户接口1203用于与终端用户进行交互,用于接收用户的输入,例如在浏览器客户端应用中诸如图2和图3的界面中输入的用户操作和文本等信息,并且可以向用户呈现相应的信息。所述通信接口1204用于向服务侧设备发送或接收相关的数据信息,该通信接口1204可以是移动通信接口1204,也可以是计算机网络通信接口1204。
在本发明实施例中,所述处理器1201调用所述存储装置1202中存储的程序指令,用于若检测到在浏览器客户端内嵌的网页通信工具上产生通信事件,则向服务侧设备发送访问请求;接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的;根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
在一个实施例中,策略指示信息包括双向通信指示信息,所述处理器1201,具体用于按照双向通信指示信息的指示,选择基于双向通信协议的通信策略;根据基于双向通信协议的通信策略建立与所述服务侧设备之间的双向通信连接;在该双向通信连接上为所述网页通信工具传输通信数据。
在一个实施例中,策略指示信息包括轮询通信指示信息,所述处理器1201,具体用于按照轮询通信指示信息的指示,选择轮询访问方式的通信策略;按照轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
本发明实施例中所述智能终端中处理器1201的具体实现可参考前述各个实施例中相关内容的描述,在此不赘述。
在本发明实施例中,可以根据服务侧设备各个节点的硬件资源的消耗情况确定负载信息,以便在负载是否过高时,浏览器客户端以轮询访问方式访问服务侧设备,以满足高访问量的需求,而在负载较低时,浏览器客户端选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以满足更高的及时性需求,保证通信质量。
本发明实施例还提了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现图4至图6所对应实施例的方法。本发明实施例还提供了另一种计算机程序产品,当所述另一种计算机程序产品在处理器上运行时,实现图8所对应实施例的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (15)
1.一种对浏览器客户端的通信处理方法,其特征在于,包括:
接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的,其中,所述通信事件是在确定在浏览器客户端的界面上点击了咨询按钮或者点击了数据发送时检测到的;
获取用于为所述网页通信工具提供通信服务的服务侧设备的负载信息,所述负载信息包括资源占用信息和/或用户接入信息,系统中的各服务侧设备之间是通过信息共享的方式交互每一个服务侧设备的负载,每一个服务侧设备存储了整个系统的负载信息;
根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;
将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以使得浏览器客户端按照选择的通信策略为所述网页通信工具传输通信数据。
2.如权利要求1所述的方法,其特征在于,所述根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息,包括:
若所述负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息作为策略指示信息;
生成携带双向通信指示信息的响应消息;
其中,所述携带双向通信指示信息的响应消息用于通知所述浏览器客户端按照双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
3.如权利要求1所述的方法,其特征在于,所述根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息,包括:
若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息;
生成携带轮询通信指示信息的响应消息;
所述携带轮询通信指示信息的响应消息用于通知所述浏览器客户端按照轮询通信指示信息的指示,选择轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
4.如权利要求3所述的方法,其特征在于,所述若所述负载信息不满足预设的判决条件,则为所述网页通信工具生成轮询通信指示信息作为策略指示信息,包括:
若所述负载信息不满足预设的判决条件,则为所述网页通信工具确定轮询访问方式;
根据所述负载信息确定所述轮询访问方式的周期间隔值;
根据所述轮询访问方式和所述周期间隔值生成轮询通信指示信息。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
对所述服务侧设备进行扩容处理,以接入新的服务侧设备;
获取扩容后的服务侧设备的扩容负载信息;
若扩容负载信息满足预设的判决条件,则为所述网页通信工具生成双向通信指示信息;
生成携带双向通信指示信息的切换消息,向所述浏览器客户端发送所述切换消息;
所述切换消息用于指示所述浏览器客户端按照该切换消息中的双向通信指示信息的指示,选择双向通信协议建立与所述服务侧设备之间的双向通信连接,以便于浏览器客户端在该双向通信连接上为所述网页通信工具传输通信数据。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
对服务侧设备进行扩容处理,并检测扩容是否完成;
若扩容未完成,则再次获取服务侧设备的负载信息,得到负载更新信息;
若负载更新信息满足预设的间隔值调整条件,则生成携带间隔值调整指示信息的更新消息;
将所述更新消息发送给所述浏览器客户端,所述更新消息用于通知所述浏览器客户端按照所述间隔值调整指示信息调整轮询访问方式的周期间隔,以按照新的周期间隔周期性访问服务侧设备。
7.如权利要求1-6任一项所述的方法,其特征在于,
所述负载信息包括服务侧设备的资源占用信息,所述负载信息是否满足预设的判决条件是根据资源占用信息与预设的资源阈值来确定的;和/或,
所述负载信息包括服务侧设备的用户接入信息,所述负载信息是否满足预设的判决条件是根据用户接入信息与预设的接入数量阈值来确定的。
8.一种对浏览器客户端的通信处理方法,其特征在于,包括:
若检测到在浏览器客户端内嵌的网页通信工具上产生通信事件,则向服务侧设备发送访问请求,其中,所述通信事件是在确定在浏览器客户端的界面上点击了咨询按钮或者点击了数据发送时检测到的;
接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的,所述负载信息包括资源占用信息和/或用户接入信息,系统中的各服务侧设备之间是通过信息共享的方式交互每一个服务侧设备的负载,每一个服务侧设备存储了整个系统的负载信息;
根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
9.如权利要求8所述的方法,其特征在于,策略指示信息包括双向通信指示信息,所述根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据,包括:
按照双向通信指示信息的指示,选择基于双向通信协议的通信策略;
根据基于双向通信协议的通信策略建立与所述服务侧设备之间的双向通信连接;
在该双向通信连接上为所述网页通信工具传输通信数据。
10.如权利要求8所述的方法,其特征在于,策略指示信息包括轮询通信指示信息,所述根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据,包括:
按照轮询通信指示信息的指示,选择轮询访问方式的通信策略;
按照轮询访问方式周期性访问服务侧设备,以便于浏览器客户端为所述网页通信工具传输通信数据。
11.一种对浏览器客户端的通信处理装置,其特征在于,包括:
通信模块,用于接收内嵌有网页通信工具的浏览器客户端发送的访问请求,所述访问请求是所述浏览器客户端在检测到内嵌的所述网页通信工具上产生通信事件后生成的,其中,所述通信事件是在确定在浏览器客户端的界面上点击了咨询按钮或者点击了数据发送时检测到的;
获取模块,用于获取用于为网页通信工具提供通信服务的服务侧设备的负载信息,所述负载信息包括资源占用信息和/或用户接入信息,系统中的各服务侧设备之间是通过信息共享的方式交互每一个服务侧设备的负载,每一个服务侧设备存储了整个系统的负载信息;
生成模块,用于根据所述负载信息和判决条件为所述网页通信工具生成策略指示信息,并生成携带该策略指示信息的响应消息;
发送模块,用于将所述响应消息发送给所述浏览器客户端,所述响应消息用于通知所述浏览器客户端根据所述策略指示信息选择通信策略,以便于按照选择的通信策略为所述网页通信工具传输通信数据。
12.一种对浏览器客户端的通信处理装置,其特征在于,包括:
请求模块,用于当检测到在浏览器客户端内嵌的网页通信工具上产生通信事件时,则向服务侧设备发送访问请求,其中,所述通信事件是在确定在浏览器客户端的界面上点击了咨询按钮或者点击了数据发送时检测到的;
接收模块,用于接收所述服务侧设备返回的响应消息,所述响应消息中携带有策略指示信息,所述策略指示信息是服务侧设备根据获取的负载信息和判决条件生成的,所述负载信息包括资源占用信息和/或用户接入信息,系统中的各服务侧设备之间是通过信息共享的方式交互每一个服务侧设备的负载,每一个服务侧设备存储了整个系统的负载信息;
处理模块,用于根据所述响应消息携带的策略指示信息选择通信策略,并按照选择的通信策略为所述网页通信工具传输通信数据。
13.一种服务器,其特征在于,包括存储装置和处理器,所述存储装置中存储有程序指令,所述处理器用于调用所述存储装置中存储的程序指令,用于执行如权利要求1-7任一项所述的方法。
14.一种智能终端,其特征在于,包括存储装置和处理器,所述存储装置中存储有程序指令,所述处理器用于调用所述存储装置中存储的程序指令,用于执行如权利要求8-10任一项所述的方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序指令,程序指令被处理器执行时,实现如权利要求8-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910370780.1A CN110213155B (zh) | 2019-05-06 | 2019-05-06 | 通信处理方法、装置及相关设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910370780.1A CN110213155B (zh) | 2019-05-06 | 2019-05-06 | 通信处理方法、装置及相关设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213155A CN110213155A (zh) | 2019-09-06 |
CN110213155B true CN110213155B (zh) | 2022-02-22 |
Family
ID=67786873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910370780.1A Active CN110213155B (zh) | 2019-05-06 | 2019-05-06 | 通信处理方法、装置及相关设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213155B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110650202B (zh) * | 2019-09-26 | 2021-02-19 | 支付宝(杭州)信息技术有限公司 | 通信交互方法、装置及电子设备 |
CN111401994A (zh) * | 2020-03-06 | 2020-07-10 | 五八有限公司 | 一种房源安选标签添加方法以及房源安选标签添加装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945003A (zh) * | 2014-05-06 | 2014-07-23 | 北京邮电大学 | 一种WebRTC客户端连接动态自适应选择的方法 |
CN105407149A (zh) * | 2015-10-29 | 2016-03-16 | 广州酷狗计算机科技有限公司 | 消息推送方法及装置 |
CN108965365A (zh) * | 2017-05-27 | 2018-12-07 | 腾讯科技(北京)有限公司 | 一种数据处理方法及终端、计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203541B (zh) * | 2016-03-17 | 2020-04-14 | 台达电子企业管理(上海)有限公司 | 页面加载方法及其页面加载装置 |
-
2019
- 2019-05-06 CN CN201910370780.1A patent/CN110213155B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945003A (zh) * | 2014-05-06 | 2014-07-23 | 北京邮电大学 | 一种WebRTC客户端连接动态自适应选择的方法 |
CN105407149A (zh) * | 2015-10-29 | 2016-03-16 | 广州酷狗计算机科技有限公司 | 消息推送方法及装置 |
CN108965365A (zh) * | 2017-05-27 | 2018-12-07 | 腾讯科技(北京)有限公司 | 一种数据处理方法及终端、计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110213155A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10313437B2 (en) | Data sharing method, client and system | |
KR101077739B1 (ko) | 초대받은 사람의 자동 컨퍼런스 참가를 위한 사용자 개시 초대 | |
JP5931034B2 (ja) | リアルタイム・オンライン対話のための要求をインテリジェントに処理するための方法及びそのシステム | |
CN102857579B (zh) | 一种信息处理方法、装置、终端及服务器 | |
JP6885009B2 (ja) | 会議のフィードバックを提供する方法 | |
KR101902948B1 (ko) | 정보 공유 방법 및 장치 | |
RU2498520C2 (ru) | Способ обеспечения одноранговой связи на веб-странице | |
JP6501919B2 (ja) | 音声チャットモード自己適応方法及び装置 | |
US10917374B2 (en) | Techniques to visualize messaging flow | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN109040326A (zh) | 推送消息的方法和装置 | |
CN108153768A (zh) | 页面跳转方法、数据处理方法、装置及页面跳转控制系统 | |
CN105024913B (zh) | 进行即时通讯会话的方法、装置及系统 | |
WO2015017482A1 (en) | Messaging over http protocol for data exchange | |
CN110213155B (zh) | 通信处理方法、装置及相关设备、存储介质 | |
CN101137079A (zh) | 一种基于移动终端融合网页浏览与即时通信的方法及设备 | |
RU2580437C2 (ru) | Способ обработки входящего электронного сообщения и сервер | |
TW201839624A (zh) | 信息發送方法、信息顯示方法、終端、伺服器、系統及儲存介質 | |
CN105376761B (zh) | 建立通话连接的方法、装置和通话系统 | |
CN112838980B (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN104156372B (zh) | 一种开启网页的方法、装置和系统 | |
CN107294911A (zh) | 一种数据包监听方法及装置、远程过程调用系统、设备 | |
CN113867946A (zh) | 访问资源的方法、装置、存储介质及电子设备 | |
CN109768918B (zh) | 用于实现即时消息通信的方法和装置 | |
CN111988403A (zh) | 电子设备的请求处理方法、系统、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |