CN105701218B - 实现不同终端在数据库上进行数据同步的方法 - Google Patents

实现不同终端在数据库上进行数据同步的方法 Download PDF

Info

Publication number
CN105701218B
CN105701218B CN201610023490.6A CN201610023490A CN105701218B CN 105701218 B CN105701218 B CN 105701218B CN 201610023490 A CN201610023490 A CN 201610023490A CN 105701218 B CN105701218 B CN 105701218B
Authority
CN
China
Prior art keywords
data
database
formal
web service
interim
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.)
Active
Application number
CN201610023490.6A
Other languages
English (en)
Other versions
CN105701218A (zh
Inventor
李柯
张新星
江涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201610023490.6A priority Critical patent/CN105701218B/zh
Publication of CN105701218A publication Critical patent/CN105701218A/zh
Application granted granted Critical
Publication of CN105701218B publication Critical patent/CN105701218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现不同终端在数据库上进行数据同步的方法,它包括:步骤1、将数据操作端增加、删除、修改的数据在本地分别进行标示存储;步骤2、将数据操作端本地存储的数据上传至.NET Web服务端;步骤3、所述.NET Web服务端再将数据批量写入数据库的临时表;步骤4、数据库将临时表中的数据同步至正式表中。本发明通过差异化的数据同步更新,避免了多个终端设备用同一账户登录的情况下在数据管理上出现混乱的情况,方便了对数据的管理和维护。

Description

实现不同终端在数据库上进行数据同步的方法
技术领域
本发明涉及数据同步服务技术领域,具体涉及一种基于.NET web服务与MSSQL的批量数据同步的方法。
背景技术
随着网络技术的快速发展,Web服务技术已经十分成熟,目前三种常用的Web服务:RPC-远程过程式调用、SOA-面向服务的架构以及REST-表征状态转换都得到了很好的发展和使用。
数据库是平台开发中必不可少的数据管理平台,目前可使用的数据库平台有很多,小型数据库***有Foxpro,ACCESS,PARADOX等,大型数据库***有DB2,ORACLE,SYBASE,SQL SERVER等。
随着手机、PC等本地存储的不断发展,不同终端在共用一种账户的情况下,本地缓存由于上传平台的时间顺序不同,可能导致数据管理上出现混乱的情况,需要实现一个数据上传及管理机制对数据进行管理和维护。
发明内容
本发明克服了现有技术的不足,提供一种实现不同终端在数据库上进行数据同步的方法,用于解决不同终端在共用一种账户的情况下,可能导致数据管理上出现混乱的技术问题。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种实现不同终端在数据库上进行数据同步的方法,它包括:
步骤1、将数据操作端增加、删除、修改的数据在本地分别进行标示存储;
步骤2、将数据操作端本地存储的数据上传至.NET Web服务端;
步骤3、所述.NET Web服务端再将数据批量写入数据库的临时表;
步骤4、数据库将临时表中的数据同步至正式表中。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,它还包括:步骤5、所述.NET Web服务端获取数据库执行结果后,所述.NET Web服务端对结果进行封装处理,然后将处理结果返回给数据操作端进行展示。
根据本发明的另一个实施方案,在所述数据库中的正式表和临时表中增加Id、操作类型和操作时间,所述操作类型分为增加、修改和删除。
根据本发明的另一个实施方案,所述步骤1包括:
对于数据操作端的新增内容,不存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为增加;
对于数据操作端的修改内容,存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为修改;
对于数据操作端的删除内容,存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为删除。
根据本发明的另一个实施方案,所述.NET Web服务端通过SqlBulkCopy方法将数据批量写入数据库的临时表。
根据本发明的另一个实施方案,所述数据库采用MSSQL数据库。
本发明还可以是:
根据本发明的另一个实施方案,数据在所述MSSQL数据库存储的步骤包括:
1)查询临时表中所有Id为空的记录,将所述Id为空的记录***正式表中;
2)查询临时表中Id不为空的记录,根据Id,在正式表中进行Id的查询,如果正式表中没有该Id,则***该条记录到正式表中,如果正式表中有该Id,则执行以下步骤3);
3)判断临时表中字段的操作类型,如果是修改,则根据Id,更新正式表中对应Id的记录内容;如果是删除,则根据Id,删除正式表中该Id对应的记录。
与现有技术相比,本发明的有益效果之一是:
本发明的一种实现不同终端在数据库上进行数据同步的方法,其基于.NET web服务与MSSQL数据库,通过web服务实现对不同终端数据的上传接收,在通过数据库的管理机制对上传数据进行分析,最后根据上传的不同数据处理方法进行差异化的数据同步更新,从而避免了多个终端设备共用一账户在数据管理上出现混乱的情况,方便了对数据的管理和维护。
附图说明
为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
图1为根据本发明一个实施例的数据同步的***组成示意图。
图2为根据本发明一个实施例的数据同步处理流程示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
如图1所示,一种基于.NET web服务与MSSQL的批量数据同步方案组成,主要由数据操作端(PC端、手机客户端)、.NET Web服务端、MSSQL数据库三个部分组成。
数据操作端:数据操作端(PC、手机等)是产生和进行数据修改的工具,用户通过数据操作端进行数据的增、删、改、查,当用户选择数据上传时,调用web服务接口,上传数据进行数据同步。
.NET Web服务端:web服务端在网络上提供web服务,供手机客户端调用。当获取到手机客户端上传的数据后,通过.NET的SqlBulkCopy方法将数据批量写入数据库的临时表,当写入完成后,调用MSSQL数据库提供的存储过程,将临时表的数据与正式表的数据进行合并。
MSSQL数据库:MSSQL数据库一方面保存数据,另一方面,提供数据通道供web服务端进行数据库操作。
如图2所示,图2为根据本发明一个实施例的数据同步处理流程示意图,数据同步方案主要由数据库建表、数据操作端本地处理、web服务处理、数据库操作四个主要步骤组成,详细步骤如下:
步骤1针对需要同步的数据表,需要建立两张字段名称和类型相同的表,一张表作为正式表(如下表A),一张表作为临时写入的表(如下表B),结构上除了数据表设计本身的数据项以外需要增加如下字段,Id:自增字段标示;editType:记录操作类型(增、删、改);editTime:操作时间。其中临时表的Id不是自增字段,可以任意写入值。
表A正式使用表
Id(自增) paraA paraB editType editTime
1 P1 P2 insert
2 P3 P4 insert
3 P5 P6 insert
表B临时数据表
Id(非自增) paraA paraB editType editTime
2 P7 P8 update
3 P5 P6 delete
4 P9 P10 insert
步骤2用户在手机客户端或PC对数据进行操作后,在本地保存数据内容。如果为新增内容,不存储Id标示,只保存数据项和editType(增加)、editTime;如果为修改内容,Id标示保持不变,保存数据项和editType(修改)、editTime;
如果为修改内容,Id标示保持不变,保存数据项和editType(删除)、editTime;
步骤3调用web服务,将数据操作端本地处理和存储的数据上传到平台。
步骤4web服务收到数据后,通过SqlBulkCopy方法将数据批量写入数据库的临时表。
步骤5web服务写入数据成功后,调用MSSQL数据库的存储过程,通过数据库语句处理,将临时表中的数据同步到正式表中,存储过程详细处理步骤如下:
1)查询临时表中所有Id为空的记录,将其***正式表中。
2)查询临时表中Id不为空的记录,根据Id,在正式表中进行Id的查询,如果没有该Id,则***该条记录到正式表中。如果有改Id,则执行下面操作。
3)判断临时表中字段editType的类型,如果是update(修改),则根据Id,更新正式表中对应Id的记录内容;如果是delete(删除),则根据Id,删除正式表中该Id对应的记录。
步骤6存储过程返回执行结果给web服务。
步骤7web服务根据数据库存储过程返回结果,封装数据,返回给用户的数据操作端。
步骤8数据操作端根据web服务返回结果对结果进行展示。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (3)

