प्राप्त करणाऱ्या पक्षाद्वारे डेटा ट्रान्समिशनमध्ये व्यत्यय आला. लॉगचे विश्लेषण कोणी केले? सतत कनेक्शन राखण्यासाठी मूलभूत मार्ग

अनेक खरेदी सहभागींना, अनुभवाची पर्वा न करता, इलेक्ट्रॉनिक ट्रेडिंग प्लॅटफॉर्मवर योग्य ऑपरेशनच्या समस्येचा सामना करावा लागतो. इलेक्ट्रॉनिक ट्रेडिंग दरम्यान या त्रुटी कधीही शोधल्या जाऊ शकतात.

परिणाम खूप भिन्न असू शकतात, म्हणजे:

  • स्पर्धेत सहभागी होण्यासाठी अर्ज वेळेवर सादर केला नाही
  • ई-लिलाव गमावला
  • राज्य करारावर वेळेवर स्वाक्षरी केली नाही

इलेक्ट्रॉनिक स्वाक्षरीसह काम करताना तीन सर्वात सामान्य समस्या

  1. खरेदी सहभागी प्रमाणपत्र इलेक्ट्रॉनिक प्लॅटफॉर्मवर प्रदर्शित केले जात नाही
  2. इलेक्ट्रॉनिक स्वाक्षरी कागदपत्रांवर स्वाक्षरी करत नाही

खरं तर, आणखी अनेक त्रुटी असू शकतात, परंतु आम्ही मुख्य आणि त्यांच्या कारणांचे विश्लेषण करू आणि समस्या दूर करण्यासाठी संभाव्य मार्गांची रूपरेषा देखील देऊ.

सर्वात महत्वाची गोष्ट लक्षात ठेवा की इलेक्ट्रॉनिक स्वाक्षरी योग्यरित्या कार्य करण्यासाठी, आपण इंटरनेट एक्सप्लोरर ब्राउझर वापरणे आवश्यक आहे आवृत्ती 8 पेक्षा कमी नाही आणि शक्यतो, 11 पेक्षा जास्त नाही (आवृत्ती 11 सह स्वाक्षरीच्या स्थिर ऑपरेशनची कोणतीही हमी नाही. ).

सिस्टममध्ये लॉग इन करण्याचा प्रयत्न करताना साइनिंग की प्रमाणपत्र साइटवर दिसत नाही

या प्रकरणात, त्रुटी अनेक कारणांमुळे उद्भवते, म्हणजे:

  • स्वाक्षरी की प्रमाणपत्राचे चुकीचे कॉन्फिगरेशन
  • इंटरनेट ब्राउझर योग्यरितीने कॉन्फिगर केलेले नाही
  • प्रमाणन प्राधिकरणाचे मूळ प्रमाणपत्र गहाळ आहे

समस्या कशी सोडवायची?

सर्व प्रथम, आपण CIPF (क्रिप्टो प्रो) द्वारे प्रमाणपत्राचा सार्वजनिक भाग योग्यरित्या वैयक्तिकरित्या स्थापित केला आहे याची खात्री करणे आवश्यक आहे. या प्रकरणात, स्थापित प्रोग्रामची आवृत्ती आपल्याकडे असलेल्या ऑपरेटिंग सिस्टमच्या प्रकारासाठी योग्य आहे.

त्यानंतर, इंटरनेट एक्सप्लोरर ब्राउझर सेटिंग्जमध्ये, तुम्हाला विश्वसनीय साइट्सवर साइट पत्ते जोडणे आणि सर्व ActiveX नियंत्रणे सक्षम करणे आवश्यक आहे.

कागदपत्रांवर स्वाक्षरी करताना इलेक्ट्रॉनिक स्वाक्षरी त्रुटी देते

सामान्यतः, ही त्रुटी अनेक प्रकरणांमध्ये उद्भवते:

  • CryptoPro प्रोग्राम परवाना कालबाह्य झाला आहे
  • भिन्न प्रमाणपत्रासह मीडिया घातला आहे

त्याचे निराकरण कसे करावे?

हे करण्यासाठी, तुम्हाला प्रमाणन केंद्राशी संपर्क साधून नवीन परवाना घेणे आवश्यक आहे. परवाना यशस्वीरित्या प्राप्त झाल्यानंतर, तुम्हाला CryptoPro लाँच करणे आणि परवाना अनुक्रमांक प्रविष्ट करणे आवश्यक आहे.

दुसऱ्या प्रकरणात, तुम्हाला संगणकाच्या यूएसबी कनेक्टरमध्ये घातलेले सर्व बंद कंटेनर (मीडिया) तपासावे लागतील आणि योग्य प्रमाणपत्र निवडले आहे हे तपासा.

इलेक्ट्रॉनिक प्लॅटफॉर्मवर लॉग इन करताना सिस्टम त्रुटी देते

ही त्रुटी वर सूचीबद्ध केलेल्या कारणांच्या संयोजनामुळे उद्भवू शकते. सराव दाखवल्याप्रमाणे, अशी त्रुटी प्रामुख्याने चुकीच्या पद्धतीने स्थापित केलेल्या Capicom लायब्ररीमुळे दिसून येते. तुमच्या कॉम्प्युटरवर लायब्ररी इन्स्टॉल झाली आहे की नाही हे तपासण्याची आणि 64-बिट सिस्टीम वापरताना .dll एक्स्टेंशनसह 2 सिस्टीम फायली विंडोज फोल्डरपैकी एकावर कॉपी करण्याची गरज आहे याकडे लक्ष देण्याची आम्ही शिफारस करतो.

अशा चुका टाळण्यासाठी, इलेक्ट्रॉनिक स्वाक्षरी स्थापित करण्यापूर्वी, इलेक्ट्रॉनिक स्वाक्षरी स्थापित करणे आणि सेट करणे याबद्दल वाचा किंवा आमच्या कंपनीकडून इलेक्ट्रॉनिक स्वाक्षरी जारी करणे आणि सेट करणे याबद्दल माहिती ऑर्डर करा.

नवीन स्टोरेज फॉरमॅटसह, लॉग फाइल शेकडो गीगाबाइट्सपर्यंत पोहोचू शकते. त्यासाठी सॅम्पलिंग वेळ खूप मोठा असेल आणि एक समस्या उद्भवेल: सर्व वापरकर्त्यांचे कार्य थांबते.

या समस्येची चिन्हे आहेत:

    माहिती डेटाबेस प्रविष्ट करणे अशक्य आहे.

    ज्या डिस्कवर लॉग फाइल आहे त्या डिस्कची जवळजवळ 100% क्रिया आणि rmngr प्रक्रियेद्वारे लॉग फाइलचे सक्रिय वाचन.
    "डिस्क" टॅबवरील संसाधन मॉनिटर (टास्क मॅनेजर - परफॉर्मन्स - ओपन रिसोर्स मॉनिटर) वापरून हा आयटम तपासला जाऊ शकतो.
    "स्टोरेज डिव्हाइसेस" गटामध्ये, तुम्हाला "सक्रिय वेळ (%)" स्तंभाकडे लक्ष देणे आवश्यक आहे.
    "डिस्क ऑपरेशन" गटामध्ये, तुम्हाला "वाचा" आणि "फाइल" स्तंभांकडे लक्ष देणे आवश्यक आहे. तुम्ही "वाचन" स्तंभानुसार क्रमवारी लावू शकता. सर्वात वेगवान वाचन गती असलेल्या पहिल्या ओळींमध्ये rmngr प्रक्रिया असेल. पुढे, तुम्हाला वाचत असलेल्या फाईलचे नाव पहावे लागेल, ते एका विशिष्ट इन्फोबेसच्या नोंदणी लॉगशी संबंधित असेल.

    1C च्या प्रशासन कन्सोलमध्ये: एंटरप्राइझ सर्व्हर क्लस्टर, सत्रांच्या सूचीमध्ये, जवळजवळ सर्व वापरकर्त्यांकडे “DBMS कॅप्चर केलेले” स्तंभ किंवा “कॉल टाइम (वर्तमान)” स्तंभामध्ये मोठे आणि अंदाजे समान मूल्य असेल.

समस्या आढळल्यास, आपण हे करणे आवश्यक आहे:

    माहिती सुरक्षा प्रणालीचा UID लक्षात ठेवा जी rmngr प्रक्रियेद्वारे वाचली जात आहे.

    EXCP इव्हेंटसाठी प्रक्रिया लॉग गोळा करणे सुरू करा, जर आधीच सुरू केले नसेल.

    विश्लेषणासाठी अतिरिक्त डेटा आवश्यक असल्यास, 1C:एंटरप्राइझ सर्व्हर क्लस्टरच्या प्रशासन कन्सोलचा वापर करून समस्याग्रस्त सर्व्हरवर किंवा समस्याग्रस्त माहिती सुरक्षिततेवर सर्व सत्रे निर्यात करा.

    1C: एंटरप्राइज सेवा रीस्टार्ट करा.

    1C:एंटरप्राइज सर्व्हर रीस्टार्ट करताना तांत्रिक लॉग गोळा करा.

    तांत्रिक लॉगचे विश्लेषण करा: “UnloadRegistrationLog” किंवा “UnloadEventLog” शब्द शोधा.

उदाहरण:

29:40.069000-0,EXCP,4,process=rphost, p:processName=ib_accounting ,t:clientID=114396,t:applicationName=1CV8C, t:computerName=COMP ,t:connectID=109127,SessionID=1, Usr=IvanovII ,AppID=1CV8C,ClientID=114389,Exception=NetDataExchangeException,Descr=डेटा हस्तांतरण प्राप्त करणाऱ्या पक्षाने व्यत्यय आणला होता.,संदर्भ="फॉर्म.कॉल: ExternalReport.RegistrationLogAnalysis.Form.Module.BroundTagun

GeneralForm.ReportForm.Form: 1242: ReportOptions.GenerateReportInBackground(ReportGeneration Parameters, BackgroundTaskResult.ResultAddress);

GeneralModule.ReportOptions.Module: 2544: Formation = GenerateReport(Parameters, False, False);

GeneralModule.ReportOptions.Module: 2060: ReportObject.AssembleResult(Result.TabularDocument, Result.Decryption);

बाह्य अहवाल.नोंदणी लॉगचे विश्लेषण.ऑब्जेक्ट मॉड्यूल: 64:जर्नल नोंदणी अपलोड करा(TZ, निवड, स्तंभ);"

या ओळीवरून तुम्ही कोणाला सांगू शकता:इव्हानोव्ह II, कुठे (कोणत्या संगणकावर): COMP , ज्यात माहिती बेस: ib_accounting लॉग विश्लेषण सुरू केले.

COMET तंत्रज्ञान आपल्याला वापरकर्त्याच्या हस्तक्षेपाशिवाय पृष्ठावर डेटा अद्यतनित करणे आयोजित करण्याची परवानगी देतात.

चॅट्स, इंटरनेट मेल आणि मल्टी-यूजर ॲडमिन पॅनेल कुठे लागू आहेत याची संपूर्ण यादी नाही.

लेखांच्या या मालिकेत, असंख्य सूक्ष्म मुद्दे आणि सामान्य समस्यांचे निराकरण तपशीलवार वर्णन केले आहे.

कॉमेट म्हणजे काय?

COMET (किंवा "सर्व्हर पुश") ही सर्व्हरच्या पुढाकाराने सर्व्हरवरून क्लायंटकडे डेटा हस्तांतरित करण्याची एक पद्धत आहे.

उदाहरणार्थ, तुमच्याकडे इलेक्ट्रॉनिक स्टोअर आहे आणि व्यवस्थापक क्लायंटच्या संक्रमणांचा मागोवा घेऊ शकतो.
COMET व्यवस्थापकास त्वरित, ऑनलाइन, क्लायंटला एखाद्या गोष्टीबद्दल विचारण्याची आणि एक मनोरंजक पर्याय ऑफर करण्याची परवानगी देते.

"सर्व्हर-इनिशिएटेड" म्हणजे क्लायंट स्वतः सर्व्हरला विनंती करत नाही, ते फक्त पृष्ठावर आहे.

COMET चे सर्वात जुने उदाहरण म्हणजे गप्पा. एखादी व्यक्ती फक्त पृष्ठावर राहते आणि नवीन संदेश प्राप्त करते.

इतर अभ्यागतांना बदलांबद्दल सूचित करण्यासाठी, दस्तऐवजांच्या संयुक्त संपादनासाठी COMET चा वापर प्रशासक पॅनेलमध्ये देखील केला जातो.

अंमलबजावणी पद्धती

COMET लागू करण्याचे अनेक मार्ग आहेत. त्यांच्याकडे विविध वैशिष्ट्ये, फायदे आणि तोटे आहेत.
दोन मुख्य वर्ग आहेत.

विनंती केल्यावर संदेशाद्वारे

ब्राउझरला प्रत्येक इव्हेंट सर्व्हरवर वेगळ्या विनंतीसह प्राप्त होतो. येथे दोन मुख्य पद्धती आहेत.

  1. वारंवार मतदान
  2. लांब मतदान

आवश्यक कनेक्शनची संख्या आणि विलंब कमी करण्यासाठी, इव्हेंट संदेश विशेष पॅकेट्समध्ये पॅक केले जातात, "डेटाग्राम."
उदाहरणार्थ, एक XML संदेश यासारखा दिसू शकतो:

वास्या नमस्कार! प्रक्रिया करत आहे प्रक्रिया पूर्ण झाली

पुढच्या वेळी तुम्ही कनेक्ट कराल तेव्हा, ब्राउझरला तात्काळ इव्हेंटचे संपूर्ण पॅकेज प्राप्त होईल.

ब्राउझर सर्व्हरशी सतत कनेक्शन राखतो, तथाकथित "चॅनेल" आणि त्याद्वारे इव्हेंट प्राप्त करतो.

संप्रेषण चॅनेल वेळोवेळी खंडित होते:

  • जेणेकरून प्रॉक्सीला असे वाटत नाही की कनेक्शन कालबाह्य झाले आहे आणि ते आमच्यासाठी खंडित करते
  • जुन्या संदेशांच्या जंकमधून मेमरी साफ करण्यासाठी

याव्यतिरिक्त, नेटवर्क विलंब मोजण्यासाठी आणि कनेक्शनचे निरीक्षण करण्यासाठी, सर्व्हर वेळोवेळी या चॅनेलवर पिंग पॅकेट पाठवू शकतो.

सतत कनेक्शन राखण्याचे मूलभूत मार्ग:

  1. अनंत IFrame
  2. XMLHTTPRrequest, परस्परसंवादी
  3. मल्टीपार्ट XMLHTTPRrequest
  4. घटना-स्रोत

या विभागातील इतर लेखांमध्ये तुम्हाला ते सापडतील.

सतत कनेक्शनसाठी सामान्य समस्या

HTTP प्रोटोकॉल मूळतः डिझाइन केले गेले होते जेणेकरून एक विनंती माहितीचा एक भाग परत करेल. पण आम्हाला खूप काही हवे आहे, म्हणून काही अडचणी...

प्रॉक्सी बफरिंग

हे दुर्मिळ आहे, परंतु प्रॉक्सी क्लायंटला प्रसारित करण्यापूर्वी विशिष्ट प्रमाणात डेटा बफर करू शकते. उदाहरणार्थ, 2K च्या ब्लॉकमध्ये प्रतिसाद प्राप्त करा आणि पाठवा. या प्रकरणात, संदेश प्रॉक्सीवर राहतील आणि ते 2K (किंवा बफरचा आकार काहीही असेल) बाइट्सपर्यंत पोहोचेपर्यंत प्रतीक्षा करा आणि त्यानंतरच ते क्लायंटला प्रसारित केले जातील.

उपाय म्हणजे प्रत्येक संदेशात 2K स्पेस जोडणे.

ही समस्या तुमच्यावर परिणाम करेल की नाही हे माहित नाही. मला आशा नाही, परंतु वापरकर्त्याच्या तक्रारींचे संभाव्य कारण म्हणून प्रॉक्सी बफरिंग लक्षात ठेवणे अत्यावश्यक आहे.

GZIP करू शकत नाही

संदेश पास करण्यासाठी सेवा देणारा IFrame gzip/deflate सह संकुचित केला जाऊ नये. दुसऱ्या शब्दांत, संदेशांच्या सेवा URL साठी कॉम्प्रेशन अक्षम केले पाहिजे.

सक्षम केलेले कॉम्प्रेशन म्हणजे ब्राउझर डाउनलोड पूर्ण होण्याची वाट पाहतो आणि नंतर ते डीकंप्रेस करून वापरकर्त्याला दाखवतो. आमच्या बाबतीत, हे कठोरपणे प्रतिबंधित आहे आणि आपण पृष्ठाचे तुकडे (संदेश) स्वतंत्रपणे संकुचित करू शकत नाही.

iframe च्या हॅकर स्वभावाचा हा दुर्दैवी परिणाम आहे. उदाहरणार्थ, लाँग पोलमध्ये कॉम्प्रेशन चांगले जाते, कारण इव्हेंट एकाच पृष्ठाचा भाग नसतात.

सर्व्हर पृष्ठ बफरिंग

सर्व्हर बफरिंग अक्षम करण्यास विसरू नका. Apache/PHP मध्ये - आउटपुट बफरिंग अक्षम करा आणि ob_implicit_flush सक्षम करा:

तर (@ob_end_flush()) () ob_implicit_flush(1); // आणि अर्थातच, स्क्रिप्ट set_time_limit(0) च्या अंमलबजावणीच्या वेळेवरील मर्यादा काढून टाका;

COMET: वारंवार मतदान VS पर्सिस्टंट कनेक्शन

नेहमीप्रमाणे, वेब अनुप्रयोग लिहिताना, आर्किटेक्चर निवडण्याचा प्रश्न उद्भवतो. एकीकडे, लांब कनेक्शनवरील उपाय (सर्व परंतु वारंवार मतदान) जलद सूचना प्रदान करतात. दुसरीकडे... वारंवार मतदान करण्यापेक्षा लांब कनेक्शन नेहमीच चांगले असते का?
लांब कनेक्शनसह समाधान अधिक इष्टतम दिसते, परंतु ते अधिक क्लिष्ट आहे आणि त्यात अनेक वैशिष्ट्ये आहेत.

  1. एक लांब कनेक्शन लागू करणे, एक नियम म्हणून, आर्किटेक्चरला गुंतागुंतीचे करते. कदाचित एक सोपा उपाय आहे?
  2. मोठ्या संख्येने लांब कनेक्शनसाठी अनेक वेब सर्व्हर खराबपणे ऑप्टिमाइझ केलेले आहेत. उदाहरणार्थ, थ्रेड्स किंवा प्रक्रियांचा वापर केला जातो जो निश्चित प्रमाणात संसाधने खातात आणि OS स्तरावर, kqueue (FreeBSD) किंवा epoll (Linux) वापरून सोडत नाहीत वेब सर्व्हर स्तर, आपण वापरू शकता
    1. Apache 2.2 साठी Apache MPM इव्हेंट (प्रायोगिक आणि मर्यादित MPM, विशेष थ्रेड हँडल लिसनिंग आणि कीप-अलाइव्ह सॉकेट्स)
      mod_perl/mod_php सह योग्यरित्या कार्य करत नाही
    2. Jetty (Java) / Twisted (Python), nginx आणि अनेक क्लायंटसाठी एक थ्रेड/प्रक्रिया असलेले इतर विशेष सर्व्हर.

    वर्तमान सर्व्हर आर्किटेक्चर लांब कनेक्शन हाताळेल? शेकडो/हजारो एकाचवेळी जोडण्यांसाठी उत्तर स्पष्ट नाही, परंतु कोणत्याही आर्किटेक्चरमध्ये 100 कनेक्शन्स योग्य आहेत.

  3. वापरकर्ते एकाच पृष्ठावर किती काळ राहतात? संक्रमणादरम्यान, कनेक्शन बहुधा कोणत्याही परिस्थितीत पुन्हा उघडावे लागेल.
  4. कार्यक्रम वितरण विलंब स्वीकार्य असल्यास, कदाचित वारंवार मतदान पुरेसे असेल?

क्लासिक (वाहतूक-स्वतंत्र) COMET मॉडेल

डेटा ट्रान्सफर, ट्रान्स्पोर्ट इ.च्या तपशिलांच्या वर "पक्ष्यांच्या नजरेतून" क्लायंट-सर्व्हर परस्परसंवाद पाहू. उदाहरणार्थ, हे विशेष सर्व्हर-पुश इंजिन लाइटस्ट्रीमरमध्ये केले जाते.

सर्व्हरशी जोडणी दोन प्रकारांमध्ये विभागली गेली आहे

  1. नियंत्रण कनेक्शन - नियंत्रण कनेक्शन ज्याद्वारे क्लायंट सर्व्हरला विनंत्या पाठवतो. या XMLHTTPRequest द्वारे सामान्य AJAX विनंत्या आहेत.
  2. पुश कनेक्शन(चॅनेल) - इव्हेंटचा प्रवाह, कनेक्शन ज्याद्वारे क्लायंटला सर्व्हरकडून इव्हेंट प्राप्त होतात

सर्व्हरवरील सर्व घटनांचा एक प्रकार असतो. क्लायंट कंट्रोल कनेक्शनद्वारे स्वारस्य असलेल्या इव्हेंटची सदस्यता घेऊ शकतो आणि सदस्यता रद्द करू शकतो. सोयीसाठी, प्रकार आकृत्यामध्ये आयोजित केले जातात. उदाहरणार्थ, चॅट स्कीमामध्ये संदेश प्रकार असू शकतो.

उदाहरणार्थ, खालील आकृती क्रियांच्या विशिष्ट क्रमाचे वर्णन करते:

  1. क्लायंट सर्व्हरवर स्ट्रीमिंग कनेक्शन उघडतो
  2. क्लायंट स्कीमा 1 मधील आयटम 1 प्रकाराच्या इव्हेंटची सदस्यता घेतो
  3. सर्व्हर इव्हेंट पाठवतो
  4. क्लायंट नवीन नियंत्रण कनेक्शनद्वारे इव्हेंटमधून सदस्यता रद्द करतो
  5. क्लायंट कनेक्शन बंद करतो

किंवा - येथे एक अधिक जटिल आकृती आहे ज्यामध्ये क्लायंट विविध प्रकारच्या इव्हेंट्सची सदस्यता घेतो:

Lightstreamer वाहतूक म्हणून iframe वापरतो. प्राप्त वस्तू साफ करण्यासाठी वेळोवेळी ते बंद करणे आवश्यक आहे. जेव्हा सत्र बंद होते (ब्राउझरमध्ये पृष्ठ रीफ्रेश केले जाते तेव्हा असेच होते), सर्व्हर विशिष्ट कालबाह्य होईपर्यंत नवीन इव्हेंट्स बफर करतो आणि त्याच वापरकर्त्याचे नवीन स्ट्रीम कनेक्शन 2 सत्र उघडताच ते पाठवतो.

सर्वसाधारणपणे, इव्हेंट बफरिंग हे एक सामान्य तंत्र आहे जे तुम्हाला कनेक्शन बंद झाल्यानंतर सहजतेने टिकून राहण्याची परवानगी देते आणि कोणत्याही वाहतुकीसाठी आवश्यक असते.