[發(fā)明專利]基于SQLite的嵌入式數(shù)據(jù)庫同步方法有效
| 申請?zhí)枺?/td> | 201611025714.3 | 申請日: | 2016-11-16 |
| 公開(公告)號: | CN106599061B | 公開(公告)日: | 2020-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 鄒杰;鄒式論 | 申請(專利權(quán))人: | 成都九洲電子信息系統(tǒng)股份有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27;G06F16/28 |
| 代理公司: | 成都宏順專利代理事務(wù)所(普通合伙) 51227 | 代理人: | 周永宏 |
| 地址: | 610041 四川省成都*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 sqlite 嵌入式 數(shù)據(jù)庫 同步 方法 | ||
本發(fā)明公開了一種基于SQLite的嵌入式數(shù)據(jù)庫同步方法,包括系統(tǒng)初始化、系統(tǒng)啟動以及增量同步三個(gè)階段。本發(fā)明建立在設(shè)備的數(shù)據(jù)庫上,整個(gè)過程不需要額外增加專門處理同步事務(wù)的設(shè)備,節(jié)約了成本,符合嵌入式系統(tǒng)的特點(diǎn)。同時(shí),本發(fā)明使用的數(shù)據(jù)庫為SQLite,占用資源少、性能良好且無管理成本,滿足嵌入式設(shè)備成本控制的需求,并保證了同步的可靠性與穩(wěn)定性;通過數(shù)據(jù)庫操作日志的方式防止因?yàn)榫W(wǎng)絡(luò)傳輸造成的數(shù)據(jù)丟失,同步的數(shù)據(jù)庫表可根據(jù)實(shí)際的需要進(jìn)行靈活配置。
技術(shù)領(lǐng)域
本發(fā)明屬于嵌入式數(shù)據(jù)庫技術(shù)領(lǐng)域,具體涉及一種基于SQLite的嵌入式數(shù)據(jù)庫同步方法的設(shè)計(jì)。
背景技術(shù)
在商業(yè)信息系統(tǒng)領(lǐng)域,嵌入式設(shè)備上所存儲和管理的信息往往都是整個(gè)集成信息系統(tǒng)的一部分,而這些數(shù)據(jù)往往都需要與整個(gè)信息系統(tǒng)的數(shù)據(jù)進(jìn)行同步和交互,隨著嵌入式技術(shù)的發(fā)展和廣泛應(yīng)用,嵌入式數(shù)據(jù)同步和交互變得越來越重要。
對于同步方式來說,目前數(shù)據(jù)同步主要是基于增量進(jìn)行同步,即把一段時(shí)間內(nèi)一個(gè)數(shù)據(jù)庫變化的數(shù)據(jù)傳輸?shù)搅硪粋€(gè)數(shù)據(jù)庫,達(dá)到數(shù)據(jù)庫一致,變化的數(shù)據(jù)主要有增加的數(shù)據(jù),修改的數(shù)據(jù),刪除的數(shù)據(jù)。在這種方式下,如果最開始兩個(gè)數(shù)據(jù)中的數(shù)據(jù)具備一定的差距,那么這部分差距就不能被同步。
對于嵌入式信息系統(tǒng)來說,如果按照通常的思路,在同步系統(tǒng)中單獨(dú)加入一個(gè)同步服務(wù)器或設(shè)備來處理同步的事務(wù),那么必然會造成成本的增加;同時(shí),嵌入式設(shè)備的網(wǎng)絡(luò)環(huán)境存在不穩(wěn)定的因素,需要解決由網(wǎng)絡(luò)或者其他因素造成同步數(shù)據(jù)沒有成功的問題。此外,實(shí)際應(yīng)用場景中,設(shè)備的數(shù)據(jù)不一定是所有都需要同步,因此,同步的數(shù)據(jù)應(yīng)該是可以靈活配置。
對于嵌入式數(shù)據(jù)庫來說,目前開源的只有兩個(gè)比較成熟的項(xiàng)目:SQLite和Berkeley DB。其中,只有SQLite支持SQL(Structured Query Language,結(jié)構(gòu)化查詢語言),它是一個(gè)輕量級、跨平臺的關(guān)系型數(shù)據(jù)庫,并且具有占用資源少、性能良好和零管理成本的優(yōu)點(diǎn)。Berkeley DB不是一個(gè)關(guān)系型數(shù)據(jù)庫系統(tǒng),而大多數(shù)的信息系統(tǒng)中都使用關(guān)系型數(shù)據(jù)庫。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決現(xiàn)有的嵌入式數(shù)據(jù)同步技術(shù)成本較高,且配置不夠靈活的問題,提出了一種基于SQLite的嵌入式數(shù)據(jù)庫同步方法。
本發(fā)明的技術(shù)方案為:基于SQLite的嵌入式數(shù)據(jù)庫同步方法,包括以下步驟:
S1、配置用戶自身設(shè)備在同步網(wǎng)絡(luò)中的角色;在同步系統(tǒng)中,同步的設(shè)備被稱為節(jié)點(diǎn),系統(tǒng)中的節(jié)點(diǎn)分為master節(jié)點(diǎn)和slave節(jié)點(diǎn)兩種,系統(tǒng)中只能有一個(gè)master節(jié)點(diǎn),至少有一個(gè)slave節(jié)點(diǎn);如果有多個(gè)slave節(jié)點(diǎn),則通過配置節(jié)點(diǎn)號進(jìn)行區(qū)別;
S2、在同一個(gè)網(wǎng)段上為master節(jié)點(diǎn)和slave節(jié)點(diǎn)配置IP地址,并在master節(jié)點(diǎn)和slave節(jié)點(diǎn)上都建立FTP服務(wù)器;
S3、master節(jié)點(diǎn)在本地建立一個(gè)soap服務(wù)器;
S4、master節(jié)點(diǎn)和slave節(jié)點(diǎn)根據(jù)配置,在現(xiàn)有數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)上,增加需要同步表的操作記錄表,并在數(shù)據(jù)庫中增加觸發(fā)器,用于記錄同步表中改變的主鍵ID以及該條記錄的變動類型;
S5、各個(gè)slave節(jié)點(diǎn)向master節(jié)點(diǎn)的soap服務(wù)器發(fā)送請求,請求獲取master節(jié)點(diǎn)同步表的數(shù)據(jù);
S6、master節(jié)點(diǎn)依照先后順序?qū)Ω鱾€(gè)請求作排隊(duì)處理,并把master節(jié)點(diǎn)上的同步數(shù)據(jù)主動封裝為slave節(jié)點(diǎn)能夠識別的json日志文件,發(fā)送到當(dāng)前處理到的slave節(jié)點(diǎn)的FTP服務(wù)器上;
S7、收到j(luò)son日志文件后,slave節(jié)點(diǎn)將其解析為SQL語句并執(zhí)行,獲得master節(jié)點(diǎn)上的同步數(shù)據(jù);
S8、master節(jié)點(diǎn)和slave節(jié)點(diǎn)判斷同步表是否發(fā)生增加、刪除或更新的操作,若是則進(jìn)入步驟S9,否則進(jìn)入步驟S10;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都九洲電子信息系統(tǒng)股份有限公司,未經(jīng)成都九洲電子信息系統(tǒng)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611025714.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





