一种新型实时信息流交互方法与流程

文档序号:16775695发布日期:2019-02-01 18:42阅读:629来源:国知局
一种新型实时信息流交互方法与流程

本发明涉及互联网技术领域,具体而言,关于在即时通信领域实现实时信息流交互方法。



背景技术:

目前互联网网页端实现信息流交互过程需要经过以下步骤:

第一步,发起端查看进程,当前进程状态为空闲,则响应服务器连接,否则等待;

第二步,发起端将发送的信息及接收方的唯一识别标签发送到服务器,服务器响应后进行数据存储;

第三步,接收端刷新服务器,需要确认有没有需要响应的信息,若有则读取相关信息;

第四步,接收端读取完成后,存储已读取标签;

第五步,发起端也需要不断地刷新服务器,来获取与发起端相关的信息,读取到接收方已经读取成功,表示该信息完成了一次发送功能。

这样实现通讯会导致服务器访问过于频繁,一次通讯需要消耗大量资源,给服务器增加了大量的压力,在进程方面,会导致独占进程,会话一旦建立,会占用整个浏览器进程,若交互多时会明显感觉到卡顿现象。



技术实现要素:

为了解决上述问题,本发明提供了一种新型实时信息流交互方法,其特征在于,包括发起端、服务器端、websockets协议或mqtt协议、接收端。

1、发起端:通过h5代码写成的可以发送信息的对话框。

2、服务器端:架设好了php运行环境及安装了数据库的服务器。

3、websockets协议:是一种网络通信协议,是开源协议。

4、接收端:通过h5代码编写成的接收信息框。

首先,发起端a发送请求网址,网址中包含a识别标签,服务器接收到网址后进行处理,由websockets协议形成的虚拟服务器进行接收端的链接建立,发送端与接收端b进行初步建立,各通讯之间再实现websockets建立,直到建立完成,这样就形成了一个有效的长链接,同时协议通过其他进程和端口进行心跳检验工作,这样用户可相互不间的实时推送数据。

这样本发明很好地解决了服务器访问过于频繁,一次通讯消耗大量服务器资的问题,这样就由websockets协议来分担服务器的工作压力,同时由于是多线程操作结合心跳包,在信息流通讯过程更流畅,而不会感觉到延时现象。

其次,发起端a发送请求网址,服务器交给websocket协议,由websocket协议建立长链接,在数据通讯过程中,利用客户端将数据以数据组方式存储,而不需要频繁地访问服务器,并且使用心跳包功能,实现定期存储,等进程空闲时进行存储,该发明也结合了用户响应动作进行相应的互动工作,例如用户关闭窗口、用户选择保存记录等都实现数据存储到库。

该发明很好地解决了数据的过于频繁访问服务器或数据库,大幅度减轻服务器及数据库的访问、存储、读取等操作。

最后,为了保障实时信息更流畅,该发明在长链接建立完成后,后台实现协议监听进程,避免进程的独占,可以有多通道进行数据传输,即在用户加载其他对象时,不会影响数据通讯,在多任务时,实现多进行程进行负载均衡处理,很好地解决了访问量大出现卡顿或延时现象。

本发明实施例提供了实时信息流交互方法的解决方案,让信息流在从客户端a经过服务器到客户端b的实时、流畅解决方法,大幅度提高用户体验。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他在说明书、权利要求书以及附图中特虽指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应该当理解,以下附图仅展示出了本发明的某些实例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳功的前提下,还可以根据这些附图获得其他附图。

图1展示了本发明实施例所提供的一种实时信息流交互方法的理论架构示意图。

图2展示了本发明实施例所提供的另一种实时信息流交互法的实际应用示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和实施案例对本发明的技术方案要进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。

【实施例一】

如图一所示基于web实现客户端a向服务器发送网址请求,服务器接收到地址后交给websockets协议来处理,处理过程中会向客户端发送在处理中的返回信息,同时客户端与服务中的websockets协议创建链接,一旦链接建立完成,就可以实时实现信息流的交互。

如图二所示,步骤s110,服务器中的协议一直都会在监听端口信息,若有响应就会及时处理,而不需要等用户有信息流发送过来,再加入进程队列进行排队等,再进行相应处理。这样会产生信息延时,从而影响用户体验。本发明通过端口监听来实现进程管理,很好地解决了这样的问题。

步骤s120,服务器统计所有在线人数,并分配唯一识别id号,可以是数字型,也可以是字母,也可以是字母加数字的组合或混合型,但要保障是唯一。

步骤s130,服务器确定好各个唯一id号后根据发送和接收请求传过来的识别id号,进行数据通讯。数据据类型不限,可以是图文,也可以是音频等。在实现过程中为了保障系统的稳定性,需要对特殊符号进行转义,例如,英文中的单引号,双号引之类的代码中常用符号。

步骤s140,在信息传输过程中,为了更好地识别信息内部定的类型,我们通常要定的信息标签msg、配置标签cog、是否传送成功标签issuccee、错误标签error等,这样的操作也便于以后对数据进行客户端存储提成方便。步骤s160会介绍数据的存储。

步骤s150,创建websocket连接,服务器根据需要通讯双方的唯一id号进行创建长链接,所谓的长链接就是,让双方通过某一通道,独享资源不间断通讯,这也是我们为了让用户之间沟通不间断的必要实现方式。

其中websocket是一种开方协议,类似于tcp协议、http协议。

进一步说明,当长链接建立完成后,用户之间就可以实现不间断通讯,也就实现了我们实时信息流交互方法。

步骤s160,信息流交互过程中,为了减轻或节省服务器资源,我们将通过本地存储,建立msg数据数组,将每次交流的信息存在本地的客户端内。

为了避免信息丢失,使用cookies进行数据缓存,同时创建心跳包,设定时间进行数据同步存储。这就是图二s160所述,定时,同步存储。

【实施例二】

基于app实现,在这里介绍两大主流应用端,其他应用端解决方法是一样。

在android/ios端如图二所,以android/ios平台开发的用户端a,按步骤s110通过android/iossocket端口向服务器发送某某网址,同时传送端口信息,用户端a的唯一id号。

在服务器端,按步骤s120进在线人数统计以及id号的收集,识别操作。再按步骤s130照识别结果进行信息流的交互操作,服务器端是对用户,数据都进行加工处理,再通过分发处理。

在android/ios,使用java或swift完成客户端的开发,同时定常用的信息标签msg、配置标签cog、是否传送成功标签issuccee、错误标签error等,其中msg为s160做数据缓存准备。

android/ios通过java或swift中的socket端口,按步骤s150进行长链接的创建及完成建立,为后期的频繁通讯做准备。

最后在android/ios的客户端里进行数据的缓存工作,同时由服务器发起心跳包功能,实现定时存放,免费数据丢失,也可以客户做状态判断在关闭时,对数据进行保存操作。

另外,在本发明各个实施例中的各功能块可能集在一起形成一个独立的部分,也可以是各个功能模块单独存在,也可以两个或两个以上功能模块集成形成一个独立的部分。

需要说明的是,在本文中,术语“包括”、“包含”或者其他任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外相同要素。

对于本领域的技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中任何附图标记视为限制所涉及的权利要求。

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