一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种容器自动加载方法和装置与流程

2022-11-23 15:29:54 来源:中国专利 TAG:


1.本发明涉及程序的加载或启动的技术领域,尤其涉及一种容器自动加载方法和装置。


背景技术:

2.随着5g、云计算的快速发展,产生了包括云应用在内的一些新的应用架构模式,可以减少对本地客户端处理能力的需求,以及降低本地客户更新配置客户端文件的频率,用户可以在云容器内加载应用程序,并通过视频流的方式向客户端传输数据。在很多应用场景下,需要专业人员反复实景训练,但是这受到场地和人员限制,通过在虚拟空间中模拟各类实景训练场景,可以增加专业人员的熟练度,同时同一批人员可以在同一个场景下反复训练,不受时间、空间的限制。
3.kubernetes由master和node组成,master负责管理容器的编排、部署、调度等,node是容器运行的载体,每个node上面可以运行成百上千个pod容器。pod是kubernetes创建或者部署的最小单位,一个pod封装一个或者多个容器。
4.随着使用云应用客户端的数量的增加,云服务器中如何进行容器管理、资源分配使尽量减小云端的计算压力、提高资源利用率,在多节点中合理分配网络资源使得各个节点的网络和计算负载均衡、如何减少用户等待容器加载应用程序的时间以提高用户体验都成为了亟待解决的一些问题,需要一种用户等待时间短、网络和计算资源分配合理利用率高的容器自动加载方法。


技术实现要素:

5.针对上述现有技术中存在的缺陷,本发明提供一种容器自动加载方法,应用于分布式云计算系统,所述方法包括:获取用户行为习惯数据,所述用户行为习惯数据包括用户使用时间数据、用户配置性能数据、用户场景数据,所述用户场景数据包括用户场景时长数据,用户场景评分数据,用户目标数据,用户场景近期序列;根据用户场景数据确定用户预加载的场景内容并获取场景内容标签,根据场景内容标签和用户配置性能数据分配pod,所述pod中的容器的场景内容标签相同,所述pod中的容器对应的用户配置性能数据相同,所在工作节点内各个pod的预期带宽分配总和不超过所述工作节点的总带宽;所述pod部署时配置有共享存储器,所述共享存储器内包含所述pod对应场景的纹理单元,所述pod中的容器通过访问接口读取所述共享存储器中的场景的纹理模版,所述纹理模版的像素步长和pod对应的用户配置性能对应;获取用户使用时间数据,根据所述用户使用时间数据得到预测用户使用时间,在所述预测用户使用时间之前加载容器。
6.其中,所在工作节点内各个pod的预期带宽分配总和不超过所述工作节点的总带
宽包括:在预测时段内,确定所述工作节点内各个pod的预期带宽分配总和的最大值不大于所述工作节点的总带宽;根据对所有用户使用时段进行预测后,获取所述预测时段内需要加载的容器和按照现有部署pod确定对应分配的pod,根据用户配置信息和pod内容器数量确定预测要分配给pod的带宽,计算预测时段内所述工作节点内各个pod的预期带宽总和的最大值是否超过所在工作节点最大带宽,若是则在预测时段前调整所述工作节点内的pod,将部分pod迁移到网络负载较低的工作节点上去。
7.其中,在所述工作节点内,混合部署网络带宽需求高和需求低的pod,将网络需求高的pod分开部署在不同节点,当需要调整工作节点内的pod时,优先迁移网络带宽需求低的pod。
8.其中,根据用户场景数据确定给用户预加载的场景内容包括:首先,判断接收到的用户场景数据中的用户目标数据不为空,表明用户设置了目标数据,则通过如下公式计算有个场景下第个场景的生成系数,,其中;其中,为用户设置的第个场景的用户目标数据,为用户在的第个场景的用户场景评分数据,为场景任务在目标中的占比,为用户在的第个场景的用户场景时长数据;将生成系数按照从大到小的顺序进行排序,选择排序最靠前的生成系数对应的场景内容进行预加载;判断接收到的用户场景数据中的用户目标数据为空,则选择预加载场景近期序列中对应用户场景评分数据不合格对应的场景内容,如场景近期序列中对应用户场景评分数据均合格则随机加载场景近期序列中不包括的场景内容。
9.其中,当检测到用户设备请求与容器停止通信连接或者接收到用户发送的结束服务指令时,及时删除该用户设备对应的容器并释放容器资源。
10.其中,在预加载容器后的等待时间阈值内没有收到用户设备请求传输的指令时,删除预加载容器并释放容器资源。
11.其中,从所述用户设备处接收切换场景指令,所述切换场景指令中包括请求的场景内容id和用户配置信息,根据场景内容id获取切换场景内容标签,根据所述切换场景内容标签和配置信息找到第二pod,将当前容器迁移到第二pod中,将用户信息备份后重新加载容器到第二pod,使用第二pod共享存储器中的纹理模版对用户请求的场景进行渲染后传输。
12.其中,所述pod中的容器获得的网络带宽资源相同。
13.其中,在遇到系统报警后,查看系统报警指明的场景和用户配置情况,定位对应
pod并对其进行恢复处理。
14.本发明还提出了一种容器自动加载装置,为分布式云计算系统,所述装置内包含多个工作节点,每个工作节点上部署有多个pod,每个pod内可加载多个容器,用于实现容器自动加载方法。
15.与现有技术相比,通过本发明的方法可以根据用户使用数据、用户配置数据和用户场景数据,提前加载用户最有可能使用的场景,减少用户等待加载的时间,提高了用户体验。同时在云端合理为容器分配资源,提供共享存储纹理模板,提高了计算资源和网络资源的配置效率。
附图说明
16.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:图1是示出根据本发明实施例的一种容器自动加载方法;图2是示出根据本发明实施例的一种容器自动加载装置。
具体实施方式
17.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
18.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
19.应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述
……
,但这些
……
不应限于这些术语。这些术语仅用来将
……
区分开。例如,在不脱离本发明实施例范围的情况下,第一
……
也可以被称为第二
……
,类似地,第二
……
也可以被称为第一
……

20.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
21.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
22.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者装置中还
存在另外的相同要素。
23.下面结合附图详细说明本发明的可选实施例。
24.实施例一、如图1所示,一种容器自动加载方法,应用于分布式云计算系统,所述方法包括:获取用户行为习惯数据,所述用户行为习惯数据包括用户使用时间数据、用户配置性能数据、用户场景数据,所述用户场景数据包括用户场景时长数据,用户场景评分数据,用户目标数据,用户场景近期序列;根据用户场景数据确定用户预加载的场景内容并获取场景内容标签,根据场景内容标签和用户配置性能数据分配pod,所述pod中的容器的场景内容标签相同,所述pod中的容器对应的用户配置性能数据相同,所在工作节点内各个pod的预期带宽分配总和不超过所述工作节点的总带宽;所述pod部署时配置有共享存储器,所述共享存储器内包含所述pod对应场景的纹理单元,所述pod中的容器通过访问接口读取所述共享存储器中的场景的纹理模版,所述纹理模版的像素步长和pod对应的用户配置性能对应;获取用户使用时间数据,根据所述用户使用时间数据得到预测用户使用时间,在所述预测用户使用时间之前加载容器。
25.pod是一个逻辑抽象概念,是创建和管理的最小单元,一个pod由一个容器或多个容器组成,pod中的容器部署在一个工作节点node上,pod中的容器共享网络资源和存储资源。
26.同一个场景下,可能各个容器的运行画面不同,但是一个场景下的同一个配置性能数据的纹理是可以通用的,其可以使用相同的纹理模板,用户配置相同又可以使用相同粒度的纹理,不同粒度的纹理具有不同的水平像素步长和垂直像素步长。由于一个pod是和一个场景与一个配置性能数据的组合对应,因此可以在一个pod的共享存储器域中存储该场景在该配置性能下的所有纹理模板,在该pod内的容器可以直接调用这些纹理模板,不需要再做颗粒度方面的处理。
27.在某一实施例中,所在工作节点内各个pod的预期带宽分配总和不超过所述工作节点的总带宽包括:在预测时段内,确定所述工作节点内各个pod的预期带宽分配总和的最大值不大于所述工作节点的总带宽;根据对所有用户使用时段进行预测后,获取所述预测时段内需要加载的容器和按照现有部署pod确定对应分配的pod,根据用户配置信息和pod内容器数量确定预测要分配给pod的带宽,计算预测时段内所述工作节点内各个pod的预期带宽总和的最大值是否超过所在工作节点最大带宽,若是则在预测时段前调整所述工作节点内的pod,将部分pod迁移到网络负载较低的工作节点上去。
28.例如,可以在当前预测下一个时间段的用户使用情况,包括预测所有用户的使用场景和对应场景和配置下用户的数量,按照当前pod分布的情况,对下一个时间段所需要使用的资源进行预测计算,具体地可以是对下一个时间段内pod内容器所需要的带宽峰值,将带宽峰值的带宽作为下一时间段的带宽资源分配给该pod,再计算工作节点当下部署的所有pod的下一时间段的带宽资源之和,当预测计算结果超出pod所在工作节点的总带宽时,
需要将该节点上的部分pod部署到其他没有达到网络负载上限的工作节点上去,使得所有工作节点的网络负载不超过上限。
29.在某一实施例中,在所述工作节点内,混合部署网络带宽需求高和需求低的pod,将网络需求高的pod分开部署在不同节点,当需要调整工作节点内的pod时,优先迁移网络带宽需求低的pod。
30.例如,可以将网络负载需求较大的pod均匀布置在每一个工作节点中,这样的节点可以是场景复杂度高数据量大压缩效果不好,或者是因为配置要求较高导致传输的网络资源需求大,调整这类的pod可能导致调整后的节点仍然面临负载超限的情况,因此将调整相对负载较小的pod的部署,使得调整更为灵活。
31.在某一实施例中,根据用户场景数据确定给用户预加载的场景内容包括:首先,判断接收到的用户场景数据中的用户目标数据不为空,表明用户设置了目标数据,则通过如下公式计算有个场景下第个场景的生成系数,,其中;其中,为用户设置的第个场景的用户目标数据,为用户在的第个场景的用户场景评分数据,为场景任务在目标中的占比,为用户在的第个场景的用户场景时长数据;将生成系数按照从大到小的顺序进行排序,选择排序最靠前的生成系数对应的场景内容进行预加载;例如,专业人员可以根据自己的专业特长设置不同的训练目标,确定在不同训练场景下的目标数据,各类目标数据可以是操作正确率、速度、操作精准度等等,以及根据各类项目所占的重要程度设置不同的场景权重,所述场景权重可以是标准的如测试分数占比,或者是目标教学成果的一个占比,可以由用户预先设置,也可以由系统默认生成。
32.判断接收到的用户场景数据中的用户目标数据为空,则选择预加载场景近期序列中对应用户场景评分数据不合格对应的场景内容,如场景近期序列中对应用户场景评分数据均合格则随机加载场景近期序列中不包括的场景内容。
33.例如,专业人员在近期训练了a、b、c三个场景,a和b场景中的训练成绩均达标,但是c场景不合格,那么系统选择预先加载c场景可能可以满足用户训练需求;或者用户在这三个场景下训练均达到令人满意的成绩,可以选择加载d、e或除abc以外的其他的在专业人员训练范围以内的场景。
34.在某一实施例中,当检测到用户设备请求与容器停止通信连接或者接收到用户发送的结束服务指令时,及时删除该用户设备对应的容器并释放容器资源。
35.在某一实施例中,在预加载容器后的等待时间阈值内没有收到用户设备请求传输的指令时,删除预加载容器并释放容器资源。
36.由于用户训练时间一般相对固定,如课程需要,或者日常休息时间的训练等等,可
以通过对用户使用时间的数据的统计分析学习来预测用户可能会使用到该云应用的时间。容器进行加载以后,按照用户的请求传输指令时,会向客户端传输对应的数据流,如果没有收到指令超过预测时间一定时间阈值后,表明用户很有可能改变了常用的习惯,本次不需要使用服务,记录并更新对应的用户行为习惯数据,这样可以当用户的常用习惯改变时,及时对预测结果反馈更新。
37.在某一实施例中,从所述用户设备处接收切换场景指令,所述切换场景指令中包括请求的场景内容id和用户配置信息,根据场景内容id获取切换场景内容标签,根据所述切换场景内容标签和配置信息找到第二pod,将当前容器迁移到第二pod中,将用户信息备份后重新加载容器到第二pod,使用第二pod共享存储器中的纹理模版对用户请求的场景进行渲染后传输。
38.在某一实施例中,所述pod中的容器获得的网络带宽资源相同。
39.在某一实施例中,在遇到系统报警后,查看系统报警指明的场景和用户配置情况,定位对应pod并对其进行恢复处理。
40.由于每个pod和场景和配置是对应的,可以根据报警中的具体信息快速定位到pod,进行修复和恢复处理,及时处理故障信息,提高用户体验。
41.通过本发明的方法可以根据用户使用数据、用户配置数据和用户场景数据,提前加载用户最有可能使用的场景,减少用户等待加载的时间,提高了用户体验。同时在云端合理为容器分配资源,提供共享存储纹理模板,提高了计算资源和网络资源的配置效率。
42.实施例二、如图2所示,本发明提出的一种容器自动加载装置,为分布式云计算系统,所述装置内包含多个工作节点,每个工作节点上部署有多个pod,每个pod内可加载多个容器,用于实现容器自动加载方法。
43.pod是一个逻辑抽象概念,是创建和管理的最小单元,一个pod由一个容器或多个容器组成,pod中的容器部署在一个工作节点node上,pod中的容器共享网络资源和存储资源。
44.处理器执行存储介质上的指令或者数据可以实现的各类功能,需要说明的是,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包
括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
45.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
46.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
47.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
48.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
49.以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献