一种数据同步方法和系统的制作方法

文档序号:7795374阅读:116来源:国知局
一种数据同步方法和系统的制作方法
【专利摘要】本发明提供了一种数据同步方法和系统,该方法中,客户端生成相应的更新文件,且服务器通过读取更新文件的方式完成对服务器端数据库的更新,这样即使安装客户端的终端没有建立到服务器的连接,只要用户能够通过其他网络连接或方式将更新文件上传到服务器上(比如将更新文件复制到移动存储器并在有稳定的网络连接的环境中通过其他上网终端将更新文件发送到服务器)就可以完成服务器端数据库的更新。本发明中,能够允许在安装客户端的终端不与对应的服务器连接的情况下,将对客户端更新的数据同步到服务器。
【专利说明】一种数据同步方法和系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种数据同步方法和系统。
【背景技术】
[0002]随着国家电网信息化建设的大力发展,电力基建工程建设也步入了信息化时代。然而电力基建工程项目本身具有不可逾越的特性,即范围覆盖面广、施工现场偏远、施工驻地网络信号差甚至没有网络信号,这就导致施工驻地很难或者没法通过互联网访问部署市区的工程管理系统,因此有必要在施工驻地部署一套单机版的客户端解决施工现场数据收集录入问题,这样解决了施工现场的数据录入问题。
[0003]在数据录入后,需要将单机版上的数据同步到服务器端,现有技术中的一种方式是借助无线上网技术,在需要将存储在单机版客户端上数据同步到服务器端时,在安装了单机版客户端的上网终端上插入无线上网卡将该客户端连接到网络,从而进行数据传输同
止/J/ O
[0004]但是,无线上网卡在跨运行商与部署在市区的服务端连接进行数据同步时容易存在网络连接不稳定,这样可能导致采用无线上网卡联网实时同步不能保证数据的一致性,即在部分数据同步成功,部分数据同步不成功时,不能整体回滚,另外单机版客户端如果产生的数据量量较大,或者无线信号不稳定会导致在数据同步过程中占用较长的时间或者更多的数据流量,产生较多的无线上网费用。

【发明内容】

[0005]本发明提供了一种数据同步方法和系统,能够允许在安装单机版客户端的终端不与对应的服务器连接的情况下,将对单机版客户端更新的数据同步到服务器。
[0006]本发明中提供了一种数据同步方法,包括:用于服务器与客户端之间的数据同步,所述方法包括:
[0007]在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文件;所述更新文件为本地文件;
[0008]服务器在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
[0009]优选的,所述根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作,包括:
[0010]当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件;
[0011]当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件;[0012]当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
[0013]优选的,所述客户端导出更新文件之前,所述方法还包括:
[0014]所述客户端生成各个字段对应的md5值,并添加到更新文件中;
[0015]所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作之前,所述方法还包括:
[0016]所述服务器根据更新文件中的md5值判断所述更新文件是否被非法更改;
[0017]所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作具体包括:
[0018]所述服务器在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0019]优选的,所述客户端导出更新文件之前,所述方法还包括:
[0020]所述客户端在所述更新文件中添加所述客户端的软件版本号;
[0021]所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作之前,所述方法还包括:
[0022]所述服务器判断更新文件中的软件版本号是否与服务器对应的软件版本号是否一致;
[0023]所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作具体包括:
[0024]所述服务器在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0025]优选的,所述更新文件为服务端可读取的数据库操作语句。
[0026]本发明还提供了一种数据同步系统,包括:
[0027]客户端,用于在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文件;所述更新文件为本地文件;
[0028]服务器,用于在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
[0029]优选的,所述服务器,具体用于当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件;当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件;当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
[0030]优选的,所述客户端还用于生成各个字段对应的md5值,并添加到更新文件中;
[0031]所述服务器还用于,根据更新文件中的md5值判断所述更新文件是否被非法更改,并在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。[0032]优选的,所述客户端还用于在所述更新文件中添加所述客户端的软件版本号;
[0033]所述服务器还用于判断更新文件中的软件版本号是否与服务器对应的软件版本号是否一致,并在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0034]优选的,所述更新文件为服务端可读取的数据库操作语句。
[0035]本发明提供的数据同步方法中,使客户端记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,并使服务器在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。由于本发明中,客户端生成相应的更新文件,且服务器能够通过读取更新文件的方式完成对服务器端数据库的更新,这样即使安装客户端的终端没有建立到服务器的连接,只要用户能够通过其他网络连接或方式将更新文件上传到服务器上(比如将更新文件复制到移动存储器并在有稳定的网络连接的环境中通过其他上网终端将更新文件发送到服务器)就可以完成服务器端数据库的更新。本发明中,能够允许在安装客户端的终端不与对应的服务器连接的情况下,将对客户端更新的数据同步到服务器。
【专利附图】

【附图说明】
[0036]图1为本发明实施例一提供的一种数据同步方法的流程示意图。
【具体实施方式】
[0037]下面结合附图和实施例,对本发明的【具体实施方式】作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0038]本发明实施例一提供了一种数据同步方法,如图1所示,该方法包括在客户端侧的处理和在服务器侧的处理,其中在客户端侧的处理包括:
[0039]步骤101,在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型;
[0040]步骤102,客户端将各个字段的字段标识和各个字段的对应的操作类型导出到更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文,所述更新文件为本地文件该更新文件为本地文件。
[0041]在步骤102之后,用户可以将步骤102中得到的更新文件复制,并在网络许可的环境中将该更新文件上传到服务器端,本发明实施例提供的数据同步方法在服务器端的处理流程,包括:
[0042]步骤103,服务器在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
[0043]本发明实施例提供的数据同步方法中,使客户端记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,并使服务器在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。由于本发明中,客户端生成相应的更新文件,且服务器能够通过读取更新文件的方式完成对服务器端数据库的更新,这样即使安装客户端的终端没有建立到服务器的连接,只要用户能够通过其他网络连接或方式将更新文件上传到服务器上(比如将更新文件复制到移动存储器并在有稳定的网络连接的环境中通过其他上网终端将更新文件发送到服务器)就可以完成服务器端数据库的更新。本发明中,能够允许在安装客户端的终端不与对应的服务器连接的情况下,将对客户端更新的数据同步到服务器。
[0044]优选的,在上述实施例一的基础上,本发明实施例三提供的数据同步方法中,上述的步骤103具体包括:
[0045]当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件;
[0046]当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件;
[0047]当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
[0048]优选的,在上述任一实施例的基础上,本发明实施例三提供的数据同步方法中,在步骤102之前,客户端侧的处理还可以包括:
[0049]所述客户端生成各个字段对应的md5值,并添加到更新文件中;
[0050]在步骤103之前,服务器侧的处理还包括:
[0051]所述服务器根据更新文件中的md5值判断所述更新文件是否被非法更改;
[0052]此时步骤103具体包括:
[0053]所述服务器在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0054]通过本发明实施例三提供的数据同步方法,可以避免服务器根据被破坏或者被更改的更新文件更新服务器端的数据库,保证了服务器端数据库的安全性。
[0055]优选的,在上述任一实施例的基础上,本发明实施例四提供的数据同步方法中,在步骤102之前,客户端侧的处理还可以包括:
[0056]所述客户端在所述更新文件中添加所述客户端的软件版本号;
[0057]所述步骤103之前,该方法在数据库端的处理还包括:
[0058]所述服务器判断更新文件中的软件版本号是否与服务器对应的软件版本号是否
一致;
[0059]步骤103包括:
[0060]所述服务器在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0061]优选的,上述任一实施例中,所述更新文件为服务端可读取的数据库操作语句。
[0062]下面结合具体应用场景,对本发明实施例提供的数据同步方法进行详细的说明,该方法包括客户端侧的处理和服务器端的处理,其中在客户端侧的处理包括:
[0063]步骤201,组织数据。
[0064]步骤201,具体包括:[0065]1、读取客户端的版本信息,将版本信息存入临时目录下的info-parameter.properties 文件中。
[0066]2、对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为标准的数据库操作语句,把生成的这些数据库语句存储到导出临时目录下的Exp_data.xml文件中。
[0067]3、对数据库中大字段存储的数据导出成文件放到临时目录中,数据库字段与目录的对应关系为:
[0068]CLOB — CL0B_DIR; BLOB — BL0B_DIR; RAW — RAff_DIR
[0069]4、对通过客户端添加的附件,通过查询文件信息表,把文件拷贝到临时目录中,FILE_DIR.中。
[0070]5、压缩临时目录中的文件,生成临时文件夹中所有文件的md5值并写入digest—parameter.1ni。
[0071]步骤202,数据导出。
[0072]步骤202具体包括:将步骤201中组织的数据导出为本地文件(即更新文件)。
[0073]在步骤202之后,用户可以通过多种方式将步骤202中的本地文件上传,比如在一个没有网络连接的施工工地,用户可以将在该施工工地产生的本地文件复制到移动存储设备中,之后在施工工地之外有网络连接的地方,将该本地文件上传到服务器。
[0074]在服务器端的处理可以包括:
[0075]步骤203,读取数据包并更新服务器端数据库。这里的数据包是用户上传的步骤202中产生的更新文件。
[0076]读取数据包包括:
[0077]1、读取压缩包总的版本文件信息、与服务端进行匹配性验证。解析读取数据操作文件,执行数据库操作。
[0078]2、读取文件目录,大字段文件夹下的内容,将大字段中的文件内容写入服务端对应表总。
[0079]步骤204、断开同步连接,清理临时目录下内容。
[0080]基于相同的构思,本发明实施例五还提供了一种数据同步系统,包括:
[0081]客户端,用于在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文件;所述更新文件为本地文件;
[0082]服务器,用于在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
[0083]优选的,所述服务器,具体用于当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件;当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件;当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
[0084]优选的,所述客户端还用于生成各个字段对应的md5值,并添加到更新文件中;[0085]所述服务器还用于,根据更新文件中的md5值判断所述更新文件是否被非法更改,并在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0086]优选的,所述客户端还用于在所述更新文件中添加所述客户端的软件版本号;
[0087]所述服务器还用于判断更新文件中的软件版本号是否与服务器对应的软件版本号是否一致,并在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
[0088]优选的,所述更新文件为服务端可读取的数据库操作语句。
[0089]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种数据同步方法,其特征在于,用于服务器与客户端之间的数据同步,所述方法包括: 在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文件;所述更新文件为本地文件; 服务器在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
2.如权利要求1所述的方法,其特征在于,所述根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作,包括: 当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件; 当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件; 当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
3.如权利要求1所述的方法,其特征在于,所述客户端导出更新文件之前,所述方法还包括: 所述客户端生成各个字段对应的md5值,并添加到更新文件中; 所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作之前,所述方法还包括: 所述服务器根据更新文件中的md5值判断所述更新文件是否被非法更改; 所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作具体包括: 所述服务器在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
4.如权利要求1所述的方法,其特征在于,所述客户端导出更新文件之前,所述方法还包括: 所述客户端在所述更新文件中添加所述客户端的软件版本号; 所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作之前,所述方法还包括: 所述服务器判断更新文件中的软件版本号是否与服务器对应的软件版本号是否一致; 所述服务器根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作具体包括: 所述服务器在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
5.如权利要求1所述的方法,其特征在于,所述更新文件为服务端可读取的数据库操作语句。
6.一种数据同步系统,其特征在于,包括: 客户端,用于在用户对客户端数据库进行更新后,客户端对应的记录用户在客户端数据库所操作的各个字段的字段标识以及针对各个字段所执行操作的操作类型并导出为更新文件,当针对一个字段的操作类型为增加或修改时,还将该字段更新后的数据文件导出到所述更新文件;所述更新文件为本地文件; 服务器,用于在接收到更新文件后,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行中的相应字段执行相应的操作。
7.如权利要求6所述的系统,其特征在于,所述服务器,具体用于当一个字段标识对应的操作类型为删除时,在服务器端数据库中删除该字段标识对应的数据文件;当一个字段标识对应的操作类型为增加时,在服务器端数据库中增加该字段标识,并增加在字段标识对应的数据文件;当一个字段标识对应的操作类型为修改时,将服务器端数据库中该字段标识对应的数据文件替换为更新文件中该字段标识对应的数据文件。
8.如权利要求6所述的系统,其特征在于,所述客户端还用于生成各个字段对应的md5值,并添加到更新文件中; 所述服务器还用于,根据更新文件中的md5值判断所述更新文件是否被非法更改,并在判断所述更新文件没有被非法更改时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
9.如权利要求6所述的系统,其特征在于,所述客户端还用于在所述更新文件中添加所述客户端的软件版本号; 所述服务器还用于判断更新文件中的软件版本号是否与服务器对应的软件版本号是否一致,并在判断所述更新文件中的客户端版本号与服务器对应的软件版本号一致时,根据更新文件中的字段标识、对应的操作类型以及更新后的数据文件对服务器端数据库进行相应的操作。
10.如权利要求6所述的系统,其特征在于,所述更新文件为服务端可读取的数据库操作语句。
【文档编号】H04L29/08GK103793482SQ201410021140
【公开日】2014年5月14日 申请日期:2014年1月16日 优先权日:2014年1月16日
【发明者】陈显龙, 罗新伟, 陈晓龙, 杨志鹏, 牛仁义, 刘海平 申请人:北京恒华伟业科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1