CN115827690A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115827690A CN115827690A CN202211403396.5A CN202211403396A CN115827690A CN 115827690 A CN115827690 A CN 115827690A CN 202211403396 A CN202211403396 A CN 202211403396A CN 115827690 A CN115827690 A CN 115827690A
- Authority
- CN
- China
- Prior art keywords
- processing
- target
- data stream
- remote
- requirement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种数据处理方法、装置、计算机设备和存储介质。涉及云计算技术领域。可用于金融科技领域或其他相关领域。该方法包括:确定接收到的原始数据流对应的数据处理需求;根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若存在,则根据原始数据流,确定目标数据流;根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。能够极大的降低网格服务中部署和运行代理容器时对资源的消耗。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着分布式微服务技术的发展,服务网格作为一种新兴分布式服务架构逐渐兴起。服务网格可以实现将微服务中的非业务处理功能,如通讯传输功能,从微服务的业务程序中剥离出来,拆分为独立进程,下沉到基础设施层,如以代理容器的模式独立部署在执行业务程序的业务容器所在的容器组中。从而实现基础设施和业务的完全解耦。
但是,随着下沉到基础设施层的数据处理功能的增多,部署和运行代理容器需要消耗的资源越来越多,尤其是在大集群分布式微服务场景下,可能存在代理容器占用资源远大于业务容器占用资源的情况,亟需改进。
发明内容
基于此,有必要针对上述技术问题,提供一种能够极大的降低网格服务中部署和运行代理容器时对资源的消耗的数据处理方法、装置、计算机设备和可读存储介质。
第一方面,本申请提供了一种数据处理方法。该方法包括:
确定接收到的原始数据流对应的数据处理需求;
根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
若存在,则根据原始数据流,确定目标数据流;
根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
在其中一个实施例中,将远程处理请求发送至目标远程代理容器,包括:
根据原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器;
将远程处理请求发送至目标远程代理容器。
在其中一个实施例中,根据原始数据流的业务类型,从候选远程代理容器中确定目标远程代理容器,包括:
根据原始数据流的业务类型,从候选远程代理容器中,选择业务类型对应的目标远程代理容器。
在其中一个实施例中,若存在,则根据原始数据流,确定目标数据流,包括:
若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则对原始数据流执行可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。
在其中一个实施例中,该方法还包括:
若数据处理需求中不存在本地不支持的目标处理需求,则获取数据处理需求的处理逻辑;
根据数据处理需求的处理逻辑,对原始数据流进行处理,得到本地处理结果。
在其中一个实施例中,该方法还包括:
根据原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地,并向本地传输目的地发送本地处理结果。
在其中一个实施例中,该方法还包括:
接收基于网络拦截规则拦截的进出容器组的原始数据流。
在其中一个实施例中,目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
第二方面,本申请提供了另一种数据处理方法。该方法包括:
接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
在其中一个实施例中,响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作,包括:
从远程处理请求中提取目标数据流,并确定目标数据流对应的目标处理需求的处理逻辑;
根据目标处理需求的处理逻辑,对目标数据流进行处理。
在其中一个实施例中,该方法还包括:
根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地;
向远程传输目的地发送远程处理结果;其中,远程处理结果为对目标数据流执行目标处理需求对应的处理操作得到的结果。
在其中一个实施例中,目标数据流为基于网络拦截规则拦截的进出容器组的原始数据流;或者为轻量级代理容器对原始数据流执行可处理需求对应的处理操作后得到的数据流;可处理需求为轻量级代理容器支持的数据处理需求。
在其中一个实施例中,目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
第三方面,本申请还提供了一种数据处理装置。该装置包括:
需求确定模块,用于确定接收到的原始数据流对应的数据处理需求;
需求判断模块,用于根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
数据确定模块,用于若存在,则根据原始数据流,确定目标数据流;
请求发起模块,用于根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
第四方面,本申请还提供了一种数据处理装置。该装置包括:
请求接收模块,用于接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
请求处理模块,用于响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
第五方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
确定接收到的原始数据流对应的数据处理需求;
根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
若存在,则根据原始数据流,确定目标数据流;
根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
第六方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
第七方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
确定接收到的原始数据流对应的数据处理需求;
根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
若存在,则根据原始数据流,确定目标数据流;
根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
第八方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
第九方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定接收到的原始数据流对应的数据处理需求;
根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
若存在,则根据原始数据流,确定目标数据流;
根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
第十方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
上述数据处理方法、装置、计算机设备、存储介质和计算机程序产品,轻量级代理容器在接收到原始数据流后,确定其对应的数据处理需求,在本地存在不支持的数据处理需求,即目标处理需求时,根据原始数据流确定目标数据流,并向目标远程代理容器请求对目标数据流执行目标处理需求对应的处理操作。本实施例中的轻量级代理容器本地只支持处理部分数据处理需求,在原始数据流的数据处理需求本地不支持时,请求远程代理容器协助处理。通过对容器组内部署的轻量级代理容器的功能进行削减处理,使得部署和运行该容器时耗费的资源相应减少。相比于现有技术为容器组内的代理容器部署全部的数据处理功能而言,本实施例极大的降低了服务网格中部署和运行容器组内代理容器的资源消耗。且通过与远程代理容器协作,也能保证全部数据处理需求的实现。
附图说明
图1为一个实施例中实现数据处理方法的服务网格架构图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中将远程处理请求发送至目标远程代理容器步骤的流程示意图;
图4为另一个实施例中数据处理方法的流程示意图;
图5为另一个实施例中数据处理方法的流程示意图;
图6为另一个实施例中数据处理方法的流程示意图;
图7A为一个实施例中的数据处理方法的信令交互流程示意图;
图7B为一个实施例中轻量级代理容器与远程代理容器交互的原理示意图;
图7C为一个实施例中对进出容器组的原始数据流进行处理的原理示意图;
图8为一个实施例中数据处理装置的结构框图;
图9为一个实施例中请求发起模块的结构框图;
图10为一个实施例中数据确定模块的结构框图;
图11为另一个实施例中数据处理装置的结构框图;
图12为另一个实施例中数据处理装置的结构框图;
图13为一个实施例中请求处理模块的结构框图;
图14为另一个实施例中数据处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据处理方法,可以应用于如图1所示的服务网格架构中。本实施例的服务网格架构可以是由K8S集群中的多台业务服务器1、控制平面2、注册中心3和共享服务器4构成。K8S集群中的每台业务服务器1包括一个接口服务(即API服务)11和若干个容器组(POD组)12,接口服务11用于接收传输到该业务服务器1的数据流,并将其传输至对应的容器组12。对于容器组12而言,其内部进一步包括至少一个业务容器121和一个轻量级代理容器122。不同的业务容器121可支持微应用中的不同业务功能。该轻量级代理容器122与现有技术中的常规代理容器相比,去除了部分复杂的高阶数据处理功能。而共享服务器4中部署的远程代理容器41可以仅支持处理这部分复杂的高阶数据处理功能。轻量级代理容器122和远程代理容器41可以基于控制平面2下发的数据处理规则对数据流执行相应的数据处理操作,并在处理执行完后,通过注册中心3获取处理后的数据流的传输目的地,将处理后的数据流传输至对应的传输目的地。其中,服务网格结构中的轻量级代理容器122在接收到接口服务11发送的原始数据流后,确定其对应的数据处理需求,在本地不存在不支持的数据处理需求,即目标处理需求时,根据原始数据流确定目标数据流,并向远程代理容器41发送处理请求,以请求远程代理容器41对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的轻量级代理容器为例进行说明,包括以下步骤:
S201,确定接收到的原始数据流对应的数据处理需求。
其中,原始数据流可以是远程代理容器接收到的其所在容器组的接口服务发送的需要进行处理的数据流。例如,该原始数据流可以是以数据处理请求形式存在的数据流。该数据流可以是外界设备(如客户端)产生并发送至服务网格架构中当前容器组内的数据流;还可以是服务网格架构中的其他容器组处理后输出至当前容器组内的数据流;还可以是远程代理容器处理后输出给当前容器组内的数据流等,对此不进行限定。
数据处理需求可以是轻量级代理容器需要对原始数据流进行处理的需求。即轻量级代理容器需要对原始数据流进行的处理操作对应的需求。需要说明的是,虽然原始数据流可能是要进行业务处理,也可能是要进行非业务处理,但是由于服务网络是将微服务中的非业务处理功能,如通讯传输功能,从微服务的业务程序中剥离出来交给代理容器执行,所以本实施例中轻量级代理容器确定的该数据处理需求(即本实施例所涉及的数据处理需求)是对原始数据进行非业务处理的需求。
可选的,在服务网格架构中,容器组的接口服务在接收到原始数据流后,会先将原始数据流传输至容器组的轻量级代理容器,轻量级代理容器在接收到原始数据流后,需要先确定当前接收的原始数据流对应的数据处理需求,即需要执行哪些非业务处理操作。具体的,轻量级代理容器可以根据控制平面下发的数据处理规则,来确定接收到的原始数据流对应的数据处理需求。具体的,服务网格中的控制平面会定时或有新增数据处理规则时,向各容器组中的轻量级代理容器和远程代理容器下发对应的数据处理规则。其中,该数据处理规则可以是对不同类型或内容的数据流设置的需要执行的数据处理逻辑。
轻量级代理容器在接收到原始数据流后,可以根据原始数据流的类型或内容,通过查看控制平面下发的数据处理规则,确定需要对该原始数据流执行的数据处理操作,进而根据需要对该原始数据流执行的数据处理操作,确定原始数据流对应的数据处理需求。
S202,根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求。
其中,本地具备的数据处理功能可以指轻量级代理容器本地所具备的数据处理功能。由于本实施例的轻量级代理容器是对常规代理容器去除部分复杂的高阶数据处理功能后得到的,所以该轻量级代理容器本地无法实现所有的非业务的数据功能,其本地能够实现的不太复杂的非业务的数据处理功能即为轻量级代理容器本地具备的数据处理功能。可选的,本实施例可以是将执行通讯传输功能时,基于网络模型(如OSI七层模型和/或TCP/IP四层模型)的非应用层能够实现的功能作为轻量级代理容器本地具备的数据处理功能。例如,可以包括但不限于:数据转发功能和数据限流功能等。
相应的,目标处理需求可以是从轻量级代理容器中去除的那部分复杂的高阶数据处理功能对应的处理需求。即轻量级代理容器本地不能实现的数据处理功能对应的处理需求。可选的,若轻量级代理容器本地具备的数据处理功能为非应用层能够实现的功能,则此时的目标需求为通过网络模型的应用层实现的数据处理需求;其中,该网络模型包括:OSI七层模型和/或TCP/IP四层模型。例如,该目标处理需求可以包括但不限于:数据加密需求、数据监控需求、数据协议转换功能和数据灰度路由功能等。
可选的,轻量级代理容器可以解析S201确定的数据处理需求对应的待执行数据处理功能,并判断待执行数据处理功能中是否存在本地不具备的数据处理功能,若存在,则将本地不具备的待执行数据处理功能对应的数据处理需求作为目标处理需求。
示例性的,若S201确定原始数据流对应的数据处理需求包括:数据加密需求,且轻量级代理容器只具备执行网络模型中非应用层的数据处理功能,则此时应用层才能处理的数据加密需求属于轻量级代理容器本地不支持的数据处理需求。
S203,若存在,则根据原始数据流,确定目标数据流。
其中,目标数据流可以是执行目标处理需求相关的操作时所需使用的数据流。
可选的,轻量级代理容器在根据原始数据流,确定目标数据流时,可以是直接将原始数据流作为目标数据流;还可以是对原始数据流进行处理(如基于原始数据流对本地能够支持的数据处理请求进行处理)后,将处理后的结果作为目标数据流。具体采用哪种方式确定目标数据流,取决于数据处理需求中是否全部为本地不支持的目标处理需求。
例如,若原始数据流对应的数据处理需求中同时存在本地不支持的目标处理需求和本地支持的可处理需求,则轻量级代理容器对原始数据流执行可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。若原始数据流对应的数据处理需求中全部为本地不支持的目标处理需求,则轻量级代理容器直接将原始数据流作为目标数据流。
其中,轻量级代理容器对原始数据流执行可处理需求对应的处理操作的过程可以是基于控制平面下发的数据处理规则,确定数据处理需求中本地能够支持的可处理需求对应的数据处理逻辑,然后根据可处理需求对应的数据处理逻辑,对原始数据流进行处理,并将得到的处理结果作为目标数据流。
S204,根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器。
其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
可选的,轻量级代理容器根据目标数据流和目标处理需求,生成远程处理请求的方式可以是调用目标处理需求对应的请求生成逻辑,生成至少包含目标数据流的远程处理请求。可选的,该远程处理请求中可以包括目标处理需求也可以不包含。对此不进行限定。轻量级代理容器在生成远程处理请求后,可以与服务网格中能够支持该目标处理需求的目标远程代理容器进行通信,向目标远程代理容器发送该远程处理请求。
目标远程代理容器接收到该远程处理请求后,可以从该远程处理请求中提取待处理的目标数据流,若远程处理请求中还包括目标处理需求,则此时目标远程代理容器还可以进一步从该远程处理请求中提取目标处理需求;若远程处理请求中不包含目标处理需求,则此时目标远程代理容器可以基于服务网格中的控制平面下发的数据处理规则,确定目标数据流对应的目标处理需求。在确定目标数据流对应的目标处理需求后,可以调用目标处理需求对应的数据处理逻辑,对目标数据流进行处理,从而实现对原始数据流进行相关数据处理需求的处理操作。
上述数据处理方法中,轻量级代理容器在接收到原始数据流后,确定其对应的数据处理需求,在本地存在不支持的数据处理需求,即目标处理需求时,根据原始数据流确定目标数据流,并向目标远程代理容器请求对目标数据流执行目标处理需求对应的处理操作。本实施例中的轻量级代理容器本地只支持处理部分数据处理需求,在原始数据流的数据处理需求本地不支持时,请求远程代理容器协助处理。通过对容器组内部署的轻量级代理容器的功能进行削减处理,使得部署和运行该容器时耗费的资源相应减少。相比于现有技术为容器组内的代理容器部署全部的数据处理功能而言,本实施例极大的降低了服务网格中部署和运行容器组内代理容器的资源消耗。且通过与远程代理容器协作,也能保证全部数据处理需求的实现。
可选的,在一实施例中,轻量级代理容器在执行S201之前,还可以执行接收基于网络拦截规则拦截的进出容器组的原始数据流的操作。其中,网络拦截规则可以是预先设置好的用于拦截进出容器组的数据流,并改变其原始传输目的地的规则。可选的,本实施例的网络拦截规则可以是iptables网络规则。具体的,流入容器组的原始数据流的原始传输目的地(即后续介绍的第一传输目的地)通常为该容器组中的业务容器,流出容器组的原始数据流的原始传输目的地通常为其他容器组中的业务容器,部署容器组的虚拟机在检测到有原始数据流流入容器组或流入容器组后,会基于网络拦截规则将原始数据流拦截下来,并将其传输目的地从业务容器修改为该容器组的轻量级代理容器,进而修改了传输目的地的原始数据流就会传输至容器组内的轻量级代理容器,也就是说轻量级代理容器接收的原始数据流是基于网络拦截规则拦截下来的。这样设置的好处是,使得容器组中的轻量级代理容器能够在原始数据流进入业务容器之前,对原始数据流执行一部分非业务处理服务,从而实现将部分服务功能从业务服务中剥离出来,实现基础设施和业务的完全解耦,从而加快业务迭代周期。
在一个实施例中,可提供远程代理服务的远程代理容器的数量可能为多个,此时为了保证远程处理请求能够及时且正常响应,本实施例提供了一种轻量级代理容器将远程处理请求发送至目标远程代理容器的可选实现方式,如图3所示,具体实现过程包括:
S301,根据原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器。
可选的,原始数据流的业务类型可以是原始数据对应的业务处理服务的种类。候选远程代理容器可以是多个能够提供处理轻量级代理容器本地不支持的数据处理需求的远程的代理容器。候选远程代理容器的当前工作状态可以包括但不限于:空间状态和工作状态,若为工作状态,则还可以进一步包括:等待处理的数据量。
可选的,本实施例根据原始数据流的业务类型,从候选远程代理容器中确定目标远程代理容器的具体实现方式为:根据原始数据流的业务类型,从候选远程代理容器中,选择业务类型对应的目标远程代理容器。具体的,本实施例可以是为不同的业务类型,设置不同的专属候选远程代理容器,在为目标数据流确定目标远程代理容器时,可以是解析原始数据流执行业务服务时对应的业务类型,然后将属于该业务类型的候选远程代理容器作为目标远程代理容器。这样设置的好处是能够实现不同业务之间的安全隔离。
根据候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器的具体实现方式为:根据多个候选远程代理容器的当前工作状态,选择当前工作状态为空闲状态的候选远程代理容器作为目标代理容器,若所有候选代理容器的当前工作状态均处于工作状态,则可以根据各个候选远程代理容器对应的等待处理的数据量,将等待处理的数据量最少的候选远程代理容器作为目标远程代理容器。
根据原始数据流的业务类型和候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器的方式可以是:预先为每种业务类型设置至少两个候选远程代理容器,先根据原始数据流的业务类型,从所有候选远程代理容器中选择业务类型对应的至少两个初筛选远程代理容器,然后再从初筛选远程代理容器中,选择出工作状态为空闲状态的初筛选远程代理容器作为目标远程代理容器,若所有的初筛选远程代理容器的当前工作状态均为工作状态,则选择等待处理的数据量最少的初筛选远程代理容器作为目标远程代理容器。
S302,将远程处理请求发送至目标远程代理容器。
在确定出目标远程代理容器后,将远程处理请求传输至该目标远程代理容器。
本实施例中,通过设置多个候选远程代理容器,根据原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从多个候选远程代理容器中确定目标远程代理容器,并向其发送远程处理请求,通过考虑原始数据流的业务类型,能够实现处理目标处理需求时,不同业务之间的安全隔离,通过考虑候选远程代理容器的当前工作状态。能够实现对目标数据流处理过程的高效性。为安全且高效的对目标数据流进行处理提供了保障。
可选的,对于原始数据流对应的处理需求,其可能全部都是本地不支持的目标处理需求,也可能全部都是本地支持的可处理需求,也可能既包含本地不支持的目标处理需求,也包含本地支持的可处理需求。因此,在一个实施例中,如图4所示,给出了包含上述各种情况的数据处理方法的可选实现方案,具体包括如下步骤:
S401,确定接收到的原始数据流对应的数据处理需求。
S402,根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若存在,则执行S403,若不存在,则执行S405。
S403,若存在,则根据原始数据流,确定目标数据流。
可选的,若原始数据流对应的数据处理需求中存在本地不支持的目标处理需求,则此时可能包括两种情况。即情况一、若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则此时轻量级代理容器可以是对原始数据流执行可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。情况二、若数据处理需求中全部为本地不支持的目标处理需求,则此时轻量级代理容器可以是将原始数据流作为目标数据流。
S404,根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器。
其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
S405,若数据处理需求中不存在本地不支持的目标处理需求,则获取数据处理需求的处理逻辑。
可选的,若数据处理需求中不存在本地不支持的目标处理需求,则说明S401确定的原始数据流对应的数据处理需求都是轻量级代理容器本地具备的数据处理功能对应的处理需求,此时轻量级代理容器本地可以基于服务网格中的控制平面下发的处理规则,查找执行各个数据处理需求对应的数据处理逻辑。
S406,根据数据处理需求的处理逻辑,对原始数据流进行处理,得到本地处理结果。
可选的,轻量级代理容器可以调用S405确定的数据处理需求对应的处理逻辑,对接收到的原始数据进行相应的数据处理,并将处理结果作为本地处理结果。
S407,根据原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地,并向本地传输目的地发送本地处理结果。
其中,原始数据流的第一传输目的地可以是原始数据流进入容器组时所对应的原始传输目的地,即发送该原始数据流的一方确定的该原始数据流的接收方。本地处理结果的第二传输目的地可以是指轻量级代理容器对原始数据流进行处理的过程中进行了目的地更改操作,得到的更改后的目的地。即轻量级代理容器为原始数据流修改的传输目的地。本地处理结果的本地传输目的地可以是轻量级代理容器对原始数据流处理后的结果的最终传输目的。
可选的,本实施例根据原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地的方式可以是:若轻量级代理容器本地对原始数据流执行的处理逻辑中不包含对原始数据流的传输目的地进行更改的操作,则此时可以是根据原始数据流的第一传输目的地,确定本地处理结果的本地传输目的地,即将原始数据流的第一传输目的地作为本地处理结果的本地传输目的地。若轻量级代理容器本地对原始数据流执行的处理逻辑中包含对原始数据流的传输目的地进行更改的操作,则此时可以根据本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地,即将本地处理结果的第二传输目的地作为本地处理结果的本地传输目的地。还可以是根据原始数据流的第一传输目的地和本地处理结果的第二传输目的地,按照控制平面下发的目的地选择策略从第一传输目的地和第二传输目的地中选择一个,作为本地处理结果的本地传输目的地。
可选的,在确定出本地处理结果的本地传输目的地后,向本地传输目的地发送本地处理结果。
本实施例中,对轻量级代理容器本地能够处理全部的数据处理需求、能够处理部分的数据处理需求,以及无法执行任意一个数据处理需求的情况进行了详细介绍,从而实现了对于原始数据流的任何数据处理需求,轻量级代理容器都能通过本地,或者与目标远程代理容器交互完成对数据处理需求对应的处理操,从而保证了原始数据流的处理操作的正常实现。另外,本实施例根据原始数据对应的第一传输目的地和/或本地处理结果对应的第二传输目的地,确定本地处理结果最终的传输目的地,从而保证了本地处理结果能够精准的传输给对应的接收方。
在一个实施例中,如图5所示,提供了一种数据处理方法,以该方法应用于图1中的远程代理容器(即上述实施例中的目标远程代理容器)为例进行说明,包括以下步骤:
S501,接收轻量级代理容器发送的远程处理请求。
其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求。
可选的,本实施例中目标数据流为基于网络拦截规则拦截的进出容器组的原始数据流;或者为轻量级代理容器对原始数据流执行可处理需求对应的处理操作后得到的数据流;可处理需求为轻量级代理容器支持的数据处理需求。目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
具体的,轻量级代理容器在接收到基于网络拦截规则拦截的进出容器组的原始数据流后,会先确定原始数据流对应的数据处理需求,若轻量级代理容器自身无法独立完成所有的数据处理需求时,会先根据原始数据流确定目标数据流,例如,若原始数据流对应的数据处理需求中同时存在轻量级代理容器不支持的目标处理需求和轻量级代理容器支持的可处理需求,则轻量级代理容器可以是对原始数据流执行可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。若原始数据流对应的数据处理需求中全部为轻量级代理容器不支持的目标处理需求,则此时轻量级代理容器可以直接将原始数据流作为目标数据流。轻量级代理容器在确定出目标数据流后,可以根据目标数据流和目标处理需求生成远程处理请求,发送至目标远程代理容器。相应的,目标远程代理容器会接收轻量级代理容器反馈的远程处理请求。需要说明的是,轻量级代理容器从接收原始数据流到向目标远程代理容器发送远程处理请求的过程在上述实施例已经进行了详细的介绍,在此不进行赘述。
S502,响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
可选的,若远程处理请求中包括目标数据流,但不包括目标处理需求及其对应的处理逻辑,则目标远程代理容器接收到远程处理请求后,可以从远程处理请求中提取目标数据流,并确定目标数据流对应的目标处理需求的处理逻辑;根据目标处理需求的处理逻辑,对目标数据流进行处理。具体的,目标远程代理容器从该远程处理请求中提取待处理的目标数据流后,基于服务网格中的控制平面下发的数据处理规则,确定目标数据流对应的目标处理需求和目标处理需求对应的处理逻辑,然后调用目标处理需求对应的处理逻辑对目标数据流进行处理,得到远程处理结果。
若远程处理请求中包括目标数据流和目标处理需求,但不包括目标处理需求对应的处理逻辑,则此时目标远程代理容器可以从远程处理请求中获取目标数据流和目标处理需求,然后从服务网格中的控制平面下发的数据处理规则中查找目标处理需求对应的处理逻辑,进而调用目标处理需求对应的处理逻辑对目标数据流进行处理,得到远程处理结果。
若远程处理请求中同时包括目标数据流、目标处理需求,以及目标处理需求对应的处理逻辑,则此时目标远程代理容器可以从远程处理请求中获取目标数据流、目标处理需求,以及目标处理需求对应的处理逻辑,然后调用目标处理需求对应的处理逻辑对目标数据流进行处理,得到远程处理结果。
上述数据处理方法中,轻量级代理容器确定其接收的原始数据流对应的数据处理需求,存在本地不支持的目标处理需求时,根据原始数据流确定目标数据流,并根据目标数据流和目标处理需求向目标远程代理容器发起远程处理请求后,目标远程代理容器响应于该远程处理请求,对目标数据流执行目标处理需求对应的处理操作。本实施例中的轻量级代理容器本地只支持处理部分数据处理需求,在原始数据流的数据处理需求本地不支持时,请求远程代理容器协助处理。通过对容器组内部署的轻量级代理容器的功能进行削减处理,使得部署和运行该容器时耗费的资源相应减少。相比于现有技术为容器组内的代理容器部署全部的数据处理功能而言,本实施例极大的降低了服务网格中部署和运行容器组内代理容器的资源消耗。且通过与远程代理容器协作,也能保证全部数据处理需求的实现。
在一个实施例中,如图6所示,对目标远程代理容器对目标数据流执行完目标处理需求对应的处理操作的后续操作进行说明,具体包括如下步骤:
S601,接收轻量级代理容器发送的远程处理请求。
其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求。
S602,响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
S603,根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地。
其中,原始数据流的第一传输目的地可以是原始数据流进入容器组时所对应的传输目的地,即发送该原始数据流的一方确定的该原始数据流的接收方。目标数据流的第三传输目的地为发送远程处理请求的轻量级代理容器为目标数据流的处理结果确定的传输目的地。远程处理结果的第四传输目的地为远程代理容器对目标数据流执行目标处理需求对应操作的过程中,确定的处理结果的传输目的地。远程处理结果的远程传输目的地可以是目标远程代理容器对目标数据流处理后的结果的最终的传输目的。
可选的,本实施例根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地的方式可以是:若原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中仅存在一个,则将存在的那个目的地,作为远程处理结果的远程传输目的地;若原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中仅存在至少两个,则可以按照控制平面下发的目的地筛选策略从存在的多个目的地中选一个作为远程处理结果的远程传输目的地。例如,按照控制平面下发的第一传输目的地、第三传输目的地和第四传输目的地的优先级,从至少两个存在的目的地中,选择优先级最高的目的地作为远程处理结果的远程传输目的地。
S604,向远程传输目的地发送远程处理结果。
其中,远程处理结果为对目标数据流执行目标处理需求对应的处理操作得到的结果。即目标远程代理容器执行S602对应操作后得到的处理结果。
可选的,目标远程代理容器在得到远程处理结果和远程传输目的地后,可以将远程处理结果传输至远程传输目的地。
在上述实施例中,目标远程代理容器接收并响应轻量级代理容器发送的远程处理请求,对目标数据流执行目标处理需求对应的处理操作,得到远程处理结果,根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地,并将远程处理结果发送至远程传输目的地。本实施例根据原始数据对应的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果最终的传输目的地,从而保证了远程处理结果能够精准的传输给对应的接收方。
在一个实施例中,图7A为一个实施例中的数据处理方法的信令交互流程示意图。图7B为一个实施例中轻量级代理容器与远程代理容器交互的原理示意图;图7C为一个实施例中对进出容器组的原始数据流进行处理的原理示意图;如图7A所示,该方法主要介绍的是容器组中的轻量级代理容器和目标远程代理容器之间相互配合,实现对进出容器组的原始数据流进行处理的情况,包括如下步骤:
S701,轻量级代理容器接收基于网络拦截规则拦截的进出容器组的原始数据流。
S702,轻量级代理容器确定接收到的原始数据流对应的数据处理需求。
S703,轻量级代理容器根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若不存在本地不支持的目标处理需求,则执行S704,若仅存在本地不持支的目标处理需求,则执行S707,若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则执行S708。
其中,目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
S704,若数据处理需求中不存在本地不支持的目标处理需求,则轻量级代理容器获取数据处理需求的处理逻辑。
S705,轻量级代理容器根据数据处理需求的处理逻辑,对原始数据流进行处理,得到本地处理结果。
S706,轻量级代理容器根据原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地,并向本地传输目的地发送本地处理结果。
示例性的,如图7B所示,若轻量级代理容器A确定原始数据流对应的数据处理需求为简单的转发需求,不存在本地不支持的目标处理需求,即所有的数据处理需求轻量级代理容器A本地都能够执行,则轻量级代理容器A在本地根据数据处理需求的处理逻辑,对原始数据流进行转发处理,即将原始数据流传输至本地传输目的地,即POD-B。也就说,对于复杂度较低的数据处理需求,轻量级代理容器A无需借助远程代理容器,在本地即可完成。
S707,若仅存在本地不持支的目标处理需求,则轻量级代理容器将原始数据流作为目标数据流。
S708,若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则轻量级代理容器对原始数据流执行可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。
S709,轻量级代理容器根据目标数据流和目标处理需求,生成远程处理请求。
S710,轻量级代理容器根据所原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器。
进一步是,根据原始数据流的业务类型,从候选远程代理容器中确定目标远程代理容器,包括:根据原始数据流的业务类型,从候选远程代理容器中,选择业务类型对应的目标远程代理容器。
S711,轻量级代理容器将远程处理请求发送至目标远程代理容器。
S712,目标远程代理容器接收轻量级代理容器发送的远程处理请求。
S713,目标远程代理容器从远程处理请求中提取目标数据流,并确定目标数据流对应的目标处理需求的处理逻辑。
S714,目标远程代理容器根据目标处理需求的处理逻辑,对目标数据流进行处理。
S715,目标远程代理容器根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地。
S716,目标远程代理容器向远程传输目的地发送远程处理结果。
其中,远程处理结果为对目标数据流执行目标处理需求对应的处理操作得到的结果。
示例性的,如图7B所示,若轻量级代理容器A确定原始数据流对应的数据处理需求仅包括复杂的加密需求,存在本地不支持的目标处理需求,则轻量级代理容器A会生成对原始数据流进行加密处理的远程处理请求发送至远程代理容器A;若轻量级代理容器A确定原始数据流对应的数据处理需求包括简单的限流需求和复杂的加密需求,即存在本地不支持的目标处理需求和本地支持的可处理需求,则轻量级代理容器A会先执行目标处理需求对应的处理逻辑,即判断原始数据流是否需要被限流,若不需要,则再生成对原始数据流进行加密处理的远程处理请求发送至远程代理容器A。远程代理容器A接收并响应远程处理请求,对原始数据流执行加密处理后,将加密后的原始数据流传输至远程传输目的地,即POD-D。也就说,对于复杂度较高的数据处理需求,轻量级代理容器A需要借助远程代理容器来实现。
在一个实施例中,如图7C所示,虚线框代表容器组,箭头1代表进入容器组的输入数据流(即原始数据流),输入数据流进入容器组后,部署容器组的虚拟机会基于网卡路由表1(即网络拦截规则)对该输入数据流进行拦截,并修改其传输目的地,将其发送至容器组中的轻量级代理容器,即对应箭头2。轻量级代理容器会根据本地具备的数据处理功能,确定输入数据流的数据处理需求中是否存在本地不支持的目标处理需求,如果不存在,则轻量级代理容器本地对输入数据流执行数据处理需求对应的处理操作后,直接将本地处理结果发送至APP业务容器,即对应箭头4。若输入数据流的数据处理需求中存在本地不支持的目标处理需求,则轻量级代理容器会根据输入数据流确定目标数据流,进而基于目标处理需求,及其对应的目标数据流,向目标远程代理容器(如业务2远程代理容器)发起对目标数据流执行目标处理需求的远程处理请求,即对应箭头3,目标远程代理容器对目标数据流执行目标处理需求对应的处理操作后,输出远程处理结果,即对应箭头7。箭头5表示APP业务容器对数据流执行业务处理后,想要输出容器组的输出数据流(即另一种类型的原始数据流),输出数据流在输出容器组前,部署容器组的虚拟机会基于网卡路由表2(即网络拦截规则)对该输出数据流进行拦截,并修改其传输目的地,将其发送至容器组中的轻量级代理容器,即对应箭头6。需要说明的是,网卡路由表1和网卡路由表2可以相同,也可以不同。轻量级代理容器会根据本地具备的数据处理功能,确定输出数据流的数据处理需求中是否存在本地不支持的目标处理需求,如果不存在,则轻量级代理容器本地对输出数据流执行数据处理需求对应的处理操作后,直接将本地处理结果从容器组输出,即对应箭头8。若输出数据流的数据处理需求中存在本地不支持的目标处理需求,则轻量级代理容器会根据输出数据流确定目标数据流,进而基于目标处理需求,及其对应的目标数据流,向目标远程代理容器(如业务2远程代理容器)发起对目标数据流执行目标处理需求的远程处理请求,即对应箭头3,目标远程代理容器对目标数据流执行目标处理需求对应的处理操作后,输出远程处理结果,即对应箭头7。
需要说明的是,远程处理结果可以反馈给发送远程处理请求的轻量级代理容器,可以发送至其他目的地。若反馈给发送远程处理请求的轻量级代理容器,则该远程处理结果有相当于是再次进入容器组的数据流,即此时该远程处理结果即为新的输入数据流,执行箭头1对应的操作。
上述S701-S716的具体过程可以参见上述方法实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案和有益效果相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种数据处理装置,包括:需求确定模块10、需求判断模块11、数据确定模块12和请求发起模块13,其中:
需求确定模块10,用于确定接收到的原始数据流对应的数据处理需求;
需求判断模块11,用于根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;
数据确定模块12,用于若存在,则根据原始数据流,确定目标数据流;
请求发起模块13,用于根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
在其中一个实施例中,如图9所示,上述图8中的请求发起模块13包括:
容器选择单元131,用于根据原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从候选远程代理容器中确定目标远程代理容器;
请求发送单元132,用于将远程处理请求发送至目标远程代理容器。
在其中一个实施例中,容器选择单元131具体用于:根据原始数据流的业务类型,从候选远程代理容器中,选择业务类型对应的目标远程代理容器。
在其中一个实施例中,如图10所示,上述图8中的数据确定模块12包括:
数据处理单元121,用于若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则对原始数据流执行可处理需求对应的处理操作;
数据确定单元122,用于将处理后的原始数据流作为目标数据流。
在其中一个实施例中,在上述图8、图9或者图10中至少一个的基础上,如图11所示,上述数据处理装置1还包括:
逻辑获取模块14,用于若数据处理需求中不存在本地不支持的目标处理需求,则获取数据处理需求的处理逻辑;
逻辑处理模块15,用于根据数据处理需求的处理逻辑,对原始数据流进行处理,得到本地处理结果。
第一传输模块16,用于根据原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定本地处理结果的本地传输目的地,并向本地传输目的地发送本地处理结果。
数据接收模块17,用于接收基于网络拦截规则拦截的进出容器组的原始数据流。
需要说明的是,图11所示的结构是在图8的基础上示意的,当然,也可以基于图9和图10中任一基础上进行示意,本实施例对此并不做限定。
在其中一个实施例中,目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
在一个实施例中,如图12所示,提供了一种数据处理装置,包括:请求接收模块20和请求处理模块21,其中:
请求接收模块20,用于接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;
请求处理模块21,用于响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
在其中一个实施例中,如图13所示,上述图12中的请求处理模块21包括:
逻辑确定单元211,用于从远程处理请求中提取目标数据流,并确定目标数据流对应的目标处理需求的处理逻辑;
逻辑处理单元212,用于根据目标处理需求的处理逻辑,对目标数据流进行处理。
在其中一个实施例中,在上述图12或者图13的基础上,如图14所示,上述该数据处理装置2还包括:
目的地确定模块22,用于根据原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地;
第二传输模块23,用于向远程传输目的地发送远程处理结果;其中,远程处理结果为对目标数据流执行目标处理需求对应的处理操作得到的结果。
需要说明的是,图14所示的结构是在图12的基础上示意的,当然,也可以基于图13进行示意,本实施例对此并不做限定。
在其中一个实施例中,目标数据流为基于网络拦截规则拦截的进出容器组的原始数据流;或者为轻量级代理容器对原始数据流执行可处理需求对应的处理操作后得到的数据流;可处理需求为轻量级代理容器支持的数据处理需求。
在其中一个实施例中,目标处理需求为通过网络模型的应用层实现的数据处理需求;网络模型包括:七层模型和/或四层模型。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储控制平面下发的数据处理规则。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:确定接收到的原始数据流对应的数据处理需求;根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若存在,则根据原始数据流,确定目标数据流;根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定接收到的原始数据流对应的数据处理需求;根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若存在,则根据原始数据流,确定目标数据流;根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:确定接收到的原始数据流对应的数据处理需求;根据本地具备的数据处理功能,确定数据处理需求中是否存在本地不支持的目标处理需求;若存在,则根据原始数据流,确定目标数据流;根据目标数据流和目标处理需求,生成远程处理请求,并将远程处理请求发送至目标远程代理容器;其中,远程处理请求用于请求目标远程代理容器对目标数据流执行目标处理需求对应的处理操作。
在一个实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收轻量级代理容器发送的远程处理请求,其中,远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和目标处理需求生成的;目标数据流根据原始数据流确定,目标处理需求为轻量级代理容器不支持的数据处理需求;响应于远程处理请求,对目标数据流执行目标处理需求对应的处理操作。
需要说明的是,本申请所涉及的原始数据流、目标数据流和数据处理规则等,均为经过各方充分授权的数据和规则。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (18)
1.一种数据处理方法,其特征在于,所述方法包括:
确定接收到的原始数据流对应的数据处理需求;
根据本地具备的数据处理功能,确定所述数据处理需求中是否存在本地不支持的目标处理需求;
若存在,则根据所述原始数据流,确定目标数据流;
根据所述目标数据流和所述目标处理需求,生成远程处理请求,并将所述远程处理请求发送至目标远程代理容器;其中,所述远程处理请求用于请求所述目标远程代理容器对所述目标数据流执行目标处理需求对应的处理操作。
2.根据权利要求1所述的方法,其特征在于,所述将所述远程处理请求发送至目标远程代理容器,包括:
根据所述原始数据流的业务类型和/或候选远程代理容器的当前工作状态,从所述候选远程代理容器中确定目标远程代理容器;
将所述远程处理请求发送至所述目标远程代理容器。
3.根据权利要求2所述的方法,其特征在于,根据所述原始数据流的业务类型,从所述候选远程代理容器中确定目标远程代理容器,包括:
根据所述原始数据流的业务类型,从所述候选远程代理容器中,选择所述业务类型对应的目标远程代理容器。
4.根据权利要求1所述的方法,其特征在于,所述若存在,则根据所述原始数据流,确定目标数据流,包括:
若同时存在本地不支持的目标处理需求和本地支持的可处理需求,则对所述原始数据流执行所述可处理需求对应的处理操作,并将处理后的原始数据流作为目标数据流。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若所述数据处理需求中不存在本地不支持的目标处理需求,则获取所述数据处理需求的处理逻辑;
根据所述数据处理需求的处理逻辑,对所述原始数据流进行处理,得到本地处理结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述原始数据流的第一传输目的地和/或本地处理结果的第二传输目的地,确定所述本地处理结果的本地传输目的地,并向所述本地传输目的地发送所述本地处理结果。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
接收基于网络拦截规则拦截的进出容器组的原始数据流。
8.根据权利要求1至4中任一项所述的方法,其特征在于,
所述目标处理需求为通过网络模型的应用层实现的数据处理需求;所述网络模型包括:七层模型和/或四层模型。
9.一种数据处理方法,其特征在于,所述方法包括:
接收轻量级代理容器发送的远程处理请求,其中,所述远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和所述目标处理需求生成的;所述目标数据流根据所述原始数据流确定,所述目标处理需求为所述轻量级代理容器不支持的数据处理需求;
响应于所述远程处理请求,对所述目标数据流执行所述目标处理需求对应的处理操作。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述远程处理请求,对所述目标数据流执行所述目标处理需求对应的处理操作,包括:
从所述远程处理请求中提取所述目标数据流,并确定所述目标数据流对应的目标处理需求的处理逻辑;
根据所述目标处理需求的处理逻辑,对所述目标数据流进行处理。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
根据所述原始数据流的第一传输目的地、目标数据流的第三传输目的地和远程处理结果的第四传输目的地中的至少一项,确定远程处理结果的远程传输目的地;
向所述远程传输目的地发送所述远程处理结果;其中,所述远程处理结果为对所述目标数据流执行所述目标处理需求对应的处理操作得到的结果。
12.根据权利要求9或10所述的方法,其特征在于,所述目标数据流为基于网络拦截规则拦截的进出容器组的原始数据流;或者为轻量级代理容器对所述原始数据流执行可处理需求对应的处理操作后得到的数据流;所述可处理需求为所述轻量级代理容器支持的数据处理需求。
13.根据权利要求9或10所述的方法,其特征在于,
所述目标处理需求为通过网络模型的应用层实现的数据处理需求;所述网络模型包括:七层模型和/或四层模型。
14.一种数据处理装置,其特征在于,所述装置包括:
需求确定模块,用于确定接收到的原始数据流对应的数据处理需求;
需求判断模块,用于根据本地具备的数据处理功能,确定所述数据处理需求中是否存在本地不支持的目标处理需求;
数据确定模块,用于若存在,则根据所述原始数据流,确定目标数据流;
请求发起模块,用于根据所述目标数据流和所述目标处理需求,生成远程处理请求,并将所述远程处理请求发送至目标远程代理容器;其中,所述远程处理请求用于请求所述目标远程代理容器对所述目标数据流执行目标处理需求对应的处理操作。
15.一种数据处理装置,其特征在于,所述装置包括:
请求接收模块,用于接收轻量级代理容器发送的远程处理请求,其中,所述远程处理请求是在轻量级代理容器接收到的原始数据流对应的数据处理需求中存在目标处理需求时,根据目标数据流和所述目标处理需求生成的;所述目标数据流根据所述原始数据流确定,所述目标处理需求为所述轻量级代理容器不支持的数据处理需求;
请求处理模块,用于响应于所述远程处理请求,对所述目标数据流执行所述目标处理需求对应的处理操作。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211403396.5A CN115827690A (zh) | 2022-11-10 | 2022-11-10 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211403396.5A CN115827690A (zh) | 2022-11-10 | 2022-11-10 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827690A true CN115827690A (zh) | 2023-03-21 |
Family
ID=85527553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211403396.5A Pending CN115827690A (zh) | 2022-11-10 | 2022-11-10 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827690A (zh) |
-
2022
- 2022-11-10 CN CN202211403396.5A patent/CN115827690A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429408B2 (en) | System and method for network function virtualization resource management | |
Mastorakis et al. | Icedge: When edge computing meets information-centric networking | |
US9794370B2 (en) | Systems and methods for distributed network-aware service placement | |
CN108701076B (zh) | 分布式数据集存储和检索 | |
US9307017B2 (en) | Member-oriented hybrid cloud operating system architecture and communication method thereof | |
EP2901308B1 (en) | Load distribution in data networks | |
US9350682B1 (en) | Compute instance migrations across availability zones of a provider network | |
US11848981B2 (en) | Secure multi-directional data pipeline for data distribution systems | |
KR20160139493A (ko) | 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치 | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
JP2019525604A (ja) | ネットワーク機能nf管理方法及びnf管理装置 | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN114172966A (zh) | 单元化架构下的服务调用方法、服务处理方法及装置 | |
US11861386B1 (en) | Application gateways in an on-demand network code execution system | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
CN115514651B (zh) | 基于软件定义层叠网的云边数据传输路径规划方法及系统 | |
CN112491935A (zh) | 一种用于区块链的水波式广播方法及系统 | |
US20140108523A1 (en) | Connection sharing across entities in a distributed messaging system | |
CN115827690A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116032880A (zh) | 一种会话同步的系统、方法、电子设备及存储介质 | |
CN114980359A (zh) | 数据转发方法、装置、设备、系统及存储介质 | |
CN106789380A (zh) | 一种虚拟机网络一体化监管系统 | |
Wu et al. | Microservices architectural based secure and failure aware task assignment schemes in fog‐cloud assisted Internet of things | |
Chandrasekaran et al. | CASE: A context-aware storage placement and retrieval ecosystem | |
CN114510742B (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 |