CN116048805A - 数据流的传输方法、装置、电子设备及存储介质 - Google Patents

数据流的传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116048805A
CN116048805A CN202310074815.3A CN202310074815A CN116048805A CN 116048805 A CN116048805 A CN 116048805A CN 202310074815 A CN202310074815 A CN 202310074815A CN 116048805 A CN116048805 A CN 116048805A
Authority
CN
China
Prior art keywords
data
sub
target
data stream
request
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
Application number
CN202310074815.3A
Other languages
English (en)
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.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information 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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202310074815.3A priority Critical patent/CN116048805A/zh
Publication of CN116048805A publication Critical patent/CN116048805A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种数据流的传输方法、装置、电子设备及存储介质,应用于服务器,服务器包括主进程和若干个分进程,主进程接收用户终端发送的数据请求,并获取各个分进程对应的空闲状态信息,然后根据空闲状态信息从若干个分进程中选择用于与用户终端进行数据交互的目标分进程,将数据请求发送至数据管理平台,目标分进程接收数据管理平台返回的针对数据请求的目标数据流,并将目标数据流传输至用户终端,从而保证数据流在传输过程中具有较强并发性以及减少服务器的堆叠数量,大大节省了用户的成本,并且有针对性地根据空闲状态信息确定目标分进程,以减少分进程的资源负载以及实现向用户终端推流的功能。

Description

