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

基于JADE的移動端個人服務系統設計與實現

2020-03-18 01:39:10姜慶彬涂志瑩
智能計算機與應用 2020年9期
關鍵詞:用戶服務信息

姜慶彬, 涂志瑩

(哈爾濱工業大學 計算機科學與技術學院, 哈爾濱 150001)

0 引 言

隨著科技的迅速發展和生活水平的不斷提高,人與人之間的交互更加密切和頻繁,在各種社交場合中經常出現需要迅速的了解其他人的個人信息的情況,尤其是在現實場景中經常會出現“機會式社交”,即某幾個人僅存在短暫交集的需要,在很短的時間中需要互相傳遞信息,過了這段時間之后,就不需要再了解彼此,甚至可能再也不見。例如:在一個國際會議的場景中,大家彼此不認識,也沒有任何的社交聯系,會議結束后很可能不會再聯系了,但是在會議上需要知曉其他人的研究領域、研究內容等重要信息;再例如:在醫院這個場景中,醫生與每一個病人只有很短的交集,病人需要快速的將過去的病例信息傳遞給醫生,幫助醫生迅速了解病人的情況并對癥診斷,診斷結束后病人和醫生很可能不會有任何交集。因此,研究新型的個人信息交互方式具有重要的應用及市場價值。

移動端個人服務系統是將機會式社交中短時間傳遞信息的行為作為個人服務,主動分享信息的一方作為服務發布者,接收分享信息的一方作為服務使用者,使用JADE框架運行個人服務以及在服務發布者和服務使用者之間實現服務內容傳遞[1]。系統分為兩個部分:Android客戶端和服務器后端,服務使用者和服務發布者要在Android客戶端進行服務下載、編輯服務內容、服務注冊、服務查詢、獲取服務內容、查看分享者等操作,相關的數據層支持由服務器后端來完成。

1 移動端個人服務消息傳遞方式設計

1.1 基于JADE的個人服務發布與使用結構設計

移動端個人服務發布者與使用者之間的消息傳遞使用JADE框架來實現。JADE是基于對等通信體系結構的分布式多agent應用程序開發的中間件框架[2]。 JADE框架是基于agent實現的,允許每個agent程序動態發現其他agent程序,并通過混合型p2p的方式與之通信。由于agent具有獨立性,即每個agent程序獨立運行,所以可以在個人服務用戶登錄Android客戶端的同時根據該用戶的信息運行一個唯一的agent程序,向其他個人服務用戶發送服務請求或服務內容[3];考慮到個人服務用戶并不像企業級服務那樣穩定,個人服務的發布者和使用者在發布服務和使用服務時可能受到時間、地點等影響,無法按時進行服務內容的傳遞[4],而JADE框架下agent之間的異步消息通訊方法可以很好地解決這個問題,每個agent接收到其他agent傳來的信息時不會立刻響應,而是根據自身的邏輯判斷動態地響應。在Android客戶端中,使用JADE框架可以為每一個移動端服務用戶建立一個agent節點,服務發布者和服務使用者登錄時會加入p2p網絡,系統在服務器端也建立一個manager-agent節點作為各個agent的管理中心和混合型p2p網絡的中心節點,專門用于記錄移動端用戶的服務節點信息和服務發布情況,相關結構圖和操作步驟如圖1所示。

圖1 系統agent結構與用戶操作步驟圖

使用JADE框架實現agent之間傳遞消息時需要設計自定義Behaviour類,發送消息時構建DataSend類型的ACLMessage,滿足JADE的發送條件時調用agent.send方法將消息發送給指定接受者agent,如果不指定接受者將會發送到manager-agent,由其進一步廣播給所有agent;指定接受者agent在Behaviour類中使用agent.receive方法接收Serializable類型的ACLMessage,根據個人服務消息格式對ACLMessage進行解析。

1.2 個人服務消息格式設計

