Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

En 1C utilizamos ampliamente nuestros propios desarrollos para organizar el trabajo de la empresa. En particular, "1C: Flujo de documentos 8". Además de la gestión de documentos (como su nombre indica), también es un moderno ECM-sistema (Enterprise Content Management - gestión de contenido corporativo) con una amplia gama de funciones: correo, calendarios de trabajo de los empleados, organización del acceso compartido a recursos (por ejemplo, reserva de salas de reuniones), seguimiento del tiempo, foro corporativo y mucho más.

Más de mil empleados utilizan la gestión de documentos en 1C. La base de datos ya es impresionante (11 mil millones de registros), lo que significa que requiere un cuidado más cuidadoso y equipos más potentes.

Cómo funciona nuestro sistema, qué dificultades encontramos a la hora de mantener la base de datos y cómo las solucionamos (utilizamos MS SQL Server como DBMS), te lo contamos en el artículo.

Para aquellos que leen sobre los productos 1C por primera vez.
1C:Document Flow es una solución de aplicación (configuración) implementada sobre la base de un marco para desarrollar aplicaciones comerciales: la plataforma 1C:Enterprise.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C


"1C: Document Flow 8" (abreviado como DO) le permite automatizar el trabajo con documentos en una empresa. Una de las principales herramientas para la interacción de los empleados es el correo electrónico. Además del correo, DO también resuelve otros problemas:

  • Seguimiento del tiempo
  • Seguimiento de ausencias de empleados
  • Aplicaciones para mensajería/transporte
  • Calendarios laborales de los empleados
  • Registro de correspondencia
  • Contactos de empleados (libreta de direcciones)
  • Foro corporativo
  • Reserva de habitación
  • Evento planeado
  • CRM
  • Trabajo colectivo con archivos (con guardar versiones de archivos)
  • et al.

Entramos en la Gestión Documental cliente ligero (aplicación ejecutable nativa) desde Windows, Linux, macOS, cliente web (desde navegadores) y cliente móvil - dependiendo de la situación.

Y gracias a nuestro otro producto conectado a Document Flow: Sistema de interacción – directamente en Document Flow recibimos la funcionalidad del messenger: chats, llamadas de audio y video (incluidas las llamadas grupales, que ahora se han vuelto especialmente importantes, incluso desde un cliente móvil), intercambio rápido de archivos y la capacidad de escribir bots de chat que simplifiquen trabajando con el sistema. Otra ventaja de utilizar el Sistema de Interacción (en comparación con otros mensajeros) es la capacidad de llevar a cabo discusiones contextuales vinculadas a objetos específicos del Flujo de Documentos: documentos, eventos, etc. Es decir, el Sistema de Interacción está profundamente integrado con la aplicación de destino y no actúa simplemente como un "botón separado".

El número de letras en nuestro DO ya superó los 100 millones y, en general, hay más de 11 mil millones de registros en el DBMS. En total, el sistema utiliza casi 30 TB de almacenamiento: el volumen de la base de datos es de 7,5 TB, los archivos para el trabajo colectivo se almacenan por separado y ocupan otros 21 TB.

Si hablamos de números más concretos, aquí tienes el número de cartas y archivos en este momento:

  • Correos electrónicos salientes: 14,7 millones.
  • Cartas entrantes: 85,4 millones.
  • Versiones de archivos: 70,8 millones.
  • Documentos internos: 30,6 mil.

DO tiene más que solo correo y archivos. A continuación se muestran las cifras de otros objetos contables:

  • Reserva de salas de reuniones – 52
  • Informes semanales: 153
  • Informes diarios: 628
  • Visas de aprobación – 11
  • Documentos entrantes – 79
  • Documentos salientes – 28
  • Entradas sobre eventos en los calendarios de trabajo de los usuarios: 168
  • Solicitudes de mensajería – 21
  • Contrapartes – 81
  • Registros de trabajo con contrapartes – 45
  • Personas de contacto de las contrapartes – 41
  • Eventos – 10
  • Proyectos – 6
  • Tareas de empleados – 245
  • Publicaciones en el foro: 26
  • Mensajes de chat – 891 095
  • Procesos comerciales: 109 056. La interacción entre empleados se produce a través de procesos: aprobación, ejecución, revisión, registro, firma, etc. Medimos la duración de los procesos, el número de ciclos, el número de participantes, el número de devoluciones, el número de solicitudes de cambio de plazos. Y es muy útil analizar esta información para comprender qué procesos se están llevando a cabo en la empresa y aumentar la eficiencia de la colaboración de los empleados.

