一种网页通讯方法及装置与流程

文档序号:12495013阅读:381来源:国知局
一种网页通讯方法及装置与流程

本发明涉及互联网通信技术领域,特别是涉及一种网页通讯方法及装置。



背景技术:

互联网技术的发展使我们足不出户就可以进行即时通讯,例如,与好友聊天、与合作伙伴谈判等等。目前,基于需要下载安装的即时通讯工具,如MSN、QQ、网易泡泡等为人们的沟通、信息交流提供了新的途径。通过这些工具,可以让人和人之间的交流成本大大降低,且提高了便利性和效率。但是使用上述即时通讯工具必须下载安装相对应的客户端软件,需要较为复杂的配置过程和了解熟悉的过程,而且下载的软件也会占用内存空间。所以在此基础上,人们就有了基于网页可以实现即时通讯的需求,期待一打开网页就可以即时通讯,无需下载任何软件。

现有的基于网页的即时通讯方法是基于HTTP(HyperText Transfer Protocol,超文本传输协议)的。无论服务器端有没有客户端待接收的消息,客户端都需要主动地、不停地向服务器发送请求;而服务器端需要在接收到该客户端发送的请求、且同时存在客户端待接收的消息时,向客户端发送该消息,以使客户端接收该消息。

可以看出,现有的基于网页的即时通讯方法需要客户端不断地向服务器发送请求才能获得消息,这将大量占用与服务器的连接线程,造成服务器资源和网络请求资源的浪费。



技术实现要素:

本发明实施例的目的在于提供一种网页通讯方法及装置,以实现在网页通讯过程中,节省服务器资源和网络请求资源。具体技术方案如下:

一方面,本发明实施例提供了一种网页通讯方法,应用于网页服务器,该方法包括:

接收源用户发送的消息,其中,所述消息包括:目标用户的身份标识号ID和源用户向目标用户发送的消息数据;

根据所述目标用户的ID,将所述消息数据推送至所述目标用户。

可选的,所述网页服务器包括:支持websocket协议的网页服务器;

所述根据所述目标用户的ID,将所述消息数据推送至所述目标用户包括:

通过websocket协议,根据所述目标用户的ID,将所述消息数据推送至所述目标用户。

可选的,所述接收源用户发送的消息之后,所述方法还包括:

保存源用户发送的消息。

可选的,所述保存源用户发送的消息,包括:

分别保存所述消息至数据库和缓存中。

可选的,所述根据所述目标用户的ID,将所述消息数据推送至所述目标用户之前,所述方法还包括:

判断所述缓存中是否存在所述消息;

如果是,从所述缓存中获取所述消息;如果否,从所述数据库中获取所述消息。

另一方面,本发明实施例还提供了一种网页通讯装置,包括:

接收模块,用于接收源用户发送的消息,其中,所述消息包括:目标用户的身份标识号ID和源用户向目标用户发送的消息数据;

推送模块,用于根据所述目标用户的ID,将所述消息数据推送至所述目标用户。

可选的,所述网页服务器包括:支持websocket协议的网页服务器;

所述推送模块,具体用于通过websocket协议,根据所述目标用户的ID,将所述消息数据推送至所述目标用户。

可选的,所述装置还包括:

保存模块,用于保存源用户发送的消息。

可选的,所述保存模块,具体用于分别保存所述消息至数据库和缓存中。

可选的,所述装置还包括:

判断模块,用于判断所述缓存中是否存在所述消息;

获取模块,用于如果所述缓存中存在所述消息,从所述缓存中获取所述消息;如果所述缓存中不存在所述消息,从所述数据库中获取所述消息。

本发明实施例提供的网页通讯方法及装置,可以通过网页服务器端接收源用户发送的消息,其中,消息包括:目标用户的身份标识号ID和源用户向目标用户发送的消息数据;网页服务器端按照目标用户的ID,将消息数据推送至目标用户。可以看出,本发明实施例提供的网页通讯方法及装置中,网页服务器在接收到消息数据时,按照目标用户的ID,主动将源用户向目标用户发送的消息数据推送至目标用户,不需要目标用户向网页服务器发送请求而获得消息数据,节省了服务器资源和网络请求资源;同时,减少了请求的过程,可以提高网页通讯的即时性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的网页通讯方法的流程图;

图2为本发明实施例提供的用户与网页服务器的交互流程图;

图3为本发明实施例中从缓存中读取数据的流程图;

图4为本发明实施例提供的网页通讯装置的一种结构示意图;

图5为本发明实施例提供的网页通讯装置的另一种结构示意图;

图6为本发明实施例提供的网页通讯装置的另一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的网页通讯方法的流程图,参照图1对本发明实施例提供的网页通讯方法进行详细说明,该方法包括:

步骤101,接收源用户发送的消息,其中,该消息包括:目标用户的身份标识号ID和源用户向目标用户发送的消息数据。

本发明实施例提供的网页通讯方法,可以应用于网页服务器。具体地,该网页服务器可以为台式计算机、便携式计算机、智能移动设备等。

