CN107657530A - 一种业务流程的处理方法及系统 - Google Patents
一种业务流程的处理方法及系统 Download PDFInfo
- Publication number
- CN107657530A CN107657530A CN201611218389.2A CN201611218389A CN107657530A CN 107657530 A CN107657530 A CN 107657530A CN 201611218389 A CN201611218389 A CN 201611218389A CN 107657530 A CN107657530 A CN 107657530A
- Authority
- CN
- China
- Prior art keywords
- server
- event
- state machine
- server event
- thread
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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/466—Transaction 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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/2393—Updating materialised views
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
-
- 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/5061—Partitioning or combining of resources
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/045—Payment circuits using payment protocols involving tickets
- G06Q20/0457—Payment circuits using payment protocols involving tickets the tickets being sent electronically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- 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
-
- 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/14—Session management
-
- 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/2866—Architectures; Arrangements
-
- 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/55—Push-based network services
-
- 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/562—Brokering proxy services
-
- 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
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Human Resources & Organizations (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种业务流程的处理方法及系统。所述方法包括:连接服务器确定客户端发送的服务器事件不是为自身处理的事件时,将该事件发送给消息服务器,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库。本发明采用消息服务器作为消息中间件进行消息中转,提供了快速的消息交换机制,另外,应用服务器利用了状态机,实现了业务流程的准确快速的流转。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种业务流程的处理方法及系统。
背景技术
票据是指出票人依法签发的由自己或指示他人无条件支付一定金额给收款人或持票人的有价证券,即某些可以代替现金流通的有价证券。票据的形式可以包括纸质票据和电子票据。随着互联网的发展,许多基于互联网的票据交易平台应运而生。
以银行承兑汇票为例,现有的票据交易平台的交易模式如下:用户可以在网上发送公开、定向的银行承兑汇票买断式、回购式转贴现报价,通过报价应答方式与业务人员联系,线下进行进一步议价交易。或者用户还可以通过网上填写承兑行类型、票面金额、汇票到期日等信息进行线下沟通议价等。
上述网络的交易平台的一个共同点在交易过程中,其主要作用还是发布交易信息,交易双方只能线下点对点进行票据议价,线下交易,一方面,银行承兑汇票进行交易要考虑的要素很多,在网站上找到自己想要的票据要花费很长的时间;另外一方面,当找到想要进行交易的票后要在线下通过一个一个打电话等方式跟对手方进行议价,费时费力还有可能失败从而需要重新寻找合适的票;最后,因为用户掌握的信息有限,所以用户在交易中的利益不能得到预期的保证。
基于上述问题,如何提供一种票据交易系统,实现高效的票据交易流程流转,实现整个票据交易的电子化,解决用户之间信息不对称的问题,使交易双方都能够高效率地找到自身想要交易的票据或者交易者,成为亟待解决的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种业务流程的处理方法及系统。
第一方面,本发明实施例提供一种业务流程的处理方法,用于应用服务器,其特征在于,包括:
当连接服务器接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;当确定为否时,将所述服务器事件发送给消息服务器;
应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,所述应用服务器读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据。
在一个实施例中,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,所述根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
所述处理结果生成服务器事件,包括:
将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,所述方法还包括:
在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,所述方法还包括:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
否则,结束所述流程的处理,并通告中控客户端。
所述确定所述事件是否为自身需要处理的服务器事件,包括:
所述连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
当所述服务器事件为多个时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
第二方面,本发明实施例提供一种业务流程的处理系统,包括:连接服务器和应用服务器;其中:
所述连接服务器,包括:
确定模块,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据。
在一个实施例中,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,所述状态流转模块,包括:
解析子模块,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,上述应用服务器还包括:转换模块,用于在消息读取模块读取该服务器事件之后,将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;以及将所述事件处理模块得到的处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,上述应用服务器还包括:线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,上述应用服务器还包括:状态更新模块和异常处理模块;其中:
所述状态更新模块,用于当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
所述生成模块,还用于将交易信息、流程的状态信息和处理结果生成服务器事件;
所述异常处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,结束所述流程的处理,并通告中控客户端。
在一个实施例中,所述连接服务器的确定模块,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
在一个实施例中,所述服务器事件为多个时,所述事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的业务流程的处理方法及系统中,连接服务器在接收到客户端发送的服务器事件时,确认该事件是否为自身需要处理的服务器事件,如果是,则使用预设的事件处理类进行处理,否则转发至消息服务器,以便其他应用服务器读取并处理,在上述方案中,整个业务流程以事件为驱动,可以实现流程的快速流转,并且,应用服务器与连接服务器等服务器之间并不直接交互,而采用消息服务器进行消息的中转,消息服务器作为消息中间件(Message Queue,MQ),负责服务器之间消息的缓存和转发,这种方式,消息可以驻留在内存或者磁盘上,直到它们被需要处理它们的服务器的应用程序读走,通过消息队列,服务器可以独立的执行,不需要知道彼此的位置,不需要直接与其他服务器进行交互,以及在继续执行流程的下一个步骤时不需要等待处理结果是否已被接收的服务器接收,这种快速的消息交换机制,一方面,对于服务器集群来说,可以显著提高各服务器的执行效率,另外一方面,也可以更好地适应于异构的网络环境,为大规模的网络架构的服务器间提供有效的通信手段。
并且,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的业务流程的处理方法适用的网络架构的示意图图;
图2为本发明实施例提供的业务流程的处理方法的流程图;
图3为本发明实施例提供的确定事件是否为连接服务器需要处理的服务器事件的步骤的具体实施流程图;
图4为本发明实施例提供的将服务器事件发送给连接服务器本地预设的处理该服务器事件的处理类进行处理的具体实施流程图;
图5为本发明实施例提供的客户端向连接服务器发起交易请求的一个例子的示意图;
图6为本发明实施例提供的确定下个操作状态和处理该服务器事件的类的步骤的流程图;
图7为本发明实施例提供的业务流程的系统的结构图;
图8为本发明实施例提供的连接服务器的结构框图;
图9为本发明实施例提供的应用服务器的结构框图;
图10为本发明实施例提供的状态流转模块的结构框图;
图11为本发明实施例提供的事件处理模块的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图,对本发明实施例提供的业务流程的处理方法及系统的具体实施方式进行详细的说明。
为了更好地说明本发明实施例提供的业务流程的处理方法,首先对该业务流程的处理方法适用的网络架构进行简单介绍,如图1所示,该网络架构中包含票据交易客户端(例如可包括银行客户端或企业客户端),连接服务器和其他类型服务器(例如应用服务器等等);连接服务器与各客户端之间相连,用于处理客户端的服务请求的接受、连接会话的建立、维持和中断服务;应用服务器(也叫核心业务服务器)用于对用户登录进行认证、对用户交易权限进行验证、执行对应的交易逻辑,并在必要时对数据库进行读写操作;各服务器可以采用服务器集群的方式,以应对数量巨大的业务处理量。
应用服务器是负责处理业务逻辑的服务器;应用服务器可以有一个或多个,应用服务器有多个时,彼此可以组成应用服务器集群,应用服务器与其他服务器例如连接服务器、其他应用服务器等之间并不直接交互,而是通过消息服务器进行消息的中转,消息服务器起到消息中间件的作用,缓存和转发每个服务器所需的消息(服务器事件)。
参照图2所示,本发明实施例提供的业务流程的处理方法,包括下述步骤:
S21、当连接服务器接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;当确定为否时,将所述服务器事件发送给消息服务器;
S22、应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,所述应用服务器读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据。
本发明实施例提供的业务流程的处理方法中,连接服务器在接收到客户端发送的服务器事件时,确认该事件是否为自身需要处理的服务器事件,如果是,则使用预设的事件处理类进行处理,否则转发至消息服务器,以便其他应用服务器读取并处理,在上述方案中,整个业务流程以事件为驱动,可以实现流程的快速流转,并且,应用服务器与连接服务器等服务器之间并不直接交互,而采用消息服务器进行消息的中转,消息服务器作为消息中间件(Message Queue,MQ),负责服务器之间消息的缓存和转发,这种方式,消息可以驻留在内存或者磁盘上,直到它们被需要处理它们的服务器的应用程序读走,通过消息队列,服务器可以独立的执行,不需要知道彼此的位置,不需要直接与其他服务器进行交互,以及在继续执行流程的下一个步骤时不需要等待处理结果是否已被接收的服务器接收,这种快速的消息交换机制,一方面,对于服务器集群来说,可以显著提高各服务器的执行效率,另外一方面,也可以更好地适应于异构的网络环境,为大规模的网络架构的服务器间提供有效的通信手段。
并且,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
在一个实施例中,上述步骤S21中确定所述事件是否为自身需要处理的服务器事件,如图3所示,可具体实施为:
S301、连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致;若一致,则执行下述步骤S302;否则执行下述步骤S303;
S302、确定所述服务器事件属于自身需要处理的服务器事件;
S303、确定所述服务器事件不属于自身需要处理的服务器事件。
不论是连接服务器,还是各种类型的应用服务器,在本发明实施例中,都预先注册了各种需要自身处理的事件类型,根据预先注册的事件类型,就可以确认该消息是否为自身需要处理的消息。
例如采用Publisher(消息发布者)和consumer(消息消费者)实现的pub(发布)-sub(消费)的模式,消息发布者和消息消费者(服务器和服务器之间,客户端与服务器之间)预先设定了一个共同的topic(话题),有了这个模式之后,可以实现对于同一类话题的消息的发送和接收。
如果不是自身处理的服务器事件,则连接服务器将其发送至消息服务器,等待其他需要处理该事件的服务器读取。
对于连接服务器来说,其主要负责处理客户端的服务请求的接受、连接会话的建立、维持和中断服务;对于某些简单的查询类的关联事件,可以由连接服务器来处理,连接服务器查询数据库,获得查询结果,然后将查询的结果进行序列化,然后将序列化后的数据通过socket连接返回给客户端。
对服务器事件的序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化主要是为了解决在对对象流进行读写操作时所引发的问题。
在一个实施例中,服务器事件发送给消息服务器之后,还包括执行下述步骤:通过socket连接向发送服务器事件的客户端返回提交成功的消息。
不论是否由自身处理,连接服务器在事件处理的同时或者将服务事件发送给消息服务器之后,将反馈一个提交成功的消息给客户端,客户端收到这个提交成功的消息后,及时会切换界面,避免用户等待,提高用户使用体验。比如结束正在提交查询请求的页面,转换到下一个界面。
在大型分布式的处理系统中,连接服务器可能会与大量的客户端连接,当接收的服务器事件为多个时,将服务器事件发送给连接服务器本地预设的处理该服务器事件的处理类进行处理时,为了优化处理效率,在本发明实施例中,如图4所示,可以通过下述方式实现:
S401、将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
S402、按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将服务器事件分发至对应级别的事件处理线程;
S403、通过事件处理线程调用服务器事件对应的事件处理类,对服务器事件进行处理。
服务器事件也按照其与业务之间的重要程度,划分对应的优先级,每个队列中按照事件接收的先后顺序来排列。
按照优先级的高低顺序,依次按照先入先出的规则,依次从不同级别的队列中取出该队列中的服务器事件,并将服务器事件分发至对应级别的事件处理线程;
不同的事件处理线程的处理能力也不同,总的来说,对应事件级别越高的,其线程的处理能力也越高。这样,多线程并行处理,并且,处理能力高的线程,也能够优先处理级别较高的服务器事件,可以整体提高处理能力。
如图5所示,在客户端,发起确认面板上,用户选择发送对象列表:张三、李四和王五;
客户端的交易请求管理监听类(InquiryManager)调用函数submitInquiry(),生成交易请求事件(DealRequestEvent),将画面的请求数据封装在该交易请求事件中,该交易请求事件(Deal_Request)的内容如下:事件名称:DealRequestAction,数据:交易请求事件(DealRequestEvent),其中包括交易ID,交易类型,交易限定时间,交易价格,发送对象列表等。事件对象即交易请求事件通过Map将数据序列化,然后再通过socket通信函数(sendDataToServer)将其发送给连接服务器;
连接服务器(CS)接收到客户端事件,事件名称为DealRequestAction,数据:交易请求事件(DealRequestEvent),发现自身不是处理该交易请求事件的服务器,将该事件发送到消息服务器。
消息队列技术是分布式应用间交换信息的一种技术。消息队列(其他服务器发送的事件形成的队列)可驻留在消息服务器的内存或磁盘上,队列存储消息直到它们被其他服务器的应用程序读走。通过消息队列,各服务器之间也可独立地执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收的服务器接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的消息,这种消息中间件的技术是非常重要的。
在本发明实施例中,票据交易系统可以实现多类型的票据交易,例如买断、卖断、正回购、逆回购等等。每种票据交易类型都具有唯一的协议号,在每种交易类型下面,又包括多种交易流程,每种流程都对应一个状态机,状态机记录了相关流程流转的信息。
参照下表1所示的例子,标识为32的状态机的描述为“TEST Process”,标识为21的状态机的描述为“ticket Process”,分别对应不同的流程。
表1
状态机ID | 状态机ID | 初始化状态ID |
32 | TEST Process | 51 |
21 | ticket Process | 14 |
在一个实施例中,状态机信息包括多种,例如包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
参照下表2所示的例子,标识为32的状态机中记录了多个流程流转信息。
表2
在一个实施例中,上述步骤S22中,应用服务器可以在启动时,将各类交易下业务流程对应的状态机信息缓存在内存中,并在关闭时,删除状态机信息,释放内存。
在一个实施例中,上述步骤S22中,消息服务器中的消息的发布者是连接服务器,当本应用服务器订阅了这类消息时,对消息服务器中缓存的服务器事件进行监听,就能读取本应用服务器需要处理的服务器事件。
相应地,如图6所示,上述步骤S22中根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类的步骤,可以通过下述步骤S61-S63实现:
S61、从服务器事件中解析出交易信息和流程信息;
服务器事件中包含了是哪类交易,以及是哪类交易下的哪类流程。
S62、从所缓存的各个状态机信息中,确定该交易下该流程对应的状态机信息;
S63、通过对应的状态机流转引擎线程,查询状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
例如,按照表2,当当前状态名称为等待回复时,且操作/事件为确定时,查询状态机信息可以知道下一个状态的名称为完成,对应处理该事件的类为OKHandler。
各流程对应的状态机的生成可以参照现有技术,本发明实施例在此不再赘述。
较佳地,上述步骤S22中,状态机流转引擎线程,可以从预先启动的状态机流转引擎线程池中调用。
类似地,在上述步骤S22中,处理服务器事件的类的线程,可以从预先启动的用于处理服务器事件的线程池中调用。
应用服务器在启动时,除了将各类交易下业务流程对应的状态机信息缓存之外,还可以执行下述步骤即:启动用于处理服务器事件的线程池和状态机流转引擎线程池。
线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力。
线程池中线程初始化预设数量的线程,后续再根据任务量的多少,进行动态的增加或减少,每次增加或减少可以是固定数量的线程。
线程池适用于单个任务处理时间较短,但所需处理的任务数量大的情况,使用线程池的好处:1、减少在创建和销毁线程上所花的时间及系统资源的开销(将线程预先创建出来),2、如果不使用线程池,则有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”。
许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。
线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,缓冲池给这次请求分配一个空闲线程,把请求传入此线程中运行,进行处理。当预先创建的线程都处于运行状态,即预制线程不够,线程池可以自由创建一定数量的新线程,用于处理更多的请求。当系统比较闲的时候,也可以通过移除一部分一直处于停用状态的线程。
线程池中的多线程并非越多越好,需要根据系统运行的软硬件环境以及应用本身的特点决定线程池的大小。如果处理任务较多,线程运行时可能出现阻塞现象,可相应增加池的大小;如处理任务较少,必要时可采用自适应算法来动态调整线程池的大小,以提高CPU的有效利用率和系统的整体性能。
在一个实施例中,本发明实施例提供的上述业务流程的处理方法,在服务器之间传递的消息类型与应用服务器内部处理事件的类型不同时,在上述步骤S22中读取该服务器事件之后,还需要执行下述步骤:将服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
相应地,上述步骤S22处理结果生成服务器事件,具体通过下述步骤实现:将服务事件的处理结果,按照所述服务器之间的消息类型进行封装,生成新的服务器事件。
进一步地,本发明实施例提供的上述业务流程的处理方法,还可以执行下述步骤:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
发送给消息服务器后,订阅了这类服务器事件的其他服务器就会从消息服务器中进一步读取该服务器事件,然后进一步处理。
否则,当通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,直接结束所述流程的处理,并通告中控客户端。
中控客户端接收到通告后,可以通过人工干预的方式,对流程中出错的原因进行排查。
比如票据议价的流程,如果一旦处理出错,则直接中断该流程的执行,使该流程回到起点,即通知发起交易的客户端重新发起交易,同时因为议价流程被锁定的持仓也被释放。
基于同一发明构思,本发明实施例还提供了一种业务流程的处理系统,由于该系统所解决问题的原理与前述业务流程的处理方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种业务流程的处理系统,如图7所示,包括:连接服务器71和应用服务器72;其中:
如图8所示,所述连接服务器71,包括:
确定模块710,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块711,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块712,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
如图9所示,所述应用服务器72,包括:
缓存模块720,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块721,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块722,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块723,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块724,用于将处理结果生成服务器事件;
发送模块725,用于将所述生成模块724生成的服务器事件发送给消息服务器;
数据更新模块726,用于根据所述处理结果,更新数据库服务器中的数据库数据。
在一个实施例中,上述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,上述状态流转模块722,如图10所示,包括:
解析子模块7221,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块7222,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块7223,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,上述应用服务器72,如图9所示,还包括:转换模块727,用于在消息读取模块读取该服务器事件之后,将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;以及将所述事件处理模块得到的处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,上述应用服务器72,如图9所示,还包括:线程池启动模块728;
线程池启动模块728用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,如图9所示,上述应用服务器72,还包括:状态更新模块729和异常处理模块7210;其中:
上述状态更新模块729,用于当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新该流程的状态为所述下一个状态;
上述生成模块724,还用于将交易信息、流程的状态信息和处理结果生成服务器事件;
上述异常处理模块7210,用于通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,结束所述流程的处理,并通告中控客户端。
在一个实施例中,上述连接服务器的确定模块710,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
在一个实施例中,所述发送模块712,还用于将所述服务器事件发送给消息服务器之后,通过socket连接向发送服务器事件的客户端返回提交成功的消息。
在一个实施例中,所述服务器事件为多个时,事件处理模块711,如图11所示,包括:
队列缓存子模块7110,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块7111,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块7112,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
在一个实施例中,上述基于事件的流程处理系统,如图8所示,还可以包括:序列化处理模块713,用于对事件处理模块的处理结果的数据进行序列化;
相应地,所述发送模块712,还用于将经过序列化处理后的数据通过socket连接返回给对应的客户端。
本发明实施例提供的业务流程的处理方法及系统中,预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,一方面,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,另一方面,将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
进一步地,本发明实施例提供的上述业务流程的处理方法及系统中,处理业务逻辑的类与处理状态机的类所使用的线程从预设的处理服务器事件的线程池和状态机流转引擎线程池中调用,使用线程池的方式,线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力,尤其对于交易量非常大的票据交易系统而言,通过线程池的方式,可以进一步增提升应用服务器处理能力,并有效节约处理器资源。
进一步地,本发明实施例提供的上述业务流程的处理方法及系统中,应用服务器处理的事件从消息服务器中来,处理完成后依然交由消息服务器,所有服务器之间的事件(消息)均通过消息服务器中转,尤其对于集群服务器的方式而言,采用消息服务器中转的方式,可以使得彼此有交互的两个服务器之间不再一对一的直接交互,减少了服务器等待对方响应的时间,使得服务器可以集中资源处理本服务器应该处理的相关业务逻辑,提高了业务处理的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种业务流程的处理方法,其特征在于,包括:
当连接服务器接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;当确定为否时,将所述服务器事件发送给消息服务器;
应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,所述应用服务器读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据。
2.如权利要求1所述的方法,其特征在于,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
3.如权利要求2所述的方法,其特征在于,所述根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
5.如权利要求1所述的方法,其特征在于,所述确定所述事件是否为自身需要处理的服务器事件,包括:
所述连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
6.如权利要求1所述的方法,其特征在于,当所述服务器事件为多个时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
7.一种业务流程的处理系统,其特征在于,包括:连接服务器和应用服务器;其中:
所述连接服务器,包括:
确定模块,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据。
8.如权利要求7所述的系统,其特征在于,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
9.如权利要求8所述的系统,其特征在于,所述状态流转模块,包括:
解析子模块,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
10.如权利要求7所述的系统,其特征在于,还包括:线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
11.如权利要求7所述的系统,其特征在于,所述确定模块,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
12.如权利要求7所述的系统,其特征在于,所述服务器事件为多个时,所述事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610591965 | 2016-07-25 | ||
CN2016105919651 | 2016-07-25 | ||
CN201610606530.XA CN106227584A (zh) | 2016-07-28 | 2016-07-28 | 一种基于状态机的事件驱动方法和系统 |
CN201610607261.9A CN106326016A (zh) | 2016-07-28 | 2016-07-28 | 一种多线程事件分发方法和系统 |
CN2016106072619 | 2016-07-28 | ||
CN201610606530X | 2016-07-28 | ||
CN2016108035099 | 2016-09-06 | ||
CN201610803509 | 2016-09-06 | ||
CN201610841085 | 2016-09-22 | ||
CN2016108410855 | 2016-09-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107657530A true CN107657530A (zh) | 2018-02-02 |
Family
ID=61126735
Family Applications (31)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218386.9A Pending CN107656818A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220361.2A Withdrawn CN107656784A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611218348.3A Pending CN107659546A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611220307.8A Pending CN107656824A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219325.4A Withdrawn CN107656778A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219300.4A Pending CN107656820A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219331.XA Withdrawn CN107656779A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关系统 |
CN201611219359.3A Pending CN107656822A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611219280.0A Withdrawn CN107657419A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220338.3A Withdrawn CN107656783A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218372.7A Withdrawn CN107659605A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611219329.2A Withdrawn CN107657420A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220330.7A Withdrawn CN107657531A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220337.9A Pending CN107657532A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220312.9A Withdrawn CN107656781A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219367.8A Pending CN107656823A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611218373.1A Withdrawn CN107657517A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611220334.5A Withdrawn CN107656782A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218380.1A Withdrawn CN107656808A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220324.1A Withdrawn CN107659548A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和客户端 |
CN201611220322.2A Withdrawn CN107656809A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611218388.8A Pending CN107659547A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219315.0A Pending CN107656821A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220354.2A Withdrawn CN107659549A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219350.2A Withdrawn CN107656780A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218383.5A Pending CN107656801A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218389.2A Withdrawn CN107657530A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611218394.3A Pending CN107656819A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611220358.0A Withdrawn CN107657518A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611219323.5A Withdrawn CN107656777A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220292.5A Withdrawn CN107657501A (zh) | 2016-07-25 | 2016-12-26 | 一种数据实时更新的方法及相关装置和服务器 |
Family Applications Before (26)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218386.9A Pending CN107656818A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220361.2A Withdrawn CN107656784A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611218348.3A Pending CN107659546A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611220307.8A Pending CN107656824A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219325.4A Withdrawn CN107656778A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219300.4A Pending CN107656820A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219331.XA Withdrawn CN107656779A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关系统 |
CN201611219359.3A Pending CN107656822A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611219280.0A Withdrawn CN107657419A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220338.3A Withdrawn CN107656783A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218372.7A Withdrawn CN107659605A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611219329.2A Withdrawn CN107657420A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220330.7A Withdrawn CN107657531A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220337.9A Pending CN107657532A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220312.9A Withdrawn CN107656781A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219367.8A Pending CN107656823A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611218373.1A Withdrawn CN107657517A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611220334.5A Withdrawn CN107656782A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218380.1A Withdrawn CN107656808A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220324.1A Withdrawn CN107659548A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和客户端 |
CN201611220322.2A Withdrawn CN107656809A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611218388.8A Pending CN107659547A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219315.0A Pending CN107656821A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220354.2A Withdrawn CN107659549A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219350.2A Withdrawn CN107656780A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218383.5A Pending CN107656801A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218394.3A Pending CN107656819A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611220358.0A Withdrawn CN107657518A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611219323.5A Withdrawn CN107656777A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220292.5A Withdrawn CN107657501A (zh) | 2016-07-25 | 2016-12-26 | 一种数据实时更新的方法及相关装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (31) | CN107656818A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225633A (zh) * | 2022-06-24 | 2022-10-21 | 浪潮软件集团有限公司 | 基于对端网络信号的状态机状态转换方法及系统 |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122239A (zh) * | 2017-04-28 | 2017-09-01 | 武汉票据交易中心有限公司 | 一种多线程事件分发方法和系统 |
CN108595530A (zh) * | 2018-03-30 | 2018-09-28 | 武汉楚鼎信息技术有限公司 | 一种后台处理和存储用户消息的方法及系统装置 |
CN108519903A (zh) * | 2018-04-09 | 2018-09-11 | 平安普惠企业管理有限公司 | 静态资源适配方法、装置、计算机设备及存储介质 |
CN108616597B (zh) * | 2018-05-09 | 2021-06-15 | 四川华创世纪科技有限公司 | 一种实现服务永不中断的分布式运行方法 |
CN109032723A (zh) * | 2018-06-28 | 2018-12-18 | 北京潘达互娱科技有限公司 | 一种界面跳转方法、装置及设备 |
CN109104297B (zh) * | 2018-07-09 | 2022-01-21 | 中国银行股份有限公司 | 一种业务流程的处理方法及装置 |
CN109165994A (zh) * | 2018-07-17 | 2019-01-08 | 北京知果科技有限公司 | 一种信息推送方法和服务器 |
CN109213495A (zh) * | 2018-08-23 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种数据的读取方法及装置 |
CN109144701A (zh) * | 2018-09-05 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种任务流管理方法、装置、设备及系统 |
CN109376054B (zh) * | 2018-09-25 | 2023-02-28 | 广州虎牙信息科技有限公司 | 一种数据分发的方法、装置、终端设备及存储介质 |
CN110968586B (zh) * | 2018-09-30 | 2023-08-25 | 北京国双科技有限公司 | 分布式事务处理方法及装置 |
CN109542592A (zh) * | 2018-11-22 | 2019-03-29 | 深圳墨世科技有限公司 | 事件处理方法及装置 |
CN109669791A (zh) * | 2018-12-22 | 2019-04-23 | 网宿科技股份有限公司 | 交互方法、服务器及计算机可读存储介质 |
CN109729410B (zh) * | 2018-12-29 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 一种直播间交互事件处理方法、装置、设备及存储介质 |
CN109889373B (zh) * | 2019-01-22 | 2022-06-21 | 视联动力信息技术股份有限公司 | 一种告警信息的传输方法、装置和系统 |
CN110009283B (zh) * | 2019-04-03 | 2021-09-07 | 北京思特奇信息技术股份有限公司 | 一种服务产品的电商化物流跟踪方法和系统 |
CN110099111A (zh) * | 2019-04-26 | 2019-08-06 | 深圳智链物联科技有限公司 | 一种推送消息的显示系统及其显示方法 |
CN110267228B (zh) * | 2019-06-13 | 2022-03-22 | 重庆邮电大学 | 一种v2x车载终端消息自适应调度管理系统及方法 |
CN110532088B (zh) * | 2019-07-15 | 2022-09-23 | 金蝶汽车网络科技有限公司 | 连接处理方法、装置、计算机设备和存储介质 |
CN110490600B (zh) * | 2019-08-23 | 2022-04-26 | 中国联合网络通信集团有限公司 | 处理银行业务的方法、服务器、终端 |
CN110708356B (zh) * | 2019-09-06 | 2024-01-05 | 国云科技股份有限公司 | 一种注册中心管理第三方应用的方法和系统 |
CN110597867B (zh) * | 2019-09-09 | 2023-04-28 | 珠海格力电器股份有限公司 | 图文数据处理方法及系统 |
CN110995781B (zh) * | 2019-11-01 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 点赞信息处理方法、装置及系统 |
JP7385436B2 (ja) * | 2019-11-12 | 2023-11-22 | 株式会社野村総合研究所 | 管理システム |
CN110855529B (zh) * | 2019-11-26 | 2021-04-23 | 广东物壹信息科技股份有限公司 | 网络信息安全监护方法、装置、服务器及可读存储介质 |
CN111008069B (zh) * | 2019-12-02 | 2023-12-15 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN111131425B (zh) * | 2019-12-18 | 2022-08-30 | 东软集团股份有限公司 | 分布式系统以及分布式系统的通信方法 |
CN111158928B (zh) * | 2019-12-18 | 2024-04-05 | 东软集团股份有限公司 | 分布式系统及通信方法 |
CN111144982B (zh) * | 2019-12-20 | 2022-02-11 | 网联清算有限公司 | 订单状态转移方法、装置、电子设备和存储介质 |
CN111179081A (zh) * | 2019-12-24 | 2020-05-19 | 中国建设银行股份有限公司 | 一种消息的处理方法和处理装置 |
CN111210288A (zh) * | 2019-12-26 | 2020-05-29 | 大象慧云信息技术有限公司 | 基于税控服务器的发票批量开具作业优化调度方法及系统 |
CN111210286A (zh) * | 2019-12-26 | 2020-05-29 | 大象慧云信息技术有限公司 | 一种基于税控服务器的发票高效开具方法及系统 |
CN111277626B (zh) * | 2020-01-07 | 2023-08-22 | 平安科技(深圳)有限公司 | 服务器升级方法、装置、电子设备及介质 |
CN111352674B (zh) * | 2020-02-21 | 2023-07-07 | 中国平安财产保险股份有限公司 | 名单流转方法、服务器及计算机可读存储介质 |
CN111367694B (zh) * | 2020-03-18 | 2024-01-26 | 北京奇艺世纪科技有限公司 | 事件处理方法、服务器及计算机存储介质 |
CN111581114B (zh) * | 2020-06-04 | 2023-10-27 | 网易(杭州)网络有限公司 | 事件处理方法、装置、存储介质、处理器及电子装置 |
CN111880611B (zh) * | 2020-06-19 | 2022-06-28 | 深圳宏芯宇电子股份有限公司 | 用于快速交易的服务器及快速交易数据处理方法 |
CN111770171B (zh) * | 2020-06-29 | 2023-05-02 | 浪潮通用软件有限公司 | 一种微服务模式下多页面功能会话周期状态管理方法 |
CN112015393B (zh) * | 2020-08-25 | 2024-05-03 | 中国银联股份有限公司 | 一种业务处理方法及装置 |
CN112100187B (zh) * | 2020-08-31 | 2024-01-26 | 武汉美和易思数字科技有限公司 | 一种基于VueJS的学生学习数据存储方法及装置 |
CN112131238B (zh) * | 2020-09-30 | 2022-07-22 | 江苏苏宁银行股份有限公司 | 一种交易状态机设计方法、处理装置和处理方法 |
CN112702270B (zh) * | 2020-12-18 | 2023-05-02 | 深圳赛安特技术服务有限公司 | 基于事件分发机制的节点调用方法、系统及存储介质 |
CN114760530B (zh) * | 2020-12-25 | 2023-08-01 | 深圳Tcl新技术有限公司 | 事件处理方法、装置、电视机及计算机可读存储介质 |
CN112559535B (zh) * | 2020-12-28 | 2023-08-22 | 平安银行股份有限公司 | 基于多线程的异步任务处理方法、装置、设备及介质 |
CN112801722A (zh) * | 2020-12-29 | 2021-05-14 | 航天信息股份有限公司 | 一种缓存后开具发票的方法及系统 |
CN112667527A (zh) * | 2021-01-15 | 2021-04-16 | 北京云上曲率科技有限公司 | 一种确保客户端数据采集准确性的方法及客户端 |
CN112700310B (zh) * | 2021-01-19 | 2021-09-07 | 汇通数科智能科技有限公司 | 一种基于电商平台的交易订单数据优化处理方法 |
CN112860454B (zh) * | 2021-02-05 | 2024-04-19 | 百果园技术(新加坡)有限公司 | 业务处理系统及方法 |
CN112860460B (zh) * | 2021-02-23 | 2022-01-04 | 创盛视联数码科技(北京)有限公司 | 用于实时课堂的事件分发方法及系统 |
CN112766935B (zh) * | 2021-02-24 | 2024-03-01 | 中国工商银行股份有限公司 | 处理票据业务的方法、装置、计算设备和介质 |
CN112988813A (zh) * | 2021-03-16 | 2021-06-18 | 武汉卓宇诚科技有限公司 | 一种农产品信息追溯方法 |
CN113031992B (zh) * | 2021-04-27 | 2023-04-07 | 中国平安人寿保险股份有限公司 | Annoy热更新方法、装置、设备及介质 |
CN113204442B (zh) * | 2021-05-31 | 2023-11-24 | 成都安恒信息技术有限公司 | 一种基于MVVM模式的操作IndexedDB的javascript库系统 |
CN113742807B (zh) * | 2021-09-07 | 2024-05-14 | 广联达科技股份有限公司 | 交互处理方法、装置及电子设备 |
CN113761006A (zh) * | 2021-09-10 | 2021-12-07 | 南京星邺汇捷网络科技有限公司 | 基于多队列的事件时序性保障方法 |
CN114039981B (zh) * | 2021-11-11 | 2024-04-02 | 中国建设银行股份有限公司 | 一种消息处理方法、装置、服务器及存储介质 |
CN113821279A (zh) * | 2021-11-24 | 2021-12-21 | 深圳市永联科技股份有限公司 | 一种状态转换的方法、装置及嵌入式设备 |
CN114357029B (zh) * | 2022-01-04 | 2022-09-02 | 工银瑞信基金管理有限公司 | 业务数据的处理方法、装置、设备及介质 |
CN114385267B (zh) * | 2022-01-13 | 2024-06-18 | 平安壹钱包电子商务有限公司 | 一种用于出款交易业务的数据推送方法 |
CN114615318B (zh) * | 2022-01-24 | 2023-04-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
CN115309536B (zh) * | 2022-10-12 | 2023-01-24 | 青岛民航凯亚系统集成有限公司 | 高并发的彩票交易场景下数据一致性方法 |
CN116841772B (zh) * | 2023-08-30 | 2023-11-07 | 成都中科合迅科技有限公司 | 基于事件队列的跨线程信号处理方法和系统 |
CN117215755B (zh) * | 2023-11-07 | 2024-02-06 | 西安博达软件股份有限公司 | 一种基于时间轮算法的预约事件任务调度方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN101957751A (zh) * | 2010-06-04 | 2011-01-26 | 福建星网锐捷网络有限公司 | 一种状态机的实现方法及装置 |
CN102255867A (zh) * | 2010-05-18 | 2011-11-23 | 华为技术有限公司 | 服务请求处理方法、装置及系统 |
CN102594798A (zh) * | 2011-12-31 | 2012-07-18 | 苏州阔地网络科技有限公司 | 一种连接数据库的代理方法及系统 |
CN102664934A (zh) * | 2012-04-06 | 2012-09-12 | 北京华夏电通科技股份有限公司 | 一种用于服务器自适应自反馈的多线程控制方法及系统 |
CN102693434A (zh) * | 2011-03-22 | 2012-09-26 | 中兴通讯股份有限公司 | 射频识别设备接口层的通信装置及方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7441240B2 (en) * | 2003-01-07 | 2008-10-21 | Matsushita Electric Industrial Co., Ltd. | Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling |
CN1482566A (zh) * | 2003-01-22 | 2004-03-17 | 余育新 | 分布式工作流管理平台 |
CN1487446A (zh) * | 2003-06-24 | 2004-04-07 | 深圳市华磊网络技术有限公司 | 服务器端应用为浏览器客户端提供用户界面的方法 |
CN1983313B (zh) * | 2006-04-07 | 2011-08-10 | 华为技术有限公司 | 工作流数据处理装置及方法 |
CN101201753B (zh) * | 2007-12-13 | 2012-12-26 | 浪潮通信信息系统有限公司 | 一种多状态机管理引擎的配置管理方法 |
CN101873334B (zh) * | 2009-04-24 | 2013-01-02 | 同济大学 | 一种状态驱动的可执行业务流程执行方法 |
CN101551745A (zh) * | 2009-05-13 | 2009-10-07 | 山东中创软件工程股份有限公司 | 大幅度提高工作流引擎性能的方法 |
CN102025650A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理系统和消息处理方法 |
CN102340495B (zh) * | 2010-07-26 | 2014-09-03 | 中国移动通信集团广东有限公司 | 一种支撑跨系统业务联动的事件中心及其事件处理方法 |
CN102044089A (zh) * | 2010-09-20 | 2011-05-04 | 董福田 | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 |
CN101982955B (zh) * | 2010-11-19 | 2013-09-04 | 深圳华大基因科技有限公司 | 高性能文件传输系统及方法 |
CN102843389B (zh) * | 2011-06-21 | 2015-08-26 | 国承斌 | 基于事件驱动的web系统和方法 |
CN102291416B (zh) * | 2011-09-14 | 2015-09-30 | 成都软智科技有限公司 | 一种客户端与服务器端双向同步的方法及系统 |
CN102562162B (zh) * | 2011-12-14 | 2014-05-07 | 北京邮电大学 | 一种基于事件处理的煤矿报警系统及方法 |
CN102572954B (zh) * | 2012-01-31 | 2015-05-20 | 中国移动(深圳)有限公司 | 一种漫游清算服务调度方法、中间件及系统 |
CN102904887B (zh) * | 2012-09-26 | 2016-01-20 | 东软集团股份有限公司 | 一种Web客户端与服务器的数据同步方法和系统 |
US9235464B2 (en) * | 2012-10-16 | 2016-01-12 | Microsoft Technology Licensing, Llc | Smart error recovery for database applications |
CN103093342A (zh) * | 2013-01-11 | 2013-05-08 | 北京掌上汇通科技发展有限公司 | 一种联机交易处理平台及其交易处理方法 |
CN103197968B (zh) * | 2013-03-18 | 2016-03-30 | 焦点科技股份有限公司 | 一种融合同步异步特点的线程池处理方法及系统 |
CN103179133B (zh) * | 2013-04-12 | 2016-03-30 | 北京工业大学 | 基于实体类的客户端与服务器通信的方法 |
CN103366471B (zh) * | 2013-06-26 | 2015-08-12 | 福建联迪商用设备有限公司 | 一种联机业务并发处理方法、系统及服务器 |
CN104253808B (zh) * | 2013-06-29 | 2018-05-08 | 北京新媒传信科技有限公司 | 即时通信系统中的状态呈现方法和状态呈现服务器 |
CN104793999A (zh) * | 2014-01-21 | 2015-07-22 | 航天信息股份有限公司 | 伺服服务器架构系统 |
CN103854168B (zh) * | 2014-02-17 | 2016-09-28 | 湖南中烟工业有限责任公司 | 异构流程待办集中处理方法及处理装置 |
CN103927218B (zh) * | 2014-04-30 | 2017-07-04 | 广州唯品会网络技术有限公司 | 事件分发方法及系统 |
CN104615647B (zh) * | 2014-12-25 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 视图模型请求、下发方法及装置 |
CN104618432B (zh) * | 2014-12-30 | 2019-03-08 | 北京红马传媒文化发展有限公司 | 一种事件发送与接收的处理方法和处理系统 |
CN104580226B (zh) * | 2015-01-15 | 2017-07-11 | 上海瀚之友信息技术服务有限公司 | 一种共享会话数据的系统和方法 |
CN104820701B (zh) * | 2015-05-11 | 2018-02-06 | 北京瑞星信息技术股份有限公司 | 数据记录和同步方法及系统 |
CN105573840B (zh) * | 2015-12-08 | 2019-06-14 | 东软集团股份有限公司 | 工作流运行期的事件处理方法和装置 |
-
2016
- 2016-12-26 CN CN201611218386.9A patent/CN107656818A/zh active Pending
- 2016-12-26 CN CN201611220361.2A patent/CN107656784A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218348.3A patent/CN107659546A/zh active Pending
- 2016-12-26 CN CN201611220307.8A patent/CN107656824A/zh active Pending
- 2016-12-26 CN CN201611219325.4A patent/CN107656778A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219300.4A patent/CN107656820A/zh active Pending
- 2016-12-26 CN CN201611219331.XA patent/CN107656779A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219359.3A patent/CN107656822A/zh active Pending
- 2016-12-26 CN CN201611219280.0A patent/CN107657419A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220338.3A patent/CN107656783A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218372.7A patent/CN107659605A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219329.2A patent/CN107657420A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220330.7A patent/CN107657531A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220337.9A patent/CN107657532A/zh active Pending
- 2016-12-26 CN CN201611220312.9A patent/CN107656781A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219367.8A patent/CN107656823A/zh active Pending
- 2016-12-26 CN CN201611218373.1A patent/CN107657517A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220334.5A patent/CN107656782A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218380.1A patent/CN107656808A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220324.1A patent/CN107659548A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220322.2A patent/CN107656809A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218388.8A patent/CN107659547A/zh active Pending
- 2016-12-26 CN CN201611219315.0A patent/CN107656821A/zh active Pending
- 2016-12-26 CN CN201611220354.2A patent/CN107659549A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219350.2A patent/CN107656780A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218383.5A patent/CN107656801A/zh active Pending
- 2016-12-26 CN CN201611218389.2A patent/CN107657530A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218394.3A patent/CN107656819A/zh active Pending
- 2016-12-26 CN CN201611220358.0A patent/CN107657518A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219323.5A patent/CN107656777A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220292.5A patent/CN107657501A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN102255867A (zh) * | 2010-05-18 | 2011-11-23 | 华为技术有限公司 | 服务请求处理方法、装置及系统 |
CN101957751A (zh) * | 2010-06-04 | 2011-01-26 | 福建星网锐捷网络有限公司 | 一种状态机的实现方法及装置 |
CN102693434A (zh) * | 2011-03-22 | 2012-09-26 | 中兴通讯股份有限公司 | 射频识别设备接口层的通信装置及方法 |
CN102594798A (zh) * | 2011-12-31 | 2012-07-18 | 苏州阔地网络科技有限公司 | 一种连接数据库的代理方法及系统 |
CN102664934A (zh) * | 2012-04-06 | 2012-09-12 | 北京华夏电通科技股份有限公司 | 一种用于服务器自适应自反馈的多线程控制方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225633A (zh) * | 2022-06-24 | 2022-10-21 | 浪潮软件集团有限公司 | 基于对端网络信号的状态机状态转换方法及系统 |
CN115225633B (zh) * | 2022-06-24 | 2024-04-12 | 浪潮软件集团有限公司 | 基于对端网络信号的状态机状态转换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107656808A (zh) | 2018-02-02 |
CN107657501A (zh) | 2018-02-02 |
CN107657518A (zh) | 2018-02-02 |
CN107659549A (zh) | 2018-02-02 |
CN107656784A (zh) | 2018-02-02 |
CN107656809A (zh) | 2018-02-02 |
CN107656777A (zh) | 2018-02-02 |
CN107656820A (zh) | 2018-02-02 |
CN107659547A (zh) | 2018-02-02 |
CN107656822A (zh) | 2018-02-02 |
CN107657419A (zh) | 2018-02-02 |
CN107657531A (zh) | 2018-02-02 |
CN107656783A (zh) | 2018-02-02 |
CN107659605A (zh) | 2018-02-02 |
CN107656819A (zh) | 2018-02-02 |
CN107656782A (zh) | 2018-02-02 |
CN107657532A (zh) | 2018-02-02 |
CN107656781A (zh) | 2018-02-02 |
CN107656801A (zh) | 2018-02-02 |
CN107656779A (zh) | 2018-02-02 |
CN107659546A (zh) | 2018-02-02 |
CN107656821A (zh) | 2018-02-02 |
CN107656818A (zh) | 2018-02-02 |
CN107656778A (zh) | 2018-02-02 |
CN107657517A (zh) | 2018-02-02 |
CN107656824A (zh) | 2018-02-02 |
CN107659548A (zh) | 2018-02-02 |
CN107656780A (zh) | 2018-02-02 |
CN107657420A (zh) | 2018-02-02 |
CN107656823A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657530A (zh) | 一种业务流程的处理方法及系统 | |
CN112602063B (zh) | 用于应用执行的发布-订阅框架 | |
CN104737133B (zh) | 使用服务组的分布式应用优化 | |
US8874638B2 (en) | Interactive analytics processing | |
EP4020270A1 (en) | Attestation support for elastic cloud computing environments | |
US9571418B2 (en) | Method for work-load management in a client-server infrastructure and client-server infrastructure | |
Han et al. | Inss: An intelligent scheduling orchestrator for multi-gpu inference with spatio-temporal sharing | |
CN111353766A (zh) | 分布式业务系统的业务流程处理系统及方法 | |
Quiané-Ruiz et al. | A self-adaptable query allocation framework for distributed information systems | |
CN107920106A (zh) | 一种高并发业务的计数方法和系统 | |
Hamarsheh et al. | Transactional Services for Concurrent Mobile Agents over Edge/Cloud Computing-Assisted Social Internet of Things | |
TWM658750U (zh) | 企業線上金融服務系統 | |
CN115563142A (zh) | 金融数据流处理方法、装置、电子设备和存储介质 | |
TWI238327B (en) | Message delivery system transmitting massive messages in short period of time |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180202 |
|
WW01 | Invention patent application withdrawn after publication |