Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

U 1C naširoko koristimo vlastite razvoje za organizaciju rada kompanije. posebno, "1C: Tok dokumenata 8". Pored upravljanja dokumentima (kao što i samo ime govori), on je i moderan ECM-sistem (Enterprise Content Management - upravljanje korporativnim sadržajem) sa širokim spektrom funkcionalnosti - pošta, radni kalendari zaposlenih, organizovanje zajedničkog pristupa resursima (na primer, rezervacija sala za sastanke), praćenje vremena, korporativni forum i još mnogo toga.

Više od hiljadu zaposlenih koristi upravljanje dokumentima u 1C. Baza podataka je već postala impresivna (11 milijardi zapisa), što znači da je potrebna pažljivija njega i snažnija oprema.

Kako naš sistem funkcionira, na koje poteškoće nailazimo pri održavanju baze podataka i kako ih rješavamo (koristimo MS SQL Server kao DBMS) - reći ćemo vam u članku.

Za one koji prvi put čitaju o 1C proizvodima.
1C:Document Flow je aplikativno rješenje (konfiguracija) implementirano na bazi okvira za razvoj poslovnih aplikacija - platforme 1C:Enterprise.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C


„1C: Tok dokumenata 8“ (skraćeno DO) omogućava vam automatizaciju rada sa dokumentima u preduzeću. Jedan od glavnih alata za interakciju zaposlenih je e-pošta. Osim pošte, DO rješava i druge probleme:

  • Praćenje vremena
  • Praćenje odsustva zaposlenih
  • Prijave za kurire/transport
  • Radni kalendari zaposlenih
  • Registracija prepiske
  • Kontakti zaposlenih (Adresar)
  • Korporativni forum
  • Rezervacija sobe
  • Planiranje događaja
  • CRM
  • Kolektivni rad sa fajlovima (sa čuvanjem verzija fajlova)
  • i drugi.

Ulazimo u Upravljanje dokumentima tanki klijent (nativna izvršna aplikacija) iz Windows, Linux, macOS, web klijent (iz pretraživača) i mobilni klijent - zavisno od situacije.

I zahvaljujući našem drugom proizvodu povezanom s Document Flow - Interakcioni sistem – mi direktno u Document Flow-u primamo funkcionalnost messengera – chatove, audio i video pozive (uključujući grupne pozive, što je sada postalo posebno važno, uključujući i sa mobilnog klijenta), brzu razmjenu datoteka plus mogućnost pisanja chat botova koji pojednostavljuju rad sa sistemom. Još jedna prednost korištenja Interakcionog sistema (u poređenju sa drugim glasnicima) je mogućnost vođenja kontekstualnih diskusija vezanih za specifične objekte Toka dokumenata - dokumente, događaje itd. Odnosno, Interakcioni sistem je duboko integrisan sa ciljnom aplikacijom i ne deluje samo kao „zasebno dugme“.

Broj slova u našem DO je već premašio 100 miliona, a generalno postoji više od 11 milijardi zapisa u DBMS-u. Ukupno, sistem koristi skoro 30 TB prostora za skladištenje: volumen baze podataka je 7,5 TB, fajlovi za kolektivni rad se pohranjuju odvojeno i zauzimaju još 21 TB.

Ako govorimo o konkretnijim brojevima, evo trenutnog broja slova i datoteka:

  • Odlaznih mejlova – 14,7 miliona.
  • Pristigla pisma – 85,4 miliona.
  • Verzije fajlova – 70,8 miliona.
  • Interna dokumenta – 30,6 hiljada.

DO ima više od pošte i datoteka. Ispod su brojke za ostale računovodstvene objekte:

  • Rezervacija sala za sastanke – 52
  • Sedmični izvještaji – 153
  • Dnevni izvještaji – 628
  • Odobrene vize – 11
  • Pristigla dokumenta – 79
  • Odlaznih dokumenata – 28
  • Unosi o događajima u radnim kalendarima korisnika – 168
  • Prijave za kurire – 21
  • Ugovorne strane – 81
  • Evidencija o radu sa ugovornim stranama – 45
  • Kontakt osobe ugovornih strana – 41
  • Događaji – 10
  • Projekti – 6
  • Zadaci zaposlenih – 245
  • Objave na forumu – 26
  • Chat poruke – 891 095
  • Poslovni procesi - 109 056. Interakcija između zaposlenih se odvija kroz procese - odobravanje, izvršenje, pregled, registracija, potpisivanje itd. Mjerimo trajanje procesa, broj ciklusa, broj učesnika, broj povrataka, broj zahtjeva za promjenu rokova. I ove informacije su veoma korisne za analizu kako bi se razumelo koji se procesi odvijaju u preduzeću i povećala efikasnost saradnje zaposlenih.