多个用户通讯过程中,每个用户的ID(Identification,身份标识号)是该用户在通讯过程中的唯一标识。例如,本发明实施例提供的网页通讯方法应用于聊天室,多个用户聊天时,每个用户通过其自身的ID登录聊天室,然后进行通讯聊天。

其中,需要说明的是,ID是用户在聊天室中唯一的身份标识。源用户需要或者想要与目标用户进行聊天时,可以向网页服务器发送包含其自身ID以及消息数据的消息,以使网页服务器接收源用户发送的消息,进而将消息数据主动推送给目标用户。

步骤102,根据目标用户的ID,将消息数据推送至目标用户。

网页服务器接收到源用户发送的消息后,可以将该消息中包含的、源用户向目标用户发送的消息数据主动推送给目标用户。不难理解的是,通讯过程中可能有多个用户,网页服务器在接收到消息后,可以根据消息中包含的目标用户ID的数目,将消息中、源用户向目标用户发送的消息数据发送给对应的一个或多个用户。

本发明实施例提供的网页通讯方法中,网页服务器通过源用户发送的消息中目标用户的ID可以知道,源用户需要或者想要发送消息给哪个目标用户,进而可以根据目标用户的ID,对应地将消息推送给目标用户。实际应用过程中,目标用户可以为1个,可以为多个或者目标用户可以为除源用户之外的其他所有用户。例如,两个私聊、多人群聊等。当然,不难理解的是,网页服务器也可以同时接收多个源用户发送的消息,进而对应地针对源用户发送的消息中目标用户的ID,将消息中的消息数据推送至目标用户。

本发明实施例提供的网页通讯方法,网页服务器通过接收源用户发送的消息,然后将接收到的消息中的消息数据,根据目标用户的ID,推送至对应的目标用户。对于网页服务器来说,不再需要在等待到用户发送的请求时,才将消息数据发送给目标用户;而是在接收到源用户向目标用户发送的消息数据时,主动将消息数据推送给目标用户;对于用户来说,不再需要不停地向网页服务器发送请求,即可获得网页服务器主动推送的消息数据。如此可以减少占用与网页服务器的连接线程,节省服务器资源和网络请求资源。

本发明实施例一种可选的实施例中,网页服务器可以包括:支持websocket协议的网页服务器。

websocket协议是HTML5(HyperText Markup Language 5.0,超文本标记语言5.0)中一种新的协议。通过websocket协议可以实现浏览器与服务器的全双工通信。其中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以进行数据互相传送。

本发明实施例提供的网页通讯方法,为了实现网页服务器在接收到源用户发送的消息时,将消息中的消息数据主动推送至目标用户,实际应用过程中可以利用websocket协议进行通讯。具体地,可以将网页服务器配置为支持websocket协议的网页服务器。

本发明实施例一种可实现方式中,通过采用当前最流行的网站开发语言PHP(Hypertext Preprocessor,超级文本预处理语言)和swoole框架,通过手动安装swoole,扩展配置网页服务器webserver,进而配置完成的网页服务器,可以支持网页通讯方法利用websocket协议进行通讯。

其中,需要说明的是,swoole框架是一种PHP高级网页开发框架,利用swoole框架配置网页服务器可以提高网页开发的速率,使得可以利用最少的性能损耗,换取最大的开发效率。通过swoole框架配置网页服务器,可以为用户之间的即时通讯提供基础,保证了用户之间通讯的实时性,为用户提供异步、并行、高性能的网络通讯服务。

相应的,当网页服务器为支持websocket协议的网页服务器时,在本发明实施例提供的网页通讯方法的一种可选的实施例中,网页服务器根据目标用户的ID,将消息数据推送至目标用户时,可以通过websocket协议,根据目标用户的ID,将消息数据推送至目标用户。

网页服务器在接收到源用户发送的消息时,主动地将该消息推送至目标用户,不需要目标用户发送请求而获得消息,不仅节省了资源浪费,而且提高了通讯过程的即时性。

如图2所示为本发明实施例提供的用户与网页服务器的交互流程图。具体地:首先,源用户通过websocket发送消息;接着,网页服务器接收该消息;然后,网页服务器根据源用户发送的消息中的目标用户的ID,匹配目标用户;最后,网页服务器将消息中的消息数据,推送给匹配到的目标用户。

其中,需要说明的是,本发明实施例提供的通讯方法,可以支持多个源用户同时向网页服务器发送消息。如图2中所示,源用户1和源用户2可以同时向网页服务器发送消息,对应地,网页服务器可以根据源用户1和源用户2发送消息中的目标用户的ID,匹配对应的目标用户1和目标用户2,进而将消息推送至目标用户1和目标用户2。

另外,需要说明的是,在通讯的过程中,消息数据可以显示在通讯双方的聊天界面中。本发明实施例一种可实现方式中,通讯双方数据交互可以通过JSON(JavaScript Object Notation,轻量级数据交换格式)和XML(Extensible Markup Language,可扩展标记语言)完成。而因为JSON相比较于XML有着更高的数据传输效率和易读性,所以实际应用过程中,通常采用JSON实现通讯双方的数据交互。

