Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Êý¾ÝÁ÷·ÖÎöÓ¦ÓÃ
 
×÷Õߣºbsauce
  2067  次浏览      32
2020-7-3 
 
±à¼­ÍƼö:

±¾ÎÄÖØµã½éÉÜÁËÀí½â3ÖÖÊý¾ÝÁ÷·ÖÎöµÄº¬Ò壬ÈçºÎÉè¼ÆÀàËÆµÄËã·¨£¬ÈçºÎÓÅ»¯£¬Àí½âÖÖÊý¾ÝÁ÷·ÖÎöµÄ¹²ÐÔÓëÇø±ð£¬Àí½âÖÖÊý¾ÝÁ÷·ÖÎöµÄ¹²ÐÔÓëÇø±ð¡£
±¾ÎÄÀ´×Ô¼òÊ飬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

1.Êý¾ÝÁ÷·ÖÎö×ÜÀÀ

may analysis£ºÊä³ö¿ÉÄÜÕýÈ·µÄÐÅÏ¢£¨Ðè×öover-approximationÓÅ»¯£¬²ÅÄܳÉΪSafe-approximation°²È«µÄ½üËÆ£¬¿ÉÒÔÓÐÎó±¨-completeness£©£¬×¢Òâ´ó¶àÊý¾²Ì¬·ÖÎö¶¼ÊÇmay analysis

must analysis£ºÊä³ö±ØÐëÕýÈ·µÄÐÅÏ¢£¨Ðè×öunder-approximationÓÅ»¯£¬²ÅÄܳÉΪSafe-approximation°²È«µÄ½üËÆ£¬¿ÉÒÔÓЩ±¨-soundness£©

Nodes (BBs/statements)¡¢Edges (control flows)¡¢CFG (a program)

ÀýÈ磺

application-specific Data <- abstraction (+/-/0)

Nodes <- Transfer function

Edges <- Control-flow handling

²»Í¬µÄÊý¾ÝÁ÷·ÖÎö ÓÐ ²»Í¬µÄÊý¾Ý³éÏó±í´ï ºÍ ²»Í¬µÄ°²È«½üËÆ²ßÂÔ£¬Èç ²»Í¬µÄ ת»»¹æÔò ºÍ ¿ØÖÆÁ÷´¦Àí¡£

2-1-Êý¾ÝÁ÷·ÖÎö×ÜÀÀ.png

2.Ô¤±¸ÖªÊ¶

ÊäÈë/Êä³ö״̬£º³ÌÐòÖ´ÐÐǰ/Ö´ÐкóµÄ״̬£¨±¾ÖʾÍÊdzéÏó±í´ïµÄÊý¾ÝµÄ״̬£¬Èç±äÁ¿µÄ״̬£©¡£

Êý¾ÝÁ÷·ÖÎöµÄ½á¹û£º×îÖյõ½£¬Ã¿Ò»¸ö³ÌÐòµã¶ÔÓ¦Ò»¸öÊý¾ÝÁ÷Öµ(data-flow value)£¬±íʾ¸ÃµãËùÓпÉÄܳÌÐò״̬µÄÒ»¸ö³éÏó¡£ÀýÈ磬ÎÒÖ»¹ØÐÄx¡¢yµÄÖµ£¬ÎÒ¾ÍÓóéÏóÀ´±íʾx¡¢yËùÓпÉÄܵÄÖµµÄ¼¯ºÏ£¨ÊäÈë/Êä³öµÄÖµÓò/Ô¼Êø£©£¬¾Í´ú±íÁ˸óÌÐòµãµÄ³ÌÐò״̬¡£

Forward AnalysisǰÏò·ÖÎö£º°´³ÌÐòÖ´ÐÐ˳ÐòµÄ·ÖÎö¡£OUT[s]=fs(IN[s])£¬s-statement

Backward Analysis·´Ïò·ÖÎö£ºÄæÏò·ÖÎö¡£IN[s]=fs(OUT[s])

¿ØÖÆÁ÷Ô¼Êø£ºÔ¼ÊøÇó½â×öµÄÊÂÇé£¬ÍÆ¶Ï¼ÆËãÊäÈëµ½Êä³ö£¬»ò·´Ïò·ÖÎö¡£

2-2-¿ØÖÆÁ÷Ô¼Êø.png

3.Reaching Definitions Analysis (may analysis)

ÎÊÌⶨÒ壺¸ø±äÁ¿vÒ»¸ö¶¨Òåd£¨¸³Öµ£©£¬´æÔÚÒ»Ìõ·¾¶Ê¹µÃ³ÌÐòµãpÄܹ»µ½´ïq£¬ÇÒÔÚÕâ¸ö¹ý³ÌÖв»ÄܸıävµÄ¸³Öµ¡£

Ó¦ÓþÙÀý£º¼ì²â䶨ÒåµÄ±äÁ¿£¬Èôv¿É´ïpÇÒvûÓб»¶¨Ò壬ÔòΪ䶨ÒåµÄ±äÁ¿¡£

³éÏó±íʾ£ºÉè³ÌÐòÓÐnÌõ¸³ÖµÓï¾ä£¬ÓÃnλÏòÁ¿À´±íʾÄÜreachÓë²»ÄÜreach¡£

£¨1£©¹«Ê½·ÖÎö

ʲôÊÇdefinition£¿ D: v = x op y ÀàËÆÓÚ¸³Öµ¡£

Transfer Function£ºOUT[B] = genB U (IN[B] - killB) ¡ª¡ªÔõôÀí½â£¬¾ÍÊÇ»ùÓÚת»»¹æÔò¶øµÃµ½¡£

½âÊÍ£º»ù±¾¿éBµÄÊä³ö = ¿éBÄÚµÄËùÓбäÁ¿vµÄ¶¨Ò壨¸³Öµ/Ð޸ģ©Óï¾ä U £¨¿éBµÄÊäÈë - ³ÌÐòÖÐÆäËüËùÓж¨ÒåÁ˱äÁ¿vµÄÓï¾ä£©¡£±¾ÖʾÍÊDZ¾¿éÓëǰÇýÐ޸ıäÁ¿µÄÓï¾ä ×÷ÓÃÖ®ºÍ£¨È¥µôǰÇýµÄÖØ¸´ÐÞ¸ÄÓï¾ä£©¡£

Control Flow£ºIN[B] = Up a_predecesso_of_B Out[P] ¡ª¡ªÔõôÀí½â£¬¾ÍÊÇ»ùÓÚ¿ØÖÆÁ÷¶øµÃµ½¡£

½âÊÍ£º»ù±¾¿éBµÄÊäÈë = ¿éBËùÓÐǰÇý¿éPµÄÊä³öµÄ²¢¼¯¡£×¢Ò⣬ËùÓÐǰÇý¿éÒâζ×ÅÖ»ÒªÓÐÒ»Ìõ·¾¶Äܹ»µ½´ï¿éB£¬¾ÍÊÇËüµÄǰÇý£¬°üÀ¨Ìõ¼þÌø×ªÓëÎÞÌõ¼þÌø×ª¡£

2-3-1-Reaching_Definition.png

£¨2£©Ëã·¨

Ä¿µÄ£ºÊäÈëCFG£¬¼ÆËãºÃÿ¸ö»ù±¾¿éµÄkillB£¨³ÌÐòÖÐÆäËü¿éÖж¨ÒåÁ˱äÁ¿vµÄÓï¾ä£©ºÍgenB£¨¿éBÄÚµÄËùÓбäÁ¿vµÄ¶¨ÒåÓï¾ä£©£¬Êä³öÿ¸ö»ù±¾¿éµÄIN[B]ºÍOUT[B]¡£

·½·¨£ºÊ×ÏÈËùÓлù±¾¿éµÄOUT[B]³õʼ»¯Îª¿Õ¡£±éÀúÿһ¸ö»ù±¾¿éB£¬°´ÒÔÉÏÁ½¸ö¹«Ê½¼ÆËã¿éBµÄIN[B]ºÍOUT[B]£¬Ö»ÒªÕâ´Î±éÀúʱÓÐij¸ö¿éµÄOUT[B]·¢Éú±ä»¯£¬ÔòÖØÐ±éÀúÒ»´Î£¨ÒòΪ³ÌÐòÖÐÓÐÑ­»·´æÔÚ£¬Ö»ÒªÄ³¿éµÄOUT[B]±äÁË£¬¾ÍÒâζןó¼Ì¿éµÄIN[B]±äÁË£©¡£

2-3-2-¿É´ïÐÔ·ÖÎöËã·¨.png

£¨3£©ÊµÀý£º

³éÏó±íʾ£ºÉè³ÌÐòÓÐnÌõ¸³ÖµÓï¾ä£¬ÓÃnλÏòÁ¿À´±íʾÄÜreachÓë²»ÄÜreach¡£

˵Ã÷£ººìÉ«-µÚ1´Î±éÀú£»À¶É«-µÚ2´Î±éÀú£»ÂÌÉ«-µÚ3´Î±éÀú¡£

½á¹û£º3´Î±éÀúÖ®ºó£¬Ã¿¸ö»ù±¾¿éµÄOUT[B]¶¼²»Ôٱ仯¡£

2-3-3±éÀúʵÀý.png

ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔ»ØÏëһϣ¬Êý¾ÝÁ÷·ÖÎöµÄÄ¿±êÊÇ£¬×îºóµÃµ½ÁË£¬Ã¿¸ö³ÌÐòµã¹ØÁªÒ»¸öÊý¾ÝÁ÷Öµ£¨¸ÃµãËùÓпÉÄܵijÌÐò״̬µÄÒ»¸ö³éÏó±íʾ£¬Ò²¾ÍÊÇÕâ¸önλÏòÁ¿£©¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬ÎÒÃǶԸö»ù±¾¿é£¬²»¶ÏÀûÓûùÓÚת»»¹æÔòµÄÓïÒ壨Ҳ¾ÍÊÇtransfer functions£¬¹¹³É»ù±¾¿éµÄÓï¾ä¼¯£©-OUT[B]¡¢¿ØÖÆÁ÷µÄÔ¼Êø-IN[B]£¬×îÖյõ½Ò»¸öÎȶ¨µÄ°²È«µÄ½üËÆÔ¼Êø¼¯¡£

£¨4£©Ëã·¨»áÍ£Ö¹Âð£¿

OUT[B] = genB U (IN[B] - killB)

´óÖÂÀí½â£ºgenBºÍ killBÊDz»±äµÄ£¬Ö»ÓÐIN[B]Ôڱ仯£¬ËùÒÔ˵OUT[B]Ö»»áÔö¼Ó²»»á¼õÉÙ£¬nÏòÁ¿³¤¶ÈÊÇÓÐÏ޵ģ¬ËùÒÔ×îÖտ϶¨»áÍ£Ö¹¡£¾ßÌåÉæ¼°µ½²»¶¯µãÖ¤Ã÷£¬ºóÐø¿Î³Ì»á½²½â¡£

4.Live Variables Analysis (may analysis)

ÎÊÌⶨÒ壺ij³ÌÐòµãp´¦µÄ±äÁ¿v£¬´Óp¿ªÊ¼µ½exit¿éµÄCFGÖÐÊÇ·ñÓÐijÌõ·¾¶Óõ½ÁËv£¬Èç¹ûÓõ½ÁËv£¬ÔòvÔÚpµãΪlive£¬·ñÔòΪdead¡£ÆäÖÐÓÐÒ»¸öÒþº¬Ìõ¼þ£¬ÔÚµãpºÍÒýÓõãÖ®¼ä²»ÄÜÖØ¶¨Òåv¡£

2-4-1-live_variables¶¨Òå.png

Ó¦Óó¡¾°£º¿ÉÓÃÓڼĴæÆ÷·ÖÅ䣬Èç¹û¼Ä´æÆ÷ÂúÁË£¬¾ÍÐèÒªÌæ»»µô²»»á±»Óõ½µÄ±äÁ¿¡£

³éÏó±íʾ£º³ÌÐòÖеÄn¸ö±äÁ¿Óó¤¶ÈΪn bitµÄÏòÁ¿À´±íʾ£¬¶ÔÓ¦bitΪ1£¬Ôò¸Ã±äÁ¿Îªlive£¬·´Ö®Îª0ÔòΪdead¡£

£¨1£©¹«Ê½·ÖÎö

Control Flow£ºOUT[B] = US a_successor_of_BIN[S]

Àí½â£ºÎÒÃÇÊÇǰÏò·ÖÎö£¬Ö»ÒªÓÐÒ»Ìõ×Ó·ÊÇlive£¬¸¸½Úµã¾ÍÊÇlive¡£

Transfer Function£ºIN[B] = useB U (OUT[B] - defB)

Àí½â£ºIN[B] = ±¾¿éÖÐuse³öÏÖÔÚdefine֮ǰµÄ±äÁ¿ U £¨OUT[B]³ö¿ÚµÄliveÇé¿ö - ±¾¿éÖгöÏÖÁËdefineµÄ±äÁ¿£©¡£defineÖ¸µÄÊǶ¨Òå/¸³Öµ¡£

ÌØÀý·ÖÎö£ºÈçÒÔÏÂͼËùʾ£¬µÚ4ÖÖÇé¿ö£¬v=v-1£¬Êµ¼ÊÉÏuse³öÏÖÔÚdefine֮ǰ£¬vÊÇʹÓõġ£

2-4-2-¹«Ê½ÍƵ¼.png

£¨2£©Ëã·¨

Ä¿µÄ£ºÊäÈëCFG£¬¼ÆËãºÃÿ¸ö»ù±¾¿éÖеÄdefB£¨Öض¨Ò壩ºÍuseB£¨³öÏÖÔÚÖØ¶¨Òå֮ǰµÄʹÓã©¡£Êä³öÿ¸ö»ù±¾¿éµÄIN[B]ºÍOUT[B]¡£

·½·¨£ºÊ×Ïȳõʼ»¯Ã¿¸ö»ù±¾¿éµÄIN[B]Ϊ¿Õ¼¯¡£±éÀúÿһ¸ö»ù±¾¿éB£¬°´ÒÔÉÏÁ½¸ö¹«Ê½¼ÆËã¿éBµÄOUT[B]ºÍIN[B]£¬Ö»ÒªÕâ´Î±éÀúʱÓÐij¸ö¿éµÄIN[B]·¢Éú±ä»¯£¬ÔòÖØÐ±éÀúÒ»´Î£¨ÒòΪÓÐÑ­»·£¬Ö»ÒªÄ³¿éµÄIN[B]±äÁË£¬¾ÍÒâζǰÇý¿éµÄOUT[B]±äÁË£©¡£

ÎÊÌ⣺±éÀú»ù±¾¿éµÄ˳ÐòÓÐÒªÇóÂ𣿠ûÓÐÒªÇ󣬵«ÊÇ»áÓ°Ïì±éÀúµÄ´ÎÊý¡£

2-4-3-live_variablesËã·¨.png

³õʼ»¯¹æÂÉ£ºÒ»°ãÇé¿öÏ£¬may analysis È«²¿³õʼ»¯Îª¿Õ£¬must analysisÈ«²¿³õʼ»¯Îªall¡£

£¨3£©ÊµÀý

³éÏó±íʾ£º³ÌÐòÖеÄn¸ö±äÁ¿Óó¤¶ÈΪn bitµÄÏòÁ¿À´±íʾ£¬¶ÔÓ¦bitΪ1£¬Ôò¸Ã±äÁ¿Îªlive£¬·´Ö®Îª0ÔòΪdead¡£

˵Ã÷£º´ÓÏÂÍùÉϱéÀú»ù±¾¿é£¬ºÚÉ«-³õʼ»¯£»ºìÉ«-µÚ1´Î£»À¶É«-µÚ2´Î£»ÂÌÉ«-µÚ3´Î¡£

½á¹û£º3´Î±éÀúºó£¬IN[B]²»Ôٱ仯£¬±éÀú½áÊø¡£

2-4-4-Ëã·¨ÔËÐÐʾÀý.png

5.Available Expressions Analysis (must analysis)

ÎÊÌⶨÒ壺³ÌÐòµãp´¦µÄ±í´ïʽx op y¿ÉÓÃÐèÂú×ã2¸öÌõ¼þ£¬Ò»ÊÇ´Óentryµ½pµã±ØÐë¾­¹ýx op y£¬¶þÊÇ×îºóÒ»´ÎʹÓÃx op yÖ®ºó£¬Ã»ÓÐÖØ¶¨Òå²Ù×÷Êýx¡¢y¡££¨Èç¹ûÖØ¶¨ÒåÁËx »ò y£¬Èçx = a op2 b£¬ÔòÔ­À´µÄ±í´ïʽx op yÖеÄx»òy¾Í»á±»Ìæ´ú£©¡£

Ó¦Óó¡¾°£ºÓÃÓÚÓÅ»¯£¬¼ì²âÈ«¾Ö¹«¹²×Ó±í´ïʽ¡£

³éÏó±íʾ£º³ÌÐòÖеÄn¸ö±í´ïʽ£¬Óó¤¶ÈΪn bitµÄÏòÁ¿À´±íʾ£¬1±íʾ¿ÉÓã¬0±íʾ²»¿ÉÓá£

˵Ã÷£ºÊôÓÚforward·ÖÎö¡£

£¨1£©¹«Ê½·ÖÎö

Transfer Function£ºOUT[B] = genB U (IN[B] - killB)

Àí½â£ºgenB¡ª»ù±¾¿éBÖÐËùÓÐеıí´ïʽ£¨²¢ÇÒÔÚÕâ¸ö±í´ïʽ֮ºó£¬²»ÄܶԱí´ïʽÖгöÏֵıäÁ¿½øÐÐÖØ¶¨Ò壩-->¼ÓÈëµ½OUT£»killB¡ª´ÓINÖÐɾ³ý±äÁ¿±»ÖØÐ¶¨ÒåµÄ±í´ïʽ¡£

Control Flow£ºIN[B] = P a_predecessor_of_B OUT[P]

Àí½â£º´Óentryµ½pµãµÄËùÓз¾¶¶¼±ØÐë¾­¹ý¸Ã±í´ïʽ¡£

2-5-1-¿ÉÓñí´ïʽ¶¨Òå.png

ÎÊÌ⣺¸Ã·ÖÎöΪʲôÊôÓÚmust analysisÄØ£¿ÒòΪÎÒÃÇÔÊÐíÓЩ±¨£¬²»ÄÜÓÐÎ󱨣¬±ÈÈçÒÔÉÏʾÀýÖУ¬¸ÄΪx=3£¬È¥µô b=e16*x£¬¸Ã¹«Ê½»á°Ñ¸Ã±í´ïʽʶ±ðΪ²»¿ÉÓᣵ«ÊÂʵÊÇ¿ÉÓõģ¬ÒòΪ°Ñx=3Ìæ»»µ½±í´ïʽÖв¢²»Ó°Ïì¸Ã±í´ïʽµÄÐÎʽ¡£ÕâÀïËäȻ©±¨ÁË£¬µ«ÊDz»Ó°Ïì³ÌÐò·ÖÎö½á¹ûµÄÕýÈ·ÐÔ¡£

£¨2£©Ëã·¨

Ä¿µÄ£ºÊäÈëCFG£¬Ìáǰ¼ÆËãºÃgenBºÍkillB¡£

·½·¨£ºÊ×ÏȽ«OUT[entry]³õʼ»¯Îª¿Õ£¬ËùÓлù±¾¿éµÄOUT[B]³õʼ»¯Îª1...1¡£±éÀúÿһ¸ö»ù±¾¿éB£¬°´ÒÔÉÏÁ½¸ö¹«Ê½¼ÆËã¿éBµÄIN[B]ºÍOUT[B]£¬Ö»ÒªÕâ´Î±éÀúʱÓÐij¸ö¿éµÄOUT[B]·¢Éú±ä»¯£¬ÔòÖØÐ±éÀúÒ»´Î£¨ÒòΪÓÐÑ­»·£¬Ö»ÒªÄ³¿éµÄOUT[B]±äÁË£¬¾ÍÒâζºó¼Ì¿éµÄIN[B]±äÁË£©¡£

2-5-2-¿ÉÓñí´ïʽËã·¨.png

£¨3£©ÊµÀý

³éÏó±íʾ£º³ÌÐòÖеÄn¸ö±í´ïʽ£¬Óó¤¶ÈΪn bitµÄÏòÁ¿À´±íʾ£¬1±íʾ¿ÉÓã¬0±íʾ²»¿ÉÓá£

˵Ã÷£ººÚÉ«-³õʼ»¯£»ºìÉ«-µÚ1´Î£»À¶É«-µÚ2´Î¡£

½á¹û£º2´Î±éÀúºó£¬OUT[B]²»Ôٱ仯£¬±éÀú½áÊø¡£

2-5-3-Ëã·¨ÔËÐÐʾÀý.png

6.ÈýÖÖ·ÖÎö¼¼Êõ¶Ô±È

ÎÊÌ⣺ÔõÑùÅжÏÊÇMay»¹ÊÇMust£¿

Reaching Definitions±íʾֻҪ´Ó¸³ÖµÓï¾äµ½µãp´æÔÚ1Ìõ·¾¶£¬ÔòΪreaching£¬½á¹û²»Ò»¶¨ÕýÈ·£»Live Variables±íʾֻҪ´Óµãpµ½Exit´æÔÚ1Ìõ·¾¶Ê¹ÓÃÁ˱äÁ¿v£¬ÔòΪlive£¬½á¹û²»Ò»¶¨ÕýÈ·£»Available Expressions±íʾ´ÓEntryµ½µãpµÄÿһÌõ·¾¶¶¼¾­¹ýÁ˸ñí´ïʽ£¬ÔòΪavailable£¬½á¹û¿Ï¶¨ÕýÈ·¡£

 

   
2067 ´Îä¯ÀÀ       32
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