[發(fā)明專利]一種基于sqlite的數(shù)據(jù)同步傳輸方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410159454.3 | 申請(qǐng)日: | 2014-04-21 |
| 公開(公告)號(hào): | CN103916482B | 公開(公告)日: | 2017-02-08 |
| 發(fā)明(設(shè)計(jì))人: | 王勝;吳現(xiàn)兵;李建;劉康寧 | 申請(qǐng)(專利權(quán))人: | 合肥盈云信息科技有限公司 |
| 主分類號(hào): | H04L29/08 | 分類號(hào): | H04L29/08;G06F17/30 |
| 代理公司: | 合肥天明專利事務(wù)所34115 | 代理人: | 張祥騫,奚華保 |
| 地址: | 230088 安徽*** | 國(guó)省代碼: | 安徽;34 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 sqlite 數(shù)據(jù) 同步 傳輸 方法 | ||
?
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,具體來說是一種基于sqlite的數(shù)據(jù)同步傳輸方法。
?
背景技術(shù)
移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展、網(wǎng)絡(luò)傳輸技術(shù)的改善以及智能終端的普及,使得各種智能終端的應(yīng)用產(chǎn)品應(yīng)運(yùn)而生,為人們的日常生活和辦公帶來了極大的方便。這些產(chǎn)品在使用過程中往往需要和服務(wù)器端程序進(jìn)行網(wǎng)絡(luò)交互,以達(dá)到上傳、獲取及同步數(shù)據(jù)的目的。傳統(tǒng)的交互方式一般有以下兩種:
1、在線C/S通信方式,該方式通過網(wǎng)絡(luò)提供即時(shí)的客戶端與服務(wù)端間的通信,這種方式的優(yōu)點(diǎn)是,數(shù)據(jù)即時(shí)同步,沒有同步數(shù)據(jù)沖突的問題,缺點(diǎn)是對(duì)網(wǎng)絡(luò)穩(wěn)定性要求較高,在通信過程中出現(xiàn)網(wǎng)絡(luò)故障會(huì)造成數(shù)據(jù)通信失敗,用戶無法繼續(xù)使用甚至是數(shù)據(jù)丟失;
2、傳統(tǒng)離線同步方式,該方法的基本原理是,用戶在終端處理的數(shù)據(jù)先存在本地,在有網(wǎng)絡(luò)的時(shí)候,用戶手動(dòng)去選擇同步數(shù)據(jù)到服務(wù)端,該類方法一定程度了緩解了終端對(duì)網(wǎng)絡(luò)的依賴程度,但也降低了客戶端與服務(wù)端數(shù)據(jù)同步的實(shí)時(shí)性,而且該類同步方法一般在單一終端使用時(shí)效果較好,一旦在同一賬戶下有多終端同時(shí)使用的情況就容易造成數(shù)據(jù)沖突。
而若將以上兩種方式結(jié)合,則又會(huì)產(chǎn)生數(shù)據(jù)沖突的問題,并且目前的數(shù)據(jù)同步方法隨著數(shù)據(jù)傳輸量越來越大,也導(dǎo)致其反應(yīng)速度越來越慢。如何研究出一種快速地、可靠地?cái)?shù)據(jù)同步傳輸方法已經(jīng)成為急需解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中沒有可靠地、快速地?cái)?shù)據(jù)傳輸方法的缺陷,提供一種基于sqlite的數(shù)據(jù)同步傳輸方法來解決上述問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
一種基于sqlite的數(shù)據(jù)同步傳輸方法,包括以下步驟:
初始化本地?cái)?shù)據(jù)庫(kù),將sqlite數(shù)據(jù)庫(kù)模板拷貝到本地?cái)?shù)據(jù)庫(kù),作為智能終端數(shù)據(jù)存儲(chǔ)的載體,并且在數(shù)據(jù)庫(kù)文件名稱中加入用戶ID號(hào),在數(shù)據(jù)庫(kù)中劃分出業(yè)務(wù)數(shù)據(jù)表和本地更新數(shù)據(jù)版本表;
本地?cái)?shù)據(jù)存儲(chǔ)更新,智能終端將數(shù)據(jù)存儲(chǔ)到本地sqlite數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中生成一條數(shù)據(jù)更新版本記錄并觸發(fā)數(shù)據(jù)同步模塊進(jìn)行一次數(shù)據(jù)同步處理;
數(shù)據(jù)同步模塊監(jiān)聽網(wǎng)絡(luò),數(shù)據(jù)同步模塊監(jiān)聽同步請(qǐng)求并檢測(cè)網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)情況選擇上傳數(shù)據(jù)或回發(fā)請(qǐng)求命令;
服務(wù)器接收數(shù)據(jù),服務(wù)器接收到智能終端同步請(qǐng)求的數(shù)據(jù),對(duì)其進(jìn)行業(yè)務(wù)邏輯判斷和處理后,將其更新到服務(wù)器數(shù)據(jù)庫(kù)中;
服務(wù)器反饋數(shù)據(jù),服務(wù)器接收數(shù)據(jù)處理完成后,生成反饋數(shù)據(jù)發(fā)送給智能終端;
版本對(duì)比,智能終端接收到反饋數(shù)據(jù)后,根據(jù)反饋數(shù)據(jù)的版本狀態(tài)與本地?cái)?shù)據(jù)進(jìn)行版本比對(duì),更新智能終端本地?cái)?shù)據(jù)。
所述的本地?cái)?shù)據(jù)存儲(chǔ)更新包括以下步驟:
數(shù)據(jù)同步模塊接收智能終端所發(fā)出的業(yè)務(wù)數(shù)據(jù)處理指令;
判斷數(shù)據(jù)處理的指令類型;
若指令類型為查詢指令,則直接執(zhí)行并返回查詢結(jié)果;
若指令類型為新增數(shù)據(jù)指令,則分析該新增指令,獲取待新增數(shù)據(jù)指令的關(guān)鍵值,向本地更新數(shù)據(jù)版本表生成一條數(shù)據(jù)版本記錄,版本號(hào)Version為1,并在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行新增版本記錄指令;
若指令類型為更新數(shù)據(jù)指令語(yǔ)句,則分析該更新數(shù)據(jù)指令,獲取待更新數(shù)據(jù)指令的關(guān)鍵值;判斷數(shù)據(jù)版本記錄中有無對(duì)應(yīng)的數(shù)據(jù),如無則在本地更新數(shù)據(jù)版本表生成一條數(shù)據(jù)版本記錄,版本號(hào)Version為1,并在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行更新版本記錄指令;若有則在本地更新數(shù)據(jù)版本表的該版本記錄上將Version加1,并在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行更新版本記錄指令。
所述的數(shù)據(jù)同步模塊監(jiān)聽網(wǎng)絡(luò)包括以下步驟:
當(dāng)本地更新數(shù)據(jù)版本表中版本表有記錄時(shí),通知數(shù)據(jù)用戶模塊進(jìn)行智能終端本地?cái)?shù)據(jù)的上傳處理;
數(shù)據(jù)同步模塊監(jiān)聽同步請(qǐng)求,若檢測(cè)到網(wǎng)絡(luò)正常時(shí),主動(dòng)發(fā)起一次與服務(wù)器的同步請(qǐng)求;若沒有監(jiān)聽到同步請(qǐng)求命令且網(wǎng)絡(luò)正常的情況下,數(shù)據(jù)同步模塊在間隔規(guī)定的時(shí)間向自身發(fā)起一個(gè)請(qǐng)求命令;
上傳本地更新數(shù)據(jù)版本表找到相應(yīng)的版本記錄,根據(jù)版本記錄到業(yè)務(wù)數(shù)據(jù)表中抽取更新數(shù)據(jù),數(shù)據(jù)按照業(yè)務(wù)數(shù)據(jù)表進(jìn)行分類,每個(gè)數(shù)據(jù)表的數(shù)據(jù)放在一個(gè)數(shù)組中,將對(duì)應(yīng)數(shù)據(jù)版本號(hào)Version也一同保存到數(shù)據(jù)結(jié)構(gòu)中;
數(shù)據(jù)結(jié)構(gòu)定義按照J(rèn)SON標(biāo)準(zhǔn)進(jìn)行組織,其中DownLoadTime為上次同步成功時(shí)間,第一次同步為空,TableList為列表類型值,包含更新數(shù)據(jù)表的數(shù)據(jù)定義,包括version字段,均以key-value的形式進(jìn)行定義;
將上次同步傳輸成功的時(shí)間告知服務(wù)器接口。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于合肥盈云信息科技有限公司,未經(jīng)合肥盈云信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410159454.3/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種具有SQLite數(shù)據(jù)庫(kù)的機(jī)頂盒
- 一種恢復(fù)移動(dòng)終端已刪除sqlite文件的方法及裝置
- 一種基于SQLite數(shù)據(jù)庫(kù)的主備冗余復(fù)制方法
- 一種清除SQLite數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法
- 離線編輯同步方法
- 數(shù)據(jù)插入方法和裝置
- 一種免費(fèi)地圖影像數(shù)據(jù)的加密方法及裝置
- 一種Sqlite影像瓦片數(shù)據(jù)庫(kù)的自動(dòng)更新方法及裝置
- 一種數(shù)據(jù)查詢方法及裝置
- 一種SQLite數(shù)據(jù)庫(kù)文件安全存取方法及裝置
- 數(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)裝置