数据流的传输方法、装置、电子设备及存储介质
技术领域
本发明涉及数据传输技术领域,特别是涉及一种数据流的传输方法、一种数据流的传输装置、一种电子设备以及一种计算机可读存储介质。
背景技术
在现有技术中,数据流的传输过程中往往采用高性能的协转服务器接入数据流管理平台,从数据管理平台中获取相应的数据流,然而,每台协转服务器仅能负载百万数据资源,且加上网卡带宽的限制,协转服务器的并发能力弱,导致能够调用的数据流资源少,例如,采用高性能协转服务器接入百万级监控资源,但是由于千兆网卡带宽的限制,该高性能协转服务器最多能够实现1000M流量的监控资源业务并发,每一实时监控资源按4M计算,其也仅能同时调用500路监控业务,这远远无法满足数据高并发的需求。
发明内容
本发明实施例是提供一种数据流的传输方法、装置、电子设备以及计算机可读存储介质,以解决或者部分解决数据传输过程中,协转服务器的并发能力弱,导致所调用的数据流资源少以及无法满足数据高并发的需求的问题。
本发明实施例公开了一种数据流的传输方法,应用于服务器,所述服务器包括主进程和若干个分进程,所述方法包括:
所述主进程接收用户终端发送的数据请求,并获取各个所述分进程的空闲状态信息;
所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
所述主进程将所述数据请求发送至数据管理平台;
所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
可选地,所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程,包括:
所述主进程按照预设时间间隔获取各个所述分进程的服务器状态标识,所述服务器状态标识表征所述分进程是否处于空闲状态;
所述主进程将所述服务器状态标识处于空闲状态的分进程作为用于与所述用户终端进行数据交互的目标分进程。
可选地,所述主进程将所述数据请求发送至数据管理平台,包括:
所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求;
所述主进程将所述推流请求发送至所述数据管理平台。
可选地,所述数据流信息包括数据流虚拟号码、数据流本地地址以及数据流收流端口,所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求,包括:
所述主进程将所述数据请求发送至所述目标分进程,并接收所述目标分进程返回的与所述数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口;
所述主进程采用所述数据流虚拟号码、所述数据流本地地址以及所述数据流收流端口,生成与所述数据请求对应的推流请求。
可选地,所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端,包括:
所述目标分进程接收所述数据管理平台通过所述数据流收流端口和所述数据流本地地址发送的与所述数据流虚拟号码对应的目标数据流,并将所述目标数据流传输至所述用户终端。
可选地,所述将所述目标数据流传输至所述用户终端,包括:
所述目标分进程对所述目标数据流进行解析处理和组包处理,并传输至所述用户终端。
本发明实施例还公开了一种数据流的传输装置,应用于服务器,所述服务器包括主进程和若干个分进程,所述装置包括:
数据请求接收模块,用于所述主进程接收用户终端发送的数据请求,并获取各个所述分进程对应的空闲状态信息;
目标分进程确定模块,用于所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
数据请求发送模块,用于所述主进程将所述数据请求发送至数据管理平台;
目标数据流传输模块,用于所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
可选地,所述目标分进程确定模块具体用于:
所述主进程按照预设时间间隔获取各个所述分进程的服务器状态标识,所述服务器状态标识表征所述分进程是否处于空闲状态;
所述主进程将所述服务器状态标识处于空闲状态的分进程作为用于与所述用户终端进行数据交互的目标分进程。
可选地,所述数据请求发送模块,包括:
推流请求生成子模块,用于所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求;
数据请求发送子模块,用于所述主进程将所述推流请求发送至所述数据管理平台。
可选地,所述数据流信息包括数据流虚拟号码、数据流本地地址以及数据流收流端口,所述推流请求生成子模块具体用于:
所述主进程将所述数据请求发送至所述目标分进程,并接收所述目标分进程返回的与所述数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口;
所述主进程采用所述数据流虚拟号码、所述数据流本地地址以及所述数据流收流端口,生成与所述数据请求对应的推流请求。
可选地,所述目标数据流传输模块具体用于:
所述目标分进程接收所述数据管理平台通过所述数据流收流端口和所述数据流本地地址发送的与所述数据流虚拟号码对应的目标数据流,并将所述目标数据流传输至所述用户终端。
可选地,所述目标数据流传输模块具体用于:
所述目标分进程对所述目标数据流进行解析处理和组包处理,并传输至所述用户终端。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,应用于服务器,服务器包括主进程和若干个分进程,主进程接收用户终端发送的数据请求,并获取各个分进程对应的空闲状态信息,然后根据空闲状态信息从若干个分进程中选择用于与用户终端进行数据交互的目标分进程,将数据请求发送至数据管理平台,目标分进程接收数据管理平台返回的针对数据请求的目标数据流,并将目标数据流传输至用户终端,从而主进程通过与若干个分进程构建服务器内部集群,有效提高了单台服务器的并发能力,保证数据流在传输过程中具有较强并发性以及减少服务器的堆叠数量,大大节省了用户的成本,并且有针对性地根据空闲状态信息从若干个分进程中选择用于用户终端进行数据交互的目标分进程,以减少分进程的资源负载,在获取到目标数据流时,可以通过控制目标分进程将目标数据流传输至相应的用户终端,进而实现向用户终端推流的功能。
附图说明
图1是本发明实施例中提供的一种数据流的传输方法的步骤流程图;
图2是本发明实施例中提供的主进程和分进程之间的关系示意图;
图3是本发明实施例中提供的数据流传输过程中数据交互的示意图;
图4是本发明实施例中提供的目标监控视频流的推流示意图;
图5是本发明实施例中提供的一种数据流的传输装置的步骤流程图;
图6是本发明实施例中提供的一种电子设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
作为一种示例,在现有的监控视频推流过程中,往往采用高性能协转服务器接入百万级监控资源,但是由于千兆网卡带宽的限制,该高性能协转服务器最多能够实现1000M流量的监控资源业务并发,每一实时监控资源按4M计算,其也仅能同时调用500路监控业务,假设业务需求为同时调用超过500路监控业务的高并发需求,按照现有的技术不仅无法实现这种高并发的数据需求,而且数据高并发需求的使用成本较高。
对此,本发明实施例的核心发明点之一在于应用于服务器,服务器包括主进程和若干个分进程,主进程接收用户终端发送的数据请求,并获取各个分进程对应的空闲状态信息,然后根据空闲状态信息从若干个分进程中选择用于与用户终端进行数据交互的目标分进程,将数据请求发送至数据管理平台,目标分进程接收数据管理平台返回的针对数据请求的目标数据流,并将目标数据流传输至用户终端,从而主进程通过与若干个分进程构建服务器内部集群,有效提高了单台服务器的并发能力,保证数据流在传输过程中具有较强并发性以及减少服务器的堆叠数量,大大节省了用户的成本,并且有针对性地根据空闲状态信息从若干个分进程中选择用于用户终端进行数据交互的目标分进程,以减少分进程的资源负载,在获取到目标数据流时,可以通过控制目标分进程将目标数据流传输至相应的用户终端,进而实现向用户终端推流的功能。
参照图1,示出了本发明实施例中提供的一种数据流的传输方法的步骤流程图,应用于服务器,所述服务器包括主进程和若干个分进程,具体可以包括如下步骤:
步骤101,所述主进程接收用户终端发送的数据请求,并获取各个所述分进程对应的空闲状态信息;
在本发明实施例中,服务器可以用于与数据管理平台以及用户终端进行信令交互以及推流,主进程可以为用于处理信令、启动和监听分进程运行的进程,分进程可以为用于处理数据流以及推流的进程,数据管理平台可以为用于管理数据资源的平台,如用于管理监控设备的监控视频资源的国标平台,用户终端可以为位于视联网的视联网观看终端,数据流可以为一组有顺序的、有起点和终点的字节集合,程序从键盘接收数据或向文件中写数据,以及在网络连接上进行数据的读写操作,都可以使用数据流来完成,如监控视频流,例如,服务器可以为协转服务器,协转服务器通过相关程序在其内部构建包括一个主协转进程和若干个分协转进程的服务器内部集群,采用主协转进程与视联网观看终端和国标平台进行信令交互,采用分协转进程接收国标平台发送的监控视频流,将监控视频流推送至视联网观看终端,从而通过在单台服务器的内部构建集群,有效地提高了单台服务器的并发能力,保证数据流在传输过程中具有较强并发性以及减少服务器的堆叠数量,大大节省了用户的成本。
可选地,数据请求可以为用户终端向主协转进程发送的监控视频流请求,空闲状态信息可以为各个分协转进程定时向主协转进程上报是否处于空闲状态的信息,其可以包括表征分协转进程处于空闲状态的信息和表征分协转进程处于忙碌状态的信息,各个分协转进程通过向主协转进程主动上报空闲状态信息,减少主协转进程的工作量,主协转进程也能够根据空闲状态信息确定负载较小的分协转进程,保证数据在传输过程中处于高效运行的状态。在本发明中,以服务器为协转服务器,相应的,部署于协转服务器的主进程为主协转进程,分进程为分协转进程,用户终端为位于视联网的视联网观看终端,数据管理平台为位于监控网的国标平台作为示例进行说明。
步骤102,所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
在本发明实施例中,主协转在进程获取分协转进程的空闲状态信息之后,可以根据空闲状态信息从若干个分协转进程中选择用于与用户终端进行数据交互的目标分协转进程,从而通过空闲状态信息确定目标分协转进程,保证目标分协转进程能够高效地传输目标视频流,当大量的视联网观看终端同时或者短时间内请求实时监控视频流,则可以通过目标分协转进程实现数据高并发的功能。
可选地,协转服务器启动主协转进程后,主协转进程可以先获取数据请求对应的数据并发量,按照数据并发量启动并监听分协转进程的运行状态,如一个分协转进程的并发能力是100路监控视频流,而数据请求所要求的并发量为1000路监控视频流,那么,主协转进程则可以按照实际并发需求量确定启动10个分协转进程,以构建单台服务器的内部集群,增强服务器的并发能力,因此,当需要将高性能协转产品应用于万兆网卡的服务器上时,同样可以通过在服务器内部构建主进程和若干个分进程实现在服务器内部形成协转各进程的集群,进而使用负载均衡的方式达到近万兆的数据并发,大大提高了单台协转服务器的并发能力,同时采用万兆协转的方式代替服务器集群,不仅节省了用户的成本,而且能够满足用户的数据高并发需求。
参照图2示出了主进程和分进程之间的关系示意图,主协转进程和分协转进程之间可以由守护进程负责启动和监听主协转进程的运行,守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务,很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束,当主协转进程启动后,主协转进程可以启动并监听分协转进程的运行,并且主协转进程和分协转进程共用一套程序,因此在部署时,只需要部署一套程序,并按照实际的设计需求配置N个分协转进程,主协转进程对N个分协转进程进行启动和维护,从而实现了在服务器内部进行集群,由一个进程负责信令交互,其他进程负责数据并发业务,以达到接近N倍协转的并发能力。
在具体实现中,可以按照预设时间间隔获取各个分协转进程的服务器状态标识,服务器状态标识表征分协转进程是否处于空闲状态,将服务器状态标识处于空闲状态的分协转进程作为用于与用户终端进行数据交互的目标分协转进程,通过服务器状态标识可以从若干个分协转进程中选取处于空闲状态的分协转进程,从而将负载小的分协转进程作为目标分协转进程,在推流过程中效率更高、耗时更短。
具体的,服务器状态标识可以为用于表征各个分协转进程是否处于空闲状态的标识,如分协转进程①的服务器状态标识为空闲标识,则说明分协转进程①处于空闲状态,分协转进程②的服务器状态标识为忙碌标识,则说明分协转进程②处于忙碌状态。
作为一种示例,主协转进程与三个分协转进程存在通信连接,分协转进程①、分协转进程②以及分协转进程③之间相互连接,且分协转进程①、分协转进程②以及分协转进程③每隔十分钟向主协转进程上报心跳信息、视联网号码使用数量以及空闲信息等,在主协转进程接收到视联网观看终端发送的数据请求时,主协转进程可以按照各个分协转进程上报的空闲信息从分协转进程①、分协转进程②、分协转进程③中选定目标分协转进程,从而有针对性地根据空闲状态从若干个分协转进程中选择用于用户终端进行数据交互的目标分协转进程,以减少分协转进程的资源负载。
步骤103,所述主进程将所述数据请求发送至数据管理平台;
在本发明实施例中,主协转进程可以先将数据请求发送至目标分协转进程,接收目标分协转进程返回的与数据请求对应的数据流信息,从而生成与数据流信息对应的推流请求,并将推流请求发送至数据管理平台。
可选地,数据管理平台可以为用于管理数据资源的平台,如用于管理监控设备的监控视频资源的国标平台,国标平台可以用于管理数据流、与主协转进程进行信令交互以及与目标分协转进程进行数据传输。
步骤104,所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
在本发明实施例中,主协转进程在确定目标分协转进程之后,将与数据请求对应的推流请求发送至数据管理平台,数据管理平台依据推流请求向目标分协转进程发送目标数据流,目标分协转进程接收数据管理平台返回的针对数据请求的目标数据流后,依据数据请求将目标数据流传输至用户终端,通过将数据请求转换为推流请求,将推流请求发送至数据管理平台,便于数据管理平台能够从大量的数据流中确定出目标数据流,同时准确地将目标数据流发送给目标分协转进程,目标分协转进程也能够依据数据请求准确地向相应的用户终端进行推流。
参照图3示出了数据流传输过程中数据交互的示意图,在万兆服务器上,若目标分协转进程接收到数据请求,则可以调用主协转进程与国标平台、视联网观看方以及各个分协转进程进行数据交互,国标平台可以通过IP网(Internet Protocol,网际互连协议)以及SIP信令(Session Initiation Protocol,会话初始协议)与主协转进程进行交互,万兆协转指的是将高性能协转产品应用于拥有着万兆网卡的服务器上,通过软件优化设计,使其能够达到近万兆数据并发的新产品,IP网指的是所有使用IP协议的网络。IP网包括因特网、基于IP协议的局域网、城域网和广域网,其可以建立在任何底层物理网络之上,支持各种链路层协议,SIP是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议,SIP是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话,具有灵活、易于实现、便于扩展等特点,而分协转进程与主协转进程之间可以直接通过Socket(套接字)在服务器内部进行交互,向主协转进程定时发送心跳信息以及视联网号码已使用数量、空闲数量等携带信息,主协转进程负责信令之间的交互,而分协转进程则负责推流,单个协转服务并发量与N个分协转进程之间的乘积则可以为主协转进程和分协转进程的数据并发性能。
在具体实现中,主协转进程将数据请求发送至目标分协转进程,并接收目标分协转进程返回的与数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口,主协转进程采用数据流虚拟号码、数据流本地地址以及数据流收流端口,生成与数据请求对应的推流请求,并将推流请求发送至数据管理平台,数据管理平台将与数据请求对应的目标数据流发送至目标分协转进程,从而实现主协转进程通过向国标平台(数据管理平台)发送携带了数据流信息的推流请求,使得国标平台可以准确地、快速地将与数据流信息对应的目标数据流发送至目标分协转进程,并且由目标分协转进程向用户终端进行推流,提高了数据流传输的并发性能,满足大数据量的并发需求。
在一种示例中,数据流信息包括数据流虚拟号码、数据流本地地址以及数据流收流端口,将数据请求发送至目标分协转进程,并接收目标分协转进程返回的与数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口,采用数据流虚拟号码、数据流本地地址以及数据流收流端口,生成与数据请求对应的推流请求,以便于国标平台通过数据流虚拟号码从大量的数据流中快速筛选出与数据请求对应的目标视频流,同时通过数据流本地地址和数据流收流端口精准地将目标视频流返回至目标分协转进程,减少数据筛选时长和数据传输时长,进而提高数据传输的效率。
具体的,数据流虚拟号码可以为用于向视联网观看终端推送视联网视频流时所使用的号码,每一数据流虚拟号码对应于一视联网视频流,数据流本地地址可以为目标分协转进程接收国标平台所发送的目标数据流的地址,数据流收流端口可以为目标分协转进程接收国标平台所发送的目标数据流的端口,主协转进程接收到目标分协转进程根据数据请求所上报的数据流虚拟号码、数据流本地地址以及数据流收流端口等信息之后,可以先通知视联网观看终端推流的数据流虚拟号码,并且采用数据流虚拟号码、数据流本地地址以及数据流收流端口生成推流请求。
在另一种示例中,主协转进程可以将推流请求以及推流请求携带的数据流虚拟号码、数据流本地地址、数据流收流端口发送至数据管理平台,数据管理平台可以通过数据流收流端口和数据流本地地址将与数据流虚拟号码对应的目标数据流发送至目标分协转进程,目标分协转进程将目标数据流传输至用户终端。
例如,主协转进程将推流请求发送至国标平台后,国标平台依据推流请求所携带的数据流虚拟号码从大量监控视频流中筛选出目标监控视频流,同时依据推流请求所携带的数据流本地地址以及数据流收流端口确定目标分协转进程接收目标监控视频流的地址和端口,进而国标平台通过匹配的数据流本地地址以及数据流收流端口将目标监控视频流发送至目标分协转进程。
在本发明的一种实施例中,可以应用于分协转进程,若干个分协转进程分别与主协转进程、用户终端以及数据管理平台通信连接,按照预设时间段向主协转进程定时发送空闲状态信息,响应于主协转进程的服务器确定请求,根据空闲状态信息从若干个分协转进程中确定用于与用户终端进行数据交互的目标分协转进程,接收主协转进程发送的数据请求,向主协转进程发送与数据请求对应的数据流信息,以使主协转进程将数据流信息发送至数据管理平台,接收数据管理平台发送的针对数据流信息的目标数据流,并将目标数据流传输至用户终端。
在具体实现中,目标分协转进程可以接收数据管理平台通过数据流收流端口和数据流本地地址发送的与数据流虚拟号码对应的目标数据流,对目标数据流进行解析处理和组包处理,并传输至用户终端。
作为一种示例,参照图4示出了目标监控视频流的推流示意图,首先,视联网观看终端(视联网收看方)向主协转进程发起实时监控请求,主协转进程在接收到实时监控请求之前或者同时,根据各个分协转进程定时上报的空闲信息确定出目标分协转进程,然后向目标分协转进程发送实时监控请求,目标分协转进程接收到实时监控请求后向主协转进程上报与实时监控请求对应的推流虚拟号、本地IP地址以及收流端口等信息,主协转进程依据推流虚拟号、本地IP地址以及收流端口等信息生成推流请求,并将推流请求发送至国标平台,同时将推流虚拟号发送至视联网收看方,国标平台在接收到推流请求后,解析并获取推流请求中的推流虚拟号、本地IP地址以及收流端口等信息,通过本地IP地址以及收流端口向目标分协转进程发送与推流虚拟号对应的目标监控视频流,目标分协转进程对目标监控视频流进行解析处理和组包处理后,将其推送至视联网收看方,视联网收看方则可以实现实时监控,从而通过采用主协转进程与视联网收看方、国标平台进行信令交互,采用分协转进程对视频流进行处理以及推流,通过主协转进程和多个分协转进程构建服务器内部集群,从而保了数据流在传输过程中具有较强并发性、减少服务器的堆叠数量以及满足数据高并发需求的使用成本。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。
在本发明实施例中,应用于服务器,服务器包括主进程和若干个分进程,主进程接收用户终端发送的数据请求,并获取各个分进程对应的空闲状态信息,然后根据空闲状态信息从若干个分进程中选择用于与用户终端进行数据交互的目标分进程,将数据请求发送至数据管理平台,目标分进程接收数据管理平台返回的针对数据请求的目标数据流,并将目标数据流传输至用户终端,从而主进程通过与若干个分进程构建服务器内部集群,有效提高了单台服务器的并发能力,保证数据流在传输过程中具有较强并发性以及减少服务器的堆叠数量,大大节省了用户的成本,并且有针对性地根据空闲状态信息从若干个分进程中选择用于用户终端进行数据交互的目标分进程,以减少分进程的资源负载,在获取到目标数据流时,可以通过控制目标分进程将目标数据流传输至相应的用户终端,进而实现向用户终端推流的功能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例中提供的一种数据流的传输装置的结构框图,应用于服务器,所述服务器包括主进程和若干个分进程,具体可以包括如下模块:
数据请求接收模块501,用于所述主进程接收用户终端发送的数据请求,并获取各个所述分进程对应的空闲状态信息;
目标分进程确定模块502,用于所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
数据请求发送模块503,用于所述主进程将所述数据请求发送至数据管理平台;
目标数据流传输模块504,用于所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
在一种可选实施例中,所述目标分进程确定模块502具体用于:
所述主进程按照预设时间间隔获取各个所述分进程的服务器状态标识,所述服务器状态标识表征所述分进程是否处于空闲状态;
所述主进程将所述服务器状态标识处于空闲状态的分进程作为用于与所述用户终端进行数据交互的目标分进程。
在一种可选实施例中,所述数据请求发送模块503,包括:
推流请求生成子模块,用于所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求;
数据请求发送子模块,用于所述主进程将所述推流请求发送至所述数据管理平台。
在一种可选实施例中,所述数据流信息包括数据流虚拟号码、数据流本地地址以及数据流收流端口,所述推流请求生成子模块具体用于:
所述主进程将所述数据请求发送至所述目标分进程,并接收所述目标分进程返回的与所述数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口;
所述主进程采用所述数据流虚拟号码、所述数据流本地地址以及所述数据流收流端口,生成与所述数据请求对应的推流请求。
在一种可选实施例中,所述目标数据流传输模块504具体用于:
所述目标分进程接收所述数据管理平台通过所述数据流收流端口和所述数据流本地地址发送的与所述数据流虚拟号码对应的目标数据流,并将所述目标数据流传输至所述用户终端。
在一种可选实施例中,所述目标数据流传输模块504具体用于:
所述目标分进程对所述目标数据流进行解析处理和组包处理,并传输至所述用户终端。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据流的传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据流的传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图6为实现本发明各个实施例的一种电子设备的结构框图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与电子设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元606包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
电子设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在电子设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与电子设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备600内的一个或多个元件或者可以用于在电子设备600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
电子设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备600包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据流的传输方法,其特征在于,应用于服务器,所述服务器包括主进程和若干个分进程,所述方法包括:
所述主进程接收用户终端发送的数据请求,并获取各个所述分进程对应的空闲状态信息;
所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
所述主进程将所述数据请求发送至数据管理平台;
所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
2.根据权利要求1所述的方法,其特征在于,所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程,包括:
所述主进程按照预设时间间隔获取各个所述分进程的服务器状态标识,所述服务器状态标识表征所述分进程是否处于空闲状态;
所述主进程将所述服务器状态标识处于空闲状态的分进程作为用于与所述用户终端进行数据交互的目标分进程。
3.根据权利要求1所述的方法,其特征在于,所述主进程将所述数据请求发送至数据管理平台,包括:
所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求;
所述主进程将所述推流请求发送至所述数据管理平台。
4.根据权利要求3所述的方法,其特征在于,所述数据流信息包括数据流虚拟号码、数据流本地地址以及数据流收流端口,所述主进程将所述数据请求发送至所述目标分进程,接收所述目标分进程返回的与所述数据请求对应的数据流信息,并生成与所述数据流信息对应的推流请求,包括:
所述主进程将所述数据请求发送至所述目标分进程,并接收所述目标分进程返回的与所述数据请求对应的数据流虚拟号码、数据流本地地址以及数据流端口;
所述主进程采用所述数据流虚拟号码、所述数据流本地地址以及所述数据流收流端口,生成与所述数据请求对应的推流请求。
5.根据权利要求4所述的方法,其特征在于,所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端,包括:
所述目标分进程接收所述数据管理平台通过所述数据流收流端口和所述数据流本地地址发送的与所述数据流虚拟号码对应的目标数据流,并将所述目标数据流传输至所述用户终端。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标数据流传输至所述用户终端,包括:
所述目标分进程对所述目标数据流进行解析处理和组包处理,并传输至所述用户终端。
7.一种数据流的传输装置,其特征在于,应用于服务器,所述服务器包括主进程和若干个分进程,所述装置包括:
数据请求接收模块,用于所述主进程接收用户终端发送的数据请求,并获取各个所述分进程对应的空闲状态信息;
目标分进程确定模块,用于所述主进程根据所述空闲状态信息从所述若干个分进程中选择用于与所述用户终端进行数据交互的目标分进程;
数据请求发送模块,用于所述主进程将所述数据请求发送至数据管理平台;
目标数据流传输模块,用于所述目标分进程接收所述数据管理平台返回的针对所述数据请求的目标数据流,并将所述目标数据流传输至所述用户终端。
8.根据权利要求7所述的装置,其特征在于,所述目标分进程确定模块具体用于:
所述主进程按照预设时间间隔获取各个所述分进程的服务器状态标识,所述服务器状态标识表征所述分进程是否处于空闲状态;
所述主进程将所述服务器状态标识处于空闲状态的分进程作为用于与所述用户终端进行数据交互的目标分进程。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的方法。
CN202310074815.3A 2023-01-13 2023-01-13 数据流的传输方法、装置、电子设备及存储介质 Pending CN116048805A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310074815.3A CN116048805A (zh) 2023-01-13 2023-01-13 数据流的传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310074815.3A CN116048805A (zh) 2023-01-13 2023-01-13 数据流的传输方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116048805A true CN116048805A (zh) 2023-05-02

