Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

U 1C naširoko koristimo vlastiti razvoj za organizaciju rada tvrtke. Posebno, "1C: Protok dokumenata 8". Osim upravljanja dokumentima (kao što ime govori), također je i moderan ECM-sustav (Enterprise Content Management - korporativno upravljanje sadržajem) sa širokim rasponom funkcionalnosti - pošta, radni kalendari zaposlenika, organiziranje zajedničkog pristupa resursima (na primjer, rezerviranje soba za sastanke), praćenje vremena, korporativni forum i još mnogo toga.

Više od tisuću zaposlenika koristi upravljanje dokumentima u 1C. Baza podataka već je postala impresivna (11 milijardi zapisa), što znači da zahtijeva pažljiviju brigu i snažniju opremu.

Kako funkcionira naš sustav, na koje poteškoće nailazimo prilikom održavanja 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 osnovi okvira za razvoj poslovnih aplikacija - platforme 1C:Enterprise.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke


"1C: Document Flow 8" (skraćeno DO) omogućuje vam automatizaciju rada s dokumentima u poduzeću. Jedan od glavnih alata za interakciju zaposlenika je e-pošta. Osim pošte, DO rješava i druge probleme:

  • Praćenje vremena
  • Praćenje odsutnosti zaposlenika
  • Prijave za kurire/prijevoz
  • Radni kalendari zaposlenika
  • Registracija korespondencije
  • Kontakti zaposlenika (Adresar)
  • Korporacijski forum
  • Rezervacija sobe
  • Planiranje događaja
  • CRM
  • Kolektivni rad s datotekama (sa spremanjem verzija datoteka)
  • itd.

Ulazimo u Upravljanje dokumentima tanak klijent (izvorna izvršna aplikacija) iz sustava Windows, Linux, macOS, web klijent (iz preglednika) i mobilni klijent - ovisno o situaciji.

A zahvaljujući našem drugom proizvodu povezanom s protokom dokumenata - Sustav interakcije – mi izravno u Document Flowu primamo funkcionalnost glasnika – chatove, audio i video pozive (uključujući grupne pozive, koji su sada postali posebno važni, uključujući i s mobilnog klijenta), brzu razmjenu datoteka plus mogućnost pisanja chat botova koji pojednostavljuju rad sa sustavom. Još jedna prednost korištenja Interakcijskog sustava (u usporedbi s drugim glasnicima) je mogućnost vođenja kontekstualnih rasprava vezanih uz specifične objekte Document Flow-a - dokumente, događaje itd. To jest, sustav interakcije duboko je integriran s ciljnom aplikacijom i ne djeluje samo kao "zasebna tipka".

Broj slova u našem DO već je premašio 100 milijuna, a općenito postoji više od 11 milijardi zapisa u DBMS-u. Ukupno, sustav koristi gotovo 30 TB prostora za pohranu: volumen baze podataka je 7,5 TB, datoteke za zajednički rad pohranjuju se odvojeno i zauzimaju još 21 TB.

Ako govorimo o konkretnijim brojkama, evo trenutnog broja dopisa i datoteka:

  • Odlazne e-pošte – 14,7 milijuna.
  • Dolazna pisma – 85,4 milijuna.
  • Verzije datoteka – 70,8 milijuna.
  • Interni dokumenti – 30,6 tisuća.

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

  • Rezervacija soba za sastanke – 52
  • Tjedna izvješća – 153
  • Dnevna izvješća – 628
  • Odobravanje viza – 11
  • Ulazni dokumenti – 79
  • Izlazni dokumenti – 28
  • Zapisi o događajima u radnim kalendarima korisnika – 168
  • Prijave za kurire – 21
  • Protustranke – 81
  • Evidencija o radu s protustrankama – 45
  • Kontakt osobe ugovornih strana – 41
  • Događanja – 10
  • Projekti – 6
  • Zadaci zaposlenika – 245
  • Postovi na forumu – 26
  • Poruke na chatu – 891 095
  • Poslovni procesi - 109 056. Interakcija između zaposlenika odvija se kroz procese - odobravanje, izvršenje, pregled, registracija, potpisivanje itd. Mjerimo trajanje procesa, broj ciklusa, broj sudionika, broj povrata, broj zahtjeva za promjenu rokova. A te je informacije vrlo korisno analizirati kako bismo razumjeli koji se procesi odvijaju u poduzeću i povećali učinkovitost suradnje zaposlenika.

