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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
´Ó0µ½1£º¹¹½¨Ç¿´óÇÒÒ×ÓõĹæÔòÒýÇæ
 
À´Ô´:ÃÀÍż¼ÊõµãÆÀÖÐÐÄ ·¢²¼ÓÚ:2017-6-27
  7352  次浏览      15
 

ÒýÑÔ

2016Äê07ÔÂÇ¡·êÃÀÍŵãÆÀµÄÒµÎñ½øÈë¡°Ï°볡¡±£¬ÐèÒªÎÒÃÇÔÚ¸÷¸ö»·½ÚÓÅ»¯ÌåÑé¡¢ÌáÉýЧÂÊ¡¢½µµÍ³É±¾¡£¼¼ÊõÍŶÓÐèÒªÔõô×öÀ´ÊÊÓ¦Õâ¸ö±ä»¯£¿Õâ¸öÎÊÌâÖ±½ÓÓ°Ïì×ÅÖ®ºóµÄ¹¤×÷˼·¡£

ÃÀÍÅÍâÂôµÄCRMÒµÎñ²½Èë³ÉÊìÆÚ£¬¹æÔòÀàÐèÇ󼸺õ³ÅÆðÁËÕâ¸öÒµÎñËùÓÐÐèÇóµÄ°ë±ßÌì¡£Ò»·½Ãæ¹æÔòΨһ²»±äµÄÊÇ¡°¶à±ä¡±£¬ÁíÒ»·½Ã濪·¢ÍŶӶԡ°¹æÔò¿ª·¢¡±µÄ¸ÐÊÜÊÇ·¦Î¶¡¢Æ£±¹ºÍȱ·¦¼¼Êõº¬Á¿¡£ÈçºÎ½â¾ö¹æÔò¿ª·¢µÄЧÂÊÎÊÌ⣬×î´ó»¯½â·Å¿ª·¢ÍŶӳÉΪĿǰµÄÒ»¸öKPI¡£

¹æÔòÒýÇæ×÷Ϊ³£¼ûµÄά»¤²ßÂÔ¹æÔòµÄ¿ò¼ÜºÜ¿ì½øÈëÎÒµÄ˼·¡£ËüÄܽ«ÒµÎñ¾ö²ßÂß¼­´ÓϵͳÂß¼­ÖгéÀë³öÀ´£¬Ê¹Á½ÖÖÂß¼­¿ÉÒÔ¶ÀÁ¢Óڱ˴˶ø±ä»¯£¬ÕâÑù¿ÉÒÔÃ÷ÏÔ½µµÍÁ½ÖÖÂß¼­µÄά»¤³É±¾¡£

·ÖÎö¹æÔòÒýÇæÈçºÎÉè¼ÆÕýÊDZ¾ÎĵÄÖ÷Ì⣬¹ý³ÌÖÐÒ²¼òµ¥½éÉÜÁËʵÏÖ·½°¸¡£

°¸Àý

Ê×ÏȻع˼¸¸öÃÀÍŵãÆÀµÄÒµÎñ³¡¾°¡£Í¨¹ýÕâЩ³¡¾°´ó¼ÒÄܸüºÃµØÀí½âʲôÊǹæÔò£¬¹æÔòµÄ±ß½çÊÇʲô¡£ÔÚÿ¸ö³¡¾°ºóÃ涼½éÉÜÁËÒµÎñϵͳÏÖÔÚʹÓõĽâ¾ö·½°¸ÒÔ¼°Ö÷ÒªµÄÓÅȱµã¡£

ÃŵêÐÅϢУÑé

³¡¾°

ÃÀÍŵãÆÀºÏ²¢Ç°µÄÃÀÍÅƽ̨ÊÂÒµ²¿ÖУ¬ÃŵêÐÅÏ¢Èë¿Ú×÷ΪÃŵêÐÅÏ¢µÄµÚÒ»µÀ¹Ø¿¨£¬ÓÐÒ»¸öºÜÖØÒªµÄÖ°Ô𣬾ÍÊÇÖÊÁ¿¿ØÖÆ£¬ÆäÖеÚÒ»²½¾ÍÊÇÕë¶ÔһЩ×ֶεÄУÑé¹æÔò¡£

ÏÂÃæ´ÓÁ÷³ÌµÄ½Ç¶È¿´ÏÂÃŵêÐÅÏ¢Èë¿ÚÒµÎñÀïУÑéÃŵêÐÅÏ¢µÄ¹æÔòÄ£ÐÍ£¨ÒѼò»¯£©£¬ÈçÏÂͼ¡£

¹æÔòÖ÷Ìå°üÀ¨3²¿·Ö£º

·ÖÖ§Ìõ¼þ¡£·ÖÖ§ÄÚÂß¼­Ìõ¼þΪ¡°==¡±ºÍ¡°<¡±¡£

¼òµ¥¼ÆËã¹æÔò¡£È磺×Ö·û´®³¤¶È¡£

ÒµÎñ¶¨ÖƼÆËã¹æÔò¡£È磺ÄæµØÖ·½âÎö¡¢¾­Î³¶È·´ËãµÈ¡£

·½°¸¡ª¡ªÓ²±àÂë

ÓÉÓÚÀúÊ·Ô­Òò£¬ÃŵêÐÅϢУÑé²ÉÓÃÁËÓ²±àÂëµÄ·½Ê½£¬Î±´úÂëÈçÏ£º

if (StringUtil.isBlank(fieldA)
|| StringUtil.isBlank(fieldB)
|| StringUtil.isBlank(fieldC)
|| StringUtil.isBlank(fieldD)) {
return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "Ãŵê²ÎÊýȱÉÙ±ØÌîÏî");
}
if (fieldA.length() < 10) {
return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "ÃŵêÃû³Æ³¤¶È²»ÄÜÉÙÓÚ10¸ö×Ö·û");
}
if (!isConsistent(fieldB, fieldC, fieldD)) {
return ResultDOFactory.createResultDO(Code.PARAM_ERROR, "ÃŵêxxxµØÖ·¡¢ÐÐÕþÇøºÍ¾­Î³¶È²»Ò»ÖÂ");
}