Na kojoj opremi sve ovo obrađujemo?

Ove brojke ukazuju na impresivan obim poslova, pa smo se suočili sa potrebom da za potrebe internih podružnica izdvojimo prilično produktivnu opremu. Trenutno su njegove karakteristike sljedeće: 38 jezgara, 240 GB RAM-a, 26 TB diskova. Evo tabele servera:
Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

U budućnosti planiramo povećanje kapaciteta opreme.

Kako stoje stvari sa opterećenjem servera?

Mrežna aktivnost nikada nije bila problem za nas ili naše klijente. U pravilu, slaba tačka su procesor i diskovi, jer svi već znaju kako se nositi s nedostatkom memorije. Evo snimka ekrana naših servera sa Resource Monitor-a koji pokazuju da nemamo strašno opterećenje, vrlo je skromno.

Na primjer, na slici ispod vidimo SQL server gdje je opterećenje CPU-a 23%. I ovo je vrlo dobar pokazatelj (za poređenje: ako se opterećenje približi 70%, onda će, najvjerovatnije, zaposlenici primijetiti prilično značajna usporavanja u radu).

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Druga snimka ekrana prikazuje server aplikacija na kojem radi platforma 1C:Enterprise - on opslužuje samo korisničke sesije. Ovdje je opterećenje procesora nešto veće - 38%, glatko je i mirno. Postoji određeno učitavanje diska, ali je prihvatljivo.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Treći screenshot prikazuje još jedan 1C:Enterprise server (to je drugi, imamo ih dva u klasteru). Samo prethodni služi korisnicima, a na ovom rade roboti. Na primjer, primaju poštu, usmjeravaju dokumente, razmjenjuju podatke, izračunavaju prava itd. Sve ove pozadinske aktivnosti obavljaju otprilike 90-100 pozadinskih poslova. I ovaj server je veoma opterećen - 88%. Ali to ne utiče na ljude, i implementira tačno svu automatizaciju koju bi upravljanje dokumentima trebalo da uradi.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Koje su metrike za mjerenje performansi?

Imamo ozbiljan podsistem ugrađen u naše podružnice za mjerenje indikatora učinka i izračunavanje različitih metrika. Ovo je neophodno kako bi se u sadašnjem trenutku i iz istorijske perspektive shvatilo šta se dešava u sistemu, šta je sve gore, šta sve bolje. Alati za praćenje - metrika i mjerenja vremena - uključeni su u standardnu ​​isporuku "1C: Tok dokumenata 8". metrika zahtijeva prilagođavanje tokom implementacije, ali sam mehanizam je standardan.

Metrike su mjerenja različitih poslovnih indikatora u određenim vremenskim trenucima (na primjer, prosječno vrijeme isporuke pošte je 10 minuta).

Jedna od metrika pokazuje broj aktivnih korisnika u bazi podataka. U prosjeku ih ima 1000-1400 u toku dana. Grafikon pokazuje da je u trenutku snimanja ekrana bilo 2144 aktivnih korisnika u bazi podataka.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Ovakvih akcija ima više od 30, spisak je pod rezom.lista

  • Prijavite se u sistem
  • Odjaviti se
  • Učitavanje pošte
  • Promjena valjanosti objekta
  • Promjena prava pristupa
  • Promjena predmeta procesa
  • Promjena radne grupe objekta
  • Promjena sastava kompleta
  • Promjena fajla
  • Uvoz fajla
  • Slanje poštom
  • Premještanje fajlova
  • Preusmjeravanje zadatka
  • Potpisivanje elektronskog potpisa
  • Traži po detaljima
  • Pretraživanje cijelog teksta
  • Primanje fajla
  • Prekidanje procesa
  • Pogled
  • Dešifrovanje
  • Registracija dokumenta
  • Skeniraj
  • Uklanjanje oznake brisanja
  • Kreiranje objekta
  • Pohranjivanje na disk
  • Početak procesa
  • Brisanje unosa korisničkog dnevnika
  • Uklanjanje elektronskog potpisa
  • Postavljanje oznake za brisanje
  • Enkripcija
  • Izvezite folder

