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
主站蜘蛛池模板: 色综合日本| 国产成人午夜福利免费无码r| 日韩美一区二区| 久久精品人妻中文视频| 国产麻豆91网在线看| 91成人在线观看视频| 日韩精品无码免费专网站| 亚洲精品777| 亚洲国产欧洲精品路线久久| 亚洲日韩Av中文字幕无码| 亚洲国产高清精品线久久| 亚洲视频三级| 日本高清免费不卡视频| 色婷婷综合在线| 精品91在线| 久久免费观看视频| 欧美啪啪精品| 欧美精品色视频| 久久99热这里只有精品免费看| 巨熟乳波霸若妻中文观看免费| 欧美一级视频免费| 亚洲三级色| 2022精品国偷自产免费观看| 国产91精品调教在线播放| 激情综合婷婷丁香五月尤物| 奇米影视狠狠精品7777| 日韩精品欧美国产在线| 国产精品免费入口视频| 国产精品视频导航| 色综合久久88| 日韩中文欧美| 91小视频在线| 国产成人AV大片大片在线播放 | 亚洲精品午夜无码电影网| 精品久久人人爽人人玩人人妻| 精品日韩亚洲欧美高清a| 精品综合久久久久久97超人| 国产在线精彩视频论坛| 伊人精品视频免费在线| 成人亚洲视频| 欧美日韩中文字幕在线| 精品久久国产综合精麻豆| 色综合热无码热国产| lhav亚洲精品| 成人午夜在线播放| 国产福利小视频高清在线观看| 国产18在线| 日本人又色又爽的视频| 97精品伊人久久大香线蕉| 日韩午夜伦| 色婷婷狠狠干| 亚洲青涩在线| 人妻少妇乱子伦精品无码专区毛片| 亚洲av无码人妻| 亚洲欧美一级一级a| 777国产精品永久免费观看| 综合色天天| 午夜小视频在线| 免费国产无遮挡又黄又爽| 成人综合在线观看| 国产情侣一区| 精品精品国产高清A毛片| 97国产在线视频| 无码精品一区二区久久久| 欧美日韩在线亚洲国产人| 国产对白刺激真实精品91| 天堂在线视频精品| 99re这里只有国产中文精品国产精品 | 久久男人资源站| 久久夜色撩人精品国产| 99精品欧美一区| 无码中文字幕精品推荐| 亚洲黄色片免费看| 欧美精品二区| 国产成人亚洲无码淙合青草| 91成人精品视频| 亚洲欧美不卡| 91免费观看视频| 婷婷色丁香综合激情| 思思99思思久久最新精品| 午夜电影在线观看国产1区| 2021精品国产自在现线看|