CN114461643A - 一种数据写入方法、装置、存储介质及系统 - Google Patents

一种数据写入方法、装置、存储介质及系统 Download PDF

Info

Publication number
CN114461643A
CN114461643A CN202210113618.3A CN202210113618A CN114461643A CN 114461643 A CN114461643 A CN 114461643A CN 202210113618 A CN202210113618 A CN 202210113618A CN 114461643 A CN114461643 A CN 114461643A
Authority
CN
China
Prior art keywords
data
entity group
processing entity
writing
target
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
Application number
CN202210113618.3A
Other languages
English (en)
Inventor
王珂
段博
刘帅
姬素丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210113618.3A priority Critical patent/CN114461643A/zh
Publication of CN114461643A publication Critical patent/CN114461643A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据写入方法、装置、存储介质及系统,所述方法包括:获取至少两条待写入的目标数据;将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。本发明实施例的方案,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。

Description

一种数据写入方法、装置、存储介质及系统
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据写入方法、装置、存储介质及系统。
背景技术
随着银行业务规模的日益扩大,需要处理的数据量也越来越多,同时,各业务系统正在进行分布式系统改造,银行各业务系统面临着如何利用一款适用于分布式系统的批处理框架,快速有效完成数据处理的难题。因此,亟需一款灵活、易用、可扩展性强且具有高性能处理大量信息的批处理框架来提高开发效率、提升运行效率。Spring Batch是一个轻量级的,完全基于Spring框架的、功能覆盖全面的批处理框架,提供了丰富的即插即用的组件来快速构建出轻量级的健壮的并行处理应用,其中包括日志记录/跟踪、事务管理、作业处理统计信息、作业重新启动、跳过和资源管理等功能,使得开发批处理应用的人员只需专注于业务的处理,底层框架的交互交由Spring Batch去处理,可以快速构建出健壮的并行处理应用,有效提升了批处理应用的开发效率。
Spring Batch提供的RPW(Reader-Processor-Writer)批处理模式非常适合的解决银行业务系统中最常见批处理场景,即从一个或者多个文件或者数据库表中读取数据,然后进行相关业务逻辑处理,然后再写到一个或者多个文件或者数据库表中。但是SpringBatch的RPW批处理模式仅支持从单数据库表读取数据然后再写入到对应的单数据库表中。
发明内容
本发明实施例提供一种数据写入方法、装置、存储介质及系统,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。
第一方面,本发明实施例提供了一种数据写入方法,包括:
获取至少两条待写入的目标数据;
将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;
基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
第二方面,本发明实施例还提供了一种数据写入装置,包括:
目标数据获取模块,用于获取至少两条待写入的目标数据;
批处理实体组数据生成模块,用于将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;
数据写入模块,用于基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的数据写入方法。
第四方面,本发明实施例提供了一种数据写入系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的数据写入方法。
本发明实施例提供的数据写入方案,获取至少两条待写入的目标数据;将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。通过本发明实施例提供的技术方案,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。
附图说明
图1是本发明一实施例提供的一种数据写入方法的流程图;
图2是本发明另一实施例中的一种数据写入过程示意图;
图3是本发明另一实施例中的一种数据写入装置的结构示意图;
图4是本发明另一实施例中的一种数据写入系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
相关技术中,在Spring Batch框架中,可以实现数据库表写入的方法有:1、在RPW模式下可以通过多个Step来解决从数据库表读取数据,然后写入到一个或者多个数据库表中。2、在RPW模式下,使用Processor进行数据库表写入。3、在RPW模式下,采用组合写入组件的方式,将多个写入组件组合在一起实现多数据库表写入。4、在Tasklet模式下,需要开发人员编程实现数据库表的读写逻辑。
然而,在RPW模式通过多个Step来解决从一个或者多个文件或数据库表读取数据,然后写入到一个或者多个数据库表中,需要进行重复的数据读取和处理,进而导致资源浪费和批处理时间变长。在RPW模式下,使用Processor进行数据库表写入的方法,它只能将processor处理的一条数据写入数据库表,无法进行数据的批量写入,大大增加了数据处理时间。在RPW模式下,采用组合写入组件的方式,将多个写入组件组合在一起实现多数据库表写入的方法,它的灵活性有限,每个批处理场景都需要实现一个组合器来最终实现多数据库表的写入。在Tasklet模式下,需要开发人员编程实现数据库表读写逻辑,会增加开发复杂度,且极易出错。
图1为本发明一实施例提供的一种数据写入方法的流程图,本发明实施例可适用于对数据进行写入的情况,该方法可以由数据写入装置来执行,该装置可由硬件和/或软件组成,并一般可集成在数据写入系统中。如图1所示,该方法具体包括如下步骤:
步骤110,获取至少两条待写入的目标数据。
其中,目标数据可以为直接从一个或多个文件或者数据库表中读取的数据,也可以为从其他终端设备读取的数据,需要说明的是,本发明实施例对目标数据的来源不做限定。
可选的,获取至少两条待写入的目标数据,包括:通过读取器从至少一个文件或数据库表中读取至少两条原始数据;通过处理器对所述至少两条原始数据进行处理操作,生成目标数据。示例性的,可以基于Spring Batch框架提供的RPW批处理模式,通过读取器(Reader)从一个或多个文件或数据库表中读取至少两条原始数据,然后读取器将读取的原始数据发送至处理器(Processor),处理器对原始数据进行处理操作,将处理后的原始数据作为待写入的目标数据。其中,处理器对原始数据的处理操作可以包括增加、删除、更改等相关操作。
步骤120,将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同。
其中,批处理实体组是一种存储待操作实体对象的数据结构,该结构内部包含多个子实体组,每个子实体组中可以包含多个具有相同结构化查询语言(Structured QueryLanguage,SQL)的实体对象。
在本发明实施例中,将至少两条目标数据存储于批处理实体组中,生成批处理实体组数据。可以理解的是,将至少两条目标数据装配到批处理实体组中。具体的,批处理实体组中包含多个子处理实体组,在将至少两条目标数据存储于批处理实体组的具体操作可以包括:将每条目标数据存储于批处理实体组中的子处理实体组中,生成子处理实体组数据,将各个子处理实体组数据构成的集合作为批处理实体组数据。
步骤130,基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
在本发明实施例中,获取至少两条预设配置参数,其中,预设配置参数可以理解为对子处理实体组数据进行写入的配置参数。可选的,预设配置参数的数量与子处理实体组数据的数量相同,以实现基于预设配置参数对子处理实体组数据一对一的写入操作。
示例性的,所述预设配置参数包括数据源信息、待执行的SQL语句及执行所述SQL语句的设置器;其中,所述数据源信息用于指示子处理实体组数据的写入位置。可以理解的是,每条预设配置参数均包括数据源信息、待执行的SQL语句及执行所述SQL语句的设置器。其中,根据数据源信息可以确定将对应的子处理实体组数据具体写入哪个数据库中。执行SQL语句的设置器可以包括itemPreparedStatementSetter和itemSqlParameterSourceProvider。其中,itemPreparedStatementSetter是一种应用于Placeholder形式SQL的预编译的数据库执行语句参数的设置器。其中Placeholder形式SQL是指SQL中的变量用“?”作为占位符替换后的SQL。itemSqlParameterSourceProvider是一种应用于NamedParam形式SQL的预编译的数据库执行语句参数的设置器。其中NamedParam形式SQL是指SQL中的变量用“:属性名”作为占位符替换后的SQL。这样设置的好处在于,使用混合形式的SQL,通过按顺序设置itemPreparedStatementSetter或者itemSqlParameterSourceProvider,实现同时支持Placeholder和NamedParam两种JDBC协议SQL形式的数据写入。
在本发明实施例中,基于每条预设配置参数对批处理实体组数据中对应的子处理实体组数据进行分析、处理,并将分析处理后的子处理实体组数据写入对应的目标数据库表中。其中,预设配置参数与子处理实体组数据为一一对应的处理关系。示例性的,通过预设配置参数中的源数据信息确定子处理实体组数据待写入的目标数据库表,根据预设配置参数中的待执行的SQL语句判断目标数据库表是否分表以及对应的分表键,并将SQL语句中的逻辑表替换为物理表;并根据待执行的SQL语句中包含的SQL类型,按顺序将Placeholder和NamedParam两种形式的itemPreparedStatementSetter或者itemSqlParameterSourceProvider进行整理。然后,按顺序遍历待执行的SQL语句,并且通过数据库操作的模板方法中SQL批量执行接口将子处理实体组中包含的目标数据写入到对应的目标数据库表中。
本发明实施例提供的数据写入方法,获取至少两条待写入的目标数据;将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。通过本发明实施例提供的技术方案,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。
在一些实施例中,在基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中之前,还包括:基于多数据库表写入组件创建器创建初始多数据库表写入组件;基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中,包括:运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中。
其中,多数据库表写入组件(MultiTableJdbcBatchItemWriter)是一种自定义的面向多数据库表的数据批量写入执行器。多数据库表写入组件创建器(MultiTableJdbcBatchItemWriterBuilder)是一种通过设置不同参数来创建多数据库表写入组件的创建器。
在本发明实施例中,可以通过Spring Batch框架中多数据库表写入组件创建器创建初始多数据库表写入组件。获取至少两条预设配置参数,通过多数据库表写入组件创建器将获取的至少两条预设配置参数,写入初始多数据库表写入组件中。也即通过多数据库表写入组件创建器为初始多数据库表写入组件装配数据源信息、待执行的SQL语句及SQL语句的设置器等预设配置参数,进而实现创建目标多数据库表写入组件的目的。通过SpringBatch框架运行目标多数据库表写入组件,也即当目标多数据库表写入组件被SpringBatch框架调起时,通过目标多数据库表写入组件中的至少两条预设配置参数,将批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中。其中,在将数据写入目标数据库表之前,可基于目标多数据库表写入组件对批处理实体组数据中各个子处理实体组数据进行SQL数量、SQL合法性等基础校验,当校验通过后,再将子处理实体组数据写入至少两个目标数据库表中。
在一些实施例中,将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据,包括:将所述至少两条目标数据按照顺序进行编号;将编号后的至少两条目标数据写入预先设定的批处理实体组中,生成批处理实体组数据。具体的,可以将至少两条目标数据按照顺序进行编号,并将编号后的至少两条目标数据写入预先设定的批处理实体组中的各个子处理实体组中,生成至少两条子处理实体组数据,将至少两条子处理实体组数据组成的集合作为批处理实体组数据。其中,批处理实体组数据中包含的各个子处理实体组数据为带编号的数据。这样设置的好处在于,可以基于至少两条预设配置参数,按照编号顺序对各个子处理实体组数据进行写入处理,保证数据写入操作能够尽然有序进行。
在一些实施例中,在基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件之前,还包括:对所述至少两条预设配置参数按顺序进行编号;基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件,包括:基于所述多数据库表写入组件创建器,将编号后的至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中,包括:运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,分别将所述批处理实体组数据中,与所述预设配置参数编号相同的子处理实体组数据写入至少两个目标数据库表中。
在本发明实施例中,获取至少两条预设配置参数,并对至少两条预设配置参数进行编号,多数据库表写入组件创建器,将编号后的至少两条配置参数写入初始多数据库表写入组件中,生成目标多库表写入组件。可以理解的是,目标多库表写入组件中包含了带编号的至少两条预设配置参数。当目标多数据库表写入组件被Spring Batch框架调起时,目标多数据库表写入组件基于与预设配置参数同序号的子处理实体数据,写入对应的目标数据库表中。
示例性的,图2为本发明实施例提供的一种数据写入过程示意图。结合上述实施例及图2可基于Spring Batch框架将数据写入多数据库表的过程进行理解,在此不再赘述。
图3为本发明另一实施例提供的一种数据写入装置的结构示意图。如图3所示,该装置包括:目标数据获取模块310,批处理实体组数据生成模块320和数据写入模块330。其中,
目标数据获取模块310,用于获取至少两条待写入的目标数据;
批处理实体组数据生成模块320,用于将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;
数据写入模块330,用于基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
本发明实施例提供的数据写入装置,获取至少两条待写入的目标数据;将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。通过本发明实施例提供的技术方案,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。
可选的,所述装置还包括:
写入组件创建模块,用于在基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中之前,基于多数据库表写入组件创建器创建初始多数据库表写入组件;
配置参数写入模块,用于基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;
所述数据写入模块,包括:
数据写入单元,用于运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中。
可选的,所述批处理实体组数据生成模块,用于:
将所述至少两条目标数据按照顺序进行编号;
将编号后的至少两条目标数据写入预先设定的批处理实体组中,生成批处理实体组数据。
可选的,还包括:
配置参数编号模块,用于在基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件之前,对所述至少两条预设配置参数按顺序进行编号;
所述配置参数写入模块,用于:
基于所述多数据库表写入组件创建器,将编号后的至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;
所述数据写入单元,用于:
运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,分别将所述批处理实体组数据中,与所述预设配置参数编号相同的子处理实体组数据写入至少两个目标数据库表中。
可选的,所述目标数据获取模块,用于:
通过读取器从至少一个文件或数据库表中读取至少两条原始数据;
通过处理器对所述至少两条原始数据进行处理操作,生成目标数据。
可选的,所述预设配置参数包括数据源信息、待执行的SQL语句及执行所述SQL语句的设置器;其中,所述数据源信息用于指示子处理实体组数据的写入位置。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的数据写入方法。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据写入操作,还可以执行本发明任意实施例所提供的数据写入方法中的相关操作。
本发明实施例提供了一种数据写入系统,该数据写入系统中可集成本发明实施例提供的数据写入装置。图4为本发明实施例提供的一种数据写入系统的结构框图。数据写入系统400可以包括:存储器401,处理器402及存储在存储器401上并可在处理器运行的计算机程序,所述处理器402执行所述计算机程序时实现如本发明实施例所述的数据写入方法。
本发明实施例中提供的数据写入系统,获取至少两条待写入的目标数据;将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。通过本发明实施例提供的技术方案,可以将多条目标数据写入多个数据库表中,实现对目标数据的批处理,提高数据的写入效率。
上述实施例中提供的数据写入装置、存储介质及数据写入系统可执行本发明任意实施例所提供的数据写入方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据写入方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据写入方法,其特征在于,包括:
获取至少两条待写入的目标数据;
将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;
基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
2.根据权利要求1所述的方法,其特征在于,在基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中之前,还包括:
基于多数据库表写入组件创建器创建初始多数据库表写入组件;
基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;
基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中,包括:
运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中。
3.根据权利要求2所述的方法,其特征在于,将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据,包括:
将所述至少两条目标数据按照顺序进行编号;
将编号后的至少两条目标数据写入预先设定的批处理实体组中,生成批处理实体组数据。
4.根据权利要求3所述的方法,其特征在于,在基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件之前,还包括:
对所述至少两条预设配置参数按顺序进行编号;
基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件,包括:
基于所述多数据库表写入组件创建器,将编号后的至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;
运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中,包括:
运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,分别将所述批处理实体组数据中,与所述预设配置参数编号相同的子处理实体组数据写入至少两个目标数据库表中。
5.根据权利要求1所述的方法,其特征在于,获取至少两条待写入的目标数据,包括:
通过读取器从至少一个文件或数据库表中读取至少两条原始数据;
通过处理器对所述至少两条原始数据进行处理操作,生成目标数据。
6.根据权利要求1-5任一所述的方法,其特征在于,所述预设配置参数包括数据源信息、待执行的SQL语句及执行所述SQL语句的设置器;其中,所述数据源信息用于指示子处理实体组数据的写入位置。
7.一种数据写入装置,其特征在于,包括:
目标数据获取模块,用于获取至少两条待写入的目标数据;
批处理实体组数据生成模块,用于将所述至少两条目标数据存储于预先设定的批处理实体组中,生成批处理实体组数据;其中,所述批处理实体组数据中包括至少两条子处理实体组数据,所述子处理实体组数据与所述目标数据一一对应,所述子处理实体组数据的数量与所述目标数据的数量相同;
数据写入模块,用于基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中;其中,所述预设配置参数的数量与所述子处理实体组数据的数量相同。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
写入组件创建模块,用于在基于至少两条预设配置参数将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中之前,基于多数据库表写入组件创建器创建初始多数据库表写入组件;
配置参数写入模块,用于基于所述多数据库表写入组件创建器将所述至少两条预设配置参数写入所述初始多数据库表写入组件,生成目标多数据库表写入组件;
所述数据写入模块,包括:
数据写入单元,用于运行所述目标多数据库表写入组件,以通过所述目标多数据库表写入组件中的至少两条预设配置参数,将所述批处理实体组数据中的各个子处理实体组数据写入至少两个目标数据库表中。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-6中任一所述的数据写入方法。
10.一种数据写入系统,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一所述的数据写入方法。
CN202210113618.3A 2022-01-30 2022-01-30 一种数据写入方法、装置、存储介质及系统 Pending CN114461643A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210113618.3A CN114461643A (zh) 2022-01-30 2022-01-30 一种数据写入方法、装置、存储介质及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210113618.3A CN114461643A (zh) 2022-01-30 2022-01-30 一种数据写入方法、装置、存储介质及系统

Publications (1)

Publication Number Publication Date
CN114461643A true CN114461643A (zh) 2022-05-10

Family

ID=81412349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210113618.3A Pending CN114461643A (zh) 2022-01-30 2022-01-30 一种数据写入方法、装置、存储介质及系统

Country Status (1)

Country Link
CN (1) CN114461643A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688025A (zh) * 2023-12-12 2024-03-12 金扁担(北京)数字科技有限公司 基于jdbc协议的sql动态组装方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688025A (zh) * 2023-12-12 2024-03-12 金扁担(北京)数字科技有限公司 基于jdbc协议的sql动态组装方法及装置

Similar Documents

Publication Publication Date Title
US10346380B2 (en) Test data generation and scale up for database testing using unique common factor sequencing
US8453136B1 (en) Change tracking and incremental synchronization of EDA design and technology data
CN108280023B (zh) 任务执行方法、装置和服务器
US9740595B2 (en) Method and apparatus for producing a benchmark application for performance testing
CN108599973B (zh) 一种日志关联方法、装置及设备
CN107391544B (zh) 列式存储数据的处理方法、装置、设备及计算机储存介质
CN112988601A (zh) 测试脚本开发方法及装置
CN114820080A (zh) 基于人群流转的用户分群方法、系统、装置及介质
CN114461643A (zh) 一种数据写入方法、装置、存储介质及系统
CN111966760A (zh) 基于Hive数据仓库的测试数据生成方法及装置
US20180032544A1 (en) Distributed processing management method and distributed processing management apparatus
CN112948473A (zh) 数据仓库的数据处理方法、装置、系统及存储介质
Cheng et al. Optimal alignments between large event logs and process models over distributed systems: An approach based on Petri nets
CN111341391B (zh) 一种用于异构集群环境中的自由能微扰计算调度方法
CN112036142A (zh) 一种基于数据配置的实时性报表生成方法及系统
CN116975649A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN114356454A (zh) 对账数据处理方法、设备、存储介质及程序产品
CN115544096B (zh) 数据查询方法、装置、计算机设备及存储介质
CN111241191A (zh) 一种数据库的同步方法及装置
Munir et al. A cost-based storage format selector for materialization in big data frameworks
US11847118B1 (en) Query set optimization in a data analytics pipeline
CN115794630A (zh) 面向事务型数据库具有测试异常的大规模测试案例精简方法
CN116108035A (zh) 数据的还原方法及装置、处理器和电子设备
CN113342696A (zh) 一种单元测试方法及装置、存储介质
CN116303518A (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