一种移动设备信息传输方法

文档序号:8322361阅读:197来源:国知局
一种移动设备信息传输方法
【技术领域】
[0001]本发明涉及数据通信,特别涉及一种在信息系统中的移动设备同步方法。
【背景技术】
[0002]医院信息系统为医护人员提供一个能够获取医疗信息的综合医疗信息平台,可更加有效地辅助医疗工作的开展。随着移动设备的应用,新形势下的移动医疗为医疗行业的智能化、自动化工作的开展提供了可能,也是对现行固定医疗的一种完善与补充。然而,移动医疗涉及到了移动设备与主服务器端的数据同步。因此,如何解决服务器端存储的数据与移动设备的数据副本的数据一致性就成为目前系统无缝扩展亟待解决的问题。目前主流的数据同步解决方案中,数据同步的扫描与分发工作由服务器端处理,无法充分利用硬件性能优越的移动设备,由此增加了服务器的压力,并且智能终端与服务器端的耦合程度复杂,增强数据同步的不灵活。
[0003]因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]为解决上述现有技术所存在的问题,本发明提出了一种移动设备信息传输方法,用于在移动设备与服务器之间实现数据同步,包括:
[0005]移动设备从服务器端下载数据的散列文件,对本地数据进行散列运算并将运算结果与所述散列文件进行比对,若存在数据变化,则发起数据同步过程。
[0006]优选地,所述散列运算包括根据数据文件及消息计算相应的散列文件及散列消息,所述散列文件由文件头与文件内容两部分组成,其中文件内容由不同的散列消息组成,文件头由四个组成部分,分别是文件名映射数组、散列文件的大小、文件内容的起始偏移量、文件内容的当前偏移量;散列消息是对本地数据库中捕获的变化数据的封装,它由消息头和消息内容两部分组成,消息头是同步文件的文件名对应的散列映射,消息内容是同步文件的文件内容对应的散列映射,消息头由5个部分组成,分别是文件名映射、下一个消息的起始偏移量、消息状态标记字段、消息内容标记字段、消息内容偏移量,所述消息内容由3个部分组成,分别是总长度、文件全路径以及文件内容的散列映射。
[0007]优选地,在所述移动设备捕获数据变化之前,该方法还包括:
[0008]移动设备先从服务器端下载相应的散列文件,散列文件的初始化由服务器端完成,在移动设备完成信息比对的过程,比对的依据是终端的散列文件的Status_Flag字段,代表移动设备与服务器端文件的状态值。
[0009]本发明相比现有技术,具有以下优点:
[0010]本发明以散列数据计算为核心,具有高度的可行性和高效性,数据同步过程中在移动设备用户的参与下,有效地解决移动设备与服务器端的数据不一致问题。
【附图说明】
[0011]图1是根据本发明实施例的移动设备信息传输方法的流程图。
【具体实施方式】
[0012]下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
[0013]本发明提出一种新的数据同步方法,由移动设备发起数据同步过程。图1是根据本发明实施例的移动设备信息传输方法流程图。如图1所示,实施本发明的具体步骤如下:
[0014]本发明的数据同步结构由两部分组成,分别是移动设备和服务器FSC。
[0015](I)移动设备MU。它由通信模块与数据同步应用模块两部分组成,移动设备的通信模块负责散列指纹信息的封装与解析、格式转换、数据传递等。移动设备的数据同步应用模块负责同步数据的捕获、信息比对、变化数据的存储与读取等。
[0016](2)服务器FSC。它由数据同步应用模块与通信模块两部分组成,服务器的通信模块负责散列指纹信息的封装与解析、格式转换、数据传递等。服务器的数据同步应用模块负责同步数据的捕获、变化数据的存储与读取等,与移动设备的主要区别是不提供变化数据的比对。
[0017]基于散列的数据同步方法:
[0018]本发明采用了散列方法作为数据同步方法,该模型的优势在于将数据同步的工作交由移动设备负责,所以设计上首先要解决的问题是移动设备如何借助散列方法捕获数据变化,其次是解决如何同步的问题。在解决这两个问题之前我们需要定义散列文件及散列消息的格式。
[0019]散列文件由文件头与文件内容两部分组成,其中文件内容由不同的散列消息组成。散列文件头由四个组成部分,分别是文件名映射数组、散列文件的大小、文件内容的起始偏移量、文件内容的当前偏移量。散列消息是对本地数据库中捕获的变化数据的封装。它由消息头和消息内容两部分组成。消息头是同步文件的文件名对应的散列映射,消息内容是同步文件的文件内容对应的散列映射。消息头由5个部分组成,分别是文件名映射、下一个消息的起始偏移量、消息状态标记字段、消息内容标记字段、消息内容偏移量。消息内容由3个部分组成,分别是总长度、文件全路径以及文件内容的散列映射。
[0020]每个文件的文件名映射为不同的散列值,不同的散列值存储在相应的映射数组中,同一散列值文件以链表形式组织起来。
[0021]第η个文件的文件名信息块包含两个指针,一个是指向下一文件的文件名信息块指针,另一个指针指向自身文件内容信息块。散列映射文件中第一个文件的起始指针,方便快速查找信息块链表的起始位置,散列映射文件中最后一个文件的结束指针是在插入下一个文件信息块时快速定位。不同文件通过散列映射数组快速找到链表的
[0022]入口地址,同一入口地址下的文件以链表形式组织起来。
[0023]散列同步方法具体的过程描述如下:
[0024]步骤1:设某个发生变化的文件File,其文件名为File_Name,文件内容为File_Content,生成该文件对应的消息Mf ;
[0025]步骤2:构造散列映射数组Mapping_Array,其大小为N,选择散列函数:
[0026]散列(key)= key MOD P,其中 P 彡 N ;
[0027]步骤3:选取合适的P值,由经验得知,一般情况下可以选择P为质数或者不包含20的质因数的合数;
[0028]步骤4:对文件名与文件内容取模运算,设文件名的模值为FNK,文件内容的模值为 FCK0
[0029]FNK = File_Name Mod P ;
[0030]FCK = File_ContentMod P ;
[0031]步骤5:查找映射数组 Mapping_Array。即 Mapping_Array [FNK] =FNK
[0032]步骤6:判断Mapping_Array[FNK]的数组链表长度,若为无后继节点,添加消息节点,并将散列文件大小加I操作;
[0033]第一个文件的起始指针和最后一个文件的结束指针均指向该文件对应的消息Mf。
[0034]步骤7:若Mapping_Array[FNK]后继节点非空,添加消息节点,并将散列文件大小加I操作;最后一个文件的结束指针指向该文件对应的消息Mf的后继节点。
[0035]由上,移动设备与服务器端的数据同步过程分为变化数据捕获、数据比对和数据存储三个过程,同步处理的主要思想是:(I)不管移动设备是否需要重新初始化,都要先从服务器端下载相应的散列文件,也称捕获日志文件。这是服务器端数据信息稳定同步的前提。(2)散列文件的初始化由服务器端完成,移动设备与服务器端的同步对象为“散列文件”和“变化的本地文件”两类。(3)信息比对的过程发生在移动设备,比对的依据是终端的散列文件Status_Flag字段。不同的Status_Flag值代表移动设备与服务器端文件的状态。其中,在Status_Flag取0_6的状态下,文件状态分别为
[0036]Status_Flag为O:移动设备无此文件、服务器端新增此文件
[0037]Status_Flag为1:移动设备已删除此文件,服务器端有此文件
[0038]Status_Flag为2:移动设备有此文件、服务器端已删除此文件
[0039]Status_Flag为3:移动设备文件新增此文件,服务器端无此文件
[0040]Status_Flag为4:移动设备有此文件并已修改,服务器端有此文件但未修改
[0041]Status_Flag为5:移动设备有此文件但未修改,服务器端有此文件并已修改
[0042]Status_Flag为6:移动设备
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1