999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

零消息隊列通信的讀寫器配置模塊設計

2019-01-17 03:11:12
單片機與嵌入式系統應用 2018年12期
關鍵詞:信息

(天津科暢慧通信息技術有限公司,天津 300399)

引 言

射頻識別系統包括標簽和讀寫器。讀寫器一般有1~4個天線端口,天線的工作頻率、功率,空口協議所使用的前反向速率、編碼方式、調制方式以及讀寫器的IP地址、ntp同步服務器等都需要在客戶端配置。這些配置信息存儲在讀寫器Flash或者EEPROM上,因此配置模塊是讀寫器設計的一個重要模塊。

當前讀寫器和客戶端通信通常使用TCP/IP Socket通信,讀寫器內部配置模塊和其他業務模塊之間的通信通常采用消息隊列、管道等進程間通信實現。這樣配置模塊和其他模塊之間的耦合性很強,并且配置模塊要管理來自不同內部模塊和客戶端的消息,處理起來相對復雜,給模塊的設計帶來了一定難度。

ZMQ看起來像是一套嵌入式的網絡鏈接庫,但工作起來更像是一個并發式的框架。它提供的套接字可以在多種協議中傳輸消息(如線程間、進程間、TCP、廣播等),也可以使用套接字構建多對多的連接模式(如扇出、發布-訂閱、任務分發、請求-應答等)。ZMQ的快速足以勝任集群應用產品,它的異步I/O機制支持構建多核應用程序,完成異步消息處理任務。ZMQ支持多語言,并能在幾乎所有的操作系統上運行。讀寫器配置模塊使用ZMQ作為消息通信的方式,能夠很好地解決上面的各種問題,降低開發難度,適用于各種嵌入式開發環境。

1 ZMQ模式介紹

1.1 請求/應答模式(REP/REQ)

圖1 請求/應答模式

如圖1所示,請求/應答模式特征如下:①服務器使用REP類型套接字而客戶端使用REQ類型套接字;②客戶端發送請求和接收答復,而服務器則接收請求并發送答復;③客戶端可以連接到一個或多個服務器,在這種情況下,請求會在所有的服務器(Reps)之間循環,一個請求被發送到某個服務器,下一個請求則被發送到下個服務器,如此進行下去;④客戶端在發送另一個請求之前,必須先接收前一個請求的答復,而服務器在接收另一個請求之前,必須答復前一個請求。

1.2 發布/訂閱模式(PUB/SUB)

如圖2所示,發布/訂閱模式特征如下:①發布者使用PUB類型套接字,訂閱者則使用SUB類型套接字;②一個發布者可以有一個或者多個訂閱者;③一個訂閱者可以連接到一個或者多個發布者;④發布者發送消息而訂閱者接收消息;⑤訂閱者可以使用SubscribeAll方法訂閱所有的發布者消息,也可以使用Subscrube方法訂閱某個特定的消息,這時要將所感興趣的發布者消息前綴作為參數,對消息的過濾發生在訂閱者端,即發布者將其所有的消息發送給訂閱者,而訂閱者負責將不需要的消息丟棄;⑥訂閱者可以用UnsubscribeAll方法取消所有訂閱,也可以使用Unsubscribe方法加上消息前綴來退訂某個發布者;⑦發布者將消息發送到已連接的所有訂閱者;⑧如果發布者沒有和任何訂閱者連接,那么消息將會被丟棄;⑨如訂閱者連接到多個發布者,那么它會均勻接收所有發布者的消息(公平隊列)。

圖2 發布/訂閱模式

2 配置模塊設計

2.1 配置模塊作用

配置模塊接收客戶端下發的配置消息,并將配置信息保存到讀寫器的Flash或者EEPROM中,并通知讀寫器內部模塊(比如通信模塊、業務模塊)配置變更,并將配置信息傳遞給讀寫器內部模塊,其在接收到配置變更消息后,處理該模塊的配置信息,更新配置。此外,讀寫器內部模塊可以主動向配置模塊請求該模塊配置。

2.2 ZMQ模式考慮

讀寫器配置模塊和客戶端之間的消息是配置下發消息和配置獲取消息,讀寫器收到客戶端消息后,會返回響應消息,因此可以采用REP/REQ模式。讀寫器內部模塊和配置模塊之間的消息包括內部模塊向配置模塊獲取配置消息,以及配置模塊收到客戶端的配置信息后,將配置信息下發給讀寫器其他模塊的消息。讀寫器其他模塊向配置模塊獲取配置消息可以采用REP/REQ模式和一問一答的模式;配置模塊下發給讀寫器其他模塊的配置變更消息可以采用PUB/SUB模式,其中配置模塊作為PUB端,其他模塊為SUB端。這樣不管讀寫器內部有多少模塊,只要訂閱了配置模塊的PUB消息,就能收到配置模塊下發的配置變更消息,獲取自己需要的配置。

在鏈路模式上,配置模塊應該作為服務端,這樣無論是客戶端還是讀寫器內部模塊都能去鏈接配置模塊的端口號,配置模塊只需處理一個套接字上面的消息就能處理所有消息。

在鏈路協議上,配置模塊和客戶端之間只能采用TCP協議,這樣能保證消息的可靠性;在配置模塊和讀寫器內部其他模塊之間,既可以采用進程間(線程間)消息通信,也可以采用TCP消息通信,在這里為了和后臺客戶端之間保持一致,配置模塊應該采用TCP通信協議,這樣配置模塊只需綁定一個TCP端口就能夠處理所有模塊(客戶端或者閱讀器內部模塊)發來的消息。

因此,配置模塊作為服務端應該采用TCP通信協議與其他模塊進行通信,采用ZMQ的REP和PUB模式,保證了最少的監聽套接字和發送套接字。

3 設計實現

3.1 客戶端和配置模塊消息交互

圖3 客戶端和配置模塊消息交互圖

如圖3所示,讀寫器配置模塊為服務端,以REP模式綁定TCP協議一個端口,客戶端則以REQ模式去鏈接服務器。其中消息A是客戶端下發的配置消息或者請求配置消息,配置模塊在收到客戶端的消息后處理消息,并將配置響應消息或者獲取配置響應消息(圖中B消息)返回給客戶端。

3.2 配置模塊和讀寫器內部模塊消息交互

配置模塊和讀寫器內部模塊消息交互圖如圖4所示,其中A和B消息是配置模塊和讀寫器內部模塊之間的消息,此時配置模塊仍然作為服務端,采用ZMQ中的REP模式,讀寫器內部模塊作為客戶端,采用REQ模式。讀寫器內部模塊上電后或者需要查詢配置時,可以通過消息A下發配置查詢消息,配置模塊在收到查詢消息后,返回配置查詢響應消息(即消息B)給讀寫器內部模塊。

圖4 配置模塊和讀寫器內部模塊消息交互圖

讀寫器配置模塊在收到客戶端下發的配置消息后,會將讀寫器配置信息存儲在設備的Flash或者EEPROM中,此時配置模塊應該將配置變更消息通知讀寫器內部模塊。該通知消息是一對多消息,采用ZMQ中的PUB/SUB模式能較為簡潔地實現該功能。此時配置模塊作為服務端,采用PUB模式;讀寫器內部模塊作為客戶端,采用SUB模式。配置模塊僅需一個套接字就能將變更消息通知讀寫器其他內部模塊,需要配置信息的讀寫器內部模塊只需訂閱配置模塊的消息就能收到配置變更消息。圖4中C消息就是配置模塊下發的配置變更消息,內部模塊收到C消息后,獲取自己模塊所需的配置信息。

結 語

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 中文字幕在线一区二区在线| 婷婷伊人五月| 日韩欧美国产成人| 中文字幕 日韩 欧美| 波多野结衣久久高清免费| 国产一级视频久久| 国产成人免费手机在线观看视频 | 一级毛片a女人刺激视频免费 | 日韩福利视频导航| 国产精品区网红主播在线观看| 九九热这里只有国产精品| 99久久精品无码专区免费| 中文字幕无码制服中字| 亚洲精品天堂自在久久77| 久久99热这里只有精品免费看| 一级看片免费视频| 国产乱人免费视频| 欧美一区二区三区香蕉视| 亚洲永久视频| 91娇喘视频| 欧美三级视频在线播放| 国产精品视频a| 激情乱人伦| 日本精品一在线观看视频| 日本免费一级视频| 日本五区在线不卡精品| 成人综合网址| 国产色伊人| 一级毛片高清| 91热爆在线| 国产超薄肉色丝袜网站| 曰AV在线无码| 中文字幕在线观| 中文一级毛片| 亚洲日韩AV无码一区二区三区人 | 国产欧美精品午夜在线播放| 萌白酱国产一区二区| 免费国产黄线在线观看| 尤物午夜福利视频| 国产又大又粗又猛又爽的视频| 极品av一区二区| 国产精品第5页| 97成人在线观看| 青青热久免费精品视频6| www.狠狠| 狠狠色综合网| 午夜不卡视频| 色丁丁毛片在线观看| 久久久无码人妻精品无码| 国产成人高清精品免费软件| 亚洲一区毛片| 呦视频在线一区二区三区| 免费国产不卡午夜福在线观看| 亚洲av成人无码网站在线观看| 女人毛片a级大学毛片免费| 久久人搡人人玩人妻精品一| 国产精品亚洲αv天堂无码| 欧美激情视频二区三区| 久久不卡国产精品无码| 黄色网站不卡无码| 国产福利影院在线观看| 亚洲a级在线观看| 激情网址在线观看| 国产精品欧美在线观看| 免费无码又爽又刺激高| 国产精品免费入口视频| 免费va国产在线观看| 国产色伊人| 国产又黄又硬又粗| 国产乱人伦精品一区二区| 国产在线91在线电影| 亚洲国产精品日韩专区AV| 免费看美女毛片| 在线观看亚洲人成网站| 国产91麻豆视频| 国产精品99久久久| 亚洲人成网站在线观看播放不卡| 欧美日韩一区二区三区在线视频| 亚洲第一黄片大全| 欧美在线视频不卡| 国产激情无码一区二区APP| 波多野结衣久久高清免费|