CN110147373A - 数据处理方法、装置以及电子设备 - Google Patents
数据处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN110147373A CN110147373A CN201910433359.0A CN201910433359A CN110147373A CN 110147373 A CN110147373 A CN 110147373A CN 201910433359 A CN201910433359 A CN 201910433359A CN 110147373 A CN110147373 A CN 110147373A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- parsing
- fragmentation
- data fragmentation
- 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 21
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 190
- 238000013467 fragmentation Methods 0.000 claims abstract description 158
- 238000012795 verification Methods 0.000 claims abstract description 141
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 6
- 238000013524 data verification Methods 0.000 claims 1
- 239000012634 fragment Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000012360 testing method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
- G06Q10/1057—Benefits or employee welfare, e.g. insurance, holiday or retirement packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置以及电子设备,所述方法包括:将待校验文件中的业务数据分成多个数据分片;进一步地,通过预设多线程中的至少两个第一线程对多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;进一步地,当第一数据池中包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池;进一步地,当满足预设条件时,将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据。本申请实施例大大节省了解析校验处理时间,从而提高了数据处理的效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据处理方法、装置以及电子设备。
背景技术
随着生活的发展和进步,人们的保险和福利在不断增加。其中,年金业务越来越多,从而年金业务数据也越来越多,需要对年金业务数据进行处理。
现有技术中,在对年金业务数据进行处理的时候,可以全量的读取年金业务数据,然后对年金业务数据进行校验。
然而现有技术中,年金业务数据的数据量较大,并且年金业务数据中会具有大数据文件,现有的全量的读取、校验年金业务数据的方式,会造成校验处理时间较长,从而年金业务数据的数据处理时间较长、效率较低。
发明内容
本申请实施例提供一种数据处理方法、装置以及电子设备,解决了现有技术中年金业务数据的数据处理时间较长、效率较低的问题。
第一方面,本申请实施例供一种数据处理方法,包括:
将待校验文件中的业务数据分成多个数据分片;
通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;
当所述第一数据池中包含有任意解析后的数据分片时,通过所述预设多线程中的任一空闲的第二线程对所述解析后的数据分片进行单独校验得到校验后的数据分片,并将所述校验后的数据分片从所述第一数据池转移到第二数据池;
当满足预设条件时,将所述第二数据池中的各所述校验后的数据分片进行合并,得到校验后的业务数据。
在一种可能的实现方式中,所述通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池,包括:
对于任意所述数据分片,通过预设多线程中的任一空闲的第一线程对所述数据分片进行单独解析,并将解析后的数据分片存储到所述第一数据池。
在一种可能的实现方式中,所述预设条件包括以下至少一项:所述第二数据池中存储的数据量已达到存储数据量上限,或者所述第一数据池在预设时长内不包含任意解析后的数据分片。
在一种可能的实现方式中,所述将待校验文件中的业务数据分成多个数据分片,包括:
根据所述预设多线程的数量将所述待校验文件中的业务数据分成多个数据分片;其中,所述预设多线程的数量与所述数据分片的数量成正向比例。
在一种可能的实现方式中,所述方法还包括:
对所述校验后的业务数据进行全局校验,得到校验结果信息,其中,所述校验结果信息中包括以下的至少一种:所述校验后的业务数据、所述全局校验中出现的错误信息。
在一种可能的实现方式中,若所述校验后的数据分片中包括所述单独校验中出现的错误信息,所述校验结果信息中还可以包括所述单独校验中出现的错误信息。
在一种可能的实现方式中,所述第一数据池中的任意解析后的数据分片还携带有第一标记,其中,所述第一标记用于指示所述解析后的数据分片处于解析完成状态;和/或,
所述第二数据池中的任意校验后的数据分片还携带有第二标记,其中,所述第二标记用于指示所述校验后的数据分片处于校验完成状态。
第二方面,本申请实施例一种数据处理装置,包括:
划分模块,用于将待校验文件中的业务数据分成多个数据分片;
解析模块,用于通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;
第一校验模块,用于当所述第一数据池中包含有任意解析后的数据分片时,通过所述预设多线程中的任一空闲的第二线程对所述解析后的数据分片进行单独校验得到校验后的数据分片,并将所述校验后的数据分片从所述第一数据池转移到第二数据池;;
合并模块,用于当满足预设条件时,将所述第二数据池中的各所述校验后的数据分片进行合并,得到校验后的业务数据。
在一种可能的实现方式中,所述解析模块具体用于:
对于任意所述数据分片,通过预设多线程中的任一空闲的第一线程对所述数据分片进行单独解析,并将解析后的数据分片存储到所述第一数据池。
在一种可能的实现方式中,所述预设条件包括以下至少一项:所述第二数据池中存储的数据量已达到存储数据量上限,或者所述第一数据池在预设时长内不包含任意解析后的数据分片。
在一种可能的实现方式中,所述划分模块具体用于:
根据所述预设多线程的数量将所述待校验文件中的业务数据分成多个数据分片;其中,所述预设多线程的数量与所述数据分片的数量成正向比例。
在一种可能的实现方式中,所述装置还包括:
第二校验模块,用于对所述校验后的业务数据进行全局校验,得到校验结果信息,其中,所述校验结果信息中包括以下的至少一种:所述校验后的业务数据、所述全局校验中出现的错误信息。
在一种可能的实现方式中,若所述校验后的数据分片中包括所述单独校验中出现的错误信息,所述校验结果信息中还可以包括所述单独校验中出现的错误信息。
在一种可能的实现方式中,所述第一数据池中的任意解析后的数据分片还携带有第一标记,其中,所述第一标记用于指示所述解析后的数据分片处于解析完成状态;和/或,
所述第二数据池中的任意校验后的数据分片还携带有第二标记,其中,所述第二标记用于指示所述校验后的数据分片处于校验完成状态。
第三方面,本申请实施例一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的任意实现方式所述的方法。
第四方面,本申请实施例一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的任意实现方式所述的方法。
本申请实施例提供的数据处理方法、装置以及电子设备,通过将待校验文件中的业务数据分成多个数据分片;进一步地,通过预设多线程中的至少两个第一线程对多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;进一步地,当第一数据池中包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池;进一步地,当满足预设条件时,将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据。可见,本申请实施例,通过将待校验文件中的业务数据划分为多个数据分片,然后通过预设多线程中的多个第一线程并行地对多个数据分片进行校验,并且当任意数据分片解析完成后,通过预设多线程中任一空闲的第二线程对解析后的数据分片进行单独校验的方式,大大节省了解析校验处理时间,从而大大提高了数据处理的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请一实施例提供的数据处理方法的流程示意图;
图3为本申请另一实施例提供的数据处理方法的流程示意图;
图4A为本申请实施例提供的系统架构示意图;
图4B为本申请另一实施例提供的数据处理方法的流程示意图;
图5为本申请一实施例提供的数据处理装置的结构示意图;
图6为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
图1为本申请实施例提供的应用场景示意图。如图1所示,应用场景示意图中可以包括:至少一个客户端(为了便于描述,图1中以至少一个客户端包括客户端1和客户端2为例进行示出)以及电子设备;其中,电子设备在从任意客户端获取到业务数据后,可以对业务数据进行数据解析和数据校验等处理,然后将校验结果信息返回给客户端。当然,本申请实施例提供的应用场景示意图中还可以包括其它设备,本申请实施例中对此并不作限制。
本申请实施例中,执行数据处理方法的执行主体可以是电子设备,也可以是电子设备中的数据处理装置。示例性地,电子设备以及数据处理装置可以通过软件和/或硬件实现。
本申请实施例中涉及的电子设备可以包括但不限于服务器,当然,还可以包括其它具有数据处理功能的设备。
本申请实施例中涉及的业务数据可以包括但不限于年金业务数据。
本申请实施例中涉及的数据池(例如第一数据池、第二数据池)可以用于承载数据,以及还可以对承载的数据添加相应的标记。示例性地,本申请实施例中涉及的数据池可以位于MongoDB(基于分布式文件存储的数据库)中,当然还可以位于其它类型的存储单元中。
下面对各种标记进行介绍:
数据池基本标记:用于唯一标识解析任务和/或校验任务的标识信息。例如,可以包括但不限于以下至少一项:序号(例如按待校验文件中每个业务数据的行数排序标记)、所属文件类型(例如Excel或TXT或CSV等)、所属业务类别(例如缴费或待遇支付等)、所属业务中具体表单名称(例如缴费明细表或受益人涉税信息表等)、所属特殊区别标记(例如银行名称等特殊区别标记)、存储数据容量上限。
数据池数据状态标记:用于指示数据池中业务数据的处理状态。例如,可以包括但不限于以下至少一项:解析状态标记(例如,业务数据解析前用于指示该业务数据未解析,业务数据解析后用于指示该业务数据解析完成)、校验状态标记(例如,业务数据校验前用于指示该业务数据未校验,业务数据校验后用于指示该业务数据校验完成)、校验结果标记(例如,当无错误级别标记时为校验成功,反之校验失败)、错误级别标记(例如,错误级别1代表普通业务逻辑错误;错误级别2代表输入值格式错误,当出现这类错误时,无需对引用该输入值的其他校验进行校验了;错误级别3代表阻断性错误,一旦出现这类错误则直接结束校验。)
现有技术中,年金业务数据的数据量较大,并且年金业务数据中会具有大数据文件,现有的全量的读取、校验年金业务数据的方式,会造成校验处理时间较长,从而年金业务数据的数据处理时间较长、效率较低。
本申请实施例中涉及的数据处理方法、装置以及电子设备,通过将待校验文件中的业务数据划分为多个数据分片,然后通过预设多线程中的多个第一线程并行地对多个数据分片进行校验,并且当任意数据分片解析完成后,通过预设多线程中任一空闲的第二线程对解析后的数据分片进行单独校验的方式,大大节省了解析校验处理时间,从而解决了现有技术中年金业务数据的数据处理时间较长、效率较低的问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的数据处理方法的流程示意图。如图2所示,本申请实施例的方法可以包括:
步骤S201、将待校验文件中的业务数据分成多个数据分片。
本申请实施例中涉及的待校验文件可以按照Microsoft Office Excel、文本文档(TXT)或逗号分隔值(Comma-Separated Values,CSV)等数据格式从客户端接收到的;当然,还可以按照其它数据格式从客户端接收到,本申请实施例中对此并不作限制。
本申请实施例中涉及的待校验文件中包括多行业务数据,通常情况下,待校验文件的一行业务数据就是需要解析校验的一条数据行,例如,对于企业年金的个人缴费业务数据,一行业务数据可以包括但不限于:缴费人的姓名、证件类型、身份证号、所在企业、缴费时间信息等属性。
为了便于并行地对多个数据分片进行解析校验,本步骤中可以通过将待校验文件中的每预设数量行的业务数据分成一个数据分片,从而将待校验文件分成多个数据分片。例如,假设待校验文件中包括1000行业务数据,则可以将待校验文件中的第1行-第100行业务数据分成一个数据分片、第101行-第200行业务数据分成一个数据分片、第201行-第300行业务数据分成一个数据分片、……、第901行-第1000行业务数据分成一个数据分片。
需要说明的是,各数据分片所包括的业务数据的行数可以相同,也可以不相同。
示例性地,可以根据预设多线程的数量将待校验文件中的业务数据分成多个数据分片,以便于提高对多个数据分片进行解析校验的效率;其中,预设多线程的数量与数据分片的数量成正向比例。例如,预设多线程的数量越多,则数据分片的数量也越多。
步骤S202、通过预设多线程中的至少两个第一线程对多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池。
示例性地,本申请实施例中涉及的预设多线程中的至少两个第一线程用于解析数据分片,至少两个第二线程用于校验数据分片;其中,至少两个第一线程和/或至少两个第二线程并非预设多线程中固定的线程,可以随着线程的使用情况适应性改变。
例如,以四核八线程中央处理器(Central Processing Unit,CPU)为例,默认开启两条解析线程(即第一线程),两条校验线程(即第二线程),当待解析的数据分片总数大于二时,可以开启第三条解析线程,以此类推最多可开启6条解析线程同时解析,但校验线程此时最多开启到4条线程同时校验,解析校验线程组总共10条线程。当解析线程空闲时,可将解析线程中的最多4条解析线程加入到校验线程组中参与校验任务,此时校验线程可最多拥有8条线程,以提升系统资源利用率;反之,当校验线程空闲时,也可将校验线程加入到解析线程组中参与解析任务,以提升系统资源利用率。
本步骤中,通过预设多线程中的至少两个第一线程并行地对待校验文件的多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池。例如,假设待校验文件包括:数据分片1、数据分片2和数据分片3,则可以通过第一线程1对数据分片1进行数据解析、通过第一线程2并行地对数据分片2进行数据解析以及通过第一线程3并行地对数据分片3进行数据解析,可见,通过多个第一线程并行地对多个数据分片进行数据解析,从而可以提高数据解析的效率。
示例性地,对于任意数据分片,通过预设多线程中的任一空闲的第一线程对该数据分片进行单独解析,并将解析后的数据分片存储到第一数据池。
示例性地,第一数据池中的任意解析后的数据分片还可以携带有用于指示该解析后的数据分片处于解析完成状态的第一标记。
具体地,本申请实施例中可以采用SpringBoot(采用斯普瑞布特)、POI(Apache软件基金会的开放源码函式库)等Java库,MongoDB(基于分布式文件存储的数据库)的数据库操作和QLExpress规则引擎等文件解析处理技术,对数据分片进行数据解析。
步骤S203、当第一数据池中包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池。
本步骤中,当第一数据池中一旦包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程便开始对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池。例如,当第一数据池一旦包含有解析后的数据分片1时,通过预设多线程中的任一空闲的第二线程1便开始对解析后的数据分片1进行单独校验;当第一数据池一旦包含有解析后的数据分片2时,通过预设多线程中的任一空闲的第二线程2便开始对解析后的数据分片2进行单独校验。
可见,本实施例在解析完成一个数据分片后便可以并行地对解析后的数据分片进行单独校验,从而可以提高数据校验的效率。
示例性地,第二数据池中的任意校验后的数据分片还可以携带有用于指示该校验后的数据分片处于校验完成状态的第二标记;当然,第二数据池中的任意校验后的数据分片还可以携带其它信息,例如单独校验中出现的错误信息等。本申请实施例中通过校验后的数据分片携带在单独校验中出现的错误信息,还可以实现在出现预设类型的错误(例如上述错误级别2或错误级别3)时,跳过一些不必要的校验,从而不仅可以节省系统资源的使用,还可以给用户更加明确的错误信息,提升了用户体验。
可选地,任意第二线程可以根据预设校验数据对解析后的数据分片进行单独校验,其中,预设校验数据可以包括但不限于:预设的校验规则和/或数据库中存储的校验数据。
本申请实施例下述部分对“单独校验”的可实现方式进行介绍。
一种可能的实现方式,上述步骤S203之前,可以先获取数据库中的校验数据,并将所述数据库中的校验数据放入到缓存中;进一步地,任意第二线程根据预设校验数据对解析后的数据分片进行单独校验时,通过将该解析后的数据分片与缓存中与该解析后的数据分片所对应的校验数据二者进行对比校验,判断是否相匹配,从而得到校验后的数据分片。
例如,对于企业年金业务时,通过将数据库(例如关系型数据库)中存储的常用校验数据(例如计划下企业信息、企业下人员信息和身份状态信息等)放入到缓存中,从而可以减少数据库中相同查询语句(例如查询计划下企业信息、企业下人员信息和身份状态信息等)的访问,不仅保证了数据库性能,还可以提高查询效率。
另一种可能的实现方式,任意第二线程根据预设校验数据对解析后的数据分片进行单独校验时,通过根据预设的校验规则(例如业务填写规则等)对该解析后的数据分片进行对比校验,判断是否符合校验规则,从而得到校验后的数据分片。
当然,还可通过其它方式进行单独校验,本申请实施例中对此并不作限制。
步骤S204、当满足预设条件时,将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据。
示例性地,本申请实施例中涉及的预设条件可以包括但不限于以下至少一项:第二数据池中存储的数据量已达到第二数据池的存储数据量上限,或者第一数据池在预设时长内不包含任意解析后的数据分片(即待校验文件中的所有数据分片已被单独校验完成)。
本步骤中,当第二数据池中存储的数据量已达到第二数据池的存储数据量上限,或者第一数据池在预设时长内不包含任意解析后的数据分片(即待校验文件中的所有数据分片已被单独校验完成)时,通过将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据,以便于后续将校验后的业务数据返回给客户端。
具体地,本申请实施例中的数据合并的方式,可以参考相关技术中的数据合并方式,本申请实施例中对此并不作限制。
本申请实施例中,通过将待校验文件中的业务数据分成多个数据分片;进一步地,通过预设多线程中的至少两个第一线程对多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;进一步地,当第一数据池中包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池;进一步地,当满足预设条件时,将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据。可见,本申请实施例,通过将待校验文件中的业务数据划分为多个数据分片,然后通过预设多线程中的多个第一线程并行地对多个数据分片进行校验,并且当任意数据分片解析完成后,通过预设多线程中任一空闲的第二线程对解析后的数据分片进行单独校验的方式,大大节省了解析校验处理时间,从而大大提高了数据处理的效率。
进一步地,为了节省系统资源,当预设多线程中的每个线程都空闲时,可以关闭预设多线程中除第一预设数量的第一线程和第二预设数量的第二线程之外的其它线程,从而保留第一预设数量个(例如两个)第一线程(即解析线程)以及第二预设数量个(例如两个)第二线程(即校验线程)。
图3为本申请另一实施例提供的数据处理方法的流程示意图。在上述实施例的基础上,本申请实施例对全局校验的可实现方式进行介绍。如图3所示,在上述步骤S204之后,本申请实施例的方法还可以包括:
步骤S205、对校验后的业务数据进行全局校验,得到校验结果信息。
本步骤中,可以对校验后的业务数据进一步地进行全局校验,得到校验结果信息;其中,校验结果信息中可以包括但不限于以下的至少一种:校验后的业务数据全局校验中出现的错误信息。示例性地,当上述步骤S203中得到的任意校验后的数据分片中包括单独校验中出现的错误信息,则上述校验结果信息中还可以包括单独校验中出现的错误信息。
示例性地,本申请实施例中可以利用数据库(例如MongoDB)中的高级数据处理操作(例如聚合函数,映射归约MapReduce等)进行全局校验,实现了可以更加快速简单地完成数据校验。
当然,还可以通过其它方式进行全局校验,本申请实施例中对此并不作限制。
可见,本申请实施例中,通过在并行地对多个数据分片进行解析和单独校验的基础上,进一步地对校验后的业务数据进行全局校验,还可以提高数据校验的准确率。
图4A为本申请实施例提供的系统架构示意图,图4B为本申请另一实施例提供的数据处理方法的流程示意图。结合图4A和图4B所示,本申请实施例提供的方法可以包括:
S1、从客户端获取待校验文件。
示例性地,业务人员通过客户端导入以Excel或TXT数据格式的待校验文件,并提交到电子设备。
S2、将待校验文件中的业务数据分成多个数据分片。
S3、通过预设多线程中的至少两个第一线程对多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池。
示例性地,第一数据池可以位于MongoDB类型的数据库中,用于数据存储。
示例性地,任意解析后的数据分片中可以携带用于指示该解析后的数据分片处于解析完成状态的第一标记。
S4、当第一数据池中包含有任意解析后的数据分片时,通过预设多线程中的任一空闲的第二线程对解析后的数据分片进行单独校验得到校验后的数据分片,并将校验后的数据分片从第一数据池转移到第二数据池。
示例性地,第二数据池也可以位于MongoDB类型的数据库中,用于数据存储。
示例性地,任意校验后的数据分片中可以携带用于指示该校验后的数据分片处于校验完成状态的第二标记。
示例性地,若对任意校验后的数据分片进行单独校验的过程中出现错误,则该校验后的数据分片中还可以携带单独校验中出现的错误信息。
S5、判断所有解析后的数据分片是否校验完成。
示例性地,根据每个数据分片对应的标识信息判断是否校验完成;若确定校验完成,则执行S6;若确定未校验完成,则继续返回S4进行单独校验。
S6、将第二数据池中的各校验后的数据分片进行合并,得到校验后的业务数据。
S7、对校验后的业务数据进行全局校验,得到校验结果信息。
示例性地,校验结果信息中可以包括但不限于以下的至少一种:校验后的业务数据、单独校验中出现的错误信息、全局校验中出现的错误信息。
S8、将校验结果信息返回给客户端。
示例性地,本申请实施例中涉及的解析和/或校验等处理可以基于数据库中的数据处理操作进行处理;当然,还可以通过其它方式进行处理,本申请实施例中对此并不作限制。
综上所述,本申请实施例,通过将待校验文件中的业务数据划分为多个数据分片,其次通过多个第一线程并行地对多个数据分片进行校验,并且当任意数据分片解析完成后,通过预设多线程中任一空闲的第二线程对解析后的数据分片进行单独校验,然后对校验后的业务数据进一步进行全局校验,不仅大大提高了数据处理的效率,还提高了数据校验的准确率,同时还可以提高电子设备的资源利用率。
图5为本申请一实施例提供的数据处理装置的结构示意图。可选地,本实施例提供的数据处理装置可以为电子设备,也可以为电子设备中的装置。如图5所示,本申请实施例提供的数据处理装置50可以包括:划分模块501、解析模块502、第一校验模块503和合并模块504。
其中,划分模块501,用于将待校验文件中的业务数据分成多个数据分片;
解析模块502,用于通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;
第一校验模块503,用于当所述第一数据池中包含有任意解析后的数据分片时,通过所述预设多线程中的任一空闲的第二线程对所述解析后的数据分片进行单独校验得到校验后的数据分片,并将所述校验后的数据分片从所述第一数据池转移到第二数据池;
合并模块504,用于当满足预设条件时,将所述第二数据池中的各所述校验后的数据分片进行合并,得到校验后的业务数据。
在一种可能的实现方式中,所述解析模块502具体用于:
对于任意所述数据分片,通过预设多线程中的任一空闲的第一线程对所述数据分片进行单独解析,并将解析后的数据分片存储到所述第一数据池。
在一种可能的实现方式中,所述预设条件包括以下至少一项:所述第二数据池中存储的数据量已达到存储数据量上限,或者所述第一数据池在预设时长内不包含任意解析后的数据分片。
在一种可能的实现方式中,所述划分模块501具体用于:
根据所述预设多线程的数量将所述待校验文件中的业务数据分成多个数据分片;其中,所述预设多线程的数量与所述数据分片的数量成正向比例。
在一种可能的实现方式中,所述装置还包括:
第二校验模块,用于对所述校验后的业务数据进行全局校验,得到校验结果信息,其中,所述校验结果信息中包括以下的至少一种:所述校验后的业务数据、所述全局校验中出现的错误信息。
在一种可能的实现方式中,若所述校验后的数据分片中还包括所述单独校验中出现的错误信息,所述校验结果信息中还可以包括所述单独校验中出现的错误信息。
在一种可能的实现方式中,所述第一数据池中的任意解析后的数据分片还携带有第一标记,其中,所述第一标记用于指示所述解析后的数据分片处于解析完成状态;和/或,
所述第二数据池中的任意校验后的数据分片还携带有第二标记,其中,所述第二标记用于指示所述校验后的数据分片处于校验完成状态。
本实施例提供的数据处理装置,可以用于执行本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请一实施例提供的电子设备的结构示意图。如图6所示,本申请实施例提供的电子设备60可以包括:处理器601以及存储器602。可选地,电子设备60还可以包括收发器603,所述收发器603用于和其他设备通信。
其中,所述存储器602,用于存储所述处理器601的可执行指令;所述处理器601配置为经由执行所述可执行指令来执行本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。可选地,该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例还提供一种程序,该程序在被处理器执行时用于执行本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请上述数据处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接由硬件处理器执行完成,或者由处理器中的硬件及软件模块组合执行完成。
本申请实施例中涉及的存储器可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本领域普通技术人员可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
将待校验文件中的业务数据分成多个数据分片;
通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;
当所述第一数据池中包含有任意解析后的数据分片时,通过所述预设多线程中的任一空闲的第二线程对所述解析后的数据分片进行单独校验得到校验后的数据分片,并将所述校验后的数据分片从所述第一数据池转移到第二数据池;
当满足预设条件时,将所述第二数据池中的各所述校验后的数据分片进行合并,得到校验后的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池,包括:
对于任意所述数据分片,通过预设多线程中的任一空闲的第一线程对所述数据分片进行单独解析,并将解析后的数据分片存储到所述第一数据池。
3.根据权利要求1所述的方法,其特征在于,所述预设条件包括以下至少一项:所述第二数据池中存储的数据量已达到存储数据量上限,或者所述第一数据池在预设时长内不包含任意解析后的数据分片。
4.根据权利要求1所述的方法,其特征在于,所述将待校验文件中的业务数据分成多个数据分片,包括:
根据所述预设多线程的数量将所述待校验文件中的业务数据分成多个数据分片;其中,所述预设多线程的数量与所述数据分片的数量成正向比例。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
对所述校验后的业务数据进行全局校验,得到校验结果信息,其中,所述校验结果信息中包括以下的至少一种:所述校验后的业务数据、所述全局校验中出现的错误信息。
6.根据权利要求5所述的方法,其特征在于,若所述校验后的数据分片中包括所述单独校验中出现的错误信息,则所述校验结果信息中还包括所述单独校验中出现的错误信息。
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一数据池中的任意解析后的数据分片还携带有第一标记,其中,所述第一标记用于指示所述解析后的数据分片处于解析完成状态;和/或,
所述第二数据池中的任意校验后的数据分片还携带有第二标记,其中,所述第二标记用于指示所述校验后的数据分片处于校验完成状态。
8.一种数据处理装置,其特征在于,包括:
划分模块,用于将待校验文件中的业务数据分成多个数据分片;
解析模块,用于通过预设多线程中的至少两个第一线程对所述多个数据分片进行单独解析,并将解析后的数据分片存储到第一数据池;
第一校验模块,用于当所述第一数据池中包含有任意解析后的数据分片时,通过所述预设多线程中的任一空闲的第二线程对所述解析后的数据分片进行单独校验得到校验后的数据分片,并将所述校验后的数据分片从所述第一数据池转移到第二数据池;
合并模块,用于当满足预设条件时,将所述第二数据池中的各所述校验后的数据分片进行合并,得到校验后的业务数据。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433359.0A CN110147373B (zh) | 2019-05-23 | 2019-05-23 | 数据处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433359.0A CN110147373B (zh) | 2019-05-23 | 2019-05-23 | 数据处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110147373A true CN110147373A (zh) | 2019-08-20 |
CN110147373B CN110147373B (zh) | 2021-06-22 |
Family
ID=67592837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910433359.0A Active CN110147373B (zh) | 2019-05-23 | 2019-05-23 | 数据处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147373B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112713964A (zh) * | 2020-12-22 | 2021-04-27 | 潍柴动力股份有限公司 | 数据校验加速方法、装置、计算机设备及存储介质 |
CN113342839A (zh) * | 2021-08-06 | 2021-09-03 | 北京开科唯识技术股份有限公司 | 数据处理方法、装置、终端设备和存储介质 |
CN113722357A (zh) * | 2021-06-03 | 2021-11-30 | 泰康保险集团股份有限公司 | 数据文件校验方法、装置、电子设备及存储介质 |
CN113972989A (zh) * | 2020-07-06 | 2022-01-25 | 宇龙计算机通信科技(深圳)有限公司 | 数据校验方法、装置、存储介质及电子设备 |
CN116820832A (zh) * | 2023-08-30 | 2023-09-29 | 芯耀辉科技有限公司 | 一种用于高速数据传输的错误校验方法、介质及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237045A (zh) * | 2013-02-22 | 2013-08-07 | 北方工业大学 | 大规模实时交通数据的并行处理系统和并行处理方法 |
US20140149851A1 (en) * | 2012-11-28 | 2014-05-29 | Yuejian Fang | Method for data chunk partitioning in xml parsing and method for xml parsing |
CN105356614A (zh) * | 2015-11-27 | 2016-02-24 | 国网天津市电力公司 | 一种应用于配网自动化的通用调试方法 |
CN106293940A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮通用软件有限公司 | 一种金融行业中并行跑批的方法 |
CN108762810A (zh) * | 2017-12-27 | 2018-11-06 | 北京时代民芯科技有限公司 | 一种基于并行微引擎的网络报文头处理器 |
WO2018217222A1 (en) * | 2017-05-26 | 2018-11-29 | The Charles Stark Draper Laboratory, Inc. | Machine intelligence and learning for graphic chip accessibility and execution |
CN109324828A (zh) * | 2018-09-21 | 2019-02-12 | 山东华芯半导体有限公司 | 一种在验证平台中实现闪存多命令并行执行的方法 |
CN109558134A (zh) * | 2017-09-27 | 2019-04-02 | 北京京东尚科信息技术有限公司 | 业务数据校验的方法和装置 |
CN109710624A (zh) * | 2018-12-19 | 2019-05-03 | 泰康保险集团股份有限公司 | 数据处理方法、装置、介质及电子设备 |
-
2019
- 2019-05-23 CN CN201910433359.0A patent/CN110147373B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140149851A1 (en) * | 2012-11-28 | 2014-05-29 | Yuejian Fang | Method for data chunk partitioning in xml parsing and method for xml parsing |
CN103237045A (zh) * | 2013-02-22 | 2013-08-07 | 北方工业大学 | 大规模实时交通数据的并行处理系统和并行处理方法 |
CN105356614A (zh) * | 2015-11-27 | 2016-02-24 | 国网天津市电力公司 | 一种应用于配网自动化的通用调试方法 |
CN106293940A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮通用软件有限公司 | 一种金融行业中并行跑批的方法 |
WO2018217222A1 (en) * | 2017-05-26 | 2018-11-29 | The Charles Stark Draper Laboratory, Inc. | Machine intelligence and learning for graphic chip accessibility and execution |
CN109558134A (zh) * | 2017-09-27 | 2019-04-02 | 北京京东尚科信息技术有限公司 | 业务数据校验的方法和装置 |
CN108762810A (zh) * | 2017-12-27 | 2018-11-06 | 北京时代民芯科技有限公司 | 一种基于并行微引擎的网络报文头处理器 |
CN109324828A (zh) * | 2018-09-21 | 2019-02-12 | 山东华芯半导体有限公司 | 一种在验证平台中实现闪存多命令并行执行的方法 |
CN109710624A (zh) * | 2018-12-19 | 2019-05-03 | 泰康保险集团股份有限公司 | 数据处理方法、装置、介质及电子设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113972989A (zh) * | 2020-07-06 | 2022-01-25 | 宇龙计算机通信科技(深圳)有限公司 | 数据校验方法、装置、存储介质及电子设备 |
CN113972989B (zh) * | 2020-07-06 | 2023-09-15 | 宇龙计算机通信科技(深圳)有限公司 | 数据校验方法及存储介质、电子设备 |
CN112713964A (zh) * | 2020-12-22 | 2021-04-27 | 潍柴动力股份有限公司 | 数据校验加速方法、装置、计算机设备及存储介质 |
CN112713964B (zh) * | 2020-12-22 | 2022-08-05 | 潍柴动力股份有限公司 | 数据校验加速方法、装置、计算机设备及存储介质 |
CN113722357A (zh) * | 2021-06-03 | 2021-11-30 | 泰康保险集团股份有限公司 | 数据文件校验方法、装置、电子设备及存储介质 |
CN113722357B (zh) * | 2021-06-03 | 2024-04-09 | 泰康保险集团股份有限公司 | 数据文件校验方法、装置、电子设备及存储介质 |
CN113342839A (zh) * | 2021-08-06 | 2021-09-03 | 北京开科唯识技术股份有限公司 | 数据处理方法、装置、终端设备和存储介质 |
CN116820832A (zh) * | 2023-08-30 | 2023-09-29 | 芯耀辉科技有限公司 | 一种用于高速数据传输的错误校验方法、介质及装置 |
CN116820832B (zh) * | 2023-08-30 | 2023-12-12 | 芯耀辉科技有限公司 | 一种用于高速数据传输的错误校验方法、介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110147373B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147373A (zh) | 数据处理方法、装置以及电子设备 | |
WO2020057016A1 (zh) | 基于区块链的保险理赔方法、电子装置及存储介质 | |
CN110297912A (zh) | 欺诈识别方法、装置、设备及计算机可读存储介质 | |
US11556658B2 (en) | Cross-partition calls in partitioned, tamper-evident data stores | |
CN104361139A (zh) | 数据导入装置和方法 | |
CN103544074A (zh) | 一种业务的校验方法及装置 | |
CN109635300B (zh) | 数据校验方法及装置 | |
US10732965B2 (en) | Systems and methods for dynamic generation of questionnaires on programming concepts | |
CN110532171A (zh) | 应用测试方法、装置、设备及计算机可读存储介质 | |
CN108664396A (zh) | 银行交互接口验证方法、装置、计算机设备及存储介质 | |
CN109271611A (zh) | 一种数据校验方法、装置及电子设备 | |
CN112597165A (zh) | 一种监管数据质量核验方法、装置、电子设备及存储介质 | |
CN112711640A (zh) | 一种业务受理流程配置的方法及装置 | |
CN111475494A (zh) | 一种海量数据处理方法、系统、终端及存储介质 | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN110222323A (zh) | 一种凭证生成方法、装置、可读存储介质及终端设备 | |
US11609897B2 (en) | Methods and systems for improved search for data loss prevention | |
CN108230130A (zh) | 日切数据验证的方法、装置和电子设备 | |
CN110362569A (zh) | 数据表的校验方法及装置、电子设备、存储介质 | |
CN116993523A (zh) | 配置化对账方法、装置、设备及存储介质 | |
CN108241607A (zh) | 算法测试案例的自动导入方法、服务器及存储介质 | |
CN105426183B (zh) | 一种表单验证方法 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN109376285A (zh) | 基于json格式的数据排序验证方法、电子设备及介质 | |
CN110689429B (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 |