`
soleghost
  • 浏览: 42002 次
  • 性别: Icon_minigender_1
  • 来自: 未知
社区版块
存档分类
最新评论

大资源的分配与控制

阅读更多

在应用中,总有一些业务操作可能会引起大数据量的查询,基于应用健壮性的考虑,需要对这些业务控制起来。

 

思路:外围业务每次请求时,应用每次申请一个资源,当超过限定的资源总数时,不允许业务继续进行.
       try{

           applyResource();
           do业务();

       }

       finally{

            releaseResource();

       }
      

实现1:在数据库中,针对具体业务插入一条记录(sysName,sysCount),
      synchronized void applyResource(){
 count=selectCountFromDB();
        if(count<limitCount){
            updateCount(++count);
        }else{
            throw new RuntimeException();
        }
      } 

      synchronized void releaseResource(){
            count=selectCountFromDB();
            updateCount(--count);
      }  

 

实现2:在cache中,针对具体业务put一个对象(sysName,sysCount)
      synchronized void applyResource(){
 count=selectCountFromCache();
        if(count<limitCount){
              updateCount(++count);
        }else{
               throw new RuntimeException();
        }
      } 

      synchronized void releaseResource(){
              count=selectCountFromCache();
              updateCount(--count);
      }      

 

 

继续扩展:

       try{

           applyResource();
           do业务();

       }

       finally{

            releaseResource();

       }

基于此模式,可以利用AOP拦截器的模式,来一个配一个,来一对配一双,将申请资源和具体业务解耦合
        

分享到:
评论

相关推荐

    C语言资源分配问题代码

    2. 指针:指针是C语言的一大特点,它允许我们直接操作内存,这对于资源分配的动态管理至关重要。例如,我们可以通过指针实现资源链表,以表示资源的分配关系和空闲状态。 3. 动态内存分配:在资源分配中,我们可能...

    操作系统 资源分配(实验报告,源程序)

    通过这次课程设计,学生可以深入了解操作系统如何处理资源分配问题,学习如何编写和调试与操作系统内核交互的代码,以及如何分析和优化资源管理策略。这将有助于他们未来在系统编程、并发控制和性能优化等领域的发展...

    LTE下行共享信道资源分配类型

    Type2资源分配是最灵活的一种方式,适用于大范围的带宽调整和高移动速度场景。它支持非连续的VRB分配,并且允许跨子帧的分配,这意味着一个UE的数据可以在多个子帧内传输,这对于提高数据传输效率和抗多径衰落有...

    动态不等长存储资源分配算法

    在操作系统中,动态不等长存储资源分配是内存管理的重要组成部分。这个话题主要涉及动态分区分配算法,包括最早适应(First Fit, FF)、最佳适应(Best Fit, BF)和最坏适应(Worst Fit, WF)这三种策略。这些算法在...

    OS课程设计 共享资源分配与银行家算法

    最后,文档“共享资源分配与银行家算法.doc”很可能是项目的详细说明或参考资料,建议仔细阅读,按照文档中的要求和指导进行设计。完成课程设计不仅能提升你的编程技能,还能加深对操作系统核心机制的理解,对于未来...

    飞信开放平台的资源分配与控制策略.pptx

    为了确保服务的稳定性和高效性,飞信开放平台实施了严格的资源分配和控制策略。这些策略包括: 1. **API访问频次控制**:平台采用访问频次限流策略,根据应用、IP和用户ID的组合进行限制,防止过多并发连接。例如,...

    kuining.zip_resource allocation_最大后验概率_最大路径_资源分配_资源分配算法

    在IT领域,资源分配是一个关键问题,特别是在计算机科学、网络通信和优化理论中。资源分配算法旨在有效地将有限的资源分配给多个任务或用户,以最大化整体效率或满足特定目标。"kuining.zip_resource allocation_...

    基于叠堆编码的分布式能源系统资源分配非线性控制方法研究.pdf

    文章中提及的其它控制方法包括基于决策树模型的资源分配控制方法、基于支持向量机的资源分配控制方法等,这些方法与所提出的基于叠堆编码的方法形成对比。基于决策树模型的方法利用决策树模型进行资源分配决策,而...

    飞信开放平台的资源分配与控制策略.pdf

    综上所述,飞信开放平台的资源分配与控制策略旨在优化服务性能,确保数据交互的高效性和安全性,同时兼顾不同合作伙伴和用户的需求,提供稳定、灵活且可扩展的网络服务。这一策略涉及到了API的访问控制、服务器群集...

    操作系统课程设计-资源分配

    ### 操作系统课程设计——资源分配 #### 一、设计内容概述 本次课程设计的核心是通过银行家算法来实现资源的动态分配,并对比随机分配算法的效果。具体要求如下: 1. **构建系统模型:** - 设计一个包含三个并发...

    Project教程如何分配资源和管理资源

    Microsoft Office Project 是一款强大的项目管理软件,它提供了丰富的功能来帮助用户进行资源分配与管理。以下将详细介绍如何使用 Project 进行资源分配和管理。 #### 工具/原料 - Microsoft Office Project 2007 -...

    资源分配(进程调度)

    在操作系统领域,资源分配是操作系统核心功能之一,它涉及到如何高效、公平地为并发执行的进程分配有限的系统资源,如CPU时间、内存、磁盘空间等。在本实验"资源分配(进程调度)"中,我们将深入探讨这一主题,通过...

    第五章资源分配与调度中国地质大学计算机学院ppt课件.ppt

    资源分配与调度是操作系统中的关键环节,旨在优化系统的性能和响应时间,同时防止出现资源的无效使用和死锁。在中国地质大学计算机学院的这堂课中,第五章深入探讨了这一主题。 首先,资源管理的主要目标是确保资源...

    功率控制与资源分配仿真与分析

    基于MATLAB的d2d功率控制仿真,简单的解决了资源分配的问题,现在假设有3个可用信道,一个蜂窝用户只允许一个d2d对用户复用资源(复用方式是复用距离最远的蜂窝用户信道,暂时没有考虑干扰问题),那么这3个信道最多...

    大数据与云计算培训学习资料 飞信开放平台的资源分配与控制策略 共26页.pptx

    大数据与云计算培训学习资料 飞信开放平台的资源分配与控制策略 共26页.pptx

    网络游戏-无线网络分布式密集网络资源分配算法.zip

    在网络游戏领域,无线网络分布式密集网络资源分配算法扮演着至关重要的角色。随着移动设备和无线技术的普及,网络游戏越来越依赖于高效、稳定的无线网络连接。本文将深入探讨这个主题,详细解析无线网络分布式密集...

    资源分配算法

    资源分配在OFDMA系统中起着核心作用,通过有效的算法设计和MATLAB实现,可以实现对系统性能的有效控制。理解并掌握这些算法有助于开发更加高效和智能的无线通信系统。在实际应用中,需要根据具体场景和需求进行调整...

    D2D-communication-master_d2dcommunication_d2d_通信资源分配

    在"D2D-communication-master_d2dcommunication_d2d_通信资源分配"项目中,重点探讨了D2D通信中的资源分配策略以及干扰管理,以提高通信效率和网络性能。** 首先,**通信模型建立**是D2D通信的基础。在D2D通信模型...

Global site tag (gtag.js) - Google Analytics