Óŵã

µ±¹æÔò½ÏÉÙ¡¢±ä¶¯²»Æµ·±Ê±£¬¿ª·¢Ð§ÂÊ×î¸ß¡£

Îȶ¨ÐԽϼѣºÓï·¨¼¶±ð´íÎó²»»á³öÏÖ£¬ÓɱàÒëϵͳ±£Ö¤¡£

ȱµã

¹æÔòµü´ú³É±¾¸ß£º¶Ô¹æÔòµÄÉÙÁ¿¸Ä¶¯¾ÍÐèÒª×ßÈ«Á÷³Ì£¨¿ª·¢¡¢²âÊÔ¡¢²¿Ê𣩡£

µ±´æÁ¿¹æÔò½Ï¶àʱ£¬¿Éά»¤ÐԲ

¹æÔò¿ª·¢ºÍά»¤Ãż÷¸ß£º¹æÔò¶ÔÒµÎñ·ÖÎöÈËÔ±²»¿É¼û¡£ÒµÎñ·ÖÎöÈËÔ±ÓйæÔò±ä¸üÐèÇóºóÎÞ·¨×ÔÖúÍê³É¿ª·¢£¬ÐèÒªÓÉ¿ª·¢ÈËÔ±½éÈ뿪·¢¡£

ÃŵêÉóºËÁ÷³Ì

³¡¾°

Á÷³Ì¿ØÖÆÖÐÐÄ£¨¸ºÔðÔÚÔËÐÐʱ¸ù¾ÝÊäÈë²ÎÊýÑ¡Ôñ²»Í¬µÄÁ÷³Ì½Úµã´Ó¶ø¹¹½¨Ò»¸öÁ÷³ÌʵÀý£©»á¸ù¾ÝÊäÈëÃŵêÐÅÏ¢ÖеÄÇþµÀÀ´Ô´ºÍÆ·ÅƵÈÌØÕ÷È·¶¨±¾´ÎÉóºË£¨²»£©×ßÄÄЩ½Úµã£¬ÆäÖÐÑ¡Ôñ²ßÂÔµÄÄ£ÐÍÈçÏÂͼ¡£

¹æÔòÖ÷ÌåÊÇ·ÖÖ§Ìõ¼þ£º

·ÖÖ§Ìõ¼þÖ÷ÌåÊÇ¡°==¡±£¬²ÎÓë¼ÆËãµÄ²ÎÊýÊǹ̶¨ÖµºÍÓû§ÊäÈëʵÌåµÄÊôÐÔ£¨±ÈÈ磺ÇþµÀÀ´Ô´ºÍÆ·ÅÆÀàÐÍ£©¡£

·½°¸¡ª¡ª¿ªÔ´Drools´ÓÈëÃŵ½·ÅÆú

¾­¹ýһϵÁе÷ÑÐÍŶÓÑ¡Ôñ»ùÓÚ¿ªÔ´¹æÔòÒýÇæDroolsÀ´ÅäÖÃÁ÷³ÌÖÐÉóºË½ÚµãµÄÑ¡Ôñ²ßÂÔ¡£Ê¹ÓÃDroolsºóµÄ¹æÔòÅäÖÃÁ÷³ÌÈçÏÂͼ¡£

ÉÏͼÖÐDSL¼´ÊǹæÔòÖ÷Ì壬¹æÔòÄÚÈÝÈçÏ£º

rule "1.1"
when
poi : POI( source == 1 && brandType == 1 )
then
System.out.println( "1.1 matched" );
poi.setPassedNodes(1);

end

rule "1.2"
when
poi : POI( source == 1 && brandType == 2 )
then
System.out.println( "1.2 matched" );

end

rule "2.1"
when
poi : POI( source == 2 && brandType == 1 )
then
System.out.println( "2.1 matched" );
poi.setPassedNodes(2);

end

rule "2.2"
when
poi : POI( source == 2 && brandType == 2 )
then
System.out.println( "2.2 matched" );
poi.setPassedNodes(3);

end

ÔÚʵ¼ùÖУ¬ÎÒÃÇ·¢ÏÖDrools·½°¸ÓÐÒÔϼ¸¸öÓÅȱµã£º

Óŵã

²ßÂÔ¹æÔòºÍÖ´ÐÐÂß¼­½âñî·½±ãά»¤¡£

ȱµã

ÒµÎñ·ÖÎöʦÎÞ·¨¶ÀÁ¢Íê³É¹æÔòÅäÖãºÓÉÓÚ¹æÔòÖ÷ÌåDSLÊDZà³ÌÓïÑÔ£¨Ö§³ÖJava, Groovy, Python£©£¬Òò´ËÈÔÈ»ÐèÒª¿ª·¢¹¤³Ìʦά»¤¡£

¹æÔò¹æÄ£±ä´óÒÔºóÒ²»á±äµÃ²»ºÃά»¤£¬Ïà¶ÔÓ²±àÂëµÄÓÅÊƱ㲻¸´´æÔÚ¡£

¹æÔòµÄÓï·¨½öÊʺϱâƽµÄ¹æÔò£¬¶ÔÓÚǶÌ×Ìõ¼þÓïÒ壨thenÀïǶÌ×when...then×Ӿ䣩µÄ¹æÔòÖ»Äܽ«Ìõ¼þ½øÐеѿ¨¶û»ý×éºÏÒÔºó½øÐÐÅäÖ㬲»ÀûÓÚά»¤¡£

ÓÉÓÚDroolsµÄÎÊÌâ½Ï¶à£¬×îºóÕâ¸ö·½°¸»¹ÊÇ·ÅÆúÁË¡£

