一种用于即时通讯的信息处理方法和装置

文档序号:1190588 发布日期:2020-08-28 浏览:20次 >En<

阅读说明:本技术 一种用于即时通讯的信息处理方法和装置 (Information processing method and device for instant messaging ) 是由 吴宏波 祝小斌 于 2020-05-21 设计创作,主要内容包括:本申请涉及即时通讯技术领域,公开了一种用于即时通讯的信息处理方法和装置,首先发起需排队的请求任务,并发布排队请求的信息,开始接收排队请求确认信息后,记录排队请求确认信息的接收时间,再依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间,最后依据获取的排队请求确认信息的发起时间进行排队。由于通过排队请求确认信息的发起时间进行排队,降低了网速差异对排队顺序的影响,使得排序依据更合理,排队结果更公平。(The application relates to the technical field of instant messaging, and discloses an information processing method and device for instant messaging. As the queuing is carried out by the initiation time of the queuing request confirmation information, the influence of the network speed difference on the queuing sequence is reduced, the sorting basis is more reasonable, and the queuing result is more fair.)

一种用于即时通讯的信息处理方法和装置

技术领域

本发明涉及即时通讯技术领域,具体涉及一种用于即时通讯的信息处理方法和装置。

背景技术

即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。其中通讯服务中的在线排队功能的应用也越来越广泛,例如目前市场上多很实时在线系统都需要在线排队功能,例如同场抢答比赛和多人K歌抢麦活动等应用场景都需要在线排队功能,均是采用先申请先受益的排队方式。现在的在线排队功能主要是由用户通过运行客户端的终端设备向服务器端发起HTTP或者Web Socket排队服务请求,服务器端收到用户发送的排队请求先后依次进行排序。在这种多方终端设备向服务器端发起的排队请求是按获取排队请求信息的时间先后进行排序, 由于各个终端设备的网速不同(如手机网络、光纤网络或网络信号不强等网速差异),使得服务器获取的排序顺序与实际每个终端设备发起排队请求的时间先后顺序并不相同 ,在实际应用中(例如抢答类请求、预设时间段限定预设数量的请求)就会对网速相对较慢的用户带来不公平性。因此需要提供一种能够按各个终端设备实际发出排队请求的时间进行排序的方法。

发明内容

本发明主要解决的技术问题是现有技术中在线排队功能的排队顺序与实际发出排队请求的时间顺序不同的技术问题。

根据第一方面,一种实施例中提供一种用于即时通讯的信息处理方法,包括:

发起需排队的请求任务,发布排队请求的信息;

接收排队请求确认信息,并记录所述排队请求确认信息的接收时间;

依据所述排队请求确认信息的接收时间和所述排队请求确认信息的网络延迟参考时间获取所述排队请求确认信息的发起时间;

依据获取的所述排队请求确认信息的发起时间进行排队。

进一步,所述排队请求确认信息是终端设备接收排队请求的信息后申请参与排队的确认信息,所述排队请求确认信息包括所述终端设备的ID信息;所述排队请求确认信息的网络延迟参考时间的通过以下步骤来获取:

接收所述终端设备发出的网络延迟测试请求信息,并记录所述网络延迟测试请求信息的接收时间;所述网络延迟测试请求信息包括所述终端设备的ID信息和所述网络延迟测试请求信息的发起时间;

依据所述网络延迟测试请求信息的接收时间和所述网络延迟测试请求信息的发起时间获取所述终端设备发送网络延迟测试请求信息的网络延时时间;

依据获取的所述终端设备发送网络延迟测试请求信息的网络延时时间获取所述排队请求确认信息的网络延迟参考时间。

进一步,所述终端设备发出的网络延迟测试请求信息包括所述终端设备发出的ping命令操作信息。

进一步,所述依据获取的所述终端设备发送网络延迟测试请求信息的网络延时时间获取所述排队请求确认信息的网络延迟参考时间,包括:

获取多个所述终端设备发送网络延迟测试请求信息的网络延时时间;

对获取的多个所述终端设备发送网络延迟测试请求信息的网络延时时间取均值、取最小值或取最大值作为所述排队请求确认信息的网络延迟参考时间。

进一步,所述终端设备发送网络延迟测试请求信息的网络延时时间包括处理所述网络延迟测试请求信息的初始化网络时间、SSL安全认证时间、网络服务处理时间和下载响应时间。

进一步,所述网络延迟参考时间以帧为单位,一秒包括n帧,n为自然数。

