CN103873517A - 一种数据同步的方法、装置和系统 - Google Patents
一种数据同步的方法、装置和系统 Download PDFInfo
- Publication number
- CN103873517A CN103873517A CN201210543604.1A CN201210543604A CN103873517A CN 103873517 A CN103873517 A CN 103873517A CN 201210543604 A CN201210543604 A CN 201210543604A CN 103873517 A CN103873517 A CN 103873517A
- Authority
- CN
- China
- Prior art keywords
- file
- configuration
- data
- data file
- task
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据同步的方法、装置和系统,其中,该方法包括:根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;根据配置文件的配置,将数据文件上传至指定的第一目标地址,以完成数据同步。本发明有效地解决了相关技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,提高了数据同步的灵活性。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种数据同步的方法、装置和系统。
背景技术
在通信技术领域中,数据同步技术具有广泛的应用。目前,主流的数据同步方式包括消息同步和文件同步两种方式,对于消息同步方式,在处理大数据量同步时效率较低,可靠性也差;文件同步方式虽然弥补了这种缺陷,但其主要应用方式,还只是针对某个具体服务器上数据,为完成某个具体功能而单独进行实施配置部署。这种应用方式,功能相对单一,通用性和灵活性也不足,具体来说,当系统数据需要割接拆分或扩容时,在新增服务器上必须重新配置并部署相同数据同步模块,原始数据同步文件被拆分成多份,进而产生同步文件数量不一致和命名冲突等问题,后续相关接口都要做适应性修改,由此带来一系列棘手问题,不但配置复杂维护成本增加,而且升级风险也在加大。
针对现有技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据同步的方法、装置和系统,以解决现有技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题。
为解决上述技术问题,一方面,本发明提供一种数据同步的方法,包括:根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;根据配置文件的配置,将数据文件上传至指定的第一目标地址,以完成数据同步。
优选地,根据配置文件的配置,将数据文件上传至指定的第一目标地址时,还包括:根据配置文件的配置,生成用以校验数据文件对应的核查文件,其中,核查文件中包含数据文件的属性信息;将数据文件和核查文件协同数据文件一同上传至指定的第一目标地址。
优选地,根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件包括:根据配置文件中的数据库信息配置项,确定当前任务对应的数据库信息;根据确定的数据库信息,确定与当前任务对应的数据库服务器,并与确定的数据库服务器连接;执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前任务所需的数据文件。
优选地,根据配置文件的配置,生成与导出的数据文件对应的核查文件包括;根据配置文件的配置,对导出的数据文件的属性进行分析;根据分析结果生成核查文件,其中,核查文件包括以下至少之一:数据文件的名称、数据文件的大小、数据文件的记录数、数据文件的时间参数。
优选地,在将数据文件和核查文件上传至指定的第一目标地址之前,上述方法还包括;判断当前任务是否需要执行合并操作;当需要执行合并操作时,将数据文件和核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在第二目标地址内对数据文件进行合并和/或核查文件进行合并。
优选地,合并节点的配置项包括以下至少之一:合并前源文件所在路径、合并文件类型,文件核查个数、合并后文件分割最大记录阙值、文件分割序列号长度、合并后文件头内容配置、合并后文件名称、合并后文件保存路径、原始文件备份目录和保存时间、是否支持文件压缩。
另一方面,本发明还提供一种数据同步的装置,包括:数据导出单元,用于根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;上传单元,用于根据配置文件的配置,将数据文件上传至指定的第一目标地址,以完成数据同步。
优选地,该装置还包括:核查文件生成单元,用于根据配置文件的配置,生成用以校验数据文件的核查文件,其中,核查文件中包含数据文件的属性信息,上传单元将核查文件协同数据文件一同上传至指定的第一目标地址。
优选地,数据导出单元包括:第一确定模块,用于根据配置文件中的数据库信息配置项,确定当前任务对应的数据库信息;第二确定模块,用于根据确定的数据库信息,确定与当前任务对应的数据库服务器,并与确定的数据库服务器连接;执行模块,用于执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前任务所需的数据文件。
优选地,核查文件生成单元包括;分析模块,用于根据配置文件的配置,对导出的数据文件的属性进行分析;生成模块,用于根据分析结果生成核查文件,其中,核查文件包括以下至少之一:数据文件的名称、数据文件的大小、数据文件的记录数、数据文件的时间参数。
优选地,该装置还包括;判断单元,用于在将数据文件和核查文件上传至指定的第一目标地址之前,判断当前任务是否需要执行合并操作;合并单元,用于在判断单元的判断需要执行合并操作时,则将数据文件和核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在第二目标地址内对数据文件进行合并和/或核查文件进行合并。
另一方面,本发明还提供一种数据同步的系统,包括:数据库客户端、数据库服务器以及上述的数据同步的装置,其中,数据同步的装置与数据库客户端连接,用于通过数据库客户端访问数据库服务器。
本发明有益效果如下:
在本发明中,通过对配置文件的不同配置,获取数据同步过程中不同任务所需的数据文件,以完成不同任务的数据同步,这种数据同步的方式有效地解决了相关技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,提高了数据同步的灵活性。
附图说明
图1是本发明实施例中数据同步的方法的一种优选的流程图;
图2是本发明实施例中数据同步的方法中导出数据文件的一种优选的流程图;
图3是本发明实施例中数据同步的方法中合并文件的一种优选的流程图;
图4是本发明实施例中数据同步的方法中FTP上传文件的一种优选的流程图;
图5是本发明实施例中数据同步的装置的一种优选的结构框图;
图6是本发明实施例中数据同步的装置的另一种优选的结构框图;
图7是本发明实施例中数据同步的装置的又一种优选的结构框图;
图8是本发明实施例中数据同步的装置的又一种优选的结构框图。
具体实施方式
为了解决现有技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,本发明提供了一种数据同步的方法、装置和系统,下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
本发明优选的实施例提供了一种数据同步的方法,图1示出该方法的一种优选的流程图,如图1所示,该方法包括如下步骤S102-S104:
S102,根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;
优选地,通过数据库客户端访问数据库服务器,根据配置文件的配置项,向数据库服务器发送相关指令,优选的,该指令可以是用于导出数据文件的可执行的导出语句,也可以是SQL脚本文件。
具体来说,在进行数据同步的系统内安装数据库客户端,通过该客户端提供远程访问和操作数据库服务器的能力。数据库服务器主要存储系统各种原始数据资源,需要时可导出同步给外部系统。优选地,考虑系统的负载均衡和运行安全因素,原始数据资源可以分散和备份在多个数据库服务器上。在获取数据文件过程中,根据配置文件的配置,向对应数据库服务器发送可执行导出语句或SQL导出脚本文件,并根据执行结果返回生成数据文件。优选地,配置文件可支持多任务多数据库模式,即,配置文件可支持同时配置多个数据文件导出任务,各个导出任务之间相互独立,每个任务都可以对多个数据库进行访问和操作,并导出数据文件。
优选地,配置文件的各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的导出任务配置,部署时只需按具体情况稍作修改即可。优选地,配置文件各节点配置通常包括如下配置项:数据库信息配置、导出脚本文件配置项(包括导出前预处理SQL语句配置、导出SQL语句配置、导出后SQL语句配置、导出数据文件名配置,导出数据文件存放路径配置)等。
S104,根据上述配置文件的配置,将数据文件上传至指定的第一目标地址,以完成数据同步。
优选地,根据配置文件的配置,将数据文件上传至指定的第一目标地址时,还包括:根据配置文件的配置,生成用以校验数据文件的核查文件,其中,核查文件中包含数据文件的属性信息;将核查文件协同数据文件一同上传至指定的第一目标地址。
具体来说,根据配置文件的配置,对上述生成的数据文件的属性进行分析,并记录,作为核查文件,该核查文件用于对生成的数据文件进行校验。优选地,该核查文件包括但不限于以下参数:数据文件的名称、数据文件的大小、数据文件的记录数、数据文件的时间参数。
优选地,核查文件的记录规则可以如下:无文件头,一行是一条记录,以“\r\n”结束,每条记录各个字段之间以“|”分隔符按顺序相连。内容包括导出数据文件名称,文件大小,文件总记录数,文件生成日期时间等。进一步地,核查文件通过配置可实现三种生成模式:不生成;一一对应生成模式;一对多模式。一一对应生成模式即一个核查文件只记录一个导出数据文件;一对多模式,即一个核查文件记录多个导出数据文件。此外,核查文件内容支持自由组合配置,通过配置可选择性记录数据文件属性。优选地,可支持的变量替换包括导出数据文件名称{filename},文件大小{filesize},文件总记录数{totalline},文件生成日期{datetime}。假定核查文件内容配置如下:checkcontent={filename}|{totalline}|{datetime},则核查文件记录内容只包括导出数据文件名称,文件总记录数,文件生成日期三个属性。
将数据文件和核查文件上传至外部系统指定的服务器目录,通过核查文件中包含的属性信息对该数据文件进行校验,保证数据同步。优选地,采用FTP(File Transfer Protocol,TCP/IP网络上两台计算机传送文件的协议协议)同步上传文件。进一步的,上传过程支持多任务模式,每个任务之间相互独立,各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的上传任务配置,部署时只需按具体情况稍作修改即可。各个节点配置通常包括上传文件类型,对端服务器IP地址,FTP指定端口,FTP用户名,FTP密码,FTP远程路径等。优选地,在上传过程中,还支持失败重传机制,具体地,在上传之前判断连接和登录远程服务器是否正常,正常连接,则开始同步上传。如果上传失败,则继续重传,当失败次数超过限定值,则向告警模块发送文件上传失败信息,并记录日志备查。告警模块用于接收各种告警和错误通知消息,并入库保存,用户可通过巡检工具查询并显示该告警信息。通知消息,一般包括发送方进程号,业务类型标识,告警级别,错误码,错误描述信息等。此外,还可以通过日志模块记录各个模块的操作步骤和执行的情况,便于跟踪和定位问题。
在本发明中,通过对配置文件的不同配置,获取数据同步过程中不同任务所需的数据文件,以完成不同任务的数据同步,这种数据同步的方式有效地解决了相关技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,提高了数据同步的灵活性。
在本发明的一个优选的实施方式中,还对上述方法进行了优化,具体来说,提供了一种根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件的方案,该方案包括如下步骤:根据配置文件中的数据库信息配置项,确定当前任务对应的数据库信息;根据确定的数据库信息,确定与当前任务对应的数据库服务器,并与确定的数据库服务器连接;执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前任务所需的数据文件。
优选地,数据库信息配置项为一组字符串,并且具有扩展性,支持多行配置。优选地,配置规则如下:是各字段以分割线“|”作为分隔符按顺序相连,它们依次是数据库类型,数据库服务名,登录用户名,登录密码和导出过程文件名称。进一步地,导出脚本文件(如导出前和导出后SQL语句的配置)也支持多行配置,此时系统识别并组装为SQL脚本文件。此外,各SQL语句配置和文件名配置还支持日期变量替换,包括YYYY、MM、DD,并可以自由组合,如YYYYMMDD表示当前年月日。
下面结合附图对上述导出数据文件的过程进行具体描述:
图2示出一种导出数据文件的优选的流程图,如图2所示,主要包括如下步骤:
步骤202,在流程开始时,系统判断定时任务时间是否已经到达,如果时间到达,则执行步骤204,否则,返回并继续等待。
步骤204,从任务列表中查找到一个任务,如果任务不存在或者均已经完成,则返回结束。否则,进入步骤206。
步骤206,根据任务和配置节点映射关系,获取该任务的对应配置项集合。
步骤208,解析配置项集合,分解数据库信息配置并保存,对导出文件名称配置进行变量替换处理,对所有SQL语句配置进行变量替换处理后,生成SQL脚本文件。然后进入步骤210。
步骤210,从数据库信息配置中,获取一个数据库信息,该数据库信息包括:数据库类型,数据库服务名,登录用户名,登录密码和导出过程文件名称。如果获取成功,则进入步骤212,否则,进入步骤214。
步骤212,根据获取到的数据库信息,远程连接和登录该数据库服务器,操作执行SQL导出脚本,并根据返回结果,生成数据文件。
步骤214,结束该任务,保存数据文件到指定目录。然后转步骤204,开始下一个任务。
在本发明的一个优选的实施方式中,还对上述方法进行了优化,具体地,将数据文件和核查文件上传至指定的第一目标地址之前,方法还包括;判断当前任务是否需要执行合并操作;若判断结果为是,则将数据文件和核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在第二目标地址内对数据文件进行合并和/或核查文件进行合并。
具体来说,根据配置文件配置,对指定服务器目录下指定类型的文件进行核查并合并,生成新的数据文件。此功能作为可选功能,通常系统在做数据割接或扩容时,加载该功能,将割接后的多个服务器上数据库导出的数据文件或核查文件合并起来,合并后的文件名称保持与割接升级前一致。
进一步地,该功能支持多任务模式,每个任务之间相互独立,各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的合并任务配置。各节点配置通常包括合并前源文件所在本地路径,合并文件类型,文件核查个数,合并后文件分割最大记录阙值,文件分割序列号长度,合并后文件头内容配置,合并后文件名称,合并后文件所在本地保存路径,原始文件备份目录和保存时间,是否支持文件压缩等。
优选地,合并文件类型支持通配符模式。通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。文件核查个数是指在合并前巡检源文件目录,检索文件类型包含文件个数达到合并要求的最小值。
优选地,合并后文件支持文件头配置,若不配置则无文件头,具体内容可通过配置直接描述,其中,配置可包含的替换变量有:合并后总记录数{totalnum}和日期时间{datetime}。
优选地,合并后文件还支持最大记录阙值分割。具体地,若配置为空,则文件记录大小不受限制,否则,当超过文件限定的记录数,对合并后文件进行分割拆分,根据文件分割序列号长度和位置配置,对分割文件重新命名分配名称。同样,文件名配置也支持日期变量替换,包括YYYY、MM、DD,并可以自由组合,如YYYYMMDD表示当前年月日。分割序列号在文件名称位置通过配置变量替换{SEQ}实现。假定文件分割序列号长度为4,合并后文件名称配置如下:
filename=cardinfo_YYYYMMDD_{SEQ}.txt,
则合并再分割的文件名称形如:cardinfo_20120515_0001.txt
优选地,对合并后文件进行压缩,对原始数据文件复制到指定目录进行备份,并定期清理备份目录下过期文件。
下面结合附图对上述合并文件的实现方法进行具体描述:
图3示出一种合并文件的实现流程图,如图3所示,包括如下步骤:
步骤302、在流程开始时,系统判断定时任务时间是否已经到达,如果时间到达,则执行步骤304,否则,返回继续等待。
步骤304,从任务列表中查找到一个任务,如果任务不存在或者均已经完成,则返回结束。否则,进入步骤306。
步骤306,根据任务和配置节点映射关系,获取该任务的对应配置项集合。
步骤308,对该任务配置的目标目录下的文件进行过滤处理,核查是否与文件类型配置一致,是否存在文件头且与配置是否一致,文件内容是否为空,文件个数是否达到要求合并的最小值等。然后,进入步骤310。
步骤310,对目标目录下符合要求的文件进行内容合并处理,写入一个临时文件中,并复制源文件到备份目录。然后,进入步骤312。
步骤312,对临时文件的总记录数进行校验并判定,如果超过文件分割规则设定的阙值,则进入步骤314,否则,进入步骤316。
步骤314,对临时文件按照文件分割规则进行拆分处理,生成多个数据文件。这些数据文件名称通过变量替换获取分割序列号值,随文件拆分个数按顺序递增。在合并后文件名称配置项中,该分割序列号位置支持自由配置。然后,进入步骤316。
步骤316,改临时文件或拆分后文件为正式文件,并保存到指定目录,结束该任务。然后,转至步骤304,开始下一个任务。
图4示出一种FTP上传文件的优选的流程图,如图4所示,包括如下步骤:
步骤402,在流程开始时,系统判断定时任务时间是否已经到达,如果时间到达,则执行步骤404,否则,返回继续等待。
步骤404,从任务列表中查找到一个任务,如果任务不存在或者均已经完成,则返回结束。否则,进入步骤406。
步骤406,根据任务和配置节点映射关系,获取该任务的对应配置项集合。然后,进入步骤408。
步骤408,解析该任务下配置项集合,获取远程服务器FTP相关信息,判断目标目录下存在需要上传的文件,然后进行FTP连接和登录测试。如果登录成功,则进入步骤410,否则,发送告警消息并记录日志,进入步骤416。
步骤410,开始上传该任务配置的目标目录下符合文件类型要求的文件。然后,进入步骤412。
步骤412,对FTP上传返回结果进行判定,如果失败,则进入步骤414,否则,进入步骤416。
步骤414,对FTP失败次数进行统计,如果失败次数低于配置限定值,则进入步骤410,重新上传,否则,发送告警消息并记录日志,进入步骤416。
步骤416,转移目标目录下文件到备份目录,并结束该任务。然后,转至步骤404,开始下一个任务。
实施例2
基于上述实施例1中提供的数据同步的方法,本优选的实施例提供了一种数据同步的装置,图5示出上述装置的一种优选的结构框图,如图5所示,该装置包括:
数据导出单元502,用于根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;优选地,数据导出单元502通过数据库客户端访问数据库服务器,根据配置文件的配置项,向数据库服务器发送相关指令,优选的,该指令可以是用于导出数据文件的可执行的导出语句,也可以是SQL脚本文件。
具体来说,在进行数据同步的系统内安装数据库客户端,数据导出单元502通过该客户端提供远程访问和操作数据库服务器的能力。数据库服务器主要存储系统各种原始数据资源,需要时可导出同步给外部系统。优选地,考虑系统的负载均衡和运行安全因素,原始数据资源可以分散和备份在多个数据库服务器上。在获取数据文件过程中,根据配置文件的配置,向对应数据库服务器发送可执行导出语句或SQL导出脚本文件,并根据执行结果返回生成数据文件。优选地,配置文件可支持多任务多数据库模式,即,配置文件可支持同时配置多个数据文件导出任务,各个导出任务之间相互独立,每个任务都可以对多个数据库进行访问和操作,并导出数据文件。
优选地,配置文件的各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的导出任务配置,部署时只需按具体情况稍作修改即可。优选地,配置文件各节点配置通常包括如下配置项:数据库信息配置、导出脚本文件配置项(包括导出前预处理SQL语句配置、导出SQL语句配置、导出后SQL语句配置、导出数据文件名配置,导出数据文件存放路径配置)等。
上传单元504,与数据导出单元502连接,用于根据配置文件的配置,将数据文件上传至指定的第一目标地址,以完成数据同步。
优选地,如图6所示,上述装置还包括:核查文件生成单元602,与数据导出单元502和上传单元504连接,用于根据配置文件的配置,生成用以校验数据文件的核查文件,其中,核查文件中包含数据文件的属性信息,上传单元504将核查文件协同数据文件一同上传至指定的第一目标地址。在第一目标地址内,根据核查文件中包含的属性信息对数据文件进行校验,以完成数据同步。
优选地,核查文件生成单元602包括:分析模块,用于根据配置文件的配置,对导出的数据文件的属性进行分析;生成模块,用于根据分析结果生成核查文件,其中,核查文件包括以下至少之一:数据文件的名称、数据文件的大小、数据文件的记录数、数据文件的时间参数。
优选地,核查文件的记录规则可以如下:无文件头,一行是一条记录,以“\r\n”结束,每条记录各个字段之间以“|”分隔符按顺序相连。内容包括导出数据文件名称,文件大小,文件总记录数,文件生成日期时间等。进一步地,核查文件通过配置可实现三种生成模式:不生成;一一对应生成模式;一对多模式。一一对应生成模式即一个核查文件只记录一个导出数据文件;一对多模式,即一个核查文件记录多个导出数据文件。此外,核查文件内容支持自由组合配置,通过配置可选择性记录数据文件属性。优选地,可支持的变量替换包括导出数据文件名称{filename},文件大小{filesize},文件总记录数{totalline},文件生成日期{datetime}。假定核查文件内容配置如下:checkcontent={filename}|{totalline}|{datetime},则核查文件记录内容只包括导出数据文件名称,文件总记录数,文件生成日期三个属性。
将数据文件和核查文件上传至外部系统指定的服务器目录,通过核查文件中包含的属性信息对该数据文件进行校验,保证数据同步。优选地,采用FTP(File Transfer Protocol,TCP/IP网络上两台计算机传送文件的协议协议)同步上传文件。进一步的,上传过程支持多任务模式,每个任务之间相互独立,各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的上传任务配置,部署时只需按具体情况稍作修改即可。各个节点配置通常包括上传文件类型,对端服务器IP地址,FTP指定端口,FTP用户名,FTP密码,FTP远程路径等。优选地,在上传过程中,还支持失败重传机制,具体地,在上传之前判断连接和登录远程服务器是否正常,正常连接,则开始同步上传。如果上传失败,则继续重传,当失败次数超过限定值,则向告警模块发送文件上传失败信息,并记录日志备查。告警模块用于接收各种告警和错误通知消息,并入库保存,用户可通过巡检工具查询并显示该告警信息。通知消息,一般包括发送方进程号,业务类型标识,告警级别,错误码,错误描述信息等。此外,还可以通过日志模块记录各个模块的操作步骤和执行的情况,便于跟踪和定位问题。
在本发明中,通过对配置文件的不同配置,获取数据同步过程中不同任务所需的数据文件,以完成不同任务的数据同步,这种数据同步的方式有效地解决了相关技术中文件同步方式只能针对特定服务器的特定功能进行同步,通用性较差的问题,提高了数据同步的灵活性。
在本发明的一个优选的实施方式中,还对上述装置进行了优化,具体来说,提供了一种根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件的方案,如图7所示,数据导出单元包括:
第一确定模块702,用于根据配置文件中的数据库信息配置项,确定当前任务对应的数据库信息;第二确定模块704,与第一确定模块702连接,用于根据确定的数据库信息,确定与当前任务对应的数据库服务器,并与确定的数据库服务器连接;执行模块706,与第二确定模块704连接,用于执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前任务所需的数据文件。
优选地,数据库信息配置项为一组字符串,并且具有扩展性,支持多行配置。优选地,配置规则如下:是各字段以分割线“|”作为分隔符按顺序相连,它们依次是数据库类型,数据库服务名,登录用户名,登录密码和导出过程文件名称。进一步地,导出脚本文件(如导出前和导出后SQL语句的配置)也支持多行配置,此时系统识别并组装为SQL脚本文件。此外,各SQL语句配置和文件名配置还支持日期变量替换,包括YYYY、MM、DD,并可以自由组合,如YYYYMMDD表示当前年月日。
在本发明的一个优选的实施方式中,还对上述装置进行了优化,具体地,如图8所示,该装置还包括:判断单元802,用于在将数据文件和核查文件上传至指定的第一目标地址之前,判断当前任务是否需要执行合并操作;合并单元804,与判断单元802连接,用于在判断单元的判断需要执行合并操作时,则将数据文件和核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在第二目标地址内对数据文件和/或核查文件进行合并。具体来说,根据配置文件配置,对指定服务器目录下指定类型的文件进行核查并合并,生成新的数据文件。此功能作为可选功能,通常系统在做数据割接或扩容时,加载该功能,将割接后的多个服务器上数据库导出的数据文件或核查文件合并起来,合并后的文件名称保持与割接升级前一致。
进一步地,该功能支持多任务模式,每个任务之间相互独立,各个任务为一个结构化节点配置,该节点配置具有扩展性,可通过复制整个节点增加新的合并任务配置。各节点配置通常包括合并前源文件所在本地路径,合并文件类型,文件核查个数,合并后文件分割最大记录阙值,文件分割序列号长度,合并后文件头内容配置,合并后文件名称,合并后文件所在本地保存路径,原始文件备份目录和保存时间,是否支持文件压缩等。
优选地,合并文件类型支持通配符模式。通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。文件核查个数是指在合并前巡检源文件目录,检索文件类型包含文件个数达到合并要求的最小值。
优选地,合并后文件支持文件头配置,若不配置则无文件头,具体内容可通过配置直接描述,其中,配置可包含的替换变量有:合并后总记录数{totalnum}和日期时间{datetime}。
优选地,合并后文件还支持最大记录阙值分割。具体地,若配置为空,则文件记录大小不受限制,否则,当超过文件限定的记录数,对合并后文件进行分割拆分,根据文件分割序列号长度和位置配置,对分割文件重新命名分配名称。同样,文件名配置也支持日期变量替换,包括YYYY、MM、DD,并可以自由组合,如YYYYMMDD表示当前年月日。分割序列号在文件名称位置通过配置变量替换{SEQ}实现。假定文件分割序列号长度为4,合并后文件名称配置如下:
filename=cardinfo_YYYYMMDD_{SEQ}.txt,
则合并再分割的文件名称形如:cardinfo_20120515_0001.txt
优选地,对合并后文件进行压缩,对原始数据文件复制到指定目录进行备份,并定期清理备份目录下过期文件。
实施例3
基于上述实施例1提供的数据同步的方法和实施例2中提供的数据同步的装置,本优选的实施例提供了一种数据同步的系统,该系统包括:数据库客户端、数据库服务器以及上述实施例2中记载的数据同步的装置,其中,数据同步的装置与数据库客户端连接,用于通过数据库客户端访问数据库服务器。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (12)
1.一种数据同步的方法,其特征在于,所述方法包括以下步骤:
根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;
根据所述配置文件的配置,将所述数据文件上传至指定的第一目标地址,以完成数据同步。
2.如权利要求1所述的方法,其特征在于,所述根据所述配置文件的配置,将所述数据文件上传至指定的第一目标地址时,还包括:
根据所述配置文件的配置,生成用以校验所述数据文件的核查文件,其中,所述核查文件中包含所述数据文件的属性信息;
将所述核查文件协同所述数据文件一同上传至指定的第一目标地址。
3.如权利要求1或2所述的方法,其特征在于,所述根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件包括:
根据配置文件中的数据库信息配置项,确定当前所述任务对应的数据库信息;
根据确定的数据库信息,确定与当前所述任务对应的数据库服务器,并与确定的所述数据库服务器连接;
执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前所述任务所需的数据文件。
4.如权利要求2所述的方法,其特征在于,所述根据所述配置文件的配置,生成与导出的所述数据文件对应的核查文件包括;
根据所述配置文件的配置,对导出的所述数据文件的属性进行分析;
根据分析结果生成所述核查文件,其中,所述核查文件包括以下至少之一:所述数据文件的名称、所述数据文件的大小、所述数据文件的记录数、所述数据文件的时间参数。
5.如权利要求2所述的方法,其特征在于,在将所述数据文件和所述核查文件上传至指定的第一目标地址之前,所述方法还包括;
判断当前所述任务是否需要执行合并操作;
当需要执行合并操作时,将所述数据文件和所述核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在所述第二目标地址内对所述数据文件进行合并和/或所述核查文件进行合并。
6.如权利要求5所述的方法,其特征在于,所述合并节点的配置项包括以下至少之一:合并前源文件所在路径、合并文件类型,文件核查个数、合并后文件分割最大记录阙值、文件分割序列号长度、合并后文件头内容配置、合并后文件名称、合并后文件保存路径、原始文件备份目录和保存时间、是否支持文件压缩。
7.一种数据同步的装置,其特征在于,包括:
数据导出单元,用于根据配置文件的配置,从数据库服务器中导出当前任务所需的数据文件;
上传单元,用于根据所述配置文件的配置,将所述数据文件上传至指定的第一目标地址,以完成数据同步。
8.如权利要求7所述的装置,其特征在于,还包括:
核查文件生成单元,用于根据所述配置文件的配置,生成用以校验所述所述数据文件的核查文件,其中,所述核查文件中包含所述数据文件的属性信息,
所述上传单元将所述核查文件协同所述数据文件一同上传至指定的第一目标地址。
9.如权利要求7或8所述的装置,其特征在于,所述数据导出单元包括:
第一确定模块,用于根据配置文件中的数据库信息配置项,确定当前所述任务对应的数据库信息;
第二确定模块,用于根据确定的数据库信息,确定与当前所述任务对应的数据库服务器,并与确定的所述数据库服务器连接;
执行模块,用于执行配置文件中的导出脚本文件,从确定的数据库服务器中导出当前所述任务所需的数据文件。
10.如权利要求8所述的装置,其特征在于,所述核查文件生成单元包括;
分析模块,用于根据所述配置文件的配置,对导出的所述数据文件的属性进行分析;
生成模块,用于根据分析结果生成所述核查文件,其中,所述核查文件包括以下至少之一:所述数据文件的名称、所述数据文件的大小、所述数据文件的记录数、所述数据文件的时间参数。
11.如权利要求8所述的装置,其特征在于,还包括;
判断单元,用于在将所述数据文件和所述核查文件上传至指定的第一目标地址之前,判断当前所述任务是否需要执行合并操作;
合并单元,用于在所述判断单元的判断需要执行合并操作时,则将所述数据文件和所述核查文件上传至指定的第二目标地址,根据配置文件中合并节点的配置项,在所述第二目标地址内对所述数据文件进行合并和/或所述核查文件进行合并。
12.一种数据同步的系统,其特征在于,包括:数据库客户端、数据库服务器以及权利要求7至11中任一项所述的数据同步的装置,其中,所述数据同步的装置与所述数据库客户端连接,用于通过所述数据库客户端访问所述数据库服务器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543604.1A CN103873517B (zh) | 2012-12-14 | 2012-12-14 | 一种数据同步的方法、装置和系统 |
PCT/CN2013/083584 WO2014090002A1 (zh) | 2012-12-14 | 2013-09-16 | 一种数据同步的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210543604.1A CN103873517B (zh) | 2012-12-14 | 2012-12-14 | 一种数据同步的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873517A true CN103873517A (zh) | 2014-06-18 |
CN103873517B CN103873517B (zh) | 2017-07-14 |
Family
ID=50911638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210543604.1A Active CN103873517B (zh) | 2012-12-14 | 2012-12-14 | 一种数据同步的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103873517B (zh) |
WO (1) | WO2014090002A1 (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933127A (zh) * | 2015-06-12 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 基于MariaDB的跨机房数据库同步设备及方法 |
CN106445951A (zh) * | 2015-08-07 | 2017-02-22 | 中兴通讯股份有限公司 | 一种文件传输方法和装置 |
CN106559496A (zh) * | 2016-12-06 | 2017-04-05 | 安徽金曦网络科技股份有限公司 | 网络数据同步系统 |
WO2017080174A1 (zh) * | 2015-11-13 | 2017-05-18 | 乐视控股(北京)有限公司 | 视频上传的方法及系统 |
WO2017084410A1 (zh) * | 2015-11-17 | 2017-05-26 | 中兴通讯股份有限公司 | 一种网管数据同步方法及装置 |
CN108173891A (zh) * | 2016-12-07 | 2018-06-15 | 北京京东尚科信息技术有限公司 | 基于广播机制实现数据同步的方法及装置 |
CN108427682A (zh) * | 2017-02-14 | 2018-08-21 | 北京国双科技有限公司 | 一种数据文件同步方法及装置 |
CN108804457A (zh) * | 2017-04-28 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
CN109032620A (zh) * | 2018-07-20 | 2018-12-18 | 北京百度网讯科技有限公司 | 应用程序的配置文件生成方法和装置 |
CN109376026A (zh) * | 2018-09-14 | 2019-02-22 | 上海新炬网络信息技术股份有限公司 | 一种基于脚本的数据同步校验实现方法 |
CN109739549A (zh) * | 2018-12-28 | 2019-05-10 | 武汉长光科技有限公司 | 一种基于微服务的设备性能采集方法 |
CN110389937A (zh) * | 2019-07-26 | 2019-10-29 | 上海英方软件股份有限公司 | 一种基于数据库数据同步传输文件的方法及系统 |
CN111427938A (zh) * | 2020-03-18 | 2020-07-17 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN111563114A (zh) * | 2020-04-29 | 2020-08-21 | 北京新致君阳信息技术有限公司 | 信息处理方法、装置、设备和存储介质 |
CN112363983A (zh) * | 2020-11-10 | 2021-02-12 | 北京思特奇信息技术股份有限公司 | 一种集群主机的文件核查方法和系统 |
CN112911335A (zh) * | 2021-02-03 | 2021-06-04 | 烽火通信科技股份有限公司 | 一种基于视频编码的服务调度方法、视频服务器和机顶盒 |
CN115442361A (zh) * | 2022-08-30 | 2022-12-06 | 重庆长安汽车股份有限公司 | 一种大批量文件的同步传输方法、系统、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897772B (zh) * | 2020-08-05 | 2024-02-20 | 光大兴陇信托有限责任公司 | 一种大文件数据导入方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010438A1 (en) * | 2002-05-01 | 2006-01-12 | Thales Avionics, Inc. | Method and system for configuration and download in a restricted architecture network |
CN101505225A (zh) * | 2008-02-05 | 2009-08-12 | 北京掌讯远景数码信息技术有限公司 | 数据传送方法及系统 |
CN102033889A (zh) * | 2009-09-29 | 2011-04-27 | 熊凡凡 | 分布式数据库并行处理系统 |
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其系统 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996067B (zh) * | 2009-08-19 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种数据导出的方法和装置 |
-
2012
- 2012-12-14 CN CN201210543604.1A patent/CN103873517B/zh active Active
-
2013
- 2013-09-16 WO PCT/CN2013/083584 patent/WO2014090002A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010438A1 (en) * | 2002-05-01 | 2006-01-12 | Thales Avionics, Inc. | Method and system for configuration and download in a restricted architecture network |
CN101505225A (zh) * | 2008-02-05 | 2009-08-12 | 北京掌讯远景数码信息技术有限公司 | 数据传送方法及系统 |
CN102033889A (zh) * | 2009-09-29 | 2011-04-27 | 熊凡凡 | 分布式数据库并行处理系统 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其系统 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933127A (zh) * | 2015-06-12 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 基于MariaDB的跨机房数据库同步设备及方法 |
CN106445951A (zh) * | 2015-08-07 | 2017-02-22 | 中兴通讯股份有限公司 | 一种文件传输方法和装置 |
CN106445951B (zh) * | 2015-08-07 | 2022-05-17 | 中兴通讯股份有限公司 | 一种文件传输方法和装置 |
WO2017080174A1 (zh) * | 2015-11-13 | 2017-05-18 | 乐视控股(北京)有限公司 | 视频上传的方法及系统 |
WO2017084410A1 (zh) * | 2015-11-17 | 2017-05-26 | 中兴通讯股份有限公司 | 一种网管数据同步方法及装置 |
CN106559496A (zh) * | 2016-12-06 | 2017-04-05 | 安徽金曦网络科技股份有限公司 | 网络数据同步系统 |
CN108173891A (zh) * | 2016-12-07 | 2018-06-15 | 北京京东尚科信息技术有限公司 | 基于广播机制实现数据同步的方法及装置 |
CN108427682A (zh) * | 2017-02-14 | 2018-08-21 | 北京国双科技有限公司 | 一种数据文件同步方法及装置 |
CN108804457B (zh) * | 2017-04-28 | 2021-10-08 | 北京京东尚科信息技术有限公司 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
CN108804457A (zh) * | 2017-04-28 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
CN109032620A (zh) * | 2018-07-20 | 2018-12-18 | 北京百度网讯科技有限公司 | 应用程序的配置文件生成方法和装置 |
CN109376026A (zh) * | 2018-09-14 | 2019-02-22 | 上海新炬网络信息技术股份有限公司 | 一种基于脚本的数据同步校验实现方法 |
CN109739549A (zh) * | 2018-12-28 | 2019-05-10 | 武汉长光科技有限公司 | 一种基于微服务的设备性能采集方法 |
CN110389937A (zh) * | 2019-07-26 | 2019-10-29 | 上海英方软件股份有限公司 | 一种基于数据库数据同步传输文件的方法及系统 |
CN111427938A (zh) * | 2020-03-18 | 2020-07-17 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN111427938B (zh) * | 2020-03-18 | 2023-08-29 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN111563114A (zh) * | 2020-04-29 | 2020-08-21 | 北京新致君阳信息技术有限公司 | 信息处理方法、装置、设备和存储介质 |
CN111563114B (zh) * | 2020-04-29 | 2022-02-25 | 北京新致君阳信息技术有限公司 | 信息处理方法、装置、设备和存储介质 |
CN112363983A (zh) * | 2020-11-10 | 2021-02-12 | 北京思特奇信息技术股份有限公司 | 一种集群主机的文件核查方法和系统 |
CN112911335A (zh) * | 2021-02-03 | 2021-06-04 | 烽火通信科技股份有限公司 | 一种基于视频编码的服务调度方法、视频服务器和机顶盒 |
CN112911335B (zh) * | 2021-02-03 | 2022-05-27 | 烽火通信科技股份有限公司 | 一种基于视频编码的服务调度方法、视频服务器和机顶盒 |
CN115442361A (zh) * | 2022-08-30 | 2022-12-06 | 重庆长安汽车股份有限公司 | 一种大批量文件的同步传输方法、系统、设备及介质 |
CN115442361B (zh) * | 2022-08-30 | 2024-06-04 | 重庆长安汽车股份有限公司 | 一种大批量文件的同步传输方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103873517B (zh) | 2017-07-14 |
WO2014090002A1 (zh) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873517A (zh) | 一种数据同步的方法、装置和系统 | |
CN104317843A (zh) | 一种数据同步etl系统 | |
CN111212111B (zh) | 对象存储服务管理方法及电子设备 | |
CN105005618A (zh) | 一种异构数据库之间的数据同步方法及系统 | |
CN110135194B (zh) | 一种基于区块链的工业互联网数字对象的管理方法 | |
CN105447046A (zh) | 一种分布式系统数据一致性处理方法、装置和系统 | |
US20100088197A1 (en) | Systems and methods for generating remote system inventory capable of differential update reports | |
CN109981279B (zh) | 一种区块链系统、通信方法、装置、设备及介质 | |
CN102368261A (zh) | 一种可扩展的运维报表生成方法 | |
CN113206763A (zh) | 一种适应于物联管理平台的仿真测试系统及方法 | |
CN104994177A (zh) | 网盘系统的同步方法、终端设备和网盘系统 | |
CN101964795A (zh) | 日志采集系统、日志采集方法和日志回收服务器 | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN103034735A (zh) | 一种大数据分布式文件导出方法 | |
CN105245392A (zh) | 基线检查修复方法及装置 | |
CN113315754A (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN105635218B (zh) | 软件中心系统 | |
CN111782345A (zh) | 容器云平台日志收集及分析告警方法 | |
CN112269690A (zh) | 一种数据备份的方法和装置 | |
CN115905413A (zh) | 一种基于Python协程和DataX的数据同步平台 | |
CN105959363A (zh) | 一种自适应硬件配置的大数据集群部署方法 | |
CN113127526A (zh) | 一种基于Kubernetes的分布式数据存储和检索系统 | |
KR101191832B1 (ko) | 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템 | |
CN111241044B (zh) | 搭建异构数据库的方法、装置、设备及可读存储介质 | |
CN109445988A (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 |