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

服务资源调度方法和装置与流程

2021-11-03 12:56:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及云计算技术领域,具体涉及一种服务资源调度方法和装置。


背景技术:

2.在云计算平台上,用户可以按小时或按秒地请求使用云虚拟机等计算服务资源。但在这种情况下,没有充分利用用户的一些可伸缩性高的服务资源需求的特性,服务资源利用率低,并且用户使用服务资源的成本过高,这成为用户使用云计算平台构建大规模应用系统时的瓶颈。
3.因此,需要一种能够提高云计算平台上的服务资源的利用率并降低用户使用服务资源的成本的方法和装置。


技术实现要素:

4.本公开提供了一种服务资源调度方法和装置。
5.根据本公开的一方面,提供了一种服务资源调度方法,包括:
6.响应于从用户接收到对服务资源的调度请求,确定所述服务资源的当前估计值,其中,所述调度请求包括所述服务资源的类型和所述用户对所述服务资源的预期估计值;
7.在所述预期估计值大于或等于当前估计值并且当前空闲的所述类型的服务资源的数量大于或等于预定数量的情况下,将所述类型的服务资源分配给所述用户;以及
8.按照预设时间间隔,周期性地重新确定所述类型的服务资源的当前估计值,并在所述预期估计值小于重新确定的当前估计值时,释放分配给所述用户的服务资源。
9.根据本公开的另一方面,提供了一种服务资源调度装置,包括:
10.确定模块,用于响应于从用户接收到对服务资源的调度请求,确定所述服务资源的当前估计值,其中,所述调度请求包括所述服务资源的类型和所述用户对所述服务资源的预期估计值;
11.分配模块,用于在所述预期估计值大于或等于当前估计值并且当前空闲的所述类型的服务资源的数量大于或等于预定数量的情况下,将所述类型的服务资源分配给所述用户;以及
12.第一释放模块,用于按照预设时间间隔,周期性地重新确定所述类型的服务资源的当前估计值,并在所述预期估计值小于重新确定的当前估计值时,释放分配给所述用户的服务资源。
13.根据本公开的另一方面,提供了一种电子设备,包括:
14.至少一个处理器;以及
15.与所述至少一个处理器通信连接的存储器;其中,
16.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据本公开实施例的方法。
17.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例的方法。
18.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例的方法。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1是根据本公开实施例的服务资源调度方法的流程图;
22.图2是示出了根据本公开实施例的云计算平台上的服务资源的使用过程的一个示例的图;
23.图3示出了根据本公开实施例的预期估计值和当前估计值与服务资源运行之间的关系的一个示例的图;
24.图4是示出了根据本公开实施例的服务资源调度过程的一个示例的图;
25.图5是示出了根据本公开实施例的服务资源释放过程的一个示例的图;
26.图6是根据本公开实施例的服务资源调度装置的示意图;
27.图7是根据本公开实施例的创建服务资源实例的交互过程的一个示例的图;
28.图8是根据本公开实施例的释放服务资源实例的交互过程的一个示例的图;以及
29.图9示出了可以用来实施本公开实施例的示例电子设备的示意性框图。
具体实施方式
30.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
31.用户可以使用云计算平台来提供无状态的应用服务。这类应用例如是可弹性伸缩的web站点服务、图像渲染、大数据分析和大规模并行计算等,它们的分布度、可扩展性和容错能力较高。在用户实现这类应用时,在按小时或按秒地请求使用云计算平台上的计算服务资源的情况下,由于没有充分利用这类应用的可伸缩性高的特性,导致服务资源利用率低,并且用户使用服务资源的成本过高。
32.本公开实现了一种服务资源调度方法和装置,包括:响应于从用户接收到对服务资源的调度请求,确定服务资源的当前估计值,其中,调度请求包括服务资源的类型和用户对服务资源的预期估计值,在预期估计值大于或等于当前估计值并且当前空闲的该类型的服务资源的数量大于或等于预定数量的情况下,将该类型的服务资源分配给该用户。按照预设时间间隔,周期性地重新确定该类型的服务资源的当前估计值,并在该预期估计值小于重新确定的当前估计值时,释放分配给该用户的服务资源。通过这种方式,能够充分利用一些类型的应用的可伸缩性高的特性,提高云计算平台上的服务资源的利用率并降低用户使用服务资源的成本。
33.图1是根据本公开实施例的服务资源调度方法100的流程图。下面参考图1对根据本公开实施例的服务资源调度方法100进行说明。
34.在步骤s110,响应于从用户接收到对服务资源的调度请求,确定服务资源的当前估计值。调度请求包括服务资源的类型和用户对服务资源的预期估计值。
35.服务资源可以是云计算平台上的用于计算服务的资源,例如是云虚拟机。服务资源的类型例如可以包括服务资源所在的物理区域、服务资源的机器型号、服务资源的预定使用时段等。用户在希望使用云计算平台上的服务资源时,可以向云计算平台提出调度请求。用户可以在调度请求中指定用户所请求的服务资源的类型,以及用户对该类型的服务资源的预期估计值。预期估计值是用户所预期的服务资源的估计值。用户可以根据自身对服务资源成本的预估、自身以往使用的服务资源的历史估计值等,来指定预期估计值。
36.在确定服务资源的当前估计值时,可以针对每种类型的服务资源确定它们各自的估计值。对于某种类型的服务资源,在空闲的服务资源的数量较多时,可以将服务资源的当前估计值确定为较低,从而提高空闲服务资源的利用率并降低用户使用服务资源的成本。在空闲的服务资源的数量较少时,可以将服务资源的当前估计值确定为较高。
37.在步骤s120,在预期估计值大于或等于当前估计值并且当前空闲的该类型的服务资源的数量大于或等于预定数量的情况下,将该类型的服务资源分配给该用户。
38.如果用户指定的预期估计值大于或等于在步骤s110中确定的当前估计值,则表明用户能够接受当前估计值。如果当前空闲的服务资源的数量大于或等于作为阈值数量的预定数量,则表明当前有足够的服务资源可供使用。因此,在同时满足这两个条件的情况下,可以将该类型的服务资源分配给该用户。例如,在一个示例中,当前估计值可以是服务资源的预定最高估计值的20%。服务资源的预定最高估计值是预先确定的服务资源的最高估计值,可以等于在按小时或按秒地请求使用服务资源的情况下的估计值。例如,一台特定规格的云虚拟机的预定最高估计值是每小时100元,当前估计值可以是其20%,即每小时20元。在一个示例中,阈值数量可以是服务资源的总数量的四分之一。例如,某个特定规格的云虚拟机的总数量为1000台,阈值数量可以是其四分之一,即250台。
39.在步骤s130中,按照预设时间间隔,周期性地重新确定该类型的服务资源的当前估计值,并在该预期估计值小于重新确定的当前估计值时,释放分配给该用户的服务资源。
40.在将服务资源分配给用户之后,可以随着其他用户使用该类型的服务资源的情况的不断变化,周期性地更新该类型的服务资源的当前估计值,从而使当前估计值能够实时地反映当前的使用情况。例如,在使用该类型的服务资源的用户越来越多的情况下,该类型的服务资源变得越来越紧张,此时有必要提高该类型的服务资源的当前估计值,使得该类型的服务资源仅会被分配给具有较高的预期估计值的用户,从而使服务资源得到合理的分配。另一方面,在使用该类型的服务资源的用户越来越少的情况下,该类型的服务资源变得越来越充裕,此时有必要降低该类型的服务资源的当前估计值,使得该类型的服务资源能够被充分地分配给具有较低的预期估计值的用户,提高资源利用率并降低用户的使用成本。在用户的预期估计值小于重新确定的当前估计值时,可以释放分配给该用户的服务资源。这样,在服务资源的需求量大时,预期估计值较小的用户正在使用的服务资源会被预期估计值较大的其他用户抢占,从而实现资源的实时和合理地调度。
41.根据本公开实施例的云计算平台上的服务资源的动态调度方法,能够有效地提高
服务资源的利用率并降低用户的使用成本。
42.在一个示例性实施例中,按照预设时间间隔周期性地重新确定该类型的服务资源的当前估计值可以具体包括以下操作:在将该类型的服务资源分配给该用户之后,判断该服务资源归属于该用户的时长是否达到预设时长;在该服务资源归属于该用户的时长达到该预设时长的情况下,按照预设时间间隔,周期性地重新确定该类型的服务资源的当前估计值。
43.该预设时长可以相当于为用户设置的保护期,用来提高用户使用服务资源时的可靠性和稳定性。也就是说,在将服务资源分配给用户之后,等待作为保护期的预设时长,在该预设时长内不会释放该服务资源。在一个示例性实施例中,预设时长例如是一个小时,但不限于此,预设时长可以是根据用户需求等设置的任意时间长度。在预设时长内,无论该服务资源的当前估计值如何波动,都不会释放该服务资源,这使得用户对服务资源的使用能够得到最低限的保障,从而提高服务资源的可用性。
44.在一个示例性实施例中,在该预期估计值大于或等于重新确定的当前估计值时,该服务资源可以继续归属于该用户。
45.如果用户的预期估计值大于或等于重新确定的当前估计值,则表示即使由于其他用户发出新的调度请求而使当前估计值发生了波动,用户的预期估计值也仍然是足够高的。因此,用户可以继续运行该服务资源。这确保了预期估计值较高的用户可以稳定地运行服务资源,从而提高服务资源的可用性。
46.在一个示例性实施例中,在确定某种类型的服务资源的当前估计值时,可以基于该类型的服务资源的预定最高估计值、当前运行的该类型的服务资源的数量、该类型的服务资源的总数量、以及当前运行的该类型的服务资源被分配给的用户的预期估计值,来确定服务资源的当前估计值。
47.如前文中所述,服务资源的预定最高估计值是预先确定的服务资源的最高估计值,可以等于在按小时或按秒地请求使用服务资源的情况下的估计值。服务资源的当前估计值在当前运行的该类型的服务资源的数量减少时相应地降低,甚至可以低至该最高估计值的十分之一左右。当前运行的该类型的服务资源的数量是指当前正在被使用的该类型的服务资源的数量。当前运行的该类型的服务资源被分配给的用户的预期估计值表示每个正在使用当前运行的该类型的服务资源的用户在提出他/她的调度请求时各自指定的预期估计值,这些值较高时,表示当前用户预期能够接受较高的估计值,因此可以适当地提高服务资源的当前估计值。
48.通过这种方式,能够合理地确定服务资源的当前估计值,使得服务资源能够实时地得到合理的分配。
49.在一个示例性实施例中,可以通过下式(1)来定量地计算当前估计值:
[0050][0051]
其中,f表示当前估计值,α和β表示权重系数,k表示该类型的服务资源的预定最高估计值,n表示当前运行的该类型的服务资源的数量,m表示该类型的服务资源的总数量,x
i
表示第i个当前运行的该类型的服务资源对应的预期估计值,i是小于或等于n的正整数。在
该式中,权重系数α和β被预先设定。表示n个当前运行的该类型的服务资源的平均预期估计值。反映了当前该类型的服务资源的紧缺程度。
[0052]
可以看出,当前运行的服务资源的平均预期估计值越大,服务资源越紧缺,则当前估计值越大。
[0053]
根据上式(1),能够快速并且适当地计算服务资源的当前估计值。
[0054]
在一个示例性实施例中,也可以通过下式(2)来定量地计算当前估计值:
[0055][0056]
其中,f表示当前估计值,k表示该类型的服务资源的预定最高估计值,n表示当前运行的该类型的服务资源的数量,m表示该类型的服务资源的总数量,x
i
表示第i个当前运行的该类型的服务资源对应的预期估计值,i是小于或等于n的正整数。
[0057]
如式(2)所示,优选地,式(1)中α=0.1和β=0.9。可以看出,在服务资源非常充裕的情况下,当前估计值f最低可以为k的十分之一左右,从而使得此时用户使用服务资源的成本非常低。随着使用服务资源的用户越来越多,用户的预期估计值越来越高,当前估计值f也随之增大,从而实时地调整服务资源的调度,释放预期估计值低的用户所使用的资源。
[0058]
作为用户指定的预期估计值的示例,用户可以将预期估计值设置为与平台计算出的当前估计值实时地保持一致,这是用户能够指定的可以获取到资源的最低预期估计值。因此,在这种情况下,用户可以以最低的成本使用资源。作为用户指定的预期估计值的另一示例,用户可以将当前估计值与预定最高估计值之间的随机值指定为预期估计值。作为用户指定的预期估计值的又一示例,用户可以将预定最高估计值指定为预期估计值。在这种情况下,由于指定了尽可能高的预期估计值,所以用户可以确保可靠地获得资源。作为用户指定的预期估计值的再一示例,用户可以指定其愿意接受的预期估计值的最高上限,该最高上限可以是当前估计值与预定最高估计值之间的任意值。
[0059]
根据上式(2),能够快速并且适当地计算服务资源的当前估计值。根据上式(2),能够保证所计算的当前估计值落入[0.1
×
k,k]的合理范围内。另外,随着多个用户分别提出调度请求并指定预期估计值,根据上式(2)计算出的当前估计值会发生波动。然而,无论用户如何指定预期估计值,即,无论用户指定最低预期估计值、随机预期估计值、最高预期估计值还是其他预期估计值,根据上式(2)计算出的当前估计值都不会发生剧烈的波动。因此,用户不会担心由于当前估计值剧烈变化而使得自己已获得的服务资源被频繁地释放,从而提高了服务资源的可用性。
[0060]
另外,可以对式(2)的等号右边的第二项乘以干扰因子δ,以体现干扰因素对当前估计值的影响,这样得到的式子为如下的式(3)。干扰因素表示决定当前估计值的因素中除了上述因素之外的其他因素。δ可以取[0,1]范围内的值,并且δ的默认值可以设置为1。例如,如果云计算平台希望将更多的资源分配出去,则可以将干扰因子δ设置为较小的值。反之,如果云计算平台希望使更多的资源保持空闲,则可以将干扰因子δ设置为较大的值。
[0061][0062]
在一个示例性实施例中,服务资源的类型包括以下中的至少一项:服务资源所对应的物理区域;服务资源对应的机器型号;服务资源的预定使用时段。通过将服务资源分为不同的类型,可以针对每种类型的服务资源的固有特点,来执行计算当前估计值等操作。也就是说,对于每种类型的服务资源,计算当前估计值的式子、分配资源的方式等可以不同。因此,可以灵活高效地分配每种类型的服务资源。
[0063]
在一个示例性实施例中,为了使用户得到预警,在释放用户使用的服务资源之前,先对用户进行通知,以便用户及时保存或转移重要数据、或寻找替换的服务资源。通知可以以生成并发送通知消息的形式进行,但不限于此。在距离生成通知消息预定时段之后再释放用户当前运行的服务资源。通过这种方式,避免造成用户使用的服务资源的突然停用和数据丢失,提高了服务资源的可用性。
[0064]
在一个示例性实施例中,在用户运行服务资源期间,重新确定当前空闲的该类型的服务资源的数量,在重新确定的该类型的服务资源的数量小于预定数量的情况下,释放用户当前运行的服务资源。通过这种方式,使得云计算平台上当前空闲的服务资源的数量至少为预定数量,从而确保最低限度的空闲服务资源数量,提高了服务资源的可用性。
[0065]
在一个示例性实施例中,在将服务资源分配给用户使用之后,云计算平台记录用户的预期估计值,以便在以后重新计算服务资源的当前估计值时使用该预期估计值。
[0066]
在一个示例性实施例中,用户使用服务资源的成本基于用户使用该服务资源的时间段的长度和在用户使用该服务资源期间由云计算平台实时地确定的当前估计值来确定,而不是由用户指定的预期估计值来确定。这样,用户可以以较低的成本使用资源,从而提高服务资源的利用率,并降低用户的使用成本。
[0067]
本领域技术人员应当理解,本公开中所描述的由云计算平台执行的处理也可以由云计算平台之外的其他计算机、服务器等执行。
[0068]
图2是示出了根据本公开实施例的云计算平台上的服务资源的使用过程的一个示例的图。下面参考图2对根据本公开实施例的云计算平台上的服务资源的使用过程的一个示例200进行详细说明。
[0069]
该使用过程示例200在201处开始。在202处,用户请求调度服务资源。在203处,云计算平台判断条件1和条件2同时满足。条件1是指用户在调度请求中指定的预期估计值大于或等于服务资源的当前估计值。条件2是指云计算平台上当前空闲的该类型的服务资源的数量大于或等于预定数量。在条件1和条件2中的至少一个条件不满足的情况下,过程会继续执行203,即继续判断条件1和条件2是否满足。在条件1和条件2同时满足的情况下,请求调度成功,平台在204处将服务资源分配给用户使用。在保护期内,用户稳定使用服务资源。这里,示出了保护期为1小时的示例,但保护期的长度不限于此,而可以是任何合适的长度。如果在保护期内的某个时刻用户使用完毕,则可以在206处主动释放服务资源。在用户主动释放服务资源的情况下,该过程在212处结束。如果在保护期内用户一直没有释放服务资源,则在保护期过后,该过程进行到207。在207处,等待5分钟。然后在208处检查条件1和条件2是否继续被满足。这里,条件1中的当前估计值和条件2中的当前空闲的服务资源的数
量是随时间不断变化的。在该示例中,示出了每5分钟检查一次条件,但该周期时间不限于5分钟,而可以是任意合适的周期时间。如果条件1和条件2继续同时满足,则过程进行到209,用户继续使用服务资源。如果条件1和条件2中的至少一个条件不满足,则过程进行到211,平台释放用户正在使用的服务资源,并在212处结束。
[0070]
在继续使用资源期间,如果用户在210处主动释放服务资源,则过程在212处结束。如果用户没有主动释放服务资源,则过程会返回到207,经过5分钟后会再次检查是否满足条件1和条件2。
[0071]
在一个示例性实施例中,在从用户提出调度请求到平台分配服务资源期间,用户可以随时取消调度请求或者修改调度请求,以便用户灵活方便地请求对服务资源的调度。
[0072]
用户在提出调度请求时,首先选择要请求的服务资源的类型,服务资源的类型与在按小时或按秒地请求使用服务资源的情况下的类型相同。然后,用户针对所选择的类型来指定预期估计值。用户可以选择以多种方式来指定预期估计值。例如,一种方式是用户指定愿意接受的最高预期估计值,该最高预期估计值可以在该类型的服务资源的当前估计值和预定最高估计值之间,例如可以指定为预定最高估计值的80%。例如,另一种方式是用户指定一个自动的动态预期估计值。例如,用户可以指定预期估计值与实时的当前估计值保持一致,这样,在当前估计值增大或减小时,预期估计值随之增大或减小,从而既能够稳定地使用服务资源,又能够享受到较低的服务资源成本。
[0073]
图3是示出了根据本公开实施例的预期估计值和当前估计值与服务资源运行之间的关系的一个示例的图。下面参考图3对根据本公开实施例的预期估计值和当前估计值与服务资源运行之间的关系的一个示例进行说明。
[0074]
如图3的301所示,服务资源的预定最高估计值为1。在1点05分时,如302所示,用户提出预期估计值为0.3的调度请求。此时,如303所示,服务资源的当前估计值是0.4,用户的预期估计值小于当前估计值,因此不会将服务资源分配给用户。从1点10分开始,当前估计值变得低于预期估计值0.3,因此将服务资源分配给用户。在从1点10分到1点45分期间,如304至311所示,预期估计值都大于或等于当前估计值,因此服务资源一直由用户使用。在1点50分,如312所示,当前估计值变得大于预期估计值,因此用户使用的服务资源被释放。在该示例中,每5分钟重新确定一次当前估计值。
[0075]
图4是示出了根据本公开实施例的服务资源调度过程的一个示例的图。下面参考图4对根据本公开实施例的服务资源调度过程的一个示例进行说明。
[0076]
如图4中的404所示,用户401向云计算平台提出服务资源的调度请求。在收到调度请求后,如405所示,条件判断服务402进行条件判断,即,判断条件1和条件2是否同时满足。条件1是指用户401在调度请求中指定的预期估计值大于或等于服务资源的当前估计值。条件2是指云计算平台上当前空闲的该类型的服务资源的数量大于或等于预定数量。在条件1和条件2同时满足的情况下,条件判断服务402确定可以向用户401分配服务资源,如406所示用该用户401的预期估计值来更新当前估计值,并如407所示通知资源管理服务403分配资源。资源管理服务403在将服务资源分配给用户401之后,如408所示向条件判断服务402发送分配完成响应。条件判断服务402在收到分配完成响应之后,如409所示向用户401通知分配成功。用户401收到分配成功通知后,开始使用所分配的服务资源。
[0077]
图5是示出了根据本公开实施例的服务资源释放过程的一个示例的图。下面参考
图5对根据本公开实施例的服务资源释放过程的一个示例进行说明。
[0078]
如图5中的504所示,条件判断服务502向资源管理服务503发送请求,希望获取保护期外资源。保护期外资源是指已运行时间已经超过保护期的服务资源。如505所示,资源管理服务503响应于该请求,向条件判断服务502发送资源信息响应,其中包括关于所有当前的保护期外资源的信息。如506所示,条件判断服务502基于该信息,判断每个保护期外资源是否满足上述条件1和条件2。如果某个保护期外资源不满足条件1和条件2中的任意一个,则如507所示,条件判断服务502将通知相应的用户501即将释放该资源。然后,如508所示,条件判断服务502向资源管理服务503通知释放该资源。如509所示,资源管理服务503在释放该资源后向条件判断服务502发送释放完成响应。最后,如510所示,条件判断服务502将通知相应的用户501该资源已被释放。
[0079]
图6是根据本公开实施例的服务资源调度装置的示意图。下面参考图6对根据本公开实施例的服务资源调度装置600进行说明。服务资源调度装置600包括确定模块610、分配模块620和第一释放模块630。
[0080]
确定模块610被配置为响应于从用户接收到对服务资源的调度请求,确定服务资源的当前估计值,其中,调度请求包括服务资源的类型和用户对服务资源的预期估计值。
[0081]
分配模块620被配置为在预期估计值大于或等于当前估计值并且当前空闲的该类型的服务资源的数量大于或等于预定数量的情况下,将该类型的服务资源分配给用户。
[0082]
第一释放模块630被配置为按照预设时间间隔,周期性地重新确定该类型的服务资源的当前估计值,并在预期估计值小于重新确定的当前估计值时,释放分配给用户的服务资源。
[0083]
根据该云计算平台上的服务资源的动态调度装置600,同样能够提高服务资源的利用率,并降低用户的使用成本。
[0084]
图7是根据本公开实施例的创建服务资源实例的交互过程的一个示例的图。下面参考图7对根据本公开实施例的创建服务资源实例的交互过程的一个示例700进行说明。
[0085]
在该创建服务资源实例的交互过程的示例中,首先,在步骤s710中,用户701选择期望运行的服务资源(例如,某特定规格的云虚拟机),并向控制台(console)层702提出调度请求。该调度请求中包括了该服务资源的类型和用户对该服务资源的预期估计值(例如,每小时20元)。
[0086]
在步骤s711中,控制台层702在接收到用户701的调度请求后,基于该调度请求,向项目管理器703请求创建一个对应的请求项目。
[0087]
在步骤s712中,项目管理器703在接收到控制台层702的请求后,创建对应的请求项目,该创建的请求项目在刚刚创建时处于暂挂状态。并且,项目管理器703向控制台层702回复表示所请求的项目已创建的消息。
[0088]
在步骤s713中,项目管理器703请求撮合器704进行项目撮合。该步骤可以按照预设时间间隔执行一次,该预设时间间隔例如可以设置为10秒,但不限于此。可以根据需要设置预设时间间隔的大小,使得既能保证及时对暂挂的项目(即尚未处理的用户调度请求)进行处理,又能符合系统的处理能力。
[0089]
在步骤s714中,撮合器704针对每个处于暂挂状态的项目,判断该项目对应的用户预期估计值是否大于或等于当前估计值并且当前空闲的实例数量是否大于或等于预定数
量。
[0090]
对于满足上述条件的项目,在步骤s715中,撮合器704通知项目管理器703将对应的项目进行加锁。由于在实际实现时可以同时实现多个撮合器704以加快处理速度,所以可以由撮合器704通知加锁以便防止出现多个撮合器704同时处理同一个项目的情况。
[0091]
在步骤s716中,项目管理器703在收到撮合器704的通知后,执行对应项目的加锁,并将表示加锁成功的消息通知给撮合器704。
[0092]
在步骤s717中,撮合器704在从项目管理器703接收到表示加锁成功的消息后,确定可以将对应项目的状态从暂挂更新为待创建。
[0093]
在步骤s718中,撮合器704向项目管理器703发送表示将对应项目的状态从暂挂更新为待创建的消息。
[0094]
在步骤s719中,项目管理器703将对应项目的状态从暂挂更新为待创建,并且向项目执行器705发送针对对应项目的项目执行命令。
[0095]
在步骤s720中,项目执行器705在从项目管理器703接收到针对对应项目的项目执行命令后,请求后端实例管理器706创建针对对应项目的服务资源实例。
[0096]
在步骤s721中,后端实例管理器706从当前空闲的服务资源中为对应项目分配服务资源,创建针对对应项目的服务资源实例,并将所创建的服务资源实例的名称发送给项目执行器705。
[0097]
在步骤s722中,项目执行器705将所创建的服务资源实例的名称发送给项目管理器703,以使项目管理器703能够将对应项目与所创建的服务资源实例的名称相绑定。
[0098]
在步骤s723中,后端实例管理器706将表示服务资源实例已经创建成功的消息发送给用户701。
[0099]
在步骤s724中,后端实例管理器706将更新后的库存数(即,当前空闲的服务资源的数量)发送给撮合器704,或者撮合器704也可以主动向后端实例管理器706询问并获取更新后的库存数。这样,在由于分配了服务资源而使当前空闲的服务资源数量减少时,撮合器704可以得知更新后的数量,以便在随后正确地执行判断。
[0100]
在步骤s725中,项目管理器703向当前估计值确定器707发送创建资源记录,以便当前估计值确定器707基于对应项目的用户预期估计值重新确定当前估计值。
[0101]
在步骤s726中,项目管理器703向资源管理器708发送通知消息,通知资源管理器708将分配给对应项目的服务资源实例的状态更新为运行状态。
[0102]
最后,在步骤s727中,项目管理器703将对应项目的状态更新为已完成。
[0103]
图8是根据本公开实施例的释放服务资源实例的交互过程的一个示例的图。下面参考图8对根据本公开实施例的释放服务资源实例的交互过程的一个示例800进行说明。
[0104]
在该释放服务资源实例的交互过程的示例中,首先,在步骤s810中,撮合器804从资源管理器802获取从开始运行起的运行时长已达到预设时长的服务资源实例。预设时长例如是一小时。如上文所述,运行超过预设时长的服务资源实例是已经过了保护期的服务资源实例,可以被其他用户抢占。步骤s810可以按照预设时间间隔执行一次,该预设时间间隔例如可以设置为10秒,但不限于此。可以根据需要设置预设时间间隔的大小,使得既能保证及时对正在运行的服务资源实例进行处理,又能符合系统的处理能力。
[0105]
在步骤s811中,撮合器804对于所获取的每个服务资源实例,重新确定该类型的服
务资源的当前估计值,并且在对应项目的预期估计值小于该重新确定的当前估计值时,确定该服务资源实例要被其他用户抢占。
[0106]
在步骤s812中,撮合器804向用户801发送服务资源即将被抢占的通知消息,以便用户及时保存或转移重要数据、或寻找替换的服务资源。
[0107]
在步骤s813中,撮合器804向实例启停器805发送停止实例通知。
[0108]
在步骤s814中,实例启停器805停止对应实例,并通知资源管理器802将对应实例的资源状态从运行状态更新为暂停状态。
[0109]
在步骤s815中,实例启停器805通知后端实例管理器803更新库存数。
[0110]
在步骤s816中,后端实例管理器803将更新后的库存数通知给撮合器804,以便撮合器704可以得知更新后的数量并在随后正确地执行判断。
[0111]
在步骤s817中,后端实例管理器803将表示资源已释放的消息发送给实例启停器805。
[0112]
最后,在步骤s818中,实例启停器805将资源释放通知发送给用户801。
[0113]
另外,当前估计值确定器806可以按照预设时间间隔执行步骤s819,在该步骤中,当前估计值确定器806可以清理自身中的无用的创建资源记录,例如将无用的创建资源记录标记为已删除,从而确保不会由于累积了过多的无用记录而耗尽存储空间。
[0114]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品,通过按照供需情况分配和释放服务资源,提高服务资源的利用率,并降低用户的使用成本。
[0115]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0116]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0117]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0118]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如由上述路侧计算设备、交通提示设备的处理器或远处处理器执行的方法和处理。例如,
在一些实施例中,这些方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的分布式系统的测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法。设备900例如可以是分布式系统的控制中心,或者是位于分布式系统内部或外部的任意设备。设备900不限于上述示例,只要能够实现上述测试方法即可。
[0119]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,所述一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至所述存储系统、所述至少一个输入装置、和所述至少一个输出装置。
[0120]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0121]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0122]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,所述计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过所述键盘和所述指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0123]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过所述图形用户界面或者所述网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质
的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0124]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0125]
应所述理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0126]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应所述明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献