CN104639651A - 一种移动设备信息传输方法 - Google Patents
一种移动设备信息传输方法 Download PDFInfo
- Publication number
- CN104639651A CN104639651A CN201510095645.2A CN201510095645A CN104639651A CN 104639651 A CN104639651 A CN 104639651A CN 201510095645 A CN201510095645 A CN 201510095645A CN 104639651 A CN104639651 A CN 104639651A
- Authority
- CN
- China
- Prior art keywords
- file
- mobile device
- status
- flag
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种移动设备信息传输方法,用于在移动设备与服务器之间实现数据同步,该方法包括:移动设备从服务器端下载数据的散列文件,对本地数据进行散列运算并将运算结果与所述散列文件进行比对,若存在数据变化,则发起数据同步过程。本发明以散列数据计算为核心,具有高度的可行性和高效性,数据同步过程中在移动设备用户的参与下,有效地解决移动设备与服务器端的数据不一致问题。
Description
技术领域
本发明涉及数据通信,特别涉及一种在信息系统中的移动设备同步方法。
背景技术
医院信息系统为医护人员提供一个能够获取医疗信息的综合医疗信息平台,可更加有效地辅助医疗工作的开展。随着移动设备的应用,新形势下的移动医疗为医疗行业的智能化、自动化工作的开展提供了可能,也是对现行固定医疗的一种完善与补充。然而,移动医疗涉及到了移动设备与主服务器端的数据同步。因此,如何解决服务器端存储的数据与移动设备的数据副本的数据一致性就成为目前系统无缝扩展亟待解决的问题。目前主流的数据同步解决方案中,数据同步的扫描与分发工作由服务器端处理,无法充分利用硬件性能优越的移动设备,由此增加了服务器的压力,并且智能终端与服务器端的耦合程度复杂,增强数据同步的不灵活。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种移动设备信息传输方法,用于在移动设备与服务器之间实现数据同步,包括:
移动设备从服务器端下载数据的散列文件,对本地数据进行散列运算并将运算结果与所述散列文件进行比对,若存在数据变化,则发起数据同步过程。
优选地,所述散列运算包括根据数据文件及消息计算相应的散列文件及散列消息,所述散列文件由文件头与文件内容两部分组成,其中文件内容由不同的散列消息组成,文件头由四个组成部分,分别是文件名映射数组、散列文件的大小、文件内容的起始偏移量、文件内容的当前偏移量;散列消息是对本地数据库中捕获的变化数据的封装,它由消息头和消息内容两部分组成,消息头是同步文件的文件名对应的散列映射,消息内容是同步文件的文件内容对应的散列映射,消息头由5个部分组成,分别是文件名映射、下一个消息的起始偏移量、消息状态标记字段、消息内容标记字段、消息内容偏移量,所述消息内容由3个部分组成,分别是总长度、文件全路径以及文件内容的散列映射。
优选地,在所述移动设备捕获数据变化之前,该方法还包括:
移动设备先从服务器端下载相应的散列文件,散列文件的初始化由服务器端完成,在移动设备完成信息比对的过程,比对的依据是终端的散列文件的Status_Flag字段,代表移动设备与服务器端文件的状态值。
本发明相比现有技术,具有以下优点:
本发明以散列数据计算为核心,具有高度的可行性和高效性,数据同步过程中在移动设备用户的参与下,有效地解决移动设备与服务器端的数据不一致问题。
附图说明
图1是根据本发明实施例的移动设备信息传输方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明提出一种新的数据同步方法,由移动设备发起数据同步过程。图1是根据本发明实施例的移动设备信息传输方法流程图。如图1所示,实施本发明的具体步骤如下:
本发明的数据同步结构由两部分组成,分别是移动设备和服务器FSC。
(1)移动设备MU。它由通信模块与数据同步应用模块两部分组成,移动设备的通信模块负责散列指纹信息的封装与解析、格式转换、数据传递等。移动设备的数据同步应用模块负责同步数据的捕获、信息比对、变化数据的存储与读取等。
(2)服务器FSC。它由数据同步应用模块与通信模块两部分组成,服务器的通信模块负责散列指纹信息的封装与解析、格式转换、数据传递等。服务器的数据同步应用模块负责同步数据的捕获、变化数据的存储与读取等,与移动设备的主要区别是不提供变化数据的比对。
基于散列的数据同步方法:
本发明采用了散列方法作为数据同步方法,该模型的优势在于将数据同步的工作交由移动设备负责,所以设计上首先要解决的问题是移动设备如何借助散列方法捕获数据变化,其次是解决如何同步的问题。在解决这两个问题之前我们需要定义散列文件及散列消息的格式。
散列文件由文件头与文件内容两部分组成,其中文件内容由不同的散列消息组成。散列文件头由四个组成部分,分别是文件名映射数组、散列文件的大小、文件内容的起始偏移量、文件内容的当前偏移量。散列消息是对本地数据库中捕获的变化数据的封装。它由消息头和消息内容两部分组成。消息头是同步文件的文件名对应的散列映射,消息内容是同步文件的文件内容对应的散列映射。消息头由5个部分组成,分别是文件名映射、下一个消息的起始偏移量、消息状态标记字段、消息内容标记字段、消息内容偏移量。消息内容由3个部分组成,分别是总长度、文件全路径以及文件内容的散列映射。
每个文件的文件名映射为不同的散列值,不同的散列值存储在相应的映射数组中,同一散列值文件以链表形式组织起来。
第n个文件的文件名信息块包含两个指针,一个是指向下一文件的文件名信息块指针,另一个指针指向自身文件内容信息块。散列映射文件中第一个文件的起始指针,方便快速查找信息块链表的起始位置,散列映射文件中最后一个文件的结束指针是在插入下一个文件信息块时快速定位。不同文件通过散列映射数组快速找到链表的
入口地址,同一入口地址下的文件以链表形式组织起来。
散列同步方法具体的过程描述如下:
步骤1:设某个发生变化的文件File,其文件名为File_Name,文件内容为File_Content,生成该文件对应的消息Mf;
步骤2:构造散列映射数组Mapping_Array,其大小为N,选择散列函数:
散列(key)=key MOD P,其中P≤N;
步骤3:选取合适的P值,由经验得知,一般情况下可以选择P为质数或者不包含20的质因数的合数;
步骤4:对文件名与文件内容取模运算,设文件名的模值为FNK,文件内容的模值为FCK。
FNK=File_Name Mod P;
FCK=File_ContentMod P;
步骤5:查找映射数组Mapping_Array。即Mapping_Array[FNK]=FNK
步骤6:判断Mapping_Array[FNK]的数组链表长度,若为无后继节点,添加消息节点,并将散列文件大小加1操作;
第一个文件的起始指针和最后一个文件的结束指针均指向该文件对应的消息Mf。
步骤7:若Mapping_Array[FNK]后继节点非空,添加消息节点,并将散列文件大小加1操作;最后一个文件的结束指针指向该文件对应的消息Mf的后继节点。
由上,移动设备与服务器端的数据同步过程分为变化数据捕获、数据比对和数据存储三个过程,同步处理的主要思想是:(1)不管移动设备是否需要重新初始化,都要先从服务器端下载相应的散列文件,也称捕获日志文件。这是服务器端数据信息稳定同步的前提。(2)散列文件的初始化由服务器端完成,移动设备与服务器端的同步对象为“散列文件”和“变化的本地文件”两类。(3)信息比对的过程发生在移动设备,比对的依据是终端的散列文件Status_Flag字段。不同的Status_Flag值代表移动设备与服务器端文件的状态。其中,在Status_Flag取0-6的状态下,文件状态分别为
Status_Flag为0:移动设备无此文件、服务器端新增此文件
Status_Flag为1:移动设备已删除此文件,服务器端有此文件
Status_Flag为2:移动设备有此文件、服务器端已删除此文件
Status_Flag为3:移动设备文件新增此文件,服务器端无此文件
Status_Flag为4:移动设备有此文件并已修改,服务器端有此文件但未修改
Status_Flag为5:移动设备有此文件但未修改,服务器端有此文件并已修改
Status_Flag为6:移动设备和服务器端均有此文件、内容一致
本发明优选的同步过程描述如下:
(1)服务器端待同步文件集USS对应的散列映射文件Fs,在服务器端所有文件集中USA中,USS∈USA,移动设备本地待同步文件集UCS及其对应的散列映射文件Fc,在表示移动设备所有文件集UCA中,UCS∈UCA。
(2)当发现有效的无线网络时,检查终端初始化状态State,确定移动设备是否初始化;
(3)根据初始化状态,从服务器端获取本地待同步文件集USA及其对应的散列映射文件Fs,若散列映射文件不存在,由移动设备上传本地待同步文件集UCS及其对应的散列映射文件Fc,转至步骤(6),若散列映射文件存在,转至步骤(4);
(4)比对散列映射文件Fs与Fc。
若Status_Flag字段的值Status_Flag为0,则从USS读取待分发的相应文件filex,其中filex∈USS,转至步骤(5),
若字段Status_Flag为1,执行过程与Status_Flag为0类似,只是文件的传送方向是从移动设备向服务器端传送,
若Status_Flag为2,移动设备存在冗余数据文件filey,其中filey∈UCA,转至步骤(6),
若字段Status_Flag为3,移动设备的待同步数据文件filey有效,其同步原理与Status_Flag为2相似,只是对filey的操作是从移动设备向服务器端上传,
若字段Status_Flag为4,移动设备的数据发生变化,此时服务器端的文件filez是无效的冗余文件,转至步骤(8),
若Status_Flag为5,其同步过程与Status_Flag为4相似,
若Status_Flag为6,此时移动设备与服务器端数据保持一致,无需同步,转至步骤(9);
(5)向移动设备分发服务器端待同步文件filex,将其加入移动的文件集UCA并将移动设备散列映射文件Fc的Status_Flag设置为6;转至步骤(9);
(6)修改移动设备的文件集UCA,从中删除本地文件filey,同时将移动设备散列映射文件Fc的Status_Flag设置为6,转至步骤(9);
(7)清空服务器端的存储,删除服务器端散列映射文件Fs;
(8)从服务器端的文件集USA中删除服务器文件filez;将移动设备散列映射文件Fc的Status_Flag设置为6;
(9)移动设备与服务器数据库的数据同步完成。
综上所述,本发明本发明结合工作的实际需要,针对移动设备的特点,提出了以散列数据同步方法为核心的同步方法,该方法具有高度的可行性和高效性。数据同步过程中在移动设备用户的参与下,能够有效地解决移动设备与服务器端的数据不一致问题。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (4)
1.一种移动设备信息传输方法,用于在移动设备与服务器之间实现数据同步,其特征在于,包括:
移动设备从服务器端下载数据的散列文件,对本地数据进行散列运算并将运算结果与所述散列文件进行比对,若存在数据变化,则发起数据同步过程。
2.根据权利要求1所述的方法,其特征在于,所述散列运算包括根据数据文件及消息计算相应的散列文件及散列消息,所述散列文件由文件头与文件内容两部分组成,其中文件内容由不同的散列消息组成,文件头由四个组成部分,分别是文件名映射数组、散列文件的大小、文件内容的起始偏移量、文件内容的当前偏移量;散列消息是对本地数据库中捕获的变化数据的封装,它由消息头和消息内容两部分组成,消息头是同步文件的文件名对应的散列映射,消息内容是同步文件的文件内容对应的散列映射,消息头由5个部分组成,分别是文件名映射、下一个消息的起始偏移量、消息状态标记字段、消息内容标记字段、消息内容偏移量,所述消息内容由3个部分组成,分别是总长度、文件全路径以及文件内容的散列映射。
3.根据权利要求1所述的方法,其特征在于,所述移动设备捕获数据变化之前在移动设备完成信息比对的过程,比对的依据是终端的散列文件的Status_Flag字段,代表移动设备与服务器端文件的状态值;
其中,在Status_Flag取值在0-6的情况下,文件状态分别为:
若Status_Flag为0,则移动设备无此文件、服务器端新增此文件;
若Status_Flag为1,则移动设备已删除此文件,服务器端有此文件;
若Status_Flag为2,则移动设备有此文件、服务器端已删除此文件;
若Status_Flag为3,则移动设备文件新增此文件,服务器端无此文件;
若Status_Flag为4,则移动设备有此文件并已修改,服务器端有此文件但未修改;
若Status_Flag为5,则移动设备有此文件但未修改,服务器端有此文件并已修改;
若Status_Flag为6,则移动设备和服务器端均有此文件、内容一致。
4.根据权利要求3所述的方法,其特征在于,所述同步过程进一步包括:
(1)在服务器端所有文件集中USA中获取服务器端待同步文件集USS对应的散列映射文件Fs,在移动设备所有文件集UCA中获取移动设备本地待同步文件集UCS及其对应的散列映射文件为Fc;
(2)当发现有效的无线网络时,检查终端初始化状态;确定移动设备是否初始化;
(3)根据所述初始化状态,从服务器端获取本地待同步文件集USA及其对应的散列映射文件Fs,若散列映射文件不存在,由移动设备上传本地待同步文件集UCS及其对应的散列映射文件Fc,转至步骤(6),若散列映射文件存在,转至步骤(4);
(4)将散列映射文件Fs与Fc进行比对,
若Status_Flag字段的值Status_Flag为0,则从USS读取服务器待分发的相应文件,转至步骤(5),
若字段Status_Flag为1,从移动设备向服务器端传送待分发的相应文件,
若Status_Flag为2,移动设备存在冗余数据文件,转至步骤(6),
若字段Status_Flag为3,移动设备的待同步数据文件有效,从移动设备向服务器端上传待同步数据文件,
若字段Status_Flag为4或5,移动设备的数据发生变化,此时服务器端的文件是无效的冗余文件,转至步骤(8),
若Status_Flag为6,此时移动设备与服务器端数据保持一致,无需同步,转至步骤(9);
(5)向移动设备分发服务器端待同步文件,将其加入移动的文件集UCA并将移动设备散列映射文件Fc的Status_Flag设置为6;转至步骤(9);
(6)修改移动设备的文件集UCA,从中删除本地冗余文件,同时将移动设备散列映射文件Fc的Status_Flag设置为6,转至步骤(9);
(7)清空服务器端的存储,删除服务器端散列映射文件Fs;
(8)从服务器端的文件集USA中删除服务器冗余文件;将移动设备散列映射文件Fc的Status_Flag设置为6;
(9)移动设备与服务器数据库的数据同步完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510095645.2A CN104639651A (zh) | 2015-03-04 | 2015-03-04 | 一种移动设备信息传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510095645.2A CN104639651A (zh) | 2015-03-04 | 2015-03-04 | 一种移动设备信息传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104639651A true CN104639651A (zh) | 2015-05-20 |
Family
ID=53217952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510095645.2A Pending CN104639651A (zh) | 2015-03-04 | 2015-03-04 | 一种移动设备信息传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639651A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631048A (zh) * | 2016-02-17 | 2016-06-01 | 马鞍山市清醒软件科技有限公司 | 一种移动设备的应用内实现实时更新图像内容的方法 |
CN110335386A (zh) * | 2019-06-25 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种身份验证方法、装置、终端以及存储介质 |
CN111431984A (zh) * | 2020-03-02 | 2020-07-17 | 畅捷通信息技术股份有限公司 | 应用数据的同步方法、同步装置和计算机可读存储介质 |
WO2023241582A1 (zh) * | 2022-06-14 | 2023-12-21 | 华为技术有限公司 | 数据同步方法、系统、介质、程序产品和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764915A (zh) * | 2003-02-06 | 2006-04-26 | 捷讯研究有限公司 | 通过比较散列值同步数据库的设备及方法 |
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN101009516B (zh) * | 2006-01-26 | 2011-05-04 | 华为技术有限公司 | 一种进行数据同步的方法、系统及装置 |
US20140143446A1 (en) * | 2012-11-19 | 2014-05-22 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
-
2015
- 2015-03-04 CN CN201510095645.2A patent/CN104639651A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764915A (zh) * | 2003-02-06 | 2006-04-26 | 捷讯研究有限公司 | 通过比较散列值同步数据库的设备及方法 |
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
CN101009516B (zh) * | 2006-01-26 | 2011-05-04 | 华为技术有限公司 | 一种进行数据同步的方法、系统及装置 |
US20140143446A1 (en) * | 2012-11-19 | 2014-05-22 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
Non-Patent Citations (2)
Title |
---|
廖荣贵: "《数据结构与算法》", 30 November 2004 * |
王翔: "统一通信的个人通讯录设计技术及实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631048A (zh) * | 2016-02-17 | 2016-06-01 | 马鞍山市清醒软件科技有限公司 | 一种移动设备的应用内实现实时更新图像内容的方法 |
CN110335386A (zh) * | 2019-06-25 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种身份验证方法、装置、终端以及存储介质 |
CN110335386B (zh) * | 2019-06-25 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 一种身份验证方法、装置、终端以及存储介质 |
CN111431984A (zh) * | 2020-03-02 | 2020-07-17 | 畅捷通信息技术股份有限公司 | 应用数据的同步方法、同步装置和计算机可读存储介质 |
CN111431984B (zh) * | 2020-03-02 | 2023-04-07 | 畅捷通信息技术股份有限公司 | 应用数据的同步方法、同步装置和计算机可读存储介质 |
WO2023241582A1 (zh) * | 2022-06-14 | 2023-12-21 | 华为技术有限公司 | 数据同步方法、系统、介质、程序产品和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101009516B (zh) | 一种进行数据同步的方法、系统及装置 | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
CA2769773C (en) | System and method for data communication over a network | |
CN102571991B (zh) | 基于多级映射的大规模多副本分布式存储系统的应用方法 | |
CN106663056A (zh) | 文件系统中的元数据索引搜索 | |
CN103002027B (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
US10747951B2 (en) | Webpage template generating method and server | |
CN104348859B (zh) | 文件同步方法、装置、服务器、终端及系统 | |
CN113986873B (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
CN101673289B (zh) | 分布式文件存储构架的构建方法和装置 | |
US20150186372A1 (en) | System and method for streaming files through differential compression | |
JP2001522074A (ja) | 通信システム及び方法 | |
CN104639651A (zh) | 一种移动设备信息传输方法 | |
US12050578B2 (en) | Distributed database management system with dynamically split B-Tree indexes | |
CN106657174A (zh) | 一种数据同步方法、更新方法及装置 | |
CN110830580B (zh) | 一种存储数据同步方法及装置 | |
CN106484820A (zh) | 一种重命名方法、访问方法及装置 | |
WO2013078797A1 (zh) | 网络文件传输方法及系统 | |
CN104573064A (zh) | 一种大数据环境下的数据处理方法 | |
CN104243508A (zh) | 服务器、客户端及文件同步方法 | |
CN112328632B (zh) | 一种分布式两级缓存的方法和系统 | |
CN105450712A (zh) | 一种数据传输方法及装置 | |
CN111432009B (zh) | 一种区块链数据的同步方法、装置及电子设备、存储介质 | |
CN102694863A (zh) | 基于负载调整和系统容错的分布式存储系统的实现方法 | |
CN104079623A (zh) | 多级云存储同步控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150520 |
|
RJ01 | Rejection of invention patent application after publication |