实现不同终端在数据库上进行数据同步的方法与流程

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