CN109144950B - 业务数据的存储方法和装置 - Google Patents
业务数据的存储方法和装置 Download PDFInfo
- Publication number
- CN109144950B CN109144950B CN201810804454.2A CN201810804454A CN109144950B CN 109144950 B CN109144950 B CN 109144950B CN 201810804454 A CN201810804454 A CN 201810804454A CN 109144950 B CN109144950 B CN 109144950B
- Authority
- CN
- China
- Prior art keywords
- file
- stored
- service data
- storing
- processing
- 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
Links
Images
Abstract
本发明公开了一种业务数据的存储方法和装置。其中,该方法包括:获取待存储文件,其中,待存储文件中存储有多个业务数据;通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库;为存储后的多个业务数据集合建立对应的索引信息。本发明解决了现有技术中业务数据进行数据入库效率低的技术问题。
Description
技术领域
本发明涉及银行交易领域,具体而言,涉及一种业务数据的存储方法和装置。
背景技术
互联网网贷系统研发基于互联网、云计算、大数据技术的互联网金融信贷产品,由于银行内外接入海量数据,为了保证在线交易系统的稳定性,对数据入库的实时性要求相对较高。而且,互联网网贷系统关联系统较多,且接入的文件类型多样(XML文件,文本文件,压缩的文本文件等内容以结构化数据为主),文件的质量也不能保证(比如存在非法类型的字段,异常字符等导致的无效记录等)。因此,如何高效解析处理文件,将文件数据入库,并且不影响在线交易系统的业务是非常重要的。
一般对于大量结构化数据的入库,主要存在两种方案:第一种方案是将结构化数据转换成数据库批量导入工具可支持的格式(例如csv格式的文件),并使用脚本导入;第二种方案是通过应用程序控制事务,批量提交数据库记录。第一种方案具有性能高的优点,但是存在程序可控性差,一旦出现数据错误,脚本执行失败,无法做故障处理的缺陷;第二种方案存在性能难以提高的问题,但是具有程序可控性好,如果存在数据错误,只需要回滚某个批量的事务,其他批量的事务不受影响的优点。
针对现有技术中业务数据进行数据入库效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种业务数据的存储方法和装置,以至少解决现有技术中业务数据进行数据入库效率低的技术问题。
根据本发明实施例的一个方面,提供了一种业务数据的存储方法,包括:获取待存储文件,其中,待存储文件中存储有多个业务数据;通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库;为存储后的多个业务数据集合建立对应的索引信息。
进一步地,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库包括:通过第一处理程序对待存储文件进行解析,得到多个业务数据集合;通过多个第二处理程序将多个业务数据集合同时存储至数据库。
进一步地,通过第一处理程序对待存储文件进行解析,得到多个业务数据集合包括;通过第一处理程序根据待存储文件的类型,获取待存储文件对应的解析模型;通过第一处理程序利用待存储文件对应的解析模型对待存储文件进行解析,得到多个业务数据集合。
进一步地,在待存储文件的类型为XML的情况下,待存储文件对应的解析模型为StAX模型。
进一步地,通过多个第二处理程序将多个业务数据集合同时存储至数据库包括:通过多个第二处理程序获取多行插入语句;通过多个第二处理程序使用多行插入语句,将多个业务数据集合同时存储至数据库。
进一步地,通过多个第二处理程序使用多行插入语句,将多个业务数据集合同时存储至数据库包括:通过每个第二处理程序获取多行插入语句对应的编译结果;通过每个第二处理程序执行对应的编译结果,将对应的每个业务数据集合同时存储至数据库。
进一步地,在通过每个第二处理程序获取多行插入语句对应的编译结果之前,上述方法还包括:通过每个第二处理程序判断多行插入语句是否已经被执行;如果多行插入语句已经被执行,则通过每个第二处理程序获取多行插入语句对应的编译结果;如果多行插入语句未被执行,则通过每个第二处理程序对多行插入语句进行查询编译,得到多行插入语句对应的编译结果,并存储多行插入语句对应的编译结果。
进一步地,通过每个第二处理程序对多行插入语句进行查询编译,得到多行插入语句对应的编译结果包括:通过每个第二处理程序对多行插入语句进行语句分析,得到分析后的插入语句;通过每个第二处理程序对分析后的插入语句进行查询优化,得到多行插入语句对应的编译结果。
进一步地,在通过多个第二处理程序将多个业务数据集合同时存储至数据库之前,上述方法还包括:开启数据库中的预设功能,其中,预设功能用于对多行插入语句进行查询编译,并对查询编译后的结果进行存储;根据预设插入语句,生成多行插入语句;关闭数据库中的预设事务管理模式,其中,预设事务管理模式用于当多行插入语句执行完毕时,直接对多个业务数据集合进行存储。
进一步地,在通过第一处理程序对待存储文件进行解析,得到多个业务数据集合之前,上述方法还包括:通过第三处理程序获取待存储文件的类型;在待存储文件的类型为压缩类型的情况下,通过第三处理程序对待存储文件进行解压,得到解压后的文件;通过第三处理程序将解压后的文件进行存储。
进一步地,在通过多个第二处理程序将多个业务数据集合同时存储至数据库之后,上述方法还包括:为存储后的多个业务数据集合建立对应的索引信息。
进一步地,获取待存储文件包括:每隔预设时间接收或下载待存储文件。
根据本发明实施例的另一方面,还提供了一种业务数据的存储装置,包括:获取模块,用于获取待存储文件,其中,待存储文件中存储有多个业务数据;处理模块,用于中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库;建立模块,用于为存储后的多个业务数据集合建立对应的索引信息。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的业务数据的存储方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的业务数据的存储方法。
在本发明实施例中,获取待存储文件,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库,为存储后的多个业务数据集合建立对应的索引信息,从而达到了提高数据入库效率,并确保了业务数据批量入库不影响在线交易系统的技术效果,进而解决了现有技术中业务数据进行数据入库效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种业务数据的存储方法的流程图;
图2是根据本发明实施例的一种可选的开启预编译缓存的示意图;
图3是根据本发明实施例的一种可选的业务数据的存储方法的示意图;以及
图4是根据本发明实施例的一种业务数据的存储装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种业务数据的存储方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种业务数据的存储方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取待存储文件,其中,待存储文件中存储有多个业务数据。
具体地,上述的业务数据可以是互联网贷系统中业务数据,业务数据存储在待存储文件中,待存储文件的类型可以是多种,例如,可以是XML(可扩展标记语言,是eXtensible Markup Language的简称)文件,文本文件,压缩的文本文件等类型。
步骤S104,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库。
具体地,上述的数据库可以是PostgreSQL关系型数据库。
步骤S106,为存储后的多个业务数据集合建立对应的索引信息。
在一种可选的方案中,网贷系统的文件处理采用了文件管道,管道中有多个不同的处理程序Handler,不同的Handler可以对待存储文件进行多种处理,将处理后的业务数据记性批量入库,存储至数据库中,在所有的业务数据入库之后,可以为存储后的所有业务数据重建索引。
通过本发明上述实施例,获取待存储文件,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库,为存储后的多个业务数据集合建立对应的索引信息,从而达到了提高数据入库效率,并确保了业务数据批量入库不影响在线交易系统的技术效果,进而解决了现有技术中业务数据进行数据入库效率低的技术问题。
可选地,在本发明上述实施例中,步骤S104,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库包括:通过第一处理程序对待存储文件进行解析,得到多个业务数据集合;通过多个第二处理程序将多个业务数据集合同时存储至数据库,其中,多个第二处理程序与多个业务数据集合一一对应。
具体地,上述的业务数据集合可以是数据页,每页数据页的大小可以根据需要设置成1000条,2000条,5000条等,如果只考虑性能,一个数据页可以包含尽可能多的记录数,但是考虑到可能存在的事务回滚,导致一个数据页的数据无法入库,数据页包含的记录数不能过大。
在一种可选的方案中,多个业务数据的批量入库可以采用分页入库的方式,一个数据页启用一个数据库事务,文件管道中不同的Handler可以依次对待存储文件进行解析和存储,具体可以通过第一Handler将待存储文件中的多个业务数据划分至多个数据页中,然后通过多个第二Handler,也即通过多个线程并行执行数据页批量入库的目的,单库单表每分钟入库量可以达到200万~300万条记录,从而基本上保证了批量入库处理不影响在线交易系统。
可选地,在本发明上述实施例中,通过第一处理程序对待存储文件进行解析,得到多个业务数据集合包括;通过第一处理程序根据待存储文件的类型,获取待存储文件对应的解析模型;通过第一处理程序利用待存储文件对应的解析模型对待存储文件进行解析,得到多个业务数据集合。
可选地,在本发明上述实施例中,在待存储文件的类型为XML的情况下,待存储文件对应的解析模型为StAX模型。
具体地,XML文件的解析和处理一般有两种模型:文档对象模型(DOM)和流模型(Stream),两种模型的优缺点如表1所示,推模型是Java中的实现为SAX接口,是一种靠事件驱动的模型,每读取一个XML节点就触发一个事件,程序负责编写这些事件的处理程序,但是这样的处理方式不够灵活;拉模型是Java中的实现为StAX接口,程序主动读取下一个事件,并且允许选择性地处理某个节点。处理方式灵活,性能最高。网贷系统在实现XML文件解析器时,充分比较了DOM、SAX、StAX等三种XML文件解析方式的优缺点。其中,DOM解析方式内存占用高,在同时处理多个大文件时容易造成内存溢出;流模型中,StAX的解析方式最灵活,性能也最高。因此,在本发明实施例中,采用StAX模型作为解析模型。
在一中可选的方案中,可以针对不同类型的文件,使用不同类型的文件解析器,解析文件,从而得到多个数据页。
表1
可选地,在本发明上述实施例中,通过多个第二处理程序将多个业务数据集合同时存储至数据库包括:通过多个第二处理程序获取多行插入语句;通过多个第二处理程序使用多行插入语句,将多个业务数据集合同时存储至数据库。
具体地,由于单挑INSERT语句可以携带20~50行记录,为了降低与数据库的通信次数,并提高批量入库性能,上述的多行插入语句可以是INSERT INTO table_name VALUES(row1),(row2),(row3)。
在一种可选的方案中,可以通过多个线程使用多行插入语句将多个数据页批量入库,存储至数据库中。
可选地,在本发明上述实施例中,通过多个第二处理程序使用多行插入语句,将多个业务数据集合同时存储至数据库包括:通过每个第二处理程序获取多行插入语句对应的编译结果;通过每个第二处理程序执行对应的编译结果,将对应的每个业务数据集合同时存储至数据库。
在一种可选的方案中,如图2所示,当需要将数据页批量入库时,可以通过JDBC(java数据库连接,是Java DataBase Connectivity的简称)获取多行插入语句,然后通过DBMS(数据库管理系统,是DataBase Management System的简称)获取多行插入语句被编译执行后得到的编译结果,并执行对应的查询结果,从而实现将多个数据页批量入库,存储至数据库中。
可选地,在本发明上述实施例中,在通过每个第二处理程序获取多行插入语句对应的编译结果之前,该方法还包括:通过每个第二处理程序判断多行插入语句是否已经被执行;如果多行插入语句已经被执行,则通过每个第二处理程序获取多行插入语句对应的编译结果;如果多行插入语句未被执行,则通过每个第二处理程序对多行插入语句进行查询编译,得到多行插入语句对应的编译结果,并存储多行插入语句对应的编译结果。
在一种可选的方案中,如图2所示,由于多个业务数据批量入库采用的多行插入语句仅仅存在参数区别,如果多行插入语句被执行多次,其查询编译的编译结果被DBMS缓存,之后再次执行该多行插入语句时可以直接根据编译结果执行查询计划(如图2中步骤②的点划线所示),以将多个数据页批量入库,存储至数据库中,从而极大提高了批量入库性能。
可选地,在本发明上述实施例中,通过每个第二处理程序对多行插入语句进行查询编译,得到多行插入语句对应的编译结果包括:通过每个第二处理程序对多行插入语句进行语句分析,得到分析后的插入语句;通过每个第二处理程序对分析后的插入语句进行查询优化,得到多行插入语句对应的编译结果。
在一种可选的方案中,在多行插入语句首次被执行时(如图2中步骤①的虚线所示),可以首先通过DBMS对多行插入语句进行SQL(结构化查询语言,时Structured QueryLanguage的简称)语句分析,得到分析后的插入语句,然后对分析后的插入语句进行查询优化,从而得到多行插入语句的编译结果,并将编译结果进行缓存。
可选地,在本发明上述实施例中,在通过多个第二处理程序将多个业务数据集合同时存储至数据库之前,该方法还包括:开启数据库中的预设功能,其中,预设功能用于对多行插入语句进行查询编译,并对查询编译后的结果进行存储;根据预设插入语句,生成多行插入语句;关闭数据库中的预设事务管理模式,其中,预设事务管理模式用于当多行插入语句执行完毕时,直接对多个业务数据集合进行存储。
具体地,上述的预设事务管理模式可以是自动提交事务模式,开启自动提交事务模式可以实现每个插入语句在完成时,都被提交或回滚。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。
在一种可选的方案中,为了实现网贷系统对业务数据进行批量入库的性能优化,可以在数据库连接中开启预编译缓存,具体可以通过在连接中设置参数prepareThreshold实现,然后可以重写预设插入语句为多行插入语句,以降低数据库连接与数据库的通信次数,最后还可以关闭自动提交事务,改为程序控制事务的开始和提交,一个事务提交一个数据页的数据。
可选地,在本发明上述实施例中,在通过第一处理程序对待存储文件进行解析,得到多个业务数据集合之前,该方法还包括:通过第三处理程序获取待存储文件的类型;在待存储文件的类型为压缩类型的情况下,通过第三处理程序对待存储文件进行解压,得到解压后的文件;通过第三处理程序将解压后的文件进行存储。
在一中可选的方案中,对于压缩类型的文件,在获取到该压缩类型的文件之后,可以通过第三Handler执行解压缩并保存解压后的文件至本地。
可选地,在本发明上述实施例中,获取待存储文件包括:每隔预设时间接收或下载待存储文件。
具体地,上述的预设时间可以根据批量入库的数据量和批量入库的效率进行设置。
在一种可选的方案中,可以通过定时任务接收或下载关联系统传来的文件,从而得到待存储文件,然后将待存储文件存储至本地。
图3是根据本发明实施例的一种可选的业务数据的存储方法的示意图,下面结合图3对本发明一种优选的实施例进行详细说明,如图3所示,首先,可以通过定时任务接收或下载关联系统传来的文件,然后通过文件管道按步骤处理文件,具体可以通过不同的Handler分别用于处理文件解压、文件解析以及文件中数据的批量入库,在接收到文件之后,可以通过一个Handler将文件存储至本地,如果是压缩类型的文件,可以通过另一个Handler执行解压缩并保存压缩后的文件至本地,在完成将文件存储至本地之后,可以进一步通过一个Handler针对不同类型的文件,使用不同类型的文件解析器,解析文件,最后通过一个Handler根据配置文件确定文件与表的对应关系,采用分页入库的方式,使用数据库事务批量入库,入库时PostgreSQL数据库(如图3中的DB)连接会话启用预编译缓存,并且使用多行插入语句。全量入库之后,再重建索引。并且出现文件处理的错误时,可以通过人工干预处理的方式进行处理。
通过上述方案,网贷系统的文件处理性能比较高,资源占用少,运行稳定,即使出现文件处理的错误,人工干预处理也非常高效便捷,有效保证了网贷系统的在线交易。
实施例2
根据本发明实施例,提供了一种业务数据的存储装置的实施例。
图4是根据本发明实施例的一种业务数据的存储装置的示意图,如图4所示,该装置包括:
获取模块42,用于获取待存储文件,其中,待存储文件中存储有多个业务数据。
具体地,上述的业务数据可以是互联网贷系统中业务数据,业务数据存储在待存储文件中,待存储文件的类型可以是多种,例如,可以是XML(可扩展标记语言,是eXtensible Markup Language的简称)文件,文本文件,压缩的文本文件等类型。
处理模块44,用于中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库。
具体地,上述的数据库可以是PostgreSQL关系型数据库。
建立模块46,用于为存储后的多个业务数据集合建立对应的索引信息。
在一种可选的方案中,网贷系统的文件处理采用了文件管道,管道中有多个不同的处理程序Handler,不同的Handler可以对待存储文件进行多种处理,将处理后的业务数据记性批量入库,存储至数据库中,在所有的业务数据入库之后,可以为存储后的所有业务数据重建索引。
通过本发明上述实施例,获取待存储文件,通过文件管道中的多个处理程序对待存储文件进行处理,并将处理后的多个业务数据存储至数据库,为存储后的多个业务数据集合建立对应的索引信息,从而达到了提高数据入库效率,并确保了业务数据批量入库不影响在线交易系统的技术效果,进而解决了现有技术中业务数据进行数据入库效率低的技术问题。
实施例3
根据本发明实施例,提供了一种存储介质的实施例,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例1中的业务数据的存储方法。
实施例4
根据本发明实施例,提供了一种处理器的实施例,处理器用于运行程序,其中,程序运行时执行上述实施例1中的业务数据的存储方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种业务数据的存储方法,其特征在于,包括:
获取待存储文件,其中,所述待存储文件中存储有多个业务数据;
通过文件管道中的多个处理程序对所述待存储文件进行处理,并将处理后的多个业务数据存储至数据库;
为存储后的多个业务数据集合建立对应的索引信息;
其中,通过所述文件管道中的所述多个处理程序对所述待存储文件进行处理,并将所述处理后的多个业务数据存储至所述数据库,包括:
通过多个第二处理程序将所述多个业务数据集合同时存储至所述数据库,包括:
通过多个第二处理程序获取多行插入语句;
通过所述多个第二处理程序使用所述多行插入语句,将所述多个业务数据集合同时存储至所述数据库。
2.根据权利要求1所述的方法,其特征在于,通过文件管道中的多个处理程序对所述待存储文件进行处理,并将处理后的多个业务数据存储至数据库包括:
通过第一处理程序对所述待存储文件进行解析,得到多个业务数据集合;
通过多个第二处理程序将所述多个业务数据集合同时存储至所述数据库,其中,所述多个第二处理程序与所述多个业务数据集合一一对应。
3.根据权利要求2所述的方法,其特征在于,通过第一处理程序对所述待存储文件进行解析,得到多个业务数据集合包括;
通过所述第一处理程序根据所述待存储文件的类型,获取所述待存储文件对应的解析模型;
通过所述第一处理程序利用所述待存储文件对应的解析模型对所述待存储文件进行解析,得到所述多个业务数据集合。
4.根据权利要求3所述的方法,其特征在于,在所述待存储文件的类型为XML的情况下,所述待存储文件对应的解析模型为StAX模型。
5.根据权利要求1所述的方法,其特征在于,通过所述多个第二处理程序使用所述多行插入语句,将所述多个业务数据集合同时存储至所述数据库包括:
通过每个第二处理程序获取所述多行插入语句对应的编译结果;
通过所述每个第二处理程序执行所述对应的编译结果,将对应的每个业务数据集合同时存储至所述数据库。
6.根据权利要求5所述的方法,其特征在于,在通过每个第二处理程序获取所述多行插入语句对应的编译结果之前,所述方法还包括:
通过所述每个第二处理程序判断所述多行插入语句是否已经被执行;
如果所述多行插入语句已经被执行,则通过所述每个第二处理程序获取所述多行插入语句对应的编译结果;
如果所述多行插入语句未被执行,则通过所述每个第二处理程序对所述多行插入语句进行查询编译,得到所述多行插入语句对应的编译结果,并存储所述多行插入语句对应的编译结果。
7.根据权利要求6所述的方法,其特征在于,通过所述每个第二处理程序对所述多行插入语句进行查询编译,得到所述多行插入语句对应的编译结果包括:
通过所述每个第二处理程序对所述多行插入语句进行语句分析,得到分析后的插入语句;
通过所述每个第二处理程序对所述分析后的插入语句进行查询优化,得到所述多行插入语句对应的编译结果。
8.根据权利要求7所述的方法,其特征在于,在通过多个第二处理程序将所述多个业务数据集合同时存储至所述数据库之前,所述方法还包括:
开启所述数据库中的预设功能,其中,所述预设功能用于对所述多行插入语句进行查询编译,并对查询编译后的结果进行存储;
根据预设插入语句,生成所述多行插入语句;
关闭所述数据库中的预设事务管理模式,其中,所述预设事务管理模式用于当所述多行插入语句执行完毕时,直接对所述多个业务数据集合进行存储。
9.根据权利要求2所述的方法,其特征在于,在通过第一处理程序对所述待存储文件进行解析,得到多个业务数据集合之前,所述方法还包括:
通过第三处理程序获取所述待存储文件的类型;
在所述待存储文件的类型为压缩类型的情况下,通过所述第三处理程序对所述待存储文件进行解压,得到解压后的文件;
通过所述第三处理程序将所述解压后的文件进行存储。
10.根据权利要求1所述的方法,其特征在于,获取待存储文件包括:
每隔预设时间接收或下载所述待存储文件。
11.一种业务数据的存储装置,其特征在于,包括:
获取模块,用于获取待存储文件,其中,所述待存储文件中存储有多个业务数据;
处理模块,用于中的多个处理程序对所述待存储文件进行处理,并将处理后的多个业务数据存储至数据库;
建立模块,用于为存储后的多个业务数据集合建立对应的索引信息;
其中,所述处理模块还用于通过多个第二处理程序获取多行插入语句;
通过所述多个第二处理程序使用所述多行插入语句,将所述多个业务数据集合同时存储至所述数据库。
12.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至10中任意一项所述的业务数据的存储方法。
13.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至10中任意一项所述的业务数据的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810804454.2A CN109144950B (zh) | 2018-07-20 | 2018-07-20 | 业务数据的存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810804454.2A CN109144950B (zh) | 2018-07-20 | 2018-07-20 | 业务数据的存储方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144950A CN109144950A (zh) | 2019-01-04 |
CN109144950B true CN109144950B (zh) | 2022-02-15 |
Family
ID=64801407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810804454.2A Active CN109144950B (zh) | 2018-07-20 | 2018-07-20 | 业务数据的存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144950B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532434A (zh) * | 2019-09-03 | 2019-12-03 | 上海新炬网络技术有限公司 | 一种xml文件批量自动统计数据的方法 |
CN110781231B (zh) * | 2019-09-19 | 2023-07-21 | 平安科技(深圳)有限公司 | 基于数据库的批量导入方法、装置、设备及存储介质 |
CN111061734A (zh) * | 2019-12-12 | 2020-04-24 | 深圳市随手金服信息科技有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN111343181B (zh) * | 2020-02-26 | 2022-08-09 | 中国邮政储蓄银行股份有限公司 | 报文的处理方法,系统以及数据池和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980190A (zh) * | 2010-10-15 | 2011-02-23 | 中兴通讯股份有限公司 | 一种业务数据快速入库的方法和装置 |
CN102236672A (zh) * | 2010-05-06 | 2011-11-09 | 深圳市腾讯计算机系统有限公司 | 一种数据导入方法及装置 |
CN102253980A (zh) * | 2011-06-23 | 2011-11-23 | 上海西本网络科技有限公司 | 数据处理方法及数据处理系统 |
CN103136315A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 话单数据的入库处理方法及装置 |
CN104102652A (zh) * | 2013-04-08 | 2014-10-15 | 国家电网公司 | 一种非结构化数据存储系统及方法 |
CN104135578A (zh) * | 2014-08-15 | 2014-11-05 | 国家电网公司 | 一种基于呼叫平台的业务数据处理方法及系统 |
-
2018
- 2018-07-20 CN CN201810804454.2A patent/CN109144950B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236672A (zh) * | 2010-05-06 | 2011-11-09 | 深圳市腾讯计算机系统有限公司 | 一种数据导入方法及装置 |
CN101980190A (zh) * | 2010-10-15 | 2011-02-23 | 中兴通讯股份有限公司 | 一种业务数据快速入库的方法和装置 |
CN102253980A (zh) * | 2011-06-23 | 2011-11-23 | 上海西本网络科技有限公司 | 数据处理方法及数据处理系统 |
CN103136315A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 话单数据的入库处理方法及装置 |
CN104102652A (zh) * | 2013-04-08 | 2014-10-15 | 国家电网公司 | 一种非结构化数据存储系统及方法 |
CN104135578A (zh) * | 2014-08-15 | 2014-11-05 | 国家电网公司 | 一种基于呼叫平台的业务数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109144950A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144950B (zh) | 业务数据的存储方法和装置 | |
CN108399256B (zh) | 异构数据库内容同步方法、装置及中间件 | |
KR20060082393A (ko) | 저장된 프로시저의 정의로부터 관계형 데이터베이스애플리케이션의 미들 티어를 위한 데이터 액세스 계층을자동으로 생성하는 시스템 및 방법 | |
CN111008246A (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
CN105335482B (zh) | 面向海量分布式数据库的批量插入方法 | |
CN113868028A (zh) | 一种在数据节点上回放日志的方法、数据节点及系统 | |
CN110162540B (zh) | 区块链账本数据的查询方法、电子装置及存储介质 | |
CN108334620A (zh) | 一种基于orm框架操作集群数据库的方法及装置 | |
CN106919617B (zh) | 一种压缩存储方法和装置 | |
CN110704472A (zh) | 数据查询统计方法及装置 | |
US20020194189A1 (en) | Method and system for activating column triggers in a database management system | |
CN113760910A (zh) | 一种数据同步的方法及装置 | |
CN111753015A (zh) | 支付清算系统的数据查询方法及装置 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN110471918A (zh) | 一种关系型数据库同步到区块链的方法及装置 | |
CN104317820B (zh) | 报表的统计方法和装置 | |
CN111949728A (zh) | 一种动态数据差异比对方法与系统 | |
CN108073584B (zh) | 一种数据处理方法及服务器 | |
CN111723104A (zh) | 一种数据处理系统中语法分析的方法、装置及系统 | |
CN111221846B (zh) | 一种sql语句的自动翻译方法及装置 | |
CN114510490B (zh) | 提升数据库数据插入性能的方法和装置 | |
CN110955654B (zh) | 多维度的指标计算方法及装置 | |
CN111125148B (zh) | 一种数据库的分页查询方法及装置 | |
CN109271451B (zh) | 一种数据库外部链接的提取方法 | |
CN115408383A (zh) | 高并发数据入库方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |