ç„¡ç·šå°„é »è˜åˆ¥ï¼ˆRFID)技術是一種快速ã€å¯¦æ™‚ã€æº–確的信æ¯é‡‡é›†èˆ‡è™•ç†æŠ€è¡“ï¼Œé€šéŽå°„é »ä¿¡è™Ÿå°å¯¦é«”å°è±¡é€²è¡Œå”¯ä¸€æœ‰æ•ˆçš„æ¨™è˜ï¼Œå¯å»£æ³›æ‡‰ç”¨äºŽç”Ÿç”¢ã€é›¶å”®ã€ç‰©æµã€äº¤é€šã€é†«ç™‚ã€åœ‹é˜²ã€ç•œç‰§ã€é‡‡ç¤¦ç‰å„個行æ¥ã€‚
基本的RFID系統一般由3部分組æˆï¼šæ¨™ç°½ã€é–±è®€å™¨ä»¥åŠæ‡‰ç”¨æ”¯æ’軟件。ä¸é–“件是應用支æ’軟件的一個é‡è¦çµ„æˆéƒ¨åˆ†ï¼Œæ˜¯éŠœæŽ¥ç¡¬ä»¶è¨å‚™å¦‚標簽ã€é–±è®€å™¨å’Œä¼æ¥æ‡‰ç”¨è»Ÿä»¶å¦‚伿¥è³‡æºè¦åŠƒï¼ˆERP)ã€å®¢æˆ¶é—œç³»ç®¡ç†ï¼ˆCRM)ç‰çš„æ©‹æ¢ã€‚ä¸é–“件的主è¦ä»»å‹™æ˜¯å°é–±è®€å™¨å‚³ä¾†çš„èˆ‡æ¨™ç°½ç›¸é—œçš„æ•¸æ“šé€²è¡ŒéŽæ¿¾ã€åŒ¯ç¸½ã€è¨ˆç®—ã€åˆ†çµ„ï¼Œæ¸›å°‘å¾žé–±è®€å™¨å‚³å¾€ä¼æ¥æ‡‰ç”¨çš„大é‡åŽŸå§‹æ•¸æ“šã€ç”ŸæˆåŠ å…¥äº†èªžæ„解釋的事件數據??梢哉f,ä¸é–“件是RFIDç³»çµ±çš„â€œç¥žç¶“ä¸æ¨žâ€ã€‚
å°äºŽRFIDä¸é–“ä»¶çš„è¨è¨ˆï¼Œæœ‰è«¸å¤šå•題需è¦è€ƒæ…®ï¼Œå¦‚:如何實ç¾è»Ÿä»¶çš„諸多質é‡å±¬æ€§ã€å¦‚何實ç¾ä¸é–“件與硬件è¨å‚™çš„隔離ã€å¦‚何處ç†èˆ‡è¨å‚™ç®¡ç†åŠŸèƒ½çš„é—œç³»ã€å¦‚何實ç¾é«˜æ€§èƒ½çš„æ•¸æ“šè™•ç†ç‰ç‰ã€‚
1 RFIDç¶²çµ¡æ¡†æž¶çµæ§‹
ç„¡ç·šå°„é »è˜åˆ¥ç¶²çµ¡çš„æ¡†æž¶çµæ§‹å¦‚圖1所示。
標簽數據經éŽä¸é–“件的分組ã€éŽæ¿¾ç‰è™•ç†ä¸Šå ±çµ¦æ‡‰ç”¨ç³»çµ±ï¼›æ‡‰ç”¨ç³»çµ±è² 責事件數據的æŒä¹…化å˜å„²ï¼Œä»¥åŠæ¨™ç°½ç¶å®šçš„æ¥å‹™ä¿¡æ¯çš„管ç†ã€‚
RFID系統共享公共æœå‹™å¹³è‡ºæä¾›æ ¹ç¯€é»žå°è±¡å稱æœå‹™ï¼ˆONS)ã€ä¼æ¥æ‡‰ç”¨é‘’權管ç†ã€æ¨™ç°½ä¿¡æ¯ç™¼ç¾å’Œä¼æ¥æŽˆæ¬Šç¢¼ç®¡ç†ç‰å…¬å…±æœå‹™ã€‚å…¶ä¸ï¼Œæ ¹ç¯€é»žONSé€£åŒæ‰€æœ‰ä¼æ¥ç´šRFID系統的內部ONS,組æˆä¸€å€‹ONS樹,任何一個標簽都å¯ä»¥åœ¨ONSæ¨¹ä¸Šæ‰¾åˆ°æ¨™ç°½æ‰€å°æ‡‰çš„æ¨™ç°½ä¿¡æ¯åº«çš„地å€ï¼Œå³å¯ä»¥é€²ä¸€æ¥è¨ªå•åˆ°æ¨™ç°½å°æ‡‰çš„詳細信æ¯ã€‚
2 ä¸é–“件功能åŠå¯¦ç¾åŽŸç†
一言蔽之,ä¸é–“ä»¶çš„åŠŸèƒ½å°±æ˜¯æŽ¥å—æ‡‰ç”¨ç³»çµ±çš„è«‹æ±‚ï¼Œå°æŒ‡å®šçš„一個或者多個閱讀器發起æ“ä½œå‘½ä»¤å¦‚æ¨™ç°½æ¸…é»žã€æ¨™ç°½æ¨™è˜æ•¸æ“šå¯«å…¥ã€æ¨™ç°½ç”¨æˆ¶æ•¸æ“šå€è®€å¯«ã€æ¨™ç°½æ•¸æ“šåŠ éŽ–ã€æ¨™ç°½æ®ºæ»ç‰ï¼Œå¹¶æŽ¥æ”¶ã€è™•ç†ã€å‘åŽè‡ºæ‡‰ç”¨ç³»çµ±ä¸Šå ±çµæžœæ•¸æ“šã€‚
å…¶ä¸ï¼Œæ¨™ç°½æ¸…點是最為基本ã€ä¹Ÿæ˜¯æ‡‰ç”¨æœ€ç‚ºå»£æ³›çš„功能。
2.1標簽清點功能概述
標簽清點的工作æµç¨‹å¯ç°¡å–®æè¿°ç‚ºï¼š
應用系統以è¦å‰‡çš„å½¢å¼å®šç¾©å°æ¨™ç°½æ•¸æ“šçš„需求,è¦å‰‡ç”±æ‡‰ç”¨ç³»çµ±å‘ä¸é–“ä»¶æå‡ºï¼Œç”±ä¸é–“ä»¶ç¶è·ã€‚è¦å‰‡ä¸å®šç¾©äº†ï¼šéœ€è¦å“ªäº›é–±è®€å™¨çš„æ¸…é»žæ•¸æ“šï¼Œæ¨™ç°½æ•¸æ“šä¸Šå ±å‘¨æœŸï¼ˆäº‹ä»¶å‘¨æœŸï¼‰çš„é–‹å§‹å’ŒçµæŸæ¢ä»¶ï¼Œæ¨™ç°½æ•¸æ“šå¦‚ä½•éŽæ¿¾ï¼Œæ¨™ç°½æ•¸æ“šå¦‚ä½•åˆ†çµ„ï¼Œä¸Šå ±æ•¸æ“šç‚ºåŽŸå§‹æ¸…é»žæ•¸æ“šã€æ–°å¢žæ¨™ç°½æ•¸æ“šé‚„是新減標簽數據,標簽數據包å«å“ªäº›åŽŸå§‹æ•¸æ“šç‰ã€‚
應用系統指定æŸé …è¦å‰‡ï¼Œå‘ä¸é–“ä»¶æå‡ºå°æ¨™ç°½æ•¸æ“šçš„é 訂。
ä¸é–“ä»¶æ ¹æ“šæ‡‰ç”¨ç³»çµ±å°æ¨™ç°½æ•¸æ“šçš„é 訂情æ³ï¼Œé©æ™‚啟動事件周期,并å‘閱讀器下發標簽清點命令。
閱讀器將一定時間周期(讀å–å‘¨æœŸï¼‰ä¸æ¸…點到的數據,發é€çµ¦ä¸é–“件。讀å–周期å¯ç”±ä¸é–“件與閱讀器制定ç§ä¸‹å”商確定。
ä¸é–“ä»¶æŽ¥ç”±æ”¶é–±è®€å™¨ä¸Šå ±çš„æ•¸æ“šã€‚
ä¸é–“ä»¶æ ¹æ“šè¦å‰‡çš„å®šç¾©ï¼Œå°æŽ¥æ”¶æ•¸æ“šåšéŽæ¿¾ã€åˆ†çµ„ã€ç´¯åŠ ç‰æ“ä½œï¼Œå¹¶åœ¨äº‹ä»¶å‘¨æœŸçµæŸæ™‚,按照è¦å‰‡çš„è¦æ±‚ç”Ÿæˆæ•¸æ“šçµæžœå ±å‘Šï¼Œç™¼é€çµ¦è¦å‰‡çš„é è¨‚è€…ã€‚éŽæ¿¾éŽç¨‹å¯å޻除é‡å¾©æ•¸æ“šã€æ‡‰ç”¨ç³»çµ±ä¸æ„Ÿèˆˆè¶£çš„æ•¸æ“šï¼Œå¤§å¤§é™ä½Žäº†çµ„件間的傳輸數據é‡ã€‚
æ¤æµç¨‹å¯åƒè¦‹åœ–2。

æ¤è™•,需è¦èªªæ˜Žä¸€ä¸‹é‚輯閱讀器的概念。
ä¸é–“ä»¶å°‡äº‹ä»¶æºæŠ½è±¡ç‚ºä¸€å€‹é‚輯概念——é‚輯閱讀器,一個é‚輯閱讀器å¯ä»¥åŒ…å«å¤šå€‹ç‰©ç†é–±è®€å™¨ï¼Œç”šè‡³å¯æ›´ç´°åŒ–為包å«å¤šå€‹ç‰©ç†é–±è®€å™¨çš„多個天線。
é‚輯閱讀器的劃分å¯ä»¥æ ¹æ“šå¯¦éš›çš„系統部署情æ³ä¾†ç¢ºå®šï¼Œæ¯”如,æŸä¸€å€‹å€‰åº«å…©å€‹å‡ºå£éƒ¨ç½²äº†4å€‹é–±è®€å™¨ï¼Œå¯æ ¹æ“šéœ€è¦å°‡é€™4個閱讀器é…ç½®æˆç‚ºä¸€å€‹é‚輯閱讀器,ä¸å¦¨å‘½å為“倉庫出å£â€ã€‚應用系統在需è¦å€‰åº«å‡ºå£çš„æ¨™ç°½æ•¸æ“šæ™‚ï¼Œå¯åŸºäºŽé€™å€‹é‚輯閱讀器下發清點命令,而é‚輯閱讀器åç¨±ä½œç‚ºéƒ¨åˆ†æ‡‰ç”¨ç¨‹åºæŽ¥å£ï¼ˆAPIï¼‰èª¿ç”¨çš„åƒæ•¸ã€‚
2.2標簽清點實ç¾åŽŸç†
如剿‰€è¿°ï¼Œè¦å‰‡æ˜¯æ•´å€‹ä¸é–“件功能的關éµå…ƒç´ 。è¦å‰‡ç›¸ç•¶äºŽæ‡‰ç”¨ç³»çµ±ç™¼çµ¦ä¸é–“件的訂貨單,定義了å°è²¨å“ï¼ˆæ¨™ç°½æ•¸æ“šï¼‰çš„æ™‚é–“ï¼ˆäº‹ä»¶å‘¨æœŸï¼‰å’Œè¦æ ¼ï¼ˆå¦‚ä½•éŽæ¿¾ã€å¦‚何分組ã€å ±å‘Šæ¨£å¼ç‰ï¼‰çš„è¦æ±‚ï¼ŒåŽŸç†æè¿°éƒ¨åˆ†åƒè€ƒEPCglobal相關內容[1]。
è¦å‰‡ã€å ±å‘Šæœ‰è‡ªèº«çš„ä¿¡æ¯æ¨¡åž‹ï¼Œè¡¨å¾å…¶æ‰¿è¼‰çš„ä¿¡æ¯ï¼ŒåŒæ™‚,è¦å‰‡æ“æœ‰å…¶è‡ªèº«çš„ç‹€æ…‹æ©Ÿæ¨¡åž‹ã€‚åœ¨æŽ¥å—æ‡‰ç”¨ç³»çµ±çš„長期é 訂ã€å–®æ¬¡é 訂時,這些é 訂æ“作會激發è¦å‰‡çš„狀態變é·ï¼Œå¦‚從“未被請求â€ç‹€æ…‹èºé·åˆ°â€œå·²è¢«è«‹æ±‚â€ç‹€æ…‹ã€‚
è¦å‰‡ç”±æ‡‰ç”¨ç³»çµ±é€šéŽAPI定義。
(1) è¦å‰‡ä¿¡æ¯æ¨¡åž‹
è¦å‰‡ä¿¡æ¯æ¨¡åž‹çš„æè¿°é‡‡ç”¨äº†çµ±ä¸€å»ºæ¨¡èªžè¨€ï¼ˆUML),如圖3所示。

在é¢å‘å°è±¡çš„語境ä¸ï¼Œè¦å‰‡å¯è¡¨å¾ç‚ºä¸€å€‹é¡žï¼ˆECSpecï¼‰ã€‚å¾žä¿¡æ¯æ¨¡åž‹æè¿°ä¸å¯çœ‹å‡ºï¼Œä¸€å€‹è¦å‰‡é¡žï¼Œèˆ‡å…¶ä»–多個類具有關è¯é—œç³»ï¼Œæˆ–è€…èªªæ“æœ‰å¦‚下屬性:一個或者多個é‚輯閱讀器的列表(readers)ã€äº‹ä»¶å‘¨æœŸé‚Šç•Œå®šç¾©ï¼ˆboundaries)ã€ä¸€å€‹æˆ–è€…å¤šå€‹å ±å‘Šçš„å®šç¾©ï¼ˆreportSpecsï¼‰ã€æ˜¯å¦åœ¨å ±å‘Šä¸åŒ…å«è¦å‰‡æœ¬èº«çš„æ¨™è¨˜ï¼ˆincludeSpecInReports)。
(2) å ±å‘Šä¿¡æ¯æ¨¡åž‹
與è¦å‰‡ä¿¡æ¯æ¨¡åž‹é¡žä¼¼ï¼Œå ±å‘Šä¿¡æ¯æ¨¡åž‹å¦‚圖4所示。

å…¶ä¸ï¼Œäº‹ä»¶å ±å‘Šçµ„類(ECReportsï¼‰æ“æœ‰å¦‚下屬性:è¦å‰‡å稱(specNameï¼‰ã€æ™‚é–“ä¸Šå ±æ™‚é–“ï¼ˆdate)ã€äº‹ä»¶å‘¨æœŸæ™‚長(totalMilliseconds)ã€äº‹ä»¶å‘¨æœŸçµæŸæ¢ä»¶ï¼ˆterminationCondition)ã€è¦å‰‡å®šç¾©é¡žå¯¦ä¾‹ï¼ˆspec)ã€ä¸€å€‹æˆ–è€…å¤šå€‹å ±å‘Šé¡žçš„å¯¦ä¾‹åˆ—è¡¨ï¼ˆreports)。
å ±å‘Šé¡žï¼ˆECReport)ä¸åŒ…å«äº†å…·é«”的標簽數據信æ¯ã€‚
(3) 標簽清點API
應用系統下發的定義è¦å‰‡ã€é 訂數據ç‰è«‹æ±‚,以調用ä¸é–“ä»¶æä¾›çš„API的方å¼å®Œæˆã€‚API調用éŽç¨‹å¯é‡‡ç”¨Java RMIã€SOAPç‰ç›¸é—œå…·é«”技術實ç¾ï¼Œå…¶ä¸æœ€é‡è¦çš„APIåƒè¦‹è¡¨1。

å…¶ä¸ï¼Œpollæ“作相當于subscribeæ“作收到一個事件周期的數據之åŽèª¿ç”¨unsubscribeæ“作;immediateæ“作相當于defineæ“作定義è¦å‰‡ä¹‹åŽï¼Œèª¿ç”¨pollæ“作,然åŽèª¿ç”¨undefineæ“作。
(4) è¦å‰‡ç‹€æ…‹æ©Ÿæ¨¡åž‹
è¦å‰‡å¾žå…¶å®šç¾©é–‹å§‹ï¼Œå¯èƒ½å˜åœ¨äºŽ3種狀態:未被請求狀態(Unrequested)ã€å·²è¢«è«‹æ±‚狀態(Requestedï¼‰ã€æ¿€æ´»ç‹€æ…‹ï¼ˆActive)。
ç•¶è¦å‰‡å‰µå»ºä¹‹åŽï¼Œé‚„æ²’æœ‰è¢«ä»»ä½•å®¢æˆ¶ç«¯ï¼ˆå³æ‡‰ç”¨ç³»çµ±ï¼‰é 訂,è¦å‰‡è™•于Unrequested狀態;å°è¦å‰‡çš„第一個é 訂動作將使è¦å‰‡èºé·åˆ°Requested狀態;當事件周期開始æ¢ä»¶æ»¿è¶³æ™‚,è¦å‰‡é€²å…¥Activeç‹€æ…‹ï¼›ç•¶äº‹ä»¶å‘¨æœŸçµæŸæ¢ä»¶æ»¿è¶³æ™‚,如果è¦å‰‡å˜åœ¨é 訂者,則èºé·åˆ°Requested狀態,å¦å‰‡èºé·åˆ°Unrequested狀態。
3 ä¸é–“件系統架構
ä¸é–“件系統作為一個軟件系統(或稱組件),在實ç¾ä¸€å®šåŠŸèƒ½ã€æ€§èƒ½è¦æ±‚之外,å¯ç†è§£æ€§ã€å¯æ“´å±•性ã€å¯ä¿®æ”¹æ€§ï¼ˆæˆ–稱å¯é‡æ§‹æ€§ï¼‰ã€å¯æ’入性ã€å¯é‡ç”¨æ€§ç‰è³ªé‡å±¬æ€§éƒ½å°‡ä½œç‚ºè»Ÿä»¶è¨è¨ˆçš„è¦æ±‚被æå‡ºä¾†ã€‚
è¿‘å余年來,é¢å‘å°è±¡æ€æƒ³å¹¾ä¹Žå…¨é¢å é ˜è»Ÿä»¶è¨è¨ˆé ˜åŸŸï¼Œæˆç‚ºæœ€ä¸»æµçš„分æžã€è¨è¨ˆæ–¹æ³•。而近數年來,å°è¨è¨ˆæ¨¡å¼çš„ç ”ç©¶ä¹Ÿå·²æ—¥è‡»å®Œå–„ï¼Œæ¨¡å¼å¹¾ä¹Žå·²æˆç‚ºä¸€ç¨®â€œæ›´é«˜ç´šç·¨ç¨‹èªžè¨€â€ï¼ˆç›¸æ¯”于Javaã€C++ç‰é«˜ç´šç·¨ç¨‹èªžè¨€ï¼‰è¢«å»£æ³›æ‡‰ç”¨ã€‚
é¢å‘å°è±¡æ€æƒ³ã€è¨è¨ˆæ¨¡å¼éƒ½æ˜¯ä»¥å¯¦ç¾è»Ÿä»¶çš„å¯ç†è§£ã€å¯æ“´å±•ã€å¯ä¿®æ”¹ã€å¯æ’å…¥ã€å¯é‡ç”¨ç‰ç›®æ¨™ç‚ºå·±ä»»çš„,本文也將應用é¢å‘å°è±¡æ€æƒ³ã€åƒè€ƒæ¨¡å¼èªžè¨€ï¼Œå°ä¸é–“件的軟件架構åšä¸€å€‹åˆæ¥çš„æŽ¢è¨Žï¼Œä¸‹æ–‡çš„例å如涉åŠé«˜ç´šç·¨ç¨‹èªžè¨€ï¼Œå‡é‡‡ç”¨Java語言[2]。
3.1å°è£ã€éš”é›¢è™•ç†æµç¨‹ä¸çš„å„個節點
å°‡ä¸é–“ä»¶çš„æ¥å‹™æµç¨‹ä¸çš„å„個節點分作ä¸åŒæ¨¡å¡Šè™•ç†ï¼Œå¯ä»¥ç²å¾—å°è£ã€é«˜å…§èšã€ä½Žè€¦åˆç‰å„ªå‹¢ï¼Œåƒè¦‹åœ–5。

å…¶ä¸ï¼Œå ±å‘Šä¸Šå‚³æ¨¡å¡Šï¼Œè² 責實ç¾ä¸åŒé¡žåž‹çš„å ±å‘Šä¸Šå‚³æ–¹å¼ï¼Œå¦‚HTTPã€JMSç‰ï¼›APIæŽ¥å£æ¨¡å¡Šï¼Œè² 責隔離應用系統和ä¸é–“ä»¶æ ¸å¿ƒæ¥å‹™é‚è¼¯è™•ç†æ¨¡å¡Šï¼Œå‘應用系統æä¾›ä¸é–“ä»¶API接å£ï¼›ä¸é–“ä»¶æ ¸å¿ƒæ¥å‹™é‚è¼¯è™•ç†æ¨¡å¡Šï¼Œè² 責ä¸é–“ä»¶æ ¸å¿ƒæ¥å‹™ï¼ŒåŒ…æ‹¬æ•¸æ“šæŽ¥æ”¶éŽæ¿¾ã€æ•¸æ“šåˆ†çµ„ã€å ±å‘Šç”Ÿæˆã€è¦å‰‡å°è±¡çš„狀態跳轉ç‰ï¼›é–±è®€å™¨é€šä¿¡æ¨¡å¡Šï¼Œè² 責ä¸é–“件系統與閱讀器的通信。