¼¨Ð§Ö¸±ê¼ÆËã

³¡¾°

ÃÀÍÅÍâÂôÒµÎñ·¢Õ¹·Ç³£Ñ¸ËÙ£¬¼¨Ð§Ö¸±ê¹æÔòÐèÒª¿ìËÙµü´ú²ÅÄܽô¸úÒµÎñ·¢Õ¹²½·¥¡£¼¨Ð§¿¼ºËƵÂÊÊÇÒ»¸öÔÂÒ»´Î£¬Òò´Ë¼¨Ð§¹æÔòµÄµü´úƵÂÊÒ²ÊÇÿÔÂÒ»´Î¡£ÒòΪ¼¨Ð§¹æÔòϵͳÊÇÓ²±àÂëʵÏÖ£¬Òò´Ë¿ª·¢ÍŶÓÐèҪͶÈë´óÁ¿µÄÈËÁ¦Âú×ã¹æÔò¸üÐÂÐèÇó¡£

2016Äê10Ôµ×ÎÒÊܼ¨Ð§ÍŶÓίÍгÉÁ¢Ò»¸öÏîÄ¿×飬¿ª·¢²¿ÊðÁËÒ»Ì×¼¨Ð§Ö¸±êÅäÖÃϵͳ£¬ÏµÍ³ÉÏÏßÖ±½Ó¼õÉÙÁ˲úÆ·¾­ÀíºÍ¼¼ÊõÍŶÓ70%µÄ¹¤×÷Á¿¡£

ÏÂÃæÎÒÃÇÊ×ÏÈ·ÖÎöϼ¨Ð§Ö¸±ê¼ÆËãµÄ¹æÔòÄ£ÐÍ£¬ÈçÏÂͼ¡£

¹æÔòÖ÷ÌåÊǽṹ»¯Êý¾Ý´¦ÀíÂß¼­£º

¹æÔòÂß¼­ÊÇ´ÓÈô¸ÉÊý¾ÝÔ´»ñÈ¡Êý¾Ý£¬È»ºó½øÐÐһϵÁоۺϴ¦Àí£¨¿ÉÒÔ²ÉÓýṹ»¯²éѯSQLÓï¾ä+ÉÙÁ¿´úÂëʵÏÖ£©£¬×îºóÊä³öµ½Ä¿±êÊý¾ÝÔ´¡£

·½°¸¡ª¡ªÒµÎñ¶¨ÖƹæÔòÒýÇæ

¼¨Ð§¹æÔòÖ÷ÌåÊÇÊý¾Ý´¦Àí£¬µ«ÎÒÃÇÈÏΪÊý¾Ý´¦ÀíͬÑùÊôÓÚ¹æÔòµÄ·¶³ë£¬Òò´ËÎÒÃǽ«Æä·ÅÔÚ±¾ÎĽøÐзÖÎö¡£

ÏÂͼÊǼ¨Ð§Ö¸±êÅäÖÃϵͳ¡£´¥·¢Æ÷¸ºÔð¶¨Ê±Çý¶¯ÒýÇæ½øÐмÆË㣻ÊÓͼ¸ºÔð¸øÉÌÒµ·ÖÎöʦÌṩ¹æÔòÅäÖýçÃ棬¹æÔò±í´ïÄÜÁ¦È¡¾öÓÚÊÓͼ£»ÒýÇ渺Ôð½«ÅäÖõĹæÔò½âÎö³ÉSparkÔ­Óï½øÐмÆËã¡£

Óŵã

¹æÔòÅäÖÃÃż÷µÍ£ºÊÓͼºÍÒýÇæÄÚ²¿Êý¾ÝÄ£ÐÍÍêÈ«ÌùºÏ¼¨Ð§ÒµÎñÄ£ÐÍ£¬Òò´ËÒµÎñ·ÖÎöʦºÜÈÝÒ×ÉÏÊÖ¡£

ϵͳ֧³Ö¹æÔòÈȲ¿Êð¡£

ȱµã

ÊÊÓ÷¶Î§ÓÐÏÞ£ºÒòΪÊÓͼºÍÒýÇæµÄÉè¼ÆÍêÈ«»ùÓÚ¼¨Ð§ÒµÎñÄ£ÐÍ£¬Òò´ËºÜÄѵͳɱ¾Ð޸ĺóÍƹ㵽±ðµÄÒµÎñ¡£

̽Ë÷È«ÐÂÉè¼Æ

¡°°¸Àý¡±Ò»½ÚÖÐÈýÖÖÂäµØ·½°¸µÄÎÊÌâ×ܽáÈçÏ£º

Ó²±àÂëµü´ú³É±¾¸ß¡£

Droolsά»¤Ãż÷¸ß¡£ÊÓͼ¶Ô·Ç¼¼ÊõÈËÔ±²»ÓѺ㬼´Ê¹¶ÔÓÚ¼¼ÊõÈËÔ±À´ËµÎ¬»¤³É±¾Ò²²»±ÈÓ²±àÂëµÍ¡£

¼¨Ð§¶¨ÖÆÒýÇæ±í´ïÄÜÁ¦ÓÐÏÞÇÒÀ©Õ¹ÐԲÎÞ·¨Íƹ㵽±ðµÄÒµÎñ¡£

ÓÉÓÚ¡°¸ßЧÅäÖùæÔò¡±ÊÇÒµÎñÀﳤÆÚ´æÔڵĸÕÐ裬ÇÒÐÐÒµÄÚÓÖȱ·¦·ûºÏÐèÇóµÄ½â¾ö·½°¸£¬2017Äê02ÔÂÎÒÔÚÍŶÓÄÚ²¿ÉèÁ¢ÁËÒ»¸öÐéÄâС×éרߺÔð¹æÔòÒýÇæµÄÉè¼ÆÑз¢¡£ÒýÇæÉè¼ÆÖ¸±êÊÇÒª¸²¸Ç¹¤×÷Öлù´¡µÄ¹æÔòµü´úÐèÇ󣨰üÀ¨µ«²»ÏÞÓÚ¡°°¸Àý¡±Ò»½ÚÖеĶà¸ö³¡¾°£©£¬Í¬Ê±Õë¶Ô¡°°¸Àý¡±Ò»½ÚÖÐÒÑÓнâ¾ö·½°¸Ñﳤ±Ü¶Ì¡£ÏÂÃæ·Ö3½ÚÀ´ÖØÏÖÕâ¸öÏîÄ¿µÄÉè¼Æ¹ý³Ì¡£Ê×ÏÈ¡°ÐèÇóÄ£ÐÍ¡±Ò»½Ú»á»ùÓÚ¡°°¸Àý¡±Ò»½ÚµÄ³¡¾°³¢ÊÔ³éÏó³ö¹æÔòÄ£ÐÍ£¬Í¬Ê±ÌáÁ¶³öϵͳÉè¼Æ´ó¸Ù¡£È»ºó¡°Maze¿ò¼Ü¡±Ò»½Ú»á»ùÓÚÐèÇóÄ£ÐÍÉè¼ÆÒ»¸ö¹æÔòÒýÇæ¡£×îºó¡°Maze¿ò¼ÜÄÜÁ¦Ä£ÐÍ¡±Ò»½Ú»á½éÉÜMaze¿ò¼ÜµÄÌص㡣

ÐèÇóÄ£ÐÍ

¶Ô¹æÔòÒýÇæÀ´Ëµ£¬ÊÀ½ç½Ô¹æÔò¡£Í¨¹ý¡°°¸Àý¡±Ò»½ÚµÄ·ÖÎö£¬ÎÒÃǶԹæÔòÒÔ¼°¹æÔòÒýÇæ¸ÃÈçºÎ¹¹½¨µÄ˼·ÕýÖð½¥±äµÃÇåÎú£¬ÏÂÃæÁ½½Ú·Ö±ð¶¨Òå¹æÔòÊý¾ÝÄ£Ðͺ͹æÔòÒýÇæµÄϵͳģÐÍ£¬Ä¿±êÊǶԡ°Maze¿ò¼Ü¡±Ò»½ÚÖеĹæÔòÒýÇæ²úÆ·½øÐпò¼ÜÐÔÖ¸µ¼¡£

¹æÔòÊý¾ÝÄ£ÐÍ

¹æÔò±¾ÖÊÊÇÒ»¸öº¯Êý£¬ÓÉn¸öÊäÈë¡¢1¸öÊä³öºÍº¯Êý¼ÆËãÂß¼­3²¿·Ö×é³É¡£

y = f£¨x1, x2, ¡­, xn£©

¾ßÌå½áºÏ¡°°¸Àý¡±Ò»½ÚÖеij¡¾°ÎÒÃÇÊáÀí³öµÄ¹æÔòÄ£ÐÍÈçÏÂͼËùʾ¡£

Ö÷ÒªÓÉÈý²¿·Ö¹¹³É£º

FACT¶ÔÏó£ºÓû§ÊäÈëµÄÊÂʵ¶ÔÏó£¬×÷Ϊ¾ö²ßÒò×ÓʹÓá£

¹æÔò£ºLHS£¨Left Hand Side£©²¿·Ö¼´Ìõ¼þ·ÖÖ§Âß¼­¡£RHS£¨Right Hand Side£©²¿·Ö¼´Ö´ÐÐÂß¼­¡£LHSºÍRHS²¿·ÖÊÇÓÉÒ»¸ö»ò¶à¸öģʽ¹¹³ÉµÄ¡£Ä£Ê½ÊǹæÔòÄÚ×îСµ¥Î»¡£Ä£Ê½µÄÊäÈë²ÎÊý¿ÉÒÔÊÇÁíÒ»¸öģʽ»òFACT¶ÔÏ󣨱ÈÈçÂß¼­ÓëÔËËã[²ÎÊý1] && [²ÎÊý2]ÖвÎÊý1¿ÉÒÔÊÇÁíÒ»¸ö±í´ïʽ£©¡£Ä£Ê½ÐèÒªÖ§³ÖÒÔÏÂ3ÖÖÀà±ð£º

¿Í»§¶¨Òå·½·¨£ºFACT¶ÔÏóµÄʵÀý·½·¨¡¢¾²Ì¬·½·¨¡£

³£¹æ±í´ïʽ£ºÂß¼­ÔËËã¡¢ËãÊýÔËËã¡¢¹ØϵÔËËã¡¢¶ÔÏóÊôÐÔ´¦ÀíµÈ¡£

½á¹¹»¯²éѯ¡£

½á¹û¶ÔÏ󣺹æÔò´¦ÀíÍê±ÏºóµÄ½á¹û¡£ÐèÒªÖ§³Ö×Ô¶¨ÒåÀàÐÍ»òÕß¼òµ¥ÀàÐÍ£¨Integer¡¢Long¡¢Float¡¢Double¡¢Short¡¢String¡¢BooleanµÈ£©¡£

ϵͳģÐÍ

ÎÒÃÇÐèÒªÉè¼ÆÒ»¸öϵͳÄÜÅäÖᢼÓÔØ¡¢½âÊÍÖ´ÐÐÉϽÚÖеÄÊý¾ÝÄ£ÐÍ£¬ÁíÍâÉè¼Æʱ»¹ÐèÒª¹æ±Ü¡°°¸Àý¡±Ò»½Ú3¸ö·½°¸µÄȱµã¡£×îÖÕÎÒÃǶ¨ÒåÁËÈçÏÂͼËùʾµÄϵͳģÐÍ¡£

Ö÷ÒªÓÉ3¸öÄ£¿é¹¹³É¡£

֪ʶ¿â£º¸ºÔðÌṩÅäÖÃÊÓͼºÍģʽÒò×Ó¡£ÖªÊ¶¿âÖ®ËùÒԽС°ÖªÊ¶¡±¿âÒ»¸öºÜÖØÒªµÄÌØÕ÷ÊÇ֪ʶ¿â¿ÉÒԵͳɱ¾À©Õ¹ÖªÊ¶¡£ÖªÊ¶À©Õ¹°üÀ¨ÊÓͼºÍģʽµÄÌí¼Ó£¬ÊÓͼºÍģʽÓÐÒ»¶ÔÒ»Ó³Éä¹Øϵ£¬±ÈÈçÎÒÃÇÔÚ½çÃæÉÏչʾһ¸öÈ磺

ÇëÊäÈëÊýÖµÀàÐͲÎÊý

ÇëÊäÈëÊýÖµÀàÐͲÎÊý

Ò»ÑùµÄÊÓͼ£¬ÔòÒ»¶¨ÓÐÒ»¸öģʽ$²ÎÊý1 > $²ÎÊý2ÓëÖ®¶ÔÓ¦¡£

ÊÓͼ£ºÓÃÓÚÒµÎñ·ÖÎöʦµÈ·Ç¼¼Êõ±³¾°µÄÈËÔ±ÅäÖùæÔò¡£×÷ÓÃÁ½·½Ã棺

Ò»·½Ãæ½µµÍ²Ù×÷Ãż÷¡£

Ò»·½ÃæÔ¼ÊøÓû§ÊäÈ룬±£Ö¤ÊäÈëºÏ·¨ÐÔ¡£

ģʽ£º¹¹³É¹æÔòµÄ×îСµ¥Î»£¬²»¿É²ð·Ö£¬¿ÉÒÔÖ±½Ó±»¹æÔòÒýÇæÖ´ÐС£

×ÊÔ´¹ÜÀíÆ÷£º¸ºÔð¹ÜÀí¹æÔò¡£

°æ±¾¹ÜÀí£ºÖ§³Ö¹æÔòµü´ú¸üС¢»Ø¹öºÍ»Ò¶ÈµÈ¹¦ÄÜ¡£

ÒÀÀµ¹ÜÀí£º¸ºÔ𽫹æÔò½âÎöΪģʽÊ÷¡£ÎªÁË×î´óÏ޶ȵØÔöÇ¿¹æÔòµÄ±í´ïÄÜÁ¦£¬Ã¿Ò»¸öģʽÉè¼Æ¶¼ºÜ¡°Ô­×Ó¡±£¬ÕâÑùÈç¹ûÏëÅäÖÃÒ»¸öÍêÕûÓïÒåµÄ¹æÔò£¬Ôò±ØÐëÓɶà¸ö×Ó¹æÔò¹²Í¬¹¹³É£¬Òò´Ë¹æÔòÖ®¼ä»áÓÐÊ÷ÐÎÒÀÀµ¹Øϵ¡£Èç$²ÎÊý1 + $²ÎÊý2 > $²ÎÊý3ÕâÑùµÄ¹æÔò±ãÊÇÓɶà¸öģʽ¡°¸´ºÏ¡±¶ø³É£¬ÔòËûµÄÒÀÀµ¹ØϵÈçÏÂËùʾ¡£

¹æÔòÒýÇ棺¸ºÔðÖ´ÐйæÔò¡£

µ÷¶ÈÆ÷£º¸ù¾Ý¹æÔòµÄÒÀÀµ¹ØϵÒÔ¼°Ó²¼þ×ÊÔ´Çý¶¯Ä£Ê½Ö´ÐÐÆ÷Ö´ÐÐģʽ£¬Ä¿±êÊÇ´ïµ½×î´óÍÌÍ»ò×îµÍÑÓ³Ù¡£

ģʽִÐÐÆ÷£º¸ºÔðÖ±½ÓÖ´ÐÐģʽ¡£Ö´ÐÐÆ÷¿ÉÒÔ¸ù¾ÝÒµÎñµÄ±í´ïÄÜÁ¦ÐèÇóÑ¡Ôñ»ùÓÚDrools¡¢AviatorµÈµÚÈý·½ÒýÇ棬ÉõÖÁ¿ÉÒÔ»ùÓÚANTLR¶¨ÖÆ¡£

Maze¿ò¼Ü

»ùÓÚ"ÐèÇóÄ£ÐÍ"Ò»½ÚµÄ¶¨Ò壬ÎÒÃÇ¿ª·¢ÁËMaze¿ò¼Ü£¨MazeÊÇÃÔ¹¬µÄÒâ˼£¬Ô¢Ò⣺ÃÔ¹¬Ò»Ñù¸´ÔӵĹæÔò£©¡£

Maze¿ò¼Ü·ÖÁ½¸öÒýÇ棺MazeGO£¨²ßÂÔÒýÇ棩ºÍMazeQL£¨½á¹¹»¯Êý¾Ý´¦ÀíÒýÇ棩¡£ÆäÖÐMazeGOÄÚ½âÎöµ½½á¹¹»¯Êý¾Ý´¦Àíģʽ»áµ÷ÓÃSQLCÇý¶¯MazeQLÍê³É¼ÆË㣨±ÈÈ磺´ÓÊý¾Ý¿âÀï²éѯij¸öBDµÄÔ½»Ò׶Èç¹û½»Ò׶¹ý30ÍòÔòÖ´ÐÐAÂß¼­·ñÔòÖ´ÐÐBÂß¼­£¬Õâ¸öÓïÒåµÄ¹æÔò¼´ÐèÒªÖ´Ðнṹ»¯²éѯ£©£¬MazeQLÄÚ½âÎöµ½²ßÂÔ¼ÆËãģʽ»áµ÷ÓÃVectorCÇý¶¯MazeGO½øÐмÆË㣨±ÈÈ磺ÓÐÒ»ÕŶ©µ¥±í£¬ÆäÖеÚÒ»ÁÐÊÇÉÌÆ·ID£¬µÚ¶þÁÐÊÇÉÌÆ·¹ºÂòÊýÁ¿£¬µÚÈýÁÐÊÇ´ËÉÌÆ·µÄµ¥¼Û£¬ÎÒÃÇÐèÒª¼ÆËãÿÀàÉÌÆ·µÄ×ܼÛÔòÐèÒª¶Ô½á¹¹»¯²éѯµ½µÄ½á¹ûµÄÿһÐÐÖ´ÐеڶþÁÐ * µÚÈýÁÐÕâÑùµÄ²ßÂÔģʽ¼ÆË㣩¡£

Ãû´Ê½âÊÍ£º

VectorCÖ¸ÏòÁ¿¼ÆË㣬Õë¶Ô¾ØÕóµÄÐÐÁнøÐмÆËã¡£ÓÐÈýÖÖ¼ÆË㷽ʽ£º

Õë¶ÔÒ»ÐеĶàÁнøÐвßÂÔ¼ÆËã¡£

Õë¶ÔÒ»ÁнøÐмÆËã¡£

Õë¶Ô·Ö×é¾ÛºÏ£¨GroupBy£©ºóµÄÿһ×éÄÚµÄÁнøÐÐÔËËã¡£

SQLCÖ¸½á¹¹»¯²éѯ¡£ÓµÓÐÖ´ÐÐSQLµÄÄÜÁ¦¡£

MazeGO

MazeGOºËÐÄÖ÷ÒªÓÉ3²¿·Ö¹¹³É£º×ÊÔ´¹ÜÀíÆ÷¡¢ÖªÊ¶¿âºÍMazeGOÒýÇæ¡£ÁíÍâÁ½¸ö¸¨ÖúÄ£¿éÊÇÁ÷Á¿¿ØÖÆÆ÷ºÍ¹æÔòЧ¹û·ÖÎöÄ£¿é¡£»ù±¾¹¹³ÉÈçÏÂͼ¡£

3¸öºËÐÄÄ£¿é£¨ÒýÇ桢֪ʶ¿âºÍ×ÊÔ´¹ÜÀíÆ÷£©µÄÖ°Ôð¼û¡°ÐèÇóÄ£ÐÍ¡±Ò»½ÚÖС°ÏµÍ³Ä£ÐÍ¡±Ò»½Ú¡£ÏÂÃæÖ»½éÉÜϺ͡°ÏµÍ³Ä£ÐÍ¡±²»Í¬µÄ²¿·Ö¡£

MazeGOÒýÇ棺

¹æÔò¹ÜÀíÄ£¿é¡£Ö°ÔðÈçÏ£º

Ô¤¼ÓÔعæÔòʵÀý¡£Ê×ÏÈΪÁ˱ÜÃâ·ÃÎʹæÔòʱÐèҪʵʱִÐÐÔ¶³Ìµ÷ÓöøÔì³É½Ï´óµÄʱÑÓ£¬ÁíÍâ¹æÔò²¢²»ÊÇʱ¿Ì·¢Éú±ä¸üûÓбØҪÿ´Î·ÃÎÊʱÀ­È¡Ò»´Î×îа汾£¬»ùÓÚÒÔÉÏÁ½¸öÔ­Òò¹æÔò¹ÜÀíÄ£¿é»áÔÚÒýÇæ³õʼ»¯½×¶Î½«ÓÐЧ°æ±¾µÄ¹æÔòʵÀý»º´æÔÚ±¾µØ²¢ÇÒ¼àÌý¹æÔò±ä¸üʼþ£¨¼àÌý¿ÉÒÔ»ùÓÚZooKeeperʵÏÖ£©¡£

Ô¤±àÒë¹æÔòʵÀý¡£ÒòΪ¹æÔòÿ´Î±àÒëÖ´ÐлᵼÖÂÐÔÄÜÎÊÌ⣬Òò´Ë»áÔÚÒýÇæ³õʼ»¯ºÍ¹æÔòÓбä¸üÕâÁ½¸öʱ»ú½«ÔöÁ¿°æ±¾µÄ¹æÔòÔ¤±àÒë³É¿ÉÖ´ÐдúÂë¡£

Á÷Á¿¿ØÖÆÆ÷£º¸ºÔð²»Í¬°æ±¾¹æÔòµÄµ÷¶È¡£·½±ãÒµÎñ·½Ð޸ĹæÔòºó£¬»Ò¶È²¿·ÖÁ÷Á¿µ½Ð¹æÔò¡£

¹æÔòЧ¹û·ÖÎö£º¹æÔòÐÂÔö»òÐ޸ĺó£¬ÒµÎñ·½ÐèÒª·ÖÎöЧ¹û¡£±¾Ä£¿é»áÌṩ£º¹æÔòÄÚ²¿Ö´Ðз¾¶¡¢ÔËÐÐʱ²ÎÊýºÍ½á¹ûµÄ¾µÏñÊý¾Ý£¬Êý¾Ý¿ÉÒÔ´æ´¢ÔÚhbaseÉÏ¡£

MazeQL

MazeQLºËÐÄÖ÷ÒªÓÉ3²¿·Ö¹¹³É£ºÅäÖÃÖÐÐÄ¡¢MazeQLÒýÇæºÍƽ̨¡£

MazeQLÒýÇ棺

¹æÔò¹ÜÀíÄ£¿é¡£Ö°ÔðÈçÏ£º

