تور لحظه آخری
امروز : چهارشنبه ، 5 دی 1403    احادیث و روایات:  امام صادق (ع):به راستى حكمتى كه در قلب منافق جا مى‏گيرد، در سينه‏اش بى‏قرارى مى‏كند تا از آن بي...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

رفع تاری و تشخیص پلاک

پرگابالین

دوره آموزش باریستا

مهاجرت به آلمان

بهترین قالیشویی تهران

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

تابلو برق

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

 






آمار وبسایت

 تعداد کل بازدیدها : 1844630423




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

استراتژی دستیابی به داده ها در وب


واضح آرشیو وب فارسی:پرشین وی: در زمان طراحی و پیاده سازی یک برنامه تحت وب و بمنظور دستیابی به داده ها ، چالش های متعددی وجود دارد: نحوه ارتباط با یک منبع داده ، نحوه ذخیره سازی داده ها در زمان رفت و آمد صفحات بین سرویس گیرنده و سرویس دهنده ، محل ذخیره سازی داده ها در صورت تاکید بر ذخیره سازی داده ها و ... . نحوه برخورد با چالش های فوق و انتخاب راهکارهای متاسب ، در طراحی و پیاده سازی یک برنامه تحت وب تاثیرات خود را بدنبال داشته و می تواند در نحوه اجراء و کارائی برنامه ، پیامدهای مستقیمی را داشته باشد. برای دستیابی به داده ها یک استراتژی ثابت و منفرد که در تمامی حالات پاسخگو باشد ،وجود نداشته و با انتخاب هر رویکرد می بایست پذیرای نکات مثبت و منفی آن نیز بود. در ادامه به بررسی اصول اولیه در طراحی صفحات فرم های وب بمنظور دستیابی به داده ها خواهیم پرداخت . ●DataSet or Direct Access and Data Reader یکی از اولین مواردیکه می بایست به آن پاسخ داد این مطلب است که : " آیا می خواهیم رکوردها را بکمک یک Dataset استفاده نمود و یا قصد دستیابی به بانک اطلاعاتی را مستقیما" داشته و بکمک یک Data Reader از رکوردها استفاده نمائیم؟" برای انجام برخی عملیات نظیر ایجاد و ویرایش ساختار بانک اطلاعاتی نمی توان از یک Dataset استفاده نمود. مثلا" اگر بخواهیم ، ایجاد یک جدول جدید را از طریق برنامه انجام دهیم ،نمی توان از Dataset استفاده نمود. در حالت کلی برای دستیابی به داده ها می بایست بین استفاده از یک Dataset و یا کار مستقیم با بانک اطلاعاتی از طریق بخدمت گرفتن دستورات مربوطه یکی و یا هر دو را با توجه به شرایط حاکم بر یک برنامه انتخاب نمود. هر یک از رویکردهای فوق، دارای مزایا و معایبی می باشند. مثلا" Dataset جهت کار با جداول رابطه ای و کار با داده های مستقر شده در چندین جدول مناسبت تر بنظر می آیند. در مقابل استفاده از یک Data Reader دارای کارائی بیشتر مخصوصا" ازبعد استفاده از حافظه بوده که باعث حذف مراحل اضافی برای تکمیل و استقرار داده ها در یک DataSet خواهد شد. در این حالت امکان اعمال کنترل بیشتری بر روی داده ها از طریق عبارات و یا Stored Procedures ها نیز وجود خواهد داشت . ● DataSet and Data commands in web form pages زمانیکه با صفحات فرم های وب کار می شود ، فاکتورهای دیگری نیز جهت انتخاب DataSet و یا Data Reader وجود خواهد داشت . یکی از این فاکتورها " چرخه حیات یک صفحه وب " است . صفحات فرم های وب ، مقداردهی اولیه ، پردازش و در نهایت حذف خواهند شد( به ازای هر رفت و آمد بین سرویس دهنده و سرویس گیرنده ) . در صورتیکه بخواهیم داده ها را بسادگی بر روی صفحه نمایش دهیم ، می توان یک Dataset را ایجاد و آن را از داده های مورد نظر تکمیل و در نهایت آن را به یک کنترل Bind نمود. عملیات فوق مستلزم overhead غیر ضروری است ، چون بلافاصله Dataset از بین خواهد رفت .در برخی موارد مناسبت تر است که از Data Reader بمنظور بازیابی داده ها استفاده و با Bind نمودن کنترل به آن در زمان اجراء، زمینه استفاده از داده ها را فراهم نمود. در حالت کلی می توان از دستورات مربوط جهت اجرای عبارات SQL و یا Stored Procedurdes استفاده کرد. مثلا" جهت نمایش داده ها در یک دستور DataList می توان یک عبارت SQL را اجراء و در ادامه کنترل مربوطه را به یک Data reader نسبت داد. در این زمینه برخی حالات خاص نیز وجود دارد که به آنها اشاره می گردد: ▪ کار با جداول رابطه ای . Dataset امکان پشتیبانی چندین جدول رابطه ای و حمایت از ارتباطات مربوطه را فراهم می نماید.کار با رکوردهای رابطه ای در یک Dataset بمراتب راحت تر از خواندن رکوردها بصورت مستقل و بکمک اجرای دستوراتی در رابطه با یک بانک اطلاعاتی است. ▪ مبادله داده بین سایر پردازش ها . در صورتیکه صفحات فرم های وب داده های خود را از سایر عناصر اخذ نمایند ،( نظیر سرویس های وب Xml) می بایست از یک Dataset جهت نگهداری یک نسخه از داده ها استفاده نمود.Dataset بصورت خودکار Xml های استفاده شده بین عناصر متفاوت در دات نت را خوانده و یا در آنها اطلاعاتی را خواهد نوشت. ▪ کار با یک مجموعه ثابت از رکوردها . در صورتیکه به مجموعه ای از رکوردها مکررا" نیاز باشد ،( مثلا" عملیات paging در یک grid) شایسته است که رکوردهای مورد نظر را در یک Dataset قرار داد. یکی از مزایای عمده Dataset ، برنامه نویسی ساده تر آن نسبت به استفاده مستقیم از دستورات است . ●Save Dataset or Recreate each time در صورت استفاده از یک DataSet ، تصمیم بعدی در رابطه با این موضوع خواهد بود که " آیا پس از هر رفت و آمد بین سرویس دهنده و سرویس گیرنده ، می بایست مجددا" Dataset را ایجاد نمود؟ در رابطه با مسئله فوق دو رویکرد وجود دارد : ▪ هر زمان که صفحه پردازش می گردد ،یک نمونه از Dataset ایجاد و مقدار دهی شود، .پس از اتمام پردازش صفحه و ارسال آن برای مرورگر ،Dataset حذف خواهد شد. ▪ ایجاد و تکمیل Dataset یک بار انجام شده ( اولین باری که صفحه اجراء می گردد) و درادامه Dataset را با یک روش ذخیره و در نهایت امکان بازیابی و استفاده از رکوردهای موجود در آن فراهم خواهد شد. ایجاد Dataset در هر مرتبه ، بدین معنی است که هر زمان کاربری بر روی یک Button کلیک می نماید ،یک Query و یا Stored Procedure اجراء خواهد شد. مثلا" می توان یک فرم صفحه وب را داشت که کاربر اطلاعات را صفحه به صفحه مشاهده نماید. در صورتیکه هر بار Dataset ایجاد گردد ،فرم های وب یک query را در از منابع داده ئی جهت دستیابی و اخذ رکوردهای بعدی جهت نمایش ، انجام خواهند داد. در صورتیکه Dataset را ذخیره و مجددا" بازیابی نمائیم ،نیاز به مراجعه مجدد به منبع داده ئی برای اخذ رکوردهای جدید نخواهد بود. ذخیره نمودن یک Dataset دارای چالش های جدی است. یکی از مهمترین چالش ها ،اشغال بخشی از حافظه توسط Dataset خواهد بود( در زمان رفت و آمد صفحه بین سرویس گیرنده و سرویس دهنده ) در صورتیکه Dataset دارای حجم بالائی باشد ،قطعا" حجم بالاتری از حافظه اشغال شده و اگر در چنین وضعیتی چندین کاربر دیگر نیز Dataset هائی را ایجاد کرده باشند ،میزان استفاده از حافظه بمراتب بیشتر از وضعیت قبلی خواهد بود.( یکی از راهکارهای موجود ذخیره داده در صفحه است ). یکی دیگر از چالش های موجود در این زمینه ، مسئله یکسان سازی ( نمودن ) داده های موجود در Dataset با منبع داده ئی است . با توجه به اینکه Dataset تکمیل و حاوی داده های درخواستی بوده و در زمان درخواست کاربر برای داده ها ،Dataset مجددا" Refresh نمی گردد ،این احتمال وجود خواهد داشت که داده های موجود در Dataset یک تصویر زنده از داده های موجود در منابع داده ئی را نشان ندهند .شاید بهتر باشد که برای هر رفت و آمد ،مجددا" Dataset را ایجاد نمود. ● Cache on Server or on the Client در صورتیکه تصمیم به ذخیره سازی یک Dataset را داشته باشیم ( در زمان رفت و آمد صفحات بین سرویس دهنده و سرویس گیرنده ) می بایست در رابطه با محل ذخیره سازی آن تصمیم مناسب را اتخاذ نمود. مورد فوق به استانداردها و روش های گفته شده در بحث State management برخواهد گشت . در رابطه با ذخیره سازی Dataset دو رویکرد عمده وجود دارد : ▪ بر روی سرویس دهنده ،Dataset را در یک Session State , Application State و یا Cache ذخیره نمود. ▪ بر روی سرویس گیرنده ،Dataset را با استفاد ه از View State و یا فیلد های مخفی ذخیره نمود. ذخیره نمودن Dataset بر روی سرویس دهنده باعث افزایش استفاده از منابع سرویس دهنده خواهد شد.در چنین حالتی درصورتیکه حجم Dataset بالا بوده و یا کاربران زیادی با Dataset ها ی با حجم کم وجود داشته باشد ، بر کارائی سرویس دهنده اثرات منفی را خواهد گذاشت . استفاده از cache هم مسائل مربوط به خود را دارد چون در صورتیکه سرویس دهنده نیازمند حافظه بیشتری بوده و یا تاریخ اعتبار Cache به پایان رسیده باشد ،مدیریت Cache فضای اشغال شده را آزاد خواهد کرد. بهرحال در چنین مواردی هیچگونه تضمینی وجود نخواهد داشت که Dataset در Cache موجود باشد و می بایست با افزودن منطق مربوطه در صفحات ،در ابتدا بررسی گردد که آیا Dataset در Cache موجود هست یا خیر؟ در صورتیکه Dataset در Cache موجود نباشد ،مجددا" آن را ایجاد و یک نسخه از آن را هم در Cache ذخیره نمود. ذخیره سازی داده ها در صفحات ، بدین معنی است که ازمنابع موجود بر روی سرویس دهنده برای ذخیره سازی داد ه ها استفاده نشده است . در این روش ، داده ها بعنوان بخشی از Html Stream در صفحات وب قرار خواهند گرفت و اگر Dataset حجیم باشد در زمان لود صفحه در مرورگر و یا ارسال برای سرویس دهنده ، مدت زمان زیادی صرف خواهدشد. در این راستا می بایست این سیاست: "همواره سعی گردد که حجم Dataset به حداقل مقدار خود رسیده و صرفا" رکوردهای مورد نظر را ذخیره کرد " ، مورد توجه جدی قرار گیرد. در مواردیکه می خواهیم یک Dataset را ذخیره نمائیم ،می بایست با افزودن کدهای مربوطه در صفحه ، امکان ذخیره و بازیابی آن را در زمان معقول تحقق بخشید. در برنامه زیر برای ذخیره و بازیابی یک Dataset از یک Session state استفاده شده است . Dataset با نام dsCoustomer۱ بوده که از یک نمونه کلاس dscoustomer dataset استفاده شده است . توجه داشته باشید که Dataset بعنوان یک شی ذخیره شده است و در زمان بازیابی Dataset می بایست آن را مجددا" به کلاس Dataset تبدیل نمود aftabir.com




این صفحه را در گوگل محبوب کنید

[ارسال شده از: پرشین وی]
[مشاهده در: www.persianv.com]
[تعداد بازديد از اين مطلب: 975]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن