我很好奇啊,为什么要把这么大一个数组放了内存?有什么用处?
搜索一些分布式内存缓存第三方组件吧,应该有。如果自己实现的话比较费劲了,得考虑一致性、可用性问题。
因为这些数据不是持久的,计算完毕后给出结果就不需要了,领导要求啊,自己实现,不用大数据框架和redis,老哥可有什么方法
@xbj902: 什么计算,要全部读到内存里,不能读一点计算一点吗
@会长: 因为数组中的元素之间有对应关系。而且是根据传过来的数来分段存储,然后并行计算。比如传过来的是3那数组长度就是2的3次方,这样完全就可以之间计算。如果是40,数组长度就是2的30次方。这样就要等分存到不同的服务器上了。方便把QQ给我,请教一下吗
看到你一个问题提了两次,我回来修改一下:
参考hadoop的体系和原理:第一个:节点管理器,作用时监听节点,复查节点状态,统计节点数量,可以用socket实现;第二个:数据管理,作用校验数据,备份数据(参考HDFS的原理),将数据重新切分记录,比如第一台服务器分的是数组第i到第j个元素,需要记录下来(这里也可以类似HDFS管理节点和存储节点),但你的数据是在内存中;第三个:数据处理,参考(MapReduce工作原理)如果只是内存中的话,应该更简单一些,没有复杂的数据交互,就是当前服务器处理当前服务器的数据。