Ô¤¼ÓÔعæÔòʵÀý¡£Ê×ÏÈΪÁ˱ÜÃâ·ÃÎʹæÔòʱÐèҪʵʱִÐÐÔ¶³Ìµ÷ÓöøÔì³É½Ï´óµÄʱÑÓ£¬ÁíÍâ¹æÔò²¢²»ÊÇʱ¿Ì·¢Éú±ä¸üûÓбØҪÿ´Î·ÃÎÊʱÀ­È¡Ò»´Î×îа汾£¬»ùÓÚÒÔÉÏÁ½¸öÔ­Òò¹æÔò¹ÜÀíÄ£¿é»áÔÚÒýÇæ³õʼ»¯½×¶Î½«ÓÐЧ°æ±¾µÄ¹æÔòʵÀý»º´æÔÚ±¾µØ²¢ÇÒ¼àÌý¹æÔò±ä¸üʼþ£¨¼àÌý¿ÉÒÔ»ùÓÚZooKeeperʵÏÖ£©¡£

Ô¤½âÎö¹æÔòʵÀý¡£ÒòΪ¹æÔòÿ´Î½âÎöÖ´ÐлᵼÖÂÐÔÄÜ£¨´ó¶ÔÏó£©ÎÊÌ⣬Òò´Ë»áÔÚÒýÇæ³õʼ»¯½×¶Î½âÎöΪÔËÐÐʱ¿ÉÓõĵ÷¶ÈÕ»Ö¡¡£

ÔËÐÐʱģ¿é¡£·ÖΪµ÷¶ÈÆ÷ºÍQLÇý¶¯Æ÷¡£

µ÷¶ÈÆ÷¡£SQLCºÍVectorCÀà¹æÔò´ó¶àÓɶà¸ö¹æÔò×éºÏ¶ø³É£¨¶ÔÓÚSQLC¶øÑÔ¿ÉÒÔ½«ÒÀÀµµÄ¹æÔò¼òµ¥µÄÀí½âΪ×Ó²éѯ£©£¬Òò´ËÒ²ÐèÒªºÍ¡°ÏµÍ³Ä£ÐÍ¡±Ò»½ÚÒ»ÑùµÄµ÷¶È¹ÜÀí£¬ÊµÏÖ²ãÃæÍêÈ«Ò»Ö¡£

QLÇý¶¯Æ÷¡£Çý¶¯Æ½Ì¨½øÐйæÔò¼ÆËã¡£ÒòΪÈÎÎñµÄʵ¼ÊÖ´ÐÐƽ̨ÓжàÖÖ£¨»áÔÚÏÂÒ»¸ö¡°Æ½Ì¨¡±²¿·Ö½éÉÜ£©£¬Òò´ËQLÇý¶¯Æ÷Ò²ÓжàÖÖʵÏÖ¡£

ƽ̨£º¸ºÔðʵ¼ÊÖ´ÐйæÔòÂß¼­¡£·ÖÁ½ÖÖÔËÐÐģʽ£ºÒ»ÖÖÊÇÒÔǶÈëʽ·½Ê½ÔËÐÐÔÚ¿Í»§¶Ë½ø³ÌÄÚ²¿£¬ºÃ´¦ÊÇʵʱÐÔ¸üºÃ£¬Ê±ÑÓ¸üµÍ£¬ÊʺÏСÅúÁ¿Êý¾Ý´¦Àí£»ÁíÒ»ÖÖÊÇÒÔÔ¶³Ì·½Ê½ÔËÐÐÔÚSparkƽ̨£¬ÊʺÏÀëÏß´ó¹æÄ£Êý¾Ý´¦Àí¡£

QLÖ´ÐÐÆ÷¡£¸ºÔðÖ´Ðнṹ»¯²éѯÂß¼­¡£Á½ÖÖ²»Í¬µÄÔËÐÐģʽÏÂQLÖ´ÐÐÆ÷ÔÚÖ´ÐÐSQLģʽʱ»áÑ¡ÔñÁ½ÖÖ²»Í¬µÄQLÖ´ÐÐÆ÷ʵÏÖ£¬Á½ÖÖʵÏÖ·Ö±ðÊÇ£º

ǶÈëʽģʽÏÂÊÇ»ùÓÚMysqlºÍDerbyµÈʵʱÐԽϺõÄÊý¾Ý¿âʵÏֵġ£

ÔÚSparkƽ̨ÉÏÊÇ»ùÓÚSpark SQLʵÏֵġ£

ÅäÖÃÖÐÐÄ£ºÌṩ¹æÔòÅäÖÃÊÓͼ¡£

°æ±¾¹ÜÀí¡£Í¬¡°ÏµÍ³Ä£ÐÍ¡±Ò»½Ú¡£

Êý¾ÝÔ´°ó¶¨¡£¼´ÊǶ¨Òå²ÎÓë¼ÆËãµÄSQLÂß¼­ÖÐʹÓõ½µÄÊý¾ÝÔ´£¬±ãÓÚϵͳ½øÐйÜÀí¡£

½á¹¹²éѯ¶¨Òå¡£¼´ÊǶ¨ÒåSQL¹æÔò£¬ÕâÊÇÖ÷Ìå¹æÔòÄÚÈÝ¡£

ÏòÁ¿¼ÆË㶨Òå¡£¶¨ÒåVectorCÀà¼ÆË㣨VectorC¼û¡°Maze¿ò¼Ü¡±Õ½ڿªÍ·µÄ½éÉÜ£©¡£

Maze¿ò¼ÜÄÜÁ¦Ä£ÐÍ

Maze¿ò¼ÜÊÇÒ»¸öÊÊÓÃÓڷǼ¼Êõ±³¾°ÈËÔ±£¬Ö§³Ö¸´ÔÓ¹æÔòµÄÅäÖúͼÆËãÒýÇæ¡£

¹æÔòµü´ú°²È«ÐÔ

¹æÔòÖ§³ÖÈȲ¿Êð£ºÏµÍ³Í¨¹ý°æ±¾¿ØÖÆ£¬¿ÉÒÔ»Ò¶ÈÒ»²¿·ÖÁ÷Á¿£¬Ôö¼ÓÉÏÏßÐÅÐÄ¡£

¹æÔò±í´ïÄÜÁ¦

¿ò¼ÜµÄ±í´ïÄÜÁ¦¸²¸Ç¾ø´ó²¿·Ö´úÂë±í´ïÄÜÁ¦¡£ÏÂÃæÓÃα´úÂëµÄÐÎʽչʾÏÂMaze¿ò¼ÜµÄ¹æÔò²¿·Ö¾ßÓеÄÄÜÁ¦¡£

// ÊäÈëN¸öFACT¶ÔÏó
function(Fact[] facts) {
// ´ÓFACT¶ÔÏóÀïÌáȡģʽ
String xx= facts[0].xx;
// ´Óij¸öÊý¾ÝÔ´»ñÈ¡ÌØÕ÷Êý¾Ý£¬SQLCÊý¾Ý´¦ÀíÄÜÁ¦Ô¶³¬sqlÓïÑÔ±¾ÉíÄÜÁ¦£¬SQLC¾ßÓбà³Ì+SQLµÄ»ìºÏÄÜÁ¦
List<Fact> moreFacts = connection.executeQuery("select * from xxx where xx like '%" + xx + "%');
// ¶ÔÌØÕ÷Êý¾ÝºÍFACT¶ÔÏóÓ¦ÓÃÓû§×Ô¶¨Òå¼ÆËãģʽ
UserDefinedClass userDefinedObj = userDefinedFuntion(facts, moreFacts);
// ʹÓÃϵͳÄÚÖñí´ïʽģʽ´¦ÀíÌØÕ÷
int compareResult = userDefinedObj.getFieldXX().compare(XX);
// ÉùÃ÷Óû§×Ô¶¨Òå¶ÔÏó
UserDefinedResultClass userDefinedResultObj = new UserDefinedResultClass();
// ʹÓÃϵͳÄÚÖÃÌõ¼þÓï¾äģʽ´¦ÀíÌØÕ÷
if (compareResult == 0) {
userDefinedResultObj.setCompareResult(Boolean.FALSE);
} else if (compareResult > 0) {
userDefinedResultObj.setCompareResult(Boolean.FALSE);
} else {
userDefinedResultObj.setCompareResult(Boolean.TRUE);
}
// ½«½á¹û·µ»Ø¸ø¿Í»§
return userDefinedResultObj;
}

¹æÔòÖ´ÐÐЧÂÊ

Ö´ÐÐЧÂÊ·ÖÈý·½Ã棺

ÒýÇæµÄµ÷¶ÈÄ£¿é»áÈ·±£ÍÌÍÂÓÅÏÈ£¬²¢ÇÒµ÷¶È²¢·¢¶ÈµÈϵͳÅäÖÿÉÒÔ¸ù¾Ý×ÊÔ´Çé¿öµ÷Õû¡£

ÒýÇæÔËÐйý³ÌÖÐûÓÐÔ¶³ÌͨÐÅ¿ªÏú¡£

ÒýÇæÖ´ÐдúÂëʵÏÖ±àÒë»ò½âÎöºóÖ´ÐУ¬ÔËÐÐЧÂʽϸߡ£

¹æÔò½ÓÈë³É±¾

¿ª·¢ÈËÔ±½ÓÈë

1.Ê×ÏÈ£¬¿ª·¢ÈËÔ±ÔÚÏîÄ¿¹¤³ÌÀïµ¼ÈëÒ»¸öMazeGO jar°ü¡£

2.È»ºó£¬¿ª·¢ÈËÔ±ÔÚÏîÄ¿¹¤³ÌÀïÐèÒªµ÷ÓüÆËã¹æÔòµÄµØ·½ÒýÈëMazeGO client£¨ÈçÏ´úÂëƬ¶Î£©¡£

// ³õʼ»¯MazeGO client£¬½¨ÒéÔÚ±¾Ó¦ÓóÌÐòµÄ³õʼ»¯½×¶ÎÖ´ÐÐ
MazeGOReactor reactor = new MazeGOReactor();
reactor.setMazeIds(Arrays.asList(<mazeId>));
reactor.init();

// µ÷ÓÃMazeGO clientÖ´ÐйæÔò
reactor.go(<mazeId>, <fact>);

// Ïú»ÙMazeGO client£¬½¨ÒéÔÚ±¾Ó¦ÓóÌÐòµÄÏú»Ù½×¶ÎÖ´ÐÐ
reactor.destroy();

¹æÔòÅäÖÃ

¹æÔòÅäÖûù±¾ÊµÏÖÓÉÒµÎñ·ÖÎöʦ¡¢²úÆ·¾­Àí»òÔËÓªÈËÔ±×ÔÖúÍê³É¡£

ÒµÎñ·ÖÎöʦÔÚMazeGOÉÏÅäÖùæÔòµÄÊÓͼÈçÏÂͼËùʾ¡£

×ܽá

±¾ÎÄ¿ªÍ·½éÉÜÁ˼¸¸ö¹¤×÷ÖеĹæÔòʹÓó¡¾°£¬Ë³´øÒý³öÁ˶à¸ö²»Í¬µÄ½â¾ö·½°¸£¬×îºó½éÉÜÁËMaze¿ò¼ÜµÄÉè¼Æ£¬»ù±¾ÉÏÕ¹ÏÖÁËÎÒÃǶÔÕâ¸ö¿ò¼Ü˼¿¼ºÍÉè¼ÆµÄÕû¸ö¹ý³Ì¡£

   
7352 ´Îä¯ÀÀ       15
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂäµØ
Ïà¹Ø¿Î³Ì

ÔÆƽ̨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù