[发明专利]一种基于请求处理模拟的系统软硬件拓扑的评估方法及系统有效
申请号: | 202010064200.9 | 申请日: | 2020-01-20 |
公开(公告)号: | CN111274109B | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 储诚贵;董清泉 | 申请(专利权)人: | 国网甘肃省电力公司信息通信公司;全球能源互联网研究院有限公司;国网信息通信产业集团有限公司;南瑞集团有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 颜盈静 |
地址: | 730050 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 请求 处理 模拟 系统 软硬件 拓扑 评估 方法 | ||
1.一种基于请求处理模拟的系统软硬件拓扑评估方法,其特征在于:包括以下步骤:
通过模拟系统处理请求的过程,得到系统吞吐量指标;
根据系统吞吐量指标,得到系统当前采用的软硬件拓扑结构的评估结果;
所述通过模拟系统处理请求的过程,得到系统吞吐量指标的步骤为:
以请求分布信息、系统的硬件资源拓扑图、系统的软件资源图、软件部署信息和请求对应的软件资源调用概率信息为输入,以系统每秒处理请求数目、平均响应时间和请求并发数为输出;
所述硬件资源拓扑图为由内存资源、外存资源、运算资源、带宽资源这四类硬件资源作为顶点,以及这四类硬件资源之间的数据连接作为边形成的无向图,每个顶点都有一个用以表明它拥有的资源的量的属性值,该硬件资源拓扑图记为H=〈VH,EH,其中,vH表示顶点集合,EH表示边集合,通过对硬件资源拓扑图的顶点进行编号获取硬件资源图中的顶点硬件资源信息;
所述软件资源图包括软件资源拓扑图和软件资源的硬件资源占用信息;所述软件资源拓扑图为由构成软件的组件和数据集作为顶点、由组件与组件、组件与数据集之间的数据连接作为边形成的无向图,记为S=〈VS,ES,其中vS为顶点集合,ES为边集合,通过对软件资源编号获取软件资源拓扑图S中的软件资源信息;
所述软件资源的硬件资源占用信息包括处于静止状态的硬件资源占用信息和处于运行状态的硬件资源占用信息;
所述处于静止状态的硬件资源占用信息记为:
其中,分别表示编号为i的软件资源处于静止状态占用的计算、内存、外存、带宽资源的量;
所述处于运行状态的硬件资源占用信息记为:
其中,记编号为i的软件资源占用计算资源的数目为时长为占用内存资源的数目为时长为占用外存资源的数目为时长为占用带宽资源的数目为时长为服从二维正态分布,对K∈{C,M,E,N},为对应的二维正态分布的参数;
所述软件部署信息D记为D=(d1,...,dh),其中为编号i的软件资源的部署信息,分别表示该软件资源所占用的运算、内存、外存、带宽资源在硬件资源拓扑图中的顶点编号,h=|VS|+|ES|为软件资源拓扑图中软件资源的数目;
所述软件资源调用概率信息为P=(p1,...,pm),其中,m为请求的类别数目,为第k类请求对应的软件资源调用概率向量,其中表示处理第k类请求时,软件资源图S中编号为i的软件资源被调用概率;
具体包括以下步骤:
步骤1:初始化变量;所述变量包括请求、available、processingList、waitingList、processedNumber、requestNumber、requestList、time、totalResponseTime;
available表示可用硬件资源向量;
processingList表示盛放所需硬件资源已分配完全的请求列表,初始值为空列表;
waitingList表示盛放所需硬件资源未分配完全的请求列表,初始值为空列表;
processedNumber表示当前系统已处理的请求数目,初始值为0;
requestNumber表示记录当前时间步所需申请的各类请求的数目,初始值为0;
requestList表示盛放当前时间步新生成的请求列表,初始值为空列表;
time表示系统运行时间,初始值为0;
totalResponseTime表示系统当前处理的所有请求的响应时间总和,初始值为0;
所述请求包括以下属性:req.startTime、req.softwareRscList和req.hardwareRscList;
req.startTime表示请求被系统接收的时间;
req.softwareRscList表示盛放该请求被处理时需要调用的软件资源列表;
req.hardwareRscList表示盛放该请求申请到的硬件资源列表;
步骤2:检查processingList中是否存在待处理的请求,若不存在待处理的请求,则执行步骤3;若存在待处理的请求,则判断请求中的req.hardwareRscList中是否存在占用到期的硬件资源,若存在占用到期的硬件资源,则释放该硬件资源至available上,并从processingList上删除req.hardwareRscList中所有硬件资源被释放的请求,执行步骤3;若不存在占用到期的硬件资源,则执行步骤3;
步骤3:processedNumber=processedNumber+1
totalResponseTime=totalResponseTime+(time-req.startTime);
步骤4:根据请求分布信息,随机取样生成本周期需处理的各种类别请求的数目:
步骤5:针对每种类别请求的数目,根据请求对应的软件资源调用概率信息和软件资源图,对应生成指定数目的新请求,并将新请求随机插入requestList中;
步骤6:判断waitingList中是否为空,若为空,则执行步骤7,否则,对waitingList中的请求分配硬件资源,并将分配成功的请求放入processingList中,将分配不成功的请求继续留在waitingList中等待下次分配;
步骤7:对requestList中的新请求分配硬件资源,将分配成功的新请求从requestList中剔除并放入processingList,将分配不成功的请求从requestList中剔除并放入waitingList;
步骤8:维护循环步数和运行时间:n=n+1,time=time+stepSize,timeSize表示每个时间步的步长;若n<N,N为算法迭代次数,返回步骤2,否则表示达到循环次数,执行步骤9;
步骤9:统计得到每秒请求处理数目、平均响应时间和负载量:
concurrency=avarageResponseTime×transactionPerSecond。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网甘肃省电力公司信息通信公司;全球能源互联网研究院有限公司;国网信息通信产业集团有限公司;南瑞集团有限公司,未经国网甘肃省电力公司信息通信公司;全球能源互联网研究院有限公司;国网信息通信产业集团有限公司;南瑞集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010064200.9/1.html,转载请声明来源钻瓜专利网。