Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Hos 1C bruger vi i vid udstrækning vores egen udvikling til at organisere virksomhedens arbejde. I særdeleshed, "1C: Dokumentflow 8". Udover dokumenthåndtering (som navnet antyder), er det også en moderne ECM-system (Enterprise Content Management - corporate content management) med en bred vifte af funktionalitet - mail, medarbejderarbejdskalendere, organisering af delt adgang til ressourcer (for eksempel booking af mødelokaler), tidsregistrering, virksomhedsforum og meget mere.

Mere end tusind medarbejdere bruger dokumenthåndtering hos 1C. Databasen er allerede blevet imponerende (11 milliarder poster), hvilket betyder, at den kræver mere omhyggelig pleje og mere kraftfuldt udstyr.

Hvordan vores system fungerer, hvilke vanskeligheder vi støder på, når vi vedligeholder databasen, og hvordan vi løser dem (vi bruger MS SQL Server som DBMS) - vi fortæller dig i artiklen.

For dem, der læser om 1C-produkter for første gang.
1C:Document Flow er en applikationsløsning (konfiguration) implementeret på basis af en ramme til udvikling af forretningsapplikationer - 1C:Enterprise platformen.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden


"1C: Document Flow 8" (forkortet DO) giver dig mulighed for at automatisere arbejde med dokumenter i en virksomhed. Et af de vigtigste værktøjer til medarbejderinteraktion er e-mail. Udover mail løser DO også andre problemer:

  • Tidsregistrering
  • sporing af medarbejderes fravær
  • Ansøgninger om kurerer/transport
  • Medarbejdernes arbejdskalendere
  • Registrering af korrespondance
  • Medarbejderkontakter (adressebog)
  • Virksomhedsforum
  • Værelsesreservation
  • Event Planlægning
  • CRM
  • Samlet arbejde med filer (med lagring af filversioner)
  • etc.

Vi går ind i Dokumenthåndtering tynd klient (native eksekverbart program) fra Windows, Linux, macOS, webklient (fra browsere) og mobil klient - afhængig af situationen.

Og takket være vores andet produkt forbundet med Document Flow - Interaktionssystem – vi modtager direkte i Document Flow messengerens funktionalitet – chats, lyd- og videoopkald (inklusive gruppeopkald, som nu er blevet særligt vigtigt, bl.a. fra en mobilklient), hurtig filudveksling plus muligheden for at skrive chatbots, der forenkler arbejder med systemet. En anden fordel ved at bruge interaktionssystemet (sammenlignet med andre budbringere) er evnen til at gennemføre kontekstuelle diskussioner knyttet til specifikke Document Flow-objekter - dokumenter, begivenheder osv. Det vil sige, at interaktionssystemet er dybt integreret med målapplikationen og ikke kun fungerer som en "separat knap".

Antallet af bogstaver i vores DO har allerede oversteget 100 millioner, og generelt er der mere end 11 milliarder poster i DBMS. I alt bruger systemet næsten 30 TB lagerplads: databasevolumen er 7,5 TB, filer til kollektivt arbejde gemmes separat og optager yderligere 21 TB.

Hvis vi taler om mere specifikke tal, er her antallet af bogstaver og filer i øjeblikket:

  • Udgående e-mails – 14,7 mio.
  • Indgående breve – 85,4 mio.
  • Filversioner – 70,8 mio.
  • Interne dokumenter – 30,6 tusind.

DO har mere end bare mail og filer. Nedenfor ses tallene for andre regnskabsobjekter:

  • Booking af mødelokaler – 52
  • Ugentlige rapporter – 153
  • Daglige rapporter – 628
  • Godkendelsesvisa – 11
  • Indgående dokumenter – 79
  • Udgående dokumenter – 28
  • Indgange om begivenheder i brugerens arbejdskalendere – 168
  • Ansøgninger til kurer – 21
  • Modparter – 81
  • Optegnelser over arbejde med modparter – 45
  • Kontaktpersoner for modparter – 41
  • Begivenheder – 10
  • Projekter – 6
  • Medarbejderopgaver – 245
  • Forumindlæg – 26
  • Chatbeskeder – 891 095
  • Forretningsprocesser - 109. Interaktion mellem medarbejdere sker gennem processer - godkendelse, udførelse, gennemgang, registrering, underskrift mv. Vi måler varigheden af ​​processer, antallet af cyklusser, antallet af deltagere, antallet af returneringer, antallet af anmodninger om ændring af deadlines. Og denne information er meget nyttig at analysere for at forstå, hvilke processer der finder sted i virksomheden og øge effektiviteten af ​​medarbejdersamarbejdet.

Hvilket udstyr behandler vi alt dette på?

Disse tal indikerer en imponerende mængde opgaver, så vi stod over for behovet for at allokere ret produktivt udstyr til behovene i interne datterselskaber. I øjeblikket er dens egenskaber som følger: 38 kerner, 240 GB RAM, 26 TB diske. Her er en tabel over servere:
Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

I fremtiden planlægger vi at øge udstyrets kapacitet.

Hvordan går det med serverbelastningen?

Netværksaktivitet har aldrig været et problem for os eller vores kunder. Som regel er det svage punkt processoren og diskene, fordi alle allerede ved, hvordan man håndterer mangel på hukommelse. Her er skærmbilleder af vores servere fra Resource Monitor, som viser, at vi ikke har nogen frygtelig belastning, den er meget beskeden.

For eksempel ser vi i skærmbilledet nedenfor en SQL-server, hvor CPU-belastningen er 23%. Og dette er en meget god indikator (til sammenligning: hvis belastningen nærmer sig 70%, så vil medarbejdere højst sandsynligt observere ret betydelige afmatninger i arbejdet).

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Det andet skærmbillede viser applikationsserveren, som 1C:Enterprise-platformen kører på - den betjener kun brugersessioner. Her er processorbelastningen lidt højere - 38%, den er glat og rolig. Der er en vis diskindlæsning, men det er acceptabelt.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Det tredje skærmbillede viser en anden 1C:Enterprise-server (det er den anden, vi har to af dem i klyngen). Kun den forrige betjener brugerne, og robotter arbejder på denne. De modtager fx post, rutedokumenter, udveksler data, beregner rettigheder mv. Alle disse baggrundsaktiviteter udfører cirka 90-100 baggrundsjob. Og denne server er meget tungt belastet - 88%. Men dette påvirker ikke mennesker, og det implementerer præcis al den automatisering, som Document Management bør gøre.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Hvad er målene for at måle ydeevne?

Vi har et seriøst undersystem indbygget i vores datterselskaber til måling af præstationsindikatorer og beregning af forskellige metrikker. Dette er nødvendigt for at forstå både på nuværende tidspunkt og fra et historisk perspektiv, hvad der sker i systemet, hvad der bliver værre, hvad der bliver bedre. Overvågningsværktøjer - metrik og tidsmålinger - er inkluderet i standardleverancen af ​​"1C: Document Flow 8". Metrikken kræver tilpasning under implementeringen, men selve mekanismen er standard.

Metrics er målinger af forskellige forretningsindikatorer på bestemte tidspunkter (f.eks. er den gennemsnitlige postleveringstid 10 minutter).

En af metrikken viser antallet af aktive brugere i databasen. I gennemsnit er der 1000-1400 af dem i løbet af dagen. Grafen viser, at der på tidspunktet for skærmbilledet var 2144 aktive brugere i databasen.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Der er mere end 30 sådanne handlinger, listen er under skæringen.liste

  • Log på
  • Log ud
  • Indlæser mail
  • Ændring af et objekts gyldighed
  • Ændring af adgangsrettigheder
  • Ændring af emnet for en proces
  • Ændring af et objekts arbejdsgruppe
  • Ændring af sættets sammensætning
  • Ændring af en fil
  • Filimport
  • Sendes med mail
  • Flytter filer
  • Omdirigere en opgave
  • Underskrift af den elektroniske signatur
  • Søg efter detaljer
  • Fuld tekstsøgning
  • Modtagelse af en fil
  • Afbryde en proces
  • Просмотр
  • Dekryptering
  • Dokumentregistrering
  • scanning
  • Fjern markering af sletning
  • Oprettelse af et objekt
  • Gemmer på disk
  • Start af processen
  • Sletning af brugerlogposter
  • Fjernelse af en elektronisk signatur
  • Indstilling af et slettemærke
  • Kryptering
  • Eksporter en mappe

Forinden sidste uge steg vores gennemsnitlige brugeraktivitet med halvanden gang (vist med rødt på grafen) - det skyldes de fleste medarbejderes overgang til fjernarbejde (på grund af kendte begivenheder). Også antallet af aktive brugere steg med 3 gange (vist med blåt på skærmbilledet), da medarbejderne begyndte at bruge mobiltelefoner aktivt: hver mobilklient opretter en forbindelse til serveren. I øjeblikket har hver af vores medarbejdere i gennemsnit 2 forbindelser til serveren.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

For os, som administratorer, er dette et signal om, at vi skal være mere opmærksomme på ydeevneproblemer og se, om tingene er blevet værre. Men vi ser på dette ud fra andre parametre. For eksempel hvordan postleveringstiden for intern routing ændres (vist med blåt på skærmbilledet nedenfor). Vi ser, at det var svingende indtil i år, men nu er det stabilt - for os er det en indikator på, at alt er i orden med systemet.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

En anden anvendt metrik for os er den gennemsnitlige ventetid på at downloade breve fra mailserveren (vist med rødt på skærmbilledet). Groft sagt, hvor længe vil brevet flyde rundt på internettet, før det når vores medarbejder. Skærmbilledet viser, at denne tid heller ikke har ændret sig på nogen måde for nylig. Der er isolerede spidser - men de er ikke forbundet med forsinkelser, men med at tiden på mailserverne går tabt.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Eller for eksempel en anden metrik (vist med blåt på skærmbilledet) – opdatering af bogstaver i en mappe. Åbning af en mailmappe er en meget almindelig handling og skal gøres hurtigt. Vi måler, hvor hurtigt det udføres. Denne indikator måles for hver klient. Du kan både se det overordnede billede for virksomheden og dynamikken for eksempelvis en enkelt medarbejder. Skærmbilledet viser, at indtil i år var metrikken ubalanceret, så lavede vi en række forbedringer, og nu bliver det ikke værre – grafen er næsten flad.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Metrics er dybest set et administratorværktøj til at overvåge systemet, til hurtigt at reagere på eventuelle ændringer i systemets adfærd. Skærmbilledet viser interne datterselskabers målinger for året. Springet i graferne skyldes, at vi fik opgaver med at udvikle interne datterselskaber.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Her er en liste over nogle flere målinger (under snittet).
Metrics

  • Brugeraktivitet
  • Aktive brugere
  • Aktive processer
  • Antal filer
  • Filstørrelse (MB)
  • Antal dokumenter
  • Antal objekter, der skal sendes til modtagere
  • Antal modparter
  • Ufærdige opgaver
  • Gennemsnitlig ventetid for download af e-mails fra mailserveren i løbet af de sidste 10 minutter
  • Ekstern databuffer: antal filer
  • Forskydende grænse fra den aktuelle dato
  • Lang kø
  • Operationel kø
  • Rå kontoalder ved ekstern routing
  • Intern routing-acceptkøstørrelse (lang kø)
  • Intern routing-acceptkøstørrelse (hurtig kø)
  • Postleveringstid via intern routing (lang kø)
  • Postleveringstid via intern routing (hurtig kø)
  • Postleveringstid via ekstern routing (gennemsnit)
  • Antal dokumenter Reservation
  • Antal dokumenter Udeblivelse
  • Antal dokumenter "Optegnelse over arbejde med modpart"
  • Mail Opdater breve i en mappe
  • Mail Åbning af et brevkort
  • Mail Overfør et brev til en mappe
  • Mail Naviger gennem mapper

Vores system måler mere end 150 indikatorer døgnet rundt, men ikke alle kan hurtigt overvåges. De kan komme til nytte senere, i et eller andet historisk perspektiv, og du kan fokusere på de vigtigste for virksomheden.

I en af ​​implementeringerne blev der for eksempel kun udvalgt 5 indikatorer. Kunden satte sig et mål om at skabe et minimumssæt af indikatorer, men samtidig sådan at det dækkede de vigtigste arbejdsscenarier. Det vil være uberettiget at medtage 150 indikatorer i acceptbeviset, fordi det selv inden for virksomheden er vanskeligt at blive enige om, hvilke indikatorer der anses for acceptable. Og de kendte til disse 5 indikatorer og havde allerede præsenteret dem for systemet før starten af ​​implementeringsprojektet, inklusive dem i konkurrencedokumentationen: tid til at åbne et kort ikke mere end 3 sekunder, tid til at fuldføre en opgave med et filnr. mere end 5 sekunder osv. I vores datterselskaber havde vi målinger, der meget klart afspejlede den oprindelige anmodning fra kundens tekniske specifikationer.

