CN105208125B - 消息传输方法、装置及系统 - Google Patents

消息传输方法、装置及系统 Download PDF

Info

Publication number
CN105208125B
CN105208125B CN201510640114.7A CN201510640114A CN105208125B CN 105208125 B CN105208125 B CN 105208125B CN 201510640114 A CN201510640114 A CN 201510640114A CN 105208125 B CN105208125 B CN 105208125B
Authority
CN
China
Prior art keywords
response
message
request
polling
time
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.)
Active
Application number
CN201510640114.7A
Other languages
English (en)
Other versions
CN105208125A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510640114.7A priority Critical patent/CN105208125B/zh
Publication of CN105208125A publication Critical patent/CN105208125A/zh
Application granted granted Critical
Publication of CN105208125B publication Critical patent/CN105208125B/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/14Session management

Abstract

本申请实施例公开了消息传输方法、装置及系统。本申请一个实施方式中的消息传输方法包括:接收请求端通过同步通信方式发送的请求消息;判断对请求消息的响应时间是否超出时长阈值;若是,则通知请求端启用异步轮询通信方式,以使得请求端通过轮询获取对请求消息的响应结果。按照本申请实施方式的技术方案,能够将同步通信方式和异步通信方式组合起来,从而提高通信效率。

Description

消息传输方法、装置及系统
技术领域
本申请涉及通信技术领域,具体涉及消息处理技术领域,尤其涉及消息传输方法、装置及系统。
背景技术
随着移动网络和移动终端的推广普及,上游的服务请求端和下游的服务提供端之间进行通信时,所传输的信息量越来越大,同时用户所期待的服务响应时间也越来越短。
在现有技术中,系统之间或同一个系统的两个不同部分之间主要存在两种通信方式:同步通信方式和异步通信方式。在同步通信方式中,发送方向接收方发送请求消息后,只有在接收到接收方的响应消息后,才能执行后续的操作。由于发送方必须等待接收方的响应后才能执行其它操作,因此不能充分利用系统的资源,通信效率较低。而在异步通信方式中,发送方向接收方发送请求消息后,无需等待接收方的响应,可以继续执行其它操作。这种通信方式虽然可以提高通信效率,但是需要耗费较多的内存去维护收发双方的请求队列和响应队列,影响了系统性能。
发明内容
鉴于现有技术中的上述缺陷或不足,期望能够提供一种提高通信效率、减少系统消耗的方案。为了实现上述一个或多个目的,本申请提供了消息传输方法、装置及系统。
第一方面,本申请提供了一种消息传输方法,该方法包括:接收请求端通过同步通信方式发送的请求消息;判断对所述请求消息的响应时间是否超出时长阈值;若是,则通知所述请求端启用异步轮询通信方式,以使得所述请求端通过轮询获取对所述请求消息的响应结果。
第二方面,本申请提供了另一种消息传输方法,该方法包括:通过同步通信方式向接收端发送请求消息;响应于接收到启用异步轮询通信方式的通知,对所述接收端进行轮询;通过所述轮询获取对所述请求消息的响应结果;其中,所述启用异步轮询通信方式的通知是所述接收端在判断出其对所述请求消息的响应时间超出时长阈值时返回的。
第三方面,本申请还提供了一种消息传输装置,该装置包括:接收模块,用于接收请求端通过同步通信方式发送的请求消息;判断模块,用于判断对所述请求消息的响应时间是否超出时长阈值;通知模块,用于若对所述请求消息的响应时间超出时长阈值,则通知所述请求端启用异步轮询通信方式,以使得所述请求端通过轮询获取对所述请求消息的响应结果。
第四方面,本申请又提供了另一种消息传输装置,该装置包括:发送模块,用于通过同步通信方式向接收端发送请求消息;轮询模块,用于响应于接收到启用异步轮询通信方式的通知,对所述接收端进行轮询;获取模块,用于通过所述轮询获取对所述请求消息的响应结果;其中,所述启用异步轮询通信方式的通知是所述接收端在判断出其对所述请求消息的响应时间超出时长阈值时返回的。
第五方面,本申请提供了一种消息传输系统,该系统包括上述第三方面所提供的消息传输装置和上述第四方面所提供的消息传输装置。
本申请提供的消息传输方法、装置及系统,能够首先通过同步通信方式发送请求信息,若同步响应超时,则可以通过异步轮询的方式获取对请求消息的响应结果。在优先使用同步通信方式时,若接收端能够快速对请求消息做出响应,则在保证通信速度的同时避免了对系统内存的损耗。而在接收端对请求消息的响应超时时,可以转到异步通信方式,从而避免因为长时间的等待增加整个系统的时延。通过将同步通信方式和异步通信方式组合,可以最大化地提高通信效率,并减少对系统资源的损耗。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了可以应用本申请实施例的示例性系统架构;
图2示出了根据本申请一个实施例的消息传输方法的示例性流程图;
图3示出了根据本申请另一个实施例的消息传输方法的示例性流程图;
图4示出了根据本申请一个实施例的另一种消息传输方法的示例性流程图;
图5示出了根据本申请一个实施例的消息传输装置的结构示意图;
图6示出了根据本申请一个实施例的另一种消息传输装置的结构示意图;
图7示出了根据本申请一个实施例的消息传输系统的结构示意图;
图8示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102通过网络103与服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种客户端应用,例如网页浏览器、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102可以是各种电子设备,包括但不限于个人电脑、智能手机、智能手表、平板电脑、个人数字助理等等。
服务器104可以是提供各种服务的服务器。服务器可以对接收到的数据进行存储、分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的两种消息传输方法中的一种可以由终端设备101、102执行,另一种可以由服务器104执行。类似的,本申请实施例所提供的两种消息传输装置中的一种可以设置于终端设备101、102中,另一种可以设置于服务器104中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,其示出了根据本申请一个实施例的消息传输方法的示例性流程图。
如图2所示,在步骤201中,接收请求端通过同步通信方式发送的请求消息。
在本实施例中,消息的接收端可以首先接收由请求端通过有线网络或无线网络所发送的请求消息。该请求消息可以用于请求接收端执行某个操作、提供某项服务或某些信息。由于该请求消息是通过同步通信方式发送的,而在同步通信方式中,发送方向接收方发送请求消息后,只有在接收到接收方的响应消息后,才能执行后续的操作。因此,请求端在通过某一线程发送该请求消息后,这个线程会一直等待接收端对该请求消息的响应结果,而不再去执行其他操作。
在本实施例中,上述无线网络包括但不限于基于3G技术、基于WiFi技术、基于蓝牙技术、基于WiMAX技术、基于Zigbee技术、基于UWB(ultra wideband)技术或者基于其它未来将开发的无线技术的无线网络。
接着,在步骤202中,判断对请求消息的响应时间是否超出时长阈值。
当在上述步骤201中接收到请求端发送的请求消息后,接收端可以进一步对请求消息的特点和其本身的系统运行情况,来预估对该请求消息的响应时间。具体地,接收端可以确定出请求消息的类型、请求包大小、请求端的ID、发起请求的时间以及与请求业务相关的各类信息。然后结合接收端当前的CPU性能及运行情况、内存占用率等信息,来预估接收端对该请求消息的响应时间。响应时间是指接收端从接收到请求信息开始,到做出针对该请求信息的响应结果为止所经过的时长。当确定出响应时间后,可以将响应时间与时长阈值进行比较,从而确定出响应时间是否超出时长阈值。可选地,时长阈值可以是预先设置好的,其具体数值可以根据历史经验数据或实际的应用需求来确定。
最后,在步骤203中,若是,则通知请求端启用异步轮询通信方式,以使得请求端通过轮询获取对请求消息的响应结果。
若在上述步骤202中判断出响应时间超出时长阈值,说明接收端需要花费较长的时间才能对请求消息做出响应。此时,如果请求端还要等待响应结果而无法执行其他操作,则会对接收端和请求端之间的通信资源造成极大浪费。为了避免这种不必要的浪费,可以将二者之间的通信方式由之前的同步转为异步。具体地,可以由接收端去通知请求端启动异步轮询的通信方式。当请求端接收到该通知后,可以停止当前的等待,并去执行其他可能需要的操作。然后以一定的时间间隔对接收端进行轮询,也就是每隔一段时间去接收端上确认是否有响应结果产生。一旦在轮询中发现接收端对上述请求信息做出了响应,则可以进一步从接收端上获取响应结果。可选地,请求端进行轮询的时间间隔可以是预先设置好的,其具体数值可以根据历史经验数据或实际的应用需求来确定。
本申请上述实施例提供的信息传输方法,能够首先通过同步通信方式发送请求信息,若同步响应超时,则可以通过异步轮询的方式获取对请求消息的响应结果。在优先使用同步通信方式时,若接收端能够快速对请求消息做出响应,则在保证通信速度的同时避免了对系统内存的损耗。而在接收端对请求消息的响应超时时,可以转到异步通信方式,从而避免因为长时间的等待增加整个系统的时延。通过将同步通信方式和异步通信方式组合,可以最大化地提高通信效率,并减少对系统资源的损耗。
进一步参考图3,其示出了根据本申请另一个实施例的消息传输方法的示例性流程图。
如图3所示,在步骤301中,接收请求端通过同步通信方式发送的请求消息。
在步骤302中,判断对请求消息的响应时间是否超出时长阈值。
在步骤303中,若是,则通知请求端启用异步轮询通信方式,以使得请求端通过轮询获取对请求消息的响应结果。
本实施例中的步骤301至303与图2中的步骤201至203相同,在此不再赘述。
在步骤304中,获取对多个历史请求消息响应时的响应记录,响应记录包括每个历史请求消息的消息类型和响应时间。
当接收端对接收到的请求信息进行响应时,会同时保存一个响应日志信息,用于记录与每个请求信息相关的数据。通常在响应日志信息中可以保存有请求消息的类型、请求包大小、请求端的ID、发起请求的时间、响应时间以及与请求业务相关的各类信息等。当获取对多个历史请求消息响应时的响应记录时,可以从响应日志信息中抽取需要的信息,即每个历史请求消息的消息类型和响应时间。
继而,在步骤305中,根据响应记录,确定每个消息类型所对应的同步超时时长。
在从上述步骤304中获得到响应记录后,可以首先将所有的历史请求消息按照消息类型进行分类。然后可以得到在一个消息类型中所包括的全部响应时间,最后通过对这些响应时间进行统计分析确定出该消息类型的同步超时时长。例如,可以将全部响应时间的平均值作为同步超时时长。
在本实施例的一个可选实现方式中,确定同步超时时长的步骤可以包括:分别确定每个消息类型所对应的所有响应时间的多个分位值;将多个分位值中的最小值确定为相应消息类型的同步超时时长。在本实施例中,在得到在一个消息类型中所包括的全部响应时间之后,可以首先确定出这些响应时间的多个分位值。分位值是一种统计学概念,如果有100个数,按从小到大排列,排在第10个的即为10分位值,排在第50个即为50分位值,也叫中位值。由于分位值不会因为个别极端的数字而引起偏离,因此比起平均值其更能说明排列规律。具体到本实施例中,可以将所有响应时间按照从小到大的顺序排序,然后去获取多个分位值,例如50、70和90分位值。最后可以将这多个分位值中的最小值确定为本消息类型的同步超时时长。可选地,还可以确定当前通信网络的延时情况,并基于延时对同步超时时长进行修正,以获得更精确的同步超时时长。
之后,在步骤306中,基于同步超时时长,对时长阈值进行更新。
当在上述步骤305中确定出每个消息类型所对应的同步超时时长后,可以进一步对上述步骤302中的时长阈值进行更新。具体地,如果之前的时长阈值对所有的消息类型都是一个固定值,则更新后的时长阈值针对每个消息类型都规定了不同的同步超时时长。如果之前的时长阈值已经针对每个消息类型都规定了不同的同步超时时长,则可以按照每个消息类型对各自的时长阈值进行更新。
在对时长阈值进行更新后,如果再次执行上述步骤302,则可以首先确定出请求消息的消息类型,然后在判断对该请求消息的响应时间是否超出该消息类型所对应的时长阈值。通过按照请求消息的类型来确定相应的同步超时时长,可以提高同步超时判断的准确度。
可选地,本实施例中的消息传输方法还可以确定进行轮询时的时间间隔。具体地:
在步骤307中,根据响应记录,确定每一个消息类型所对应的异步轮询的时间间隔。
在从上述步骤304中获得到响应记录后,可以首先将所有的历史请求消息按照消息类型进行分类。然后可以得到在一个消息类型中所包括的全部响应时间,最后通过对这些响应时间进行统计分析确定出该消息类型所对应的异步轮询的时间间隔。例如,可以将全部响应时间的平均值作为异步轮询的时间间隔。
在本实施例的一个可选实现方式中,确定异步轮询的时间间隔的步骤可以包括:分别对每个消息类型中的所有历史请求消息,按照响应时间进行分组;基于每组中历史请求消息的数量,确定每一个消息类型所对应的异步轮询的时间间隔。在本实施例中,在得到在一个消息类型中所包括的全部历史请求消息后,可以首先按照响应时间的长短将所有历史请求消息分为多个组,然后统计每个组中历史请求消息的数量,最后根据数量最多的一个或多个组所对应的响应时间来确定异步轮询的时间间隔。当根据一个组所对应的响应时间来确定异步轮询的时间间隔时,得到的时间间隔可以是一个固定的值。而当根据多个组所对应的响应时间来确定异步轮询的时间间隔时,得到的时间间隔可以是一个时间序列。
为了便于理解,下面以一个具体例子进行说明。对某一个消息类型中的所有历史请求消息按照响应时间进行分组,可以得到如下表所示的分组结果。
响应时间 0-100ms 100-200ms 200ms-300ms 300-400ms 其它
数量占比 10% 40% 30% 15% 5%
在这个例子中,按照100ms的时间间隔来划分响应时间,并使用数量占比来描述每个分组中历史请求消息的数量。其中,数量占比是指一个响应时间范围内的消息数量占全部消息数量的比例。在确定异步轮询的时间间隔时,如果按照数量最多的组即100-200ms这一组来确定,则可以将200ms确定为时间间隔。而如果按照数量最多的两组即100-200ms和200-300ms这两组来确定,则可以将200ms、100ms的时间序列确定为时间间隔。这样,第一次在200ms时轮询,可以覆盖100-200ms的范围。第二次在相隔100ms时轮询,相当于在第一次的200ms上增加了100ms,则可以覆盖200-300ms的范围。可选地,在确定轮询的时间序列时,可以剔除那些数量占比小于一定比例(例如20%)的分组。
之后,在步骤308中,将时间间隔发送给请求端,以使得请求端根据时间间隔进行轮询。
在确定出异步轮询的时间间隔后,接收端可以进一步将该时间间隔发送给请求端,以使得请求端能够根据时间间隔进行轮询。由于在本实施例中的时间间隔是与消息类型相对应的,因此在一种可能的实现中,接收端可以先确定请求端所发送的请求消息的消息类型,然后再将与该消息类型对应的时间间隔发给请求端。在另一种可能的实现中,接收端还可以将所有消息类型对应的时间间隔都发送给请求端,然后由请求端根据自己所发送的消息类型,选择相应的时间间隔进行轮询。
在本实施例的一个可选实现方式中,接收端还可以按照一定的时间频率(例如,1次/小时)去获取对多个历史请求消息响应时的响应记录,并在每次获取后都执行上述用于更新时长阈值和确定异步轮询的时间间隔的步骤。从而能够实现对同步超时时长和异步轮询的时间间隔的实时动态调整。
与图2中的消息传输方法相比,本实施例在将同步通信方式和异步通信方式结合的基础上,还可以进一步基于对历史消息的响应数据,对同步超时时长和异步轮询的时间间隔进行动态调整,以确保二者的数值合理可靠,从而进一步对数据传输效率进行了优化。
进一步参考图4,其示出了根据本申请一个实施例的另一种消息传输方法的示例性流程图。
如图4所示,在步骤401中,通过同步通信方式向接收端发送请求消息。
在本实施例中,请求端可以通过同步通信方式向接收端发送请求消息。该请求消息可以用于请求接收端执行某个操作、提供某项服务或某些信息。由于该请求消息是通过同步通信方式发送的,因此,请求端在通过某一线程发送该请求消息后,这个线程会一直等待接收端对该请求消息的响应结果,而不再去执行其他操作。
继而,在步骤402中,响应于接收到启用异步轮询通信方式的通知,对接收端进行轮询。
在本实施例中,如果请求段接收到启用异步轮询通信方式的通知,则可以停止当前的等待,并去执行其他可能需要的操作。并且可以按照一定的时间间隔对接收端进行轮询,也就是每隔一段时间去接收端上确认是否有响应结果产生。其中,启用异步轮询通信方式的通知是接收端在判断出其对请求消息的响应时间超出时长阈值时,返回给请求端的。
最后,在步骤403中,通过轮询获取对请求消息的响应结果。
当在上述步骤402中启动对接收端的轮询后,一旦在轮询中发现接收端对上述请求信息做出了响应,则可以进一步从接收端上获取响应结果。可选地,请求端进行轮询的时间间隔可以是预先设置好的,其具体数值可以根据历史经验数据或实际的应用需求来确定。
在本实施例的一个可选实现方式中,请求端还可以从接收端接收异步轮询的时间间隔。该时间间隔可以是接收端根据其对多个历史请求消息响应时的响应记录确定的。这样,当接收端进行轮询可以基于该时间间隔对接收端进行轮询。
本申请提供的消息传输方法,能够首先通过同步通信方式发送请求信息,若同步响应超时,则可以通过异步轮询的方式获取对请求消息的响应结果。通过将同步通信方式和异步通信方式组合,可以最大化地提高通信效率,并减少对系统资源的损耗。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
请参考图5,其示出了根据本申请一个实施例的消息传输装置的结构示意图。可选地,本实施例中的消息传输装置可以设置于消息的接收端中,该接收端可以是客户端也可以是服务器。
如图5所示,消息传输装置500可以包括:接收模块510、判断模块520以及通知模块530。
接收模块510,用于接收请求端通过同步通信方式发送的请求消息。
判断模块520,用于判断对所述请求消息的响应时间是否超出时长阈值。
通知模块530,用于若对所述请求消息的响应时间超出时长阈值,则通知所述请求端启用异步轮询通信方式,以使得所述请求端通过轮询获取对所述请求消息的响应结果。
在本实施例的一个可选实现方式中,消息传输装置500还可以包括:
获取模块,用于获取对多个历史请求消息响应时的响应记录,所述响应记录包括每个历史请求消息的消息类型和响应时间。
第一确定模块,用于根据所述响应记录,确定每个所述消息类型所对应的同步超时时长。
更新模块,用于基于所述同步超时时长,对所述时长阈值进行更新。
判断模块520可以进一步用于:确定所述请求消息的消息类型;判断所述响应时间是否超出该消息类型所对应的时长阈值。
在本实施例的一个可选实现方式中,第一确定模块可以进一步用于:分别确定每个所述消息类型所对应的所有响应时间的多个分位值;将所述多个分位值中的最小值确定为相应消息类型的同步超时时长。
在本实施例的一个可选实现方式中,消息传输装置500还可以包括:
第二确定模块,用于根据所述响应记录,确定每一个所述消息类型所对应的异步轮询的时间间隔。
发送模块,用于将所述时间间隔发送给所述请求端,以使得所述请求端根据所述时间间隔进行轮询。
在本实施例的一个可选实现方式中,第二确定模块可以进一步用于:分别对每个所述消息类型中的所有历史请求消息,按照响应时间进行分组;基于每组中历史请求消息的数量,确定每一个所述消息类型所对应的异步轮询的时间间隔。
请参考图6,其示出了根据本申请一个实施例的另一种消息传输装置的结构示意图。可选地,本实施例中的消息传输装置可以设置于发送消息的请求端中,该请求端可以是客户端也可以是服务器。
如图6所示,消息传输装置600可以包括:发送模块610、轮询模块620和获取模块630。
发送模块610,用于通过同步通信方式向接收端发送请求消息。
轮询模块620,用于响应于接收到启用异步轮询通信方式的通知,对所述接收端进行轮询。
获取模块630,用于通过所述轮询获取对所述请求消息的响应结果。
其中,所述启用异步轮询通信方式的通知是所述接收端在判断出其对所述请求消息的响应时间超出时长阈值时返回的。
在本实施例的一个可选实现方式中,消息传输装置600还可以包括:
接收模块,用于接收异步轮询的时间间隔。
轮询模块620可以进一步用于:基于所述时间间隔对所述接收端进行轮询。
应当理解,消息传输装置500中记载的诸模块与参考图2-3描述的方法中的各个步骤相对应,消息传输装置600中记载的诸模块与参考图4描述的方法中的各个步骤相对应。上文针对消息传输方法描述的操作和特征同样适用于装置500和装置600及其中包含的模块或单元。
请参考图7,其示出了根据本申请一个实施例的消息传输系统的结构示意图。
如图7所示,消息传输装置700可以包括:请求端710和接收端720。可选地,请求端710中可以设置有图6中的消息传输装置,接收端720可以设置有图5中的消息传输装置。
请求端710,用于通过同步通信方式向接收端720发送请求消息;响应于接收到启用异步轮询通信方式的通知,对接收端720进行轮询;通过轮询获取对请求消息的响应结果。
接收端720,用于接收请求端710通过同步通信方式发送的请求消息;判断对请求消息的响应时间是否超出时长阈值;若是,则通知请求端710启用异步轮询通信方式,以使得请求端710通过轮询获取对请求消息的响应结果。
本申请上述实施例提供的消息传输装置和系统,能够首先通过同步通信方式发送请求信息,若同步响应超时,则可以通过异步轮询的方式获取对请求消息的响应结果。在优先使用同步通信方式时,若接收端能够快速对请求消息做出响应,则在保证通信速度的同时避免了对系统内存的损耗。而在接收端对请求消息的响应超时时,可以转到异步通信方式,从而避免因为长时间的等待增加整个系统的时延。通过将同步通信方式和异步通信方式组合,可以最大化地提高通信效率,并减少对系统资源的损耗。
下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、判断模块和通知模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“用于接收请求端通过同步通信方式发送的请求消息的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的消息传输方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

1.一种消息传输方法,其特征在于,所述方法包括:
接收请求端通过同步通信方式发送的请求消息;
判断对所述请求消息的响应时间是否超出时长阈值,其中,所述响应时间是根据所述请求消息的特点和系统运行情况进行预估的;
若是,则通知所述请求端启用异步轮询通信方式,以使得所述请求端通过轮询获取对所述请求消息的响应结果;
获取对多个历史请求消息响应时的响应记录,其中,所述响应记录包括每个历史请求消息的消息类型和响应时间;根据所述响应记录,确定每个所述消息类型所对应的同步超时时长;基于所述同步超时时长,对所述时长阈值进行更新,以及根据所述响应记录,确定每一个所述消息类型所对应的异步轮询的时间间隔;
所述根据所述响应记录,确定每个所述消息类型所对应的同步超时时长包括:分别确定每个所述消息类型所对应的所有响应时间的多个分位值;将所述多个分位值中的最小值确定为相应消息类型的同步超时时长。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述判断对所述请求消息的响应时间是否超出时长阈值包括:
确定所述请求消息的消息类型;
判断所述响应时间是否超出该消息类型所对应的时长阈值。
3.根据权利要求2所述的方法,其特征在于,还包括:
将所述时间间隔发送给所述请求端,以使得所述请求端根据所述时间间隔进行轮询。
4.根据权利要求3所述的方法,其特征在于,所述根据所述响应记录,确定每一个所述消息类型所对应的异步轮询的时间间隔包括:
分别对每个所述消息类型中的所有历史请求消息,按照响应时间进行分组;
基于每组中历史请求消息的数量,确定每一个所述消息类型所对应的异步轮询的时间间隔。
5.一种消息传输方法,其特征在于,所述方法包括:
通过同步通信方式向接收端发送请求消息;
响应于接收到启用异步轮询通信方式的通知,对所述接收端进行轮询;
通过所述轮询获取对所述请求消息的响应结果;
其中,所述启用异步轮询通信方式的通知是所述接收端在判断出其对所述请求消息的响应时间超出时长阈值时返回的,其中,所述响应时间是根据所述请求消息的特点和系统运行情况进行预估的;
其中,所述时长阈值由接收端通过如下方式进行更新:获取对多个历史请求消息响应时的响应记录,其中,所述响应记录包括每个历史请求消息的消息类型和响应时间;根据所述响应记录,确定每个所述消息类型所对应的同步超时时长;基于所述同步超时时长,对所述时长阈值进行更新;
其中,每一个所述消息类型所对应的异步轮询的时间间隔是所述接收端根据所述响应记录确定的;
所述根据所述响应记录,确定每个所述消息类型所对应的同步超时时长包括:分别确定每个所述消息类型所对应的所有响应时间的多个分位值;将所述多个分位值中的最小值确定为相应消息类型的同步超时时长。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收异步轮询的时间间隔;
所述对所述接收端进行轮询包括:
基于所述时间间隔对所述接收端进行轮询。
7.一种消息传输装置,其特征在于,所述装置包括:
接收模块,用于接收请求端通过同步通信方式发送的请求消息;
判断模块,用于判断对所述请求消息的响应时间是否超出时长阈值,其中,所述响应时间是根据所述请求消息的特点和系统运行情况进行预估的;
通知模块,用于若对所述请求消息的响应时间超出时长阈值,则通知所述请求端启用异步轮询通信方式,以使得所述请求端通过轮询获取对所述请求消息的响应结果;
获取模块,用于获取对多个历史请求消息响应时的响应记录,所述响应记录包括每个历史请求消息的消息类型和响应时间;
第一确定模块,用于根据所述响应记录,确定每个所述消息类型所对应的同步超时时长;
更新模块,用于基于所述同步超时时长,对所述时长阈值进行更新;
第二确定模块,用于根据所述响应记录,确定每一个所述消息类型所对应的异步轮询的时间间隔;
所述第一确定模块进一步用于:
分别确定每个所述消息类型所对应的所有响应时间的多个分位值;
将所述多个分位值中的最小值确定为相应消息类型的同步超时时长。
8.根据权利要求7所述的装置,其特征在于,还包括:
所述判断模块进一步用于:
确定所述请求消息的消息类型;
判断所述响应时间是否超出该消息类型所对应的时长阈值。
9.根据权利要求8所述的装置,其特征在于,还包括:
发送模块,用于将所述时间间隔发送给所述请求端,以使得所述请求端根据所述时间间隔进行轮询。
10.根据权利要求9所述的装置,其特征在于,所述第二确定模块进一步用于:
分别对每个所述消息类型中的所有历史请求消息,按照响应时间进行分组;
基于每组中历史请求消息的数量,确定每一个所述消息类型所对应的异步轮询的时间间隔。
11.一种消息传输装置,其特征在于,所述装置包括:
发送模块,用于通过同步通信方式向接收端发送请求消息;
轮询模块,用于响应于接收到启用异步轮询通信方式的通知,对所述接收端进行轮询;
获取模块,用于通过所述轮询获取对所述请求消息的响应结果;
其中,所述启用异步轮询通信方式的通知是所述接收端在判断出其对所述请求消息的响应时间超出时长阈值时返回的,其中,所述响应时间是根据所述请求消息的特点和系统运行情况进行预估的;
其中,所述时长阈值由接收端通过如下方式进行更新:获取对多个历史请求消息响应时的响应记录,其中,所述响应记录包括每个历史请求消息的消息类型和响应时间;根据所述响应记录,确定每个所述消息类型所对应的同步超时时长;基于所述同步超时时长,对所述时长阈值进行更新,其中,所述根据所述响应记录,确定每个所述消息类型所对应的同步超时时长包括:分别确定每个所述消息类型所对应的所有响应时间的多个分位值;将所述多个分位值中的最小值确定为相应消息类型的同步超时时长;
其中,每一个所述消息类型所对应的异步轮询的时间间隔是所述接收端根据所述响应记录确定的。
12.根据权利要求11所述的装置,其特征在于,还包括:
接收模块,用于接收异步轮询的时间间隔;
所述轮询模块进一步用于:
基于所述时间间隔对所述接收端进行轮询。
13.一种消息传输系统,其特征在于,所述系统包括如权利要求7至10任一项所述的消息传输装置和如权利要求11至12任一项所述的消息传输装置。
CN201510640114.7A 2015-09-30 2015-09-30 消息传输方法、装置及系统 Active CN105208125B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510640114.7A CN105208125B (zh) 2015-09-30 2015-09-30 消息传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510640114.7A CN105208125B (zh) 2015-09-30 2015-09-30 消息传输方法、装置及系统

