CN111526082A - 消息发送方法、装置、消息处理设备、服务器以及存储介质 - Google Patents

消息发送方法、装置、消息处理设备、服务器以及存储介质 Download PDF

Info

Publication number
CN111526082A
CN111526082A CN202010197851.5A CN202010197851A CN111526082A CN 111526082 A CN111526082 A CN 111526082A CN 202010197851 A CN202010197851 A CN 202010197851A CN 111526082 A CN111526082 A CN 111526082A
Authority
CN
China
Prior art keywords
message
sending
server
sent
channel
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.)
Pending
Application number
CN202010197851.5A
Other languages
English (en)
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 Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010197851.5A priority Critical patent/CN111526082A/zh
Publication of CN111526082A publication Critical patent/CN111526082A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了一种消息发送方法、装置、消息处理设备、服务器以及存储介质,属于信息处理技术领域,用于解决相关技术中消息并发导致的消息处理设备卡顿的问题。所述方法包括:通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送;在未接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,通过所述多条消息发送通道中处于空闲状态的第二消息发送通道,向所述消息处理设备进行下一次消息发送,所述第二消息发送通道与所述第一消息通道不同。

Description

消息发送方法、装置、消息处理设备、服务器以及存储介质
技术领域
本申请涉及信息处理技术领域,特别是涉及一种消息发送方法、装置、 消息处理设备、服务器以及存储介质。
背景技术
随着互联网经济的发展,越来越多的商户配置有消息处理设备(例如: 收银设备),通过在服务器和消息处理设备之间建立的单个消息传输通道, 接收服务器向消息处理设备发送的消息,并且当服务器接收到新消息时,都 会向消息处理设备发送新消息,并再次向消息处理设备发送当前未被确认的 消息,每接收一次新消息,就向消息处理设备进行一次消息发送。由此将造 成如下现象:
当服务器将消息发送到消息处理设备时,可能发生多条消息串联重复发送的 情况,例如,服务器刚通过消息发送通道,将消息1发送给消息处理设备, 就收到消息2,而此时并没有收到由消息处理设备返回的关于消息1的确认 回执,因此,服务器又会立即通过消息发送通道,向消息处理设备发送消息 1、2,当未接收到关于消息1和消息2的确认回执时,服务器又收到消息3, 又立即通过消息发送通道,向消息处理设备投递消息1、2、3,从而在极端 情况下,将出现上百条消息的串联重复发送。而中小商户为了节省成本,所 采用的消息处理设备的硬件配置较低,导致消息处理的能力较差,当接收多 过的由服务器发出的上百条串联重复发送的消息时,消息处理设备将无法在 短时间内完成上百条消息的处理,进而出现极其严重的卡顿现象,降低了消 息处理设备的用户使用体验。
发明内容
为了解决上述问题,本申请提供了一种消息发送方法、装置、消息处理 设备、服务器以及存储介质,旨在解决消息处理设备卡顿的现象,优化用户 的使用体验。
根据本公开实施例的第一方面,提供了一种消息发送方法,应用于服务 器,所述服务器与消息处理设备通过多条消息发送通道通信连接,所述方法 包括:
通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所 述消息处理设备进行本次消息发送;
在未接收到所述消息处理设备返回的对本次所发送的消息的确收响应 时,通过所述多条消息发送通道中处于空闲状态的第二消息发送通道,向所 述消息处理设备进行下一次消息发送,所述第二消息发送通道与所述第一消 息通道不同。
根据本公开实施例的第二方面,提供了一种消息发送方法,应用于消息 处理设备,所述消息处理设备与服务器通过多条消息发送通道通信连接,所 述方法包括:
从所述多条消息发送通道中确定当前处于空闲状态的第一目标消息发 送通道;
在接收到所述服务器通过所述第一目标消息发送通道所发送的第一目 标消息时,通过所述目标消息通道向所述服务器返回对所述第一目标消息的 确收响应。
根据本公开实施例的第三方面,提供了一种消息发送装置,应用于服务 器,所述服务器与消息处理设备通过多条消息发送通道通信连接,所述装置 包括:
第一发送模块,用于通过所述多条消息发送通道中处于空闲状态的第一 消息发送通道,向所述消息处理设备进行本次消息发送;
第二发送模块,用于在未接收到所述消息处理设备返回的对本次所发送 的消息的确收响应时,通过所述多条消息发送通道中处于空闲状态的第二消 息发送通道,向所述消息处理设备进行下一次消息发送,所述第二消息发送 通道与所述第一消息通道不同。
可选地,所述装置还包括:
第一更新模块,用于将所述第一消息发送通道的状态更新为占用状态;
第二更新模块,用于在接收到所述消息处理设备返回的对本次所发送的 消息的确收响应时,将所述第一消息发送通道的状态更新为空闲状态,以用 于下一次消息发送。
可选地,所述装置还包括:
第一初始化模块,用于在接收到所述消息处理设备发送的连接请求时, 响应于所述连接请求,将所述多条消息发送通道的状态均初始化为空闲状 态;
第一检测模块,用于自初始化时刻起,每次接收到所述消息处理设备发 送的心跳消息时,检测是否存在待发送消息;
所述第一发送模块,包括:
第一发送子模块,用于在检测到存在待发送消息时,将所述待发送消息 作为本次消息发送的对象,通过所述第一消息发送通道,向所述消息处理设 备进行本次消息发送。
可选地,所述装置还包括:
第三发送模块,用于在检测到存在待发送消息时,向所述消息处理设备 发送重置提示,以提示所述消息处理设备重置用于发送心跳消息的预设时间 间隔序列。
可选地,所述装置还包括:
第一确定模块,用于根据所述消息处理设备的硬件参数值,确定所述多 条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
可选地,所述第一确定模块包括:
第一确定子模块:用于按照以下公式确定所述多条消息发送通道的数 量;
Figure BDA0002418264570000031
其中,N表示所述多条消息发送通道的数量,且为大于等于1的整数。
根据本公开实施例的第四方面,提供了一种消息发送装置,应用于消息 处理设备,所述消息处理设备与服务器通过多条消息发送通道通信连接,所 述装置包括:
第二确定模块,用于从所述多条消息发送通道中确定当前处于空闲状态 的第一目标消息发送通道;
返回确收响应模块,用于在接收到所述服务器通过所述第一目标消息发 送通道所发送的第一目标消息时,通过所述目标消息通道向所述服务器返回 对所述第一目标消息的确收响应。
可选地,所述装置还包括:
第四发送模块,用于向所述服务器发送连接请求,所述连接请求携带所 述消息处理设备的硬件参数值,以确定所述多条消息发送通道的数量,其中, 所述硬件参数值至少包括:CPU核数和主频。
可选地,所述装置还包括:
第五发送模块,用于自发送所述连接请求的发送时刻起,按照预设时间 间隔序列,向所述服务器发送心跳消息,所述预设时间间隔序列至少包括: 两种不同时长的时间间隔。
可选地,所述装置还包括:
第三确定模块,用于确定最小时长的时间间隔和最大时长的时间间隔, 以得到所述至少两种不同时长的时间间隔;
第四确定模块,用于确定每种时长的时间间隔的重复次数和相邻两个时 间间隔的步长,以得到所述预设时间间隔序列。
可选地,所述装置还包括:
第二检测模块,用于在按照预设时间间隔序列,向所述服务器发送心跳 消息期间,检测是否接收到所述服务器发送的重置提示和/或所述服务器通 过当前处于空闲状态的第二消息发送通道所发送的第二目标消息;
重置模块,用于在接收到所述重置提示和/或所述第二目标消息时,重 置所述预设时间间隔序列;
第六发送模块,用于自重置时刻起,按照重置后的预设时间间隔序列, 向所述服务器发送心跳消息。
根据本公开实施例的第五方面,提供了一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如上述第一方面中任一项所述的 消息发送方法所执行的操作。
根据本公开实施例的第六方面,提供了一种非临时性计算机可读存储介 质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执 行一种以实现如上述第一方面中任一项所述的消息发送方法所执行的操作。
根据本公开实施例的第七方面,提供了一种消息处理设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如上述第二方面中任一所述的消 息发送方法所执行的操作。
根据本公开实施例的第八方面,提供了一种非临时性计算机可读存储介 质,当所述存储介质中的指令由消息处理设备的处理器执行时,使得消息处 理设备能够执行一种以实现如上述第二方面中任一项所述的消息发送方法 所执行的操作。
本申请实施例公开的消息发送方法中,所述服务器与消息处理设备通过 多条消息发送通道通信连接,服务器通过所述多条消息发送通道中处于空闲 状态的第一消息发送通道,向所述消息处理设备进行本次消息发送;在未接 收到所述消息处理设备返回的对本次所发送的消息的确收响应时,通过所述 多条消息发送通道中处于空闲状态的第二消息发送通道,向所述消息处理设 备进行下一次消息发送,所述第二消息发送通道与所述第一消息通道不同。
本申请实施例中,本申请的服务器与消息处理设备之间建立了多条消息 发送通道,第一方面、当服务器通过某一条处于空闲状态的消息发送通道, 向消息处理设备发送一次待发送消息后,如果服务器未接收到针对该次发送 的消息的确收响应时,则可以切换到其他处于空闲状态的消息发送通道,继 续发送新接收的消息,以避免通过单通道发送消息时,出现的上百条消息串 联重复发送的问题;第二方面、服务器根据接收待发送消息的时间先后顺序, 通过多条消息发送通道分批次向消息处理设备发送多条消息,以减少服务器 中待发送消息的累积数量,从而降低每条消息发送通道中所发送的消息的数 量;第三方面、服务器通过多条消息发送通道,向消息处理设备发送消息, 由于可以降低每条通道中的数量,从而减缓了消息处理设备的积压量,使得 消息处理设备可以在短时间内完成对每条消息通道中消息的处理,避免出现 卡顿的现象。
本申请实施例中提供的消息发送方法,一方面、避免了相关技术中,服 务器由单一消息发送通道逐一向消息处理设备发送消息时,造成的多条消息 串联重复发送的情况发生;另一方面、通过多条消息发送通道,降低了相关 技术中通道单一消息传输通道发送消息时,通道中消息数量的累积,使得消 息处理设备,无需在短时间内一次处理上百条消息,进而解决了消息处理设 备卡顿的问题,优化了用户的使用体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或相关 技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请根据一实施例示出的一种消息发送方法的通信环境示意 图。
图2是本申请根据一实施例示出的一种消息发送方法的业务架构示意 图。
图3是本申请根据一实施例示出的一种消息发送方法的流程图。
图4是本申请根据一实施例示出的一种消息发送方法的流程图。
图5是本申请根据一实施例示出的一种消息发送方法的消息推送的核心 业务示意图。
图6是本申请根据一实施例示出的一种消息发送方法的智能并发控制示 意图。
图7是本申请根据一实施例示出的一种消息发送方法的预设时间间隔序 列流程图。
图8是本申请根据一实施例示出的一种消息发送装置的结构示意图。
图9是本申请根据一实施例示出的一种消息发送装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而 不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有 作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范 围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后 次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本 公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下 示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方 式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相 一致的装置和方法的例子。
相关技术中,关于信息处理技术领域中的消息发送技术,主要存在以下 两个问题:
一方面,当服务器通过单个消息发送通道,将消息发送到消息处理设备 时,出现的上百条消息串联重复发送的情况,导致消息处理设备由于无法在 短时间内完成对上百条消息的处理,而出现极其严重的卡顿现象,降低了消 息处理设备的用户使用体验。。
另一方面,服务器向消息处理设备发送业务消息时,需要先判断该消息 处理设备是否在线,相关技术中,判断消息处理设备是否在线的方法是:通 过消息处理设备向服务器发出的固定时间间隔的心跳探测信息,根据接收到 的心跳信息判断消息处理设备是否在线。
然而,不同地域、不同用户的营业高峰和低峰并不相同,在业务高峰期, 对判断消息处理设备是否在线的及时性和准确性的要求更高,因为当业务高 峰期时,服务器接收到的业务消息数量巨大,当不能及时确定消息处理设备 在线时,服务器将会对接收到的消息进行存储,等接收到心跳消息时(即消 息处理设备在线),便向消息处理设备发送存储的所有业务消息,而服务器 在高峰期的业务消息的存储量必然巨大,若直接一次向消息处理设备发送大 量的业务消息,必然造成消息处理设备卡顿的现象;在业务低峰期,服务器 接收到的业务消息必然很少,此时就不需要消息处理设备一直在线,即允许 消息处理设备发送心跳消息的时间间隔增大。
因此,以固定时间间隔发送心跳的方法,存在业务高峰期时,不能及时 判断消息处理器是否在线的问题,也存在业务低峰期时,不能智能的增大时 间间隔,而无法实现节约用户资源的问题。
本发明提供的消息发送方法,可应用于餐饮商户。如图2所示,从业务 架构图上看,系统分成三部分,从上到下依次是具体的业务方(例如外卖对 象、扫码点餐、会员操作和移动支付等)、消息通道(即服务器)和收银客 户端(即消息处理设备),并且以扫码点餐的业务场景进行举例,具体实施 方式如下:图1是根据一实施例示出的一种消息发送方法的通信环境示意图。 参照图1,该实施环境包括:消息处理设备100、服务器200以及消息发送 通道300。其中,消息发送通道300包括消息发送通道1、消息发送通道2…… 消息发送通道n。服务器200可以与一个或者多个消息发送通道300连接, 消息处理设备100可以与一个或者多个消息发送通道300连接。
服务器200与消息处理设备100和消息发送通道300分别通信连接,其 中,连接方式可以是有线连接,或者是无线连接。
消息处理设备100可以是手机、平板或其它搭载短信模块的设备,例如: 搭载GMS(Global System for Mobile Communications,全球移动通信系统) 模块的设备,或者搭载GPRS(General Packet Radio Service,通用分组无 线服务技术)模块的设备。消息处理设备100可通过有线网络或无线网络访 问服务器200。
服务器200可以是一台服务器,也可以是由若干台服务器组成的服务器 集群,或者是一个云计算服务中心。
多个消息发送通道300由代理商分配,当服务器200向消息处理设备100 发送信息时,通过多个消息发送通道300中的任意一个消息发送通道300向 消息处理设备100发送信息。
本实施例第一方面,为解决上述问题中的由单通道进行多条消息串联重 复发送时,导致消息处理设备接收消息时出现卡顿的问题,本申请提供了一 种消息发送方法,应用于服务器,所述服务器与消息处理设备通过多条消 息发送通道通信连接,如图3所示,本申请的消息发送方法包括以下步骤:
所述消息处理设备与消息推送服务器通过多条消息发送通道通信连接。 具体实施时,如图6所示,消息处理设备(即收银客户端)向消息推送服务 器发送登录校验,消息推送服务器确认消息处理设备成功登录后,返回登录 结果。
S1011:根据所述消息处理设备的硬件参数值,确定所述多条消息发送 通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
需要说明的是,获取消息处理设备的硬件参数值的方式可为多种,本发 明针对该方法不做限定,其中,一种可选的方式:在消息处理设备登陆时, 服务器直接根据登陆信息,获取硬件参数值,或者,在其他时机获取消息处 理设备的硬件参数值,例如:与消息处理设备初次通信连接时,再或者,消 息处理设备在初次登录时,服务器获取并存储该消息处理设备的硬件参数, 以供第二次登录时,服务器可根据消息处理设备的标识,从存储的历史记录 中直接提取对应消息处理设备的硬件信息。
具体实施时,服务器通过上述获取方法,获取消息处理设备的硬件信息, 主要是cpu核心数量和主频。在一实施例中,该步骤中的确定所述多条消息 发送通道的数量的确定方法,可按照以下公式确定所述多条消息发送通道的 数量;
Figure RE-GDA0002498775710000101
其中,N表示所述多条消息发送通道的数量,且为大于等于1的整数, 并且,当通道数量的计算结果小于1,则设置通道数等于1,即计算结果的 取值为大于计算结果的最近整数。
S1012:在接收到所述消息处理设备发送的连接请求时,响应于所述连 接请求,将所述多条消息发送通道的状态均初始化为空闲状态。
具体实施时,服务器在接收到消息处理设备发送的连接请求时,返回响 应于所述连接请求的确认连接结果,并将服务器确定与该消息处理器对应的 多条消息发送通道的状态均初始化为空闲状态,处于空闲状态的消息发送通 道即可用于待发送消息的发送。
S1013:自初始化时刻起,每次接收到所述消息处理设备发送的心跳消 息时,检测是否存在待发送消息。
先判断消息处理设备是否在线,具体实施时,服务器通过接收消息处理 设备发送的心跳信息,确定消息处理设备是否在线。如果消息处理设备在线, 服务器通过多条消息发送通道中的处于空闲状态的第一消息发送通道,将待 发送消息发送至消息处理设备;如果消息处理设备不在线,服务器对待发送 消息进行存储,当该消息处理设备在线时,再通过处于空闲状态的第一消息 发送通道,将存储的待发送消息发送至消息处理设备。
具体实施时,自初始化时刻起,服务器每次接收到消息处理设备发送的 心跳消息时,检测该服务器中是否存储有待发送消息,即是否存在待发送消 息的待发送消息等待发送的等待发送状态。
S101:通过所述多条消息发送通道中处于空闲状态的第一消息发送通 道,向所述消息处理设备进行本次消息发送。
在一实施例中,如图6所示,在检测到服务器中存在待发送消息5时, 将所述待发送消息作为本次消息发送的对象,通过处于空闲状态的所述第一 消息发送通道,向所述消息处理设备发送待发送消息5。
具体实施时,服务器接收由业务方(业务服务器)发送的业务消息,对 业务消息启用智能压缩,并存储其压缩后的业务消息,并将存储的业务消息 设置为待发送消息,当服务器检测到存在待发送消息时,将待发送消息作为 本次消息发送的对象,通过处于空闲状态的第一消息发送通道,向消息处理 设备进行本次消息发送,并且,如图5所示,消息处理设备接收到业务消息 后,向服务器返回确认消息(即权利要求书和说明书中所述的确收响应)。
其中,所述本次消息发送的对象包括至少1条待发送消息。
在另一实施例中,结合图2和图5所示内容,对服务器接收到来自业务 方投递的业务消息,并对业务消息进行存储的过程进行具体解释:
步骤1,用户在餐厅吃饭,通过手机扫描桌上二维码,就可以进行点菜, 用户点菜数据会上传至扫码点餐的后台服务器上。即后台服务器接收消息数 据。
步骤2、后台服务器将接收到的消息数据设置成业务消息,并发送至服 务器。
具体实施时,扫码点餐的后台服务器(业务方)按照与收银端(消息处 理设备)预设格式(约定好的协议),将消息数据设置成业务消息并发送到 消息推送服务器端(即本发明中的服务器)。即,如图5所示,业务方将业 务消息发送至消息推送服务器(即消息通道)。
步骤3、消息推送服务器将接收到的业务消息设置为待发送消息。
具体实施时,消息推送服务器收到业务消息之后,对业务消息启用智能 压缩的方法进行压缩,设置为待发送消息并存储于消息推送服务器(即本申 请中的服务器)。
步骤4、服务器向在线的消息处理设备,通过处于空闲状态的第一消息 发送通道发送待发送消息。其中,所述第一消息发送通道可理解为如图1中 所示的消息发送通道1-N中的任意一条处于空闲状态的消息发送通道。
S1014:将所述第一消息发送通道的状态更新为占用状态。
具体实施时,在步骤S101之后,将发送待发送消息5的第一消息发送 通道的状态更新为占用状态,即在未接收到消息处理器返回的针对该第一消 息发送通道中的所有消息的确认接收的确认响应时,不能再通过该第一消息 发送通道发送其他新存储的待发送消息。
S1015:在接收到所述消息处理设备返回的对本次所发送的消息的确收 响应时,将所述第一消息发送通道的状态更新为空闲状态,以用于下一次消 息发送。
具体实施时,当消息处理设备在通过第一消息通道发送的待发送消息 后,会立即通过该第一消息发送通道返回针对该通道中的所有消息的确认接 收的确定响应。服务器在接收到所述消息处理设备返回的对本次所发送的消 息的确收响应时,将该第一消息发送通道的状态更新为空闲状态,以用于下 一次消息发送。
在另一实施例中,当服务器收到消息处理设备返回的与待发送消息对应 的确收响应之后,自动删除存储在服务器中的该待发送消息。
其中,说要说明的是,针对第一发送通道中发送的所有消息的确认响应 的返回顺序,由消息处理器接收到消息的顺序确定。
本实例结合图6所示的智能并发控制示意图,对本步骤作进一步解释说 明,以N=2为例,即发送消息的通道为两个,由两个通道向消息处理设备发 送消息,具体如下:
A、当服务器收到第一消息发送通道待发送消息5的确认响应后,将第 一消息发送通道的状态更新为空闲状态,然后将新收到的待发送消息8、9、 10和未收到确认响应的待发送消息6、7一起通过已为空闲状态的第一消息 发送通道,进行发送。即在收到了消息5的回执之后,滑动进入第2个窗口, 接着发送了消息6、7、8、9、10。
说要说明的是,消息处理设备返回确认响应的通道可以为与发送该消息 的消息发送通道,即由第一消息发送通道发送消息5,则消息处理设备通过 第一消息发送通道返回与消息5对应的确收响应。
B、参照上述A的内容,在收到了消息5、6、7的消息回执之后,进入 第3个窗口,发送了消息8、9、10、11;即服务器在收到第二消息发送通道 中消息5、6、7的全部确认响应之后,将所述第二消息发送通道的状态更新 为空闲状态,然后将新收到的消息11和未收到确认响应的消息8、9、10一 起通过已更新为空闲状态的第二消息发送通道,进行发送。
参照上述A和B的内容,进行后续的C-E的消息发送流程,以及消息发 送通道的切换,在此不作赘述。
C、在收到了6、7、8、9、10的消息确认响应之后,进入第4个窗口, 发送了消息11、12。
D、在收到了8、9、10、11的消息确认响应之后,进入第5个窗口,发 送消息12、13、14、15;
E、在收到了11、12的消息确认响应之后,进入第6个窗口,发送消息 13、14、15、16;
F、窗口随着消息的发送不断的往前推,但消息发送通道的数量一致为2。
S102:在未接收到所述消息处理设备返回的对本次所发送的消息的确收 响应时,通过所述多条消息发送通道中处于空闲状态的第二消息发送通道, 向所述消息处理设备进行下一次消息发送,所述第二消息发送通道与所述第 一消息通道不同。
在一实施例中,由于存在如下情况:当通过第一消息发送通道发送待发 送消息时,服务器就接收到新存储的待发送消息,而此时并未接收到返回的 确收响应,即该第一通道处于占用状态,不能进行第二次消息发送,因此, 为缓解消息累积导致第二次消息发送时造成的消息处理设备卡顿现象,服务 器将通过其余处于空闲状态的第二消息发送通道进行此次的消息发送。即在 未接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,通过 所述多条消息发送通道中处于空闲状态的第二消息发送通道,向所述消息处 理设备进行下一次消息发送,所述第二消息发送通道与所述第一消息通道不 同。
具体实施时,结合图6对本步骤进行解释,具体如下:
当刚由空闲状态的第一消息发送通道发送待发送消息5后,服务器又立 即接收到待发送消息6和7,而此时服务器还未接收到待发送消息5的确认 响应,则表示第一消息发送通道仍为占用状态,不能再进行消息发送,因此, 服务器通过处于空闲状态的第二消息发送通道发送待发送消息5、6、7。即 图6所示的在第1个窗口内,采用并发的形式分两次发送消息5和5、6、7。
需要说明的是,该处所述的分两次是指当收到消息5后,就由第一消息 发送通道投递,当5投递出去后,在没有收到消息5的回执信息后,又收到 了消息6和7,此时就由第二消息发送通道投递消息5、6、7,从而通过两 个通道对业务消息进行并发投递,以缓解消息处理设备接收消息卡顿的现 象。
因此,本申请在这一实施例中,本申请的服务器与消息处理设备之间建 立了多条消息发送通道,第一方面、当服务器通过某一条处于空闲状态的消 息发送通道,向消息处理设备发送一次待发送消息后,如果服务器未接收到 针对该次发送的消息的确收响应时,则可以切换到其他处于空闲状态的消息 发送通道,继续发送新接收的消息,以避免通过单通道发送消息时,出现的 上百条消息串联重复发送的问题;第二方面、服务器根据接收待发送消息的 时间先后顺序,通过多条消息发送通道分批次向消息处理设备发送多条消息,以减少服务器中待发送消息的累积数量,从而降低每条消息发送通道中 所发送的消息的数量;第三方面、服务器通过多条消息发送通道,向消息处 理设备发送消息,由于可以降低每条通道中的数量,从而减缓了消息处理设 备的积压量,使得消息处理设备可以在短时间内完成对每条消息通道中消息 的处理,避免出现卡顿的现象。
并且,针对不同配置的消息处理设备,服务器根据登录的消息处理设备 的硬件信息,设置与其硬件信息对应的消息发送通道的通道数,既保证了具 有高配置机器的大商户的体验,同时也兼顾了低配置硬件中小商户的使用, 防止不同商户的消息处理设备在接收业务消息时的卡顿现象。
本实施例第二方面,为解决上述问题中服务器不能及时准确判断消息处 理设备是否在线的问题,本申请提供了一种消息发送方法,应用于消息处理 设备,所述消息处理设备与服务器通过多条消息发送通道通信连接,如图4 所示,本申请的消息发送方法包括以下步骤:
步骤S2011:向所述服务器发送连接请求,所述连接请求携带所述消息 处理设备的硬件参数值,以确定所述多条消息发送通道的数量,其中,所述 硬件参数值至少包括:CPU核数和主频。
S201:从所述多条消息发送通道中确定当前处于空闲状态的第一目标消 息发送通道。
消息处理设备在于服务器连接成功后,服务器通过确认的多条消息发送 通道与消息处理设备进行连接,消息处理设备从所述多条消息发送通道中确 定当前处于空闲状态的第一目标消息发送通道,已接收通过第一消息发送通 达发送的待发送消息。
步骤S2012:确定最小时长的时间间隔和最大时长的时间间隔,以得到 所述至少两种不同时长的时间间隔。
具体实施时,消息处理设备提前确定心跳发送的最小时长的时间间隔和 最大时长的时间间隔,以得到所述至少两种不同时长的时间间隔。如图8所 示的预设时间间隔序列的流程图,根据不同商户的业务峰值,为不同商户设 置一套或多套预设时间间隔序列,设置方法为:设置起始的最小时长的心跳 间隔、最大时长的心跳间隔、心跳变化的步伐、每个区间心跳重复次数,这 些参数可以根据实际情况进行动态配置。例如,确定连接成功后首次发送心 跳的最小时长的时间间隔为30s,第N次发送心跳的最大时长的时间间隔为70s。其中,N为大于1的整数。
其中,每套预设时间间隔序列中的时间间隔、重复次数以及变化步伐等 设置信息,可根据不同用户的实际业务峰期进行自主设置。例如,消息发送 量较大,即高峰期时,可设置一套时间间隔较短、重复次数较多的预设时间 间隔序列,又例如消息发送量较少,即低峰期时,可设置一套时间间隔较长、 重复次数较少的预设时间间隔序列。
步骤S2013:确定每种时长的时间间隔的重复次数和相邻两个时间间隔 的步长,以得到所述预设时间间隔序列。
具体实施时,消息处理设备,确定每种时长的时间间隔的重复次数和相 邻两个时间间隔的步长,以得到所述预设时间间隔序列。例如,确定最小时 长的时间间隔为30s,每个心跳间隔重复次数为3次,即前3次发送心跳的 时长间隔都是30s;确定相邻两个时间间隔的心跳增加步长为15s,例如, 当确定最小时长的时间间隔为30s时,第二时间时长的时间间隔为45s(即 30s+15s=45s),当重复次数确定为3次时,时间间隔为45s的时间时长的时 间间隔重复3次。该例子在发送心跳时的预设时间间隔序列,具体可以理解 为30s、30s、30s、45s、45s、45s。
步骤S2014:自发送所述连接请求的发送时刻起,按照预设时间间隔序 列,向所述服务器发送心跳消息,所述预设时间间隔序列至少包括:两种不 同时长的时间间隔。
具体实施时,如图5所示,消息处理设备按照预设时间间隔序列,发送 心跳消息至服务器,服务器根据接收到的心跳确认消息处理设备在线,并返 回已接收到心跳的心跳结果(发送心跳的目的是检测服务端与消息处理设备 之间的通道是否中断)。
具体实施时,如图8所示,消息处理设备按照预设时间间隔序列,向所 述服务器发送心跳消息的具体执行步骤如下:
(1)消息处理设备与与服务器通过多条消息发送通道通信连接后,当 消息处理设备在向服务器首次发送心跳消息后,间隔30s再次向服务器发送 心跳信息,即第一次心跳的间隔30秒,之后的2次发送心跳消息的心跳间 隔都是30秒。例如:10点整发送心跳消息1,10点零30秒发送心跳消息2, 10点零1分发送心跳消息3,10点零1分30秒发送心跳消息4。
(2)根据相邻两个时间间隔的心跳增加步伐是15秒,从第4次发心跳 消息5开始,心跳间隔增加到45秒,一直到第6次都是45秒;即心跳消息 4与心跳消息5之间的心跳间隔为45s。
(3)根据相邻两个时间间隔的心跳增加步伐是15秒,从第7次开始, 将心跳间隔增加至60s,并且第7到9次,心跳间隔均为60秒;
(4)根据相邻两个时间间隔的心跳增加步伐是15秒,从第10次开始, 将心跳间隔增加至75s,并且第10到12次,心跳间隔均为75秒;
(5)当按照该预设时间间隔序列执行到最大时长的时间间隔后,若不 需重置预设时间间隔序列,则直接将当前处于的最长时间间隔清零,重新从 第1次,30秒开始循环;若需重置预设时间间隔序列,则按照重置的预设时 间间隔序列发送心跳信息。
步骤S2015:在按照预设时间间隔序列,向所述服务器发送心跳消息期 间,检测是否接收到所述服务器发送的重置提示和/或所述服务器通过当前 处于空闲状态的第二消息发送通道所发送的第二目标消息。
在一实施例中,当执行上述步骤S1013时,当服务器检测到存储空间中 存在待发送消息时,立即将待发送消息的状态更新为等待发送状态,并向消 息处理器发送重置预设时间间隔序列的重置提示。而消息处理设备在按照预 设时间间隔序列,向所述服务器发送心跳消息期间,会不断的自我检测是否 接收到所述服务器发送的所述重置提示。
另一实施例中,在执行上述步骤S102时,所述服务器通过当前处于空 闲状态的第二消息发送通道,向所述消息处理设备进行下一次消息发送,即 所述服务器向消息处理设备发送第二目标消息。而消息处理设备在按照预设 时间间隔序列,向所述服务器发送心跳消息期间,会不断的自我检测是否接 收到所述第二目标消息。
需要说明的是,当消息处理设备检测到重置提示和/或第二目标消息时, 则表示,此时处于业务高峰期,待发送消息的数量增多,因此需要消息处理 设备进行自动重置发送心跳消息的预设时间间隔序列,以满足用户的业务需 求,减少因消息累积发送而造成的消息处理设备卡顿的现象。
步骤S2016:在接收到所述重置提示和/或所述第二目标消息时,重置所 述预设时间间隔序列。
具体实施时,当消息处理器接收到所述重置提示和/或所述第二目标消 息时,自动将清除预设时间间隔序列,并将当前的时间间隔清零,然后重置 预设时间间隔序列,并按照重置的预设时间间隔序列进行心跳信息的发送。
在一实施例中,如图8所示,在第1到第12次区间范围内,如果消息 处理设备接收到服务器发送的重置提示时,该预设时间间隔序列中的时间间 隔立即清零,然后重置预设时间间隔序列,自重置时刻起,按照重置后的预 设时间间隔序列,向所述消息推送服务器发送心跳消息,若只存在一套预设 时间间隔序列,则针对该序列进行时间间隔清零处理,然后从该序列的最小 时长的时间间隔的第1次、30秒开始循环。
另一实施例中,如图8所示,在第1到第12次区间范围内,如果消息 处理设备,接收到服务器通过当前处于空闲状态的第二消息发送通道所发送 的第二目标消息时,该算法立马清零,然后重置预设时间间隔序列,自重置 时刻起,按照重置后的预设时间间隔序列,向所述消息推送服务器发送心跳 消息,若只存在一套预设时间间隔序列,则针对该序列进行时间间隔清零处 理,然后从该序列的最小时长的时间间隔的第1次、30秒开始循环。
其中,该实施例中所述的重置的预设时间间隔序列可理解为:系统预先 根据该系统的消息发送量的高低峰值,设置的至少一套预设时间间隔序列。 当预设时间间隔序列只为一套时,所述将当前的时间间隔清零后,发送心跳 的时间间隔从该预设时间间隔序列的初始的最小时长的时间间隔开始,按照 该预设时间间隔序列进行重新的心跳消息发送。
步骤S2017:自重置时刻起,按照重置后的预设时间间隔序列,向所述 服务器发送心跳消息。
S202:在接收到所述服务器通过所述第一目标消息发送通道所发送的第 一目标消息时,通过所述目标消息通道向所述服务器返回对所述第一目标消 息的确收响应。
本发明的所有实施例中,所述步骤的实施顺序可以根据实际操作需要进 行调整。本实例应用于消息处理设备。
因此,本申请在这一实施例中,本发明针对固定时间间隔的心跳,提供 了一种可调可控的发送心跳消息的方法,让不同峰值的商户拥有不同的心跳 间隔,保证了业务高峰期对网络判断的高准确率,业务低峰期降低对服务器 和消息处理设备的负载压力。
基于与上述实施例同一发明构思,本公开实施例的第三方面,提供了一 种消息发送装置400,如图8所示,应用于服务器,所述服务器与消息处理 设备通过多条消息发送通道通信连接,所述消息发送装置400装置包括:
第一发送模块401,用于通过所述多条消息发送通道中处于空闲状态的 第一消息发送通道,向所述消息处理设备进行本次消息发送;
第二发送模块402,用于在未接收到所述消息处理设备返回的对本次所 发送的消息的确收响应时,通过所述多条消息发送通道中处于空闲状态的第 二消息发送通道,向所述消息处理设备进行下一次消息发送,所述第二消息 发送通道与所述第一消息通道不同。
可选地,所述消息发送装置400还包括:
第一更新模块,用于将所述第一消息发送通道的状态更新为占用状态;
第二更新模块,用于在接收到所述消息处理设备返回的对本次所发送的 消息的确收响应时,将所述第一消息发送通道的状态更新为空闲状态,以用 于下一次消息发送。
可选地,所述消息发送装置400还包括:
第一初始化模块,用于在接收到所述消息处理设备发送的连接请求时, 响应于所述连接请求,将所述多条消息发送通道的状态均初始化为空闲状 态;
第一检测模块,用于自初始化时刻起,每次接收到所述消息处理设备发 送的心跳消息时,检测是否存在待发送消息;
所述第一发送模块401,包括:
第一发送子模块,用于在检测到存在待发送消息时,将所述待发送消息 作为本次消息发送的对象,通过所述第一消息发送通道,向所述消息处理设 备进行本次消息发送。
可选地,所述消息发送装置400还包括:
第三发送模块,用于在检测到存在待发送消息时,向所述消息处理设备 发送重置提示,以提示所述消息处理设备重置用于发送心跳消息的预设时间 间隔序列。
可选地,所述消息发送装置400还包括:
第一确定模块,用于根据所述消息处理设备的硬件参数值,确定所述多 条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
可选地,所述第一确定模块401包括:
第一确定子模块:用于按照以下公式确定所述多条消息发送通道的数 量;
Figure BDA0002418264570000201
其中,N表示所述多条消息发送通道的数量,且为大于等于1的整数。
本公开实施例的第四方面,提供了一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行本公开上述应用于服务器的消息发送方 法所执行的操作。
本公开实施例的第五方面,提供了一种非临时性计算机可读存储介质, 当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一 种以实现本公开上述应用于服务器的消息发送方法所执行的操作。
本公开实施例的第六方面,提供了一种消息发送装置500,如图9所示, 应用于消息处理设备,所述消息处理设备与服务器通过多条消息发送通道通 信连接,所述消息发送装置500包括:
第二确定模块501,用于从所述多条消息发送通道中确定当前处于空闲 状态的第一目标消息发送通道;
返回确收响应模块502,用于在接收到所述服务器通过所述第一目标消 息发送通道所发送的第一目标消息时,通过所述目标消息通道向所述服务器 返回对所述第一目标消息的确收响应。
可选地,所述消息发送装置500还包括:
第四发送模块,用于向所述服务器发送连接请求,所述连接请求携带所 述消息处理设备的硬件参数值,以确定所述多条消息发送通道的数量,其中, 所述硬件参数值至少包括:CPU核数和主频。
可选地,所述消息发送装置500还包括:
第五发送模块,用于自发送所述连接请求的发送时刻起,按照预设时间 间隔序列,向所述服务器发送心跳消息,所述预设时间间隔序列至少包括: 两种不同时长的时间间隔。
可选地,所述消息发送装置500还包括:
第三确定模块,用于确定最小时长的时间间隔和最大时长的时间间隔, 以得到所述至少两种不同时长的时间间隔;
第四确定模块,用于确定每种时长的时间间隔的重复次数和相邻两个时 间间隔的步长,以得到所述预设时间间隔序列。
可选地,所述消息发送装置500还包括:
第二检测模块,用于在按照预设时间间隔序列,向所述服务器发送心跳 消息期间,检测是否接收到所述服务器发送的重置提示和/或所述服务器通 过当前处于空闲状态的第二消息发送通道所发送的第二目标消息;
重置模块,用于在接收到所述重置提示和/或所述第二目标消息时,重 置所述预设时间间隔序列;
第六发送模块,用于自重置时刻起,按照重置后的预设时间间隔序列, 向所述服务器发送心跳消息。
本公开实施例的第七方面,提供了一种消息处理设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行本公开上述应用于消息处理设备的消息 发送方法所执行的操作。
本公开实施例的第八方面,提供了一种非临时性计算机可读存储介质, 当所述存储介质中的指令由消息处理设备的处理器执行时,使得消息处理设 备能够执行一种以实现本公开上述应用于消息处理设备的消息发送方法所 执行的操作。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明 的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见 即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装 置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全 软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例 可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介 质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序 产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计 算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令 实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图 中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专 用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一 个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指 令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个 方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读 存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设 备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计 算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用 于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指 定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦 得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以, 所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所 有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语 仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求 或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术 语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而 使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物 品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终 端设备中还存在另外的相同要素。
以上对本发明所提供的一种消息发送方法、装置、消息处理设备、服务 器以及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理 及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法 及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在 具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应 理解为对本发明的限制。

Claims (26)

1.一种消息发送方法,其特征在于,应用于服务器,所述服务器与消息处理设备通过多条消息发送通道通信连接,所述方法包括:
通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送;
在未接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,通过所述多条消息发送通道中处于空闲状态的第二消息发送通道,向所述消息处理设备进行下一次消息发送,所述第二消息发送通道与所述第一消息通道不同。
2.根据权利要求1所述的消息发送方法,其特征在于,在通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送之后,所述方法还包括:
将所述第一消息发送通道的状态更新为占用状态;
在接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,将所述第一消息发送通道的状态更新为空闲状态,以用于下一次消息发送。
3.根据权利要求1所述的消息发送方法,其特征在于,在通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送之前,所述方法还包括:
在接收到所述消息处理设备发送的连接请求时,响应于所述连接请求,将所述多条消息发送通道的状态均初始化为空闲状态;
自初始化时刻起,每次接收到所述消息处理设备发送的心跳消息时,检测是否存在待发送消息;
通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送,包括:
在检测到存在待发送消息时,将所述待发送消息作为本次消息发送的对象,通过所述第一消息发送通道,向所述消息处理设备进行本次消息发送。
4.根据权利要求3所述的消息发送方法,其特征在于,在检测是否存在待发送消息之后,还包括:
在检测到存在待发送消息时,向所述消息处理设备发送重置提示,以提示所述消息处理设备重置用于发送心跳消息的预设时间间隔序列。
5.根据权利要求1-4任一所述的消息发送方法,其特征在于,在通过所述多条消息发送通道中处于空闲状态的第一消息发送通道之前,所述方法还包括:
根据所述消息处理设备的硬件参数值,确定所述多条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
6.根据权利要求5所述的消息发送方法,其特征在于,根据所述消息处理设备的硬件参数值,确定所述多条消息发送通道的数量,包括:
按照以下公式确定所述多条消息发送通道的数量;
Figure FDA0002418264560000021
其中,N表示所述多条消息发送通道的数量,且为大于等于1的整数。
7.一种消息发送方法,其特征在于,应用于消息处理设备,所述消息处理设备与服务器通过多条消息发送通道通信连接,所述方法包括:
从所述多条消息发送通道中确定当前处于空闲状态的第一目标消息发送通道;
在接收到所述服务器通过所述第一目标消息发送通道所发送的第一目标消息时,通过所述目标消息通道向所述服务器返回对所述第一目标消息的确收响应。
8.根据权利要求7所述的方法,其特征在于,在从所述多条消息发送通道中确定当前处于空闲状态的第一目标消息发送通道之前,所述方法还包括:
向所述服务器发送连接请求,所述连接请求携带所述消息处理设备的硬件参数值,以确定所述多条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
9.根据权利要求8所述的方法,其特征在于,在向所述服务器发送连接请求之后,所述方法还包括:
自发送所述连接请求的发送时刻起,按照预设时间间隔序列,向所述服务器发送心跳消息,所述预设时间间隔序列至少包括:两种不同时长的时间间隔。
10.根据权利要求9所述的方法,其特征在于,在按照预设时间间隔序列,向所述服务器发送心跳消息之前,所述方法还包括:
确定最小时长的时间间隔和最大时长的时间间隔,以得到所述至少两种不同时长的时间间隔;
确定每种时长的时间间隔的重复次数和相邻两个时间间隔的步长,以得到所述预设时间间隔序列。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
在按照预设时间间隔序列,向所述服务器发送心跳消息期间,检测是否接收到所述服务器发送的重置提示和/或所述服务器通过当前处于空闲状态的第二消息发送通道所发送的第二目标消息;
在接收到所述重置提示和/或所述第二目标消息时,重置所述预设时间间隔序列;
自重置时刻起,按照重置后的预设时间间隔序列,向所述服务器发送心跳消息。
12.一种消息发送装置,其特征在于,应用于服务器,所述服务器与消息处理设备通过多条消息发送通道通信连接,所述装置包括:
第一发送模块,用于通过所述多条消息发送通道中处于空闲状态的第一消息发送通道,向所述消息处理设备进行本次消息发送;
第二发送模块,用于在未接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,通过所述多条消息发送通道中处于空闲状态的第二消息发送通道,向所述消息处理设备进行下一次消息发送,所述第二消息发送通道与所述第一消息通道不同。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一更新模块,用于将所述第一消息发送通道的状态更新为占用状态;
第二更新模块,用于在接收到所述消息处理设备返回的对本次所发送的消息的确收响应时,将所述第一消息发送通道的状态更新为空闲状态,以用于下一次消息发送。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一初始化模块,用于在接收到所述消息处理设备发送的连接请求时,响应于所述连接请求,将所述多条消息发送通道的状态均初始化为空闲状态;
第一检测模块,用于自初始化时刻起,每次接收到所述消息处理设备发送的心跳消息时,检测是否存在待发送消息;
所述第一发送模块,包括:
第一发送子模块,用于在检测到存在待发送消息时,将所述待发送消息作为本次消息发送的对象,通过所述第一消息发送通道,向所述消息处理设备进行本次消息发送。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于在检测到存在待发送消息时,向所述消息处理设备发送重置提示,以提示所述消息处理设备重置用于发送心跳消息的预设时间间隔序列。
16.根据权利要求12-15任一所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于根据所述消息处理设备的硬件参数值,确定所述多条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
17.根据权利要求16所述的装置,其特征在于,所述第一确定模块包括:
第一确定子模块,用于按照以下公式确定所述多条消息发送通道的数量;
Figure FDA0002418264560000041
其中,N表示所述多条消息发送通道的数量,且为大于等于1的整数。
18.一种消息发送装置,其特征在于,应用于消息处理设备,所述消息处理设备与服务器通过多条消息发送通道通信连接,所述装置包括:
第二确定模块,用于从所述多条消息发送通道中确定当前处于空闲状态的第一目标消息发送通道;
返回确收响应模块,用于在接收到所述服务器通过所述第一目标消息发送通道所发送的第一目标消息时,通过所述目标消息通道向所述服务器返回对所述第一目标消息的确收响应。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第四发送模块,用于向所述服务器发送连接请求,所述连接请求携带所述消息处理设备的硬件参数值,以确定所述多条消息发送通道的数量,其中,所述硬件参数值至少包括:CPU核数和主频。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第五发送模块,用于自发送所述连接请求的发送时刻起,按照预设时间间隔序列,向所述服务器发送心跳消息,所述预设时间间隔序列至少包括:两种不同时长的时间间隔。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于确定最小时长的时间间隔和最大时长的时间间隔,以得到所述至少两种不同时长的时间间隔;
第四确定模块,用于确定每种时长的时间间隔的重复次数和相邻两个时间间隔的步长,以得到所述预设时间间隔序列。
22.根据权利要求20或21所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于在按照预设时间间隔序列,向所述服务器发送心跳消息期间,检测是否接收到所述服务器发送的重置提示和/或所述服务器通过当前处于空闲状态的第二消息发送通道所发送的第二目标消息;
重置模块,用于在接收到所述重置提示和/或所述第二目标消息时,重置所述预设时间间隔序列;
第六发送模块,用于自重置时刻起,按照重置后的预设时间间隔序列,向所述服务器发送心跳消息。
23.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至6中任一项所述的消息发送方法所执行的操作。
24.一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种以实现如权利要求1至6中任一项所述的消息发送方法所执行的操作。
25.一种消息处理设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求7至11任一所述的消息发送方法所执行的操作。
26.一种非临时性计算机可读存储介质,当所述存储介质中的指令由消息处理设备的处理器执行时,使得消息处理设备能够执行一种以实现如权利要求7至11中任一项所述的消息发送方法所执行的操作。
CN202010197851.5A 2020-03-19 2020-03-19 消息发送方法、装置、消息处理设备、服务器以及存储介质 Pending CN111526082A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010197851.5A CN111526082A (zh) 2020-03-19 2020-03-19 消息发送方法、装置、消息处理设备、服务器以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010197851.5A CN111526082A (zh) 2020-03-19 2020-03-19 消息发送方法、装置、消息处理设备、服务器以及存储介质

Publications (1)

Publication Number Publication Date
CN111526082A true CN111526082A (zh) 2020-08-11

Family

ID=71901826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010197851.5A Pending CN111526082A (zh) 2020-03-19 2020-03-19 消息发送方法、装置、消息处理设备、服务器以及存储介质

Country Status (1)

Country Link
CN (1) CN111526082A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125371A (zh) * 1994-12-23 1996-06-26 莫托罗拉以色列有限公司 具有多链路协议的数据通信系统
CN1774892A (zh) * 2003-06-18 2006-05-17 日本电信电话株式会社 无线分组通信方法
CN104122565A (zh) * 2014-07-30 2014-10-29 广州祺智通信科技股份有限公司 一种北斗rd多通道通信的实现方法
CN104519075A (zh) * 2013-09-26 2015-04-15 中兴通讯股份有限公司 一种数据传输方法及设备
CN106714294A (zh) * 2015-07-15 2017-05-24 普天信息技术有限公司 应用于智能电网的多通道tcp/ip头压缩的同步方法
CN108432188A (zh) * 2015-11-02 2018-08-21 麦索德电子有限公司 用于提高无线机车远程控制的频谱效率的方法和系统
CN109151082A (zh) * 2018-11-02 2019-01-04 郑州云海信息技术有限公司 一种多连接建立方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125371A (zh) * 1994-12-23 1996-06-26 莫托罗拉以色列有限公司 具有多链路协议的数据通信系统
CN1774892A (zh) * 2003-06-18 2006-05-17 日本电信电话株式会社 无线分组通信方法
CN104519075A (zh) * 2013-09-26 2015-04-15 中兴通讯股份有限公司 一种数据传输方法及设备
CN104122565A (zh) * 2014-07-30 2014-10-29 广州祺智通信科技股份有限公司 一种北斗rd多通道通信的实现方法
CN106714294A (zh) * 2015-07-15 2017-05-24 普天信息技术有限公司 应用于智能电网的多通道tcp/ip头压缩的同步方法
CN108432188A (zh) * 2015-11-02 2018-08-21 麦索德电子有限公司 用于提高无线机车远程控制的频谱效率的方法和系统
CN109151082A (zh) * 2018-11-02 2019-01-04 郑州云海信息技术有限公司 一种多连接建立方法、装置和系统

