একাধিক ডিভিডি-তে ফাইল বিতরণ করার উপযোগিতা?


11

আমার কাছে একগুচ্ছ মিডিয়া ফাইল রয়েছে যা আমি ডিভিডি রেকর্ড করতে চাই, তবে যেহেতু প্রতিটি ডিভিডি কেবল 4.5 গিগাবাইট ফিট করে, তাই সর্বনিম্ন সংখ্যক ডিভিডি ব্যবহার করার জন্য ফাইলগুলি সংগঠিত করার জন্য আমার সর্বোত্তম উপায়টি খুঁজে পেতে হবে (অন্যথায় প্রতিটি খালি স্থান বাকি আছে) ডিভিডি সহজেই যোগ করতে পারে)। এই সাহায্য করার জন্য কোন সরঞ্জাম আছে?

বহু বছর আগে ফ্লপি ডিস্ক সহ এটি করার জন্য একটি ডস ইউটিলিটি ছিল।


1
না, আমি সংক্ষেপণ এবং বিভাজন খুঁজছি না। আমি ফাইলগুলি দেশীয়ভাবে (ফাইল সিস্টেম) বিতরণ করতে চাই যাতে প্রতিটি ডিস্ক সরাসরি ব্যবহার করা যায়।
অ্যালেক্স আর

সবেমাত্র অনুভূত হয়েছিল যে যে কেউ অনুসন্ধানের জন্য এটি একটি ভাল পৃষ্ঠা: howtogeek.com/76264/…
নভে

উত্তর:


3

ফ্রি ডিভিডি স্প্যান ব্যবহার করে দেখুন :

একাধিক ডিভিডিতে বড় ফোল্ডারগুলির বিষয়বস্তু লেখার জন্য ডিভিডি স্প্যান একটি ব্যাকআপ সরঞ্জাম। ন্যূনতম সংখ্যক ডিস্কের সর্বোচ্চ পরিমাণের ডেটা ফিট করার জন্য ডিভিডি স্প্যান স্বয়ংক্রিয়ভাবে প্রতিটি ডিস্কের সেরা সংস্থা নির্ধারণ করতে পারে। ডিভিডিএসপ্যান আপনার সঙ্গীত সংগ্রহ, ফটো বা এমনকি আপনার সম্পূর্ণ হার্ড ডিস্ককে ডিভিডিতে ব্যাকআপ করার জন্য একটি দুর্দান্ত সরঞ্জাম। এবং এটি নিয়মিত ডিভিডি তৈরি করে (বা সিডি), আপনার ব্যাকআপগুলি পড়তে বা পুনরুদ্ধার করার জন্য কোনও বিশেষ সফ্টওয়্যার প্রয়োজন হয় না।


2

আহ, ন্যাপস্যাক সমস্যা -য় । আমি এটির জন্য এখানে কেবল একটি অনলাইন সলভার খুঁজে পেতে পারি । আপনার ন্যাপস্যাকের আকার হবে 4.5 গিগাবাইট, এবং প্রতিটি প্যাকেট হবে আপনার ফাইলের আকার। আপনার নির্দিষ্ট অ্যাপ্লিকেশনটি ফিট করার জন্য আপনাকে এর আউটপুটটি কিছুটা ম্যাসেজ করতে হবে তবে এটি কার্যকর হবে। যদিও এটি খুব দ্রুত চালাবেন না কারণ এই সমস্যাটি শক্ত


হঁ্যা এটি একটি দ্বারা NP-সম্পূর্ণ সমস্যা, কিন্তু এই ব্যবহারিক প্রয়োগ, একটি বলপূর্বক সমাধান ফাস্ট যথেষ্ট :)
অ্যালেক্স আর

1
এটি ন্যাপস্যাক সমস্যার সমতুল্য নয় তবে (1-ডি) বিন প্যাকিং সমস্যার , যার মধ্যে একটি সঠিক অ্যালগরিদম রয়েছে
কেনি এভিট

2

সংক্ষিপ্ত বিবরণ

জেফ শটকের উত্তর সঠিক যে এটি গণিতবিদরা যেমন সম্মিলিত অপ্টিমাইজেশান সমস্যার সমতুল্য (বা আইসোমোরফিক) লিখেছেন তবে এটি 1-মাত্রিক বিন প্যাকিং সমস্যার সমতুল্য , ন্যাপস্যাক সমস্যা নয়

আপনার জন্য ভাগ্যবান, আমার কাছে কিছু শেয়ার করার মত কোড রয়েছে যা আপনার বা অন্য কারও কাছে নেট নেট ফ্রেমওয়ার্ক ইনস্টলডের কমপক্ষে 3.5 সংস্করণ সহ একটি উইন্ডোজ কম্পিউটারে অ্যাক্সেস সহ এই সমস্যাটি সমাধান করবে।

একটি রাফ সমাধান

  1. প্রথমে, লিনকুইপ্যাড ডাউনলোড এবং ইনস্টল করুন

  2. দ্বিতীয়ত, আমি স্রেফ লিখেছি লিনকিপ্যাড কোয়েরিটি ডাউনলোড করুন - কাঁচা ফাইলে এখানে লিনাক (হেক্টর) রয়েছে। এটি একটি লিংক ফাইল হিসাবে সংরক্ষণ করুন এবং এটি লিনকপ্যাডে খুলুন।

  3. পরামিতিগুলি পরিবর্তন করুন:

    আপনার যে পরিবর্তনটি করা উচিত লিনকপ্যাড কোয়েরি কোডের অংশটি এখানে:

    int binSizeMb = 4476; // This is the (floor of the) total size of a DVD+R reported by CDBurnerXP. string rootFileFolderPath = @"F:\2006 - Polyester Pimpstrap Intergalactic Extravaganza multicam";

    binSizeMbআপনার 'বিন' আকারে পরিবর্তন করুন , উদাহরণস্বরূপ সিডি, ডিভিডি, প্রাক্তন। int binSizeMb = 650;একটি সিডি জন্য।

    দ্রষ্টব্য - binSizeMbমানটিকে কখনও কখনও একটি মেবিবাইট হিসাবে উল্লেখ করা হিসাবে ব্যাখ্যা করা হয় । আমার শৈশবের বিপরীতে, যখন সমস্ত বাইট গুণগুলি 'বাইনারি' ছিল, কখনও কখনও 'এমবি' এখন একটি 'দশমিক মেগাবাইট' বা ঠিক 1,000,000 বাইট বোঝায়, আমার কোডটিতে ব্যবহৃত একটি মেগাবাইট (এমআইবি) এর 1,048,576 বাইটের বিপরীতে । আপনি যদি এটি পরিবর্তন করতে চান const int bytesPerMb = 1048576;তবে কোডের লাইনটি এতে পরিবর্তন করুন const int bytesPerMb = 1000000;

    rootFileFolderPathআপনি যে ফাইলগুলিতে 'পিন ইন প্যাক করতে চান' সেগুলি সহ ফোল্ডারের পুরো পথে পরিবর্তন করুন , প্রাক্তন। string rootFileFolderPath = @"C:\MySecretBinFilesFolder";

  4. কোয়েরি ট্যাবটির উপরের বামে এক্সিকিউট বোতামটি চাপ দিয়ে F5বা ক্লিক করে কোয়েরিটি চালান ।

ফলাফল

ক্যোয়ারী কোডটি rootFileFolderPathফোল্ডারের সমস্ত ফাইলকে পুনরাবৃত্তভাবে গণনা করবে , এর অর্থ এটি সাবফোল্ডারগুলির মধ্যেও সমস্ত ফাইল অন্তর্ভুক্ত করবে।

তারপরে এটি ফাইলের জন্য 'বিনস' তৈরি করবে যাতে প্রতিটি বিনের সমস্ত ফাইলের মোট আকার নির্দিষ্ট করা বিনের চেয়ে কম বা সমান হয়।

লিংকপ্যাড ফলাফল ফলকে আপনি দুটি তালিকা দেখতে পাবেন।

আকারটি হ্রাস ক্রমে তালিকাভুক্ত সমস্ত ফাইলের মধ্যে প্রথম তালিকা।

দ্বিতীয় তালিকাটি হ'ল ফাইলগুলি এবং তাদের মাপের তালিকা এবং সেইসাথে বিনের বাকী আকারের সাথে 'ফাইলগুলি প্যাকিং' দ্বারা তৈরি করা বিনগুলি।

