Recomendações de compartilhamento de arquivos para muitos arquivos CAD

5

Descrição do problema / ambiente

Atualmente, temos cerca de 100 GB de arquivos CAD (90k arquivos, 6k diretórios) armazenados em alguns repositórios do Subversion. Parece um incômodo desnecessário manter esses dados binários no Subversion. Também é um fardo para as pessoas fazerem o check-in de novos arquivos, já que precisam adicionar & finalize um diretório antes que eles possam confirmar. A única "vantagem", sendo capaz de apenas clicar com o botão direito e "atualizar", tem a penalidade de 2 cópias de cada arquivo sendo armazenado (como o svn funciona), e sendo muito lento. Não há histórico de versões significativo para os arquivos - ou seja, os arquivos CAD não são modificados ainda mais, eles são adicionados ou, nesse caso, não são dados com os quais nos importamos - apenas os atuais , estado mais recente ou HEAD ... exportando os dados do SVN é simples. Editar os arquivos não é realmente parte do fluxo de trabalho e é mais provável que seja acidental, e envolve 5+ sistemas CAD, então não tenho certeza se um sistema do tipo "PLM" seria realmente ideal ou garantido.

O ambiente atual do servidor de arquivos é o Windows Server 2003 - que provavelmente mudará em 6 meses (para o servidor 2008 R2 + big RAID 6 ou um NAS, provavelmente o servidor 2008 R2 envolvido de qualquer forma)

Devido ao grande tamanho, ninguém realmente verifica todas as partes (ou mesmo um determinado diretório) com muita frequência e já existe um compartilhamento de rede somente de leitura que se atualiza uma vez por dia a partir do Subversion. O processo de atualização automática quebra o tempo todo (a cópia de trabalho do svn fica suja ou em mau estado e precisa ser limpa). É assim que a maioria dos usuários acessa essas partes, de modo que já estão bastante acostumadas a acessar a partir do compartilhamento. É basicamente uma mudança no modo como as peças são adicionadas.

Quais novas opções de fluxo de trabalho existem? Estou faltando alguma coisa?

Gostaria de atualizar nosso fluxo de trabalho para lidar com arquivos CAD. A corrente na consideração da tabela está indo para um compartilhamento de rede do windows em linha reta. O ideal é manter esse comportamento de somente leitura, mas obviamente as pessoas precisam de um lugar para despejar novos arquivos e adicioná-los ao compartilhamento. Se o compartilhamento de rede se tornar a principal fonte de dados, será importante que as pessoas não abram, editem e salvem os arquivos o tempo todo. Eu suponho que a importância disso é discutível, mas geralmente, se editando, o contrato é que eles copiam para o PC, então a cópia "principal" de um determinado arquivo não é modificada para todos os outros.

Não vale a pena tentar separar os arquivos adicionados ao acessá-los? (para manter o acesso somente leitura do compartilhamento)

Definir o compartilhamento para gravar, mas não modificar, não é necessariamente uma opção (se a manutenção for somente leitura é um requisito básico), como sistemas CAD como Pro / ENGINEER, pegue o arquivo CAD XYZ.prt e salve um número. .. Por exemplo. XYZ.prt.1, XYZ.prt.2, etc, o que resultará em muitas cópias se as pessoas estiverem salvando acidentalmente no compartilhamento.

Até agora eu tenho uma idéia confusa de que posso escrever algo para manipular uma "caixa suspensa" gravável que copie para o compartilhamento, e por exemplo ... negue arquivos zip e se recuse a sobrescrever quaisquer arquivos. Isso me deixa com o dever manual de excluir quaisquer arquivos (ocasionalmente necessários, mas raros - ou pode ser dado a um grupo seleto de usuários). Talvez, apesar de sua imperfeição, o Subversion não seja terrível ... Estou procurando outras opiniões aqui. O que eu não quero é mudar o fluxo de trabalho de todos apenas para que a situação funcione mais para mim ou para os usuários (30 a 40 usuários).

    
por Joshua McKinnon 19.05.2011 / 02:01

2 respostas

3

Eu deveria aguardar sua resposta aos meus comentários, mas ...

Que tal:

  1. Um compartilhamento somente leitura para seus arquivos.

  2. Um compartilhamento gravável com a mesma estrutura de diretório.

  3. Quando alguém precisa atualizar um arquivo, ele "faz check-out" do compartilhamento somente leitura, ou seja, faz uma cópia dele localmente. (A limitação do que estou prestes a dizer a seguir é que não é um processo de check-out ...)

  4. Eles trabalham no arquivo localmente, todos os arquivos temporários estão no disco rígido.

  5. Quando eles terminam de atualizar o arquivo, eles o copiam de volta para o diretório correto no compartilhamento gravável.

  6. Usando uma das muitas ferramentas de cópia de arquivos (rsync, SecondCopy, o que for), em qualquer intervalo desejado, os arquivos são copiados dos diretórios graváveis para o diretório somente leitura correspondente. A nova versão do arquivo irá sobrescrever a anterior, ou você pode manter versões nesse ponto, se quiser.

Como eu disse, não há check-out real neste sistema, ele não lida com duas ou mais pessoas trabalhando no mesmo arquivo ao mesmo tempo. Eu acho que a resolução de colisão poderia fazer uso do fato de que as pessoas teriam uma cópia local de seu trabalho (pelo menos por um tempo) para voltar a usar.

    
por 19.05.2011 / 06:27
2

Não consigo entender por que você está usando um sistema de controle de versão quando você claramente não o está usando como tal. No momento, você não está obtendo os benefícios do controle de versão, mas ainda está pagando pelos recursos usados.

Dada sua descrição, sugiro usar compartilhamentos de arquivos / pastas convencionais. Por que tornar isso mais complicado do que precisa ser? A estrutura é mais facilmente estabelecida usando nomenclatura e camadas de pasta claras e sensatas. Acredito que seus usuários não apenas se adaptarão a ele rapidamente, mas agradecerão pela mudança.

    
por 19.05.2011 / 07:25