Pretprošle sedmice, naša prosječna aktivnost korisnika porasla je za jedan i po puta (na grafikonu je prikazano crvenom bojom) - to je zbog prelaska većine zaposlenih na rad na daljinu (zbog dobro poznatih događaja). Takođe, broj aktivnih korisnika se povećao za 3 puta (prikazano plavom bojom na snimku ekrana), pošto su zaposleni počeli aktivno da koriste mobilne telefone: svaki mobilni klijent kreira vezu sa serverom. Sada, u prosjeku, svaki naš zaposlenik ima 2 konekcije na server.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Za nas, kao administratore, ovo je signal da moramo biti pažljiviji prema problemima s performansama i vidjeti jesu li se stvari pogoršale. Ali mi na ovo gledamo na osnovu drugih parametara. Na primjer, kako se mijenja vrijeme isporuke pošte za interno usmjeravanje (prikazano plavom bojom na slici ispod). Vidimo da je do ove godine oscilirao, ali sada je stabilan - za nas je to pokazatelj da je sve u redu sa sistemom.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Još jedna primijenjena metrika za nas je prosječno vrijeme čekanja za preuzimanje pisama sa servera pošte (prikazano crvenom bojom na snimku ekrana). Grubo govoreći, koliko dugo će pismo lebdjeti internetom prije nego što stigne do našeg zaposlenika. Snimak ekrana pokazuje da se ovo vrijeme također nije promijenilo ni na koji način u posljednje vrijeme. Postoje izolovani skokovi - ali oni nisu povezani sa kašnjenjima, već sa činjenicom da se gubi vreme na serverima pošte.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Ili, na primjer, drugi pokazatelj (prikazano plavom bojom na snimku ekrana) – ažuriranje slova u folderu. Otvaranje fascikle za poštu je vrlo uobičajena operacija i mora se obaviti brzo. Mjerimo koliko se brzo izvodi. Ovaj indikator se mjeri za svakog klijenta. Možete vidjeti i ukupnu sliku za kompaniju i dinamiku, na primjer, za pojedinog zaposlenika. Snimak ekrana pokazuje da je do ove godine metrika bila neuravnotežena, zatim smo napravili niz poboljšanja, a sada se ne pogoršava – grafik je skoro ravan.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Metrika je u osnovi administratorsko sredstvo za nadgledanje sistema, kako bi se brzo odgovorilo na bilo kakve promjene u ponašanju sistema. Snimak ekrana prikazuje interne metrike podružnice za godinu. Skok u grafikonima je zbog činjenice da smo dobili zadatak da razvijemo interne podružnice.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Evo liste još nekih metrika (u nastavku).
metrika

  • Aktivnost korisnika
  • Aktivni korisnici
  • Aktivni procesi
  • Broj fajlova
  • Veličina datoteke (MB)
  • Broj dokumenata
  • Broj objekata koji se šalju primaocima
  • Broj ugovornih strana
  • Nedovršeni zadaci
  • Prosječno vrijeme čekanja za preuzimanje e-pošte sa servera e-pošte u posljednjih 10 minuta
  • Eksterni bafer podataka: broj datoteka
  • Zaostala granica od trenutnog datuma
  • Dugačak red
  • Operativni red
  • Neobrađena starost računa eksternim usmjeravanjem
  • Veličina reda za prihvaćanje internog usmjeravanja (dugački red)
  • Veličina reda za prihvatanje internog usmjeravanja (brzi red)
  • Vrijeme isporuke pošte putem internog usmjeravanja (dugačak red)
  • Vrijeme isporuke pošte putem internog rutiranja (brzi red čekanja)
  • Vrijeme isporuke pošte putem eksternog rutiranja (prosječno)
  • Broj dokumenata Rezervacija
  • Broj dokumenata Odsustvo
  • Broj dokumenata “Evidencija o radu sa drugom stranom”
  • Mail Ažuriraj slova u folderu
  • Mail Otvaranje pismonosne kartice
  • Mail Prenesite pismo u fasciklu
  • Mail Kretanje kroz foldere

Naš sistem mjeri više od 150 indikatora XNUMX sata dnevno, ali se svi ne mogu brzo pratiti. Možda će vam kasnije, u nekoj istorijskoj perspektivi, dobro doći, a vi se možete fokusirati na one najvažnije za posao.

U jednoj od implementacija, na primjer, odabrano je samo 5 indikatora. Kupac je postavio cilj da kreira minimalan skup indikatora, ali istovremeno takav da pokriva glavne scenarije rada. Bilo bi neopravdano uključiti 150 indikatora u potvrdu o prihvatanju, jer se čak i unutar preduzeća teško dogovoriti koji indikatori se smatraju prihvatljivim. I oni su znali za ovih 5 indikatora i već su ih predstavili sistemu prije početka implementacionog projekta, uključujući ih u konkursnu dokumentaciju: vrijeme za otvaranje kartice ne više od 3 sekunde, vrijeme za završetak zadatka sa fajlom br. više od 5 sekundi, itd. U našim podružnicama imali smo metriku koja je vrlo jasno odražavala prvobitni zahtjev iz tehničkih specifikacija kupca.

Takođe imamo analizu profila merenja performansi. Indikatori učinka su zapis trajanja svake operacije koja je u toku (pisanje pisma u bazu podataka, slanje pisma serveru pošte, itd.). Ovo koriste isključivo tehničari. U našem programu akumuliramo mnogo pokazatelja učinka. Trenutno mjerimo oko 1500 ključnih operacija koje su podijeljene u profile.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Jedan od najvažnijih profila za nas je “Lista ključnih indikatora pošte iz perspektive potrošača”. Ovaj profil uključuje, na primjer, sljedeće indikatore:

  • Izvršavanje naredbe: Odaberite po oznaci
  • Otvaranje obrasca: Obrazac liste
  • Izvršavanje naredbe: Odaberite po folderu
  • Prikazivanje slova u području za čitanje
  • Čuvanje pisma u vaš omiljeni folder
  • Traži slova po detaljima
  • Kreiranje pisma

Ako vidimo da je metrika za neki poslovni indikator postala prevelika (na primjer, pisma određenog korisnika su počela da stižu već jako dugo), počinjemo to shvaćati i prelazimo na mjerenje vremena tehničkih operacija. Imamo tehničku operaciju “Arhiviranje pisama na mail serveru” - vidimo da je vrijeme za ovu operaciju premašeno za prošli period. Ova se operacija, zauzvrat, razlaže na druge operacije - na primjer, uspostavljanje veze sa serverom pošte. Vidimo da je iz nekog razloga odjednom postala jako velika (imamo sva mjerenja za mjesec dana - možemo uporediti da je prošle sedmice bilo 10 milisekundi, a sada 1000 milisekundi). I mi razumijemo da je ovdje nešto pokvareno - moramo to popraviti.

Kako održavamo tako veliku bazu podataka?

Naš interni DO je primjer stvarno funkcionalnog projekta visokog opterećenja. Hajde da razgovaramo o tehničkim karakteristikama njegove baze podataka.

Koliko vremena je potrebno za restrukturiranje velikih tabela baze podataka?

SQL server zahteva periodično održavanje, dovodeći tabele u red. Na dobar način, to bi trebalo činiti barem jednom dnevno, a čak i češće za stolove velike potražnje. Ali ako je baza podataka velika (a naš broj zapisa je već premašio 11 milijardi), onda briga o njoj nije laka.

Napravili smo restrukturiranje stola prije 6 godina, ali je tada počelo toliko vremena da se više nismo uklapali u noćne intervale. A pošto ove operacije jako opterećuju SQL server, on ne može efikasno služiti drugim korisnicima.

Stoga, sada moramo koristiti razne trikove. Na primjer, ne možemo izvršiti ove procedure na kompletnim skupovima podataka. Morate pribjeći proceduri ažuriranja uzorka 500000 redova - ovo traje 14 minuta. Ne ažurira statistiku o svim podacima u tabeli, već bira pola miliona redova i koristi ih za izračunavanje statistike koje koristi za celu tabelu. Ovo je neka pretpostavka, ali smo primorani da to učinimo, jer će za određenu tabelu prikupljanje statistike o čitavoj milijardu zapisa trajati nedopustivo dugo.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C
Također smo optimizirali druge operacije održavanja tako što smo ih učinili djelomičnima.

Održavanje DBMS-a je općenito težak zadatak. U slučaju aktivne interakcije između zaposlenih, baza podataka raste brzo, a administratorima je sve teže održavati je - ažurirati statistiku, defragmentirati, indeksirati. Ovdje treba primijeniti različite strategije, mi dobro znamo kako se to radi, imamo iskustvo, možemo ga podijeliti.

Kako se sigurnosna kopija implementira kod takvih volumena?

Potpuna sigurnosna kopija DBMS-a se vrši jednom dnevno noću, a inkrementalna – svakih sat vremena. Također, direktorij datoteka se kreira svaki dan, i to je dio inkrementalne sigurnosne kopije skladišta datoteka.

Koliko vremena je potrebno da se završi potpuna sigurnosna kopija?

Potpuna sigurnosna kopija na tvrdom disku je završena za tri sata, a djelomična za sat vremena. Zapisivanje na traku traje duže (poseban uređaj koji pravi rezervnu kopiju na posebnu kasetu pohranjenu izvan ureda; prenosiva kopija se pravi na traku, koja će biti sačuvana ako, na primjer, izgori server soba). Backup se pravi na potpuno istom serveru, čiji su parametri bili viši - SQL server sa 20% opterećenja procesora. U vrijeme backup-a, naravno, sistem postaje mnogo lošiji, ali je i dalje funkcionalan.

Provjeravamo na sebi: kako je 1C implementiran i kako se njime administrira: Tok dokumenata unutar kompanije 1C

Postoji li deduplikacija?

Deduplikacija Postoje fajlovi, testirat ćemo ih na sebi, a uskoro će biti uključeni u novu verziju Document Managementa. Također testiramo mehanizam deduplikacije druge strane. Ne postoji deduplikacija zapisa na nivou DBMS, jer to nije potrebno. Platforma 1C:Enterprise pohranjuje objekte u DBMS i samo platforma može biti odgovorna za njihovu konzistentnost.

Postoje li čvorovi samo za čitanje?

Ne postoje čvorovi za čitanje (namjenski sistemski čvorovi koji služe onima koji trebaju primiti bilo kakve podatke za čitanje). DO nije računovodstveni sistem koji treba staviti na poseban BI čvor, ali postoji poseban čvor za razvojni odjel, s kojim se poruke razmjenjuju u JSON formatu, a tipično vrijeme replikacije je jedinica i desetine sekundi. Čvor je još uvijek mali, ima oko 800 miliona zapisa, ali brzo raste.

Da li se mailovi označeni za brisanje uopće ne brišu?

Ne još. Mi nemamo zadatak da bazu učinimo lakšom. Bilo je nekoliko prilično ozbiljnih slučajeva kada je bilo potrebno pozvati se na slova označena za brisanje, uključujući 2009. godinu. Zato smo odlučili da za sada sve zadržimo. Ali kada trošak ovoga postane neopravdan, razmišljat ćemo o uklanjanju. Ali, ako trebate potpuno ukloniti zasebno pismo iz baze podataka tako da nema tragova, onda se to može učiniti posebnim zahtjevom.

Zašto ga čuvati? Imate li statistiku pristupa starim dokumentima?

Nema statistike. Tačnije, u obliku je korisničkog dnevnika, ali se ne pohranjuje dugo. Unosi stariji od godinu dana brišu se iz protokola.

Bilo je situacija kada je bilo potrebno dohvatiti staru prepisku od prije pet ili čak deset godina. I to se uvijek radilo ne iz prazne radoznalosti, već radi donošenja složenih poslovnih odluka. Postojao je slučaj u kojem bi, bez istorije korespondencije, bila donesena pogrešna poslovna odluka.

Kako se procjenjuje i uništava vrijednost dokumenata prema rokovima skladištenja?

Za papirnate dokumente to se radi na uobičajeni tradicionalni način, kao i svi ostali. Ne radimo to za elektronske - neka ih zadrže za sebe. Sjedište je ovdje. Postoje pogodnosti. Svi su dobro.

Kakvi su razvojni izgledi?

Sada naš DO rješava oko 30 internih problema, od kojih smo neke naveli na početku članka. DL služi i za pripremu konferencija koje održavamo dva puta godišnje za naše partnere: ceo program, svi izveštaji, sve paralelne sekcije, sale – sve se to ukucava u DL, a zatim preuzima sa njega i štampa program je napravljeno.

Za DO je na putu još nekoliko zadataka, pored onih koje već rješava. Postoje zadaci za cijelu kompaniju, a postoje jedinstveni i rijetki, potrebni samo određenom odjelu. Potrebno im je pomoći, što znači proširiti „geografiju“ korištenja sistema unutar 1C - proširiti obim primjene, riješiti probleme svih odjela. Ovo bi bio najbolji test za performanse i pouzdanost. Voleo bih da sistem radi na trilionima zapisa, petabajta informacija.

izvor: www.habr.com

Dodajte komentar