Ochiq
Yopish

Bloklash menejeridan foydalanishda xatolik yuz berdi. Tranzaksiya ma'lumotlarini blokirovka qilishni boshqarish, mexanizm. O'rnatilgan til yordamida boshqariladigan qulflar bilan ishlash

Boshqariladigan qulflarga o'tishning asosiy sabablari:

  • Asosiy sabab - ko'rsatmalarga asoslangan 1C: Ekspert yoki 1C: TsUP tavsiyasi.
  • Bir vaqtda foydalanuvchilar bilan bog'liq muammolar ()
  • Oracle, PostgreSQL va .

Ish narxi:

Boshqariladigan qulflarning mohiyati

Avtomatik qulflashni boshqarish rejimida ishlaganda, 1C: Enterprise DBMS darajasida tranzaktsiyada ma'lumotlarning yuqori darajada izolyatsiyasini o'rnatadi. Bu dastur ishlab chiquvchilari tomonidan hech qanday maxsus harakatlarsiz to'liq bo'lmagan yoki noto'g'ri ma'lumotlarni olish imkoniyatini butunlay yo'q qilishga imkon beradi.

Bu kam sonli faol foydalanuvchilar uchun qulay va to'g'ri yondashuv. Rivojlanish qulayligining narxi ma'lumotlar bazasi darajasida ma'lum miqdordagi ortiqcha blokirovkadir. Ushbu qulflar ham ma'lumotlar bazasining o'zida qulflash mexanizmlarini amalga oshirishning o'ziga xos xususiyatlari bilan, ham DBMS 1C: Enterprise metama'lumotlar ob'ektlarining jismoniy ma'nosi va tuzilishini hisobga olmasligi (va yo'q) bilan bog'liq.

Resurslar uchun yuqori tortishuvlar bilan ishlaganda (ko'p sonli foydalanuvchilar), bir nuqtada ortiqcha qulflarning ta'siri parallel rejimda ishlash nuqtai nazaridan sezilarli bo'ladi.

Konfiguratsiyani boshqariladigan rejimga o'tkazgandan so'ng, platformada "qulflash menejeri" ning qo'shimcha funksiyasi faollashtiriladi va ma'lumotlar yaxlitligini boshqarish endi DBMS tomonida emas, balki 1C server tomonida amalga oshiriladi. Bu 1C server uskunasiga yukni oshiradi (tezroq protsessorlar va ko'proq xotira talab qilinadi) va aslida biroz sekinlashuvni (bir necha foiz) keltirib chiqaradi, ammo bu qulflar bilan bog'liq vaziyatni sezilarli darajada yaxshilaydi (ob'ektdagi qulflar tufayli kamroq qulflar va jadvallar kombinatsiyasida emas, kamroq blokirovka maydoni va ba'zi hollarda o'qish qulflarining ishlash muddati qisqaroq, ya'ni tranzaktsiyaning oxirigacha emas). Bu umumiy parallellikni yaxshilaydi.


1C dan yangi konfiguratsiyalar darhol boshqariladigan rejimda amalga oshirildi.

  • Savol: Avval audit o'tkazib, keyin FM ga o'tkazish mumkinmi?

Javob: Ha, audit boshqariladigan qulflarga o'tkazishning maqsadga muvofiqligi uchun qo'shimcha asos bo'lib xizmat qiladi, shuningdek, avtomatik blokirovkalarning umumiy sekinlashuvga qo'shgan hissasini va uzatishdan tashqari qo'shimcha harakatlar zarurligini baholash uchun xizmat qiladi.

  • Savol: UX-ga o'tish uchun qanday kirishni ta'minlash kerak - RDP, TeamViewer? Yoki konfiguratsiya faylini sizga yuborishim mumkinmi?

Javob: Biz o'zimizni faqat bitta masofaviy kirish texnologiyasi bilan cheklamaslikka harakat qilamiz, buni amalga oshiradi har qanday masofaviy kirish texnologiyasi. Agar bu siz uchun muhim bo'lmasa, RDP ko'proq amaliy.
Biz yuborilgan konfiguratsiya fayli asosida optimallashtirishni amalga oshirishimiz mumkin, ammo keyin biz ba'zi haqiqiy ma'lumotlarni disk raskadrovka qila olmaymiz va siz sinchkovlik bilan sinab ko'rishingiz kerak bo'ladi. Agar biz ma'lumotlar bazasi nusxasida optimallashtirishni amalga oshirsak, sizga ish natijasini berishdan oldin uni batafsilroq sinab ko'rishimiz mumkin.

  • Savol: Bizda har kuni konferentsiyada biror narsani o'zgartiradigan 10 ta to'liq vaqtli dasturchilar bor. Umumiy konfiguratsiya do'koni ishlatiladi." UX ga o'tish paytida o'zaro ta'sir qanday tashkil qilinadi? Yoki barcha dasturchilarni ta'tilga yuborish kerakmi?

Javob: Qoidaga ko'ra, bizning o'zgarishlarimiz bir necha kun ichida amalga oshiriladi. Qolgan vaqt kiritilgan o'zgarishlarni sinovdan o'tkazishga sarflanadi, shu jumladan texnik nuqtai nazardan emas, balki biznes tomonidan aniqlangan talab qilinadigan mantiq nuqtai nazaridan. Biz alohida konfiguratsiya fayliga o'zgartirishlar kiritishimiz mumkin cf , keyin dasturchingiz uni omborga topshiradi. Hech kim ta'tilga chiqmasligi kerak. O'zaro ta'sir qilishning boshqa variantlarida siz faqat ishlab chiquvchilaringiz qaysi ob'ektlarni suratga olishni rejalashtirayotgani haqida kelishib olishingiz kerak, shunda biz ikkala tomon uchun qulay bo'lgan ish rejasini tuza olamiz. Qoidaga ko'ra, sizning ishlab chiquvchilaringiz butun konfiguratsiyani qo'lga kiritishlari yoki bizga bir kunlik "rulni" berishlari shart emas.

Mexanizm tranzaksiya bloklari DBMSga raqobatdosh foydalanuvchi kirishi uchun foydalaniladi.
Tranzaksiya - bu ma'lumotlar bazasining holati o'zgargan doimiy operatsiya turi. Bu o'zgarishning minimal miqdori: siz yarim operatsiyani amalga oshira olmaysiz; agar tranzaktsiya tugallanmasa, ma'lumotlar bazasi dastlabki holatiga qaytariladi.
Tranzaktsiya ma'lumotlar massivini qamrab olganligi sababli, ushbu massivga kirishda nuance paydo bo'ladi: masalan, bitta tranzaksiya ma'lumotlarni o'zgartiradi, ikkinchisi esa uni o'qishga harakat qiladi. O'qish natijasi noto'g'ri bo'lishi mumkin, chunki so'nggi o'zgarishlarni o'z ichiga olmaydi. Shuning uchun tranzaksiya izolyatsiyasi DBMS darajasida ishlaydi. Quyidagi izolyatsiya darajalari mumkin:

  • Qattiq o'qing- bitta tranzaksiya massivni o'zgartirsa, boshqasi uni o'zgartira olmaydi, lekin uni o'qiy oladi. Izolyatsiyaning eng past darajasi.
  • O'qildi- bitta tranzaksiya massivni o'zgartirsa, boshqasi uni o'zgartira olmaydi yoki o'qiy olmaydi
  • Takroriy o'qish- bitta tranzaksiya massivni o'qiyotganda, boshqasi uni o'zgartira olmaydi, lekin uni o'qiy oladi
  • Seriyalash mumkin- bitta tranzaksiya massivni o'qiyotganda, boshqasi uni o'zgartira olmaydi yoki o'qiy olmaydi. Barcha operatsiyalar ketma-ket amalga oshiriladi. Maksimal izolyatsiya darajasi.

Agar 1C: Enterprise konfiguratsiyasi o'rnatilgan bo'lsa avtomatik qulflash rejimi, keyin tranzaksiya izolyatsiyasi darajasi DBMS tomonidan tanlanadi. MS SQL holatida, bu takrorlanadigan o'qiladigan yoki seriyali darajalar bo'ladi, ya'ni ma'lumotlar izolyatsiyasi maksimal darajaga yaqin. Bu ma'lumotlarning to'g'riligi bilan bog'liq muammolarni hal qiladi, lekin foydalanuvchining intensiv ishlashi paytida DBMS darajasida blokirovkaga olib kelishi mumkin. Shuning uchun, 1C: Enterprise boshqariladigan qulflar rejimini yoqish orqali faollashtirilgan qulflar bilan ishlash uchun o'z funksiyasiga ega. Bunday holda, MS SQL uchun tranzaksiya izolyatsiyasi darajasi o'qiladi. Platformaning o'zi ma'lumotlar bazasiga tayanmasdan ma'lumotlarni ajratib turadi.

Boshqariladigan qulflash rejimi konfiguratsiya xususiyatlarida yoqilgan:

Bundan tashqari, qulflash rejimi muayyan konfiguratsiya ob'ektlari uchun o'rnatilishi mumkin:

Agar konfiguratsiya umuman Avtomatik qulflash rejimiga o'rnatilgan bo'lsa, konfiguratsiya ob'ekti uchun o'rnatilgan rejimdan qat'i nazar, barcha registrlar uchun barcha operatsiyalar avtomatik rejimda ishlaydi. Agar boshqariladigan bo'lsa, xuddi shunday, barcha tranzaksiyalar Boshqariladigan ichida bo'ladi. Agar konfiguratsiya rejimi Avtomatik va boshqarilsa, har bir ob'ekt uchun rejim uning sozlamalari bilan belgilanadi.

Avtomatik va boshqariladigan rejim uchun bitta nuqta mavjud. Foydalanuvchi uchun bitta tranzaksiya platforma nuqtai nazaridan bir nechta tranzaktsiyalarni ifodalashi mumkin. Masalan, hujjatni interaktiv tarzda reestrga joylashtirish ikki tranzaktsiyalar - hujjatning o'zi yozuvi va ushbu operatsiya doirasida registr bo'yicha qatorlar to'plamining yozuvi. Hujjatning o'zi va u harakatlanadigan registrning blokirovkasini boshqarish rejimiga qarab, to'rtta holat mumkin:

  1. Hujjat rejimi Avtomatik, ro'yxatga olish rejimi Avtomatik ->
  2. Hujjat rejimi Boshqariladigan, ro'yxatga olish rejimi Boshqariladigan -> boshqariladigan rejimda ro'yxatdan o'tish orqali yozib olish
  3. Hujjat rejimi Avtomatik, ro'yxatga olish rejimi Boshqariladigan -> avtomatik rejimda ro'yxatga olish orqali yozib olish
  4. Hujjat rejimi Boshqariladigan, ro'yxatdan o'tish rejimi Avtomatik -> istisno (xato)

1C imtihonining 06.59 savoli: Professional platformasi. Hujjatni istalgan registr orqali joylashtirishda, agar hujjatda tranzaksiyani blokirovka qilishni avtomatik boshqarish rejimi bo'lsa va registrda boshqariladigan rejim mavjud bo'lsa (konfiguratsiya xususiyatlarida "Avtomatik va boshqariladigan" opsiyasi qo'llaniladi), unda bunday joylashtirish quyidagilarga olib keladi:

To'g'ri javob ikkinchisi, biz uni birinchi tranzaksiya bo'yicha aniqlaymiz, agar u avtomatik bo'lsa, unda hamma narsa avtomatik.

1C imtihonining 06.60 savoli: Professional platforma. Hujjatni istalgan registr orqali joylashtirishda, agar hujjatda tranzaksiya blokirovkalarini boshqarish uchun boshqariladigan rejim mavjud bo'lsa va registrda avtomatik rejim mavjud bo'lsa (konfiguratsiya xususiyatlarida "Avtomatik va boshqariladigan" opsiyasi qo'llaniladi), unda bunday joylashtirish quyidagilarga olib keladi:

  1. xato holatiga
  2. butun tranzaksiya avtomatik ravishda yakunlanadi
  3. butun tranzaksiya nazorat qilinadigan tarzda yakunlanadi

To'g'ri javob birinchi, biz birinchi tranzaksiya bo'yicha aniqlaymiz, agar u nazorat qilinsa, bu xato.

1C imtihonining 06.61-savol: Professional platformasi. Hujjatni istalgan registr orqali joylashtirishda, agar hujjatda tranzaksiya blokirovkalarini boshqarish uchun avtomatik rejim mavjud bo'lsa va registrda boshqariladigan rejim bo'lsa (konfiguratsiya xususiyatlarida "Boshqariladigan" opsiyasi ishlatiladi), unda bunday joylashtirish quyidagilarga olib keladi:

  1. xato holatiga
  2. butun tranzaksiya avtomatik ravishda yakunlanadi
  3. butun tranzaksiya nazorat qilinadigan tarzda yakunlanadi

Ma'lumotlarni blokirovka qilishni boshqarish mexanizmi tranzaktsiyada o'zgaruvchan ma'lumotlarni ishlatiladigan ma'lumotlar bazasini boshqarish tizimi yordamida emas, balki platforma yordamida blokirovka qilish imkonini beradi. Bunday ma'lumotlarni blokirovka qilishni boshqarish DBMS ma'lumotlari nuqtai nazaridan emas, balki mavzu sohasi bo'yicha amalga oshiriladi. Buning yordamida qulflar yanada aniqroq qo'llaniladi va foydalanuvchi parallelligi ortadi.

1C konfiguratsiyasi: Enterprise 8 tranzaksiyadagi qulflarni boshqarish uchun uchta rejimdan birida ishlashi mumkin:

  • avto;
  • boshqariladigan - yangi konfiguratsiyalar uchun standart rejim;
  • avtomatik va boshqariladigan.

IN avtomatik rejim Ma'lumotlar blokirovkasini boshqarish ma'lumotlar bazasini boshqarish tizimi tomonidan taqdim etilgan takrorlanadigan o'qiladigan va ketma-ketlashtiriladigan tranzaktsiyalarni izolyatsiyalash darajalaridan foydalanadi. Ushbu tranzaksiya izolyatsiyasi darajalari ishlab chiqaruvchidan blokirovkani boshqarishning qo'shimcha harakatlarini talab qilmasdan ma'lumotlarni izchil va izchil o'qishni ta'minlaydi.

Boshqariladigan rejim ma'lumotlar bazasi tranzaksiyalarini izolyatsiyasining pastroq darajasidan foydalangan holda mijoz-server ish rejimida foydalanuvchi ishining parallelligini oshirishga imkon beradi (O'qing). Tranzaktsiyaga ma'lumotlarni yozishda o'rnatilgan til ob'ektlari kerakli ma'lumotlarni avtomatik ravishda bloklaydi. Ishlab chiquvchi biznes mantig'i tranzaktsiyadagi ma'lumotlarni izchil va izchil o'qishni talab qiladigan holatlarda ma'lumotlar blokirovkalarini boshqarishi kerak.

Avtomatik va boshqariladigan rejim faqat ba'zi konfiguratsiya ob'ektlari uchun tranzaksiyadagi qulflarni boshqarish imkoniyatidan foydalanish imkonini beradi. Ushbu rejimdan foydalanuvchining individual dastur ob'ektlari (masalan, eng ko'p ishlatiladigan bir nechta hujjatlar) bilan mos kelishini optimallashtirish yoki katta konfiguratsiyalarni tranzaksiya blokirovkasini boshqarish rejimiga bosqichma-bosqich o'tkazish uchun foydalanish mumkin.

Xulosa qilib aytganda, avtomatik blokirovka rejimida va boshqariladigan blokirovka rejimida ishlashdagi farqlar quyidagi jadvalda ko'rsatilgan:

Ko'pincha, tranzaktsiyada ma'lumotlar blokirovkasini boshqarish zarurati hujjatlarni joylashtirish jarayonida, o'zgartirilgan ma'lumotlarni bir xil jadvallarga o'qish va keyin yozish kerak bo'lganda paydo bo'ladi. Misol uchun, agar siz hujjatni joylashtirishda balanslarni kuzatayotgan bo'lsangiz.

Ayniqsa, bu maqsadda jamg'arish registrlari va buxgalteriya registrlari yozuvlari to'plamlari mulkka ega. BlockForChange.

Agar siz balanslarni nazorat qilishingiz va keyin harakatni bir xil registrda qayd etishingiz kerak bo'lsa, u holda bu xususiyat mulkdagi ushbu registrning yozuvlari to'plami uchun o'rnatilishi kerak. Harakatlar.

Ushbu xususiyatning ta'siri xuddi ishlab chiquvchi 1C: Enterprise 8 uchun kerakli boshqariladigan qulflarni mustaqil ravishda o'rnatgan (kodda ko'rsatilgan) bilan bir xil. Ushbu yozuvlar to'plamini yozishda platforma avtomatik ravishda kerakli boshqariladigan qulfni o'rnatadi. Natijada, xuddi shu qulfdan foydalanadigan boshqa boshqariladigan tranzaktsiyalar joriy tranzaksiya tugamaguncha ushbu registrni o'qishni boshlay olmaydi.

Quyida jamlash registrlari ma'lumotlarini o'qishda ma'lumotlar blokirovkasini "qo'lda" boshqarish misoli keltirilgan Elementlarni hisobga olish hujjatlarni qayta ishlashda Sotish hisob-fakturasi. Ushbu misolda boshqariladigan qulflar butunlay o'rnatilgan til yordamida yaratilgan va o'rnatiladi.