CN116347043A - 一种服务器端异步io的发送方法、终端及存储介质 - Google Patents
一种服务器端异步io的发送方法、终端及存储介质 Download PDFInfo
- Publication number
- CN116347043A CN116347043A CN202310327631.3A CN202310327631A CN116347043A CN 116347043 A CN116347043 A CN 116347043A CN 202310327631 A CN202310327631 A CN 202310327631A CN 116347043 A CN116347043 A CN 116347043A
- Authority
- CN
- China
- Prior art keywords
- sending
- video frames
- linked list
- transmitted
- video
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 67
- 230000006870 function Effects 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 21
- 230000000903 blocking effect Effects 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 2
- 230000001960 triggered effect Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9015—Buffering arrangements for supporting a linked list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种服务器端异步IO的发送方法、终端及存储介质,属于数据传输技术领域,其方法包括:建立网络连接,生成发送任务,并通过视频发送线程使用异步IO的发送函数向网络中传输视频帧;判断所述视频帧是否传输成功;若传输失败,置起写关注标志位,判定所述发送任务失败,获取所述视频帧中未传输的剩余视频帧;将所述剩余视频帧存储于目标链表,并等待写关注事件;所述写关注事件包括可写状态和不可写状态;在所述写关注事件为可写状态时,传输所述剩余视频帧,并判断所述剩余视频帧是否全部传输完成;若全部传输完成,取消所述写关注标志位,并置起正常标志位。本申请具有有效降低视频发送线程堵塞的概率的效果。
Description
技术领域
本申请涉及数据传输技术领域,尤其是涉及一种服务器端异步IO的发送方法、终端及存储介质。
背景技术
网络摄像机的监听服务用于监听来自客户端的请求并将拍摄的视频数据发送至客户端,在这个过程中,包括数据接收和数据发送两种数据传输方式。目前数据接收主要采用异步IO的方式,数据发送主要采用socket编程方式,即服务器端使用send函数来将视频数据发送到客户端。
在数据发送这种方式中,若网络环境简单,通常采用轮询休眠的方式发送数据,即将socket的发送缓冲区设置为512KB,且每隔10-20毫秒尝试取一次视频帧,取到视频帧便进行发送,若发送失败则休眠10毫秒后再次发送;若网络环境偶尔波动,可在数据发送之前使用select函数检查socket的写关注事件,socket处于发送低水位的情况下,select函数通常会返回可写。
针对上述中的相关技术,申请人认为,若网络波动带宽低时,socket的发送缓冲区可能会堆积大量视频数据,select函数极易发生堵塞,进而导致视频发送线程堵塞。
发明内容
为了有效降低视频发送线程堵塞的概率,本申请提供一种服务器端异步IO的发送方法、终端及存储介质。
第一方面,本申请提供的一种服务器端异步IO的发送方法采用如下的技术方案:
一种服务器端异步IO的发送方法,包括:
建立网络连接,生成发送任务,并通过视频发送线程使用异步IO的发送函数向网络中传输视频帧;
判断所述视频帧是否传输成功;
若传输失败,置起写关注标志位,判定所述发送任务失败,获取所述视频帧中未传输的剩余视频帧;
将所述剩余视频帧存储于目标链表,并等待写关注事件;所述写关注事件包括可写状态和不可写状态;
在所述写关注事件为可写状态时,传输所述剩余视频帧,并判断所述剩余视频帧是否全部传输完成;
若全部传输完成,取消所述写关注标志位,并置起正常标志位。
通过采用上述技术方案,首先在传输失败时置起写关注标志位,并将剩余视频帧存储于目标链表,并等待写关注事件,并在可写状态下全部传输完剩余视频帧,即取消写关注标志位,置起正常标志位;
写关注事件发生由网络状态决定。当网络状态改变,如带宽较低或网络连接断开等,即会触发写关注事件,因此在网络带宽较低时,置起写关注标志位,此时视频帧首先存储于socket的发送缓冲区,并等待写关注事件,当写关注事件发生时,视频帧将视频帧传输至目标链表,因此在网络带宽较低时,写关注事件即触发,视频帧不会在发送缓存中持续阻塞,会及时传输至目标链表,从而有效降低视频发送线程堵塞的概率。
可选的,所述方法还包括:
若所述视频帧传输成功,置起正常标志位;
每间隔预设的获取时间,获取一次视频帧,并执行所述建立网络连接,并使用异步IO的发送函数向网络中传输视频帧的步骤。
通过采用上述技术方案,若视频帧传输成功,表明视频发送线程堵塞的概率较小,此时即置起正常标志位,并继续间隔获取时间获取视频帧,以实现视频帧的快速传输。
可选的,在所述将所述剩余视频帧存储于目标链表,并等待写关注事件之后,还包括:
若所述写关注事件为所述不可写状态,每间隔所述获取时间,获取一次待传输视频帧;
判断所述目标链表是否为空链表;
若为所述空链表,将所述目标链表作为失败链表,并置起所述写关注标志位;
等待内核调用所述发送函数并等待写关注事件;
若所述目标链表不为所述空链表,通过所述发送函数发送所述待传输视频帧。
通过采用上述技术方案,写关注事件为不可写状态表明网络流量过大,此时网络无法再传输数据,此时在目标链表为空链表时,置起所述写关注标志位,使视频帧在写关注事件发生时,将视频帧传输至目标链表,从而使视频帧不会在发送缓冲区中堵塞,有效降低视频发送线程堵塞的概率;同时目标链表不为所述空链表时,表明网络连接处于可写状态,因此要通过发送函数发送待传输的视频帧,以便尽快将视频帧传输到目标链表中,从而提高视频帧传输的效率。
因此设置一个标志位,等待写关注事件,当写关注事件为可写状态时,才可以继续传输数据。
可选的,所述方法还包括:
若所述剩余视频帧未全部传输完成,执行所述每间隔所述获取时间,获取一次待传输视频帧的步骤。
通过采用上述技术方案,在剩余视频帧未全部传输完成时,每间隔获取时间,获取一次传输视频帧,便于提高视频帧传输的速度。
可选的,所述目标链表保存的所述剩余视频帧的帧数量小于10。
通过采用上述技术方案,当目标链表中的剩余视频帧的帧数量小于10时,可以减少网络拥塞的风险,并有效地避免网络连接过载。
可选的,所述视频发送线程为单线程。
通过采用上述技术方案,当视频发送线程为单线程时,可以有效地避免网络连接过载,并有效地管理网络流量,从而减少网络拥塞的风险,有助于保证视频帧传输的正常运行。
可选的,在所述传输所述剩余视频帧之后,还包括:
发送函数结束,并返回发送结果;所述发送结果包括发送成功结果和发送失败结果。
通过采用上述技术方案,发送函数传输所有视频帧后,返回发送结果用于告知用户视频帧传输是否成功;如果发送成功,则发送函数会返回成功结果;如果发送失败,则返回失败结果,以便及时处理。
第二方面,本申请提供的一种智能终端采用如下的技术方案:
一种智能终端,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了上述的服务器端异步IO的发送方法。
通过采用上述技术方案,通过将上述的服务器端异步IO的发送方法生成计算机程序,并存储于存储器中,以被处理器加载并执行,从而,根据存储器及处理器制作智能终端,方便使用。
第三方面,本申请提供的一种计算机可读存储介质采用如下的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了上述的服务器端异步IO的发送方法。
通过采用上述技术方案,通过将上述的服务器端异步IO的发送方法生成计算机程序,并存储于计算机可读存储介质中,以被处理器加载并执行,通过计算机可读存储介质,方便计算机程序的可读及存储。
综上所述,本申请具有以下至少一种有益技术效果:
1.在网络带宽较低时,置起写关注标志位,此时视频帧首先存储于socket的发送缓冲区,并等待写关注事件,当写关注事件发生时,视频帧将视频帧传输至目标链表,因此在网络带宽较低时,写关注事件即触发,视频帧不会在发送缓存中持续阻塞,会及时传输至目标链表,从而有效降低视频发送线程堵塞的概率。
2.在目标链表为空链表时,置起所述写关注标志位,使视频帧在写关注事件发生时,将视频帧传输至目标链表,从而使视频帧不会在发送缓冲区中堵塞,有效降低视频发送线程堵塞的概率。
3.当目标链表中的剩余视频帧的帧数量小于10时,可以减少网络拥塞的风险,并有效地避免网络连接过载。
附图说明
图1是本申请实施例一种服务器端异步IO的发送方法的其中一种实施方式的流程示意图。
图2是本申请实施例一种服务器端异步IO的发送方法的其中一种实施方式的流程示意图。
图3是本申请实施例一种服务器端异步IO的发送方法的其中一种实施方式的流程示意图。
具体实施方式
以下结合附图1至3对本申请作进一步详细说明。
本申请实施例公开一种服务器端异步IO的发送方法。
参照图1,一种服务器端异步IO的发送方法包括如下步骤:
S101、建立网络连接,生成发送任务,并通过视频发送线程使用异步IO的发送函数向网络中传输视频帧。
本实施例中,网络为局域网,建立局域网的网络连接通过有线连接的方式,将所有计算机连接到路由器或交换机,使用网线进行物理连接。发送任务指通过发送函数对视频帧进行数据发送的任务;视频发送线程指在视频帧发送过程中,用于执行发送任务的线程。具体的,视频发送线程为单线程。当视频发送线程为单线程时,可以有效地避免网络连接过载,并有效地管理网络流量,从而减少网络拥塞的风险,有助于保证视频帧传输的正常运行。
异步IO是一种不需要等待系统调用的I/O处理方式,其允许应用程序发起I/O操作,并在系统完成该操作时,由系统主动通知应用程序,而非等待应用程序自主查询。异步IO有助于提高系统效率,减少系统资源的占用,提高系统的可靠性和可扩展性。发送函数是异步IO的一种应用,其利用异步IO机制,将视频帧发送至网络上的目标地址。具体的,发送函数为send函数,send函数是一种用于发送数据的函数,可将视频帧发送至特定的地址,亦可将视频帧发送到多个地址。发送函数会检查网络连接是否处于可写状态,如果可写,则会将视频帧发送出去;如果不可写,则会等待写关注事件,当写关注事件为可写状态时,即发送视频帧。视频帧是指视频信号中的一帧图像,其由一系列的连续的图像组成。视频帧包含了图像的像素值、色彩空间以及帧率等数据信息。
S102、判断视频帧是否传输成功。
本实施例中,通过检查视频帧的发送状态来判断视频帧是否传输成功。若视频帧发送成功,发送状态显示“已发送”;若视频帧发送失败,发送状态显示“发送失败”。
S103、若传输失败,置起写关注标志位,判定发送任务失败,获取视频帧中未传输的剩余视频帧。
若视频帧传输失败,判定发送任务失败并置起写关注标志位。具体的,写关注标志位用于表示网络连接处于可写状态。当网络连接处于可写状态时,写关注标志位会被置为1,此时发送函数即将数据进行发送。
视频帧中未传输的剩余视频帧存储于socket的发送缓冲区内,本实施例中通过使用socket的recv函数来获取剩余的视频帧。recv函数可以从socket的发送缓冲区中读取指定大小的字节,若发送缓冲区中有剩余的视频帧,则可通过recv函数获取。
S104、将剩余视频帧存储于目标链表,并等待写关注事件;写关注事件包括可写状态和不可写状态。
通过使用socket的send函数将剩余的视频帧存储在目标链表中。send函数可将指定大小的字节存储到socket的发送缓冲区中,若将剩余的视频帧存储在目标链表中,首先使用recv函数从socket的发送缓冲区中读取视频帧,后使用send函数将视频帧存储到目标链表中。具体的,目标链表保存的剩余视频帧的帧数量小于10。当目标链表中的剩余视频帧的帧数量小于10时,可以减少网络拥塞的风险,并有效地避免网络连接过载。
等待写关注事件指在发送函数发送数据时,当网络连接处于不可写状态时,发送函数会等待写关注事件,以便在网络连接处于可写状态时发送数据。若发送函数在网络连接处于不可写状态时尝试发送数据,可能会造成网络阻塞,从而影响网络的性能。可写状态指数据可以发送出去的状态;不可写状态指数据不能发送出去的状态。
S105、在写关注事件为可写状态时,传输剩余视频帧,并判断剩余视频帧是否全部传输完成。
在写关注事件为可写状态时,表明此时视频帧可进行传输,即通过发送函数传输剩余视频帧,与步骤S102同理,通过检查视频帧的发送状态来判断剩余视频帧是否全部传输成功。若剩余视频帧发送成功,剩余视频帧的发送状态均显示“已发送”;若视频帧发送失败,部分剩余视频帧的发送状态会显示“发送失败”。
S106、若全部传输完成,取消写关注标志位,并置起正常标志位。
若剩余视频帧全部传输完成,取消写关注标志位,以便释放网络资源,避免网络被长期占用,从而影响网络性能。取消写关注标志位后,发送函数不再等待写关注事件,从而提高网络的效率。置起正常标志位是指将正常标志位置为1,以表示数据发送成功。当数据发送成功后,正常标志位会被置为1,表明数据发送成功,发送函数即可继续发送下一条数据。
若剩余视频帧未全部传输完成,则每间隔获取时间,获取一次待传输视频帧。在剩余视频帧未全部传输完成时,每间隔获取时间,获取一次传输视频帧,便于提高视频帧传输的速度,同时保证发送函数能够定时发送视频帧,从而有效提高网络传输的效率。本实施例中,获取时间的区间范围为10毫秒至20毫秒之间。
在传输剩余视频帧之后,还包括:
发送函数结束,并返回发送结果;发送结果包括发送成功结果和发送失败结果。具体的,如果发送成功,则返回0,如果发送失败,则返回-1。发送函数传输所有视频帧后,返回发送结果用于告知用户视频帧传输是否成功;如果发送成功,则发送函数会返回成功结果;如果发送失败,则返回失败结果,以便及时处理。
本实施例的实施原理为:首先在传输失败时置起写关注标志位,并将剩余视频帧存储于目标链表,并等待写关注事件,并在可写状态下全部传输完剩余视频帧,即取消写关注标志位,置起正常标志位;
写关注事件发生由网络状态决定。当网络状态改变,如带宽较低或网络连接断开等,即会触发写关注事件,因此在网络带宽较低时,置起写关注标志位,此时视频帧首先存储于socket的发送缓冲区,并等待写关注事件,当写关注事件发生时,视频帧将视频帧传输至目标链表,因此在网络带宽较低时,写关注事件即触发,视频帧不会在发送缓存中持续阻塞,会及时传输至目标链表,从而有效降低视频发送线程堵塞的概率。
在图1所示实施例中,若视频帧传输成功,可置起正常标志位。具体通过图2所示实施方式进行详细说明。
参照图2,一种服务器端异步IO的发送方法还包括如下步骤:
S201、若视频帧传输成功,置起正常标志位。
根据步骤S106可知,置起正常标志位是指将正常标志位置为1,以表示数据发送成功。
S202、每间隔预设的获取时间,获取一次视频帧,并执行建立网络连接,并使用异步IO的发送函数向网络中传输视频帧的步骤。
获取时间的区间范围为10毫秒至20毫秒之间,通过发送函数获取视频帧,并使用异步IO的发送函数向网络中传输视频帧。
本实施方式提供的服务器端异步IO的发送方法,若视频帧传输成功,表明视频发送线程堵塞的概率较小,此时即置起正常标志位,并继续间隔获取时间获取视频帧,以实现视频帧的快速传输。
在图1所示实施例的步骤S104后,若写关注事件为不可写状态,此时可通过判断目标链表是否为空链表判断是否置起写关注标志位。具体通过图3所示实施方式进行详细说明。
参照图3,在将剩余视频帧存储于目标链表,并等待写关注事件之后,还包括如下步骤:
S301、若写关注事件为不可写状态,每间隔获取时间,获取一次待传输视频帧。
由步骤S202可知,获取时间的区间范围为10毫秒至20毫秒之间,写关注事件为不可写状态表明,网络连接处于不可写状态,即数据不能发送出去的状态,此时则每间隔获取时间获取一次待传输视频帧,待传输视频帧指还未通过发送函数发送的视频帧。
S302、判断目标链表是否为空链表。
空链表指没有数据项的链表,即该链表中没有任何元素。目标链表是空链表表明目标链表中未存储任何数据。本实施例中,通过检查目标链表的元素个数判断目标链表是否为空链表。如果元素个数为0,说明目标链表为空链表;如果元素个数不为0,说明目标链表不是空链表。
S303、若为空链表,将目标链表作为失败链表,并置起写关注标志位。
若目标链表为空链表,则将目标链表作为失败链表,即将目标链表用于存储发送失败的视频帧,使其成为一个失败链表。此时则置起写关注标志位,发送函数即将视频帧进行发送。
S304、等待内核调用发送函数并等待写关注事件。
内核是指操作系统的核心部分,它负责处理系统底层的任务,如内存管理、处理器管理和I/O设备管理等,并提供系统调用接口供用户程序使用。内核调用发送函数是指通过调用内核提供的发送函数实现数据的发送。等待写关注事件是指在发送函数发送数据时,当网络连接处于不可写状态时,发送函数会等待写关注事件,以便在网络连接处于可写状态时发送数据。若发送函数在网络连接处于不可写状态时尝试发送数据,可能会造成网络阻塞,从而影响网络的性能,故需等待写关注事件。
S305、若目标链表不为空链表,通过发送函数发送待传输视频帧。
若目标链表不为空链表时,表明网络连接处于可写状态,因此通过发送函数发送待传输的视频帧,以便尽快将视频帧传输到目标链表中,从而提高视频帧传输的效率。
本实施方式提供的服务器端异步IO的发送方法,写关注事件为不可写状态表明网络流量过大,此时网络无法再传输数据,此时在目标链表为空链表时,置起写关注标志位,使视频帧在写关注事件发生时,将视频帧传输至目标链表,从而使视频帧不会在发送缓冲区中堵塞,有效降低视频发送线程堵塞的概率;同时目标链表不为空链表时,表明网络连接处于可写状态,因此要通过发送函数发送待传输的视频帧,以便尽快将视频帧传输到目标链表中,从而提高视频帧传输的效率。
本申请实施例还公开一种智能终端,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其中,处理器执行计算机程序时,采用了上述实施例中的服务器端异步IO的发送方法。
其中,智能终端可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,智能终端包括但不限于处理器以及存储器,例如,智能终端还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为智能终端的内部存储单元,例如,智能终端的硬盘或者内存,也可以为智能终端的外部存储设备,例如,智能终端上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为智能终端的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及智能终端所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本智能终端,将上述实施例中的服务器端异步IO的发送方法存储于智能终端的存储器中,并且,被加载并执行于智能终端的处理器上,方便使用。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的服务器端异步IO的发送方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例中的服务器端异步IO的发送方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。
Claims (9)
1.一种服务器端异步IO的发送方法,其特征在于,包括:
建立网络连接,生成发送任务,并通过视频发送线程使用异步IO的发送函数向网络中传输视频帧;
判断所述视频帧是否传输成功;
若传输失败,置起写关注标志位,判定所述发送任务失败,获取所述视频帧中未传输的剩余视频帧;
将所述剩余视频帧存储于目标链表,并等待写关注事件;所述写关注事件包括可写状态和不可写状态;
在所述写关注事件为可写状态时,传输所述剩余视频帧,并判断所述剩余视频帧是否全部传输完成;
若全部传输完成,取消所述写关注标志位,并置起正常标志位。
2.根据权利要求1所述的一种服务器端异步IO的发送方法,其特征在于,所述方法还包括:
若所述视频帧传输成功,置起正常标志位;
每间隔预设的获取时间,获取一次视频帧,并执行所述建立网络连接,并使用异步IO的发送函数向网络中传输视频帧的步骤。
3.根据权利要求2所述的一种服务器端异步IO的发送方法,其特征在于,在所述将所述剩余视频帧存储于目标链表,并等待写关注事件之后,还包括:
若所述写关注事件为所述不可写状态,每间隔所述获取时间,获取一次待传输视频帧;
判断所述目标链表是否为空链表;
若为所述空链表,将所述目标链表作为失败链表,并置起所述写关注标志位;
等待内核调用所述发送函数并等待写关注事件;
若所述目标链表不为所述空链表,通过所述发送函数发送所述待传输视频帧。
4.根据权利要求3所述的一种服务器端异步IO的发送方法,其特征在于,所述方法还包括:
若所述剩余视频帧未全部传输完成,执行所述每间隔所述获取时间,获取一次待传输视频帧的步骤。
5.根据权利要求1所述的一种服务器端异步IO的发送方法,其特征在于:所述目标链表保存的所述剩余视频帧的帧数量小于10。
6.根据权利要求1所述的一种服务器端异步IO的发送方法,其特征在于:所述视频发送线程为单线程。
7.根据权利要求1所述的一种服务器端异步IO的发送方法,其特征在于,在所述传输所述剩余视频帧之后,还包括:
发送函数结束,并返回发送结果;所述发送结果包括发送成功结果和发送失败结果。
8.一种智能终端,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327631.3A CN116347043A (zh) | 2023-03-24 | 2023-03-24 | 一种服务器端异步io的发送方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327631.3A CN116347043A (zh) | 2023-03-24 | 2023-03-24 | 一种服务器端异步io的发送方法、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116347043A true CN116347043A (zh) | 2023-06-27 |
Family
ID=86878585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310327631.3A Pending CN116347043A (zh) | 2023-03-24 | 2023-03-24 | 一种服务器端异步io的发送方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116347043A (zh) |
-
2023
- 2023-03-24 CN CN202310327631.3A patent/CN116347043A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6484217B1 (en) | Managing shared devices in a data processing system | |
US9705752B2 (en) | Reliably updating a messaging system | |
CN110737534A (zh) | 任务的处理方法、装置和服务器 | |
US10019408B2 (en) | Remote direct memory access (RDMA) high performance producer-consumer message processing | |
US20100100706A1 (en) | Multiple processor system, system structuring method in multiple processor system and program thereof | |
US11487571B2 (en) | Method and system for efficient utilization of resources in containers | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN112836152B (zh) | 页面渲染方法、系统、计算机设备及计算机可读存储介质 | |
CN110543359A (zh) | 一种任务队列运行装置 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN113660173B (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
US9507637B1 (en) | Computer platform where tasks can optionally share per task resources | |
CN113535425A (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN110413398B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN117407159A (zh) | 内存空间的管理方法及装置、设备、存储介质 | |
CN116347043A (zh) | 一种服务器端异步io的发送方法、终端及存储介质 | |
CN112860449B (zh) | 一种防止消息超时导致重启的方法、系统、设备及介质 | |
CN113342511A (zh) | 一种分布式任务管理系统及方法 | |
CN110955539A (zh) | 进程退出方法、装置、电子设备及机器可读存储介质 | |
CN113672248A (zh) | 一种补丁获取方法、装置、服务端及存储介质 | |
CN106331036B (zh) | 一种服务器控制方法及装置 | |
CN117539652A (zh) | 设备的访问方法、装置、存储介质及电子设备 | |
CN113704274B (zh) | 一种数据的读取方法及电子设备 | |
CN114338381B (zh) | 消息的单元化处理方法、消息网关与消息的处理系统 | |
CN116820430B (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 |