进一步,所述排队请求确认信息的接收时间以帧为单位,所述排队请求确认信息的接收时间为开始接收所述排队请求确认信息到接收到所述排队请求确认信息的帧数。

进一步,所述依据所述排队请求确认信息的接收时间和所述排队请求确认信息的网络延迟参考时间获取所述排队请求确认信息的发起时间,包括:

所述排队请求确认信息的发起时间为所述排队请求确认信息的接收时间与所述排队请求确认信息的网络延迟参考时间的差。

根据第二方面,一种实施例中提供一种用于即时通讯的信息处理装置,包括:

存储器,用于存储程序;

处理器,用于通过执行所述存储器存储的程序以实现第一方面所述的信息处理方法。

根据第三方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现第一方面所述的信息处理方法。

依据上述实施例的一种用于即时通讯的信息处理方法和装置,先发起需排队的请求任务,发布排队请求的信息,开始接收排队请求确认信息后,记录排队请求确认信息的接收时间,再依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间,最后依据获取的排队请求确认信息的发起时间进行排队。由于通过排队请求确认信息的发起时间进行排队,降低了网速差异对排队顺序的影响,使得排序依据更合理,排队结果更公平。

附图说明

图1为一种实施例中即时通讯系统的结构示意;

图2为一种实施例中用于即时通讯的信息处理方法的流程示意图;

图3为一种实施例中获取网络延迟参考时间的流程示意图;

图4为一种实施例中即时通讯请求排队的信息处理方法流程示意图;

图5为另一种实施例中即时通讯请求排队的信息处理方法流程示意图;

图6为一种实施例中网络延迟参考时间的获取方法流程示意图;

图7为另一种实施例中网络延迟参考时间的获取方法流程示意图;

图8为一种实施例中即时通讯请求排队的排队示例图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。

在本发明实施例中,公开了一种用于即时通讯的信息处理方法,首先发起需排队的请求任务,发布排队请求的信息,开始接收排队请求确认信息后,记录排队请求确认信息的接收时间,再依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间,最后依据获取的排队请求确认信息的发起时间进行排队。由于通过排队请求确认信息的发起时间进行排队,降低了网速差异对排队顺序的影响,使得排序依据更合理,排队结果更公平。

实施例一

请参考图1,为一种实施例中即时通讯系统的结构示意,包括服务器1和n个终端设备2,即时通讯软件的服务器端在服务器1上运行,即时通讯软件的客户端分别在终端设备2上运行,即时通讯软件的服务器端和客户端通过服务器1和n个终端设备2的互联网络进行数据通信。终端设备2包括智能移动终端和/或计算机,服务器1包括云服务器或计算机服务器。

请参考图2,为一种实施例中用于即时通讯的信息处理方法的流程示意图,本申请一实施例中公开了一种用于即时通讯的信息处理方法,包括:

步骤一,发起需排队的请求任务,发布排队请求的信息。

步骤二,接收排队请求确认信息,并记录排队请求确认信息的接收时间。其中,排队请求确认信息是终端设备接收排队请求的信息后申请参与排队的确认信息,排队请求确认信息包括终端设备的ID信息。

步骤三,依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间。

步骤四,依据获取的排队请求确认信息的发起时间进行排队。

请参考图3,为一种实施例中获取网络延迟参考时间的流程示意图,一实施例中,排队请求确认信息的网络延迟参考时间的通过以下步骤来获取:

步骤100,接收终端设备发出的网络延迟测试请求信息,并记录网络延迟测试请求信息的接收时间。网络延迟测试请求信息包括终端设备的ID信息和网络延迟测试请求信息的发起时间。

步骤200,依据网络延迟测试请求信息的接收时间和网络延迟测试请求信息的发起时间获取终端设备发送网络延迟测试请求信息的网络延时时间。

步骤300,依据获取的终端设备发送网络延迟测试请求信息的网络延时时间获取排队请求确认信息的网络延迟参考时间。

请参考图4,为一种实施例中即时通讯请求排队的信息处理方法流程示意图,请求排队的信息处理方法包括:

步骤1,终端设备和服务器建立实时通讯连接,运行在终端设备上的客户端软件通过网络与运行在服务器上的服务器端软件建立实时通讯连接。其中网络包括局域网、互联网网络和/或无线通信网络。

步骤2,服务器获取终端设备的网络延迟参考时间,运行在服务器上的服务器端软件获取并记录终端设备的网络延迟参考时间,并通过终端设备的ID信息进行区分。一实施例中,终端设备的ID信息包括网络设备ID信息、客户端软件登录的用户ID信息和/或网络IP地址。

步骤3,发布排队请求的信息。运行在服务器上的服务器端软件发起需排队的请求任务,向运行在终端设备上的客户端软件发布排队请求的信息。

步骤4,发送排队请求确认信息。运行在终端设备上的客户端软件向运行在服务器上的服务器端软件发送排队请求确认信息。

步骤5,记录确认信息的接收时间。运行在服务器上的服务器端软件接收排队请求确认信息并记录接收排队请求确认信息的接收时间。运行在服务器上的服务器端软件依据。排队请求确认信息包括终端设备的ID信息,以用于服务器端软件对每个终端设备进行区分,进而区分发起该排队请求确认信息的终端设备。

步骤6,获取确认信息的发起时间。运行在服务器上的服务器端软件依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间。一实施例中,将排队请求确认信息的发起时间为排队请求确认信息的接收时间减去排队请求确认信息的网络延迟参考时间。服务器端软件通过终端设备的ID信息对应该终端设备的网络延迟参考时间。

步骤7,开始排队。运行在服务器上的服务器端软件依据每个终端设备发的排队请求确认信息的发起时间进行排队。

请参考图5,为另一种实施例中即时通讯请求排队的信息处理方法流程示意图,请求排队的信息处理方法包括:

步骤1)终端设备和服务器建立实时通讯连接。

步骤2)发布排队请求的信息。

步骤3)发送排队请求确认信息。

步骤4)记录确认信息的接收时间。

步骤5)获取网络延迟参考时间。

步骤6)获取确认信息的发起时间。

步骤7)开始排队。

请参考图6,为一种实施例中网络延迟参考时间的获取方法流程示意图,一实施例中,排队请求确认信息的网络延迟参考时间的通过以下步骤来获取:

步骤(1)建立实时通讯连接。终端设备和服务器建立实时通讯连接或确认保持实时通讯连接,运行在终端设备上的客户端软件通过网络与运行在服务器上的服务器端软件建立实时通讯连接或确认保持实时通讯连接。其中网络包括局域网、互联网网络和/或无线通信网络。

步骤(2)发送测试请求信息。运行在终端设备上的客户端软件向运行在服务器上的服务器端软件发送网络延迟测试请求信息。

步骤(3)记录接收时间并获取发起时间。运行在服务器上的服务器端软件接收终端设备发出的网络延迟测试请求信息,并记录网络延迟测试请求信息的接收时间。网络延迟测试请求信息包括终端设备的ID信息和网络延迟测试请求信息的发起时间。

步骤(4)获取网络延迟时间。运行在服务器上的服务器端软件依据网络延迟测试请求信息的接收时间和网络延迟测试请求信息的发起时间获取终端设备发送网络延迟测试请求信息的网络延时时间。网络延迟测试请求信息包括终端设备的ID信息,以用于服务器端软件对每个终端设备进行区分,进而区分发送该网络延迟测试请求信息的终端设备。

步骤(5)获取网络延迟参考时间,依据获取的终端设备发送网络延迟测试请求信息的网络延时时间获取排队请求确认信息的网络延迟参考时间。一实施例中,服务器端软件将获取的网络延迟测试请求信息的网络延时时间作为该终端设备的网络延迟参考时间。一实施例中,服务器端软件获取多个终端设备发送网络延迟测试请求信息的网络延时时间,服务器端软件对获取的多个终端设备发送网络延迟测试请求信息的网络延时时间取均值、取最小值或取最大值作为排队请求确认信息的网络延迟参考时间。

请参考图7,为另一种实施例中网络延迟参考时间的获取方法流程示意图,一实施例中,终端设备发出的网络延迟测试请求信息包括终端设备发出的ping命令操作信息,其排队请求确认信息的网络延迟参考时间的通过以下步骤来获取:

步骤Ⅰ建立实时通讯连接。终端设备和服务器建立实时通讯连接或确认保持实时通讯连接,运行在终端设备上的客户端软件通过网络与运行在服务器上的服务器端软件建立实时通讯连接或确认保持实时通讯连接。

步骤Ⅱ运行ping命令测试。终端设备向服务器运行ping命令。

步骤Ⅲ服务器响应ping命令。服务器响应ping命令回复相应信息。

步骤Ⅳ记录接收时间并获取ping命令发起时间。服务器接收终端设备发起ping命令的时间并记录服务器接收ping命令的时间。

步骤Ⅴ获取网络状态信息。一实施例中,终端设备运行ping命令获取的统计信息为:

正在 Ping baidu.com [220.181.38.148]具有32字节的数据:

来自 220.181.38.148 的回复: 字节=32 时间=43 TTL=52

来自 220.181.38.148 的回复: 字节=32 时间=43 TTL=52

来自 220.181.38.148 的回复: 字节=32 时间=42 TTL=52

来自 220.181.38.148 的回复: 字节=32 时间=42 TTL=52

220.181.38.148的Ping 统计信息:

数据包:已发送=4,已接收=4,丢失=0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

最短 = 42ms,最长=43 ms,平均=42 ms

步骤Ⅵ获取网络延迟时间。服务器依据终端设备发起ping命令的时间和记录服务器接收ping命令的时间获取终端设备的网络延迟时间。

步骤Ⅶ获取网络延迟参考时间。依据获取的终端设备发送网络延迟测试请求信息的网络延时时间获取排队请求确认信息的网络延迟参考时间。一实施例中,服务器端软件将获取的网络延迟测试请求信息的网络延时时间作为该终端设备的网络延迟参考时间。一实施例中,终端设备发送网络延迟测试请求信息的网络延时时间包括处理网络延迟测试请求信息的初始化网络时间、SSL安全认证时间、网络服务处理时间和下载响应时间。一实施例中,服务器端软件获取多个终端设备发送网络延迟测试请求信息的网络延时时间,服务器端软件对获取的多个终端设备发送网络延迟测试请求信息的网络延时时间取均值、取最小值或取最大值作为排队请求确认信息的网络延迟参考时间。

请参考图8,为一种实施例中即时通讯请求排队的排队示例图,包括终端设备1、终端设备2和终端设备3的网络延迟参考时间。一实施例中,网络延迟参考时间以帧为单位,一秒包括n帧,n为自然数。如图8所示,一秒包括10帧,终端设备1、终端设备2和终端设备3的网络延迟参考时间分别是18帧、21帧和15帧。

一实施例中,终端设备1的网络延迟参考时间获取是通过以下步骤获取:

服务器t1时刻收到网络延迟测试请求信息。

终端设备1在t2向服务器发送网络延迟测试请求信息。

终端设备1的网络延时时间为t1到 t2时刻的时间差。

将获取的终端设备1的网络延时时间的单位由秒转化为帧,并作为终端设备1的网络延迟参考时间。

一实施例中,排队请求确认信息的接收时间以帧为单位,排队请求确认信息的接收时间为开始接收排队请求确认信息到接收到排队请求确认信息的帧数,排队请求确认信息的发起时间为排队请求确认信息的接收时间与排队请求确认信息的网络延迟参考时间的差。如图8所示,服务器开始接收排队请求确认信息时开始计时,第p秒时服务器接收到终端设备1、终端设备2和终端设备3的排队请求确认信息,即终端设备1、终端设备2和终端设备3的排队请求确认信息的接收时间是p*10帧,终端设备1、终端设备2和终端设备3的网络延迟参考时间分别是18帧、21帧和15帧,因排队请求确认信息的发起时间为排队请求确认信息的接收时间与排队请求确认信息的网络延迟参考时间的差,则终端设备1、终端设备2和终端设备3的排队请求确认信息的发起时间为p*10-18帧、p*10-21帧和p*10-15帧。服务器依据终端设备1、终端设备2和终端设备3的排队请求确认信息的发起时间进行排队,即排队的先后顺序依次是终端设备2、终端设备1和终端设备3。一实施例中,获取终端设备的网络延迟参考时间也采用上述方式进行获取,此处不再赘述。

在本申请实施例中,公开了一种用于即时通讯的信息处理方法和装置,首先发起需排队的请求任务,并发布排队请求的信息,开始接收排队请求确认信息后,记录排队请求确认信息的接收时间,再依据排队请求确认信息的接收时间和排队请求确认信息的网络延迟参考时间获取排队请求确认信息的发起时间,最后依据获取的排队请求确认信息的发起时间进行排队。由于通过排队请求确认信息的发起时间进行排队,降低了网速差异对排队顺序的影响,使得排序依据更合理,排队结果更公平。在需要排队的服务请求过程中,将不再因网速问题,或者因网络异常,计算终端设备最先发起排队请求服务先后顺序错误的问题,上诉方法可以正确识别终端设备的发起排队请求确认信息的先后顺序。在本申请的一实施例中,由于采用帧为计时单位,可以降低因终端设备和服务器时间不同步引起的计算误差,还可在不同应用程序中使用,大大提高应用的可靠性与准确性。

本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种千兆单光口服务器适配器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!