CN109510838A - 端口启动方法和装置 - Google Patents

端口启动方法和装置 Download PDF

Info

Publication number
CN109510838A
CN109510838A CN201811577850.2A CN201811577850A CN109510838A CN 109510838 A CN109510838 A CN 109510838A CN 201811577850 A CN201811577850 A CN 201811577850A CN 109510838 A CN109510838 A CN 109510838A
Authority
CN
China
Prior art keywords
port
queue
idle
busy
range
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
Application number
CN201811577850.2A
Other languages
English (en)
Other versions
CN109510838B (zh
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.)
Beijing Wondersoft Technology Co Ltd
Original Assignee
Beijing Wondersoft Technology 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 Beijing Wondersoft Technology Co Ltd filed Critical Beijing Wondersoft Technology Co Ltd
Priority to CN201811577850.2A priority Critical patent/CN109510838B/zh
Publication of CN109510838A publication Critical patent/CN109510838A/zh
Application granted granted Critical
Publication of CN109510838B publication Critical patent/CN109510838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种端口启动方法和装置,该方法包括:接收流媒体代理启动请求;响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;启动所述第一端口以及与所述第一端口相邻的下一个第二端口;若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续执行所述根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口的步骤,直至所述第一端口以及所述第二端口均启动成功。本发明能够提升对流媒体的代理端口的启动效率,以及提升对流媒体的代理效率,并降低网络延迟。

Description