Na kojoj opremi sve to obrađujemo?

Ove brojke ukazuju na impresivan obujam zadataka, pa smo se suočili s potrebom izdvajanja prilično produktivne opreme za potrebe internih podružnica. Trenutno su mu karakteristike sljedeće: 38 jezgri, 240 GB RAM-a, 26 TB diskova. Evo tablice poslužitelja:
Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

U budućnosti planiramo povećati kapacitet opreme.

Kako stoje stvari s opterećenjem poslužitelja?

Mrežna aktivnost nikada nije bila problem za nas ili naše klijente. U pravilu, slaba točka su procesor i diskovi, jer svi već znaju kako se nositi s nedostatkom memorije. Evo snimaka zaslona naših poslužitelja iz Resource Monitora, koji pokazuju da nemamo nikakvo strašno opterećenje, vrlo je skromno.

Na primjer, na slici ispod vidimo SQL poslužitelj gdje je CPU opterećenje 23%. I ovo je vrlo dobar pokazatelj (za usporedbu: ako se opterećenje približi 70%, tada će zaposlenici najvjerojatnije primijetiti prilično značajno usporavanje rada).

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Druga snimka zaslona prikazuje aplikacijski poslužitelj na kojem se pokreće platforma 1C:Enterprise - služi samo korisničkim sesijama. Ovdje je opterećenje procesora nešto veće - 38%, glatko je i mirno. Ima malo učitavanja diska, ali je prihvatljivo.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Treća snimka zaslona prikazuje još jedan 1C:Enterprise poslužitelj (to je drugi, imamo dva u klasteru). Samo prethodni služi korisnicima, a na ovom rade roboti. Na primjer, primaju poštu, rutiraju dokumente, razmjenjuju podatke, izračunavaju prava itd. Sve te pozadinske aktivnosti obavljaju otprilike 90-100 pozadinskih poslova. I ovaj poslužitelj je jako opterećen - 88%. Ali to ne utječe na ljude i implementira točno svu automatizaciju koju bi trebao raditi Document Management.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Koja su mjerila za mjerenje učinka?

U našim podružnicama imamo ugrađen ozbiljan podsustav za mjerenje pokazatelja uspješnosti i izračun raznih metrika. To je potrebno kako bismo razumjeli kako u sadašnjem trenutku vremena tako i iz povijesne perspektive što se događa u sustavu, što je sve gore, što je sve bolje. Alati za praćenje - metrika i mjerenja vremena - uključeni su u standardnu ​​isporuku "1C: Document Flow 8". Mjerni podaci zahtijevaju prilagodbu tijekom implementacije, ali sam mehanizam je standardan.

Metrike su mjerenja različitih pokazatelja poslovanja u određenim vremenskim točkama (primjerice, prosječno vrijeme isporuke pošte je 10 minuta).

Jedna od metrika pokazuje broj aktivnih korisnika u bazi podataka. Prosječno ih je 1000-1400 tijekom dana. Grafikon pokazuje da je u trenutku snimanja zaslona bilo 2144 aktivnih korisnika u bazi podataka.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Takvih je akcija više od 30, popis je u rezu.popis

  • Prijaviti se
  • Odjavi se
  • Učitavanje pošte
  • Promjena valjanosti objekta
  • Promjena prava pristupa
  • Promjena predmeta procesa
  • Promjena radne grupe objekta
  • Promjena sastava kompleta
  • Mijenjanje datoteke
  • Uvoz datoteke
  • Slanje poštom
  • Premještanje datoteka
  • Preusmjeravanje zadatka
  • Potpisivanje elektroničkog potpisa
  • Pretraživanje po detaljima
  • Pretraživanje cijelog teksta
  • Primanje datoteke
  • Prekid procesa
  • Pogled
  • Dešifriranje
  • Registracija dokumenta
  • skenirati
  • Uklanjanje oznake brisanja
  • Stvaranje objekta
  • Spremanje na disk
  • Početak procesa
  • Brisanje unosa korisničkog dnevnika
  • Uklanjanje elektroničkog potpisa
  • Postavljanje oznake za brisanje
  • Enkripcija
  • Izvoz mape

Pretprošlog tjedna naša prosječna aktivnost korisnika porasla je jedan i pol puta (prikazano crvenom bojom na grafikonu) - to je zbog prelaska većine zaposlenika na daljinski rad (zbog dobro poznatih događaja). Također, broj aktivnih korisnika povećao se za 3 puta (prikazano plavom bojom na snimci zaslona), jer su zaposlenici počeli aktivno koristiti mobilne telefone: svaki mobilni klijent stvara vezu s poslužiteljem. Sada u prosjeku svaki naš zaposlenik ima 2 veze na server.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Za nas, kao administratore, ovo je signal da moramo biti pažljiviji na probleme s performansama i vidjeti jesu li se stvari pogoršale. Ali mi to gledamo na temelju 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 bilo fluktuirajuće, ali sada je stabilno - za nas je to pokazatelj da je sa sustavom sve u redu.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Druga primijenjena metrika za nas je prosječno vrijeme čekanja za preuzimanje pisama s poslužitelja pošte (prikazano crvenom bojom na snimci zaslona). Ugrubo govoreći, koliko će dugo pismo lebdjeti internetom prije nego što stigne do našeg zaposlenika. Snimka zaslona pokazuje da se ni ovo vrijeme u posljednje vrijeme nije ni na koji način promijenilo. Postoje izolirani skokovi - ali oni nisu povezani s kašnjenjima, već s činjenicom da se gubi vrijeme na poslužiteljima pošte.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Ili, na primjer, druga metrika (prikazana plavom bojom na snimci zaslona) – ažuriranje slova u mapi. Otvaranje mape e-pošte vrlo je uobičajena operacija i treba je obaviti brzo. Mjerimo koliko se brzo izvodi. Ovaj pokazatelj se mjeri za svakog klijenta. Možete vidjeti i cjelokupnu sliku za tvrtku i dinamiku, na primjer, za pojedinog zaposlenika. Snimka zaslona pokazuje da je do ove godine metrika bila neuravnotežena, zatim smo napravili niz poboljšanja, a sada se ne pogoršava – grafikon je gotovo ravan.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Metrike su u osnovi administratorski alat za praćenje sustava, za brzo reagiranje na bilo kakve promjene u ponašanju sustava. Snimka zaslona prikazuje interne mjerne podatke podružnice za godinu. Skok na grafovima je posljedica činjenice da smo dobili zadatke za razvoj internih podružnica.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Ovdje je popis još nekih metrika (ispod rezanja).
Metrika

  • Aktivnost korisnika
  • Aktivni korisnici
  • Aktivni procesi
  • Broj datoteka
  • Veličina datoteke (MB)
  • Broj dokumenata
  • Broj objekata koji će se poslati primateljima
  • Broj ugovornih strana
  • Nedovršeni zadaci
  • Prosječno vrijeme čekanja za preuzimanje e-pošte s poslužitelja e-pošte u zadnjih 10 minuta
  • Vanjski međuspremnik podataka: broj datoteka
  • Granica zaostaje od trenutnog datuma
  • Dugi red
  • Operativni red
  • Neobrađena starost računa prema vanjskom usmjeravanju
  • Veličina reda čekanja za prihvaćanje internog usmjeravanja (dugi red)
  • Veličina reda za prihvaćanje internog usmjeravanja (brzi red)
  • Vrijeme isporuke pošte internim usmjeravanjem (dugi red čekanja)
  • Vrijeme isporuke pošte putem internog usmjeravanja (brzi red čekanja)
  • Vrijeme isporuke pošte putem vanjskog usmjeravanja (prosječno)
  • Broj dokumenata Rezervacija
  • Broj dokumenata Odsutnost
  • Broj dokumenata "Zapisnik o radu s drugom ugovornom stranom"
  • Mail Ažuriraj pisma u mapi
  • Pošta Otvaranje kartice s pismom
  • Pošta Prijenos pisma u mapu
  • Mail Navigacija kroz mape

Naš sustav 150 sata dnevno mjeri više od XNUMX pokazatelja, no ne mogu se svi brzo pratiti. Mogu vam dobro doći kasnije, u nekoj povijesnoj perspektivi, a vi se možete fokusirati na one najvažnije za posao.

U jednoj od implementacija, primjerice, odabrano je samo 5 pokazatelja. Kupac je postavio cilj stvoriti minimalni skup pokazatelja, ali u isto vrijeme takav da pokriva glavne scenarije rada. Bilo bi neopravdano uključiti 150 pokazatelja u potvrdu o prihvaćanju, jer je čak i unutar poduzeća teško dogovoriti koji se pokazatelji smatraju prihvatljivim. A oni su znali za ovih 5 indikatora i već su ih predstavili sustavu prije početka izvedbenog projekta, uključivši ih u natječajnu dokumentaciju: vrijeme otvaranja kartice nije duže od 3 sekunde, vrijeme izvršavanja zadatka s datoteka nije duža od 5 sekundi itd. U našim podružnicama imali smo metriku koja je vrlo jasno odražavala izvorni zahtjev iz tehničkih specifikacija kupca.

Imamo i profilnu analizu mjerenja performansi. Indikatori uspješnosti su zapis trajanja svake operacije koja je u tijeku (pisanje pisma u bazu podataka, slanje pisma poslužitelju e-pošte itd.). Ovo koriste isključivo tehničari. U našem programu skupljamo mnogo pokazatelja uspješnosti. Trenutno mjerimo oko 1500 ključnih operacija koje su podijeljene u profile.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Jedan od najvažnijih profila za nas je "Popis ključnih pokazatelja pošte iz perspektive potrošača". Ovaj profil uključuje, na primjer, sljedeće pokazatelje:

  • Izvršavanje naredbe: Select by tag
  • Otvaranje obrasca: List Form
  • Izvršavanje naredbe: Odaberite po mapi
  • Prikazivanje slova u području za čitanje
  • Spremanje pisma u vašu omiljenu mapu
  • Traži slova po detaljima
  • Stvaranje slova

Ako vidimo da je metrika za neki poslovni pokazatelj postala prevelika (na primjer, pisma određenog korisnika počela su stizati jako dugo), počinjemo to shvaćati i okrećemo se mjerenju vremena tehničkih operacija. Imamo tehničku operaciju “Arhiviranje pisama na poslužitelju e-pošte” - vidimo da je vrijeme za ovu operaciju prekoračeno za zadnje razdoblje. Ta se operacija pak rastavlja na druge operacije - na primjer, uspostavljanje veze s poslužiteljem pošte. Vidimo da je iz nekog razloga odjednom postao jako velik (imamo sva mjerenja za mjesec dana - možemo usporediti da je prošli tjedan bio 10 milisekundi, a sada je 1000 milisekundi). I razumijemo da je ovdje nešto pokvareno - moramo to popraviti.

Kako održavamo tako veliku bazu podataka?

Naš interni DO je primjer stvarno radnog projekta visokog opterećenja. Razgovarajmo o tehničkim značajkama njegove baze podataka.

Koliko je vremena potrebno za restrukturiranje velikih tablica baze podataka?

SQL poslužitelj zahtijeva periodično održavanje, sređivanje tablica. Na dobar način, to bi trebalo činiti barem jednom dnevno, a čak i češće za stolove s velikom potražnjom. Ali ako je baza podataka velika (a naš broj zapisa već je premašio 11 milijardi), onda briga o njoj nije laka.

Prije 6 godina radili smo restrukturiranje stola, ali tada je počelo oduzimati toliko vremena da se više ne uklapamo u noćne intervale. Budući da ove operacije jako opterećuju SQL poslužitelj, on ne može učinkovito služiti drugim korisnicima.

Stoga se sada moramo služiti raznim trikovima. Na primjer, ne možemo izvršiti ove postupke na kompletnim skupovima podataka. Morate pribjeći postupku ažuriranja uzorka od 500000 14 redaka - to traje XNUMX minuta. Ne ažurira statistiku svih podataka u tablici, već odabire pola milijuna redaka i pomoću njih izračunava statistiku koju koristi za cijelu tablicu. To je neka pretpostavka, ali smo prisiljeni to učiniti, jer će za određenu tablicu prikupljanje statistike o čitavoj milijardi zapisa trajati nedopustivo dugo.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke
Također smo optimizirali ostale operacije održavanja tako što smo ih učinili parcijalnim.

Održavanje DBMS-a općenito je težak zadatak. U slučaju aktivne interakcije između zaposlenika, baza podataka brzo raste, a administratorima postaje sve teže održavati je - ažuriranje statistike, defragmentacija, indeksiranje. Tu treba primijeniti različite strategije, mi to dobro znamo, imamo iskustvo, možemo ga podijeliti.