JADE中agent之間的通信使用ACLMessage類作為載體,通信時記錄了發送者agent信息、接受者agent信息和通信內容,本系統中需要對通信內容的數據結構進行設計。個人服務消息傳輸的內容可以是服務請求消息、服務反饋消息、服務注冊消息以及服務解除消息,其中服務請求消息和服務反饋消息均需要記錄服務發布者信息和服務使用者信息,服務請求信息還需要記錄服務請求參數,服務反饋消息還需要記錄服務結果,服務注冊消息和服務解除消息是發送給manager-agent的,所以均只需要記錄服務發布者信息。除此之外,這四類消息還要記錄服務標識信息,包括服務名、服務id、服務簡介等。發送者agent使用MessageContent類表示服務信息,通信時將服務信息注入MessageContent類,使用GSON框架的toJson方法將其轉換成JSON對象,賦值給ACLMessage的通信內容參數。接受者agent接收到ACLMessage后,讀取其中通信內容參數,將其使用fromJson方法反序列化成MessageContent對象,讀取其中信息,判斷其屬于哪一種個人服務消息,然后進行不同的操作。

2 系統設計

系統整體技術架構如圖2所示,其中左側是服務器后端框架,后端使用SpringMVC框架作為應用層框架,Controller通過DispactcherServlet與Android客戶端前端界面進行交互,同時又通過數據操作處理組件與底層的mysql持久化數據庫以及redis緩存數據庫進行文件和數據庫的交互[5]。Android客戶端實現移動端個人服務平臺的基礎界面和服務界面,服務加載組件使用文件操作工具FileUtils和Dalvik類加載機制加載服務鏡像,并與個人服務邏輯組件密切交互。JADE框架同時存在與這兩個子系統,用來服務間的消息傳輸; manager-agent包含已發布服務的管理組件,與redis中的服務緩存交互數據,個人服務平臺的user-agent作為移動端用戶的agent啟動,包含用戶緩存加載組件,對移動端用戶信息和服務緩存操作;Agent之間通過JADE框架提供的Behavior類和ACLMessage類傳輸服務信息。

2.1 Android客戶端設計

系統Android客戶端使用Android SDK 27作為開發版本,兼容了Android6.0以上的系統,使用AndroidStudio作為開發工具。移動端個人服務系統客戶端需要實現的功能模塊劃分如下:

(1)賬號管理模塊:系統用戶需要使用賬號管理模塊提供的功能登錄和注冊,并且允許用戶修改自己的個人信息,在服務的發布與使用過程中使用;

(2)服務發布模塊:服務發布者通過此模塊發布服務,將服務發布信息發送給manager-agent供給服務使用者查詢;

(3)服務運行模塊:服務發布者發布個人服務后,個人服務需要運行在發布者agent中,等待服務使用者獲取服務結果;

(4)服務查詢模塊:服務使用者使用此模塊在manager-agent查詢已發布的服務;

(5)服務使用模塊:獲取到服務發布者信息后,服務使用者使用此模塊使用p2p方式從服務發布者處直接獲取服務結果。

圖2 系統整體技術架構圖

對移動端agent服務交互的類模型設計如下,UserAgent類會在用戶登錄成功時啟動,在JADE框架生成的container中,自動調用setup方法初始化agent。UserAgent依賴于4個類ParticipantsManager、ServiceListener、ServiceSpeaker和MessageContent,其中前3個類都間接繼承自Behavior類,為agent之間消息傳輸提供支持,ParticipantsManager類用于實時更新移動端服務使用者列表,ServiceListener類用于實時監聽移動端服務使用者發來的服務請求,ServiceSpeaker類用于移動端服務發布者向服務使用者返回服務結果;MessageContent是一個服務消息的實體類,標注了服務消息的類型、發布者和使用者的信息、服務內容、服務參數、服務結果等信息,agent之間會傳輸MessageContent的json格式。詳細類圖如圖3所示。

圖3 移動端agent服務交互類模型設計

2.2 服務器后端設計

服務器后端起到兩個作用:一個是manager-agent作為管理中心,agent需要運行在服務器端,保證其可以穩定運行并作為混合型p2p的中心節點,使得只要服務器正在運行,移動端服務用戶就可以接入p2p網絡進行服務的發布和使用;另一個作用是移動端服務用戶的用戶信息、服務發布與使用情況需要記錄,所以需要后端提供數據層持久化支持,本系統使用Springmvc+mysql作為web service技術框架。SpringMVC是常用的服務器端框架,具有穩定性和易維護性。

服務器后端的功能模塊:

(1)服務注冊模塊:manager-agent接收到服務發布者的服務發布消息后,使用服務注冊模塊記錄服務發布信息;

(2)服務查詢模塊:manager-agent向服務使用者返回已發布服務信息;

(3)服務數據統計模塊:服務器后端對移動端服務發布者和服務使用者的服務發布和使用情況進行統計;

(4)服務權限控制模塊:允許服務發布者指定只有某些用戶才能使用其發布的服務。

3 系統中幾種個人服務的實現

個人服務必須至少擁有一個發布者和一個使用者,并且在實際的應用場景中,還會經常出現一個發布者發布的服務供多個使用者使用,甚至在一個服務場景中,每一個用戶既是服務發布者也是服務使用者,在使用其他用戶提供的服務時也在向其他用戶提供服務[6]。前者可以簡稱為一對多場景服務,后者可以簡稱為多對多場景服務。系統實現了分享通訊錄服務和快捷討論組服務。分享通訊錄是一個一對多場景服務,移動端獲取Android讀寫通訊錄的權限,服務發布者預先設置分享的通訊錄內容,不指定服務使用者,以便所有滿足權限的用戶均可以使用服務,獲取到其分享的通訊錄內容,選擇性的添加到自己的手機上。快捷討論組服務是一個多對多場景服務,每個人都可以看到其他人的發言,并且自己可以發言給別人看。為了避免混亂,多對多場景服務的實現讓一個服務發布者作為總發布者,其他服務參與者都作為服務使用者,只有當其發言時才作為服務發布者,調用服務發布模塊操作。

4 結束語

通過對JADE框架技術在移動端服務消息傳遞的研究,使用軟件設計方法,設計并實現了移動端個人服務系統,該系統運行在Android設備上,允許用戶在其中發布和使用個人服務。整體系統操作簡單,功能清晰,為用戶提供了一種新型的個人服務使用方式,并且易于維護和擴展。

猜你喜歡
用戶服務信息
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 美女裸体18禁网站| 亚洲国产一成久久精品国产成人综合| 乱系列中文字幕在线视频| 黄片在线永久| 国产区精品高清在线观看| 日韩精品一区二区三区大桥未久| 91视频免费观看网站| 成人在线天堂| 国产在线视频二区| 免费毛片网站在线观看| 欧美精品成人一区二区在线观看| 欧美中文字幕无线码视频| 日本免费新一区视频| 在线精品亚洲国产| 香蕉国产精品视频| www.99在线观看| 国产精品午夜电影| 国产免费精彩视频| 国产精品自在自线免费观看| 日韩在线播放中文字幕| 99在线视频免费| 干中文字幕| 国产导航在线| 欧美午夜一区| 91精品在线视频观看| 欧美精品亚洲二区| 久久99国产综合精品1| 亚洲天堂日韩在线| 茄子视频毛片免费观看| 69av在线| www.youjizz.com久久| 亚洲乱码视频| 亚洲无码视频图片| 国产新AV天堂| 国产97视频在线| 日韩精品亚洲精品第一页| 91视频区| 亚洲无码不卡网| 日韩国产高清无码| 亚洲国产第一区二区香蕉| 精品免费在线视频| 妇女自拍偷自拍亚洲精品| 久久精品一品道久久精品| 激情六月丁香婷婷| 亚洲av无码久久无遮挡| 青青青视频91在线 | 亚洲一级色| 国产精品久久精品| jizz亚洲高清在线观看| 香蕉网久久| 亚洲成av人无码综合在线观看| 人人91人人澡人人妻人人爽 | 在线综合亚洲欧美网站| 日韩欧美91| 亚洲大尺码专区影院| 99精品在线视频观看| 99re热精品视频国产免费| 欧美成一级| 无码中文字幕加勒比高清| 99国产精品一区二区| 亚洲成a人片| 午夜啪啪福利| 久久久久九九精品影院| а∨天堂一区中文字幕| 欧美精品在线看| 国产亚洲视频免费播放| 久久精品国产在热久久2019| 区国产精品搜索视频| 91久久精品国产| 欧美色亚洲| av色爱 天堂网| 无码国产偷倩在线播放老年人 | 成人欧美日韩| 久久精品日日躁夜夜躁欧美| 国产区免费| 中文字幕av一区二区三区欲色| 国产精品太粉嫩高中在线观看| 亚洲色图综合在线| 国产精品白浆在线播放| 97国产在线视频| 91色综合综合热五月激情| 国产特级毛片|