از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
چهار سال پیش منتشر شده
تعداد بازدید: 549
کد پروژه: 350907
شرح پروژه
الف- محصول نهایی شامل 3سرویس مستقل است و در لینوکس اجرا میشود:
سرویسA: سازنده جریان داده
عملکرد: از فایل csv مختصات و نام ماشینها را میخواند و رشته حاوی موقعیت ماشینها را بعنوان سروربه کلاینت متصل به سوکتA میفرستد.
ساختار رشته حاوی موقعیت ماشینها در قالب زیر است:
$$name,Lat,Lon,alt,Speed,course,Status,time##
سرویسB: پارسر جریان داده
عملکرد: بعنوان کلاینت به سوکت سرویسA متصل میشود و رشته حاوی موقعیت ماشین ها را به زوج کلید -مقدار برایjson تبدیل میکند. سپس بعنوان سرور، آنرا به سوکتB میفرستد
سرویسC: تحلیلگر جریان داده
عملکرد: بعنوان کلاینت به سوکت سرویس Bمتصل میشود و رشته json حاوی زوج کلید-مقدارها را میخواند و در صورت تغییر محسوس در مقدار جدید نسبت به مقدار قدیم موقعیت هر ماشین، مقادیر جدید را به سوکت سرویس C ارسال میکند
همچنین این مقادیر در قالب تعریف شده (نقاط انتهایی) سرور خارجی، به آن post میشود و در صورت وجود آن ماشین در لیست خود، مقادیر جدید را PUT مینماید. در صورت گذشت بیش از 24 ساعت، از آخرین بروزرسانی، آنرا با متد DELETE حذف میکند
تغییر محسوس پارامترها یعنی رخدادهای1 تا5:
رخداد1:تغییر 20 درصدی در سرعت
رخداد2:تغییر 5درصدی در جهت
رخداد3: تغییر 0.001 درجه در طول یا عرض جغرافیایی
رخداد4: گذشت زمان 100ثانیه از آخرین مقدار ثبت شده قبلی.
رخداد5: تغییر مقدار متغیر status
ب- تعداد کانال:
سرویس A:
1- ده فایل CSV وجود دارد که محتویات هر فایل به یک پورت جداگانه ارسال میشود)
2- ده کانال مجزا برای نتایج سرور AسرویسB:
ده کانال مجزا برای نتایج سرور B
سرویسC:
1- ده کانال مجزا برای نتایج
1-پارامترها، برای همه ی ماشین ها در هر کانال یکسان هستند.
2-پارامترهای هر کانال با کانال دیگر متفاوت است.
ج- تنظیمات
آدرس و پورتهای سرور A مثال : 1921681100 و پورتهای 9000تا 9009
آدرس و پورتهای سرور B مثال : 1921681101 و پورتهای 9010تا 9019
آدرس و پورتهای سرور C مثال : 1921681102 و پورتهای 9010تا 9029
مقادیر قابل تنظیم سرویسA و سرویسB و سرویس C در سه فایل تنظیم جداگانه ذخیره میشود
** در انتهای پروژه، میباید این مقادیر از سرور خارجی، با متد Get دریافت شوند
د- پروتکل نقاط انتهایی سرور خارجی (آماده است)
به آدرس سرور خارجی در قالب یکی از متدهای زیر که در قالب Rest میباشد که به صورت زیر است:
1- POST ( ایجاد خودروی جدید) متد: New_Vehicle
...,channel=3,event=1,name=1234,Lat=50,Lon=30,alt,=1000,Speed=10,course=240,Status=NORMAL,time؟/
2- PUT ( برزورسانی موقعیت خودرو کنونی) متد : Current_Vehicle
=channel=3,event=1,name=1234,Lat=50,Lon=30,alt,=1000,Speed=10,course=240,Status=NORMAL,time؟/
3-DELETE ( حذف خودردی کهنه) متد: Delete_Vehicle
channel=3,event=1,name=1234؟/
4- GET مقادیر تنظیمات مورد نیاز سرور ( این تنظیمات در شروع کار از سرور گرفته میشود) متد : Event_triger_setting
ُchannel=3,event1=20,event2=5,event3=000001,event4=100؟/
*** جهت دسترسی بهینه به سرور خارجی، در صورت وجود حتی یک تغییر در موقعیت ماشینهای هر کانال، می باید متد Current_Vehicleهر ده ثانیه یکیار برای آن کانال انتخاب شود و همه ماشینهای خود را در آن کانال یکجا put کند. ( این عدد نیز قابل تنظیم باشد)
در صورتی که کانالی طی 100 ثانیه ، هیچ تغییری نداشته است و خودرویی هم اضافه نشده است لازم است متد Current_Vehicle اجراشود.
ه- بانک اطلاعاتی و حافظه
هیچ بانک اطلاعاتی وجود ندارد و اطلاعات در حافظه رم ذخیره میشود این فضا برای هر ده کانال و حداکثر 1000 ماشین در هر کانال که دارای 9 متغیر(موقعیت) هستند و هر متغیر 4 بایت اشغال کند آنگاه جمع مقدار جدید و قدیم آنها به 1مگابایت محدود میشود.
4*9*1000*10 = 360کیلووبایت
و- روش تحویل
1- در صورت موفقیت مجری به تحویل روی لوکال هاست ابونتو ( استقرار توسط سفارش دهنده) مبلغ پرداخت میشود.
2- در صورت امکان استقرار به شرح ذیل، پروژه دیگری با مبلغ 50 درصد این پروژه تعریف و تایید می گردد
توضیح: سه سرویس بر اساس دستورالعمل استقرارمجری، توسط سفارش دهنده، روی 2 هاست اشتراکی لینوکسی( دارای آی پی اختصاصی) مستقر می گردد. این هاستها قابلیت پشتیبانی از پایتون وب و نودجی اس را دارا بوده و امکان نصب پکیجهای پایتونی از طریق pip را در محیط مجازی فراهم مینمایند. لذا پکیج خاص لینوکسی با apt-get,... قابل اضافه شدن نیست.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
4روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت هفت سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار