1. معرفی
با پیشرفت شبکههای بیسیم و توسعه فناوریهای موقعیتیابی، مانند GPS، RFID و WiFi، خدمات آنلاین مبتنی بر مکان و سیستمهای نظارت هوشمند توجه روزافزونی را به خود جلب کردهاند [ 1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ]. با انگیزه این امر، پرس و جوهای مکانی-زمانی برای اجسام متحرک به طور گسترده در زمینه های پایگاه داده های شی متحرک (MOD) و سیستم های اطلاعات جغرافیایی (GIS) مورد مطالعه قرار گرفته اند [ 8 ، 9 ، 10 ، 11]. بسیاری از انواع پرس و جوها و الگوریتم های پرس و جوی کارآمد متناظر پیشنهاد شده اند، مانند جستارهای محدوده [ 12 ، 13 ]، پرس و جوهای k- نزدیکترین همسایه [ 14 ، 15 ، 16 ]، پرس و جوهای نزدیکترین همسایه معکوس [ 17 ]، پرس و جوهای خط افق [ 18 ]، پرس و جوهای چگالی [ 19 ، 20 ] و پرس و جوهای نزدیکترین همسایه قابل مشاهده [ 21 ].
پرس و جوهای دامنه پرکاربرد و اساسی برای اشیاء در حال حرکت در فضای اقلیدسی یا شبکه ها مجموعه ای از اشیاء را در یک ناحیه معین در یک زمان پرس و جو معین برمی گرداند [ 22 , 23 , 24 , 25 , 26 , 27]. این مقاله به مشکل پردازش پرس و جوهای محدوده پیوسته برای اشیاء متحرک در شبکه می پردازد. یعنی اشیاء پرس و جو و اجسام متحرک هر دو در حرکت با سرعت بالا هستند و توسط شبکه های زیرین محدود می شوند. بر خلاف پرس و جوهای محدوده فوری که فقط یک بار ارزیابی می شوند، پرس و جوهای محدوده پیوسته نیاز به حفظ فعالیت در یک دوره زمانی و بازیابی مداوم نتایج پرس و جو دارند. بسیاری از برنامه های کاربردی دنیای واقعی به طور قابل ملاحظه ای به این نوع پرسش ها مانند نظارت بر ناوگان، نجات وسیله نقلیه و کنترل و مدیریت ترافیک بستگی دارند [ 28 ، 29]]. به عنوان مثال، به دلیل طولانی بودن مسیر تا ایستگاه راه آهن، ابتدا باید سوار اتوبوس و سپس تاکسی شویم. در این شرایط، ما باید به طور مداوم اعلان دریافت کنیم که چه زمانی و کجا می توانیم به تاکسی مجاور در فاصله 500 متری اتوبوس در حال حرکت ترانسفر دریافت کنیم.
ارزیابی مستمر پرس و جوهای محدوده به دلیل اطمینان از کامل بودن و صحت نتایج پرس و جو منجر به افزایش چالش ها برای کارایی و بار کاری سرور می شود [ 19 ، 30 ]. پاسخ دادن به پرس و جوهای محدوده پیوسته برای اجسام متحرک در شبکه ها در یک دوره زمانی آسان نیست. دو رویکرد برای پرس و جوهای دامنه پیوسته وجود دارد. رویکردهای افزایشی که با به حداکثر رساندن استفاده مجدد از نتایج قبلی مشخص می شوند، کارایی بهتری نسبت به سایر رویکردهایی دارند که پرس و جو دامنه پیوسته را به پرس و جوهای محدوده عکس فوری گسسته تقسیم می کنند [ 22 , 29 , 31]. با این حال، وابستگی شدیدی به طراحی ساختارهای داده درون حافظه برای حفظ نامزدهای قابل استفاده مجدد، مانند درخت توسعه و یک منطقه امن دارد [ 13 ، 25 ، 32 ]. با این حال، زمانی که مقیاس شبکه ها بزرگ است، اما توزیع اشیاء متحرک نسبتاً کم است، این ساختارهای داده به محاسبات مجدد آنلاین بیشتری نیاز دارند تا نامزدهای جستجوی به روز را حفظ کنند، زیرا اشیا اغلب وارد مناطق می شوند و از آن خارج می شوند. درخت گسترش [ 16 ، 17 ]. که این ساختارهای داده را باطل می کند و منجر به کاهش عملکرد می شود. بنابراین، ما نیاز به توسعه ساختارهای داده جدید برای حفظ نامزدهای پرس و جو داریم.
در این مقاله، ما یک الگوریتم جستجوی محدوده پیوسته مبتنی بر نمودار خط خطی جدید (LGCR) برای اجسام متحرک در شبکهها ارائه میکنیم. ابتدا شبکه به صورت نمودار خطی مدل سازی می شود جیl g= (Vl g،El g)جیل�=(�ل�،�ل�). بخش ها به عنوان گره های گراف نشان داده می شوند Vl g�ل�، و لبه ها El g�ل�(یعنی روابط فضایی) دو بخش جاده مجاور را به هم متصل می کند. علاوه بر این، ما همچنین اشیاء متحرک را به عنوان یک ساختار گراف مدل می کنیم جیm oجیمتر�. بر اساس دو ساختار گراف نسبتا مستقل، یک لبه خاص Em o → l g�متر�→ل�از یک گره از نمودار شی جیm oجیمتر�به یک گره در نمودار خطی جیl gجیل�نشان دهنده این واقعیت است که یک جسم در یک بخش خاص در حال حرکت است. مزیت این طراحی این است که انعطافپذیری و کنترل بیشتری را برای هزینه بهروزرسانی مکان فراهم میکند، زیرا زمانی که یک شی متحرک به یک بخش جدید تبدیل میشود، این شی فقط لبه اصلی را حذف میکند و یک لبه جدید برای منعکس کردن این تغییر در سمت مشتری ایجاد میکند. . از این رو، این امر هزینه به روز رسانی مکان و بار کاری سرور را تا حد زیادی کاهش می دهد. علاوه بر این، بازیابی اجسام متحرک دقیق با استفاده از لبه ویژه برای سرور آسان تر است Em o → l g�متر�→ل�.
علاوه بر این، ما یک ساختار درخت بسط مبتنی بر گراف (GET) ابتکاری را پیشنهاد میکنیم که اجسام متحرک نامزد را حفظ میکند. این یک گره پرس و جو منحصر به فرد ایجاد می کند vq��برای هر درخواست پرس و جو و سپس مجموعه ای از لبه ها ایجاد می کند Eq→ l g��→ل�برای نشان دادن روابط نامزد بین یک گره پرس و جو vq��و گره گراف خطی vl g�ل�. از این رو، با توجه به اینکه هزینه به روز رسانی GET به هزینه حذف یا ایجاد لبه ها بستگی دارد Eq→ l g��→ل�، بار کاری سرور بیشتر کاهش می یابد. ما الگوریتم پرس و جو LGCR و ساختارهای داده مرتبط را در سیستم پایگاه داده گراف بومی Neo4J پیاده سازی می کنیم. ما ارزیابی تجربی را با استفاده از یک مجموعه داده شبیه سازی شده تولید شده توسط GT-MobiSIM انجام می دهیم تا کارایی و عملکرد را در مقایسه با یک الگوریتم پرس و جوی محدوده پیوسته کلاسیک نشان دهیم. سهم این مقاله در جنبه های زیر نهفته است:
-
ما یک درخت بسط مبتنی بر گراف جدید (GET) را بر اساس مدل نمودار خطی شبکهها توسعه میدهیم. از پیش محاسبات آفلاین پشتیبانی می کند و می تواند به طور موثر زمان نگهداری آنلاین درخت گسترش سنتی را در پرس و جوهای مداوم کاهش دهد.
-
بر اساس GET، ما یک الگوریتم جستجوی محدوده پیوسته مبتنی بر نمودار خطی (LGCR) برای اشیاء متحرک در شبکهها، از جمله الگوریتمهایی برای مقداردهی اولیه، درج، بهروزرسانی مکان، فیلتر و اصلاح پیشنهاد میکنیم.
-
ما آزمایشهایی را برای ارزیابی LGCR پیشنهادی خود با استفاده از شبکههای دنیای واقعی و اشیاء متحرک شبیهسازیشده و مقایسه با الگوریتمهای کلاسیک موجود برای تأیید اثربخشی آن انجام دادیم.
ادامه این مقاله به شرح زیر سازماندهی شده است. بخش 2 کارهای مرتبط را خلاصه می کند. بخش 3 ساختارهای داده مرتبط را برای پرس و جوهای محدوده پیوسته در شبکه ها ارائه می کند. بخش 4 الگوریتم پیشنهادی پرس و جو LGCR را توضیح می دهد. بخش 5 تنظیمات آزمایشی و نتایج را نشان می دهد. در نهایت، بخش 6 مقاله را به پایان میرساند و پیشرفتهای بیشتر را پیشنهاد میکند.
2. کارهای مرتبط
یک رویکرد ساده برای پردازش پرس و جوهای محدوده پیوسته، تقسیم آنها به پرس و جوهای گسسته عکس فوری [ 8 ، 16 ، 33 ] است. وانگ و همکاران الگوریتم اجسام متحرک در شبکه های جاده ای (MOVNet) را برای پردازش پرس و جوهای پیوسته بر اساس پرس و جوهای محدوده عکس فوری برای اجسام متحرک در شبکه های جاده ای پیشنهاد کرد [ 34 ]. چندین ویژگی مهم و کوتاهترین درخت مبتنی بر فاصله (SD-tree) را معرفی کرد که برای حفظ اتصال شبکه و اطلاعات فاصله شبکه برای کاهش اثرات بهروزرسانی مکرر اشیاء در جستوجوهای دامنه پیوسته مورد استفاده قرار گرفت. کلاهدوزان و همکاران. یک الگوریتم کران بالایی برای بهبود عملکرد k پیوسته ایجاد کرد-نزدیکترین همسایه پرس و جو فقط با انجام پرس و جوهای عکس فوری در مکانی که آنها مورد نیاز هستند [ 16 ]. الگوریتم UNICONS یک مسیر پرس و جو را بر اساس اصل شباهت به چند مسیر فرعی تقسیم کرد و فواصل معتبر را محاسبه کرد. نتایج پرس و جو برای مسیرهای فرعی برای به دست آوردن نتایج نهایی ترکیب شدند [ 8]. مزیت این رویکرد این است که روشهای موجود پرسوجوهای محدوده عکس فوری را میتوان مستقیماً بدون تعدیل شدید در پرسوجوهای محدوده پیوسته اعمال کرد. با این حال، نقص این است که چگونه می توان نقاط تقسیم را به طور موثر پیدا کرد، که مکان و لحظه زمانی را مشخص می کند که نتایج جستجوهای محدوده را یکسان نگه می دارد. اگر یک الگوریتم پرس و جو به طور مکرر در هر لحظه ارزیابی شود، عملکرد به وضوح کاهش می یابد. با این حال، اگر یک الگوریتم پرس و جو در بازه های زمانی طولانی ارزیابی شود، نمی توان صحت پرس و جو را تضمین کرد.
یکی دیگر از استراتژی های پرکاربرد رویکردهای افزایشی اتخاذ شده در مقاله ما را به کار می گیرد. هزینه ارزیابی پرس و جوهای دامنه پیوسته را می توان با استفاده مجدد از نتایج تاریخچه حفظ شده توسط ساختارهای داده خاص در حافظه کاهش داد. به ویژه، هنگامی که به روز رسانی از اشیاء متحرک در این درخت می افتد، آنها باعث تغییر نتایج پرس و جو می شوند. در مقابل، به روز رسانی های نامربوط نادیده گرفته شدند [ 9 ، 25 ]. موراتیدیس و همکاران یک ساختار درختی گسترش را در الگوریتم نظارت افزایشی (IMA) و الگوریتم نظارت گروهی (GMA) پیشنهاد کرد [ 32 ]. الگوریتم ها با موقعیت شی پرس و جو در فاصله شبکه شروع می شوند q. k Nن_ دمن تی _�.کنن_دمنستی، در اطراف بخش های جاده پیمایش کنید و یک درخت انبساط بسازید. سپس، IMA/GMA بر تغییرات شی پرس و جو و موقعیت شی متحرک نظارت می کند، این ساختار درختی بسط را هرس می کند و از نتایج کاندید برای تولید نتیجه پرس و جو از پرس و جوهای مداوم مجددا استفاده می کند. به طور مشابه، مفهوم مناطق امنی که نزدیکترین اجسام متحرک را به مرز پرس و جو محاسبه می کنند برای به حداقل رساندن هزینه ارتباطی و محاسباتی نظارت مستمر یک پرس و جو محدوده متحرک [35] پیشنهاد شد . مفهوم خروج ایمن به عنوان نمایش مختصر منطقه امن که مرز منطقه امن مبتنی بر شبکه را در بر می گیرد، پیشنهاد شد. علاوه بر این، الگوریتم های کارآمد برای محاسبه خروجی های ایمن توسعه داده شد [ 11 ، 36]. محدوده اقلیدسی محدودیت (RER) و گسترش شبکه محدوده (RNE) الگوریتم های پردازش پرس و جو معروف بر اساس این ایده هستند [ 37 ]. با این حال، شبکه های مقیاس بزرگ می توانند عملکرد پرس و جوهای پیوسته بر اساس درخت گسترش را به دلیل هزینه های بالای نگهداری کاهش دهند. از این رو، GET پیشنهادی در این مقاله ساختار درخت بسط اولیه را گسترش و بهینه میکند. به طور همزمان، از پیش محاسبات آفلاین پشتیبانی می کند تا الگوریتم پیشنهادی ما قابلیت اطمینان بالاتری برای اندازه های مختلف شبکه ها داشته باشد.
3. ساختارهای داده پیشنهادی
در این بخش، ساختارهای داده مرتبط را در الگوریتم پرس و جو LGCR، که شامل نمودار خط، نمودار فاصله و GET است، توضیح می دهیم.
شکل 1 نمونه ای از شبکه شهری را نشان می دهد جیn e tجی�هتیشامل 12 بخش (س1،س2, … ,س12)(س1،س2،…،س12)و 13 تقاطع (j1،j2, … ,j13)(�1،�2،…،�13). 9 شیء متحرک (نقاط سبز) در طول شبکه در حال حرکت هستند و به روز رسانی مکان را به سرور ارسال می کنند. شی پرس و جو q (نقاط زرد) به طور مداوم پرس و جوهای محدوده را در یک دوره زمانی صادر می کند.
(1) انواع اساسی:
ما مجموعه ای از انواع پایه را که برای تعاریف استفاده می شود در قسمت های زیر ارائه می کنیم. سه نوع اساسی برای تعاریف زیر پیشنهاد شده است:
دو نوع زمان برای نمایش زمان ارائه شده است:
انواع هندسه از OGC استفاده می شود که یک سری مشخصات در مورد مدل شی هندسی منتشر می کند. LGCR پیشنهادی شامل سه نوع هندسه اساسی است:
(2) ساختار نمودار خطی:
شبکه جیn e tجی�هتیشامل مجموعه ای از بخش ها است اسeg _اسه�. اجازه دهید دامنه بخش ها به صورت زیر تعریف شود:
با یک شناسه s i dسمند، طول l و پرچم s t a r tستیآ�تیکه جهت یک خط هندسی را مشخص می کند ge o�ه�.
نمودار خطی جیl gجیل�نمودار دیگری است که در آن هر رأس از جیl gجیل�نشان دهنده بخشی از جیn e tجی�هتی. تعریف رسمی به شرح زیر است:
جایی که:
و:
Eg��مجموعه ای از روابط فضایی بین دو بخش را نشان می دهد. ما از مدل نه تقاطع سازگار با OGC استفاده می کنیم، که یک تعریف جامع از روابط توپولوژیکی بین اشیاء فضایی در فضای دو بعدی ارائه می دهد [ 38 ، 39 ]. در این مقاله روابط توپولوژیکی آرg��به صورت زیر تعریف می شوند:
جایی که رابطه m e e t���تینشان دهنده موردی است که در کدام بخش ها وجود دارد s egمن���منو s egjسه��در مجاورت یکدیگر هستند و e qu a lه�توآلحالتی را نشان می دهد که در آن دو بخش یکسان هستند.
شکل 2 نمونه ای از یک نمودار خطی را نشان می دهد که با شبکه در شکل 1 مطابقت دارد . بخش س1�1به عنوان یک گره گراف مدل شده است. رابطه اتصال بین بخش ها س1�1و س2س2به عنوان روابط فضایی ساخته شده است m e e tمترههتی.
(3) ساختار گراف شی:
یک جسم متحرک به صورت زیر تعریف می شود:
جایی که m i dمترمندو n a m e�آمترهنشان دهنده شناسه و نام شیء و p a r a mپآ�آمترمجموعه ای از ویژگی های دیگر شی را نشان می دهد.
ساختار گراف شی اشیاء متحرک و روابط اجتماعی بین آنها را مدل می کند. به صورت زیر تعریف می شود:
جایی که Vm o�متر�به اجسام متحرک اشاره می کند و به صورت زیر تعریف می شود:
و Em o�متر�روابط اجتماعی بین دو جسم متحرک را نشان می دهد و به صورت زیر تعریف می شود:
جایی که:
و t yp eتی�پهنشان دهنده روابط اجتماعی بین اجسام متحرک است.
(4) مکان شبکه
موقعیت شبکه یک جسم متحرک gl o c�ل�جبه صورت زیر تعریف می شود:
جایی که s i dسمندیک شناسه قطعه و d است یک عدد واقعی را نشان می دهد که موقعیتی را در آن بخش ارائه می دهد.
بردار متحرک یک جسم m v e c t o rمتر�هجتی��در زمان t به صورت زیر تعریف می شود:
جایی که m i dمترمندشناسه یک جسم متحرک است، gl o c�ل�جنشان دهنده موقعیت شبکه اشیاء در یک قطعه خاص و v نشان دهنده سرعت لحظه ای در زمان t است .
(5) لبه های قابل پل زدن:
Em o → l g�متر�→ل�یک جسم متحرک و بخش را برای نشان دادن حالتی که در آن یک جسم متحرک بر روی قطعه حرکت می کند به هم متصل می کند و به صورت زیر تعریف می شود:
جایی که:
شکل 3 نمونه ای از لبه های قابل پل زدن را نشان می دهد، جایی که یک شی پرس و جو q از بخش حرکت می کند. س1س1بخش بندی کردن س2س2همانطور که در شکل 3 الف نشان داده شده است. لبه (خط فلش آبی) از گره س1س1به گره q حذف خواهد شد و یک لبه جدید (خط فلش قرمز) از گره س5س5به گره q ایجاد خواهد شد، همانطور که در شکل 3 نشان داده شده است .
(6) لبه های فاصله
محاسبه فاصله شبکه زمان برترین عملیات است. فاصله شبکه پیش محاسبات آفلاین می تواند به طور موثری کارایی الگوریتم را بهبود بخشد [ 16 ]. لبه های فاصله ایجاد می کنیم El g→ l g�ل�→ل�برای نشان دادن فاصله شبکه سپس، میتوانیم از عملیات پیمایش نمودار برای بازیابی مقدار فاصله با هزینه پرس و جو کمتر استفاده کنیم.
El g→ l g�ل�→ل�مجموعه ای از یال ها را بین هر دو گره گراف خطی نشان می دهد. ویژگی های آن مقدار فاصله شبکه بین دو بخش را ذخیره می کند و به صورت زیر تعریف می شود:
جایی که:
مفهوم فاصله لبه را معرفی می کنیم دe dgهدهد�ه، که به عنوان فاصله بین دو لبه (یعنی بخش های جاده) با توجه به انواع گره های بخش ها تعریف می شود [ 40 ]. فاصله لبه را می توان به چهار نوع طبقه بندی کرد: اساس، اسE، ایاس، ایEاساس،اس�،�اس،��، جایی که Eاس�اسفاصله از گره انتهایی E را مشخص می کندe dgهمنهد�همنبه گره شروع S از e dgهjهد�ه�. انواع فاصله اسE، ایاساس�،�اسو EE��به طور مشابه تعریف می شوند.
همانطور که در شکل 4 نشان داده شده است ، شی متحرک q که در حین حرکت در امتداد بخش، پرس و جوهای محدوده پیوسته را صادر می کند. س2س2. دe s(س2،س3)دهس(س2،س3)به عنوان فاصله از j2 – e�2–هبه j3 – s�3–س، و دe s(س1،س2)دهس(س1،س2)به عنوان فاصله از j1 – e�1–هبه j2 – s�2–س.
(7) درخت بسط مبتنی بر نمودار:
GET شامل مجموعه ای از بخش ها است و به صورت زیر تعریف می شود:
جایی که r g��پارامترهای فاصله داده شده پرس و جوهای دامنه پیوسته را نشان می دهد و s egqسه��نشان دهنده بخشی است که شی پرس و جو روی آن حرکت می کند. واضح است، بخش s egqسه��و پارامترهای ورودی r g��برای محاسبه GET حیاتی هستند. از این رو، برای هر بخش در یک شبکه، میتوانیم GET آفلاین را برای بهبود کارایی الگوریتم پرس و جو LGCR از قبل محاسبه کنیم.
شکل 5 نمونه ای از GET را نشان می دهد. هنگامی که شی پرس و جو q از بخش خارج می شود س1س1، GET باید دوباره محاسبه شود تا نتایج نامزدها به روز بماند. با توجه به اینکه GET قبلاً محاسبه شده است، این امر زمان مورد نیاز برای پردازش الگوریتم پرس و جو LGCR را به میزان قابل توجهی کاهش می دهد.
4. الگوریتم پرس و جو LGCR
بر اساس ساختارهای داده پیشنهادی، الگوریتم پرس و جوی پیشنهادی LGCR برای اشیاء متحرک در شبکه ها شامل چندین الگوریتم برای مقداردهی اولیه، درج، به روز رسانی مکان، فیلتر و اصلاح است، همانطور که در شکل 6 نشان داده شده است .
4.1. الگوریتم ها
(1) راه اندازی:
اولیه سازی الگوریتم پرس و جو LGCR ساختارهای نمودار خطی را می سازد و فرآیند ایجاد لبه های فاصله را طبق الگوریتم 1 به پایان می رساند. پارامتر ورودی الگوریتم شبکه است. برای بهبود کارایی الگوریتم پرس و جو LGCR، یک درخت R ایجاد می کنیم منr t r e eمن�تی�ههبرای نمایه سازی بخش ها، همانطور که در خط 2 نشان داده شده است، که تمام بخش ها را طی می کند و گره های نمودار مربوطه را در نمودار خطی ایجاد می کند. جیl gجیل�همانطور که در خطوط 4-5 نشان داده شده است. سپس، الگوریتم گرههای بخش مجاور را جستجو میکند و لبههای پیوندی را برای حفظ روابط توپولوژیکی کامل بین بخشها ایجاد میکند (خط 8-10). به طور همزمان، یک تقریب حداقل مستطیل مرزی (MBR) از بخش ها ایجاد می کند و گره برگ را به هم مرتبط می کند. منr t r e eمن�تی�ههبه گره های بخش مربوطه (خطوط 6-7). سپس، الگوریتم تمام بخشها را طی میکند تا فاصله لبه شبکه بین هر دو بخش را محاسبه کند و یالهای فاصله را میسازد (خطوط 13-20).
در نهایت، الگوریتم گره قطعه را در نمودار خطی طی می کند و گره های بخش جاده مجاور را بازیابی می کند (خطوط 22-23). سپس مقدار فاصله لبه شبکه را بدست می آورد دe dgهدهد�ه. اگر فاصله لبه دe dgهدهد�هکمتر از پارامتر محدوده پرس و جو پیوسته ورودی است r g��، یک یال ایجاد می شود و در ساختار نمودار خطی درج می شود (خطوط 24-27). توجه داشته باشید که مقداردهی اولیه فقط یک بار برای الگوریتم پرس و جو LGCR قابل اجرا است.
| الگوریتم 1: الگوریتم اولیه سازی. |
 |
(2) درج اشیاء متحرک و اشیاء پرس و جو:
همانطور که در الگوریتم 2 نشان داده شده است، درج شی متحرک یک گره را می سازد. سپس، الگوریتم بخشهای جاده مربوطه را که این جسم روی آنها حرکت میکند، تعیین میکند و لبههای قابل پلسازی میسازد. Em o → l g�متر�→ل�(خطوط 3-7).
| الگوریتم 2: درج اشیاء متحرک و اشیاء پرس و جو. |
 |
(3) مرحله فیلتر و اصلاح برای الگوریتم های پرس و جو LGCR:
الگوریتم 3 مرحله فیلتر و اصلاح الگوریتم پرس و جو LGCR را نشان می دهد. مرحله فیلتر از GET عبور می کند تا همه اشیاء متحرک نامزد را با استفاده از لبه های قابل پل پیدا کند Em o → l g�متر�→ل�همانطور که در خط 1 نشان داده شده است. مرحله پالایش به صورت دوره ای انجام می شود. الگوریتم نتایج کاندید را پیمایش میکند و تعیین میکند که آیا زمان فعلی شی متحرک و فاصله شبکه تا شی پرس و جو شرایط پرس و جوی محدوده پیوسته داده شده را برآورده میکند (خطوط 3-8). اگر چرخه عمر الگوریتم پرس و جو LGCR شامل زمان جاری شیء باشد و مکان شیء محدوده پرس و جو را قطع کند، آنگاه شی کاندید به مجموعه نتایج پرس و جو افزایشی منتقل می شود (خط 6).
| الگوریتم 3: مرحله فیلتر و پالایش. |
 |
(4) به روز رسانی مکان اشیاء متحرک:
سه نوع استراتژی بهروزرسانی مکان برای اشیاء متحرک وجود دارد: بهروزرسانی موقعیت مکانی تحریکشده با آستانه سرعت (STTLU)، بهروزرسانی موقعیت مکانی راهاندازی شده با آستانه فاصله (DTTLU) و بهروزرسانی مکان با شناسایی شناسایی (IDTLU) [41 ] . با توجه به اینکه به روز رسانی مکان با تبدیل شی متحرک به یک بخش جاده جدید آغاز می شود، استراتژی IDTLU برای الگوریتم پرس و جو LGCR مناسب تر است. الگوریتم 4 آن به روز رسانی های مکان را مدیریت می کند. ابتدا شی را تعیین می کند n o dهm o��دهمتر�که باید با توجه به شناسه به روز شود m i dمترمند. به طور همزمان، بخش جاده قدیم n o dهo l dl g��دهل��لدبا استفاده از لبه های قابل پل زدن به راحتی قابل بازیابی است Em o → l g�متر�→ل�(خطوط 1-2). سپس، خطوط 3-4 شی را به روز می کنند n o dهm o��دهمتر�ارزش با مکان و زمان جدید از بهروزرسانیهای مکان. علاوه بر این، یک لبه قابل پل زدن جدید به یک بخش جدید ایجاد می کند. در مرحله بعد، هنگامی که شی متعلق به شی پرس و جو است، GET باید به روز شود، همانطور که در خط 7 نشان داده شده است. در غیر این صورت، مرحله فیلتر و پالایش باید انجام شود (8-12).
| الگوریتم 4: به روز رسانی مکان یک شی متحرک یا شی پرس و جو. |
 |
4.2. تجزیه و تحلیل پیچیدگی الگوریتم
فرض کنید که لبه های E در شبکه ها، M اشیاء متحرک و اشیاء پرس و جو Q وجود دارد . پیچیدگی زمانی الگوریتم پرس و جو LGCR را می توان به صورت زیر تعریف کرد:
جایی که تیfمن هستم _ _ _تی�منلتیه�نشان دهنده زمان CPU مورد نیاز برای محاسبه نامزدهای پرس و جو به دست آمده توسط GET است، تیu pتیتوپنشان دهنده زمان مورد نیاز CPU برای به روز رسانی مکان و تیr e fتی�ه�نشان دهنده زمان مورد نیاز CPU برای مرحله پالایش است. زمان مورد نیاز برای بازیابی نامزدهای درخواست شامل زمان پیمایش GET است. سپس، پیچیدگی تیfمن هستم _ _ _تی�منلتیه�از این الگوریتم به صورت تعریف شده است O ( Q n )�(س�). به روز رسانی مکان اشیاء یک عملیات لبه و پیچیدگی زمانی را آغاز می کند تیu pتیتوپاست O ( Mن )�(م�). زمان مورد نیاز برای محاسبه فاصله شبکه به زمان پیمایش نمودار به دلیل لبه های فاصله بستگی دارد. سپس، پیچیدگی زمانی تیr e fتی�ه�بستگی به اندازه نتایج کاندید دارد و به این صورت تعریف می شود ای (سمن )�(سم�).
5. آزمایشات
5.1. تنظیمات آزمایشی
ما آزمایشهایی را روی یک رایانه شخصی استاندارد با پردازنده Intel i7-4790، رم 8G و یک هارد دیسک مکانیکی 1 ترابایتی انجام دادیم. ما از ژنراتور GT-MobiSIM [ 42 ] که توسط یک فایل پیکربندی XML هدایت میشود برای شبیهسازی اشیاء متحرک استفاده کردیم، و اشیاء پرسوجو بهطور تصادفی انتخاب شدند تا درخواستهای پرس و جوی محدوده پیوسته را صادر کنند. به منظور آزمایش عملکرد و کارایی LGCR پیشنهادی ما، دو آزمایش را آماده کردیم. آزمایش اول 5000 شی متحرک را در یک شبکه شبیه سازی کرد و 500 شی پرس و جو را به طور تصادفی انتخاب کرد تا درخواست های پرس و جوی دامنه پیوسته با پارامترهای محدوده مختلف را صادر کند، همانطور که در شکل 7 الف نشان داده شده است. آزمایش دوم 10000 شی متحرک را شبیه سازی کرد و 1000 شی پرس و جو را به طور تصادفی انتخاب کرد، همانطور که در نشان داده شده است. شکل 7 نشان داده شده است.ب همانطور که در شکل نشان داده شده است، نقاط قرمز اشیاء متحرک و نقاط آبی اشیاء پرس و جو بودند. ورودی از مجموعه داده های شبکه واقعی از پکن، با 26220 بخش و 18856 تقاطع استفاده می کند. ژنراتور شامل مدلهای مختلف تحرک در شبکهها میشد، مانند ایستگاه بین راه تصادفی و سفر تصادفی. علاوه بر این، سه راه برای نمایش ردیابی های زمان پیوسته وجود داشت، از جمله تابع گام-مکان، تابع تنظیم سرعت و تابع-گام شتاب. همچنین شامل توزیع پارامترهای مختلف برای اجسام متحرک، مانند توزیع گاوسی و توزیع نرمال است. در آزمایشها، توزیع پارامتر را روی توزیع گاوسی تنظیم کردیم و هر جسم متحرک کوتاهترین مسیر را به مقصد نهایی که از یک مدل تحرک نقطهای تصادفی از پیش تعریفشده تولید شده بود دنبال کرد. ساختارهای داده مرتبط با استفاده از پایگاه داده گراف بومی Neo4J 1.9.7 پیاده سازی شدند. الگوریتم پرس و جو پیشنهادی LGCR با استفاده از جاوا به عنوان زبان برنامه نویسی اصلی و Eclipse به عنوان محیط توسعه پیاده سازی شد.
برای مقایسه، ما از الگوریتم کلاسیک پیشنهاد شده توسط Stojanovic و همکاران، معروف به StojanovicCR [ 13 ] برای پرس و جوی محدوده پیوسته بر روی اشیاء متحرک در شبکه هایی با کارایی و اثربخشی بالا استفاده کردیم، که خدمات و برنامه های کاربردی مبتنی بر مکان را در دنیای واقعی راضی کرد. این الگوریتم مجموعه ای از ساختارهای داده در حافظه، بخش R*-tree (SR*-tree)، جدول پرس و جو پیوسته (CQT)، جدول اتصال شبکه (NCT) و جدول شی موبایل (MOT) را برای پشتیبانی از ارزیابی پرس و جوی محدوده پیوسته به طور خاص، SR*-tree R*-tree را برای ذخیره اطلاعات MBR بخش های جاده گسترش داد. ورودی گره برگ SR*-tree به صورت نمایش داده شد ( مثلاً _ _من d, m b r , o l i s t , qمن نیستم ) _ _(سه�مند،مترب�،�لمنستی،�لمنستی)، جایی که m b rمترب�حداقل مستطیل مرزی بود، من هستم _ _ _�لمنستیو qمن هستم _ _�لمنستیلیستی از اشیاء و اشیای پرس و جو در حال حرکت در امتداد بخش جاده را با شناسه نشان می دهد s e gمن dسه�مند. جدول NCT اطلاعات اتصال بخش های جاده را ذخیره می کند. یک ورودی جدول NCT به عنوان نشان داده شد ( مثلاً _ _من d، r t En t r ys eg _ _L e n gt h ، s t a r t Co n ، e n dسیo n )(سه�مند،�تی��تی��،سه��ه��تیساعت،ستیآ�تیسی��،ه�دسی��)، جایی که s e gمن dسه�مندشناسه بخش جاده بود، r t En t r y�تی��تی��نشانگر را به SR*-tree نشان داد، s e gL e n gتی ساعتسه��ه��تیساعتطول بخش جاده و عناصر را نشان می دهد s t a r t Co nستیآ�تیسی��و e n dسیo nه�دسی��لیستی از بخش های جاده مجاور را نشان می دهد. جدول CQT اطلاعات مربوط به پرس و جوهای دامنه پیوسته را ذخیره می کرد. یک ورودی CQT به عنوان نشان داده شد ( قمن d، یا من د، r a n ge ، v a l i dپe r i o d, a n s w e r Se t )(�مند،�مند،�آ��ه،�آلمندپه�من�د،آ�س�ه�اسهتی)، جایی که qمن d�مندشناسه پرس و جوهای دامنه پیوسته بود، o i d�مندنشان دهنده شی پرس و جو است، r a n gه�آ��هپارامترهای محدوده را تعریف کرد، یک n s w e r Se tآ�س�ه�اسهتینشان دهنده پاسخ پرس و جو اولیه و v a l i dپe r i o d�آلمندپه�من�ددوره معتبر پرس و جو را نشان می دهد. جدول MOT اطلاعات اجسام متحرک را ذخیره می کرد. یک ورودی MOT به عنوان نشان داده شد ( m o i d, l o c , t i m e , s p e e d، قتو هستی _ _اسe t )(متر�مند،ل�ج،تیمنمتره،سپههد،�توه��اسهتی)، جایی که من و من _متر�مندشناسه اجسام متحرک بود، l o cل�جمکان فعلی در آن زمان بود من هستم _ _تیمنمترهو s p e e dسپههدسرعت جاری را نشان می دهد. این qتو هستی _ _اسe t�توه��اسهتیلیستی از پرس و جوهایی را که این شی در آنها شرکت می کند نشان می دهد. StojanovicCR ابتکاری یک مرحله پیش پالایش را برای اصلاح بیشتر اشیاء متحرک توسط مرحله فیلتر در یک استراتژی پردازش پرس و جو سنتی معرفی کرد. ابتدا، با توجه به شرایط پرس و جو، مرحله فیلتر، اشیاء متحرک کاندید را با استفاده از شاخص SR*-tree انتخاب کرد. مرحله پیش پالایش، پالایش بیشتر اجسام متحرک به دست آمده توسط مرحله فیلتر بود. مرحله پالایش به صورت دوره ای با پردازش اشیاء نامزد تولید شده توسط مرحله پیش پالایش انجام شد و پاسخ پرس و جو را ایجاد کرد.
5.2. نتایج تجربی
مقداردهی اولیه LGCR در آزمایش حدود 983 ثانیه طول کشید. این عمدتا شامل سه بخش زیر است: وارد کردن شبکه ها، ساخت ساختارهای داده پیشنهادی و ساخت ساختار GET. GET کلید بهبود عملکرد الگوریتم پرس و جو LGCR به روشی افزایشی است. با توجه به محدوده پرس و جو، پرس و جوها به گروه های مختلفی طبقه بندی می شوند. میانگین زمان محاسبه کاندیدای پرس و جو را برای هر گروه با همان محدوده پرس و جو محاسبه می کنیم. شکل 8زمان صرف شده برای بازیابی اشیاء کاندید با استفاده از GET را نشان می دهد. نتایج نشان میدهد که بازیابی اشیاء کاندید به زمان CPU بیشتری با افزایش دامنه پرس و جو نیاز دارد. با توجه به اینکه عملیات اصلی پیمایش گراف در GET است، محدوده پرس و جو بزرگ به عملیات پیمایش گراف بیشتری نیاز دارد که منجر به صرف زمان بیشتر می شود.
شکل 9 نشان می دهد که میانگین تعداد اشیاء متحرک در نتایج پرس و جو (نوار نارنجی) بسیار نزدیک به میانگین تعداد اجسام متحرک در نتایج کاندید (نوار آبی) است. میانگین نسبت استفاده از اشیاء کاندید بازیابی شده توسط GET به 81.2 درصد افزایش یافته است، یعنی GET به طور موثر شی متحرک کاندید قابل استفاده مجدد را برای جستجوهای دامنه پیوسته افزایشی برای الگوریتم پرس و جو LGCR حفظ می کند. واحد اصلی GET یک بخش جاده است. از این رو، طول یک بخش جاده با تعداد نامزدها مرتبط است. یک بخش طولانی تر جاده منجر به کاهش نسبت بین نتایج پرس و جو و نتایج نامزد شد. میانگین طول بخشهای جاده در پکن در آزمایشها 202.25 متر بود که فاصله نسبتاً کوتاهی است. از این رو، GET مجموعه های نامزد دقیق تری را حفظ می کند.
شکل 10 a میانگین زمان CPU برای هر پرس و جو را در آزمایش با 5000 شی متحرک و 500 شی پرس و جو نشان می دهد.شکل 10b نتایج تجربی را با 10000 شی متحرک و 1000 شی پرس و جو نشان می دهد. نتایج تجربی نشان می دهد که الگوریتم پرس و جو LGCR عملکرد و پایداری بهتری را برای ارزیابی پرس و جوهای پیوسته نسبت به StojanovicCR ارائه می دهد. میانگین زمان CPU به ازای هر پرس و جو برای هر دو رویکرد به طور کلی با افزایش دامنه پرس و جو افزایش می یابد. StojanovicCR به زمان بیشتری برای به روز رسانی ساختارهای داده درون حافظه مانند SR*-tree، MOT و CQT نیاز داشت. الگوریتم پرس و جو LGCR همچنین زمان اجرای طولانی تری را برای کاندیدهای پرس و جو برای پرس و جوهای محدوده پیوسته ایجاد می کند. با این حال، عملگرهای اصلی نمودار، مانند ایجاد یا حذف یال ها و پیمایش نمودار، زمان کمتری را صرف می کنند. از این رو، الگوریتم پرس و جو LGCR پایدارتر و کارآمدتر بود. علاوه بر این،
5.3. بحث
الگوریتم پرس و جو پیشنهادی LGCR برای پرس و جوهای محدوده پیوسته بر روی اشیاء متحرک در شبکه کارآمد بود. با این حال، هنوز محدودیت هایی وجود دارد که ارزش توجه دارند.
(1) برای الگوریتم پرس و جو LGCR، ساختارهای داده خاص، از جمله لبه های قابل پل زدن، لبه های فاصله و مراحل پیش محاسباتی GET و آفلاین، به طور قابل توجهی کارایی را بهبود بخشید. با این حال، مقیاس بزرگ شبکه، این مراحل پیش پردازش را بسیار وقت گیر کرد و به فضای ذخیره سازی عظیمی نیاز داشت. علاوه بر این، LGCR پیشنهادی ما میتواند به راحتی برای پشتیبانی از جستارهای جغرافیایی اجتماعی گسترش یابد، زیرا ساختار ObjectGraph توانایی مدلسازی روابط اجتماعی بین اشیاء متحرک، مانند همکاران، دوستیها، پیروان، گروههای علاقهمند یا روابط طرفداران را دارد.
(2) به عنوان وظیفه کلیدی الگوریتم پرس و جو LGCR، واحد اصلی GET شامل مجموعه ای از بخش ها بود. با این حال، آن بخش ها هیچ معنای فیزیکی آشکاری نداشتند. آنها نمی توانند به خوبی با نهادهای مفهومی در محیط های شبکه جاده ای پیچیده در دنیای واقعی سازگار شوند [ 2 ، 15 ]. مفهوم مسیرهای مربوط به بزرگراه ها یا بزرگراه ها در دنیای واقعی را می توان برای مدل سازی شبکه های جاده ای معرفی کرد. از این رو، یک GET ترکیبی که شامل بخشهای جاده و مسیرها میشود، میتواند انعطافپذیری الگوریتم پرس و جو LGCR را بیشتر بهبود بخشد.
(3) ما فرض کردیم که ساختار شبکه کمی تغییر کرده است و به روز رسانی ها عمدتاً به روز رسانی مکان اشیاء متحرک را در نظر می گیرند. با این حال، در یک سناریوی واقعی، وزن یک بخش همیشه با اطلاعات ترافیک تغییر میکند و بخشهای جادهای جدید ممکن است درج شوند. این تأثیرگذارها بر نتایج پرس و جو کوئری های دامنه پیوسته تأثیر می گذارند. از این رو، انواع بیشتری از به روز رسانی ها باید در نظر گرفته شود تا الگوریتم پرس و جو LGCR گسترده تر شود.
6. نتیجه گیری
با انگیزه نیاز اساسی به خدمات مبتنی بر مکان و برنامه های کاربردی برای پرس و جوهای مکانی-زمانی، ما یک الگوریتم جدید پرس و جو LGCR را ارائه کردیم که به ساختار نمودار خطی و ساختار GET وابسته بود که می توانست مشکل پردازش کارآمد پرس و جوهای دامنه پیوسته را در محدوده وسیع حل کند. اجسام متحرک در شبکه ها این الگوریتم را می توان مستقیماً برای سرویس ها و برنامه های کاربردی مبتنی بر مکان در دنیای واقعی اعمال کرد.
کار آینده نیاز به پیاده سازی پردازش موازی پرس و جوهای دامنه پیوسته بر اساس الگوریتم پرس و جو LGCR برای بهبود بیشتر عملکرد دارد. مزایای ساختار داده پیشنهادی شامل حالت نمودار خطی و ساختار GET است. الگوریتم پرس و جوی پیشنهادی LGCR به راحتی در محیط های محاسباتی توزیع شده با کمک یک چارچوب پردازش تغییر گراف در مقیاس بزرگ، مانند Pregel و موازی همزمان انبوه (BSP) قابل استقرار است.
بدون نظر