资源类型将资源运算模型记录到数据库的模型表。
[0088]为请求方分配其申请的资源之前,需先经由控制系统授权;具体地,控制系统进行资源运算,将资源运算结果返回给请求方,如果接收到请求方关于资源运算结果的资源申请响应,则通过授权。
[0089]资源运算包括多种,例如对资源使用的具体数据信息的运算,再如对资源费用的运算。下面以资源计费运算为例进行说明。
[0090]控制系统可基于Java实现,采用Spring MVC框架,按照四个层次实现资源计费控制,由上至下依次为:视图层、控制层、服务层、数据层,相邻层的各模块之间各根据需要进行数据交流。
[0091]1、视图层(View):
[0092]视图层将资源计费控制分为三个模块,分别为用户处理视图子模块、资源处理视图子模块、资源运算视图子模块。通过Spring MVC集成Velocity视图技术实现各个子模块的视图化。
[0093]用户处理视图子模块包含用户注册、资源申请、用户注销三个子单元,实现用户信息的收集和注销、资源申请等环节。
[0094]资源处理视图子模块包含资源定义、资源监控两个子单元,实现资源的配置以及查看用户资源的使用情况。
[0095]资源运算视图子模块主要为计费模型进行定义,通过定义的计费模型,可计算出相应的资源费用。
[0096]2、控制层(Controller):
[0097]控制层由用户处理控制器(UserAdminController)、资源处理控制器(ResourceAdminController)、资源运算控制器(ResourceCalAdminControlIer)三个控制器组成,分别接收视图层各个相应模块中的数据,对数据封进行封装(例如装成Model)后传入服务层,以及将经由服务层调用的数据重新返回对应的视图子模块进行展示,实现功能的数据流转。
[0098]用户处理控制器(UserAdminController):控制着用户处理视图子模块各个功能视图的数据流转。
[0099]资源处理控制器(ResourceAdminController):控制着资源处理视图子模块各个功能视图的数据流转;同时,还根据用户申请,为其分配资源。
[0100]资源运算控制器(ResourceCalAdminControlIer):控制着资源运算视图子模块各个功能视图的数据流转;同时,在需要时还进行资源运算,得到资源运算结果。
[0101]3、服务层(Service):
[0102]服务层实现对用户处理、资源处理、资源运算等相应模块的逻辑处理,接收控制层的Model数据,对数据做相应的业务逻辑处理,读取数据库中的数据或向数据库写入数据。服务层包含用户服务接口、资源服务接口、资源运算服务接口。
[0103]用户服务接口(UserService):实现对用户信息注册、用户资源申请、用户注销等逻辑处理。
[0104]资源服务接口(ResourceService):实现对资源定义、资源监控的逻辑处理。
[0105]计费服务接口(CalService):实现资源运算模型定义、用户资源运算的逻辑处理。
[0106]4、数据层(DAO):
[0107]数据层实现对业务逻辑数据的存储,将用户数据、资源数据、用户资源申请数据、资源运算模型数据、用户资源运算数据进行存储;同时也负责相应的数据查询。数据层主要由 UserDao、ResourceDao、CalDao 组成。
[0108]UserDao主要负责用户相关数据的存储和查询。
[0109]ResourceDao主要负责资源数据的存储和查询。
[0110]CalDao主要负责资源运算相关数据的存储和查询。
[0111]下面对资源运算作进一步说明,这里资源运算具体为资源计费。
[0112]针对各计费要素的属性进行拆分,归类,设计每类资源的计费模型。计费模型内容如下:
[0113]CPU计算资源计费模型:
[0114]注:CPi = i类CPU内核资源月单价;CNi =购买i类CPU内核数量;CSM = CPU计算资源月费用;
[0115]CPU 计算资源费用 CSM (月)=CP1*CN1+CP2*CN2+…+CPn*CNn
[0116]为了便于统一管理集群,集群中的CPU内核类型可以设置为相同类型,那么以上公式可简化为:
[0117]CPU计算资源费用CSM (月)=CP*CN。
[0118]内存资源计费模型:
[0119]注:MPi =内存资源月单价(G*月);MNi =购买内存大小(G) ;MSM =内存资源月费用;
[0120]内存资源费用MSM(月)=MP1*MN1+MP2*MN2+…+MPn*MNn
[0121]为了便于统一管理集群,集群中单个内存类型相同,那么以上公式可简化为:
[0122]内存资源费用MSM (月)=内存资源单价*购买内存大小=MP*MN。
[0123]存储资源计费模型:
[0124]注:SPi =存储资源月单价;SNi =购买存储大小(G) ;SSM =存储资源月费用;
[0125]存储资源费用SSM(月)=SP1*SN1+SP2*SN2+…+SPN*SNN ;
[0126]为了便于统一管理集群,如果集群中存储资源类型配置相同,那么以上公式可简化为:
[0127]存储资源费用SSM(月)=存储资源单价*购买存储资源大小=SP*SN。
[0128]网络带宽资源计费模型:
[0129]注:WCi =网络带宽类型;WPi =网络带宽资源月单价;WSM =网络带宽资源月费用
[0130]网络带宽资源费用WSM(月)=WP1+WP2+…+WPN
[0131]如果各企业购买的网络带宽类型是同一种类,那么:
[0132]网络带宽资源费用WSM(月)=WP。
[0133]分级人工服务资源计费模型:
[0134]注:PPi = i级别人工服务宽资源单价;PSM =分级人工服务资源月费用
[0135]分级人工服务资源费用PSM(月)=PP1+PP2+...+PPN。
[0136]资源总费用模型:
[0137]假设各类资源购买时长为ST,单位为月,不满一个月时按照整月计算。
[0138]资源总费用为:
[0139]资源总费用SSM =
[0140]CPU计算资源费用(月)*CPU资源源购买时长
[0141]+内存资源费用(月)*内存资源购买时长
[0142]+存储资源费用(月)*存储资源购买时长
[0143]+网络带宽资源费用(月)*网络资源购买时长
[0144]+分级人工服务资源费用(月)*人工服务资源购买时长
[0145]= CSM*STc
[0146]+MSM*STm
[0147]+SSM*STs
[0148]+WSM*STw
[0149]+PSM*STp。
[0150]而后,将资源总费用展示给用户,待用户确认后,为用户分配资源。
[0151]本发明在具体实现时,中可以采用各类编程语言实现,如:java、C#、C++、C等,也可以采用数据库中的存储过程或函数等形式将本发明中各资源的计费进行封装和实现。
[0152]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内