CN115442560A - 多路数据流的获取方法、客户端、服务端、设备及介质 - Google Patents

多路数据流的获取方法、客户端、服务端、设备及介质 Download PDF

Info

Publication number
CN115442560A
CN115442560A CN202210859125.4A CN202210859125A CN115442560A CN 115442560 A CN115442560 A CN 115442560A CN 202210859125 A CN202210859125 A CN 202210859125A CN 115442560 A CN115442560 A CN 115442560A
Authority
CN
China
Prior art keywords
data streams
mipi
server
client
stream
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
CN202210859125.4A
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.)
Hefei Yirui Communication Technology Co Ltd
Original Assignee
Hefei Yirui Communication 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 Hefei Yirui Communication Technology Co Ltd filed Critical Hefei Yirui Communication Technology Co Ltd
Priority to CN202210859125.4A priority Critical patent/CN115442560A/zh
Publication of CN115442560A publication Critical patent/CN115442560A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例涉及通信技术领域,公开了一种多路数据流的获取方法、客户端、服务端、设备及介质。上述多路数据流的获取方法包括:根据对多路数据流的获取请求,确定与所述多路数据流对应的MIPI接口;向服务端发送携带所述MIPI接口的取流指令,以供所述服务端根据所述取流指令向所述客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息;其中,一个所述MIPI接口对应有多路数据流,所述服务端预先存储有与各所述MIPI接口对应的数据流;接收所述服务端返回的所述响应信息,以从所述响应信息中获取与所述MIPI接口对应的多路数据流。本发明实施例的多路数据流的获取方法,可以通过一路MIPI接口获取多路摄像头的数据流,从而更好地监控车辆的运行状况。

Description

多路数据流的获取方法、客户端、服务端、设备及介质
技术领域
本发明实施例涉及通信技术领域,特别涉及一种多路数据流的获取方法、客户端、服务端、设备及介质。
背景技术
随着中国汽车智能化的普及,车载中控系统越来越重要,当前主流的车载中控均为Android系统,而车载系统中摄像头(camera)占据重要的地位,通过获取摄像头数据可以监控车辆的运行状况。
目前的Android系统通过一路移动行业处理器接口(Mobile Industry ProcessorInterface,MIPI)只能获取到一路摄像头数据,若要获取到多路摄像头数据,则需要通过多个MIPI接口来获取,但是对于一些MIPI接口少的CPU,无法获取较多的摄像头,即无法获取更多的摄像头数据,不能更好地监控车辆的运行状况。
发明内容
本发明实施方式的目的在于提供一种多路数据流的获取方法、客户端、服务端、设备及介质,可以通过一路MIPI接口获取多路摄像头的数据流,从而更好地监控车辆的运行状况。
为解决上述技术问题,本发明的实施方式提供了一种多路数据流的获取方法,应用于客户端,包括以下步骤:根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口;向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息;其中,一个MIPI接口对应有多路数据流,服务端预先存储有与各MIPI接口对应的数据流;接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。
为解决上述技术问题,本发明的实施方式还提供了一种多路数据流的获取方法,应用于服务端,包括:接收客户端发送的取流指令;根据取流指令中携带的MIPI接口,以及预先存储的与各MIPI接口对应的数据流,获取与MIPI接口对应的多路数据流;其中,一个MIPI接口对应有多路数据流;向客户端返回携带多路数据流的响应信息,以供客户端从响应消息中获取多路数据流。
为解决上述技术问题,本发明的实施方式还提供了一种客户端,包括:确定模块,用于根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口;确定与多路数据流对应的移动行业处理器接口MIPI;指令发送模块,用于向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息;其中,一个MIPI接口对应有多路数据流,服务端预先存储有与各MIPI接口对应的数据流;处理模块,用于接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。
为解决上述技术问题,本发明的实施方式还提供了一种服务端,包括:接收模块,用于接收客户端发送的取流指令;获取模块,用于根据取流指令中携带的MIPI接口,以及预先存储的与各MIPI接口对应的数据流,获取与MIPI接口对应的多路数据流;其中,一个MIPI接口对应有多路数据流;数据返回模块,用于向客户端返回携带多路数据流的响应信息,以供客户端从响应消息中获取多路数据流。
为解决上述技术问题,本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述应用于客户端的多路数据流的获取方法,或执行上述应用于服务端的多路数据流的获取方法。
为解决上述技术问题,本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于客户端的多路数据流的获取方法,或实现上述应用于服务端的多路数据流的获取方法。
本发明实施方式相对于现有技术而言,客户端首先根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口,向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息,其中,一个MIPI接口对应有多路数据流,且服务端预先存储有与各MIPI接口对应的数据流,然后接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。通过在服务端预先存储与多个MIPI接口对应的数据流,即可在确定请求的多路数据流所对应的MIPI接口后,从服务端获得与MIPI接口对应的多路数据流,并将多路数据流携带在响应信息中发送至客户端,即实现了通过一个MIPI接口获取多路摄像头的数据流,因此,即使在MIPI接口少的CPU上,也可以获取多个摄像头的数据流,从而更好地监控车辆的运行状况。
另外,多路数据流分别存储于服务端的多个缓冲区中;响应信息中还携带有多个缓冲区的帧信息,帧信息用于指示缓冲区中的数据流所对应的摄像头;从响应信息中获取与MIPI接口对应的多路数据流,包括:根据多个缓冲区的帧信息,确定每路数据流对应的摄像头;基于每路数据流对应的摄像头,分别从多个缓冲区中获取各路摄像头对应的数据流。以确定获取的多路数据流的摄像头来源。
另外,在向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息之前,还包括:确定客户端存在多个应用程序同时请求获取多路数据流;在接收服务端服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流之前,还包括:判定是否存在多个应用程序中的任一应用程序中止申请多路数据流;若存在任一应用程序中止申请多路数据流,则向服务端发送中止取流的指令,以供服务端基于中止取流的指令中止向客户端返回携带有多路数据流的响应信息。以使所有应用程序均不会接收到多路数据流。
另外,在向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息之后,方法还包括:若在预设时长内,未接收到服务端返回的携带有与MIPI接口对应的多路数据流的响应信息,则向服务端发送中止取流的指令,以供服务端基于中止取流的指令中止向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。以对服务端返回多路数据流的过程进行超时检测。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明的一个实施例提供的一种客户端的框架图;
图2是根据本发明的一个实施例提供的一种多路数据流的获取方法的流程图一;
图3是根据本发明的一个实施例提供的一种MIPI接口的状态图;
图4是根据本发明的一个实施例提供的一种多路数据流的获取方法的流程图二;
图5是根据本发明的一个实施例提供的一种服务端的框架图;
图6是根据本发明的一个实施例提供的一种多路数据流的获取方法的流程图三;
图7是根据本发明的一个实施例提供的一种多路数据流的获取方法的交互图;
图8是根据本发明的一个实施例提供的一种客户端的结构示意图;
图9是根据本发明的一个实施例提供的一种服务端的结构示意图;
图10是根据本发明的一个实施例提供的一种电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的一个实施例涉及一种多路数据流的获取方法,包括:根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口;向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息;其中,一个MIPI接口对应有多路数据流,服务端预先存储有与各MIPI接口对应的数据流;接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。通过在服务端预先存储与多个MIPI接口对应的数据流,即可在确定请求的多路数据流所对应的MIPI接口后,从服务端获得与MIPI接口对应的多路数据流,即实现了通过一个MIPI接口获取多路摄像头的数据流,因此,即使在MIPI接口少的CPU上,也可以获取多个摄像头的数据流,从而更好地监控车辆的运行状况。
本实施例的多路数据流的获取方法应用于客户端,其中,客户端可以是车载设备,可以理解的是,本申请中所述的数据流指的是摄像头数据流。另外,本实施例所述的多路数据流为四路或四路以下的数据流。
本实施例的多路数据流的获取方法的具体流程如图1所示,包括:
步骤101,根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口。
步骤102,向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。
步骤103,接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。
下面对本实施方式的多路数据流的获取方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
在步骤101中,由于车载系统中的CPU上的MIPI接口并不唯一,每个MIPI接口均会对应输出多路数据流,因此,客户端会根据用户请求获取的多路数据流,确定输出请求的多路数据流的MIPI接口。其中,MIPI接口可以是MIPI中的相机串行接口(Camera SerialInterface,CSI)接口。
其中,用户请求消息中携带有摄像头的标识信息,用于指示获取该摄像头的数据,标识信息可以为摄像头的位置,例如,车载系统中有四个摄像头,分别为摄像头1,摄像头2,摄像头3和摄像头4,用户请求消息中携带有摄像头1,摄像头2,摄像头3的标识信息,则表示用户请求获取摄像头1,摄像头2,摄像头3这三路摄像头数据,客户端根据这三路摄像头的标识信息查询与其对应的MIPI接口。
在一个例子中,在客户端确定多路数据流的MIPI接口之后,首先查询MIPI接口的状态,MIPI接口的状态图如图2所示,包括:Open end,Open running,Close end以及Closerunning四种状态。其中,Open running表示正在open中,创建资源,打开硬件;Open end表示open完成,也表示open成功;Close running表示正在close中,close硬件和释放资源;Close end表示close结束。
在步骤102中,客户端若查询得到MIPI接口的状态为Close end状态,则表示上一个请求与MIPI接口对应的多路数据流的工作流程已经完成,不影响当前多路数据流的获取操作。然后打开MIPI接口,当MIPI接口的状态为Open end状态时,向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息,其中,一个MIPI接口对应有多路数据流,且服务端预先存储有与各MIPI接口对应的数据流。
在一个例子中,若MIPI接口的状态为Open running或Close running时,可以重新open MIPI接口,使MIPI接口为open end状态,以向服务端发送携带MIPI接口的取流指令,供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。
在一个例子中,为了保证客户端与服务端之间的正常通信,需要获取客户端与服务端之间的连接状态,因此,客户端在向服务端发送携带MIPI接口的取流指令之前,会向服务端不断发送心跳包,以获取服务端反馈的连接结果,心跳包发送的时间间隔为0.5s。
若客户端心跳包发送失败,则调用心跳异常回调函数反馈到用户层,同时将心跳回调指针置空,以使得用户执行close操作,客户端根据close操作调用close流程,即不会向服务端发送携带MIPI接口的取流指令。
在一个例子中,若客户端在向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息之后,若在预设时长内,客户端未接收到服务端返回的响应信息,则调用超时回调函数,反馈到用户层,以使得用户执行close操作,客户端根据close操作调用close流程,即向服务端发送中止取流的指令,以供服务端基于中止取流的指令中止向客户端返回响应信息。由于取流过程中,可能会发生故障,例如,MIPI接口故障,因此客户端会设置有取流所需的预设时长,使得客户端可以通过预设时长对服务端返回响应信息的过程进行超时检测,以在取流超时的情况下,及时向服务端发送中止取流的指令。
在步骤103中,客户端接收服务端返回的携带有与MIPI接口对应的多路数据流的响应信息,以从响应信息中获取请求的多路数据流。
具体地,由于多路数据流分别存储于服务端的多个缓冲区中,而响应消息中还会携带多个缓冲区的帧信息,其中,帧信息用于指示缓冲区中的数据流所对应的摄像头,则客户端可以根据多个缓冲区的帧信息,确定每路数据流对应的摄像头,然后基于每路数据流对应的摄像头,分别从多个缓冲区中获取各路摄像头对应的数据流,以确定获取的多路数据流的摄像头来源。
其中,帧信息可以为缓冲区的ID,每帧图像的ID,对应的摄像头channel,时间戳timestamp等。
在一个例子中,本实施例的客户端框架如图3所示,包括:设置客户端参数部分,信令通信部份,硬件操作部分,心跳通信部分,流控部分。
其中,设置客户端参数部分用于在检测到用户的操作,例如,在检测到用户的open操作,即请求获取多路数据流时,设置用于获取多路数据流的各参数,具体包括:初始化参数接口;取流回调接口;心跳异常回调接口;取流回调超时接口;获取分辨率接口;检查设置分辨率接口;帧率接口;检测服务MIPI关闭回调接口。
信令通信部分用于与服务端进行信令交互,例如,通过以下接口与服务端进行通信,具体包括:查询MIPI状态接口;创建检测服务MIPI是否关闭接口;释放检测服务MIPI是否关闭接口。
硬件操作部分用于执行硬件操作,包括:打开MIPI接口,关闭MIPI接口,强制关闭MIPI接口。
心跳通信部分用于与服务端进行心跳通信,包括:创建心跳接口;关闭心跳接口。
流控部分进行多路数据流的获取,包括:创建取流线程接口;获取缓冲区、分辨率接口;创建取流、数据回调以及取流超时检测接口;关闭取流线程、释放内部资源接口;释放缓冲区接口;关闭所有线程接口。
在具体实现中,客户端的取流操作可以参见图3,具体有以下三种执行过程:
(1)若MIPI状态接口为Close end状态,则客户端的具体执行流程为:设置初始化参数接口→设置取流回调接口→设置心跳异常回调接口→设置取流回调超时接口→设置检测服务MIPI关闭回调接口→打开MIPI接口→查询MIPI状态接口→创建心跳接口→向服务端发送取流命令→完成。
(2)若MIPI状态接口为Open end状态,则客户端的具体执行流程为:设置初始化参数接口→设置取流回调接口→设置心跳异常回调接口→设置取流回调超时接口→设置检测服务MIPI关闭回调接口→打开MIPI接口→查询MIPI状态接口→创建心跳接口→向服务端发送取流命令→创建取流线程接口→创建检测服务MIPI是否关闭接口→获取缓冲区、分辨率接口→创建取流、数据回调以及取流超时检测接口→完成。
(3)若MIPI状态接口为Open running或Close running状态,则客户端的具体执行流程为:设置初始化参数接口→设置取流回调接口→设置心跳异常回调接口→设置取流回调超时接口→设置检测服务MIPI关闭回调接口→打开MIPI接口→查询MIPI状态接口→完成。
进一步地,在客户端向服务端发送携带所述MIPI接口的取流指令,以供服务端根据取流指令向客户端返回与MIPI接口对应的多路数据流之后,用户需要中止取流,或者在接收服务端返回的多路数据流之后,客户端完成取流,此时用户会执行close操作,客户端向服务端发送中止取流的指令,以供服务端基于中止取流的指令中止向客户端返回多路数据流。
客户端的中止取流操作也可以参见图3,具体有以下两种执行过程:
(1)关闭取流线程、释放内部资源接口→关闭所有线程接口→释放缓冲区接口→释放检测服务MIPI是否关闭接口→关闭心跳接口→完成。
(2)关闭取流线程、释放内部资源接口→关闭所有线程接口→释放缓冲区接口→释放检测服务MIPI是否关闭接口→向服务端发送中止取流的命令→关闭心跳接口→完成。
以上两个中止取流的执行过程任一个即可实现客户端的中止取流操作。
本实施例中,客户端首先根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口,向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息,其中,一个MIPI接口对应有多路数据流,且服务端预先存储有与各MIPI接口对应的数据流,然后接收服务端返回的的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。通过在服务端预先存储与多个MIPI接口对应的数据流,即可在确定请求的多路数据流所对应的MIPI接口后,从服务端获得与MIPI接口对应的多路数据流,并将多路数据流携带在响应信息中发送至客户端,即实现了通过一个MIPI接口获取多路摄像头的数据流,因此,即使在MIPI接口少的CPU上,也可以获取多个摄像头的数据流,从而更好地监控车辆的运行状况。
本发明的另一实施例涉及一种多路数据流的获取方法,本实施例与第一实施例大致相同,不同之处在于本实施例中客户端中请求获取多路数据流的应用程序有多个,第一实施例中的本实施例的多路数据流的获取方法的具体流程如图4所示,包括:
步骤401,根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口。
步骤401与步骤201大致相同,此处不再赘述。
步骤402,确定客户端存在多个应用程序同时请求获取多路数据流。
步骤403,向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。
具体地,当客户端存在多个应用程序同时请求获取多路数据流,即客户端存在多个获取多路数据流的进程时,客户端可以根据其中任一应用程序的进程的向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。
步骤404,判断是否存在多个应用程序中的任一应用程序中止申请多路数据流。若存在任一应用程序中止申请多路数据流,则进入步骤405,若不存在任一应用程序中止申请多路数据流,则进入步骤406。
步骤405,若存在任一应用程序中止申请多路数据流,则向服务端发送中止取流的指令,以供服务端基于中止取流的指令中止向客户端返回携带有多路数据流的响应信息。
在一个例子中,服务端若基于中止取流的指令中止向客户端返回携带有多路数据流的响应信息,则所有应用程序均会接收不到响应信息,可以看出,该方式为第一实施例中客户端的中止取流操作的第二种执行方式。
在另一个例子中,若存在任一应用程序中止申请多路数据流,客户端可以只关闭中止舍宁多路数据流的应用程序的进程,使该应用程序无法接收到服务端返回的响应信息,其他的应用程序依然可以正常接收服务端返回的响应信息,可以看出,该方式为第一实施例中客户端的中止取流操作的第一种执行方式。
步骤406,接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。
步骤406与步骤203大致相同,此处不再赘述。
本实施例可以使多个应用程序的进程同时获取多路摄像头数据流,这样可以对接不同的客户端独立进行数据处理,丰富产品功能,从而提高产品竞争力。
本发明的另一实施例涉及一种多路数据流的获取方法,应用于服务端,在一个例子中,服务端的框架如图5所示,包括:信令模块,心跳模块,MIPI资源控制模块,openresource模块,close resource模块,发送帧信息子模块以及取流超时检测模块。
其中,信令模块,用于客户端进行数据交互,例如客户端查询状态,服务端通知客户端状态。
心跳模块,用于监测客户端是否在线,并接收客户端发送的心跳包,如果客户端断开,触发close resource模块,即中止向客户端返回多路数据流。
MIPI资源控制模块,用于接收客户端的close或open命令,即客户端发送的中止取流命令或取流命令。
发送帧信息子模块,用于向客户端返回多路数据流。
取流超时检测模块,用于检测客户端是否取流超时,若超时,触发close resource模块,即中止向客户端返回多路数据流。
本实施例的多路数据流的获取方法的具体流程如图6所示,包括:
步骤601,接收客户端发送的取流指令。
步骤602,根据取流指令中携带的MIPI接口,以及预先存储的与各MIPI接口对应的数据流,获取与MIPI接口对应的多路数据流。其中,一个MIPI接口对应有多路数据流。
步骤603,向客户端返回携带多路数据流的响应信息,以供客户端从响应消息中获取多路数据流。
其中,多路数据流分别存储于服务端的多个缓冲区中,且响应信息中还携带有多个所述缓冲区的帧信息,使得客户端可以据多个缓冲区的帧信息确定每路数据流对应的摄像头,并基于每路数据流对应的摄像头,分别从多个缓冲区中获取各路摄像头对应的数据流;其中,帧信息用于指示缓冲区中的数据流所对应的摄像头。
本实施例中,若服务端接收到客户端发送的中止取流的指令,则基于中止取流的指令中止向客户端返回携带多路数据流的响应信息。
在一个例子中,服务端若检测到客户端取流超时,则直接调用close MIPIresource模块,关闭硬件释放所有资源,即中止向客户端返回响应信息;并且在检测到与客户端的连接状态异常,即心跳异常时,会调用close MIPI resource模块,关闭硬件释放所有资源,即中止向客户端返回响应信息。
本实施例中,服务端在接收到客户端的取流指令后,通过取流指令中携带的MIPI接口,以及预先存储的与各MIPI接口对应的数据流,获取与MIPI接口对应的多路数据流,并向客户端返回携带多路数据流的响应信息,以供客户端从响应消息中获取多路数据流,即通过一路MIPI接口实现了多路数据流的获取,可以更好地监控车辆的运行状况。
为了便于理解,现通过如图7所示的交互图说明本发明实施例的多路数据流的获取方法,具体包括:
S701,用户执行open操作,即用户请求获取多路数据流。
S702,客户端确定MIPI接口。
具体而言,客户端根据用户请求的多路数据流,确定与多路数据流对应的MIPI接口。
S703,客户端设置客户端参数。
具体设置参见第一实施例,此处不再赘述。
S704,客户端查询MIPI接口的状态。
S705,客户端向服务端发送查询指令。
具体而言,客户端向服务端发送用于查询MIPI接口状态的查询指令,通过服务端二次获取MIPI接口的状态,以提升查询准确性。
S706,服务端查询MIPI接口的状态,并将查询结果返回至客户端。
S707,客户端创建心跳。
具体而言,客户端每建个5秒向服务端发送一次心跳包,以检测与服务端的连接状态。
S708,服务端返回连接结果。
S709,客户端打开MIPI接口,并向服务端发送open指令。
其中,当MIPI接口的状态为Close end状态,客户端打开MIPI接口,并向服务端发送open指令。open指令用于指示服务端的MIPI资源控制模块打开open resource模块。
在一个例子中,若MIPI接口的状态为Open end,则进入步骤S711,若MIPI接口的状态为Open running或Close running状态,则告知用户,指示用户重新open,或者停止open。
S710,服务端返回携带open结果的响应消息。
S711,客户端创建检测服务MIPI是否关闭的线程。
具体而言,客户端向服务端发送检测服务MIPI是否关闭的指令,使服务端检测服务MIPI是否关闭,即检测客户端是否需要中止取流。在客户端只有一个应用程序请求获取多路数据流,即客户端只存在一个取流线程时,进入步骤S717。
S712,服务端检测服务MIPI是否需要关闭,并返回MIPI状态。
S713,客户端创建取流回调线程。
S714,服务端返回携带有与MIPI接口对应的多路数据流的响应信息。
S715,客户端创建取流超时检测线程。
S716,用户执行close操作,即用户中止获取多路数据流。
S717,客户端关闭取流线程。
S718,客户端关闭取流超时检测线程。
S719,客户端释放检测服务MIPI是否关闭线程。
S720,客户端关闭心跳。
S721,服务端关闭心跳。
S722,客户端向服务端发送close命令。
S723,服务端关闭硬件资源,即close resource,中止向客户端返回携带多路数据流的响应信息。
需要说明的是,本实施方式中的上述各示例均为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明另一实施例涉及一种客户端,下面对本实施例的客户端的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须,图8是本实施例所述的客户端的示意图,包括:确定模块801,指令发送模块802和接收模块803。
具体而言,确定模块801,用于根据对多路数据流的获取请求,确定与多路数据流对应的MIPI接口。
指令发送模块802,用于向服务端发送携带MIPI接口的取流指令,以供服务端根据取流指令向客户端返回携带有与MIPI接口对应的多路数据流的响应信息。其中,一个MIPI接口对应有多路数据流,服务端预先存储有与各MIPI接口对应的数据流。
处理模块803,用于接收服务端返回的响应信息,以从响应信息中获取与MIPI接口对应的多路数据流。
在一个例子中,当多路数据流分别存储于服务端的多个缓冲区中时,处理模块803,还用于根据多个缓冲区的帧信息,确定每路数据流对应的摄像头;基于每路数据流对应的摄像头,分别从多个缓冲区中获取各路摄像头对应的数据流。其中,响应信息中还携带有多个缓冲区的帧信息,帧信息用于指示缓冲区中的数据流所对应的摄像头。
不难发现,本实施方式为与第一实施方式相对应的客户端的实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明另一实施例涉及一种服务端,下面对本实施例的服务端的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须,图9是本实施例所述的服务端的示意图,包括:接收模块901,获取模块902和数据返回块903。
具体而言,接收模块901,用于接收客户端发送的取流指令。
获取模块902,用于根据取流指令中携带的MIPI接口,以及预先存储的与各MIPI接口对应的数据流,获取与MIPI接口对应的多路数据流;其中,一个MIPI接口对应有多路数据流;多路数据流分别存储于服务端的多个缓冲区中,响应信息中还携带有多个缓冲区的帧信息,以供客户端根据多个缓冲区的帧信息确定每路数据流对应的摄像头,并基于每路数据流对应的摄像头,分别从多个缓冲区中获取各路摄像头对应的数据流;帧信息用于指示缓冲区中的数据流所对应的摄像头。
数据返回块903,用于向客户端返回携带多路数据流的响应信息,以供客户端从响应消息中获取多路数据流。
不难发现,本实施方式为与第三实施方式相对应的服务端的实施例,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。
值得一提的是,本实施方式与第四实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式与第四实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式与第四实施方式中不存在其它的单元。
本发明另一实施例涉及一种电子设备,如图10所示,包括:至少一个处理器1001;以及,与所述至少一个处理器1001通信连接的存储器1002;其中,所述存储器1002存储有可被所述至少一个处理器2001执行的指令,所述指令被所述至少一个处理器1001执行,以使所述至少一个处理器1001能够执行上述各实施例中的多路数据流的获取方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明另一实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (11)

