/**
  * 静态方法, 单例统一访问入口
  * @return object  返回对象的唯一实例
  */
 public static function getInstance()
 {
     if (is_null(self::$_instance) || !isset(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 /**
  * 冗余备份报俊
  * @param string $signature 文件hash值
  * @param string $nodeId 迷你存储ID
  * @return array
  */
 public function replicateReport($signature, $nodeId)
 {
     //冗余备份成功,为miniyun_file_version_metas.meta_value新增冗余的节点
     PluginMiniStoreVersionMeta::getInstance()->addReplicateNode($signature, $nodeId);
     //修改存储节点的miniyun_store_node.save_file_count+=1
     PluginMiniStoreNode::getInstance()->newUploadFile($nodeId);
     //删除冗余备份的任务
     PluginMiniReplicateTask::getInstance()->delete($signature, $nodeId);
     return array("success" => true);
 }
 /**
  * 场景1:把文件做至多3份备份
  * 使用方式:每隔1分钟执行一次
  */
 public function actionReplicateFile()
 {
     $count = PluginMiniReplicateTask::getInstance()->replicateFile();
     echo "本次备份文件有:" . $count . "个\n";
 }