CN106453231A - 信令获取、传输方法和装置 - Google Patents

信令获取、传输方法和装置 Download PDF

Info

Publication number
CN106453231A
CN106453231A CN201610644533.2A CN201610644533A CN106453231A CN 106453231 A CN106453231 A CN 106453231A CN 201610644533 A CN201610644533 A CN 201610644533A CN 106453231 A CN106453231 A CN 106453231A
Authority
CN
China
Prior art keywords
signaling
client
server
message
polling
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.)
Granted
Application number
CN201610644533.2A
Other languages
English (en)
Other versions
CN106453231B (zh
Inventor
陈晓民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610644533.2A priority Critical patent/CN106453231B/zh
Publication of CN106453231A publication Critical patent/CN106453231A/zh
Application granted granted Critical
Publication of CN106453231B publication Critical patent/CN106453231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种信令获取、传输方法和装置。其中,该信令获取方法包括:在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。本发明解决了相关技术中无法保证信令高质量地获取的技术问题。

Description

信令获取、传输方法和装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种信令获取、传输方法和装置。
背景技术
目前,客户端与服务器在交互时,往往需要服务器实时地向客户端推送最新的指令,常规的方式采用客户端主动请求后台建立连接的方式。但是由于客户端所处的网络环境非常复杂,会在不同的网络环境之间来回切换,导致客户端与服务器的连接无法保持稳定,因此常常出现服务器的信令无法稳定下发的情况发生。
普遍的服务器下发信令的方式采用了客户端主动地向服务器请求与服务器建立连接的方式,使服务器具备向客户端主动发送信令的能力。
但是,在上述方案中存在以下问题:
(1)在客户端与服务器出现连接中断的时候,服务器无法及时地向客户端推送信令;
(2)需要客户端提高检查连接通道连通性的频率,但是在目前终端的电量普遍维持时间较短的情况下,过高频率地检查通道的连通性会导致损耗终端过高的电量,从而间接地影响了用户的体验;
(3)在客户端所处的网络环境较差的情况下,客户端和服务器很可能无法长时间地建立稳定的连接,甚至无法建立连接,依然会导致信令无法到达;
(4)为了使后台服务有不错的扩展性,普遍将push通道和业务进行分离,因此对于业务侧,当需要保证信令的到达率的时候,往往只能依赖push通道去保证连接的稳定性,业务侧本身却无能为力。
针对上述相关技术中由于客户端和服务器无法稳定地建立连接而无法保证信令高质量地获取的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种信令获取、传输方法和装置,以至少解决相关技术中无法保证信令高质量地获取的技术问题。
根据本发明实施例的一个方面,提供了一种信令获取方法。该信令获取方法包括:在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
根据本发明实施例的一个方面,还提供了一种信令传输方法。该信令传输方法包括:在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求;服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
根据本发明实施例的另一方面,还提供了一种信令获取装置。该信令获取装置包括:判断单元,用于在客户端与服务器建立连接的情况下,使客户端判断是否到达当前轮询时间点;发送单元,用于当达到当前轮询时间点时,使客户端向服务器发送第一信令轮询请求;接收单元,用于使客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
根据本发明实施例的另一方面,还提供了一种信令传输装置。该信令传输装置包括:接收单元,用于在客户端与服务器建立连接的情况下,使服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求;响应单元,用于使服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
在本发明实施例中,在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,通过第一消息中携带有第一信令和第一轮询时间间隔,使客户端主动轮询,从服务器中获取消息,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种信令获取方法的硬件环境的示意图;
图2是根据本发明实施例的一种信令获取方法的流程图;
图3是根据本发明实施例的另一种信令获取方法的流程图;
图4是根据本发明实施例的另一种信令获取方法的流程图;
图5是根据本发明实施例的一种客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容的方法的流程图;
图6是根据本发明实施例的另一种信令获取方法的流程图;
图7是根据本发明实施例的一种信令传输方法的流程图;
图8是根据本发明实施例的另一种信令传输方法的流程图;
图9是根据本发明实施例的另一种信令传输方法的流程图;
图10是根据本发明实施例的另一种信令传输方法的流程图;
图11是根据本发明实施例的服务器响应于第一信令轮询请求向客户端发送第一消息的方法的流程图;
图12是根据本发明实施例的另一种信令传输方法的流程图;
图13是根据本发明实施例的一种信令连接通道的结构示意图;
图14是根据本发明实施例的一种信令下发的方法的流程图;
图15是根据本发明实施例的一种信令传输方法的流程图;
图16是根据本发明实施例的另一种信令获取方法的流程图;
图17是根据本发明实施例的另一种信令传输方法的流程图;
图18是根据本发明实施例的一种客户端执行信令内容的示意图;
图19是根据本发明实施例的另一种客户端执行信令内容的示意图;
图20是根据本发明实施例的另一种客户端执行信令内容的示意图;
图21是根据本发明实施例的另一种客户端执行信令内容的示意图;
图22是根据本发明实施例的另一种客户端执行信令内容的示意图;
图23是根据本发明实施例的一种信令获取装置的示意图;
图24是根据本发明实施例的另一种信令传输装置的示意图;以及
图25是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种信令获取方法的实施例。
可选地,在本实施例中,上述信令获取方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种信令获取方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的信令获取方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的信令获取方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种信令获取方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点。
在本申请上述步骤S202提供的技术方案中,在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点。
客户端安装在终端上,在进入业务场景以后,由终端启动,可以主动向服务器请求建立连接,比如,该客户端为视频客户端,从而使客户端与服务器在建立连接的情况下,服务器向客户端主动发送消息,其中,业务场景可以为聊天业务场景。客户端在轮询时间点对服务器进行主动轮询,可以获取当前时间,判断当前时间是否到达当前轮询时间点。
步骤S204,客户端向服务器发送第一信令轮询请求。
在本申请上述步骤S204提供的技术方案中,若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求。
在客户端判断是否到达当前轮询时间点之后,如果当前时间到达当前轮询时间点,客户端向服务器发送第一信令轮询请求,该第一信令轮询请求为用于向服务器请求获取第一消息的请求。
步骤S206,客户端接收服务器响应于第一信令轮询请求发送的第一消息。
在本申请上述步骤S206提供的技术方案中,客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
在客户端向服务器发送第一信令轮询请求之后,服务器对第一信令轮询请求进行响应,得到第一消息,可选地,该第一消息封装置在预设消息体中。该第一消息中携带有第一信令,其中,信令是一种后台向终端发起的执行指令,需要预先约定每个信令执行的任务。上述第一信令对应于在业务场景下已经确定好的执行任务。该第一消息还携带有第一轮询时间间隔,该第一轮询时间间隔可以动态调整,为完成接收第一消息的时间点与下一次对服务器进行轮询的下一次轮询时间点之间的时间间隔,也即,客户端向服务器发起轮询请求的周期,该第一轮询时间间隔的单位可以为秒。客户端接收第一信令,根据第一信令中的第一消息执行特定的任务,比如,根据第一消息拉取对话消息、更换图像、更换标题等。在客户端接收到第一信令之后,客户端根据第一轮询时间间隔进行等待,也即,客户端进入休眠状态,在客户端处于休眠状态下,客户端不执行任何的轮询操作。
通过上述步骤S202至步骤S206,在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,使客户端主动轮询,从服务器中获取消息,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
作为一种可选的实施方式,在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,当客户端判断到达下一次轮询时间点时,向服务器发送第二信令轮询请求;客户端接收服务器响应于第二信令轮询请求发送的第二消息。
图3是根据本发明实施例的另一种信令获取方法的流程图。如图3所示,该信令获取方法还包括以下步骤:
步骤S301,客户端判断是否到达下一次轮询时间点。
在本申请上述步骤S301提供的技术方案中,在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端判断是否到达下一次轮询时间点,其中,下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔。
在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端可以判断当前时间是否到达下一次客户端向服务器发送轮询请求的下一次轮询时间点,该下一次轮询时间点为客户端的休眠状态结束的时候,与客户端完成接收第一消息的时间点之间相隔了第一轮询时间间隔。
步骤S302,客户端向服务器发送第二信令轮询请求。
在本申请上述步骤S302提供的技术方案中,若达到下一次轮询时间点,则客户端向服务器发送第二信令轮询请求。
在客户端判断是否到达下一次轮询时间点之后,如果当前时间达到下一次轮询时间点之后,客户端主动向服务器发送第二轮询请求,该第二轮询请求为用于向服务器请求获取第二消息的请求。
步骤S303,客户端接收服务器响应于第二信令轮询请求发送的第二消息。
在本申请上述步骤S303提供的技术方案中,客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点。
在客户端向服务器发送第二信令轮询请求之后,服务器对第二信令轮询请求进行响应,得到第二消息,该第二消息中携带有第二信令。该第二消息还携带有第二轮询时间间隔,该第二轮询时间间隔可以动态调整,用于获取下一次轮询时间点之后的轮询时间点,该第二轮询时间间隔的单位可以为秒。客户端接收第二信令,根据第二信令中的第二消息执行特定的任务,比如,根据第二消息拉取对话消息、更换图像、更换标题等。在客户端接收到第二信令之后,客户端根据第二轮询时间间隔进行等待,从而实现了客户端在轮询周期中从服务器拉取消息,执行消息中的信令内容,这样,可以保证在连接通道不稳定的情况下,服务器的信令也能达到客户端并被执行。
该实施例通过在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端判断是否到达下一次轮询时间点,该下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔;若达到下一次轮询时间点,则客户端向服务器发送第二信令轮询请求;客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点,实现了对第二信令的获取,从而实现了保证信令高质量地获取的技术效果。
作为一种可选的实施方式,在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容。
图4是根据本发明实施例的另一种信令获取方法的流程图。如图4所示,该信令获取方法还包括:
步骤S401,客户端从第一消息中获取第一信令的信令内容和序列号。
在本申请上述步骤S401提供的技术方案中,在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端从第一消息中获取第一信令的信令内容和序列号。
第一信令包括信令内容,信令内容为预先确定好的客户端执行的任务,比如,在一定业务场景下拉取消息任务、更新头像任务、更新标题任务等。在服务器下发信令时,信令还带有序列号,通过不同的序列号来区分不同的信令,比如,区分服务器在不同时刻下发的信令。客户端从第一消息中获取第一信令的信令内容和序列号。
步骤S402,客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容。
在本申请上述步骤S402提供的技术方案中,客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容,其中,信令为包括第一信令在内的一个或多个信令。
客户端在接收到信令之后,对信令的信令内容按照顺序进行执行。在客户端从第一消息中获取第一信令的信令内容和序列号之后,客户端对信令的信令内容进行执行的顺序可以按照信令的序列号的排列顺序来执行,可选地,序列号的排列顺序为递增顺序,按照序列号的从小到大的顺序对信令的信令内容进行执行。
该实施例通过在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端从第一消息中获取第一信令的信令内容和序列号;客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容,信令为包括第一信令在内的一个或多个信令,保证了信令的信令内容执行的时序性,从而实现了保证信令高质量地获取的技术效果。
作为一种可选的实施方式,步骤S402,按照接收到的信令的序列号的排列顺序来执行信令的信令内容包括:客户端对信令内容不重复执行。
图5是根据本发明实施例的一种客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容的方法的流程图。如图5所示,该客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容的方法包括以下步骤:
步骤S501,客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行。
在本申请上述步骤S501提供的技术方案中,客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行。
安装客户端的终端存储有近期执行过的信令内容对应的序列号,客户度判断终端是否已经存储第一信令的序列号,如果客户端判断出终端已经存储第一信令的序列号,则确定第一信令的信令内容被执行过,如果客户端判断出终端没有存储第一信令的序列号,则确定第一信令的信令内容没有被执行过。
步骤S502,客户端放弃执行第一信令的信令内容。
在本申请上述步骤S502提供的技术方案中,若判断出第一信令的信令内容已被执行,则客户端放弃执行第一信令的信令内容。
如果客户端判断出终端已经存储了第一信令的序列号,则确定第一信令的信令内容已经被执行,客户端无需再重复执行第一信令的信令内容,放弃本次执行第一信令的信令内容。
可选地,通过push通道下发的信令和客户端主动轮询获取到的信令需要去重,保证信令的信令内容不会重复执行,其中,push通道是在终端在启动客户端时主动向服务器建立的长连接,从而保证服务器向客户端主动发送数据。
该实施例通过客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行;若判断出第一信令的信令内容已被执行,则客户端放弃执行第一信令的信令内容,保证了信令的信令内容不会被重复执行,进而实现了客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容。
作为一种可选的实施方式,在客户端判断是否到达当前轮询时间点之前,客户端与服务器通过push通道建立长连接。
图6是根据本发明实施例的另一种信令获取方法的流程图。如图6所示,该信令获取方法还包括以下步骤:
步骤S601,客户端向服务器发送长连接请求。
在本申请上述步骤S601提供的技术方案中,在客户端判断是否到达当前轮询时间点之前,客户端向服务器发送长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接。
长连接为网络中客户端和服务器建立长时间不断连的连接,客户端和服务器都可以实时向对方发送数据。
步骤S602,客户端通过push通道与服务器建立连接。
在本申请上述步骤S602提供的技术方案中,在服务器接收到长连接请求之后,客户端通过push通道与服务器建立连接,其中,连接为长连接。
需要说明的是,push通道下发的信令和客户端轮询获取到的信令需要去重,保证信令的信令内容不会重复执行。
如果单纯依赖push通道的下发信令的方式,信令到达客户端的到达率只能通过push通道的稳定性保证,而该实施例通过客户端主动轮询机制让业务侧灵活地建立自己的机制从而保证信令的到达率。
如果将push通道和业务侧进行分离,因此对于业务侧,在需要保证信令的到达客户端的到达率的时候,往往只能依赖push通道去保证连接的稳定性,业务侧本身缺无能为力,而该实施例通过客户端主动轮询机制从而保证信令获取的准确性。
可选地,在客户端主动轮询机制下,业务侧服务调用push通道进行信令的常规下发方式,由push通道和终端建立连接并发送信令,客户端依然需要保持原有的push通道连接逻辑,但是对长连接通道连通性的检查频率可以适当降低。后台push通道在向客户端下发信令的时候需要重试多次,失败次数达到预设次数才允许将信令丢弃。
可选地,客户端在通过push通道或者轮询获取信令的时候,如果同时接收到多个信令,需要根据该序列号进行重新排序,将根据信令的顺序从小到大排序并依次执行。而去重逻辑也可以通过唯一的序列号进行保证,客户端需要存储近期已经执行过的序列号,如果发现服务器下发的信令的序列号已经执行过了,就无需对该序列号对应的信令内容重复执行。
该实施例通过在客户端判断是否到达当前轮询时间点之前,客户端向服务器发送长连接请求,长连接请求用于请求服务器与客户端建立长连接,在服务器接收到长连接请求之后,客户端通过push通道与服务器建立连接,其中,连接为长连接,从而保证客户端与服务器长时间不断连的连接。
作为一种可选的实施方式,在客户端通过push通道与服务器建立连接之后,客户端通过push通道接收服务器发送第三消息,其中,第三消息中携带有第三信令。
在客户端通过push通道与服务器建立连接之后,客户端通过push通道接收服务器发送的第三消息,该第三消息中携带有第三信令,可选地,该第三消息中还携带第三轮询时间间隔,设下一次轮询时间点之后的下一次轮询时间点为A,则第三轮询时间间隔用于获取A之后的下一次轮询时间点。
该实施例在原有通道的基础上增加了客户端主动轮询的机制,将信令消息封装成为特殊的消息存放在消息体中,客户端在轮询周期中从后台拉取信令消息,这样可以保证在长连接通道不稳定的情况下,服务器下发的信令也能到达终端并被执行,通过动态控制轮询间隔,在后台承压的情况下缓解后台压力;保证顺序下发的信令被顺序执行;push通道下发的信令和轮询获取到的信令需要去重,保证不会重复执行。通过第一消息中携带有第一信令和第一轮询时间间隔,使客户端主动轮询,从服务器中获取消息,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
根据本发明实施例,还提供了一种信令传输方法的实施例。
可选地,在本实施例中,上述信令传输方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的信令传输方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的信令传输方法也可以是由安装在其上的客户端来执行。
图7是根据本发明实施例的一种信令传输方法的流程图。如图7所示,该信令传输方法可以包括以下步骤:
步骤S702,在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求。
在本申请上述步骤S702提供的技术方案中,在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求。
服务器在和客户端的交互可以应用于实时性的场景中,比如,聊天室的场景,服务器需要实时地向客户端推送最新的信令以执行信令内容,比如,拉取消息,更新头像,更换标题等。在客户端与服务器建立连接的情况下,在当前时间达到当前轮询时间点时,客户端主动向服务器发送第一信令轮询请求。服务器接收该第一信令轮询请求,其中,该第一信令轮询请求为用于向服务器请求下发第一消息的请求。
步骤S704,服务器响应于第一信令轮询请求向客户端发送第一消息。
在本申请上述步骤S704提供的技术方案中,服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
在服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求之后,服务器对第一信令轮询请求进行响应,得到第一消息,该第一消息包括用于执行任务的第一信令和根据预设参数计算得到的第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点,客户端可以根据下一次轮询时间点向服务器发送信令轮询请求,当前轮询时间点和下一次轮询时间点可以作为客户端轮询的一个轮询周期,从而实现了客户端在轮询周期中从服务器拉取消息,执行消息中的信令内容,这样可以保证在连接通道不稳定的情况下,服务器的信令也能达到客户端并被执行。
该实施例通过在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求;服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点,从而实现了信令的传输,提高了信令传输的准确性。
作为这一中可选的实施方式,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器根据时间和当前负载计算第一轮询时间间隔。
图8是根据本发明实施例的另一种信令传输方法的流程图。如图8所示,该信令传输方法还可以包括以下步骤:
步骤S801,服务器获取客户端已完成的信令轮询的时间、服务器的当前负载。
在本申请上述步骤S801提供的技术方案中,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器获取客户端已完成的信令轮询的时间、服务器的当前负载。
第一消息包括第一轮询时间间隔。在服务器响应于第一信令轮询请求向客户端发送第一消息之前,计算第一轮询时间间隔。获取客户端已完成的信令轮询的时间,可选地,获取客户端最近几次对服务器的轮询时间,以及获取服务器的当前负载。
步骤S802,服务器根据时间和当前负载计算第一轮询时间间隔。
在本申请上述步骤S802提供的技术方案中,服务器根据时间和当前负载计算第一轮询时间间隔。
在服务器获取客户端已完成的信令轮询的时间、服务器的当前负载之后,服务器根据客户端已完成的信令轮询的时间和当前负载计算第一轮询时间间隔,从而通过客户端已完成的信令轮询的时间和当前负载对第一轮询时间间隔动态调整可以控制客户端请求服务器下发信令的次数节约终端的电量,在服务器负载过重的时候,可以通过增加轮询间隔从而减轻服务器的压力。
该实施例通过服务器获取客户端已完成的信令轮询的时间、服务器的当前负载;服务器根据时间和当前负载计算第一轮询时间间隔,实现了对第一轮询时间间隔的计算。
作为一种可选的实施方式,服务器通过配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔。
图9是根据本发明实施例的另一种信令传输方法的流程图。如图9所示,该信令传输方法还可以包括以下步骤:
步骤S901,服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载。
在本申请上述步骤S901提供的技术方案中,服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载,其中,当前负载用于指示服务器当前处理的信令轮询请求的数量。
第二消息为服务器于第一消息之前发送给所述客户端的消息,服务器在发送第二消息时具有发送时间、等待发送第二消息的等待时间,服务器获取发送时间和等待时间。另外,服务器的当前负载为用于指示服务器当前已经处理的信令轮询请求的数量,获取服务器当前的负载。
步骤S902,服务器使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP。
在本申请上述步骤S902提供的技术方案中,在服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载之后,服务器使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP,其中,预设算法为:
其中,STIME为服务器配置的固定值,LastTimesend为第二消息的发送时间,LastTimeready为第二消息的等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为当前处理的信令轮询请求的数量,也即,服务器的当前负载,x为预设的时间间隔,该参数可以直接在前面计算结果的基础上固定增加基础的时间间隔(比如,需要将时间间隔固定控制在n秒以上,这时候就可以配置x为n),增加该参数的主要目的是使得时间间隔更加可控,平时可以默认填0。
该实施例通过服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载,通过使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP,从而实现了对第一轮询时间间隔的动态调整。
作为一种可选的实施方式,在服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求之前,服务器接收客户端发送的长连接请求,通过push通道与客户端建立长连接。
图10是根据本发明实施例的另一种信令传输方法的流程图。如图10所示,该信令传输方法还可以包括以下步骤:
步骤S1001,服务器接收客户端发送的长连接请求。
在本申请上述步骤S1001提供的技术方案中,服务器接收客户端发送的长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接,为网络中客户端和服务器端建立的长时间不断连的连接,双方都可以实时向对方发送数据。
步骤S1002,在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接。
在本申请上述步骤S1002提供的技术方案中,在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接,其中,连接为长连接,push通道是终端在启动客户端的时候主动向服务器建立的长连接,从而保证服务器可以拥有向客户端主动发送数据的能力。可选地,该push通道为视频push通道,视频push通道是终端启动视频客户端的时候主动向后台服务器建立的长连接。
该实施例通过服务器接收客户端发送的长连接请求,连接请求用于请求服务器与客户端建立长连接;在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接,其中,连接为长连接,从而实现服务器和客户端建立长连接的目的,实现客户端和服务器长时间不断连的连接。
作为一种可选的实施方式,在服务器通过push通道与客户端建立连接之后,服务器通过push通道向客户端发送第三消息,其中,第三消息中携带有第三信令。
可选地,客户端主动地向服务器请求建立长连接,服务器通过push通道向客户端发送第三消息,使服务器具备向终端主动发送消息的能力。
作为一种可选的实施方式,步骤S704,服务器响应于第一信令轮询请求向客户端发送第一消息包括:在服务器判断第一消息发送失败的次数达到预设值时,则服务器丢弃第一消息。
图11是根据本发明实施例的服务器响应于第一信令轮询请求向客户端发送第一消息的方法的流程图。如图11所示,该服务器响应于第一信令轮询请求向客户端发送第一消息的方法包括以下步骤:
步骤S1101,服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功。
在本申请上述步骤S1101提供的技术方案中,服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功。
服务器接收第一信令轮询请求,对第一信令轮询请求进行响应,发送第一消息,判断响应于第一轮询请求向客户端发送第一消息是否成功。
步骤S1102,服务器判断第一消息发送失败的次数是否达到预设值。
在本申请上述步骤S1102提供的技术方案中,如果服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败,服务器判断第一消息发送失败的次数是否达到预设值。
在服务器判断出响应于第一信令轮询请求向客户端发送第一消息是否成功之后,如果服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败,并不立即丢弃第一消息。服务器获取第一消息发送失败的次数,判断该次数是否达到预设值,其中,该预设值可以为人为设定的值。
步骤S1103,服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一。
在本申请上述步骤S1103提供的技术方案中,若次数未达到预设值,则服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一。
在服务器判断第一消息发送失败的次数是否达到预设值之后,若第一消息发送失败的次数未达到预设值,则服务器仍然可以响应于第一信令轮询请求,向客户端发送第一消息,并将第一消息发送失败的次数加1。
步骤S1104,若次数达到预设值,则服务器丢弃第一消息。
在本申请上述步骤S1104提供的技术方案中,若次数达到预设值,则服务器丢弃第一消息。
可选地,服务器通过push通道向客户端下发信令重试多次后,在失败次数达到预设值,服务器才允许丢弃第一消息。
该实施例服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功;如果服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败,服务器判断第一消息发送失败的次数是否达到预设值;若次数未达到预设值,则服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一;以及若次数达到预设值,则服务器丢弃第一消息,实现了通过服务器响应于第一信令轮询请求向客户端发送第一消息的目的。
作为一种可选的实施方式,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令。
图12是根据本发明实施例的另一种信令传输方法的流程图。如图12所示,该信令传输方法还可以包括以下步骤:
步骤S1201,服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令。
在本申请上述步骤S1201提供的技术方案中,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令。
服务器接收第一轮询请求,对第一轮询请求进行响应,得到第一消息。服务器中的信令队列存储信令。在服务器得到第一消息之前,服务器根据第一信令轮询请求在信令队列中检测是否存在需要发送给客户端的信令。
步骤S1202,从需要发送给客户端的信令中选择出第一信令。
在本申请上述步骤S1202提供的技术方案中,当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令。
在服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令之后,当服务器检测到信令队列中存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令,进而将包括第一信令的第一消息向客户端发送。
该实施例通过服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令;当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令,从而实现了对第一信令的确定。
实施例2
下面结合优选的实施例对本发明的技术方案进行说明。
图13是根据本发明实施例的一种信令连接通道的结构示意图。如图13所示,业务侧与终端通过push通道建立连接通道,也即,服务器与客户端通过push通道建立,业务侧调用push通道进行信令的常规下发。
该实施例中,客户端依然需要保持原有的push通道连接逻辑,但是,对长连接通道连通性的检查频率可以适当降低。后台push通道在向终端下发信令的时候需要重试多次,知道多次失败才允许将推送信令丢弃。
图14是根据本发明实施例的一种信令下发的方法的流程图。如图14所示,该信令下发的方法包括以下步骤:
步骤S1401,客户端与服务器建立连接通道。
在本申请上述步骤S1401提供的技术方案中,客户端主动请求后台建立连接通道,可选地,客户端与服务器建立长连接,使服务器具备主动使后台具备主动向终端发送信令的能力。
步骤S1402,客户端检测连接通道。
在本申请上述步骤S1402提供的技术方案中,在客户端与服务器建立连接通道之后,为了提高信令到达客户端的到达率,客户端加强对连接通道的检查,检测连接通道的连续性。
步骤S1403,客户端判断连接通道是否连通。
在本申请上述步骤S1403提供的技术方案中,一旦发现连接通道存在不可用的情况,则执行步骤S1401,及时主动地和服务器重新建立连接,从而提高客户端和服务器连接的稳定性。如果客户端判断出连接通道连通,执行步骤S1404。
步骤S1404,客户端休眠n秒。
当连接通道连通时,休眠n秒,暂不接收服务器下发的信令。重新执行步骤S1402。
步骤S1405,接收信令并执行信令内容。
在本申请上述步骤S1405提供的技术方案中,在客户端与服务器建立连接通道之后,接收服务器下发的包括信令内容的信令,并执行信令内容。客户端循环接收信令并执行信令内容。
该实施例通过客户端与服务器建立连接通道,客户端检测连接通道的连续性,判断连接通道是否连通,在判断出连接通道连通的情况下,休眠n秒。接收信令并执行信令内容,从而实现了对信令的获取。
图15是根据本发明实施例的一种信令传输方法的流程图。如图15所示,该信令传输方法包括以下步骤:
步骤S1501,服务器接收用于请求下发信令的请求并等待下发信令。
在本申请上述步骤S1501提供的技术方案中,服务器接收用于请求下发信令的请求并等待下发信令,也即,服务器接收业务请求并等待下发信令。
步骤S1502,服务器下发信令。
在本申请上述步骤S1502提供的技术方案中,服务器下发信令,也即,服务器推送信令。
步骤S1503,服务器判断发送信令是否成功。
在本申请上述步骤S1503提供的技术方案中,服务器判断发送信令是否成功,也即,服务器判断信令是否推送成功。如果服务器判断出发送信令成功,执行步骤S1501,如果服务器判断出发送信令失败,执行步骤S1504。
步骤S1504,服务器判断信令发送失败的次数是否达到预设值。
在本申请上述步骤S1504提供的技术方案中,如果服务器判断出发送信令失败,需要重新发送信令,获取发送信令失败的次数,判断发送信令失败的次数是否达到预设值,比如,预设值为3次。如果服务器判断出信令发送失败的次数达到预设值,放弃信令的下发,执行步骤S1501,如果服务器判断出信令发送失败的次数未达到预设值,执行步骤S1505。
步骤S1505,服务器休眠n秒。
在本申请上述步骤S1505提供的技术方案中,如果服务器判断出信令发送失败的次数未达到预设值,服务器休眠n秒,再执行步骤S1502。
该实施例通过服务器接收用于请求下发信令的请求并等待下发信令,服务器下发信令,服务器判断发送信令是否成功,在服务器判断发送信令不成功时,服务器判断信令发送失败的次数是否达到预设值,在服务器判断信令发送失败的次数是未达到预设值时,服务器休眠n秒,从而实现了服务器信令的传输。
除了保持客户端和服务器上述逻辑不变之外,客户端和服务器需要增加新的处理逻辑。
图16是根据本发明实施例的另一种信令获取方法的流程图。如图16所示,该信令获取方法包括以下步骤:
步骤S1601,客户端进入业务场景。
在本申请上述步骤S1601提供的技术方案中,客户端进入业务场景,该业务场景可以是实时性的场景,比如,聊天室的场景,客户端与服务器建立连接。
步骤S1602,客户端主动发起信令轮询请求。
在本申请上述步骤S1602提供的技术方案中,在客户端与服务器建立连接的情况下,客户端主动发起信令轮询请求。客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,从而实现要通过一定间隔时间主动向服务器拉取消息。
步骤S1603,客户端休眠n秒。
在本申请上述步骤S1603提供的技术方案中,在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端休眠n秒。客户端判断是否到达下一次轮询时间点,其中,下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔;若达到下一次轮询时间点,则客户端向服务器发送第二信令轮询请求;客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点。
客户端休眠n秒,再次执行步骤S1602,该实施例在每次拉取完信令之后则根据后台下发的轮询时间间隔n秒开始等待,等待n秒后再次主动发起轮询操作。而轮询时间间隔由后台动态计算,目标是控制客户端的电量消耗以及服务器处理能力之间的平衡。
图17是根据本发明实施例的另一种信令传输方法的流程图。如图17所示,该信令传输方法包括以下步骤:
步骤S1701,服务器检测用于存储信令的信令队列。
在本申请上述步骤S1701提供的技术方案中,服务器接收信令轮询查询请求,根据信令轮询请求检测用于存储信令的信令队列。
步骤S1702,服务器检测信令队列中是否存在需要发送给客户端的信令。
在本申请上述步骤S1702提供的技术方案中,服务器根据信令轮询请求检测信令队列中是否存在需要发送给客户端的信令。如果信令队列中不存在需要发送给客户端的信令,执行步骤S1701,服务器继续检测信令队列中是否存在需要发送给客户端的信令。如果信令队列中存在需要发送给客户端的信令,执行步骤S1703。
步骤S1703,服务器根据近期信令下发时间调整轮询时间间隔。
在本申请上述步骤S1703提供的技术方案中,如果信令队列中存在需要发送给客户端的信令,服务器根据近期信令下发的时间调整轮询时间间隔。
步骤S1704,将信令封装成为消息等待客户端轮询。
在本申请上述步骤S1704提供的技术方案中,将轮询时间间隔和信令内容封装在消息中,等待客户端的轮询,再次执行步骤S1701,服务器检测信令队列,检测信令队列中是否存在需要发送给客户端的信令。
该实施例在后台业务服务中,服务在接收到需要想客户端推送信令之后,开始根据该客户端最近几次轮询时间以及当前服务器负载情况计算该客户端下次的轮询间隔,将计算好的轮询时间以及信令内容封装成为常规消息插入到客户端的消息列表中等待客户端轮询。
在轮询间隔调整方面,后台会给客户端下发的轮询间隔是一个动态的值,采用动态轮询间隔存在多方面的好处,包括可以控制终端请求次数达到减少轮询次数从而节约电量,另一方面在后台服务器负载过重的时候,可以通过增加轮询间隔减轻服务器压力。具体轮询时间间隔的计算方式如下所示:
其中,STIME为服务器配置的固定值,LastTimesend为上次信令的发送时间,LastTimeready为上次信令的等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为当前处理的信令轮询请求的数量,x为预设的时间间隔,该参数可以直接在前面计算结果的基础上固定增加基础的时间间隔,从而使得时间间隔更加可控。
在时序性保证与去重逻辑方面,为了保证信令的时序性,每次下发的信令都会带有对应的一个序列号,这个序列号是严格递增的,因此客户端在push通道或者轮询的时候如果同时受到多个信令,需要根据该序列号进行重新排序,将根据信令的顺序从小到大排序并依次执行。而去重逻辑也可以通过唯一的序列号进行保证,终端需要存储近期已经执行过的序列号,如果发现后台过来的信令的序列号已经执行过了,就无需重复执行,提高了信令传输与获取的准确性。
该实施例通过服务器检测用于存储信令的信令队列,服务器检测信令队列中是否存在需要发送给客户端的信令,服务器根据近期信令下发时间调整轮询时间间隔,将信令封装成为消息等待客户端轮询,从而实现了信令高质量地传输。
需要说明的是,实现该方案的主要关键点在于动态控制轮询间隔,在后台承压的情况下缓解后台压力,另外也可以通过该参数控制终端的轮询频率;保证信令下发的时序性,即顺序下发的指令需要被顺序执行;push通道下发的信令和轮询获取到的信令需要去重,保证不会重复执行,实现了保证信令高质量地获取的技术效果。
实施例3
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述信息获取、传输方法的一种可选的具体应用。
该实施例在原有通道的基础上增加了客户端主动轮询的机制,将信令消息封装成为特殊的消息存放在消息体中,安装客户端的终端在轮询周期中从后台服务器拉取消息,这样可以保证客户端和服务器在长连接通道不稳定的情况下,后台服务器的信令也能到达终端并被执行,从而实现保证信令高质量地获取的技术效果。下面将本发明的技术方案应用在直播聊天室产品中进行说明。
用户在观看网络直播过程中创建一个属于该直播的聊天室,邀请其他好友进入该聊天室一起观看视频并且进行实时的聊天互动。
目标用户群是已经建立认知关系的用户,因此应用场景可能至少包括以下几种:①纯熟人场景,比如,亲人、恋人看直播等;②半熟人场景,比如,粉丝团体一起看直播;③轻熟悉关系,比如,社交媒体平台上,网络红人带大家一起看节目。
图18是根据本发明实施例的一种客户端执行信令内容的示意图。如图18所示,在客户端接收信令之后,用户需要选择一个当前正在播放的直播节目,点击播放器右上角的创建聊天室按钮就可以创建一个基于该直播的聊天室。在完成创建聊天室步骤之后,会自动进入聊天室会话模式,执行信令内容。
图19是根据本发明实施例的另一种客户端执行信令内容的示意图。如图19所示,在客户端接收信令之后,客户端进入聊天室界面,点击图中右上角三个小人的按钮则进入分享与用户列表界面,执行信令内容,主人可以对当前用户进行控制,具有踢出客人的权限。
图20是根据本发明实施例的另一种客户端执行信令内容的示意图。如图20所示,在客户端接收信令之后,客户端进入聊天室管理界面,执行信令内容,对聊天室的内容进行管理。
图21是根据本发明实施例的另一种客户端执行信令内容的示意图。如图21所示,在客户端接收信令之后,执行信令内容。在聊天室管理界面中,在右上角还有一个“解散”按钮,点击则解散聊天室,执行信令内容,群里客人都会自动离开。在执行解散功能时,会显示“解散群聊后,群里客人都会离开”的提示信息,以供用户选择。
如果不关闭聊天室而只是临时切出聊天室模式的话,在视频客户端的主界面右下角会有一个圆形按钮,用户点击该按钮就可以快速进入之前的聊天室。
图22是根据本发明实施例的另一种客户端执行信令内容的示意图。如图22所示,为聊天室快捷入口界面,通过对该界面右下角的会话按钮的操作,可以快速地进入聊天场景中。
上述实施例在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述信令获取方法的信令获取装置。图23是根据本发明实施例的一种信令获取装置的示意图。如图23所示,该信令获取装置可以包括:判断单元10、发送单元20和接收单元30。
判断单元10,用于在客户端与服务器建立连接的情况下,使客户端判断是否到达当前轮询时间点。
发送单元20,用于当达到当前轮询时间点时,使客户端向服务器发送第一信令轮询请求。
接收单元30,用于使客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
可选地,该信令获取装置的判断单元10还用于在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,使客户端判断是否到达下一次轮询时间点,其中,下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔;发送单元20还用于当达到下一次轮询时间点时,使客户端向服务器发送第二信令轮询请求;接收单元30还用于使客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点。
可选地,该信令获取装置还包括:获取单元和执行单元。其中,获取单元用于在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,使客户端从第一消息中获取第一信令的信令内容和序列号;执行单元用于使客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容,其中,信令为包括第一信令在内的一个或多个信令。
可选地,接收单元30包括判断模块和执行模块。其中,判断模块用于使客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行;执行模块用于在判断出第一信令的信令内容已被执行,则使客户端放弃执行第一信令的信令内容。
可选地,该信令获取装置的发送单元20还用于在客户端判断是否到达当前轮询时间点之前,使客户端向服务器发送长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;该信令获取装置还包括建立单元,用于在服务器接收到长连接请求之后,使客户端通过push通道与服务器建立连接,其中,连接为长连接。
可选地,该信令获取装置的接收单元30还用于在客户端通过push通道与服务器建立连接之后,使客户端通过push通道接收服务器发送第三消息,其中,第三消息中携带有第三信令。
需要说明的是,该实施例中的判断单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的发送单元20可以用于执行本申请实施例1中的步骤S204,该实施例中的接收单元30可以用于执行本申请实施例1中的步骤S206。
该实施例通过判断单元10在客户端与服务器建立连接的情况下,使客户端判断是否到达当前轮询时间点,通过发送单元20当达到当前轮询时间点时,使客户端向服务器发送第一信令轮询请求,通过接收单元30使客户端接收服务器响应于第一信令轮询请求发送的第一消息,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,使客户端主动轮询,从服务器中获取消息,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
根据本发明实施例,还提供了一种用于实施上述信令传输方法的信令传输装置。图24是根据本发明实施例的另一种信令传输装置的示意图,如图24所示,该信令传输装置可以包括:接收单元40和响应单元50。
接收单元40,用于在客户端与服务器建立连接的情况下,使服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求。
响应单元50,用于使服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
可选地,该信令传输装置还包括:第一获取单元和计算单元。其中,第一获取单元用于在服务器响应于第一信令轮询请求向客户端发送第一消息之前,使服务器获取客户端已完成的信令轮询的时间、服务器的当前负载;计算单元用于使服务器根据时间和当前负载计算第一轮询时间间隔。
可选地,第二消息为服务器于第一消息之前发送给客户端的消息,该信令获取装置还包括:第二获取单元,用于在服务器响应于第一信令轮询请求向客户端发送第一消息之前,使服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载,其中,当前负载用于指示服务器当前处理的信令轮询请求的数量;计算单元用于使服务器使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP。
其中,预设算法为:
其中,STIME为固定值,LastTimesend为发送时间,LastTimeready为等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为当前处理的信令轮询请求的数量,x为预设的时间间隔。
可选地,该信令传输装置还包括第一发送单元和建立单元。其中,第一发送单元用于在服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求之前,使服务器接收客户端发送的长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;建立单元用于在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接,其中,连接为长连接。
可选地,该信令传输装置还包括第二发送单元,用于在服务器通过push通道与客户端建立连接之后,使服务器通过push通道向客户端发送第三消息,其中,第三消息中携带有第三信令。
可选地,响应单元50包括:第一判断模块、第二判断模块,响应模块和处理模块。其中,第一判断模块用于使服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功;第二判断模块用于在服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败时,使服务器判断第一消息发送失败的次数是否达到预设值;响应模块用于在上述次数未达到预设值时,使服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一;处理模块用于在上述次数达到预设值时,使服务器丢弃第一消息。
可选地,该信令传输装置还包括检测单元和选择单元。其中,检测单元用于在服务器响应于第一信令轮询请求向客户端发送第一消息之前,使服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令;选择单元用于当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令。
需要说明的是,该实施例中的接收单元40可以用于执行本申请实施例1中的步骤S702,该实施例中的响应单元50可以用于执行本申请实施例1中的步骤S704。
该实施例通过接收单元40在客户端与服务器建立连接的情况下,使服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求,通过响应单元50使服务器响应于第一信令轮询请求向客户端发送第一消息,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点,实现了信令的传输,达到了提高信令传输的准确性的效果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例5
根据本发明实施例,还提供了一种用于实施上述信令获取、传输方法的服务器或终端。
图25是根据本发明实施例的一种终端的结构框图,如图25所示,该终端可以包括:一个或多个(图中仅示出一个)处理器251、存储器253、以及传输装置255(如上述实施例中的发送装置),如图25所示,该终端还可以包括输入输出设备257。
其中,存储器253可用于存储软件程序以及模块,如本发明实施例中的信令获取方法和装置对应的程序指令/模块,处理器251通过运行存储在存储器253内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信令获取方法。存储器253可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器253可进一步包括相对于处理器251远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置255用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置255包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置255为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器253用于存储应用程序。
处理器251可以通过传输装置255调用存储器253存储的应用程序,以执行下述步骤:
处理器251还用于执行下述步骤:
在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;
若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;
客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
处理器251还用于执行下述步骤:在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端判断是否到达下一次轮询时间点,其中,下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔;若达到下一次轮询时间点,则客户端向服务器发送第二信令轮询请求;客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点。
处理器251还用于执行下述步骤:在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端从第一消息中获取第一信令的信令内容和序列号;客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容,其中,信令为包括第一信令在内的一个或多个信令。
处理器251还用于执行下述步骤:客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行;若判断出第一信令的信令内容已被执行,则客户端放弃执行第一信令的信令内容。
处理器251还用于执行下述步骤:在客户端判断是否到达当前轮询时间点之前,客户端向服务器发送长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;以及在服务器接收到长连接请求之后,客户端通过push通道与服务器建立连接,其中,连接为长连接。
处理器251还用于执行下述步骤:在客户端通过push通道与服务器建立连接之后,客户端通过push通道接收服务器发送第三消息,其中,第三消息中携带有第三信令。
处理器251还用于执行下述步骤:
在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求;
服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
处理器251还用于执行下述步骤:在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器获取客户端已完成的信令轮询的时间、服务器的当前负载;服务器根据时间和当前负载计算第一轮询时间间隔。
处理器251还用于执行下述步骤:第二消息为服务器于第一消息之前发送给客户端的消息,其中,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载,其中,当前负载用于指示服务器当前处理的信令轮询请求的数量;服务器根据时间和当前负载计算第一轮询时间间隔包括:服务器使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP,
其中,预设算法为:
其中,STIME为固定值,LastTimesend为发送时间,LastTimeready为等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为当前处理的信令轮询请求的数量,x为预设的时间间隔。
处理器251还用于执行下述步骤:在服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求之前,服务器接收客户端发送的长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接,其中,连接为长连接。
处理器251还用于执行下述步骤:在服务器通过push通道与客户端建立连接之后,服务器通过push通道向客户端发送第三消息,其中,第三消息中携带有第三信令。
处理器251还用于执行下述步骤:服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功;如果服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败,服务器判断第一消息发送失败的次数是否达到预设值;若次数未达到预设值,则服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一;以及若次数达到预设值,则服务器丢弃第一消息。
处理器251还用于执行下述步骤:在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令;当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令。
采用本发明实施例,提供了一种信令获取、传输方法的方案。通过在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;客户端接收服务器响应于第一信令轮询请求发送的第一消息,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点,通过第一消息中携带有第一信令和第一轮询时间间隔,使客户端主动轮询,从服务器中获取消息,达到了客户端和服务器对信令进行稳定地获取与传输的目的,从而实现保证信令高质量地获取的技术效果,进而解决了相关技术中无法保证信令高质量地获取的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图25所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图25其并不对上述电子装置的结构造成限定。例如,终端还可包括比图25中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图25所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行信令获取、传输方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在客户端与服务器建立连接的情况下,客户端判断是否到达当前轮询时间点;
若达到当前轮询时间点,则客户端向服务器发送第一信令轮询请求;
客户端接收服务器响应于第一信令轮询请求发送的第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于获取当前轮询时间点之后的下一次轮询时间点。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端判断是否到达下一次轮询时间点,其中,下一次轮询时间点与客户端完成接收第一消息的时间点之间相隔第一轮询时间间隔;若达到下一次轮询时间点,则客户端向服务器发送第二信令轮询请求;客户端接收服务器响应于第二信令轮询请求发送的第二消息,其中,第二消息中携带有第二信令和第二轮询时间间隔,第二轮询时间间隔用于获取下一次轮询时间点之后的下一次轮询时间点。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在客户端接收服务器响应于第一信令轮询请求发送的第一消息之后,客户端从第一消息中获取第一信令的信令内容和序列号;客户端按照接收到的信令的序列号的排列顺序来执行信令的信令内容,其中,信令为包括第一信令在内的一个或多个信令。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:客户端根据第一信令的序列号判断第一信令的信令内容是否已被执行;若判断出第一信令的信令内容已被执行,则客户端放弃执行第一信令的信令内容。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在客户端判断是否到达当前轮询时间点之前,客户端向服务器发送长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;以及在服务器接收到长连接请求之后,客户端通过push通道与服务器建立连接,其中,连接为长连接。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在客户端通过push通道与服务器建立连接之后,客户端通过push通道接收服务器发送第三消息,其中,第三消息中携带有第三信令。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:
在客户端与服务器建立连接的情况下,服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求;
服务器响应于第一信令轮询请求向客户端发送第一消息,其中,第一消息中携带有第一信令和第一轮询时间间隔,第一轮询时间间隔用于客户端获取当前轮询时间点之后的下一次轮询时间点。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:第二消息为服务器于第一消息之前发送给客户端的消息,其中,在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器获取发送第二消息的发送时间、等待发送第二消息的等待时间、服务器的当前负载,其中,当前负载用于指示服务器当前处理的信令轮询请求的数量;服务器根据时间和当前负载计算第一轮询时间间隔包括:服务器使用服务器配置的固定值、信令轮询请求的初始值、发送时间、等待时间和当前处理的信令轮询请求的数量调用预设算法计算第一轮询时间间隔GP,
其中,预设算法为:
其中,STIME为固定值,LastTimesend为发送时间,LastTimeready为等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为当前处理的信令轮询请求的数量,x为预设的时间间隔。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在服务器接收客户端在达到当前轮询时间点时发送的第一信令轮询请求之前,服务器接收客户端发送的长连接请求,其中,长连接请求用于请求服务器与客户端建立长连接;在服务器接收到长连接请求之后,服务器通过push通道与客户端建立连接,其中,连接为长连接。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在服务器通过push通道与客户端建立连接之后,服务器通过push通道向客户端发送第三消息,其中,第三消息中携带有第三信令。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:服务器判断响应于第一信令轮询请求向客户端发送第一消息是否成功;如果服务器判断出响应于第一信令轮询请求向客户端发送第一消息失败,服务器判断第一消息发送失败的次数是否达到预设值;若次数未达到预设值,则服务器再次响应于第一信令轮询请求向客户端发送第一消息,并将次数进行加一;以及若次数达到预设值,则服务器丢弃第一消息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在服务器响应于第一信令轮询请求向客户端发送第一消息之前,服务器根据第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给客户端的信令;当服务器检测到存在需要发送给客户端的信令时,从需要发送给客户端的信令中选择出第一信令。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种信令获取方法,其特征在于,包括:
在客户端与服务器建立连接的情况下,所述客户端判断是否到达当前轮询时间点;
若达到所述当前轮询时间点,则所述客户端向所述服务器发送第一信令轮询请求;
所述客户端接收所述服务器响应于所述第一信令轮询请求发送的第一消息,其中,所述第一消息中携带有第一信令和第一轮询时间间隔,所述第一轮询时间间隔用于获取所述当前轮询时间点之后的下一次轮询时间点。
2.根据权利要求1所述的方法,其特征在于,在所述客户端接收所述服务器响应于所述第一信令轮询请求发送的第一消息之后,所述方法还包括:
所述客户端判断是否到达所述下一次轮询时间点,其中,所述下一次轮询时间点与所述客户端完成接收所述第一消息的时间点之间相隔所述第一轮询时间间隔;
若达到所述下一次轮询时间点,则所述客户端向所述服务器发送第二信令轮询请求;
所述客户端接收所述服务器响应于所述第二信令轮询请求发送的第二消息,其中,所述第二消息中携带有第二信令和第二轮询时间间隔,所述第二轮询时间间隔用于获取所述下一次轮询时间点之后的下一次轮询时间点。
3.根据权利要求1所述的方法,其特征在于,在所述客户端接收所述服务器响应于所述第一信令轮询请求发送的第一消息之后,所述方法还包括:
所述客户端从所述第一消息中获取所述第一信令的信令内容和序列号;
所述客户端按照接收到的信令的序列号的排列顺序来执行所述信令的信令内容,其中,所述信令为包括所述第一信令在内的一个或多个信令。
4.根据权利要求3所述的方法,其特征在于,所述客户端按照接收到的信令的序列号的排列顺序来执行所述信令的信令内容包括:
所述客户端根据所述第一信令的序列号判断所述第一信令的信令内容是否已被执行;
若判断出所述第一信令的信令内容已被执行,则所述客户端放弃执行所述第一信令的信令内容。
5.根据权利要求1所述的方法,其特征在于,在所述客户端判断是否到达当前轮询时间点之前,所述方法还包括:
所述客户端向所述服务器发送长连接请求,其中,所述长连接请求用于请求所述服务器与所述客户端建立长连接;以及
在所述服务器接收到所述长连接请求之后,所述客户端通过push通道与所述服务器建立所述连接,其中,所述连接为所述长连接。
6.根据权利要求5所述的方法,其特征在于,在所述客户端通过push通道与所述服务器建立所述连接之后,所述方法还包括:
所述客户端通过所述push通道接收所述服务器发送第三消息,其中,所述第三消息中携带有第三信令。
7.一种信令传输方法,其特征在于,包括:
在客户端与服务器建立连接的情况下,所述服务器接收所述客户端在达到当前轮询时间点时发送的第一信令轮询请求;
所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息,其中,所述第一消息中携带有第一信令和第一轮询时间间隔,所述第一轮询时间间隔用于所述客户端获取所述当前轮询时间点之后的下一次轮询时间点。
8.根据权利要求7所述的方法,其特征在于,在所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息之前,所述方法还包括:
所述服务器获取所述客户端已完成的信令轮询的时间、所述服务器的当前负载;
所述服务器根据所述时间和所述当前负载计算所述第一轮询时间间隔。
9.根据权利要求8所述的方法,其特征在于,
第二消息为所述服务器于所述第一消息之前发送给所述客户端的消息,其中,在所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息之前,所述方法还包括:所述服务器获取发送所述第二消息的发送时间、等待发送所述第二消息的等待时间、所述服务器的所述当前负载,其中,所述当前负载用于指示所述服务器当前处理的信令轮询请求的数量;
所述服务器根据所述时间和所述当前负载计算所述第一轮询时间间隔包括:所述服务器使用所述服务器配置的固定值、所述信令轮询请求的初始值、所述发送时间、所述等待时间和所述当前处理的信令轮询请求的数量调用预设算法计算所述第一轮询时间间隔GP,其中,所述预设算法为:
G P = S T I M E ( LastTime s e n d - LastTime r e a d y ) * Q P S B A S E Q p s + x
其中,STIME为所述固定值,LastTimesend为所述发送时间,LastTimeready为所述等待时间,QPSBASE为预设的信令轮询请求的数量的初始值,Qps为所述当前处理的信令轮询请求的数量,x为预设的时间间隔。
10.根据权利要求7所述的方法,其特征在于,在所述服务器接收所述客户端在达到当前轮询时间点时发送的第一信令轮询请求之前,所述方法还包括:
所述服务器接收所述客户端发送的长连接请求,其中,所述长连接请求用于请求所述服务器与所述客户端建立长连接;
在所述服务器接收到所述长连接请求之后,所述服务器通过push通道与所述客户端建立所述连接,其中,所述连接为所述长连接。
11.根据权利要求10所述的方法,其特征在于,在所述服务器通过所述push通道与所述客户端建立所述连接之后,所述方法还包括:
所述服务器通过所述push通道向所述客户端发送第三消息,其中,所述第三消息中携带有第三信令。
12.根据权利要求7所述的方法,其特征在于,所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息包括:
所述服务器判断响应于所述第一信令轮询请求向所述客户端发送所述第一消息是否成功;
如果所述服务器判断出响应于所述第一信令轮询请求向所述客户端发送所述第一消息失败,所述服务器判断所述第一消息发送失败的次数是否达到预设值;
若所述次数未达到所述预设值,则所述服务器再次响应于所述第一信令轮询请求向所述客户端发送所述第一消息,并将所述次数进行加一;以及
若所述次数达到所述预设值,则所述服务器丢弃所述第一消息。
13.根据权利要求7所述的方法,其特征在于,在所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息之前,所述方法包括:
所述服务器根据所述第一信令轮询请求检测用于存储信令的信令队列是否存在需要发送给所述客户端的信令;
当所述服务器检测到存在需要发送给所述客户端的信令时,从所述需要发送给所述客户端的信令中选择出所述第一信令。
14.一种信令获取装置,其特征在于,包括:
判断单元,用于在客户端与服务器建立连接的情况下,使所述客户端判断是否到达当前轮询时间点;
发送单元,用于当达到所述当前轮询时间点时,使所述客户端向所述服务器发送第一信令轮询请求;
接收单元,用于使所述客户端接收所述服务器响应于所述第一信令轮询请求发送的第一消息,其中,所述第一消息中携带有第一信令和第一轮询时间间隔,所述第一轮询时间间隔用于获取所述当前轮询时间点之后的下一次轮询时间点。
15.一种信令传输装置,其特征在于,包括:
接收单元,用于在客户端与服务器建立连接的情况下,使所述服务器接收所述客户端在达到当前轮询时间点时发送的第一信令轮询请求;
响应单元,用于使所述服务器响应于所述第一信令轮询请求向所述客户端发送第一消息,其中,所述第一消息中携带有第一信令和第一轮询时间间隔,所述第一轮询时间间隔用于所述客户端获取所述当前轮询时间点之后的下一次轮询时间点。
CN201610644533.2A 2016-08-08 2016-08-08 信令获取、传输方法和装置 Active CN106453231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610644533.2A CN106453231B (zh) 2016-08-08 2016-08-08 信令获取、传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610644533.2A CN106453231B (zh) 2016-08-08 2016-08-08 信令获取、传输方法和装置

Publications (2)

Publication Number Publication Date
CN106453231A true CN106453231A (zh) 2017-02-22
CN106453231B CN106453231B (zh) 2020-08-04

Family

ID=58184248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610644533.2A Active CN106453231B (zh) 2016-08-08 2016-08-08 信令获取、传输方法和装置

Country Status (1)

Country Link
CN (1) CN106453231B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107820277A (zh) * 2017-10-27 2018-03-20 三星(中国)半导体有限公司 用于无线网络的父节点装置、终端装置及其数据传输方法
CN108366092A (zh) * 2018-01-15 2018-08-03 网易(杭州)网络有限公司 一种web即时数据显示的方法和系统
CN110012115A (zh) * 2019-05-06 2019-07-12 广州华多网络科技有限公司 直播间推送信息的更新方法和系统
CN110493610A (zh) * 2019-08-14 2019-11-22 北京达佳互联信息技术有限公司 聊天室开启视频画面的方法、装置、电子设备及存储介质
CN112073487A (zh) * 2020-08-28 2020-12-11 北京达佳互联信息技术有限公司 信令发送、信令展示方法、装置、电子设备及存储介质
CN115361472A (zh) * 2022-07-05 2022-11-18 天津车之家软件有限公司 一种录音方法、系统、移动终端及存储介质
CN117573390A (zh) * 2023-11-20 2024-02-20 航天信息(广东)有限公司 一种数据处理方法、云端、客户端及数据处理系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996885A (zh) * 2006-12-14 2007-07-11 杭州华为三康技术有限公司 远程控制设备升级时间的方法、管理服务器及设备
CN101304361A (zh) * 2007-05-09 2008-11-12 索尼株式会社 通信系统、信息管理装置和方法及信息处理装置和方法
CN101335649A (zh) * 2008-08-06 2008-12-31 华为技术有限公司 一种管理大规模代理服务器的方法和装置
CN101378544A (zh) * 2007-08-31 2009-03-04 国际商业机器公司 信息轮询方法、装置及其系统
CN101594539A (zh) * 2009-06-24 2009-12-02 中兴通讯股份有限公司 实现解码器同步轮询的方法、解码器及监控系统
WO2012033877A1 (en) * 2010-09-08 2012-03-15 Mediatek Singapore Pte. Ltd. Psmp-based downlink multi-user mimo communications
US20150163043A1 (en) * 2013-12-04 2015-06-11 Electronics And Telecommunications Research Institute Method and apparatus for allocating channel in wireless local area network
CN105337961A (zh) * 2012-11-02 2016-02-17 北京奇虎科技有限公司 和客户端进行通信的方法以及服务器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996885A (zh) * 2006-12-14 2007-07-11 杭州华为三康技术有限公司 远程控制设备升级时间的方法、管理服务器及设备
CN101304361A (zh) * 2007-05-09 2008-11-12 索尼株式会社 通信系统、信息管理装置和方法及信息处理装置和方法
CN101378544A (zh) * 2007-08-31 2009-03-04 国际商业机器公司 信息轮询方法、装置及其系统
CN101335649A (zh) * 2008-08-06 2008-12-31 华为技术有限公司 一种管理大规模代理服务器的方法和装置
CN101594539A (zh) * 2009-06-24 2009-12-02 中兴通讯股份有限公司 实现解码器同步轮询的方法、解码器及监控系统
WO2012033877A1 (en) * 2010-09-08 2012-03-15 Mediatek Singapore Pte. Ltd. Psmp-based downlink multi-user mimo communications
CN105337961A (zh) * 2012-11-02 2016-02-17 北京奇虎科技有限公司 和客户端进行通信的方法以及服务器
US20150163043A1 (en) * 2013-12-04 2015-06-11 Electronics And Telecommunications Research Institute Method and apparatus for allocating channel in wireless local area network

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107820277A (zh) * 2017-10-27 2018-03-20 三星(中国)半导体有限公司 用于无线网络的父节点装置、终端装置及其数据传输方法
US11115169B2 (en) 2017-10-27 2021-09-07 Samsung Electronics Co., Ltd. Parent node device, terminal device for wireless network and data transmission method thereof
CN108366092A (zh) * 2018-01-15 2018-08-03 网易(杭州)网络有限公司 一种web即时数据显示的方法和系统
CN110012115A (zh) * 2019-05-06 2019-07-12 广州华多网络科技有限公司 直播间推送信息的更新方法和系统
CN110493610A (zh) * 2019-08-14 2019-11-22 北京达佳互联信息技术有限公司 聊天室开启视频画面的方法、装置、电子设备及存储介质
CN112073487A (zh) * 2020-08-28 2020-12-11 北京达佳互联信息技术有限公司 信令发送、信令展示方法、装置、电子设备及存储介质
CN115361472A (zh) * 2022-07-05 2022-11-18 天津车之家软件有限公司 一种录音方法、系统、移动终端及存储介质
CN117573390A (zh) * 2023-11-20 2024-02-20 航天信息(广东)有限公司 一种数据处理方法、云端、客户端及数据处理系统

Also Published As

Publication number Publication date
CN106453231B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN106453231A (zh) 信令获取、传输方法和装置
CN110417915B (zh) 一种推送消息传输方法、装置、存储介质及电子设备
CN103404132B (zh) 视频通信方法及家庭终端、家庭服务器
CN105337984A (zh) 一种账号登录方法与装置
EP2712126A2 (en) Networking method, server end device, client end device and network system
US10129706B2 (en) Context sensitive communication augmentation
CN109257729A (zh) 消息传输方法、装置、终端及存储介质
CN101677389A (zh) 图片传输系统及方法
CN104811423A (zh) 位置信息的共享方法和装置
US20150116447A1 (en) Information processing system, information processing method, information processing apparatus, and control method and control program of information processing apparatus
CN104967886B (zh) 无线投影方法和系统
CN109923833A (zh) 用于pstn服务的数据中心质心度量计算
CN104918132A (zh) 一种智能电视音视频通讯的方法及系统
CN104391628B (zh) 进程切换方法及装置
CN106534936A (zh) 一种天线控制方法、装置及系统
CN109150766A (zh) 基于udp组播的局域网内动态寻址服务器的方法和装置
CN109729582B (zh) 信息交互方法、装置及计算机可读存储介质
CN112929943B (zh) 电子价签中继通信方法、设备及计算机可读存储介质
CN105246129B (zh) 一种智能终端的组网方法及装置
CN106254935A (zh) 一种资源共享的方法及终端
WO2013140949A1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US20150189226A1 (en) HandHeld Video And Audio Communication Device
CN112492340A (zh) 直播音频采集方法、移动终端及计算机可读存储介质
CN105573180A (zh) 终端控制方法和系统
CN107332846A (zh) 视频播出方法及系统

Legal Events

Date Code Title Description
C06 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