数据文件导入系统、装置及方法
【专利摘要】本发明公开了一种数据文件导入装置,所述装置包括:接收模块,用于接收所述数据文件;验证模块,用于识别所述数据文件中的预定规则并提取所述预定规则,验证所述数据文件是否符合所述预定规则并生成验证结果;导入模块,用于在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到数据库的存储空间中。本发明还公开了一种数据文件导入方法。本发明通过异步的方式将数据文件导入到数据库中,能够减轻客户端的工作负荷,防止在服务器数据库中断接收客户端发送的SQL数据记录时客户端不断地执行入库的逻辑,从而减少客户端出现Bug的可能性。
【专利说明】数据文件导入系统、装置及方法
【【技术领域】】
[0001]本发明涉及数据文件导入领域,特别涉及一种数据文件导入系统、装置及方法。【【背景技术】】
[0002]传统的将数据文件从客户端导入到服务器数据库中的技术方案为:
[0003]首先,客户端准备好要导入到服务器数据库中的数据文件,接着,客户端对数据文件进行合法性校验和过滤,然后,客户端与服务器数据库建立通信连接,最后,客户端将数据文件转换成符合SQL (Structured Query Language,结构化查询语言)语法的SQL数据记录,并将该SQL数据记录导入到服务器数据库中。
[0004]上述技术方案存在以下缺陷:
[0005]上述客户端中的SQL数据记录是逐步地导入到服务器数据库中的,这个过程耗时且效率低下,而在此过程中,当大量、分散的客户端要将SQL数据记录导入到服务器数据库中时,服务器数据库的响应会变慢,从而影响客户端的运作,此外,当服务器数据库由于某种原因中断该SQL数据记录的导入时,针对客户端的SQL数据记录的导入则前功尽弃,此时,客户端会不断地请求服务器数据库将文件导入,即客户端会不断地执行入库的逻辑,直到服务器数据库恢复导入SQL数据记录为止。这样会妨碍客户端执行其它操作,容易使客户端出现Bug (缺陷);此外,还会降低客户端的运行效率,不利于减轻客户端的负荷。
[0006]故,有必要提出一种新的技术方案,以解决上述技术问题。
【
【发明内容】
】
[0007]本发明的一个目的在于提供一种数据文件导入装置,其能以一种新的数据入库方式来将数据文件导入到服务器数据库中,减轻客户端的工作负荷,防止在服务器数据库中断服务时影响客户端提交的SQL数据记`录,从而降低对客户端软件的容灾要求,提高了数据文件入库的可靠性。
[0008]为解决上述问题,本发明提供了一种数据文件导入装置,所述装置包括:接收模块,用于接收所述数据文件;验证模块,用于识别所述数据文件中的预定规则并提取所述预定规则,验证所述数据文件是否符合所述预定规则并生成验证结果;导入模块,用于在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到数据库的存储空间中。
[0009]本发明的另一个目的在于提供一种数据文件导入方法,其能以一种新的数据入库方式来将数据文件导入到服务器数据库中,减轻客户端的工作负荷,防止在服务器数据库中断服务时影响客户端提交的SQL数据记录,从而降低对客户端软件的容灾要求,提高了数据文件入库的可靠性。
[0010]为解决上述问题,本发明提供了一种数据文件导入方法,所述方法包括以下步骤:接收所述数据文件;识别所述数据文件中的预定规则并提取所述预定规则;验证所述数据文件是否符合所述预定规则并生成验证结果;在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到数据库的存储空间中。
[0011]本发明的另一个目的在于提供一种数据文件导入系统,其能以一种新的数据入库方式来将数据文件导入到服务器数据库中,减轻客户端的工作负荷,防止在服务器数据库中断服务时影响客户端提交的SQL数据记录,从而降低对客户端软件的容灾要求,提高了数据文件入库的可靠性。
[0012]为解决上述问题,本发明提供了一种数据文件导入系统,所述系统包括:客户端,用于提供所述数据文件;数据库,用于提供存储空间;数据文件导入装置,用于从所述客户端接收所述数据文件并将所述数据文件导入到所述数据库的存储空间中;所述数据文件导入装置包括:接收模块,用于接收所述数据文件;验证模块,用于识别所述数据文件中的预定规则并提取所述预定规则,验证所述数据文件是否符合预定规则并生成验证结果;导入模块,用于在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到所述存储空间中。
[0013]相对现有技术,本发明通过异步的方式将数据文件导入到数据库中,防止了在服务器数据库中断服务时影响客户端提交的SQL数据记录,从而降低了对客户端软件的容灾要求,提高了数据文件入库的可靠性,进一步地,本发明由于从客户端接收的是数据文件,而不需等待客户端逐个地导入数据记录,因此在客户端这一侧将数据文件发送到数据文件导入装置这一工作可以在短时间内完成,减轻了客户端的工作负荷,同时减少了客户端对数据文件导入装置的通信带宽的占用,防止在服务器数据库中断接收客户端发送的SQL数据记录时客户端不断地执行入库的逻辑,从而减少客户端出现Bug的可能性。
[0014]为让本发明的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:
【【专利附图】
【附图说明】】
[0015]图1为本发明的数据 文件导入系统的示意图;
[0016]图2为本发明的数据文件导入装置的框图;
[0017]图3为图2中导入模块的框图;
[0018]图4和图5为本发明的数据文件导入方法的流程图。
【【具体实施方式】】
[0019]以下各实施例的说明是参考附加的图式,用以例示本发明可用以实施的特定实施例。
[0020]为了在数据文件导入的过程中减轻客户端的运作负荷,节省客户端的运作时间,以及防止在数据库中断接收客户端发送的SQL数据记录时客户端不断地执行入库的逻辑,维持客户端和数据库的运行稳定,本发明的总体技术方案为:首先从客户端接收要导入的数据文件,该数据文件可以是未经客户端验证或者转换成预定语言的数据记录的,然后对所接收的数据文件进行验证并转换成预定语言的数据记录,再将该数据记录导入到数据库的存储空间中。本发明通过异步的方式将数据文件导入到数据库中,防止了在数据库中断服务时影响客户端提交的SQL数据记录,从而降低了对客户端软件的容灾要求,提高了数据文件入库的可靠性,进一步地,由于从客户端接收的是数据文件,而不需等待客户端逐个地导入数据记录,因此数据文件导入装置可以在短时间内完成数据文件的接收,防止在数据库中断接收客户端发送的SQL数据记录时客户端不断地执行入库的逻辑,从而减少客户端出现Bug的可能性。
[0021]以下为本发明的详细技术方案。
[0022]在本发明中,数据文件的文件名经过规范定义,该文件名直接体现了数据文件要入库的目标库、表信息等,此外,该文件名还指出相应的表的主键涉及的字段个数。数据文件的文件名可以定义为:
[0023]<库名>#〈表名>#〈日期>#〈主键字段数>#<备注>.txt
[0024]例如,一要入库的数据文件的目标位置为:
[0025]
【权利要求】
1.一种数据文件导入装置,其特征在于,所述装置包括: 接收模块,用于接收所述数据文件; 验证模块,用于识别所述数据文件中的预定规则并提取所述预定规则,验证所述数据文件是否符合所述预定规则并生成验证结果; 导入模块,用于在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到数据库的存储空间中。
2.根据权利要求1所述的数据文件导入装置,其特征在于,所述导入模块包括: 转换模块,用于根据所述检验结果将所述数据文件中的数据转换成预定语言的数据记录; 数据写入模块,用于将所述数据记录写入到所述存储空间中。
3.根据权利要求1或2所述的数据文件导入装置,其特征在于,所述导入模块还包括: 监控模块,用于监控所述数据记录是否成功导入到所述存储空间中并生成监控结果; 告警模块,用于在所述监控结果为所述数据记录没有成功导入到所述存储空间中时发出告警信号。
4.根据权利要求3所述的数据文件导入装置,其特征在于,所述导入模块还包括: 定时模块,用于生成定时信息; 所述监控模块还用于在所述监`控结果为所述数据记录没有成功导入到所述存储空间中时根据所述定时信息控制所述导入模块再次执行所述数据记录的导入操作。 所述监控模块还用于在所述数据记录的导入操作次数大于预定值时向所述告警模块发送告警命令; 所述告警模块还用于根据所述告警命令发出所述告警信号。
5.根据权利要求1所述的数据文件导入装置,其特征在于,所述装置还包括: 日志记录模块,用于记录所述接收模块、所述验证模块和所述导入模块中的至少一者的日志。
6.一种数据文件导入方法,其特征在于,所述方法包括以下步骤: 接收所述数据文件; 识别所述数据文件中的预定规则并提取所述预定规则; 验证所述数据文件是否符合所述预定规则并生成验证结果; 在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到数据库的存储空间中。
7.根据权利要求6所述的数据文件导入方法,其特征在于,所述方法还包括以下步骤: 根据所述检验结果将所述数据文件中的数据转换成预定语言的数据记录; 将所述数据记录写入到所述存储空间中。
8.根据权利要求6或7所述的数据文件导入方法,其特征在于,所述方法还包括以下步骤: 监控所述数据记录是否成功导入到所述存储空间中并生成监控结果; 在所述监控结果为所述数据记录没有成功导入到所述存储空间中时发出告警信号。
9.根据权利要求8所述的数据文件导入方法,其特征在于,所述方法还包括以下步骤: 生成定时信息;在所述监控结果为所述数据记录没有成功导入到所述存储空间中时根据所述定时信息控制所述导入模块再次执行所述数据记录的导入操作。 在所述数据记录的导入操作次数大于预定值时向所述告警模块发送告警命令; 根据所述告警命令发出所述告警信号。
10.根据权利要求6所述的数据文件导入方法,其特征在于,所述方法还包括以下步骤: 记录日志。
11.一种数据文件导入系统,其特征在于,所述系统包括: 客户端,用于提供所述数据文件; 数据库,用于提供存储空间; 数据文件导入装置,用于从所述客户端接收所述数据文件并将所述数据文件导入到所述数据库的存储空间中; 所述数据文件导入装置包括: 接收模块,用于接收所述数据文件; 验证模块,用于识别所述数据文件中的预定规则并提取所述预定规则,验证所述数据文件是否符合预定规则并生成 验证结果; 导入模块,用于在所述验证结果为所述数据文件符合预定规则时将所述数据文件中的数据导入到所述存储空间中。
12.根据权利要求11所述的数据文件导入系统,其特征在于,所述导入模块包括: 转换模块,用于根据所述检验结果将所述数据文件中的数据转换成预定语言的数据记录; 数据写入模块,用于将所述数据记录写入到所述存储空间中。
13.根据权利要求11或12所述的数据文件导入系统,其特征在于,所述导入模块还包括: 监控模块,用于监控所述数据记录是否成功导入到所述存储空间中并生成监控结果; 告警模块,用于在所述监控结果为所述数据记录没有成功导入到所述存储空间中时发出告警信号。
14.根据权利要求13所述的数据文件导入系统,其特征在于,所述导入模块还包括: 定时模块,用于生成定时信息; 所述监控模块还用于在所述监控结果为所述数据记录没有成功导入到所述存储空间中时根据所述定时信息控制所述导入模块再次执行所述数据记录的导入操作。 所述监控模块还用于在所述数据记录的导入操作次数大于预定值时向所述告警模块发送告警命令; 所述告警模块还用于根据所述告警命令发出所述告警信号。
15.根据权利要求11所述的数据文件导入系统,其特征在于,所述数据文件导入装置还包括: 日志记录模块,用于记录所述接收模块、所述验证模块和所述导入模块中的至少一者的日志。
【文档编号】G06F17/30GK103678423SQ201210362622
【公开日】2014年3月26日 申请日期:2012年9月26日 优先权日:2012年9月26日
【发明者】覃武权, 赵子轩, 钱程路, 李鹤, 芦方, 奚少杰, 吴志坚, 庄子明, 邹永, 林松 申请人:深圳市世纪光速信息技术有限公司