ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

º£Á¿Êý¾Ý´¦ÀíÃæÊÔÌâ ¸ø³ö½âÌâ˼·(Ò»)
2014-11-24 01:40:44 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:374´Î
Tags£ºº£Á¿ Êý¾Ý´¦Àí ÊÔÌâ ¸ø³ö ½âÌâ ˼·

1. ¸ø¶¨a¡¢bÁ½¸öÎļþ£¬¸÷´æ·Å50ÒÚ¸öurl£¬Ã¿¸öurl¸÷Õ¼64×Ö½Ú£¬ÄÚ´æÏÞÖÆÊÇ4G£¬ÈÃÄãÕÒ³öa¡¢bÎļþ¹²Í¬µÄurl£¿


·½°¸1£º¿ÉÒÔ¹À¼Æÿ¸öÎļþ°²µÄ´óСΪ50G¡Á64=320G£¬Ô¶Ô¶´óÓÚÄÚ´æÏÞÖƵÄ4G¡£ËùÒÔ²»¿ÉÄܽ«ÆäÍêÈ«¼ÓÔص½ÄÚ´æÖд¦Àí¡£¿¼ÂDzÉÈ¡·Ö¶øÖÎÖ®µÄ·½·¨¡£


s ±éÀúÎļþa£¬¶Ôÿ¸öurlÇóÈ¡£¬È»ºó¸ù¾ÝËùÈ¡µÃµÄÖµ½«url·Ö±ð´æ´¢µ½1000¸öСÎļþ£¨¼ÇΪ£©ÖС£ÕâÑùÿ¸öСÎļþµÄ´óԼΪ300M¡£


s ±éÀúÎļþb£¬²ÉÈ¡ºÍaÏàͬµÄ·½Ê½½«url·Ö±ð´æ´¢µ½1000¸÷СÎļþ£¨¼ÇΪ£©¡£ÕâÑù´¦Àíºó£¬ËùÓпÉÄÜÏàͬµÄurl¶¼ÔÚ¶ÔÓ¦µÄСÎļþ£¨£©ÖУ¬²»¶ÔÓ¦µÄСÎļþ²»¿ÉÄÜÓÐÏàͬµÄurl¡£È»ºóÎÒÃÇÖ»ÒªÇó³ö1000¶ÔСÎļþÖÐÏàͬµÄurl¼´¿É¡£


s Çóÿ¶ÔСÎļþÖÐÏàͬµÄurlʱ£¬¿ÉÒÔ°ÑÆäÖÐÒ»¸öСÎļþµÄurl´æ´¢µ½hash_setÖС£È»ºó±éÀúÁíÒ»¸öСÎļþµÄÿ¸öurl£¬¿´ÆäÊÇ·ñÔڸղŹ¹½¨µÄhash_setÖУ¬Èç¹ûÊÇ£¬ÄÇô¾ÍÊǹ²Í¬µÄurl£¬´æµ½ÎļþÀïÃæ¾Í¿ÉÒÔÁË¡£


·½°¸2£ºÈç¹ûÔÊÐíÓÐÒ»¶¨µÄ´íÎóÂÊ£¬¿ÉÒÔʹÓÃBloom filter£¬4GÄÚ´æ´ó¸Å¿ÉÒÔ±íʾ340ÒÚbit¡£½«ÆäÖÐÒ»¸öÎļþÖеÄurlʹÓÃBloom filterÓ³ÉäΪÕâ340ÒÚbit£¬È»ºó°¤¸ö¶ÁÈ¡ÁíÍâÒ»¸öÎļþµÄurl£¬¼ì²éÊÇ·ñÓëBloom filter£¬Èç¹ûÊÇ£¬ÄÇô¸ÃurlÓ¦¸ÃÊǹ²Í¬µÄurl£¨×¢Òâ»áÓÐÒ»¶¨µÄ´íÎóÂÊ£©¡£


2. ÓÐ10¸öÎļþ£¬Ã¿¸öÎļþ1G£¬Ã¿¸öÎļþµÄÿһÐдæ·ÅµÄ¶¼ÊÇÓû§µÄquery£¬Ã¿¸öÎļþµÄquery¶¼¿ÉÄÜÖظ´¡£ÒªÇóÄã°´ÕÕqueryµÄƵ¶ÈÅÅÐò¡£


·½°¸1£º


s ˳Ðò¶ÁÈ¡10¸öÎļþ£¬°´ÕÕhash(query)%10µÄ½á¹û½«queryдÈëµ½ÁíÍâ10¸öÎļþ£¨¼ÇΪ£©ÖС£ÕâÑùÐÂÉú³ÉµÄÎļþÿ¸öµÄ´óС´óÔ¼Ò²1G£¨¼ÙÉèhashº¯ÊýÊÇËæ»úµÄ£©¡£


s ÕÒһ̨ÄÚ´æÔÚ2G×óÓҵĻúÆ÷£¬ÒÀ´Î¶ÔÓÃhash_map(query, query_count)À´Í³¼Æÿ¸öquery³öÏֵĴÎÊý¡£ÀûÓÿìËÙ/¶Ñ/¹é²¢ÅÅÐò°´ÕÕ³öÏÖ´ÎÊý½øÐÐÅÅÐò¡£½«ÅÅÐòºÃµÄqueryºÍ¶ÔÓ¦µÄquery_coutÊä³öµ½ÎļþÖС£ÕâÑùµÃµ½ÁË10¸öÅźÃÐòµÄÎļþ£¨¼ÇΪ£©¡£


s ¶ÔÕâ10¸öÎļþ½øÐй鲢ÅÅÐò£¨ÄÚÅÅÐòÓëÍâÅÅÐòÏà½áºÏ£©¡£


·½°¸2£º


Ò»°ãqueryµÄ×ÜÁ¿ÊÇÓÐÏ޵ģ¬Ö»ÊÇÖظ´µÄ´ÎÊý±È½Ï¶à¶øÒÑ£¬¿ÉÄܶÔÓÚËùÓеÄquery£¬Ò»´ÎÐԾͿÉÒÔ¼ÓÈëµ½ÄÚ´æÁË¡£ÕâÑù£¬ÎÒÃǾͿÉÒÔ²ÉÓÃtrieÊ÷/hash_mapµÈÖ±½ÓÀ´Í³¼Æÿ¸öquery³öÏֵĴÎÊý£¬È»ºó°´³öÏÖ´ÎÊý×ö¿ìËÙ/¶Ñ/¹é²¢ÅÅÐò¾Í¿ÉÒÔÁË¡£


·½°¸3£º


Óë·½°¸1ÀàËÆ£¬µ«ÔÚ×öÍêhash£¬·Ö³É¶à¸öÎļþºó£¬¿ÉÒÔ½»¸ø¶à¸öÎļþÀ´´¦Àí£¬²ÉÓ÷ֲ¼Ê½µÄ¼Ü¹¹À´´¦Àí£¨±ÈÈçMapReduce£©£¬×îºóÔÙ½øÐкϲ¢¡£


3. ÓÐÒ»¸ö1G´óСµÄÒ»¸öÎļþ£¬ÀïÃæÿһÐÐÊÇÒ»¸ö´Ê£¬´ÊµÄ´óС²»³¬¹ý16×Ö½Ú£¬ÄÚ´æÏÞÖÆ´óСÊÇ1M¡£·µ»ØƵÊý×î¸ßµÄ100¸ö´Ê¡£


·½°¸1£ºË³Ðò¶ÁÎļþÖУ¬¶ÔÓÚÿ¸ö´Êx£¬È¡£¬È»ºó°´ÕÕ¸ÃÖµ´æµ½5000¸öСÎļþ£¨¼ÇΪ£©ÖС£ÕâÑùÿ¸öÎļþ´ó¸ÅÊÇ200k×óÓÒ¡£Èç¹ûÆäÖеÄÓеÄÎļþ³¬¹ýÁË1M´óС£¬»¹¿ÉÒÔ°´ÕÕÀàËƵķ½·¨¼ÌÐøÍùÏ·֣¬ÖªµÀ·Ö½âµÃµ½µÄСÎļþµÄ´óС¶¼²»³¬¹ý1M¡£¶Ôÿ¸öСÎļþ£¬Í³¼Æÿ¸öÎļþÖгöÏֵĴÊÒÔ¼°ÏàÓ¦µÄƵÂÊ£¨¿ÉÒÔ²ÉÓÃtrieÊ÷/hash_mapµÈ£©£¬²¢È¡³ö³öÏÖƵÂÊ×î´óµÄ100¸ö´Ê£¨¿ÉÒÔÓú¬100¸ö½áµãµÄ×îС¶Ñ£©£¬²¢°Ñ100´Ê¼°ÏàÓ¦µÄƵÂÊ´æÈëÎļþ£¬ÕâÑùÓֵõ½ÁË5000¸öÎļþ¡£ÏÂÒ»²½¾ÍÊÇ°ÑÕâ5000¸öÎļþ½øÐй鲢£¨ÀàËÆÓë¹é²¢ÅÅÐò£©µÄ¹ý³ÌÁË¡£


4. º£Á¿ÈÕÖ¾Êý¾Ý£¬ÌáÈ¡³öijÈÕ·ÃÎʰٶȴÎÊý×î¶àµÄÄǸöIP¡£


·½°¸1£ºÊ×ÏÈÊÇÕâÒ»Ì죬²¢ÇÒÊÇ·ÃÎʰٶȵÄÈÕÖ¾ÖеÄIPÈ¡³öÀ´£¬Öð¸öдÈëµ½Ò»¸ö´óÎļþÖС£×¢Òâµ½IPÊÇ32λµÄ£¬×î¶àÓиöIP¡£Í¬Ñù¿ÉÒÔ²ÉÓÃÓ³ÉäµÄ·½·¨£¬±ÈÈçÄ£1000£¬°ÑÕû¸ö´óÎļþÓ³ÉäΪ1000¸öСÎļþ£¬ÔÙÕÒ³öÿ¸öСÎÄÖгöÏÖƵÂÊ×î´óµÄIP£¨¿ÉÒÔ²ÉÓÃhash_map½øÐÐƵÂÊͳ¼Æ£¬È»ºóÔÙÕÒ³öƵÂÊ×î´óµÄ¼¸¸ö£©¼°ÏàÓ¦µÄƵÂÊ¡£È»ºóÔÙÔÚÕâ1000¸ö×î´óµÄIPÖУ¬ÕÒ³öÄǸöƵÂÊ×î´óµÄIP£¬¼´ÎªËùÇó¡£


5. ÔÚ2.5ÒÚ¸öÕûÊýÖÐÕÒ³ö²»Öظ´µÄÕûÊý£¬ÄÚ´æ²»×ãÒÔÈÝÄÉÕâ2.5ÒÚ¸öÕûÊý¡£


·½°¸1£º²ÉÓÃ2-Bitmap£¨Ã¿¸öÊý·ÖÅä2bit£¬00±íʾ²»´æÔÚ£¬01±íʾ³öÏÖÒ»´Î£¬10±íʾ¶à´Î£¬11ÎÞÒâÒ壩½øÐУ¬¹²ÐèÄÚ´æÄڴ棬»¹¿ÉÒÔ½ÓÊÜ¡£È»ºóɨÃèÕâ2.5ÒÚ¸öÕûÊý£¬²é¿´BitmapÖÐÏà¶ÔӦ룬Èç¹ûÊÇ00±ä01£¬01±ä10£¬10±£³Ö²»±ä¡£ËùÃèÍêʺ󣬲鿴bitmap£¬°Ñ¶ÔӦλÊÇ01µÄÕûÊýÊä³ö¼´¿É¡£


·½°¸2£ºÒ²¿É²ÉÓÃÉÏÌâÀàËƵķ½·¨£¬½øÐл®·ÖСÎļþµÄ·½·¨¡£È»ºóÔÚСÎļþÖÐÕÒ³ö²»Öظ´µÄÕûÊý£¬²¢ÅÅÐò¡£È»ºóÔÙ½øÐй鲢£¬×¢ÒâÈ¥³ýÖظ´µÄÔªËØ¡£


6. º£Á¿Êý¾Ý·Ö²¼ÔÚ100̨µçÄÔÖУ¬Ïë¸ö°ì·¨¸ßУͳ¼Æ³öÕâÅúÊý¾ÝµÄTOP10¡£


·½°¸1£º


s ÔÚÿ̨µçÄÔÉÏÇó³öTOP10£¬¿ÉÒÔ²ÉÓðüº¬10¸öÔªËصĶÑÍê³É£¨TOP10С£¬ÓÃ×î´ó¶Ñ£¬TOP10´ó£¬ÓÃ×îС¶Ñ£©¡£±ÈÈçÇóTOP10´ó£¬ÎÒÃÇÊ×ÏÈÈ¡Ç°10¸öÔªËص÷Õû³É×îС¶Ñ£¬Èç¹û·¢ÏÖ£¬È»ºóɨÃèºóÃæµÄÊý¾Ý£¬²¢Óë¶Ñ¶¥ÔªËرȽϣ¬Èç¹û±È¶Ñ¶¥ÔªËØ´ó£¬ÄÇôÓøÃÔªËØÌæ»»¶Ñ¶¥£¬È»ºóÔÙµ÷ÕûΪ×îС¶Ñ¡£×îºó¶ÑÖеÄÔªËؾÍÊÇTOP10´ó¡£


s Çó³öÿ̨µçÄÔÉϵÄTOP10ºó£¬È»ºó°ÑÕâ100̨µçÄÔÉϵÄTOP10×éºÏÆðÀ´£¬¹²1000¸öÊý¾Ý£¬ÔÙÀûÓÃÉÏÃæÀàËƵķ½·¨Çó³öTOP10¾Í¿ÉÒÔÁË¡£


7. ÔõôÔÚº£Á¿Êý¾ÝÖÐÕÒ³öÖظ´´ÎÊý×î¶àµÄÒ»¸ö£¿


·½°¸1£ºÏÈ×öhash£¬È»ºóÇóÄ£Ó³ÉäΪСÎļþ£¬Çó³öÿ¸öСÎļþÖÐÖظ´´ÎÊý×î¶àµÄÒ»¸ö£¬²¢¼Ç¼Öظ´´ÎÊý¡£È»ºóÕÒ³öÉÏÒ»²½Çó³öµÄÊý¾ÝÖÐÖظ´´ÎÊý×î¶àµÄÒ»¸ö¾ÍÊÇËùÇ󣨾ßÌå²Î¿¼Ç°ÃæµÄÌ⣩¡£


8. ÉÏǧÍò»òÉÏÒÚÊý¾Ý£¨ÓÐÖظ´£©£¬Í³¼ÆÆäÖгöÏÖ´ÎÊý×î¶àµÄÇ®N¸öÊý¾Ý¡£


·½°¸1£ºÉÏǧÍò»òÉÏÒÚµÄÊý¾Ý£¬ÏÖÔڵĻúÆ÷µÄÄÚ´æÓ¦¸ÃÄÜ´æÏ¡£ËùÒÔ¿¼ÂDzÉÓÃhash_map/ËÑË÷¶þ²æÊ÷/ºìºÚÊ÷µÈÀ´½øÐÐͳ¼Æ´ÎÊý¡£È»ºó¾ÍÊÇÈ¡³öÇ°N¸ö³öÏÖ´ÎÊý×î¶àµÄÊý¾ÝÁË£¬¿ÉÒÔÓõÚ6ÌâÌáµ½µÄ¶Ñ»úÖÆÍê³É¡£


9. 1000Íò×Ö·û´®£¬ÆäÖÐÓÐЩÊÇÖظ´µÄ£¬ÐèÒª°ÑÖظ´µÄÈ«²¿È¥µô£¬±£ÁôûÓÐÖظ´µÄ×Ö·û´®¡£ÇëÔõôÉè¼ÆºÍʵÏÖ£¿


·½°¸1£ºÕâÌâÓÃtrieÊ÷±È½ÏºÏÊÊ£¬hash_mapÒ²Ó¦¸ÃÄÜÐС£


10. Ò»¸öÎı¾Îļþ£¬´óÔ¼ÓÐÒ»ÍòÐУ¬Ã¿ÐÐÒ»¸ö´Ê£¬ÒªÇóͳ¼Æ³öÆäÖÐ×îƵ·±³öÏÖµÄÇ°10¸ö´Ê£¬Çë¸ø³ö˼Ï룬¸ø³öʱ¼ä¸´ÔӶȷÖÎö¡£


·½°¸1£ºÕâÌâÊÇ¿¼ÂÇʱ¼äЧÂÊ¡£ÓÃtrieÊ÷ͳ¼Æÿ¸ö´Ê³öÏֵĴÎÊý£¬Ê±¼ä¸´ÔÓ¶ÈÊÇO(n*le)£¨le±íʾµ¥´ÊµÄƽ׼³¤¶È£©¡£È»ºóÊÇÕÒ³ö³öÏÖ×îƵ·±µÄÇ°10¸ö´Ê£¬¿ÉÒÔÓöÑÀ´ÊµÏÖ£¬Ç°ÃæµÄÌâÖÐÒѾ­½²µ½ÁË£¬Ê±¼ä¸´ÔÓ¶ÈÊÇO(n*lg10)¡£ËùÒÔ×ܵÄʱ¼ä¸´ÔӶȣ¬ÊÇO(n*le)ÓëO(n*lg10)ÖнϴóµÄÄÄÒ»¸ö¡£


11. Ò»¸öÎı¾Îļþ£¬ÕÒ³öÇ°10¸ö¾­³£³öÏֵĴʣ¬µ«Õâ´ÎÎļþ±È½Ï³¤£¬ËµÊÇÉÏÒÚÐлòÊ®ÒÚÐУ¬×ÜÖ®ÎÞ·¨Ò»´Î¶ÁÈëÄڴ棬ÎÊ×îÓŽ⡣


·½°¸1£ºÊ×Ïȸù¾ÝÓÃhash²¢ÇóÄ££¬½«Îļþ·Ö½âΪ¶à¸öСÎļþ£¬¶ÔÓÚµ¥¸öÎļþÀûÓÃÉÏÌâµÄ·½·¨Çó³öÿ¸öÎļþ¼þÖÐ10¸ö×î³£³öÏֵĴʡ£È»ºóÔÙ½øÐй鲢´¦Àí£¬ÕÒ³ö×îÖÕµÄ10¸ö×î³£³öÏֵĴʡ£


12. 100w¸öÊýÖÐÕÒ³ö×î´óµÄ100¸öÊý¡£


·½°¸1£ºÔÚÇ°ÃæµÄÌâÖУ¬ÎÒÃÇÒѾ­Ìáµ½ÁË£¬ÓÃÒ»¸öº¬100¸öÔªËصÄ×îС¶ÑÍê³É¡£¸´ÔÓ¶ÈΪO(100w*lg100)¡£


·½°¸2£º²ÉÓÿìËÙÅÅÐòµÄ˼Ï룬ÿ´Î·Ö¸îÖ®ºóÖ»¿¼ÂDZÈÖá´óµÄÒ»²¿·Ö£¬ÖªµÀ±ÈÖá´óµÄÒ»²¿·ÖÔÚ±È100¶àµÄʱºò£¬²ÉÓô«Í³ÅÅÐòËã·¨ÅÅÐò£¬È¡Ç°100¸ö¡£¸´ÔÓ¶ÈΪO(100w*100)¡£


·½°¸3£º²ÉÓþֲ¿ÌÔÌ­·¨¡£Ñ¡È¡Ç°100¸öÔªËØ£¬²¢ÅÅÐò£¬¼ÇΪÐòÁÐL¡£È»ºóÒ»´ÎɨÃèÊ£ÓàµÄÔªËØx£¬ÓëÅźÃÐòµÄ100

Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÊÕ¼¯µÄһЩJava JDBCÏà¹ØµÄÃæÊÔÌâ.. ÏÂһƪ£ºÉϺ£-¼Ò¾ÓÍø ÌâÄ¿

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