CN110928905A - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN110928905A CN110928905A CN201911083610.1A CN201911083610A CN110928905A CN 110928905 A CN110928905 A CN 110928905A CN 201911083610 A CN201911083610 A CN 201911083610A CN 110928905 A CN110928905 A CN 110928905A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- target attribute
- thread
- task
- 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 20
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 238000005538 encapsulation Methods 0.000 claims abstract description 12
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000009825 accumulation Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;基于目标属性,对所述待处理数据进行分组封装;将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。从而,本发明的实施方式能够大幅度提高再保***数据计算的处理能力。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和装置。
背景技术
再保是指直保公司向再保公司分出的行为,再保***核心即为分出。再保按照流程分为三部分:核心***数据准备、再保***数据采集和再保***数据计算。其中,核心***数据准备可以把保险公司每天的业务数据从核心库(个险、银保)提取到核心***中间表,然后再保***数据采集则可以把中间表的数据保存到再保业务接口表。再保***数据计算则根据再保业务接口表进行计算,把计算结果保存到分保结果表,以便后期生成报表账单数据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
目前,随着业务的增多,再保***也存在大量数据需要处理,而现有的再保***数据计算已经无法承担如此大量的数据处理。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法和装置,能够大幅度提高再保***数据计算的处理能力。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法,包括根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;基于目标属性,对所述待处理数据进行分组封装;将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
可选地,基于目标属性对业务接口表中的待处理数据进行排序,包括:
采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。
可选地,根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据,还包括:
将日志表中的累计方案编码读取到累计方案集合中;
遍历累计方案集合中的累计方案编码,以获取一个累计方案编码;
将累计方案编码作为查询条件,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序;
从业务接口表中读取待处理数据放入游标缓存中,以批量获取预设数量的待处理数据到内存中。
可选地,基于目标属性,对所述待处理数据进行分组封装,包括:
根据目标属性,对内存中的待处理数据封装,并且将具有同一个目标属性值的待处理数据放入同一数据容器中。
可选地,还包括:
每一个计算线程对应一个数据库,并且将具有同一目标属性值的待处理数据存放在同一张临时表中。
可选地,将封装后的待处理数据放入数据缓存队列尾部,包括:
判断数据缓存队列中待处理数据的数量是否小于预设第一阈值;
若是则向数据缓存队列尾部推送待处理数据;否则暂停预设时间,再判断数据缓存队列中待处理数据的数量是否小于预设第一阈值。
可选地,将数据缓存队列头部的待处理数据分发至计算线程以执行任务,包括:
判断是否存在空闲计算线程;
若是则为空闲计算线程分发待处理数据以执行任务;
否则判断活动计算线程的数量是否小于预设第二阈值,若是则创建新线程,以分发待处理数据进而执行任务;否则将传入的线程任务放入任务队列进行排队。
另外,根据本发明实施例的一个方面,提供了一种数据处理装置,包括获取模块,用于根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;封装模块,用于基于目标属性,对所述待处理数据进行分组封装;处理模块,用于将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至线程以执行任务。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一数据处理实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一基于数据处理实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明通过根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;基于目标属性,对所述待处理数据进行分组封装;将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。从而,本发明能够大大提高计算效率,增强***性能。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例的数据处理方法的主要流程的示意图
图2是根据本发明第二实施例的数据处理方法的主要流程的示意图;
图3是根据本发明第三实施例的数据处理方法的主要流程的示意图;
图4是根据本发明第四实施例的数据处理方法的主要流程的示意图;
图5是根据本发明实施例的数据处理装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性***架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例的数据处理方法的主要流程的示意图,所述数据处理方法可以包括:
步骤S101,根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据。
较佳地,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序,获取预设数量的待处理数据。也就是说,用游标方式将计算数据批量读取到存储中,并逐步按照目标属性分组封装。
进一步地,根据业务接口表获取预设数量的待处理数据时,可以将日志表中的累计方案编码读取到累计方案集合中。遍历累计方案集合中的累计方案编码,以获取一个累计方案编码。将累计方案编码作为查询条件,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。从业务接口表中读取待处理数据放入游标缓存中,以批量获取预设数量的待处理数据到内存中。
步骤S102,基于目标属性,对所述待处理数据进行分组封装。
进一步地,根据目标属性(例如业务号码),对内存中的待处理数据封装,并且将具有同一个目标属性值的待处理数据放入同一数据容器中。
步骤S103,将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
较佳地,每一个计算线程对应一个数据库,并且将具有同一目标属性值的待处理数据存放在同一张临时表中。
可以看出,本发明将***资源设置成不同的对象,每一个资源对象和一个线程体唯一绑定,数据读取和数据计算在不同的线程中并行执行,即采用取数线程和分发线程、以及计算线程,在取数线程和分发线程之间的进行并行操作及分发线程和计算线程之间的并发操作。
其中,取数线程可以执行根据业务接口表,获取预设数量的待处理数据。基于目标属性,对所述待处理数据进行分组封装,将封装后的待处理数据放入数据缓存队列尾部。而分发线程则可以将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
在另一个实施例中,步骤S103中将封装后的待处理数据放入数据缓存队列尾部时,可以判断数据缓存队列中待处理数据的数量是否小于预设第一阈值。若是则向数据缓存队列尾部推送待处理数据;否则暂停预设时间,再判断数据缓存队列中待处理数据的数量是否小于预设第一阈值。
在具体的实施例中,拟定数据缓存队列深度为3000,取数线程会对数据缓存队列进行监控。当数据缓存队列中的数据数量<3000,取数线程会向数据缓存队列推送数据。当数据缓存队列中的数据数量>=3000,主线程会暂停1000毫秒,再进行判断,直到数据缓存队列中的中的数据数量<3000,取数线程才会继续向数据缓存队列中的推送数据。还有,全部数据处理完成后,取数线程结束,释放资源。
在又一个实施例中,步骤S103中将数据缓存队列头部的待处理数据分发至计算线程以执行任务时,可以判断是否存在空闲计算线程。若是则为空闲计算线程分发待处理数据以执行任务。否则判断活动计算线程的数量是否小于预设第二阈值,若是则创建新线程,以分发待处理数据进而执行任务。否则将传入的线程任务放入任务队列进行排队。
因此,本发明提出了一种数据处理方法,使用并行处理计算模式,使得数据读取和数据计算在不同的线程中并行执行,提高数据处理效率。并且,将***资源设置成不同的对象,每一个资源对象和一个线程体唯一绑定,提高了***性能。同时,按照一定顺序用游标方式把所有的计算数据批量读取到存储中,并逐步按照目标属性分组封装成计算线程要处理的数据,保证了数据完整性。
图2是根据本发明第二实施例的数据处理方法的主要流程的示意图,所述数据处理方法可以包括:
步骤S201,根据日志表中的累计方案编码,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。
在一个具体实施例中,使用RSWrapper游标方式从再保业务接口表RIPolRecord中按照被保人号码(InsuredNo)排序。
步骤S202,获取预设数量的待处理数据。
较佳地,通过getData()方法获取获取预设数量(例如10000条责任数据)的待处理数据。
步骤S203,基于目标属性,对所述待处理数据进行分组封装。
例如:将获取的责任信息按照被保人分组封装,为业务处理线程做数据准备。
步骤S204,将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
较佳地,每一个计算线程对应一个数据库,并且将具有同一目标属性值的待处理数据存放在同一张临时表中。
在实施例中,在整个计算过程中,会使用到大量的业务处理类和数据存储容器,这些都可以称为***资源。并行线程体之间不使用共同的***资源,进而可以保证***的高性能,把***资源设置成不同的对象,每一个资源对象和一个线程体唯一绑定。
进一步地,保证再保计算单一线程体拥有独立的数据库链接,保证再保计算单一线程体处理的同一个被保人的数据存储在同一张临时表中,以及保证再保计算被同一线程体处理的数据存储在同一张临时表中。
图3是根据本发明第三实施例的数据处理方法的主要流程的示意图,所述数据处理方法可以包括:
步骤S301,将日志表中的累计方案编码读取到累计方案集合中。
步骤S302,遍历累计方案集合中的累计方案编码,以获取一个累计方案编码。
步骤S303,将累计方案编码作为查询条件,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。
步骤S304,从业务接口表中读取待处理数据放入游标缓存中,以批量获取预设数量的待处理数据到内存中。
较佳地,在批量获取预设数量的待处理数据到内存的过程中,可以将前一批数据最后舍掉的待处理数据放入预设的数据集合X,并按照顺序从业务接口表(例如再保业务接口表)中获取一定数量的数据放到数据集合X。也就是说,每次批量获取预设数量的待处理数据到内存中的时候,都会将最后一个待处理数据舍弃,以保证数据的完整性。
步骤S305,根据目标属性,对内存中的待处理数据封装,并且将具有同一个目标属性值的待处理数据放入同一数据容器中。
较佳地,将数据集合X中的数据按照目标属性进行分组封装,并把关于保单拆分后和保单迁入的数据放在该目标属性组别最后,因为保单拆分后和保单迁入的数据优先级最低。
步骤S306,将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
较佳地,为保证数据完整性,将封装后的待处理数据放入数据缓存队列尾部时,可以从内存中获取封装后的待处理数据且去掉最后一组待处理数据。即一次从内存中取的最后一个待处理数据可能没有取完,有一部分还在内存中。同时,将去掉的最后一组待处理数据放到临时集合中。
图4是根据本发明第四实施例的数据处理方法的主要流程的示意图,将数据缓存队列头部的待处理数据分发至计算线程以执行任务,所述数据处理方法可以包括:
步骤S401,判断是否存在空闲计算线程,若是则进行步骤S402,否则进行步骤S403。
步骤S402,为空闲计算线程分发待处理数据以执行任务。
步骤S403,判断活动计算线程的数量是否小于预设第二阈值,若是则进行步骤S404,否则进行步骤S405。
步骤S404,创建新线程,以分发待处理数据进而执行任务。
步骤S405,将传入的线程任务放入任务队列进行排队。
在具体实施例中,拟定核心线程池容量为50,任务队列深度为5000。当然,参数的数值会根据后期压力测试结果进行调整。
如果存在空闲线程则直接为空闲线程分配任务,如果不存在空闲线程且活动计算线程数量<50,则创建新线程并分配任务。如果活动计算线程数量已达50,即大于或等于50,且所有计算线程都正在执行任务,且任务队列中的数据数量<5000,则将传入的线程任务放入任务队列进行排队。需要说明的是,分发线程会对线程池和任务队列进行监控,若任务队列中有任务且线程池中的线程有空闲,则将任务队列中第一个任务分配给空闲线程执行。
另外,全部任务处理完成后,分发线程判断线程池中所有线程是否正在执行任务。如果线程池中所有线程都已空闲,且任务队列中没有任务排队,则分发线程结束。
图5是根据本发明第一实施例的数据处理装置的主要模块的示意图,如图5所示,所述数据处理装置500包括获取模块501、封装模块502和处理模块503。其中,获取模块501用于根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据。封装模块502用于基于目标属性,对所述待处理数据进行分组封装。处理模块503用于将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至线程以执行任务。
较佳地,获取模块501基于目标属性对业务接口表中的待处理数据进行排序时可以采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。
进一步地,获取模块501在根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据时,可以将日志表中的累计方案编码读取到累计方案集合中。遍历累计方案集合中的累计方案编码,以获取一个累计方案编码。将累计方案编码作为查询条件,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。从业务接口表中读取待处理数据放入游标缓存中,以批量获取预设数量的待处理数据到内存中。
更进一步地,获取模块501基于目标属性,对所述待处理数据进行分组封装时可以根据目标属性,对内存中的待处理数据封装,并且将具有同一个目标属性值的待处理数据放入同一数据容器中。
作为一个可参考的实施例,处理模块503将封装后的待处理数据放入数据缓存队列尾部,可以包括:
判断数据缓存队列中待处理数据的数量是否小于预设第一阈值;
若是则向数据缓存队列尾部推送待处理数据;否则暂停预设时间,再判断数据缓存队列中待处理数据的数量是否小于预设第一阈值。
再一个实施例,处理模块503将数据缓存队列头部的待处理数据分发至计算线程以执行任务,包括:
判断是否存在空闲计算线程;
若是则为空闲计算线程分发待处理数据以执行任务;
否则判断活动计算线程的数量是否小于预设第二阈值,若是则创建新线程,以分发待处理数据进而执行任务;否则将传入的线程任务放入任务队列进行排队。
还值得说明的是,每一个计算线程对应一个数据库,并且将具有同一目标属性值的待处理数据存放在同一张临时表中。
需要说明的是,在本发明所述数据处理方法和所述数据处理装置在具体实施内容上具有相应关系,故重复内容不再说明。
图6示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性***架构600。
如图6所示,***架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器605执行,相应地,数据处理装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机***700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有***700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、封装模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;基于目标属性,对所述待处理数据进行分组封装;将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
根据本发明实施例的技术方案,能够大幅度提高再保***数据计算的处理能力。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;
基于目标属性,对所述待处理数据进行分组封装;
将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至计算线程以执行任务。
2.根据权利要求1所述的方法,其特征在于,基于目标属性对业务接口表中的待处理数据进行排序,包括:
采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序。
3.根据权利要求2所述的方法,其特征在于,根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据,还包括:
将日志表中的累计方案编码读取到累计方案集合中;
遍历累计方案集合中的累计方案编码,以获取一个累计方案编码;
将累计方案编码作为查询条件,采用游标方式对业务接口表中的待处理数据,基于目标属性进行排序;
从业务接口表中读取待处理数据放入游标缓存中,以批量获取预设数量的待处理数据到内存中。
4.根据权利要求3所述的方法,其特征在于,基于目标属性,对所述待处理数据进行分组封装,包括:
根据目标属性,对内存中的待处理数据封装,并且将具有同一个目标属性值的待处理数据放入同一数据容器中。
5.根据权利要求1所述的方法,其特征在于,还包括:
每一个计算线程对应一个数据库,并且将具有同一目标属性值的待处理数据存放在同一张临时表中。
6.根据权利要求1所述的方法,其特征在于,将封装后的待处理数据放入数据缓存队列尾部,包括:
判断数据缓存队列中待处理数据的数量是否小于预设第一阈值;
若是则向数据缓存队列尾部推送待处理数据;否则暂停预设时间,再判断数据缓存队列中待处理数据的数量是否小于预设第一阈值。
7.根据权利要求1所述的方法,其特征在于,将数据缓存队列头部的待处理数据分发至计算线程以执行任务,包括:
判断是否存在空闲计算线程;
若是则为空闲计算线程分发待处理数据以执行任务;
否则判断活动计算线程的数量是否小于预设第二阈值,若是则创建新线程,以分发待处理数据进而执行任务;否则将传入的线程任务放入任务队列进行排队。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于根据日志表中的累计方案编码,基于目标属性对业务接口表中的待处理数据进行排序,进而获取预设数量的待处理数据;
封装模块,用于基于目标属性,对所述待处理数据进行分组封装;
处理模块,用于将封装后的待处理数据放入数据缓存队列尾部,并行将数据缓存队列头部的待处理数据分发至线程以执行任务。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911083610.1A CN110928905B (zh) | 2019-11-07 | 2019-11-07 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911083610.1A CN110928905B (zh) | 2019-11-07 | 2019-11-07 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928905A true CN110928905A (zh) | 2020-03-27 |
CN110928905B CN110928905B (zh) | 2024-01-26 |
Family
ID=69853461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911083610.1A Active CN110928905B (zh) | 2019-11-07 | 2019-11-07 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928905B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782657A (zh) * | 2020-07-08 | 2020-10-16 | 上海乾臻信息科技有限公司 | 数据处理方法及装置 |
CN113703933A (zh) * | 2020-05-22 | 2021-11-26 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN113760630A (zh) * | 2020-06-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN113821506A (zh) * | 2020-12-23 | 2021-12-21 | 京东科技控股股份有限公司 | 用于任务***的任务执行方法、装置、***、服务器和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346994A1 (en) * | 2012-06-20 | 2013-12-26 | Platform Computing Corporation | Job distribution within a grid environment |
CN107450971A (zh) * | 2017-06-29 | 2017-12-08 | 北京五八信息技术有限公司 | 任务处理方法及装置 |
CN107729135A (zh) * | 2016-08-11 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 按序进行并行数据处理的方法和装置 |
CN107766526A (zh) * | 2017-10-26 | 2018-03-06 | 中国人民银行清算总中心 | 数据库访问方法、装置及*** |
CN109376189A (zh) * | 2018-09-13 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 批量数据操作的处理方法、装置及设备 |
CN109800260A (zh) * | 2018-12-14 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 高并发数据存储方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-07 CN CN201911083610.1A patent/CN110928905B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346994A1 (en) * | 2012-06-20 | 2013-12-26 | Platform Computing Corporation | Job distribution within a grid environment |
CN107729135A (zh) * | 2016-08-11 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 按序进行并行数据处理的方法和装置 |
CN107450971A (zh) * | 2017-06-29 | 2017-12-08 | 北京五八信息技术有限公司 | 任务处理方法及装置 |
CN107766526A (zh) * | 2017-10-26 | 2018-03-06 | 中国人民银行清算总中心 | 数据库访问方法、装置及*** |
CN109376189A (zh) * | 2018-09-13 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 批量数据操作的处理方法、装置及设备 |
CN109800260A (zh) * | 2018-12-14 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 高并发数据存储方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
万方林: "智能电网大数据处理技术现状与挑战研究", 《通讯世界》, vol. 26, no. 10, 31 October 2019 (2019-10-31), pages 197 - 198 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703933A (zh) * | 2020-05-22 | 2021-11-26 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN113760630A (zh) * | 2020-06-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN111782657A (zh) * | 2020-07-08 | 2020-10-16 | 上海乾臻信息科技有限公司 | 数据处理方法及装置 |
CN111782657B (zh) * | 2020-07-08 | 2024-06-07 | 上海乾臻信息科技有限公司 | 数据处理方法及装置 |
CN113821506A (zh) * | 2020-12-23 | 2021-12-21 | 京东科技控股股份有限公司 | 用于任务***的任务执行方法、装置、***、服务器和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110928905B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928905B (zh) | 一种数据处理方法和装置 | |
CN108629029B (zh) | 一种应用于数据仓库的数据处理方法和装置 | |
CN110348771B (zh) | 一种对订单进行组单的方法和装置 | |
US20200285508A1 (en) | Method and Apparatus for Assigning Computing Task | |
CN109039817B (zh) | 一种用于流量监控的信息处理方法、装置、设备及介质 | |
CN110572422A (zh) | 数据下载方法和装置 | |
CN110555068A (zh) | 数据导出方法和装置 | |
CN110766348B (zh) | 一种组合拣货任务的方法和装置 | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和*** | |
CN108628954B (zh) | 一种海量数据自助查询方法和装置 | |
CN112398669A (zh) | 一种Hadoop部署方法和装置 | |
CN111461583A (zh) | 一种库存盘点方法和装置 | |
CN111290842A (zh) | 一种任务执行方法和装置 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN112711485A (zh) | 一种消息处理方法和装置 | |
CN115525411A (zh) | 处理业务请求的方法、装置、电子设备和计算机可读介质 | |
CN110825342A (zh) | 存储调度器件和用于处理信息的***、方法及装置 | |
CN114666319A (zh) | 数据下载方法、装置、电子设备和可读存储介质 | |
CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
CN114490050A (zh) | 一种数据同步方法和装置 | |
CN113590322A (zh) | 一种数据处理方法和装置 | |
CN113760861A (zh) | 一种数据迁移的方法和装置 | |
CN113760482A (zh) | 一种任务处理方法、装置和*** | |
CN112988806A (zh) | 一种数据处理的方法及装置 | |
CN112015565A (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 |