CN110769046B - 一种报文获取方法、装置、电子设备及机器可读存储介质 - Google Patents
一种报文获取方法、装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN110769046B CN110769046B CN201910986868.6A CN201910986868A CN110769046B CN 110769046 B CN110769046 B CN 110769046B CN 201910986868 A CN201910986868 A CN 201910986868A CN 110769046 B CN110769046 B CN 110769046B
- Authority
- CN
- China
- Prior art keywords
- message
- cache
- acquired
- stopping
- acquisition result
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文获取方法、装置、电子设备及机器可读存储介质,针对当前时刻获取到报文、未获取到报文的报文获取结果,设置有预定的停止条件,在满足停止条件时,停止从缓存中获取报文,在停止获取报文的时长内,将处理器资源分配给其他线程。并且基于报文获取结果调整停止时长,调整后的获取到报文对应的停止时长小于未获取到报文对应的停止时长,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,合理地分配了处理器调用线程的时间,提高了电子设备中处理器的利用效率。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种报文获取方法、装置、电子设备及机器可读存储介质。
背景技术
随着网络技术的不断发展,网络在生活中的应用越来越广泛。在网络系统中,电子设备通常先将从网络中接收到的报文存储至本地的缓存中,在进行业务处理时,按照一定的获取周期,从缓存中逐个获取报文进行业务处理。
从缓存中获取报文、进行业务处理的流程,一般是由电子设备中的处理器通过执行轮询收包线程实现,然而,随着设备集成性的要求不断提高,电子设备需要实现的功能越来越多样化,不仅仅包括获取报文、业务处理,还包括数据转发、预警等,处理器上创建的线程会很多,不同的线程可以实现不同的功能。按照上述获取报文、进行业务处理的流程,轮询收包线程会一直占用处理器的资源,使得其他线程无法及时执行。
在实际的应用场景下,如果在轮询获取报文、进行业务处理的过程中,无法获取到报文,则说明缓存中已没有报文,此时再继续执行轮询收包线程获取报文是无效的,因此,可以控制轮询收包线程进入睡眠状态,停止从缓存中获取报文的操作,在停止一段时间之后,重新开始从缓存中获取报文的操作,在轮询收包线程进入睡眠状态的时间段内,处理器可以正常执行其他线程。
然而,向缓存中存储报文和从缓存中获取报文一般是同步进行的,不一定会出现缓存中报文被获取完的情况,这种情况下,轮询收包线程还是会一直占用处理器的资源,使得其他线程无法及时执行,导致电子设备中处理器的利用效率较低。
发明内容
本发明实施例的目的在于提供一种报文获取方法、装置、电子设备及机器可读存储介质,以提高电子设备中处理器的利用效率。具体技术方案如下:
第一方面,本发明实施例提供了一种报文获取方法,该方法包括:
从缓存中获取报文;
响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从缓存中获取报文,并根据报文获取结果调整停止时长,其中,报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长;
在停止获取报文的时长达到调整后的停止时长时,重新从缓存中获取报文。
第二方面,本发明实施例提供了一种报文获取装置,该装置包括:
获取模块,用于从缓存中获取报文;
响应模块,用于响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从缓存中获取报文,并根据报文获取结果调整停止时长,其中,报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长;
获取模块,还用于在停止获取报文的时长达到调整后的停止时长时,重新从缓存中获取报文。
第三方面,本发明实施例提供了一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本发明实施例第一方面所提供的方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器执行本发明实施例第一方面所提供的方法。
本发明实施例提供的一种报文获取方法、装置、电子设备及机器可读存储介质,从缓存中获取报文,响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从缓存中获取报文,并根据报文获取结果调整停止时长,在停止获取报文的时长达到调整后的停止时长时,重新从缓存中获取报文。其中,报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长。从缓存中获取报文时,针对于当前时刻获取到报文或者未获取到报文的报文获取结果,设置有预定的停止条件,在满足停止条件时,会停止从缓存中获取报文,在停止获取报文的时长内,可以将处理器资源分配给其他线程。基于报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对比获取到报文的报文获取结果和未获取到报文的报文获取结果,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,更为合理地分配了处理器调用线程的时间,充分利用了处理器资源,从而提高了电子设备中处理器的利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的轮询收包线程的工作状态示意图;
图2为本发明一实施例的报文获取方法的流程示意图;
图3为本发明另一实施例的报文获取方法的流程示意图;
图4为本发明再一实施例的报文获取方法的流程示意图;
图5为本发明实施例的报文获取装置的结构示意图;
图6为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在当前的网络系统中,从缓存中获取报文、进行业务处理的流程,一般是由电子设备中的处理器通过执行轮询收包线程实现,轮询收包线程的执行过程主要包括:获取报文的工作状态、业务处理的工作状态和睡眠状态,如图1所示,三个状态之间轮询切换。当电子设备接收到大量的报文时,电子设备需要快速获取报文并进行相对应的业务处理,相应获取报文和业务处理的工作状态所占比例较高;相反,当电子设备接收到的报文数量较少时,轮询收包线程处于睡眠状态所占比例较高。
如果在轮询获取报文、进行业务处理的过程中,无法获取到报文,则说明缓存中已没有报文,此时再继续执行轮询收包线程获取报文是无效的,因此,应当控制轮询收包线程进入睡眠状态,经过一段时间的睡眠,再重新将轮询收包线程从睡眠状态切换回获取报文的工作状态,重新开始从缓存中获取报文。
然而,在缓存中的报文没有被获取完的情况下,轮询收包线程会一直占用处理器资源,导致电子设备中处理器无法得到有效利用。
为了提高电子设备中处理器的利用效率,本发明实施例提供了一种报文获取方法、装置、电子设备及机器可读存储介质。下面,首先对本发明实施例所提供的报文获取方法进行介绍。
执行本发明实施例所提供的报文获取方法的执行主体为网络系统中的电子设备,例如网络安全设备、服务器、个人计算机、相机等,而网络安全设备至少包括网关设备和防火墙设备等,其中电子设备中至少包括具有核心处理能力的处理器。
本发明实施例提供的一种报文获取方法,如图2所示,具体包括如下步骤。
S201,从缓存中获取报文。
与传统的报文获取、业务处理的流程相同,电子设备中获取报文的流程可以是通过执行处理器中设置的轮询收包线程实现的,电子设备中可以设置有多个处理器,每个处理器都创建有一个轮询收包线程,每个轮询收包线程获取报文、进行业务处理的方式都相同,循环从缓存中获取报文。
S202,响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从缓存中获取报文,并根据报文获取结果调整停止时长,其中,报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长。
从缓存中获取报文时,会存在获取到报文和未获取到报文两种报文获取结果,不同的报文获取结果预先设定有不同的停止条件,一旦某一报文获取结果满足相应的停止条件时,便会停止从缓存中获取报文,即控制轮询收包线程进入睡眠状态,轮询收包线程进入睡眠状态后,处理器会释放轮询收包线程原本占用的资源,此时处理器可以调用其他线程完成相应的任务。在停止从缓存中获取报文的同时,还可以根据报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长。
S203,在停止获取报文的时长达到调整后的停止时长时,重新从缓存中获取报文。
在停止获取报文一段时间以后(即停止获取报文的时长达到调整后的停止时长),重新唤醒轮询收包线程,从缓存中获取报文。由于调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对于获取到报文的报文获取结果,其重新从缓存中获取报文的时机得以提前,以实现快速处理报文的目的;而对于未获取到报文的报文获取结果,其重新从缓存中获取报文的时机延后,这样处理器的其他线程能够有更多的时间来处理其他任务,从而实现了充分利用处理器资源的目的。
在本发明实施例中,从缓存中获取报文的步骤是处理器通过调用轮询收包线程实现,而控制轮询收包线程进入睡眠状态(即判断报文获取结果在满足预定的停止条件时,停止从缓存中获取报文)、调整停止时长以及重新唤醒轮询收包线程的步骤,是处理器通过调用控制线程实现。
应用本发明实施例,从缓存中获取报文时,针对于当前时刻获取到报文或者未获取到报文的报文获取结果,设置有预定的停止条件,在满足预定的停止条件时,会停止从缓存中获取报文,在停止获取报文的时长内,可以将处理器资源分配给其他线程。基于报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对比获取到报文的报文获取结果和未获取到报文的报文获取结果,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,更为合理地分配了处理器调用线程的时间,充分利用了处理器资源,从而提高了电子设备中处理器的利用效率。
可选的,本发明实施例所提供的报文获取方法,还可以执行:统计停止从缓存中获取报文的事件发生频率。
则根据报文获取结果调整停止时长的步骤,具体可以为:根据报文获取结果及事件发生频率,调整停止时长。
在调整停止时长时,除了可以根据报文获取结果进行调整以外,还可以根据停止从缓存中获取报文的事件发生频率进行调整,事件发生频率越高,表明轮询收包线程进入睡眠状态越频繁,频繁的切换线程状态使得处理器调用一个线程的状态不够稳定,易发生处理器崩溃的现象,因此,事件发生频率越高,相应的,应当将停止时长调整的越大,相反的,事件发生频率越低,应当将停止时长应调整的越小。具体在调整停止时长时,可以采用线性调整、指数型调整等方式。
通过对历史发生停止从缓存中获取报文这一事件的事件发生频率进行统计,实现了对停止时长的动态调整,并且基于事件发生频率,对于处理器是否易发生崩溃的情况进行预测,能够优化获取报文的流程。
报文获取结果分为获取到报文和未获取到报文两种,如果未获取到报文,说明当前时刻缓存中的报文已被全部获取,没有可获取的报文,此时再继续执行获取报文的操作是无效的,因此,需要立即停止从缓存中获取报文,即对应的停止条件为未获取到报文的识别结果;如果获取到报文,但是有可能出现轮询收包线程已占用了过多的处理器资源的情况,在该情况下也需要停止从缓存中获取报文,释放轮询收包线程所占用的处理器资源,即对应的停止条件为轮询收包线程已占用过多的处理器资源。
下面,从获取到报文和未获取到报文两种报文获取结果分别对应的处理方式,对本发明实施例所提供的报文获取方法进行详细介绍,如图3所示,包括如下步骤。
S301,从缓存中获取报文。
S302,判断当前时刻是否获取到报文,若是则执行S303,否则执行S305。
S303,确定已获取报文的统计信息,并判断统计信息是否达到预设阈值,若是则执行S304,否则返回执行S301。
如果当前时刻获取到报文,需要确定已获取报文的统计信息,统计信息是对已获取到报文的相关信息统计得到的,例如,统计信息可以是对已执行获取报文的操作的时长进行统计得到的,也可以是对已获取到的报文的收包量统计得到的等等。
针对不同的统计信息可以设置有不同的预设阈值,例如,若统计信息是对已执行获取报文的操作的时长进行统计得到的,则预设阈值可以是时长阈值;若统计信息是对已获取到的报文的收包量统计得到的,则预设阈值可以是收包量阈值。
S304,停止从缓存中获取报文,并减小停止时长,在停止获取报文的时长达到减小后的停止时长时,重新从缓存中获取报文。
如果统计信息达到预设阈值,则说明获取报文的操作执行时长过长、获取到的报文的收包量过多,反映了实现获取报文操作的轮询收包线程已占用处理器过多的资源,因此,为了防止轮询收包线程继续占用处理器资源,则停止从缓存中获取报文,将轮询收包线程切换为睡眠状态,释放处理器去执行其他线程以完成其他任务。并且减小停止时长,按照减小后的停止时长执行停止获取报文的操作,即当停止获取报文的时长达到减小后的停止时长时,重新从缓存中获取报文。如果统计信息没有达到预设阈值,则继续从缓存中获取报文,不会停止从缓存中获取报文的操作。本申请实施例中的预设阈值可以根据不同的应用环境设置不同的取值,例如,针对于报文获取结果为获取到报文,为了避免出现处理器频繁切换线程状态的情况,可以将时长阈值、收包量阈值设置的较大,处理器更长的时间内在主要调用轮询收包线程,而在相对较短的时间内调用其他线程,避免轮询收包线程频繁进入睡眠状态。
S305,停止从缓存中获取报文,并增大停止时长,在停止获取报文的时长达到增大后的停止时长时,重新从缓存中获取报文。
如果当前时刻未获取到报文,则说明缓存中的报文已被全部获取,没有可获取的报文,此时再继续执行获取报文的操作是无效的,因此,需要停止从缓存中获取报文,将轮询收包线程控制为睡眠状态,释放处理器去执行其他线程完成其他任务。并且增大停止时长,按照增大后的停止时长执行停止获取报文的操作,即当停止获取报文的时长达到增大后的停止时长时,则重新从缓存中获取报文。
在本发明实施例的一种实现方式中,如果当前时刻未获取到报文,可以不立即执行停止从缓存中获取报文的步骤,而是等待一段时间(该等待时间可配置,如这个等待时间可以设置的较短),如果在该等待时间内仍然没有获取到报文,则停止从缓存中获取报文,避免因临时的报文获取间断而导致轮询收包线程频繁进入睡眠状态。
可选的,在执行S303之前,本发明实施例所提供的报文获取方法,还可以执行:对获取到的报文进行业务处理。
相应的,确定已获取报文的统计信息的步骤,具体可以为:统计完成业务处理的报文的统计信息。
调用轮询收包线程,在获取到报文之后,会对报文进行业务处理,如果对报文能够进行业务处理,则说明该报文是有效的报文,则确定统计信息,如果对报文不能进行业务处理,则可以直接丢弃该报文,在统计时可以不对该报文相应的统计信息进行统计。在读取统计信息时,实际读取到的是完成业务处理的报文的统计信息。
基于上述实施例,本发明实施例提供了再一种报文获取方法,如图4所示,具体包括如下步骤。
第一步,获取缓存报文。
该步骤即为上述实施例中从缓存中获取报文的步骤。
第二步,判断获取到的报文是否为空。若是则执行第五步,否则执行第三步。
报文为空是未获取到报文的另一种技术描述,该步骤即为上述实施例中判断当前时刻是否获取到报文的步骤。
第三步,对获取到的报文进行业务处理。
当获取到的报文不为空时,对报文进行业务处理,一般情况下,获取到一个或者一组报文,就进行相应的业务处理。
第四步,判断读取的已获取报文的统计信息是否达到接收阈值,若是则执行第五步,否则执行第一步。
第五步,按照调度策略进行调度。
针对获取到的报文为空的情况,调度策略即为轮询收包线程进入睡眠状态,睡眠一段时间(上述实施例中减小后的停止时长)后,唤醒轮询收包线程,重新从缓存中获取报文。
针对获取到的报文不为空的情况,调度策略即为轮询收包线程进入睡眠状态,睡眠一段时间(上述实施例中增大后的停止时长)后,唤醒轮询收包线程,重新从缓存中获取报文。
在图4所示实施例中,虚线表示针对不同的情况,分别对调度策略中的策略量进行处理的方式。
当获取到的报文为空时,对调度策略中的策略量进行减益处理,策略量为从缓存中获取报文的频率、处理器调度轮询收包线程的时间等,具体的,通过增大停止时长实现减益处理,由于从缓存中获取报文的频率是停止时长与获取报文时长的总时长的倒数,因此,通过增大停止时长,可以减小从缓存中获取报文的频率,并且,通过增大停止时长,增加了处理器调用其他线程的时间、减少了处理器调用轮询收包线程的时间。同理,当获取到的报文不为空时,对调度策略中的策略量进行增益处理,通过减小停止时长实现增益处理,使得从缓存中获取报文的频率增加、处理器调度轮询收包线程的时间增加。
相应于上述方法实施例,本发明实施例提供了一种报文获取装置,如图5所示,该装置包括:
获取模块510,用于从缓存中获取报文;
响应模块520,用于响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从缓存中获取报文,并根据报文获取结果调整停止时长,其中,报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长;
获取模块510,还用于在停止获取报文的时长达到调整后的停止时长时,重新从缓存中获取报文。
可选的,响应模块520,具体可以用于:
若当前时刻的报文获取结果为获取到报文,则确定已获取报文的统计信息;
若统计信息达到预设阈值,则停止从缓存中获取报文,并减小停止时长。
可选的,该装置还可以包括:
业务处理模块,用于对获取到的报文进行业务处理;
响应模块520,具体可以用于:
统计完成业务处理的报文的统计信息。
可选的,响应模块520,具体可以用于:
若当前时刻的报文获取结果为未获取到报文,则停止从缓存中获取报文,并增大停止时长。
可选的,该装置还可以包括:
统计模块,用于统计停止从缓存中获取报文的事件发生频率;
响应模块520,具体可以用于:
根据报文获取结果及事件发生频率,调整停止时长。
应用本发明实施例,从缓存中获取报文时,针对于当前时刻获取到报文或者未获取到报文的报文获取结果,设置有预定的停止条件,在满足停止条件时,会停止从缓存中获取报文,在停止获取报文的时长内,可以将处理器资源分配给其他线程。基于报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对比获取到报文的报文获取结果和未获取到报文的报文获取结果,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,更为合理地分配了处理器调用线程的时间,充分利用了处理器资源,从而提高了电子设备中处理器的利用效率。
本发明实施例提供了一种电子设备,如图6所示,包括处理器601和机器可读存储介质602,机器可读存储介质602存储有能够被处理器601执行的机器可执行指令,处理器601被机器可执行指令促使执行本发明实施例所提供的报文获取方法。
上述计算机可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,计算机可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本实施例中,处理器601通过读取机器可读存储介质602中存储的机器可执行指令,被机器可执行指令促使能够实现:从缓存中获取报文时,针对于当前时刻获取到报文或者未获取到报文的报文获取结果,设置有预定的停止条件,在满足停止条件时,会停止从缓存中获取报文,在停止获取报文的时长内,可以将处理器资源分配给其他线程。基于报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对比获取到报文的报文获取结果和未获取到报文的报文获取结果,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,更为合理地分配了处理器调用线程的时间,充分利用了处理器资源,从而提高了电子设备中处理器的利用效率。
另外,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器执行本发明实施例所提供的报文获取方法。
本实施例中,机器可读存储介质在运行时执行本发明实施例所提供的报文获取方法的机器可执行指令,因此能够实现:从缓存中获取报文时,针对于当前时刻获取到报文或者未获取到报文的报文获取结果,设置有预定的停止条件,在满足停止条件时,会停止从缓存中获取报文,在停止获取报文的时长内,可以将处理器资源分配给其他线程。基于报文获取结果调整停止时长,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长,对比获取到报文的报文获取结果和未获取到报文的报文获取结果,由于未获取到报文时缓存中已没有可以获取的报文,则通过调整停止时长,使得未获取到报文的报文获取结果对应停止获取报文的时长更长,处理器可以有更长的时间调用其他线程,根据实际的报文获取结果,更为合理地分配了处理器调用线程的时间,充分利用了处理器资源,从而提高了电子设备中处理器的利用效率。
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种报文获取方法,其特征在于,所述方法包括:
从缓存中获取报文;
响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从所述缓存中获取报文,并根据所述报文获取结果调整停止时长,其中,所述报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长;
在停止获取报文的时长达到调整后的停止时长时,重新从所述缓存中获取报文;
所述响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从所述缓存中获取报文,并根据所述报文获取结果调整停止时长,包括:
若当前时刻的报文获取结果为获取到报文,则确定已获取报文的统计信息;
若所述统计信息达到预设阈值,则停止从所述缓存中获取报文,并减小停止时长;
在所述根据所述报文获取结果调整停止时长之前,所述方法还包括:
统计停止从所述缓存中获取报文的事件发生频率;
所述根据所述报文获取结果调整停止时长,包括:
根据所述报文获取结果及所述事件发生频率,调整停止时长。
2.根据权利要求1所述的方法,其特征在于,在所述确定已获取报文的统计信息之前,所述方法还包括:
对获取到的报文进行业务处理;
所述确定已获取报文的统计信息,包括:
统计完成业务处理的报文的统计信息。
3.根据权利要求1所述的方法,其特征在于,所述响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从所述缓存中获取报文,并根据所述报文获取结果调整停止时长,包括:
若当前时刻的报文获取结果为未获取到报文,则停止从所述缓存中获取报文,并增大停止时长。
4.一种报文获取装置,其特征在于,所述装置包括:
获取模块,用于从缓存中获取报文;
响应模块,用于响应于当前时刻的报文获取结果,在满足预定的停止条件时,停止从所述缓存中获取报文,并根据所述报文获取结果调整停止时长,其中,所述报文获取结果为获取到报文或未获取到报文,调整后的获取到报文的报文获取结果对应的停止时长小于未获取到报文的报文获取结果对应的停止时长;
所述获取模块,还用于在停止获取报文的时长达到调整后的停止时长时,重新从所述缓存中获取报文;
所述响应模块,具体用于:
若当前时刻的报文获取结果为获取到报文,则确定已获取报文的统计信息;
若所述统计信息达到预设阈值,则停止从所述缓存中获取报文,并减小停止时长;
统计模块,用于统计停止从所述缓存中获取报文的事件发生频率;
所述响应模块,具体用于:
根据所述报文获取结果及所述事件发生频率,调整停止时长。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
业务处理模块,用于对获取到的报文进行业务处理;
所述响应模块,具体用于:
统计完成业务处理的报文的统计信息。
6.根据权利要求4所述的装置,其特征在于,所述响应模块,具体用于:
若当前时刻的报文获取结果为未获取到报文,则停止从所述缓存中获取报文,并增大停止时长。
7.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行权利要求1-3任一项所述的方法。
8.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910986868.6A CN110769046B (zh) | 2019-10-17 | 2019-10-17 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910986868.6A CN110769046B (zh) | 2019-10-17 | 2019-10-17 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110769046A CN110769046A (zh) | 2020-02-07 |
CN110769046B true CN110769046B (zh) | 2022-11-18 |
Family
ID=69332204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910986868.6A Active CN110769046B (zh) | 2019-10-17 | 2019-10-17 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110769046B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079114B (zh) * | 2021-06-04 | 2021-08-27 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006351008A (ja) * | 2005-06-16 | 2006-12-28 | Internatl Business Mach Corp <Ibm> | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) |
CN101122870A (zh) * | 2007-09-30 | 2008-02-13 | 金蝶软件(中国)有限公司 | 一种线程唤醒控制方法和系统 |
CN102307198A (zh) * | 2011-08-30 | 2012-01-04 | 苏州阔地网络科技有限公司 | 一种音视频数据的传输方法 |
CN104753711A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 调整网络设备资源配置的方法及装置 |
CN109697128A (zh) * | 2018-12-19 | 2019-04-30 | 北京爱奇艺科技有限公司 | 一种线程维护方法、装置及电子设备 |
-
2019
- 2019-10-17 CN CN201910986868.6A patent/CN110769046B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006351008A (ja) * | 2005-06-16 | 2006-12-28 | Internatl Business Mach Corp <Ibm> | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) |
CN101122870A (zh) * | 2007-09-30 | 2008-02-13 | 金蝶软件(中国)有限公司 | 一种线程唤醒控制方法和系统 |
CN102307198A (zh) * | 2011-08-30 | 2012-01-04 | 苏州阔地网络科技有限公司 | 一种音视频数据的传输方法 |
CN104753711A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 调整网络设备资源配置的方法及装置 |
CN109697128A (zh) * | 2018-12-19 | 2019-04-30 | 北京爱奇艺科技有限公司 | 一种线程维护方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110769046A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557369B (zh) | 一种多线程的管理方法及系统 | |
EP3418892B1 (en) | Method and device for managing and controlling broadcast, and terminal | |
CN107615250B (zh) | 一种针对应用的处理方法、装置及智能终端 | |
CN109981737B (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN112383585A (zh) | 消息处理系统、方法及电子设备 | |
CN112817772B (zh) | 一种数据通信方法、装置、设备及存储介质 | |
CN110769046B (zh) | 一种报文获取方法、装置、电子设备及机器可读存储介质 | |
US20220197690A1 (en) | Application control method and apparatus, terminal, and computer-readable storage medium | |
CN112506808B (zh) | 测试任务执行方法、计算设备、计算系统和存储介质 | |
CN111200833B (zh) | 一种网元状态的确定方法及装置 | |
CN113220429B (zh) | Java线程池的任务处理方法、装置、设备和介质 | |
CN111427673B (zh) | 一种负载均衡方法、装置及设备 | |
CN114461353A (zh) | 调整线程优先级的方法、终端及计算机可读存储介质 | |
CN109062706B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN113535361A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN111796949A (zh) | 通讯任务处理方法、装置、设备及存储介质 | |
CN109144745B (zh) | 进程间通信的监控方法、电子装置以及可读存储介质 | |
CN111107019A (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
CN117407185A (zh) | 广播调度处理方法、装置、计算机设备以及存储介质 | |
CN117573313A (zh) | 一种线程资源的调整方法及装置 | |
JP2007323256A (ja) | 割込制御方法および情報処理装置 | |
CN117499330A (zh) | 丢包处理方法、装置、设备及可读存储介质 | |
KR100333947B1 (ko) | 이동통신 시스템에서의 프로세서 과부하시 가입자 호 서비스 유지방법 | |
CN112540838A (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 |