¿En qué equipo procesamos todo esto?

Estas cifras indican un volumen impresionante de tareas, por lo que nos enfrentamos a la necesidad de asignar equipos bastante productivos para las necesidades de las filiales internas. Actualmente, sus características son las siguientes: 38 núcleos, 240 GB de RAM, 26 TB de discos. Aquí hay una tabla de servidores:
Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

En el futuro, planeamos aumentar la capacidad del equipo.

¿Cómo van las cosas con la carga del servidor?

La actividad de la red nunca ha sido un problema para nosotros ni para nuestros clientes. Como regla general, el punto débil es el procesador y los discos, porque todo el mundo ya sabe cómo lidiar con la falta de memoria. Aquí hay capturas de pantalla de nuestros servidores de Resource Monitor, que muestran que no tenemos una carga terrible, es muy modesta.

Por ejemplo, en la captura de pantalla siguiente vemos un servidor SQL donde la carga de la CPU es del 23%. Y este es un muy buen indicador (a modo de comparación: si la carga se acerca al 70%, lo más probable es que los empleados observen una desaceleración bastante significativa en el trabajo).

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

La segunda captura de pantalla muestra el servidor de aplicaciones en el que se ejecuta la plataforma 1C:Enterprise; solo atiende sesiones de usuario. Aquí la carga del procesador es ligeramente mayor: 38%, es suave y tranquila. Hay algo de carga en el disco, pero es aceptable.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

La tercera captura de pantalla muestra otro servidor 1C:Enterprise (es el segundo, tenemos dos en el clúster). Sólo el anterior sirve a los usuarios, y en este trabajan robots. Por ejemplo, reciben correo, envían documentos, intercambian datos, calculan derechos, etc. Todas estas actividades en segundo plano realizan aproximadamente entre 90 y 100 trabajos en segundo plano. Y este servidor está muy cargado: 88%. Pero esto no afecta a las personas e implementa exactamente toda la automatización que debería realizar la Gestión Documental.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

¿Cuáles son las métricas para medir el desempeño?

Contamos con un serio subsistema integrado en nuestras subsidiarias para medir indicadores de desempeño y calcular diversas métricas. Esto es necesario para comprender tanto en el momento actual como desde una perspectiva histórica qué está sucediendo en el sistema, qué está empeorando y qué está mejorando. Las herramientas de seguimiento (métricas y mediciones de tiempo) están incluidas en la entrega estándar de "1C: Document Flow 8". Las métricas requieren personalización durante la implementación, pero el mecanismo en sí es estándar.

Las métricas son mediciones de varios indicadores comerciales en determinados momentos (por ejemplo, el tiempo promedio de entrega de correo es de 10 minutos).

Una de las métricas muestra la cantidad de usuarios activos en la base de datos. En promedio, hay entre 1000 y 1400 durante el día. El gráfico muestra que en el momento de la captura de pantalla había 2144 usuarios activos en la base de datos.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Hay más de 30 acciones de este tipo, la lista está recortada.Lista

  • Ingresar al sistema
  • Cerrar sesión
  • Cargando correo
  • Cambiar la validez de un objeto
  • Cambiar los derechos de acceso
  • Cambiar el tema de un proceso
  • Cambiar el grupo de trabajo de un objeto
  • Cambiar la composición del kit.
  • Cambiando un archivo
  • Importación de archivos
  • Envío por correo
  • Mover archivos
  • Redirigir una tarea
  • Firmar la firma electrónica
  • Buscar por detalles
  • Búsqueda de texto completo
  • Recibir un archivo
  • Interrumpir un proceso
  • Просмотр
  • Descifrado
  • Registro de documentos
  • Escanear
  • Eliminación de desmarcación
  • Creando un objeto
  • Guardar en disco
  • Inicio del proceso
  • Eliminar entradas de registro de usuario
  • Eliminar una firma electrónica
  • Establecer una marca de eliminación
  • Cifrado
  • Exportar una carpeta

La semana pasada, nuestra actividad promedio de los usuarios aumentó una vez y media (como se muestra en rojo en el gráfico); esto se debe a la transición de la mayoría de los empleados al trabajo remoto (debido a eventos bien conocidos). Además, la cantidad de usuarios activos aumentó 3 veces (que se muestra en azul en la captura de pantalla), a medida que los empleados comenzaron a usar activamente los teléfonos móviles: cada cliente móvil crea una conexión con el servidor. Ahora, en promedio, cada uno de nuestros empleados tiene 2 conexiones al servidor.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Para nosotros, como administradores, esto es una señal de que debemos estar más atentos a los problemas de rendimiento y ver si las cosas han empeorado. Pero analizamos esto en función de otros parámetros. Por ejemplo, cómo cambia el tiempo de entrega del correo para el enrutamiento interno (que se muestra en azul en la captura de pantalla siguiente). Vemos que hasta este año fluctúa, pero ahora es estable; para nosotros esto es un indicador de que todo está en orden con el sistema.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Otra métrica que utilizamos es el tiempo de espera promedio para descargar cartas del servidor de correo (que se muestra en rojo en la captura de pantalla). En términos generales, ¿cuánto tiempo permanecerá la carta flotando en Internet antes de llegar a nuestro empleado? La captura de pantalla muestra que este tiempo tampoco ha cambiado de ninguna manera recientemente. Hay picos aislados, pero no están asociados con retrasos, sino con el hecho de que se pierde tiempo en los servidores de correo.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

O, por ejemplo, otra métrica (que se muestra en azul en la captura de pantalla): actualizar letras en una carpeta. Abrir una carpeta de correo es una operación muy común y debe realizarse rápidamente. Medimos la rapidez con la que se realiza. Este indicador se mide para cada cliente. Puede ver tanto el panorama general de la empresa como la dinámica, por ejemplo, de un empleado individual. La captura de pantalla muestra que hasta este año la métrica estaba desequilibrada, luego hicimos una serie de mejoras y ahora no está empeorando: el gráfico es casi plano.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Las métricas son básicamente una herramienta del administrador para monitorear el sistema y responder rápidamente a cualquier cambio en el comportamiento del sistema. La captura de pantalla muestra las métricas internas de las filiales para el año. El salto en los gráficos se debe a que nos asignaron tareas para desarrollar filiales internas.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Aquí hay una lista de algunas métricas más (debajo del corte).
Métrica

  • Actividad del usuario
  • Usuarios activos
  • Procesos activos
  • Número de archivos
  • Tamaño de archivo (MB)
  • Número de documentos
  • Número de objetos que se enviarán a los destinatarios
  • Número de contrapartes
  • Tareas inacabadas
  • Tiempo medio de espera para descargar correos electrónicos del servidor de correo durante los últimos 10 minutos
  • Búfer de datos externo: número de archivos
  • Frontera retrasada desde la fecha actual
  • Larga cola
  • Cola operativa
  • Antigüedad bruta de la cuenta por enrutamiento externo
  • Tamaño de la cola de aceptación de enrutamiento interno (cola larga)
  • Tamaño de la cola de aceptación de enrutamiento interno (cola rápida)
  • Tiempo de entrega del correo vía ruta interna (cola larga)
  • Tiempo de entrega del correo vía enrutamiento interno (cola rápida)
  • Tiempo de entrega de correo vía ruta externa (promedio)
  • Número de documentos Reserva
  • Número de documentos Ausencia
  • Número de documentos “Registro de trabajo con contraparte”
  • Cartas de actualización por correo en una carpeta
  • Correo Abrir una carta
  • Correo Transferir una carta a una carpeta
  • Correo Navegar por carpetas

Nuestro sistema mide más de 150 indicadores las XNUMX horas del día, pero no todos pueden monitorearse rápidamente. Pueden resultar útiles más adelante, desde alguna perspectiva histórica, y usted puede centrarse en los más importantes para el negocio.

En una de las implementaciones, por ejemplo, solo se seleccionaron cinco indicadores. El cliente se propuso crear un conjunto mínimo de indicadores, pero al mismo tiempo tal que cubriera los principales escenarios de trabajo. Sería injustificado incluir 5 indicadores en el certificado de aceptación, porque incluso dentro de la empresa es difícil ponerse de acuerdo sobre qué indicadores se consideran aceptables. Y conocían estos 150 indicadores y ya los habían presentado al sistema antes del inicio del proyecto de implementación, incluyéndolos en la documentación del concurso: el tiempo para abrir una tarjeta no es más de 5 segundos, el tiempo para completar una tarea con un archivo no dura más de 3 segundos, etc. En nuestras filiales contábamos con métricas que reflejaban muy claramente la solicitud original a partir de las especificaciones técnicas del cliente.

También contamos con un análisis de perfil de mediciones de desempeño. Los indicadores de desempeño son un registro de la duración de cada operación en curso (escribir una carta a la base de datos, enviar una carta a un servidor de correo, etc.). Esto es utilizado exclusivamente por técnicos. Acumulamos muchos indicadores de desempeño en nuestro programa. Actualmente medimos aproximadamente 1500 operaciones clave, que se dividen en perfiles.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

Uno de los perfiles más importantes para nosotros es la "Lista de indicadores clave del correo desde la perspectiva del consumidor". Este perfil incluye, por ejemplo, los siguientes indicadores:

  • Ejecutando el comando: Seleccionar por etiqueta
  • Abrir un formulario: Formulario de lista
  • Ejecutando el comando: Seleccionar por carpeta
  • Mostrar una letra en el área de lectura
  • Guardar una carta en su carpeta favorita
  • Buscar letras por detalles
  • Creando una carta

Si vemos que la métrica de algún indicador comercial se ha vuelto demasiado grande (por ejemplo, las cartas de un usuario en particular comenzaron a llegar hace mucho tiempo), comenzamos a resolverlo y pasamos a medir el tiempo de las operaciones técnicas. Tenemos una operación técnica "Archivar cartas en un servidor de correo"; vemos que se ha excedido el tiempo para esta operación durante el último período. Esta operación, a su vez, se descompone en otras operaciones, por ejemplo, establecer una conexión con un servidor de correo. Vemos que por alguna razón de repente se ha vuelto muy grande (tenemos todas las mediciones durante un mes; podemos comparar que la semana pasada fueron 10 milisegundos y ahora son 1000 milisegundos). Y entendemos que algo está roto aquí: debemos arreglarlo.

¿Cómo mantenemos una base de datos tan grande?

Nuestro DO interno es un ejemplo de un proyecto de alta carga que realmente funciona. Hablemos de las características técnicas de su base de datos.

¿Cuánto tiempo lleva reestructurar tablas de bases de datos grandes?

El servidor SQL requiere un mantenimiento periódico, poniendo las tablas en orden. En el buen sentido, esto debería hacerse al menos una vez al día, e incluso más a menudo en el caso de mesas de alta demanda. Pero si la base de datos es grande (y nuestro número de registros ya ha superado los 11 mil millones), cuidarla no es fácil.

Hicimos una reestructuración de la mesa hace 6 años, pero luego empezó a llevar tanto tiempo que ya no cabíamos en los intervalos nocturnos. Y dado que estas operaciones cargan mucho el servidor SQL, no puede servir de manera eficiente a otros usuarios.

Por eso, ahora tenemos que utilizar varios trucos. Por ejemplo, no podemos realizar estos procedimientos en conjuntos de datos completos. Debe recurrir al procedimiento Actualizar muestra de 500000 filas; esto lleva 14 minutos. No actualiza las estadísticas de todos los datos de la tabla, sino que selecciona medio millón de filas y las utiliza para calcular las estadísticas que utiliza para toda la tabla. Esto es una suposición, pero nos vemos obligados a hacerla, porque para una tabla específica, recopilar estadísticas sobre mil millones de registros completos llevará un tiempo inaceptablemente largo.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C
También optimizamos otras operaciones de mantenimiento haciéndolas parciales.

Mantener un DBMS es generalmente una tarea difícil. En el caso de una interacción activa entre empleados, la base de datos crece rápidamente y a los administradores les resulta cada vez más difícil mantenerla: actualizar estadísticas, desfragmentar e indexar. Aquí necesitamos aplicar diferentes estrategias, sabemos bien cómo hacerlo, tenemos experiencia, podemos compartirla.

¿Cómo se implementa la copia de seguridad con tales volúmenes?

