Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

La 1C, folosim pe scară largă propriile dezvoltări pentru a organiza munca companiei. În special, „1C: Fluxul de documente 8”. Pe lângă managementul documentelor (după cum sugerează și numele), este și un modern ECM-sistem (Enterprise Content Management - managementul conținutului corporativ) cu o gamă largă de funcționalități - mail, calendare de lucru ale angajaților, organizarea accesului partajat la resurse (de exemplu, rezervarea sălilor de ședințe), urmărirea timpului, forum corporativ și multe altele.

Peste o mie de angajați folosesc managementul documentelor la 1C. Baza de date a devenit deja impresionantă (11 miliarde de înregistrări), ceea ce înseamnă că necesită îngrijire mai atentă și echipamente mai puternice.

Cum funcționează sistemul nostru, ce dificultăți întâmpinăm la întreținerea bazei de date și cum le rezolvăm (folosim MS SQL Server ca SGBD) - vă vom spune în articol.

Pentru cei care citesc despre produsele 1C pentru prima dată.
1C:Document Flow este o soluție de aplicație (configurare) implementată pe baza unui cadru de dezvoltare a aplicațiilor de afaceri - platforma 1C:Enterprise.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C


„1C: Document Flow 8” (abreviat DO) vă permite să automatizați lucrul cu documente într-o întreprindere. Unul dintre principalele instrumente pentru interacțiunea angajaților este e-mailul. Pe lângă corespondență, DO rezolvă și alte probleme:

  • Urmărirea timpului
  • Urmărirea absențelor angajaților
  • Cereri pentru curieri/transport
  • Calendarele de lucru ale angajaților
  • Înregistrarea corespondenței
  • Contacte angajaților (agenda de adrese)
  • Forum corporativ
  • Rezervare a camerei
  • Planificarea evenimentului
  • CRM
  • Lucru colectiv cu fișiere (cu salvarea versiunilor de fișiere)
  • etc

Intrăm în Managementul documentelor client slab (aplicație executabilă nativă) din Windows, Linux, macOS, client web (din browsere) și client mobil - in functie de situatie.

Și datorită celuilalt produs al nostru conectat la Document Flow - Sistem de interacțiune – noi direct în Document Flow primim funcționalitatea messengerului – chat-uri, apeluri audio și video (inclusiv apeluri de grup, care acum au devenit deosebit de importante, inclusiv de la un client mobil), schimb rapid de fișiere plus posibilitatea de a scrie chat bot care simplifică lucrul cu sistemul. Un alt avantaj al utilizării Sistemului de interacțiune (comparativ cu alți mesageri) este capacitatea de a conduce discuții contextuale legate de obiecte specifice Document Flow - documente, evenimente etc. Adică, sistemul de interacțiune este profund integrat cu aplicația țintă și nu acționează doar ca un „buton separat”.

Numărul de litere din DO a depășit deja 100 de milioane și, în general, există mai mult de 11 miliarde de înregistrări în DBMS. În total, sistemul folosește aproape 30 TB de stocare: volumul bazei de date este de 7,5 TB, fișierele pentru munca colectivă sunt stocate separat și ocupă încă 21 TB.

Dacă vorbim despre numere mai specifice, iată numărul de litere și fișiere în acest moment:

  • E-mailuri trimise – 14,7 milioane.
  • Scrisorile primite – 85,4 milioane.
  • Versiuni de fișiere – 70,8 milioane.
  • Documente interne – 30,6 mii.

DO are mai mult decât e-mail și fișiere. Mai jos sunt cifrele pentru alte obiecte contabile:

  • Rezervare săli de ședințe – 52
  • Rapoarte săptămânale – 153
  • Rapoarte zilnice – 628
  • Vize de aprobare – 11
  • Documente primite – 79
  • Documente de ieșire – 28
  • Înregistrări despre evenimente în calendarele de lucru ale utilizatorilor – 168
  • Cereri pentru curieri – 21
  • Contrapartide – 81
  • Înregistrări de lucru cu contrapărțile – 45
  • Persoane de contact ale contrapartidelor – 41
  • Evenimente – 10
  • Proiecte – 6
  • Sarcini ale angajaților – 245
  • Postări pe forum – 26
  • Mesaje de chat – 891 095
  • Procese de afaceri - 109 056. Interacțiunea dintre angajați are loc prin procese - aprobare, execuție, revizuire, înregistrare, semnare etc. Măsurăm durata proceselor, numărul de cicluri, numărul de participanți, numărul de returnări, numărul de solicitări de modificare a termenelor limită. Și aceste informații sunt foarte utile de analizat pentru a înțelege ce procese au loc în întreprindere și pentru a crește eficiența muncii în echipă între angajați.

Pe ce echipament procesăm toate acestea?

Aceste cifre indică un volum impresionant de sarcini, așa că ne-am confruntat cu nevoia de a aloca echipamente destul de productive pentru nevoile filialelor interne. În prezent, caracteristicile sale sunt următoarele: 38 de nuclee, 240 GB RAM, 26 TB discuri. Iată un tabel de servere:
Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

În viitor, intenționăm să creștem capacitatea echipamentului.

Cum merg lucrurile cu încărcarea serverului?

Activitatea în rețea nu a fost niciodată o problemă pentru noi sau clienții noștri. De regulă, punctul slab este procesorul și discurile, deoarece toată lumea știe deja cum să facă față lipsei de memorie. Iată capturi de ecran ale serverelor noastre de la Resource Monitor, care arată că nu avem nicio sarcină groaznică, este foarte modestă.

De exemplu, în captura de ecran de mai jos vedem un server SQL unde încărcarea procesorului este de 23%. Și acesta este un indicator foarte bun (pentru comparație: dacă sarcina se apropie de 70%, atunci, cel mai probabil, angajații vor observa încetiniri destul de semnificative în muncă).

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

A doua captură de ecran arată serverul de aplicații pe care rulează platforma 1C:Enterprise - servește doar sesiunile utilizatorilor. Aici sarcina procesorului este puțin mai mare - 38%, este netedă și calmă. Există unele încărcări de disc, dar este acceptabil.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

A treia captură de ecran arată un alt server 1C: Enterprise (este al doilea, avem două dintre ele în cluster). Doar precedentul deservește utilizatorii, iar roboții lucrează pe acesta. De exemplu, primesc corespondență, trimit documente, fac schimb de date, calculează drepturi etc. Toate aceste activități de fundal efectuează aproximativ 90-100 de locuri de muncă de fundal. Și acest server este încărcat foarte greu - 88%. Dar acest lucru nu afectează oamenii și implementează exact toată automatizarea pe care ar trebui să o facă Managementul documentelor.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Care sunt valorile pentru măsurarea performanței?

Avem un subsistem serios încorporat în filialele noastre pentru măsurarea indicatorilor de performanță și calcularea diferitelor metrici. Acest lucru este necesar pentru a înțelege atât în ​​momentul actual, cât și din perspectivă istorică ce se întâmplă în sistem, ce se înrăutățește, ce se îmbunătățește. Instrumentele de monitorizare - metrici și măsurători de timp - sunt incluse în livrarea standard a „1C: Document Flow 8”. Valorile necesită personalizare în timpul implementării, dar mecanismul în sine este standard.

Valorile sunt măsurători ale diferiților indicatori de afaceri în anumite momente (de exemplu, timpul mediu de livrare a corespondenței este de 10 minute).

Una dintre valori arată numărul de utilizatori activi din baza de date. În medie, sunt 1000-1400 dintre ele în timpul zilei. Graficul arată că la momentul capturii de ecran erau 2144 de utilizatori activi în baza de date.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Există mai mult de 30 de astfel de acțiuni, lista este sub tăietură.listă

  • Login Membri
  • Sign out
  • Se încarcă e-mail
  • Modificarea valabilității unui obiect
  • Modificarea drepturilor de acces
  • Schimbarea subiectului unui proces
  • Schimbarea grupului de lucru al unui obiect
  • Modificarea compoziției trusei
  • Schimbarea unui fișier
  • Import de fișiere
  • Trimiterea prin poștă
  • Mutarea fișierelor
  • Redirecționarea unei sarcini
  • Semnarea semnăturii electronice
  • Căutați după detalii
  • Căutare text integral
  • Primirea unui fișier
  • Întreruperea unui proces
  • Просмотр
  • Decriptare
  • Înregistrarea documentului
  • scanda
  • Se anulează marcarea ștergerii
  • Crearea unui obiect
  • Salvare pe disc
  • Începutul procesului
  • Ștergerea intrărilor din jurnalul utilizatorului
  • Eliminarea unei semnături electronice
  • Setarea unui semn de ștergere
  • Criptare
  • Exportați un folder

Cu o săptămână înainte, activitatea medie a utilizatorilor a crescut de o dată și jumătate (afișată cu roșu pe grafic) - acest lucru se datorează tranziției majorității angajaților la lucrul la distanță (datorită unor evenimente binecunoscute). De asemenea, numărul utilizatorilor activi a crescut de 3 ori (prezentat cu albastru pe captură de ecran), pe măsură ce angajații au început să folosească în mod activ telefoanele mobile: fiecare client mobil creează o conexiune la server. Acum, în medie, fiecare dintre angajații noștri are 2 conexiuni la server.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Pentru noi, ca administratori, acesta este un semnal că trebuie să fim mai atenți la problemele de performanță și să vedem dacă lucrurile s-au înrăutățit. Dar ne uităm la asta pe baza altor parametri. De exemplu, cum se modifică timpul de livrare a e-mailului pentru rutarea internă (indicată cu albastru în captura de ecran de mai jos). Vedem că a fost fluctuant până în acest an, dar acum este stabil - pentru noi acesta este un indicator că totul este în regulă cu sistemul.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

O altă măsură aplicată pentru noi este timpul mediu de așteptare pentru descărcarea scrisorilor de pe serverul de e-mail (indicat cu roșu în captură de ecran). În linii mari, cât timp va pluti scrisoarea pe internet înainte de a ajunge la angajatul nostru. Captura de ecran arată că nici această oră nu s-a schimbat în niciun fel recent. Există vârfuri izolate - dar nu sunt asociate cu întârzieri, ci cu faptul că timpul de pe serverele de mail este pierdut.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Sau, de exemplu, o altă măsurătoare (afișată cu albastru în captură de ecran) – actualizarea literelor dintr-un folder. Deschiderea unui folder de e-mail este o operațiune foarte comună și trebuie făcută rapid. Măsurăm cât de repede se realizează. Acest indicator este măsurat pentru fiecare client. Puteți vedea atât imaginea de ansamblu pentru companie, cât și dinamica, de exemplu, pentru un angajat individual. Captura de ecran arată că până în acest an metrica a fost dezechilibrată, apoi am făcut o serie de îmbunătățiri, iar acum nu se înrăutățește cu nimic – graficul este aproape plat.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Metricurile sunt practic un instrument al administratorului pentru monitorizarea sistemului, pentru a răspunde rapid la orice modificare a comportamentului sistemului. Captura de ecran arată valorile subsidiare interne pentru anul. Saltul în grafice se datorează faptului că ni s-au dat sarcini de dezvoltare a filialelor interne.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Iată o listă cu mai multe valori (sub tăietură).
Metrici

  • Activitatea utilizatorului
  • Utilizatori activi
  • Procese active
  • Numărul de fișiere
  • Dimensiunea fișierului (MB)
  • Numărul documentelor
  • Numărul de obiecte care trebuie trimise destinatarilor
  • Numărul de contrapărți
  • Sarcini neterminate
  • Timp mediu de așteptare pentru descărcarea e-mailurilor de pe serverul de e-mail în ultimele 10 minute
  • Buffer de date extern: numărul de fișiere
  • Chenar întârziat de la data curentă
  • Coadă lungă
  • Coada operațională
  • Vechimea contului brut prin rutare externă
  • Dimensiunea cozii de acceptare a rutare internă (coadă lungă)
  • Dimensiunea cozii de acceptare a rutare internă (coadă rapidă)
  • Timpul de livrare a corespondenței prin rutare internă ( coadă lungă)
  • Timpul de livrare a corespondenței prin rutare internă ( coadă rapidă)
  • Timpul de livrare a corespondenței prin rutare externă (medie)
  • Număr de documente Rezervare
  • Număr de documente Lipsa
  • Numărul de documente „Înregistrarea lucrului cu contrapartea”
  • Mail Update scrisorile dintr-un folder
  • Mail Deschiderea unei cărți de scrisoare
  • Mail Transferați o scrisoare într-un folder
  • Mail Navigați prin foldere

Sistemul nostru măsoară peste 150 de indicatori non-stop, dar nu toți pot fi monitorizați rapid. Acestea pot fi utile mai târziu, într-o perspectivă istorică, și vă puteți concentra pe cele mai importante pentru afacere.

Într-una dintre implementări, de exemplu, au fost selectați doar 5 indicatori. Clientul și-a stabilit un obiectiv de a crea un set minim de indicatori, dar în același timp astfel încât să acopere principalele scenarii de lucru. Ar fi nejustificat să se includă 150 de indicatori în certificatul de acceptare, deoarece chiar și în cadrul întreprinderii este dificil să se convină asupra indicatorilor considerați acceptabili. Și știau despre acești 5 indicatori și îi prezentaseră deja sistemului înainte de începerea proiectului de implementare, incluzându-i în documentația competiției: timpul de deschidere a unui card nu este mai mare de 3 secunde, timpul de finalizare a unei sarcini cu un fișier nu durează mai mult de 5 secunde etc. În filialele noastre aveam valori care reflectau foarte clar solicitarea inițială din specificațiile tehnice ale clientului.

Avem, de asemenea, o analiză de profil a măsurătorilor de performanță. Indicatorii de performanță sunt o înregistrare a duratei fiecărei operațiuni în desfășurare (scrierea unei scrisori în baza de date, trimiterea unei scrisori către un server de e-mail etc.). Acesta este folosit exclusiv de tehnicieni. Acumulăm o mulțime de indicatori de performanță în programul nostru. Măsurăm în prezent aproximativ 1500 de operațiuni cheie, care sunt împărțite în profile.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Unul dintre cele mai importante profiluri pentru noi este „Lista indicatorilor cheie ai corespondenței din perspectiva consumatorului”. Acest profil include, de exemplu, următorii indicatori:

  • Executarea comenzii: Selectați după etichetă
  • Deschiderea unui formular: Formular de listă
  • Executarea comenzii: Selectați după folder
  • Afișarea unei scrisori în zona de lectură
  • Salvarea unei scrisori în folderul preferat
  • Căutați litere după detalii
  • Crearea unei scrisori

Dacă vedem că metrica pentru un indicator de afaceri a devenit prea mare (de exemplu, scrisorile de la un anumit utilizator au început să sosească de foarte mult timp), începem să ne dăm seama și să trecem la măsurarea timpului operațiunilor tehnice. Avem o operațiune tehnică „Arhivarea scrisorilor pe un server de e-mail” - vedem că timpul pentru această operațiune a fost depășit pentru ultima perioadă. Această operație, la rândul său, este descompusă în alte operațiuni - de exemplu, stabilirea unei conexiuni cu un server de e-mail. Vedem că din anumite motive a devenit brusc foarte mare (avem toate măsurătorile pentru o lună - putem compara că săptămâna trecută a fost de 10 milisecunde, iar acum este de 1000 de milisecunde). Și înțelegem că ceva este stricat aici - trebuie să-l reparăm.

Cum menținem o bază de date atât de mare?

DO-ul nostru intern este un exemplu de proiect cu sarcină mare care funcționează. Să vorbim despre caracteristicile tehnice ale bazei de date.

Cât timp durează restructurarea tabelelor mari de baze de date?

Serverul SQL necesită întreținere periodică, punând tabelele în ordine. Într-un sens bun, acest lucru ar trebui făcut cel puțin o dată pe zi și chiar mai des pentru mesele cu cerere mare. Dar dacă baza de date este mare (și numărul nostru de înregistrări a depășit deja 11 miliarde), atunci a avea grijă de ea nu este ușor.

Am făcut o restructurare a mesei în urmă cu 6 ani, dar apoi a început să dureze atât de mult încât nu ne mai potrivim în intervalele de noapte. Și deoarece aceste operațiuni încarcă puternic serverul SQL, acesta nu poate servi eficient pe alți utilizatori.

Prin urmare, acum trebuie să folosim diverse trucuri. De exemplu, nu putem efectua aceste proceduri pe seturi complete de date. Trebuie să recurgeți la procedura Actualizare eșantion 500000 de rânduri - aceasta durează 14 minute. Nu actualizează statisticile pentru toate datele din tabel, ci selectează jumătate de milion de rânduri și le folosește pentru a calcula statisticile pe care le folosește pentru întregul tabel. Aceasta este o presupunere, dar suntem forțați să o facem, deoarece pentru un anumit tabel, colectarea statisticilor pentru întregul miliard de înregistrări va dura un timp inacceptabil de lung.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C
Am optimizat și alte operațiuni de întreținere făcându-le parțiale.

Întreținerea unui SGBD este în general o sarcină complexă. În cazul interacțiunii active între angajați, baza de date crește rapid, iar administratorilor devine din ce în ce mai dificil să o întrețină - actualizare statistică, defragmentare, indexare. Aici trebuie să aplicăm diferite strategii, știm bine să facem asta, avem experiență, o putem împărtăși.

Cum se implementează backup-ul cu astfel de volume?

