CN115086203A - 数据发送方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据发送方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115086203A CN115086203A CN202210675210.5A CN202210675210A CN115086203A CN 115086203 A CN115086203 A CN 115086203A CN 202210675210 A CN202210675210 A CN 202210675210A CN 115086203 A CN115086203 A CN 115086203A
- Authority
- CN
- China
- Prior art keywords
- message queue
- server
- data
- message
- mode
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 title claims description 48
- 238000001514 detection method Methods 0.000 claims abstract description 61
- 230000002159 abnormal effect Effects 0.000 claims abstract description 47
- 230000001360 synchronised effect Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据发送方法、装置、电子设备及计算机可读存储介质,涉及金融科技领域或其他相关领域。其中,该方法包括:获取消息队列的心跳信息,其中,消息队列为第一服务器向第二服务器发送数据的载体;对消息队列的可用状态进行探测,得到探测结果;根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果;基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据,其中,数据发送方式至少包括消息队列模式、同步接口模式。本发明解决了现有技术中消息队列出现异常导致消息无法正常发送的技术问题。
Description
技术领域
本发明涉及金融科技领域或其他相关领域,具体而言,涉及一种数据发送方法、装置、电子设备及计算机可读存储介质。
背景技术
随着社会的不断发展,消息的传递数量也在不断增加。消息的生产到发送给客户,是通过多个节点的协作处理来实现的。目前,在多个节点之间传递消息的过程中,采用消息队列传递模式,存在一旦消息队列无法使用,则整个消息发送链路就会出现中断,导致消息无法正常发送给客户的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据发送方法、装置、电子设备及计算机可读存储介质,以至少解决现有技术中消息队列出现异常导致消息无法正常发送的技术问题。
根据本发明实施例的一个方面,提供了一种数据发送方法,包括:获取消息队列的心跳信息,其中,消息队列为第一服务器向第二服务器发送数据的载体;对消息队列的可用状态进行探测,得到探测结果;根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果;基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据,其中,数据发送方式至少包括消息队列模式、同步接口模式。
进一步地,数据发送方法还包括:向消息队列中写入预设消息,并获取消息队列返回的写入结果,其中,写入结果表征预设消息是否写入成功;在写入结果表征预设消息写入成功时,确定消息队列处于可用状态;在写入结果表征预设消息写入失败时,统计写入失败的次数,并在第一预设时间内,若写入失败的次数达到第一阈值,则确定消息队列处于禁用状态;将消息队列处于可用状态或者消息队列处于禁用状态作为探测结果。
进一步地,数据发送方法还包括:在消息队列的心跳信息获取成功,且消息队列处于可用状态时,确定消息队列处于正常状态;在消息队列的心跳信息获取失败时,统计心跳信息的获取失败次数,并在第二预设时间内,若获取失败次数达到第二阈值,则确定消息队列处于异常状态。
进一步地,数据发送方法还包括:当判断结果表征消息队列处于正常状态时,确定第一服务器的数据发送方式为消息队列模式;当判断结果表征消息队列处于异常状态时,确定第一服务器的数据发送方式为同步接口模式。
进一步地,数据发送方法还包括:当判断结果表征消息队列处于异常状态时,向第一服务器发送提示信息,以使第一服务器通过同步接口模式发送数据,并停止向消息队列中添加数据。
进一步地,数据发送方法还包括:获取第二服务器的数据处理信息,其中,数据处理信息表征第二服务器的数据处理能力;根据第二服务器的数据处理信息确定目标数据流量,其中,目标数据流量表征第二服务器所接收的最大数据流量;控制第一服务器以第一数据流量向第二服务器发送数据,其中,第一数据流量小于或等于目标数据流量。
根据本发明实施例的另一方面,还提供了一种数据发送装置,包括:获取模块,用于获取消息队列的心跳信息,其中,消息队列为第一服务器向第二服务器发送数据的载体;探测模块,用于对消息队列的可用状态进行探测,得到探测结果;判断模块,用于根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果;确定模块,用于基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据,其中,数据发送方式至少包括消息队列模式、同步接口模式。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据发送方法。
根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据发送方法。
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的数据发送方法。
在本发明实施例中,采用通过消息队列的可用状态确定数据发送方式的方式,首先获取消息队列的心跳信息,并对消息队列的可用状态进行探测,得到探测结果,其次根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果,再基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据。其中,消息队列为第一服务器向第二服务器发送数据的载体,数据发送方式至少包括消息队列模式、同步接口模式。
在上述过程中,通过获取消息队列的心跳信息,并对消息队列的可用状态进行探测,能够为准确判断消息队列是否异常提供基础,从而根据心跳信息以及探测结果,实现对消息队列的可用状态的准确判断,进而确定出第一服务器的数据发送方式,并控制第一服务器采用确定出来的数据发送方式向第二服务器发送数据,保障了整个消息链路不中断,即当消息队列不可用时,也能继续实现消息传递的过程。
由此可见,通过本发明的技术方案,达到了整个消息链路不中断的目的,从而实现了当消息队列出现异常时,消息也能正常发送的技术效果,进而解决了现有技术中消息队列出现异常导致消息无法正常发送的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据发送方法的流程图;
图2是根据本发明实施例的一种现有的消息传递过程的示意图;
图3是根据本发明实施例的一种可选的采用同步接口模式进行数据传递的示意图;
图4是根据本发明实施例的一种可选的数据发送系统的工作过程示意图;
图5是根据本发明实施例的一种可选的采用同步接口模式进行数据传递的流量控制的示意图;
图6是根据本发明实施例的一种可选的数据发送装置的示意图;
图7是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
实施例1
根据本发明实施例,提供了一种数据发送方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的数据发送方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取消息队列的心跳信息,其中,消息队列为第一服务器向第二服务器发送数据的载体。
在上述步骤中,消息队列可以是两台计算机之间或两组服务器之间传递消息的容器,通常采用基于磁盘顺序写入的方式对消息进行存储,其中,消息可以是两台计算机之间或两组服务器之间的传送数据单位,可以是字符串、数据对象等。例如,银行要给客户发送一条手机可以接收到的短消息,具体的,短消息可以是客户的账户金额发生变化时余额变动提醒消息,该消息需要通过多个处理节点,才能到达客户的手机,多个节点之间可以通过消息队列传递消息。
可选的,在本实施例中,第一服务器可以是向消息队列中生产数据的服务器,也可以称为消息队列生产者,第二服务器可以是从消息队列中读取数据的服务器,也可以称为消息队列消费者。
可选的,可以通过应用系统、处理器、电子设备等装置获取消息队列的心跳信息,图4是根据本发明实施例的一种可选的数据发送系统的工作过程示意图,如图4所示,探测模块与消息队列连接,可以通过探测模块接收消息队列的心跳信息。其中,心跳信息可以是由消息队列生产者即第一服务器在一定的时间间隔内通过消息队列主动发出的消息,例如,每隔2秒由消息队列生产者发送一个心跳信息至探测模块。
需要说明的是,在上述过程中,通过获取消息队列的心跳信息,能够为准确判断消息队列是否异常提供数据基础,确保了对消息队列是否异常的准确判断。
步骤S102,对消息队列的可用状态进行探测,得到探测结果。
在上述步骤中,可以通过探测模块对消息队列的可用状态进行探测,具体的,由探测模块主动向消息队列发起探测指令,从而确认消息队列是否可用,即消息队列处于可用状态还是禁用状态。
需要说明的是,通过对消息队列的可用状态进行探测,进一步确保了对消息队列是否异常的准确判断。
步骤S103,根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果。
在上述步骤中,通过探测模块,并根据心跳信息以及探测结果,判断消息队列是否异常。可选的,当探测模块接收到心跳信息时,认为消息队列是正常的,当探测模块连续多次无法接收到心跳信息时,则认为消息队列是出现异常的。另外,当探测模块发出的探测指令得出的探测结果是消息队列处于可用状态时,认为消息队列是正常的,当探测模块发出的探测指令得出的探测结果是消息队列处于禁用状态时,认为消息队列是出现异常的。
需要说明的是,通过判断消息队列是否异常并得出判断结果,能够保障后续采用与判断结果相对应的数据发送方式进行数据发送过程的顺利进行。
步骤S104,基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据,其中,数据发送方式至少包括消息队列模式、同步接口模式。
在上述步骤中,根据判断结果可以确定出第一服务器的数据发送方式,并控制第一服务器采用确定出来的数据发送方式向第二服务器发送数据。具体的,当判断出消息队列是正常的,第一服务器采用消息队列模式向第二服务器发送数据;当判断出消息队列是出现异常的,第一服务器采用同步接口模式向第二服务器发送数据。
需要说明的是,基于判断结果确定第一服务器的数据发送方式,能够使第一服务器采用消息队列模式或同步接口模式向第二服务器发送数据,即在消息队列出现异常时,自动的切换到同步接口模式,使第一服务器仍然可以向第二服务器发送数据,当消息队列恢复正常后,也可以自动的切换回原有的消息队列模式,保障了整个消息链路不中断的在消息队列生产者和消息队列消费者之间继续传递消息。
基于上述步骤S101至步骤S104所限定的方案,可以获知,在本发明实施例中,采用通过消息队列的可用状态确定数据发送方式的方式,首先获取消息队列的心跳信息,并对消息队列的可用状态进行探测,得到探测结果,其次根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果,再基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据。其中,消息队列为第一服务器向第二服务器发送数据的载体,数据发送方式至少包括消息队列模式、同步接口模式。
容易注意到的是,在上述过程中,通过获取消息队列的心跳信息,并对消息队列的可用状态进行探测,能够为准确判断消息队列是否异常提供基础,从而根据心跳信息以及探测结果,实现对消息队列的可用状态的准确判断,进而确定出第一服务器的数据发送方式,并控制第一服务器采用确定出来的数据发送方式向第二服务器发送数据,保障了整个消息链路不中断,即当消息队列不可用时,也能继续实现消息传递的过程。
由此可见,通过本发明的技术方案,达到了整个消息链路不中断的目的,从而实现了当消息队列出现异常时,消息也能正常发送的技术效果,进而解决了现有技术中消息队列出现异常导致消息无法正常发送的技术问题。
在一种可选的实施例中,在对消息队列的可用状态进行探测,得到探测结果的过程中,首先向消息队列中写入预设消息,并获取消息队列返回的写入结果,在写入结果表征预设消息写入成功时,确定消息队列处于可用状态;在写入结果表征预设消息写入失败时,统计写入失败的次数,并在第一预设时间内,若写入失败的次数达到第一阈值,则确定消息队列处于禁用状态,并将消息队列处于可用状态或者消息队列处于禁用状态作为探测结果。其中,写入结果表征预设消息是否写入成功。
可选的,在对消息队列的可用状态进行探测,得到探测结果的过程中,由探测模块主动向消息队列发起探测指令,可以指模拟真实的消息传递过程,即可以向消息队列中写入预设消息,其中,预设消息可以是空消息。例如,向消息队列中写入一段空消息,消息写入后消息队列会返回该空消息是否写入成功,当返回的是写入成功时,可以确定消息队列处于可用状态;如果在一定时间内,连续多次返回写入失败,则可以确定消息队列处于禁用状态,即消息队列不可用。另外,将消息队列处于可用状态或者消息队列处于禁用状态作为探测结果。
需要说明的是,通过向消息队列中写入预设消息,并获取消息队列返回的写入结果,能够实现对消息队列处于可用状态或者消息队列处于禁用状态的准确确定,为后续根据消息队列的状态采用相对应的数据发送方式提供了基础。
在一种可选的实施例中,在根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果的过程中,在消息队列的心跳信息获取成功,且消息队列处于可用状态时,确定消息队列处于正常状态,在消息队列的心跳信息获取失败时,统计心跳信息的获取失败次数,并在第二预设时间内,若获取失败次数达到第二阈值,则确定消息队列处于异常状态。
可选的,当探测模块成功接收到消息队列发送的心跳信息,并且根据探测指令得出的探测结果是消息队列处于可用状态时,可以确定消息队列处于正常状态;当探测模块未能成功接收到消息队列发送的心跳信息时,对接受失败的次数进行统计,当一定时间内,统计的失败次数达到了阈值,可以确定消息队列处于异常状态,例如,选取预设时间为1分钟,失败次数的阈值为50次,那么,当在1分钟时间内,统计的失败次数达到50次时,就可以确定消息队列处于异常状态。
需要说明的是,通过统计心跳信息的获取失败次数,能够对消息队列是否异常做出判断,进一步保障了后续根据消息队列的状态采用相对应的数据发送方式的过程的顺利进行。
在一种可选的实施例中,在基于判断结果确定第一服务器的数据发送方式的过程中,当判断结果表征消息队列处于正常状态时,确定第一服务器的数据发送方式为消息队列模式,当判断结果表征消息队列处于异常状态时,确定第一服务器的数据发送方式为同步接口模式。
可选的,图2是根据本发明实施例的一种现有的消息传递过程的示意图,当消息队列处于正常状态时,数据发送方式即消息的传递方式可以为如图2所示的消息队列模式;图3是根据本发明实施例的一种可选的采用同步接口模式进行数据传递的示意图,当消息队列处于异常状态时,数据发送方式即消息的传递方式可以为如图3所示的同步接口模式,例如,可以采用http接口实现消息的传递。如图3所示,同步接口位于所有的消息队列生产者节点(即消费接受节点)和所有的消息队列消费者节点上,同步接口之间相互连接,通过同步的方式发送消息。例如,消息接收节点1的同步接口与消息模板加工节点1的同步接口相连接,消息接收节点向消息模板加工节点发送消息,并等待消息模板加工节点的返回,只有接收到成功或失败时,两个节点之间的连接才会断开。
需要说明的是,针对不同的消息队列状态采用不同的数据发送方式,保障了整个消息链路不中断,即当消息队列不可用时,也能继续实现消息传递的过程。
在一种可选的实施例中,在基于判断结果确定第一服务器的数据发送方式之后,当判断结果表征消息队列处于异常状态时,向第一服务器发送提示信息,以使第一服务器通过同步接口模式发送数据,并停止向消息队列中添加数据。
可选的,如图4所示,通知模块与消息链路的各个消息队列生产者节点连接,同时与探测模块连接,当探测模块探测到消息队列处于异常状态时,探测模块传递探测结果给通知模块,通知模块通知所有消息队列生产者节点,使得消息队列生产者节点不再向消息队列中生产消息,改为由同步接口模式传递。同理,当探测模块探测到消息队列已恢复可用时,探测模块传递探测结果给通知模块,通知模块通知所有消息队列生产者节点,使得消息队列生产者节点恢复到原有消息队列发送模式。
需要说明的是,在基于判断结果确定第一服务器的数据发送方式之后,通过通知模块告知所有的消息队列生产者应该使用哪种方式发送数据,能够使消息队列生产者及时切换数据发送方式,从而提升了数据发送的效率,进而提升了消息传递的效率。
在一种可选的实施例中,在确定第一服务器的数据发送方式为同步接口模式之后,首先获取第二服务器的数据处理信息,再根据第二服务器的数据处理信息确定目标数据流量,并控制第一服务器以第一数据流量向第二服务器发送数据。其中,目标数据流量表征第二服务器所接收的最大数据流量,数据处理信息表征第二服务器的数据处理能力,第一数据流量小于或等于目标数据流量。
可选的,图5是根据本发明实施例的一种可选的采用同步接口模式进行数据传递的流量控制的示意图,如图5所示,流量控制模块与消息队列生产者的所有同步接口模块相连,控制消息队列生产者发送的流量。可选的,根据消息队列消费者的处理能力对流量进行设置,例如,在采用同步接口模式发送数据时,消息队列消费者可以处理的最大数据流量为100个节点,在消息队列生产者即第一服务器向消息队列消费者即第二服务器发送数据时,控制数据流量不超过100个节点即可。此外,还可以自定义多套限流方案,例如,消息队列消费者集群的服务器较多并且性能容量较好时,流量控制模块通过提升目标数据流量来减少对流量的控制,从而增大消息的吞吐量。
需要说明的是,通过控制第一服务器以第一数据流量向第二服务器发送数据,实现了对消息队列生产者即第一服务器的数据发送流量的控制,从而增强整个消息链路的可用性与稳定性。
由此可见,通过本发明的技术方案,达到了整个消息链路不中断的目的,从而实现了当消息队列出现异常时,消息也能正常发送的技术效果,进而解决了现有技术中消息队列出现异常导致消息无法正常发送的技术问题。
实施例2
根据本发明实施例,提供了一种数据发送装置的实施例,其中,图6是根据本发明实施例的一种可选的数据发送装置的示意图,如图6所示,该装置包括:获取模块601,用于获取消息队列的心跳信息,其中,消息队列为第一服务器向第二服务器发送数据的载体;探测模块602,用于对消息队列的可用状态进行探测,得到探测结果;判断模块603,用于根据心跳信息以及探测结果,判断消息队列是否异常,得到判断结果;确定模块604,用于基于判断结果确定第一服务器的数据发送方式,并控制第一服务器采用数据发送方式向第二服务器发送数据,其中,数据发送方式至少包括消息队列模式、同步接口模式。
需要说明的是,上述获取模块601、探测模块602、判断模块603以及确定模块604对应于上述实施例中的步骤S101至步骤S104,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,探测模块包括:写入模块,用于向消息队列中写入预设消息,并获取消息队列返回的写入结果,其中,写入结果表征预设消息是否写入成功;第一确定模块,用于在写入结果表征预设消息写入成功时,确定消息队列处于可用状态;第一统计模块,用于在写入结果表征预设消息写入失败时,统计写入失败的次数,并在第一预设时间内,若写入失败的次数达到第一阈值,则确定消息队列处于禁用状态;第二确定模块,用于将消息队列处于可用状态或者消息队列处于禁用状态作为探测结果。
可选的,判断模块包括:第三确定模块,用于在消息队列的心跳信息获取成功,且消息队列处于可用状态时,确定消息队列处于正常状态;第二统计模块,用于在消息队列的心跳信息获取失败时,统计心跳信息的获取失败次数,并在第二预设时间内,若获取失败次数达到第二阈值,则确定消息队列处于异常状态。
可选的,数据发送装置还包括:第四确定模块,用于当判断结果表征消息队列处于正常状态时,确定第一服务器的数据发送方式为消息队列模式;第五确定模块,用于当判断结果表征消息队列处于异常状态时,确定第一服务器的数据发送方式为同步接口模式。
可选的,数据发送装置还包括:提示模块,用于当判断结果表征消息队列处于异常状态时,向第一服务器发送提示信息,以使第一服务器通过同步接口模式发送数据,并停止向消息队列中添加数据。
可选的,数据发送装置还包括:信息获取模块,用于获取第二服务器的数据处理信息,其中,数据处理信息表征第二服务器的数据处理能力;第六确定模块,用于根据第二服务器的数据处理信息确定目标数据流量,其中,目标数据流量表征第二服务器所接收的最大数据流量;控制模块,用于控制第一服务器以第一数据流量向第二服务器发送数据,其中,第一数据流量小于或等于目标数据流量。
实施例3
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的数据发送方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图7是根据本发明实施例的一种可选的电子设备的示意图,如图7所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的数据发送方法。
实施例5
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的数据发送方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据发送方法,其特征在于,包括:
获取消息队列的心跳信息,其中,所述消息队列为第一服务器向第二服务器发送数据的载体;
对所述消息队列的可用状态进行探测,得到探测结果;
根据所述心跳信息以及所述探测结果,判断所述消息队列是否异常,得到判断结果;
基于所述判断结果确定所述第一服务器的数据发送方式,并控制所述第一服务器采用所述数据发送方式向所述第二服务器发送数据,其中,所述数据发送方式至少包括消息队列模式、同步接口模式。
2.根据权利要求1所述的方法,其特征在于,对所述消息队列的可用状态进行探测,得到探测结果,包括:
向所述消息队列中写入预设消息,并获取所述消息队列返回的写入结果,其中,所述写入结果表征所述预设消息是否写入成功;
在所述写入结果表征所述预设消息写入成功时,确定所述消息队列处于可用状态;
在所述写入结果表征所述预设消息写入失败时,统计写入失败的次数,并在第一预设时间内,若所述写入失败的次数达到第一阈值,则确定所述消息队列处于禁用状态;
将所述消息队列处于可用状态或者所述消息队列处于禁用状态作为所述探测结果。
3.根据权利要求2所述的方法,其特征在于,根据所述心跳信息以及所述探测结果,判断所述消息队列是否异常,得到判断结果,包括:
在所述消息队列的心跳信息获取成功,且所述消息队列处于可用状态时,确定所述消息队列处于正常状态;
在所述消息队列的心跳信息获取失败时,统计所述心跳信息的获取失败次数,并在第二预设时间内,若所述获取失败次数达到第二阈值,则确定所述消息队列处于异常状态。
4.根据权利要求3所述的方法,其特征在于,基于所述判断结果确定所述第一服务器的数据发送方式,包括:
当所述判断结果表征所述消息队列处于所述正常状态时,确定所述第一服务器的数据发送方式为所述消息队列模式;
当所述判断结果表征所述消息队列处于所述异常状态时,确定所述第一服务器的数据发送方式为所述同步接口模式。
5.根据权利要求4所述的方法,其特征在于,在基于所述判断结果确定所述第一服务器的数据发送方式之后,所述方法还包括:
当所述判断结果表征所述消息队列处于所述异常状态时,向所述第一服务器发送提示信息,以使所述第一服务器通过所述同步接口模式发送数据,并停止向消息队列中添加数据。
6.根据权利要求5所述的方法,其特征在于,在确定所述第一服务器的数据发送方式为同步接口模式之后,所述方法还包括:
获取所述第二服务器的数据处理信息,其中,所述数据处理信息表征所述第二服务器的数据处理能力;
根据所述第二服务器的数据处理信息确定目标数据流量,其中,所述目标数据流量表征所述第二服务器所接收的最大数据流量;
控制所述第一服务器以第一数据流量向所述第二服务器发送数据,其中,所述第一数据流量小于或等于所述目标数据流量。
7.一种数据发送装置,其特征在于,包括:
获取模块,用于获取消息队列的心跳信息,其中,所述消息队列为第一服务器向第二服务器发送数据的载体;
探测模块,用于对所述消息队列的可用状态进行探测,得到探测结果;
判断模块,用于根据所述心跳信息以及所述探测结果,判断所述消息队列是否异常,得到判断结果;
确定模块,用于基于所述判断结果确定所述第一服务器的数据发送方式,并控制所述第一服务器采用所述数据发送方式向所述第二服务器发送数据,其中,所述数据发送方式至少包括消息队列模式、同步接口模式。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的数据发送方法。
9.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至6任一项中所述的数据发送方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至6中任一项所述的数据发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210675210.5A CN115086203B (zh) | 2022-06-15 | 2022-06-15 | 数据发送方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210675210.5A CN115086203B (zh) | 2022-06-15 | 2022-06-15 | 数据发送方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086203A true CN115086203A (zh) | 2022-09-20 |
CN115086203B CN115086203B (zh) | 2024-03-08 |
Family
ID=83252017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210675210.5A Active CN115086203B (zh) | 2022-06-15 | 2022-06-15 | 数据发送方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086203B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550280A (zh) * | 2022-11-24 | 2022-12-30 | 云账户技术(天津)有限公司 | 多级消息队列实现方法、系统、电子设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器系统 |
CN108259236A (zh) * | 2018-01-08 | 2018-07-06 | 北京值得买科技股份有限公司 | 服务器数据处理方法及系统 |
CN110808874A (zh) * | 2019-10-25 | 2020-02-18 | 北京大米科技有限公司 | 一种跨机房服务监控方法、装置、存储介质及服务器 |
CN111190745A (zh) * | 2019-11-05 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
-
2022
- 2022-06-15 CN CN202210675210.5A patent/CN115086203B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器系统 |
CN108259236A (zh) * | 2018-01-08 | 2018-07-06 | 北京值得买科技股份有限公司 | 服务器数据处理方法及系统 |
CN110808874A (zh) * | 2019-10-25 | 2020-02-18 | 北京大米科技有限公司 | 一种跨机房服务监控方法、装置、存储介质及服务器 |
CN111190745A (zh) * | 2019-11-05 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550280A (zh) * | 2022-11-24 | 2022-12-30 | 云账户技术(天津)有限公司 | 多级消息队列实现方法、系统、电子设备和可读存储介质 |
CN115550280B (zh) * | 2022-11-24 | 2023-03-31 | 云账户技术(天津)有限公司 | 多级消息队列实现方法、系统、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115086203B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111091429B (zh) | 电子票据标识分配方法及装置、电子票据生成系统 | |
CN103460203B (zh) | 群集唯一标识符 | |
CN113641511B (zh) | 一种消息通信方法和装置 | |
US9049241B2 (en) | Peer discovery and secure communication in failover schemes | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN104158707A (zh) | 一种检测并处理集群脑裂的方法和装置 | |
CN107729515B (zh) | 一种数据同步的方法、装置及存储介质 | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN102882704A (zh) | 一种issu的软重启升级过程中的链路保护方法和设备 | |
CN110677282A (zh) | 一种分布式系统的热备份方法及分布式系统 | |
CN114265753A (zh) | 消息队列的管理方法、管理系统和电子设备 | |
CN115086203A (zh) | 数据发送方法、装置、电子设备及计算机可读存储介质 | |
CN114500546B (zh) | 基于负载均衡集群的通信消息发送方法、装置及设备 | |
CN109194521B (zh) | 一种流量转发方法及设备 | |
US8799212B2 (en) | Repository synchronization in a ranked repository cluster | |
CN102984739A (zh) | 故障信息处理方法及装置 | |
CN110351122B (zh) | 容灾方法、装置、系统与电子设备 | |
US9491132B2 (en) | System and method for providing push service for reducing network loads | |
US20160261476A1 (en) | Message system for avoiding processing-performance decline | |
CN111901174B (zh) | 一种服务状态通知的方法、相关装置及存储介质 | |
CN115276844A (zh) | 通信模组的测试方法、装置及电子设备 | |
CN113014404B (zh) | 一种消息传输方法、装置、服务器以及第二客户端 | |
CN110716827A (zh) | 适用于分布式系统的热备份方法及分布式系统 | |
CN115086153B (zh) | 消息处理系统、消息处理方法、设备和存储介质 | |
CN110740151A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |