openx µðÀÚÀÎ ¹®¼­ v0.1
°³¹ßÀÚ ³ëÆ® Posted by 1009 on Sunday November 05, @11:43PM

openx ÇÁ·ÎÅäÄÝÀÇ ÀüüÀûÀÎ ¼³°è¿Í openx¸¦ ±¸¼ºÇÒ ¸ðµâ µé¿¡ ´ëÇØ ¼³¸íÇÑ ±ÛÀÔ´Ï´Ù.

óÀ½ ¿Ã¸®´Â ±ÛÀ̹ǷΠÀÚ¼¼ÇÑ ³»¿ëÀº ¾ø½À´Ï´Ù.



openx´Â Ŭ¶óÀÌ¾ðÆ® ³ëµå °£ È­ÀÏÀ» ±³È¯ ÇÒ¼ö ÀÖ´Â ÇÁ·ÎÅäÄÝ·Î º°µµÀÇ ¼­¹ö Á¢¼Ó¾øÀÌ Å¬¶óÀÌ¾ðÆ® °£ Á¢¼ÓÇØ¼­ ½Ç½Ã°£À¸·Î °Ë»öÇϸç, ´Ù¿î·Îµå°¡ °¡´ÉÇϵµ·Ï ¼³°èÇÑ´Ù.

´ÙÀ½Àº ÀüüÀûÀÎ ±¸Á¶µµÀÌ´Ù

Ŭ¶óÀÌ¾ðÆ®´Â Å©°Ô Backend(³ëµå) ¸ðµâ°ú Frontend(UI) ¸ðµâ·Î ³ª´¶´Ù. °Ë»ö, È­ÀÏ Á¦°ø ¼­¹ö, È£½ºÆ®(³ëµå) °ü¸® µî ÇÙ½ÉÀûÀÎ ºÎºÐÀº ¸ðµÎ backend¿¡¼­ ´ã´çÇϸç Frontend ¸ðµâ¿¡¼­´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. backend¿Í frontend´Â °¢°¢ ´Ù¸¥ ÇÁ·Î¼¼½º·Î ½ÇÇàµÇ°Ô µÇ¸ç, TCP ¼ÒÄÏÀ» ÀÌ¿ëÇØ ¿¬°áÇØ¼­ frontend¿¡¼­ °Ë»öµîÀÇ ¿ä±¸¸¦ backend¿¡ º¸³»¸é backend¿¡¼­ ¸ðµç 󸮸¦ ÇÑÈÄ¿¡ °á°ú°ª¸¸ frontend·Î µ¹·ÁÁÖ¾î Ãâ·ÂÇϵµ·Ï ÇÑ´Ù. ¶ÇÇÑ frontend¿¡¼­´Â ´Ù¿î·Îµå ±â´ÉÀÌ Æ÷ÇԵɼö ÀÖÁö¸¸ ÆÄÀÏ ±³È¯ ÇÁ·ÎÅäÄÝÀº ±âº»ÀûÀ¸·Î HTTP¸¦ »ç¿ëÇϱ⠶§¹®¿¡ HTTP¸¦ Áö¿øÇÏ´Â ÀÓÀÇÀÇ ´Ù¿î·Îµå ÇÁ·Î±×·¥À» »ç¿ëÇÒ¼ö ÀÖ´Ù.

´ÙÀ½Àº °¢°¢ÀÇ ¸ðµâÀÇ ¿ªÇÒÀÌ´Ù: (±¸Çö¿¡ °ü·ÃµÈ »çÇ×Àº ¸ðµÎ Á¦¿ÜÇß´Ù)

  • Backend - Query/Response Module :
    ´Ù¸¥ backend¿Í È­ÀÏ¿¡ ´ëÇÑ Á¤º¸¸¦ ±³È¯ÇÑ´Ù. ´Ù¸¥ backend¿¡¼­ µé¾î¿À´Â °Ë»ö ¿ä±¸¿¡ ´ëÇØ¼­ Local Database¿¡¼­ °Ë»öÇØ¼­ °á°ú¸¦ µ¹·ÁÁØ´Ù. »ç¿ëÀÚÀÇ ¿ä±¸°¡ ÀÖÀ»¶§ ´Ù¸¥ ³ëµåµé¿¡ °Ë»ö¿ä±¸¸¦ ÇÏ¸ç °Ë»ö°á°ú¸¦ ¹Þ´Â´Ù. °Ë»ö À̿ܿ¡ È£½ºÆ®°¡ »ì¾ÆÀÖ´ÂÁö üũÇÒ¼ö ÀÖ°í, ´Ù¸¥ È£½ºÆ®°¡ °®°í ÀÖ´Â ³ëµå Á¤º¸¸¦ ¿ä±¸ÇÒ¼ö ÀÖ´Ù. Query/Response´Â UDP(User Datagram Protocol)·Î ±¸ÇöÇÏ¸ç °Ë»öÀÇ °æ¿ì °á°ú°¡ ¾øÀ»¶§ ÀÀ´äÀ» º¸³»Áö ¾Ê´Â´Ù.
  • Backend - Host Manager :
    ´Ù¸¥ ³ëµåµéÀ» °ü¸®ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. ³ëµå¿¡ ´ëÇÑ Á¤º¸°¡ ¾øÀ»¶§´Â Host list ¼­¹ö¿¡ ¿¬°áÇÏ¿© ³ëµå¿¡ ´ëÇÑ Á¤º¸¸¦ ¹ÞÀ¸¸ç, ÀÀ´äÀÌ ¾ø´Â ³ëµå¿¡ ´ëÇØ¼­´Â È£½ºÆ® Database¿¡¼­ Á¦°ÅÇÑ´Ù.
  • Backend - Local Index Database :
    ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â È­Àϵ鿡 ´ëÇÑ Á¤º¸¸¦ °ü¸®ÇÑ´Ù.
  • Backend - Content Handler :
    È­ÀÏÀÇ Á¾·ù(mp3, avi...)¿¡ µû¶ó¼­ ÄÜÅÙÆ®ÀÇ Á¤º¸¸¦ Á¤ÀÇÇϸç, È­ÀÏ¿¡¼­ Á¤º¸¸¦ ÃßÃâÇÒ¼ö ÀÖ´Â ¸ðµâÀ» Æ÷ÇÔÇÑ´Ù. ÃßÈÄ¿¡ È­ÀÏ Æ÷¸ËÀ» Ãß°¡ °¡´ÉÇÏ´Ù. ¿¹¸¦µé¾î, mp3 È­ÀÏÀÇ Á¤º¸´Â °¡¼ö, °î¸í, ½Ã°£, ¾Ù¹ü, À帣 µîÀÌ Æ÷ÇԵǸç, °Ë»öÀÇ °æ¿ì °¡¼ö,°î¸í,¾Ù¹üÀ¸·Î °Ë»öÀÌ °¡´ÉÇϵµ·Ï Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
  • Backend - File Server :
    ÆÄÀÏÀ» Á¦°øÇÏ´Â ¼­¹ö·Î½á HTTP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù.

  • Frontend - UI interface :
    TCP socketÀ» ÀÌ¿ëÇØ backend¿¡ ¿¬°áÇÏ¿© °Ë»öµîÀÇ ¸í·ÉÀ» ³»·Á¼­ °á°ú¸¦ ¹Þ´Â´Ù.
  • Frontend - UI :
    »ç¿ëÀÚ À¯Àú ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.
  • Frontend - Download module :
    ÆÄÀÏ ´Ù¿î·Îµå ÇÏ´Â ¸ðµâ·Î HTTP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù.

    openx¿¡¼­ »ç¿ëµÇ´Â ÇÁ·ÎÅäÄÝÀº Å©°Ô 4 Á¾·ùÀÌ´Ù:

    1. ÆÄÀÏ ±³È¯ - HTTP ÇÁ·ÎÅäÄÝ
    2. ³ëµå°£ query/response - UDP ÇÁ·ÎÅäÄÝ
    3. node-UI°£ ÀÎÅÍÆäÀ̽º - TCP ÇÁ·ÎÅäÄÝ
    4. host list ´Ù¿î·Îµå - ?
    È£½ºÆ® Á¤º¸ ±³È¯½Ã ¾ÆÁ÷ ¾î¶°ÇÑ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÒÁö Á¤ÇÏÁö ¸øÇß´Ù. À̸¦ 2¹ø¿¡ ¸ðµÎ Æ÷ÇÔ½ÃųÁö ¾Æ´Ï¸é HTTP¿¡ ³ÖÀ»Áö ¾Æ´Ï¸é, ¾Æ¿¹ ´Ù¸¥ TCP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÒÁö °í¹ÎÁßÀÌ´Ù...

    backend¿Í frontend¸¦ ºÐ¸®Çؼ­ ¼³°èÇÑ ÀÌÀ¯´Â ¿©·¯°¡Áö ÀÖ´Ù:

    1. ¸ÕÀú backend¿Í frontend¸¦ °°ÀÌ ±¸ÇöÇÏ¸é ±¸Çö½Ã ¾î·Á¿îÁ¡ÀÌ ¸¹´Ù. http ¼­¹ö¸¦ ±¸ÇöÇÒ¶§ forkingÀ̳ª threadingÀ» ÀÌ¿ëÇØ¾ß ÇÒÅÙµ¥ ÀÌ·² °æ¿ì UI Äڵ尡 ¼¯¿© ÀÖÀ¸¸é ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÒ ¼ÒÁö°¡ ÀÖ´Ù. (ƯÈ÷ forking ½Ã) Threading ÀÌ¿ë½Ã Á÷Á¢ ½ÇÇèÇØ º» °á°ú Tk¸¦ »ç¿ëÇÒ¶§´Â Å©°Ô ¹®Á¦°¡ ¾ø¾úÁö¸¸, Gtk¸¦ »ç¿ëÇßÀ»¶§´Â ¿øÇÏ´Â µ¿ÀÛÀ» ÇÏÁö ¾ÊÀ» °æ¿ì°¡ »ý°å´Ù. ¾²·¹µå´Â °¡´ÉÇÏ¸é ¹®Á¦½Ã ¾ÈµÇµµ·Ï ¼³°èÇÏ´Â°Ô ³ªÁß¿¡ µð¹ö±ë¿¡ À¯¸®Çϸ®¶ó »ý°¢ÇÑ´Ù.
    2. ºÐ¸®¸¦ Çϸé Ç÷¿Æû¿¡ ÃÖÀûÈ­µÈ UI¸¦ µû·Î ¼³°è°¡ °¡´ÉÇϸç UI¸¦ Python¿¡ ÀÇÁ¸ÇÒ Çʿ䵵 ¾ø¾îÁø´Ù.
    3. ¿ø°Ý¿¡¼­ Á¢¼ÓÇØ¼­ ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ¼ö ÀÖ´Ù. ¹æÈ­º® ¾È¿¡ ÀÖ´Â »ç¿ëÀÚ´Â ÀϹÝÀûÀ¸·Î UDP ÆÐŶÀ» ¹ÞÀ»¼ö ¾ø´Â °æ¿ì°¡ ¸¹´Ù. µû¶ó¼­ ´Ù¸¥ »ç¿ëÀÚÀÇ backend·Î ¿¬°áÇÏ¿© °Ë»öÀ» Çϰí, ´Ù¿î·Îµå´Â Á÷Á¢ Çϸé backend¸¦ Á¦°øÇÏ´Â ÀÌ¿¡°Ô ±×¸® Å« ºÎ´ã ¾øÀÌ ¹æÈ­º® µÚÀÇ »ç¿ëÀÚµµ ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ÇÁ·Ï½Ã(´ë¸®ÀÚ)¸¦ µû·Î ¸¸µé¾î¼­ ÀÌ·± ¼­ºñ½º¸¦ Á¦°øÇÒ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.

    ¾ÆÁ÷ ÇØ°áÇÏÁö ¸øÇÑ ¹®Á¦´Â ¹æÈ­º® µÚ¿¡¼­ Á¦°øÇÏ´Â È­ÀÏÀÇ ´Ù¿î·Îµå ¹æ¹ýÀÌ´Ù. ³Ü½ºÅÍ¿¡¼­´Â Ǫ½¬¸¦ ÀÌ¿ëÇϸç, ÀÌ·² °æ¿ì ¹æÈ­º® µÚÀÇ »ç¿ëÀÚ´Â Ç×»ó ¹æÈ­º® ¹ÛÀÇ È£½ºÆ®¿Í TCP ¿¬°áÀ» ¸Î°í ÀÖ¾î¾ß ÇÑ´Ù. TCP ¿¬°áÀ» ¸Î°í ÀÖ¾î¾ß ¹Û¿¡¼­ ¿ä±¸°¡ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù. ¾ÆÁ÷ ÀÌ¿¡ ´ëÇØ¼­´Â ´õ »ý°¢ÇغÁ¾ßÇÒµíÇÏ´Ù.



    ¿©±â±îÁö »ý°¢ÇÑ °ÍµéÀ» ´ë·«ÀûÀ¸·Î Á¤¸®ÇغýÀ´Ï´Ù.. ÁÁÀº ÀÇ°ß ÀÖÀ¸¸é ¾ðÁ¦³ª ȯ¿µÀÔ´Ï´Ù *^^*

    openx v0.0.1 ¼Ò½º | openx ÇÁ·ÎÁ§Æ® ½ÃÀÛ!  >

     

  • ( Reply )