Similar Documents

Publication Publication Date Title
CN105677719B (zh) 应用程序的管理方法和装置
CN104253741B (zh) 一种信息发送方法、相关装置及系统
CN107612844B (zh) 一种减轻服务器脉冲压力的方法、服务器和客户端
CN106411777A (zh) 一种处理高并发数据的方法和系统
CN103262075B (zh) 用于向用户设备预提取资产的资源简档调整
CN104125134B (zh) 一种网络交互方法及装置、系统
CN104980472A (zh) 网络访问量的控制方法及装置
CN106453593B (zh) 一种消息推送方法及装置
CN105245442A (zh) 一种即时通讯im消息的传输方法及装置、系统
CN105898882A (zh) 一种数据传输方法、发送终端、接收终端及数据传输系统
CN105792153A (zh) 群发短信发送方法、终端设备和短信发送服务器
US11709900B2 (en) Automated web page accessing
CN110809170B (zh) 延时确定方法及装置、商品链接展示方法及装置和服务器
CN109756464B (zh) 一种通信方法及服务器、客户端
CN108200543B (zh) 短信发送方法和装置
CN108111591B (zh) 推送消息的方法、装置及计算机可读存储介质
US10412778B2 (en) Data transmission method and apparatus for data service
CN109863791A (zh) 用于在无线通信系统中选择接入网络的方法和装置
CN111526082A (zh) 消息发送方法、装置、消息处理设备、服务器以及存储介质
CN111815059B (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN109617988B (zh) 请求重试方法及相关产品
CN112036852A (zh) 支付处理方法、装置、服务器及电子设备
CN113824690B (zh) 控制请求的发送方法和装置、存储介质及电子装置
CN104065563A (zh) 一种即时消息的处理方法、装置及系统
CN113489786B (zh) 一种长连接网络弱网重连方法、重发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200811

RJ01 Rejection of invention patent application after publication