端口启动方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种端口启动方法和装置。
背景技术
流媒体是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频或多媒体文件。流媒体数据一般采用RTP协议(实时传输协议,Real-time TransportProtocol)进行传输。RTP协议基于UDP协议进行点对点传输,固在不同的网络间进行传输时,需要对其进行代理转发,以使其能穿透网络,到达最终目的地址。
在对RTP协议格式的流媒体数据进行代理转发时,首先要做的就是对流媒体传输所需的RTP协议端口及RTCP协议(Real-time Transport Control Protocol,实时传输控制协议)端口的启动工作,这两个端口为两个相邻的UDP(User Datagram Protocol,用户数据报协议)端口。其中,RTP报文使用低端口,RTCP报文使用高端口。
目前的RTP端口及RTCP端口的启动方式为:首先随机启动一个RTP端口,然后将启动的RTP端口(即传输RTP报文的UDP端口)的端口号加1,即对RTCP端口(即传输RTCP报文的UDP端口)进行启动。若RTCP端口被占用,则关闭RTP端口并重新启动(再随机启动一个RTP端口),如此往复,直致RTCP端口成功启动为止。
那么这种采用RTP端口随机启动,RTCP端口绑定启动的方式时,若流媒体代理服务器仅代理了一路媒体流,造成的影响还可接受(因为,一路流媒体只需要占用两个端口,所以被占用的端口较少)。但是流媒体代理服务器一般需代理多路媒体流,而每一路流媒体都需要启动两个连续的UDP端口,再加上流媒体代理服务器上的其他程序所占用的端口,将造成端口启动冲突的机率大大增加,造成端口要重启多次才能成功启动,极大地影响了流媒体代理服务器对流媒体的代理效率,并加大了网络延迟。
发明内容
本发明提供了一种端口启动方法和装置,以解决相关技术中的端口启动方案所存在的因流媒体的代理端口启动失败率高,所造成的流媒体代理效率低以及网络延迟高的问题。
为了解决上述问题,根据本发明的一个方面,本发明公开了一种端口启动方法,包括:
接收流媒体代理启动请求;
响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;
启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续执行所述根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口的步骤,直至所述第一端口以及所述第二端口均启动成功。
根据本发明的另一方面,本发明还公开了一种端口启动装置,包括:
第一接收模块,用于接收流媒体代理启动请求;
第一获取模块,用于响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;
启动模块,用于启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
所述第一获取模块,还用于若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,直至所述第一端口以及所述第二端口均启动成功。
与现有技术相比,本发明包括以下优点:
这样,本发明实施例通过预先将应用程序很少或不会占用的端口配置在空闲端口范围内,那么在接收到一路流媒体的流媒体代理启动请求后,可以根据预先配置的空闲端口范围(即可用端口范围),以及空闲端口队列和非空闲队列,来获取用于代理该一路流媒体的第一端口,然后,启动该第一端口,以及与该第一端口相邻的下一个端口,即第二端口,由于启动的代理流媒体的两个端口参考了空闲端口范围以及两个队列,从而能够确保两个端口的启动成功率,被占用的可能性较小,并且,即便任意一个端口被占用,则可以继续执行获取第一端口的方法,再重新获取第一端口,能够较快的查找到能够启动的第一端口和第二端口,提升对流媒体的代理效率,并降低了网络延迟。
附图说明
图1是本发明的一种端口启动方法实施例的步骤流程图;
图2是本发明的另一种端口启动方法实施例的步骤流程图;
图3是本发明的又一种端口启动方法实施例的步骤流程图;
图4是本发明的一种视频传输系统实施例的工作流程图;
图5是本发明的一种端口启动装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种端口启动方法实施例的步骤流程图,可以应用于流媒体代理服务器,该方法具体可以包括如下步骤:
步骤101,接收流媒体代理启动请求;
其中,流媒体代理启动请求即表示请求流媒体代理服务器对一路流媒体进行代理,该请求可以包括请求地址信息,即该一路流媒体在流媒体服务器上的地址信息;此外,该请求还可以包括接收端口信息,即请求该路流媒体的客户端对该路流媒体的接收端口信息。
其中,流媒体包括但不限于音频、视频或多媒体文件,后文为了便于理解,均以代理传输的流媒体为视频数据为例进行说明。
步骤102,响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口;
其中,在本发明实施例中,为了能够对一路或多个流媒体数据进行高效代理传输,提供了一种高效的启动流媒体代理服务器上的端口的方法,在本发明实施例中,可以采用预分配的方式来启动用于代理一路流媒体的两个端口,即RTP端口(即传输RTP报文的UDP端口)以及RTCP端口(即传输RTCP报文的UDP端口),而非相关技术中的随机方式来启动两个端口。
具体而言,本发明实施例可以预先配置端口范围,该端口范围内的各个端口都是流媒体代理服务器上不会或很少被其它程序占用的UDP端口,那么基于该预先配置的空闲端口范围,来启动其中的两个连续的UDP端口,就可以大大地减少启动的用于代理视频流的端口与其他程序正在使用的端口冲突的可能性。
其中,预先配置的空闲端口范围可以包括一个或多个端口区间,每个端口区间包括至少两个连续的UDP端口。
例如该预先配置的空闲端口范围包括[1,100],[105,107],[109,110],即预先配置的空闲端口包括1号至100号端口、105号至107号端口,以及109至110号端口。
其中,这里获取的第一端口,为上述空闲端口范围内的一个端口,并且,该空闲端口范围内还包括端口号是该第一端口的端口号加1的相邻的第二端口。
其中,在步骤101之后,可以创建初始状态为空(即不存在数据的)两个队列,一个队列称作空闲端口队列,另一个队列称作非空闲端口队列。
其中,空闲端口队列,用于存储已代理过流媒体数据而处于关闭状态的RTP端口,而非空闲端口队列用于存储正在代理流媒体数据的而正在处于启动状态的RTP端口;
那么为了响应于对例如一路视频数据进行代理的所述流媒体代理启动请求,可以根据预先配置的空闲端口范围、所述空闲端口队列以及非空闲端口队列,来获取一个属于该空闲端口范围内的UDP端口,该UDP端口记为第一端口。其中,第一端口指代传输RTP报文的UDP端口,又名RTP端口。
由于该预先配置的空闲端口范围内的各个UDP端口都是很少被其他应用占用的UDP端口,因此,这里获取的第一端口处于空闲状态的概率极高。
可选地,为了避免在配置该空闲端口范围之后,该流媒体代理服务器又安装了新的应用程序,导致该应用程序运行时占用了该空闲端口范围之内中的一个或多个端口,这种情况下,为了避免对本发明实施例的端口启动效率的影响。
在一个实施例中,根据本发明实施例的方法还可以包括:
在配置该空闲端口范围之后,若检测到新安装的应用程序,则获取该应用程序对应的第三端口(可以根据该应用程序的先验数据,来确定该应用程序常用哪些UDP端口);将该第三端口从该空闲端口范围中删除。
然后,在将第三端口删除之后,如果该空闲端口范围还包括与所述第三端口相邻、且端口号为该第三端口的端口号加一或减一的第四端口,并且,所述空闲端口范围不包括与所述第四端口相邻、且端口号为该第四端口的端口号加一或减一的第五端口,则将第四端口也从该空闲端口范围中删除。
相反,如果在将第三端口删除之后,如果该空闲端口范围还包括与所述第三端口相邻、且端口号为该第三端口的端口号加一或减一的第四端口,并且,所述空闲端口范围包括与所述第四端口相邻、且端口号为该第四端口的端口号加一或减一的第五端口,则不进行任何处理。
经过上述步骤,可以实现对该空闲端口范围的更新。
例如上述空闲端口范围中的106号端口为第三端口,则105号和107号端口都是第四端口,显然,该空闲端口范围内不包括104号端口、也不包括108号端口,因此,在将106号端口删除后,与其相邻的105号和107号端口也不存在与各自相邻的且端口号连续的端口,因此,105号和107号也不能够作为分配至流媒体代理的端口,从而将二者从该空闲端口范围内删除,降低因为安装应用程序对本发明流媒体代理的端口启动效率的影响。
可选地,为了避免在配置该空闲端口范围之后,该流媒体代理服务器卸载了应用程序,而该应用程序对应有常用的端口,那么为了能够使空闲端口范围内的端口更加丰富,提升端口启动效率。
在一个实施例中,根据本发明实施例的方法还可以包括:
在配置该空闲端口范围之后,若检测到已安装的应用程序被卸载,则获取该被卸载的应用程序对应的第六端口(可以根据该应用程序的先验数据,来确定的该应用程序常用哪些UDP端口);若该第六端口为端口号连续的至少两个端口,或,若该第六端口的端口号与所述空闲端口范围内的一个端口的端口号连续,则将所述第六端口添加至所述空闲端口范围。
例如卸载的应用程序常用的端口为108号端口,而108号端口在例如预先配置的空闲端口范围中存在端口号与之相邻的107号和109号端口,因此,可以将该108号端口,补充到该空闲端口范围之内。
当然,需要注意的是,本发明实施例对于因应用程序的安装而更新空闲端口范围的步骤,和因应用程序的卸载而更像空闲端口范围的步骤的执行顺序不做限制。两个实施例的步骤都可以达到对空闲端口范围内的端口号进行更新的目的。
步骤103,启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
例如该预先配置的空闲端口范围包括[1,100],[105,107],[109,110],这里的第一端口为第1号端口,则本步骤需要启动1号端口,以及端口号加1的2号端口(第二端口)。
需要说明的是,这里限定的与第一端口相邻的下一个第二端口,需要是端口号与第一端口的端口号相邻,例如2号与1号相邻,且第二端口的端口号是第一端口的端口号加1。
步骤104,若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续执行步骤102,直至所述第一端口以及所述第二端口均启动成功。
其中,由于预先设置的空闲端口范围是流媒体代理服务器上应用程序很少或不会占用的端口,因此,一般情况下,这两个端口都不会被占用。
但是,如果在配置该空闲端口范围之后,如果流媒体代理服务器上安装了新的应用程序,或者因为其他原因,造成该空闲端口范围内的某一个端口被占用,则会存在本步骤所述的第一端口和第二端口中存在至少一个端口启动失败的情况。那么在这种情况下,则需要继续执行上述步骤102,从而获取另外一个第一端口,需要说明的是,再次步骤102时,则会以上一次获取的第一端口的端口号加2的方式,来获取第一端口,例如获取3号端口,直至第一端口和第二端口均启动成功,即两个端口都没有被占用。
需要说明的是,由于本实施例在获取第一端口时,结合了空闲端口范围以及空闲端口队列和非空闲端口队列,因此,第一端口和第二端口中任意一个端口启动失败的原因不会是两个端口之中的至少一个端口被代理的另一路视频流而占用。
例如一路视频流1占用了5号端口和6号端口,则再接收到一路视频流的代理启动请求后,在获取第一端口时,不会获取5号端口。
这样,本发明实施例通过预先将应用程序很少或不会占用的端口配置在空闲端口范围内,那么在接收到一路流媒体的流媒体代理启动请求后,可以根据预先配置的空闲端口范围(即可用端口范围),以及空闲端口队列和非空闲队列,来获取用于代理该一路流媒体的第一端口,然后,启动该第一端口,以及与该第一端口相邻的下一个端口,即第二端口,由于启动的代理流媒体的两个端口参考了空闲端口范围以及两个队列,从而能够确保两个端口的启动成功率,被占用的可能性较小,并且,即便任意一个端口被占用,则可以继续执行获取第一端口的方法,再重新获取第一端口,能够较快的查找到能够启动的第一端口和第二端口,提升对流媒体的代理效率,并降低了网络延迟。
参照图2,示出了本发明的另一种端口启动方法实施例的步骤流程图,具体可以包括如下步骤:
S201,接收流媒体代理启动请求;
具体参照步骤101,这里不再赘述。
S202,响应于所述流媒体代理启动请求,判断空闲端口队列是否为空;
其中,该空闲端口队列初始状态下是空的,即在流媒体服务器本次开机后,还未接收到过任何流媒体代理启动请求,未代理过任何流媒体;或者,正在代理一路或多路流媒体数据。
若是,则S203,根据预先配置的空闲端口范围以及非空闲端口队列,获取第一端口;
其中,非空闲端口队列用于存储正在代理流媒体数据的而正在处于启动状态的RTP端口(即第一端口),因此,可以根据该非空闲端口队列识别该空闲端口范围内那些第一端口处于正在代理流媒体的启动状态,那么在获取用于代理本实施例的一路流媒体的第一端口时,就可以在该空闲端口范围内的,除该非空闲端口队列之内的第一端口,以及与该队列内的第一端口对应的第二端口之外的端口范围内,获取本实施例需要使用的第一端口。
例如非空闲端口队列存储有1号端口、3号端口。那么这里在获取第一端口时,就可以在该预先配置的空闲端口范围包括[1,100],[105,107],[109,110]中,除去1号~4号端口,得到新的端口范围[5,100],[105,107],[109,110],在该新的端口范围内获取可用的第一端口,但是,这里获取的第一端口需要在该新的端口范围内具有与之相邻的端口号加1的第二端口。
可选地,在执行S203时,可以通过图3所示的方法来实现:
S301,判断非空闲端口队列是否为空;
若是,则S302,根据预先配置的空闲端口范围,识别端口号连续的两个端口;
其中,如果空闲端口队列是空的,且非空闲端口队列是空的,则说明本次接收到的流媒体代理启动请求是流媒体代理服务器开机后收到的第一个流媒体代理启动请求,所以只需要借助于该预先配置的空闲端口范围,来识别端口号连续的两个端口即可。例如可以从该空闲端口范围[1,100],[105,107],[109,110]中识别端口号连续的任意两个端口即可,例如可以是1号和2号端口、5号和6号端口、106和107号端口等等,这里不再列举。
若否,则S303,根据所述非空闲端口队列,识别非空闲的目标第一端口;根据预先配置的空闲端口范围,识别与所述目标第一端口相邻、且端口号大于所述目标第一端口的目标第二端口;在预先配置的空闲端口范围内,识别除所述目标第一端口和所述目标第二端口之外的端口号连续的两个端口;
其中,如果空闲端口队列是空的,且非空闲端口队列是非空的,则可以根据该非空闲端口队列,来识别目前正在因为代理流媒体而占用的目标第一端口,其中,该目标第一端口可以理解为该非空闲端口队列中存储的所有第一端口(例如1号端口和3号端口正在被占用);然后,在该预先配置的空闲端口范围内,识别与1号端口相邻且端口号大于该1号的目标第二端口,即2号端口,以及识别与3号端口相邻且端口号大于该2号端口的目标第二端口,即4号端口;接着,在该预先配置的空闲端口范围内([1,100],[105,107],[109,110]),识别除该1~4号端口之外的端口号连续的两个端口,这里的两个端口可以是除1~4号端口之外端口号连续的任意两个端口,例如可以是5号和6号端口、98号和99号端口、105和106号端口等等,这里不再列举。
在S302或S303之后,S304,获取所述两个端口中端口号较小的第一端口。
那么不论是S302还是S303,都可以在预先配置的空闲端口范围内识别到未被其他路流媒体的代理请求而占用的两个连续的端口,这里只需要获取识别到的两个端口中端口号较小的第一端口。例如S302或S303识别到的两个端口为105号和106号端口,则这里获取105号端口,来作为响应本次接收到的流媒体代理启动请求的RTP端口。
这样,在本发明实施例中,当空闲端口队列为空时,本发明实施例的方法可以在非空闲端口队列是空或非空的两种情况下,结合非空闲端口队列中的数据,来从预先配置的空闲端口范围内准确的识别到未被代理的其他路流媒体占用的空闲端口,从而获取用于代理本路流媒体的第一端口,不仅可以避免获取到的RTP端口和RTCP端口不被其他程序占用,还可以避免获取到的第一端口不被正在代理的其他支路的流媒体占用的端口,减少端口冲突发生的可能性,提高RTP端口、RTCP端口的启动效率。
若否,则S204,从所述空闲端口队列获取第一端口;
其中,如果空闲端口队列不是空的,即其存储有已代理过流媒体数据而处于关闭状态的RTP端口(第一端口)。
也就是说,该空闲端口队列中的各个第一端口选自该预先配置的空闲端口范围内处于空闲状态的端口,且代理过其他支路的流媒体而被关闭的第一端口。所以该空闲端口队列中的任意一个第一端口都是可用的,因此,只需要从该空闲端口队列获取任意一个端口,即第一端口。
S205,启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
其中,可以启动该第一端口以及第一端口的端口号加1的第二端口。
S206,判断所述第一端口和所述第二端口是否均启动成功;
即,判断两个端口中的任意一个端口是否被其他程序占用。
若否,则执行S202;
其中,若存在至少一个端口被占用,则执行S202,重新启动下一组第一端口和第二端口。
若是,则S207,将所述第一端口写入所述非空闲端口队列;
其中,若两个端口均启动成功,则可以将启动成功而代理本支路流媒体数据的第一端口写入到非空闲端口队列中,避免该第一端口被用于代理其他支路的流媒体数据。
可选地,若是,则S208,根据所述流媒体代理启动请求,识别第一会话ID;
其中,该流媒体代理启动请求中可以包括会话ID,不同支路的流媒体对应的流媒体代理启动请求中的会话ID不同。
可选地,S209,建立所述第一端口以及所述第二端口,与所述第一会话ID的关联关系;
其中,由于这里启动的第一端口和第二端口,用于代理该流媒体代理启动请求对应的一路流媒体,因此,可以建立该第一端口和第二端口与该第一会话ID的关联关系。
S210,接收流媒体代理关闭请求;
其中,当流媒体代理服务器使用第一端口和第二端口将视频服务器上的一路视频流传输到视频请求者后,即完成了该流媒体代理启动请求对应的一路流媒体的代理工作后,可以接收到流媒体代理关闭请求。
可选地,该流媒体代理关闭请求也可以携带会话ID,该会话ID与上述流媒体启动请求携带的会话ID是相同的。
即,针对同一支路流媒体的流媒体代理启动请求和流媒体代理关闭请求所携带的会话ID是相同的。
S211,响应于所述流媒体代理关闭请求,关闭所述第一端口以及所述第二端口,并将所述第一端口写入所述空闲端口队列,以及将所述第一端口从所述非空闲端口队列删除。
其中,在一路流媒体的代理工作需要关闭后,则不仅可以关闭代理该路流媒体的第一端口以及第二端口,还可以将代理该路流媒体的第一端口写入到空闲端口队列中,以及将代理该路流媒体的第一端口从非空闲端口队列中删除。
这样,本发明实施例考虑到流媒体代理服务器需要做多路流媒体的代理,因此,为了使多路流媒体数据高效传输,需要高效地启动流媒体代理服务器上的多路端口,具体通过判断空闲端口队列和非空闲端口队列是否为空,来采用不同的策略获取可用的第一端口,并在用于代理一路流媒体的第一端口和第二端口均启动成功的情况下,来将启动的第一端口写入非空闲端口队列,以及在响应于对该路流媒体的流媒体代理关闭请求时,将该第一端口从非空闲端口队列删除,以及将其写入空闲端口队列,通过对可用端口的管理,并在第一端口,即RTP代理关闭时及时的释放端口资源,以供后续流媒体的代理使用,提高了端口资源的使用效率。
可选地,在所述方法包括S208和S209的步骤的情况下,在执行S211时,可以通过以下S401~S405来实现:
S401,根据所述流媒体代理关闭请求,识别第二会话ID;
S402,识别与所述第二会话ID关联的第一端口和第二端口;
其中,由于用于代理一路流媒体的第一端口和第二端口,与该一路流媒体的会话ID已经建立了关联关系,因此,可以直接识别流媒体代理关闭请求对应的会话ID,并识别与该会话ID关联的第一端口和第二端口。
例如流媒体代理服务器正在代理两路流媒体,流媒体1的会话ID1与1号端口和2号端口关联;流媒体2的会话ID2与3号端口和4号端口关联。
这里请求关闭流媒体代理服务的会话ID为ID2,则可以识别到3号端口和4号端口。
S403,关闭所述第一端口和所述第二端口;
这里可以关闭3号端口和4号端口。
S404,将与所述第二会话ID关联的第一端口写入所述空闲端口队列,以及将与所述第二会话ID关联的第一端口从所述非空闲端口队列删除;
S405,删除所述第一端口和所述第二端口与所述第二会话ID的关联关系。
其中,可以将3号端口写入到空闲端口队列,以及将3号端口从非空闲端口队列删除。
其中,本发明对于S403和S404的执行顺序不做限制,S405在S403和S404均执行完成之后再执行。
这样,本发明实施例通过在启动代理一路流媒体的两个端口后,建立该两个端口与该路流媒体的会话ID的关联关系,并在关闭该路流媒体的代理服务时,利用该关联关系来关闭代理该路流媒体的两个端口,并将两个端口中的第一端口从非空闲端口队列删除,并添加到空闲端口队列中,最后,删除该两个端口与该会话ID的关联关系,使得在关闭某路支路的流媒体的代理服务时,可以准确的关闭掉对应的两个端口,避免将代理其他支路流媒体的两个端口关闭的情况,通过对可用端口和不可用端口的有效管理,来提升对多路流媒体的代理效率。
基于上述实施例的端口启动方法,本发明实施例还提供了一种视频传输系统,该系统如图4所示,包括前端客户端、前端流媒体代理服务器、后端流媒体代理服务器和视频服务器。
其中,前端客户端、前端流媒体代理服务器位于外网中,后端流媒体代理服务器和视频服务器处于内网中,内网属于安全区域,外网属于公共区域。内网的视频服务器存储有内部视频,本发明实施例提供了一种视频传输方法,来从内网的视频服务器获取视频数据到外网。
由于内网和外网之间存在着信息的隔离,因此,这里通过两个单向网闸(网闸1和网闸2)来实现内网和外网的信息交互。
如图4所示,本发明实施例的视频传输方法可以包括如下步骤:
S51,前端客户端发送视频请求到前端流媒体代理服务器;并且,前端客户端开启1000号端口来准备接收视频数据;
其中,视频请求包括接收端口的端口号——1000,以及视频服务器上被请求的目标视频文件的位置信息A)
S52,前端流媒体代理服务器将该视频请求经由网闸1转发到后端流媒体代理服务器;
S53,后端流媒体代理服务器在接收到前端的视频请求,实际是一条会话消息后,首先判断该会话消息是否为表示请求视频的信息,即视频请求,也即上述端口启动方法实施例所述的流媒体代理启动请求,如果是,则利用上述端口启动方法来启动后端流媒体代理服务器上的用于响应该视频请求的第一端口和第二端口,即RTP端口(例如2000号端口)和RTCP端口。
由于原本是由前端客户端的1000号端口接收来自视频服务器的A位置的视频数据,但是,由于本发明实施例的方法使用了后端流媒体代理服务器,对多路视频流的传输工作进行代理,因此,来自视频服务器的A位置的视频数据首先由后端流媒体代理服务器的2000号端口接收,然后,才会转发给前端客户端的1000号端口,所以这里后端流媒体代理服务器需要保存1000号端口与2000号端口之间的映射关系。该映射关系可以与该视频请求中的会话ID相关联。
S54,然后,后端流媒体代理服务器将表示RTP端口开启的消息(携带有2000号端口信息)经由网闸2发送到前端流媒体代理服务器;
S55,如果后端流媒体代理服务器判断从前端流媒体代理服务器接收到的上述会话消息不是表示请求视频的信息,而是表示结束会话的信息,即上述端口启动方法所述的流媒体代理关闭请求,则根据流媒体代理关闭请求中的会话ID,查找与之关联的RTP端口,即2000号端口,并关闭该2000号端口,并将表示RTP端口关闭的消息(不需要携带端口号,携带会话ID即可,因为,前端流媒体代理服务器也保存了会话ID与1000号端口之间的关联关系)经由网闸2发送到前端流媒体代理服务器,使得前端知道后端流媒体代理服务器的RTP端口已经关闭;
S56,前端流媒体代理服务器在接收到S55的表示RTP端口关闭的消息后,则可以根据该消息中的会话ID关闭前端客户端的1000号端口;
S57,前端流媒体代理服务器在接收到S56的表示RTP端口开启的消息后,则确认前后端RTP代理转发通道成功建立;
S58,后端流媒体代理服务器转发视频请求(其中,将视频请求中的端口号从1000号修改为2000号)至视频服务器,并使用2000号端口来接收来自视频服务器的A位置的视频数据;
S59,后端流媒体代理服务器在使用2000号端口接收到视频数据后,根据保存的映射关系,找到客户端的1000号端口,将视频数据与端口号1000号经由网闸2发送给前端流媒体代理服务器;
S60,前端流媒体代理服务器根据接收到的视频数据和端口号1000,连接前端客户端的1000号端口,并将视频数据发送给前端客户端的1000号端口。
借助于本发明上述实施例的技术方案,本发明实施例的视频传输方法和系统可以利用流媒体代理服务器,来对内网向外网的视频传输提供高效的多路代理工作,提升对多路流媒体数据的传输效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
与上述本发明实施例所提供的方法相对应,参照图5,示出了本发明一种端口启动装置实施例的结构框图,具体可以包括如下模块:
第一接收模块501,用于接收流媒体代理启动请求;
第一获取模块502,用于响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;
启动模块503,用于启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
所述第一获取模块502,还用于若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,直至所述第一端口以及所述第二端口均启动成功。
可选地,所述第一获取模块502包括:
判断子模块,用于判断空闲端口队列是否为空;
第一获取子模块,用于若所述判断子模块判断空闲端口队列为空,则根据预先配置的空闲端口范围以及非空闲端口队列,获取第一端口;
第二获取子模块,用于若所述判断子模块判断空闲端口队列不为空,则从所述空闲端口队列获取第一端口;
可选地,所述装置还包括:
第一入队模块,用于在所述第一端口以及所述第二端口均启动成功之后,将所述第一端口写入所述非空闲端口队列;
第二接收模块,用于接收流媒体代理关闭请求;
关闭模块,用于响应于所述流媒体代理关闭请求,关闭所述第一端口以及所述第二端口;
第二入队模块,用于响应于所述流媒体代理关闭请求,将所述第一端口写入所述空闲端口队列;
第一出队模块,用于响应于所述流媒体代理关闭请求,将所述第一端口从所述非空闲端口队列删除。
可选地,所述第一获取子模块包括:
判断单元,用于判断非空闲端口队列是否为空;
第一识别单元,用于若所述判断单元判断非空闲端口队列为空,则根据预先配置的空闲端口范围,识别端口号连续的两个端口;
第二识别单元,用于若所述判断单元判断非空闲端口队列不为空,则根据所述非空闲端口队列,识别非空闲的目标第一端口,以及根据预先配置的空闲端口范围,识别与所述目标第一端口相邻、且端口号大于所述目标第一端口的目标第二端口,并在预先配置的空闲端口范围内,识别除所述目标第一端口和所述目标第二端口之外的端口号连续的两个端口;
获取单元,用于获取所述两个端口中端口号较小的第一端口。
可选地,所述装置还包括:
识别模块,用于在所述第一端口以及所述第二端口均启动成功之后,根据所述流媒体代理启动请求,识别第一会话ID;
关联模块,用于建立所述第一端口以及所述第二端口,与所述第一会话ID的关联关系;
所述关闭模块,还用于根据所述流媒体代理关闭请求,识别第二会话ID,识别与所述第二会话ID关联的第一端口和第二端口,关闭所述第一端口和所述第二端口;
所述第二入队模块,还用于响应于所述流媒体代理关闭请求,将与所述第二会话ID关联的第一端口写入所述空闲端口队列;
所述第一出队模块,还用于响应于所述流媒体代理关闭请求,将与所述第二会话ID关联的第一端口从所述非空闲端口队列删除;
第一删除模块,用于删除所述第一端口和所述第二端口与所述第二会话ID的关联关系。
可选地,所述装置还包括:
第二获取模块,用于在配置所述空闲端口范围之后,若检测到新安装的应用程序,则获取所述应用程序对应的第三端口;
第二删除模块,用于将所述第三端口从所述空闲端口范围中删除;
第三删除模块,用于在删除所述第三端口之后,如果所述空闲端口范围还包括与所述第三端口相邻、且端口号为所述第三端口的端口号加一或减一的第四端口,并且,所述空闲端口范围不包括与所述第四端口相邻、且端口号为所述第四端口的端口号加一或减一的第五端口,则将第四端口从该空闲端口范围中删除。
可选地,所述装置还包括:
第三获取模块,用于在配置所述空闲端口范围之后,若检测到已安装的应用程序被卸载,则获取该被卸载的应用程序对应的第六端口;
更新模块,若该第六端口为端口号连续的至少两个端口,或,若该第六端口的端口号与所述空闲端口范围内的一个端口的端口号连续,则将所述第六端口添加至所述空闲端口范围。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种端口启动方法和一种端口启动装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种端口启动方法,其特征在于,包括:
接收流媒体代理启动请求;
响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;
启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续执行所述根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口的步骤,直至所述第一端口以及所述第二端口均启动成功。
2.根据权利要求1所述的方法,其特征在于,
所述根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,包括:
判断空闲端口队列是否为空;
若是,则根据预先配置的空闲端口范围以及非空闲端口队列,获取第一端口;
若否,则从所述空闲端口队列获取第一端口;
在所述第一端口以及所述第二端口均启动成功之后,所述方法还包括:
将所述第一端口写入所述非空闲端口队列;
接收流媒体代理关闭请求;
响应于所述流媒体代理关闭请求,关闭所述第一端口以及所述第二端口,并将所述第一端口写入所述空闲端口队列,以及将所述第一端口从所述非空闲端口队列删除。
3.根据权利要求2所述的方法,其特征在于,所述根据预先配置的空闲端口范围以及非空闲端口队列,获取第一端口,包括:
判断非空闲端口队列是否为空;
若是,则根据预先配置的空闲端口范围,识别端口号连续的两个端口;
若否,则根据所述非空闲端口队列,识别非空闲的目标第一端口;根据预先配置的空闲端口范围,识别与所述目标第一端口相邻、且端口号大于所述目标第一端口的目标第二端口;在预先配置的空闲端口范围内,识别除所述目标第一端口和所述目标第二端口之外的端口号连续的两个端口;
获取所述两个端口中端口号较小的第一端口。
4.根据权利要求2所述的方法,其特征在于,
在所述第一端口以及所述第二端口均启动成功之后,所述方法还包括:
根据所述流媒体代理启动请求,识别第一会话ID;
建立所述第一端口以及所述第二端口,与所述第一会话ID的关联关系;
所述响应于所述流媒体代理关闭请求,关闭所述第一端口以及所述第二端口,并将所述第一端口写入所述空闲端口队列,以及将所述第一端口从所述非空闲端口队列删除,包括:
根据所述流媒体代理关闭请求,识别第二会话ID;
识别与所述第二会话ID关联的第一端口和第二端口;
关闭所述第一端口和所述第二端口;
将与所述第二会话ID关联的第一端口写入所述空闲端口队列,以及将与所述第二会话ID关联的第一端口从所述非空闲端口队列删除;
删除所述第一端口和所述第二端口与所述第二会话ID的关联关系。
5.根据权利要求1所述的方法,其特征在于,在配置所述空闲端口范围之后,所述方法还包括:
若检测到新安装的应用程序,则获取所述应用程序对应的第三端口;
将所述第三端口从所述空闲端口范围中删除;
在删除所述第三端口之后,如果所述空闲端口范围还包括与所述第三端口相邻、且端口号为所述第三端口的端口号加一或减一的第四端口,并且,所述空闲端口范围不包括与所述第四端口相邻、且端口号为所述第四端口的端口号加一或减一的第五端口,则将第四端口从该空闲端口范围中删除。
6.一种端口启动装置,其特征在于,包括:
第一接收模块,用于接收流媒体代理启动请求;
第一获取模块,用于响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,其中,所述空闲端口队列、所述非空闲端口队列的初始状态均为空;
启动模块,用于启动所述第一端口以及与所述第一端口相邻的下一个第二端口;
所述第一获取模块,还用于若所述第一端口和所述第二端口中的任意一个端口启动失败,则继续响应于所述流媒体代理启动请求,根据预先配置的空闲端口范围、空闲端口队列以及非空闲端口队列,获取第一端口,直至所述第一端口以及所述第二端口均启动成功。
7.根据权利要求6所述的装置,其特征在于,
所述第一获取模块包括:
判断子模块,用于判断空闲端口队列是否为空;
第一获取子模块,用于若所述判断子模块判断空闲端口队列为空,则根据预先配置的空闲端口范围以及非空闲端口队列,获取第一端口;
第二获取子模块,用于若所述判断子模块判断空闲端口队列不为空,则从所述空闲端口队列获取第一端口;
所述装置还包括:
第一入队模块,用于在所述第一端口以及所述第二端口均启动成功之后,将所述第一端口写入所述非空闲端口队列;
第二接收模块,用于接收流媒体代理关闭请求;
关闭模块,用于响应于所述流媒体代理关闭请求,关闭所述第一端口以及所述第二端口;
第二入队模块,用于响应于所述流媒体代理关闭请求,将所述第一端口写入所述空闲端口队列;
第一出队模块,用于响应于所述流媒体代理关闭请求,将所述第一端口从所述非空闲端口队列删除。
8.根据权利要求7所述的装置,其特征在于,所述第一获取子模块包括:
判断单元,用于判断非空闲端口队列是否为空;
第一识别单元,用于若所述判断单元判断非空闲端口队列为空,则根据预先配置的空闲端口范围,识别端口号连续的两个端口;
第二识别单元,用于若所述判断单元判断非空闲端口队列不为空,则根据所述非空闲端口队列,识别非空闲的目标第一端口,以及根据预先配置的空闲端口范围,识别与所述目标第一端口相邻、且端口号大于所述目标第一端口的目标第二端口,并在预先配置的空闲端口范围内,识别除所述目标第一端口和所述目标第二端口之外的端口号连续的两个端口;
获取单元,用于获取所述两个端口中端口号较小的第一端口。
9.根据权利要求7所述的装置,其特征在于,
所述装置还包括:
识别模块,用于在所述第一端口以及所述第二端口均启动成功之后,根据所述流媒体代理启动请求,识别第一会话ID;
关联模块,用于建立所述第一端口以及所述第二端口,与所述第一会话ID的关联关系;
所述关闭模块,还用于根据所述流媒体代理关闭请求,识别第二会话ID,识别与所述第二会话ID关联的第一端口和第二端口,关闭所述第一端口和所述第二端口;
所述第二入队模块,还用于响应于所述流媒体代理关闭请求,将与所述第二会话ID关联的第一端口写入所述空闲端口队列;
所述第一出队模块,还用于响应于所述流媒体代理关闭请求,将与所述第二会话ID关联的第一端口从所述非空闲端口队列删除;
第一删除模块,用于删除所述第一端口和所述第二端口与所述第二会话ID的关联关系。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在配置所述空闲端口范围之后,若检测到新安装的应用程序,则获取所述应用程序对应的第三端口;
第二删除模块,用于将所述第三端口从所述空闲端口范围中删除;
第三删除模块,用于在删除所述第三端口之后,如果所述空闲端口范围还包括与所述第三端口相邻、且端口号为所述第三端口的端口号加一或减一的第四端口,并且,所述空闲端口范围不包括与所述第四端口相邻、且端口号为所述第四端口的端口号加一或减一的第五端口,则将第四端口从该空闲端口范围中删除。
CN201811577850.2A 2018-12-20 2018-12-20 端口启动方法和装置 Active CN109510838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811577850.2A CN109510838B (zh) 2018-12-20 2018-12-20 端口启动方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811577850.2A CN109510838B (zh) 2018-12-20 2018-12-20 端口启动方法和装置

Publications (2)

Publication Number Publication Date
CN109510838A true CN109510838A (zh) 2019-03-22
CN109510838B CN109510838B (zh) 2020-08-28

Family

ID=65754395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811577850.2A Active CN109510838B (zh) 2018-12-20 2018-12-20 端口启动方法和装置

Country Status (1)

Country Link
CN (1) CN109510838B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604589A (zh) * 2004-10-28 2005-04-06 无锡三通科技有限公司 支持会话启动协议穿越的防火墙实现方法
CN101917409A (zh) * 2010-07-23 2010-12-15 深圳粤和通科技有限公司 一种多媒体流的传输方法及系统
CN103702001A (zh) * 2013-12-17 2014-04-02 中国联合网络通信集团有限公司 电话会议平台和电话会议处理方法
US20150124614A1 (en) * 2013-11-05 2015-05-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US20170041289A1 (en) * 2015-08-07 2017-02-09 Avaya Inc. Management for communication ports
CN106656596A (zh) * 2016-12-21 2017-05-10 瑞斯康达科技发展股份有限公司 基于dhcp服务器的snmp网络管理方法及装置
CN108833611A (zh) * 2018-08-01 2018-11-16 中国联合网络通信集团有限公司 一种方法nat地址转换的分配方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604589A (zh) * 2004-10-28 2005-04-06 无锡三通科技有限公司 支持会话启动协议穿越的防火墙实现方法
CN101917409A (zh) * 2010-07-23 2010-12-15 深圳粤和通科技有限公司 一种多媒体流的传输方法及系统
US20150124614A1 (en) * 2013-11-05 2015-05-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
CN103702001A (zh) * 2013-12-17 2014-04-02 中国联合网络通信集团有限公司 电话会议平台和电话会议处理方法
US20170041289A1 (en) * 2015-08-07 2017-02-09 Avaya Inc. Management for communication ports
CN106656596A (zh) * 2016-12-21 2017-05-10 瑞斯康达科技发展股份有限公司 基于dhcp服务器的snmp网络管理方法及装置
CN108833611A (zh) * 2018-08-01 2018-11-16 中国联合网络通信集团有限公司 一种方法nat地址转换的分配方法

Also Published As

Publication number Publication date
CN109510838B (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111355669B (zh) 控制网络拥塞的方法、装置及系统
US9998352B2 (en) Method and system for sending flow table in SDN, of controller, and of switch
CN110502259B (zh) 服务器版本升级方法、视联网系统、电子设备及存储介质
US20160080529A1 (en) Method and device for sending requests
US9479727B1 (en) Call recording with screen and audio correlation
EP2827553B1 (en) Rapid startup with dynamic reservation capabilities for network communication systems
CN113301299A (zh) 一种多通道视频传输方法、系统、终端以及存储介质
CN114500633B (zh) 数据转发方法、相关装置、程序产品及数据传输系统
US8134915B2 (en) Method and apparatus for providing network redundancy
WO2009021424A1 (en) A device and method for handling messages
CN108924485A (zh) 客户端实时视频流中断处理方法及系统、监控系统
CN109587082B (zh) 一种基于Linux操作系统的报文异步转发系统及方法
US10979562B2 (en) Call recording system, call recording method, and call recording program
CN103152266A (zh) 一种网络设备间的同步方法、网络设备及系统
CN105634931B (zh) 消息业务处理方法及即时通讯服务器
CN105306755A (zh) 联络中心质检方法及装置
CN110690990B (zh) 一种服务器升级的方法及装置、电子设备、存储介质
CN109510838A (zh) 端口启动方法和装置
US20050165983A1 (en) System and method for processing data in kernel area by a user command
US20140143315A1 (en) Communication device and communication method
CN109474525A (zh) 报文的处理方法、装置、设备及可读存储介质
CN113612759B (zh) 一种基于sip协议的高性能高并发智能广播系统及实现方法
CN114666846A (zh) 一种通信方法及网关设备
CN115134337A (zh) 一种多场景下工业互联网设备数据传输控制方法及系统
WO2018090315A1 (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