1.一种实现不同终端在数据库上进行数据同步的方法,其特征在于它包括:
步骤1、将数据操作端增加、删除、修改的数据在本地分别进行标示存储;
步骤2、将数据操作端本地存储的数据上传至.NET Web服务端;
步骤3、所述.NET Web服务端再将数据批量写入数据库的临时表;
步骤4、数据库将临时表中的数据同步至正式表中;
在所述数据库中的正式表和临时表中增加Id、操作类型和操作时间,所述操作类型分为增加、修改和删除;
所述步骤1包括:
对于数据操作端的新增内容,不存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为增加;
对于数据操作端的修改内容,存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为修改;
对于数据操作端的删除内容,存储Id标示,保存数据项、操作类型和操作时间,操作类型标示为删除;
所述数据库采用MSSQL数据库;所述MSSQL数据库存储的步骤包括:
1)查询临时表中所有Id为空的记录,将所述Id为空的记录***正式表中;
2)查询临时表中Id不为空的记录,根据Id,在正式表中进行Id的查询,如果正式表中没有该Id,则***该条记录到正式表中,如果正式表中有该Id,则执行以下步骤3);
3)判断临时表中字段的操作类型,如果是修改,则根据Id,更新正式表中对应Id的记录内容;如果是删除,则根据Id,删除正式表中该Id对应的记录。
2.根据权利要求1所述的实现不同终端在数据库上进行数据同步的方法,其特征在于它还包括:步骤5、所述.NET Web服务端获取数据库执行结果后,所述.NET Web服务端对结果进行封装处理,然后将处理结果返回给数据操作端进行展示。
3.根据权利要求1所述的实现不同终端在数据库上进行数据同步的方法,其特征在于所述.NET Web服务端通过SqlBulkCopy方法将数据批量写入数据库的临时表。
CN201610023490.6A 2016-01-14 2016-01-14 实现不同终端在数据库上进行数据同步的方法 Active CN105701218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610023490.6A CN105701218B (zh) 2016-01-14 2016-01-14 实现不同终端在数据库上进行数据同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610023490.6A CN105701218B (zh) 2016-01-14 2016-01-14 实现不同终端在数据库上进行数据同步的方法

