Darījumu bloķēšanas kontrole. Konfigurācijas tulkojums pārvaldītajām slēdzenēm Automātiskais bloķēšanas režīms darījumā nav derīgs

Galvenie iemesli pārejai uz pārvaldītajām slēdzenēm:

  • Galvenais iemesls ir 1C ieteikums: eksperts, pamatojoties uz rādījumiem vai 1C: PC
  • Problēmas ar paralēlo lietotāju darbību ()
  • Izmantojiet Oracle, PostgreSQL un.

Darba izmaksas:

Kontrolētā bloķēšanas būtība

Strādājot automātiskajā bloķēšanas režīmā 1C: uzņēmums nosaka augstu datu izolāciju darījumā DBVS līmenī. Tas ļauj pilnībā novērst iespēju iegūt holistiskus vai nepareizus datus bez īpašiem pielietojošiem izstrādātājiem.

Tas ir ērts I. pareizā pieeja priekš neliels daudzums Aktīvie lietotāji. Attīstības ērtuma cena ir zināms atlaists bloķēšanas daudzums DBVS līmenī. Šīs slēdzenes ir saistītas ar abām iezīmēm, kas saistītas ar bloķēšanas mehānismu ieviešanu pašā DBMS un tā, ka DBVS nevar ņemt vērā (un neņem vērā) metadatu objektu 1C fizisko nozīmi un struktūru 1C: Uzņēmumi.

Strādājot ar augstu konkursu par resursiem (liels skaits lietotāju) kādā brīdī, bloķēšanas samazināšanas ietekme kļūst pamanāms no viedokļa veiktspēju ar paralēlo režīmu.

Pēc tam, kad ir aktivizēta konfigurācija uz kontrolēto režīmu papildu funkcija "Lock Manager" un kontrole pār datu integritāti nav tagad pusē DBVS, bet servera 1c serverī. Tas palielina 1C servera dzelzs (nepieciešamo ātrāku procesoru un vairāk atmiņas) slodzi un faktiski padara pat nelielu palēnināšanos (vairākas procenti), bet daudz nozīmīgāk uzlabo situāciju ar slēdzenēm (mazāk bloki aizsprostojumu dēļ objektam, un Ne uz tabulu kombināciju, mazāk bloka apgabalu un dažos gadījumos mazāk mūža kalpošanas pacelšanas, ti. ne līdz darījuma beigām). Sakarā ar to, kopējais paralēlisms uzlabojas.


Jaunas 1C konfigurācijas tiek īstenotas nekavējoties pārvaldītajā režīmā.

  • Jautājums: Vai ir iespējams vispirms veikt revīziju un pēc tam pārsūtīt uz UB?

Atbilde: Jūs varat, revīzija kalpos kā papildu pamatojums par tulkošanas iespējamību kontrolētos slēdzenēs un novērtē arī automātisko slēdzenes ieguldījumu kopējā palēnināšanā un vai ir vajadzīgi papildu pasākumi, kas nav vajadzīgi, izņemot tulkojumu.

  • Jautājums: Lai pārsūtītu uz UB, ko tieši nodrošināt piekļuvi - RDP, TeamViewer? Vai arī varat nosūtīt faila konfigurāciju?

Atbilde: Mēs cenšamies neierobežot vienu konkrētu tehnoloģiju. attālināta piekļuve, piemērots jebkura tālvadības piekļuves tehnoloģija. Ja tas nav svarīgi, tad praktiski RDP.
Mēs varam veikt optimizāciju ar nosūtīto konfigurācijas failu, bet tad mēs nevarēsim atkļūdot dažus reālus datus, un jums būs jābūt uzmanīgiem, lai pārbaudītu. Ja mēs veicam optimizāciju uz bāzes kopiju, tad mēs varam rūpīgi pārbaudīt, pirms mēs sniedzam jums darba rezultātu.

  • Jautājums: Mums ir 10 regulāri programmētāji, kas katru dienu maina kaut ko konferencē. Izmantoja vispārējo konfigurācijas krātuvi ". Kā mijiedarbība tiks organizēta, pārsūtot uz UB? Vai visi programmētāji ir jānosūta atvaļinājumā?

