뮤직서버란 온라인 음악 서비스를 제공하는 서버를 말하며, 포털 서비스를 제공하는 고급형 웹사이트, 웹 데이터베이스, 저가형 운영 플랫폼 및 하드웨어 설비를 포함합니다. 현재 인터넷과 인트라넷, 특히 일부 고속 광대역 LAN(예: 캠퍼스 네트워크)에는 이러한 사이트가 많이 있습니다. 음악 서버는 인터넷 친구들에게 여가와 오락을 위한 좋은 장소를 제공하는 동시에 또한 더 높은 접속률을 제공합니다.
----다른 사이트와 마찬가지로 뮤직 서버는 웹사이트와 하드웨어라는 두 부분으로 구성됩니다. 하드웨어 성능과 서버 효율성은 정비례하므로 웹사이트를 어떻게 구축하느냐가 뮤직서버의 핵심입니다. 현재 관점에서 볼 때 기본적으로 두 가지 유형의 웹 사이트가 있습니다. 하나는 Unix/Linux 환경에서 실행되고 Perl/C/Php/Java 등을 CGI 프로그래밍 언어로 사용하고 다른 하나는 Win NT 서버에서 실행됩니다. 플랫폼에서는 ASP /WinCGI를 배경 언어로 사용합니다. 전자는 운영 효율성이 높지만 구조가 복잡하므로 대규모 사이트에 더 적합합니다. 후자는 프로그래밍 난이도가 상대적으로 낮고 ODBC 드라이버 인터페이스를 사용하여 데이터베이스 연결을 용이하게 하므로 특히 음악 서버에 적합합니다.
----기본 음악 서버는 온라인 음악 감상, 음악 순위, 음악 테마 검색 및 음악 다운로드의 네 부분으로 구성됩니다. 다음에서는 기술적인 관점에서 위의 기능을 구현하는 방법을 주로 논의합니다.
음악테마 데이터베이스 기획
----음악 테마 데이터베이스는 웹 사이트에 필요한 음악 자료를 저장하는 창고입니다. 그 계획은 전체 웹 사이트의 구조와 효율성에 큰 영향을 미칩니다. 데이터베이스에 단일 양식을 생성하거나 기본 키 및 외래 키 형태로 여러 양식을 생성할 수 있습니다. 이 예에서는 설명의 편의를 위해 다음과 같은 단일 테이블 프레임워크가 구축되었습니다. (music.mdb)
온라인으로 음악 듣기
----온라인 청취는 클라이언트가 플레이어를 사용하여 서버 측에서 음악 파일을 재생한다는 것을 의미합니다. 원칙은 클라이언트가 음악 메뉴를 서버에 제출한 후 서버가 해당 .m3u 파일을 생성하고 HTTP 프로토콜을 통해 클라이언트에 파일을 다운로드하도록 자극하여 클라이언트가 해당 플레이어를 호출하여 파일을 실행하도록 한다는 것입니다. 따라서 음악 온라인 청취 기능을 달성합니다. 현재 .m3u 파일을 지원하는 플레이어에는 Winamp, RealPlayer G2, Musicmatch 등이 있습니다. 이러한 플레이어 소프트웨어가 클라이언트에 올바르게 설치되면 자동으로 .m3u 파일을 재생할 수 있습니다. 따라서 문제 해결의 핵심은 백그라운드에서 .m3u 파일을 생성하고 클라이언트에 다운로드하는 방법에 있습니다. 다음은 ASP에 내장된 FileSystem 구성 요소를 사용하여 솔루션과 해당 프로그램을 제공합니다.
<%
희미한 선택,경로,mydb,myset,SQL,fs,mp3
'##### list.htm 형식으로 선택한 노래 항목을 가져옵니다.
해당 ID 번호는 #####을 선택하는 문자열 변수에 할당됩니다.
선택=(
i=3에서 request.form.count로
선택=선택+요청.양식(i)+,
다음
선택=왼쪽(선택,len(선택)-1)+)
'##### 선택 변수에 ID 번호가 포함되어 있지 않은지 판단하고,
설명: list.htm에서 선택된 노래가 없습니다. 프로그램을 종료합니다. #####
=()를 선택하면
response.redirect(list.htm)
응답.끝
종료하면
'##### 파일 경로를 설정하려면 임시 디렉터리의 권한을 다음으로 설정해야 합니다.
인터넷 익명 사용자 #####에 대한 읽기 및 쓰기 권한이 있습니다.
경로=E:/inetpub/wwwroot/temp/
'##### 파일 객체 생성 #####
fs = CreateObject(Scripting.FileSystemObject) 설정
mp3 = fs.CreateTextFile(path+listen.m3u, True) 설정
'##### 데이터베이스 객체 생성 #####
mydb=server.createobject(adodb.connection) 설정
mydb.open 음악
'##### 데이터베이스를 검색하여 노래 정보를 얻으세요#####
SQL=&dbname&에서 mp3name,url을 선택하세요.
ID는 어디에 있습니까(&C)?
myset=tdb.execute(SQL) 설정
myset.eof가 아닌 동안 수행
'##### 주문형 노래파일 목록 생성#####
mp3.쓰기(http://+myset(url)+chr(10))
myset.movenext
고리
'##### 주문형 조회수와 당일 조회수를 데이터베이스에 업데이트합니다.
총 조회수#####
SQL=음악 세트 업데이트 클릭=클릭+1,
this=this+1 여기서 id는 &choose에 있습니다.
mydb.execute(SQL)
'##### 개체 취소 #####
myset=아무것도 설정하지 않음
mydb.close
mydb=아무것도 설정하지 않음
mp3.닫기
mp3=아무것도 설정하지 않음
'##### 이 파일을 사용자 #####에게 다운로드합니다.
response.redirect(listen.m3u)
응답.끝
%>
----참고: 이 방법을 사용할 때는 .m3u 파일의 Http 헤더 내용을 제어해야 합니다. Winnt에서는 IIS를 사용하여 .m3u 파일 형식의 Mine 콘텐츠를 설정할 수 있습니다. 구체적인 작업은 다음과 같습니다. IIS 시작 —> 뮤직 서버가 있는 웹 사이트 선택 —> 속성 버튼 클릭 —> 나타나는 속성 탭에서 Http 타이틀 카드 클릭 —> 파일 형식 버튼 클릭 —> 클릭 새 유형 버튼 —> 확장자의 해당 .m3u 채우기에서 콘텐츠 유형에 audio/mpegurl을 채운 다음 —> 끝까지 확인합니다.
음악 차트
----음악순위 목록은 뮤직서버의 필수 컨텐츠로, 그 중요성은 사이트의 페이지뷰 못지않게 중요합니다. 팬들에게 실시간 정보를 제공하고, 감상을 유도하며, 트렌드를 역동적으로 반영할 수 있습니다.
많은 뮤직 서버 중에서 순위 목록은 클릭률이 높은 새로운 서버를 소개하는 곳이기도 합니다. 일반적으로 순위표에는 총 주문 횟수, 당일 주문 횟수, 총 다운로드 횟수 등이 포함됩니다. 구체적인 구현 방법은 비교적 간단합니다. 단일 테이블에서 다음 SQL 문을 사용할 수 있습니다. select * from music order by total_click. 테이블이 여러 개인 경우 조인 절이 있는 공동 쿼리 SQL 문을 사용할 수 있습니다. 쿼리 레코드 수를 제한하려면 count() 수집 함수를 사용할 수 있습니다. 이 예에서 해당 날짜에 가장 많이 요청된 상위 20곡을 쿼리하려면 다음 문을 사용할 수 있습니다. select top 20 * from music order by total_click desc. 순위 기능은 주로 테마 데이터베이스의 계획에 따라 해당 기능(예: 목록 입력 시간 추가, 가수 정보, 순위 변경 등)을 달성하기 위해 필요에 따라 필드를 추가하거나 삭제할 수 있습니다. 관련된 진술은 너무 복잡하지 않습니다. 즉, 순위는 음악사이트의 특성을 반영하여 자유롭게 활용이 가능하다.
음악 테마 검색
----검색하면 많은 사람들이 야후, 소호 등 유명 사이트를 바로 떠올리며, 상당히 신비롭다고 느낍니다. 실제로 데이터베이스에 내장된 데이터 엔진이 이미 좋은 기반을 제공하고 있기 때문에 데이터베이스에 검색 엔진을 설치하는 것은 어렵지 않습니다. 검색 효율성은 데이터베이스 성능과 SQL 문의 효율성에 따라 달라집니다. 프런트 데스크에서는 일련의 검색 항목과 조건 옵션을 제공할 수 있습니다. 백그라운드에서는 프런트 데스크에서 제출한 양식을 기반으로 해당 쿼리 문이 생성되어 데이터베이스에서 실행되고 쿼리 결과가 반환됩니다. 예를 들어 프론트 데스크에 제출된 양식은 검색 항목 = 가수 이름, 콘텐츠 = Jacky Cheung, 일치 조건 = 전체 단어 일치이며 백엔드에서 생성된 SQL 문은 다음과 같습니다. select * from music where singer = 'Jacky Cheung ' order by edition, id asc, 이런 식으로 Jacky Cheung의 모든 노래 정보를 앨범 분류별로 검색하고 반환할 수 있습니다. 또 다른 예는 프런트 데스크가 이름이 Qi Qin이고 노래 이름에 rain이라는 단어가 포함된 모든 노래를 쿼리하려고 하는 경우(즉, 퍼지 일치가 필요함), 백그라운드에서 생성된 SQL 문은 다음과 같습니다. 여기서 singer ='Qi Qin' 및 mp3name id asc의 '%rain%' 주문과 같이 겨울비, 태양비, 무자비한 비, 무자비한 당신 등이 반환됩니다. 적절한 기술과 유연한 SQL 문을 사용하는 한 주제 검색을 최대한 활용할 수 있습니다.
음악 다운로드 기능
----음악 서버의 기본 기능이기도 한 음악 다운로드 기능을 제공합니다. 특히 좋아하는 노래를 다운로드한 후에야 원격 사용자가 즐길 수 있는 기능입니다.
일반적으로 다운로드를 제공하는 방법에는 두 가지가 있습니다. 하나는 HTTP와 브라우저를 통해 직접 다운로드하는 것이고, 다른 하나는 음악 라이브러리를 Ftp 디렉토리로 열고 FTP 프로토콜을 통해 다운로드하는 것입니다. 이 예에서는 전자의 방법을 사용하고 다운로드 횟수를 추적하여 데이터베이스에 기록합니다. 일부 사이트에서는 필요에 따라 노래를 압축 및 암호화하고 공식 사용자에게 비밀번호를 제공하는 것도 좋은 방법입니다. 이 예의 절차는 다음과 같습니다.
<%
'##### 노래 식별 번호 ID ##### 가져오기
id=요청(ID)
tdb=server.createobject(adodb.connection) 설정
tdb.open 음악
SQL=id =&id인 음악에서 mp3url을 선택하세요.
tset=tdb.execute(SQL) 설정
tset.eof이면
응답.끝
또 다른
'##### 데이터베이스의 노래 다운로드 수 업데이트#####
SQL=음악 세트 업데이트 total_down=total_down
+1 여기서 id =&id
tdb.execute(SQL)
다운파일=tset(url)
tdb.close
settset=아무것도 없음
settdb=아무것도 없음
종료하면
downfile= 또는 isnull(downfile)인 경우 response.end
다운파일=http://+다운파일
'#####해당 노래 다운로드#####
response.redirect(다운파일)
응답.끝
%>
----위 단계를 통해 기본 음악 서버가 구축됩니다. 물론 완전한 음악 서버에는 가수 정보, 팬 포럼, 채팅방, 투표 스테이션, 연예 뉴스 네트워크 및 기타 기능도 포함될 수 있으며, 이 모든 기능은 ASP를 사용하여 하나씩 구현할 수 있습니다. 이 글은 지면의 제약이 있어 자세히 다루지는 않겠습니다. 프론트 엔드 페이지가 독특한 스타일 디자인과 완벽한 JavaScript 프로그램 제어를 채택하고 백엔드 프로그래밍이 유연한 SQL 문과 강력한 ASP 구성 요소를 사용하고 잘 계획된 웹 데이터베이스와 풍부한 창의성이 결합된 완벽한 음악 서버입니다. 건설될 수 있습니다. 관심이 있는 친구들은 시도해 볼 수도 있습니다. 기적을 만들어 보세요!