CN110149368A - 基于中间服务器的心跳包发送方法、装置和计算机设备 - Google Patents

基于中间服务器的心跳包发送方法、装置和计算机设备 Download PDF

Info

Publication number
CN110149368A
CN110149368A CN201910319043.9A CN201910319043A CN110149368A CN 110149368 A CN110149368 A CN 110149368A CN 201910319043 A CN201910319043 A CN 201910319043A CN 110149368 A CN110149368 A CN 110149368A
Authority
CN
China
Prior art keywords
heartbeat
terminal
request
time interval
packet
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
CN201910319043.9A
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910319043.9A priority Critical patent/CN110149368A/zh
Publication of CN110149368A publication Critical patent/CN110149368A/zh
Priority to PCT/CN2019/119220 priority patent/WO2020211373A1/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • 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/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请揭示了一种基于中间服务器的心跳包发送方法、装置、计算机设备和存储介质,所述方法包括:接收消费终端发送的对指定终端的心跳订阅请求,心跳订阅请求携带有心跳检测时间间隔信息;统计发送心跳订阅请求的消费终端的数量,并判断发送心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;若发送心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向指定终端发送心跳包获取要求;接收指定终端根据所述心跳包获取要求发送的心跳包;根据心跳检测时间间隔信息规定的时间间隔,将心跳包发送给所述发送所述心跳订阅请求的消费终端。从而利用中间服务器统一管理心跳包,减少心跳开销,减少心跳管理的消耗成本。

Description

