CN117785603A - 数据服务编排方法、装置、非易失性存储介质及电子设备 - Google Patents
数据服务编排方法、装置、非易失性存储介质及电子设备 Download PDFInfo
- Publication number
- CN117785603A CN117785603A CN202311737880.6A CN202311737880A CN117785603A CN 117785603 A CN117785603 A CN 117785603A CN 202311737880 A CN202311737880 A CN 202311737880A CN 117785603 A CN117785603 A CN 117785603A
- Authority
- CN
- China
- Prior art keywords
- target
- preset
- plug
- module
- data service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims description 113
- 238000012545 processing Methods 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据服务编排方法、装置、非易失性存储介质及电子设备。其中,该方法包括:获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;对目标插件集合进行编排,得到目标插件组;使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。本发明解决了现有数据服务存在适用性差的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据服务编排方法、装置、非易失性存储介质及电子设备。
背景技术
数据服务是现代企业和应用程序中不可或缺的关键组成部分,它提供了对数据的访问、处理和加工能力。目前市面上常见的数据服务有各种类型,包括数据库服务、数据查询服务、文件服务等。然而这些数据服务在实际应用中可能存在一些缺点,限制了其在大规模、高负载场景下的表现和效率,例如:
1.性能瓶颈:在大数据量或高并发的情况下,传统的数据库服务和数据查询服务可能面临性能瓶颈。查询速度较慢,响应时间延迟,无法满足快速数据访问的需求。
2.扩展性差:许多传统数据服务难以有效地扩展到大规模的系统。随着业务的扩展和数据量的增加,传统数据服务可能无法满足高并发和高吞吐量的需求。
3.资源浪费:传统数据服务可能在低负载时占用大量资源,导致资源浪费。特别是在云计算环境下,资源的高效利用对于成本控制至关重要。
4.缺乏灵活性:一些数据服务缺乏灵活性,无法根据业务需求进行定制和扩展。这可能限制了数据服务的适应性和可用性。
5.预热时间长:针对大量数据交互的同步接口,由于数据量巨大,预热数据和加载缓存的时间较长,导致接口的响应时间较慢。
6.固定架构:传统数据服务通常基于固定架构设计,难以适应不断变化的业务需求和技术发展。
由于现有数据服务存在上述缺点,因此针对不同的业务场景,就需要提供定制的数据服务,从而存在数据服务适用性差的问题。
针对上述现有数据服务存在适用性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据服务编排方法、装置、非易失性存储介质及电子设备,以至少解决现有数据服务存在适用性差的技术问题。
根据本发明实施例的一个方面,提供了一种数据服务编排方法,包括:获取待服务任务集合的配置文件,其中,所述配置文件用于指示所述待服务任务集合所需的至少一个数据服务类型;在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合,其中,所述预设插件集合包括:多个所述预设插件,每个所述预设插件用于为对应的数据服务类型提供服务,所述目标插件集合包括:至少一个目标插件;对所述目标插件集合进行编排,得到目标插件组;使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,所述目标功能模块用于为所述待服务任务集合提供数据服务。
可选地,在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合包括:识别所述配置文件指示至少一个所述数据服务类型,得到待配置服务集合,其中,所述待配置服务集合包括:至少一个目标服务类型;遍历所述待配置服务集合,确定每个所述目标服务类型对应的所述目标插件,其中,所述目标插件用于为对应的所述目标服务类型提供服务;将所述目标插件放入所述目标插件集合。
可选地,对所述目标插件集合进行编排,得到目标插件组包括:识别所述配置文件指示的所述数据服务类型的服务数量;检测所述服务数量是否大于预设数量阈值;在所述服务数量不大于所述预设数量阈值的情况下,对所述目标插件集合进行编排,得到所述目标插件组。
可选地,在检测所述服务数量是否大于预设数量阈值之后,所述方法还包括:在所述服务数量大于所述预设数量阈值的情况下,将所述目标插件集合拆分为多个目标插件子集合,其中,每个所述目标插件子集合中的服务数量不大于所述预设数量阈值;对每个所述目标插件子集合进行编排,得到多个所述目标插件组。
可选地,对所述目标插件集合进行编排,得到目标插件组包括:识别所述配置文件指示的所述数据服务类型的服务顺序;按照所述服务顺序,确定至少一个所述目标插件的插件顺序;按照所述插件顺序对所述目标插件集合进行编排,得到所述目标插件组。
可选地,使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块包括:在预设功能模块集合中随机选择所述预设功能模块;对所述预设功能模块进行容器化处理,得到目标容器模块;确定所述目标容器模块的容器接口;将所述目标插件组通过所述容器接口注入所述目标容器模块,得到所述目标功能模块。
可选地,在使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,所述方法还包括:监测所述目标功能模块的负载参数,其中,所述负载参数至少包括:所述目标功能模块的CPU使用率,所述目标功能模块的内存使用率,以及所述待服务任务集合中剩余的任务量;在所述负载参数超过预设负载阈值的情况下,将所述目标插件组拆分为多个;使用多个所述目标插件组分别对不同的所述预设功能模块进行容器化注册,得到多个所述目标功能模块。
根据本发明实施例的另一方面,还提供了一种数据服务编排装置,包括:获取模块,用于获取待服务任务集合的配置文件,其中,所述配置文件用于指示所述待服务任务集合所需的至少一个数据服务类型;确定模块,用于在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合,其中,所述预设插件集合包括:多个所述预设插件,每个所述预设插件用于为对应的数据服务类型提供服务,所述目标插件集合包括:至少一个目标插件;编排模块,用于对所述目标插件集合进行编排,得到目标插件组;注册模块,用于使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,所述目标功能模块用于为所述待服务任务集合提供数据服务。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质用于存储程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述数据服务编排方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,所述处理器用于运行存储在所述处理器中的程序,其中,所述程序运行时执行上述数据服务编排方法。
在本发明实施例中,根据待服务任务集合所需的数据服务类型,灵活的选取提供数据服务的预设插件进行编排,并使用编排后的目标插件组对预设功能模块进行容器化注册,就可以得到能够满足待服务任务集合要求的目标功能模块,进而针对不同业务场景,只需要根据任务需求调整预设插件进行编排即可,无需针对不同业务场景编写各业务场景所需数据服务的服务程序,实现了提高数据服务适用性的技术效果,解决了现有数据服务存在适用性差技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据服务编排方法的流程图;
图2是根据本发明实施例的一种基于容器化的数据服务编排方法的示意图;
图3是根据本发明实施例的一种数据服务编排装置的示意图;
图4是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据服务编排方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据服务编排方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;
步骤S104,在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;
步骤S106,对目标插件集合进行编排,得到目标插件组;
步骤S108,使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。
在本发明实施例中,根据待服务任务集合所需的数据服务类型,灵活的选取提供数据服务的预设插件进行编排,并使用编排后的目标插件组对预设功能模块进行容器化注册,就可以得到能够满足待服务任务集合要求的目标功能模块,进而针对不同业务场景,只需要根据任务需求调整预设插件进行编排即可,无需针对不同业务场景编写各业务场景所需数据服务的服务程序,实现了提高数据服务适用性的技术效果,解决了现有数据服务存在适用性差技术问题。
在上述步骤S104中,预设插件集合预先配置有多个预设插件,每个预设插件用于为一种数据服务类型的服务,使用预设插件对容器化的预设功能模块进行注册,得到目标功能模块,则该目标功能模块即可提供满足预设插件集合要求的数据服务。
可选地,数据服务类型可以包括:优化查询、资源隔离、访问管理、容器管理、以及用户权限的管理。
在上述步骤S108中,对预设功能模块进行容器化注册包括:对预设功能模块进行容器化处理使该预设功能模块可以打包应用程序和其所有依赖项;然后将使用目标插件组对该预设功能模块进行注册,可以使该预设功能模块能够独立执行目标插件组所提供的至少一个数据服务类型的服务,并且通过对预设功能模块进行容器化,可以使各预设功能模块相互独立,实现对服务过程所使用和产生数据的隔离。
可选地,容器化的预设功能模块,可以提供查询类的数据服务,文件类的数据服务,以及逻辑处理类的数据服务。
可选地,使用目标插件组对预设功能模块进行容器化注册包括:将目标插件组的镜像文件注入容器化的预设功能模块中实现,则该预设功能模块可以该镜像文件进行配置提供相应的数据服务。
作为一种可选的实施例,在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合包括:识别配置文件指示至少一个数据服务类型,得到待配置服务集合,其中,待配置服务集合包括:至少一个目标服务类型;遍历待配置服务集合,确定每个目标服务类型对应的目标插件,其中,目标插件用于为对应的目标服务类型提供服务;将目标插件放入目标插件集合。
本发明上述实施例,通过配置文件指示预设插件集合所需的至少一个数据服务类型,每个预设插件可以提供一种数据服务类型的服务,进而根据数据服务类型可以获取预设插件集合所需的至少一个目标插件,并放入目标插件集合中,实现对目标插件的选取。
作为一种可选的实施例,对目标插件集合进行编排,得到目标插件组包括:识别配置文件指示的数据服务类型的服务数量;检测服务数量是否大于预设数量阈值;在服务数量不大于预设数量阈值的情况下,对目标插件集合进行编排,得到目标插件组。
本发明上述实施例,同一预设功能模块中注册的目标插件数量越多,则该预设功能模块提供的数据服务类型也就越多,该预设功能模块需要服务的任务数也就越多,进而该预设功能模块的处理效率就会降低,因此为了确保预设功能模块的处理效率,就需要为该预设功能模块选取合适数量的目标插件,避免因注册的目标插件的数量过多,而造成预设功能模块的效率下降。
可选地,预设数量阈值可以1。
作为一种可选的实施例,在检测服务数量是否大于预设数量阈值之后,方法还包括:在服务数量大于预设数量阈值的情况下,将目标插件集合拆分为多个目标插件子集合,其中,每个目标插件子集合中的服务数量不大于预设数量阈值;对每个目标插件子集合进行编排,得到多个目标插件组。
本发明上述实施例,预设功能模块中注册的目标插件越多,则该预设功能模块的效率就会降低,因此,在待服务任务集合需要使用多个目标插件的情况下,可以将多个目标插件进行拆分,得到多个小数量的目标插件子集合,再分别基于目标插件子集合进行预设功能模块的注册,从而可以使用多个预设功能模块为待服务任务集合提供数据服务,并且可以确保每个预设功能模块的效率,进而确保对待服务任务集合的处理效率。
作为一种可选的实施例,对目标插件集合进行编排,得到目标插件组包括:识别配置文件指示的数据服务类型的服务顺序;按照服务顺序,确定至少一个目标插件的插件顺序;按照插件顺序对目标插件集合进行编排,得到目标插件组。
本发明上述实施例,在预设功能模块需要使用多个目标插件进行注册的情况下,各目标插件之间需要按照特定的服务逻辑配合,因此可以通过识别配置文件,确定待服务任务集合所需数据服务类型的服务顺序,进而由于数据服务类型与目标插件一一对应,因此根据数据服务类型的服务顺序,可以确定目标插件的插件顺序,然后将多个目标插件按照插件顺序进行编排,即可得到能够符合逻辑的目标插件组,实现对目标插件组的确定。
可选地,在对目标插件集合进行编排的过程中,还可以根据各目标插件之间的依赖关系配置。例如,第一目标插件需要以来第二目标插件的服务结果,则插件顺序可以为:从第二目标插件至第一目标插件,也即第二目标插件排在第一目标插件之前。
作为一种可选的实施例,使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块包括:在预设功能模块集合中随机选择预设功能模块;对预设功能模块进行容器化处理,得到目标容器模块;确定目标容器模块的容器接口;将目标插件组通过容器接口注入目标容器模块,得到目标功能模块。
本发明上述实施例,预设功能模块集合中可以预先配置多个空白的预设功能模块,在需要确定目标功能模块的情况下,可以从预设功能模块集合中随机选取空白的预设功能模块,并对选取的预设功能模块进行容器化,使该预设功能模块可以独立执行,进而调用该预设功能模块的容器接口,可以建立与该预设功能模块的通信,然后通过该容器接口可以向容器化的预设功能模块中注入目标插件组,得到能够得到满足待服务任务集使用需求的目标功能模块,实现对目标功能模块的确定。
可选地,每个预设插件具有相应的插件接口,将容器接口与插件接口对接,即可将预设插件注入到容器化的预设功能模块中,实现对预设功能模块的注册。
作为一种可选的实施例,在使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,方法还包括:监测目标功能模块的负载参数,其中,负载参数至少包括:目标功能模块的CPU使用率,目标功能模块的内存使用率,以及待服务任务集合中剩余的任务量;在负载参数超过预设负载阈值的情况下,将目标插件组拆分为多个;使用多个目标插件组分别对不同的预设功能模块进行容器化注册,得到多个目标功能模块。
本发明上述实施例,在得到目标功能模块后,可以监测目标功能模块对待服务任务集合的服务情况,确定目标功能模块的负载参数,进而在负载参数表示目标功能模块的负载过高的情况下,说明该目标功能模块的处理效率过低,因此为了提高目标功能模块的处理效率,可以对该目标功能模块中注册的多个目标插件进行拆分,也即将目标插件组拆分为多个,再使用拆分后的目标插件组分别注册多个目标功能模块,则可以将原先使用一个目标功能模块提供的数据服务,调整为使用多个目标功能模块提供,确保每个目标功能模块的处理效率,进而确保对待服务任务集合的处理效率。
可选地,CPU使用率过高,或内存使用率过高,则说明该目标功能模块的负载过高,也表示该目标功能模块的处理效率过低。
可选地,若待服务任务集合中剩余的任务量过高,则说明目标功能模块的处理效率过低。
本发明还提供了一种可选实施例,该可选实施例提供了一种基于容器化的数据服务编排方法,提供了高效、灵活、可扩展的数据服务能力。该方法应基于容器化技术,实现功能模块的独立部署和动态调整,以适应不断变化的业务需求和数据访问模式。
图2是根据本发明实施例的一种基于容器化的数据服务编排方法的示意图,如图2所示,通过服务管理模块进行数据服务类型的管理,进行查询优化,资源隔离,访问管理,以及容器管理;通过容器管理配置的容器组,可以将容器化的功能模块分别提供查询类的数据服务,文件类的数据服务,以及逻辑处理类的数据服务。
可选地,基于容器化的数据服务编排方法包括:
步骤S1,功能模块划分和容器化。
可选地,通过功能模块划分和容器化,可以确定数据服务的功能模块,如实时数据查询、离线数据查询、脚本能力、文件服务等;并为每个功能模块设计容器接口,定义插件接口规范,包含输入输出参数、初始化方法等;则每个功能模块独立实现为一个容器,编写Dockerfile和构建脚本。
步骤S2,插件接口和实现。
可选地,定义一个插件接口,包含初始化方法和调用功能方法;为每个功能模块编写对应的插件实现类,实现插件接口的方法。
步骤S3,插件加载和注册。
可选地,设计一个插件管理器类,负责加载和管理插件;在启动时,插件管理器根据配置文件动态加载插件,并将插件与对应的功能接口进行注册。
步骤S4,页面编排API服务。
可选地,设计一个Java Web应用程序,实现页面编排API服务;通过API服务为用户提供编排数据服务的API接口,接收用户请求并解析参数;根据用户请求调用相应的功能模块插件,按需组织数据服务的流程。
步骤S5,动态资源调整。
可选地,使用Kubernetes的Java客户端库,实现水平Pod自动扩展功能;监测数据服务的负载情况,获取CPU和内存使用情况;定义自动扩展的策略,例如CPU使用率超过阈值时增加Pod副本数。
步骤S6,数据预热和动态缓存。
可选地,对离线数据查询功能模块进行数据预热,定期预先查询并缓存数据结果;使用机器学习算法(如监督学习或GPT等)根据历史查询数据和用户行为,动态决定是否预热缓存。
作为一种可选地实施例,基于容器化的数据服务编排方法,基于kubernetes api调用方法实现一个服务管理模块实现,该服务管理模块所具有能力包括:容器管理、访问管理、资源隔离、以及查询优化。
可选地,容器管理,能够调用kubernetes masterapi实现容器的创建,修改,删除,扩容等基础能力。同时需要监控服务容器的状态和调用情况。需要提前预设提供几种不同能力的容器基础镜像,例如查询类,是基于SQL的方式,能够使用JDBC进行查询,文件类则拥有FTP,shell文件处理等能力。按照不同的基础镜像可以对不同的服务进行快速的封装扩展并拥有很好的扩展能力。
可选地,访问管理,配置权限,流量等,将安全和流控能力集成到访问管理模块。同时支持基于容器的服务注册发现管理能力,提供统一对外访问入口,然后调用到指定容器服务。
可选地,资源隔离,可以将同类型的服务进行不同资源权限的隔离,保障重点服务的优先级。
可选地,查询优化,基于服务的调用情况进行数据优化,加快查询速度,例如通过拆分查询类API的SQL语句,把使用到的表,字段等进行数据同步到doris,把key-value查询类的服务进行预热查询,提供快速响应的数据服务能力。
作为一种可选的实例,可以将数据服务按照不同类型实现多种不同镜像封装,同时提供服务管理模块基于kubernetes能力,配置容器亲和度和副本数保障服务的高可用和横向扩展能力,后期可按照插件形式不断扩展不同的服务类型并进行注册使用。
本发明上述实施例,通过容器化的功能模块,实现数据服务的高效编排和组织,满足不同业务需求,提高工作效率。同时,还可以根据数据服务的负载情况,自动调整功能模块的资源,优化资源利用率,降低资源成本。并且,利用数据预热和动态缓存的策略,通过预先查询并缓存离线数据,加速查询速度,同时根据机器学习算法动态决定是否预热缓存,提高数据查询效率。
需要说明的是,在数据服务使用中,绝大多数是SQL类查询,对使用者屏蔽存储引擎的不同带来的额外开发成本。但是由于不同引擎的存储结构,检索效率不一。导致查询的速度无法保证,直接影响服务接口的响应速度,因此做数据预热和动态缓存是非常有必要的。
可选地,数据不会做全量加速,会带来额外的存储成本,命中率也低,只需要对需要用到的数据进行预热加速,因此提供以下几种方式进行检测判断:
1.规则的形式进行分析,把所有服务用到的SQL进行解析表及字段,设置一个合理的阈值,当达到指定阈值后进行自动数据同步到快查询引擎,例如doris,clickhouse等对外提供查询。对固定语句的SQL进行定时的执行缓存结果到redis。
2.通过时序算法分析服务调用日志,结合GPT根据历史调用和对应用户调用时的常用传参,建立用户到服务的画像,进行预判第二天的调用时间段和可能的参数传入,提前执行并放入缓存。
3.结合以上两种方式,将规则和算法联动,动态调整需要预热的数据,并实时更新用户画像,提前预热所可能的服务请求,将不常用的服务进行热数据下架,优化硬件资源的使用效率。
本发明提供的技术方案,可以提供高效灵活的数据服务,通过容器化的功能模块,实现数据服务的高效编排和组织,满足不同业务需求,提高工作效率;还可以提供动态资源调整,可以根据数据服务的负载情况,自动调整功能模块的资源,优化资源利用率,降低资源成本;又可以实现数据预热和动态缓存,通过对离线数据查询进行数据预热,加速查询速度,同时根据机器学习算法动态决定是否预热缓存,提高数据查询效率。
根据本发明实施例,还提供了一种数据服务编排装置实施例,需要说明的是,该数据服务编排装置可以用于执行本发明实施例中的数据服务编排方法,本发明实施例中的数据服务编排方法可以在该数据服务编排装置中执行。
图3是根据本发明实施例的一种数据服务编排装置的示意图,如图3所示,该装置可以包括:获取模块32,用于获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;确定模块34,用于在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;编排模块36,用于对目标插件集合进行编排,得到目标插件组;注册模块38,用于使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。
需要说明的是,该实施例中的获取模块32可以用于执行本申请实施例中的步骤S102,该实施例中的确定模块34可以用于执行本申请实施例中的步骤S104,该实施例中的编排模块36可以用于执行本申请实施例中的步骤S106,该实施例中的注册模块38可以用于执行本申请实施例中的步骤S108。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
在本发明实施例中,根据待服务任务集合所需的数据服务类型,灵活的选取提供数据服务的预设插件进行编排,并使用编排后的目标插件组对预设功能模块进行容器化注册,就可以得到能够满足待服务任务集合要求的目标功能模块,进而针对不同业务场景,只需要根据任务需求调整预设插件进行编排即可,无需针对不同业务场景编写各业务场景所需数据服务的服务程序,实现了提高数据服务适用性的技术效果,解决了现有数据服务存在适用性差技术问题。
作为一种可选的实施例,确定模块包括:第一识别单元,用于识别配置文件指示至少一个数据服务类型,得到待配置服务集合,其中,待配置服务集合包括:至少一个目标服务类型;
第一确定单元,用于遍历待配置服务集合,确定每个目标服务类型对应的目标插件,其中,目标插件用于为对应的目标服务类型提供服务;第二确定单元,用于将目标插件放入目标插件集合。
作为一种可选的实施例,编排模块包括:第二识别单元,用于识别配置文件指示的数据服务类型的服务数量;检测单元,用于检测服务数量是否大于预设数量阈值;第一编排单元,用于在服务数量不大于预设数量阈值的情况下,对目标插件集合进行编排,得到目标插件组。
作为一种可选的实施例,装置还包括:拆分单元,用于在检测服务数量是否大于预设数量阈值之后,在服务数量大于预设数量阈值的情况下,将目标插件集合拆分为多个目标插件子集合,其中,每个目标插件子集合中的服务数量不大于预设数量阈值;第二编排单元,用于对每个目标插件子集合进行编排,得到多个目标插件组。
作为一种可选的实施例,编排模块包括:第三识别单元,用于识别配置文件指示的数据服务类型的服务顺序;第三确定单元,用于按照服务顺序,确定至少一个目标插件的插件顺序;第三编排单元,用于按照插件顺序对目标插件集合进行编排,得到目标插件组。
作为一种可选的实施例,注册模块包括:选取单元,用于在预设功能模块集合中随机选择预设功能模块;处理单元,用于对预设功能模块进行容器化处理,得到目标容器模块;第四确定单元,用于确定目标容器模块的容器接口;注册单元,用于将目标插件组通过容器接口注入目标容器模块,得到目标功能模块。
作为一种可选的实施例,装置还包括:监测子模块,用于在使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,监测目标功能模块的负载参数,其中,负载参数至少包括:目标功能模块的CPU使用率,目标功能模块的内存使用率,以及待服务任务集合中剩余的任务量;拆分子模块,用于在负载参数超过预设负载阈值的情况下,将目标插件组拆分为多个;注册子模块,用于使用多个目标插件组分别对不同的预设功能模块进行容器化注册,得到多个目标功能模块。
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行数据服务编排方法中以下步骤的程序代码:获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;对目标插件集合进行编排,得到目标插件组;使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。
可选地,图4是根据本发明实施例的一种计算机终端的结构框图。如图4所示,该计算机终端40可以包括:一个或多个(图中仅示出一个)处理器42、和存储器44。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的数据服务编排方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据服务编排方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端40。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;对目标插件集合进行编排,得到目标插件组;使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。
可选的,上述处理器还可以执行如下步骤的程序代码:识别配置文件指示至少一个数据服务类型,得到待配置服务集合,其中,待配置服务集合包括:至少一个目标服务类型;遍历待配置服务集合,确定每个目标服务类型对应的目标插件,其中,目标插件用于为对应的目标服务类型提供服务;将目标插件放入目标插件集合。
可选的,上述处理器还可以执行如下步骤的程序代码:识别配置文件指示的数据服务类型的服务数量;检测服务数量是否大于预设数量阈值;在服务数量不大于预设数量阈值的情况下,对目标插件集合进行编排,得到目标插件组。
可选的,上述处理器还可以执行如下步骤的程序代码:在检测服务数量是否大于预设数量阈值之后,在服务数量大于预设数量阈值的情况下,将目标插件集合拆分为多个目标插件子集合,其中,每个目标插件子集合中的服务数量不大于预设数量阈值;对每个目标插件子集合进行编排,得到多个目标插件组。
可选的,上述处理器还可以执行如下步骤的程序代码:识别配置文件指示的数据服务类型的服务顺序;按照服务顺序,确定至少一个目标插件的插件顺序;按照插件顺序对目标插件集合进行编排,得到目标插件组。
可选的,上述处理器还可以执行如下步骤的程序代码:在预设功能模块集合中随机选择预设功能模块;对预设功能模块进行容器化处理,得到目标容器模块;确定目标容器模块的容器接口;将目标插件组通过容器接口注入目标容器模块,得到目标功能模块。
可选的,上述处理器还可以执行如下步骤的程序代码:在使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,监测目标功能模块的负载参数,其中,负载参数至少包括:目标功能模块的CPU使用率,目标功能模块的内存使用率,以及待服务任务集合中剩余的任务量;在负载参数超过预设负载阈值的情况下,将目标插件组拆分为多个;使用多个目标插件组分别对不同的预设功能模块进行容器化注册,得到多个目标功能模块。
采用本发明实施例,提供了一种数据服务编排方案。在本发明实施例中,根据待服务任务集合所需的数据服务类型,灵活的选取提供数据服务的预设插件进行编排,并使用编排后的目标插件组对预设功能模块进行容器化注册,就可以得到能够满足待服务任务集合要求的目标功能模块,进而针对不同业务场景,只需要根据任务需求调整预设插件进行编排即可,无需针对不同业务场景编写各业务场景所需数据服务的服务程序,实现了提高数据服务适用性的技术效果,解决了现有数据服务存在适用性差技术问题。
本领域普通技术人员可以理解,图4所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图4其并不对上述电子装置的结构造成限定。例如,计算机终端40还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性介质中,非易失性存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的数据服务编排方法所执行的程序代码。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取待服务任务集合的配置文件,其中,配置文件用于指示待服务任务集合所需的至少一个数据服务类型;在预设插件集合中确定满足配置文件的至少一个预设插件,得到目标插件集合,其中,预设插件集合包括:多个预设插件,每个预设插件用于为对应的数据服务类型提供服务,目标插件集合包括:至少一个目标插件;对目标插件集合进行编排,得到目标插件组;使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,目标功能模块用于为待服务任务集合提供数据服务。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:识别配置文件指示至少一个数据服务类型,得到待配置服务集合,其中,待配置服务集合包括:至少一个目标服务类型;遍历待配置服务集合,确定每个目标服务类型对应的目标插件,其中,目标插件用于为对应的目标服务类型提供服务;将目标插件放入目标插件集合。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:识别配置文件指示的数据服务类型的服务数量;检测服务数量是否大于预设数量阈值;在服务数量不大于预设数量阈值的情况下,对目标插件集合进行编排,得到目标插件组。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在检测服务数量是否大于预设数量阈值之后,在服务数量大于预设数量阈值的情况下,将目标插件集合拆分为多个目标插件子集合,其中,每个目标插件子集合中的服务数量不大于预设数量阈值;对每个目标插件子集合进行编排,得到多个目标插件组。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:识别配置文件指示的数据服务类型的服务顺序;按照服务顺序,确定至少一个目标插件的插件顺序;按照插件顺序对目标插件集合进行编排,得到目标插件组。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在预设功能模块集合中随机选择预设功能模块;对预设功能模块进行容器化处理,得到目标容器模块;确定目标容器模块的容器接口;将目标插件组通过容器接口注入目标容器模块,得到目标功能模块。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在使用目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,监测目标功能模块的负载参数,其中,负载参数至少包括:目标功能模块的CPU使用率,目标功能模块的内存使用率,以及待服务任务集合中剩余的任务量;在负载参数超过预设负载阈值的情况下,将目标插件组拆分为多个;使用多个目标插件组分别对不同的预设功能模块进行容器化注册,得到多个目标功能模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据服务编排方法,其特征在于,包括:
获取待服务任务集合的配置文件,其中,所述配置文件用于指示所述待服务任务集合所需的至少一个数据服务类型;
在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合,其中,所述预设插件集合包括:多个所述预设插件,每个所述预设插件用于为对应的数据服务类型提供服务,所述目标插件集合包括:至少一个目标插件;
对所述目标插件集合进行编排,得到目标插件组;
使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,所述目标功能模块用于为所述待服务任务集合提供数据服务。
2.根据权利要求1所述的方法,其特征在于,在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合包括:
识别所述配置文件指示至少一个所述数据服务类型,得到待配置服务集合,其中,所述待配置服务集合包括:至少一个目标服务类型;
遍历所述待配置服务集合,确定每个所述目标服务类型对应的所述目标插件,其中,所述目标插件用于为对应的所述目标服务类型提供服务;
将所述目标插件放入所述目标插件集合。
3.根据权利要求1所述的方法,其特征在于,对所述目标插件集合进行编排,得到目标插件组包括:
识别所述配置文件指示的所述数据服务类型的服务数量;
检测所述服务数量是否大于预设数量阈值;
在所述服务数量不大于所述预设数量阈值的情况下,对所述目标插件集合进行编排,得到所述目标插件组。
4.根据权利要求3所述的方法,其特征在于,在检测所述服务数量是否大于预设数量阈值之后,所述方法还包括:
在所述服务数量大于所述预设数量阈值的情况下,将所述目标插件集合拆分为多个目标插件子集合,其中,每个所述目标插件子集合中的服务数量不大于所述预设数量阈值;
对每个所述目标插件子集合进行编排,得到多个所述目标插件组。
5.根据权利要求1所述的方法,其特征在于,对所述目标插件集合进行编排,得到目标插件组包括:
识别所述配置文件指示的所述数据服务类型的服务顺序;
按照所述服务顺序,确定至少一个所述目标插件的插件顺序;
按照所述插件顺序对所述目标插件集合进行编排,得到所述目标插件组。
6.根据权利要求1所述的方法,其特征在于,使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块包括:
在预设功能模块集合中随机选择所述预设功能模块;
对所述预设功能模块进行容器化处理,得到目标容器模块;
确定所述目标容器模块的容器接口;
将所述目标插件组通过所述容器接口注入所述目标容器模块,得到所述目标功能模块。
7.根据权利要求1所述的方法,其特征在于,在使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块之后,所述方法还包括:
监测所述目标功能模块的负载参数,其中,所述负载参数至少包括:所述目标功能模块的CPU使用率,所述目标功能模块的内存使用率,以及所述待服务任务集合中剩余的任务量;
在所述负载参数超过预设负载阈值的情况下,将所述目标插件组拆分为多个;
使用多个所述目标插件组分别对不同的所述预设功能模块进行容器化注册,得到多个所述目标功能模块。
8.一种数据服务编排装置,其特征在于,包括:
获取模块,用于获取待服务任务集合的配置文件,其中,所述配置文件用于指示所述待服务任务集合所需的至少一个数据服务类型;
确定模块,用于在预设插件集合中确定满足所述配置文件的至少一个预设插件,得到目标插件集合,其中,所述预设插件集合包括:多个所述预设插件,每个所述预设插件用于为对应的数据服务类型提供服务,所述目标插件集合包括:至少一个目标插件;
编排模块,用于对所述目标插件集合进行编排,得到目标插件组;
注册模块,用于使用所述目标插件组对预设功能模块进行容器化注册,得到目标功能模块,其中,所述目标功能模块用于为所述待服务任务集合提供数据服务。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质用于存储程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述数据服务编排方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述处理器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述数据服务编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311737880.6A CN117785603A (zh) | 2023-12-15 | 2023-12-15 | 数据服务编排方法、装置、非易失性存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311737880.6A CN117785603A (zh) | 2023-12-15 | 2023-12-15 | 数据服务编排方法、装置、非易失性存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785603A true CN117785603A (zh) | 2024-03-29 |
Family
ID=90395518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311737880.6A Pending CN117785603A (zh) | 2023-12-15 | 2023-12-15 | 数据服务编排方法、装置、非易失性存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785603A (zh) |
-
2023
- 2023-12-15 CN CN202311737880.6A patent/CN117785603A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7197612B2 (ja) | オンデマンドネットワークコード実行システム上での補助機能の実行 | |
US11875173B2 (en) | Execution of auxiliary functions in an on-demand network code execution system | |
US10949237B2 (en) | Operating system customization in an on-demand network code execution system | |
US10713080B1 (en) | Request-based virtual machine memory transitioning in an on-demand network code execution system | |
US11836516B2 (en) | Reducing execution times in an on-demand network code execution system using saved machine states | |
US10817331B2 (en) | Execution of auxiliary functions in an on-demand network code execution system | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
US20170185678A1 (en) | Crawler system and method | |
EP3944091B1 (en) | Cache allocation method and device, storage medium, and electronic device | |
CN109254804A (zh) | 一种静态资源加载方法、装置、设备及可读存储介质 | |
CN104573497A (zh) | 一种启动项的处理方法和装置 | |
CN104753922A (zh) | 用于预加载的方法、服务端、客户端及系统 | |
CN113037891A (zh) | 边缘计算系统中有状态应用的访问方法、装置及电子设备 | |
US11144359B1 (en) | Managing sandbox reuse in an on-demand code execution system | |
CN117785603A (zh) | 数据服务编排方法、装置、非易失性存储介质及电子设备 | |
US10528625B2 (en) | Client cloud synchronizer | |
CN114070820B (zh) | 一种域名重定向方法、装置、介质及电子设备 | |
US8850440B2 (en) | Managing the processing of processing requests in a data processing system comprising a plurality of processing environments | |
CN102195876B (zh) | 一种网络任务分配设备、系统和方法 | |
CN114637969A (zh) | 目标对象的鉴权方法及装置 | |
CN114040378A (zh) | 应用的编排方法、装置、计算机设备和存储介质 | |
CN103473089A (zh) | 一种分布式java程序运行方法、装置和系统 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 | |
CN113296913A (zh) | 基于单集群的数据处理方法、装置、设备及存储介质 | |
CN112988806A (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 |