CN114637549A - 基于服务网格的应用的数据处理方法、***和存储介质 - Google Patents

基于服务网格的应用的数据处理方法、***和存储介质 Download PDF

Info

Publication number
CN114637549A
CN114637549A CN202210163665.9A CN202210163665A CN114637549A CN 114637549 A CN114637549 A CN 114637549A CN 202210163665 A CN202210163665 A CN 202210163665A CN 114637549 A CN114637549 A CN 114637549A
Authority
CN
China
Prior art keywords
application
logic
configuration information
data
grid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210163665.9A
Other languages
English (en)
Other versions
CN114637549B (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210163665.9A priority Critical patent/CN114637549B/zh
Publication of CN114637549A publication Critical patent/CN114637549A/zh
Application granted granted Critical
Publication of CN114637549B publication Critical patent/CN114637549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于服务网格的应用的数据处理方法、***和存储介质。其中,该方法包括:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。本发明解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。

Description

基于服务网格的应用的数据处理方法、***和存储介质
技术领域
本发明涉及云计算、数据处理领域,具体而言,涉及一种基于服务网格的应用的数据处理方法、***和存储介质。
背景技术
目前,在进行应用自启动时,需要内置标识信息到应用中,服务器能根据标识信息识别出内置应用,以进行应用启动,但这属于侵入式针对应用启动的机制,应用需要改动,不灵活,从而存在对应用启动进行配置为侵入式的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于服务网格的应用的数据处理方法、***和存储介质,以至少解决存在对应用启动进行配置为侵入式的技术问题。
根据本发明实施例的一个方面,提供了一种基于服务网格的应用的数据处理方法,包括:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。
可选地,基于逻辑数据确定应用的配置信息,该方法包括:基于逻辑数据确定应用的代理配置信息,其中,配置信息包括代理配置信息,代理配置信息用于表示对应用的服务网格代理进行配置。
可选地,配置的服务网格代理用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据。
可选地,基于配置信息启动应用,该方法包括:基于由执行器调用到的逻辑数据启动应用。
可选地,基于由执行器调用到的逻辑数据启动应用,该方法包括:基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用。
可选地,基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用,该方法包括:响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用。
可选地,基于逻辑数据确定应用的配置信息,该方法包括:基于逻辑数据确定负载配置信息,其中,配置信息包括负载配置信息,负载配置信息用于配置应用在创建时所注入的执行逻辑组件。
可选地,配置的执行逻辑组件用于获取已注册到服务网格中的逻辑数据,已注册到服务网格中的逻辑数据由应用的服务网格代理中的执行器调用;和/或,执行逻辑组件用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息。
可选地,该方法还包括:获取逻辑数据的配置范围,其中,配置范围为逻辑数据应用于应用的负载的范围。
可选地,基于逻辑数据确定应用的配置信息,该方法包括:基于配置范围和逻辑数据确定配置信息。
可选地,该方法还包括:逻辑数据由客户端进行定义。
根据本发明实施例的一方面,从***侧提供了另一种基于服务网格的应用的数据处理方法,包括:通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,得到启动结果;通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
根据本发明实施例的另一个方面,提供了一种基于服务网格的应用的数据处理装置,包括:第一获取单元,用于获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;第一确定单元,用于基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;第一启动单元,用于基于配置信息启动应用。
根据本发明实施例的另一方面,从***侧提供了另一种基于服务网格的应用的数据处理装置,包括:第二获取单元,用于通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;第二确定单元,用于基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;第二启动单元,用于基于配置信息启动应用,得到启动结果;输出单元,用于通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
本发明实施例还提供了一种计算机可读存储介质。该计算机可读存储介质包括存储的程序,其中,在程序被处理器运行时控制计算机可读存储介质所在设备执行本发明实施例的基于服务网格的应用的数据处理方法。
本发明实施例还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的基于服务网格的应用的数据处理方法。
根据本发明实施例的另一方面,提供了一种基于服务网格的应用的数据处理***,包括:处理器;存储器,与处理器相连接,用于为处理器提供处理以下处理步骤的指令:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。
在本发明实施例中,通过获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,也就是说,在本申请中,不需要改动应用本身的逻辑,而是通过独立地基于应用本身的逻辑数据确定配置信息,基于该配置信息控制应用启动,属于无侵入式对应用启动进行配置的机制,从而达到了无侵入式对应用启动进行配置的技术效果,进而解决了存在对应用启动进行配置为侵入式的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种用于实现基于服务网格的应用的数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例的一种基于服务网格的应用的数据处理方法的流程图;
图3是根据本发明实施例从***侧提供的一种基于服务网格的应用的数据处理方法的流程图;
图4是根据本发明实施例的一种基于服务网格的应用服务自定义启动配置的***的示意图;
图5是根据本发明实施例的一种服务网格代理中运行wasm插件的示意图;
图6是根据本发明实施例的一种服务网格的示意图;
图7是根据本发明实施例的一种基于服务网格的应用的数据处理装置的示意图;
图8是根据本发明实施例从***侧提供的一种基于服务网格的应用的数据处理装置的示意图;
图9是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
服务网格,常用于描述构成这些应用程序的微服务网络以及应用之间的交互。作为处理服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求;
服务网格代理,服务网格一般由控制平面和数据平面组成。具体来说,控制平面是一组在一个专用的命名空间中运行的服务。这些服务完成一些控制管理的功能,包括聚合遥测数据、提供面向用户的应用程序接口(Application Programming Interface,简称为API)、向数据平面代理提供控制数据等。它们共同驱动数据平面的行为,而数据平面则是由一系列的运行在每个服务实例旁边的透明代理构成;
扩展逻辑,是指应用服务在启动过程中执行的一段自定义逻辑,用户可以根据应用场景自定义扩展;
代理扩展,是指通过为服务网格中的网格代理(Envoy)代理编写自定义过滤器(Filter)来扩展数据平面的功能;
服务网格代理配置,服务网格的数据平面由一系列运行在每个服务实例旁边的透明代理构成,服务网格代理配置是指为了让服务网格正确代理服务流量,实现服务互通、服务治理,由控制面向每个服务网格代理下发的配置数据。服务网格配置优化则是指减少控制平面向服务网格代理下发的配置数据量、并减少不必要的推送,以提升服务网格控制平面的推送效率。
实施例1
根据本发明实施例,还提供了一种基于服务网格的应用的数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现基于服务网格的应用的数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的基于服务网格的应用的数据处理方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于服务网格的应用的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在相关技术中,物联网、应用监测、工业互联网等典型的时序场景下,数据源(DataSource,表示数据由谁产生的)通常按一定的周期持续产生时序数据,一条时序数据由Metric、Tags、Timestamp、Fields等元素共同来描述,时序数据写入特点是持续高并发高吞吐写入,且写多读少,非常适合使用对数结构的合并树(Log-Structured Merged-Tree,简称为LSM-Tree)结构来写入数据,LSM-Tree是一种分层、有序、面向磁盘的数据结构,其充分利用了磁盘批量的顺序写要远比随机写性能高出很多的特点。
在上述运行环境下,本申请提供了如图2所示的一种基于服务网格的应用的数据处理方法。
图2是根据本发明实施例的一种基于服务网格的应用的数据处理方法的流程图。
如图2所示,该方法可以包括以下步骤:
步骤S202,获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成。
在本发明上述步骤S202提供的技术方案中,逻辑数据可以是扩展逻辑,逻辑功能可以是用户自定义的扩展逻辑,其中,扩展逻辑可以是应用服务在启动过程中执行的一段自定义逻辑。
在该实施例中,逻辑数据可以用于表征应用在启动过程中执行的逻辑功能,比如,用户可以根据应用场景自定义扩展逻辑。
在该实施例中,可以获取待启动应用的逻辑数据,比如,获取应用服务在启动过程中执行的一段自定义逻辑。
需要说明的是,逻辑数据可以是一个可以在服务网格代理中运行的网络组装(WebAssembly,简称为wasm)插件、或者可扩展脚本语言(Lua)脚本。
步骤S204,基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置。
在本发明上述步骤S204提供的技术方案中,配置信息可以是包括拦截设置器的相关配置信息和应用服务创建时注入的服务网格代理的相关配置信息。
需要说明的是,拦截配置的详细信息可以包括但不限于:入站端口列表,其流量将重定向到网格代理;指定要从重定向到网格代理中排除的入站端口列表;指定重定向到网格代理的IP地址范围;指定将从重定向中排除的IP地址范围。
在该实施例中,配置信息可以用于对应用在启动过程中的负载进行配置,比如,工作负载启动配置。
在该实施例中,可以基于逻辑数据确定应用的配置信息,比如,通过扩展逻辑注册器,扩展逻辑可以被注册到服务网格中,并最终可以应用于数据面的工作负载中,代理配置控制器通过调用扩展逻辑注册器获取到相应的扩展逻辑信息、以及获得扩展逻辑配置范围,生成工作负载启动配置和包含扩展逻辑的代理配置。
需要说明的是,扩展逻辑配置范围在本申请实施例中可以是指扩展逻辑将被应用于数据面工作负载的范围,包括指定的命名空间或者指定的具体某个工作负载上,其中,每一个数据面的工作负载都有所属的命名空间,如果指定是一个命名空间,就意味着数据面工作负载的范围是整个命名空间下的所有工作负载。
步骤S206,基于配置信息启动应用。
在本发明上述步骤S206提供的技术方案中,可以基于配置信息启动应用,比如,在工作负载启动配置器完成拦截设置器和服务网格代理的相关配置信息后,启动应用。
举例而言,服务网格代理在本申请中包括了端口***、***以及扩展逻辑执行器,其中,端口***是指对在应用服务在启动时对外访问的端口的监听,一旦发现对该端口的调用,***将会对该请求调用进行拦截,并交由扩展逻辑执行器调用注册的扩展逻辑进行执行,状态探测器用于确保在应用服务启动就绪之前,保证服务网格代理中的扩展逻辑执行器执行完毕,并获得成功的执行结果,否则,将会在指定的时间段内进行重试,直至执行完毕。
通过本申请上述步骤S202至步骤S206,获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,也就是说,在本申请中,不需要改动应用本身的逻辑,而是通过独立地基于应用本身的逻辑数据确定配置信息,基于该配置信息控制应用启动,属于无侵入式对应用启动进行配置的机制,提高了应用启动的效率,解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。
下面对该实施例的上述方法进行进一步地介绍。
作为一种可选的实施方式,步骤S204,基于逻辑数据确定应用的配置信息,该方法还包括:基于逻辑数据确定应用的代理配置信息,其中,配置信息包括代理配置信息,代理配置信息用于表示对应用的服务网格代理进行配置。
在该实施例中,包括扩展逻辑的代理配置将代理配置按照指定配置范围下发到对应的服务网格代理中。
在该实施例中,扩展逻辑配置范围可以是指扩展逻辑将被应用于数据面工作负载的范围,包括指定的命名空间或者指定的具体某个工作负载上。
在该实施例中,可以基于逻辑数据确定应用的代理配置信息,比如,代理配置控制器通过调用扩展逻辑注册器获取到相应的扩展逻辑信息、以及获得扩展逻辑配置范围,生成包含扩展逻辑的代理配置。
作为一种可选的实施方式,配置的服务网格代理用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据。
在该实施例中,配置的服务网格代理可以用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据,比如,服务网格代理在本申请中包括了端口***、***以及扩展逻辑执行器,其中,端口***是指对在应用服务在启动时对外访问的端口的监听,一旦发现对该端口的调用,***将会对该请求调用进行拦截,并交由扩展逻辑执行器调用注册的扩展逻辑进行执行。
作为一种可选的实施方式,步骤S206,基于配置信息启动应用,该方法包括:基于由执行器调用到的逻辑数据启动应用。
在该实施例中,可以基于由执行器调用到的逻辑数据启动应用,比如,扩展逻辑执行器调用注册的扩展逻辑进行执行请求,其中该请求可以是应用服务在启动时对外访问的端口的调用。
作为一种可选的实施方式,基于由执行器调用到的逻辑数据启动应用,该方法包括:基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用。
在该实施例中,扩展逻辑可以通过扩展逻辑注册器被注册到服务网格中,并最终可以应用于数据面的工作负载中。
在该实施例中,可以基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用,比如,扩展逻辑执行器调用已注册的可扩展逻辑,可扩展逻辑执行完毕,并获得成功的执行结果,启动应用。
作为一种可选的实施方式,基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用,该方法包括:响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用。
在该实施例中,可以响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用,比如,状态探测器保证扩展逻辑执行器有成功的执行结果,则启动应用。
举例而言,状态探测器可以用于确保在应用服务启动就绪之前,保证服务网格代理中的扩展逻辑执行器执行完毕,并获得成功的执行结果,否则,将会在指定的时间段内进行重试,直至执行完毕。
作为一种可选的实施方式,步骤S204,基于逻辑数据确定应用的配置信息,该方法包括:基于逻辑数据确定负载配置信息,其中,配置信息包括负载配置信息,负载配置信息用于配置应用在创建时所注入的执行逻辑组件。
在该实施例中,负载配置信息可以是工作负载启动配置,执行逻辑组件可以是应用服务创建时注入的执行逻辑组件。
在该实施例中,可以基于逻辑数据确定负载配置信息,比如,代理配置控制器通过调用扩展逻辑注册器获取到相应的扩展逻辑信息、以及获得扩展逻辑配置范围,生成工作负载启动配置和包含扩展逻辑的代理配置。
需要说明的是,工作负载配置注入器可以是服务网格数据面工作负载在启动之前针对应用服务创建时注入的执行逻辑组件,包括工作负载启动配置器和扩展逻辑获取器。
作为一种可选的实施方式,配置的执行逻辑组件用于获取已注册到服务网格中的逻辑数据,已注册到服务网格中的逻辑数据由应用的服务网格代理中的执行器调用;和/或,执行逻辑组件用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息。
在该实施例中,配置的执行逻辑组件可以用于获取已注册到服务网格中的逻辑数据,比如,工作负载注入器可以是服务网格数据面工作负载在启动之前针对应用服务创建时注入的执行逻辑组件,包括扩展逻辑获取器。
在该实施例中,已注册到服务网格中的逻辑数据可以由应用的服务网格代理中的执行器调用,比如,扩展逻辑注册器可以将扩展逻辑注册到服务网格中,并最终应用于数据面的工作负载中,扩展逻辑执行器调用注册的扩展逻辑执行对端口***的调用的请求。
在该实施例中,执行逻辑组件可以用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息,比如,工作负载注入器可以是服务网格数据面工作负载在启动之前针对应用服务创建时注入的执行逻辑组件,包括工作负载启动配置器,其中,工作负载启动配置器包括拦截设置器的相关配置信息和/或应用服务创建时注入的服务网络代理的相关配置信息。
举例而言,扩展逻辑获取器用于获取应用服务在启动过程中执行的用户自定义的已注册的扩展逻辑;工作负载启动配置器包括拦截设置器的相关配置信息,以及应用服务创建时注入的服务网格代理的相关配置信息,其中,拦截配置的详细信息可以包括但不限于:入站端口列表,其流量将重定向到网格代理;指定要从重定向到网格代理中排除的入站端口列表;指定重定向到网格代理的(Internet Protocol,简称为IP)地址范围;指定将从重定向中排除的IP地址范围。
作为一种可选的实施方式,该方法还包括:获取逻辑数据的配置范围,其中,配置范围为逻辑数据应用于应用的负载的范围。
在该实施例中,配置范围可以是扩展逻辑配置范围,扩展逻辑配置范围在本申请中可以是扩展逻辑将被应用于数据面工作负载的范围,包括指定的命名空间或指定的具体某个工作负载上。
需要说明的是,服务网格控制面板负责管理与配置服务网格数据面工作负载配置注入器和服务网格数据面工作负载的配置与生命周期,其中,工作负载的生命周期可以是工作负载容器组的启动、停止、就绪和升级等,每一个数据面的工作负载都有所属的命名空间,如果指定是一个命名空间。就意味着范围是整个命名空间下的所有工作负载。
在该实施例中,可以获取逻辑数据的配置范围,比如,获取扩展逻辑将被应用于数据面工作负载的范围。
作为一种可选的实施方式,步骤S204,基于逻辑数据确定应用的配置信息,该方法包括:基于配置范围和逻辑数据确定配置信息。
在该实施例中,可以基于配置范围和逻辑数据确定配置信息,比如,代理配置控制器通过调用扩展逻辑注册器获取到相应的扩展逻辑信息和扩展逻辑配置范围,生成工作负载启动配置和包括扩展逻辑的代理配置。
作为一种可选的实施方式,逻辑数据由客户端进行定义。
在该实施例中,逻辑数据可以由客户端进行定义,比如,可以通过一个在服务网格代理中运行的网络组装(Web Assembly,简称为wasm)插件或可扩展脚本语言(Lua)脚本来实现由客户端定义逻辑数据。
举例而言,Envoy是一个高性能、可编程的L3、L4和L7代理,作为ASM数据面的代理使用,Envoy的连接和流量处理的核心是网络过滤器(Network Filter),该过滤器一旦融合进过滤器链(Filter Chain),就可以实现访问控制、数据或协议转换、数据增强、审计等高级功能。通过添加新的过滤器,可以用来扩展Envoy的已有功能集。当前有两种方法可以添加新的过滤器,分别为静态预编译和动态运行时加载。
在本发明上述实施例中,不需要改动应用本身的逻辑,而是通过独立地基于应用本身的逻辑数据确定配置信息,基于该配置信息控制应用启动,属于无侵入式对应用启动进行配置的机制,提高了应用启动的效率,解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。
根据本发明实施例,还从***侧提供了一种应用的数据处理的方法。
图3是根据本发明实施例从***侧提供的一种基于服务网格的应用的数据处理方法的流程图。如图3所示,该方法可以包括以下步骤:
步骤S302,通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成。
在本发明上述步骤S302提供的技术方案中,第一接口可以是设置于***上的远程通信接口,也可以是可视化屏幕上的虚拟按钮,在此不做限制。
在该实施例中,可以通过调用第一接口从客户端获取待启动应用的逻辑数据,比如,通过调用第一接口可以从客户端获取待启动应用的在启动过程中执行的一段自定义扩展逻辑数据。
步骤S304,基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置。
在本发明上述步骤S304提供的技术方案中,可以基于逻辑数据确定应用的配置信息,配置信息可以是包括拦截设置器的相关配置信息和应用服务创建时注入的服务网格代理的相关配置信息,比如,通过扩展逻辑注册器,扩展逻辑可以被注册到服务网格中,并最终可以应用于数据面的工作负载中,代理配置控制器通过调用扩展逻辑注册器获取到相应的扩展逻辑信息、以及获得扩展逻辑配置范围,生成工作负载启动配置和包含扩展逻辑的代理配置。
步骤S306,基于配置信息启动应用,得到启动结果。
在本发明上述步骤S306提供的技术方案中,可以基于配置信息启动应用,得到启动结果,比如,在工作负载启动配置器完成拦截设置器和服务网格代理的相关配置信息后,启动应用。
举例而言,服务网格代理在本申请中包括了端口***、***以及扩展逻辑执行器,其中,端口***是指对在应用服务在启动时对外访问的端口的监听,一旦发现对该端口的调用,***将会对该请求调用进行拦截,并交由扩展逻辑执行器调用注册的扩展逻辑进行执行,状态探测器用于确保在应用服务启动就绪之前,保证服务网格代理中的扩展逻辑执行器执行完毕,并获得成功的执行结果,否则,将会在指定的时间段内进行重试,直至执行完毕。
步骤S308,通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
在本发明上述步骤S308提供的技术方案中,第二接口可以是设置于***上的远程通信接口,也可以是可视化屏幕上的虚拟按钮,在此不做限制。
在该实施例中,可以通过调用第二接口向客户端输出启动结果,比如,当应用启动成功时,通过调用第二接口向客户端输出启动成功的结果。
实施例2
下面对该实施例的上述方法的优选实施方式进行进一步介绍。
在相关技术中,对于应用自启动,用户需要内置标识信息到应用中,服务器能根据标识信息识别出内置应用,以进行应用启动,这属于侵入式针对应用启动的机制,应用需要改动,不灵活,存在存在对应用启动进行配置为侵入式的技术问题。本申请提出了一种基于服务网格的应用服务自定义启动配置的方法与***,提供了一种用户自定义的无侵入式针对应用服务启动进行配置的机制,通过一种基于端口监听、拦截以及扩展逻辑执行融合的方法***,针对用户注册的扩展逻辑,结合应用启动时对服务网格代理的状态探测,支持应用服务启动前的扩展配置执行就绪,通过一种基于动态生成工作负载启动配置的机制,通过调用扩展逻辑注册器获取到相应的扩展逻辑信息及扩展逻辑配置范围,动态生成工作负载启动配置和包含扩展逻辑的代理配置,并将代理配置按照指定配置范围下发到对应的代理中。
相关技术中,提供了一种应用自启动的控制方法,具体而言,首先上报内置应用的标识信息;标识信息用于对内置应用进行标识,使服务器能根据标识信息识别出内置应用;接收为内置应用配置的自启动属性;按照自启动属性控制内置应用的自启动。
上述方案的不足之处在于:首先,用户需要内置标识信息到应用服务中,相比于本申请,属于侵入式针对应用服务启动进行配置的机制,应用需要改动,机制不灵活。
图4是根据本发明实施例的一种基于服务网格的应用服务自定义启动配置的***的示意图。如图4所示,基于服务网格的应用服务自定义启动配置的***400可以包括:服务网络控制面401,扩展逻辑402,扩展逻辑控制器403,扩展逻辑配置范围404,代理配置控制器405,工作负载启动配置406,包含扩展逻辑的代理配置407,工作负载配置注入器408,工作负载启动配置器409,扩展逻辑获取器410,注册的扩展逻辑411,服务网格数据面工作负载412,拦截设置器413,服务网格代理414,端口***415,***416,扩展逻辑执行器417,状态探测器418和应用服务419。
以下对该***中的上述组件进行进一步地介绍。
服务网格控制面401负责管理与配置服务网格数据面工作负载配置注入器408以及服务网格数据面工作负载412的配置与生命周期,其中,工作负载412的生命周期是指工作负载容器组(Pod)的启动、停止、就绪、升级等。
扩展逻辑402,在本申请中是指应用服务419在启动过程中执行的一段自定义逻辑,用户可以根据应用场景自定义扩展,在本申请中,通常表现为一个可以在服务网格代理中运行的网络组装(Web Assembly,简称为wasm)插件、或者Lua脚本。
图5是根据本发明实施例的一种服务网格代理中运行wasm插件的示意图。如图5所示,在获取更新事件(ondate事件)后,运行第一原生过滤器扩展501,然后支持网络组长插件的原生过滤器扩展502中的wasm插件将会运行于代理中的第二网络组装虚拟机505中,网络组装插件运行时也可以选择第一网络组装虚拟机504,之后在运行第二原生过滤器扩展503。
Envoy是一个高性能、可编程的L3、L4和L7代理,作为ASM数据面的代理使用。Envoy的连接和流量处理的核心是网络过滤器(Network Filter),该过滤器一旦融合进过滤器链(Filter Chain),就可以实现访问控制、数据或协议转换、数据增强、审计等高级功能。通过添加新的过滤器,可以用来扩展Envoy的已有功能集。当前有两种方法可以添加新的过滤器,分别为静态预编译和动态运行时加载。
静态预编译,将其他过滤器集成到Envoy的源代码中,并编译新的Envoy版本。这种方法的缺点是您需要维护Envoy版本,并不断使其与官方发行版保持同步。此外,由于Envoy是用C++实现的,因此新开发的过滤器也必须用C++实现。
动态运行时加载,在运行时将新的过滤器动态加载到Envoy代理中。
显而易见,第二种方法极大地简化了扩展Envoy的过程。这种解决方案依赖于一种称之为Web Assembly(WASM)的新技术,它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。
通过扩展逻辑注册器403,扩展逻辑402可以被注册到服务网格中,并最终可以应用于数据面的工作负载中。
扩展逻辑配置范围404在本申请中是指扩展逻辑402将被应用于数据面工作负载的范围,包括指定的命名空间或者指定的具体某个工作负载上,其中,每一个数据面的工作负载都有所属的命名空间,如果指定是一个命名空间,就意味着范围是整个命名空间下的所有工作负载。
代理配置控制器405通过调用扩展逻辑注册器403获取到相应的扩展逻辑信息、以及获得扩展逻辑配置范围404,生成工作负载启动配置406和包含扩展逻辑的代理配置407。
工作负载配置注入器408在本申请中是指服务网格数据面工作负载412在启动之前针对应用服务419创建时注入的执行逻辑组件,包括工作负载启动配置器409和扩展逻辑获取器410。
扩展逻辑获取器410用于获取应用服务119在启动过程中执行的用户自定义的注册的扩展逻辑411。
工作负载启动配置器409包括了拦截设置器413的相关配置信息,以及应用服务419创建时注入的服务网格代理414的相关配置信息。
其中,拦截配置的详细信息包括:入站端口列表,其流量将重定向到网格代理114;指定要从重定向到网格代理中排除的入站端口列表;指定重定向到网格代理的IP地址范围;指定将从重定向中排除的IP地址范围。
服务网格代理414在本申请中包括了端口***415、***416以及扩展逻辑执行器417,其中,端口***415是指对在应用服务419在启动时对外访问的端口的监听,一旦发现对该端口的调用,***416将会对该请求调用进行拦截,并交由扩展逻辑执行器417调用注册的扩展逻辑411进行执行。
状态探测器418用于确保在应用服务419启动就绪之前,保证服务网格代理414中的扩展逻辑执行器417执行完毕,并获得成功的执行结果,否则,将会在指定的时间段内进行重试,直至执行完毕。
图6是根据本发明实施例的一种服务网格600的示意图,该服务网格600主要用于方便多个微服务之间进行安全和可靠的通信,微服务是指将应用程序分解为多个较小的服务或者实例,并分布在不同的集群/机器上运行。
如图6所示,微服务可以包括应用服务实例A和应用服务实例B,应用服务实例A和应用服务实例B形成服务网格600的功能应用层。在一种实施方式中,应用服务实例A以容器/进程608的形式运行在机器/工作负载容器组614(POD),应用服务实例B以容器/进程610的形式运行在机器/工作负载容器组616(POD)。
在一种实施方式中,应用服务实例A可以是商品查询服务,应用服务实例B可以是商品下单服务。
如图6所示,应用服务实例A和网格代理(sidecar)603共存于机器工作负载容器组614,应用服务实例B和网格代理605共存于机器工作负载容器614。网格代理603和网格代理605形成服务网格600的数据平面层(data plane)。其中,网格代理603和网格代理605分别以容器/进程604,容器/进程604可以接收请求612,以用于进行商品查询服务,网格代理606的形式在运行,并且网格代理603和应用服务实例A之间可以双向通信,网格代理605和应用服务实例B之间可以双向通信。此外,网格代理603和网格代理605之间还可以双向通信。
在一种实施方式中,应用服务实例A的所有流量都通过网格代理603被路由到合适的目的地,应用服务实例B的所有网络流量都通过网格代理605被路由到合适的目的地。需要说明的是,在此提及的网络流量包括但不限于超文本传输协议(Hyper Text TransferProtocol,简称为HTTP),表述性状态传递(Representational State Transfer,简称为REST),高性能、通用的开源框架(GRPC),开源的内存中的数据结构存储***(Redis)等形式。
在一种实施方式中,可以通过为服务网格600中的代理(Envoy)编写自定义的过滤器(Filter)来实现扩展数据平面层的功能,服务网格代理配置可以是为了使服务网格正确地代理服务流量,实现服务互通和服务治理。网格代理603和网格代理605可以被配置成执行至少如下功能中的一种:服务发现(service discovery),健康检查(health checking),路由(Routing),负载均衡(Load Balancing),认证和授权(authentication andauthorization),以及可观测性(observability)。
如图6所示,该服务网格600还包括控制平面层。其中,控制平面层可以是由一组在一个专用的命名空间中运行的服务,在机器/工作负载容器组(machine/Pod)602中由托管控制面组件601来托管这些服务。如图6所示,托管控制面组件601与网格代理603和网格代理605进行双向通信。托管控制面组件601被配置成执行一些控制管理的功能。例如,托管控制面组件601接收网格代理603和网格代理605传送的遥测数据,可以进一步对这些遥测数据做聚合。这些服务,托管控制面组件601还可以提供面向用户的应用程序接口(API),以便较容易地操纵网络行为,以及向网格代理603和网格代理605提供配置数据等。
在本发明上述实施例中,通过基于端口监听、拦截以及扩展逻辑执行融合,基于动态生成工作负载启动配置,提供了一种基于服务网格的应用服务自定义启动配置的方法与***,针对用户注册的扩展逻辑,结合应用启动时对服务网格代理的状态探测,支持应用服务启动前的扩展配置执行就绪,通过调用扩展逻辑注册器获取到相应的扩展逻辑信息及扩展逻辑配置范围,动态生成工作负载启动配置和包含扩展逻辑的代理配置,并将代理配置按照指定配置范围下发到对应的代理中,实现了用户自定义的无侵入式针对应用服务启动进行配置,从而解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述图2所示的基于服务网格的应用的数据处理方法的基于服务网格的应用的数据处理装置。
图7是根据本发明实施例的一种应用的数据处理装置的示意图。如图7所示,该应用的数据处理装置700可以包括:第一获取单元701,第一确定单元702,第一启动单元703。
第一获取单元701,用于获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;
第一确定单元702,用于基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;
第一启动单元703,基于配置信息启动应用。
可选地,第一确定单元702包括:第一确定模块和第二确定模块。其中,第一确定模块用于基于逻辑数据确定应用的代理配置信息,其中,配置信息包括代理配置信息,代理配置信息用于表示对应用的服务网格代理进行配置;第二确定模块,用于基于逻辑数据确定负载配置信息,其中,配置信息包括负载配置信息,负载配置信息用于配置应用在创建时所注入的执行逻辑组件;
其中,配置的服务网格代理用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据;配置的执行逻辑组件用于获取已注册到服务网格中的逻辑数据,已注册到服务网格中的逻辑数据由应用的服务网格代理中的执行器调用;和/或,执行逻辑组件用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息。
可选地,第一启动单元703包括:第一启动模块,其中,第一启动模块可以包括:第一启动子单元,其中,第一启动子单元可以包括:第一启动子模块。其中,第一启动模块,用于基于由执行器调用到的逻辑数据启动应用;第一启动子单元,用于基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用;第一启动子模块,用于响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用。
可选地,该装置还包括:第二获取模块,其中,第二获取模块可以包括:第三确定模块。其中,第二获取模块,用于获取逻辑数据的配置范围,其中,配置范围为逻辑数据应用于应用的负载的范围;第三确定模块,用于基于配置范围和逻辑数据确定配置信息。
其中,在该装置中,逻辑数据由客户端进行定义。
在本发明实施例中,通过第一获取单元701,用于获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;第一确定单元702,用于基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;第一启动单元703,用于基于配置信息启动应用,也就是说,在本申请中,不需要改动应用本身的逻辑,而是通过独立地基于应用本身的逻辑数据确定配置信息,基于该配置信息控制应用启动,属于无侵入式对应用启动进行配置的机制,提高了应用启动的效率,解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。
此处需要说明的是,上述第一获取单元701,第一确定单元702,第一启动单元703对应于实施例1中的步骤S202至步骤S206,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明实施例,还从***侧提供了一种用于实施上述图3所示的基于服务网格的应用的数据处理方法的基于服务网格的应用的数据处理装置。
图8是根据本发明实施例从***侧提供的一种应用的数据处理装置的示意图。如图8所示,该应用的数据处理装置800可以包括:第二获取单元801,第二确定单元802,第二启动单元803和输出单元804。
第二获取单元801,用于通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;
第二确定单元802,用于基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;
第二启动单元803,用于基于配置信息启动应用,得到启动结果;
输出单元804,用于通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
此处需要说明的是,上述第二获取单元801,第二确定单元802,第二启动单元803和输出单元804对应于实施例1中的步骤S302至步骤S308,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例4
本发明的实施例可以提供一种应用的数据处理***,该应用的数据处理***可以包括计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行本发明实施例的基于服务网格的应用的数据处理方法中以下步骤的程序代码:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。
可选地,图9是根据本发明实施例的一种计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器902、存储器904、以及传输装置906。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的基于服务网格的应用的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于服务网格的应用的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。
可选的,上述处理器还可以执行如下步骤的程序代码:基于逻辑数据确定应用的代理配置信息,其中,配置信息包括代理配置信息,代理配置信息用于表示对应用的服务网格代理进行配置。
可选的,上述处理器还可以执行如下步骤的程序代码:配置的服务网格代理用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据。
可选的,上述处理器还可以执行如下步骤的程序代码:基于由执行器调用到的逻辑数据启动应用。
可选的,上述处理器还可以执行如下步骤的程序代码:基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用。
可选的,上述处理器还可以执行如下步骤的程序代码:响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用。
可选的,上述处理器还可以执行如下步骤的程序代码:基于逻辑数据确定负载配置信息,其中,配置信息包括负载配置信息,负载配置信息用于配置应用在创建时所注入的执行逻辑组件。
可选的,上述处理器还可以执行如下步骤的程序代码:配置的执行逻辑组件用于获取已注册到服务网格中的逻辑数据,已注册到服务网格中的逻辑数据由应用的服务网格代理中的执行器调用;和/或,执行逻辑组件用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息。
可选的,上述处理器还可以执行如下步骤的程序代码:获取逻辑数据的配置范围,其中,配置范围为逻辑数据应用于应用的负载的范围。
可选的,上述处理器还可以执行如下步骤的程序代码:基于配置范围和逻辑数据确定配置信息。
可选的,上述处理器还可以执行如下步骤的程序代码:逻辑数据由客户端进行定义。
作为一种可选的上述实施方式,上述处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,得到启动结果;通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
采用本发明实施例,提供了一种基于服务网格的应用服务自定义启动配置的方案。通过获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,解决了存在对应用启动进行配置为侵入式的技术问题,达到了无侵入式对应用启动进行配置的技术效果。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的基于服务网格的应用的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取待启动应用的逻辑数据,其中,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于逻辑数据确定应用的代理配置信息,其中,配置信息包括代理配置信息,代理配置信息用于表示对应用的服务网格代理进行配置。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:配置的服务网格代理用于使端口***对端口进行监听,使***在监听到端口的调用请求的情况下拦截调用请求,且使执行器基于***拦截的调用请求调用逻辑数据。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于由执行器调用到的逻辑数据启动应用。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于由执行器调用到的已注册到服务网格中的逻辑数据,启动应用。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:响应于执行器成功调用到已注册到服务网格中的逻辑数据,基于逻辑数据启动应用。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于逻辑数据确定负载配置信息,其中,配置信息包括负载配置信息,负载配置信息用于配置应用在创建时所注入的执行逻辑组件。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:配置的执行逻辑组件用于获取已注册到服务网格中的逻辑数据,已注册到服务网格中的逻辑数据由应用的服务网格代理中的执行器调用;和/或,执行逻辑组件用于确定对服务网格代理和/或对服务网格代理关联的拦截设置器进行配置的信息。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取逻辑数据的配置范围,其中,配置范围为逻辑数据应用于应用的负载的范围。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于配置范围和逻辑数据确定配置信息。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:逻辑数据由客户端进行定义。
作为一种可选的上述实施方式,在本实施例中,上述计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,第一接口包括第一参数,第一参数的参数值为逻辑数据,逻辑数据用于表征应用在启动过程中执行的逻辑功能,应用由服务网格构成;基于逻辑数据确定应用的配置信息,其中,配置信息用于对应用在启动过程中的负载进行配置;基于配置信息启动应用,得到启动结果;通过调用第二接口向客户端输出启动结果,其中,第二接口包括第二参数,第二参数的参数值为启动结果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种基于服务网格的应用的数据处理方法,其特征在于,包括:
获取待启动应用的逻辑数据,其中,所述逻辑数据用于表征所述应用在启动过程中执行的逻辑功能,所述应用由服务网格构成;
基于所述逻辑数据确定所述应用的配置信息,其中,所述配置信息用于对所述应用在启动过程中的负载进行配置;
基于所述配置信息启动所述应用。
2.根据权利要求1所述的方法,其特征在于,基于所述逻辑数据确定所述应用的配置信息,包括:
基于所述逻辑数据确定所述应用的代理配置信息,其中,所述配置信息包括所述代理配置信息,所述代理配置信息用于表示对所述应用的服务网格代理进行配置。
3.根据权利要求2所述的方法,其特征在于,配置的所述服务网格代理用于使端口***对端口进行监听,使***在监听到所述端口的调用请求的情况下拦截所述调用请求,且使执行器基于所述***拦截的所述调用请求调用所述逻辑数据。
4.根据权利要求3所述的方法,其特征在于,基于所述配置信息启动所述应用,包括:
基于由所述执行器调用到的所述逻辑数据启动所述应用。
5.根据权利要求4所述的方法,其特征在于,基于由所述执行器调用到的所述逻辑数据启动所述应用,包括:
基于由所述执行器调用到的已注册到服务网格中的所述逻辑数据,启动所述应用。
6.根据权利要求5所述的方法,其特征在于,基于由所述执行器调用到的已注册到服务网格中的所述逻辑数据,启动所述应用,包括:
响应于所述执行器成功调用到已注册到所述服务网格中的所述逻辑数据,基于所述逻辑数据启动所述应用。
7.根据权利要求1所述的方法,其特征在于,基于所述逻辑数据确定所述应用的配置信息,包括:
基于所述逻辑数据确定负载配置信息,其中,所述配置信息包括所述负载配置信息,所述负载配置信息用于配置所述应用在创建时所注入的执行逻辑组件。
8.根据权利要求7所述的方法,其特征在于,配置的所述执行逻辑组件用于获取已注册到服务网格中的所述逻辑数据,已注册到所述服务网格中的所述逻辑数据由所述应用的服务网格代理中的执行器调用;和/或,所述执行逻辑组件用于确定对所述服务网格代理和/或对所述服务网格代理关联的拦截设置器进行配置的信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述逻辑数据的配置范围,其中,所述配置范围为所述逻辑数据应用于所述应用的负载的范围。
10.根据权利要求9所述的方法,其特征在于,基于所述逻辑数据确定所述应用的配置信息,包括:
基于所述配置范围和所述逻辑数据确定所述配置信息。
11.根据权利要求1至10中任意一项所述的方法,其特征在于,所述逻辑数据由客户端进行定义。
12.一种基于服务网格的应用的数据处理方法,其特征在于,包括:
通过调用第一接口从客户端获取待启动应用的逻辑数据,其中,所述第一接口包括第一参数,所述第一参数的参数值为所述逻辑数据,所述逻辑数据用于表征所述应用在启动过程中执行的逻辑功能,所述应用由服务网格构成;
基于所述逻辑数据确定所述应用的配置信息,其中,所述配置信息用于对所述应用在启动过程中的负载进行配置;
基于所述配置信息启动所述应用,得到启动结果;
通过调用第二接口向所述客户端输出所述启动结果,其中,所述第二接口包括第二参数,所述第二参数的参数值为所述启动结果。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序被处理器运行时控制所述计算机可读存储介质所在设备执行权利要求1至11中任意一项所述的方法。
14.一种基于服务网格的应用的数据处理***,其特征在于,包括:
处理器;
存储器,与所述处理器相连接,用于为所述处理器提供处理以下处理步骤的指令:获取待启动应用的逻辑数据,其中,所述逻辑数据用于表征所述应用在启动过程中执行的逻辑功能,所述应用由服务网格构成;基于所述逻辑数据确定所述应用的配置信息,其中,所述配置信息用于对所述应用在启动过程中的负载进行配置;基于所述配置信息启动所述应用。
CN202210163665.9A 2022-02-22 2022-02-22 基于服务网格的应用的数据处理方法、***和存储介质 Active CN114637549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210163665.9A CN114637549B (zh) 2022-02-22 2022-02-22 基于服务网格的应用的数据处理方法、***和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210163665.9A CN114637549B (zh) 2022-02-22 2022-02-22 基于服务网格的应用的数据处理方法、***和存储介质

Publications (2)

Publication Number Publication Date
CN114637549A true CN114637549A (zh) 2022-06-17
CN114637549B CN114637549B (zh) 2024-06-14

Family

ID=81945712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210163665.9A Active CN114637549B (zh) 2022-02-22 2022-02-22 基于服务网格的应用的数据处理方法、***和存储介质

Country Status (1)

Country Link
CN (1) CN114637549B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378944A (zh) * 2022-10-21 2022-11-22 阿里巴巴(中国)有限公司 一种网络***及服务网格配置方法、存储介质和电子设备
CN115834708A (zh) * 2022-11-23 2023-03-21 中科驭数(北京)科技有限公司 负载均衡方法、装置、设备及计算机可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385528A (zh) * 2010-08-25 2012-03-21 索尼公司 信息处理装置、信息处理方法、以及程序
CN105893196A (zh) * 2016-04-05 2016-08-24 浪潮电子信息产业股份有限公司 一种服务器调试辅助工具及***
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN111209127A (zh) * 2020-01-13 2020-05-29 山东汇贸电子口岸有限公司 一种Dubbo框架集成Istio服务网格的方法
US20200280592A1 (en) * 2019-03-01 2020-09-03 Netskope, Inc. Recovery From Failure in a Dynamic Scalable Services Mesh
CN112511560A (zh) * 2020-12-21 2021-03-16 北京云思畅想科技有限公司 一种基于服务网格的混合云环境下数据安全保障方法
CN112783570A (zh) * 2021-01-19 2021-05-11 中原银行股份有限公司 基于服务网格的应用迁移方法、***和介质
CN113055421A (zh) * 2019-12-27 2021-06-29 南京亚信软件有限公司 一种服务网格治理方法及***
CN113285885A (zh) * 2021-07-23 2021-08-20 阿里云计算有限公司 基于服务网格的边缘流量控制方法、设备及存储介质
CN113301116A (zh) * 2021-04-15 2021-08-24 阿里巴巴新加坡控股有限公司 微服务应用跨网络通信方法、装置、***及设备
WO2021249268A1 (zh) * 2020-06-09 2021-12-16 阿里巴巴集团控股有限公司 服务网格实例的构建方法、服务网格***以及多集群***
CN113949702A (zh) * 2021-08-30 2022-01-18 浪潮软件科技有限公司 一种服务网格的多层网络协议处理方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385528A (zh) * 2010-08-25 2012-03-21 索尼公司 信息处理装置、信息处理方法、以及程序
CN105893196A (zh) * 2016-04-05 2016-08-24 浪潮电子信息产业股份有限公司 一种服务器调试辅助工具及***
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
US20200280592A1 (en) * 2019-03-01 2020-09-03 Netskope, Inc. Recovery From Failure in a Dynamic Scalable Services Mesh
CN113055421A (zh) * 2019-12-27 2021-06-29 南京亚信软件有限公司 一种服务网格治理方法及***
CN111209127A (zh) * 2020-01-13 2020-05-29 山东汇贸电子口岸有限公司 一种Dubbo框架集成Istio服务网格的方法
WO2021249268A1 (zh) * 2020-06-09 2021-12-16 阿里巴巴集团控股有限公司 服务网格实例的构建方法、服务网格***以及多集群***
CN112511560A (zh) * 2020-12-21 2021-03-16 北京云思畅想科技有限公司 一种基于服务网格的混合云环境下数据安全保障方法
CN112783570A (zh) * 2021-01-19 2021-05-11 中原银行股份有限公司 基于服务网格的应用迁移方法、***和介质
CN113301116A (zh) * 2021-04-15 2021-08-24 阿里巴巴新加坡控股有限公司 微服务应用跨网络通信方法、装置、***及设备
CN113285885A (zh) * 2021-07-23 2021-08-20 阿里云计算有限公司 基于服务网格的边缘流量控制方法、设备及存储介质
CN113949702A (zh) * 2021-08-30 2022-01-18 浪潮软件科技有限公司 一种服务网格的多层网络协议处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378944A (zh) * 2022-10-21 2022-11-22 阿里巴巴(中国)有限公司 一种网络***及服务网格配置方法、存储介质和电子设备
CN115834708A (zh) * 2022-11-23 2023-03-21 中科驭数(北京)科技有限公司 负载均衡方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN114637549B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
US10802906B2 (en) Monitoring method and apparatus of server, and storage medium
CN114637549A (zh) 基于服务网格的应用的数据处理方法、***和存储介质
CN113110864B (zh) 应用程序更新方法、装置及存储介质
CN110275775A (zh) 容器应用的资源配置方法、***及存储介质
WO2017059724A1 (zh) 一种操作***的启动方法及装置
CN112214752A (zh) 应用权限的动态控制方法、装置和设备及存储介质
CN107526584B (zh) 数据接入方法和装置
US11321109B2 (en) Container engine for selecting driver based on container metadata
CN114691390A (zh) 用户态程序的处理方法和装置、存储介质及处理器
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
US20220038444A1 (en) Cloud device, application processing method, electronic device and storage medium
CN108595169B (zh) 一种可视化编程方法、云端服务器及存储介质
CN115268969A (zh) 安卓***升级方法及装置、终端设备
US11425203B2 (en) Commissioning a virtualized network function
CN110874264A (zh) 实例热迁移方法及装置、存储介质、处理器
US20210357239A1 (en) Methods and systems for managing computing virtual machine instances
CN113094772A (zh) 一种文件处理方法、装置以及存储介质
CN114327748B (zh) 虚拟机交互方法、装置、非易失性存储介质及处理器
CN103870748B (zh) 虚拟机的安全处理方法及装置
CN112306843A (zh) 一种测试方法、装置以及存储介质
CN107231244B (zh) 初始化加密机的***、方法和装置
CN113760688A (zh) 一种远程调试方法、***、网页服务器、设备及存储介质
JP2016536701A (ja) サーバとセキュアエレメント間の通信方法
CN115001991B (zh) 基于性能测试的录制方法、装置以及存储介质
US9501528B2 (en) Efficient response of common information model (CIM) server

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