润乾报表集群缓存同步功能介绍

来源:互联网 发布:长沙乐知英语 编辑:程序博客网 时间:2024/05/18 01:04

目前服务器的集群,大多是使用session同步的方法解决的问题,即让集群中一台电脑的session在集群服务器发生相互之间跳转的时候,把session也同时复制到相应的电脑上。例如:在集群服务器中,第一次访问A机器,第二次跳转到B机器继续访问,服务器会自动把A机器产生的session的内容复制到B机器上,使得访问正常进行,从而实现服务器之间负载更加均衡。

但是润乾报表的缓存机制有所不同,润乾的缓存是基于硬盘的,会把缓存文件保存到电脑的硬盘上。但是这样在集群服务器上就造成了如下问题:当客户端第一次访问A机器时产生的报表保存在A机器的缓存目录下,第二次访问跳转到B机器时,B机器无法从A机器的本地硬盘上取得缓存的报表。为了解决这个问题,润乾采取了集群缓存同步的功能。

首先介绍一下集群缓存同步功能的概念。集群缓存同步是指:客户端在多次访问集群服务器的不同主机时,服务器之间可以进行报表缓存的同步,使得客户端能够返回正确的结果而不需要重新计算。

然后用户需要知道,润乾报表缓存相关的配置方法要在 reportconfig.xml 中设置, reportconfig.xml 的路径为:润乾web应用根目录下的WEB-INF/reportConfig.xml ,其中所有缓存相关的可配置属性如下:

<config>
<!– 配置缓存机器和缓存端口号–>
<name>clusterMember</name>
<value>A,192.168.0.59,8087;B,192.168.0.48,8087;</value>
</config>
<config>
<!– 配置是否共享缓存目录–>
<name>isCachedFileShared</name>
<value>yes</value>
</config>
<config>
<!– 配置缓存共享目录–>
<name>cachedReportDir</name>
<value>//192.168.0.59/cached</value>
</config>
<config>
<!– 配置缓存id的前缀,注意集群时不同机器用不同的前缀–>
<name>cachedIdPrefix</name>
<value>A</value>
</config>

 

在上面的可配置属性中,其中 clusterMember 属性指定了系统缓存前缀,所有集群的服务器结点,每个服务器结点与缓存服务器间的通讯接口。它的格式是:缓存前缀,对应电脑的IP地址,访问电脑的端口号;…”,集群中有多少台电脑要用到集群缓存同步机制,那么就要在这里按照上面的格式,把这些电脑一一配置好。

第二个重要属性是 isCachedFileShared ,它的取值范围是 yes 或者 no ,它的作用是是否共享本地硬盘上的缓存目录和文件。设置为 yes 的时候缓存目录和文件被共享,可以在集群服务器中访问到电脑硬盘上的缓存,如果设置为 no ,那么缓存不能被共享,也就不能被集群中的其他电脑得到。必须注意的是,如果它的值为 yes ,那么必须设置 cachedReportDir 属性的值, cachedReportDir 的作用是 配置缓存共享目录,润乾报表的缓存将被保存到这个目录下,所以 cachedReportDir 的值需

为一个可读写的访问路径。

根据上面 reportconfig.xml 的例子和属性说明配置好这个配置文件后,集群缓存同步的配置就基本完成了,这个就可以在集群服务器中相互跳转的时候取到润乾报表的缓存文件了,也就成功解决了以前采用 session 复制的方法不能取到本地硬盘上缓存的问题。

引自:润乾报表知识库

其他相关内容: 润乾 ; 商业智能BI联盟 ;  报表软件 ;Java报表商业智能解决方案web报表的扩展功能

原创粉丝点击