CN102063511A - 数据同步系统及方法 - Google Patents
数据同步系统及方法 Download PDFInfo
- Publication number
- CN102063511A CN102063511A CN2011100244568A CN201110024456A CN102063511A CN 102063511 A CN102063511 A CN 102063511A CN 2011100244568 A CN2011100244568 A CN 2011100244568A CN 201110024456 A CN201110024456 A CN 201110024456A CN 102063511 A CN102063511 A CN 102063511A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- server
- binary stream
- database
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据同步系统,包括:生成模块,用于当存在对第一数据库内的数据或者第一文件内的文件进行操作时,生成相应操作的类对象,并将该类对象序列化成二进制流;传送模块,用于将该二进制流按照顺序传送给第二服务器;接收模块,用于接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中;及执行模块,用于反序列化操作队列表中的二进制流,并根据该反序列化后的操作数据对第二数据库中的数据或第二文件中的文件进行相应操作。本发明还提供了一种数据同步方法。利用本发明,可以实现对不同数据类型或文件类型的服务器中的数据进行同步操作。
Description
技术领域
本发明涉及一种数据处理系统及方法,尤其涉及一种数据同步系统及方法。
背景技术
在服务器系统中,很多服务器中存储了大量的数据和文件,当用户修改数据或文件时,需要逐个服务器进行操作。且数据类型和文件类型很多,服务器内的数据同步需要根据不同的数据类型和文件类型来逐个修改。目前已有的一些数据同步的方案,不能同时处理多种类型的数据,不够灵活。
发明内容
本发明所要解决的技术问题是提供一种数据同步系统及方法,使得不同类型的数据可以同步更新。
解决本发明的技术问题所采用的技术方案是:提供一种数据同步系统,运行于第一服务器和第二服务器,该第一服务器包括第一数据库和第一文件,第二服务器包括第二数据库和第二文件,所述数据同步系统包括:
生成模块,用于当存在对第一数据库内的数据或者第一文件内的文件进行操作时,生成相应操作的类对象,并将该类对象序列化成二进制流;
传送模块,用于将该二进制流按照顺序传送给第二服务器;
接收模块,用于接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中;及
执行模块,用于反序列化操作队列表中的二进制流,并根据该反序列化后的操作数据对第二数据库中的数据或第二文件中的文件进行相应操作。
本发明还提供一种数据同步方法,所述方法包括如下步骤:
当存在对第一数据库内的数据或者第一文件内的文件进行操作时,生成相应操作的类对象,并将该类对象序列化成二进制流;
将该二进制流按照顺序传送给第二服务器;
第二服务器接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中;及
反序列化操作队列表中的二进制流,并根据该反序列化后的操作数据对第二数据库中的数据或第二文件中的文件进行相应操作。
与现有技术相比,上述技术方案至少具有以下优点:
1.对于不同类型的数据库数据或各种类型的文件都可以实行同步;
2.快速实行服务器内的操作同步;
3.节省了时间,提高了工作效率。
附图说明
下面将结合附图及实施方式对本发明作进一步说明,附图中:
图1是本发明数据同步系统较佳实施例的运行环境图;
图2是图1中数据同步系统10的功能模块图;
图3是本发明数据同步方法较佳实施例的作业流程图。
具体实施方式
如图1所示,是本发明数据同步系统较佳实施例的运行环境图。该数据同步系统10运行于第一服务器1和第二服务器2中。该第一服务器1包括第一数据库11和、第一文件12及传输队列表13该第二服务器2包括第二数据库20、第二文件21及操作队列表22。
该第一数据库11存储了用于操作的所有数据,第一文件12包括所有第一服务器1内所有类型的文件。第二数据库20中存储了与第一数据库相同的数据,第二文件21所包括的文件和第一文件12包括的文件相同。当用户对第一数据库11中的数据或第一文件12进行操作时,该数据同步系统10用于同步更新第二数据库20中的数据或第二文件21中的所有文件。所述传输队列表13用于存储对第一数据库11和第一文件12操作的操作数据,并将该操作数据传输给第二服务器2,该第二服务器2将接收到的操作数据存储至操作对列表22中,并按照存储顺序执行所述操作数据。本较佳实施例中,该第一服务器1通过webservice传送操作数据至第二服务器2。
如图2所示,是图1中数据同步系统10的功能模块图。该数据同步系统10包括:侦测模块100、生成模块101、存储模块102、传送模块103、接收模块104及执行模块105。本发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此在本发明以下对软件描述中都以模块描述。本实施例中,是以利用面向对象的编程语言来说明本发明。
侦测模块100用于侦测是否存在对第一数据库11内的数据或者第一文件12内的文件进行操作。本实施例中,该操作包括对数据或文件的增加、删除及修改等。
当第一数据库11内的数据或第一文件12内的文件有被操作时,生成模块101用于生成相应操作的类对象,并将该类对象序列化成二进制流。该类对象可能为数据库辅助类对象,也可能为文件操作辅助类对象。
存储模块102用于将所述二进制流存入所述传输队列表13中。
传送模块103用于将该传输队列表13中的二进制流按照顺序传送给第二服务器2。本实施例中,所述顺序是指传输队列表13内的存储顺序,本发明不局限于该队列的存储方式,可以为其他数据结构。
接收模块104用于接收第一服务器1发送的二进制流,将该二进制流按照顺序插入至所述操作队列表22中,并返回插入结果给第一服务器1。该插入结果为成功插入至该操作队列表22中或失败插入至该操作队列表22中。
执行模块105用于反序列化所述操作队列表22中的二进制流,并根据该反序列化后的操作数据对第二数据库20中的数据或第二文件21中的文件进行相应操作。
所述侦测模块100还用于侦测第二服务器2发送的插入结果是否为插入成功。若为成功,则该侦测模块100还用于对传输列表中对应的二进制流标记为成功状态。若为失败,则所述传送模块103继续传送该二进制流至所述第二服务器2。
如图3所示,是本发明数据同步方法较佳实施例的流程图。
步骤S30,侦测模块100侦测是否存在对第一数据库11内的数据或者第一文件12内的文件进行操作。本实施例中,该操作包括对数据或文件的增加、删除及修改等。若存在对第一数据库11内的数据或者第一文件12内的文件进行操作,则执行步骤S31,若不存在所述操作,则继续执行该步骤S30继续侦测。
步骤S31,生成模块101生成相应操作的类对象,并将该类对象序列化成二进制流。该类对象可能为数据库辅助类对象,也可能为文件操作辅助类对象。
步骤S32,存储模块102将所述二进制流存入所述传输队列表13中。
步骤S33,传送模块103将该传输队列表13中的二进制流按照顺序传送给第二服务器2。本实施例中,所述顺序是指传输队列表13内的存储顺序,本发明不局限于该队列的存储方式,可以为其他数据结构。
步骤S34,接收模块104接收第一服务器1发送的二进制流,将该二进制流按照顺序插入至所述操作队列表22中,并返回插入结果给第一服务器1。该插入结果为成功插入至该操作队列表22中或失败插入至该操作队列表22中。
步骤S35,执行模块105反序列化所述操作队列表22中的二进制流,并根据该反序列化后的操作数据对第二数据库20中的数据或第二文件21中的文件进行相应操作。
步骤S36,所述侦测模块100侦测第二服务器2发送的插入结果是否为插入成功。若为成功,则执行步骤S37。若不成功,则返回至步骤S33。
步骤S37,侦测模块100对传输列表中对应的二进制流标记为成功状态
需要指出的是,步骤S36至步骤S37可以与步骤S35同时执行,也可先于步骤S35执行。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据同步系统,运行于第一服务器和第二服务器,该第一服务器包括第一数据库和第一文件,第二服务器包括第二数据库和第二文件,其特征在于,所述数据同步系统包括:
生成模块,用于当存在对第一数据库内的数据或者第一文件内的文件进行操作时,生成相应操作的类对象,并将该类对象序列化成二进制流;
传送模块,用于将该二进制流按照顺序传送给第二服务器;
接收模块,用于接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中;及
执行模块,用于反序列化操作队列表中的二进制流,并根据该反序列化后的操作数据对第二数据库中的数据或第二文件中的文件进行相应操作。
2.如权利要求1所述的数据同步系统,其特征在于,该系统还包括存储模块,用于将所述序列化后的二进制流存入传输队列表中。
3.如权利要求1所述的数据同步系统,其特征在于,所述接收模块还用于将二进制流插入至所述操作队列表的插入结果返回至第一服务器。
4.如权利要求3所述的数据同步系统,其特征在于,该系统还包括侦测模块,用于侦测第二服务器发送的插入结果是否为插入成功,若为成功,则该侦测模块还用于对传输列表中对应的二进制流标记为成功状态。
5.如权利要求1所述的数据同步系统,其特征在于,所述对第一数据库内的数据或第一文件内文件的操作包括对数据或文件的增加、删除及修改。
6.一种如权利要求1所述的数据同步方法,其特征在于,所述方法包括如下步骤:
当存在对第一数据库内的数据或者第一文件内的文件进行操作时,生成相应操作的类对象,并将该类对象序列化成二进制流;
将该二进制流按照顺序传送给第二服务器;
第二服务器接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中;及
反序列化操作队列表中的二进制流,并根据该反序列化后的操作数据对第二数据库中的数据或第二文件中的文件进行相应操作。
7.如权利要求6所述的数据同步方法,其特征在于,于步骤将该二进制流按照顺序传送给第二服务器之前还包括:
将所述序列化后的二进制流存入传输队列表中。
8.如权利要求6所述的数据同步方法,其特征在于,于步骤第二服务器接收第一服务器发送的二进制流,将该二进制流按照顺序插入至操作队列表中之后还包括:
将二进制流插入至所述操作队列表的插入结果返回至第一服务器;
第一服务器侦测第二服务器发送的插入结果是否为插入成功;
若为成功,则对传输列表中对应的二进制流标记为成功状态;及
若为失败,则返回至将该二进制流按照顺序传送给第二服务器步骤。
9.如权利要求6所述的数据同步方法,其特征在于,所述对第一数据库内的数据或第一文件内文件的操作包括对数据或文件的增加、删除及修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100244568A CN102063511A (zh) | 2011-01-21 | 2011-01-21 | 数据同步系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100244568A CN102063511A (zh) | 2011-01-21 | 2011-01-21 | 数据同步系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102063511A true CN102063511A (zh) | 2011-05-18 |
Family
ID=43998786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100244568A Pending CN102063511A (zh) | 2011-01-21 | 2011-01-21 | 数据同步系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063511A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571939A (zh) * | 2011-12-26 | 2012-07-11 | 广州市玄武无线科技有限公司 | 一种跨平台通信方法及系统 |
CN103902254A (zh) * | 2012-12-24 | 2014-07-02 | 上海格尔软件股份有限公司 | 信息系统三权分立管理中基于操作序列化的审核实现方法 |
CN105912701A (zh) * | 2016-04-26 | 2016-08-31 | 南京玛锶腾智能科技有限公司 | 一种用于智能机器人的文件处理方法 |
CN106408441A (zh) * | 2015-07-29 | 2017-02-15 | Ls 产电株式会社 | 能量管理系统 |
CN113032818A (zh) * | 2021-05-27 | 2021-06-25 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1505516A1 (en) * | 2003-08-04 | 2005-02-09 | Sap Ag | Metadata based query |
CN101719149A (zh) * | 2009-12-03 | 2010-06-02 | 联动优势科技有限公司 | 数据同步方法及装置 |
-
2011
- 2011-01-21 CN CN2011100244568A patent/CN102063511A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1505516A1 (en) * | 2003-08-04 | 2005-02-09 | Sap Ag | Metadata based query |
CN101719149A (zh) * | 2009-12-03 | 2010-06-02 | 联动优势科技有限公司 | 数据同步方法及装置 |
Non-Patent Citations (1)
Title |
---|
詹自熬等: "基于XML和MSMQ的数据同步系统设计与实现", 《河南科学》, vol. 27, no. 2, 28 February 2009 (2009-02-28), pages 201 - 204 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571939A (zh) * | 2011-12-26 | 2012-07-11 | 广州市玄武无线科技有限公司 | 一种跨平台通信方法及系统 |
CN103902254A (zh) * | 2012-12-24 | 2014-07-02 | 上海格尔软件股份有限公司 | 信息系统三权分立管理中基于操作序列化的审核实现方法 |
CN103902254B (zh) * | 2012-12-24 | 2017-07-18 | 上海格尔软件股份有限公司 | 信息系统三权分立管理中基于操作序列化的审核实现方法 |
CN106408441A (zh) * | 2015-07-29 | 2017-02-15 | Ls 产电株式会社 | 能量管理系统 |
CN105912701A (zh) * | 2016-04-26 | 2016-08-31 | 南京玛锶腾智能科技有限公司 | 一种用于智能机器人的文件处理方法 |
CN113032818A (zh) * | 2021-05-27 | 2021-06-25 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
CN113032818B (zh) * | 2021-05-27 | 2021-08-31 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828935B (zh) | 一种基于can fd总线的并行刷写方法 | |
CN102637214B (zh) | 基于数据库服务间的通用数据同步方法及其系统 | |
CN103095769B (zh) | 跨机房的数据同步方法以及系统 | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
CN102063511A (zh) | 数据同步系统及方法 | |
CN103002024B (zh) | 应用程序升级系统和应用程序升级方法 | |
CN109542865A (zh) | 分布式集群系统配置文件同步方法、装置、系统及介质 | |
CN101110706A (zh) | 一种配置数据同步方法 | |
CN103019874B (zh) | 基于数据同步实现异常处理的方法及装置 | |
CN107515933A (zh) | 修改源数据库表结构的方法、服务器、系统及存储介质 | |
CN103916482A (zh) | 一种基于sqlite的数据同步传输方法 | |
CN103095758B (zh) | 一种分布式文件系统及该系统中处理文件数据的方法 | |
CN102857529A (zh) | 一种基于时间戳的离线应用系统 | |
CN106569863B (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN103500120A (zh) | 基于多线程异步双写的分布式缓存高可用处理方法及系统 | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN110222117A (zh) | 一种异构数据库的数据转换同步方法、设备及存储介质 | |
CN104657158A (zh) | 一种业务系统中业务处理的方法和装置 | |
CN102902620A (zh) | 基于gdb的异构计算调试环境的实现系统 | |
CN102238017B (zh) | 实现本地软件更新提醒的方法及系统 | |
CN106034113A (zh) | 数据处理方法及装置 | |
CN105450712A (zh) | 一种数据传输方法及装置 | |
CN104881485A (zh) | 一种数据同步方法及系统 | |
CN104079623A (zh) | 多级云存储同步控制方法及系统 | |
CN104679493A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110518 |