CN111400390A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN111400390A CN111400390A CN202010270178.3A CN202010270178A CN111400390A CN 111400390 A CN111400390 A CN 111400390A CN 202010270178 A CN202010270178 A CN 202010270178A CN 111400390 A CN111400390 A CN 111400390A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- queue
- processed
- storage system
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 212
- 238000003860 storage Methods 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 38
- 230000003203 everyday effect Effects 0.000 abstract description 4
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 230000010365 information processing Effects 0.000 abstract 1
- 230000003993 interaction Effects 0.000 description 16
- 238000013500 data storage Methods 0.000 description 8
- 230000008676 import Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 238000010923 batch production Methods 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000283965 Ochotona princeps Species 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
-
- 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
- G06F16/217—Database tuning
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- 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)
- 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
本申请公开了数据处理方法及装置、电子设备、计算机存储介质,将存储***中的数据存入待处理队列;将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据;调用接口,批量处理所述数据集合中的数据。将数据信息的处理从同步改成异步,从存储***中读取数据并***待处理队列中,将待处理队列中的数据组合成多条数据的数据集合,调用接口批量处理数据集合中的数据,由此大大减少了调用接口的次数,减小数据库压力,提高单位时间的数据处理量,提高数据处理效率,满足数据处理的时效性需求,可提升CPU使用率、***稳定性及数据安全性,让***稳定、高效、有序地处理海量数据,每天稳定处理巨大的数据量。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及数据处理方法及装置、电子设备、计算机存储介质。
背景技术
现今大数据时代,物流、电商、互联网等行业经常面临处理海量数据的情况,在对海量数据进行处理的过程中,往往需要考虑处理数据时数据重复及高并发等情况,通常做法是遍历导入数据,查询数据库去重后,将数据存入数据库中,然后再次遍历数据进行数据处理,最后将处理后的数据和数据结果储存起来。
现有技术在对数据进行处理的过程中,大多是针对单条数据进行处理,通常处理每条数据都需要调用一次接口,数据量越大时给数据库造成的压力越大。随着业务快速发展,需要处理的数据越来越多,频繁的查库去重、单位时间的数据处理量剧增、数据处理时效性的苛刻要求,都对技术、甚至数据隐私安全,带来巨大的考验。
发明内容
本申请的目的在于提供数据处理方法及装置、电子设备、计算机存储介质,解决现有技术的不足,对数据进行批量处理,调用一次接口处理多条数据,减少调用接口的次数,减小数据库压力,克服因单位时间内导入数据量过大导致数据处理超时的问题。
本申请的目的采用以下技术方案实现:
第一方面,本申请提供了一种数据处理方法,所述方法包括:
将存储***中的数据存入待处理队列;
将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据;
调用接口,批量处理所述数据集合中的数据。
将数据信息的处理从同步改成异步,从直接操作存储***改为对待处理队列中的数据进行处理,从存储***中读取数据并***待处理队列中,将待处理队列中的数据组合成多条数据的数据集合,调用接口批量处理数据集合中的数据,由此大大减少了调用接口的次数,减小数据库压力,提高单位时间的数据处理量,提高数据处理效率,满足数据处理的时效性需求,将该方法应用于数据处理***,可提升CPU使用率、***稳定性及数据安全性,让***稳定、高效、有序地处理海量数据,每天稳定处理巨大的数据量。
可选地,所述调用接口,批量处理所述数据集合中的数据,包括:
调用所述接口,通过多个进程批量处理所述数据集合中的数据。
开启多进程消耗待处理队列中的数据,提高单位时间的数据处理效率。
可选地,所述方法还包括:
将处理失败的数据重新存入所述待处理队列并延时处理。
将处理失败的数据重新***去重后的数据中,由此开启一个循环处理,保证处理失败的数据能够被再次处理。采用延时处理,避免出现上一批次数据卡顿未处理完成,异步程序调用下一批次数据,两段程序处理数据库同一条数据时造成锁表的情况。
可选地,所述方法还包括:
将处理失败的数据对应的错误类型存储至所述存储***。
对处理失败的错误类型进行记录,便于了解处理失败的原因以及有针对性地根据错误类型解决处理失败的情况。
可选地,所述方法还包括:
将处理成功的数据在所述存储***中的处理状态调整为处理成功;
将处理失败的数据在所述存储***中的处理状态调整为处理失败。
根据数据的处理结果更新存储***中对应数据的处理状态,便于用户通过存储***中的数据处理状态了解数据的处理情况,在存储***中查询数据的当前处理状态。
可选地,所述方法还包括:
将数据导入待存储队列;
若所述存储***中不存在所述待存储队列中的数据对应的标识,则将所述待存储队列中的数据存储至所述存储***,并将所述待存储队列中的数据在所述存储***中的处理状态设置为未处理。
将数据信息的存储从同步改成异步,数据并非直接存储到存储***,而是将海量数据存储到待存储队列中以加快导入数据的处理速度,将待存储队列中的数据与存储***进行查重处理以减少进入待处理队列的数据,将去重后的数据存入存储***进入后续的数据处理阶段。
可选地,所述方法还包括:
通过多个进程判断所述存储***中是否存在所述待存储队列中的数据对应的标识。
开启多进程消耗待存储队列中的数据,提高单位时间的数据存储效率。
可选地,所述方法还包括:
将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理。
发生***异常、网络异常等情况都有可能会出现实际已经成功,但是返回失败的情况,提供异常处理机制,出现异常后将异常数据重新推送入待存储队列中。采用延时处理,避免出现上一批次数据卡顿未处理完成,异步程序调用下一批次数据,两段程序处理数据库同一条数据时造成锁表的情况。
可选地,所述将存储***中的数据存入待处理队列,包括:
将所述存储***中处理状态是未处理或者处理失败的数据存入所述待处理队列。
存储***中的数据并非全都进入待处理队列,而是经过处理状态的筛选,使得处理状态为未处理或者处理失败的数据进入待处理队列,由此减少进入待处理队列的数据量,避免处理成功的数据浪费计算资源做无用功。
第二方面,本申请提供了一种数据处理装置,所述数据处理装置包括:
处理存入模块,用于将存储***中的数据存入待处理队列;
数据组合模块,用于将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据;
批量处理模块,用于调用接口,批量处理所述数据集合中的数据。
可选地,所述批量处理模块用于调用所述接口,通过多个进程批量处理所述数据集合中的数据。
可选地,所述数据处理装置还包括处理再存模块,用于将处理失败的数据重新存入所述待处理队列并延时处理。
可选地,所述数据处理装置还包括错误存储模块,用于将处理失败的数据对应的错误类型存储至所述存储***。
可选地,所述数据处理装置还包括状态调整模块,所述状态调整模块包括:
成功调整单元,用于将处理成功的数据在所述存储***中的处理状态调整为处理成功;
失败调整单元,用于将处理失败的数据在所述存储***中的处理状态调整为处理失败。
可选地,所述数据处理装置还包括数据导入模块和数据存储模块;
所述数据导入模块用于将数据导入待存储队列;
所述数据存储模块用于若所述存储***中不存在所述待存储队列中的数据对应的标识,则将所述待存储队列中的数据存储至所述存储***,并将所述待存储队列中的数据在所述存储***中的处理状态设置为未处理。
可选地,所述数据处理装置还包括去重判断模块,用于通过多个进程判断所述存储***中是否存在所述待存储队列中的数据对应的标识。
可选地,所述数据处理装置还包括存储再存模块,用于将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理。
可选地,所述处理存入模块用于将所述存储***中处理状态是未处理或者处理失败的数据存入所述待处理队列。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述处理器执行所述存储器存储的计算机指令,使得所述电子设备执行上述任一项数据处理方法。
第四方面,本申请提供了一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述任一项数据处理方法。
与现有技术相比,本申请的技术效果包括:
本申请公开了数据处理方法及装置、电子设备、计算机存储介质,将数据信息的处理从同步改成异步,从直接操作存储***改为对待处理队列中的数据进行处理,从存储***中读取数据并***待处理队列中,将待处理队列中的数据组合成多条数据的数据集合,调用接口批量处理数据集合中的数据,由此大大减少了调用接口的次数,减小数据库压力,提高单位时间的数据处理量,提高数据处理效率,满足数据处理的时效性需求,将该方法应用于数据处理***,可提升CPU使用率、***稳定性及数据安全性,让***稳定、高效、有序地处理海量数据,每天稳定处理巨大的数据量。
附图说明
下面结合附图和实施例对本申请进一步说明。
图1是第一实施例提供的数据处理方法的一种流程示意图;
图2是数据去重及处理机制的一种流程示意图;
图3是数据处理机制的一种流程示意图;
图4是第二实施例提供的数据处理方法的一种流程示意图;
图5是第三实施例提供的数据处理方法的一种流程示意图;
图6是第四实施例提供的数据处理方法的一种流程示意图;
图7是第五实施例提供的数据处理方法的一种流程示意图;
图8是第六实施例提供的数据处理方法的一种流程示意图;
图9是数据去重机制的一种流程示意图;
图10是第七实施例提供的数据处理方法的一种流程示意图;
图11是第八实施例提供的数据处理方法的一种流程示意图;
图12是第九实施例提供的数据处理方法的一种流程示意图;
图13是第十实施例提供的数据处理方法的一种流程示意图;
图14是第十一实施例提供的数据处理装置10的一种结构示意图;
图15是图14中状态调整模块106的一种结构示意图;
图16是第十二实施例提供的数据处理***的一种结构示意图。
图中:10、数据处理装置;101、处理存入模块;102、数据组合模块;103、批量处理模块;104、处理再存模块;105、错误存储模块;106、状态调整模块;1061、成功调整单元;1062、失败调整单元;107、数据导入模块;108、数据存储模块;109、去重判断模块;110、存储再存模块;20、第一缓存***;30、存储***;40、第二缓存***;50、处理***。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
参见图1至图3,第一实施例提供了一种数据处理方法,所述方法包括步骤S100~S300。
本实施例中的数据处理方法可以应用于物流、电商、互联网等行业的数据处理***或者其他需要对海量数据进行处理的场景。
步骤S100:将存储***中的数据存入待处理队列。
所述存储***可以是pika数据库或者redis数据库。数据的类型例如是运单数据、订单数据、咨询需求数据等。具体地,可以根据存储***中的主键分批读取存储***中的数据并推送到待处理队列中。引入待处理队列,将数据处理的单流程分解为多阶段流程,通过缓存队列的方式,将高峰压力缓解到多时段,缓解***高峰压力。
步骤S200:将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据。
每个数据集合中的数据数量可以是相同的,也可以是不同的。例如每个数据集合中的数据数量可以是50条或者100条。
具体地,步骤S200可以包括:将所述待处理队列中的数据按时间顺序组合成一个或多个数据集合;每个所述数据集合包括多条数据。按照时间顺序处理数据,贴近实际应用中对时效性的需求。
步骤S300:调用接口,批量处理所述数据集合中的数据。
数据处理例如是查询运单对应的网点或者物流信息、查询订单对应的卖家、查询投诉工单对应的员工工号等。例如在调用接口查询运单对应的网点时,可以批量查询一个运单集合中的50个运单对应的网点。
具体地,所述步骤S300可以包括:调用所述接口,通过多个进程批量处理所述数据集合中的数据。开启多进程消耗待处理队列中的数据,增加处理速度,提高单位时间的数据处理效率。
将数据信息的处理从同步改成异步,从直接操作存储***改为对待处理队列中的数据进行处理,从存储***中读取数据并***待处理队列中,将待处理队列中的数据组合成多条数据的数据集合,调用接口批量处理数据集合中的数据,由此大大减少了调用接口的次数,减小数据库压力,提高单位时间的数据处理量,提高数据处理效率,满足数据处理的时效性需求,将该方法应用于数据处理***,可提升CPU使用率、***稳定性及数据安全性,让***稳定、高效、有序地处理海量数据,每天稳定处理巨大的数据量。
参见图4,第二实施例提供了一种数据处理方法,在第一实施例的基础上,所述方法还包括步骤S400:将处理失败的数据重新存入所述待处理队列并延时处理。
将处理失败的数据重新***去重后的数据中,由此开启一个循环处理,保证处理失败的数据能够被再次处理。采用延时处理,避免出现上一批次数据卡顿未处理完成,异步程序调用下一批次数据,两段程序处理数据库同一条数据时造成锁表的情况。
参见图5,第三实施例提供了一种数据处理方法,在第一实施例的基础上,所述方法还包括步骤S500:将处理失败的数据对应的错误类型存储至所述存储***。
对处理失败的错误类型进行记录,便于了解处理失败的原因以及有针对性地根据错误类型解决处理失败的情况。
参见图6,第四实施例提供了一种数据处理方法,在第一实施例的基础上,所述方法还包括步骤S610~S620。
步骤S610:将处理成功的数据在所述存储***中的处理状态调整为处理成功。
步骤S620:将处理失败的数据在所述存储***中的处理状态调整为处理失败。
根据数据的处理结果更新存储***中对应数据的处理状态,便于用户通过存储***中的数据处理状态了解数据的处理情况,在存储***中查询数据的当前处理状态。
参见图7,第五实施例提供了一种数据处理方法,在第一实施例的基础上,步骤S300可以包括:根据所述数据集合中的数据的数据类型选择所述数据类型对应的处理规则,调用所述接口,批量处理所述数据集合中的数据。
例如用该数据处理方法来查询运单对应的网点时,A类型数据的处理规则可以包括步骤R1~R7。
步骤R1:根据运单号规则判断运单是否为A类型。
A类型例如是韵达自有运单、菜鸟面单、普通电子面单等。
步骤R2:如果是,将运单组合成多个集合,例如可以将运单1至运单50组合为集合1,运单51至运单100组合为集合2,以此类推;再使用运单集合查询运单的所属公司。由此可以大幅减少查询次数,减少信息交互次数以提高效率。
步骤R3:遍历步骤R2中得到的所属公司,判断导入运单的账号与每个运单的所属网点的关系。若账号与运单所属网点不匹配,则记录返回错误类型,并在存储***中更新该运单的处理状态。
步骤R4:根据匹配成功的所属网点,获取所属网点的权限状态,当公司为欠费网点等无权限网点时,记录返回错误类型,并在存储***中更新该运单的处理状态。
步骤R5:当运单集合中的运单对应的网点都通过有效性校验时,将查询到的网点分批次推送至下游使用,记录推送返回类型,并在存储***中更新该运单的处理状态。
步骤R6:在步骤R3~R5中,对存储***中运单的处理状态的更新是分批更新。
步骤R7:对上述步骤中的异常数据进行记录,供后续业务人员或开发人员分析查看。
参见图8和图9,第六实施例提供了一种数据处理方法,在第四实施例的基础上,所述方法还包括步骤S710~S720。
步骤S710:将数据导入待存储队列。
该步骤可以将外部数据导入待存储队列。引入待存储队列,将数据存储的单流程分解为多阶段流程,通过缓存队列的方式,将高峰压力缓解到多时段,缓解***高峰压力。
步骤S720:若所述存储***中不存在所述待存储队列中的数据对应的标识,则将所述待存储队列中的数据存储至所述存储***,并将所述待存储队列中的数据在所述存储***中的处理状态设置为未处理。
数据处理前需要对数据进行去重,防止重复处理导致结果混乱。数据对应的标识可以是运单号、订单号、咨询工单号等,例如可以根据数据中运单号的唯一性,将运单号存入存储***中。如果存储***中表的主键id存储在一个文件,则读取该文件中的主键id,就可以分批读取存储***中的数据,根据存储***的唯一值(例如是运单号、订单号等)进行去重,以减少进入待处理队列的数据。
将数据信息的存储从同步改成异步,数据并非直接存储到存储***,而是将海量数据存储到待存储队列中以加快导入数据的处理速度,将待存储队列中的数据与存储***进行查重处理以减少进入存储***的数据,将去重后的数据存入存储***进入后续的数据处理阶段。
参见图10,第七实施例提供了一种数据处理方法,在第六实施例的基础上,所述方法还包括步骤S730:通过多个进程判断所述存储***中是否存在所述待存储队列中的数据对应的标识。
开启多进程消耗待存储队列中的数据,增加处理速度,提高单位时间的数据存储效率。
参见图11,第八实施例提供了一种数据处理方法,在第六实施例的基础上,所述方法还包括步骤S740:将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理。
发生***异常、网络异常等情况都有可能会出现实际已经成功,但是返回失败的情况,提供异常处理机制,出现异常后将异常数据重新推送入待存储队列中。采用延时处理,避免出现上一批次数据卡顿未处理完成,异步程序调用下一批次数据,两段程序处理数据库同一条数据时造成锁表的情况。
进一步优选地,所述步骤S740可以包括:对出现异常导致存储失败的数据进行标注并重新存入所述待存储队列。对存储失败的数据进行标注,便于后续针对发生过存储失败的数据进行进一步分析。
进一步优选地,所述步骤S740可以包括:将存储失败的数据对应的错误类型存储至所述存储***;若存储失败的数据对应的错误类型是普通异常,则将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理;若存储失败的数据对应的错误类型是特殊异常,则将出现异常导致存储失败的数据抛出以进行人工分析。由于数据不断写入存储***,因此需要对存储***中的数据进行过期处理,减少存储***的数据量。
参见图12,第九实施例提供了一种数据处理方法,在第六实施例的基础上,所述步骤S100可以包括:将所述存储***中处理状态是未处理或者处理失败的数据存入所述待处理队列。
存储***中的数据并非全都进入待处理队列,而是经过处理状态的筛选,使得处理状态为未处理或者处理失败的数据进入待处理队列,由此减少进入待处理队列的数据量,避免处理成功的数据浪费计算资源做无用功。
参见图13,第十实施例提供了一种数据处理方法,包括步骤T100~T400。
步骤T100:将外部数据导入第一缓存***的待存储队列。该步骤避免因存储速度的原因造成导入不及时。
步骤T200:通过处理***多进程处理待存储队列中的数据,将待存储队列中的数据去重后存入存储***。每个进程的生产脚本只负责单一的功能,不做其他逻辑处理,保证生产高效,能实时追上最新的数据,最大可能提高处理速度,减小造成的生产延迟;处理单一功能时,可以启动多个进程来处理,使数据处理更加高效可控。
步骤T300:将存储***中的去重后数据存入第二缓存***的待处理队列。
步骤T400:通过处理***多进程处理待处理队列中的数据,得到结果数据并分批更新所处理的数据在存储***中的处理状态,以及将处理失败的数据重新存入去重后数据并延时处理。运单采用分批更新,例如100条运单更新一次存储***,由此降低存储***压力。
其中,存储***用于临时存储来自外部数据源的原始数据、经过海量数据处理机制处理后的去重数据和数据结果。第一缓存***、第二缓存***用于稳定、有序、高效地将数据释放出来。处理***用于对原始数据和去重后数据进行处理,得到去重后数据和数据处理结果。将单流程分解为多阶段流程,并通过缓存队列以及多进程的方式,将高峰压力缓解到多时段,缓解***高峰压力,增加处理速度,由此本实施例中的数据处理方法能胜任亿+级别的数据处理,高效、稳定、快速,经历双11、双12的考验,没有生产不及时或出现队列堆积的情况。
参见图14,第十一实施例提供了一种数据处理装置10,所述数据处理装置10包括处理存入模块101、数据组合模块102、批量处理模块103,处理存入模块101与数据组合模块102进行数据交互,数据组合模块102还与批量处理模块103进行数据交互。
处理存入模块101用于将存储***中的数据存入待处理队列.
数据组合模块102用于将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据。
批量处理模块103用于调用接口,批量处理所述数据集合中的数据。
进一步优选地,所述批量处理模块103可以用于调用所述接口,通过多个进程批量处理所述数据集合中的数据。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括处理再存模块104,用于将处理失败的数据重新存入所述待处理队列并延时处理。处理再存模块104与批量处理模块103进行数据交互。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括错误存储模块105,用于将处理失败的数据对应的错误类型存储至所述存储***。错误存储模块105与批量处理模块103进行数据交互。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括状态调整模块106。状态调整模块106与批量处理模块103进行数据交互。
具体地,参见图15,所述状态调整模块106可以包括成功调整单元1061、失败调整单元1062,成功调整单元1061与失败调整单元1062进行数据交互。
成功调整单元1061用于将处理成功的数据在所述存储***中的处理状态调整为处理成功。
失败调整单元1062用于将处理失败的数据在所述存储***中的处理状态调整为处理失败。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括数据导入模块107和数据存储模块108,数据导入模块107与数据存储模块108进行数据交互,数据存储模块108还与处理存入模块101进行数据交互。
所述数据导入模块107用于将数据导入待存储队列。
所述数据存储模块108用于若所述存储***中不存在所述待存储队列中的数据对应的标识,则将所述待存储队列中的数据存储至所述存储***,并将所述待存储队列中的数据在所述存储***中的处理状态设置为未处理。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括去重判断模块109,用于通过多个进程判断所述存储***中是否存在所述待存储队列中的数据对应的标识。去重判断模块109分别与数据导入模块107、数据存储模块108进行数据交互。
进一步优选地,继续参见图14,所述数据处理装置10还可以包括存储再存模块110,用于将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理。存储再存模块110与数据存储模块108进行数据交互。
进一步优选地,继续参见图14,所述处理存入模块101可以用于将所述存储***中处理状态是未处理或者处理失败的数据存入所述待处理队列。
参见图16,第十二实施例提供了一种数据处理***,包括数据处理装置10、第一缓存***20、存储***30、第二缓存***40、处理***50,数据处理装置10分别与第一缓存***20、存储***30、第二缓存***40、处理***50进行数据交互,第一缓存***20还与存储***30进行数据交互,存储***30还与第二缓存***40进行数据交互,第二缓存***40还与处理***50进行数据交互,处理***50还与存储***30进行数据交互。
数据处理装置10将外部数据导入第一缓存***20的待存储队列。
数据处理装置10通过处理***50多进程处理待存储队列中的数据,将待存储队列中的数据去重后存入存储***30。
数据处理装置10将存储***30中的去重后数据存入第二缓存***40的待处理队列。
数据处理装置10通过处理***50多进程处理待处理队列中的数据,得到结果数据并分批更新所处理的数据在存储***30中的处理状态,以及将处理失败的数据重新存入去重后数据。
其中,存储***30用于临时存储来自外部数据源的原始数据、经过海量数据处理机制处理后的去重数据和数据结果。第一缓存***20、第二缓存***40用于稳定、有序、高效地将数据释放出来。处理***50用于对原始数据和去重后数据进行处理,得到去重后数据和数据处理结果。将单流程分解为多阶段流程,并通过缓存队列以及多进程的方式,将高峰压力缓解到多时段,缓解***高峰压力,增加处理速度,由此本实施例中的数据处理方法能胜任亿+级别的数据处理,高效、稳定、快速,经历双11、双12的考验,没有生产不及时或出现队列堆积的情况。
第十三实施例提供了一种电子设备,该电子设备包括处理器和存储器,处理器执行存储器存储的计算机指令,使得电子设备执行上述任一项数据处理方法。
第十四实施例提供了一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一项数据处理方法。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,其设置有的实用进步性,已符合专利法所强调的功能增进及使用要件,本申请以上的说明及附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
将存储***中的数据存入待处理队列;
将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据;
调用接口,批量处理所述数据集合中的数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述调用接口,批量处理所述数据集合中的数据,包括:
调用所述接口,通过多个进程批量处理所述数据集合中的数据。
3.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
将处理失败的数据重新存入所述待处理队列并延时处理。
4.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
将处理失败的数据对应的错误类型存储至所述存储***。
5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
将处理成功的数据在所述存储***中的处理状态调整为处理成功;
将处理失败的数据在所述存储***中的处理状态调整为处理失败。
6.根据权利要求5所述的数据处理方法,其特征在于,所述方法还包括:
将数据导入待存储队列;
若所述存储***中不存在所述待存储队列中的数据对应的标识,则将所述待存储队列中的数据存储至所述存储***,并将所述待存储队列中的数据在所述存储***中的处理状态设置为未处理。
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
通过多个进程判断所述存储***中是否存在所述待存储队列中的数据对应的标识。
8.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
将出现异常导致存储失败的数据重新存入所述待存储队列并延时处理。
9.根据权利要求6所述的数据处理方法,其特征在于,所述将存储***中的数据存入待处理队列,包括:
将所述存储***中处理状态是未处理或者处理失败的数据存入所述待处理队列。
10.一种数据处理装置,其特征在于,所述数据处理装置包括:
处理存入模块,用于将存储***中的数据存入待处理队列;
数据组合模块,用于将所述待处理队列中的数据组合成一个或多个数据集合;每个所述数据集合包括多条数据;
批量处理模块,用于调用接口,批量处理所述数据集合中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270178.3A CN111400390B (zh) | 2020-04-08 | 2020-04-08 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270178.3A CN111400390B (zh) | 2020-04-08 | 2020-04-08 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400390A true CN111400390A (zh) | 2020-07-10 |
CN111400390B CN111400390B (zh) | 2023-11-17 |
Family
ID=71433090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010270178.3A Active CN111400390B (zh) | 2020-04-08 | 2020-04-08 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400390B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835932A (zh) * | 2021-01-11 | 2021-05-25 | 中国邮政储蓄银行股份有限公司 | 业务表的批量处理方法及装置、非易失性存储介质 |
CN112948738A (zh) * | 2021-03-18 | 2021-06-11 | 四川虹美智能科技有限公司 | 基于mqtt的数据处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023832A (en) * | 1989-01-12 | 1991-06-11 | Honeywell Inc. | Method of maintaining asynchronous real-time data |
US20140304246A1 (en) * | 2013-04-03 | 2014-10-09 | Salesforce.Com, Inc. | Systems and methods for implementing bulk handling in asynchronous processing |
WO2017092582A1 (zh) * | 2015-12-01 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN108536532A (zh) * | 2018-04-23 | 2018-09-14 | 中国农业银行股份有限公司 | 一种批量任务处理方法及*** |
CN109344172A (zh) * | 2018-08-31 | 2019-02-15 | 深圳市元征科技股份有限公司 | 一种高并发数据处理方法、装置及客户端服务器 |
CN109933611A (zh) * | 2019-02-22 | 2019-06-25 | 深圳达普信科技有限公司 | 一种自适应的数据采集方法及*** |
-
2020
- 2020-04-08 CN CN202010270178.3A patent/CN111400390B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023832A (en) * | 1989-01-12 | 1991-06-11 | Honeywell Inc. | Method of maintaining asynchronous real-time data |
US20140304246A1 (en) * | 2013-04-03 | 2014-10-09 | Salesforce.Com, Inc. | Systems and methods for implementing bulk handling in asynchronous processing |
WO2017092582A1 (zh) * | 2015-12-01 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN108536532A (zh) * | 2018-04-23 | 2018-09-14 | 中国农业银行股份有限公司 | 一种批量任务处理方法及*** |
CN109344172A (zh) * | 2018-08-31 | 2019-02-15 | 深圳市元征科技股份有限公司 | 一种高并发数据处理方法、装置及客户端服务器 |
CN109933611A (zh) * | 2019-02-22 | 2019-06-25 | 深圳达普信科技有限公司 | 一种自适应的数据采集方法及*** |
Non-Patent Citations (2)
Title |
---|
杨超;徐如志;杨峰;: "基于消息队列的多进程数据处理***" * |
杨超;徐如志;杨峰;: "基于消息队列的多进程数据处理***", 计算机工程与设计, no. 13 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835932A (zh) * | 2021-01-11 | 2021-05-25 | 中国邮政储蓄银行股份有限公司 | 业务表的批量处理方法及装置、非易失性存储介质 |
CN112835932B (zh) * | 2021-01-11 | 2024-05-28 | 中国邮政储蓄银行股份有限公司 | 业务表的批量处理方法及装置、非易失性存储介质 |
CN112948738A (zh) * | 2021-03-18 | 2021-06-11 | 四川虹美智能科技有限公司 | 基于mqtt的数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111400390B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2695086B1 (en) | Methods and systems for loading data into a temporal data warehouse | |
CN107818431B (zh) | 一种提供订单轨迹数据的方法和*** | |
US7992148B2 (en) | Issuing syncpoints during execution of a batch application to minimize or eliminate periods of record unavailability due to batch related record locking | |
CN108647357B (zh) | 数据查询的方法及装置 | |
CN111522631A (zh) | 分布式事务处理方法、装置、服务器及介质 | |
CN107133233B (zh) | 一种配置数据查询的处理方法及装置 | |
CN111400390A (zh) | 数据处理方法及装置 | |
CN110609860A (zh) | 数据etl处理方法、装置、设备及存储介质 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN111611276A (zh) | 数据查询方法、装置及存储介质 | |
CN112069223B (zh) | 数据获取需求处理方法、装置、计算机设备和存储介质 | |
CN111984662B (zh) | 批量更新数据库的方法及装置 | |
US11182375B2 (en) | Metadata validation tool | |
CN110362553B (zh) | 大批量征信数据处理方法、电子装置及计算机设备 | |
CN112037003A (zh) | 文件对账处理方法及装置 | |
CN110232069B (zh) | 一种基于大数据的客户信息智能化录入方法和装置 | |
US20070088684A1 (en) | Partial updating in a database proxy driver | |
CN114896641A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN113986941A (zh) | 事务批量处理方法及装置 | |
CN113239064A (zh) | 一种数据库更新方法、装置、电子设备及存储介质 | |
CN114547050A (zh) | 批处理内容判重方法、***、装置、终端设备及存储介质 | |
KR20130047431A (ko) | 대용량 배치처리를 위한 메모리 선적재 및 병렬처리 방법 | |
CN115576967A (zh) | 一种主键生成方法及装置 | |
CN114048259A (zh) | 一种数据导出方法、装置、设备及可读存储介质 | |
CN114239516A (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 |