CN104199869B - 一种业务批处理方法、业务服务器以及系统 - Google Patents

一种业务批处理方法、业务服务器以及系统 Download PDF

Info

Publication number
CN104199869B
CN104199869B CN201410406566.4A CN201410406566A CN104199869B CN 104199869 B CN104199869 B CN 104199869B CN 201410406566 A CN201410406566 A CN 201410406566A CN 104199869 B CN104199869 B CN 104199869B
Authority
CN
China
Prior art keywords
server
batch processing
business
processing services
running status
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.)
Active
Application number
CN201410406566.4A
Other languages
English (en)
Other versions
CN104199869A (zh
Inventor
杨琳
潘国慧
李伟
张康
吴金桥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201410406566.4A priority Critical patent/CN104199869B/zh
Publication of CN104199869A publication Critical patent/CN104199869A/zh
Application granted granted Critical
Publication of CN104199869B publication Critical patent/CN104199869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • G06F16/2386Bulk updating operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer 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(BusinessIntegration Platform,业务集成平台)作为底层开发及运行平台,AA(ApplicationAdapter,应用适配器)是为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 AccessMemory,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所述的业务服务器,其中:
所述业务服务器,用于根据批处理业务定时调度机制,当达到预设时间阈值时,所述业务服务器启动批处理业务的批处理进程,获取所述数据库管理服务器发送的批处理业务的当前步骤标识,通过争抢模式向所述数据库管理服务器发送加锁请求;
所述数据库管理服务器,用于根据首个加锁请求将所述批处理业务加上排它锁,所述排它锁用于防止所述首个加锁请求对应的业务服务器以外的其他业务服务器对所述当前步骤标识进行更新;
所述业务服务器,用于更新所述当前步骤标识,并执行所述批处理业务中所述经过更新的步骤标识对应的业务步骤以获取所述业务步骤的执行结果;根据所述业务步骤的执行结果通知所述数据库管理服务器更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识;
所述数据库管理服务器,用于更新所述批处理业务的运行状态,包括更新所述运行状态中的所述当前步骤标识,释放所述排它锁并向集群服务器中的业务服务器发送所述经过更新的步骤标识。
CN201410406566.4A 2014-08-18 2014-08-18 一种业务批处理方法、业务服务器以及系统 Active CN104199869B (zh)

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 CN104199869A (zh) 2014-12-10
CN104199869B true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330987A (zh) * 2015-06-15 2017-01-11 交通银行股份有限公司 动态负荷均衡方法
CN106503001B (zh) * 2015-09-03 2019-11-12 菜鸟智能物流控股有限公司 分布式集群环境中的数据更新方法及装置
CN105446807B (zh) * 2015-11-10 2018-10-19 中国建设银行股份有限公司 批处理方法及装置
CN107870814B (zh) * 2016-09-23 2022-02-22 伊姆西Ip控股有限责任公司 用于内容管理批处理的方法和设备
CN109460303B (zh) * 2018-09-11 2022-03-15 创新先进技术有限公司 一种数据处理方法及装置、一种计算设备及存储介质
CN109542922B (zh) * 2018-11-29 2023-04-07 泰康保险集团股份有限公司 针对实时服务数据的处理方法及相关系统
CN109828834A (zh) * 2018-12-14 2019-05-31 泰康保险集团股份有限公司 批处理的方法与系统、及其计算器可读介值与电子设备
CN110263048B (zh) * 2019-05-05 2024-05-10 平安科技(深圳)有限公司 大批量数据处理方法、装置、计算机设备及存储介质
CN110381124B (zh) * 2019-06-28 2022-03-25 苏州浪潮智能科技有限公司 一种锁资源的申请方法及装置
CN113495784B (zh) * 2021-07-27 2024-03-19 中国银行股份有限公司 数据批处理的方法和装置
CN113840011A (zh) * 2021-10-11 2021-12-24 南方电网数字电网研究院有限公司 数据同步方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710411A (zh) * 2009-12-01 2010-05-19 中国建设银行股份有限公司 一种实时任务处理方法及其设备
CN101902357A (zh) * 2010-06-29 2010-12-01 中兴通讯股份有限公司 对业务服务器进行调度的方法和系统
CN102929585A (zh) * 2012-09-25 2013-02-13 上海证券交易所 一种支持多主机分布式数据处理的批处理方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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
US7895474B2 (en) * 2007-05-03 2011-02-22 International Business Machines Corporation Recovery and restart of a batch application
US9218386B2 (en) * 2011-07-11 2015-12-22 Oracle International Corporation Dual locking mechanism for a domain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710411A (zh) * 2009-12-01 2010-05-19 中国建设银行股份有限公司 一种实时任务处理方法及其设备
CN101902357A (zh) * 2010-06-29 2010-12-01 中兴通讯股份有限公司 对业务服务器进行调度的方法和系统
CN102929585A (zh) * 2012-09-25 2013-02-13 上海证券交易所 一种支持多主机分布式数据处理的批处理方法及系统

Also Published As

Publication number Publication date
CN104199869A (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
CN104199869B (zh) 一种业务批处理方法、业务服务器以及系统
CN109240765A (zh) 服务资源的熔断方法、装置、设备及计算机可读存储介质
CN110213371A (zh) 消息消费方法、装置、设备及计算机存储介质
CN111901422B (zh) 一种集群中节点的管理方法、系统及装置
EP3400528B1 (en) Deferred server recovery in computing systems
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
US20080141283A1 (en) Application Controlling Apparatus And Storage Medium Which Stores Software For The Apparatus
CN107239383A (zh) 一种OpenStack虚拟机的故障监控方法及装置
CN111209110B (zh) 一种实现负载均衡的任务调度管理方法、系统和存储介质
CN109525434B (zh) 一种基于机载设备板卡的冗余备份方法
CN109714409A (zh) 一种消息的管理方法和系统
CN114327804B (zh) 基于区块链的分布式事务处理方法、装置、设备和介质
CN107463390B (zh) 一种软件升级方法及升级服务器
EP4060514A1 (en) Distributed database system and data disaster backup drilling method
JP2006285443A (ja) オブジェクト救済システム及び方法
US20180024898A1 (en) Fault monitoring device, virtual network system, and fault monitoring method
CN115712521A (zh) 一种集群节点故障处理方法、系统及介质
CN110209497A (zh) 一种主机资源动态扩缩容的方法及系统
CN106844151A (zh) 一种VxWorks系统的网络任务异常检测方法
CN103716186B (zh) 具有网络故障容错能力的人工话务系统及其方法
CN105487847B (zh) 一种功能发布方法和设备
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers
CN111857689A (zh) 一种框架、框架的功能配置方法、终端及存储介质
CN113515403B (zh) 微服务状态检查方法、计算机设备及存储介质
CN111597037B (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