CN110489216B - 利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 - Google Patents
利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 Download PDFInfo
- Publication number
- CN110489216B CN110489216B CN201910603149.1A CN201910603149A CN110489216B CN 110489216 B CN110489216 B CN 110489216B CN 201910603149 A CN201910603149 A CN 201910603149A CN 110489216 B CN110489216 B CN 110489216B
- Authority
- CN
- China
- Prior art keywords
- thread
- reconnection
- destination
- rabbitmq
- address
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000903 blocking effect Effects 0.000 claims abstract description 30
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了利用Windows API调用解除RabbitMQ‑C库阻塞的方法和系统,该方法在重连线程,通过检测RabbitMQ是否离线,执行重连,并把系统当前时间记录到上次重连成功时间变量中,判定线程,系统发生离线时,重复判断系统第一当前时间与在重连线程最后一次记录的上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统当前时间与上次执行检测时间的差值;在解除阻塞线程,获取连接所需的目的IP地址和目的端口,并与当前相对比,如果一致,则终止连接。本发明可以在出现因网络不稳定而导致库内阻塞的情况下,通过调用Windows系统API解除阻塞条件、维持系统网络通信的正常。
Description
技术领域
本发明属于计算机软件技术领域,特别涉及利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统。
背景技术
RabbitMQ是一种实现了AMQP协议的消息中间件,可以实现可靠的消息传输,然而,由于种种原因,RabbitMQ库的C语言实现,的客户端部分,在发生重新登陆时,可能会发生永久性阻塞。经过源码机制分析,RabbitMQ-C库在重连时,会发起对服务器回复的无时间限制请求。这一机制在大多数情况下是可靠的,但对于一些运行于恶劣复杂网络环境中的软件,这一机制可能导致相关线程的无限制等待,即实际上的线程无限制阻塞。
在传统情况下,对于这一问题的处理,往往采用重开线程的方式。即判定网络连接不通时,不论是否已存在登陆等待线程,都重开线程执行重登录操作。这种方法确实可以绕开被阻塞的线程而完成登录操作,且由于发生阻塞的概率本已非常微小,即便再次登陆发生阻塞,如此这般一再尝试终将成功登陆。然而,即使再次重开的线程登陆成功,也无法掩盖进程中存在一个永久阻塞线程的状况。且当这种过程多次发生时,这些永久阻塞的线程,将为进程带来巨大的性能负担,并可能导致因资源共用而引发的问题。
发明内容
本发明提出了利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统,可以在出现因网络不稳定而导致库内阻塞的情况下,通过调用Windows系统API解除阻塞条件、维持系统网络通信的正常。
为了实现上述目的,本发明提出了利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统,该方法包括以下步骤:Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,包括:通过重连线程检测测RabbitMQ是否离线,当发生离线时,进入判定线程,判定系统是否发生阻塞,当判定发生阻塞,则进入解除阻塞线程来解除阻塞;
在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统第一当前时间记录到上次重连成功时间变量中;
在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的所述上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统第二当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;
在解除阻塞线程,当判断线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
进一步的,在重连线程,检测RabbitMQ是否离线的方法为客户端持续向服务器发送心跳信号,所述服务器在接收到心跳信号后向客户端反馈,如果客户端连续若干次发送心跳信号后未收到所述服务器的反馈,则判定为离线。
进一步的,在判断线程,所述阈值的设定范围为大于2倍固定间隔,小于3倍固定间隔;所述固定间隔等于心跳信号的间隔。
进一步的,在解除阻塞线程,当判断线程判断发生阻塞,调用Windows系统的GetTcpTable函数获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表。
进一步的,解除阻塞线程中,终止连接的方法为调用SetTcpEntry函数终止连接。
利用Windows API调用解除RabbitMQ-C库阻塞的系统,包括重连线程执行模块、判定线程执行模块和解除阻塞线程模块;
所述重连线程执行模块用于在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统第一当前时间记录到上次重连成功时间变量中;
所述判定线程执行模块用于在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的所述上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统第二当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;
所述解除阻塞线程模块用于在解除阻塞线程,当判断线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
进一步的,所述重连线程执行模块包括检测模块和重连记录模块;
所述检测模块用于在重连线程,通过检测心跳信号,检测RabbitMQ是否离线;
所述重连记录模块用于根据检测模块的检测,调用RabbitMQ库函数执行重连,并把系统第一当前时间记录到上次重连成功时间变量中。
进一步的,所述判定线程执行模块包括第一判断模块和第二判断模块;
所述第一判断模块用于在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的所述上次重连成功时间之间的差值是否大于阈值;
所述第二判断模块用于如果大于阈值,则判断系统第二当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞。
进一步的,所述解除阻塞线程模块包括获取枚举模块和判断执行模块;
所述获取枚举模块用于在解除阻塞线程,当判断线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口;
所述判断执行模块用于判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例提出了利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统,该方法在系统正常运行时,执行重连线程,当检测到RabbitMQ发生离线时,执行判断线程,判断线程是否发生阻塞,如果发生阻塞,则执行解除阻塞流程。在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统第一当前时间记录到上次重连成功时间变量中。在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统第二当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;在解除阻塞线程,当判断线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。本发明可以在出现因网络不稳定而导致库内阻塞的情况下,通过调用Windows系统API解除阻塞条件、维持系统网络通信的正常。
附图说明
附图1是本发明实施例1提出的利用Windows API调用解除RabbitMQ-C库阻塞中重连线程流程图;
附图2是本发明实施例1提出利用Windows API调用解除RabbitMQ-C库阻塞中判定线程流程图;
附图3是本发明实施例1提出的利用Windows API调用解除RabbitMQ-C库阻塞中解除阻塞线程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例1
本发明实施例1提出了利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统,该方法通过重连线程检测测RabbitMQ是否离线,当发生离线时,进入判定线程,判定系统是否发生阻塞,当判定发生阻塞,则进入解除阻塞线程来解除阻塞;在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统第一当前时间记录到上次重连成功时间变量中。
在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统第二当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;
在解除阻塞线程,当判断线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
如图1给出了本发明实施例1提出的利用Windows API调用解除RabbitMQ-C库阻塞中重连线程流程图;
在步骤S101中,线程启动;
在步骤S102中,检测RabbitMQ是否离线,客户端持续向服务器发送心跳信号,服务器在接收到心跳信号后向客户端反馈,如果客户端连续若干次发送心跳信号后未收到服务器的反馈,则判定为离线。如果没有发生离线,则进入步骤S105;如果发生离线,则执行步骤S103。
在步骤S103中,调用Rabbit MQ库函数执行重连,需要依次调用
amqp_channel_close,
amqp_connection_close,
amqp_destroy_connection,
amqp_new_connection,
amqp_ssl_socket_new,
amqp_ssl_socket_set_verify,
amqp_ssl_socket_set_cacert,
amqp_ssl_socket_set_key,
amqp_socket_open,
amqp_login,
amqp_channel_open等函数,重连的流程是固定的。如果在重连的过程中发生阻塞,则该流程结束。
在步骤S104中,每次执行重连成功后都会将当前时间记录到“上次重连成功时间”变量中。其中“上次重连成功时间”变量在每次重连成功后设置,置为系统当前时间。其中获取当前系统时间,利用的是time.h头文件中的方法,声明一个time类型的变量,然后将其转为int类型,即为时间戳表示的当前系统时间。
在步骤S105中,执行睡眠线程,线程睡眠指的是在线程中调用sleep函数,调用之后,线程进入阻塞模式,直到到达所指定的时间。达到所指定的时间之后,然后循环从步骤S102执行。
如果在重连线程中发生离线,则执行判断线程,附图2是本发明实施例1提出利用Windows API调用解除RabbitMQ-C库阻塞中判定线程流程图;
在步骤S201中,发生离线,判定线程启动;
在步骤S202中,记录当前时间到“上次执行检测时间”变量;
在步骤S203中,计算当前时间与“上次执行检测时间”的差值。每次判断后,“上次执行检测时间”都会刷新,其目的是记录上次执行检测时间的时间戳,用以监测系统时间发生变动的情况;
在步骤S204中,判断当前时间与“上次执行检测时间”的差值是否大于阈值,阈值的设定范围为大于2倍固定间隔,小于3倍固定间隔;其中固定间隔等于心跳信号的间隔;如果不大于阈值,则执行步骤S209,如果大于阈值,则执行步骤S205.
在步骤S205中,计算第二当前时间与“上次执行检测时间”的差值;
在步骤S206中,判断第二当前时间与“上次执行检测时间”的差值是否等于线程睡眠间隔;如果不等于线程睡眠时间,则执行步骤S209,如果等于线程睡眠时间,则执行步骤S207;
在步骤S207中,执行解除阻塞流程;
在步骤S208中,记录当前时间到“上次执行检测时间”变量;
在步骤S209中,发生离线,判定线程启动;然后循环从步骤S204执行。
在系统判断出出现阻塞时,执行执行解除阻塞流程,附图3是本发明实施例1提出的利用Windows API调用解除RabbitMQ-C库阻塞中解除阻塞线程流程图。
在步骤S301中,开始执行解除阻塞流程;
在步骤S302中,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表;
在步骤S303中,调用Get TcpTable函数枚举当前系统第二目的IP地址和第二目的端口;
在步骤S304中,遍历当前系统第二目的IP地址和第二目的端口;
在步骤S305中,判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果不一致,则流程结束;如果一致,则执行步骤S306;
在步骤S306中,调用SetTcpEntry函数终止连接。
在步骤S307中,解除阻塞流程结束。
本发明利用Windows API调用解除RabbitMQ-C库阻塞,在系统正常运行时,执行重连线程,当检测到RabbitMQ发生离线时,执行判断线程,判断线程是否发生阻塞,如果发生阻塞,则执行解除阻塞流程,可以在出现因网络不稳定而导致库内阻塞的情况下,通过调用Windows系统API解除阻塞条件、维持系统网络通信的正常。
以上内容仅仅是对本发明的结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (6)
1.利用Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,包括:通过重连线程检测RabbitMQ是否离线,当发生离线时,进入判定线程,判定系统是否发生阻塞,当判定发生阻塞,则进入解除阻塞线程来解除阻塞;
在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统当前时间记录到上次重连成功时间变量中;
在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的所述上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;
每次执行重连成功后都会将当前时间记录到“上次重连成功时间”变量中;其中“上次重连成功时间”变量在每次重连成功后设置,置为系统当前时间;
在解除阻塞线程,当判定线程判断发生阻塞,获取Rabbi tMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
2.根据权利要求1所述的利用Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,在重连线程,检测RabbitMQ是否离线的方法为客户端持续向服务器发送心跳信号,所述服务器在接收到心跳信号后向客户端反馈,如果客户端连续若干次发送心跳信号后未收到所述服务器的反馈,则判定为离线。
3.根据权利要求2所述的利用Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,在判定线程,所述阈值的设定范围为大于2倍固定间隔,小于3倍固定间隔;其中固定间隔等于心跳信号的间隔。
4.根据权利要求1所述的利用Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,在解除阻塞线程,当判定线程判断发生阻塞,调用Windows系统的GetTcpTable函数获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表。
5.根据权利要求1所述的利用Windows API调用解除RabbitMQ-C库阻塞的方法,其特征在于,解除阻塞线程中,终止连接的方法为调用SetTcpEntry函数终止连接。
6.利用Windows API调用解除RabbitMQ-C库阻塞的系统,其特征在于,包括重连线程执行模块、判定线程执行模块和解除阻塞线程模块;
所述重连线程执行模块用于通过重连线程检测RabbitMQ是否离线,当发生离线时,进入判定线程,判定系统是否发生阻塞,当判定发生阻塞,则进入解除阻塞线程来解除阻塞;在重连线程,通过检测RabbitMQ是否离线,调用RabbitMQ库函数执行重连,并把系统当前时间记录到上次重连成功时间变量中;
所述判定线程执行模块用于在判定线程,在系统发生离线时,通过重复判断系统当前时间与在重连线程最后一次记录的所述上次重连成功时间之间的差值是否大于阈值;如果大于阈值,则判断系统当前时间与上次执行检测时间的差值;以此来判断是否发生阻塞;每次执行重连成功后都会将当前时间记录到“上次重连成功时间”变量中;其中“上次重连成功时间”变量在每次重连成功后设置,置为系统当前时间;
所述解除阻塞线程模块用于在解除阻塞线程,当判定线程判断发生阻塞,获取RabbitMQ连接所需的第一目的IP地址和第一目的端口,并分别以变量形式暂存列表,枚举当前系统第二目的IP地址和第二目的端口,并判断第二目的IP地址和第一目的IP地址以及第一目的端口和第二目的端口是否一致,如果一致,则终止连接,则解除阻塞线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603149.1A CN110489216B (zh) | 2019-07-05 | 2019-07-05 | 利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603149.1A CN110489216B (zh) | 2019-07-05 | 2019-07-05 | 利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489216A CN110489216A (zh) | 2019-11-22 |
CN110489216B true CN110489216B (zh) | 2021-12-07 |
Family
ID=68546741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910603149.1A Active CN110489216B (zh) | 2019-07-05 | 2019-07-05 | 利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489216B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005469A (zh) * | 2015-06-03 | 2015-10-28 | 浙江大学 | 一种基于Zookeeper和RabbitMQ的非阻塞调用方法 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
CN107590015A (zh) * | 2017-09-11 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 监测主线程的阻塞的方法和装置 |
CN109815056A (zh) * | 2019-01-22 | 2019-05-28 | 珠海格力电器股份有限公司 | 实现消息队列重连的方法、装置、存储介质及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10326720B2 (en) * | 2017-05-05 | 2019-06-18 | Dell Products L.P. | Messaging queue service API optimization system |
-
2019
- 2019-07-05 CN CN201910603149.1A patent/CN110489216B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005469A (zh) * | 2015-06-03 | 2015-10-28 | 浙江大学 | 一种基于Zookeeper和RabbitMQ的非阻塞调用方法 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
CN107590015A (zh) * | 2017-09-11 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 监测主线程的阻塞的方法和装置 |
CN109815056A (zh) * | 2019-01-22 | 2019-05-28 | 珠海格力电器股份有限公司 | 实现消息队列重连的方法、装置、存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
基于分布式架构的智能车辆管理系统设计与实现;雷健;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110489216A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106533805B (zh) | 一种微服务请求处理方法、微服务控制器及微服务架构 | |
US10788881B2 (en) | Terminal-based wakelock control method and apparatus and terminal | |
EP2323344A1 (en) | Method for preventing thread hanging in a multi-thread communication program | |
CN113672406B (zh) | 数据传输处理方法、装置、电子设备及存储介质 | |
CN109274544B (zh) | 一种分布式存储系统的故障检测方法及装置 | |
US7941703B2 (en) | Capturing machine state of unstable java program | |
CN110650164B (zh) | 文件的上传方法、装置、终端以及计算机存储介质 | |
CN112769652B (zh) | 一种节点服务监控方法、装置、设备及介质 | |
CN108399120B (zh) | 异步消息监控方法和装置 | |
CN112130923A (zh) | 容器的管理方法、装置、电子设备及计算机可读存储介质 | |
CN114500128B (zh) | 一种流控计费方法、装置、系统、电子设备、介质及产品 | |
CN113810890A (zh) | 设备回连方法、装置、电子设备以及存储介质 | |
US20230409391A1 (en) | Thread priority adjusting method, terminal, and computer-readable storage medium | |
CN110489216B (zh) | 利用Windows API调用解除RabbitMQ-C库阻塞的方法和系统 | |
CN112564990B (zh) | 一种用于音频管理服务器切换的管理方法 | |
CN108920264B (zh) | 一种命令超时处理方法及系统 | |
US10572661B2 (en) | Automated blackbox inference of external origin user behavior | |
WO2016161577A1 (zh) | 最优心跳周期的确定方法、装置和设备 | |
CN103178981B (zh) | 连接管理方法和系统 | |
CN113452761B (zh) | 储能系统的更新方法、更新管理设备、储能系统及介质 | |
CN106911380B (zh) | 一种通道恢复方法及装置 | |
CN109508256A (zh) | 一种元数据服务器在重启期间内的元数据管理方法及装置 | |
CN114661533A (zh) | 通过检测io时延检测硬盘的方法、系统、设备和存储介质 | |
CN114363317A (zh) | 一种基于多传输协议的文件传输方法、系统及介质 | |
CN104735097A (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 |