基于中间服务器的心跳包发送方法、装置和计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于中间服务器的心跳包发送方法、装置、计算机设备和存储介质。
背景技术
在网络信息传输中,心跳机制是定时发送一个自定义的结构体(心跳包,心跳信息),使需要保持通信连接的双方能确切得知对方是否处于活跃状态,以确保连接的有效性的机制,其中心跳状态分为静止(即异常)或者活动(即正常)。现有技术多采用http连接的形式,即被检测方通过http接口发送心跳包,检测方通过http接口接收心跳包。在这种现有技术下,当存在多个被检测方与多个检测方时,进行心跳检测时会存在多个http连接,因此会造成大量的心跳开销(其中,心跳开销即是指采用心跳机制-即用于探知对方是否处于活跃状态-时花费的计算资源、网络资源等开销),不利于资源节省,不利于数据管理。因此现有技术亟需一种能够实现进行心跳检测时减少心跳开销、便于管理的技术方案。
发明内容
本申请的主要目的为提供一种基于中间服务器的心跳包发送方法、装置、计算机设备和存储介质,旨在利用中间服务器统一管理心跳包,减少心跳开销,减少心跳管理的消耗成本。
为了实现上述发明目的,本申请提出一种基于中间服务器的心跳包发送方法,包括以下步骤:
接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
接收所述指定终端根据所述心跳包获取要求发送的心跳包;
根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
进一步地,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之前,包括:
判断所述指定终端是否存在于预设的提供心跳服务列表中;
若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;
若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
进一步地,所述权限用户的权限分为多个级别,所述若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户的步骤,包括:
若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;
通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;
判断所述消费终端的权限级别对应的终端是否包括所述指定终端;
若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
进一步地,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之后,包括:
若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;
向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
进一步地,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:
将所述心跳包下发至预设的消息中间件;
根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
进一步地,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:
根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;
若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
进一步地,所述根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常的步骤,包括:
根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;
若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
本申请提供一种基于中间服务器的心跳包发送装置,包括:
心跳订阅请求接收单元,用于接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
心跳订阅数量阈值判断单元,用于统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
心跳包获取要求发送单元,用于若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
心跳包接收单元,用于接收所述指定终端根据所述心跳包获取要求发送的心跳包;
心跳包发送单元,用于根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于中间服务器的心跳包发送方法、装置、计算机设备和存储介质,通过接收消费终端发送的对指定终端的心跳订阅请求,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端,即利用中间服务器的方式,使消费终端仅需与中间服务器对接、而指定终端也仅需与中间服务器对接,从而避免了传统技术“当存在m个被检测方与n个检测方时,进行心跳检测时会存在高达m乘以n个通信连接,因此会造成大量的心跳开销”(而本申请仅需要m+n个通信连接),并且中间服务器可以采用统一通信协议,从而更进一步节省心跳开销并且减少管理的消耗成本。
附图说明
图1为本申请一实施例的基于中间服务器的心跳包发送方法的流程示意图;
图2为本申请一实施例的基于中间服务器的心跳包发送装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于中间服务器的心跳包发送方法,包括以下步骤:
S1、接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
S2、统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
S3、若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
S4、接收所述指定终端根据所述心跳包获取要求发送的心跳包;
S5、根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上述步骤S1所述,中间服务器接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息。在网络信息传输中,心跳机制是定时发送一个自定义的结构体(心跳包,心跳信息),让对方知道自己还活着,以确保连接的有效性的机制,其中心跳状态分为静止(即异常)或者活动(即正常)。本申请的心跳检测即是利用心跳包来检测指定终端是否异常。本实施方式中的心跳包可以为任意心跳包,例如包中包括有时间戳、心跳间隔、服务IP等信息的心跳包。所述消费终端指消费指定终端的服务的终端,即指与所述指定终端存在信息交互的终端,所述消费终端例如为PC终端、手机终端等任意终端。所述指定终端指与所述消费终端存在信息交互的终端或者服务器终器,例如社交软件服务器、天气信息提供服务器等。所述心跳订阅请求指根据心跳检测时间间隔信息获取指定终端的心跳包的请求。其中,所述消费终端与所述指定终端是相对而言的,即当某一终端(或者服务器)要求另一终端(或者服务器)心跳检测时,所述某一终端(或者服务器)即为消费终端,相应的,所述另一终端(或者服务器)即为指定终端;反之,所述某一终端(或者服务器)即为指定终端,相应的,所述另一终端(或者服务器)即为消费终端。
如上述步骤S2所述,统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值。现有技术中的心跳机制是消费终端与指定终端之间进行直接心跳检测,这种心跳检测每次均需要通过http请求来完成心跳包的发送与接收,当消费终端的数量很多时,心跳检测的开销会使指定终端难以忍受。因此本实施方式通过统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值,从而确定所述指定终端是否能够忍受现有技术的心跳检测的开销,若不能忍受,则利用中间服务器中转,而不必针对不同的消费终端分别发送心跳包,若能忍受,则直接采用通过http请求来完成心跳包的发送与接收即可。其中,判断所述指定终端是否能够忍受现有技术的心跳检测的开销的方式是通过判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值来实现。
如上述步骤S3所述,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求。如前述,可知若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,表明所述指定终端不能忍受现有技术的心跳检测的开销,那么可以通过中间服务器中转心跳包。据此,中间服务器向所述指定终端发送心跳包获取要求,从而要求所述指定终端发送心跳包。
如上述步骤S4所述,接收所述指定终端根据所述心跳包获取要求发送的心跳包。指定终端发送的心跳包可以是间隔预定时间发送,所述预定时间可以由所述指定终端设置,或者可以由所述指定终端根据所述中间服务器的要求设置的预定时间而设置,或者可以由所述指定终端根据所述心跳订阅请求携带的心跳检测时间间隔信息而设置。据此,接收到心跳包。
如上述步骤S5所述,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。由于消费终端发送的对指定终端的心跳订阅请求中携带有心跳检测时间间隔信息,即消费终端要求了心跳检测时间间隔,因此将心跳包依照所述心跳检测时间间隔进行发送,即可完成心跳包发送。而接收心跳包的消费终端根据所述心跳包,即可完成心跳检测,以确定指定终端的状态(异常或是正常),再根据指定终端的状态决定后续指令(例如指定终端异常,则断开所述与指定终端的连接,或者再次验证登陆帐号等)。并且本申请采用来自于消费终端的心跳检测时间间隔信息规定的时间间隔,首先使中间服务器不必设置时间间隔从而减少了步骤流程,提高了效率;并且由于消费终端自身设置的心跳检测时间间隔信息更适应于消费终端自身,因此不同的消费终端能够实现不同的并且最妥帖的时间时隔,从而使心跳检测的方式更加灵活。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤S2之前,包括:
S201、判断所述指定终端是否存在于预设的提供心跳服务列表中;
S202、若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;
S203、若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
如上所述,实现了判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值。本实施方式通过判断所述指定终端是否存在于预设的提供心跳服务列表中,从而判断是否能够与所述指定终端实现心跳信息交互,再将消费终端分为有权限和没权限两类,只允许有权限的消费终端订阅心跳,从而实现分级化管理,也能降低中间服务器的压力。其中,提供心跳服务列表中预存了能够提供心跳包的终端。其中,判断所述消费终端的登陆用户是否为权限用户可以为任意方式,例如通过判断所述消费终端的登陆用户是否存在于预设的权限列表中。
在一个实施方式中,所述权限用户的权限分为多个级别,所述若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户的步骤S202,包括:
S2021、若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;
S2022、通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;
S2023、判断所述消费终端的权限级别对应的终端是否包括所述指定终端;
S2024、若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
如上所述,实现了判断所述消费终端的登陆用户是否为权限用户。本实施方式将权限用户的权限分为多个级别,进一步实现分级管理。例如对于预设的最高级权限用户,允许其对预设的提供心跳服务列表中的所有服务器订阅心跳信息;对于低级权限用户,只允许其对预设的提供心跳服务列表中的常用的部分服务器订阅心跳信息。其中确定所述权限用户的权限,通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端。若所述指定终端与所述消费终端的登陆用户的权限匹配(即权限足够),则判定所述消费终端的登陆用户为权限用户。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤S2之后,包括:
S21、若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;
S22、向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
如上所述,实现了拒绝所述消费终端发送的心跳订阅请求。预设的心跳订阅数量阈值反应了指定终端对于心跳开销的忍受标准值。当发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值时,表明所述指定终端可以忍受采用现有技术的心跳检测的开销,因此消费终端直接向指定终端要求心跳包即可,无需通过中间服务器。因此拒绝所述消费终端发送的心跳订阅请求,然后向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤S5,包括:
S501、将所述心跳包下发至预设的消息中间件;
S502、根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上所述,实现了根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。本实施方式中利用预设的消息中间件发送心跳包。其中消息中间件(例如MQ消息队列服务(Message Queue,简称MQ))是一种可部署于服务器的应用,用于保证异构应用之间的消息传递,通过MQ接口进行互连通信,可以不必关心网络上的通信细节。因此心跳包会在消息中间件中进行排队,等待被发送给消费终端。由于消费终端一般需要的是最新的心跳包,因此只需从所述消息中间件中最近一次接收到的心跳包(若指定终端发送心跳包的频率较高,则会出现在一个所述心跳检测时间间隔信息规定的时间间隔内,接收到多个心跳包的情况)发送给所述消费终端,即可完成心跳包发送过程。进一步地,还可以将所述消息中间件中的所有心跳包均发送给消费终端。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤S5,包括:
S511、根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;
S512、若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上所述,实现了发送心跳包。现有技术一般只由终端本身进行判断心跳是否异常,即需要终端先接收心跳包,再借由心跳包判断指定终端是否异常。本实施方式却是先由中间服务器执行判断所述指定终端是否异常的流程,从而在发送心跳包给消费终端前即可得到指定终端是否异常,相较于现有技术,更加快捷,节省时间,尤其适宜时效性要求高的情境。因此,若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。进一步地,所述消费终端还能利用心跳包进一步核实中间服务器的判断结论是否准确。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常的步骤S511,包括:
S5111、根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;
S5112、若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
如上所述,实现了根据预设的心跳异常判断规则,判断所述指定终端是否异常。本实施方式采用的预设的心跳异常判断规则为:当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔。若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,判定指定终端异常;若当前时间-最后一次接收心跳包的时间的差值不大于2×所述心跳检测时间间隔信息规定的时间间隔,判定指定终端正常。
本申请的基于中间服务器的心跳包发送方法,通过接收消费终端发送的对指定终端的心跳订阅请求,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端,从而实现了利用中间服务器统一管理心跳包,减少了消费终端与指定终端的心跳开销,减少了管理的消耗成本。
参照图2,本申请实施例提供一种基于中间服务器的心跳包发送装置,包括:
心跳订阅请求接收单元10,用于接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
心跳订阅数量阈值判断单元20,用于统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
心跳包获取要求发送单元30,用于若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
心跳包接收单元40,用于接收所述指定终端根据所述心跳包获取要求发送的心跳包;
心跳包发送单元50,用于根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上述单元10所述,中间服务器接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息。在网络信息传输中,心跳机制是定时发送一个自定义的结构体(心跳包,心跳信息),让对方知道自己还活着,以确保连接的有效性的机制,其中心跳状态分为静止(即异常)或者活动(即正常)。本申请的心跳检测即是利用心跳包来检测指定终端是否异常。本实施方式中的心跳包可以为任意心跳包,例如包中包括有时间戳、心跳间隔、服务IP等信息的心跳包。所述消费终端指消费指定终端的服务的终端,即指与所述指定终端存在信息交互的终端,所述消费终端例如为PC终端、手机终端等任意终端。所述指定终端指与所述消费终端存在信息交互的终端或者服务器终器,例如社交软件服务器、天气信息提供服务器等。所述心跳订阅请求指根据心跳检测时间间隔信息获取指定终端的心跳包的请求。其中,所述消费终端与所述指定终端是相对而言的,即当某一终端(或者服务器)要求另一终端(或者服务器)心跳检测时,所述某一终端(或者服务器)即为消费终端,相应的,所述另一终端(或者服务器)即为指定终端;反之,所述某一终端(或者服务器)即为指定终端,相应的,所述另一终端(或者服务器)即为消费终端。
如上述单元20所述,统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值。现有技术中的心跳机制是消费终端与指定终端之间进行直接心跳检测,这种心跳检测每次均需要通过http请求来完成心跳包的发送与接收,当消费终端的数量很多时,心跳检测的开销会使指定终端难以忍受。因此本实施方式通过统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值,从而确定所述指定终端是否能够忍受现有技术的心跳检测的开销,若不能忍受,则利用中间服务器中转,而不必针对不同的消费终端分别发送心跳包,若能忍受,则直接采用通过http请求来完成心跳包的发送与接收即可。其中,判断所述指定终端是否能够忍受现有技术的心跳检测的开销的方式是通过判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值来实现。
如上述单元30所述,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求。如前述,可知若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,表明所述指定终端不能忍受现有技术的心跳检测的开销,那么可以通过中间服务器中转心跳包。据此,中间服务器向所述指定终端发送心跳包获取要求,从而要求所述指定终端发送心跳包。
如上述单元40所述,接收所述指定终端根据所述心跳包获取要求发送的心跳包。指定终端发送的心跳包可以是间隔预定时间发送,所述预定时间可以由所述指定终端设置,或者可以由所述指定终端根据所述中间服务器的要求设置的预定时间而设置,或者可以由所述指定终端根据所述心跳订阅请求携带的心跳检测时间间隔信息而设置。据此,接收到心跳包。
如上述单元50所述,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。由于消费终端发送的对指定终端的心跳订阅请求中携带有心跳检测时间间隔信息,即消费终端要求了心跳检测时间间隔,因此将心跳包依照所述心跳检测时间间隔进行发送,即可完成心跳包发送。而接收心跳包的消费终端根据所述心跳包,即可完成心跳检测,以确定指定终端的状态(异常或是正常),再根据指定终端的状态决定后续指令(例如指定终端异常,则断开所述与指定终端的连接,或者再次验证登陆帐号等)。并且本申请采用来自于消费终端的心跳检测时间间隔信息规定的时间间隔,首先使中间服务器不必设置时间间隔从而减少了步骤流程,提高了效率;并且由于消费终端自身设置的心跳检测时间间隔信息更适应于消费终端自身,因此不同的消费终端能够实现不同的并且最妥帖的时间时隔,从而使心跳检测的方式更加灵活。
在一个实施方式中,所述装置,包括:
提供心跳服务列表判断单元,用于判断所述指定终端是否存在于预设的提供心跳服务列表中;
权限用户判断单元,用于若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;
触发单元,用于若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
如上所述,实现了判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值。本实施方式通过判断所述指定终端是否存在于预设的提供心跳服务列表中,从而判断是否能够与所述指定终端实现心跳信息交互,再将消费终端分为有权限和没权限两类,只允许有权限的消费终端订阅心跳,从而实现分级化管理,也能降低中间服务器的压力。其中,提供心跳服务列表中预存了能够提供心跳包的终端。其中,判断所述消费终端的登陆用户是否为权限用户可以为任意方式,例如通过判断所述消费终端的登陆用户是否存在于预设的权限列表中。
在一个实施方式中,所述权限用户判断子单元,包括:
登陆用户名获取模块,用于若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;
权限级别获知模块,用于通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;
权限级别对应的终端判断模块,用于判断所述消费终端的权限级别对应的终端是否包括所述指定终端;
权限用户判定模块,用于若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
如上所述,实现了判断所述消费终端的登陆用户是否为权限用户。本实施方式将权限用户的权限分为多个级别,进一步实现分级管理。例如对于预设的最高级权限用户,允许其对预设的提供心跳服务列表中的所有服务器订阅心跳信息;对于低级权限用户,只允许其对预设的提供心跳服务列表中的常用的部分服务器订阅心跳信息。其中确定所述权限用户的权限,通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端。若所述指定终端与所述消费终端的登陆用户的权限匹配(即权限足够),则判定所述消费终端的登陆用户为权限用户。
在一个实施方式中,所述装置,包括:
心跳订阅请求拒绝单元,用于若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;
发送建议信息单元,用于向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
如上所述,实现了拒绝所述消费终端发送的心跳订阅请求。预设的心跳订阅数量阈值反应了指定终端对于心跳开销的忍受标准值。当发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值时,表明所述指定终端可以忍受采用现有技术的心跳检测的开销,因此消费终端直接向指定终端要求心跳包即可,无需通过中间服务器。因此拒绝所述消费终端发送的心跳订阅请求,然后向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
在一个实施方式中,所述心跳包发送单元50,包括:
消息中间件下发子单元,用于将所述心跳包下发至预设的消息中间件;
心跳包发送子单元,用于根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上所述,实现了根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。本实施方式中利用预设的消息中间件发送心跳包。其中消息中间件(例如MQ消息队列服务(Message Queue,简称MQ))是一种可部署于服务器的应用,用于保证异构应用之间的消息传递,通过MQ接口进行互连通信,可以不必关心网络上的通信细节。因此心跳包会在消息中间件中进行排队,等待被发送给消费终端。由于消费终端一般需要的是最新的心跳包,因此只需从所述消息中间件中最近一次接收到的心跳包(若指定终端发送心跳包的频率较高,则会出现在一个所述心跳检测时间间隔信息规定的时间间隔内,接收到多个心跳包的情况)发送给所述消费终端,即可完成心跳包发送过程。进一步地,还可以将所述消息中间件中的所有心跳包均发送给消费终端。
在一个实施方式中,所述心跳包发送单元50,包括:
心跳异常判断子单元,用于根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;
异常的信息发送子单元,用于若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
如上所述,实现了发送心跳包。现有技术一般只由终端本身进行判断心跳是否异常,即需要终端先接收心跳包,再借由心跳包判断指定终端是否异常。本实施方式却是先由中间服务器执行判断所述指定终端是否异常的流程,从而在发送心跳包给消费终端前即可得到指定终端是否异常,相较于现有技术,更加快捷,节省时间,尤其适宜时效性要求高的情境。因此,若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。进一步地,所述消费终端还能利用心跳包进一步核实中间服务器的判断结论是否准确。
在一个实施方式中,所述心跳异常判断子单元,包括:
时间间隔判断模块,用于根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;
异常判定模块,用于若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
如上所述,实现了根据预设的心跳异常判断规则,判断所述指定终端是否异常。本实施方式采用的预设的心跳异常判断规则为:当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔。若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,判定指定终端异常;若当前时间-最后一次接收心跳包的时间的差值不大于2×所述心跳检测时间间隔信息规定的时间间隔,判定指定终端正常。
本申请的基于中间服务器的心跳包发送装置,通过接收消费终端发送的对指定终端的心跳订阅请求,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端,从而实现了利用中间服务器统一管理心跳包,减少了消费终端与指定终端的心跳开销,减少了管理的消耗成本。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于中间服务器的心跳包发送方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于中间服务器的心跳包发送方法。
上述处理器执行上述基于中间服务器的心跳包发送方法,包括以下步骤:接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;接收所述指定终端根据所述心跳包获取要求发送的心跳包;根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之前,包括:判断所述指定终端是否存在于预设的提供心跳服务列表中;若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
在一个实施方式中,所述权限用户的权限分为多个级别,所述若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户的步骤,包括:若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;判断所述消费终端的权限级别对应的终端是否包括所述指定终端;若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之后,包括:若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:将所述心跳包下发至预设的消息中间件;根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常的步骤,包括:根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,通过接收消费终端发送的对指定终端的心跳订阅请求,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端,从而实现了利用中间服务器统一管理心跳包,减少了消费终端与指定终端的心跳开销,减少了管理的消耗成本。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于中间服务器的心跳包发送方法,包括以下步骤:接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;接收所述指定终端根据所述心跳包获取要求发送的心跳包;根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之前,包括:判断所述指定终端是否存在于预设的提供心跳服务列表中;若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
在一个实施方式中,所述权限用户的权限分为多个级别,所述若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户的步骤,包括:若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;判断所述消费终端的权限级别对应的终端是否包括所述指定终端;若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
在一个实施方式中,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之后,包括:若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:将所述心跳包下发至预设的消息中间件;根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
在一个实施方式中,所述根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常的步骤,包括:根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
本申请的计算机可读存储介质,通过接收消费终端发送的对指定终端的心跳订阅请求,若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求,根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端,从而实现了利用中间服务器统一管理心跳包,减少了消费终端与指定终端的心跳开销,减少了管理的消耗成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于中间服务器的心跳包发送方法,其特征在于,包括:
接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
接收所述指定终端根据所述心跳包获取要求发送的心跳包;
根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
2.根据权利要求1所述的基于中间服务器的心跳包发送方法,其特征在于,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之前,包括:
判断所述指定终端是否存在于预设的提供心跳服务列表中;
若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户;
若所述消费终端的登陆用户为权限用户,则触发所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤。
3.根据权利要求2所述的基于中间服务器的心跳包发送方法,其特征在于,所述权限用户的权限分为多个级别,所述若所述指定终端存在于预设的提供心跳服务列表中,判断所述消费终端的登陆用户是否为权限用户的步骤,包括:
若所述指定终端存在于预设的提供心跳服务列表中,则获取所述消费终端的登陆用户名;
通过在预存的权限用户列表中查询所述消费终端的登陆用户名,以获知所述消费终端的权限级别,所述权限用户列表包括用户名、权限级别和权限级别对应的终端;
判断所述消费终端的权限级别对应的终端是否包括所述指定终端;
若所述消费终端的权限级别对应的终端包括所述指定终端,则判定所述消费终端的登陆用户为权限用户。
4.根据权利要求1所述的基于中间服务器的心跳包发送方法,其特征在于,所述统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值的步骤之后,包括:
若发送所述心跳订阅请求的消费终端的数量不大于预设的心跳订阅数量阈值,则拒绝所述消费终端发送的心跳订阅请求;
向所述消费终端发送建议直接从所述指定终端获取心跳包的信息。
5.根据权利要求1所述的基于中间服务器的心跳包发送方法,其特征在于,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:
将所述心跳包下发至预设的消息中间件;
根据所述心跳检测时间间隔信息规定的时间间隔,将所述消息中间件中最近一次接收到的心跳包发送给所述发送所述心跳订阅请求的消费终端。
6.根据权利要求1所述的基于中间服务器的心跳包发送方法,其特征在于,所述根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端的步骤,包括:
根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常;
若所述指定终端异常,则将指定终端异常的信息与所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
7.根据权利要求6所述的基于中间服务器的心跳包发送方法,其特征在于,所述根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,根据预设的心跳异常判断规则,判断所述指定终端是否异常的步骤,包括:
根据所述心跳检测时间间隔信息规定的时间间隔,在当前时间之后的第一个发送心跳包的时间点,判断当前时间-最后一次接收心跳包的时间的差值是否大于2×所述心跳检测时间间隔信息规定的时间间隔;
若当前时间-最后一次接收心跳包的时间的差值大于2×所述心跳检测时间间隔信息规定的时间间隔,则判定所述指定终端异常。
8.一种基于中间服务器的心跳包发送装置,其特征在于,包括:
心跳订阅请求接收单元,用于接收消费终端发送的对指定终端的心跳订阅请求,所述心跳订阅请求携带有心跳检测时间间隔信息;
心跳订阅数量阈值判断单元,用于统计发送所述心跳订阅请求的消费终端的数量,并判断发送所述心跳订阅请求的消费终端的数量是否大于预设的心跳订阅数量阈值;
心跳包获取要求发送单元,用于若发送所述心跳订阅请求的消费终端的数量大于预设的心跳订阅数量阈值,则向所述指定终端发送心跳包获取要求;
心跳包接收单元,用于接收所述指定终端根据所述心跳包获取要求发送的心跳包;
心跳包发送单元,用于根据所述心跳检测时间间隔信息规定的时间间隔,将所述心跳包发送给所述发送所述心跳订阅请求的消费终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910319043.9A 2019-04-19 2019-04-19 基于中间服务器的心跳包发送方法、装置和计算机设备 Pending CN110149368A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910319043.9A CN110149368A (zh) 2019-04-19 2019-04-19 基于中间服务器的心跳包发送方法、装置和计算机设备
PCT/CN2019/119220 WO2020211373A1 (zh) 2019-04-19 2019-11-18 基于中间服务器的心跳包发送方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910319043.9A CN110149368A (zh) 2019-04-19 2019-04-19 基于中间服务器的心跳包发送方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN110149368A true CN110149368A (zh) 2019-08-20

Family

ID=67589662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910319043.9A Pending CN110149368A (zh) 2019-04-19 2019-04-19 基于中间服务器的心跳包发送方法、装置和计算机设备

Country Status (2)

Country Link
CN (1) CN110149368A (zh)
WO (1) WO2020211373A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602188A (zh) * 2019-08-30 2019-12-20 延锋伟世通电子科技(上海)有限公司 基于dds中间件的数据分发方法
CN110768873A (zh) * 2019-10-31 2020-02-07 广州酷旅旅行社有限公司 分布式心跳检测方法、系统、装置和计算机设备
WO2020211373A1 (zh) * 2019-04-19 2020-10-22 平安科技(深圳)有限公司 基于中间服务器的心跳包发送方法、装置和计算机设备
CN113114538A (zh) * 2021-04-19 2021-07-13 中国工商银行股份有限公司 一种心跳检测方法及装置
CN113612624A (zh) * 2021-06-29 2021-11-05 济南浪潮数据技术有限公司 一种节点之间心跳处理方法及装置
CN114205270A (zh) * 2020-09-17 2022-03-18 北京三快在线科技有限公司 设备状态确定方法、装置、存储介质及电子设备
CN114221884A (zh) * 2021-11-18 2022-03-22 新华三技术有限公司合肥分公司 心跳报文的订阅方法及装置
CN114342447A (zh) * 2019-09-06 2022-04-12 上海诺基亚贝尔股份有限公司 管理用于通信监督的通知

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506702B (zh) * 2020-12-03 2024-02-23 平安科技(深圳)有限公司 数据中心容灾方法、装置、设备及存储介质
US11418942B2 (en) 2020-12-22 2022-08-16 T-Mobile Usa, Inc. Protecting a user data repository (UDR) from over-accumulation of subscription requests in a standalone 5G network
CN112714026A (zh) * 2021-01-21 2021-04-27 广州朗国电子科技有限公司 一种mqtt协议消费者的集群方法、装置及储存介质
CN115087087A (zh) * 2021-03-15 2022-09-20 中国电信股份有限公司 业务同步方法、双卡终端及非瞬时性计算机可读存储介质
CN114785846B (zh) * 2022-03-23 2024-05-24 南京邮电大学 一种基于ProtoBuf协议的心跳监控方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156870A1 (en) * 2005-12-30 2007-07-05 Microsoft Corporation Heartbeat subscriptions
US20140122710A1 (en) * 2011-07-01 2014-05-01 Huawei Technologies Co., Ltd Method for sending heartbeat message and heartbeat proxy server
CN105933199A (zh) * 2016-04-08 2016-09-07 武汉斗鱼网络科技有限公司 一种保持心跳连接的方法与网关及聊天服务器
CN107222371A (zh) * 2017-08-04 2017-09-29 北京奇艺世纪科技有限公司 一种客户端心跳监测方法和系统
US20170302556A1 (en) * 2016-04-19 2017-10-19 International Business Machines Corporation Managing connections for data communications using heartbeat messaging
CN108055651A (zh) * 2017-11-14 2018-05-18 华中科技大学 一种基于d2d技术的移动终端设备心跳包转发方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302370B2 (en) * 2003-11-17 2007-11-27 Oracle International Corporation System and method for managing browser sessions in single and multi-server workflow environments
CN108509280B (zh) * 2018-04-23 2022-05-31 南京大学 一种基于推送模型的分布式计算集群本地性调度方法
CN110149368A (zh) * 2019-04-19 2019-08-20 平安科技(深圳)有限公司 基于中间服务器的心跳包发送方法、装置和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156870A1 (en) * 2005-12-30 2007-07-05 Microsoft Corporation Heartbeat subscriptions
US20140122710A1 (en) * 2011-07-01 2014-05-01 Huawei Technologies Co., Ltd Method for sending heartbeat message and heartbeat proxy server
CN105933199A (zh) * 2016-04-08 2016-09-07 武汉斗鱼网络科技有限公司 一种保持心跳连接的方法与网关及聊天服务器
US20170302556A1 (en) * 2016-04-19 2017-10-19 International Business Machines Corporation Managing connections for data communications using heartbeat messaging
CN107222371A (zh) * 2017-08-04 2017-09-29 北京奇艺世纪科技有限公司 一种客户端心跳监测方法和系统
CN108055651A (zh) * 2017-11-14 2018-05-18 华中科技大学 一种基于d2d技术的移动终端设备心跳包转发方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020211373A1 (zh) * 2019-04-19 2020-10-22 平安科技(深圳)有限公司 基于中间服务器的心跳包发送方法、装置和计算机设备
CN110602188A (zh) * 2019-08-30 2019-12-20 延锋伟世通电子科技(上海)有限公司 基于dds中间件的数据分发方法
CN114342447A (zh) * 2019-09-06 2022-04-12 上海诺基亚贝尔股份有限公司 管理用于通信监督的通知
CN114342447B (zh) * 2019-09-06 2023-08-29 上海诺基亚贝尔股份有限公司 管理用于通信监督的通知
CN110768873A (zh) * 2019-10-31 2020-02-07 广州酷旅旅行社有限公司 分布式心跳检测方法、系统、装置和计算机设备
CN110768873B (zh) * 2019-10-31 2021-08-10 广州酷旅旅行社有限公司 分布式心跳检测方法、系统、装置和计算机设备
CN114205270B (zh) * 2020-09-17 2023-09-22 北京三快在线科技有限公司 设备状态确定方法、装置、存储介质及电子设备
CN114205270A (zh) * 2020-09-17 2022-03-18 北京三快在线科技有限公司 设备状态确定方法、装置、存储介质及电子设备
CN113114538A (zh) * 2021-04-19 2021-07-13 中国工商银行股份有限公司 一种心跳检测方法及装置
CN113612624B (zh) * 2021-06-29 2023-01-06 济南浪潮数据技术有限公司 一种节点之间心跳处理方法及装置
CN113612624A (zh) * 2021-06-29 2021-11-05 济南浪潮数据技术有限公司 一种节点之间心跳处理方法及装置
CN114221884A (zh) * 2021-11-18 2022-03-22 新华三技术有限公司合肥分公司 心跳报文的订阅方法及装置
CN114221884B (zh) * 2021-11-18 2023-12-26 新华三技术有限公司合肥分公司 心跳报文的订阅方法及装置

Also Published As

Publication number Publication date
WO2020211373A1 (zh) 2020-10-22

Similar Documents

Publication Publication Date Title
CN110149368A (zh) 基于中间服务器的心跳包发送方法、装置和计算机设备
US9143380B2 (en) System and method for third party specified generation of web server content
US9641508B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium
US7836088B2 (en) Relationship-based processing
CN110351283B (zh) 一种数据传输方法、装置、设备及存储介质
CN101156407B (zh) 通过通信网络提供内容的方法
US20040058644A1 (en) Relay device, information transmission device, and information transmission method
CN101730999B (zh) 用于在通信设备之间共享公共位置相关信息的系统、方法及设备
US20070285502A1 (en) Techniques for automatically setting up communications
EP1662817B1 (en) System and method for providing information on a manner of communicating
JP2002073561A (ja) 通信網を介してアクセスするユーザの認証方法及び認証システム、並びに、これらを利用した情報処理システム
CN103532833A (zh) 一种业务系统访问方法、终端及代理服务系统
CN108810025A (zh) 一种暗网的安全性评估方法、服务器及计算机可读介质
CN109117609A (zh) 一种请求拦截方法及装置
US9106596B2 (en) Method and apparatus of configuring a data broadcast service
WO2002017098A1 (en) Apparatus and method for connecting and serving a data using wireless terminal
CN112241544B (zh) 业务系统、访问方法、装置、计算机设备和存储介质
JP2004153420A (ja) 携帯端末のアドレス帳インデックス作成・管理システム,方法,サーバおよびプログラム
CA2835193A1 (en) Email address and telephone number unification systems and methods
US20220345880A1 (en) Message communication device and message communication program
KR100860227B1 (ko) 무선 일정 관리 방법
US9898714B2 (en) System and method for a direct social network
KR100889732B1 (ko) 개방형 서비스 게이트웨이를 사용하는 어플리케이션 서버의통지 수신 방법
JP2004080187A (ja) 管理サーバ及びプログラム
JP4140728B2 (ja) 管理サーバ及びプログラム

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190820