1.一种多路数据流的获取方法,其特征在于,应用于客户端,包括:
根据对多路数据流的获取请求,确定与所述多路数据流对应的MIPI接口;
向服务端发送携带所述MIPI接口的取流指令,以供所述服务端根据所述取流指令向所述客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息;其中,一个所述MIPI接口对应有多路数据流,所述服务端预先存储有与各所述MIPI接口对应的数据流;
接收所述服务端返回的所述响应信息,以从所述响应信息中获取与所述MIPI接口对应的多路数据流。
2.根据权利要求1所述的多路数据流的获取方法,其特征在于,所述多路数据流分别存储于所述服务端的多个缓冲区中,所述响应信息中还携带有多个所述缓冲区的帧信息,所述帧信息用于指示所述缓冲区中的数据流所对应的摄像头;
所述从所述响应信息中获取与所述MIPI接口对应的多路数据流,包括:
根据多个所述缓冲区的帧信息,确定每路所述数据流对应的摄像头;
基于每路所述数据流对应的摄像头,分别从多个所述缓冲区中获取各路所述摄像头对应的数据流。
3.根据权利要求1所述的多路数据流的获取方法,其特征在于,在所述向服务端发送携带所述MIPI接口的取流指令,以供所述服务端根据所述取流指令向所述客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息之前,还包括:
确定所述客户端存在多个应用程序同时请求获取所述多路数据流;
在所述接收所述服务端返回的所述响应信息,以从所述响应信息中获取与所述MIPI接口对应的多路数据流之前,还包括:
判断是否存在多个所述应用程序中的任一所述应用程序中止申请所述多路数据流;
若存在任一所述应用程序中止申请所述多路数据流,则向所述服务端发送中止取流的指令,以供所述服务端基于所述中止取流的指令中止向所述客户端返回携带有所述多路数据流的响应信息。
4.根据权利要求1至3中任一项所述的多路数据流的获取方法,其特征在于,在所述向服务端发送携带所述MIPI接口的取流指令,以供所述服务端根据所述取流指令向所述客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息之后,所述方法还包括:
若在预设时长内,未接收到所述服务端返回的携带有与所述MIPI接口对应的多路数据流的响应信息,则向所述服务端发送中止取流的指令,以供所述服务端基于所述中止取流的指令中止向所述客户端返回携带所述多路数据流的响应信息。
5.一种多路数据流的获取方法,其特征在于,应用于服务端,包括:
接收客户端发送的取流指令;
根据所述取流指令中携带的MIPI接口,以及预先存储的与各所述MIPI接口对应的数据流,获取与所述MIPI接口对应的多路数据流;其中,一个所述MIPI接口对应有多路数据流;
向所述客户端返回携带所述多路数据流的响应信息,以供所述客户端从所述响应消息中获取多路数据流。
6.根据权利要求5所述的多路数据流的获取方法,其特征在于,所述多路数据流分别存储于所述服务端的多个缓冲区中,所述响应信息中还携带有多个所述缓冲区的帧信息,以供所述客户端根据多个所述缓冲区的帧信息确定每路所述数据流对应的摄像头,并基于每路所述数据流对应的摄像头,分别从多个所述缓冲区中获取各路所述摄像头对应的数据流;
其中,所述帧信息用于指示所述缓冲区中的数据流所对应的摄像头。
7.根据权利要求6所述的多路数据流的获取方法,其特征在于,在所述向所述客户端返回携带所述多路数据流的响应信息,以供所述客户端从所述响应消息中获取多路数据流之前,还包括:
若接收到所述客户端发送的中止取流的指令,则基于所述中止取流的指令中止向所述客户端返回携带所述多路数据流的响应消息。
8.一种客户端,其特征在于,包括:
确定模块,用于根据对多路数据流的获取请求,确定与所述多路数据流对应的MIPI接口;
指令发送模块,用于向服务端发送携带所述MIPI接口的取流指令,以供所述服务端根据所述取流指令向所述客户端返回携带有与所述MIPI接口对应的多路数据流的响应信息;其中,一个所述MIPI接口对应有多路数据流,所述服务端预先存储有与各所述MIPI接口对应的数据流;
处理模块,用于接收所述服务端返回的所述响应信息,以从所述响应信息中获取与所述MIPI接口对应的多路数据流。
9.一种服务端,其特征在于,包括:
接收模块,用于接收客户端发送的取流指令;
获取模块,用于根据所述取流指令中携带的MIPI接口,以及预先存储的与各所述MIPI接口对应的数据流,获取与所述MIPI接口对应的多路数据流;其中,一个所述MIPI接口对应有多路数据流;
数据返回模块,用于向所述客户端返回携带所述多路数据流的响应信息,以供所述客户端从所述响应消息中获取多路数据流。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的多路数据流的获取方法,或执行如权利要求5至7任一所述的多路数据流的获取方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的多路数据流的获取方法,或实现如权利要求5至7任一所述的多路数据流的获取方法。
CN202210859125.4A 2022-07-20 2022-07-20 多路数据流的获取方法、客户端、服务端、设备及介质 Pending CN115442560A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210859125.4A CN115442560A (zh) 2022-07-20 2022-07-20 多路数据流的获取方法、客户端、服务端、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210859125.4A CN115442560A (zh) 2022-07-20 2022-07-20 多路数据流的获取方法、客户端、服务端、设备及介质

