我正在编写一个在 Tomcat 服务器和 JavaScript 客户端上运行的 Java 后端的 Web 应用程序。
在后端,我必须处理一个大型 int[][][] 数组,其中包含 CT 扫描的信息。大小约为。1024x1024x200。
我只想在需要处理图像切片等新数据时将此数组加载到内存中,并将其存储在某种数据库中以供剩余时间使用。
到目前为止我尝试过的事情:
使用JDBM3存储String,int[][][] Hashmap,遇到内存不足错误
序列化对象并使用 bytea[] 数据类型将其保存到 PostgreSQL-DB 中,正确存储但再次加载时出现内存错误。
所以我的第一个问题是,我怎样才能保存这么大的数组(哪个数据库,方法)?它应该快速加载,并且应该有某种多用户访问安全性,因为多个用户将能够使用前端,因此将 int[][][] 加载到后端。该数据库应具有非商业许可证,例如。GPL、麻省理工学院、阿帕奇...
第二个问题,我知道我可以将序列化的数组保存在文件系统中并将链接保留在数据库中,但是多个用户的访问是否安全?