群聊延漏消息的解决方法以及即时通讯工具的利记博彩app
【技术领域】
[0001]本发明涉及一种网络通讯领域,尤其是一种网络通讯工具群聊存在延漏消息的解决方法。
【背景技术】
[0002]即时通讯的应用相当广泛,在电子商务网站、社交网站、社交APP应用软件上均有用到,它作为一种有效的沟通方式,可以大大的提高网站或应用软件的用户粘度。目前,即时通讯存在漏消息现象的情况,即,用户在群聊页面与其它用户进行群聊时,有的客户端偶尔会出现不同程度的漏消息现象,即其它用户发送的聊天消息会有个别的消息未收到的情况。
[0003]聊天功能一般都有单个聊天和群聊,保证消息能即时按顺序准确无漏且不重复的发送给接收者,是实现聊天功能的基本要求。单聊相对群聊来说接收者只有一个,用一个标识即可确定消息是否已读,按时间顺序每次取未读消息即可。群聊功能则复杂得多。目前已有的实现群聊功能的方案(这里以基于数据库实现聊天为准),在读取新消息时,会往前倒推一个时间段来避免因网络时延导致在取某个时段的消息时,在该时段发出的消息还没入库而漏掉。由于每次读取新消息时都往前倒推一个时间段,使得时间段有重叠,为避免因时间段重叠导致部分消息重复读取,前端需要保留一个记录数组,用于记录每次取得消息的ID,每次都将取得的消息与记录数组中的消息ID进行比较,只显示不在记录数组中的消息,显示完后更新记录数组。
[0004]目前现有的技术,通过往前倒推一个时间段来避免群聊因网络时延漏消息,倒推的时间因网络的好坏存在不确定性,若倒推时间太短,在网络延时较大时,还是存在极个别的漏消息的情况;若过长,则每次重复取的消息数目会增多,会加大数据库服务器的压力。要给定一个合理的倒推的时间值需在多种网络环境下经多次测试来确定。且在收接新消息时,需经比较过滤掉重复消息再显示,在消息发送频繁的情况下,每次取得的消息量较大,这就意味着比较的次数多,会影响消息接收的实时性,不利于用户体验,且实现起来也比较复杂。
[0005]目前,解决问题的方法有很多种,不恰当的方法只能从表面上处理问题,只有最好的方法才能彻底解决问题。因此,怎样提供一种简单有效的解决群聊因网络时延漏消息的方法,同时兼顾用户体验,无疑是现在急待解决的问题。
【发明内容】
[0006]本发明需解决的技术问题是提供一种简单有效的群聊延漏消息的解决方法。
[0007]为解决上述的技术问题,本发明设计了一种群聊延漏消息的解决方法,其包括以下步骤:步骤1:为各条群聊消息增加ID字段,ID字段按群聊消息插入顺序递增;步骤2:以每次读取的最新的群聊消息的ID字段作为区分历史消息和新消息的分界点;步骤3:取出ID字段大于所述分界点的群聊消息,依顺显示在群聊页面上,并将最后的群聊消息的ID字段作为新的分界点。
[0008]作为本发明进一步改进,步骤3中取出ID字段大于所述分界点的群聊消息的步骤设置定时器。
[0009]作为本发明进一步改进,所述定时器设置的间隔时间为Is。
[0010]本发明还提供了一种即时通讯工具,包括上述群聊延漏消息的解决方法。所述即时通讯工具是基于数据库来作为消息存储与转发。
[0011]本发明提供了一种群聊延漏消息的解决方法,有效的利用了群聊消息的ID字段按插入顺序递增的属性,以每次读取的最新的那条消息ID作为历史消息和新消息的分界,从数据库读取ID字段大于所述分界点的新消息并显示,处理起来非常简单方便,简化了现有技术往前倒推一个时间段来解决网络时延漏消息的方案。本发明实时性较高,更有利于用户体验。避免了现有技术因倒推一个时间段从而导致取消息的时间段重叠、在消息显示前需多次比较来过虑重复消息的繁琐处理以及因此而引起的在人多、发送消息频繁的情况下多次比较对消息实时显示的影响。
【具体实施方式】
[0012]为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
[0013]本发明提供一种群聊延漏消息的解决方法,有效的利用了群聊消息的ID字段按插入顺序递增的属性,以每次读取的最新的那条消息ID作为历史消息和新消息的分界,从数据库读取ID字段大于所述分界点的新消息并显示,处理起来非常简单方便。
[0014]本发明提供一种群聊延漏消息的解决方法包括以下步骤:
[0015]为各条群聊消息增加ID字段,ID字段按群聊消息插入顺序递增;并以每次读取的最新的群聊消息的ID字段作为区分历史消息和新消息的分界点;再取出ID字段大于所述分界点的群聊消息,依顺显示在群聊页面上,并将最后的群聊消息的ID字段作为新的分界点。本发明在这里利用了群聊消息的ID字段按插入顺序递增的属性,以每次读取的最新的那条消息ID字段作为区分历史消息和新消息的分界点,前端只需记录这个分界ID字段的值,在定时器的处理函数中以ajax异步刷新方式,将记录的ID字段的值以post方式传给服务端,并从数据库中取所有大于该分界值的消息,按ID升序排列,在ajax请求成功的回调函数中将取得的消息依次显示在群聊页面,并更新记录ID,将最后一条消息ID字段的值作为新的分界ID点。整个取消息的过程不依赖消息发送时间,也就避免了以时间片取消息时网络延时的环境因素。
[0016]本发明取出ID字段大于所述分界点的群聊消息的步骤设置了定时器,即每隔Is时间从数据库中读取ID字段大于所述分界点的群聊消息。
[0017]本发明群聊延漏消息的解决方法应用于即时通讯工具中,该即时通讯工具是基于数据库来作为消息存储与转发。
[0018]本发明实时性较高,更有利于用户体验。避免了现有技术因倒推一个时间段从而导致取消息的时间段重叠、在消息显示前需多次比较来过虑重复消息的繁琐处理以及因此而引起的在人多、发送消息频繁的情况下多次比较对消息实时显示的影响。
[0019]以上仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种群聊延漏消息的解决方法,其特征在于,包括以下步骤: 步骤1:为各条群聊消息增加ID字段,ID字段按群聊消息插入顺序递增; 步骤2:以每次读取的最新的群聊消息的ID字段作为区分历史消息和新消息的分界占.步骤3:取出ID字段大于所述分界点的群聊消息,依顺显示在群聊页面上,并将最后的群聊消息的ID字段作为新的分界点。2.根据权利要求1所述的群聊延漏消息的解决方法,其特征在于,步骤3中取出ID字段大于所述分界点的群聊消息的步骤设置定时器。3.根据权利要求2所述的群聊延漏消息的解决方法,其特征在于,所述定时器设置的间隔时间为Is。4.一种即时通讯工具,其特征在于,包括上述权利要求1-3中任意一项所述的群聊延漏消息的解决方法。5.根据权利要求4所述的即时通讯工具,其特征在于,所述即时通讯工具是基于数据库来作为消息存储与转发。
【专利摘要】本发明提出了一种群聊延漏消息的解决方法,为各条群聊消息增加ID字段,ID字段按群聊消息插入顺序递增;并以每次读取的最新的群聊消息的ID字段作为区分历史消息和新消息的分界点;再取出ID字段大于所述分界点的群聊消息,依顺显示在群聊页面上,并将最后的群聊消息的ID字段作为新的分界点。本发明实时性较高,更有利于用户体验。避免了现有技术因倒推一个时间段从而导致取消息的时间段重叠、在消息显示前需多次比较来过虑重复消息的繁琐处理以及因此而引起的在人多、发送消息频繁的情况下多次比较对消息实时显示的影响。
【IPC分类】H04L12/58, H04L12/18
【公开号】CN105306348
【申请号】CN201510760494
【发明人】黄玉凤
【申请人】上海斐讯数据通信技术有限公司
【公开日】2016年2月3日
【申请日】2015年11月10日