এখানে দ্বিতীয় স্ক্রিনশট তৈরি করা এবং প্রথম দুটি বিন তৈরি করা দেখানো হয়েছে:

লিনকিপ্যাড স্ক্রিনশটটি বিনের তালিকা প্রদর্শন করছে

কার্সারি বিশ্লেষণ

উইকিপিডিয়া অনুসারে, আমি ব্যবহৃত অ্যালগরিদম - ফার্স্ট ফিট ডিক্রেসিং (এফএফডি) কৌশলটি খুব খারাপ হওয়া উচিত নয়; উইকিপিডিয়া বলেছেন:

2007 সালে, এটি প্রমাণিত হয়েছিল যে এফএফডি-র জন্য 11/9 OPT + 6/9 সীমাবদ্ধ শক্ত।

'ওপিটি' সর্বোত্তম কৌশলকে বোঝায় (কোনও সম্ভাব্য অ্যাক্সেসযোগ্য কিছু হিসাবে, কোনও নির্দিষ্ট আসল কৌশল নয়)।

জড়িত গাণিতিক পদগুলির আমার কিছুটা অস্পষ্ট স্মৃতির উপর ভিত্তি করে, এর অর্থ এই হওয়া উচিত যে এফএফডি কৌশলটি সবচেয়ে খারাপভাবে আইটেমগুলিকে সর্বোত্তম কৌশলটি যে বিনের সংখ্যার তুলনায় 1.22 ডলার করে তুলবে pack সুতরাং, এই কৌশলটি আইটেমগুলিকে 4 এর পরিবর্তে 5 টি বিনে প্যাক করতে পারে I

একই উইকিপিডিয়া নিবন্ধে আরও বলা হয়েছে যে একটি "সঠিক অ্যালগরিদম" রয়েছে । আমি এটিও বাস্তবায়নের সিদ্ধান্ত নিতে পারি। আমাকে প্রথম কাগজটি পড়তে হবে যা প্রথমে অ্যালগরিদম বর্ণনা করে।


0

আপনি যে কোনও সংকোচনের সরঞ্জাম ব্যবহার করতে পারেন যা আমার মনে হয় এমন কোনও সংরক্ষণাগার বিভক্ত করতে দেয়


1
কম্প্রেশন আমি যা খুঁজছি তা নয়। এটি ফাইলগুলিতে অ্যাক্সেস করা খুব জটিল করে তোলে।
অ্যালেক্স আর

0

হাইচাইকারের হাস্কেলের গাইডে আপনি প্রোগ্রামটির কোনও একটি রূপ নিতে পারেন , সম্ভবত সেই টিউটোরিয়ালটির কিছু অংশ ব্যবহার করার পরে; টিউটোরিয়ালটি বেশ কয়েকটি ডিস্কে জিনিস বিতরণের ঠিক আপনার সমস্যা সমাধানের আশেপাশে লেখা হয়েছে যার মাধ্যমে সমাধানটি ক্রমবর্ধমান সংশোধন করা হয়, যেমন টিউটোরিয়ালের ৩ য় অধ্যায় থেকে নিম্নোক্ত প্যাসেজের উদাহরণ দিয়ে বলা হয়েছে :

ইতিমধ্যে যথেষ্ট প্রিলিমিনারি রয়েছে। আসুন কিছু সিডি প্যাক করা যাক।

আপনি ইতিমধ্যে স্বীকৃত হতে পারে হিসাবে, আমাদের সমস্যা একটি শাস্ত্রীয় সমস্যা। একে "ন্যাপস্যাক সমস্যা" বলা হয় ( এটি গুগল করুন , যদি আপনি ইতিমধ্যে এটি কী না জানেন তবে 100000 এরও বেশি লিঙ্ক রয়েছে)।

আসুন লোভী সমাধান থেকে শুরু করি ...

আরও ধারণা: সম্পর্কিত প্রশ্ন

এখানে একটি অনুরূপ প্রশ্ন (যদিও এটি একই নয়: এটি অপ্টিমাইজেশনের জন্য জিজ্ঞাসা করা হচ্ছে না), যেখানে আপনি আপনার কার্যের জন্য আরও কার্যকর সমাধান / প্রোগ্রামগুলি খুঁজে পেতে পারেন (যদি তারা পোস্ট করা হবে):

প্রস্তাবিত টিউটোরিয়ালে প্রোগ্রামিং বোঝার জন্য কিছু ইঙ্গিত

সাধারণভাবে, হাস্কেল কোডটি বেশ অভিব্যক্তিপূর্ণ (যেহেতু হাস্কেল উচ্চ স্তরের বিমূর্ততায় প্রোগ্রামিং করার জন্য ভাষা), এবং তাই সহজেই তা ধরা যায়।

টিউটোরিয়ালের ১ ম অধ্যায়ে দেওয়া সমাধানগুলির কোডটি দেখার সময় মনে রাখবেন যে আমরা যে প্রোগ্রামটি লিখতে চাই তার শীর্ষ স্তরের কাঠামোটি বেশ সহজ :

এখন আসুন এক মুহুর্তের জন্য আমাদের প্রোগ্রামটি কীভাবে সিউডোকোডে এটি পরিচালনা করবে এবং প্রকাশ করবে:

main = Read list of directories and their sizes.
       Decide how to fit them on CD-Rs.
       Print solution.

যুক্তিসঙ্গত মনে হচ্ছে? আমিও তাই ভাবছিলাম.

আসুন আমরা আমাদের জীবনকে কিছুটা সহজ করি এবং এখনই ধরে নিই যে আমরা আমাদের প্রোগ্রামের বাইরে কোথাও ডিরেক্টরি আকারগুলি গণনা করব (উদাহরণস্বরূপ, " du -sb *" সহ) এবং স্টিডিন থেকে এই তথ্যটি পড়ব read

এবং আরও আরও ঘনিষ্ঠভাবে সমাধানের অংশগুলি দেখুন।



0

এছাড়াও, ডিস্কফিট চেষ্টা করুন, যা বিভিন্ন ডিস্কে অনুলিপি করতে ফাইল এবং ডিরেক্টরি নির্বাচন করে:

https://sourceforge.net/projects/discfit/


শুধুমাত্র লিঙ্ক সহ একটি উত্তর একটি ভাল উত্তর নয়। সফ্টওয়্যারটি সুপারিশ করার সময়, দয়া করে এই রূপরেখাটি অনুসরণ করুন । আপনার উত্তরটিকে আরও ভাল করতে আপনার সম্প্রসারণ ( সম্পাদনা ) করা উচিত । যেমন আপনার উত্তরটি "পণ্যটি কীভাবে ব্যবহার করতে হবে তার একটি সংক্ষিপ্ত বিবরণ দিন ..." প্রয়োজনীয়তার সাথে সম্মতি দেয় না।
কামিল ম্যাকিয়েরোস্কি

ওয়েবসাইট থেকে: "ন্যূনতম সংখ্যক ফিসিকাল মিডিয়া (সিডি, ডিভিডি, বিডি ...) টুকরোগুলি ব্যবহার করার জন্য ফাইল বা ডিরেক্টরিগুলির একটি বৃহত সেট সাজিয়েছে You ফলস্বরূপ সেটগুলি সরাসরি আপনার বার্নিং সফ্টওয়্যার (নেরো, ডিভিডি) এর উপরে টেনে আনতে পারেন You -যাওয়া...)".
আন্তন

প্রায়। উত্তরটি আরও ভাল করতে আপনার উত্তরটি সম্পাদনা করা উচিত।
কামিল ম্যাকিয়েরোস্কি

লেখকরা যা লিখেছেন তা ছাড়া আর কিছু যুক্ত করতে আমি দেখতে পাচ্ছি না। একজন সম্ভবত ওয়েবসাইটে গিয়ে অনুসন্ধান করতে পারেন।
অ্যান্টন

ঠিক আছে. আমার বক্তব্যটি হল আপনার উত্তরটি সম্পাদনা করা উচিত , এটিতে "সম্প্রসারণ" দিয়ে মন্তব্য লিখবেন না। এটি উত্তর যা মন্তব্যে উত্তর নয়, উল্লিখিত রূপরেখা অনুসরণ করা উচিত। মন্তব্যে উদ্ধৃত খণ্ডটি আপনার উত্তরে উদ্ধৃত করা উচিত। এখানেই শেষ.
কামিল ম্যাকিয়েরোভস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.