ระบบไฟล์ที่ใช้แท็กแทนที่จะเป็นโฟลเดอร์?


122

ไฟล์ของฉันยุ่งเหยิงฉันพยายามจัดโครงสร้างให้เป็นโฟลเดอร์ที่มีชื่อที่อธิบายถึงสิ่งที่พวกเขาอยู่ในความรู้สึกสลายคลาสแบบเรียกซ้ำ แต่ต่อมาฉันมีปัญหาในการค้นหาไฟล์อีกครั้งเมื่อฉันไปหา (ไฟล์เดียวอาจเป็นไปได้ มีอยู่ในหลายโฟลเดอร์)

ระบบไฟล์ใดที่อนุญาตให้ฉันค้นหาไฟล์ของฉันโดยใช้แท็กร่วมกันแทนที่จะใช้โฟลเดอร์

หากมีระบบไฟล์ดังกล่าวฉันไม่แน่ใจว่าระบบปฏิบัติการจะรับมือได้อย่างไรโดยขึ้นอยู่กับระบบโฟลเดอร์อย่างลึกซึ้ง ฉันเจอtag2findซึ่งก็ไม่เลวร้ายเท่าไหร่ มันช่วยแก้ปัญหาของฉันในการค้นหาสิ่งต่างๆในตอนนี้ แต่เป็นแอปพลิเคชันไม่ใช่ระบบไฟล์


ที่เกี่ยวข้อง: stackoverflow.com/q/876188/89771
Alix Axel

2
(ณ ปี 2013) Gmail มีระบบนี้พร้อมใช้งานกับข้อความอีเมลของคุณแล้ว ตอนนี้เพื่อให้พวกเขานำไปใช้ใน Google Drive!
chharvey

คำถามนี้คล้ายกับคำถามนี้
chharvey

2
ฉันคิดเกี่ยวกับเรื่องนี้ระบบดังกล่าวสามารถกำจัดโฟลเดอร์และแม้แต่ชื่อไฟล์ได้ทั้งหมด (ไม่ต้องพูดถึงส่วนขยายที่ไร้สาระ) ในลักษณะที่เส้นทางชื่อและตัวระบุเฉพาะของไฟล์จะเป็นเพียงชุดของแท็กที่ใช้กับไฟล์นั้น และถึงอย่างนั้นอาจมีไฟล์มากกว่าหนึ่งไฟล์ที่มีแท็กชุดเดียวกันทำไมไม่ สัญกรณ์อาจเหมือนกันเช่นdocument/report/2015/finance/v2.01ลำดับของแท็กจะไม่สำคัญ สิ่งที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้คือคุณสามารถให้แท็กบางส่วนไม่ใช่ทั้งหมดและยังสามารถเข้าถึงไฟล์ที่คุณต้องการได้อีกด้วย
Petruza

1
@Petruza ฉันคิดว่าการมีแท็ก ID เฉพาะสำหรับทุกไฟล์อาจทำให้การจัดการแท็กยุ่งยาก ชื่อไฟล์จะยังคงเป็นคุณสมบัติที่มีประโยชน์นอกเหนือจากแท็กทั่วไป
jiggunjer

คำตอบ:


34

สิ่งที่คุณจะขอเป็นระบบฐานข้อมูลไฟล์ ฉันรู้ว่าการดำเนินการทดลองหนึ่งสำหรับลินุกซ์ที่เรียกว่าdBFS Microsoft เริ่มพัฒนาWindows Future Storage (WinFS) - มีแผนจะจัดส่งพร้อม Vista แต่เนื่องจากปัญหาทางเทคนิคทำให้โครงการล่าช้าและเท่าที่ฉันทราบในที่สุดก็ถูกยกเลิก นอกจากนี้NTFSยังสามารถจัดเก็บข้อมูลเมตาสำหรับไฟล์ แต่ไม่สามารถขยายระบบไฟล์ฐานข้อมูลที่มีคุณลักษณะครบถ้วนได้

การรวมระบบไฟล์ดังกล่าวเข้ากับระบบปฏิบัติการไม่ควรยุ่งยากสำหรับแกนหลักของระบบปฏิบัติการ - มันสามารถยึดติดกับโมเดลลำดับชั้นได้ ส่วนที่ซับซ้อนคือเชลล์ (กราฟิก) ที่ต้องเปิดเผยโครงสร้างและความสามารถของระบบไฟล์ให้กับผู้ใช้


2
ใช่ WinFS ถูกยกเลิกประมาณปี 2549: p. อาจลองใช้ DBFS สักระยะ
Clinux

5
ฉันเชื่อว่ามันเรียกอีกอย่างว่าระบบไฟล์เชิงความหมายหรือระบบไฟล์เชิงสัมพันธ์
jiggunjer

37

นี่คือระบบไฟล์บางส่วนที่ฉันพบโดยใช้ google

TagFS - เอกสาร "Tag Semantics for Hierarchical File Systems" โดย Stephan Bloehdorn และ Max Völkel, 2006 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.4187

dhtfs - "การติดแท็กระบบไฟล์ที่ให้ลำดับชั้นของไดเร็กทอรีแบบไดนามิกตามแท็กที่เกี่ยวข้องกับไฟล์" การใช้งานที่ใช้งานได้รุ่นล่าสุดปี 2007 http://code.google.com/p/dhtfs/

Tagsistant - โครงการ "ระบบไฟล์ความหมายเชิงเหตุผลสำหรับ Linux และ BSD" ภายใต้การพัฒนาที่ใช้งานอยู่ http://www.tagsistant.net/

Leaftag - "การติดแท็กสำหรับเดสก์ท็อป Linux" การใช้งานอื่นรุ่นล่าสุด 2006 http://www.chipx86.com/w/index.php/Leaftag

เกี่ยวกับการผสานรวมกับระบบปฏิบัติการฉันไม่คิดว่ามันน่าจะยากขนาดนั้น ระบบปฏิบัติการขึ้นอยู่กับลำดับชั้นของระบบไฟล์อย่างลึกซึ้ง แต่ระบบไฟล์ที่ใช้แท็กสามารถเลียนแบบโครงสร้างไดเร็กทอรี ตัวอย่างเช่นในระบบไฟล์ที่ใช้แท็กเส้นทาง/etc/init.dจะให้ไฟล์ทั้งหมดที่ถูกแท็กด้วยแท็กสองแท็กคือ 'etc' และ 'init.d' สำหรับไฟล์ที่ถูกแท็กด้วยแท็กอื่น ๆ รวมทั้งแท็กทั้งสองนี้แท็กพิเศษของพวกเขาสามารถปรากฏเป็นไดเร็กทอรีภายใน /etc/init.d หากมีไฟล์ a.txt ที่มีแท็กสามแท็กคือ 'etc', 'init.d' & 'asdf' ดังนั้น 'asdf' จะปรากฏเป็นไดเร็กทอรีภายใน /etc/init.d และพา ธ แบบเต็มของ a.txt จะกลายเป็น / etc / init.d / asdf / a.txt


@clinux: นี่คืออีกอันล่าสุดFuse :: TagLayerแม้ว่าจะดูเหมือนอ่านอย่างเดียว
isync

35

ฉันเป็นผู้เขียนTMSU ของโปรแกรม Linux ที่ให้คุณแท็กไฟล์และดูไฟล์ในระบบไฟล์ที่ใช้แท็ก

นี่คือตัวอย่างการใช้งานบางส่วน:

$ tmsu tag track.mp3 music genre=indie-rock good year=1999
$ tmsu tag melody.mp3 music
$ tmsu tag DC123.jpg photo landscape country=italy year=2014
$ tmsu files music year = 1999
./song.mp3

และระบบไฟล์เสมือน:

$ mkdir mp
$ tmsu mount mp
$ ls mp
query  tags
$ ls tags
country  genre  good  landscape  photo  music  year
$ ls tags/music
genre  good  track.1.mp3  melody.2.mp3 year

ตัวเลขในชื่อไฟล์เป็นตัวระบุที่มีเพื่อให้ชื่อไฟล์ไม่ซ้ำกัน นี่คือลิงก์สัญลักษณ์กลับไปยังตำแหน่งเดิมของไฟล์

$ ls tags/music/good  # you can drill down
genre  track.1.mp3  year
$ ls "query/music and good"  # this directory gets automatically created
track.1.mp3

มันยังอยู่ในระหว่างการพัฒนา ขณะที่เขียน (ต.ค. 2014) 0.4.2 พร้อมใช้งาน แต่ฉันจะปล่อย 0.5.0 เร็ว ๆ นี้


1
วิธีใดในการใช้งานกับ Windows
Jonathan

1
@ โจนาธานใช่มีWindows รุ่นเก่าที่คุณสามารถลองได้ โปรดทราบว่ามีข้อผิดพลาดเล็กน้อยและไม่มีการรองรับ VFS ฉันมีความหมายที่จะทำพอร์ตที่เหมาะสม แต่ฉันต้องการให้แกนกลางอยู่ในสถานะที่ดีก่อน
Paul Ruane

ฟังดูน่ากลัวพอล :)
โจนาธาน


4

ลองtagfs เป็นระบบไฟล์พื้นที่ผู้ใช้แบบฟิวส์ สามารถแสดงไดเร็กทอรีที่ติดแท็กจากไดเร็กทอรีต้นทางในมุมมองตัวกรองแท็ก

เช่นสมมติว่าคุณมีไดเรกทอรี "vacation india" ซึ่งติดแท็ก "india" และ "photos" และไดเรกทอรี "vacation spain" ติดแท็ก "spain" และ "photos" คุณสามารถกรองรูปภาพทั้งหมดของคุณได้โดยป้อนเส้นทาง '/ my_mountpoint / photos'

ไดเรกทอรีจะถูกแท็กผ่านไฟล์ข้อความธรรมดา ไฟล์ชื่อ ".tag" ในไดเร็กทอรีมีแท็ก แท็กหลายแท็กถูกคั่นด้วยการขึ้นบรรทัดใหม่


3

ฉันเจอคำถามนี้ในขณะที่ถามตัวเองด้วยคำถามเดียวกันเกี่ยวกับแท็กไฟล์ระบบไฟล์ จากนั้นฉันก็เจอแอปพลิเคชั่นนี้สำหรับ Windows XP / Vista ชื่อTaggedFrogซึ่งอาจทำเคล็ดลับ ยังไม่ได้ลอง แต่ดูมีแนวโน้ม

ไม่รอคอยที่จะผ่านไฟล์กว่า 1,000 ไฟล์! ไม่ว่าอย่างไรก็ตามฉันจะถูกบังคับให้อัปเกรดเป็น Win7 ในบางจุดและสามารถลองใช้การติดแท็กเนทีฟได้


ฉันเชื่อว่า TaggedFrog รองรับ Windows เวอร์ชันใหม่กว่าด้วย
jiggunjer


2

มีTagsForAllสำหรับ windows มันเป็นตัวจัดการไฟล์ตามแท็ก แท็กสามารถมีโครงสร้างแบบลำดับชั้น ส่วนต่อประสานผู้ใช้นั้นเรียบง่าย แต่ดูดี เวอร์ชันฟรีทำงานได้อย่างสมบูรณ์และบันทึกแท็กในฐานข้อมูลเวอร์ชัน Pro บันทึกแท็กภายในสตรีม NTFS ไปยังไฟล์


2

ฉันพบว่าการออกแบบ UI ของElyseนั้นยอดเยี่ยมมาก แต่เป็นระบบคงที่มากกว่าที่ไม่สามารถดูโฟลเดอร์และแท็กไฟล์ใหม่ด้วยแท็กเริ่มต้นโดยอัตโนมัติ


1

ฉันคิดเกี่ยวกับระบบไฟล์ที่ใช้แท็กมานานแล้ว มีใครคิดเกี่ยวกับแนวทางที่ง่ายและรุนแรงกว่านี้บ้าง? หากต้องการลืมโฟลเดอร์โดยสิ้นเชิง (โฟลเดอร์จำลองสำหรับเหตุผลด้านความเข้ากันได้ของโปรแกรมเท่านั้น) และใส่แท็กทั้งหมดลงในชื่อไฟล์โดยตรง

(ชื่อไฟล์คลาสสิก) _Tag1_Tag2_Tag3 _..... (นามสกุลไฟล์)

Mydocument_tag-based-ไฟล์ system_tags_file-system_stackoverflow_folder_file-name_tagfs.txt

ฉันชอบใส่ข้อมูลให้มากที่สุดเท่าที่จะทำได้ในชื่อไฟล์ คุณสามารถค้นหาทุกสิ่งเป็นล้านไฟล์ในทุกระบบปฏิบัติการที่เป็นไปได้

ข้อ จำกัด เพียงอย่างเดียวคือความยาวของชื่อไฟล์ที่แตกต่างกันใน evey OS และทำให้ระบบปัจจุบันยุ่งเหยิง

ระบบปฏิบัติการขั้นสูงที่สามารถเข้าถึงไฟล์เช่นนี้: Mydocument.txt และสามารถแก้ไขแท็กได้ในระดับต่ำสุดของระบบปฏิบัติการเช่นการเปลี่ยนชื่อไฟล์ในปัจจุบัน หากมี Mydocument.txt อื่นโดยอัตโนมัติระบบจะเปลี่ยนชื่อเป็น Mydocument (2) .txt และอื่น ๆ โดยอัตโนมัติ

ฉันรู้ว่าความคิดนี้ไม่ได้ไม่มีปัญหาเพิ่มเติมไม่ได้กล่าวถึงที่นี่ .....

แต่แนวคิดกำลังจะจัดเก็บแท็กในระดับความเป็นไปได้ขั้นพื้นฐานที่สุดที่สามารถเข้าถึงได้จากระบบไฟล์ในอดีตและในอนาคตทั้งหมด และสิ่งที่ FS มีเหมือนกันคือชื่อไฟล์


สิ่งนี้ดูเหมือนเป็นการใช้ DBFS ที่หยาบคายมาก
Chuu

คุณกำลังผสมแอปเปิ้ลและส้ม ทั้งหมดนี้คือย้ายโครงสร้างลำดับชั้นจากไดเร็กทอรีไปยังชื่อไฟล์ หรืออีกนัยหนึ่ง "ทั้งหมดในไดเรกทอรีเดียว" และ "แท็กในชื่อไฟล์" ไม่สมเหตุสมผลในโลกที่ใช้แท็ก และแน่นอนว่าคุณไม่ต้องการให้โปรแกรมแอปพลิเคชันต้องจัดการกับไฟล์ 10,000 ไฟล์ดังนั้นระบบปฏิบัติการจะต้องส่งไฟล์อย่างมีประสิทธิภาพตามข้อกำหนดของแท็ก ดังนั้นแอปจึงส่ง "แท็ก" ให้กับระบบปฏิบัติการที่จำเป็นเพื่อ "ระบุไฟล์" และ ... คุณจะกลับไปที่ไดเร็กทอรีหรือระบบไฟล์ทางเลือกใดระบบหนึ่งที่กล่าวถึงที่นี่
CoolHandLouis

Windows explorer จำกัด เส้นทางไว้ที่ 255 อักขระซึ่งเข้าถึงได้ง่าย มิฉะนั้นขีด จำกัด ควรกำหนดโดยขีด จำกัด FS สำหรับชื่อไฟล์ ค่อนข้างหยาบ แต่ก็ยังเป็นความคิดที่ดี หากคุณต้องการจัดเก็บข้อมูลเมตาในไฟล์และกรองข้อมูลในระดับต่ำอาจมีวิธีอื่นที่ จำกัด น้อยกว่าเช่นการต่อท้ายหรือป้อนข้อมูลล่วงหน้าลงในไฟล์หรือมีไฟล์ "ด้านข้าง" ที่มีชื่อไฟล์เดียวกัน แต่ต่างกัน ซึ่งจะมีข้อมูลเมตา ปัญหาอีกประการหนึ่งคือการเปลี่ยนชื่อแท็กอาจต้องใช้การแก้ไขไฟล์หลายล้านครั้ง
Rolf

อันที่จริงความคิดนี้ถูกนำมาใช้โดยTagSpaces
Arnie97

0

ฉันไม่คิดว่ามี (มี) การสนับสนุนการแท็กต่อ se แต่BFSรองรับฟังก์ชันข้อมูลเมตาที่น่าสนใจบางอย่าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.