Vi har også en profilanalyse af præstationsmålinger. Ydelsesindikatorer er en registrering af varigheden af ​​hver igangværende operation (at skrive et brev til databasen, sende et brev til en mailserver osv.). Dette bruges udelukkende af teknikere. Vi samler en masse præstationsindikatorer i vores program. Vi måler i øjeblikket cirka 1500 nøgleoperationer, som er opdelt i profiler.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

En af de vigtigste profiler for os er "Liste over nøgleindikatorer for post fra et forbrugerperspektiv." Denne profil indeholder for eksempel følgende indikatorer:

  • Udførelse af kommandoen: Vælg efter tag
  • Åbning af en formular: Listeformular
  • Udførelse af kommandoen: Vælg efter mappe
  • Viser et bogstav i læseområdet
  • Gem et brev i din yndlingsmappe
  • Søg efter bogstaver efter detaljer
  • Oprettelse af et brev

Hvis vi ser, at metrikken for en eller anden forretningsindikator er blevet for stor (for eksempel er breve fra en bestemt bruger begyndt at ankomme i meget lang tid), begynder vi at finde ud af det og vende os til at måle tidspunktet for tekniske operationer. Vi har en teknisk operation "Arkivering af breve på en mailserver" - vi ser, at tiden for denne operation er overskredet for den sidste periode. Denne operation dekomponeres til gengæld i andre operationer - for eksempel oprettelse af en forbindelse med en mailserver. Vi ser, at den af ​​en eller anden grund pludselig er blevet meget stor (vi har alle målene i en måned – vi kan sammenligne, at den i sidste uge var 10 millisekunder, og nu er den 1000 millisekunder). Og vi forstår, at noget er gået i stykker her – det skal vi ordne.

Hvordan vedligeholder vi så stor en database?

Vores interne DO er et eksempel på et virkeligt fungerende højbelastningsprojekt. Lad os tale om de tekniske funktioner i dens database.

Hvor lang tid tager det at omstrukturere store databasetabeller?

SQL-serveren kræver periodisk vedligeholdelse, hvilket bringer tabellerne i orden. På en god måde bør dette gøres mindst en gang om dagen, og endnu oftere for høj-efterspørgsel borde. Men hvis databasen er stor (og vores antal poster allerede har oversteget 11 milliarder), så er det ikke let at tage sig af det.

Vi lavede en bordomlægning for 6 år siden, men så begyndte det at tage så lang tid, at vi ikke længere passede ind i de natlige intervaller. Og da disse operationer belaster SQL-serveren meget, kan den ikke effektivt betjene andre brugere.

Derfor skal vi nu bruge forskellige tricks. For eksempel kan vi ikke udføre disse procedurer på komplette datasæt. Du skal ty til proceduren for Update Sample 500000 rækker - dette tager 14 minutter. Den opdaterer ikke statistik på alle data i tabellen, men udvælger en halv million rækker og bruger dem til at beregne statistik, som den bruger for hele tabellen. Dette er en antagelse, men vi er tvunget til at gøre det, for for en bestemt tabel vil det tage uacceptabelt lang tid at indsamle statistik på hele milliarden.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden
Vi optimerede også andre vedligeholdelsesoperationer ved at gøre dem delvise.

Vedligeholdelse af et DBMS er generelt en vanskelig opgave. Ved aktiv interaktion mellem medarbejdere vokser databasen hurtigt, og det bliver stadig sværere for administratorer at vedligeholde den - opdatering af statistik, defragmentering, indeksering. Her skal vi anvende forskellige strategier, vi ved godt, hvordan vi gør dette, vi har erfaring, vi kan dele det.

Hvordan implementeres backup med sådanne mængder?

En fuld DBMS-sikkerhedskopi udføres én gang om dagen om natten, en trinvis én – hver time. Der oprettes også en filmappe hver dag, og det er en del af den trinvise backup af fillageret.

Hvor lang tid tager det at fuldføre en fuld backup?

En fuld sikkerhedskopiering til en harddisk er færdig på tre timer, en delvis backup på en time. Det tager længere tid at skrive til bånd (en speciel enhed, der laver en sikkerhedskopi til en speciel kassette, der opbevares uden for kontoret; der laves en overførbar kopi til båndet, som vil blive bevaret, hvis f.eks. serverrummet brænder ned). Sikkerhedskopieringen er lavet på nøjagtig den samme server, hvis parametre var højere - en SQL-server med 20% processorbelastning. På tidspunktet for backup bliver systemet selvfølgelig meget dårligere, men det er stadig funktionelt.

Vi tjekker på os selv: hvordan 1C implementeres, og hvordan det administreres: Dokumentflow i 1C-virksomheden

Er der deduplikation?

Deduplikation Der er filer, vi tester det på os selv, og snart vil det blive inkluderet i den nye version af Document Management. Vi tester også modparts deduplikeringsmekanismen. Der er ingen deduplikering af poster på DBMS-niveau, da dette ikke er nødvendigt. 1C:Enterprise-platformen gemmer objekter i DBMS, og kun platformen kan være ansvarlig for deres konsistens.

Er der skrivebeskyttede noder?

Der er ingen læseknudepunkter (dedikerede systemknudepunkter, der betjener dem, der har brug for at modtage data til læsning). DO er ikke et regnskabssystem at sætte på en separat BI-node, men der er en separat node til udviklingsafdelingen, hvormed beskeder udveksles i JSON-format, og den typiske replikeringstid er enheder og titusinder af sekunder. Noden er stadig lille, den har omkring 800 millioner poster, men den vokser hurtigt.

Er e-mails markeret til sletning slet ikke slettet?

Ikke endnu. Vi har ikke til opgave at gøre basen lettere. Der var flere ret alvorlige tilfælde, hvor det var nødvendigt at henvise til breve markeret til sletning, herunder 2009. Derfor besluttede vi at beholde alt indtil videre. Men når omkostningerne ved dette bliver uberettigede, vil vi tænke på fjernelse. Men hvis du har brug for at fjerne et separat brev fra databasen helt, så der ikke er spor, så kan dette gøres efter særlig anmodning.

Hvorfor gemme det? Har du statistik over adgang til gamle dokumenter?

Der er ingen statistik. Mere præcist er det i form af en brugerlog, men det gemmes ikke længe. Indtastninger, der er ældre end et år, slettes fra protokollen.

Der var situationer, hvor det var nødvendigt at hente gammel korrespondance fra fem eller endda ti år siden. Og dette blev altid gjort ikke af inaktiv nysgerrighed, men for at træffe komplekse forretningsbeslutninger. Der var et tilfælde, hvor der uden korrespondancehistorik ville være blevet truffet en forkert forretningsbeslutning.

Hvordan vurderes og destrueres værdien af ​​dokumenter i forhold til opbevaringsperioder?

For papirdokumenter sker dette på den sædvanlige traditionelle måde, ligesom alle andre. Vi gør det ikke for elektroniske - lad dem beholde dem for sig selv. Sidden er her. Der er fordele. Alle har det godt.

Hvilke udviklingsmuligheder er der?

Nu løser vores DO omkring 30 interne problemer, nogle af dem har vi listet i begyndelsen af ​​artiklen. DL'en bruges også til at forberede konferencer, som vi afholder to gange om året for vores partnere: hele programmet, alle rapporter, alle parallelle sektioner, haller - alt dette skrives op i DL'en og downloades fra det, og et trykt program er lavet.

Der er flere opgaver på vej for DO, ud over dem, som den allerede er ved at løse. Der er virksomhedsdækkende opgaver, og der er unikke og sjældne opgaver, som kun er nødvendige for en bestemt afdeling. Det er nødvendigt at hjælpe dem, hvilket betyder at udvide "geografien" for at bruge systemet inden for 1C - udvide anvendelsesområdet, løse problemerne i alle afdelinger. Dette ville være den bedste test for ydeevne og pålidelighed. Jeg ville gerne se systemet arbejde på billioner af poster, petabytes af information.

Kilde: www.habr.com

Tilføj en kommentar