CN112685182A - 业务数据处理方法、装置、计算机设备及存储介质 - Google Patents
业务数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112685182A CN112685182A CN202011594566.3A CN202011594566A CN112685182A CN 112685182 A CN112685182 A CN 112685182A CN 202011594566 A CN202011594566 A CN 202011594566A CN 112685182 A CN112685182 A CN 112685182A
- Authority
- CN
- China
- Prior art keywords
- service data
- processing
- data processing
- business data
- machine
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 421
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 241000278713 Theora Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,公开了一种业务数据处理方法,包括:获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,每个所述业务数据处理机器对应的编号根据所述并行处理量配置;确定散列值除以并行处理量得到的余数,并将余数与散列值对应的业务数据关联;查询与余数匹配的编号,并将查询得到的编号对应的业务数据处理机器,作为余数对应的业务数据关联的目标机器;将各个业务数据对应的业务数据处理任务分配目标机器中进行处理。本申请还涉及区块链技术领域。本申请还公开了一种业务数据处理装置、计算机设备以及计算机可读存储介质。本申请提高了对业务数据处理任务进行处理的效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种业务数据处理方法、业务数据处理装置、计算机设备以及计算机可读存储介质。
背景技术
在大数据处理的过程中,为了避免单台机器处理大批量数据而导致系统处理压力过大,影响机器正常运行,往往是将大批量数据划分为多批数据后,再将各批数据对应的业务数据处理任务分别交由各台机器处理。
但这样的方案一般对于固定数量的数据,才能更好的预先实现数据分组,而对于随时都有业务数据新增的场景,就难以实现将相应的业务数据处理任务均衡均配到各机器进行处理,不可以避免的导致其中一些机器分配的业务数据处理任务要比其他机器多,使得这些机器依然可能存在系统处理压力过大的问题。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种业务数据处理方法、业务数据处理装置、计算机设备以及计算机可读存储介质,旨在解决如何提高对业务数据处理任务进行处理的效率的同时,还能避免业务数据处理机器的数据处理压力过大的问题。
为实现上述目的,本申请提供一种业务数据处理方法,包括以下步骤:
获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
进一步地,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量,其中,所述业务数据处理机器具有至少一个所述处理线程;
将所述总数量作为所述并行处理量;
根据所述并行处理量配置所述处理线程对应的编号,并将所述处理线程对应的编号与所述处理线程所属的业务数据处理机器关联。
进一步地,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
检测各个所述业务数据处理机器对应的处理线程的数量是否一致;
若否,执行所述根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量的步骤;
若是,将所述业务数据处理机器的数量作为所述并行处理量,并根据所述并行处理量配置所述业务数据处理机器对应的编号。
进一步地,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
检测到有所述业务数据生成时,将所述业务数据发送至存储服务端以块链式的账本进行存储。
进一步地,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤包括:
根据各个所述业务数据对应的业务数据处理任务的优先级,对所述业务数据处理任务进行分组,得到多个任务组;
根据所述任务组对应的优先级确定所述任务组的处理顺序;
根据所述处理顺序依次获取所述任务组,并将获取到的任务组中的业务数据处理任务,分配至所述业务数据处理任务对应的业务数据关联的目标机器中进行处理。
进一步地,所述查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器的步骤之后,还包括:
在将所述业务数据处理任务分配至所述目标机器中进行处理时,根据所述目标机器所分配的业务数据处理任务的数量,确定所述目标机器启用的处理线程的数量。
进一步地,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤之后,还包括:
接收到所述目标机器反馈的所述业务数据处理任务的处理结果时,将所述处理结果转发至所述业务数据处理任务的发起端。
为实现上述目的,本申请还提供一种业务数据处理装置,所述业务数据处理装置包括:
获取模块,用于获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
处理模块,用于计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
查询模块,用于查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
分配模块,用于将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括:
所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务数据处理程序,所述业务数据处理程序被所述处理器执行时实现如上述业务数据处理方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有业务数据处理程序,所述业务数据处理程序被处理器执行时实现如上述业务数据处理方法的步骤。
本申请提供的业务数据处理方法、业务数据处理装置、计算机设备以及计算机可读存储介质,基于对业务数据进行随机分组的策略,使得先分组的业务数据不会影响到后续的业务数据的分组结果,从而可以一直将业务数据对应业务数据处理任务相对均匀地分配到各个业务数据处理机器中,提高了对业务数据处理任务进行处理的效率的同时,还能避免因业务数据处理任务分配不均匀而导致有的业务数据处理机器的数据处理压力过大。
附图说明
图1为本申请一实施例中业务数据处理方法步骤示意图;
图2为本申请一实施例的业务数据处理装置示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,在一实施例中,所述业务数据处理方法包括:
步骤S10、获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
步骤S20、计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
步骤S30、查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
步骤S40、将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
本实施例中,实施例终端可以是计算机设备,如数据库服务器或者业务系统;终端也可以是一种业务数据处理装置。
如步骤S10所述:可选的,在终端本地的数据库中存储有多个业务数据,每个业务数据存入数据库时会分配有唯一标识值,该唯一标识值即为主键(或称关键值、key值)。终端可以是获取业务数据的主键对应具体的ID(Identity document)值,作为业务数据对应的标识值。
需要说明的是,所述业务数据为业务系统中的数据,例如金融服务系统某个还款项目中的3600万个还款数据,且金融服务系统每次需要执行还款项目中的处理任务时,则终端同时具有3600万个还款数据对应的业务数据处理任务需要执行。终端除了拥有数据库现存的业务数据外,还可以不断接收新增的业务数据存储到数据库中。
其中,所述散列运算基于哈希(Hash)算法实现,因此所述散列值可称为哈希值。
可选的,终端获取到各个业务数据对应的标识值时,则对每个业务数据对应的标识值进行散列运算,得到各标识值对应的散列值,并将所述标识值对应的散列值与该标识值对应的业务数据关联。
可选的,终端可以是Oracle数据库服务器,终端对业务数据对应的标识值进行散列运算的过程,可以基于Oracle提供的ora_hash函数实现。其中,ora_hash函数示例如下:
ORA_HASH(expr[,max_bucket[,seed_value]])
ora_hash('strings',N,0)
strings:输入值
N:最大hash bucket的值
0:起始hash bucket值,缺省是1
这样,可以实现快速计算批量数据对应的散列值。
可选的,终端接入有多个业务数据处理机器(或者处理服务器),终端可以是预先或即时根据业务数据处理机器的数量,确定并行处理量,即可以将业务数据处理机器的数量(可记为第一数量)作为并行处理量。
此外,终端还可以预先根据并行处理量的具体值进行编号,生成编号数与并行处理量相当的编号(即编码位数与并行处理量的位数相等),然后为每个业务数据处理机器分配一个不同的编号。如根据具体值为X的并行处理量,编码为0至X-1个号码。
可选的,终端接入有阿波罗(Apollo)配置平台,阿波罗配置平台是一种开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。阿波罗配置平台支持多个维度管理Key-Value格式的配置。
由于每个业务数据处理机器均有其对应的IP地址,因此终端可以利用阿波罗配置平台根据每个业务数据处理机器对应的IP地址,为业务数据处理机器配置对应的Key值,然后将各业务数据处理机器对应的编码作为Value值,建立各业务数据处理机器对应的Key-Value映射关系。
这样,终端基于业务数据处理机器的编号即可查询得到对应的业务数据处理机器,及其IP地址,从而提高终端查询业务数据处理机器的效率。
如步骤S20所述:终端得到每个业务数据对应的散列值,以及获取到并行处理量后,则分别计算每个业务数据对应的散列值除以并行处理量得到的余数,并将每个散列值对应的余数,与该散列值对应的业务数据关联。
应当理解的是,当并行处理量为X时,则散列值除以X得到的余数,应为0至X-1中的任一个。
可选的,终端可以是基于Oracle提供的Mod函数计算每个散列值除以并行处理量得到的余数。Mod函数示例如下:
Mod(m,X)
其中,m为具体的散列值,X为并行处理量;Mod可返回m除以X的余数。
这样,可以实现快速计算批量数据对应的余数。
如步骤S30所述:终端得到每个业务数据对应的余数后,则查询与业务数据对应的余数相匹配的编号(即查询数值与余数相等的编号),然后确定查询得到的编号对应的业务数据处理机器,并将确定得到的业务数据处理机器和其编号匹配的余数对应的业务数据关联,得到该业务数据关联的目标机器。
可选的,终端针对各个业务数据对应的余数,均执行步骤S30,从而确定得到各个业务数据关联的目标机器。
如步骤S40所述:终端在确定得到各个业务数据关联的目标机器后,则获取各个业务数据对应的业务数据处理任务(该业务数据处理任务可以是预先或即时生成的),然后终端可以是根据目标机器的IP地址,将各个业务数据对应的业务数据处理任务分配并发送至业务数据各自关联的目标机器中,而各个目标机器在接收到终端发送的业务数据处理任务后,则会对业务数据处理任务进行处理(即执行业务数据处理任务)。
需要说明的是,业务数据对应的业务数据处理任务,可以是业务数据的更新任务(或者修改任务)、采集任务、查询任务等。
这样,基于步骤S10-S30的执行,相当于实现了一种业务数据的随机均匀分组策略,解耦了业务数据之间进行分组的依赖性,使得先分组的业务数据不会影响到后续的业务数据的分组结果,这样即便后续不断有新增的业务数据,基于步骤S40的执行依然可以将业务数据对应的业务数据处理任务相对均匀地分配到各个业务数据处理机器中进行处理。应当理解的是,基于概率学原理,当业务数据的总量越多,则各业务数据处理机器之间所分配的业务数据处理任务的数量越均匀。
可选的,各业务数据处理机器还可以根据机器上空闲的处理线程的数量,进一步将接收到的业务数据对应的业务数据处理任务平均分配到各个空闲的处理线程上进行处理,从而进一步提高对业务数据进行数据处理的效率。
进一步地,当目标机器完成对接收到的业务数据处理任务的处理后,则可以将业务数据处理任务对应的处理结果反馈至终端。
在一实施例中,基于对业务数据进行随机分组的策略,使得先分组的业务数据不会影响到后续的业务数据的分组结果,从而可以一直将业务数据对应业务数据处理任务相对均匀地分配到各个业务数据处理机器中,提高了对业务数据处理任务进行处理的效率的同时,还能避免因业务数据处理任务分配不均匀而导致有的业务数据处理机器的数据处理压力过大。
在一实施例中,在上述实施例基础上,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
步骤S50、根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量,其中,所述业务数据处理机器具有至少一个所述处理线程;
步骤S51、将所述总数量作为所述并行处理量;
步骤S52、根据所述并行处理量配置所述处理线程对应的编号,并将所述处理线程对应的编号与所述处理线程所属的业务数据处理机器关联。
本实施例中,终端在确定并行处理量时,除了可以是将业务数据处理机器对应的总数量直接作为并行处理量之外,也可以是先获取所有业务数据处理机器上可使用的处理线程的数量(即处理线程数,可记为第二数量),然后基于各业务数据处理机器上的处理线程数计算所有处理线程的总数量,再将处理线程对应的总数量作为并行处理量。
需要说明的是,各业务数据处理机器可以根据机器上具体的处理资源得到处理线程的数量,然后将处理线程的数量发送至终端,以供终端获取。
进一步地,终端还可以根据并行处理量的具体值进行编号,生成编号数与并行处理量相当的编号,然后为每个处理线程分配一个不同的编号。如根据具体值为X的并行处理量,编码为0至X-1个号码。而且,终端将各业务数据处理机器上的处理线程所分配的编号,同时与该处理线程所属的业务数据处理机器关联,然后终端再执行步骤S10。
应当理解的是,可接入终端(或者与终端建立通信连接)的业务数据处理机器具有至少一个处理线程。这样,一个业务数据处理机器即可至少分配得到一个编号,且业务数据处理机器分配得到的编号的个数与其处理线程数相当,而业务数据处理机器所分配的编号个数越多,表示其数据处理能力越强(即处理线程越多)。
而由于后续步骤S30的执行,实质上是将业务数据与编号配对,然后再将业务数据分配到编号与其匹配的目标机器上,这样当业务数据处理机器分配的编号个数越多,业务数据处理机器所分配的业务数据对应的业务数据处理任务的占比就越大,从而实现数据处理能力越强的机器多分配业务数据处理任务,数据处理能力越弱的机器少分配业务数据处理任务。
这样,基于业务数据处理机器的数据处理能力的强弱程度相对均匀地分配业务数据对应的业务数据处理任务,避免数据处理能力较弱的业务数据处理机器因业务数据处理任务分配过多而导致系统压力过大,影响业务数据处理机器的正常运行。
在一实施例中,在上述实施例基础上,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
步骤S60、检测各个所述业务数据处理机器对应的处理线程的数量是否一致;
步骤S61、若否,执行所述根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量的步骤;
步骤S62、若是,将所述业务数据处理机器的数量作为所述并行处理量,并根据所述并行处理量配置所述业务数据处理机器对应的编号。
本实施例中,在执行步骤S10和步骤S50之前,终端在获取到各个所述业务数据处理机器对应的处理线程的数量(即第二数量)后,可以先检测各个业务数据处理机器之间的第二数量是否相等(即检测业务数据处理机器彼此间的处理线程数是否一致)。
可选的,当终端检测到所有业务数据处理机器对应的第二数量均相等时,则可直接将所述业务数据处理机器的数量(即第一数量)作为并行处理量。而且终端还可以根据并行处理量的具体值进行编号,生成编号数与并行处理量相当的编号,然后为每个业务数据处理机器分配一个不同的编号,然后再执行步骤S10。
可选的,当终端检测业务数据处理机器对应的第二数量并非完全相等时,则执行所述根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量的步骤(即步骤S50),通过计算第二数量的总和作为并行处理量,并在后续执行步骤S52之后,再执行步骤S10。
这样,在后续分配业务数据处理任务的过程中,即可相对均匀地分配业务数据对应的业务数据处理任务,避免数据处理能力较弱的业务数据处理机器因业务数据处理任务分配过多而导致系统压力过大,影响业务数据处理机器的正常运行。
在一实施例中,在上述实施例基础上,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
步骤S70、检测到有所述业务数据生成时,将所述业务数据发送至存储服务端以块链式的账本进行存储。
本实施例中,终端也可以是将业务数据存储到存储服务端,其中,所述存储服务端基于区块链技术构建,该存储服务端可用于接收终端上传的业务数据,以及生成接收到的业务数据对应的标识值和块链式的账本,并将业务数据对应的块链式的账本和标识值关联存储。
其中,账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。而区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
可选的,当终端检测到有新的业务数据生成时(或者采集到新的业务数据时),则将新增的业务数据发送至存储服务端以块链式的账本进行存储。同时,终端保存有存储服务端存储的所有业务数据的标识值,当终端或者业务数据处理机器需要对存储服务端上的业务数据进行调用时,直接根据所调用的业务数据对应的标识值,向存储服务端发出业务数据的调用请求即可。
这样,由于在分配业务数据对应的业务数据处理任务时,只需利用业务数据对应的标识值来确定目标机器,而无需使用具体的业务数据,因此可以将业务数据存储至基于区块链技术构建的存储服务端,以提高业务数据存储的安全性,以及减轻终端本地的数据存储压力。
在一实施例中,在上述实施例基础上,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤包括:
步骤S80、根据各个所述业务数据对应的业务数据处理任务的优先级,对所述业务数据处理任务进行分组,得到多个任务组;
步骤S81、根据所述任务组对应的优先级确定所述任务组的处理顺序;
步骤S82、根据所述处理顺序依次获取所述任务组,并将获取到的任务组中的业务数据处理任务,分配至所述业务数据处理任务对应的业务数据关联的目标机器中进行处理。
本实施例中,每个业务数据处理任务均设置有其对应的优先级。
可选的,终端在确定得到各个业务数据关联的目标机器后,则获取各个业务数据对应的业务数据处理任务(该业务数据处理任务可以是预先或即时生成的),然后根据各个业务数据处理任务对应的优先级,对业务数据处理任务进行分组。其中,将相同优先级的业务数据处理任务分为同一任务组,从而得到多个任务组。这样得到的任务组数,即等于优先级等级数,且每组任务组中的业务数据处理任务对应的优先级,同样与该任务组对应。
可选的,终端各个任务组对应的优先级高低,对任务组进行排序,得到任务组的处理顺序。其中,任务组对应的优先级越高,则排序越靠前。
进一步地,终端根据所述处理顺序,从排列第一的任务组开始依次获取任务组,并将获取到的任务组中的业务数据处理任务,分配至所述业务数据处理任务对应的业务数据关联的目标机器中进行处理。然后再获取下一任务组,并执行所述将获取到的任务组中的业务数据处理任务,分配至所述业务数据处理任务对应的业务数据关联的目标机器中进行处理的步骤,直到所有任务组获取完毕。
这样,相当于基于优先级对业务数据处理任务进行分批处理,在减轻了业务数据处理机器的数据处理压力的同时,还可以有先处理重要的业务数据处理任务。
在一实施例中,在上述实施例基础上,所述查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器的步骤之后,还包括:
步骤S90、在将所述业务数据处理任务分配至所述目标机器中进行处理时,根据所述目标机器所分配的业务数据处理任务的数量,确定所述目标机器启用的处理线程的数量。
本实施例中,所述并行处理量是直接根据业务数据处理机器的数量(即第一数量)确定的,即并行处理量等于第一数量。
可选的,终端在执行步骤S40,以将业务数据处理任务分配至相应的目标机器中进行处理时,还可以先确定每个目标机器(即业务数据处理机器)当前所分配的业务数据处理任务的数量(记为第三数量),然后在根据每个目标机器对应的第三数量,确定该目标机器所启用的处理线程的数量(记为第四数量)。其中,第三数量越大,则确定得到的第四数量越多,但最终确定得到的第四数量不得超过目标机器当前的空闲线程数,以避免目标机器的数据处理压力过大。
这样,可以提高业务数据处理机器处理业务数据处理任务的效率。
在一实施例中,在上述实施例基础上,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤之后,还包括:
步骤S100、接收到所述目标机器反馈的所述业务数据处理任务的处理结果时,将所述处理结果转发至所述业务数据处理任务的发起端。
本实施例中,当目标机器完成对接收到的业务数据处理任务的处理后,则可以将业务数据处理任务对应的处理结果反馈至终端,而终端则可以接收并获取处理结果。
可选的,当业务数据处理任务是由终端本端发起时(如针对某些业务数据的定时更新任务),则终端可以直接保存处理结果;且若业务数据处理任务对应的业务数据是存储在存储服务端时,终端则将该业务数据处理任务对应的处理结果上传至存储服务端,以供存储服务端基于处理结果作进一步处理。
可选的,当业务数据处理任务是其他终端设备向终端发起时(如针对某些业务数据的查询任务),则发起业务数据处理任务的其他终端设备即为发起端,那么当终端接收到目标机器反馈的业务数据处理任务的处理结果时,则将该处理结果转发至该业务数据处理任务对应的发起端,从而使得发起端可以得到其发起的业务数据处理任务的处理结果。
这样,通过将其他设备发起的业务数据处理任务交由目标机器处理,可以减轻终端系统的数据处理压力。
参照图2,本申请实施例中还提供一种业务数据处理装置10,包括:
获取模块11,用于获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
处理模块12,用于计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
查询模块13,用于查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
分配模块14,用于将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于业务数据处理程序。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务数据处理方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质包括业务数据处理程序,所述业务数据处理程序被处理器执行时实现如以上实施例所述的业务数据处理方法的步骤。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的业务数据处理方法、业务数据处理装置、计算机设备和存储介质,基于对业务数据进行随机分组的策略,使得先分组的业务数据不会影响到后续的业务数据的分组结果,从而可以一直将业务数据对应业务数据处理任务相对均匀地分配到各个业务数据处理机器中,提高了对业务数据处理任务进行处理的效率的同时,还能避免因业务数据处理任务分配不均匀而导致有的业务数据处理机器的数据处理压力过大。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种业务数据处理方法,其特征在于,包括:
获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
2.如权利要求1所述的业务数据处理方法,其特征在于,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量,其中,所述业务数据处理机器具有至少一个所述处理线程;
将所述总数量作为所述并行处理量;
根据所述并行处理量配置所述处理线程对应的编号,并将所述处理线程对应的编号与所述处理线程所属的业务数据处理机器关联。
3.如权利要求2所述的业务数据处理方法,其特征在于,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
检测各个所述业务数据处理机器对应的处理线程的数量是否一致;
若否,执行所述根据所有所述业务数据处理机器对应的处理线程的数量,计算所述处理线程对应的总数量的步骤;
若是,将所述业务数据处理机器的数量作为所述并行处理量,并根据所述并行处理量配置所述业务数据处理机器对应的编号。
4.如权利要求1-3中任一项所述的业务数据处理方法,其特征在于,所述获取各个业务数据对应的标识值和并行处理量的步骤之前,还包括:
检测到有所述业务数据生成时,将所述业务数据发送至存储服务端以块链式的账本进行存储。
5.如权利要求1所述的业务数据处理方法,其特征在于,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤包括:
根据各个所述业务数据对应的业务数据处理任务的优先级,对所述业务数据处理任务进行分组,得到多个任务组;
根据所述任务组对应的优先级确定所述任务组的处理顺序;
根据所述处理顺序依次获取所述任务组,并将获取到的任务组中的业务数据处理任务,分配至所述业务数据处理任务对应的业务数据关联的目标机器中进行处理。
6.如权利要求1或5所述的业务数据处理方法,其特征在于,所述查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器的步骤之后,还包括:
在将所述业务数据处理任务分配至所述目标机器中进行处理时,根据所述目标机器所分配的业务数据处理任务的数量,确定所述目标机器启用的处理线程的数量。
7.如权利要求1或5所述的业务数据处理方法,其特征在于,所述将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理的步骤之后,还包括:
接收到所述目标机器反馈的所述业务数据处理任务的处理结果时,将所述处理结果转发至所述业务数据处理任务的发起端。
8.一种业务数据处理装置,其特征在于,包括:
获取模块,用于获取各个业务数据对应的标识值和并行处理量,并利用散列运算计算所述标识值对应的散列值,其中,所述并行处理量基于多个业务数据处理机器确定得到;每个所述业务数据处理机器对应的编号根据所述并行处理量配置;
处理模块,用于计算所述散列值除以所述并行处理量得到的余数,并将所述余数与所述散列值对应的业务数据关联;
查询模块,用于查询与所述余数匹配的所述编号,并将查询得到的所述编号对应的业务数据处理机器,作为所述余数对应的业务数据关联的目标机器;
分配模块,用于将各个所述业务数据对应的业务数据处理任务,分配至各个所述业务数据关联的目标机器中进行处理。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的业务数据处理程序,所述业务数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的业务数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有业务数据处理程序,所述业务数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的业务数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594566.3A CN112685182A (zh) | 2020-12-29 | 2020-12-29 | 业务数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594566.3A CN112685182A (zh) | 2020-12-29 | 2020-12-29 | 业务数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685182A true CN112685182A (zh) | 2021-04-20 |
Family
ID=75455194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011594566.3A Pending CN112685182A (zh) | 2020-12-29 | 2020-12-29 | 业务数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685182A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918382A (zh) * | 2019-03-18 | 2019-06-21 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110716796A (zh) * | 2019-09-02 | 2020-01-21 | 中国平安财产保险股份有限公司 | 智能任务调度方法及装置、存储介质、电子设备 |
CN110764700A (zh) * | 2019-10-12 | 2020-02-07 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN110765162A (zh) * | 2019-09-06 | 2020-02-07 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据比对方法、装置、计算机设备和存储介质 |
CN112035571A (zh) * | 2020-08-19 | 2020-12-04 | 深圳乐信软件技术有限公司 | 一种数据同步方法、装置、设备和存储介质 |
-
2020
- 2020-12-29 CN CN202011594566.3A patent/CN112685182A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918382A (zh) * | 2019-03-18 | 2019-06-21 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110716796A (zh) * | 2019-09-02 | 2020-01-21 | 中国平安财产保险股份有限公司 | 智能任务调度方法及装置、存储介质、电子设备 |
CN110765162A (zh) * | 2019-09-06 | 2020-02-07 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据比对方法、装置、计算机设备和存储介质 |
CN110764700A (zh) * | 2019-10-12 | 2020-02-07 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112035571A (zh) * | 2020-08-19 | 2020-12-04 | 深圳乐信软件技术有限公司 | 一种数据同步方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727712B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
CN109191219B (zh) | 关于电子票据的数据处理方法、装置、存储介质和设备 | |
CN112632575A (zh) | 业务系统的权限管理方法、装置、计算机设备及存储介质 | |
WO2021032138A1 (zh) | 一种基于区块链系统的共识方法、装置及系统 | |
CN112153155B (zh) | 服务器集群中的服务请求方法、装置、计算机设备及介质 | |
US20210144012A1 (en) | Management of interoperating machine leaning algorithms | |
CN112468525B (zh) | 一种基于区块链的域名管理系统 | |
CN111625593A (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
US7937704B2 (en) | Distributed computer | |
CN110673881B (zh) | 微服务集群的配置管理方法、装置和计算机设备 | |
CN112468309B (zh) | 基于智能合约的域名管理系统 | |
CN110765484A (zh) | 一种征信数据处理方法及电子设备 | |
CN110599275A (zh) | 一种基于区块链网络的数据处理方法、装置及存储介质 | |
CN112540811A (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN112364059A (zh) | 多规则场景下关联匹配方法、装置、设备和存储介质 | |
CN110597834A (zh) | 电子票据数据处理方法、装置和计算机设备 | |
CN113342783A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN111260253A (zh) | 信息发送方法、装置、计算机设备及存储介质 | |
CN113919846A (zh) | 区块链节点动态分组方法、装置、计算机设备和存储介质 | |
CN112685182A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN117453357A (zh) | 节点任务调度方法、装置、计算机设备及存储介质 | |
CN111866197B (zh) | 一种域名解析方法及系统 | |
CN112286650A (zh) | 分布式服务的发布方法和装置 | |
CN114579582B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210420 |