[發(fā)明專利]一種基于XMPP協(xié)議的數(shù)據(jù)本地存儲方法在審
| 申請?zhí)枺?/td> | 201911284515.8 | 申請日: | 2019-12-13 |
| 公開(公告)號: | CN111104407A | 公開(公告)日: | 2020-05-05 |
| 發(fā)明(設(shè)計)人: | 陳剛 | 申請(專利權(quán))人: | 紫光云(南京)數(shù)字技術(shù)有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2453 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210000 江蘇省南京市浦口區(qū)江浦街*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 xmpp 協(xié)議 數(shù)據(jù) 本地 存儲 方法 | ||
本發(fā)明公開了一種基于XMPP協(xié)議的數(shù)據(jù)本地存儲方法,涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域。本發(fā)明包括:用戶表、會話表以及消息表構(gòu)成的數(shù)據(jù)庫結(jié)構(gòu);用戶表包括用戶Jid以及用戶其他信息;會話表包括會話Jid、登陸者loginJid、與用戶表關(guān)聯(lián)的用戶contact以及與消息表關(guān)聯(lián)的消息列表messageList;消息表包括發(fā)送者Jid、接收者Jid、與會話表關(guān)聯(lián)的會話coversation以及與用戶表關(guān)聯(lián)的用戶contact。本發(fā)明當(dāng)接收到消息或發(fā)送消息時,同時創(chuàng)建會話和消息實(shí)體并建立彼此之間的關(guān)聯(lián)關(guān)系;再各自與用戶表進(jìn)行關(guān)聯(lián)達(dá)到多表關(guān)聯(lián);當(dāng)使用時,可以直接通過實(shí)體的屬性來獲取,而不需要重新查找數(shù)據(jù)庫;同時,當(dāng)數(shù)據(jù)庫中某個實(shí)體發(fā)生變化時,通過屬性的方式獲取的對象能實(shí)時獲取到更新后的關(guān)聯(lián)對象,更加方便,也避免的信息未更新的情況發(fā)生。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)存儲技術(shù)領(lǐng)域,特別是涉及一種基于XMPP協(xié)議的數(shù)據(jù)本地存儲方法。
背景技術(shù)
隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,人們在移動端進(jìn)行即時聊天也變得越來越普遍。作為聊天的基本元素,消息在手機(jī)端的存儲是十分重要的;一個好的存儲方式可以更加方便用戶查看聊天記錄,刪除聊天記錄等。
現(xiàn)有技術(shù)中,當(dāng)發(fā)送或接收到消息時,通過消息的id來保存消息;隨后通過這個id來查詢或刪除消息記錄。在保存消息的時候同時保存消息的發(fā)送方和接收方標(biāo)志(Jid),通過其中一個Jid作為會話的唯一標(biāo)志來保存會話。查詢歷史記錄時,查詢出所有的會話即可。
在數(shù)據(jù)庫中保存會話(唯一標(biāo)志Jid),通過會話的Jid查找該會話下所有消息時候需通過消息的發(fā)送方或接收方Jid查詢,查詢效率比較低。同時,當(dāng)發(fā)送方或接收方用戶信息變更后,需要重新查詢數(shù)據(jù)庫才能在UI上做出變化,在變換比較頻繁的情況下,效率較低。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于XMPP協(xié)議的數(shù)據(jù)本地存儲方法,通過用戶表、會話表以及消息表關(guān)聯(lián)關(guān)鍵字段的方式,實(shí)現(xiàn)多表關(guān)聯(lián),解決了現(xiàn)有的數(shù)據(jù)查詢變換頻繁且效率較低的問題。
為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明為一種基于XMPP協(xié)議的數(shù)據(jù)本地存儲方法,包括:用戶表、會話表以及消息表構(gòu)成的數(shù)據(jù)庫結(jié)構(gòu);
所述用戶表包括用戶Jid以及用戶其他信息;所述會話表包括會話Jid、登陸者loginJid、與用戶表關(guān)聯(lián)的用戶contact以及與消息表關(guān)聯(lián)的消息列表messageList;所述消息表包括發(fā)送者Jid、接收者Jid、與會話表關(guān)聯(lián)的會話coversation以及與用戶表關(guān)聯(lián)的用戶contact;
所述用戶表中的用戶Jid與會話表中的會話Jid匹配關(guān)聯(lián);所述會話表中的會話Jid與消息表中的發(fā)送者Jid或接收者Jid匹配關(guān)聯(lián)。
優(yōu)選地,所述所述會話表中的會話Jid與消息表中的發(fā)送者Jid或接收者Jid匹配關(guān)聯(lián)具體包括如下:
若所述會話表中的會話Jid與消息表中的發(fā)送者Jid匹配對應(yīng),則所述消息表中的接收者Jid與用戶表中的用戶Jid匹配;反之,則所述消息表中的發(fā)送者Jid與用戶表中的用戶Jid匹配對應(yīng)。
優(yōu)選地,所述消息列表messageList內(nèi)的屬性與會話coversation對應(yīng)。
本發(fā)明具有以下有益效果:
本發(fā)明通過用戶表、會話表以及消息表關(guān)聯(lián)關(guān)鍵字段,實(shí)現(xiàn)各個實(shí)體間的關(guān)聯(lián);當(dāng)接收到消息或發(fā)送消息時,同時創(chuàng)建會話和消息實(shí)體并建立彼此之間的關(guān)聯(lián)關(guān)系;再各自與用戶表進(jìn)行關(guān)聯(lián)達(dá)到多表關(guān)聯(lián);當(dāng)使用時,可以直接通過實(shí)體的屬性來獲取,而不需要重新查找數(shù)據(jù)庫;同時,當(dāng)數(shù)據(jù)庫中某個實(shí)體發(fā)生變化時,通過屬性的方式獲取的對象能實(shí)時獲取到更新后的關(guān)聯(lián)對象,更加方便,也避免的信息未更新的情況發(fā)生。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于紫光云(南京)數(shù)字技術(shù)有限公司,未經(jīng)紫光云(南京)數(shù)字技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911284515.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于XMPP協(xié)議訪問業(yè)務(wù)的方法、裝置及系統(tǒng)
- 3C協(xié)同設(shè)備、通信系統(tǒng)和通信方法
- 一種XMPP消息的可靠傳輸方法
- 一種便利從SIP用戶建立到XMPP用戶的通信連接的方法和設(shè)備
- 一種基于XMPP協(xié)議的通訊系統(tǒng)及其方法
- 一種基于擴(kuò)展xmpp協(xié)議的語音傳輸方法及系統(tǒng)
- 基于XMPP的移動終端信息實(shí)時匹配及通知系統(tǒng)和方法
- XMPP系統(tǒng)訪問外部數(shù)據(jù)的授權(quán)方法及通信網(wǎng)絡(luò)
- 一種基于移動智能終端的多人實(shí)時可交互白板系統(tǒng)
- 一種遙控方法及XMPP系統(tǒng)中的智能終端和服務(wù)器集群
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種自動協(xié)議識別方法及系統(tǒng)
- 客戶端中遞送協(xié)議數(shù)據(jù)單元的方法及相關(guān)裝置
- 遠(yuǎn)程通訊系統(tǒng)
- 一種基于可拼裝通信協(xié)議棧的通信方法及系統(tǒng)
- 一種實(shí)現(xiàn)國產(chǎn)平臺PXEBOOT的協(xié)議架構(gòu)
- CBTC通信系統(tǒng)協(xié)議解析方法、協(xié)議庫管理方法
- 一種協(xié)議轉(zhuǎn)換的方法、裝置、設(shè)備及存儲介質(zhì)
- 一種用于燈光控制的協(xié)議轉(zhuǎn)換系統(tǒng)及方法
- 一種通用工藝人工智能物聯(lián)網(wǎng)網(wǎng)關(guān)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