Family

ID=86113475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310074815.3A Pending CN116048805A (zh) 2023-01-13 2023-01-13 数据流的传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116048805A (zh)

Similar Documents

Publication Publication Date Title
CN109768926B (zh) 一种数据处理方法、终端设备及计算机可读存储介质
CN105430424A (zh) 一种视频直播的方法、装置和系统
KR102495209B1 (ko) 통신 범위 정보의 처리 방법 및 단말
CN111124569B (zh) 一种应用共享方法、电子设备及计算机可读存储介质
CN111444237A (zh) 服务器系统、数据传输方法及电子设备
JP7377366B2 (ja) マルチキャストサービスの伝送方法、伝送処理方法及び関連機器
CN110944306A (zh) 一种旁链路的链路释放方法及终端
US20220053585A1 (en) Method for pc5 link establishment, device, and system
WO2020063240A1 (zh) 信道接入方法、配置方法、终端及网络侧设备
CN111615198A (zh) 资源确定方法、资源指示方法、终端及网络侧设备
CN108769202A (zh) 一种消息推送方法及其服务器和终端设备
CN111148081A (zh) 一种信息交互方法及电子设备
WO2024082906A1 (zh) 信息获取方法、装置、蓝牙设备、终端设备及存储介质
WO2015062400A1 (zh) 视频通道分配管理方法和相关设备及通信系统
CN108811037B (zh) 一种数据传输方法及通信设备
EP3499857B1 (en) Audio data processing method, terminal device, and storage medium
WO2021164761A1 (zh) 通信方法及相关设备
CN116048805A (zh) 数据流的传输方法、装置、电子设备及存储介质
CN112770411B (zh) Lbt失败的处理方法、终端及网络侧设备
CN108683793B (zh) 应用图标的显示方法和移动终端
CN113709676A (zh) 一种多播业务的处理方法、装置及电子设备
CN110475302A (zh) 一种语音业务处理方法及终端设备
CN111800879B (zh) Mbms、单播数据传输方法、网络设备及终端设备
CN108536779A (zh) 接口合并方法、服务器、终端、系统以及计算机可读介质
CN111464962B (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