Publications (1)

Publication Number Publication Date
CN115442560A true CN115442560A (zh) 2022-12-06

Family

ID=84240954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210859125.4A Pending CN115442560A (zh) 2022-07-20 2022-07-20 多路数据流的获取方法、客户端、服务端、设备及介质

Country Status (1)

Country Link
CN (1) CN115442560A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
CN106649488A (zh) * 2016-09-30 2017-05-10 广东网金数据服务有限公司 多数据源交互接口的调用方法及装置
CN107809332A (zh) * 2017-11-10 2018-03-16 中国民生银行股份有限公司 复合接口配置及复合接口调用方法、装置
CN109656863A (zh) * 2018-12-24 2019-04-19 上海微阱电子科技有限公司 一种高带宽的mipi数据处理接口电路
CN112616033A (zh) * 2020-11-27 2021-04-06 西安诺瓦星云科技股份有限公司 多路视频源预监方法及系统和视频处理设备
CN113835902A (zh) * 2021-09-22 2021-12-24 北京字节跳动网络技术有限公司 一种数据处理方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
CN106649488A (zh) * 2016-09-30 2017-05-10 广东网金数据服务有限公司 多数据源交互接口的调用方法及装置
CN107809332A (zh) * 2017-11-10 2018-03-16 中国民生银行股份有限公司 复合接口配置及复合接口调用方法、装置
CN109656863A (zh) * 2018-12-24 2019-04-19 上海微阱电子科技有限公司 一种高带宽的mipi数据处理接口电路
CN112616033A (zh) * 2020-11-27 2021-04-06 西安诺瓦星云科技股份有限公司 多路视频源预监方法及系统和视频处理设备
CN113835902A (zh) * 2021-09-22 2021-12-24 北京字节跳动网络技术有限公司 一种数据处理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US10621797B2 (en) System and method for transferring diagnostic commands to a vehicle
EP3627960A1 (en) Method, network side device, and terminal device for switching communication mode
US20180048715A1 (en) Information transmitting method and apparatus in robot operating system
WO2020047737A1 (zh) 信息传输方法及装置
US10791455B2 (en) Method for triggering network policy update, management function entity and core network device
US20210111921A1 (en) Method and apparatus for establishing communication between vehicle diagnosis device and vehicle, and vehicle communication interface device
CN110971591A (zh) 一种多进程访问可信应用的方法和系统
US20210289518A1 (en) Method for Navigation Control and Related Products
CN113055225A (zh) 网络故障分析数据的获取方法、终端及服务器
CN109922120A (zh) 提高dns可用性的方法及终端
CN110750365A (zh) 一种远程过程调用方法、系统、终端及存储介质
CN114035855A (zh) 固件的调试方法、装置、终端及存储介质
CN113452770A (zh) 数据同步方法、装置、计算机设备及存储介质
CN115442560A (zh) 多路数据流的获取方法、客户端、服务端、设备及介质
CN112202896A (zh) 边缘计算方法、框架、终端和存储介质
CN107132990B (zh) 基于超融合存储的读io调度方法及装置
CN107171915B (zh) 一种通信协议的变更方法及装置
KR20200143881A (ko) 제어기 통신 장치 및 그 방법
US7680138B2 (en) Inter-module communication apparatus
CN108600044B (zh) 一种接口状态获取方法、装置及设备
CN111216134B (zh) 机器人的控制方法、装置、控制器、存储介质和机器人
CN111935309B (zh) 一种循环任务管理方法及装置
CN112199319B (zh) 一种双控数据交互控制的方法和设备
EP0829807A2 (en) Data transmission system for transmitting data between plural microcomputer application instruments
US20230291647A1 (en) Communication control device, communication control method, and non-transitory computer readable recording medium

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