Publications (2)

Publication Number Publication Date
CN105701218A CN105701218A (zh) 2016-06-22
CN105701218B true CN105701218B (zh) 2019-05-07

Family

ID=56227328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610023490.6A Active CN105701218B (zh) 2016-01-14 2016-01-14 实现不同终端在数据库上进行数据同步的方法

Country Status (1)

Country Link
CN (1) CN105701218B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156330A (zh) * 2016-07-06 2016-11-23 北京金山安全管理***技术有限公司 一种数据库适配方法及数据库适配器
CN106339408B (zh) * 2016-08-10 2019-08-23 深圳中兴网信科技有限公司 数据同步方法、数据同步装置和服务器
CN109739936A (zh) * 2019-01-23 2019-05-10 杭州数梦工场科技有限公司 数据同步方法、***、服务器及计算机可读存储介质
CN109933596A (zh) * 2019-02-27 2019-06-25 深圳市轱辘汽车维修技术有限公司 一种数据同步方法、装置及终端设备
CN110209534B (zh) * 2019-06-14 2022-09-16 四川长虹电器股份有限公司 自动备份mysql数据库的***及方法
CN110941615A (zh) * 2019-11-25 2020-03-31 西安精雕软件科技有限公司 分布式分级cnc数据采集转储方法及***
CN112241408B (zh) * 2020-09-30 2024-06-04 航天信息股份有限公司 基于临时表的***数据批量入库方法
CN115391465A (zh) * 2022-10-27 2022-11-25 天津睿智诚科技发展有限公司 基于信号分簇判别的多端数据同步方法、***及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605776A (zh) * 2013-11-28 2014-02-26 北京国双科技有限公司 信息数据库的数据处理方法和装置
CN103793482A (zh) * 2014-01-16 2014-05-14 北京恒华伟业科技股份有限公司 一种数据同步方法和***
CN104967658A (zh) * 2015-05-08 2015-10-07 成都品果科技有限公司 一种多终端设备上的数据同步方法
CN105260485A (zh) * 2015-11-20 2016-01-20 杭州数梦工场科技有限公司 一种数据加载的方法和装置
CN107071005A (zh) * 2017-03-24 2017-08-18 厦门中控生物识别信息技术有限公司 一种数据同步方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051053B2 (en) * 2002-09-30 2006-05-23 Dinesh Sinha Method of lazily replicating files and monitoring log in backup file system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605776A (zh) * 2013-11-28 2014-02-26 北京国双科技有限公司 信息数据库的数据处理方法和装置
CN103793482A (zh) * 2014-01-16 2014-05-14 北京恒华伟业科技股份有限公司 一种数据同步方法和***
CN104967658A (zh) * 2015-05-08 2015-10-07 成都品果科技有限公司 一种多终端设备上的数据同步方法
CN105260485A (zh) * 2015-11-20 2016-01-20 杭州数梦工场科技有限公司 一种数据加载的方法和装置
CN107071005A (zh) * 2017-03-24 2017-08-18 厦门中控生物识别信息技术有限公司 一种数据同步方法及***

Also Published As

Publication number Publication date
CN105701218A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105701218B (zh) 实现不同终端在数据库上进行数据同步的方法
WO2020237797A1 (zh) 一种微服务框架下动态配置管理方法及***
CN106997378B (zh) 基于Redis的数据库数据聚合同步的方法
CN104052822A (zh) 一种企业通讯录与即时消息群组的自动同步方法及***
CN103345521B (zh) 一种在哈希表数据库中处理键值的方法和装置
TWI502384B (zh) 檔案追蹤方法及其所適用之網路通訊裝置
CN106599104A (zh) 一种基于redis集群的海量数据关联方法
CN107070890A (zh) 一种通信网优***中的流数据处理装置及通信网优***
CN102906751A (zh) 一种数据存储、数据查询的方法及装置
CN104484469B (zh) 一种支持多hash map数据库集群***不停机的扩容方法
CN105989076A (zh) 一种数据统计方法以及装置
CN104317957B (zh) 一种报表处理的开放平台、***及报表处理方法
CN102567820A (zh) 动态新闻发布和管理***
CN101000677A (zh) 营销业务推荐的匹配方法及***
CN111488340B (zh) 数据处理方法、装置及电子设备
CN103761136A (zh) 一种基于插件的数据模型动态加载的方法
CN102375827A (zh) 一种对版本化的电网模型数据库进行快速加载的方法
CN115033646A (zh) 一种基于Flink&Doris构建实时数仓***的方法
CN102291453A (zh) 一种数据同步的方法及装置
CN102006156B (zh) 配置数据的板间同步方法及***
CN102411594A (zh) 一种获取信息的方法及装置
CN106599113B (zh) 用于网管***海量性能数据的数据库读写方法
CN111831696A (zh) 基于图理论的资产信息存储方法和***
Tseng et al. A successful application of big data storage techniques implemented to criminal investigation for telecom
CN101882179B (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
GR01 Patent grant
GR01 Patent grant