Publications (2)

Publication Number Publication Date
CN105208125A CN105208125A (zh) 2015-12-30
CN105208125B true CN105208125B (zh) 2019-12-17

Family

ID=54955548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510640114.7A Active CN105208125B (zh) 2015-09-30 2015-09-30 消息传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN105208125B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294911B (zh) * 2016-03-31 2020-09-08 华为技术有限公司 一种数据包监听方法及装置、远程过程调用系统、设备
CN106550019B (zh) * 2016-10-20 2020-01-31 福建天泉教育科技有限公司 浏览器请求处理方法及系统
CN106657092B (zh) * 2016-12-28 2020-07-10 北京神州绿盟信息安全科技股份有限公司 一种基于ssl/tls的业务处理方法及装置
CN106598762B (zh) * 2016-12-29 2020-04-17 上海理想信息产业(集团)有限公司 一种消息同步方法
CN110827108B (zh) * 2018-08-13 2023-05-26 阿里巴巴集团控股有限公司 信息搜索方法、搜索请求控制方法及系统
CN111245559B (zh) * 2018-11-29 2023-04-18 阿里巴巴集团控股有限公司 信息确定方法、信息判断方法、装置及计算设备
KR20210030091A (ko) * 2019-09-09 2021-03-17 주식회사 엘지화학 통신 장치, 통신 방법 및 전기 차량
CN112148502B (zh) * 2020-09-11 2024-03-22 每日互动股份有限公司 消息分发方法、电子设备和介质
CN113542370B (zh) * 2021-06-29 2023-11-03 北京达佳互联信息技术有限公司 活动播报信息处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753416A (zh) * 2008-12-03 2010-06-23 中兴通讯股份有限公司 消息发送方法及装置
CN101764746A (zh) * 2009-12-17 2010-06-30 中国电力科学研究院 一种发送数据的方法及装置
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378544B (zh) * 2007-08-31 2011-12-07 国际商业机器公司 信息轮询方法、装置及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753416A (zh) * 2008-12-03 2010-06-23 中兴通讯股份有限公司 消息发送方法及装置
CN101764746A (zh) * 2009-12-17 2010-06-30 中国电力科学研究院 一种发送数据的方法及装置
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置

Also Published As

Publication number Publication date
CN105208125A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105208125B (zh) 消息传输方法、装置及系统
US20220394316A1 (en) Message sending method and device, readable medium and electronic device
CN109076026B (zh) 用于基于等待时间排队的系统和方法
CN107872396B (zh) 具有超时控制的通信方法、处理设备、终端设备和服务器
CN111917687B (zh) 一种循环推送提醒消息的方法和装置
US9979609B2 (en) Cloud process management
CN102185801A (zh) 一种即时通讯中的信息处理方法和即时通讯工具
CN110620699B (zh) 消息到达率确定方法、装置、设备和计算机可读存储介质
CN108228625B (zh) 一种推送消息处理方法及装置
CN103095684A (zh) 获取关注用户聚合信息的方法、装置及系统
CN112379982A (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
CN103491512A (zh) 消息推送的实现方法和装置
CN109861922B (zh) 用于控制流量的方法和装置
CN110365598B (zh) 心跳消息发送的方法、装置、服务器、终端及存储介质
US20190215373A1 (en) A method for predicting the engagement level of a user of a user device, a related engagement prediction device and user device
CN103037000A (zh) 一种发布订阅系统及其通知消息处理方法
CN110071952B (zh) 服务调用量的控制方法和装置
CN113783822B (zh) 服务超时管理方法和装置,电子设备,可读介质
CN107306412B (zh) 用以实现消息可靠传输的方法、用户设备和基站
CN110213155B (zh) 通信处理方法、装置及相关设备、存储介质
CN109389306B (zh) 一种用户订单的同步方法和装置
CN114050986B (zh) 信令跟踪方法、装置、设备及存储介质
JPWO2014208617A1 (ja) プッシュ型情報送信装置、プッシュ型情報送信方法及びプログラム
CN109471574B (zh) 用于配置资源的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant