一种电力系统云平台计算分析微服务资源调度方法与流程

文档序号:19809152发布日期:2020-01-31 18:03阅读:444来源:国知局
一种电力系统云平台计算分析微服务资源调度方法与流程

本发明涉及电力系统分析云平台计算,尤其涉及一种电力系统云平台计算分析微服务资源调度方法。



背景技术:

电力系统的分析计算服务是电力系统规划设计人员确定经济合理、技术可行的规划设计方案的重要工具;是运行调度人员确定系统运行方式、分析系统事故、寻求反事故措施的有效手段;是以计算机技术为基础的现代电力调度自动化系统的核心内容。

传统开发方式,开发人员会将所有功能打包,几乎没有外部依赖,随着系统功能的不断扩展,代码维护变得更加困难,扩展性也不高。微服务目的就是将开发的功能业务有效的拆分,将多个独立的服务组合成一个完整的系统,独立开发,独立维护,实现敏捷开发。

在现有技术的中,微服务访问资源时会对该资源加锁,此时其他微服务无法访问该资源,等访问结束后,微服务就会对该资源解锁,其他微服务就能够访问此资源。

当一个微服务访问资源时,其他微服务想要访问同一资源都会因为该资源被加锁而遭到拒绝。然而,等微服务对该资源访问完毕并解锁该资源后,如果哪个微服务此时正好要访问该资源,它就可以锁住该资源,而之前被拒绝的微服务仍无法访问该资源。

现有技术的缺陷在于,在前访问的微服务解锁资源后,在后访问的微服务按照随机的顺序访问该资源,即按照资源被解锁后谁在先凑巧第一个访问该资源的顺序而不是对该资源需求的先后顺序进行访问,进而造成最先访问该资源的微服务需等很久才能访问的情况,导致微服务访问的随机性强,微服务访问资源的可预期性低。



技术实现要素:

发明目的:本发明提供一种电力系统云平台计算分析微服务资源调度方法,以解决微服务访问资源的可预期性低的技术问题。

技术方案:本发明电力系统云平台计算分析微服务资源调度方法,包括以下步骤:

(1)微服务访问资源请求;

(2)根据微服务优先级和请求时间计算重要性分数;

(3)重要性分数最高的微服务访问请求传递到资源队列;

(4)微服务所需资源队列最前的资源被访问并锁定;

(5)访问结束解锁资源,资源按解锁时刻重新加入资源队列。

步骤(1)中,所述微服务是访问请求的发送方,一个微服务与一个访问请求相对应。

微服务对资源的访问请求包括与所述资源对应的资源标识以及所述资源对应的队列。

步骤(2)中,将所述微服务访问资源请求按照重要性或者用户当前需求进行优先级分类,当多个微服务在相同的时间访问相同的资源时,根据微服务访问资源请求的优先级和访问提出时间以及两者权重考虑访问请求的优先响应次序。

微服务访问请求重要性计算分数ck=a*q1+b*q2,其中a为优先级对应的计算分数,b为按照请求时间排序后得到的对应的计算分数,q1为优先级的权重,q2为请求时间的权重。

资源标识确定微服务的访问请求要求访问资源的类型,根据资源类型定位到资源对应的队列;资源对应的队列收到微服务的访问请求后,当前队列中最前的资源被访问。

微服务访问多种资源时,访问请求中包含多个资源标识,微服务将访问请求发送到多个资源队列,每个队列最前的资源被所述微服务访问。

微服务访问资源时,所述资源进行锁定,并撤出队列,且无法响应其他微服务访问请求;微服务在访问结束后解锁所述资源,并按照资源的解锁时间重新添加到资源队列中。

微服务访问的资源包括硬件资源、软件资源、电子数据资源或者外设资源。

有益效果:本发明电力系统云平台计算分析微服务资源调度方法,使得微服务访问资源按照顺序执行,减少了微服务访问的随机性以及由此引起的资源不合理利用,增强了微服务访问资源的可预期性。

附图说明

图1为本发明电力系统云平台计算分析微服务资源调度方法流程图。

具体实施方式

如图1所示,本发明微服务资源调度方法包括以下步骤:

(1)微服务资源请求;

(2)根据微服务优先级和请求时间计算重要性分数;

(3)重要性分数最高的微服务访问请求传递到资源队列;

(4)微服务所需资源队列最前的资源被访问并锁定;

(5)访问结束解锁资源,资源按解锁时刻重新加入资源队列。

具体过程如下:

首先,本发明的实施环境可以是智能手机、平板电脑、笔记本电脑便携移动设备,也可以是计算机设备、现场终端、台式电脑、服务器、工作站固定式设备。资源包括硬件资源、软件资源、电子数据资源或者外设资源,这些资源可以被有需求的微服务访问。

微服务对资源的访问请求包括与该资源对应的资源标识以及该资源对应的队列。由于微服务是访问请求的发送方,一个微服务与一个访问请求相对应,因此将电力系统云平台计算分析的各个微服务问资源请求按照其重要性或者用户当前需求进行优先级分类,当多个微服务在相同的时间访问相同的资源时,根据微服务访问资源请求的优先级和访问提出时间以及两者权重综合考虑访问请求的优先响应次序,假设优先级对应的计算分数为a,将当前请求序列按照请求时间排序后可根据其排名得到对应的计算分数为b,优先级的权重为q1,请求时间的权重为q2,则第k个微服务访问请求重要性计算分数ck=a*q1+b*q2,综合得分高的微服务可问资源请求以优先访问所需的资源,保证最核心的微服务或者最迫切需要访问资源的微服务按照更合理的顺序访问资源。

将微服务所需各类资源按照其解锁时刻先后进行排序,解锁时间越早在队列中排位越靠前,以此将资源形成一个队列,队列最前的资源总是最先被访问,通过微服务重要性排序和队列的方式结合的方法避免了微服务访问顺序混乱、没有预期性的问题。微服务访问资源时该资源进行锁定,并撤出队列,在此期间无法响应其他微服务访问请求,等访问结束后,微服务解锁该资源,并且按照资源的解锁时间重新添加到资源队列中。

微服务在执行任务时如果需要调用资源的内容,自动触发微服务对资源的访问请求,按照优先级和访问提出时间以及两者权重综合后重要性越高的微服务,其请求最先被响应。资源的封装有处理微服务指令的接口,当微服务要访问资源时,向该接口发出访问的指令,该接口将该指令转换成访问请求。如果资源正在更新,则资源停止更新,当访问结束,允许资源进行更新。微服务对资源的访问请求包括与所需资源对应的资源标识以及所需资源对应的队列。资源标识用以确定微服务的访问请求要求访问资源的类型,根据资源类型可以定位到资源对应的队列。资源对应的队列收到微服务的访问请求后,当前队列中最前的资源被访问。对于需要访问多种资源的微服务,其访问请求中的应包含所需资源的多个资源标识,将此访问请求发送到多个资源队列,各队列最前的资源被该微服务访问。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1