O copie de rezervă completă DBMS este efectuată o dată pe zi, noaptea, una incrementală – la fiecare oră. De asemenea, un director de fișiere este creat în fiecare zi și este o parte a copiei de rezervă incrementale a stocării fișierelor.

Cât durează pentru a finaliza o copie de rezervă completă?

O copie de rezervă completă pe un hard disk este finalizată în trei ore, o copie de rezervă parțială într-o oră. Este nevoie de mai mult pentru a scrie pe bandă (un dispozitiv special care face o copie de rezervă pe o casetă specială stocată în afara biroului; se face o copie transferabilă pe bandă, care va fi păstrată dacă, de exemplu, camera serverului se arde). Backup-ul se face exact pe același server, ai cărui parametri erau mai mari - un server SQL cu încărcare procesor de 20%. La momentul copiei de rezervă, desigur, sistemul devine mult mai rău, dar este încă funcțional.

Verificăm pe noi înșine: cum este implementat 1C și cum este administrat: fluxul de documente în cadrul companiei 1C

Există deduplicare?

Deduplicarea Există fișiere, îl vom testa singuri și în curând va fi inclus în noua versiune de Document Management. De asemenea, testăm mecanismul de deduplicare a contrapartidei. Nu există nicio deduplicare a înregistrărilor la nivel de SGBD, deoarece aceasta nu este necesară. Platforma 1C:Enterprise stochează obiecte în DBMS și doar platforma poate fi responsabilă pentru consistența acestora.

Există noduri numai pentru citire?

Nu există noduri de citire (noduri de sistem dedicate care servesc celor care trebuie să primească orice date pentru citire). DO nu este un sistem contabil de pus pe un nod BI separat, dar există un nod separat pentru departamentul de dezvoltare, cu care se schimbă mesajele în format JSON, iar timpul de replicare tipic este de unități și zeci de secunde. Nodul este încă mic, are aproximativ 800 de milioane de înregistrări, dar crește rapid.

E-mailurile marcate pentru ștergere nu sunt șterse deloc?

Nu încă. Nu avem sarcina de a face baza mai ușoară. Au existat mai multe cazuri destul de grave când a fost necesar să se facă referire la literele marcate pentru ștergere, inclusiv 2009. De aceea am decis să păstrăm totul pentru moment. Dar când costul acestui lucru devine nejustificat, ne vom gândi la eliminare. Dar, dacă trebuie să eliminați complet o scrisoare separată din baza de date, astfel încât să nu existe urme, atunci acest lucru se poate face la cerere specială.

De ce să-l depozitați? Aveți statistici privind accesul la documente vechi?

Nu există statistici. Mai exact, este sub forma unui jurnal de utilizator, dar nu este stocat mult timp. Înregistrările mai vechi de un an sunt șterse din protocol.

Au fost situații în care a fost necesar să se recupereze corespondența veche de acum cinci sau chiar zece ani. Și acest lucru a fost întotdeauna făcut nu din curiozitate inactivă, ci pentru a lua decizii de afaceri complexe. A existat un caz în care, fără istoricul corespondenței, s-ar fi luat o decizie greșită de afaceri.

Cum se evaluează și se distruge valoarea documentelor în funcție de perioadele de depozitare?

Pentru documentele pe hârtie, acest lucru se face în mod tradițional obișnuit, ca toți ceilalți. Nu o facem pentru cele electronice - lăsați-i să le păstreze pentru ei. Sediul este aici. Există beneficii. Toată lumea este bine.

Ce perspective de dezvoltare există?

Acum DO-ul nostru rezolvă aproximativ 30 de probleme interne, dintre care unele le-am enumerat la începutul articolului. DL este, de asemenea, folosit pentru a pregăti conferințe pe care le ținem de două ori pe an pentru partenerii noștri: întregul program, toate rapoartele, toate secțiunile paralele, sălile - toate acestea sunt tastate în DL și apoi descărcate de pe acesta și un program tipărit. se face.

Mai sunt câteva sarcini pe drum pentru DO, în plus față de cele pe care deja le rezolvă. Există sarcini la nivel de companie și există unele unice și rare, necesare doar unui anumit departament. Este necesar să îi ajutăm, ceea ce înseamnă extinderea „geografiei” utilizării sistemului în cadrul 1C - extinderea domeniului de aplicare, rezolvarea problemelor tuturor departamentelor. Acesta ar fi cel mai bun test pentru performanță și fiabilitate. Aș dori să văd sistemul funcționând pe trilioane de înregistrări, petabytes de informații.

Sursa: www.habr.com

Adauga un comentariu