本发明涉及kubernetes领域,特别是涉及一种数据处理方法、装置、设备及存储介质。
背景技术:
kubernetes,是一个开源的,用于管理云平台中多个主机上的容器化的应用,目标是使部署容器化的应用简单并且高效,提供了应用部署,规划,更新,维护的一种机制。
如图1所示的是当前kubernetes社区中kubeapps项目的通信示意图。在kubernetes集群中,用户可以通过kubeapps将chart包安装在集群中,并在安装时查看chart包的特征数据,进而确保用户在安装chart包时能够根据实际需求有针对性的修改chart包中的默认配置。
当前kubeapps实现查看chart包的特征数据的方式是定时在chart仓库中拉取chart包并进行解压缩,以得到相应chart包的特征数据,进而将特征数据存储于chartsvc组件内部的数据库中,以此向用户提供所操作的chart包的特征数据。由于chartsvc组件需要周期性拉取chart仓库中的chart包,因此用户在上传chart包后,需要等待chartsvc组件的拉取周期结束后才能够获取到该chart包中的特征数据,降低了用户对于chart包的操作效率。
由此可见,提供一种数据处理方法,以相对确保用户对chart包中特征数据的获取效率,进而提高用户对于chart包的操作效率,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的是提供一种数据处理方法、装置、设备及存储介质,以相对确保用户对chart包中特征数据的获取效率,进而提高用户对于chart包的操作效率。
为解决上述技术问题,本发明提供一种数据处理方法,应用于chart仓库,包括:
获取用户设备上传的chart包;
对chart包执行解压缩操作得到chart包中的特征数据;
将特征数据记录至索引文件,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
优选的,在将特征数据记录至索引文件之前,方法还包括:
获取索引文件中摘要字段对应的数据结构,并在数据结构中增加目标字段;
将特征数据记录至索引文件,包括:
将特征数据记录至索引文件中的目标字段。
优选的,基于索引文件向用户设备返回特征数据,包括:
在索引文件中检索与chart包对应的索引对象;
获取索引对象中目标字段的特征数据,并向用户设备返回特征数据。
优选的,向用户设备返回特征数据,包括:
通过前端页面向用户设备返回特征数据。
优选的,当接收到用户设备对chart包的操作请求,包括:
当接收到用户设备对chart包的安装操作请求。
优选的,当chart仓库为chartmuseum时,对chart包执行解压缩操作得到chart包中的特征数据,包括:
对chart包执行解压缩操作得到chart包中readme.md文件的数据以及values.yaml文件的数据;
获取索引文件中摘要字段对应的数据结构,包括:
获取index.yaml文件中entries字段对应的数据结构。
此外,本发明还提供一种数据处理装置,应用于chart仓库,包括:
包获取模块,用于获取用户设备上传的chart包;
解压模块,用于对chart包执行解压缩操作得到chart包中的特征数据;
索引文件记录模块,用于将特征数据记录至索引文件,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
优选的,还包括:
字段增加模块,用于获取索引文件中摘要字段对应的数据结构,并在数据结构中增加目标字段;
索引文件记录模块,包括:
字段记录模块,用于将特征数据记录至索引文件中的目标字段。
此外,本发明还提供一种chart仓库设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的数据处理方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数据处理方法的步骤。
本发明所提供的数据处理方法,应用于chart仓库,由chart仓库获取用户设备上传的chart包,进而对chart包执行解压缩操作得到其中的特征数据,进而将特征数据通过索引文件进行记录,进而当接收到用户设备对该chart包的操作请求时,基于索引文件向该用户设备返回特征数据。本方法通过chart仓库对用户设备上传至其本地的chart包直接进行解压缩操作得到chart包中的特征数据,在此基础上,当用户设备需要对chart包进行操作时,能够通过访问chart仓库的方式获取到chart包对应的特征数据,因此本方法无需chartsvc组件周期性拉取chart仓库中的chart包,即可向用户设备提供chart包中的特征数据,进而避免了用户设备对于chartsvc组件拉取周期的等待,相对确保了用户对chart包中特征数据的获取效率,进而提高了用户对于chart包的操作效率。此外,本发明还提供一种数据处理装置、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为kubernetes社区中kubeapps项目的通信示意图;
图2为本发明实施例提供的一种数据处理方法的流程图;
图3为本发明实施例提供的一种数据处理方法的流程图;
图4为本发明实施例提供的一种数据处理方法的流程图;
图5为本发明实施例提供的一种数据处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
当前kubeapps实现查看chart包的特征数据的方式是定时在chart仓库中拉取chart包并进行解压缩,以得到相应chart包的特征数据,进而将特征数据存储于chartsvc组件内部的数据库中,以此向用户提供所操作的chart包的特征数据。由于chartsvc组件需要周期性拉取chart仓库中的chart包,因此用户在上传chart包后,需要等待chartsvc组件的拉取周期结束后才能够获取到该chart包中的特征数据,降低了用户对于chart包的操作效率。
本发明的核心是提供一种数据处理方法,以相对确保用户对chart包中特征数据的获取效率,进而提高用户对于chart包的操作效率。本发明的另一核心是提供一种数据处理装置、设备及存储介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图2为本发明实施例提供的一种数据处理方法的流程图,应用于chart仓库。请参考图2,数据处理方法的具体步骤包括:
步骤s10:获取用户设备上传的chart包。
需要说明的是,本实施例的执行主体为kubernetes中的chart仓库,chart仓库的作用是存储chart包,chart包即一些列yaml文件按照一定的格式打包在一起新生成的一个包,类似于rar和zip压缩文件。每一个chart包代表着kubernetes中的一个独立应用。用户在kubernetes中安装应用时,需要先将chart包上传至chart仓库,进而chart仓库会保存用户设备上传的chart包并当用户设备对chart包进行操作时,提供相应的文件支持。在本步骤中,chart仓库获取的是本地存储的由用户设备上传的chart包。
步骤s11:对chart包执行解压缩操作得到chart包中的特征数据。
chart仓库在获取到本地存储的chart包后,进一步在本地对chart包执行解压缩操作,以此得到chart包中的特征数据,此处所指的特征数据是chart包中能够用于描述该chart包属性信息的数据,用户根据属性信息能够了解chart包所具有的可配置选项,进而当用户安装chart包时,能够通过可配置选项有针对性的对基于chart包安装的应用进行配置,或是当用户对chart包的详细信息进行查看时,能够更加明确的向用户展示该chart包的描述信息。
本步骤的重点在于通过chart仓库作为对chart包执行解压缩操作的执行对象,进而在chart仓库本地得到chart包中的特征数据,也就是说,本步骤无需通过chart仓库将其本地的chart包提供给该chart仓库以外的kubernetes项目组件,相对减少了传输过程中的时间开销。
步骤s12:将特征数据记录至索引文件,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
本步骤是在chart仓库对chart包执行解压缩操作得到chart包中的特征数据后,进一步将特征数据记录至索引文件,索引文件是chart仓库中固有的用于记录chart包索引位置等信息的文件,将特征数据记录至索引文件的目的是当接收到用户设备对chart包的操作请求时,能够进一步在索引文件的基础上找到chart包对应特征数据,并将该特征数据返回至用户设备,以便用户设备对chart包执行相对准确的操作。
本发明所提供的数据处理方法,应用于chart仓库,由chart仓库获取用户设备上传的chart包,进而对chart包执行解压缩操作得到其中的特征数据,进而将特征数据通过索引文件进行记录,进而当接收到用户设备对该chart包的操作请求时,基于索引文件向该用户设备返回特征数据。本方法通过chart仓库对用户设备上传至其本地的chart包直接进行解压缩操作得到chart包中的特征数据,在此基础上,当用户设备需要对chart包进行操作时,能够通过访问chart仓库的方式获取到chart包对应的特征数据,因此本方法无需chartsvc组件周期性拉取chart仓库中的chart包,即可向用户设备提供chart包中的特征数据,进而避免了用户设备对于chartsvc组件拉取周期的等待,相对确保了用户对chart包中特征数据的获取效率,进而提高了用户对于chart包的操作效率。
在上述实施例的基础上,作为一种优选的实施方式,当接收到用户设备对chart包的操作请求,包括:
当接收到用户设备对chart包的安装操作请求。
需要说明的是,由于用户设备在对chart包执行安装操作时,往往需要根据chart包的特征信息对chart包中的配置项进行配置,因此本实施方式在当接收到用户设备对chart包的安装操作请求时,基于索引文件向用户设备返回特征数据,能够相对确保用户设备安装chart包过程的整体可靠性。
图3为本发明实施例提供的一种数据处理方法的流程图。请参考图3,数据处理方法的具体步骤包括:
步骤s20:获取用户设备上传的chart包。
步骤s21:对chart包执行解压缩操作得到chart包中的特征数据。
步骤s22:获取索引文件中摘要字段对应的数据结构,并在数据结构中增加目标字段。
需要说明的是,本实施例的重点在于,在将特征数据记录至索引文件之前,获取索引文件中摘要字段对应的数据结构,进而在数据结构中增加目标字段,增加目标字段的目的是在索引文件摘要字段对应的数据结构中追加用于记录特征数据的新数据空间,以此确保特征数据能够相对可靠的记录于索引文件中的摘要字段内。
步骤s23:将特征数据记录至索引文件中的目标字段,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
需要说明的是,在索引文件摘要字段对应的数据结构中增设目标字段后,本步骤进一步将特征数据记录至索引文件中的目标字段,由于数据结构中的目标字段进一步对应的相应的存储空间,因此本实施例能够相对确保特征数据能够独立于摘要字段中的其它数据内容进行存储,进而进一步确保了将特征数据记录于索引文件时的可靠性。
在上述实施例的基础上,作为一种优选的实施方式,基于索引文件向用户设备返回特征数据,包括:
在索引文件中检索与chart包对应的索引对象;
获取索引对象中目标字段的特征数据,并向用户设备返回特征数据。
需要说明的是,在本实施方式是在索引文件中检索与用户所操作的chart包对应的索引对象,进而获取索引对象中目标字段的特征数据,并向用户设备返回该特征数据,相对确保了在索引文件的摘要字段中增设有目标字段的情况下,能够相对准确的向用户设备提供与其所操作的chart包对应的特征数据。
在上述实施例的基础上,作为一种优选的实施方式,向用户设备返回特征数据,包括:
通过前端页面向用户设备返回特征数据。
需要说明的是,本实施方式在向用户设备返回特征数据时,具体采用通过前端页面的方式对特征数据进行展示,目的是为了确保特征数据对于用户而言的可读性,从而进一步确保用户对chart包中特征数据的获取效率。
图4为本发明实施例提供的一种数据处理方法的流程图。请参考图4,当chart仓库为chartmuseum时,数据处理方法的具体步骤包括:
步骤s30:获取用户设备上传的chart包。
步骤s31:对chart包执行解压缩操作得到chart包中readme.md文件的数据以及values.yaml文件的数据。
步骤s32:获取index.yaml文件中entries字段对应的数据结构,并在数据结构中增加目标字段。
步骤s33:将特征数据记录至索引文件中的目标字段,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
需要说明的是,本实施例中所采用的chart仓库具体为chartmuseum,chartmuseum是一个用go语言实现的开源项目,作为一个仓库来存储chart包,支持的后端存储类型包括云存储,并且提供了api功能接口,实现了上传、下载、查看和删除chart包等功能,因此在本实施例中,用户设备对于chartmuseum中的chart包具有更高的可操作性,在此基础上,本实施例中的对于chart包执行解压缩操作的到的特征数据具体包括readme.md文件的数据以及values.yaml文件的数据,其中,readme.md文件中包含有对于chart包详细的描述信息,values.yaml文件中包含了一系列的配置选项,当用户安装当前chart包的时候,可以通过指定这个文件中列出的参数和相应的值来对此进行一些配置。另外,本实施例中的索引文件具体为index.yaml文件,在index.yaml文件中的摘要字段具体为entries字段,进而本实施例在entries字段对应的数据结构中增加目标字段。本实施例相对确保了当chart仓库为chartmuseum时,提高用户对于chartmuseum中chart包的操作效率。
图5为本发明实施例提供的一种数据处理装置的结构图。本发明实施例提供的数据处理装置,包括:
包获取模块10,用于获取用户设备上传的chart包;
解压模块11,用于对chart包执行解压缩操作得到chart包中的特征数据;
索引文件记录模块12,用于将特征数据记录至索引文件,以当接收到用户设备对chart包的操作请求时,基于索引文件向用户设备返回特征数据。
本发明所提供的数据处理装置,应用于chart仓库,由chart仓库获取用户设备上传的chart包,进而对chart包执行解压缩操作得到其中的特征数据,进而将特征数据通过索引文件进行记录,进而当接收到用户设备对该chart包的操作请求时,基于索引文件向该用户设备返回特征数据。本装置通过chart仓库对用户设备上传至其本地的chart包直接进行解压缩操作得到chart包中的特征数据,在此基础上,当用户设备需要对chart包进行操作时,能够通过访问chart仓库的方式获取到chart包对应的特征数据,因此本装置无需chartsvc组件周期性拉取chart仓库中的chart包,即可向用户设备提供chart包中的特征数据,进而避免了用户设备对于chartsvc组件拉取周期的等待,相对确保了用户对chart包中特征数据的获取效率,进而提高了用户对于chart包的操作效率。
作为一种优选的实施方式,数据处理装置还包括:
字段增加模块,用于获取索引文件中摘要字段对应的数据结构,并在数据结构中增加目标字段;
索引文件记录模块,包括:
字段记录模块,用于将特征数据记录至索引文件中的目标字段。
此外,本发明还提供一种chart仓库设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的数据处理方法的步骤。
本发明所提供的chart仓库设备,获取用户设备上传的chart包,进而对chart包执行解压缩操作得到其中的特征数据,进而将特征数据通过索引文件进行记录,进而当接收到用户设备对该chart包的操作请求时,基于索引文件向该用户设备返回特征数据。通过chart仓库对用户设备上传至其本地的chart包直接进行解压缩操作得到chart包中的特征数据,在此基础上,当用户设备需要对chart包进行操作时,能够通过访问chart仓库的方式获取到chart包对应的特征数据,因此无需chartsvc组件周期性拉取chart仓库中的chart包,即可向用户设备提供chart包中的特征数据,进而避免了用户设备对于chartsvc组件拉取周期的等待,相对确保了用户对chart包中特征数据的获取效率,进而提高了用户对于chart包的操作效率。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数据处理方法的步骤。
本发明所提供的计算机可读存储介质,应用于chart仓库,由chart仓库获取用户设备上传的chart包,进而对chart包执行解压缩操作得到其中的特征数据,进而将特征数据通过索引文件进行记录,进而当接收到用户设备对该chart包的操作请求时,基于索引文件向该用户设备返回特征数据。本计算机可读存储介质通过chart仓库对用户设备上传至其本地的chart包直接进行解压缩操作得到chart包中的特征数据,在此基础上,当用户设备需要对chart包进行操作时,能够通过访问chart仓库的方式获取到chart包对应的特征数据,因此本计算机可读存储介质无需chartsvc组件周期性拉取chart仓库中的chart包,即可向用户设备提供chart包中的特征数据,进而避免了用户设备对于chartsvc组件拉取周期的等待,相对确保了用户对chart包中特征数据的获取效率,进而提高了用户对于chart包的操作效率。
以上对本发明所提供的一种数据处理方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。