Oturum henüz planlanmadı. Kullanıcı oturumlarının sonlandırılması, nasıl çalıştığı, neler yapıldığı. Kullanıcıları rdp'den kaldırma

"1C: Enterprise 8" de oturum ve bağlantı kavramları arasındaki fark

Bu makaleden ne öğreneceksiniz?

  • 1C'yi geçerken en popüler sorulardan birinin doğru cevabı: Uzman
  • Bağlantıların ve 1C oturumlarının amacı ve özellikleri
  • Hangi oturum verileri saklanır

Oturum ve bağlantı arasındaki fark nedir? Bu, ilk bakışta, 1C'deki basit bir soru: Uzman sınavı birçok kişiyi şaşırtıyor. Önemli programlama deneyimine rağmen, her uzman net ve doğru bir cevap formüle edemez.

Bu yazıda, bu konunun ayrıntılı bir analizini yapacağız. Başlamak için, 1C: Enterprise'daki oturum ve bağlantı kavramlarını ayrı ayrı ele alalım. Bilgilerin 8.2.x ve 8.3.x platform sürümleri için geçerli olduğunu unutmayın.

Oturum 1C

Yönetici kılavuzuna bakalım. Oturum kavramını şu şekilde tanımlar:

Oturum, bilgi bankasının aktif kullanıcısını ve bu kullanıcının kontrol akışını tanımlar.

Sunucu kümesinin kullanıcıları görmediğini, bunun yerine oturumları ve oturum verilerini gördüğünü söyleyebiliriz. Küme yönetim konsolunda, prensip olarak, "Kullanıcılar" bölümü yoktur; kullanıcılar tarafından küme, oturumlar anlamına gelir.

Bu, Oturumlar öğesinin görsel sunumuyla onaylanır - simge, kullanıcılar olarak görüntülenir.

Etkin bir kullanıcının mutlaka bir istemci bağlantısı anlamına gelmediği açıklığa kavuşturulmalıdır, ayrıca şunlar da olabilir:

  • 1C: Enterprise istemci uygulamasının bir kopyası
  • web istemcisinin çalıştığı web uygulaması örneği
  • V83.COMConnector nesnesinden elde edilen dış bağlantı örneği
  • arka plan işinin 1 kopyası
  • 1 web servisine çağrı

Oturum verileri

Oturum verileri kavramını ele alalım. Oturum aşağıdakiler gibi bazı bilgiler içerir:

  • bilgi tabanı adı
  • oturum numarası
  • kimliği doğrulanmış bilgi bankası kullanıcısının adı
  • arayüz dili
  • oturum parametre değerleri
  • geçici depolama
  • oturum istatistikleri
  • yönetilen başvuru formu bilgileri
  • bazı dahili platform verileri

Bu bilgilere oturum verileri denir. Ayrıca, her aktif kullanıcı için oturum verileri farklıdır ve yalnızca çalışma süresi ile ilgilidir. Kullanıcı veritabanından ayrılırsa (oturumu sonlandırdıysa), oturum verileri silinir.

Oturum verileri bir sunucu kümesinde depolanır, bundan küme yöneticisi sorumludur ve oturum verileri hizmetinin amacı budur. İşleri hızlandırmak için oturum verileri iş akışlarında ve yoğun istemcilerde önbelleğe alınır.

Sunucu kümesi yeniden başlatıldığında, oturum verileri korunur. Etkin kullanıcı 20 dakika içinde kümeye tek bir çağrı yapmamışsa ve oturum bağlantıya atanmamışsa, oturum verileriyle birlikte silinir.

Bir oturumu sürdürmek için ince istemci ve web istemcisi, kümeyle en az 10 dakikada bir iletişim kurulmasını sağlar.

Bağlantı 1C

Şimdi bağlantı kavramıyla ilgilenelim. Yönetici kılavuzuna tekrar atıfta bulunarak:

Bağlantı, 1C: Enterprise sunucu kümesindeki oturumlara erişmenin bir yoludur, sınırlı sayıda bağlantı verisi içerir ve etkin bir kullanıcıyla tanımlanmaz.

Başka bir deyişle, oturum bir bağlantı aracılığıyla kümeye erişir. Bu durumda bağlantı sayısı sınırlıdır ve oturum için gereksiz hale gelir gelmez bağlantı havuzuna döndürülür.

Oturum kümeye erişmezse, yani kullanıcı boştaysa, kendisine bir bağlantı atanmaz. Böylece, bir oturum bağlantı olmadan da var olabilir.

Oturum verilerinin sunucuda saklandığına dikkat edilmelidir, bu nedenle bağlantının kesilmesi 20 dakikadan az sürerse, bağlantı yalnızca bir erişim aracı olduğundan, bu oturumu etkilemeyecektir.

Örneğin, bir ağ kablosunu yanlışlıkla çıkarırsanız, kabloyu 20 dakika içinde bağlamayı başarırsanız kullanıcı bir hata mesajı almaz. Bu durumda, oturuma yeni bir bağlantı atanacak ve çalışmaya devam edecektir. Kullanıcı, olası hafif bir "donma" istisnası dışında sorunu bile bilmeyecek.

Ayrıca bağlantılar, küme işlemleri arasındaki etkileşim için kullanılır, yani çalışan işlemler (rphost) küme yöneticisiyle (rmngr işlemi) bağlantıları kullanarak ve oturumları kullanmadan iletişim kurar.

Bağlantılar ve oturumlar arasındaki farklar

Bu kavramlar arasındaki temel farkı açıklamak için bir analoji vereceğiz.

Diyelim ki oturum bir yolcu ve bağlantı bir taksi. Yolcunun eve gitmesi gerektiğinde (oturumun sunucuya bağlanması gerekir), taksi çağırır (oturuma bağlantı havuzundan bir bağlantı atanır).

Eve ulaştığında yolcu tekrar işe gitmek isterse ve taksi çoktan ayrıldıysa (bağlantıdan sonra bağlantı koptu), yolcu yeni bir taksi çağırır ve işine devam eder (yeni bir bağlantı atanır oturuma).

Bu benzetme, bir oturum ve bir bağlantının aynı olmaktan çok uzak olduğunu ve bir oturumun bir bağlantı kesilmesinden oldukça kolay bir şekilde kurtulabileceğini açıkça göstermektedir.

Burmistrov Andrey

İstemci uygulamasının anormal şekilde sonlandırılması (bağlantının kesilmesi veya tarayıcı penceresinin kapatılması) durumunda 1C: Enterprise 8 istemci lisansları engellenebilir.

PC'nizi yeniden başlatarak kilitli CAL'leri serbest bırakabilirsiniz.

İstemci uygulaması anormal bir şekilde sonlanırsa, oturum 20 dakika daha tutulur. Bundan sonra, 8.3.5'ten önceki sürümlerde oturum silindi. 8.3.5 sürümünden bu yana, oturum uyku durumunda uykuya dalar, varsayılan olarak başka bir gün için tutulur. Uyku oturumu 1C: Enterprise 8 istemci lisansını işgal etmez.

8.3.5 sürümünde, bir oturumu uyku zamanı ve kullanılmayan bir uyku oturumunu silme zamanı, bir uyku oturumunun önerilen parametrelerini ayarlayarak özel bir tane kullanılarak veya Yönetim / Bilgi Bankası Ayarları iletişim kutusundaki 1C Konfigüratöründe değiştirilebilir:

  • pasif oturumların uykuya dalma süresi - 300
  • uyku seanslarının bitiş zamanı - 10

Bu arada, oturumlar sekmesindeki sunucu konsolu aracılığıyla kimin uyuduğunu ve kimin aktif olduğunu her zaman görebilirsiniz. İlgili "Uyku" sütununda bir Evet / Hayır işareti var.

Düzenli olarak (1C versiyonuna göre), "Dosya" - "Çıkış" komutunu kullanarak web istemcisindeki çalışmayı tamamlayabilirsiniz. 8.3.8 sürümünden bu yana, uygulamanın başlığına düğmenin yanına bir kapatma komutu ekledik Program hakkında... Geçerli kullanıcının adıyla bir köprü olarak görüntülenir. Köprüye tıklamak, kullanıcı adı ve komutu içeren bir iletişim kutusu açar. işi bitirmek.

Platform, 1C sunucusu tarafından her 5 saniyede bir ping işlemi gerçekleştirir (4 baytlık paketler görünür). "Ping'lere" bağlı olarak, sunucu, istemci uygulamasıyla bağlantının bütünlüğünü izler. Sunucu, yaklaşık 2 dakika boyunca ping olmamasını bağlantının kesilmesi olarak yorumlar.

Kullanıcıyı kapatmaya zorlama ihtiyacı esas olarak aşağıdaki durumlarda ortaya çıkar:

  • Bilgi tabanının güncellenmesi;
  • Yapılandırmaya yeni bir meta veri nesnesi ekleme;
  • Sunucu üzerinde önleyici ve onarım çalışmalarının yapılması;
  • Uygulamanın yeniden başlatılmasını engelleyen, askıda kalmış bir kullanıcı oturumu.

Bu yazıda, bir kullanıcı oturumunun nasıl sonlandırılacağını, bu görevi gerçekleştirmek için hangi araçların yöneticinin cephaneliğinde olduğunu, dosya tarafından hangi tamamlama seçeneklerinin sağlandığını ve 1C işleminin istemci-sunucu sürümünün hangileri olduğunu anlatmaya çalışacağız.

Oturum zorla sonlandırılırsa veri kaybının oluşabileceğini unutmamak önemlidir. Bu nedenle, hoş olmayan durumlardan kaçınmak için, kullanıcıların bağlantı kesilmesi konusunda önceden uyarılması tavsiye edilir.

Konfigüratörden kapanış oturumları

Veritabanı yapısında değişiklik yapıldığında, dinamik yapılandırma güncellemeleri kullanılamaz. Ve ekranda bir bilgi penceresi belirir (Şekil 1).

Bu durumda eylemlerin sırası açıktır:

  1. "Oturumları sonlandır ve tekrarla" düğmesine basmak gerekir;
  2. Veritabanı yeniden yapılandırma penceresini bekleyin;
  3. "Tamam" ı tıklayın.

Program kodunda yapılan değişikliklerin kullanıcıların kapanmasını gerektirmediğine, ancak her bir bilgisayarda uygulamayı yeniden başlatmadan bu cihazda çalışmayacaklarına dikkat edilmelidir.

Oturumları doğrudan programdan sonlandırma

Sekizinci versiyonun 1C şirketinin standart ürünlerinin çoğu, kullanıcıyı çok fazla zorluk çekmeden uzaktan kapatmanıza ve yöneticiye veritabanına özel erişim sağlamanıza izin veren bir mekanizmaya sahiptir. Bu, "Bilgi tabanı bağlantılarını engelleme" işlemidir.

İki adresten birinde bulabilirsiniz:

  1. "Servis" bölümünün alt menülerinden birinde;
  2. İşlemler-> İşleme bölümüne gidin.

İncir. 2

İşlemin görünümü Şekil 2'de gösterilmektedir.

Bu işlemenin özellikleri:

  1. Onay kutusunu işaretlemek ve işaretini kaldırmak ve "Kaydet" düğmesini tıklamak, kullanıcıları engellemeyi, oturumları silmeyi ve yeni bağlantıların oluşturulmasını engellemeyi etkinleştirir ve devre dışı bırakır;
  2. Engelleme bitiş zamanı boş veya başlangıç ​​zamanından daha az olamaz;
  3. "İzin kodu" parametresinin ayarlanması durumunda, engellemeyi yok saymak için başlatma satırına koddan önce "/ UC" belirtilerek;
  4. "İzin kodunu" belirtmezseniz, engelleme süresinin bitiminden önce veritabanına girmek sorunlu olacaktır (dosya çalışma modunda, 1CVcdn dosyasını veritabanı klasöründen silmeyi deneyebilirsiniz);
  5. "/ UС" parametresi ve bir boşlukla ayrılmış parola yerine, C'nin Latince olduğu "/ CAllowWorkUsers" belirtirseniz, tüm kullanıcılar için engellemeyi tamamen devre dışı bırakabilirsiniz;
  6. "Aktif kullanıcılar" düğmesine basmak, "Kayıt günlüğünü" açabileceğiniz veya her bir belirli kullanıcının oturumunu sonlandırabileceğiniz tam bir kullanıcı listesi (Şekil 3) içeren bir pencere açar.

Şekil 3

Yukarıdaki iki seçenek hem dosya hem de istemci-sunucu modlarında sorunsuz çalışır. Ayrıca, yalnızca sunucu çalışması için tipik olan durumları ele alacağız.

Kullanıcıları rdp'den kaldırma

Kullanıcı oturumlarının sunucularla bağlantısının kesilmesinin, yalnızca bu eylem için belirli haklara sahip olmanız durumunda mümkün olduğunu unutmamak önemlidir.

Uzak bir masaüstünden çalışırken, standart görev yöneticisini kullanarak kullanıcı oturumlarını sonlandırabilirsiniz. Seansların basit bir şekilde kesintiye uğraması biraz yanlış ama oldukça etkili bir yoldur.

İkinci seçenek, görev yöneticisini kullanmaktır - her bir belirli oturumu kontrol etme ve programdan tüm kurallara göre çıkma yeteneğine sahip uzak bir bağlantı. Bu yöntem uzundur ve bir kullanıcı oturumu kapatırken programın başka bir çalışan tarafından başlatılmayacağını kimse garanti etmez.

Kullanıcıları sunucu konsolu aracılığıyla kaldırma

1C sunucu kümesi için yönetici haklarına sahip olmak için şunları yapmanız gerekir:


Çok sık olarak, sunucu modunda çalışırken, askıdaki kullanıcı oturumları platform aracılığıyla görünmez; sadece konsol üzerinden silinebilirler.

Oturumları kesmenin en radikal yolu

Yukarıdaki yöntemlerin işe yaramadığı bir durum çok nadiren olur. Ancak bu gerçekleşirse, veritabanına olan bağlantıları kesmenin başka bir radikal yolu daha vardır: sunucuyu fiziksel olarak yeniden başlatmak.

Elbette işini bitirip verileri kaydetmeye vakti olmayan kullanıcılar bu kadar utanmazca bir tavır karşısında son derece çileden çıkacaklardır, ancak bu hızlı ve son derece etkilidir.

8.3.9.1818 sürümünde uygulandı.

8.3.9 sürümünde, çeşitli platform mekanizmalarını optimize etmek için önemli sayıda görevi tamamladık. Burada onlardan birinden bahsetmek istiyorum. Web servislerinin performansını iyileştirmekle ilgilidir.

Oturumları yeniden kullanma

Web hizmetlerinin düşük performansı, web hizmetine yapılan her çağrının önemli oturum oluşturma ve sonlandırma ek yüküne sahip olmasından kaynaklanıyordu. Ayrıca, her oluşturulduğunda, tipik bir yapılandırmada oldukça "ağır" olabilen SessionParametersSession () işleyicisi yürütüldü.

Ayrıca, işlevsel bir kusur vardı. Web servisleri durumsuzdu. Bu, web hizmetine yapılan çağrılar arasında durumun kalıcılığını kullanan mantığın uygulanmasını engelledi.

8.3.9 sürümünde web servislerinin mekanizmasını geliştirdik (SOAP servisleri, HTTP servisleri, OData servisleri). Sonuç olarak, üretkenlikleri yaklaşık 10 kat arttı.

Tipik bir Kurumsal Muhasebe yapılandırması üzerinde testler gerçekleştirdik. Müteahhitler dizininden seçen HTTP servislerini ekledik. Test, müşterinin hizmete ardışık 100 çağrı yapmasından oluşuyordu. Eski çalışma modunda bu 29,9 saniye sürüyordu. Yeni çalışma modlarında ortalama 3 sn.

Bu sonuçlara, oturumların yeniden kullanılmasını sağlamak için iki farklı strateji uyguladığımız için ulaşıldı:

  • Havuzdaki oturumların otomatik olarak yeniden kullanımı;
  • HTTP başlıklarını kullanarak oturum yönetimi.

Oturumların otomatik olarak yeniden kullanılmasıyla, müşterinin oturum sayısını ve yaşam süresini etkileme yeteneği yoktur. Mevcut oturum havuzundan otomatik olarak bir oturum tahsis edilir. Bu strateji, standart işlemler gerçekleştiren ve tek tip ayrıcalıklara sahip istemciler tarafından erişilen yüksek yüklü kamu hizmetleri için uygundur.

Örneğin, en yüksek sunucu yükü dönemlerini sağlayan, uzak satış noktalarının ticaret faaliyetlerinin otomasyonu olabilir. İşlem için gerekli sayıda oturum seçilecektir. Yük düştükçe tamamlanacaklar.

Başka bir örnek, dosyaları http hizmetlerini kullanarak Belge Yönetimi yapılandırmasına almak / yerleştirmektir. Bu tür işlemler için aynı özel kullanıcı kullanılabilir.

Manuel oturum yönetimi stratejisi, müşterinin oturum sayısını ve yaşam süresini bağımsız olarak kontrol etmesi anlamına gelir. Bu strateji, tek bir kuruluş içindeki yüksek düzeyde entegre sistemler için daha uygundur. Oturum ömrünü ve oturum sayısını yönetecek kendi algoritmanızı uygulayabilirsiniz.

Kontroller

Yapılandırma nesneleri ağacında bir veya diğer stratejiyi kullanma ihtiyacını tanımlayabilir ve gerekirse bunu default.vrd yayın dosyasında geçersiz kılabilirsiniz. Yapılandırma nesne ağacında, Web hizmetine ve HTTP hizmeti nesnelerine iki yeni özellik ekledik:

  • ReuseSessions, Otomatik Olarak Kullan, Kullan, Kullanma şeklinde olabilir. UseAutomatically değeri, havuza alınan oturumların otomatik olarak yeniden kullanılmasını sağlar ve Use değeri, HTTP üstbilgilerini kullanarak oturum yönetimini sağlar.
  • SessionLifeLife özelliğinde, platform otomatik olarak sonlandırmadan önce oturumun kaç saniye boşta kalacağını belirtebilirsiniz.

1C: Enterprise 8 bilgi tabanında rutin bakım yapmak için, genellikle veritabanına tekel erişimi elde etmek gerekir. Örneğin, bir veritabanı yedeklemesi gerçekleştirmek veya DBMS sunucusunda rutin bakım (yeniden indeksleme vb.) gerçekleştirmek için tüm etkin oturumların bağlantısını kesmeniz gerekir.

1C: Enterprise sunucusunun standart işlevselliğini kullanarak kullanıcıların bilgi tabanından bağlantısını kesmenin basit bir yolunu düşünelim.

Standart işlevsellik

1C: Enterprise 8'in istemci-sunucu sürümü hakkında konuşacağımız için hemen bir rezervasyon yapacağım. Oturumların bağlantısını kesmek için sunucu yönetim konsoluna gidin. Orada gerekli bilgi tabanını listede bulacağız:

IB özelliklerine giderek "Oturum başlatma engelleme etkin" seçeneğini ayarlayın. Bu durumda, bilgi bankası yönetici hesabının giriş / şifresinin girilmesi gerekebilir.

Oturum kilitleme süresini ayarlamayı unutmayın. Ayrıca, oturumlar kilitliyken tüm arka plan işlerinin durdurulması gerektiğini de göz önünde bulundurmalısınız. Bu, "Zamanlanmış görevlerin engellenmesi etkinleştirildi" seçeneğiyle yapılır.

Gerekirse, oturum bloke edilmeden 5 dakika önce bilgilendirilecekleri kullanıcılara mesajın metnini ve ayrıca oturum engelleme süresi boyunca bilgi tabanına giriş için izin kodunu ayarlayabilirsiniz.

Yetkilendirme kodu, diğer oturumlar etkin değilken rutin bakım yapmak üzere bilgi tabanına girmek için kullanılabilir. Parametreleri kullanarak veritabanına bağlanırken izin kodunu girmeniz gerekir. Örneğin, izin kodu "123456" ise sunucuya iletilen parametre bu şekilde görünecektir.

Veritabanına bu şekilde girdikten sonra bilgi tabanına tekel erişimi sağlayacağız. Diğer oturumlar bize katılamayacaktır.

Kullanıcıya oturumları engelleme bildirimi şu şekildedir (yönetici tarafından girilen mesaja bağlı olarak). Engelleme süresinden 5 dakika önce her dakika görünür.

Oturum engelleme süresinin başlangıcında, önce bir bildirim görünür:

Seans bittikten sonra.

Etkin oturumları, etkin oturumlar listesinden kaldırarak da devre dışı bırakabilirsiniz. Bu eylem bazen asılı oturumları sonlandırmak için gereklidir.

Uygulamada, kullanıcılar tarafından girilen ancak henüz kaydedilmemiş verileri kaybetme riskini azaltmak için bağlantısı kesilen kullanıcıları önceden bildirmek en iyisidir.

hata:İçerik korunmaktadır !!