Tranzakciós zárolás. Konfigurációs fordítás a kezelt zárakhoz Az automatikus zár mód érvénytelen a tranzakcióban

A kezelt zárakra való áttérés fő oka:

  • A fő ok az 1C ajánlás: szakértő az olvasások vagy az 1c: PC
  • A felhasználók párhuzamos működésével kapcsolatos problémák ()
  • Használja Oracle, PostgreSQL és.

A munka költsége:

A szabályozott blokkolás lényege

Automatikus zárvezérlési módban való munka esetén: A vállalat nagyfokú adatszigetelést állít be a tranzakcióban a DBMS szinten. Ez lehetővé teszi a nem holisztikus vagy helytelen adatok megszerzésének lehetőségét, anélkül, hogy különleges erőfeszítéseket teszne az alkalmazott fejlesztőknek.

Ez egy kényelmes I. a megfelelő megközelítés -ért kis mennyiség Aktív felhasználók. A könnyű fejlesztés ára bizonyos mennyiségű redundáns blokkolás a DBMS szinten. Ezek a zárak mind a DBMS reteszelő mechanizmusainak megvalósításának jellemzőivel társulnak, és így a DBMS nem veszi figyelembe (és nem veszi figyelembe) a metaadatok objektumok fizikai jelentését és szerkezetét 1c: vállalkozások.

Ha egy bizonyos pontig magas versenyen dolgozunk (nagyszámú felhasználó), a blokkolás csökkentésének hatása a párhuzamos üzemmódban látható teljesítmény szempontjából észrevehetővé válik.

Miután átvette a konfigurációt a szabályozott üzemmódba a platformon további funkció A "Lock Manager" és az adatok integritásának ellenőrzése nem a DBMS oldalán, hanem az 1C szerveren található. Ez növeli az 1C szerver vasalójának terhelését (a szükséges gyorsabb processzorok és több memória), és valójában még egy kis lassulást (több százalék), de sokkal nagyobb jelentős javítja a helyzetet zárral (kevesebb blokk az objektum blokkolásának köszönhetően, és Nem az asztalok kombinációjához, kevesebb blokk területhez, és bizonyos esetekben kevesebb élettartama emelés, azaz nem a tranzakció végéig). Ennek köszönhetően a teljes párhuzamosság javul.


Az új 1C konfigurációk azonnal kezelhető módban kerülnek végrehajtásra.

  • Kérdés: Lehetséges-e először az ellenőrzést, majd átadni az UB-ra?

Válasz: Lehet, hogy az ellenőrzés a fordítás szabályozott zárak megvalósíthatóságának további megalapozottságaként szolgál, és értékeli az automatikus zárak hozzájárulását az átfogó lassításhoz, és további erőfeszítésekre van szükség a fordításon kívül.

  • Kérdés: Az UB-ra való átutalás, pontosan mi a hozzáférés - RDP, TeamViewer? Vagy küldhet fájlkonfigurációt?

Válasz: Nem próbálunk korlátozni egy specifikus technológiát. távoli hozzáférésalkalmas a távoli hozzáférés bármely technológiája. Ha nem számít Önnek, akkor praktikus RDP.
Az elküldött konfigurációs fájl optimalizálást végezhetünk, de akkor nem lesz képes hibakeresés néhány valódi adat, és figyelni kell a tesztelésre. Ha optimalizálást végezünk az alap másolatánál, akkor gondosan tesztelhetjük, mielőtt megadjuk a munka eredményét.

  • Kérdés: A 10 rendszeres programozónk, akik minden nap megváltoztatják a konferenciát a konferencián. Használt általános konfigurációs tároló ". Hogyan szervezhető az interakció az UB-re \u200b\u200btörténő átvitel során? Vagy minden programozónak nyaralni kell?

Válasz: Rendszerként a változásaink pár napon belül történik. Az idő hátralévő részében az elvégzett változások tesztelése, beleértve a meghatározott vállalkozás szükséges logikájának szempontjából, és nem technikai szempontból. mi Módosíthatjuk külön fájl Konfiguráció CF, majd a programozó lehetővé teszi a tárolóban. Nyaraláson bárki nem lehet elküldeni. Más interakciós lehetőségekben csak meg kell állapodnia, hogy melyik objektumok tervezik a fejlesztők megragadását, hogy építsünk egy munkát, amely kényelmes mindkét fél számára. Jellemzően a teljes konfigurációs rögzítés nem szükséges, vagy adjon nekünk egy "kormánykeréket".

Gépezet tranzakciós blokkok A DBMS versenyképes felhasználói hozzáférése.
A tranzakció bizonyos elválaszthatatlan működés, amely alatt az alapállapot megváltozik. Ez egy minimális változás kvantum: lehetetlen egy fél tranzakciót készíteni; Ha a tranzakció nem fejeződött be, az alap visszafordul a kezdeti állapotba.
Mivel a tranzakció számos adatot rögzít, egy árnyalat következik be ehhez a tömbhöz: például egy tranzakció megváltoztatja az adatokat, és a többi megpróbálja elolvasni őket. Az olvasás eredménye helytelen lehet, mert nem fog bekapcsolni friss változások. Ezért a DBMS szinten a tranzakció elszigeteltség működik. A következő szigetelési szintek lehetségesek:

  • Olvassa el a nem parancsot - Míg egy tranzakció megváltoztatja a tömböt, a másik nem tudja megváltoztatni, de olvasható. Alacsonyabb izolálási szint.
  • Olvasni kezdett. - míg az egyik tranzakció megváltoztatja a tömböt, a másik nem változtathatja meg, és nem olvasható
  • Ismételhető olvasás. - míg egy tranzakció egy tömböt olvas, a másik nem tudja megváltoztatni, de olvashat
  • Serialaizálható - Míg egy tranzakció egy tömböt olvas, a másik nem tudja megváltoztatni vagy olvasni. Minden művelet következetes. Maximális elkülönítési szint.

Ha a konfiguráció 1c: telepített vállalkozások automatikus zár módA DBMS-t elkülönített tranzakció kiválasztása. Az SQL esetében az MS SQL esetében megismételhető vagy serializálható szintek lesznek, azaz az adatszigetelés közel van a maximálishoz. Ez megoldja az adatok helyességével kapcsolatos problémákat, de a felhasználók intenzív munkája során a DBMS szintjén lévő zárak megjelenését eredményezheti. Ezért az 1C-ben: a vállalatnak saját funkciója van a zárakkal, amelyet az ellenőrzött zárak bevonásával aktiválnak. Ebben az esetben az SQL tranzakciós elkülönítési szintjét el kell olvasni. A platform maga izolálja az adatokat anélkül, hogy a DBMS-re támaszkodik.

A vezérelt zár üzemmód beillesztése a konfigurációs tulajdonságokban történik:

A zár mód is beállítható bizonyos konfigurációs objektumokra:

Abban az esetben, ha a konfiguráció egésze telepítve van Automatikus mód Zárak, az összes nyilvántartás minden tranzakciója automatikus üzemmódban fog működni, függetlenül a konfigurációs objektumhoz beállított módtól függetlenül. Ha a kezelt hasonló, minden tranzakció kezelhető lesz. Ha a konfiguráció automatikus és szabályozott a konfigurációhoz, akkor az egyes objektumok módját a beállítások határozza meg.

Az üzemmódban az automatikus és kezelhető egy pont. Tranzakció, egyetlen felhasználó lehet több tranzakció a platform szempontjából. Például a nyilvántartási dokumentum interaktív lefolytatása teszi kettőtranzakciók - A dokumentum rögzítése, és a tranzakciós felvételi sorok nyilvántartásba vételéhez. A dokumentum zárolási módjától függően, és a nyilvántartás mozgó, négy helyzet lehetséges:

  1. Dokumentum üzemmód automatikus, regisztrálja az automatikus módot -\u003e
  2. Dokumentum üzemmódvezérelt, regisztrálási mód Managed-\u003e Regisztráljon bejegyzés menedzsment módban
  3. Dokumentum mód Automatikus, Regisztrációs mód Managed -\u003e Regisztráljon rekord automatikus módban
  4. Dokumentum mód vezérelt, regisztrálja az automatikus regisztrációt -\u003e Kivételes helyzet (hiba)

Kérdés 06.59 Vizsga 1c: Professzionális a platformon. Ha a dokumentumot bármely regiszteren végezzen, ha a dokumentumnak automatikus tranzakciós zárvezérlési módja van, és a nyilvántartást kezelik (a konfigurációs tulajdonságokban az "Automatikus és kezelhető" opciót használja, akkor az ilyen magatartás vezet:

A helyes válasz a második, definiálja az első tranzakciót, ha automatikus, akkor minden automatikusan.

Kérdés 06.60 Vizsga 1c: Professzionális a platformon. Ha a dokumentumot bármely regiszteren végezzen, ha a dokumentumnak ellenőrzött tranzakciós zárvezérlési módja van, és a nyilvántartás automatikus (a konfigurációs tulajdonságokban, az "Automatikus és kezelhető" opció) használható, akkor az ilyen magatartás vezet:

  1. téves helyzet kialakulásához
  2. a teljes tranzakció automatikusan végrehajtásra kerül
  3. a teljes tranzakciót kezelt módban végzik.

A helyes válasz az első, definiálja az első tranzakciót, ha kezelik, akkor hiba.

Kérdés 06.61 Vizsga 1c: Professzionális a platformon. Ha a dokumentumot bármely regiszteren végezzen, ha a dokumentumnak automatikus tranzakciós zárvezérlési módja van, és a nyilvántartást kezelik (a konfigurációs tulajdonságokban a "kezelhető" opciót használja), akkor az ilyen magatartás vezeti:

  1. téves helyzet kialakulásához
  2. a teljes tranzakció automatikusan végrehajtásra kerül
  3. a teljes tranzakciót kezelt módban végzik.

Adatzár kezelési mechanizmus A tranzakciónál lehetővé teszi, hogy blokkolja a változó adatokat, amelyeket nem az alkalmazott adatbázis-kezelő rendszer és a platform eszközök segítségével blokkolhat. Az ilyen adatzár menedzsment nem teljesül a DBA adatok, valamint a téma területén. Ennek köszönhetően a zárak "pontosabban" helyezkednek el, és a felhasználók párhuzamosságát felemelik.

Konfiguráció 1c: A 8-as vállalat a tranzakció három zárvezérlési módjának egyikében működhet:

  • auto;
  • kezelt - szabványos mód az új konfigurációkhoz;
  • automatikus és kezelhető.

BAN BEN automatikus üzemmód Az adatzár menedzsment ismételten olvasható és serializálható tranzakciós szigetelési szinteket használ az adatbázis-kezelő rendszer által biztosított. Ezek a tranzakciószigetelési szintek az adatok következetes és holisztikus olvasását biztosítják, és a fejlesztő nem igényel további zárolt kezelési műveleteket.

Irányított mód Lehetővé teszi, hogy növelje a felhasználók párhuzamosságát az ügyfél-kiszolgáló változatában az adatbázis-tranzakciós szigetelés alacsonyabb szintjén (Olvassa el az elkötelezett) használatát. A tranzakcióban szereplő adatok írásakor a beágyazott objektumok automatikusan blokkolják a szükséges adatokat. A fejlesztőnek az adatok blokkolásának kezelésére van szükség azokban az esetekben, amikor az üzleti logika a tranzakcióban szereplő adatok összehangolt és holisztikus olvasását igényli.

Automatikus és kezelhető A mód lehetővé teszi, hogy használja a képességét, hogy ellenőrizzék a zárakat az ügyletet csak néhány konfigurációs objektumok. Ez az üzemmód használható az egyes alkalmazási objektumokkal rendelkező felhasználók párhuzamosságának optimalizálására (például több leginkább intenzíven használt dokumentummal), vagy a nagy konfigurációk fokozatos fordításához a tranzakció zárolási módjához.

A különbség összefoglalójában az automatikus zár módban és az ellenőrzött zár üzemmódban a következő táblázatban talál:

Leggyakrabban a tranzakcióban lévő adatblokkolás kezelésének szükségessége a dokumentumok során előfordul, amikor el kell olvasnia, majd írja be a megváltozott adatokat ugyanazon a táblázatokba. Például, ha a maradványokat a dokumentum elvégzése során ellenőrizzük.

Különösen ehhez a felhalmozási nyilvántartások és a számviteli nyilvántartások nyilvántartásai vannak. Blokkolja a gyulladást.

Ha meg kell adnia a maradványokat, majd írja be a mozgások ugyanazt a regisztrációt, akkor ezt a tulajdonságot telepíteni kell a nyilvántartás nyilvántartásainak beállításához az ingatlanban. Mozgalom.

Ennek a tulajdonságnak a fellépése hasonló ahhoz, hogy ha a fejlesztő egymástól függetlenül (a kódban regisztrált) A szükséges szabályozott zárak 1c: Vállalatok 8. A szükséges szabályozott blokkoló platform automatikusan beállítja a rekordkészlet rögzítését. Ennek eredményeképpen a hasonló blokkolással rendelkező egyéb kezelt tranzakciók nem tudják elkezdeni ezt a regisztrációt, amíg az aktuális tranzakció vége.

Az alábbiakban egy példa a "kézi" adatblokkolás menedzsmentre, amikor elolvassa a felhalmozódási regiszter adatokat. Könyvelés A dokumentum feldolgozása során Számla. Ebben a példában az ellenőrzött zárakat a beépített nyelv segítségével készítik el és telepítik.

Az "1C: Enterprise" rendszer lehetővé teszi, hogy két adatbázis-módot használjon: Automatikus reteszelési mód a tranzakcióban és a tranzakcióban vezérelt zárakban.

Ezeknek a módoknak az alapvető különbsége a következő. Az automatikus reteszelési mód nem követeli meg a műveletek fejlesztőjét a tranzakcióban lévő zárak szabályozásához. Ezeket a szabályokat az "1C: Enterprise" rendszer platformja biztosítja egy adott DBMS egyes tranzakciószigetelési szintjének használatával. Az ilyen működési mód a fejlesztő számára a legegyszerűbb, de egyes esetekben (például intenzív egyidejű munkával. nagyszámú Felhasználók) A DBMS tranzakciós izolálásának bemeneti szintje nem tud elegendő párhuzamosságot biztosítani a munka, amely a felhasználói működés során nagyszámú ütközés formájában nyilvánul meg.

Ellenőrzött zárak esetén a "1c: Enterprise" rendszer sokkal többet használ alacsony szint A tranzakciók szigetelése a DBMS-ben, amely lehetővé teszi, hogy jelentősen növelje az alkalmazott megoldás munkájának párhuzamosságát. Azonban az automatikus reteszelési móddal ellentétben, ez a szint A tranzakció elkülönítése már nem tudja teljesíteni a tranzakcióban szereplő adatokkal kapcsolatos összes szabályt. Ezért, ha kezelhető módban dolgozik, a fejlesztőnek a tranzakcióba telepített zárak önálló ellenőrzéséhez szükséges.

A különbség összefoglalójában az automatikus zár módban és az ellenőrzött zár üzemmódban a következő táblázatban talál:

A zár mód beállítása a konfigurációban

A konfiguráció rendelkezik tulajdonságzáró vezérlési móddal. Minden konfigurációs alkalmazásnak van egy adatblokkoló módja is.
Az egész konfiguráció egész konfigurációjának adatblokkozási módja az automatikus értékekhez, kezelve (alapértelmezett az új konfigurációhoz) és az automatikus és kezelhető. Az értékek automatikus és kezeltek, hogy a megfelelő zárolási módot minden konfigurációs objektumhoz használják, függetlenül az egyes objektumokhoz beállított értékektől. Az érték automatikus és szabályozott eszköz, hogy a tulajdonságban megadott üzemmód automatikus vagy szabályozott, egy adott konfigurációs objektumhoz használható.
Meg kell jegyezni, hogy a metaadat-objektumhoz megadott adatblokkozási módot az "1C: Enterprise" rendszer által kezdeményezett tranzakciókra állítják be, amikor az objektum adataival dolgoznak (például az objektumadatok módosításakor).
Ha például egy objektumrekord műveletet végeznek a fejlesztő által kezdeményezett tranzakcióban (a kiindulási tranzakciós módszer ()), az adatblokk vezérlési módját a blokkoló üzemmódparaméter határozza meg
Módszerek Indítsa el a feszültséget (), és nem az adatblokkozási mód metaadat-objektumának tulajdonságainak értékét.
Alapértelmezés szerint a blokkoló üzemmód paramétere a regisztrált blokkok értéke. Automatikus, így
Annak érdekében, hogy az ellenőrzött zárakat egy explicit tranzakcióban használja, meg kell adnia a paraméter értékét.
Rocked Locks .. Folytatás.

A beépített nyelven vezérelt zárakkal dolgozhat

A beépített blokkoló nyelvhez kapcsolódó objektum célja a tranzakció zárolásainak ellenőrzése. Ennek az objektumnak egy példánya létrehozható egy konstruktorral, és lehetővé teszi a szükséges zárolt terek és blokkoló üzemmódok leírását. Az összes létrehozott zárak telepítéséhez a módszert a blokkoló objektum blokkolására használják. Ha ezt a módszert a tranzakcióban (explicit vagy implicit) hajtják végre, a zár be van szerelve, és a tranzakció vége automatikusan eltávolításra kerül. Ha az eljárás le van tiltva () A tranzakción kívül történik, a zár nincs telepítve.

A feltételek a megadott érték mezőértékének egyenlőségére állnak, vagy a mező értékének megadása a megadott tartományba.
A feltételek kétféleképpen állíthatók be:

  • a mező neve és értékének kifejezetten megadása (az elem-blokkolás objektumának beállítása);
  • a szükséges értékeket tartalmazó adatforrás forrása (az elem-blokkolás forrásobjektumának tulajdonsága).

Minden egyes blokkolóelem esetében a két zárolási mód közül az egyik meghatározható:

  • megosztott
  • kivételes.

Az ellenőrzött zárak kompatibilitási táblázata a következő.

Az elválasztható blokkoló üzemmód azt jelenti, hogy a blokkolt adatok nem változtathatók meg egy másik tranzakció, amíg a jelenlegi tranzakció befejeződik.
A kivételes zárolási mód azt jelenti, hogy a blokkolt adatok nem változtathatók meg egy másik tranzakció végéig a jelenlegi tranzakció végéig, és nem olvasható egy másik tranzakcióval, amely meghatározza az elkülönített blokkolást ezen adatokhoz.

A munka jellemzői "Automatikus és kezelhető" módban

A Lock Management módban való munkavégzés során két funkciót kell figyelembe venni az automatikus és a kezelt:

A tranzakcióhoz megadott módtól függetlenül a rendszer létrehozza a megfelelő kezelést
Zár.
A zárvezérlési módot a "felső" szint tranzakciója határozza meg. Más szóval, ha egy másik tranzakció a tranzakció kezdetén kezdődik, a kiindulási tranzakció csak a már futó tranzakcióhoz telepített üzemmódban hajtható végre.

Fontolja meg részletesebben a felsorolt \u200b\u200bfunkciókat.

Az első funkció az, hogy még akkor is, ha a tranzakciót automata zárvezérlési mód használjuk, a rendszer szintén telepíti a megfelelő vezérelt zárakat, amikor az adatokat írja be az ügyletben. Ebből következik, hogy az ellenőrzött zárakban végrehajtott tranzakciók ütközhetnek az automatikus zárolási módban végrehajtott tranzakciókkal.

A második jellem az, hogy a metaadat objektumhoz megadott zárvezérlő üzemmód a konfigurációban vagy a tranzakció kezdetén feltüntetve kifejezetten (a kezdőfeszültség megkezdésének paramétere ()) csak a "kívánt" mód. A tényleges zár vezérlés üzemmód, amelyben a tranzakció végrehajtásra kerül attól függ, hogy ezt a kihívást a kezdetét a tranzakció az első, vagy ezúttal egy másik tranzakció már elkezdődött ezen az ülésen a „1C: Enterprise” rendszer.

Ha például a nyilvántartási bejegyzések rögzítését szeretné ellenőrizni, akkor a dokumentum lefolytatásakor a szabályozott zárolási módot a regiszterre és a dokumentumra kell telepíteni, mivel a nyilvántartási bejegyzések felvételét a tranzakcióban rögzítik Nyissa meg a dokumentum írásakor.