可以理解,在实际应用中,网页服务器可能出现负载过大的情况。例如,网页服务器一般情况下都是并行处理源用户发送的消息和向目标用户推送消息的。如此使得,网页服务器可能会同时接收到大量源用户发送的消息,也可能同时需要向大量目标用户推送消息,致使网页服务器出现负载过大的情况。

另外,同时对这些大量消息进行处理也可能会超过网页服务器的即时处理能力,使得网页服务器瘫痪。所以为了减轻网页服务器的负载,也避免网页服务器出现瘫痪的情况,在实际的应用过程中,网页服务器可以将接收到的源用户发送的消息保存下来,在需要向目标用户发送时,直接从保存的数据中读取所需要的消息,进而将消息推送至对应的目标用户。

需要说明的是,网页服务器可以有选择地将部分用户的消息进行保存。例如,可以按照消息发送的时间顺序,即时处理时间序列在前的消息,将时间序列在后的消息保存。

具体的,可以将消息保存至数据库或者缓存中。本发明实施例提供的网页通讯方法中,可以将接收到的消息同时保存至数据库和缓存中。从而,在进行消息推送时,网页服务器可以根据实际需求,从数据库或者缓存中读取源用户发送的消息,进而将消息推送至目标用户。

具体地,源用户首先发送消息;其次,网页服务器接收该消息;然后,网页服务器将接收到的消息分别保存至缓存和数据库中,在需要向目标用户推送消息时,从缓存或数据库中读取消息。之后,网页服务器可以根据源用户发送的消息中的目标用户的ID,匹配目标用户;最后,网页服务器将消息中的消息数据,推送给匹配到的目标用户。

其中,这里所说的数据库可以是SQL SERVER数据库、My SQL数据库、Oracle数据库以及Hbase数据库等;缓存可以是存储系统redis等。

本发明实施例一种可实现方式中,网页服务器在需要向目标用户推送消息时,可以先从缓存读取消息,如果由于缓存丢失等原因导致无法从缓存中获取消息时,再从数据库中获取消息。具体地,可以先判断缓存中是否存在源用户向目标用户发送的消息,缓存中存在该消息时,从缓存中获取消息;缓存中不存在该消息时,从数据库中获取消息。

从缓存中读取数据是一种读取速度非常快的数据流读取方式。为了保证通讯的即时性,在需要向目标用户推送消息数据时,首先从缓存中读取消息,只有在从缓存中无法获取消息时,才从数据库中读取,如此保证在正常情况下通讯的实时性,另外还使得,即使缓存出现问题,也能准确地读取到消息,保证通讯的准确性。

图3为本发明实施例从缓存中读取数据的通讯方法流程图,参照图3,对从缓存中读取数据进行通讯的过程进行详细说明。

源用户向网页服务器发送消息;网页服务器接收消息,并将该消息保存至缓存中。可以理解的是,缓存中保存有不同的源用户发送的消息。网页服务器在需要向目标用户发送消息时,从缓存中对应地读取该目标用户相关的消息,并根据该消息中包括的目标用户ID,将消息数据推送给目标用户。

另一方面,本发明实施例还提供了一种网页通讯装置,应用于网页服务器,图4为本发明实施例提供的网页通讯装置的一种结构示意图,包括:

接收模块401,用于接收源用户发送的消息,其中,消息包括:目标用户的身份标识号ID和源用户向目标用户发送的消息数据;

推送模块402,用于根据目标用户的ID,将消息数据推送至目标用户。

本发明实施例提供的网页通讯装置,网页服务器通过接收源用户发送的、包含目标用户ID和源用户向目标用户发送的消息数据的消息,然后将接收到的消息数据,根据目标用户的ID,推送至对应的目标用户。网页服务器在接收到、源用户向目标用户发送的消息数据时,主动将消息数据推送给目标用户,而不再需要用户不断地向网页服务器发送请求。如此可以减少占用与网页服务器的连接线程,节省服务器资源和网络请求资源。

可选的,本发明实施例提供的网页通讯装置中,网页服务器包括:支持websocket协议的网页服务器。

可选的,推送模块402,具体用于通过websocket协议,根据目标用户的ID,将消息数据推送至目标用户。

可选的,图5为本发明实施例提供的网页通讯装置的另一种结构示意图,参照图5,本发明实施例提供的网页通讯装置还包括:

保存模块403,用于保存源用户发送的消息。

可选的,本发明实施例提供的网页通讯装置中,保存模块403,具体用于分别保存消息至数据库和缓存中。

可选的,图6为本发明实施例提供的网页通讯装置的另一种结构示意图,参照图6,本发明实施例提供的网页通讯装置还包括:

判断模块404,用于判断缓存中是否存在消息。

获取模块405,用于如果缓存中存在消息,从缓存中获取消息;如果缓存中不存在消息,从数据库中获取消息。

需要说明的是,本发明实施例的装置是应用上述网页通讯方法的装置,则上述网页通讯方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1