Kako se sigurnosna kopija implementira s takvim količinama?

Potpuna sigurnosna kopija DBMS-a izvodi se jednom dnevno noću, inkrementalna – svaki sat. Također, svaki dan se stvara direktorij datoteka, i to je dio inkrementalne sigurnosne kopije pohrane datoteka.

Koliko je vremena potrebno da se dovrši potpuno sigurnosno kopiranje?

Potpuna sigurnosna kopija na tvrdi disk dovršena je za tri sata, a djelomična za sat vremena. Zapisivanje na traku traje dulje (poseban uređaj koji pravi sigurnosnu kopiju na posebnu kasetu pohranjenu izvan ureda; na traku se radi prenosiva kopija koja će biti sačuvana ako npr. izgori serverska soba). Sigurnosna kopija se radi na potpuno istom poslužitelju, čiji su parametri bili viši - SQL poslužitelj s 20% opterećenja procesora. U vrijeme sigurnosne kopije, naravno, sustav postaje puno lošiji, ali je i dalje funkcionalan.

Sami provjeravamo: kako je 1C implementiran i kako se njime upravlja: Tijek dokumenata unutar 1C tvrtke

Postoji li deduplikacija?

Deduplikacija Postoje datoteke, isprobat ćemo to na sebi, a uskoro će biti uključeno u novu verziju Document Managementa. Također testiramo mehanizam deduplikacije druge ugovorne strane. Ne postoji deduplikacija zapisa na razini DBMS-a jer to nije potrebno. Platforma 1C:Enterprise pohranjuje objekte u DBMS i samo platforma može biti odgovorna za njihovu dosljednost.

Postoje li čvorovi samo za čitanje?

Ne postoje čvorovi za čitanje (namjenski čvorovi sustava koji služe onima koji trebaju primati bilo kakve podatke za čitanje). DO nije računovodstveni sustav da bi se stavio na poseban BI čvor, već postoji poseban čvor za razvojni odjel, s kojim se poruke razmjenjuju u JSON formatu, a tipično vrijeme replikacije je jedinice i desetke sekundi. Čvor je još malen, ima oko 800 milijuna zapisa, ali brzo raste.

Ne brišu li se e-poruke označene za brisanje uopće?

Ne još. Nemamo zadatak učiniti bazu lakšom. Bilo je nekoliko prilično ozbiljnih slučajeva kada je bilo potrebno pozvati se na pisma označena za brisanje, uključujući i 2009. godinu. Zato smo odlučili za sada sve zadržati. Ali kada trošak toga 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 na poseban zahtjev.

Zašto ga skladištiti? Imate li statistiku pristupa starim dokumentima?

Statistike nema. Točnije, u obliku je korisničkog dnevnika, ali se ne pohranjuje dugo. Upisi stariji od godinu dana brišu se iz protokola.

Bilo je situacija kada je trebalo vratiti staru korespondenciju od prije pet ili čak deset godina. A to se uvijek nije radilo iz prazne znatiželje, već radi donošenja složenih poslovnih odluka. Postojao je slučaj u kojem bi, bez povijesti dopisivanja, bila donesena pogrešna poslovna odluka.

Kako se procjenjuje i uništava vrijednost dokumenata prema rokovima čuvanja?

Za papirnate dokumente to se radi na uobičajeni tradicionalni način, kao i svi ostali. Za elektroničke to ne radimo - neka ih zadrže za sebe. Sjedište je ovdje. Ima koristi. Svi su dobro.

Kakvi su izgledi za razvoj?

Sada naš DO rješava 30-ak 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: cjelokupan program, sva izvješća, sve paralelne sekcije, dvorane – sve se to ukuca u DL, pa se iz njega skine i ispiše program je izrađena.

Pred DO je još nekoliko zadataka, osim onih koje već rješava. Postoje zadaci za cijelu tvrtku, a postoje jedinstveni i rijetki, potrebni samo određenom odjelu. Potrebno im je pomoći, što znači proširiti "geografiju" korištenja sustava unutar 1C - proširiti opseg primjene, riješiti probleme svih odjela. Ovo bi bio najbolji test za performanse i pouzdanost. Volio bih vidjeti kako sustav radi na bilijunima zapisa, petabajtima informacija.

Izvor: www.habr.com

Dodajte komentar