نمایش نتایج 1 تا 14 از 14

نام تاپیک: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

  1. #1

    بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    من در برنامم یک امکانی میخوام بزارم که بشه پیام توی برنامه ثبت کرد و وقتی زمان اعلامش رسید بصورت اخطار نمایش داده بشه. حالا به نظر شما بهترین راه برای اینکه هر چند لحظه مثلا هر 5 دقیقه بررسی کنم که آیا زمان یک پیام رسیده یا نه چیه؟ چیزی که به ذهنم میرسه تایمره. سرعت برنامه را پایین نمیاره؟ چونکه این تایمر همیشه باید کار کنه.
    اگر روش مناسبی میدونید راهنمایی کنید.

  2. #2

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    کسی نظر خاصی نداره؟
    جستجو کردم بیشتر در مورد تایمر صحبت شده که چون فرمی که توش تایمر قرار میگیره همیشه بازه. احتمال نمیدید برنامه کند بشه؟ روش بهتری سراغ ندارید؟

  3. #3
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    سرعت برنامه در صورتی تعداد کاربرانی که با نرم افزار شما کار می کنند کم است تحت تاثیر قرار نخواهد گرفت و استفاده از این روش مشکلی ندارد.

  4. #4

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    نقل قول نوشته شده توسط p.yazdkhasti مشاهده تاپیک
    سلام
    سرعت برنامه در صورتی تعداد کاربرانی که با نرم افزار شما کار می کنند کم است تحت تاثیر قرار نخواهد گرفت و استفاده از این روش مشکلی ندارد.
    خب اگر زیاد باشند چطور؟
    من دنبال یک روش مناسب میگردم. با این روش مثلا هر 5 دقیقه باید برنامه بطور خودکار بره و توی بانک جستجو کنه و...

  5. #5

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام.

    فکر کنم منظورت اینه که یک سیستم یادآوری رو به برنامت اضافه کنی که کاربر یک متن رو وارد کنه و تنظیم کنه که در ساعت و تاریخ خاصی اون متن بهش نمایش داده بشه. اگر منظورت اینه این برنامه که ضمیمه کردم رو ببین شاید به دردت بخوره :

    Project (1).rar

  6. #6

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    روشی که شما در مثال خود استفاده کردید همان روشی بود که در پست های قبلی بش اشاره شده. از این روش میتونم استفاده کنم ولی شما فرض کنید چندین یاداوری ثبت شده، برنامه همیشه در حال اجراست، چندین کاربر در حال استفاده از برنامه و انجام عملیات های مختلف هستند و...
    حالا اگر قرار باشه من یک تایمر همیشه روشن بزارم و مثلا در هر 1 دقیقه به بانک وصل بشه و ببینه آیا رویداد خاصی وجود نداره و... آیا برنامه را کند نمیکنه؟ من تصور میکنم برنامه را کند کنه (البته تست نکردم). به نظرم روش مناسبتری برای این کار باشه.

  7. #7

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    نقل قول نوشته شده توسط maktab مشاهده تاپیک
    روشی که شما در مثال خود استفاده کردید همان روشی بود که در پست های قبلی بش اشاره شده. از این روش میتونم استفاده کنم ولی شما فرض کنید چندین یاداوری ثبت شده، برنامه همیشه در حال اجراست، چندین کاربر در حال استفاده از برنامه و انجام عملیات های مختلف هستند و...
    حالا اگر قرار باشه من یک تایمر همیشه روشن بزارم و مثلا در هر 1 دقیقه به بانک وصل بشه و ببینه آیا رویداد خاصی وجود نداره و... آیا برنامه را کند نمیکنه؟ من تصور میکنم برنامه را کند کنه (البته تست نکردم). به نظرم روش مناسبتری برای این کار باشه.

    من ابتدا فکر کردم برنامه شما تک کاربره هست ولی با این شرایط که شما میگید اگر از این روش کاربرد تایمر استفاده بشه به خاطر جستجوی مکرر در دیتابیس حتما سرعت برنامه رو پایین میاره. پس قید این روش رو باید بزنید مگر اینکه راه دیگه ای نباشه.

  8. #8
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    همان طور که گفنم در صورتی که تعداد کاربران شما کم است و حجم Query هایی که به پایگاه داده ارسال می شود کم است مشکلی ایجاد نخواهد کرد. در غیر این صورت روش دیگر این است که شما برای مثال یک سرویس بر روی یک سرور قرار دهید و این سرویس با Interval مشخصی پیام هایی که باید ارسال شوند را در یک Query از پایگاه داده بخواند و برای کاربران ارسال کند. به دلیل این که در این روش هر یک از کاربران به صورت جداگانه یک Query برای سرور پایگاه داده ارسال نمی کند و کلیه پیام ها توسط سرویس شما از پایگاه داده در یک Query خوانده می شود نرم افزار شما تقریبا مانند حالتی کار می کند که تنها یک کاربر پبام ها را از پایگاه داده می خواند و با زیاد شدن تعداد کاربران نیز تعداد Query هایی که بر روی سرور پایگاه داده اجرا می شود تغییر نمی کند و ثابت است.

  9. #9

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    من هم دنبال روش مناسب دیگه ای هستم.
    مثلا یک سیستم اتوماسیون را در نظر بگیرید. معمولا همه آنها یک قسمت یاداوری دارن. خب برای اون از چه روشی استفاده کردن؟ شاید چندنخی + تایمر؟ یا شاید هم باید در کل تایمر را از این ماجرا حذف کرد.

  10. #10

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    نقل قول نوشته شده توسط p.yazdkhasti مشاهده تاپیک
    سلام
    همان طور که گفنم در صورتی که تعداد کاربران شما کم است و حجم Query هایی که به پایگاه داده ارسال می شود کم است مشکلی ایجاد نخواهد کرد. در غیر این صورت روش دیگر این است که شما برای مثال یک سرویس بر روی یک سرور قرار دهید و این سرویس با Interval مشخصی پیام هایی که باید ارسال شوند را در یک Query از پایگاه داده بخواند و برای کاربران ارسال کند. به دلیل این که در این روش هر یک از کاربران به صورت جداگانه یک Query برای سرور پایگاه داده ارسال نمی کند و کلیه پیام ها توسط سرویس شما از پایگاه داده در یک Query خوانده می شود نرم افزار شما تقریبا مانند حالتی کار می کند که تنها یک کاربر پبام ها را از پایگاه داده می خواند و با زیاد شدن تعداد کاربران نیز تعداد Query هایی که بر روی سرور پایگاه داده اجرا می شود تغییر نمی کند و ثابت است.
    خب همان طور که شما هم گفتید این روش مانند برنامه های تک کاربره عمل میکند. و سرعت برنامه همچون اون برنامه ها میشود.
    ولی هنوز مساله کندی تایمر برای من حل نشده است. در این روش هم فکر کنم باید یک تایمر همیشه روشن داشته باشم که هر یکی دو دقیقه به بانک وصل بشه با این تفاوت که کل اطلاعات را جستجو نمیکنه.
    اگر جوری دیگری است. بیشتر در مورد این موضوع بگید.

  11. #11
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    تایمر هم در روش اول با در نظر گرفتن تعداد کم کاربران و هم در روش دوم برای شما مشکلی از نظر Performance ایجاد نخواهد کرد.

  12. #12

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    نقل قول نوشته شده توسط p.yazdkhasti مشاهده تاپیک
    سلام
    تایمر هم در روش اول با در نظر گرفتن تعداد کم کاربران و هم در روش دوم برای شما مشکلی از نظر Performance ایجاد نخواهد کرد.
    ممنون از اینکه بحث را دنبال میکنید.

    یعنی در سیستم های پیشرفته اتوماسیون مثل سیستم اتوماسیون دانشگاه برای چنین کارهایی از تایمر استفاده میشه؟ اگر مطمئن هستید بگید چون در صورتی که از این روش استفاده کنم سخت است دوباره از اول سیستم را بنویسم.

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    به نظرم در زمان شروع اجرای برنامه کلیه پیام ها رو بخون و بعد پیام هایی رو که در حین اجرای برنامه می رسه با استفاده از SqlDependency اونارو چک کن.
    برای SqlDependency هم یه برنامه اینجا هستش.

  14. #14
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: بررسی لحظه به لحظه پیام های ثبت شده در دیتابیس

    سلام
    همان طور که گفتم برای پیاده سازی یک سیستم Messaging الگو ها و روش های بسیار متفاوتی وجود دارد که هزینه و زمان استفاده از هر یک از آن ها متفاوت است. استفاده از Timer در بیشتر موارد مشکلی ایجاد نمی کند. برای مثال نرم افزار های Email Client مانند Outlook (Pop3) و یا Gmail را در نظر بگیرید. شما تنها از دید Performance به موضوع نگاه می کنید بلکه موارد دیگری مانند نیازمندی های فعلی و آتی نیز بسیار در انتخاب معماری تاثیر گذار است.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •