CN110928665B - 数据处理方法、装置、存储介质及终端 - Google Patents
数据处理方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN110928665B CN110928665B CN201911243602.9A CN201911243602A CN110928665B CN 110928665 B CN110928665 B CN 110928665B CN 201911243602 A CN201911243602 A CN 201911243602A CN 110928665 B CN110928665 B CN 110928665B
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- libraries
- slicing
- library
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、存储介质及终端。所述方法包括:确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;根据所述数据类型确定与所述待处理数据对应的数据分片策略;根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;对所述分片数据库中的待处理数据进行并行处理。通过采用上述技术方案,可以有效提高数据处理效率,大大降低数据处理的时间成本。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及数据处理方法、装置、存储介质及终端。
背景技术
在进行业务任务处理时,通常基于任务批处理框架(dophine)来执行业务任务调度,以对业务数据进行处理。但是由于业务逻辑复杂,业务数据量庞大,如何快速、高效地处理一批数据,变得至关重要。
相关技术中,对于业务单表数据,只能分页拉取业务所有数据,然后一页页处理业务数据,处理效率低;对于业务分库分表(如百库十表)数据,只能遍历所有库表,逐表处理业务数据,整体处理效率极低。
发明内容
本发明实施例提供一种数据处理方法、装置、存储介质及终端,以提高数据处理效率,降低数据处理的时间成本。
第一方面,本发明实施例提供了一种数据处理方法,该方法包括:
确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
根据所述数据类型确定与所述待处理数据对应的数据分片策略;
根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
对所述分片数据库中的待处理数据进行并行处理。
第二方面,本发明实施例还提供了一种数据处理装置,该装置包括:
数据类型确定模块,用于确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
数据分片策略确定模块,用于根据所述数据类型确定与所述待处理数据对应的数据分片策略;
数据分片模块,用于根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
数据并行处理模块,用于对所述分片数据库中的待处理数据进行并行处理。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的数据处理方法。
第四方面,本发明实施例提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的数据处理方法。
本发明实施例中提供的数据处理方法,首先确定待处理数据的数据类型,其中,数据类型包括业务单表数据和业务分库分表数据,然后根据数据类型确定与待处理数据对应的数据分片策略,并根据数据分片策略对待处理数据进行分片,生成分片数据库,最后对分片数据库中的待处理数据进行并行处理。通过采用上述技术手段,优化了现有的数据处理方案,根据待处理数据的数据类型确定对应的数据分片策略,基于数据分配策略对待处理数据进行分片,并对分片后的数据进行多线程并行处理,可以有效提高数据处理效率,大大降低数据处理的时间成本。
附图说明
图1为本发明实施例提供的一种数据处理方法的流程示意图;
图2为本发明实施例提供的另一种数据处理方法的流程示意图;
图3为本发明实施例提供的另一种数据处理方法的流程示意图;
图4为本发明实施例提供的一种数据处理装置的结构框图;
图5为本发明实施例提供的一种终端的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种数据处理方法的流程示意图,该方法可以由数据处理装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端设备中。如图1所示,该方法包括:
步骤101、确定待处理数据的数据类型。
其中,所述数据类型包括业务单表数据和业务分库分表数据。
示例性的,终端可以包括但不限于智能手机、平板电脑、笔记本电脑、掌上电脑等终端设备。其中,该终端的操作系统可以包括但不限于Android操作系统、IOS操作系统、Windows Phone8操作系统等。
在本发明实施例中,业务单表数据包括存储在同一张表或同一数据库的业务数据。通常,业务单表数据的数据量是相当大的,如一张表中的业务数据可能达到几千万条。业务分库分表数据包括存储在不同数据表,而不同数据表存储在不同数据库的数据。通常,根据业务耦合性,将关联度低的不同数据表存储在不同的数据库中。
可选的,确定待处理数据的数据类型,包括:根据用户输入的数据类型信息确定待处理数据的数据类型。可选的,确定待处理数据的数据类型,包括:获取待处理数据,判断待处理数据是否存储在同一张数据表中,若是,则确定待处理数据为业务单表数据;否则确定待处理数据为业务分库分表数据。需要说明的是,本发明实施例对确定待处理数据的数据类型的具体实现方式不做限定。
步骤102、根据数据类型确定与待处理数据对应的数据分片策略。
在本发明实施例中,数据分片策略可以理解为对待处理数据进行分片的方式或方法。待处理数据的数据类型不同,对待处理数据分片的方式不同。
可选的,在根据所述数据类型确定与所述待处理数据对应的数据分片策略之前,包括获取预先设定的数据类型与数据分片策略的对应关系表;根据所述数据类型确定与所述待处理数据对应的数据分片策略,包括:根据所述数据类型和所述对应关系表确定与所述待处理数据对应的数据分片策略。这样设置的好处在于,可以简单、快速地确定出与待处理数据对应的数据分片策略。
示例性的额,对应关系表中存储有数据类型和数据分片策略间的对应关系,其中,在上述对应关系表中,数据类型和数据分片策略可以是一一对应的关系,即不同的数据类型对应不同的数据分片策略;也可以是多对一的对应关系,也即不同的数据类型可以对应同一种数据分片策略。根据待处理数据的数据类型在对应关系表中查找与所述数据类型对应的目标数据分片策略,作为与待处理数据对应的数据分片策略。
步骤103、根据数据分片策略对待处理数据进行分片,生成分片数据库。
在本发明实施例中,根据数据分片策略对待处理数据进行分片,生成多个分片数据库,其中,每个分片数据库中包含至少一条待处理数据。可选的,可将待处理数据平均分配到预先设定数目的分片库中,生成分片数据库,还可按照数据量递增或递减的方式将待处理数据分配到预先设定数据的分片库中,生成分片数据库。
步骤104、对分片数据库中的待处理数据进行并行处理。
在本发明实施例中,将待处理数据分配到多个分片数据库中后,可基于可配置化的多线程对各个分片数据库中的待处理数据进行并行处理。也即同时多个分片数据库中的待处理数据进行处理操作。其中,对分片数据库中的待处理数据进行并行处理的处理操作可以包括查询操作、删除操作、编译操作、切分操作以及合并操作等等。需要说明的是,本发明实施例对待处理数据的处理操作的类型不做限定。
本发明实施例中提供的数据处理方法,首先确定待处理数据的数据类型,其中,数据类型包括业务单表数据和业务分库分表数据,然后根据数据类型确定与待处理数据对应的数据分片策略,并根据数据分片策略对待处理数据进行分片,生成分片数据库,最后对分片数据库中的待处理数据进行并行处理。通过采用上述技术手段,优化了现有的数据处理方案,根据待处理数据的数据类型确定对应的数据分片策略,基于数据分配策略对待处理数据进行分片,并对分片后的数据进行多线程并行处理,可以有效提高数据处理效率,大大降低数据处理的时间成本。
在一些实施例中,根据所述数据类型确定与所述待处理数据对应的数据分片策略,包括:当所述待处理数据的数据类型为业务单表数据时,确定与待处理数据对应的数据分片策略为多分片分页策略;当所述待处理数据的数据类型为业务分库分表数据时,确定与待处理数据对应的数据分片策略为多分片分表策略。
在一些实施例中,所述数据分片策略为多分片分页策略;相应的,根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库,包括:根据所述待处理数据的第一数据总数及预先设定的每页处理数据的第一数据条数确定分页库总数;按照第一预设规则将所述待处理数据分配到各个分页库中,并对所述各个分页库标记页码;根据所述分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数;按照第二预设规则将所述分页库分配到各个第一分片库中;其中,每个第一分片库中包含数据页数个分页库。
示例性的,当待处理数据为业务单表数据时,确定与待处理数据对应的数据分片策略为多分片分页策略。根据多分片分页策略对待处理数据(也即业务单表数据)进行分片,生成分片数据库。具体的,获取待处理数据的第一数据总数以及预先设定的每页处理数据的条数,然后根据第一数据总数和每页处理数据的第一数据条数确定将待处理数据分页的分页库总数,其中,分页库总数=第一数据总数÷第一数据条数。例如,待处理数据的第一数据总数为100万条,每页能够处理的数据为100条,则可将待处理数据分配到1万个分页库中。可选的,可按照第一预设规则将待处理数据分片到各个分页库中,并对各个分页库标记页码。例如,将第1-100条待处理数据分配到第一个分页库中,将第101-200条待处理数据分配到第二个分页库中,201-300条待处理数据分配到第三个分页库中,…,依次类推。当然,还可随机将这100万条待处理数据平均分配到1万个分页库中。需要说明的是,本发明实施例对将待处理数据分配到各个分页库的方式不做限定。
示例性的,可以根据待处理数据的第一数据总数或者分页库总数合理确定第一分片库总数,例如,分页库总数为1万个,为了提高对待处理数据的处理的效率,可将第一分片总数设置为10个。然后根据分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数,例如,将1万个分页库分配到10个分片库中,每个分片库中包含1000一个分页库。
可选的,所述第二预设规则包括:遍历所有分页库,用当前分页库对应的页码除以所述第一分片库总数,计算第一余数;当所述第一余数与当前第一分片库的序号相同时,将所述当前分页库分配到所述当前第一分片库内。这样设置的好处在,可以有效保证所有的分页库内的数据均可以被分配到分片库内,从而可以进一步保证对待处理数据进行分片分页后的并行处理。
示例性的,遍历所有分页库,利用公式:分页库对应的页码%第一分片库总数,计算第一余数,当第一余数与当前第一分片库的序号相同,则将当前分页库内的数据分配到当前第一分片库内,否则,跳过当前分页库,对下一分页库进行同样的判断。可以理解的是,将每个分页库对应的页码除以第一分片库总数计算第一余数,将第一余数相同的分页库分配到同一分片库内。
在一些实施例中,所述数据分片策略为多分片分表策略;根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库,包括:根据所述待处理数据的第二数据总数及预先设定的每个表处理数据的第二数据条数确定分表库总数;按照第三预设规则将所述待处理数据分配到各个分表库中,并对所述各个分表库标记表码;根据所述分表总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数;按照第四预设规则将所述分表库分配到各个第二分片库中;其中,每个第二分片库中包含数据表数个分表库。
示例性的,当待处理数据为业务分库分表数据时,确定与待处理数据对应的数据分片策略为多分片分表策略。根据多分片分表策略对待处理数据(也即业务分库分表数据)进行分片,生成分片数据库。具体的,获取待处理数据的第二数据总数以及预先设定的每个表处理数据的第二数据条数,然后根据第二数据总数和每个表处理数据的第二数据条数确定将待处理数据分表的分表库总数,其中,分表库总数=第二数据总数÷第二数据条数。例如,待处理数据为百库十表数据,每个表内有1万条数据,则待处理数据的第二数据总数为1000万条,每个表能够处理的数据为1万条,则可将待处理数据分配到1000个分表库中。可选的,可按照第二预设规则将待处理数据分配到各个分表库中,并对各个分表库标记表码。例如,将第1-10000条待处理数据分配到第一个分表库中,将第10001-20000条待处理数据分配到第二个分表库中,20001-30000条待处理数据分配到第三个分表库中,…,依次类推。当然,还可随机将这10000万条待处理数据平均分配到1000个分表库中。需要说明的是,本发明实施例对将待处理数据分配到各个分页库的方式不做限定。
示例性的,可以根据待处理数据的第二数据总数或者分表库总数合理确定第二分片库总数,例如,分表库总数为1000个,为了提高对待处理数据的处理的效率,可将第一分片总数设置为10个。然后根据分表库总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数,例如,将1000个分表库分配到10个分片库中,每个分片库中包含100一个分表库。
可选的,所述第四预设规则包括:遍历所有分表库,用当前分表库对应的表码除以所述第二分片总数,计算第二余数;当所述第二余数与当前第二分片库的序号相同时,将所述当前分表库分配到所述当前第二分片库内。这样设置的好处在,可以有效保证所有的分表库内的数据均可以被分配到分片库内,从而可以进一步保证对待处理数据进行分片分表后的并行处理。
示例性的,遍历所有分表库,利用公式:分表库对应的表码%第二分片库总数,计算第二余数,当第二余数与当前第二分片库的序号相同,则将当前分表库内的数据分配到当前第二分片库内,否则,跳过当前分表库,对下一分表库进行同样的判断。可以理解的是,将每个分表库对应的表码除以第二分片库总数计算第二余数,将第二余数相同的分表库分配到同一分片库内。
可选的,可以按照上述多分片分页策略将每个分表库的待处理数据分配到各个分页库中,具体的分配方法同上,在此不再赘述。
图2为本发明实施例提供的另一种数据处理方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤201、获取待处理数据,并确定待处理数据的数据类型为业务单表数据。
步骤202、根据数据类型确定与待处理数据对应的数据分片策略为多分片分页策略。
步骤203、根据待处理数据的第一数据总数及预先设定的每页处理数据的第一数据条数确定分页库总数。
步骤204、按照第一预设规则将待处理数据分配到各个分页库中,并对各个分页库标记页码。
步骤205、根据分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数。
步骤206、按照第二预设规则将分页库分配到各个第一分片库中;其中,每个第一分片库中包含数据页数个分页库。
可选的,所述第二预设规则包括:遍历所有分页库,用当前分页库对应的页码除以所述第一分片库总数,计算第一余数;当所述第一余数与当前第一分片库的序号相同时,将所述当前分页库分配到所述当前第一分片库内。
步骤207、对第一分片库中的待处理数据进行并行处理。
示例性的,现有技术中,对于包含有100万条待处理数据的业务单表数据,每个分页库拉取100条待处理数据进行处理,处理一个分页库内的数据耗时300毫秒,总共处理分页库数是100万/100=1万个,用单分片进行业务数据处理,总耗时是1万*300毫秒,约耗时50分钟左右。而基于本发明实施例提供的技术方案,每个分页库拉取100条待处理数据进行处理,分页库总数为1万个,选择10个分片库对1万个分页库内的数据进行并行处理,则每个分片库内分配1000个分页库,处理一个分页库内的数据耗时330毫秒,则并行处理这10个分片库耗时为1000*330毫秒,约为6分钟。显然,基于本发明实施例提供的数据处理方案,能够将包含有100万条待处理数据的业务单表数据处理耗时由50分钟变为6分钟,大大提高了数据处理效率。
本发明实施例提供的数据处理方法,对业务单表数据采用多分片分页策略进行分片,并对分片后的数据并行处理,大大减少了数据处理时间,有效提高了数据处理效率。
图3为本发明实施例提供的另一种数据处理方法的流程示意图,如图3所示,该方法包括如下步骤:
步骤301、获取待处理数据,并确定待处理数据的数据类型为业务分库分表数据。
步骤302、根据数据类型确定与待处理数据对应的数据分片策略为多分片分表策略。
步骤303、根据待处理数据的第二数据总数及预先设定的每个表处理数据的第二数据条数确定分表库总数。
步骤304、按照第三预设规则将待处理数据分配到各个分表库中,并对各个分表库标记表码。
步骤305、根据分表总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数。
步骤306、按照第四预设规则将分表库分配到各个第二分片库中;其中,每个第二分片库中包含数据表数个分表库。
可选的,所述第四预设规则包括:遍历所有分表库,用当前分表库对应的表码除以所述第二分片总数,计算第二余数;当所述第二余数与当前第二分片库的序号相同时,将所述当前分表库分配到所述当前第二分片库内。
步骤307、对第二分片库中的待处理数据进行并行处理。
示例性的,现有技术中,对于包含有1000万条待处理数据的业务百库十表数据,每个分表库中拉取1万条数据,每个分页库拉取单个分表库里100条待处理数据进行处理,处理一个分页库内的数据耗时100毫秒,针对每个分表库,总共处理分页库数是1万/100=100,用单分片进行业务数据处理,总耗时是1万/100*100毫秒,约耗时2.7小时。而基于本发明实施例提供的技术方案,每个分表库拉取1万条待处理数据进行处理,分表库总数为1000个,选择10个分片库对1000个分表库内的数据进行并行处理,则每个分片库内分配100个分表库,即每个分片库需处理100个分表库内的数据,然后对于每个分表库内的数据进行分页处理,每页拉取100条待处理数据进行处理,处理每页数据耗时120毫秒,则并行处理这10个分片库耗时为100*10000/100*120毫秒,约为20分钟。显然,基于本发明实施例提供的数据处理方案,能够将包含有1000万条待处理数据的业务百库十表数据处理耗时由2.7小时变为20分钟,大大提高了数据处理效率。
本发明实施例提供的数据处理方法,对业务分库分表数据采用多分片分表策略进行分片,并对分片后的数据并行处理,大大减少了数据处理时间,有效提高了数据处理效率。
图4为本发明实施例提供的一种数据处理装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行数据处理方法来进行数据处理。如图4所示,该装置包括:
数据类型确定模块401,用于确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
数据分片策略确定模块402,用于根据所述数据类型确定与所述待处理数据对应的数据分片策略;
数据分片模块403,用于根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
数据并行处理模块404,用于对所述分片数据库中的待处理数据进行并行处理。
本发明实施例中提供的数据处理装置,首先确定待处理数据的数据类型,其中,数据类型包括业务单表数据和业务分库分表数据,然后根据数据类型确定与待处理数据对应的数据分片策略,并根据数据分片策略对待处理数据进行分片,生成分片数据库,最后对分片数据库中的待处理数据进行并行处理。通过采用上述技术手段,优化了现有的数据处理方案,根据待处理数据的数据类型确定对应的数据分片策略,基于数据分配策略对待处理数据进行分片,并对分片后的数据进行多线程并行处理,可以有效提高数据处理效率,大大降低数据处理的时间成本。
可选的,所述装置还包括:
对应关系表获取模块,用于在根据所述数据类型确定与所述待处理数据对应的数据分片策略之前,获取预先设定的数据类型与数据分片策略的对应关系表;
所述数据分片策略确定模块,用于:
根据所述数据类型和所述对应关系表确定与所述待处理数据对应的数据分片策略。
可选的,所述数据分片策略确定模块,用于:
当所述待处理数据的数据类型为业务单表数据时,确定与待处理数据对应的数据分片策略为多分片分页策略;
当所述待处理数据的数据类型为业务分库分表数据时,确定与待处理数据对应的数据分片策略为多分片分表策略。
可选的,所述数据分片策略为多分片分页策略;
所述数据分片模块,用于:
根据所述待处理数据的第一数据总数及预先设定的每页处理数据的第一数据条数确定分页库总数;
按照第一预设规则将所述待处理数据分配到各个分页库中,并对所述各个分页库标记页码;
根据所述分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数;
按照第二预设规则将所述分页库分配到各个第一分片库中;其中,每个第一分片库中包含数据页数个分页库。
可选的,所述第二预设规则包括:
遍历所有分页库,用当前分页库对应的页码除以所述第一分片库总数,计算第一余数;
当所述第一余数与当前第一分片库的序号相同时,将所述当前分页库分配到所述当前第一分片库内。
可选的,所述数据分片策略为多分片分表策略;
所述数据分片模块,用于:
根据所述待处理数据的第二数据总数及预先设定的每个表处理数据的第二数据条数确定分表库总数;
按照第三预设规则将所述待处理数据分配到各个分表库中,并对所述各个分表库标记表码;
根据所述分表总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数;
按照第四预设规则将所述分表库分配到各个第二分片库中;其中,每个第二分片库中包含数据表数个分表库。
可选的,所述第四预设规则包括:
遍历所有分表库,用当前分表库对应的表码除以所述第二分片总数,计算第二余数;
当所述第二余数与当前第二分片库的序号相同时,将所述当前分表库分配到所述当前第二分片库内。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行数据处理方法,该方法包括:
确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
根据所述数据类型确定与所述待处理数据对应的数据分片策略;
根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
对所述分片数据库中的待处理数据进行并行处理。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据处理操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作。
本发明实施例提供了一种终端,该终端中可集成本发明实施例提供的数据处理装置。图5为本发明实施例提供的一种终端的结构框图。终端500可以包括:存储器501,处理器502及存储在存储器501上并可在处理器运行的计算机程序,所述处理器502执行所述计算机程序时实现如本发明实施例所述的数据处理方法。
本发明实施例中提供的终端,首先确定待处理数据的数据类型,其中,数据类型包括业务单表数据和业务分库分表数据,然后根据数据类型确定与待处理数据对应的数据分片策略,并根据数据分片策略对待处理数据进行分片,生成分片数据库,最后对分片数据库中的待处理数据进行并行处理。通过采用上述技术手段,优化了现有的数据处理方案,根据待处理数据的数据类型确定对应的数据分片策略,基于数据分配策略对待处理数据进行分片,并对分片后的数据进行多线程并行处理,可以有效提高数据处理效率,大大降低数据处理的时间成本。
上述实施例中提供的数据处理装置、存储介质及终端可执行本发明任意实施例所提供的数据处理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种数据处理方法,其特征在于,包括:
确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
根据所述数据类型确定与所述待处理数据对应的数据分片策略;
根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
对所述分片数据库中的待处理数据进行并行处理;
当所述数据类型为业务单表数据时,所述数据分片策略为多分片分页策略;
根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库,包括:
根据所述待处理数据的第一数据总数及预先设定的每页处理数据的第一数据条数确定分页库总数;
按照第一预设规则将所述待处理数据分配到各个分页库中,并对所述各个分页库标记页码;
根据所述分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数;
按照第二预设规则将所述分页库分配到各个第一分片库中;其中,每个第一分片库中包含数据页数个分页库;
当所述数据类型为业务分库分表数据时,所述数据分片策略为多分片分表策略;
根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库,包括:
根据所述待处理数据的第二数据总数及预先设定的每个表处理数据的第二数据条数确定分表库总数;
按照第三预设规则将所述待处理数据分配到各个分表库中,并对所述各个分表库标记表码;
根据分表库总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数;
按照第四预设规则将所述分表库分配到各个第二分片库中;其中,每个第二分片库中包含数据表数个分表库。
2.根据权利要求1所述的方法,其特征在于,在根据所述数据类型确定与所述待处理数据对应的数据分片策略之前,包括:
获取预先设定的数据类型与数据分片策略的对应关系表;
根据所述数据类型确定与所述待处理数据对应的数据分片策略,包括:
根据所述数据类型和所述对应关系表确定与所述待处理数据对应的数据分片策略。
3.根据权利要求1所述的方法,其特征在于,所述第二预设规则包括:
遍历所有分页库,用当前分页库对应的页码除以所述第一分片库总数,计算第一余数;
当所述第一余数与当前第一分片库的序号相同时,将所述当前分页库分配到所述当前第一分片库内。
4.根据权利要求1所述的方法,其特征在于,所述第四预设规则包括:
遍历所有分表库,用当前分表库对应的表码除以第二分片总数,计算第二余数;
当所述第二余数与当前第二分片库的序号相同时,将所述当前分表库分配到所述当前第二分片库内。
5.一种数据处理装置,其特征在于,包括:
数据类型确定模块,用于确定待处理数据的数据类型;其中,所述数据类型包括业务单表数据和业务分库分表数据;
数据分片策略确定模块,用于根据所述数据类型确定与所述待处理数据对应的数据分片策略;
数据分片模块,用于根据所述数据分片策略对所述待处理数据进行分片,生成分片数据库;
数据并行处理模块,用于对所述分片数据库中的待处理数据进行并行处理;
当所述数据类型为业务单表数据时,所述数据分片模块用于:
根据所述待处理数据的第一数据总数及预先设定的每页处理数据的第一数据条数确定分页库总数;
按照第一预设规则将所述待处理数据分配到各个分页库中,并对所述各个分页库标记页码;
根据所述分页库总数及预先设定的第一分片库总数确定每个分片库处理数据的数据页数;
按照第二预设规则将所述分页库分配到各个第一分片库中;其中,每个第一分片库中包含数据页数个分页库;
当所述数据类型为业务分库分表数据时,所述数据分片模块用于:
根据所述待处理数据的第二数据总数及预先设定的每个表处理数据的第二数据条数确定分表库总数;
按照第三预设规则将所述待处理数据分配到各个分表库中,并对所述各个分表库标记表码;
根据所述分表库总数及预先设定的第二分片库总数确定每个分片库处理数据的数据表数;
按照第四预设规则将所述分表库分配到各个第二分片库中;其中,每个第二分片库中包含数据表数个分表库。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一所述的数据处理方法。
7.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911243602.9A CN110928665B (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911243602.9A CN110928665B (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928665A CN110928665A (zh) | 2020-03-27 |
CN110928665B true CN110928665B (zh) | 2023-06-06 |
Family
ID=69858291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911243602.9A Active CN110928665B (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928665B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667656A (zh) * | 2020-12-07 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 交易数据的处理方法、装置、计算机设备和存储介质 |
CN114238333A (zh) * | 2021-12-17 | 2022-03-25 | 中国邮政储蓄银行股份有限公司 | 数据拆分方法、装置以及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426396A (zh) * | 2015-10-28 | 2016-03-23 | 深圳市万姓宗祠网络科技股份有限公司 | 一种基于路由算法的数据库分片方法、系统和中间件系统 |
CN107818115A (zh) * | 2016-09-14 | 2018-03-20 | 苏宁云商集团股份有限公司 | 一种处理数据表的方法及装置 |
CN110308980A (zh) * | 2019-06-27 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 数据的批量处理方法、装置、设备及存储介质 |
-
2019
- 2019-12-06 CN CN201911243602.9A patent/CN110928665B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426396A (zh) * | 2015-10-28 | 2016-03-23 | 深圳市万姓宗祠网络科技股份有限公司 | 一种基于路由算法的数据库分片方法、系统和中间件系统 |
CN107818115A (zh) * | 2016-09-14 | 2018-03-20 | 苏宁云商集团股份有限公司 | 一种处理数据表的方法及装置 |
CN110308980A (zh) * | 2019-06-27 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 数据的批量处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110928665A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478083B2 (en) | Method and system for estimating cardinality in a database system | |
CN104794146B (zh) | 商品实时筛选和排序的方法和装置 | |
CN111258966A (zh) | 一种数据去重方法、装置、设备及存储介质 | |
CN110928665B (zh) | 数据处理方法、装置、存储介质及终端 | |
US8583657B2 (en) | Method and apparatus for using a hash-partitioned index to access a table that is not partitioned or partitioned independently of the hash partitioned index | |
CN110188100A (zh) | 数据处理方法、装置及计算机存储介质 | |
US20130132060A1 (en) | Predicting service request breaches | |
US20090198657A1 (en) | Coordination server, data allocating method, and computer program product | |
EP2526479A1 (en) | Accessing large collection object tables in a database | |
CN109714249B (zh) | 一种小程序消息的推送方法及相关装置 | |
US20190163795A1 (en) | Data allocating system and data allocating method | |
US20180096021A1 (en) | Methods and systems for improved search for data loss prevention | |
CN114238389A (zh) | 数据库查询优化方法、装置、电子设备、介质和程序产品 | |
US11250002B2 (en) | Result set output criteria | |
CN107451142B (zh) | 在数据库中写入和查询数据的方法与装置及其管理系统和计算机可读存储介质 | |
CN109660587B (zh) | 基于随机数的数据推送方法、装置、存储介质及服务器 | |
CN110825953A (zh) | 数据查询方法、装置和设备 | |
US10671644B1 (en) | Adaptive column set composition | |
CN105512313A (zh) | 一种增量式数据处理的方法和装置 | |
CN111339064A (zh) | 数据倾斜矫正方法、装置及计算机可读存储介质 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
CN103761233A (zh) | 处理数据库操作请求的方法、设备和系统 | |
CN113625967A (zh) | 数据存储方法、数据查询方法及服务器 | |
CN111222066A (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 |