Atbilde: Parasti mūsu izmaiņas tiek veiktas pāris dienu laikā. Pārējais laiks ir pārbaudīt veiktās izmaiņas, tostarp no noteiktā biznesa loģikas un ne tehnisko apsvērumu viedokļa. mēs Mēs varam veikt izmaiņas atsevišķs fails Konfigurācija CF, un tad jūsu programmētājs ļaus repozitorijā. Atvaļinājumā ikviens nevar nosūtīt. Citās mijiedarbības iespējas jums vienkārši ir jāvienojas par kuriem objekti plāno uztvert jūsu izstrādātājus, lai mēs izveidotu darba plānu, ērtu abām pusēm. Parasti visa konfigurācijas uztveršana jūsu izstrādātājiem nav nepieciešama, vai mums ir "stūres rats" mums.

Mehānisms darījumu bloki Izmanto, lai konkurētspējīgu lietotāju piekļuvi DBMS.
Darījums ir noteikta neizretsable darbība, kurā stāvoklis bāzes izmaiņas. Tas ir minimālais izmaiņu daudzums: nav iespējams veikt pusi darījumu; Ja darījums nav pabeigts, bāzes roll atpakaļ sākotnējā stāvoklī.
Tā kā darījums atspoguļo datu klāstu, par piekļuvi šai masīvam: piemēram, viens darījums maina datus, un citi mēģina tos lasīt. Lasīšanas rezultāts var būt nepareizs, jo neieslēdzas pēdējās izmaiņas. Tāpēc DBMS līmenī darījumu izolācijas darbi. Šādi izolācijas līmeņi ir iespējami:

  • Lasiet nekaitētu - Lai gan viens darījums mainās masīvu, otrs nevar mainīt to, bet var lasīt. Zemāks izolācijas līmenis.
  • Lasītos. - Lai gan viens darījums mainās masīvu, otrs nevar to mainīt, ne lasīt
  • Atkārtojams lasījums. - Lai gan viens darījums lasa masīvu, otrs nevar to mainīt, bet var lasīt
  • Seriariizable - Lai gan viens darījums lasa masīvu, otrs nevar to mainīt vai lasīt. Visas darbības ir konsekventas. Maksimālais izolācijas līmenis.

Ja konfigurācijai 1C: uzstādītie uzņēmumi automātiskā bloķēšanas režīmsTiek izvēlēts DBVS darījums izolēt. Attiecībā uz MS SQL, tas būs atkārtojams lasīšanas vai serializable līmenis, tas ir, datu izolācija ir tuvu maksimāli. Tas atrisina problēmas ar datu pareizību, bet var novest pie izskatu slēdzenes pie DBMS līmenī intensīvā lietotāju darba laikā. Tāpēc 1C: uzņēmumam ir sava funkcionalitāte ar slēdzenēm, ko aktivizē kontrolētu slēdzenes iekļaušanu. Šajā gadījumā darījumu izolācijas līmenis SQL tiks nolasīts. Platforma pati par sevi izolēs datus, nepaļaujoties uz DBVS.

Kontrolētā bloķēšanas režīma iekļaušana notiek konfigurācijas īpašībās:

Arī bloķēšanas režīms var iestatīt konkrētiem konfigurācijas objektiem:

Gadījumā, lai konfigurāciju kopumā uzstādīta Automātiskais režīms Slēdzenes, visi darījumi uz visiem reģistriem darbosies automātiskajā režīmā, neatkarīgi no konfigurācijas objekta iestatītā režīma. Ja pārvaldītais ir līdzīgs, visi darījumi būs pārvaldāmi. Ja konfigurācija ir automātiska un kontrolēta konfigurācijai, tad katru objektu režīms tiks noteikts pēc tā iestatījumiem.

Par režīmu, automātiskais un pārvaldāms ir viens punkts. Darījums, viens lietotājs var būt vairāki darījumi no platformas viedokļa. Piemēram, reģistra dokumenta interaktīvā rīcība dividarījumi - pats dokumenta ierakstīšana un šīs darījuma reģistrācijas rindu iekšpusē. Atkarībā no pašu dokumenta bloķēšanas režīma un reģistra pārvietošanas ir iespējamas četras situācijas:

  1. Dokumentu režīms Automātiska, reģistrēt automātisko režīmu -\u003e
  2. Dokumentu režīma kontrolēts, reģistrācijas režīms Pārvaldīts -\u003e reģistrēt ierakstu pārvaldītajā režīmā
  3. Dokumentu režīms Automātiskais reģistra režīms Pārzina -\u003e Reģistrēt ierakstu automātiskajā režīmā
  4. Dokumentu režīma kontrolēts, reģistrēt automātisko reģistru -\u003e Ārkārtas situācija (kļūda)

Jautājums 06.59 Exam 1c: Professional uz platformas. Veicot dokumentu jebkurā reģistrā, ja dokumentam ir automātisks darījumu bloķēšanas vadības režīms, un tiek pārvaldīts reģistrs (konfigurācijas īpašībās tiek izmantota opcija "Automātiska un pārvaldība"), tad šāda rīcība novedīs:

Pareizā atbilde ir otrais, definējiet pirmo darījumu, ja tas ir automātisks, tad viss ir automātiski.

Jautājums 06.60 Exam 1c: Professional uz platformas. Veicot dokumentu jebkurā reģistrā Ja dokumentam ir kontrolēts darījuma bloķēšanas režīms, un reģistrs ir automātisks (konfigurācijas rekvizītos tiek izmantota opcija "Automātiska un pārvaldība"), tad šāda rīcība novedīs:

  1. kļūdainas situācijas rašanās
  2. viss darījums tiks veikts automātiski
  3. viss darījums tiks veikts pārvaldītajā režīmā.

Pareizā atbilde ir pirmā, definējot pirmo darījumu, ja tas tiek pārvaldīts, tad kļūda.

Jautājums 06.61 Eksāmens 1C: Professional uz platformas. Veicot dokumentu jebkurā reģistrā, ja dokumentam ir automātisks darījumu bloķēšanas vadības režīms, un reģistrs tiek pārvaldīts (konfigurācijas īpašībās tiek izmantota "pārvaldāmā" opcija), tad šāda rīcība novedīs:

  1. kļūdainas situācijas rašanās
  2. viss darījums tiks veikts automātiski
  3. viss darījums tiks veikts pārvaldītajā režīmā.

Datu bloķēšanas vadības mehānisms Darījumā ļauj bloķēt mainīgos datus, nevis izmantojot izmantoto datu bāzes pārvaldības sistēmu un platformas instrumentus. Šāda datu bloķēšanas pārvaldība netiek veikta DBA datu izteiksmē, kā arī tematiskās teritorijas ziņā. Pateicoties tam, slēdzenes tiek pārklātas "precīzāk", un tiek paaugstināta paralēlisms lietotāju.

Konfigurācija 1c: Enterprise 8 var darboties vienā no trim bloķēšanas režīmiem darījumā:

  • auto;
  • pārvaldīts - standarta režīms jaunām konfigurācijām;
  • automātiska un pārvaldāma.

Iebildums automātiskais režīms Datu bloķēšanas vadība izmanto atkārtojamus lasīšanas un sērijveidīgus darījumu izolācijas līmeņus, ko nodrošina datubāzes pārvaldības sistēma. Šie darījumu izolācijas līmeņi nodrošina konsekventu un holistisku datu lasīšanu, un izstrādātājs neprasa papildu bloķētus pārvaldības pasākumus.

Pārvaldīts režīms Ļauj palielināt lietotāju paralēlumu darba klienta-servera versijā, izmantojot zemāku datu bāzes darījumu izolācijas līmeni (lasīšanas izdarīts). Rakstot datus darījumā, iegultie objekti automātiski bloķē nepieciešamos datus. Izstrādātājs ir nepieciešams, lai pārvaldītu datu bloķēšanu gadījumos, kad biznesa loģika prasa koordinētu un holistisku datu lasīšanu darījumā.

Automātiska un pārvaldāma Režīms ļauj izmantot spēju kontrolēt darījuma slēdzenes tikai dažiem konfigurācijas objektiem. Šo režīmu var izmantot, lai optimizētu lietotāju paralēlismu ar individuāliem lietojumprogrammu objektiem (piemēram, ar vairākiem visiztīstītāk izmantotajiem dokumentiem) vai pakāpenisku tulkojumu lielo konfigurāciju uz bloķēšanas kontroles režīmā darījumā.

Kopumā starpība darbības laikā automātiskajā bloķēšanas režīmā un kontrolētā bloķēšanas režīmā skatiet šādu tabulu:

Visbiežāk, nepieciešamība pārvaldīt datu bloķēšanu darījumā notiek dokumentu laikā, kad jums ir nepieciešams lasīt, un pēc tam uzrakstiet mainītos datus tajā pašā tabulās. Piemēram, ja, veicot dokumentu, tiek uzraudzīti paliekas.

Īpaši tam, uzkrājumu reģistriem un grāmatvedības reģistriem ir īpašums. Bloķēt iekaisumus.

Ja jums ir nepieciešams, lai kontrolētu paliekas, un pēc tam uzrakstiet kustības uz to pašu reģistru, tad šis īpašums ir jāinstalē, lai uzstādītu ierakstus šī reģistra īpašumā. Kustība.

Šī īpašuma rīcība ir līdzīga kā tad, ja attīstītājs instalēts neatkarīgi (reģistrēts Kodeksā) nepieciešamās kontrolētās slēdzenes 1C: Uzņēmumi 8. Nepieciešamā kontrolētā bloķēšanas platforma tiks automātiski iestatīts, ierakstot šo ierakstu kopumu. Rezultātā citi pārvaldītie darījumi, kas izmanto līdzīgu bloķēšanu, nevarēs sākt lasīt šo reģistru līdz pašreizējam darījuma beigām.

Zemāk ir piemērs "Manual" datu bloķēšanas pārvaldībai, lasot uzkrāšanas reģistra datus. Grāmatvedība Dokumenta apstrādē Pārdošanas rēķins. Šajā piemērā kontrolētās slēdzenes tiek izveidotas un uzstādītas pilnībā, izmantojot iebūvēto valodu.

Sistēma "1C: Enterprise" ļauj izmantot divu datu bāzes režīmus: Automātiskā bloķēšanas režīms darījumā un kontrolētās slēdzenes darījumā.

Šo režīmu būtiskā atšķirība ir šāda. Automātiskā bloķēšanas režīms neprasa izstrādāt jebkuras darbības, lai kontrolētu slēdzenes darījumā kārtībā. Šos noteikumus nodrošina "1C: uzņēmuma" platforma, izmantojot noteiktus darījumu izolācijas līmeņus noteiktā DBVS. Šāds darbības veids ir visvienkāršākais attīstītājam, bet dažos gadījumos (piemēram, ar intensīvu vienlaicīgu darbu. liels skaits Lietotāji) Darījumu izolācijas ievades līmenis DBVS nevar nodrošināt pietiekamu darba paralēli, kas izpaužas kā daudzu slēdzenes konfliktu veidā lietotāja darbības laikā.

Darbojoties kontrolētos slēdzenēs, sistēma "1C: uzņēmums" izmanto daudz vairāk zems līmenis Darījumu izolācija DBVS, kas ļauj ievērojami palielināt piemērotā risinājuma darba paralēlismu. Tomēr pretstatā automātiskajam bloķēšanas režīmam, \\ t Šis līmenis Darījumu izolēšana vairs nevar izpildīt visus noteikumus par darījuma datiem. Tāpēc, strādājot pārvaldāmā režīmā, izstrādātājam ir nepieciešams patstāvīgi kontrolēt darījumā uzstādītās slēdzenes.

Kopumā starpība darbības laikā automātiskajā bloķēšanas režīmā un kontrolētā bloķēšanas režīmā skatiet šādu tabulu:

Lock režīma iestatīšana konfigurācijā

Konfigurācijai ir īpašuma bloķēšanas vadības režīms. Katrai konfigurācijas programmai ir arī datu bloķēšanas režīms.
Datu bloķēšanas režīms visai konfigurācijai kopumā var iestatīt uz automātiskām vērtībām, pārvaldāmiem (noklusējuma jaunai konfigurācijai) un automātiskai un pārvaldāmai. Vērtības ir automātiskas un pārvaldītas, jo atbilstošais bloķēšanas režīms tiks izmantots visiem konfigurācijas objektiem, neatkarīgi no katras objektiem noteiktajām vērtībām. Vērtība ir automātiska un kontrolēta nozīmē, ka režīms, kas norādīts savā īpašumā, ir automātisks vai kontrolēts, tiks izmantots konkrētam konfigurācijas objektam.
Jāatzīmē, ka datu bloķēšanas režīms, kas norādīts metadatu objektam, ir noteikts darījumiem, kas tiek uzsākti ar "1C: uzņēmuma" sistēmu, strādājot ar datiem par šo objektu (piemēram, mainot objekta datus).
Ja, piemēram, objekta ieraksta darbība tiek veikta darījumā, ko ierosinājis izstrādātājs (Sākuma darījuma metode ()) datu bloķēšanas režīmu nosaka bloķēšanas režīma parametrs
Metodes sāk spriegumu (), nevis datu bloķēšanas režīma metadatu objekta īpašības.
Pēc noklusējuma bloķēšanas režīma parametram ir reģistrēto bloku vērtība. Automātiski, tāpēc
Lai izmantotu kontrolētos slēdzenes skaidrā darījumā, jānorāda šī parametra vērtība.
Rocked slēdzenes .. kontinēts.

