CN114625531A - 一种业务处理方法和装置 - Google Patents
一种业务处理方法和装置 Download PDFInfo
- Publication number
- CN114625531A CN114625531A CN202210143433.7A CN202210143433A CN114625531A CN 114625531 A CN114625531 A CN 114625531A CN 202210143433 A CN202210143433 A CN 202210143433A CN 114625531 A CN114625531 A CN 114625531A
- Authority
- CN
- China
- Prior art keywords
- configuration
- service
- processing
- processed
- resource
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种业务处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取与待处理业务单的业务类型对应的资源配置;根据服务器当前的资源占用量和获取的资源配置,确定对待处理业务单的处理类型;按照处理类型,对待处理业务单中的数据进行批量处理或实时处理。该实施方式能够根据服务器能力随时调整处理类型,既满足需要一次提交大量明细数据的业务需求,又尽可能让任务实时处理,使服务器能够及时响应,可根据服务器资源精细化控制业务处理,合理利用服务器资源。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务处理方法和装置。
背景技术
在一些业务处理场景中,业务单分为业务主信息和业务明细列表信息两部分,业务主信息字段相对固定,业务明细列表信息根据需要可以通过新增添加或者通过导入添加到服务器,记录条数可能是0到N条。通过保存按钮会把当前页面的变动信息保存到服务器,点击提交按钮则会进行一系列的业务校验并进行其他相关业务操作以使得当次业务数据提交生效。当数据条数过多时,可能会出现处理时间较长导致提交交易连接超时(是指客户端的API访问请求在指定的等待时间内没有得到服务器的响应导致连接中断)问题。且如果短时间有多个数据条数过多需要处理时间过长的提交任务也会出现占用系统资源过多影响其他业务。对此,现有技术中,方案一:限制业务明细的最大条数,超过最大条数则不允许提交,要求用户分拆为多个业务单分开提交。方案二:所有提交操作统一转为异步批量任务操作,每隔固定时间取固定数量的提交任务进行处理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
方案一对业务提交的明细行数限制过于严格,对于需要一次提交大量明细数据的业务很难满足。方案二对于行数很小的业务也通过批量操作,导致服务响应不及时,且批量任务没有精细化的控制,从而无法高效使用服务器资源。
发明内容
有鉴于此,本发明实施例提供一种业务处理方法和装置,能够根据服务器能力随时调整处理类型,既满足需要一次提交大量明细数据的业务需求,又尽可能让任务实时处理,使服务器能够及时响应,可根据服务器资源精细化控制业务处理,合理利用服务器资源。
为实现上述目的,根据本发明实施例的一个方面,提供了一种业务处理方法。
一种业务处理方法,包括:获取与待处理业务单的业务类型对应的资源配置;根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,所述处理类型为批量处理或实时处理;按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理。
可选地,所述获取与待处理业务单的业务类型对应的资源配置,包括:根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置;从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。
可选地,所述根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,包括:根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据所述目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置;根据各类别资源的所述目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值;将所述待处理业务单中的数据条数与所述数据条数阈值比较,若所述待处理业务单中的数据条数大于所述数据条数阈值,则所述处理类型为批量处理,若所述待处理业务单中的数据条数小于或等于所述数据条数阈值,则所述处理类型为实时处理。
可选地,所述获取与待处理业务单的业务类型对应的资源配置,还包括:从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。
可选地,按照所述处理类型,在对所述待处理业务单中的数据进行批量处理的情况下,所述方法包括:根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据所述目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置;根据各类别资源的所述目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数;按照所述可调取任务数调取批量任务,以对所述待处理业务单中的数据进行批量处理。
可选地,对于占用量配置为所述第一占用量配置且目标占用量配置为所述目标第一占用量配置,或者,所述占用量配置为所述第二占用量配置且所述目标占用量配置为所述目标第二占用量配置,根据服务器当前的各类别资源占用量,从每一类别的所述占用量配置中选出所述目标占用量配置的步骤,包括:对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出所述目标占用量配置。
可选地,所述根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置,包括:根据所述待处理业务单的业务类型,从所述一个或多个类别的资源配置表中读取特定字段的配置值,若读取到所述配置值,则以所述配置值作为获取的对应类别的资源配置;若未读取到所述配置值,则以所述特定字段的默认值作为获取的对应类别的资源配置。
可选地,所述获取与待处理业务单的业务类型对应的资源配置之前,包括:从所述待处理业务单的业务表中读取所述待处理业务单的业务类型和业务状态,并确认所述业务状态为未提交;所述按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理,包括:在所述处理类型为批量处理的情况下,将所述待处理业务单的业务状态更新为已提交且等待批量处理;在所述处理类型为实时处理的情况下,将所述待处理业务单的业务状态更新为已处理完成。
根据本发明实施例的另一方面,提供了一种业务处理装置。
一种业务处理装置,包括:资源配置获取模块,用于获取与待处理业务单的业务类型对应的资源配置;处理类型确定模块,用于根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,所述处理类型为批量处理或实时处理;业务处理模块,用于按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理。
可选地,所述资源配置获取模块还用于:根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置;从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。
可选地,还包括目标配置确定模块,用于:根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据所述目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置;所述处理类型确定模块还用于:根据各类别资源的所述目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值;将所述待处理业务单中的数据条数与所述数据条数阈值比较,若所述待处理业务单中的数据条数大于所述数据条数阈值,则所述处理类型为批量处理,若所述待处理业务单中的数据条数小于或等于所述数据条数阈值,则所述处理类型为实时处理。
可选地,所述资源配置获取模块还用于:从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。
可选地,还包括目标配置确定模块,用于按照所述处理类型,在对所述待处理业务单中的数据进行批量处理的情况下:根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据所述目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置;所述业务处理模块还用于:根据各类别资源的所述目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数;按照所述可调取任务数调取批量任务,以对所述待处理业务单中的数据进行批量处理。
可选地,对于占用量配置为所述第一占用量配置且目标占用量配置为所述目标第一占用量配置,或者,所述占用量配置为所述第二占用量配置且所述目标占用量配置为所述目标第二占用量配置,所述目标配置确定模块还用于:对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出所述目标占用量配置。
可选地,所述资源配置获取模块还用于:根据所述待处理业务单的业务类型,从所述一个或多个类别的资源配置表中读取特定字段的配置值,若读取到所述配置值,则以所述配置值作为获取的对应类别的资源配置;若未读取到所述配置值,则以所述特定字段的默认值作为获取的对应类别的资源配置。
可选地,还包括业务状态管理模块,用于:从所述待处理业务单的业务表中读取所述待处理业务单的业务类型和业务状态,并确认所述业务状态为未提交;所述按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理,包括:在所述处理类型为批量处理的情况下,将所述待处理业务单的业务状态更新为已提交且等待批量处理;在所述处理类型为实时处理的情况下,将所述待处理业务单的业务状态更新为已处理完成。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明实施例所提供的业务处理方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的业务处理方法。
根据本发明实施例的又一方面,提供了一种计算机程序产品。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的业务处理方法。
上述发明中的一个实施例具有如下优点或有益效果:获取与待处理业务单的业务类型对应的资源配置;根据服务器当前的资源占用量和获取的资源配置,确定对待处理业务单的处理类型;按照处理类型,对待处理业务单中的数据进行批量处理或实时处理。能够根据服务器能力随时调整处理类型,既满足需要一次提交大量明细数据的业务需求,又尽可能让任务实时处理,使服务器能够及时响应,可根据服务器资源精细化控制业务处理,合理利用服务器资源。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的业务处理方法的主要步骤示意图;
图2是根据本发明一个实施例的业务处理装置的主要模块示意图;
图3是本发明实施例可以应用于其中的示例性系统架构图;
图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1是根据本发明一个实施例的业务处理方法的主要步骤示意图。如图1所示,本发明一个实施例的业务处理方法主要包括如下的步骤S101至步骤S103。
步骤S101:获取与待处理业务单的业务类型对应的资源配置;
步骤S102:根据服务器当前的资源占用量和获取的资源配置,确定对待处理业务单的处理类型,处理类型为批量处理或实时处理;
步骤S103:按照处理类型,对待处理业务单中的数据进行批量处理或实时处理。
实时处理方式就是对所请求的业务随到随处理。批量处理就是将收集到的业务请求积累到一定阶段(定期或定量)后再进行处理。
资源包括但不限于CPU、内存等。
获取与待处理业务单的业务类型对应的资源配置,具体包括:根据待处理业务单的业务类型,获取一个或多个类别的资源配置;从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。例如CPU资源的第一占用量配置和最大数据条数配置,内存资源的第一占用量配置和最大数据条数配置,等等。每一类别资源的第一占用量配置的数量可以为多个,每个第一占用量配置有对应的最大数据条数配置。
根据服务器当前的资源占用量和获取的资源配置,确定对待处理业务单的处理类型,具体步骤包括:根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置;根据各类别资源的目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值,例如假设资源为CPU资源和内存资源,若CPU资源的目标最大数据条数配置小于内存资源的目标最大数据条数配置,则以CPU资源的目标最大数据条数配置作为可实时处理的数据条数阈值;将待处理业务单中的数据条数与数据条数阈值比较,若待处理业务单中的数据条数大于数据条数阈值,则处理类型为批量处理,若待处理业务单中的数据条数小于或等于数据条数阈值,则处理类型为实时处理。
获取与待处理业务单的业务类型对应的资源配置,还可以包括:从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。例如CPU资源的第二占用量配置和批量可取任务数配置,内存资源的第二占用量配置和批量可取任务数配置,等等。每一类别资源的第二占用量配置的数量可以为多个,每个第二占用量配置有对应的批量可取任务数配置。
按照处理类型,在对待处理业务单中的数据进行批量处理的情况下,还可以根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置;根据各类别资源的目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数,例如假设资源为CPU资源和内存资源,若CPU资源的目标批量可取任务数配置小于内存资源的目标批量可取任务数配置,则以CPU资源的目标批量可取任务数配置作为每次批量处理的可调取任务数;按照可调取任务数调取批量任务,以对待处理业务单中的数据进行批量处理。
从每一类别的占用量配置中选出目标占用量配置的步骤,包括:对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出目标占用量配置。其中,占用量配置为第一占用量配置且目标占用量配置为目标第一占用量配置,或者,占用量配置为第二占用量配置且目标占用量配置为目标第二占用量配置,根据服务器当前的各类别资源占用量。
根据待处理业务单的业务类型,获取一个或多个类别的资源配置,具体包括:根据待处理业务单的业务类型,从一个或多个类别的资源配置表中读取特定字段的配置值,若读取到配置值,则以配置值作为获取的对应类别的资源配置;若未读取到配置值,则以特定字段的默认值作为获取的对应类别的资源配置,即,若对应类别资源配置未进行配置的情况下,可根据预设的默认值来获取对应类别的资源配置。
获取与待处理业务单的业务类型对应的资源配置之前,可以从待处理业务单的业务表中读取待处理业务单的业务类型和业务状态,并确认业务状态为未提交。
按照处理类型,对待处理业务单中的数据进行批量处理或实时处理,具体地,在处理类型为批量处理的情况下,将待处理业务单的业务状态更新为已提交且等待批量处理;在处理类型为实时处理的情况下,将待处理业务单的业务状态更新为已处理完成。
本发明实施例通过配置的方式确定交易是实时处理还是转为异步批量处理。可按需配置,没有配置则默认进行实时处理,对于有配置的业务单,当所提交的业务的明细数据条数小于配置值,则进行实时处理,否则转为异步批量处理。配置简单易用,可以根据服务器能力随时调整。对于超过系统服务器处理能力的交易转为异步处理,对于系统服务器能力范围内的交易进行实时处理。还可以通过判断资源实时使用情况调节批量任务的调度。在服务器闲时(资源占用较少时)多调取批量任务,在服务器忙时(资源占用较多时)少调起批量任务,充分合理利用服务器资源。
本发明实施例针对java的spring boot架构下的业务单包含业务主信息和业务明细信息,且业务明细信息记录数根据业务需要记录数为0到N条的业务场景,例如,业务主信息具体可包括业务单编号、申请人、业务类型等字段,业务明细信息具体可包括序号、卡片编号等信息两部分。业务主信息字段相对固定。业务明细信息根据需要可以通过新增添加或者通过导入添加到服务器,记录条数可能是0到N条。业务主信息和业务明细信息的具体内容是根据业务场景而定的,不限于上述示例所列举的内容。
服务器资源包括但不限于CPU、内存等资源,以下主要以CPU和内存资源为例进行说明。
每当业务新增一个业务单则在业务表(bsnTbl)中增加一条记录,记录其业务类型(bsnType)、业务单号(bsnEcd)、业务发生时间(updateTime)、且该记录的状态(bsnStatus)字段设置为01,bsnStatus为“01”表示未提交;对于该业务单的明细信息保存在该业务类型对应的业务表中。
业务表bsnTbl的一个示例如表1所示。
表1
本发明实施例提出一种SRUC(System Resource Usage Control)算法即服务器资源使用情况控制算法,该算法中会对服务器中主要的资源分别进行配置,例如,对CPU配置表cpuCfgTbl进行配置,CPU配置表cpuCfgTbl的一个示例如表2所示。
表2
其中bsnType为所配置的业务类型,percentage为该资源系统占用情况,即服务器中CPU占用百分比,num为对应的percentage运行的最大数量。cfgType为配置类型,即当前配置是针对批量任务还是针对联机任务(实时任务)进行的配置,其中,若配置模式为01,即为实时配置,则表2中的percentage即指CPU资源的第一占用量配置,表2中的num即指CPU资源的最大数据条数配置;若配置模式为02,即为批量配置,则表2中的percentage即指CPU资源的第二占用量配置,表2中的num即指CPU资源的批量可取任务数配置。
CPU资源的第一占用量配置或第二占用量配置的数量均可以为多个,即表2中的percentage可以有多个值,相应的num也对应有多个值,例如对批量任务配置两条记录,percentage分别60%、90%,num分别为5、3,其中,60%与num=5对应,90%与num=3对应,表示当CPU占用比为60%以下一次取任务5个,当CPU占用比为60%到90%取3个,当CPU占用比为90%以上取1个。
根据服务器当前的CPU资源占用量,确定CPU资源配置中与服务器中CPU的当前的资源占用量匹配的目标第二占用量配置时,可以从CPU的资源配置中获取大于或等于服务器当前的CPU资源占用量的一个或多个第二占用量配置,作为目标第二占用量配置,并由该一个或多个目标第二占用量配置对应的批量可取任务数配置之中的最大值,得到CPU资源的目标批量可取任务数配置。结合上例,假设服务器当前的CPU资源占用量为50%,那么CPU的资源配置中大于50%的目标第二占用量配置有两个,分别为percentage为60%、90%,对应的批量可取任务数配置分别为num为3和5,以目标第二占用量配置对应的批量可取任务数配置之中的最大值即num=5作为CPU资源的目标批量可取任务数配置。CPU资源的目标批量可取任务数配置表示考虑CPU资源能力的情况下服务器进行批量处理时的可调取任务数。
对于其他类别的资源,例如内存资源,也可以参照上述方法得到内存资源的目标批量可取任务数配置。内存资源的目标批量可取任务数配置表示考虑内存资源能力的情况下服务器进行批量处理时的可调取任务数。
某一实施例中,假设服务器资源仅考虑CPU和内存两种资源的情况,且假设CPU资源的目标批量可取任务数配置为5,内存资源的目标批量可取任务数配置为4,那么根据各类别资源的目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数,即每次批量处理的可调取任务数为4。每次批量处理的可调取任务数表示综合考虑服务器所有类别的资源的情况下服务器进行批量处理时的可调取任务数。
根据各类别资源配置表中针对批量配置的第二占用量配置(即cfgType=02(批量配置)时的percentage)和批量可取任务数配置(即cfgType=02(批量配置)时的num),可以确定在服务器当前的资源占用量下,服务器每次批量处理的可调取任务数。
根据各类别资源配置表中针对实时配置(cfgType=01)的第一占用量配置(即cfgType=01(实时配置)时的percentage)和最大数据条数配置(即cfgType=01(实时配置)时的num),可以确定对待处理业务单的处理类型。具体地,以CPU、内存资源为例,根据服务器当前的CPU资源占用量,从CPU资源的第一占用量配置中选出目标第一占用量配置,根据目标第一占用量配置对应的最大数据条数配置的最大值,确定CPU资源的目标最大数据条数配置。按照同样方法,可以确定出内存资源的目标最大数据条数配置。根据CPU、内存资源的目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值。将待处理业务单中的数据条数与该数据条数阈值比较,若待处理业务单中的数据条数大于数据条数阈值,则处理类型为批量处理,若待处理业务单中的数据条数小于或等于数据条数阈值,则处理类型为实时处理。其中,以CPU资源为例,在选出目标第一占用量配置时,与上文介绍的选出目标第二占用量配置的方法相同。根据目标第一占用量配置对应的最大数据条数配置的最大值,确定CPU资源的目标最大数据条数配置,与上文介绍的根据目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置的方法相同,具体不再赘述。
内存配置表(memCfgTbl)的一个示例如表3所示。
表3
当业务人员进行一个业务提交操作时,只有在业务表bsnTbl中业务状态bsnStatus为‘01’的即未提交的才能进行提交操作,即需要从待处理业务单的业务表中读取待处理业务单的业务类型和业务状态,并确认该业务状态为未提交。
由于不同的业务类型处理逻辑不同,所以对于联机交易超时(指客户端的API访问请求在指定的等待时间内没有得到服务器的响应导致连接中断)的明细记录条数不同,用户通过配置的方式给不同的业务类型进行配置,当前业务单的明细记录条数小于或者等于配置则进行实时处理。反之则将该任务通过批量任务调度。
本发明实施例可以通过查询待处理业务单的明细表来获取明细数量(记作dtlNum)。假设当前提交的业务的业务单号为curBsnEcd,由于各资源配置表例如CPU配置表、内存配置表中都配置了业务类型,按照待处理业务单的业务类型可以获取CPU配置表、内存配置表中的资源配置。根据配置模式cfgType为01(实时配置)对应的具体配置值可以判断处理类型是实时处理还是批量处理,若为实时处理,则更新业务表中待处理业务单的业务状态更新为已处理完成,即令bsnStatus=03。若为批量处理,则将待处理业务单的业务状态更新为已提交且等待批量处理,即令bsnStatus=02。
在批量处理的情况下,本发明实施例可以给每种业务类型实现一个批量任务,批量任务执行模块每隔指定时间(如30分钟)执行一次,还可以根据资源配置表中cfgType为02(批量配置)对应的具体配置值,来确定当前服务器资源占用量下,服务器每次批量处理(每个执行周期)的可调取任务数,具体在上文已经介绍,此处不再赘述。
在批量处理的情况下,还可以返回前端“该任务由于记录条数过多转为批量任务处理”的提示消息。在实时处理的情况下,可返回前端“业务处理完成”的提示消息。
当进行业务类型例如为curBsnType的业务单的批量任务调度时,可查询业务状态bsnStatus为‘02’即需要进行批量处理的任务,按时间逆向排序,按照服务器每次批量处理的可调取任务数取任务对应的业务单的明细数据进行批量处理,处理完成后将业务单的业务状态bsnStatus置为03,即业务处理完成。
本发明实施例还可以对业务执行情况进行展示,即,将业务表bsnTbl信息展示到前端,业务状态bsnStatus为‘01’表示未提交,为‘02’表示已提交等待批量处理,为‘03’表示已经处理完成。操作人员可以直观地查看每个业务的每个业务单的当前执行情况。
本发明实施例针对业务主信息相对固定,业务明细信息条数根据业务需要可多可少,且业务提交时对明细记录的业务处理逻辑比较复杂,当记录条数比较多时可能会出现联机业务超时的问题,根据不同业务的不同情况以及服务器的服务能力进行实时响应最大条数的配置通过SRUC算法(即本发明实施例的业务处理方法的算法流程)来控制业务提交后的业务处理是实时处理还是转为批量处理;对于不同的系统环境可以根据业务复杂度和服务器处理能力灵活方便的配置不同系统状态下的最大条数。从而实现尽可能多的实时处理,同时又能避免因记录数过多而产生服务连接超时问题。还可控制批量任务的执行以充分利用CPU和内存等服务器资源。并且可在业务执行情况展示页面直观地展示业务执行情况。
图2是根据本发明一个实施例的业务处理装置的主要模块示意图。
如图2所示,本发明一个实施例的业务处理装置200主要包括:资源配置获取模块201、处理类型确定模块202、业务处理模块203。
资源配置获取模块201,用于获取与待处理业务单的业务类型对应的资源配置;
处理类型确定模块202,用于根据服务器当前的资源占用量和获取的资源配置,确定对待处理业务单的处理类型,处理类型为批量处理或实时处理;
业务处理模块203,用于按照处理类型,对待处理业务单中的数据进行批量处理或实时处理。
资源配置获取模块201具体可以用于:根据待处理业务单的业务类型,获取一个或多个类别的资源配置;从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。
业务处理装置200还包括目标配置确定模块,用于:根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置。
处理类型确定模块202具体用于:根据各类别资源的目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值;将待处理业务单中的数据条数与数据条数阈值比较,若待处理业务单中的数据条数大于数据条数阈值,则处理类型为批量处理,若待处理业务单中的数据条数小于或等于数据条数阈值,则处理类型为实时处理。
资源配置获取模块201还用于:从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。
目标配置确定模块还用于按照处理类型,在对待处理业务单中的数据进行批量处理的情况下:根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置。
业务处理模块203还可以用于:根据各类别资源的目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数;按照可调取任务数调取批量任务,以对待处理业务单中的数据进行批量处理。
对于占用量配置为第一占用量配置且目标占用量配置为目标第一占用量配置,或者,占用量配置为第二占用量配置且目标占用量配置为目标第二占用量配置,目标配置确定模块具体用于:对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出目标占用量配置。
资源配置获取模块201还用于:根据待处理业务单的业务类型,从一个或多个类别的资源配置表中读取特定字段的配置值,若读取到配置值,则以配置值作为获取的对应类别的资源配置;若未读取到配置值,则以特定字段的默认值作为获取的对应类别的资源配置。
业务处理装置200还可包括业务状态管理模块,用于:从待处理业务单的业务表中读取待处理业务单的业务类型和业务状态,并确认业务状态为未提交;还可以用于在处理类型为批量处理的情况下,将待处理业务单的业务状态更新为已提交且等待批量处理;在处理类型为实时处理的情况下,将待处理业务单的业务状态更新为已处理完成。
本发明实施例实现根据服务器性能和业务复杂度实现不同业务类型的实时交易和批量交易之间的转换控制,即当前业务的数据条数小于或者等于配置记录则对该业务提交进行实时业务处理,否则转为批量任务,由批量任务调起执行,动态地决定最大实时处理的明细数据条数,实现尽可能的让任务实时处理。对于转为批量处理的业务单,可以充分利用内存和CPU等资源确定每次批量任务调起的对应业务的业务单数量,从而避免过度占用内存和CPU资源而影响其他业务的执行。
另外,在本发明实施例中业务处理装置的具体实施内容,在上面所述业务处理方法中已经详细说明了,故在此重复内容不再说明。
图3示出了可以应用本发明实施例的业务处理方法或业务处理装置的示例性系统架构300。
如图3所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的业务处理方法一般由服务器305执行,相应地,业务处理装置一般设置于服务器305中。
应该理解,图3中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图4,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统400的结构示意图。图4示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明公开的实施例,上文参考主要步骤示意图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的主要步骤示意图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,主要步骤示意图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或主要步骤示意图中的每个方框、以及框图或主要步骤示意图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括资源配置获取模块、处理类型确定模块、业务处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,资源配置获取模块还可以被描述为“用于获取与待处理业务单的业务类型对应的资源配置的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取与待处理业务单的业务类型对应的资源配置;根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,所述处理类型为批量处理或实时处理;按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理。
作为又一方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本发明实施例的业务处理方法。
根据本发明实施例的技术方案,能够根据服务器能力随时调整处理类型,既满足需要一次提交大量明细数据的业务需求,又尽可能让任务实时处理,使服务器能够及时响应,可根据服务器资源精细化控制业务处理,合理利用服务器资源。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (19)
1.一种业务处理方法,其特征在于,包括:
获取与待处理业务单的业务类型对应的资源配置;
根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,所述处理类型为批量处理或实时处理;
按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理。
2.根据权利要求1所述的方法,其特征在于,所述获取与待处理业务单的业务类型对应的资源配置,包括:
根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置;
从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。
3.根据权利要求2所述的方法,其特征在于,所述根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,包括:
根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据所述目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置;
根据各类别资源的所述目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值;
将所述待处理业务单中的数据条数与所述数据条数阈值比较,若所述待处理业务单中的数据条数大于所述数据条数阈值,则所述处理类型为批量处理,若所述待处理业务单中的数据条数小于或等于所述数据条数阈值,则所述处理类型为实时处理。
4.根据权利要求2所述的方法,其特征在于,所述获取与待处理业务单的业务类型对应的资源配置,还包括:
从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。
5.根据权利要求4所述的方法,其特征在于,按照所述处理类型,在对所述待处理业务单中的数据进行批量处理的情况下,所述方法包括:
根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据所述目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置;
根据各类别资源的所述目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数;
按照所述可调取任务数调取批量任务,以对所述待处理业务单中的数据进行批量处理。
6.根据权利要求3或5所述的方法,其特征在于,对于占用量配置为所述第一占用量配置且目标占用量配置为所述目标第一占用量配置,或者,所述占用量配置为所述第二占用量配置且所述目标占用量配置为所述目标第二占用量配置,根据服务器当前的各类别资源占用量,从每一类别的所述占用量配置中选出所述目标占用量配置的步骤,包括:
对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出所述目标占用量配置。
7.根据权利要求2所述的方法,其特征在于,所述根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置,包括:
根据所述待处理业务单的业务类型,从所述一个或多个类别的资源配置表中读取特定字段的配置值,若读取到所述配置值,则以所述配置值作为获取的对应类别的资源配置;若未读取到所述配置值,则以所述特定字段的默认值作为获取的对应类别的资源配置。
8.根据权利要求1所述的方法,其特征在于,所述获取与待处理业务单的业务类型对应的资源配置之前,包括:
从所述待处理业务单的业务表中读取所述待处理业务单的业务类型和业务状态,并确认所述业务状态为未提交;
所述按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理,包括:
在所述处理类型为批量处理的情况下,将所述待处理业务单的业务状态更新为已提交且等待批量处理;
在所述处理类型为实时处理的情况下,将所述待处理业务单的业务状态更新为已处理完成。
9.一种业务处理装置,其特征在于,包括:
资源配置获取模块,用于获取与待处理业务单的业务类型对应的资源配置;
处理类型确定模块,用于根据服务器当前的资源占用量和获取的所述资源配置,确定对所述待处理业务单的处理类型,所述处理类型为批量处理或实时处理;
业务处理模块,用于按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理。
10.根据权利要求9所述的装置,其特征在于,所述资源配置获取模块还用于:
根据所述待处理业务单的业务类型,获取一个或多个类别的资源配置;
从每一类别的资源配置中读取相应类别资源的第一占用量配置和最大数据条数配置。
11.根据权利要求10所述的装置,其特征在于,还包括目标配置确定模块,用于:
根据服务器当前的各类别资源占用量,从每一类别资源的第一占用量配置中选出目标第一占用量配置,根据所述目标第一占用量配置对应的最大数据条数配置的最大值,确定对应类别资源的目标最大数据条数配置;
所述处理类型确定模块还用于:
根据各类别资源的所述目标最大数据条数配置之中的最小值,确定可实时处理的数据条数阈值;
将所述待处理业务单中的数据条数与所述数据条数阈值比较,若所述待处理业务单中的数据条数大于所述数据条数阈值,则所述处理类型为批量处理,若所述待处理业务单中的数据条数小于或等于所述数据条数阈值,则所述处理类型为实时处理。
12.根据权利要求10所述的装置,其特征在于,所述资源配置获取模块还用于:
从每一类别的资源配置中读取相应类别资源的第二占用量配置和批量可取任务数配置。
13.根据权利要求12所述的装置,其特征在于,还包括目标配置确定模块,用于按照所述处理类型,在对所述待处理业务单中的数据进行批量处理的情况下:
根据服务器当前的各类别资源占用量,从每一类别资源的第二占用量配置中选出目标第二占用量配置,根据所述目标第二占用量配置对应的批量可取任务数配置的最大值,确定对应类别资源的目标批量可取任务数配置;
所述业务处理模块还用于:
根据各类别资源的所述目标批量可取任务数配置之中的最小值,确定每次批量处理的可调取任务数;
按照所述可调取任务数调取批量任务,以对所述待处理业务单中的数据进行批量处理。
14.根据权利要求11或13所述的装置,其特征在于,对于占用量配置为所述第一占用量配置且目标占用量配置为所述目标第一占用量配置,或者,所述占用量配置为所述第二占用量配置且所述目标占用量配置为所述目标第二占用量配置,所述目标配置确定模块还用于:对于每一类别的资源,从该类别的资源配置中获取大于或等于服务器当前的该类别资源占用量的一个或多个占用量配置,以选出所述目标占用量配置。
15.根据权利要求10所述的装置,其特征在于,所述资源配置获取模块还用于:
根据所述待处理业务单的业务类型,从所述一个或多个类别的资源配置表中读取特定字段的配置值,若读取到所述配置值,则以所述配置值作为获取的对应类别的资源配置;若未读取到所述配置值,则以所述特定字段的默认值作为获取的对应类别的资源配置。
16.根据权利要求9所述的装置,其特征在于,还包括业务状态管理模块,用于:
从所述待处理业务单的业务表中读取所述待处理业务单的业务类型和业务状态,并确认所述业务状态为未提交;
所述按照所述处理类型,对所述待处理业务单中的数据进行批量处理或实时处理,包括:
在所述处理类型为批量处理的情况下,将所述待处理业务单的业务状态更新为已提交且等待批量处理;
在所述处理类型为实时处理的情况下,将所述待处理业务单的业务状态更新为已处理完成。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143433.7A CN114625531A (zh) | 2022-02-16 | 2022-02-16 | 一种业务处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143433.7A CN114625531A (zh) | 2022-02-16 | 2022-02-16 | 一种业务处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114625531A true CN114625531A (zh) | 2022-06-14 |
Family
ID=81897832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210143433.7A Pending CN114625531A (zh) | 2022-02-16 | 2022-02-16 | 一种业务处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114625531A (zh) |
-
2022
- 2022-02-16 CN CN202210143433.7A patent/CN114625531A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473036B (zh) | 一种生成订单号的方法和装置 | |
CN112073395B (zh) | 一种文件分发方法和装置 | |
CN110738436A (zh) | 一种确定可用库存的方法和装置 | |
CN107426336B (zh) | 一种调整推送消息打开率的方法和装置 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN111062572A (zh) | 任务分配的方法和装置 | |
CN113989058A (zh) | 一种服务生成方法和装置 | |
CN113742389A (zh) | 一种业务处理方法和装置 | |
US9679262B2 (en) | Image index routing | |
CN112561301A (zh) | 工单分配方法、装置、设备和计算机可读介质 | |
CN111415262A (zh) | 一种业务处理方法和装置 | |
CN111259045A (zh) | 一种数据处理方法、装置、服务器及介质 | |
CN114625531A (zh) | 一种业务处理方法和装置 | |
CN113762819B (zh) | 渠道调度的方法和装置 | |
CN111191134B (zh) | 一种智能推送方法及终端 | |
CN111786801B (zh) | 一种基于数据流量进行计费的方法和装置 | |
CN113282455A (zh) | 一种监控处理方法和装置 | |
CN113238919A (zh) | 一种用户访问数的统计方法、装置及系统 | |
CN111124365A (zh) | Rpa需求收集的方法和装置 | |
CN112667627B (zh) | 一种数据处理方法及装置 | |
CN113360765B (zh) | 事件信息的处理方法、装置、电子设备和介质 | |
CN117407196A (zh) | 一种数据导入的方法和装置 | |
CN116382899A (zh) | 一种系统资源分配方法及装置 | |
CN116010122A (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 |