Se realiza una copia de seguridad completa del DBMS una vez al día por la noche y una incremental cada hora. Además, todos los días se crea un directorio de archivos y es una parte de la copia de seguridad incremental del almacenamiento de archivos.

¿Cuánto tiempo lleva completar una copia de seguridad completa?

Una copia de seguridad completa en un disco duro se completa en tres horas, una copia de seguridad parcial en una hora. Se necesita más tiempo para escribir en cinta (un dispositivo especial que hace una copia de seguridad en un casete especial almacenado fuera de la oficina; se hace una copia transferible en la cinta, que se conservará si, por ejemplo, la sala de servidores se incendia). La copia de seguridad se realiza exactamente en el mismo servidor cuyos parámetros eran más altos: un servidor SQL con una carga de procesador del 20%. En el momento de realizar la copia de seguridad, por supuesto, el sistema empeora mucho, pero sigue funcionando.

Nos comprobamos nosotros mismos: cómo se implementa 1C y cómo se administra: Flujo de documentos dentro de la empresa 1C

¿Existe deduplicación?

Deduplicación Hay archivos, lo probaremos nosotros mismos y pronto se incluirá en la nueva versión de Gestión Documental. También estamos probando el mecanismo de deduplicación de contrapartes. No existe deduplicación de registros a nivel DBMS, ya que esto no es necesario. La plataforma 1C:Enterprise almacena objetos en el DBMS y sólo la plataforma puede ser responsable de su coherencia.

¿Hay nodos de solo lectura?

No hay nodos de lectura (nodos de sistema dedicados que sirven a quienes necesitan recibir datos para lectura). DO no es un sistema de contabilidad para colocar en un nodo BI separado, pero hay un nodo separado para el departamento de desarrollo, con el que se intercambian mensajes en formato JSON, y el tiempo de replicación típico es de unidades y decenas de segundos. El nodo es todavía pequeño, tiene unos 800 millones de registros, pero está creciendo rápidamente.

¿Los correos electrónicos marcados para su eliminación no se eliminan en absoluto?

Aún no. No tenemos la tarea de aligerar la base. Hubo varios casos bastante graves en los que fue necesario hacer referencia a cartas marcadas para su eliminación, incluido el año 2009. Por eso decidimos quedarnos con todo por ahora. Pero cuando el coste de esto se vuelva injustificado, pensaremos en eliminarlo. Pero, si necesita eliminar completamente una letra separada de la base de datos para que no queden rastros, puede hacerlo mediante una solicitud especial.

¿Por qué almacenarlo? ¿Tiene estadísticas sobre el acceso a documentos antiguos?

No hay estadísticas. Más precisamente, tiene la forma de un registro de usuario, pero no se almacena por mucho tiempo. Las entradas con más de un año se eliminan del protocolo.

Hubo situaciones en las que fue necesario recuperar correspondencia antigua de hace cinco o incluso diez años. Y esto siempre se hizo no por curiosidad, sino para tomar decisiones comerciales complejas. Hubo un caso en el que, sin un historial de correspondencia, se habría tomado una decisión comercial equivocada.

¿Cómo se evalúa y destruye el valor de los documentos según los plazos de almacenamiento?

Para los documentos en papel, esto se hace de la forma tradicional habitual, como todos los demás. No lo hacemos con los electrónicos: déjeles que se los queden. La sentada está aquí. Hay beneficios. Todo el mundo está bien.

¿Qué perspectivas de desarrollo hay?

Ahora nuestro DO resuelve unos 30 problemas internos, algunos de los cuales enumeramos al principio del artículo. El DL también se utiliza para preparar las conferencias que celebramos dos veces al año para nuestros socios: el programa completo, todos los informes, todas las secciones paralelas, salas; todo esto se escribe en el DL y luego se descarga de él y se imprime el programa. está hecho.

Hay varias tareas más en camino para la DO, además de las que ya está resolviendo. Hay tareas que afectan a toda la empresa y otras únicas y raras, que sólo las necesita un departamento específico. Es necesario ayudarlos, lo que significa ampliar la "geografía" del uso del sistema dentro de 1C: ampliar el alcance de la aplicación y resolver los problemas de todos los departamentos. Esta sería la mejor prueba de rendimiento y confiabilidad. Me gustaría que el sistema funcionara con billones de registros, petabytes de información.

Fuente: habr.com

Añadir un comentario