Transakcijska kontrola zaključavanja. Prevod konfiguracije u upravljanim zaključavanjem Automatski režim zaključavanja nije važeći u transakciji

Glavni razlozi za prijelaz na upravljane brave:

  • Glavni razlog je 1C preporuka: stručnjak na osnovu čitanja ili 1c: PC
  • Problemi sa paralelnim radom korisnika ()
  • Koristite Oracle, PostgreSQL i.

Trošak rada:

Suština kontroliranog blokiranja

Kada radite u automatskom načinu upravljanja zaključavanjem 1c: Kompanija postavlja visok stepen izolacije podataka u transakciji na nivou DBMS-a. To omogućava potpuno eliminiranje mogućnosti pribavljanja nealkoholnih ili netačnih podataka bez posebnih napora primijenjenih programera.

Ovo je zgodan I. pravi pristup za mala količina Aktivni korisnici. Cijena lakog razvoja određena je iznos suvišnog blokiranja na nivou DBMS-a. Ove su brave povezane s obje karakteristike implementacije mehanizama zaključavanja u samom DBMS-u i tako da DBMS ne može uzeti u obzir (i ne uzima u obzir) fizičko značenje i struktura metapodataka 1C: Enterprises.

Pri radu sa visokim konkursom za resurse (veliki broj korisnika) u nekom trenutku učinak smanjenja blokiranja postaje primetan sa stanovišta performansi sa paralelnim režimom.

Nakon prijenosa konfiguracije u kontrolirani režim u platformi je aktiviran dodatna karakteristika "Menadžer zaključavanja" i kontrola nad integritetom podataka sada nisu sa strane DBMS-a, već na poslužitelju 1c servera. To povećava opterećenje na željeza 1c servera (potrebne su brže procesore i više memorije), a zapravo čini i malo usporavanje (nekoliko posto), ali mnogo značajniji poboljšava situaciju sa bravama (manje blokova zbog blokade u objektu i Ne u kombinaciju tablica, manje blok područja i u nekim slučajevima manje životnog vijek trajanja, tj. Ne do kraja transakcije). Zbog toga se poboljšava cjelokupni paralelizam.


Nove 1C konfiguracije se implementiraju odmah u upravljanom režimu.

  • Pitanje: Da li je moguće prvo napraviti reviziju, a zatim prebaciti na Ub?

Odgovor: Možete, revizija će poslužiti kao dodatna izvodljivost prevođenja u kontrolirane brave, a također procijeniti doprinos automatskih zaključavanja u ukupnom usporavanju i da li su potrebni dodatni napori osim prijevoda.

  • Pitanje: Da biste prebacili na Ub, šta tačno za pristup - RDP, TeamViewer? Ili možete poslati konfiguraciju datoteka?

Odgovor: Trudimo se da ne ograničavamo jednu specifičnu tehnologiju. daljinski pristup, pogodno bilo koja tehnologija udaljenog pristupa. Ako vam nije važno, a zatim praktični RDP.
Možemo obaviti optimizaciju po poslanoj konfiguracijskoj datoteci, ali tada nećemo moći isključiti neke stvarne podatke i morat ćete biti pažljivi za testiranje. Ako obavljamo optimizaciju na kopiji baze, tada možemo pažljivo testirati prije nego što vam damo rezultat rada.

  • Pitanje: Imamo 10 redovnih programera koji svakodnevno mijenjaju nešto na konferenciji. Rabljena opšta skladište konfiguracije ". Kako će se interakcija organizirati prilikom prijenosa na Ub? Ili svi programeri moraju biti poslani na odmoru?

Odgovor: U pravilu su naše promjene napravljene u roku od nekoliko dana. Ostatak vremena je testirati izvršene promjene, uključujući sa stanovišta potrebne logike definiranih poslovnih i ne tehničkih razmatranja. mi Možemo izmijeniti promjene odvojena datoteka Konfiguracija CF, a tada će vaš programer omogućiti u spremištu. Na odmoru se neko ne može poslati. U ostalim mogućnostima interakcije, jednostavno se morate složiti na koji predmeti planiraju uhvatiti vaše programere tako da izgradimo plan rada, pogodne za obje strane. Obično, cijela konfiguracija hvata vaše programere nije potrebna ili nam daju "upravljač" za nas.

Mehanizam transakcijski blokovi Koristi se za konkurentni korisnički pristup DBMS-u.
Transakcija je određeni neraskidan rad, tokom kojeg se stanje baza mijenja. Ovo je minimalni kvant promjene: nemoguće je napraviti pola transakcije; Ako transakcija nije završena, baza se vraća na početno stanje.
Budući da transakcija bilježi niz podataka, pojavljuje se nijansa na pristupu ovom nizu: Na primjer, jedna transakcija mijenja podatke, a druga pokušava da ih pročita. Rezultat čitanja može biti netočan, jer neće se uključiti nedavne promjene. Stoga na nivou DBMS-a, transakcijski izolacija radi. Moguće su sljedeće razine izolacije:

  • Pročitajte neprimjereno - Dok jedna transakcija mijenja niz, drugi ga ne može promijeniti, ali može čitati. Niži nivo izolacije.
  • Pročitajte se. - Dok jedna transakcija mijenja niz, drugi ga ne može promijeniti, niti čitati
  • Ponovljivo čitanje. - Dok jedna transakcija čita niz, drugi ga ne može promijeniti, ali može čitati
  • Serialaizable - Dok jedna transakcija čita niz, drugi ga ne može promijeniti ili pročitati. Sve su operacije dosljedne. Maksimalni nivo izolacije.

Ako za konfiguraciju 1c: instalirana preduzeća automatski režim zaključavanjaOdabran je transakcijski izoliranje DBMS-a. U slučaju MS SQL-a, to će biti ponovljivi pročitani ili serializirani nivoi, odnosno izolacija podataka je blizu maksimuma. Ovo rješava probleme sa ispravljanjem podataka, ali može dovesti do pojave brava na nivou DBMS-a tokom intenzivnog rada korisnika. Stoga, u 1C: Kompanija ima svoju funkcionalnost sa bravama, što se aktivira uključivanjem kontroliranih brava. U ovom slučaju će se pročitati razina izolacije transakcije za MS SQL. Sama platforma izolirat će podatke bez oslanjanja na DBMS.

Uključivanje načina kontroliranog zaključavanja događa se u konfiguracijskim svojstvima:

Takođe, način zaključavanja može se podesiti za određene konfiguracijske objekte:

U slučaju, za konfiguraciju kao cjelinu instalirana Automatski režim Brave, sve transakcije na svim registrima rade u automatskom režimu, bez obzira na režim koji je postavljen za objekt konfiguracije. Ako je upravljano slično, sve će transakcije biti u upravljanju. Ako je konfiguracija automatska i kontrolirana za konfiguraciju, tada će način za svaki objekt odrediti njenim postavkama.

Za način rada, automatski i upravljiv je jedan bod. Transakcija, jedan korisnik može biti nekoliko transakcija sa stanovišta platforme. Na primjer, interaktivno ponašanje dokumenta registra čini dvojetransakcije - snimanje samog dokumenta, a unutar ovih redaka za snimanje transakcija za registar. Ovisno o načinu upravljanja zaključavanjem za samu dokumenta i selidbe u registru, moguce su četiri situacije:

  1. Način dokumenta Automatski, registrirajte automatski režim -\u003e
  2. Kontrolirani režim dokumenta, upravljanje režimom registra -\u003e Registrirajte unos u upravljanom režimu
  3. Način dokumenta Automatski, Upravljanje režimom registra -\u003e Registrirajte se u automatskom režimu
  4. Kontroliran režim dokumenta, registrirajte automatski registar -\u003e Izvanredna situacija (greška)

Pitanje 06.59 Ispit 1C: Professional na platformi. Prilikom provođenja dokumenta u bilo kojem registru ako dokument ima automatski režim kontrole transakcijskog zaključavanja, a registar se upravlja (u konfiguracijskoj svojstvima koristi se opcija "Automatska i uprava"), tada će takvo ponašanje voditi:

Tačan je odgovor drugi, definirajte se na prvoj transakciji, ako je automatski, onda je sve automatski.

Pitanje 06.60 Ispit 1c: Professional na platformi. Prilikom provođenja dokumenta u bilo kojem registru ako dokument ima kontrolirani režim kontrole transakcijskog zaključavanja, a Registar je automatski (u konfiguracijskoj svojstvima, koristi se opcija "Automatska i uprava"), tada će takvo ponašanje voditi:

  1. do pojave pogrešne situacije
  2. cijela transakcija će se izvoditi automatski
  3. Čitava transakcija bit će izvedena u upravljanom režimu.

Tačan je odgovor prvi, definirajte se na prvoj transakciji, ako se upravlja, a zatim greška.

Pitanje 06.61 Ispit 1c: Professional na platformi. Prilikom provođenja dokumenta u bilo kojem registru ako dokument ima automatski režim kontrole za zaključavanje, a registar se upravlja (u konfiguracijskim svojstvima, koristi se opcija "upravljiva"), tada će takvo ponašanje voditi:

  1. do pojave pogrešne situacije
  2. cijela transakcija će se izvoditi automatski
  3. Čitava transakcija bit će izvedena u upravljanom režimu.

Mehanizam upravljanja zaključavanjem podataka U transakciji vam omogućuje blokiranje varijabilnih podataka ne pomoću korištenog sistema upravljanja bazom podataka i alata za platformu. Takvo upravljanje zaključavanjem podataka ne vrši se u pogledu podataka DBA i u pogledu objekta. Zahvaljujući tome, brave su naložene "tačnije", a paralelizam korisnika se podiže.

Konfiguracija 1C: Enterprise 8 može raditi u jednom od tri načina upravljanja zaključavanjem u transakciji:

  • auto;
  • upravljano - standardni način za nove konfiguracije;
  • automatski i upravljivi.

U automatski režim Upravljanje zaključavanjem podataka koristi ponovljivo čitanje i serializacijsku transakcijsku razinu izolacije koje pruža sistem upravljanja bazom podataka. Ovi nivoi izolacije transakcija pružaju dosljedno i holističko čitanje podataka, a programer ne zahtijeva dodatne zaključane radnje upravljanja.

Upravljački režim Omogućuje vam povećanju paralelerije korisnika u verziji rada klijenta-servera korištenjem nižeg nivoa transakcijske izolacije baze podataka (čitanje počinjeno). Prilikom pisanja podataka u transakciji, ugrađeni objekti automatski blokiraju potrebne podatke. Programer je potreban za upravljanje blokiranjem podataka u slučajevima kada poslovna logika zahtijeva koordinirano i holističko čitanje podataka u transakciji.

Automatski i upravljivi Način omogućava vam da koristite mogućnost upravljanja bravama u transakciji samo za neke konfiguracijske objekte. Ovaj se način može koristiti za optimizaciju paralelizma korisnika sa pojedinačnim aplikacijskim objektima (na primjer, s nekoliko najhranama korištenih dokumenata) ili za postepeni prijevod velikih konfiguracija u režimu za zaključavanje u transakciji.

U sažetku razlike tokom rada u režimu automatskog zaključavanja i u režimu upravljanog zaključavanja pogledajte sljedeću tablicu:

Najčešće, potreba za upravljanje blokiranjem podataka u transakciji događa se tijekom dokumenata kada trebate čitati, a zatim napisati promijenjene podatke u iste tablice. Na primjer, ako se ostaci prate prilikom provođenja dokumenta.

Naročito za to, skup evidencije akumulacijskih registara i računovodstvenih registara imaju svojstvo. Blok upale.

Ako trebate kontrolirati ostatke, a zatim pisati pokrete u isti registar, tada se ovo nekretnine mora instalirati da bi postavili zapise ovog registra u objektu. Pokret.

Akcija ovog nekretnina slična je načinu na koji je programer instaliran samostalno (registriran u kodu) potrebne kontrolirane brave 1c: preduzeća 8. Potrebna platforma za kontrolu blokiranja automatski će se podesiti prilikom snimanja ovog skupa zapisa. Kao rezultat toga, ostale upravljane transakcije koristeći slično blokiranje neće moći početi čitati ovaj registar dok trenutni transakcijski kraj.

Ispod je primjer "ručnog" upravljanja blokiranjem podataka prilikom čitanja podataka za akumulaciju. Računovodstvo U obradi dokumenta Račun za prodaju. U ovom primjeru, kontrolirane brave su kreirane i ugrađene u ugrađene pomoću ugrađenog jezika.

Sistem "1C: Enterprise" omogućava vam da koristite dva načina baze podataka: automatski način zaključavanja u transakciji i kontroliranim bravama u transakciji.

Temeljna razlika ovih načina je sljedeća. Način automatskog zaključavanja ne zahtijeva programer svih radnji za kontrolu brava u transakciji u redoslijedu. Ova pravila pruža sistemsku platformu "1C: Enterprise" koristeći određene razine transakcijske izolacije u datom DBMS-u. Takav način rada najjednostavniji je za programer, ali u nekim slučajevima (na primjer, intenzivnim simultanim radom. veliki broj Korisnici) Ulazni nivo izolacije transakcije u DBMS-u ne može pružiti dovoljan paralelizam rada, koji se manifestuje u obliku velikog broja sukoba zaključavanja tokom rada u korisniku.

Prilikom rada u kontroliranim bravama, sistem "1C: Enterprise" koristi mnogo više nizak nivo Izolacija transakcija u DBMS-u, što vam omogućava da značajno povećate paralelizam rada primijenjenog rješenja. Međutim, za razliku od automatskog zaključavanja, ovaj nivo Izolacija transakcija više ne može biti u mogućnosti ispuniti sva pravila za rad sa podacima u transakciji. Stoga, pri radu u upravljačkom režimu, programer je dužan samostalno kontrolirati brave instalirane u transakciji.

U sažetku razlike tokom rada u režimu automatskog zaključavanja i u režimu upravljanog zaključavanja pogledajte sljedeću tablicu:

Postavljanje načina zaključavanja u konfiguraciji

Konfiguracija ima režim upravljanja za zaključavanje imovine. Svaka konfiguraciona aplikacija također ima režim blokiranja podataka.
Način blokiranja podataka za cijelu konfiguraciju u cjelini može se postaviti na automatske vrijednosti, upravljati (zadano za novu konfiguraciju) i automatsku i upravljanu. Vrijednosti su automatske i upravljane znače da će se odgovarajući način zaključavanja koristiti za sve konfiguracijske objekte, bez obzira na vrijednosti postavljene za svaki od objekata. Vrijednost je automatska i kontrolirana znači da će se režim naveden u njegovoj nekretnini automatski ili upravljati za određeni konfiguracijski objekt.
Treba napomenuti da je režim blokade podataka naveden za metapodaci objekt postavljen za transakcije koje pokreću sistem "1c: Enterprise" kada radim sa podacima ovog objekta (na primjer, prilikom izmjene podataka objekta).
Ako se, na primjer, rekord objekta vrši u transakciji koji pokreće programer (način pokretanja transakcije ()), način upravljanja blokom podataka bit će određen parametrom načina blokiranja
Metode Pokretanje napona (), a ne vrijednost svojstava metapodaci objekta režima blokiranja podataka.
Prema zadanim postavkama, parametar blokiranja ima vrijednost registrovanih blokova. Automatski, tako za
Da biste koristili kontrolirane brave u eksplicitnom transakciji, trebali biste odrediti vrijednost ovog parametra.
Ljuljane brave .. kontinuirano.

Radite sa kontroliranim bravama u ugrađenom jeziku

Ugrađeni obrazac za blokiranje jezika dizajniran je za kontrolu brava u transakciji. Primjer ovog objekta može se kreirati pomoću konstruktora i omogućava vam da opišete potrebne zaključane prostore i načine blokiranja. Da biste instalirali sve stvorene brave, metoda se koristi za blokiranje () blokiranog objekta. Ako se ova metoda izvodi u transakciji (eksplicitno ili implicitno), zaključavanje je instalirano i kraj transakcije će se automatski ukloniti. Ako je metoda blokirana () vrši se izvan transakcije, zaključavanje se neće instalirati.

Uvjeti su postavljeni na jednakost vrijednosti polja zadane vrijednosti ili za unos vrijednosti polja u navedeni raspon.
Uvjeti mogu biti postavljeni na dva načina:

  • korištenje izričito određivanja naziva i vrijednosti polja (metoda za postavljanje () objekt blokiranja elemenata);
  • korištenje izvora izvora podataka koji sadrži potrebne vrijednosti (svojstvo izvornog objekta blokiranja elemenata).

Za svaki blokirni element može se odrediti jedan od dva načina zaključavanja:

  • podijeljen
  • izuzetno.

Tabela kompatibilnosti kontroliranih brava je sljedeća.

Izvanjivi način blokiranja podrazumijeva da blokirani podaci ne mogu mijenjati drugu transakciju dok se trenutna transakcija ne ispuni.
Izuzetan način zaključavanja podrazumijeva da se blokirani podaci ne mogu promijeniti drugom transakcijom do kraja trenutne transakcije, a ne može se pročitati drugom transakcijom koja postavlja odvojeno blokiranje na ove podatke.

Značajke rada u režimu "Automatsko i upravljivo"

Prilikom rada u režimu upravljanja zaključavanjem, dvije funkcije treba uzeti u obzir automatski i upravljati:

Bez obzira na način naveden za ovu transakciju, sustav će uspostaviti odgovarajuće upravljano
Zaključavanje.
Način upravljanja zaključavanje određuje se transakcijom same razine "gornjeg". Drugim riječima, ako je započela druga transakcija po početku transakcije, početna transakcija može se izvršiti samo u režimu koji je instaliran za transakciju koja se već pokreće.

Razmislite o navedenim funkcijama detaljnije.

Prva karakteristika je da se i ako se transakcija koristi automatski način upravljanja zaključavanjem, sustav će se dodatno instalirati i odgovarajuće kontrolirane brave prilikom pisanja podataka u ovoj transakciji. Iz ovoga slijedi da se transakcije izvršene u kontroliranim bravama mogu sukobiti s transakcijama koje se izvode u režimu automatskog zaključavanja.

Druga je funkcija da je način upravljanja zaključavanjem naveden za metapodaci objekt u konfiguraciji ili naznačen na početku transakcije (kao parametar starta početka napona ()) samo je "željeni" način rada. Stvarni režim upravljanja zaključavanjem u kojem će se izvršiti transakcija ovisi o tome da li je ovaj izazov početka transakcije, ili do sada, druga transakcija je već započela na ovom zasjedanju sistema "1C: Enterprise".

Na primjer, ako želite kontrolirati brave prilikom snimanja unosa u registraciju, mod kontroliranog zaključavanja mora biti instaliran i za sam registar i za dokument, jer će u transakciji biti evidentiranje upisa u transakciju otvorite prilikom pisanja dokumenta.