CN113342839A - 数据处理方法、装置、终端设备和存储介质 - Google Patents
数据处理方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN113342839A CN113342839A CN202110903568.4A CN202110903568A CN113342839A CN 113342839 A CN113342839 A CN 113342839A CN 202110903568 A CN202110903568 A CN 202110903568A CN 113342839 A CN113342839 A CN 113342839A
- Authority
- CN
- China
- Prior art keywords
- data
- identifier
- fragment
- processing
- servers
- 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
Links
Images
Classifications
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据处理方法、装置、终端设备和存储介质,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、终端设备和存储介质。
背景技术
在一些业务系统中,常常会存在批量处理数据的业务,在数据量较大(超百万或千万)的情况下,需要对每条数据进行业务逻辑计算,然后再把计算结果更新到数据库里。
现有技术常见做法是在单台服务器上,使用多线程并发的方式对数据进行遍历处理。服务器在进行数据遍历的过程中,通常采用的是数据库分页查询的方式,多线程处理的时候,每个线程处理一页数据,线程里使用数据库分页的语法查询和遍历数据。
但是随着数据量的增大达到一定的量级以后,数据库的分页查询越往后的页查询的效率就会越低,而使用分页查询,也是无法根据业务逻辑将多个页的数据按业务需要进行隔离,这样多线程更新数据的时候也可能因为业务逻辑冲突而造成线程之间的数据更新相互相影响而导致数据库锁等待甚至死锁。
发明内容
本发明意在提供一种数据处理方法、装置、终端设备和存储介质,以解决现有技术中存在的不足,本发明要解决的技术问题通过以下技术方案来实现。
第一个方面,本发明实施例提供一种数据处理方法,所述方法包括:
获取待处理的数据;
将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
接收多个所述服务器返回的处理结果。
可选地,所述将所述待处理的数据按照预设分片规则进行分片,得到数据分片,包括:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
可选地,所述方法还包括:
通过服务器的预设应用程序,采用数据库游标以去重的方式,在预先建立的分片数据库中查找要处理的基础字段,其中,所述预先建立的分片数据库中包括以基础字段进行分片后的各个数据分片,各个数据分片包括数据分片属性和数据分片内容,所述数据分片属性包括所述起始标识和结束标识。
可选地,在所述服务器上设置多个业务处理线程,所述将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果,包括:
在所述服务器存在空闲的业务处理线程的情况下,在所述预先建立的分片数据库中,查找未执行状态的数据分片;
根据所述未执行状态的数据分片的起始标识和结束标识获取对应的目标数据分片内容;
将所述起始标识、所述结束标识和所述目标数据分片内容发送至存在空闲业务处理线程的目标服务器,以使所述目标服务器采用所述空闲的业务处理线程处理所述目标数据分片内容,得到处理结果,其中,所述处理结果还包括执行状态,所述执行状态至少包括执行中或执行完成中的一种。
可选地,所述方法还包括:
根据所述处理结果中的执行状态,对所述预先建立的分片数据库中的数据分片的状态进行更新。
可选地,所述方法还包括:
将所述预先建立的分片数据库中数据分片的状态为执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;
采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
第二个方面,本发明实施例提供一种数据处理装置,所述装置包括:
获取模块,用于获取待处理的数据;
分片模块,用于将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
处理模块,用于将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
统计模块,用于接收多个所述服务器返回的处理结果。
可选地,所述分片模块用于:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
可选地,所述装置还包括查找模块,所述查找模块用于:
通过服务器的预设应用程序,采用数据库游标以去重的方式,在预先建立的分片数据库中查找要处理的基础字段,其中,所述预先建立的分片数据库中包括以基础字段进行分片后的各个数据分片,各个数据分片包括数据分片属性和数据分片内容,所述数据分片属性包括所述起始标识和结束标识。
可选地,在所述服务器上设置多个业务处理线程,所述处理模块用于:
在所述服务器存在空闲的业务处理线程的情况下,在所述预先建立的分片数据库中,查找未执行状态的数据分片;
根据所述未执行状态的数据分片的起始标识和结束标识获取对应的目标数据分片内容;
将所述起始标识、所述结束标识和所述目标数据分片内容发送至存在空闲业务处理线程的目标服务器,以使所述目标服务器采用所述空闲的业务处理线程处理所述目标数据分片内容,得到处理结果,其中,所述处理结果还包括执行状态,所述执行状态至少包括执行中或执行完成中的一种。
可选地,所述装置还包括更新模块,所述更新模块用于:
根据所述处理结果中的执行状态,对所述预先建立的分片数据库中的数据分片的状态进行更新。
可选地,所述更新模块还用于:
将所述预先建立的分片数据库中数据分片的状态为执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;
采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的数据处理方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的数据处理方法。
本发明实施例包括以下优点:
本发明实施例提供的数据处理方法、装置、终端设备和存储介质,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
附图说明
图1是本发明的一种数据处理方法实施例的流程示意图;
图2是本发明的再一种数据处理方法实施例的流程示意图;
图3是本发明的又一种数据处理方法实施例的流程示意图;
图4是本发明的服务器分片任务调度的流程示意图;
图5是本发明的服务器分片任务监视的步骤流程图;
图6是本发明的又一种数据处理方法实施例的流程示意图;
图7是本发明的一种数据处理装置实施例的结构框图;
图8是本发明的一种终端设备的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明一实施例提供一种数据处理方法,用于对批量数据进行处理。本实施例的执行主体为数据处理装置,设置在终端设备上,例如,终端设备至少包括手机终端、平板终端和计算机终端等。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、获取待处理的数据;
具体地,在一些业务系统中,例如银行业务系统,在执行业务的时候,会出现需要处理大量数据进行处理,在本发明实施例中,首先执行业务的终端设备获取到待处理的数据,例如,需要处理的数据为1000万条数据。
S102、将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
具体地,终端设备将待处理的数据可以按照业务逻辑进行分片,得到分片数据,也可以按照预设长度进行分片,也可以按照预设字节大小进行分片,在本发明实施例中不做具体限定。
终端设备在对待处理的数据进行分片后,每个分片具有起始标识和结束标识。
示例性地,第一个分片的起始标识和结束标识分别为0-1000;
第二个分片的起始标识和结束标识分别为1001-2001等,以此类推。
S103、将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
具体都,终端设备将分片后的数据分片发送至多个服务器,在本发明实施例中提供多个服务器,多个是指两个及两个以上。在每个服务器上设置有多个线程,该多个线程可以处理多个数据分片,当服务器上的线程有空闲的线程时,则终端设备将数据分片发送至该有空闲线程的服务器,数据分片中由于具有起始标识和结束标识,因此,服务器根据该起始标识和结束标识获取到与该起始标识和结束标识对应的数据分片内容,从而对数据分片内容进行处理,得到处理结果,其中,该处理结果也包括起始标识和结束标识。
S104、接收多个所述服务器返回的处理结果。
具体地,终端设备接收多个服务器返回的处理结果,并对处理结果进行统计,然后根据起始标识和结束标识对多个处理结果进行拼接,得到最后的业务处理结果。
本发明实施例是极大的提升了业务系统对单表数据的遍历和更新处理的效率,根据实际服务器的硬件资源情况还可以通过调整单个数据分片数据、服务器数据、服务器的线程池数据来达到每个特定环境的最高效结果。
本发明实施例提供的数据处理方法,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
本发明又一实施例对上述实施例提供的数据处理方法做进一步补充说明。
可选地,所述将所述待处理的数据按照预设分片规则进行分片,得到数据分片,包括:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
具体地,如图2所示,将待处理数据也就是大批量数据分段拆分成N个小数据片,比如1000万数据,按1000条数据一片,拆成1万片;首先根据业务逻辑会确定以这个表的某个高基数列为基础字段,先为这个列创建索引,在应用程序使用数据库游标以去重的方式查询该表的基础字段,游标访问第一条记录获得第一行的基础字段值作为第一片数据的起始值(大于等于);然后游标跳到第1001条记录,获得第1001行的基础字段值作为第一片数据的结束值(小于),也作为第二片数据的起始值(大于等于;然后游标再跳到第2001条记录获得第2001行的基础字段值作为第二片数据的结束值(小于),也作为第三片数据的起始值(大于等于);以此不断循环处理,直至最后一条记录为止。
可选地,所述方法还包括:
通过服务器的预设应用程序,采用数据库游标以去重的方式,在预先建立的分片数据库中查找要处理的基础字段,其中,所述预先建立的分片数据库中包括以基础字段进行分片后的各个数据分片,各个数据分片包括数据分片属性和数据分片内容,所述数据分片属性包括所述起始标识和结束标识。
可选地,在所述服务器上设置多个业务处理线程,所述将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果,包括:
在所述服务器存在空闲的业务处理线程的情况下,在所述预先建立的分片数据库中,查找未执行状态的数据分片;
根据所述未执行状态的数据分片的起始标识和结束标识获取对应的目标数据分片内容;
将所述起始标识、所述结束标识和所述目标数据分片内容发送至存在空闲业务处理线程的目标服务器,以使所述目标服务器采用所述空闲的业务处理线程处理所述目标数据分片内容,得到处理结果,其中,所述处理结果还包括执行状态,所述执行状态至少包括执行中或执行完成中的一种。
具体地,终端设备对数据分片的状态进行查询,若数据分片的状态为未执行状态,则将该数据分片的起始标识和结束标识发送至服务器上,若该服务器上存在空闲线程,则采用该空闲线程对数据分片进行处理。
可选地,所述方法还包括:
根据所述处理结果中的执行状态,对所述预先建立的分片数据库中的数据分片的状态进行更新。
具体地,在服务器处理完数据分片后,记录该处理结果的执行状态,例如执行中,执行完成,然后将该处理结果返回给终端设备,终端设备再根据执行状态对预先建立的分片数据库中的数据分片的状态进行更新。
可选地,所述方法还包括:
将所述预先建立的分片数据库中数据分片的状态为执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;
采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
具体地,终端设备对预先建立的分片数据库中的数据分片的状态进行判断,若状态我执行完成,则将执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
本发明实现多台服务器多线程并发高效处理数据的方法,根据业务逻辑去决定基础字段,以实现在数据分片的时候做到业务逻辑的隔离,以避免多线程间提交数据时造成的数据库锁问题;使用数据库游标技术进行数据分片处理,高效完成数据分片,以便多线程程序处理;使用数据分片表管理数据分片,以实现在多服务器环境下,可以多台服务器并行,每台服务器多线程并发处理数据,而不会造成冲突处理,这样也能合理利用所有服务器资源来提升应用的处理能力。
如图2所示,本发明的再一种数据处理方法实施例的流程示意图,该数据处理方法包括:
先将待处理数据按一定数量划分为多个数据分片,然后使用多台服务器,每台服务器多线程并发去处理每一片数据分片的数据,最后完成所有数据的处理。
假设需要处理的表数据有1000万,按1000条数据为1片进行数据分片,那么会拆分到1万片数据片,具体做法如下:
首先根据业务逻辑会确定以这个表的某个高基数列为基础字段,先为这个列创建索引,在应用程序使用数据库游标以去重的方式查询该表的基础字段,游标访问第一条记录获得第一行的基础字段值作为第一片数据的起始值(大于等于);然后游标跳到第1001条记录,获得第1001行的基础字段值作为第一片数据的结束值(小于),也作为第二片数据的起始值(大于等于;然后游标再跳到第2001条记录获得第2001行的基础字段值作为第二片数据的结束值(小于),也作为第三片数据的起始值(大于等于);以此不断循环处理,直至最后一条记录为止。
在这个过程中,把每个片的起始和结束值都保存到一个数据分片表里,并且每条分片数据都带有执行状态为未执行。游标只访问了该表即预先建立的数据分片数据库的1000万除以1000条即1万条记录,而且是使用数据库游标访问的,并且每次只取一个(基础)字段值,这个过程就能保证快速高效。
在每台服务器上部署一套应用程序,该应用程序上都有线程池的多个线程去消费任务池的分片任务,在应用程序的高可用集群环境下,就会有多台服务器、每台服务器多个线程,具有多机多线程并发处理能力,以此来保证大批量数据的搞笑处理。在本发明实施例中每台服务器配置一个线程池,另外有一个后台线程,当线程池有空闲线程的时候,就去锁定和遍历数据分片表里是否有未执行状态的分片数据,如果找到有,就会将分片起始和结束值取出来丢给空闲线程去处理,并且更新分片执行状态为执行中,提交并释放数据分片的锁,这样多台服务器之间就能避免重复处理同一个分片。
最后是每个线程在接到分片执行调用后,使用输入的起始和结束值,以基础字段为必要条件去查询业务表的数据,就是1000条数据,这1000条数据查询出来后进行业务逻辑计算,并且拼装成1000组更新表数据的参数组,使用数据库的批量提交技术,在一个事务里对这1000条数据进行更新入库。
图3是本发明的又一种数据处理方法实施例的流程示意图,如图3所示,终端设备上设置有数据切片器,该数据切片器将待处理数据进行分片,并将每个数据分片的任务进行记录,比如将每个数据分片的起始标识和结束标识进行记录,该起始标识和结束标识用于区别各个数据分片,将处理结果进行拼接。同时,还需要对分片任务进行监控,实时获取每个数据分片的状态。
具体在执行的过程中,先生成分片任务,然后进行分片执行,最后对分片 任务进行结果统计。
图4是本发明的服务器分片任务调度的流程示意图,如图4所示,该分片任务调度器设置在服务器上,该分片任务调度器进行定时轮询,从Slice任务池中对分片任务进行抢夺,然后进行任务调用,结束抢夺,开始进行数据分片处理。
图5是本发明的本发明的服务器分片任务监视的步骤流程图,如图5所示,终端设备统计分片任务执行情况,若分片执行完成,则将步骤状态更新为执行完成,若分片执行未完成,则结束。
图6是本发明的又一种数据处理方法实施例的流程示意图,如图6所示,该数据处理方法包括:
1、分片任务限流信息是否初始化,若是,则判断服务器是否有空闲资源,若否,则初始化任务限流信息;
2、终端设备需要实时或者定时获取各个服务器的运行状态,获取各个服务器是否有空闲资源,若有空闲资源,则向服务器发送数据分片,服务器获取数据分片的可执行任务;其中,可执行任务包括多个数据分片;
3、服务器循环遍历可执行任务,并进行任务限流检查,若通过检查,则开始任务抢夺,若抢夺成功,则进行任务异步调用,若抢夺失败,则重新进行循环遍历;
4、服务器对线程池的任务进行判断,若线程池已满,则结束任务,若线程池未满,则重新进行循环遍历,直至将所有的数据分片处理完成。
本发明实施例根据业务确定基础字段,使用数据库游标的方式进行数据分片并入分片任务池;在单个分片数据处理时,使用基础字段大于等于分片起始值且小于分片结束值的条件查询数据来处理;在服务器集群环境下,多台服务器并行,每台服务器多线程并发处理分片数据的分片任务调度与监控能力。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的数据处理方法,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
本发明另一实施例提供一种数据处理装置,用于执行上述实施例提供的数据处理方法。
参照图7,示出了本发明的一种数据处理装置实施例的结构框图,该装置具体可以包括如下模块:获取模块701、分片模块702、处理模块703和统计模块704,其中:
获取模块701用于获取待处理的数据;
分片模块702用于将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
处理模块703用于将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
统计模块704用于接收多个所述服务器返回的处理结果。
本发明实施例提供的数据处理装置,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
本发明又一实施例对上述实施例提供的数据处理装置做进一步补充说明。
可选地,所述分片模块用于:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
可选地,所述装置还包括查找模块,所述查找模块用于:
通过服务器的预设应用程序,采用数据库游标以去重的方式,在预先建立的分片数据库中查找要处理的基础字段,其中,所述预先建立的分片数据库中包括以基础字段进行分片后的各个数据分片,各个数据分片包括数据分片属性和数据分片内容,所述数据分片属性包括所述起始标识和结束标识。
可选地,在所述服务器上设置多个业务处理线程,所述处理模块用于:
在所述服务器存在空闲的业务处理线程的情况下,在所述预先建立的分片数据库中,查找未执行状态的数据分片;
根据所述未执行状态的数据分片的起始标识和结束标识获取对应的目标数据分片内容;
将所述起始标识、所述结束标识和所述目标数据分片内容发送至存在空闲业务处理线程的目标服务器,以使所述目标服务器采用所述空闲的业务处理线程处理所述目标数据分片内容,得到处理结果,其中,所述处理结果还包括执行状态,所述执行状态至少包括执行中或执行完成中的一种。
可选地,所述装置还包括更新模块,所述更新模块用于:
根据所述处理结果中的执行状态,对所述预先建立的分片数据库中的数据分片的状态进行更新。
可选地,所述更新模块还用于:
将所述预先建立的分片数据库中数据分片的状态为执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;
采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的数据处理装置,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的数据处理方法。
图8是本发明的一种终端设备的结构示意图,如图8所示,该终端设备包括:至少一个处理器801和存储器802;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的数据处理方法。
本实施例提供的终端设备,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的数据处理方法。
根据本实施例的计算机可读存储介质,通过获取待处理的数据;将待处理的数据按照预设分片规则进行分片,得到数据分片,其中,数据分片至少包括起始标识和结束标识,预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;将数据分片发送至多个服务器,以使服务器根据起始标识和结束标识,获取与起始标识和结束标识对应的数据分片内容,并执行与数据分片内容对应的操作,得到处理结果;接收多个服务器返回的处理结果,通过将待处理数据进行分片,在服务器集群环境下,多台服务器并行,将数据分片发送至多个服务器进行处理,每台服务器多线程并发处理数据分片的任务,提高业务处理效率。
应该指出,上述详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语均具有与本申请所属技术领域的普通技术人员的通常理解所相同的含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请所述的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位,如旋转90度或处于其他方位,并且对这里所使用的空间相对描述作出相应解释。
在上面详细的说明中,参考了附图,附图形成本文的一部分。在附图中,类似的符号典型地确定类似的部件,除非上下文以其他方式指明。在详细的说明书、附图及权利要求书中所描述的图示说明的实施方案不意味是限制性的。在不脱离本文所呈现的主题的精神或范围下,其他实施方案可以被使用,并且可以作其他改变。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取待处理的数据;
将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
接收多个所述服务器返回的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述待处理的数据按照预设分片规则进行分片,得到数据分片,包括:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
通过服务器的预设应用程序,采用数据库游标以去重的方式,在预先建立的分片数据库中查找要处理的基础字段,其中,所述预先建立的分片数据库中包括以基础字段进行分片后的各个数据分片,各个数据分片包括数据分片属性和数据分片内容,所述数据分片属性包括所述起始标识和结束标识。
4.根据权利要求3所述的方法,其特征在于,在所述服务器上设置多个业务处理线程,所述将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果,包括:
在所述服务器存在空闲的业务处理线程的情况下,在所述预先建立的分片数据库中,查找未执行状态的数据分片;
根据所述未执行状态的数据分片的起始标识和结束标识获取对应的目标数据分片内容;
将所述起始标识、所述结束标识和所述目标数据分片内容发送至存在空闲业务处理线程的目标服务器,以使所述目标服务器采用所述空闲的业务处理线程处理所述目标数据分片内容,得到处理结果,其中,所述处理结果还包括执行状态,所述执行状态至少包括执行中或执行完成中的一种。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述处理结果中的执行状态,对所述预先建立的分片数据库中的数据分片的状态进行更新。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述预先建立的分片数据库中数据分片的状态为执行完成的数据分片进行业务逻辑处理,得到拼装后的业务数据;
采用数据库的批量提交技术,将所述业务数据保存在所述预先建立的分片数据库。
7.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的数据;
分片模块,用于将所述待处理的数据按照预设分片规则进行分片,得到数据分片,其中,所述数据分片至少包括起始标识和结束标识,所述预设分片规则至少包括业务逻辑、预设长度或预设字节大小中的一种或多种;
处理模块,用于将所述数据分片发送至多个服务器,以使所述服务器根据所述起始标识和所述结束标识,获取与所述起始标识和所述结束标识对应的数据分片内容,并执行与所述数据分片内容对应的操作,得到处理结果;
统计模块,用于接收多个所述服务器返回的处理结果。
8.根据权利要求7所述的装置,其特征在于,所述分片模块用于:
根据所述业务逻辑,确定预设个数的基础字段,且所述基础字段是高基数列;
根据所述预设个数的基础字段对所述待处理的数据进行分片,得到多个所述数据分片。
9.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903568.4A CN113342839A (zh) | 2021-08-06 | 2021-08-06 | 数据处理方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903568.4A CN113342839A (zh) | 2021-08-06 | 2021-08-06 | 数据处理方法、装置、终端设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342839A true CN113342839A (zh) | 2021-09-03 |
Family
ID=77480968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110903568.4A Pending CN113342839A (zh) | 2021-08-06 | 2021-08-06 | 数据处理方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342839A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190113A (zh) * | 2022-07-07 | 2022-10-14 | 武汉蔚能电池资产有限公司 | 数据同步方法、设备及存储介质 |
CN117251508A (zh) * | 2023-09-22 | 2023-12-19 | 湖南长银五八消费金融股份有限公司 | 一种借据批量入账方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073444A (zh) * | 2016-11-18 | 2018-05-25 | 北京京东尚科信息技术有限公司 | 向客户端推送用户数据的方法及系统 |
CN108108463A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 基于时间片调度的同步任务处理方法及装置 |
CN109144731A (zh) * | 2018-08-31 | 2019-01-04 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN109710679A (zh) * | 2018-12-28 | 2019-05-03 | 北京旷视科技有限公司 | 数据抽取方法及装置 |
CN110147373A (zh) * | 2019-05-23 | 2019-08-20 | 泰康保险集团股份有限公司 | 数据处理方法、装置以及电子设备 |
CN112667656A (zh) * | 2020-12-07 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 交易数据的处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-08-06 CN CN202110903568.4A patent/CN113342839A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073444A (zh) * | 2016-11-18 | 2018-05-25 | 北京京东尚科信息技术有限公司 | 向客户端推送用户数据的方法及系统 |
CN108108463A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 基于时间片调度的同步任务处理方法及装置 |
CN109144731A (zh) * | 2018-08-31 | 2019-01-04 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN109710679A (zh) * | 2018-12-28 | 2019-05-03 | 北京旷视科技有限公司 | 数据抽取方法及装置 |
CN110147373A (zh) * | 2019-05-23 | 2019-08-20 | 泰康保险集团股份有限公司 | 数据处理方法、装置以及电子设备 |
CN112667656A (zh) * | 2020-12-07 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 交易数据的处理方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190113A (zh) * | 2022-07-07 | 2022-10-14 | 武汉蔚能电池资产有限公司 | 数据同步方法、设备及存储介质 |
CN115190113B (zh) * | 2022-07-07 | 2024-04-16 | 武汉蔚能电池资产有限公司 | 数据同步方法、设备及存储介质 |
CN117251508A (zh) * | 2023-09-22 | 2023-12-19 | 湖南长银五八消费金融股份有限公司 | 一种借据批量入账方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619430B2 (en) | Active non-volatile memory post-processing | |
US20160179865A1 (en) | Method and system for concurrency control in log-structured merge data stores | |
US9477974B2 (en) | Method and systems for flexible and scalable databases | |
US11132383B2 (en) | Techniques for processing database tables using indexes | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN113342839A (zh) | 数据处理方法、装置、终端设备和存储介质 | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
US7877757B2 (en) | Work item event monitor for procession of queued events | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
CN111324606A (zh) | 数据分片的方法及装置 | |
US10838931B1 (en) | Use of stream-oriented log data structure for full-text search oriented inverted index metadata | |
CN111488323B (zh) | 一种数据处理方法、装置及电子设备 | |
CN114116762A (zh) | 一种离线数据模糊搜索方法、装置、设备和介质 | |
CN113553339A (zh) | 数据查询方法、中间件、电子装置和存储介质 | |
CN115525631A (zh) | 数据库数据迁移方法、装置、设备、存储介质 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN114281819A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN112527824B (zh) | 分页查询方法、装置、电子设备和计算机可读存储介质 | |
WO2023197904A1 (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN112395337A (zh) | 一种数据导出方法和装置 | |
US8484171B2 (en) | Duplicate filtering in a data processing environment | |
CN112100186B (zh) | 基于分布式系统的数据处理方法、装置、计算机设备 | |
CN110837427B (zh) | 一种基于队列分拣任务机制的防止缓存击穿的方法 | |
Fukuda et al. | Improving response time for Cassandra with query scheduling | |
CN109388658B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210903 |