เซิร์ฟเวอร์เพลงหมายถึงเซิร์ฟเวอร์ที่ให้บริการเพลงออนไลน์ ซึ่งรวมถึงเว็บไซต์ระดับไฮเอนด์ที่ให้บริการพอร์ทัล ฐานข้อมูลบนเว็บ และแพลตฟอร์มปฏิบัติการระดับล่างและสิ่งอำนวยความสะดวกด้านฮาร์ดแวร์ ในปัจจุบัน มีเว็บไซต์ดังกล่าวมากมายบนอินเทอร์เน็ตและอินทราเน็ต โดยเฉพาะอย่างยิ่งใน LAN บรอดแบนด์ความเร็วสูงบางแห่ง (เช่น เครือข่ายมหาวิทยาลัย) เซิร์ฟเวอร์เพลงเป็นสถานที่ที่ดีสำหรับการพักผ่อนและความบันเทิงแก่เพื่อนอินเทอร์เน็ต และในขณะเดียวกันก็เช่นกัน นำความสะดวกสบายมาสู่เว็บไซต์
----เช่นเดียวกับไซต์อื่นๆ เซิร์ฟเวอร์เพลงประกอบด้วยสองส่วน: เว็บไซต์และฮาร์ดแวร์ ประสิทธิภาพของฮาร์ดแวร์และประสิทธิภาพของเซิร์ฟเวอร์นั้นเป็นสัดส่วนโดยตรง ดังนั้นวิธีสร้างเว็บไซต์จึงเป็นกุญแจสำคัญของเซิร์ฟเวอร์เพลง จากมุมมองปัจจุบัน โดยทั่วไปมีเว็บไซต์อยู่สองประเภท: เว็บไซต์หนึ่งทำงานในสภาพแวดล้อม Unix/Linux, ใช้ Perl/C/Php/Java ฯลฯ เป็นภาษาโปรแกรม CGI; แพลตฟอร์มที่ใช้ ASP /WinCGI เป็นภาษาพื้นหลัง แบบแรกมีประสิทธิภาพการทำงานสูง แต่มีโครงสร้างที่ซับซ้อน ดังนั้นจึงเหมาะสำหรับไซต์ขนาดใหญ่มากกว่า ส่วนแบบหลังมีความยากในการเขียนโปรแกรมค่อนข้างต่ำ และใช้อินเทอร์เฟซไดรเวอร์ ODBC เพื่ออำนวยความสะดวกในการเชื่อมต่อฐานข้อมูล ทำให้เหมาะอย่างยิ่งสำหรับเซิร์ฟเวอร์เพลง
----เซิร์ฟเวอร์เพลงพื้นฐานประกอบด้วยสี่ส่วน: การชื่นชมเพลงออนไลน์ การจัดอันดับเพลง การดึงธีมเพลง และการดาวน์โหลดเพลง ต่อไปนี้จะกล่าวถึงวิธีการใช้ฟังก์ชันข้างต้นเป็นหลักจากมุมมองทางเทคนิค
การวางแผนฐานข้อมูลหัวข้อดนตรี
----ฐานข้อมูลธีมเพลงเป็นคลังเก็บเนื้อหาเพลงที่เว็บไซต์ต้องการ การวางแผนส่งผลต่อโครงสร้างและประสิทธิภาพของเว็บไซต์ทั้งหมดในระดับมาก สามารถสร้างแบบฟอร์มเดียวในฐานข้อมูล หรือหลายแบบฟอร์มสามารถสร้างขึ้นในรูปแบบของคีย์หลักและคีย์นอกได้ ในตัวอย่างนี้ เพื่อความสะดวกในการอธิบาย กรอบงานตารางเดี่ยวต่อไปนี้จึงถูกสร้างขึ้น: (music.mdb)
ฟังเพลงออนไลน์
---- การฟังออนไลน์หมายความว่าไคลเอนต์ใช้เครื่องเล่นเพื่อเล่นไฟล์เพลงบนฝั่งเซิร์ฟเวอร์ หลักการคือหลังจากที่ไคลเอนต์ส่งเมนูเพลงไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์จะสร้างไฟล์ .m3u ที่เกี่ยวข้องและดาวน์โหลดไฟล์ไปยังไคลเอนต์ผ่านโปรโตคอล HTTP; จึงบรรลุถึงฟังก์ชั่นการฟังเพลงออนไลน์ ผู้เล่นที่รองรับไฟล์ .m3u ในปัจจุบัน ได้แก่ Winamp, RealPlayer G2, Musicmatch เป็นต้น เมื่อซอฟต์แวร์เครื่องเล่นเหล่านี้ได้รับการติดตั้งอย่างถูกต้องบนไคลเอนต์ จะสามารถเล่นไฟล์ .m3u ได้โดยอัตโนมัติ ดังนั้นกุญแจสำคัญในการแก้ปัญหาอยู่ที่วิธีการสร้างไฟล์ .m3u ในเบื้องหลังและดาวน์โหลดไปยังไคลเอนต์ ข้อมูลต่อไปนี้ใช้ส่วนประกอบ FileSystem ในตัวใน ASP เพื่อให้โซลูชันและโปรแกรมที่เกี่ยวข้อง
-
เลือก dim, เส้นทาง, mydb, myset, SQL, fs, mp3
'##### รับรายการเพลงที่เลือกในรูปแบบ list.htm
หมายเลข ID ที่เกี่ยวข้องถูกกำหนดให้กับตัวแปรสตริง เลือก #####
เลือก=(
สำหรับ i=3 เพื่อ request.form.count
เลือก=เลือก+request.form(i)+,
ต่อไป
เลือก=ซ้าย(เลือก,เลน(เลือก)-1)+)
'##### ตัดสินตัวแปร select หากไม่มีหมายเลขประจำตัวใดๆ
คำอธิบาย: ไม่มีการเลือกเพลงใน list.htm ยุติโปรแกรม #####
ถ้าเลือก=() แล้ว
การตอบสนองการเปลี่ยนเส้นทาง (list.htm)
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
'##### ในการตั้งค่าเส้นทางของไฟล์ คุณต้องตั้งค่าการอนุญาตของไดเร็กทอรีชั่วคราวเป็น
มีสิทธิ์อ่านและเขียนสำหรับผู้ใช้ที่ไม่ระบุชื่อทางอินเทอร์เน็ต #####
เส้นทาง = E: /inetpub/wwwroot/temp/
'##### สร้างไฟล์วัตถุ #####
ตั้งค่า fs = CreateObject (Scripting.FileSystemObject)
ตั้งค่า mp3 = fs.CreateTextFile(path+listen.m3u, True)
'##### สร้างวัตถุฐานข้อมูล #####
ตั้งค่า mydb=server.createobject (adodb.connection)
mydb.เปิดเพลง
'##### ค้นหาฐานข้อมูลและรับข้อมูลเพลง #####
SQL=เลือก mp3name,url จาก &dbname&
รหัสอยู่ที่ไหน&เลือก
ตั้งค่า myset=tdb.execute(SQL)
ทำในขณะที่ไม่ใช่ myset.eof
'##### สร้างรายการไฟล์เพลงตามความต้องการ#####
mp3.Write(http://+myset(url)+chr(10))
myset.movenext
วนซ้ำ
'##### อัปเดตจำนวนการดูตามความต้องการและจำนวนการดูในแต่ละวันในฐานข้อมูล
จำนวนการดูทั้งหมด#####
SQL=อัพเดตชุดเพลง คลิก=คลิก+1,
this=this+1 โดยที่ id ใน &choose
mydb.execute(SQL)
'##### ยกเลิกวัตถุ #####
ตั้งค่า myset=nothing
mydb.ปิด
ตั้งค่า mydb=nothing
mp3.ปิด
ตั้งค่า mp3=ไม่มีอะไร
'##### ดาวน์โหลดไฟล์นี้ให้กับผู้ใช้ #####
การตอบสนองการเปลี่ยนเส้นทาง (listen.m3u)
การตอบสนองสิ้นสุด
-
----หมายเหตุ: เมื่อใช้วิธีการนี้ คุณต้องควบคุมเนื้อหาของส่วนหัว Http ของไฟล์ .m3u ใน Winnt สามารถใช้ IIS เพื่อตั้งค่าเนื้อหา Mine เป็นไฟล์ประเภท .m3u การดำเนินการเฉพาะมีดังนี้: เริ่ม IIS —> เลือกเว็บไซต์ที่มีเซิร์ฟเวอร์เพลงตั้งอยู่ —> คลิกปุ่มคุณสมบัติ —> คลิกการ์ดชื่อเรื่อง Http ในแท็บคุณสมบัติที่ปรากฏขึ้น —> คลิกปุ่มประเภทไฟล์ —> คลิก ปุ่มประเภทใหม่ —> ในการเติม .m3u ที่สอดคล้องกันในส่วนขยาย ให้กรอกเสียง/mpegurl ในประเภทเนื้อหา —> จากนั้นยืนยันทั้งหมด
ชาร์ตเพลง
----รายการจัดอันดับเพลงเป็นเนื้อหาที่ขาดไม่ได้ของเซิร์ฟเวอร์เพลง และมีความสำคัญไม่น้อยไปกว่าการดูหน้าเว็บของเว็บไซต์ สามารถให้ข้อมูลแบบเรียลไทม์แก่แฟนๆ คำแนะนำ และสะท้อนแนวโน้มแบบไดนามิก
ในบรรดาเซิร์ฟเวอร์เพลงหลายแห่ง รายการจัดอันดับยังเป็นที่สำหรับแนะนำเซิร์ฟเวอร์ใหม่ด้วยอัตราการคลิกผ่านที่สูง โดยทั่วไปแล้ว รายการจัดอันดับจะประกอบด้วยจำนวนครั้งตามความต้องการทั้งหมด จำนวนครั้งตามความต้องการในวันนั้น จำนวนการดาวน์โหลดทั้งหมด เป็นต้น วิธีการดำเนินการเฉพาะนั้นค่อนข้างง่าย คำสั่ง SQL ต่อไปนี้สามารถใช้ได้ในตารางเดียว: เลือก * จากลำดับเพลงตาม Total_click หากมีหลายตาราง คุณสามารถใช้คำสั่ง SQL คิวรีร่วมกับส่วนคำสั่งเข้าร่วมได้ หากคุณต้องการจำกัดจำนวนระเบียนแบบสอบถาม คุณสามารถใช้ฟังก์ชันการรวบรวม count() ได้ ในตัวอย่างนี้ หากคุณต้องการค้นหาเพลง 20 อันดับแรกที่มีการร้องขอมากที่สุดในแต่ละวัน คุณสามารถใช้คำสั่งต่อไปนี้: เลือก 20 อันดับแรก * จากลำดับเพลงโดย Total_click desc ฟังก์ชั่นการจัดอันดับส่วนใหญ่ขึ้นอยู่กับการวางแผนฐานข้อมูลธีม คุณสามารถเพิ่มหรือลบฟิลด์ได้ตามต้องการเพื่อให้บรรลุฟังก์ชั่นที่เกี่ยวข้อง (เช่น การเพิ่มเวลาในการเข้าสู่รายการ ข้อมูลนักร้อง การเปลี่ยนแปลงอันดับ ฯลฯ) และ SQL ข้อความที่เกี่ยวข้องจะไม่ซับซ้อนเกินไป สรุปแล้วการจัดอันดับสะท้อนถึงคุณลักษณะของเว็บไซต์เพลงและสามารถใช้งานได้อย่างอิสระ
ค้นหาธีมเพลง
----เมื่อพูดถึงการค้นหา หลายคนนึกถึงเว็บไซต์ชื่อดังอย่าง Yahoo และ Soho ทันที และพวกเขาก็รู้สึกค่อนข้างลึกลับ ที่จริงแล้ว การติดตั้งเครื่องมือค้นหาในฐานข้อมูลไม่ใช่เรื่องยาก เนื่องจากกลไกข้อมูลในตัวในฐานข้อมูลมีรากฐานที่ดีอยู่แล้ว ประสิทธิภาพการค้นหาขึ้นอยู่กับประสิทธิภาพของฐานข้อมูลและประสิทธิภาพของคำสั่ง SQL ที่แผนกต้อนรับ สามารถจัดเตรียมรายการค้นหาและตัวเลือกเงื่อนไขได้ ในเบื้องหลัง ตามแบบฟอร์มที่แผนกต้อนรับส่วนหน้าส่งมา ข้อความการสืบค้นที่เกี่ยวข้องจะถูกสร้างขึ้นและดำเนินการในฐานข้อมูล และผลลัพธ์การสืบค้นจะถูกส่งกลับ ตัวอย่างเช่น แบบฟอร์มที่ส่งที่แผนกต้อนรับคือ: รายการค้นหา = ชื่อนักร้อง, เนื้อหา = Jacky Cheung, เงื่อนไขการจับคู่ = การจับคู่คำทั้งหมด จากนั้นคำสั่ง SQL ที่สร้างขึ้นในส่วนหลังคือ: เลือก * จากเพลง โดยที่ Singer = 'Jacky Cheung ' เรียงลำดับตามรุ่น id asc ด้วยวิธีนี้ ข้อมูลเพลงทั้งหมดของ Jacky Cheung จึงสามารถดึงและส่งคืนตามการจัดหมวดหมู่อัลบั้ม อีกตัวอย่างหนึ่งคือ แผนกต้อนรับต้องการสอบถามเพลงทั้งหมดที่มีชื่อว่า Qi Qin และชื่อเพลงมีคำว่า Rain (นั่นคือ จำเป็นต้องมีการจับคู่แบบคลุมเครือ) จากนั้นคำสั่ง SQL ที่สร้างโดยพื้นหลังคือ: select * จากเพลง โดยที่นักร้อง ='Qi Qin' และ mp3name Like '%rain%' เรียงลำดับตาม id asc จะคืนฝนฤดูหนาว, ฝนพระอาทิตย์, ฝนที่โหดเหี้ยม, คุณที่โหดเหี้ยม ฯลฯ ตราบใดที่คุณใช้เทคนิคที่เหมาะสมและคำสั่ง SQL ที่ยืดหยุ่น คุณก็สามารถใช้ประโยชน์สูงสุดจากการค้นหาหัวข้อของคุณได้
ฟังก์ชั่นดาวน์โหลดเพลง
----มีฟังก์ชันดาวน์โหลดเพลงซึ่งเป็นฟังก์ชันพื้นฐานของเซิร์ฟเวอร์เพลงด้วย โดยเฉพาะสำหรับผู้ใช้ระยะไกลที่สามารถเพลิดเพลินกับเพลงโปรดหลังจากดาวน์โหลดแล้วเท่านั้น
โดยทั่วไปมีสองวิธีในการดาวน์โหลด วิธีแรกคือดาวน์โหลดโดยตรงผ่าน HTTP และเบราว์เซอร์ อีกวิธีคือเปิดไลบรารีเพลงลงในไดเร็กทอรี Ftp และดาวน์โหลดผ่านโปรโตคอล ftp ในตัวอย่างนี้ ใช้วิธีการเดิมและมีการติดตามและบันทึกจำนวนการดาวน์โหลดในฐานข้อมูล เว็บไซต์บางแห่งยังบีบอัดและเข้ารหัสเพลงตามความจำเป็น และมอบรหัสผ่านให้กับผู้ใช้อย่างเป็นทางการ ซึ่งก็เป็นความคิดที่ดีเช่นกัน ขั้นตอนในตัวอย่างนี้มีดังนี้:
-
'##### รับหมายเลขประจำตัวเพลง id #####
id=คำขอ(id)
ตั้งค่า tdb=server.createobject (adodb.connection)
tdb.เปิดเพลง
SQL=เลือก mp3url จากเพลงโดยที่ id =&id
ตั้งค่า tset=tdb.execute(SQL)
ถ้า tset.eof แล้ว
การตอบสนองสิ้นสุด
อื่น
'##### อัพเดตจำนวนการดาวน์โหลดเพลงในฐานข้อมูล#####
SQL=อัพเดตชุดเพลง Total_down=total_down
+1 โดยที่ id =&id
tdb.execute (SQL)
downfile=tset(url)
tdb.ปิด
setset=ไม่มีอะไร
settdb=ไม่มีอะไร
สิ้นสุดถ้า
ถ้า downfile= หรือ isnull(downfile) ดังนั้น response.end
downfile=http://+downfile
'#####ดาวน์โหลดเพลงที่เกี่ยวข้อง#####
response.redirect (ดาวน์โหลดไฟล์)
การตอบสนองสิ้นสุด
-
----ขั้นตอนข้างต้นสร้างเซิร์ฟเวอร์เพลงพื้นฐาน แน่นอนว่าเซิร์ฟเวอร์เพลงที่สมบูรณ์ยังสามารถรวมข้อมูลนักร้อง ฟอรัมสำหรับแฟนๆ ห้องสนทนา สถานีลงคะแนน เครือข่ายข่าวบันเทิง และฟังก์ชันอื่นๆ ซึ่งทั้งหมดนี้สามารถนำไปใช้ทีละรายการโดยใช้ ASP บทความนี้ถูกจำกัดด้วยพื้นที่และจะไม่กล่าวถึงในรายละเอียด ตราบใดที่ส่วนหน้าใช้การออกแบบสไตล์ที่เป็นเอกลักษณ์และการควบคุมโปรแกรม JavaScript ที่สมบูรณ์แบบ และการเขียนโปรแกรมส่วนหลังใช้คำสั่ง SQL ที่ยืดหยุ่นและส่วนประกอบ ASP ที่ทรงพลัง ควบคู่ไปกับฐานข้อมูลเว็บที่วางแผนไว้อย่างดีและความคิดสร้างสรรค์ที่หลากหลาย เซิร์ฟเวอร์เพลงที่สมบูรณ์แบบ สามารถสร้างได้ เพื่อนๆ ที่สนใจอาจอยากลองดู แล้วคุณจะสร้างปาฏิหาริย์!