动态并发控制

由用户根据服务器硬件的配置,预先设置一个允许并发运算的最大格子数,然后由服务器运算的过程中,动态的智能判断当前并发访问的格子数是否达到预设值,如果已经达到预设值,则阻止新任务访问,提示:cell num exceeds limit

 

功能背景:

由于静态并发数是一个无法精确控制的数据,因此引入最大单元格数。这个数据是根据服务器内存能支撑最大的格子数来设定的。通过它,可以灵活地改变并发数控制,如果报表都很小,则允许更多的并发数,如果报表都很大,则只允许很少的并发数。

 

使用方法:

在润乾报表web应用根目录下的WEB-INF\raqsoftConfig.xml文件中进行配置,可配置的属性为:

Ø  maxCellNum:动态并发配置的主要指标,用来表示在同一时刻,所能计算的最大的单元格数量。服务器在运算过程中,动态的智能判断当前并发访问的格子数是否达到预设值,如果已经达到预设值,则阻止新任务访问,提示:报表格子数超标,稍候再访问。

 

同时,为了让报表引擎在计算报表之前就能够智能地判断报表的格子数,报表属性里还提供了报表格数属性,如下图所示:

报表引擎在计算完数据集,计算报表之前,都会先读取报表格数属性,计算出该报表可能的格子数,然后叠加到内存中的一个当前格数变量中,然后利用这个变量和raqsoftConfig.xml文件中的maxCellNum进行对比,如果当前格数超过了maxCellNum,就不允许这个报表计算,如果没有超过,就进行计算。从而达到了动态控制并发数的目的。