CN104199869A - 一种业务批处理方法、业务服务器以及系统 - Google Patents
一种业务批处理方法、业务服务器以及系统 Download PDFInfo
- Publication number
- CN104199869A CN104199869A CN201410406566.4A CN201410406566A CN104199869A CN 104199869 A CN104199869 A CN 104199869A CN 201410406566 A CN201410406566 A CN 201410406566A CN 104199869 A CN104199869 A CN 104199869A
- Authority
- CN
- China
- Prior art keywords
- batch processing
- server
- service
- processing services
- database administration
- 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
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating 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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种业务批处理方法、业务服务器以及系统,其中所述业务批处理方法包括:集群服务器中的业务服务器获取数据库管理服务器发送的批处理业务的当前步骤标识;向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁;更新当前步骤标识,并执行经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果;根据执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识。采用本发明实施例,可由集群部署的多台业务服务器通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种业务批处理方法、业务服务器以及系统。
背景技术
批处理就是对某对象进行批量的处理,例如,通过风控强平批处理对大量账户交易数据进行个人账户的保证金重估,通过清算批处理进行交易清算,等等,批处理一般包括多个执行步骤,现有的业务批处理需要业务人员启动针对该业务的批处理,一个业务服务器执行该业务批处理的一个步骤后,需要业务人员启动下一个步骤,该业务服务器进一步执行业务人员启动的下一个步骤,工作效率较低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种业务批处理方法、业务服务器以及系统,可提升工作效率。
为了解决上述技术问题,本发明实施例提供了一种业务批处理方法,包括:
集群服务器中的业务服务器获取数据库管理服务器发送的批处理业务的当前步骤标识;
所述集群服务器中的业务服务器向所述数据库管理服务器发送加锁请求,以使所述数据库管理服务器根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
所述业务服务器更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;
所述业务服务器根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,所述数据库管理服务器释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
相应地,本发明实施例还提供了一种业务服务器,包括:
步骤标识获取单元,用于获取数据库管理服务器发送的批处理业务的当前步骤标识;
加锁请求发送单元,用于向所述数据库管理服务器发送加锁请求,以使所述数据库管理服务器根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
执行结果获取单元,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;
通知单元,用于根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,所述数据库管理服务器释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
相应地,本发明实施例还提供了一种业务批处理系统,包括业务服务器和数据库管理服务器,其中:
所述业务服务器,用于获取所述数据库管理服务器发送的批处理业务的当前步骤标识,向所述数据库管理服务器发送加锁请求;
所述数据库管理服务器,用于根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
所述业务服务器,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识;
所述数据库管理服务器,用于更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
实施本发明实施例,具有如下有益效果:业务服务器获取批处理业务的当前步骤标识,向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,则首个加锁请求对应的业务服务器更新当前步骤标识,并执行经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向集群服务器中的业务服务器发送经过更新的步骤标识,针对现有技术中由一个业务服务器执行批处理业务,本发明实施例可由集群部署的多个业务服务器通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中第一方面提供的一种业务批处理方法的流程示意图;
图2是本发明实施例中第二方面提供的一种业务批处理方法的流程示意图;
图3是本发明实施例中第三方面提供的一种业务批处理方法的流程示意图;
图4是本发明实施例中提供的一种业务服务器的结构示意图;
图5是本发明实施例中图4的通知单元的结构示意图;
图6是本发明实施例中提供的一种业务批处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的业务批处理方法可以在集群服务器的业务服务器中通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,业务批处理系统以BIP(Business Integration Platform,业务集成平台)作为底层开发及运行平台,AA(Application Adapter,应用适配器)是为BIP运行框架提供业务逻辑处理的功能部件,通过开发不同业务处理功能的业务逻辑插件实现业务集成,业务批处理系统为各个批处理业务分别配置一个AA,可利用BIP提供的AA自动实现业务的批处理,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
请参见图1,图1是本发明实施例中第一方面提供的一种业务批处理方法的流程示意图,如图所示本实施例中的业务批处理方法可以包括:
步骤S101,获取数据库管理服务器发送的批处理业务的当前步骤标识。
集群服务器中的业务服务器可以获取数据库管理服务器发送的批处理业务的当前步骤标识。
具体的,业务服务器可以以集群的方式进行部署,则集群服务器可以包括多个业务服务器,集群服务器中的多个业务服务器可以获取数据库管理服务器发送的批处理业务的当前步骤标识,例如,BIP可提供基于AA的批处理业务定时调度机制,即到达预设时间阈值时,集群服务器中的业务服务器可以启动该批处理业务的批处理进程,向数据库管理服务器发送针对该批处理业务的最新步骤标识的获取请求,则数据库管理服务器可以根据该获取请求向集群服务器中的业务服务器发送批处理业务的当前步骤标识“0”。批处理业务可以包括清算、风控强平或者产生会计报表等业务,其中批处理业务可以包括多个业务步骤。
步骤S102,向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁。
集群服务器中的业务服务器获取到批处理业务的当前步骤标识后,可以向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,其中排它锁用于防止首个加锁请求对应的业务服务器以外的其他业务服务器对当前步骤标识进行更新。
例如,批处理业务可以是部署在集群服务器的业务服务器中的定时业务,批处理业务作为一个批处理进程,可以由BIP定时调度,集群服务器中的多个业务服务器定时响应该批处理业务,执行同样的程序,集群服务器中的多个业务服务器在执行程序的过程中存在时间差,则集群服务器中的多个业务服务器可以通过争抢模式向数据库管理服务器发送加锁请求,数据库管理服务器可以基于先到先执行的调度机制,根据首个加锁请求将批处理业务加上排它锁,即最先发送加锁请求的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。
本发明实施例中的多个服务器可以通过争抢模式执行批处理业务的业务步骤,业务服务器负载均衡。
步骤S103,更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果。
集群服务器中的业务服务器向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁后,首个加锁请求对应的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取该业务步骤的执行结果,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。例如,批处理业务的运行状态是初始状态时,运行状态中的当前步骤标识可以为“0”,则首个加锁请求对应的业务服务器可以将当前步骤标识更新为“1”,执行批处理业务中经过更新的步骤标识“1”对应的业务步骤,即第一业务步骤,并获取第一业务步骤的执行结果。需要指出的是,步骤标识可以为阿拉伯数字“0”、“1”以及“2”等标识,可选的,步骤标识还可以为英文字母“a”、“b”以及“c”等标识,本发明不做具体限定。
步骤S104,根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向业务服务器发送经过更新的步骤标识。
首个加锁请求对应的业务服务器执行了经过更新的步骤标识对应的业务步骤后,可以根据该业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,例如运行状态中的当前步骤标识为“0”,则首个加锁请求对应的业务服务器可以将当前步骤标识更新为“1”,针对该业务步骤的数据库事务执行完毕后,若该业务步骤的执行结果是执行成功结果,则业务服务器可以根据该业务步骤的执行结果通知数据库管理服务器将批处理业务的运行状态更新为执行成功状态,包括更新运行状态中的当前步骤标识,即将当前步骤标识更新为“1”,数据库管理服务器还可以在针对该业务步骤的数据库事务提交后释放排它锁,另外,处于等待状态的业务服务器可以向数据库管理服务器发送当前步骤标识更新请求,并接收数据库管理服务器返回的步骤标识更新失败信息,则处于等待状态的业务服务器放弃针对该业务步骤的争抢,即针对该业务步骤的争抢执行流程结束,进一步的,集群服务器中的多个业务服务器可以向数据库管理服务器发送针对最新步骤标识的获取请求,则数据库管理服务器可以根据获取请求向集群服务器中的多个业务服务器发送经过更新的步骤标识,则集群服务器中的多个业务服务器可以将经过更新的步骤标识作为当前步骤标识,并进一步执行上述步骤,即集群服务器中的多个业务服务器获取数据库管理服务器发送的当前步骤标识后,向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,则首个加锁请求对应的业务服务器更新所述当前步骤标识,并执行批处理业务中经过更新的当前步骤标识对应的业务步骤以获取业务步骤的执行结果,首个加锁请求对应的业务服务器根据该业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的步骤标识,数据库管理服务器释放排它锁并向业务服务器发送经过更新的步骤标识。
在图1所示的业务批处理方法中,集群服务器中的业务服务器通过争抢模式向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,首个加锁请求对应的业务服务器更新数据库管理服务器发送的批处理业务的当前步骤标识,并执行经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,该业务服务器根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向集群服务器中的业务服务器发送经过更新的步骤标识,集群服务器中的业务服务器可通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
请参见图2,图2是本发明实施例中第二方面提供的一种业务批处理方法的流程示意图,如图所示本实施例中的业务批处理方法可以包括:
步骤S201,获取数据库管理服务器发送的批处理业务的运行状态。
具体的,集群服务器中的多个业务服务器可以获取数据库管理服务器发送的批处理业务的运行状态,其中批处理业务的运行状态可以包括初始状态、执行成功状态、失败状态、继续执行状态或者结束状态,初始状态即批处理业务开始启动,并且批处理业务中的所有业务步骤都还没有执行;执行成功状态用于指示当前步骤标识对应的业务步骤执行成功;失败状态用于指示当前步骤标识对应的业务步骤执行失败;继续执行状态用于指示当前步骤标识对应的业务步骤执行失败的原因得以解决,继续执行当前步骤标识对应的业务步骤;结束状态用于指示批处理业务的所有业务步骤已成功执行。
步骤S202,判断批处理业务的运行状态是否是失败状态。
集群服务器中的业务服务器获取到批处理业务的运行状态后,可以判断批处理业务的运行状态是否是失败状态,若批处理业务的运行状态是失败状态,则集群服务器中的业务服务器可以经过预设间隔时间后,进一步执行步骤S201;若批处理业务的运行状态不是失败状态,则集群服务器中的业务服务器可以进一步执行步骤S203。
例如,业务服务器执行批处理业务的业务步骤时因非系统原因报错,示例性的,非系统原因可以为业务服务器执行批处理业务的业务步骤时,实现该业务步骤的步骤逻辑所需的数据来源异常,业务服务器可以向数据库管理服务器发送执行失败结果,以使数据库管理服务器将业务服务器执行的所述业务步骤进行回滚,所述数据库管理服务器释放所述排它锁并根据执行失败结果将运行状态更新为失败状态,则集群服务器中的业务服务器判断批处理业务的运行状态是失败状态,可以经过预设间隔时间后,进一步执行步骤S201,当维护人员发现针对该非系统原因的报错信息并解决针对该报错信息的问题后,维护人员可以通过业务管理平台将该批处理业务的运行状态更新为继续执行状态,进而业务服务器向数据库管理服务器发送状态更新请求,数据库管理服务器可以根据该状态更新请求将运行状态更新为继续执行状态,则集群服务器中的业务服务器判断批处理业务的运行状态不是失败状态,进一步执行步骤S203。
本实施例通过监控批处理业务的运行状态,可实现批处理业务报错修复后迅速执行,时延小,并提升工作效率。
步骤S203,判断批处理业务的运行状态是否是结束状态。
集群服务器中的业务服务器确定批处理业务的运行状态不是失败状态后,还可以判断批处理业务的运行状态是否是结束状态,若批处理业务的运行状态是结束状态,则表示批处理业务的所有业务步骤已成功执行,该批处理业务的批量处理流程结束;若批处理业务的运行状态不是结束状态,则进一步执行步骤S204。
步骤S204,获取数据库管理服务器发送的批处理业务的当前步骤标识。
集群服务器中的业务服务器确定批处理的业务不是失败状态,并且不是结束状态时,可以获取数据库管理服务器发送的批处理业务的当前步骤标识。例如,集群服务器中的多个业务服务器可以向数据库管理服务器发送针对该批处理业务的当前步骤标识的获取请求,则数据库管理服务器可以根据该获取请求向集群服务器中的业务服务器发送批处理业务的当前步骤标识。
步骤S205,向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁。
集群服务器中的业务服务器获取到批处理业务的当前步骤标识后,可以向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,其中排它锁用于防止首个加锁请求对应的业务服务器以外的其他业务服务器对当前步骤标识进行更新,例如,集群服务器中的多个业务服务器可以通过争抢模式向数据库管理服务器发送加锁请求,数据库管理服务器可以基于先到先执行的调度机制,根据首个加锁请求将批处理业务加上排它锁,即最先发送加锁请求的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,集群服务器中的其他服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。
本发明实施例中的多个服务器可以通过争抢模式执行批处理业务的业务步骤,业务服务器负载均衡。
步骤S206,更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果。
集群服务器中的业务服务器向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁后,首个加锁请求对应的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。例如,批处理业务的运行状态是初始状态时,运行状态中的当前步骤标识可以为“0”,则业务服务器可以将当前步骤标识更新为“1”,并执行批处理业务中经过更新的步骤标识“1”对应的业务步骤,即第一业务步骤,并获取第一业务步骤的执行结果。需要指出的是,步骤标识可以为阿拉伯数字“0”、“1”以及“2”等标识,可选的,步骤标识还可以为英文字母“a”、“b”以及“c”等标识,本发明不做具体限定。
步骤S207,根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向业务服务器发送经过更新的步骤标识。
首个加锁请求对应的业务服务器执行了经过更新的步骤标识对应的业务步骤后,可以根据该业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向业务服务器发送经过更新的步骤标识。
例如,若业务服务器执行该业务步骤而获取到的执行结果为执行成功结果,针对该业务步骤的数据库事务执行完毕,则业务服务器可以判断业务步骤是否是批处理业务的最终业务步骤,若业务步骤是批处理业务的最终业务步骤,则业务服务器可以根据执行成功结果通知数据库管理服务器将运行状态更新为结束状态;若业务步骤不是批处理业务的最终业务步骤,则业务服务器可以根据执行成功结果通知数据库管理服务器将运行状态更新为执行成功状态,数据库管理服务器还可以更新运行状态中的当前步骤标识,例如运行状态中的当前步骤标识为“0”,则数据库管理服务器可以将当前步骤标识更新为“1”,数据库管理服务器还可以在针对该业务步骤的数据库事务提交后释放排它锁,处于等待状态的业务服务器可以向数据库管理服务器发送当前步骤标识更新请求时,并接收数据库管理服务器返回的步骤标识更新失败信息,则处于等待状态的业务服务器放弃针对该业务步骤的争抢,即针对该业务步骤的争抢执行流程结束,集群服务器中的多个业务服务器可以向数据库管理服务器发送针对最新步骤标识的获取请求,则数据库管理服务器可以向集群服务器中的多个业务服务器发送经过更新的步骤标识,则集群服务器中的多个业务服务器可以将经过更新的步骤标识作为当前步骤标识,并进一步执行上述步骤,即集群服务器中的多个业务服务器获取数据库管理服务器发送的当前步骤标识,并向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,则首个加锁请求对应的业务服务器更新所述当前步骤标识,并执行批处理业务中经过更新的当前步骤标识对应的业务步骤以获取业务步骤的执行结果,首个加锁请求对应的业务服务器根据该业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的步骤标识,数据库管理服务器释放排它锁并向业务服务器发送经过更新的步骤标识。
在图2所示的业务批处理方法中,集群服务器中的业务服务器确定批处理业务的运行状态不是失败状态,并且不是结束状态时,获取批处理业务的当前步骤标识,并通过争抢模式向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,首个加锁请求对应的业务服务器更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,该业务服务器根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向集群服务器中的业务服务器发送经过更新的步骤标识,集群服务器中的业务服务器可通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
请参见图3,图3是本发明实施例中第三方面提供的一种业务批处理方法的流程示意图,如图所示本实施例中的业务批处理方法可以包括:
步骤S301,集群服务器中的业务服务器获取数据库管理服务器发送的批处理业务的当前步骤标识。
集群服务器中的业务服务器可以获取数据库管理服务器发送的批处理业务的当前步骤标识。
例如,BIP可提供基于AA的批处理业务定时调度机制,即到达预设时间阈值时,集群服务器中的多个业务服务器可以启动该批处理业务的批处理进程,向数据库管理服务器发送针对该批处理业务的最新步骤标识的获取请求,则数据库管理服务器可以根据该获取请求向集群服务器中的多个业务服务器发送批处理业务的当前步骤标识“0”,批处理业务可以包括清算、风控强平或者产生会计报表等业务,其中批处理业务可以包括多个业务步骤。
步骤S302,集群服务器中的业务服务器向数据库管理服务器发送针对批处理业务的加锁请求。
集群服务器中的业务服务器接收到批处理业务的当前步骤标识后,可以向数据库管理服务器发送针对该批处理业务的加锁请求。例如,集群服务器中的多个业务服务器在执行程序的过程中存在时间差,则集群服务器中的多个业务服务器可以通过争抢模式向数据库管理服务器发送加锁请求。
步骤S303,数据库管理服务器根据首个加锁请求将批处理业务加上排它锁。
数据库管理服务器接收到集群服务器中的业务服务器发送的加锁请求后,可以基于先到先执行的调度机制,根据首个加锁请求将批处理业务加上排它锁,其中排它锁用于防止首个加锁请求对应的业务服务器以外的其他业务服务器对当前步骤标识进行更新,即最先发送加锁请求的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。
步骤S304,业务服务器更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果。
首个加锁请求对应的业务服务器可以更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。例如,批处理业务的运行状态是初始状态时,运行状态中的当前步骤标识可以为“0”,则首个加锁请求对应的业务服务器可以将当前步骤标识更新为“1”,并执行批处理业务中经过更新的步骤标识“1”对应的业务步骤,即第一业务步骤,并获取第一业务步骤的执行结果。需要指出的是,步骤标识可以为阿拉伯数字“0”、“1”以及“2”等标识,可选的,步骤标识还可以为英文字母“a”、“b”以及“c”等标识,本发明不做具体限定。
步骤S305,业务服务器根据业务步骤的执行结果通知数据库管理服务器将业务服务器执行的业务步骤进行回滚。
若该业务服务器执行该业务步骤时因数据来源异常等导致非系统原因报错或者因故障等导致系统原因报错,则执行结果为执行失败结果,则首个加锁请求对应的业务服务器可以根据业务步骤的执行失败结果通知数据库管理服务器将业务服务器执行的业务步骤进行回滚。
例如,业务服务器执行该业务步骤时因数据来源异常等导致非系统原因报错,首个加锁请求对应的业务服务器可以根据业务步骤的执行失败结果通知数据库管理服务器将批处理业务的运行状态更新为失败状态,数据库管理服务器可以将业务服务器执行的业务步骤进行回滚,即将数据库数据恢复为执行该业务步骤之前的状态,其中数据库管理服务器将业务服务器执行的业务步骤进行回滚之后,数据库管理服务器中该批处理业务的最新步骤标识为当前步骤标识,该批处理业务的运行状态为失败状态。
业务服务器执行该业务步骤时因故障等导致系统原因报错,针对该业务步骤的数据库事务执行中断,首个加锁请求对应的业务服务器可以根据业务步骤的执行失败结果通知数据库管理服务器将批处理业务服务器执行的业务步骤进行回滚,即将数据库数据恢复为执行该业务步骤之前的状态,其中数据库管理服务器将业务服务器执行的业务步骤进行回滚之后,数据库管理服务器中该批处理业务的最新步骤标识为当前步骤标识,该批处理业务的运行状态为执行该业务步骤之前的运行状态。
步骤S306,数据库管理服务器释放排它锁。
数据库管理服务器将该业务服务器执行的业务步骤进行回滚之后,还可以释放针对该批处理业务的排它锁。
在可选实施例中,若业务服务器因故障等导致系统原因报错,则数据库管理服务器释放排它锁后,处于等待状态的其他业务服务器可以向数据库管理服务器发送加锁请求,则数据库管理服务器可以根据首个加锁请求将批处理业务加上排它锁,首个加锁请求对应的业务服务器更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,该业务服务器根据执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识。针对现有技术中正在执行业务步骤的业务服务器发生系统故障的情况下,需要维护人员进行业务服务器的人工切换,若维护人员发现并解决问题不及时,将影响系统稳定性,甚至导致系统瘫痪,本发明实施例可当正在执行业务步骤的业务服务器发生系统故障时,集群服务器中的其他业务服务器通过争抢模式自动实现该业务步骤的处理,可实现业务服务器的自动切换,提升系统的可靠性和稳定性。
在另一可选实施例中,若业务服务器因数据来源异常等导致非系统原因报错,则数据库管理服务器释放排它锁并将运行状态更新为失败状态,当维护人员发现针对该非系统原因的报错信息并解决针对该报错信息的问题后,维护人员可以通过业务管理平台将该批处理业务的运行状态更新为继续执行状态,进而业务服务器向数据库管理服务器发送状态更新请求,数据库管理服务器可以根据该状态更新请求将运行状态更新为继续执行状态,则数据库管理服务器中的所有业务服务器开始对当前步骤标识对应的业务步骤进行争抢,即向数据库管理服务器发送加锁请求,则数据库管理服务器可以基于先到先执行的调度机制,根据首个加锁请求将批处理业务加上排它锁,首个加锁请求对应的业务服务器更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,该业务服务器根据执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识。
在图3所示的业务批处理方法中,首个加锁请求对应的业务服务器更新数据库管理服务器发送的批处理业务的当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,业务服务器将业务步骤根据执行失败结果通知数据库管理服务器将批处理业务的运行状态更新为失败状态,以使数据库管理服务器将业务服务器执行的业务步骤进行回滚,数据库管理服务器释放排它锁并向集群服务器中的业务服务器发送当前步骤标识,由集群服务器中的业务服务器通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,提高系统的稳定性,并提升工作效率。
请参见图4,图4是本发明实施例中提供的一种业务服务器400的结构示意图,如图所示本发明实施例中的业务服务器400至少可以包括步骤标识获取单元410、加锁请求发送单元420、执行结果获取单元430以及通知单元440,其中:
步骤标识获取单元410,用于获取数据库管理服务器发送的批处理业务的当前步骤标识。
加锁请求发送单元420,用于向所述数据库管理服务器发送加锁请求,以使所述数据库管理服务器根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新,集群服务器中的其他业务服务器因批处理业务加上了排它锁而无法更新当前步骤标识,处于等待状态。
执行结果获取单元430,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果。例如,批处理业务的运行状态是初始状态时,运行状态中的当前步骤标识可以为“0”,则执行结果获取单元430可以将当前步骤标识更新为“1”,执行批处理业务中经过更新的步骤标识“1”对应的业务步骤,即第一业务步骤,并获取第一业务步骤的执行结果。需要指出的是,步骤标识可以为阿拉伯数字“0”、“1”以及“2”等标识,可选的,步骤标识还可以为英文字母“a”、“b”以及“c”等标识,本发明不做具体限定。
通知单元440,用于根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,所述数据库管理服务器释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。例如,通知单元440根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,以使所述数据库管理服务器释放所述排它锁,处于等待状态的业务服务器发送当前步骤标识更新请求时,可以接收数据库管理服务器发送的步骤标识更新失败信息,则处于等待状态的业务服务器放弃针对该业务步骤的争抢,则针对该业务步骤的争抢执行流程结束,进一步的,集群服务器中的多个业务服务器可以向数据库管理服务器发送针对最新步骤标识的获取请求,则数据库管理服务器可以根据获取请求向集群服务器中的多个业务服务器发送经过更新的步骤标识。
其中,批处理业务的运行状态还可以包括初始状态、执行成功状态、失败状态、继续执行状态或者结束状态。
作为一种可选的实施方式,本发明实施例中的业务服务器400还可以包括:
运行状态获取单元450,用于获取所述数据库管理服务器发送的所述批处理业务的运行状态,若所述运行状态不是失败状态,并且所述运行状态不是结束状态,则触发所述步骤标识获取单元410获取所述数据库管理服务器发送的所述当前步骤标识。
进一步可选的,运行状态获取单元450,还用于若所述运行状态是失败状态,则经过预设间隔时间后,获取所述数据库管理服务器发送的所述批处理业务的运行状态。
作为一种可选的实施方式,执行结果包括执行成功结果,则本发明实施例中的通知单元440可以如图5所示,进一步包括:
判断模块510,用于判断所述业务步骤是否是所述批处理业务的最终业务步骤;
通知模块520,用于若所述业务步骤是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为结束状态;若所述业务步骤不是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为执行成功状态。
作为一种可选的实施方式,执行结果包括执行失败结果,则通知单元440,用于根据所述执行失败结果通知所述数据库管理服务器将所述执行结果获取单元430执行的业务步骤进行回滚。
在图4和图5所示的业务服务器中,步骤标识获取单元410获取数据库管理服务器发送的批处理业务的当前步骤标识,加锁请求发送单元420向数据库管理服务器发送加锁请求,以使数据库管理服务器根据首个加锁请求将批处理业务加上排它锁,执行结果获取单元430更新所述当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,通知单元440根据业务步骤的执行结果通知数据库管理服务器更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,数据库管理服务器释放排它锁并向集群服务器中的业务服务器发送经过更新的步骤标识,可通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
请参见图6,图6是本发明实施例中提供的一种业务批处理系统600的结构示意图,如图所示本发明实施例中的业务批处理系统600至少可以包括业务服务器610和数据库管理服务器620,其中:
业务服务器610,用于获取数据库管理服务器620发送的批处理业务的当前步骤标识,并向数据库管理服务器620发送加锁请求。
数据库管理服务器620,用于根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器610以外的其他业务服务器对所述当前步骤标识进行更新。
业务服务器610,用于更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,根据所述业务步骤的执行结果通知数据库管理服务器620更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识。
数据库管理服务器620,用于更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,释放所述排它锁,并向业务服务器610发送经过更新的步骤标识。
其中,批处理业务的运行状态还可以包括初始状态、执行成功状态、失败状态、继续执行状态或者结束状态。
作为一种可选的实施方式,业务服务器610获取数据库管理服务器620发送的批处理业务的当前步骤标识之前,还可以获取数据库管理服务器620发送的所述批处理业务的运行状态,进一步的,若所述运行状态不是失败状态,并且所述运行状态不是结束状态,则触发业务服务器610获取数据库管理服务器620发送的所述当前步骤标识。
进一步可选的,若所述运行状态是失败状态,则经过预设间隔时间后,触发业务服务器610获取数据库管理服务器620发送的所述批处理业务的运行状态。
作为一种可选的实施方式,执行结果可以包括执行成功结果,则业务服务器610将所述执行结果发送给数据库管理服务器620;
进一步的,业务服务器610判断所述业务步骤是否是所述批处理业务的最终业务步骤,若所述业务步骤是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知数据库管理服务器620将所述运行状态更新为结束状态;若所述业务步骤不是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知数据库管理服务器620将所述运行状态更新为执行成功状态。
作为一种可选的实施方式,执行结果可以包括执行失败结果,则业务服务器610根据所述执行结果通知数据库管理服务器620更新所述批处理业务的运行状态具体为:
业务服务器610根据所述执行失败结果通知数据库管理服务器620将所述业务服务器610执行的业务步骤进行回滚。
在图6所示的业务批处理系统中,业务服务器610获取数据库管理服务器620发送的批处理业务的当前步骤标识,并向数据库管理服务器620发送加锁请求,数据库管理服务器620根据首个加锁请求将批处理业务加上排它锁,业务服务器610更新当前步骤标识,并执行批处理业务中经过更新的步骤标识对应的业务步骤以获取业务步骤的执行结果,根据业务步骤的执行结果通知数据库管理服务器620更新批处理业务的运行状态,包括更新运行状态中的当前步骤标识,释放所述排它锁,并向业务服务器610发送经过更新的步骤标识,可通过争抢模式对批处理业务中的各个业务步骤进行争抢并执行,以便于集群部署的多个业务服务器负载均衡,并提升工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
以上对本发明实施例所提供的业务批处理方法、业务服务器以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种业务批处理方法,其特征在于,所述方法包括:
集群服务器中的业务服务器获取数据库管理服务器发送的批处理业务的当前步骤标识;
所述集群服务器中的业务服务器向所述数据库管理服务器发送加锁请求,以使所述数据库管理服务器根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
所述业务服务器更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;
所述业务服务器根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,以使所述数据库管理服务器释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
2.如权利要求1所述的方法,其特征在于,所述批处理业务的运行状态还包括初始状态、执行成功状态、失败状态、继续执行状态或者结束状态。
3.如权利要求2所述的方法,其特征在于,所述集群服务器中的业务服务器获取数据库管理服务器发送的批处理业务的当前步骤标识之前,还包括:
所述集群服务器中的业务服务器获取所述数据库管理服务器发送的所述批处理业务的运行状态;
若所述运行状态不是失败状态,并且所述运行状态不是结束状态,则触发所述集群服务器中的业务服务器获取所述数据库管理服务器发送的所述当前步骤标识。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述运行状态是失败状态,则经过预设间隔时间后,触发所述集群服务器中的业务服务器获取所述数据库管理服务器发送的所述批处理业务的运行状态。
5.如权利要求3所述的方法,其特征在于,所述执行结果包括执行成功结果;
所述业务服务器根据所述执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态包括:
所述业务服务器判断所述业务步骤是否是所述批处理业务的最终业务步骤;
若所述业务步骤是所述批处理业务的最终业务步骤,则所述业务服务器根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为结束状态;若所述业务步骤不是所述批处理业务的最终业务步骤,则所述业务服务器根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为执行成功状态。
6.如权利要求3所述的方法,其特征在于,所述执行结果包括执行失败结果;
所述业务服务器根据所述执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态包括:
所述业务服务器根据所述执行失败结果通知所述数据库管理服务器将所述业务服务器执行的所述业务步骤进行回滚。
7.一种业务服务器,其特征在于,所述业务服务器包括:
步骤标识获取单元,用于获取数据库管理服务器发送的批处理业务的当前步骤标识;
加锁请求发送单元,用于向所述数据库管理服务器发送加锁请求,以使所述数据库管理服务器根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
执行结果获取单元,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;
通知单元,用于根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,以使所述数据库管理服务器释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
8.如权利要求7所述的业务服务器,其特征在于,所述批处理业务的运行状态还包括初始状态、执行成功状态、失败状态、继续执行状态或者结束状态。
9.如权利要求8所述的业务服务器,其特征在于,所述业务服务器还包括:
运行状态获取单元,用于获取所述数据库管理服务器发送的所述批处理业务的运行状态,若所述运行状态不是失败状态,并且所述运行状态不是结束状态,则触发所述步骤标识获取单元获取所述数据库管理服务器发送的所述当前步骤标识。
10.如权利要求9所述的业务服务器,其特征在于,
所述运行状态获取单元,还用于若所述运行状态是失败状态,则经过预设间隔时间后,获取所述数据库管理服务器发送的所述批处理业务的运行状态。
11.如权利要求9所述的业务服务器,其特征在于,所述执行结果包括执行成功结果;
所述通知单元包括:
判断模块,用于判断所述业务步骤是否是所述批处理业务的最终业务步骤;
通知模块,用于若所述业务步骤是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为结束状态;若所述业务步骤不是所述批处理业务的最终业务步骤,则根据所述执行成功结果通知所述数据库管理服务器将所述运行状态更新为执行成功状态。
12.如权利要求9所述的业务服务器,其特征在于,所述执行结果包括执行失败结果;
所述通知单元,用于根据所述执行失败结果通知所述数据库管理服务器将所述执行结果获取单元执行的业务步骤进行回滚。
13.一种业务批处理系统,其特征在于,所述业务批处理系统包括数据库管理服务器和如权利要求7~12所述的业务服务器,其中:
所述业务服务器,用于获取所述数据库管理服务器发送的批处理业务的当前步骤标识,向所述数据库管理服务器发送加锁请求;
所述数据库管理服务器,用于根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
所述业务服务器,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识;
所述数据库管理服务器,用于更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410406566.4A CN104199869B (zh) | 2014-08-18 | 2014-08-18 | 一种业务批处理方法、业务服务器以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410406566.4A CN104199869B (zh) | 2014-08-18 | 2014-08-18 | 一种业务批处理方法、业务服务器以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199869A true CN104199869A (zh) | 2014-12-10 |
CN104199869B CN104199869B (zh) | 2017-10-10 |
Family
ID=52085162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410406566.4A Active CN104199869B (zh) | 2014-08-18 | 2014-08-18 | 一种业务批处理方法、业务服务器以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199869B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446807A (zh) * | 2015-11-10 | 2016-03-30 | 中国建设银行股份有限公司 | 批处理方法及装置 |
CN106330987A (zh) * | 2015-06-15 | 2017-01-11 | 交通银行股份有限公司 | 动态负荷均衡方法 |
CN106503001A (zh) * | 2015-09-03 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 分布式集群环境中的数据更新方法及装置 |
CN107870814A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于内容管理批处理的方法和设备 |
CN109460303A (zh) * | 2018-09-11 | 2019-03-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置、一种计算设备及存储介质 |
CN109542922A (zh) * | 2018-11-29 | 2019-03-29 | 泰康保险集团股份有限公司 | 针对实时服务数据的处理方法及相关系统 |
CN109828834A (zh) * | 2018-12-14 | 2019-05-31 | 泰康保险集团股份有限公司 | 批处理的方法与系统、及其计算器可读介值与电子设备 |
CN110263048A (zh) * | 2019-05-05 | 2019-09-20 | 平安科技(深圳)有限公司 | 大批量数据处理方法、装置、计算机设备及存储介质 |
CN110381124A (zh) * | 2019-06-28 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种锁资源的申请方法及装置 |
CN113495784A (zh) * | 2021-07-27 | 2021-10-12 | 中国银行股份有限公司 | 数据批处理的方法和装置 |
CN113840011A (zh) * | 2021-10-11 | 2021-12-24 | 南方电网数字电网研究院有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158549A1 (en) * | 2003-02-07 | 2004-08-12 | Vladimir Matena | Method and apparatus for online transaction processing |
US20080276239A1 (en) * | 2007-05-03 | 2008-11-06 | International Business Machines Corporation | Recovery and restart of a batch application |
CN101710411A (zh) * | 2009-12-01 | 2010-05-19 | 中国建设银行股份有限公司 | 一种实时任务处理方法及其设备 |
CN101902357A (zh) * | 2010-06-29 | 2010-12-01 | 中兴通讯股份有限公司 | 对业务服务器进行调度的方法和系统 |
US20130018861A1 (en) * | 2011-07-11 | 2013-01-17 | Oracle International Corporation | Dual locking mechanism for a domain |
CN102929585A (zh) * | 2012-09-25 | 2013-02-13 | 上海证券交易所 | 一种支持多主机分布式数据处理的批处理方法及系统 |
-
2014
- 2014-08-18 CN CN201410406566.4A patent/CN104199869B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158549A1 (en) * | 2003-02-07 | 2004-08-12 | Vladimir Matena | Method and apparatus for online transaction processing |
US20080276239A1 (en) * | 2007-05-03 | 2008-11-06 | International Business Machines Corporation | Recovery and restart of a batch application |
CN101710411A (zh) * | 2009-12-01 | 2010-05-19 | 中国建设银行股份有限公司 | 一种实时任务处理方法及其设备 |
CN101902357A (zh) * | 2010-06-29 | 2010-12-01 | 中兴通讯股份有限公司 | 对业务服务器进行调度的方法和系统 |
US20130018861A1 (en) * | 2011-07-11 | 2013-01-17 | Oracle International Corporation | Dual locking mechanism for a domain |
CN102929585A (zh) * | 2012-09-25 | 2013-02-13 | 上海证券交易所 | 一种支持多主机分布式数据处理的批处理方法及系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330987A (zh) * | 2015-06-15 | 2017-01-11 | 交通银行股份有限公司 | 动态负荷均衡方法 |
CN106503001A (zh) * | 2015-09-03 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 分布式集群环境中的数据更新方法及装置 |
CN106503001B (zh) * | 2015-09-03 | 2019-11-12 | 菜鸟智能物流控股有限公司 | 分布式集群环境中的数据更新方法及装置 |
CN105446807B (zh) * | 2015-11-10 | 2018-10-19 | 中国建设银行股份有限公司 | 批处理方法及装置 |
CN105446807A (zh) * | 2015-11-10 | 2016-03-30 | 中国建设银行股份有限公司 | 批处理方法及装置 |
CN107870814B (zh) * | 2016-09-23 | 2022-02-22 | 伊姆西Ip控股有限责任公司 | 用于内容管理批处理的方法和设备 |
CN107870814A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于内容管理批处理的方法和设备 |
CN109460303A (zh) * | 2018-09-11 | 2019-03-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置、一种计算设备及存储介质 |
CN109460303B (zh) * | 2018-09-11 | 2022-03-15 | 创新先进技术有限公司 | 一种数据处理方法及装置、一种计算设备及存储介质 |
CN109542922A (zh) * | 2018-11-29 | 2019-03-29 | 泰康保险集团股份有限公司 | 针对实时服务数据的处理方法及相关系统 |
CN109828834A (zh) * | 2018-12-14 | 2019-05-31 | 泰康保险集团股份有限公司 | 批处理的方法与系统、及其计算器可读介值与电子设备 |
CN110263048A (zh) * | 2019-05-05 | 2019-09-20 | 平安科技(深圳)有限公司 | 大批量数据处理方法、装置、计算机设备及存储介质 |
CN110263048B (zh) * | 2019-05-05 | 2024-05-10 | 平安科技(深圳)有限公司 | 大批量数据处理方法、装置、计算机设备及存储介质 |
CN110381124A (zh) * | 2019-06-28 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种锁资源的申请方法及装置 |
CN113495784A (zh) * | 2021-07-27 | 2021-10-12 | 中国银行股份有限公司 | 数据批处理的方法和装置 |
CN113495784B (zh) * | 2021-07-27 | 2024-03-19 | 中国银行股份有限公司 | 数据批处理的方法和装置 |
CN113840011A (zh) * | 2021-10-11 | 2021-12-24 | 南方电网数字电网研究院有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104199869B (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199869A (zh) | 一种业务批处理方法、业务服务器以及系统 | |
CN100407638C (zh) | 一种软件升级及回退方法 | |
CN100421071C (zh) | 用于远程设备系统软件的升级方法 | |
CN102236764B (zh) | 用于Android系统的抵御桌面信息攻击的方法和监控系统 | |
CN111209110B (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN107040590A (zh) | 一种新型充电桩的远程升级方法 | |
US7730029B2 (en) | System and method of fault tolerant reconciliation for control card redundancy | |
CN109947585A (zh) | Pcie设备故障的处理方法及装置 | |
CN101442688A (zh) | 智能网平台的升级方法和系统、控制器和智能网平台设备 | |
CN111949292B (zh) | 一种热补丁装载方法、装置、电子设备及存储介质 | |
CN103778026A (zh) | 对象调用方法和装置 | |
CN100576805C (zh) | 对象补救系统及方法 | |
CN109005061A (zh) | 参数管理方法、装置及存储介质 | |
CN106713507A (zh) | 一种批量云终端设备的管理方法及管理系统 | |
CN107870777A (zh) | 一种热补丁实现方法及装置、终端 | |
CN104133714B (zh) | 第三方模块软件在线管理的方法 | |
CN105589718A (zh) | 智能设备的系统更新方法与更新装置 | |
CN107229977A (zh) | 一种主机安全基线自动加固方法及系统 | |
CN102487391B (zh) | 远程控制版本升级的方法及系统 | |
CN109995554A (zh) | 多级数据中心主备切换的控制方法及云调度指挥器 | |
CN113746676B (zh) | 基于容器集群的网卡管理方法、装置、设备、介质及产品 | |
CN104866403A (zh) | 分布式任务处理系统及方法 | |
CN111682971A (zh) | 一种物流系统资源自动化管理方法 | |
CN114123457A (zh) | 一种供电方法、装置及设备 | |
CN102651877B (zh) | 一种多模设备数据管理方法及多模设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |