CN111367650B - 一种输入输出流的处理方法、装置及系统 - Google Patents

一种输入输出流的处理方法、装置及系统 Download PDF

Info

Publication number
CN111367650B
CN111367650B CN201811599020.XA CN201811599020A CN111367650B CN 111367650 B CN111367650 B CN 111367650B CN 201811599020 A CN201811599020 A CN 201811599020A CN 111367650 B CN111367650 B CN 111367650B
Authority
CN
China
Prior art keywords
stream processing
processing server
protocol
stream
version information
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
Application number
CN201811599020.XA
Other languages
English (en)
Other versions
CN111367650A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201811599020.XA priority Critical patent/CN111367650B/zh
Publication of CN111367650A publication Critical patent/CN111367650A/zh
Application granted granted Critical
Publication of CN111367650B publication Critical patent/CN111367650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种输入输出流的处理方法装置及系统。其中所述输入输出流的处理方法包括:将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;获取所述流处理服务器返回的所述流处理服务器的地址信息;根据所述地址信息,与所述指定容器交互输入输出流数据。采用本申请提供的方法,解决了与容器集群中的指定容器进行输入输出流数据交互时,由于中间件的负载过大而导致指定容器所在节点的稳定性降低的问题。

Description

一种输入输出流的处理方法、装置及系统
技术领域
本申请涉及云计算领域,具体涉及一种输入输出流的处理方法、装置及系统。
背景技术
Kubernetes是当今流行的容器编排系统,它是一种开源的容器集群管理系统,是大规模容器管理技术Borg的开源版本。
Kubernetes包含的诸多特性,包括:基于容器的应用部署、维护和滚动升级,负载均衡和服务发现,跨机器和跨地区的集群调度,自动伸缩等等,使得它成为了容器编排领域的领导者,并且逐渐在企业落地。
而在企业落地的过程中,对于Kubernetes集群稳定性的要求日渐凸显。作为由多个节点构成的集群,单个节点的稳定性是保证整个集群稳定的前提。而Kubelet作为Kubernetes位于各个节点的Agent,它的稳定性直接关系到了其所在节点的稳定性。
但是由于Kubelet本身角色的特殊性,所有对本节点的容器的访问都需要经过Kubelet的转发。当请求的数量激增,尤其是出现大量的IO请求时,Kubelet对于这些请求进行处理转发的负载将是巨大的,极有可能出现拒绝服务的情况,这就将直接影响到本节点的稳定性。
发明内容
本申请提供一种输入输出流的处理方法,用以解决现有技术中,与容器集群中的指定容器进行输入输出流数据交互时,由于中间件的负载过大而导致指定容器所在节点的稳定性降低的问题。
本申请提供一种输入输出流的处理方法,包括:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据。
可选的,所述将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:
将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器。
可选的,所述获取所述流处理服务器返回的地址信息,包括:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
可选的,所述根据所述地址信息,与所述指定容器交互输入输出流数据,包括:
获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;
根据所述流处理协议,创建指定数目及类型的输入输出流;
利用所述输入输出流,与所述指定容器交互输入输出流数据。
可选的,所述根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议,包括:
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;
将所述协议升级请求发送至所述流处理服务器;
获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;
根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
本申请提供一种输入输出流的处理装置,包括:
发送单元,用于将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取单元,用于获取所述流处理服务器返回的所述流处理服务器的地址信息;
交互单元,用于根据所述地址信息,与所述指定容器交互输入输出流数据。
可选的,所述发送单元,具体用于:
将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器。
可选的,所述获取单元,具体用于:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
可选的,所述交互单元,具体用于:
获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;
根据所述流处理协议,创建指定数目及类型的输入输出流;
利用所述输入输出流,与所述指定容器交互输入输出流数据。
可选的,所述交互单元,还用于:
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;
将所述协议升级请求发送至所述流处理服务器;
获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;
根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
本申请提供一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据。
本申请提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时,实现以下步骤:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据。
本申请提供一种输入输出流的处理方法,包括:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
所述输入输出流的处理方法,还包括:
所述流处理服务器向容器集群中的指定容器发起交互输入输出流数据的第三请求;
所述流处理服务器根据获得的所述指定容器返回的应答信息,建立所述流处理服务器与所述指定容器之间的第二输入输出流;
所述流处理服务器利用所述第二输入输出流,向所述指定容器转发所述流处理服务器通过所述第一输入输出流获得的数据。
可选的,流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息,包括:
流处理服务器根据所述第一请求,获得所述第一请求对应的标识信息;
所述流处理服务器根据所述标识信息以及所述流处理服务器的基础地址信息,构建所述流处理服务器的地址信息;
所述流处理服务器向所述请求方返回所述流处理服务器的地址信息。
可选的,所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:
所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;
所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;
将所述第四协议版本信息发送至所述请求方;
根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议。
可选的,所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流,包括:
所述流处理服务器根据所述流处理协议,获得所述请求方创建所述流处理服务器和所述请求方之间的第一输入输出流的指令信息;
所述流处理服务器根据所述指令信息,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本申请提供一种输入输出流的处理装置,包括:
获得单元,用于流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
返回单元,用于所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
获取单元,用于所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
升级单元,用于所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
建立单元,用于所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
所述输入输出流的处理装置,还包括转发单元,所述转发单元用于:
所述流处理服务器向容器集群中的指定容器发起交互输入输出流数据的第三请求;
所述流处理服务器根据获得的所述指定容器返回的应答信息,建立所述流处理服务器与所述指定容器之间的第二输入输出流;
所述流处理服务器利用所述第二输入输出流,向所述指定容器转发所述流处理服务器通过所述第一输入输出流获得的数据。
可选的,所述返回单元,具体用于:
流处理服务器根据所述第一请求,获得所述第一请求对应的标识信息;
所述流处理服务器根据所述标识信息以及所述流处理服务器的基础地址信息,构建所述流处理服务器的地址信息;
所述流处理服务器向所述请求方返回所述流处理服务器的地址信息。
可选的,所述升级单元,具体用于:
所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;
所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;
将所述第四协议版本信息发送至所述请求方;
根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议。
可选的,所述建立单元,具体用于:
所述流处理服务器根据所述流处理协议,获得所述请求方创建所述流处理服务器和所述请求方之间的第一输入输出流的指令信息;
所述流处理服务器根据所述指令信息,获得所述流处理服务器和所述请求方之间的第一输入输出流。
本申请提供一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本申请提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时,实现以下步骤:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本申请提供一种容器集群中输入输出流的处理系统,包括:API服务器,流处理服务器;
所述API服务器用于,将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;获取所述流处理服务器返回的所述流处理服务器的地址信息;根据所述地址信息,与所述指定容器交互输入输出流数据;
所述流处理服务器用于,获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;根据所述第一请求,向所述请求方返回所述流服务器的地址信息;获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
与现有技术相比,本申请具有如下优点:
采用本申请提供的方法,请求方不直接调用指定容器进行输入输出操作,而是获得流处理服务器返回的一个地址信息,请求方通过该地址信息对流处理服务器进行访问,解决了与容器集群中的指定容器进行输入输出流数据交互时,由于中间件的负载过大而导致指定容器所在节点的稳定性降低的问题。
附图说明
图1是本申请第一实施例的流程图;
图2是本申请第二实施例的流程图;;
图3是本申请第五实施例的流程图;
图4是本申请第六实施例的流程图;
图5是本申请第九实施例涉及的一个应用系统的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请第一实施例提供一种输入输出流的处理方法。请参看图1,该图为本申请第一实施例的流程图。以下结合图1对本申请第一实施例提供一种输入输出流的处理方法进行详细说明。所述方法包括如下步骤:
步骤S101:将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器。
本步骤用于将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器。
输入输出即IO(Input/Output),本申请中出现的IO和输入输出是相同的。
本实施例中,所述容器集群可以为Kubernetes容器集群。
所述指定容器是指客户指定的容器。所述流处理服务器位于所述指定容器所在节点中。作为执行本步骤的前提,首先需要启动流处理服务器。
Kubernetes容器集群中的API Server根据用户的请求,将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器。API Server是Kubernetes系统的入口,它封装了对于核心对象的增删改查操作,以RESTful API的方式提供给外部接口和内部组件使用。
所述将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:
将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器。
本实施例中,所述代理模块可以是Kubelet。Kubelet是Kubernetes容器集群中每个节点的agent,负责从API Server获取和本节点相关的请求,请求的内容一般都为对分配到本节点的容器进行增删改查等操作。Kubelet会执行这些请求,使得运行在本节点的状态与预期一致。容器运行时接口(CRI),是Kubernetes定义的一组公共的容器运行时接口,所有容器运行时只要满足了该接口,就能无缝接入Kubernetes。
本实施例中,将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器的路径包括:API Server,Kubelet,CRI,流处理服务器。
步骤S102:获取所述流处理服务器返回的所述流处理服务器的地址信息。
本步骤用于获取所述流处理服务器返回的所述流处理服务器的地址信息。
在本实施例中,API Server获取所述流处理服务器返回的所述流处理服务器的地址信息。
所述获取所述流处理服务器返回的地址信息,包括:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
本实施例中,所述地址信息可以为统一资源定位符(URL)。该URL的获取步骤包括:流处理服务器将用户的输入输出流请求放入缓存中并获取一个标识信息,例如令牌(token),通过该令牌可以从缓存中重新获取对应的输入输出流信息;流处理服务器将自身的基础地址信息(Base URL)加上token构成一个新的URL,作为地址信息返回给APIServer。
步骤S103:根据所述地址信息,与所述指定容器交互输入输出流数据。
本步骤用于根据所述地址信息,与所述指定容器交互输入输出流数据。
本实施例中,API Server根据所述地址信息,建立与流处理服务器之间的直接连接,通过该连接向所述流处理服务器交互输入输出流数据,所述流处理服务器获取到输入输出流数据后,对指定的容器发起输入输出流请求并将数据通过指定的容器和流服务器之间的输入输出流转发接收到的来自API Server的数据。
本实施例中,用户对于API Server发起的输入输出流请求,通过输入输出流处理服务器返回特定的URL,之后再由API Server根据该URL与流处理服务器直接建立连接,从而避免了中间组件,如Kubelet,对输入输出数据的转发。
所述根据所述地址信息,与所述指定容器交互输入输出流数据,包括:
获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;
根据所述流处理协议,创建指定数目及类型的输入输出流;
利用所述输入输出流,与所述指定容器交互输入输出流数据。
本实施例中,API Server根据流处理服务器返回的地址信息发送超文本传输协议(HTTP)请求,并在头部包含了用于升级的期待升级的协议版本信息和API Server自己支持的协议版本信息。然后将这些信息发送给流处理服务器,并根据流处理服务器返回的协商好的协议版本,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
所述根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议,包括:
根据所述流处理服务器的地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;
将所述协议升级请求发送至所述流处理服务器;
获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;
根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
例如,API Server期待升级的第一协议版本信息是10,API Server自身支持的第二协议版本信息是12,流处理服务器收到包含这些信息的协议升级请求后,会检查自己能够支持的版本,假设流处理服务器支持的协议版本是9,流处理服务器协商好的协议版本号是9,因为版本9对于API Server和流处理服务器双方都支持,而且最接近期待升级的版本信息。假设流处理服务器支持的协议版本是13,那么流处理服务器协商好的协议版本号是10,因为10是API Server期待的版本,而且API Server和流处理服务器都支持。
本实施例中,流处理协议可以是诸如RTSP之类的流处理协议,也可以是用户定义的流处理协议。
在上述的实施例中,提供了一种输入输出流的处理方法,与之相对应的,本申请还提供一种输入输出流的处理装置。请参看图2,其为本申请的一种输入输出流的处理装置实施例的流程图。由于本实施例,即第二实施例,基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种输入输出流的处理装置,包括:
发送单元201,用于将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取单元202,用于获取所述流处理服务器返回的所述流处理服务器的地址信息;
交互单元203,用于根据所述地址信息,与所述指定容器交互输入输出流数据。
本实施例中,所述发送单元,具体用于:
将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器。
本实施例中,所述获取单元,具体用于:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
本实施例中,所述交互单元,具体用于:
获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;
根据所述流处理协议,创建指定数目及类型的输入输出流;
利用所述输入输出流,与所述指定容器交互输入输出流数据。
本实施例中,所述交互单元,还用于:
根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;
将所述协议升级请求发送至所述流处理服务器;
获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;
根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
本申请第三实施例提供一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据。
本申请第四实施例提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时,实现以下步骤:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据。
本申请第五实施例提供一种输入输出流的处理方法。请参看图3,该图为本申请第五实施例的流程图。以下结合图3对本申请第五实施例提供一种输入输出流的处理方法进行详细说明。所述方法包括如下步骤:
步骤S301:流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求。
本步骤用于流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求。
例如Kubernetes容器集群中的API Server发送与容器集群中的指定容器交互输入输出流数据的第一请求,所述指定容器所在节点的流处理服务器获得所述第一请求。
步骤S302:所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息。
本步骤用于所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息。
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息,包括:
流处理服务器根据所述第一请求,获得所述第一请求对应的标识信息;
所述流处理服务器根据所述标识信息以及所述流处理服务器的基础地址信息,构建所述流处理服务器的地址信息;
所述流处理服务器向所述请求方返回所述流处理服务器的地址信息。
本实施例中,所述地址信息可以为统一资源定位符(URL)。该URL的获取步骤包括:流处理服务器将用户的输入输出流请求放入缓存中并获取一个标识信息,例如令牌(token),通过该令牌可以从缓存中重新获取对应的输入输出流信息;流处理服务器将自身的基础地址信息(Base URL)加上token构成一个新的URL,作为地址信息返回给APIServer。
步骤S303:所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求。
本步骤用于所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求。
本实施例中,API Server根据流处理服务器返回的地址信息发送超文本传输协议(HTTP)请求,并在头部包含了用于升级的期待升级的协议版本信息和API Server自己支持的协议版本信息,该请求即为用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求。
步骤S304:所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议。
本步骤用于所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议。
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:
所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;
所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;
将所述第四协议版本信息发送至所述请求方;
根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议。
例如,API Server期待升级的第一协议版本信息是10,API Server自身支持的第二协议版本信息是12,流处理服务器收到包含这些信息的协议升级请求后,会检查自己能够支持的第三协议版本信息,假设流处理服务器支持的第三协议版本是9,流处理服务器协商好的协议版本号是9,因为版本9对于API Server和流处理服务器双方都支持,而且最接近期待升级的版本信息。这里版本号9即第四协议版本信息。假设流处理服务器支持的第三协议版本是13,那么流处理服务器协商好的协议版本号是10,因为10是API Server期待的版本,而且API Server和流处理服务器都支持。此时,版本号10即为第四协议版本信息。
步骤S305:所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本步骤用于所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流,包括:
所述流处理服务器根据所述流处理协议,获得所述请求方创建所述流处理服务器和所述请求方之间的第一输入输出流的指令信息;
所述流处理服务器根据所述指令信息,建立所述流处理服务器和所述请求方之间的第一输入输出流。
流处理服务器从API Server发送的HTTP请求的头部获取API Server支持的协议信息,并与自己支持的协议信息进行比较,得到两者都支持的最高版本的协议,同时将其写入HTTP应答中,用于通知API Server。流处理服务器根据输入输出流请求的配置,调用相应的协议,等待API Server创建指定数目以及类型的IO流。API Server获取HTTP应答,将底层的HTTP协议升级为多路复用的流处理协议并根据输入输出流请求创建指定数目以及类型的输入输出流,并通过指令信息告诉流处理服务器,所述流处理服务器根据所述指令信息,完成建立所述流处理服务器和所述请求方之间的第一输入输出流的步骤。
所述输入输出流的处理方法,还包括:
所述流处理服务器向容器集群中的指定容器发起交互输入输出流数据的第三请求;
所述流处理服务器根据获得的所述指定容器返回的应答信息,建立所述流处理服务器与所述指定容器之间的第二输入输出流;
所述流处理服务器利用所述第二输入输出流,向所述指定容器转发所述流处理服务器通过所述第一输入输出流获得的数据。
流处理服务器待获取到所有的输入输出流之后,对指定容器发起输入输出流请求并将数据转发到对应的输入输出流中,最终来自API Server的输入输出流数据通过流处理服务器和指定容器之间的输入输出流发送到了指定容器,而无需Kubelet等中间节点的转发,减轻了中间节点的负载并且提高了输入输出的效率。
在上述的实施例中,提供了一种输入输出流的处理方法,与之相对应的,本申请还提供一种输入输出流的处理装置。请参看图4,其为本申请的一种输入输出流的处理装置实施例的流程图。由于本实施例,即第六实施例,基本相似于第五实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种输入输出流的处理装置,包括:
获得单元401,用于流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
返回单元402,用于所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
获取单元403,用于所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
升级单元404,用于所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
建立单元405,用于所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本实施例中所述输入输出流的处理装置,还包括转发单元,所述转发单元用于:
所述流处理服务器向容器集群中的指定容器发起交互输入输出流数据的第三请求;
所述流处理服务器根据获得的所述指定容器返回的应答信息,建立所述流处理服务器与所述指定容器之间的第二输入输出流;
所述流处理服务器利用所述第二输入输出流,向所述指定容器转发所述流处理服务器通过所述第一输入输出流获得的数据。
本实施例中,所述返回单元,具体用于:
流处理服务器根据所述第一请求,获得所述第一请求对应的标识信息;
所述流处理服务器根据所述标识信息以及所述流处理服务器的基础地址信息,构建所述流处理服务器的地址信息;
所述流处理服务器向所述请求方返回所述流处理服务器的地址信息。
本实施例中,所述升级单元,具体用于:
所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;
所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;
将所述第四协议版本信息发送至所述请求方;
根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议。
本实施例中,所述建立单元,具体用于:
所述流处理服务器根据所述流处理协议,获得所述请求方创建所述流处理服务器和所述请求方之间的第一输入输出流的指令信息;
所述流处理服务器根据所述指令信息,获得所述流处理服务器和所述请求方之间的第一输入输出流。
本申请第七实施例提供一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本申请第八实施例提供一种计算机可读取存储介质,其上存储有计算机程序,该程序被处理器执行时,实现以下步骤:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
本申请第九实施例提供一种容器集群中输入输出流的处理系统,包括:API服务器,流处理服务器;
所述API服务器用于,将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;获取所述流处理服务器返回的所述流处理服务器的地址信息;根据所述地址信息,与所述指定容器交互输入输出流数据;
所述流处理服务器用于,获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;根据所述第一请求,向所述请求方返回所述流服务器的地址信息;获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
请参考图5,其为采用本申请提供的一种容器集群中输入输出流的处理系统方案的一个Kubernetes容器集群的输入输出流系统的示意图。
下面对于结合该示意图的对于该系统的工作步骤进行说明。需要指出的是,现有技术中一般使用IO来代表输入输出,为了与现有技术一致,下面用IO来替代本申请中提到的输入输出。
步骤601:在Kubernetes的每个节点启动IO流处理服务器。
步骤602:API Server将用户对某个容器的IO请求层层转发到目标容器所在节点的IO流处理服务器。
步骤603:IO流处理服务器将IO请求进行缓存并返回一个URL到Api Server。该步骤包括以下两个子步骤:
子步骤603-1:将用户的IO请求配置放入缓存中并获取一个token,通过该token可以从缓存中重新获取对应的IO配置。
子步骤603-2:IO流处理服务器将自身的Base URL加上token构成一个新的URL并返回。
步骤604:API Server通过获取到的URL对IO流处理服务进行访问并将两者之间的HTTP协议升级为流处理协议,并与目标容器建立IO连接。该步骤包括如下子步骤:
子步骤604-1:API Server根据所得的URL向目标IO流处理服务器发送HTTP请求并在头部包含升级协议的字段以及API Server支持的子协议。
子步骤604-2:IO流处理服务器从来自API Server的URL中解析出token并根据token从缓存中获取之前存放其中的对应的IO请求。
子步骤604-3:IO流处理服务器从HTTP请求的头部获取API Server支持的子协议并与自己支持的子协议进行比较得到两者公共支持的最高版本的子协议,同时将其写入HTTP应答中,用于通知API Server。
子步骤604-4:IO流处理服务器根据IO请求的配置,调用相应的子协议,等待APIServer创建指定数目以及类型的IO流。
子步骤604-5:API Server获取HTTP应答,将底层的HTTP协议升级为多路复用的流处理协议并根据IO请求创建指定数目以及类型的IO流。
子步骤604-6:IO流处理服务器待获取到所有的IO流之后,对目标容器发起IO请求并将数据转发到对应的IO流中。
子步骤604-7:最终IO数据通过IO流直接转发到了API Server,而无需Kubelet等中间节点的转发,减轻了中间节点的负载并且提高了IO的效率。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个操作器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (14)

1.一种输入输出流的处理方法,其特征在于,包括:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据,包括:获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,创建指定数目及类型的输入输出流;利用所述输入输出流,与所述指定容器交互输入输出流数据;
其中,所述根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议,包括:根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;将所述协议升级请求发送至所述流处理服务器;获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
2.根据权利要求1所述的输入输出流的处理方法,其特征在于,所述获取所述流处理服务器返回的地址信息,包括:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
3.一种输入输出流的处理装置,其特征在于,包括:
发送单元,用于将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器;
获取单元,用于获取所述流处理服务器返回的所述流处理服务器的地址信息;
交互单元,用于根据所述地址信息,与所述指定容器交互输入输出流数据;
其中,所述交互单元,具体用于:获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,创建指定数目及类型的输入输出流;利用所述输入输出流,与所述指定容器交互输入输出流数据;所述交互单元,还用于:根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;将所述协议升级请求发送至所述流处理服务器;获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
4.根据权利要求3所述的输入输出流的处理装置,其特征在于,所述获取单元,具体用于:
获取所述流处理服务器返回的所述流处理服务器的基础地址信息和所述请求的标识信息对应的地址信息。
5.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据,包括:获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,创建指定数目及类型的输入输出流;利用所述输入输出流,与所述指定容器交互输入输出流数据;
其中,所述根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议,包括:根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;将所述协议升级请求发送至所述流处理服务器;获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
6.一种计算机可读取存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现以下步骤:
将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器,包括:将与所述容器集群中的指定容器交互输入输出流数据的请求通过所述指定容器对应的代理模块、所述指定容器对应的容器运行时接口发送至所述指定容器对应的流处理服务器;
获取所述流处理服务器返回的所述流处理服务器的地址信息;
根据所述地址信息,与所述指定容器交互输入输出流数据,包括:获取期待升级的第一协议版本信息和本地支持的第二协议版本信息;根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,创建指定数目及类型的输入输出流;利用所述输入输出流,与所述指定容器交互输入输出流数据;
其中,所述根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议,包括:根据所述地址信息、所述第一协议版本信息、所述第二协议版本信息,构建协议升级请求;将所述协议升级请求发送至所述流处理服务器;获得所述流处理服务器返回的协议升级应答信息,所述协议升级应答信息包括与所述流处理服务器协商确定的第三协议版本信息;根据所述第三协议版本信息,将与所述流处理服务器之间的超文本传输协议升级为多路复用的流处理协议。
7.一种输入输出流的处理方法,其特征在于,包括:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;将所述第四协议版本信息发送至所述请求方;根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
8.根据权利要求7所述的输入输出流的处理方法,其特征在于,还包括:
所述流处理服务器向容器集群中的指定容器发起交互输入输出流数据的第三请求;
所述流处理服务器根据获得的所述指定容器返回的应答信息,建立所述流处理服务器与所述指定容器之间的第二输入输出流;
所述流处理服务器利用所述第二输入输出流,向所述指定容器转发所述流处理服务器通过所述第一输入输出流获得的数据。
9.根据权利要求7所述的输入输出流的处理方法,其特征在于,所述流处理服务器根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息,包括:
流处理服务器根据所述第一请求,获得所述第一请求对应的标识信息;
所述流处理服务器根据所述标识信息以及所述流处理服务器的基础地址信息,构建所述流处理服务器的地址信息;
所述流处理服务器向所述请求方返回所述流处理服务器的地址信息。
10.根据权利要求7所述的输入输出流的处理方法,其特征在于,所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流,包括:
所述流处理服务器根据所述流处理协议,获得所述请求方创建所述流处理服务器和所述请求方之间的第一输入输出流的指令信息;
所述流处理服务器根据所述指令信息,建立所述流处理服务器和所述请求方之间的第一输入输出流。
11.一种输入输出流的处理装置,其特征在于,包括:
获得单元,用于流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
返回单元,用于所述流处理服务器根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息;
获取单元,用于所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
升级单元,用于所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;将所述第四协议版本信息发送至所述请求方;根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议;
建立单元,用于所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,用于存储程序,所述程序在被所述处理器读取执行时,执行如下操作:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;将所述第四协议版本信息发送至所述请求方;根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
13.一种计算机可读取存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现以下步骤:
流处理服务器获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;
所述流处理服务器根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息;
所述流处理服务器获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;
所述流处理服务器根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;将所述第四协议版本信息发送至所述请求方;根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议;
所述流处理服务器根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
14.一种容器集群中输入输出流的处理系统,其特征在于,包括:API服务器,流处理服务器;
所述API服务器用于,将与容器集群中的指定容器交互输入输出流数据的请求发送至所述指定容器对应的流处理服务器;获取所述流处理服务器返回的所述流处理服务器的地址信息;根据所述地址信息,与所述指定容器交互输入输出流数据;
所述流处理服务器用于,获得请求方发送的与容器集群中的指定容器交互输入输出流数据的第一请求;根据所述第一请求,向所述请求方返回所述流处理服务器的地址信息;获取所述请求方发送的用于升级所述流处理服务器和所述请求方之间的超文本传输协议的第二请求;根据所述第二请求,将所述超文本传输协议升级为多路复用的流处理协议,包括:所述流处理服务器根据所述第二请求,获得所述请求方的期待升级的第一协议版本信息、所述请求方支持的第二协议版本信息;所述流处理服务器根据所述第一协议版本信息、第二协议版本信息、所述流处理服务器支持的第三协议版本信息,获得所述请求方和所述流处理服务器都支持的第四协议版本信息;将所述第四协议版本信息发送至所述请求方;根据所述请求方的指令信息,将所述超文本传输协议升级为多路复用的流处理协议;根据所述流处理协议,建立所述流处理服务器和所述请求方之间的第一输入输出流。
CN201811599020.XA 2018-12-26 2018-12-26 一种输入输出流的处理方法、装置及系统 Active CN111367650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811599020.XA CN111367650B (zh) 2018-12-26 2018-12-26 一种输入输出流的处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811599020.XA CN111367650B (zh) 2018-12-26 2018-12-26 一种输入输出流的处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111367650A CN111367650A (zh) 2020-07-03
CN111367650B true CN111367650B (zh) 2023-11-21

Family

ID=71208955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811599020.XA Active CN111367650B (zh) 2018-12-26 2018-12-26 一种输入输出流的处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111367650B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276228A (ja) * 1997-01-29 1998-10-13 Fujikura Ltd サーバを多重化したlanシステム及びlanシステムにおけるサーバ診断装置
CN101809949A (zh) * 2007-09-19 2010-08-18 香港中文大学 基于拉的并行视频服务器中的负载均衡和接纳调度
CN102299931A (zh) * 2011-09-19 2011-12-28 莫雅静 一种网页内容发送方法和代理服务器
CN105450579A (zh) * 2014-05-30 2016-03-30 广州市动景计算机科技有限公司 网络资源预加载方法、客户端及中间件服务器
CN105743812A (zh) * 2014-12-26 2016-07-06 英特尔公司 在单个连接上多路复用许多客户端流
US9537914B1 (en) * 2015-12-01 2017-01-03 International Business Machines Corporation Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
CN106489145A (zh) * 2015-12-28 2017-03-08 华为技术有限公司 web网站的访问方法、装置及Web网站系统
CN107911415A (zh) * 2017-10-20 2018-04-13 深圳市网心科技有限公司 Tcp流的多路复用系统及其方法、存储介质与终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047288B2 (en) * 2012-01-06 2015-06-02 Apple Inc. Intelligent data delivery and storage based on data characteristics
US9870410B2 (en) * 2014-09-15 2018-01-16 Microsoft Technology Licensing, Llc Constructed data stream for enhanced event processing
CN104320487B (zh) * 2014-11-11 2018-03-20 网宿科技股份有限公司 内容分发网络的http调度系统和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276228A (ja) * 1997-01-29 1998-10-13 Fujikura Ltd サーバを多重化したlanシステム及びlanシステムにおけるサーバ診断装置
CN101809949A (zh) * 2007-09-19 2010-08-18 香港中文大学 基于拉的并行视频服务器中的负载均衡和接纳调度
CN102299931A (zh) * 2011-09-19 2011-12-28 莫雅静 一种网页内容发送方法和代理服务器
CN105450579A (zh) * 2014-05-30 2016-03-30 广州市动景计算机科技有限公司 网络资源预加载方法、客户端及中间件服务器
CN105743812A (zh) * 2014-12-26 2016-07-06 英特尔公司 在单个连接上多路复用许多客户端流
US9537914B1 (en) * 2015-12-01 2017-01-03 International Business Machines Corporation Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
CN106489145A (zh) * 2015-12-28 2017-03-08 华为技术有限公司 web网站的访问方法、装置及Web网站系统
CN107911415A (zh) * 2017-10-20 2018-04-13 深圳市网心科技有限公司 Tcp流的多路复用系统及其方法、存储介质与终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SINGLE-INPUT-MULTIPLE-OUPUT TRANSCODING FOR VIDEO STREAMING;Chengzhi Wang;2011 Third International Conference on Communication Systems and Networks;全文 *
分布式数据流处理系统的动态负载平衡技术;邓华锋;刘云生;肖迎元;;计算机科学(07);全文 *
基于JAVA技术的输入输出流系统应用性分类研究;张雷;自动化与仪器仪表;全文 *

Also Published As

Publication number Publication date
CN111367650A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
US11429893B1 (en) Massively parallel real-time database-integrated machine learning inference engine
US20200379812A1 (en) Unified container orchestration controller
US9525592B2 (en) Client/server network environment setup method and system
US11381885B2 (en) Method and device for managing processing of media content, and computer-readable recording medium
CN109992406B (zh) 图片请求方法、响应图片请求的方法及客户端
US8935377B2 (en) Dynamic registration of listener resources for cloud services
US9088462B2 (en) Common web accessible data store for client side page processing
CN110515605B (zh) 属性信息的同步方法及装置、存储介质和处理器
JP2017511511A (ja) スクリーンコンテンツの伝送及びディスプレイ
US11327811B2 (en) Distributed computing mesh
WO2020215833A1 (zh) 离线缓存方法、装置、终端及可读存储介质
US9467532B2 (en) Server, arithmatic processing method, and arithmatic processing system
US11392402B1 (en) Coordinated migration of network-accessible services while maintaining service availability in prior environment
CN116303309A (zh) 文件挂载方法、装置和电子设备
CN113301004A (zh) 数据处理方法、装置、通信方法和单网卡虚拟机
US11381630B2 (en) Transmitting data over a network in representational state transfer (REST) applications
CN113301081B (zh) 一种针对内容分发网路的数据处理方法、装置、电子设备
CN111367650B (zh) 一种输入输出流的处理方法、装置及系统
US11252457B2 (en) Multimedia streaming and routing apparatus and operation method of the same
US20230283695A1 (en) Communication Protocol for Knative Eventing's Kafka components
US20230229438A1 (en) Kernels as a service
CN112597406A (zh) 一种文件传输方法、装置、终端设备及存储介质
US10152490B2 (en) Sequential replication with limited number of objects
US10528625B2 (en) Client cloud synchronizer
CN112839071B (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