摘 要:分布式不僅是軟件架構開發的方式,還是一種有效的教學方法,該方法通過視聽結合的方式,采用多種教學方式進行分布式教學,學習者易于接受。基于這種分布式架構,本論文所開發的APP保證了開發的高效性,其通過平臺基本能力子系統集、基礎軟件服務子系統集和增強軟件服務子系統集實現了系統的多功能性。在本論文中,通過建立四層結構,在界面層設計了完備的服務功能,前端服務層設計了AI交互服務,通過RNN模型及LSTM模型訓練得到了更為精準的識別模型,建立了遠程互聯等服務。后端邏輯層采用xUtils框架和SpringBoot框架簡化工程,數據處理層使用優化后的MySQL進行數據庫管理。相比一般系統,本論文提出的多子系統集分布式架構具有更優良的前端設計,有利于幫助接收知識能力較差的老年人梳理知識,作為科技助老和老年教育的典型案例,具有很高的實用性和參考價值。
關鍵詞:老年教育;分布式架構;分布式教學;AI模型;大數據;子系統
中圖分類號:TP311 文獻標識碼:A 文章編號:2095-1302(2024)04-00-06
DOI:10.16667/j.issn.2095-1302.2024.04.015
0 引 言
隨著科技的飛速發展、智能時代的到來,手機、電腦等智能設備在人們的生活中扮演著越來越重要的角色,人們在享受著數字化、智能化帶來便利的同時,卻忽視了處在時代末端的老年人群體。接收知識能力較差的老年人學習新事物能力較差,一般的電子產品對他們來說需要較長的學習周期。目前,面向老年群體的學習使用軟件并不多見,現有的軟件大多功能離散,無法滿足和實現老年人的多樣化需求。隨著時代進步,老年人對于智能產品的使用更為頻繁。老年群體面對的“掃碼難”問題已無法忽視,他們擁有接受老年教育[1]的權力。雖然很多老年人有心學習,但是面對繁雜的電子設備與龐大的互聯網信息,無法像年輕人一樣搜尋和辨別自己想要學習的內容,很難重拾自己的興趣,找到志同道合的朋友,老年群體的孤獨感和陌生感更加凸顯,造成了一定的社會問題。
當前,現有的功能引導類APP有“識年[2]”等,解決了智能設備使用不便,功能冗雜等問題,但這些軟件存在引導方式單一、界面設計感較差、功能不全無法形成強需求、遠程互聯音畫不同步等問題。現有的老年社交類APP
有“老來[3]”等,界面簡潔,有良好的適老化設計,但是這些軟件存在社交范圍不明顯、社交對象不清晰、廣告多、功能單一等問題。以上軟件均采用單體架構,相比于分布式架構具有開發快、成本低等優點,但是大項目模塊耦合嚴重,不易開發,維護、溝通成本高,新增業務困難,核心業務與邊緣業務混合,出現問題互相影響。
當前市場上缺少面向老年群體的主流應用。相關數據表明,到2050年中國老年人口將突破三億,老年人群體對于利用智能化設備進行學習的需求將越來越大。本研究面向老年人的學習問題,開發了基于互聯網的長輩通(Elder Pass)移動應用軟件,站在老年人的角度,以老年人的視角設計產品,幫助老年人找到自己的興趣,助力老年教育。針對老年生活中的常見場景,本研究設計并實現了集軟件操作引導、快捷功能、智能家電終端控制、家政服務為一體的統一化移動互聯網解決方案。讓大數據及物聯網技術惠澤老年人群體,促進老年人更好地參與城市生活[4]。針對老年互聯網教育[5]的常見問題,創造性提出了“目標教學”,結果導向過程,同時通過分布式教學等將知識帶給老年人,幫助老年人實現繼續教育。同時,市面上現有社交系統僅能滿足年輕人群的社交需求,對于足不出戶的老年人,活動范圍有限,社交方式也不盡相同。利用長輩通走出常見社交圈,打造社區化社交[6],在更小的圈子里提供更優質的社交體驗,同時通過將興趣標簽化,讓老年人更容易找到與自己志同道合的朋友;同時,相比一般的功能教學,長輩通增加了小窗引導,使得應用過程更為便捷高效;相對于一般的老年平臺,本研究提出了全新的關懷功能和人工智能交互理念,利用Android Studio對Java進行不同程度的拓展,開發實現部分控件的可視化操作。未來助老產品將會呈現多元風貌,將采用更加智能化的終端技術,不斷提升老年人群體的體驗和感受,在滿足基本生活服務要求的同時,滿足老年人精神層面的
需求。
1 設計目標
1.1 設計理念
從老年人的實際需求出發,解決老年人使用智能設備不熟練、不理解、難學習等問題,通過分布式教學幫助老年人發現興趣愛好,豐富老年生活,滿足老年人的互聯網服務需求和社交需求,打造舒適、便捷、簡易的一體化綜合服務平臺。
1.2 主要功能設計
長輩通平臺功能架構如圖1所示。
1.2.1 人工智能交互
為了開展交互式教學,簡化手機及其他軟件的使用,本次研究搭建了全場景綜合化服務平臺,提供多方面全場景功能服務,同時為了簡化操作步驟,軟件內部增加了人工智能交互,文字或語音輸入即可實現相關功能,同時支持多語種識別。人工智能交互模塊如圖2(a)所示。
1.2.2 遠程互聯
本次研究提出基于5G和IPv6的實時通信功能實現“遠程互聯”,將2個終端的用戶連接起來,將手機屏幕、操作及聲音共享,幫助老年人完成復雜的手機操作。為保證手機安全,將只允許通過實名認證的綁定用戶進行遠程互聯。遠程互聯模塊如圖2(b)所示。
1.2.3 關懷
老年群體就醫行為較多,為了開展情感式教學,除了快捷功能可以直達預約就醫模塊外,關懷功能也會給予老年人貼心的幫助。用戶或綁定用戶可以設置用藥提醒、醫囑提醒或重要事項提醒。為了防止老人走失,綁定用戶還可以在這一板塊查看被綁定用戶的位置信息。打開實時位置開關,可以設置實時位置上傳。關懷模塊如圖2(c)所示。
1.2.4 遠程教學
以“目標教學”為主體,在用戶首次注冊進入軟件時,可以選擇自己的興趣標簽,如圖2(d)所示。平臺會通過大數據分析,將最適合的課程放在主頁的遠程式教學模塊,方便老年人觀看。除了教學視頻,平臺還會在遠程教學模塊推出更多直播課程供老年人學習,從而達到老年教育[7]的目標。遠程教學模塊如圖2(f)所示。
1.2.5 功能引導
考慮到老年群體普遍對智能產品錯綜復雜的軟件結構難以辨別把握與使用實物問題,本軟件建立了不定時更新的功能操作引導庫,并引入軟件中,通過視頻+文字的引導式教學使教程簡單易懂。如需中斷教學,點擊下方提示即可返回桌面,軟件縮小為小窗口并且展示操作,用戶可以跟隨文字學習,提高學習效率,降低多次返回時的復雜操作及誤觸概率。功能引導界面如圖2(e)所示。
1.2.6 快捷功能
日常生活中會有大量需要用到手機的場景,例如網上訂菜、查看實時公交、手電筒等,為方便老年人使用手機,本研究調研并設計了一系列日常操作放在軟件首頁,可以在很大程度上提供良好的用戶體驗。快捷功能界面如圖2(f)所示。
1.3 常用板塊設計
1.3.1 社區
在這一板塊,老年用戶可以即時接收社區發布的公告,也可以將自己的生活、所學知識或是自己的興趣愛好分享出來,同時點贊、評論、轉發他人的分享。在社區板塊,所有用戶都會按社區分類,用戶接收的消息都來自周圍的老年朋友,方便老年人進行小范圍線上、線下社交,為老年生活增添色彩。同時支持手機號搜索好友。
1.3.2 娛樂
老年人與年輕人的喜好大相徑庭,相比于年輕人可以隨意使用手機娛樂,接觸智能手機不久的老年人顯然更加力不從心,娛樂板塊為老年人的網上娛樂提供了方便快捷的通道(棋牌、麻將、戲劇、評書、相聲等)。通過大量調研,將老年人喜歡的娛樂方式裝入軟件,豐富老年人的生活。
1.3.3 家政服務
從老年人的需求出發,精選老年群體需要的服務,同時平臺為服務提供擔保,讓用戶可以無憂使用該功能。發布者需要提供簡介和經驗介紹,在平臺審核后發布到市場,用戶預約上門服務,優質發布者可以選擇先體驗后付款。服務完成后用戶還可進行評價,相對于普通的文字輸入而言,本模塊提供標簽化輸入,選擇相應的標簽即可快捷評價,打造更適合老年人的評價方式。
1.4 UI設計
長輩通APP的界面設計以綠色為主題色,整體上遵循“簡潔”“大氣”“清新”“健康”的設計理念,傳達“以科技綠色服務智能養老”之意。采用圖形用戶界面(GUI)設計原則,界面直觀透明,方便老年用戶了解軟件功能。UI展示圖如
圖3所示。
1.5 軟件架構設計
為提高分布式教學能力,長輩通APP采用分布式架構,在常見的分布式架構[8]基礎上進行改進,如圖4所示。相比于單體架構,分布式架構通過垂直拆分,每個子系統變成小型系統,功能簡單,且每個子系統可采用不同的技術。在滿足CAP及BASE的前提下,本次研究使用了一致性算法Paxos解決分布式系統一致性問題,大大提高了軟件分布式架構的事務處理能力。
2 關鍵技術模塊開發
2.1 遠程互聯技術
遠程互聯分為3個部分逐步實現,分別是投屏、控制和傳輸,在此基礎上又可以細分為6個小模塊,6個小模塊最后會集成到一個APP上,以便用戶使用。遠程控制區塊如
圖5所示。
2.1.1 發送端
投屏發送端的實現主要是利用安卓自帶的相關工具mediaprojection manager來完成,通過該工具獲取手機屏幕的信息,但是手機在使用中不能被直接獲取屏幕信息。當手機的屏幕控件被系統消費時,需要通過創建虛擬surface復刻手機屏幕信息才能讓APP獲取屏幕信息。程序邏輯如圖6
所示。
在屏幕數據的采集過程中,最難實現的是獲取權限。由于安卓的特殊機制,對于輔助功能的相關權限有嚴格的要求,必須在manifest中配置accessibilityservice的相關屬性,并在使用時調用規定申請權限函數才能在用戶允許后拿到用戶的手機控制權。其余代碼邏輯如圖7所示。
2.1.2 接收端
接收到數據后需要界面呈現,而這個界面就是SurfaceView,通過將數據綁定SurfaceView即可實現數據可視化。投屏接收端邏輯如圖8所示。
接收數據需按照要求調用控制函數。控制函數的權限申請和控制發送端相同,需要配置信息才能正常運行。控制接收端邏輯如圖9所示。
2.2 數據處理模塊
2.2.1 投屏數據交互
投屏數據交互的核心是數據的編碼和解碼、數據的定向傳輸。在數據的編碼過程中,采用.H264編碼格式,該格式舍棄音頻,且畫面以關鍵幀為基準,使畫面傳輸快速且穩定。具體過程如圖10所示。
2.2.2 控制端數據交互
指令的采集包括監控用戶對SurfaceView的觸摸情況,將其轉換成特定的指令發送,在收到特定指令后,執行相應程序,完成點擊動作。具體過程如圖11所示。
2.3 AI模型
將輸入的語音通過特定方式進行特征提取[9],在此之后輸入網絡模型進行訓練,在訓練后對模型進行校正。多次反復后,模型便可用于對實際語音的識別。語音識別流程如
圖12所示。
對于有時序的數據,一般采用RNN模型,該模型會將輸出作為下一階段的部分輸入,以此來讓其具有時序的特性。RNN模型在訓練后期容易出現梯度消失或者梯度爆炸的現象,對于此類情況LSTM模型可以優化這一過程,使模型更加平滑穩定。訓練模型如圖13所示。
2.4 功能引導技術
功能引導采用ViewPager實現,使用LivaData和Service通信,功能引導懸浮窗如圖14所示。
2.5 實時定位技術
實時定位功能選用SDK工具包開發,高德地圖Android SDK是一套地圖開發調用接口,可以在軟件中加入地圖相關功能,包括:地圖顯示(含室內、室外地圖)、地圖交互、興趣點搜索、地理編碼、離線地圖等功能,服務搭建首先通過高德平臺申請key,在AndroidManifest.xml的application標簽中配置Key。
lt;meta-data android:name=\"com.amap.api.v2.apikey\" android:value=\"您的Key\"/gt;
通過CMD獲取SHA1與Package,如圖15所示。
3 軟件架構開發
通過對項目分層解析,將項目分為4層,分別是:界面層、前端服務層、后端邏輯層和數據處理層,如圖16所示。針對分布式架構的特點,基于Android[10]進行設計,開發多個子系統集,對平臺的不同要求提供支持。
平臺基本能力子系統集為應用在設備上的運行、調度、遷移等操作提供了基礎能力,包含了組成前端服務層的AI交互服務、快捷功能服務、操作引導服務、基礎Ability服務和組成后端邏輯層的用戶管理、故障報警、權限控制、文件轉存以及保障設備級安全的安全子系統。
基礎軟件服務子系統集為用戶提供通用的軟件服務,由錯誤驗證子系統、數據解析過濾子系統、安全驗證子系統及數據統計入庫子系統組成。
增強軟件服務子系統集在分布式架構中具有很強的可拓展性,可以在原有內容上進行刪減而不影響用戶體驗,針對不同用戶進行差異化服務,由數據分析模塊、家政服務子系統、智能家電終端控制子系統等組成。
界面層為老年人提供了良好的UI視覺體驗和交互體驗,由用戶交互、頁面設計、數據收集、數據展示以及文件下載部分組成。
4 云端開發
4.1 數據交互
對于前后端數據交互使用xUtils框架,可以簡化工程,提高代碼復用率,減少因OOM導致的程序出錯,增強程序穩定性。同時采用SpringBoot框架[11],提供具有控制反轉特性的容器,并通過依賴注入進行控制反轉來實現管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數據訪問,選用框架免除了后端開發工作,極大提高了開發效率。SpringBoot的一大優點是能快速創建項目,減少文件配置并與其他框架集成,SpringBoot內嵌Servlet、Tomcat、Jetty等。SpringBoot可直接運用java-jar指令將項目打包為jar,同時進行自動依賴與版本控制,幫助開發者導入所用的全部依賴,并自動控制版本。文中所有的配置都由SpringBoot完成,提高了開發效率。圖17為SpringBoot框架結構。
4.2 數據庫
為了能夠減少數據不必要的冗余,節省存儲空間,便于數據的維護和更新,研究基于第三范式進行數據庫設計,使用MySQL進行數據庫管理[12]。它具有自動重啟、空間擴展和自動配置更改等自我管理功能,便于管理。相對其他數據庫來說語言簡單易用,功能性極強,且可以通過設計聯合數據服務器進行優化[13]。
在數據庫中共建立7張表[14],各表的詳細信息見表1所列。將sys_user表(用戶表,包括所有用戶,即普通用戶和管理員用戶)作為主表與user_extend表、personal_space表、home_setting表、click表、care表和friend_list表建立聯系,如圖18所示。數據庫以InnoDB為存儲引擎(以ID為索引),所有表均以user_id(用戶編號)作為關聯節點,通過其對數據進行操作。
5 結 語
長輩通APP立足于老年群體,從老年視角出發,將引導式方法、遠程式方法、交互式方法、親友式方法和情感式方法結合為分布式教學,提供了老年教育和電子產品教學。研究采用更加靈活多變的分布式架構提供多功能化使用,滿足了老年人的精神需求、社會需求,并在一定程度上滿足了生活需求,同時本研究也為國內科技助老的設計和發展提供了參考。
注:本文通訊作者為曾瑋。
參考文獻
[1]王英,譚琳. “非正規”老年教育與老年人社會參與[J]. 人口學刊,2009,41(4):41-46.
[2]識年.識年遠程協助父母長輩_遠程控制手機_適老化大字體遠程軟件-上海柳色新識年官網[EB/OL]. https://www.ishinian.com/,2022-6-30.
[3]老來.老來-重新連接世界,讓銀發生活更美好![EB/OL]. http://www.laolai.com/,2022-12-8.
[4] KOPE? W,SKORUPSKA K,JASKULSKA A,et al. LivingLab PJAIT:Towards Better Urban Participation of Seniors [C]// In Proceedings of the International Conference on Web Intelligence,2017:1085-1092.
[5]丁利榮.“互聯網+社區老年教育”的價值與實施路徑研究[J].中國成人教育,2022,31(3):57-61.
[6]朱上上,孫辰. 基于活動理論的隨遷老人友好型社區老年服務平臺研究[J]. 包裝工程,2022,43(14):129-138.
[7]王英,譚琳. 賦權增能:中國老年教育的發展與反思[J]. 人口學
刊,2011,43(1):32-41.
[8]王雅南,李隱峰,李瑜,等. 智慧社區移動應用設計[J].華中科技大學學報(自然科學版),2022,44(10):215-218.
[9] KOWALSKI J,JASKULSKA A,SKORUPSKA K,et al. Older adults and voice interaction:A pilot study with google home [C]// In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems. LWB0187,2019:1-6.
[10]陳志鵬.基于Android平臺電子圖書App功能設計[J]. 信息與電腦(理論版),2022,34(4):117-119.
[11]韓佳彤,杜芳,甄必鑫,等. 基于SpringBoot的分布式市政運維分析平臺[J]. 內蒙古大學學報(自然科學版),2022,53(3):309-316.
[12]康文杰,王勇,俸皓. 云平臺中MySQL數據庫高可用性的設計與實現[J]. 計算機工程與設計,2018,39(1):296-301.
[13]尹萍. SQL Server數據庫性能優化[J]. 計算機應用與軟件,2005,22(3):51-53.
[14]肖文娟,王加勝. 基于Vue和Spring Boot的校園記錄管理Web App的設計與實現[J]. 計算機應用與軟件,2020,37(4):
25-30.
收稿日期:2023-03-28 修回日期:2023-05-10
基金項目:2022年大學生創新創業訓練計劃(國家級):長輩通APP的設計及疫情防控應用(202210357093);安徽省自然科學基金(面上項目):基于金屬-有機-碳氣凝膠嵌套框架的彈力-電化學耦合傳感機理研究(2008085MF210)