Darbs ar kontrolētām slēdzenēm iebūvētajā valodā

Iebūvēts bloķēšanas valodas saistītais objekts ir paredzēts, lai kontrolētu slēdzenes darījumā. Šā objekta gadījumu var izveidot, izmantojot konstruktoru un ļauj aprakstīt nepieciešamās slēgtās telpas un bloķēšanas režīmus. Lai instalētu visas izveidotās slēdzenes, metode tiek izmantota, lai bloķētu () bloķēšanas objektu. Ja šī metode tiek veikta darījumā (skaidra vai netieša), slēdzene ir uzstādīta un darījuma beigas tiks automātiski noņemta. Ja metode ir bloķēta () tiek veikta ārpus darījuma, slēdzene netiks instalēta.

Nosacījumi ir iestatīti uz vienlīdzību lauka vērtības norādīto vērtību vai lai ievadītu lauka vērtību uz norādīto diapazonu.
Nosacījumus var iestatīt divos veidos:

  • izmantojot skaidri norādot lauka nosaukumu un vērtību (metode iestatīšanai () elementu bloķēšanas objekts);
  • izmantojot datu avotu, kurā ir nepieciešamās vērtības (elementu bloķēšanas avota objekta īpašums).

Katram bloķēšanas elementam var norādīt vienu no diviem bloķēšanas režīmiem:

  • dalīts
  • ārkārtējs.

Kontrolēto slēdzeņu saderības tabula ir šāda.

Atdalāms bloķēšanas režīms nozīmē, ka bloķētie dati nevar tikt mainīti ar citu darījumu, līdz pašreizējais darījums ir pabeigts.
Ārkārtas bloķēšanas režīms nozīmē, ka bloķētie dati nevar tikt mainīti ar citu darījumu līdz pašreizējā darījuma beigām, un to nevar nolasīt ar citu darījumu, kas nosaka atdalīto bloķēšanu šiem datiem.

Darba funkcijas "automātiskā un pārvaldāmā" režīmā

Strādājot bloķēšanas režīmā, jāņem vērā divas funkcijas, jāņem vērā automātiski un jāpārvalda:

Neatkarīgi no šī darījuma režīma, sistēma izveidos atbilstošo pārvaldīto
Slēdzeni.
Lock vadības režīmu nosaka pats "augšējā" līmeņa darījums. Citiem vārdiem sakot, ja viens darījums sākās pēc darījuma sākuma, sākuma darījumu var izpildīt tikai režīmā, kas ir instalēts jau darbojošajam darījumam.

Apsveriet uzskaitītās funkcijas sīkāk.

Pirmā iezīme ir tāda, ka pat tad, ja darījums tiek izmantots automātiskā bloķēšanas vadības režīmā, sistēma papildus instalēs un atbilstošās kontrolētās slēdzenes rakstot datus šajā darījumā. No tā izriet, ka darījumi, kas veikti kontrolētos slēdzēs, var būt pretrunā ar darījumiem, kas tiek izpildīti automātiskā bloķēšanas režīmā.

Otrā iezīme ir tāda, ka metadatu objektam norādītais bloķēšanas vadības režīms Darījuma sākumā ir skaidri (kā sākuma sprieguma sākuma ()) parametrs ir tikai "vēlamais" režīms. Faktiskais bloķēšanas vadības režīms, kurā darījums tiks izpildīts, ir atkarīgs no tā, vai šis izaicinājums sākas darījuma sākumā, vai ar šo laiku vēl viens darījums jau ir sācies šajā "1C: uzņēmuma" sesijā.

Piemēram, ja jūs vēlaties, lai kontrolētu slēdzenes, ierakstot reģistra ierakstus, veicot dokumentu, kontrolējamais bloķēšanas režīms ir jāuzstāda gan pašu reģistram, gan dokumentam, jo \u200b\u200breģistrācijas ierakstu ieraksti tiks ierakstīti darījumā atvērts, rakstot dokumentu.