CN107656823A - 一种业务流程的处理方法及相关系统 - Google Patents

一种业务流程的处理方法及相关系统 Download PDF

Info

Publication number
CN107656823A
CN107656823A CN201611219367.8A CN201611219367A CN107656823A CN 107656823 A CN107656823 A CN 107656823A CN 201611219367 A CN201611219367 A CN 201611219367A CN 107656823 A CN107656823 A CN 107656823A
Authority
CN
China
Prior art keywords
event
server
state machine
thread
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611219367.8A
Other languages
English (en)
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.)
Wuhan Bill Trading Center Co Ltd
Original Assignee
Wuhan Bill Trading Center Co Ltd
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
Priority claimed from CN201610607261.9A external-priority patent/CN106326016A/zh
Priority claimed from CN201610606530.XA external-priority patent/CN106227584A/zh
Application filed by Wuhan Bill Trading Center Co Ltd filed Critical Wuhan Bill Trading Center Co Ltd
Publication of CN107656823A publication Critical patent/CN107656823A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • 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/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/2393Updating materialised views
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/5061Partitioning or combining of resources
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/045Payment circuits using payment protocols involving tickets
    • G06Q20/0457Payment circuits using payment protocols involving tickets the tickets being sent electronically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • 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/55Push-based network services
    • 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/562Brokering proxy services
    • 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
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (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

本发明公开了一种业务流程的处理方法及相关系统。所述方法包括:应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,连接服务器监听到的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;根据处理结果更新缓存的数据,并将服务器事件转换成客户端事件,发送给对应的客户端。本发明利用了状态机,实现了业务流程的准确快速的流转,提高了响应的速度,进一步优化了处理的速度,并且整个业务流程以java事件为驱动,优先处理优先级服务器事件并发送给与业务结果相关的所有客户端。

Description

一种业务流程的处理方法及相关系统
技术领域
本发明涉及计算机技术领域,特别涉及一种业务流程的处理方法及相关系统。
背景技术
票据是指出票人依法签发的由自己或指示他人无条件支付一定金额给收款人或持票人的有价证券,即某些可以代替现金流通的有价证券。票据的形式可以包括纸质票据和电子票据。随着互联网的发展,许多基于互联网的票据交易平台应运而生。
以银行承兑汇票为例,现有的票据交易平台的交易模式如下:用户可以在网上发送公开、定向的银行承兑汇票买断式、回购式转贴现报价,通过报价应答方式与业务人员联系,线下进行进一步议价交易。或者用户还可以通过网上填写承兑行类型、票面金额、汇票到期日等信息进行线下沟通议价等。
上述网络的交易平台的一个共同点在交易过程中,其主要作用还是发布交易信息,交易双方只能线下点对点进行票据议价,线下交易,一方面,银行承兑汇票进行交易要考虑的要素很多,在网站上找到自己想要的票据要花费很长的时间;另外一方面,当找到想要进行交易的票后要在线下通过一个一个打电话等方式跟对手方进行议价,费时费力还有可能失败从而需要重新寻找合适的票;最后,因为用户掌握的信息有限,所以用户在交易中的利益不能得到预期的保证。
基于上述问题,如何提供一种票据交易系统,实现高效的票据交易流程流转,实现整个票据交易的电子化,解决用户之间信息不对称的问题,使交易双方都能够高效率地找到自身想要交易的票据或者交易者,成为亟待解决的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种业务流程的处理方法及相关系统。
第一方面,本发明实施例提供一种业务流程的处理方法,其特征在于,包括:
应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器;
连接服务器监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;根据处理结果更新缓存的数据,并将服务器事件转换成客户端事件,根据该服务器事件的分发列表,发送给对应的客户端。
在一个实施例中,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,所述根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
所述处理结果生成服务器事件,包括:
将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,所述方法还包括:
在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,所述方法还包括:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
否则,结束所述流程的处理,并通告中控客户端。
在一个实施例中,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
在一个实施例中,所述客户端在所述连接服务器侧分配有对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述根据该服务器事件的分发列表,发送给对应的客户端,包括:
所述会话模型对象根据所述分发列表,确定是否需要将所述事件转发给对应的客户端;若需要,则根据所述客户端的socket连接的标识,将所述事件发送给对应的客户端。
第二方面,本发明实施例提供一种业务流程的处理系统,包括:应用服务器和连接服务器;其中:
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
第一事件处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据;
所述连接服务器,包括:
第二事件处理模块,用于监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;
缓存更新模块,用于根据处理结果更新缓存的数据;
转换模块,用于将服务器事件转换成客户端事件;
分发模块,用于根据该服务器事件的分发列表,发送给对应的客户端。
在一个实施例中,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,所述状态流转模块,包括:
解析子模块,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,上述装置还包括:转换模块,用于在消息读取模块读取该服务器事件之后,将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;以及将所述事件处理模块得到的处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,上述装置还包括:线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,上述系统中的应用服务器还包括:状态更新模块和异常处理模块;其中:
所述状态更新模块,用于当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
所述生成模块,还用于将交易信息、流程的状态信息和处理结果生成服务器事件;
所述异常处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,结束所述流程的处理,并通告中控客户端。
在一个实施例中,所述第二事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
在一个实施例中,所述客户端在所述连接服务器侧分配有对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述分发模块,用于根据所述分发列表,确定是否需要将所述事件转发给对应的客户端;若需要,则根据所述客户端的socket连接的标识,将所述事件发送给对应的客户端。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的业务流程的处理方法及相关系统中,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
并且,从连接服务器的角度来说,连接服务器针对服务器事件按照其业务的重要程度,划分对应的优先级,并分配对应级别的事件处理线程分别进行处理,使得优先级较高的,要求响应速度特别快的事件得以优先处理,并根据该服务器事件的分发列表,发送给与该业务结果相关的所有客户端。
而且,整个流程以java事件为驱动,可以实现流程的快速流转,为高效处理服务器事件创造了良好的基础。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的业务流程的处理方法适用的网络架构的示意图图;
图2为本发明实施例提供的业务流程的处理方法的流程图;
图3为本发明实施例提供的业务流程的处理方法中确定下个操作状态和处理该服务器事件的类的具体过程的流程图;
图4为本发明实施例提供的按照交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理的步骤的实现流程图;
图5为连接服务器处理过程的框图;
图6A-图6B为本发明实施例提供的交易过程的流程示意图;
图7为本发明实施例提供的业务流程的处理系统中应用服务器的结构图;
图8为本发明实施例提供的业务流程的处理系统中连接服务器的结构图;
图9为本发明实施例提供的业务流程的处理系统中的状态流转模块703的结构图;
图10为本发明实施例提供的事件处理模块801的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图,对本发明实施例提供的业务流程的处理方法及相关装置和服务器的具体实施方式进行详细的说明。
为了更好地说明本发明实施例提供的基于事件的流程处理方法,首先对该基于事件的流程处理方法适用的网络架构进行简单介绍,如图1所示,该网络架构中包含票据交易客户端(例如可包括银行客户端或企业客户端),连接服务器和其他类型服务器(例如应用服务器等等);连接服务器与各客户端之间相连,用于处理客户端的服务请求的接收、连接会话的建立、维持和中断服务;应用服务器(也叫核心业务服务器)用于对用户登录进行认证、对用户交易权限进行验证、执行对应的交易逻辑,并在必要时对数据库进行读写操作;各服务器可以采用服务器集群的方式,以应对数量巨大的业务处理量。
本发明实施例提供的业务流程的处理方法,在同一个票据交易系统中,应用服务器是负责处理业务逻辑的服务器;应用服务器可以有一个或多个,应用服务器有多个时,彼此可以组成应用服务器集群,应用服务器与其他服务器例如连接服务器、其他应用服务器等之间并不直接交互,而是通过消息服务器进行消息的中转,消息服务器起到消息中间件的作用,缓存和转发每个服务器所需的消息(服务器事件)。
参照图2所示,本发明实施例提供的业务流程的处理方法,包括下述步骤:
S21、应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器;
S22、连接服务器监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;根据处理结果更新缓存的数据,并将服务器事件转换成客户端事件,根据该服务器事件的分发列表,发送给对应的客户端。
本发明实施例提供的业务流程的处理方法中,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
并且,从连接服务器的角度来说,连接服务器针对服务器事件按照其业务的重要程度,划分对应的优先级,并分配对应级别的事件处理线程分别进行处理,使得优先级较高的,要求响应速度特别快的事件得以优先处理,并根据该服务器事件的分发列表,发送给与该业务结果相关的所有客户端。
而且,整个流程以j ava事件为驱动,可以实现流程的快速流转,为高效处理服务器事件创造了良好的基础。
在本发明实施例中,票据交易系统可以实现多类型的票据交易,例如买断、卖断、正回购、逆回购等等。每种票据交易类型都具有唯一的协议号,在每种交易类型下面,又包括多种交易流程,每种流程都对应一个状态机,状态机记录了相关流程流转的信息。
参照下表1所示的例子,标识为32的状态机的描述为“TEST Process”,标识为21的状态机的描述为“ticket Process”,分别对应不同的流程。
表1
状态机ID 状态机ID 初始化状态ID
32 TEST Process 51
21 ticket Process 14
在一个实施例中,状态机信息包括多种,例如包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
参照下表2所示的例子,标识为32的状态机中记录了多个流程流转信息。
表2
在一个实施例中,上述步骤S21中,应用服务器可以在启动时,将各类交易下业务流程对应的状态机信息缓存在内存中,并在关闭时,删除状态机信息,释放内存。
在一个实施例中,上述步骤S21中,消息服务器中的消息的发布者是连接服务器,当本应用服务器订阅了这类消息时,对消息服务器中缓存的服务器事件进行监听,就能读取本应用服务器需要处理的服务器事件。
相应地,如图3所示,上述步骤S21中根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类的步骤,可以通过下述步骤S31-S33实现:
S31、从服务器事件中解析出交易信息和流程信息;
服务器事件中包含了是哪类交易,以及是哪类交易下的哪类流程。
S32、从所缓存的各个状态机信息中,确定该交易下该流程对应的状态机信息;
S33、通过对应的状态机流转引擎线程,查询状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
例如,按照表2,当当前状态名称为等待回复时,且操作/事件为确定时,查询状态机信息可以知道下一个状态的名称为完成,对应处理该事件的类为OKHandler。
各流程对应的状态机的生成可以参照现有技术,本发明实施例在此不再赘述。
较佳地,上述步骤S21中,状态机流转引擎线程,可以从预先启动的状态机流转引擎线程池中调用。
类似地,在上述步骤S21中,处理服务器事件的类的线程,可以从预先启动的用于处理服务器事件的线程池中调用。
应用服务器在启动时,除了将各类交易下业务流程对应的状态机信息缓存之外,还可以执行下述步骤即:启动用于处理服务器事件的线程池和状态机流转引擎线程池。
线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力。
线程池中线程初始化预设数量的线程,后续再根据任务量的多少,进行动态的增加或减少,每次增加或减少可以是固定数量的线程。
线程池适用于单个任务处理时间较短,但所需处理的任务数量大的情况,使用线程池的好处:1、减少在创建和销毁线程上所花的时间及系统资源的开销(将线程预先创建出来),2、如果不使用线程池,则有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”。
许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。
线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,缓冲池给这次请求分配一个空闲线程,把请求传入此线程中运行,进行处理。当预先创建的线程都处于运行状态,即预制线程不够,线程池可以自由创建一定数量的新线程,用于处理更多的请求。当系统比较闲的时候,也可以通过移除一部分一直处于停用状态的线程。
线程池中的多线程并非越多越好,需要根据系统运行的软硬件环境以及应用本身的特点决定线程池的大小。如果处理任务较多,线程运行时可能出现阻塞现象,可相应增加池的大小;如处理任务较少,必要时可采用自适应算法来动态调整线程池的大小,以提高CPU的有效利用率和系统的整体性能。
在一个实施例中,本发明实施例提供的上述业务流程的处理方法,在服务器之间传递的消息类型与应用服务器内部处理事件的类型不同时,在读取该服务器事件之后,还需要执行下述步骤:将服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
相应地,上述步骤S21中处理结果生成服务器事件,具体通过下述步骤实现:
将服务事件的处理结果,按照所述服务器之间的消息类型进行封装,生成新的服务器事件。
进一步地,本发明实施例提供的上述业务流程的处理方法,还可以执行下述步骤:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
发送给消息服务器后,订阅了这类服务器事件的其他服务器就会从消息服务器中进一步读取该服务器事件,然后进一步处理。
否则,当通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,直接结束所述流程的处理,并通告中控客户端。
中控客户端接收到通告后,可以通过人工干预的方式,对流程中出错的原因进行排查。
比如票据议价的流程,如果一旦处理出错,则直接中断该流程的执行,使该流程回到起点,即通知发起交易的客户端重新发起交易,同时因为议价流程被锁定的持仓也被释放。
上述S22中,如图4所示,根据交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理,具体可以实施为:
S41、将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
S42、按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
S43、通过事件处理线程调用服务器事件对应的事件处理类,对服务器事件进行处理。
如图5所示,消息服务器负责存储和转发服务器之间的各种消息(或称事件),连接服务器例如可以采用消息监听线程持续监听,当监听到需要转发给客户端的各类业务处理结果的服务器事件时,根据不同服务器事件的优先级存储到对应级别的队列之中。
如图5所示,例如队列分为三个等级:L代表低优先级、N代表中优先级和H代表高优先级,L队列中按照事件先后顺序放置。
不同事件处理线程的处理性能与所处理的服务器事件的优先级级别正相关。
较高优先级别的服务器事件,可以使用较高性能的事件处理线程处理,反之,较低优先级别的服务器事件,可以使用较低性能的事件处理线程处理;
按照优先级的高低顺序,依次按照先入先出的规则,依次从不同级别的队列中取出该队列中的服务器事件,并将服务器事件分发至对应级别的事件处理线程;
不同的事件处理线程的处理能力也不同,总的来说,对应事件级别越高的,其线程的处理能力也越高。这样,多线程并行处理,并且,处理能力高的线程,也能够优先处理级别较高的服务器事件,可以整体提高处理能力。
处理不同优先级的事件处理线程分别属于不同级别的线程池。
如图5所示,事件处理线程也分为低优先级、普通优先级和高优先级,事件处理线程调用监听该事件的所有监听者(包括各功能和服务类)的processServerEvent方法,处理该事件。
如图5所示,事件监听处理类A和事件监听处理类B和事件监听处理C,事件处理终了后,发送给相应的客户端。
举例来说,发起交易后应用服务器计算A+B=C的计算结果,应用服务器将计算结果发送消息服务器,连接服务器读取消息服务器交易相关的各方,包括发起交易方和被动接收交易方,发起交易方和被动接收交易方分别包括各个交易员,连接服务器会将该计算结果发送给交易各方的交易员。
上述步骤S22将服务器事件转换成客户端事件,例如可以将Server Event转换成客户端能够处理的Application Event,客户端在接收到该事件后,执行预设的processApplication Event的方法,从而更新客户端的界面。
上述步骤S22中根据该服务器事件的分发列表,发送给对应的客户端,该事件的分发列表,由应用服务器根据该业务处理结果的逻辑,确定分发列表,发送给连接服务器,连接服务器根据该分发列表将交易处理结果发送给对应的客户端。
以赵六发起钢材交易的简单例子说明:
如图6A所示,在赵六在交易发起面板点击发起交易后,客户端生成客户端事件ActionEvent,ActionEvent监听器(DealPanel)监听到该事件,调用actionPerformed方法,构造请求数据BuildRequest(),然后启动一个新的ThreadWorker线程,进行数据处理(从连接服务器获取交易发送对象列表)和界面处理(弹出发起确认的界面),更新客户端界面至发起确认面板;
在确认面板中弹出发送给对象列表:张三、李四、王五,用户再次确认之后,客户端的交易请求管理监听类(InquiryManager)会调用函数submitinquiry(),生成对应的交易请求时间,将该画面的请求数据封装在该交易请求事件中。
交易请求事件中可包含:时间名称、事件数据(交易ID、交易类型、交易限定时间、交易价格和发送对象列表等);
然后事件对象(DealRequestEvent)通过Map将其数据序列化,最终通过socket通信函数将该交易请求事件发送给连接服务器;
连接服务器将该交易请求处理后发送到消息服务器,以便处理该交易请求的应用服务器读取并处理,应用服务器处理后,得到的最终的处理结果,即转发到张三、李四和王五的请求,通过服务器事件的方式再次存储到消息服务器;
如图6B所示,连接服务器从消息服务器读取到该服务器事件后,将其转换成对应的客户端事件,对事件进行分发,并通过socket通信发送给用户:张三、李四和王五;
客户端的交易请求管理监听类(InquiryManager)调用函数Receiveinquery弹窗处理。
比如用户:张三;
张三所使用的客户端的交易请求接收面板上限定了交易ID,交易类型、交易品种、交易限定时间、交易价格,交易状态,发送方和接收方等等。
基于同一发明构思,本发明实施例还提供了一种业务流程的处理系统,由于该系统所解决问题的原理与前述业务流程的处理方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种业务流程的处理系统,如图1所示,包括:应用服务器和连接服务器;其中:
参照图7所示,所述应用服务器,包括:
缓存模块701,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块702,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块703,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
第一事件处理模块704,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块705,用于将处理结果生成服务器事件;
发送模块706,用于将所述生成模块305生成的服务器事件发送给消息服务器;
数据更新模块707,用于根据所述处理结果,更新数据库服务器中的数据库数据;
参照图8所示,所述连接服务器,包括:
第二事件处理模块801,用于监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;
缓存更新模块802,用于根据处理结果更新缓存的数据;
转换模块803,用于将服务器事件转换成客户端事件;
分发模块804,用于根据该服务器事件的分发列表,发送给对应的客户端。
在一个实施例中,上述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,上述状态流转模块703,如图9所示,包括:
解析子模块7031,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块7032,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块7033,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,上述业务流程的处理系统中的应用服务器,如图7所示,还包括:转换模块708,用于在消息读取模块读取该服务器事件之后,将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;以及将所述事件处理模块得到的处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,上述业务流程的处理系统中的应用服务器,如图7所示,还包括:线程池启动模块709;
线程池启动模块709用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,如图7所示,上述业务流程的处理系统中的应用服务器,还包括:状态更新模块710和异常处理模块711;其中:
上述状态更新模块710,用于当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新该流程的状态为所述下一个状态;
上述生成模块705,还用于将交易信息、流程的状态信息和处理结果生成服务器事件;
上述异常处理模块711,用于通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,结束所述流程的处理,并通告中控客户端。
在一个实施例中,上述第二事件处理模块801,如图10所示,包括:
队列缓存子模块8011,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块8012,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块8013,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
事件处理线程的处理性能与所处理的服务器事件的优先级级别正相关。
在一个实施例中,客户端在连接服务器侧分配有对应的会话模型对象;会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
分发模块804,用于根据分发列表,确定是否需要将事件转发给对应的客户端;若需要,则根据客户端的socket连接的标识,将事件发送给对应的客户端。
本发明实施例提供的业务流程的处理方法及相关系统中,应用服务器预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,一方面,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,另一方面,将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
进一步地,本发明实施例提供的上述业务流程的处理方法及相关系统中,处理业务逻辑的类与处理状态机的类所使用的线程从预设的处理服务器事件的线程池和状态机流转引擎线程池中调用,使用线程池的方式,线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力,尤其对于交易量非常大的票据交易系统而言,通过线程池的方式,可以进一步增提升应用服务器处理能力,并有效节约处理器资源。
进一步地,本发明实施例提供的上述业务流程的处理方法及相关系统中,应用服务器处理的事件从消息服务器中来,处理完成后依然交由消息服务器,所有服务器之间的事件(消息)均通过消息服务器中转,尤其对于集群服务器的方式而言,采用消息服务器中转的方式,可以使得彼此有交互的两个服务器之间不再一对一的直接交互,减少了服务器等待对方响应的时间,使得服务器可以集中资源处理本服务器应该处理的相关业务逻辑,提高了业务处理的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种业务流程的处理方法,其特征在于,包括:
应用服务器在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器;
连接服务器监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;根据处理结果更新缓存的数据,并将服务器事件转换成客户端事件,根据该服务器事件的分发列表,发送给对应的客户端。
2.如权利要求1所述的方法,其特征在于,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
3.如权利要求2所述的方法,其特征在于,所述根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
5.如权利要求1所述的方法,其特征在于,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
6.如权利要求1所述的方法,其特征在于,所述客户端在所述连接服务器侧分配有对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述根据该服务器事件的分发列表,发送给对应的客户端,包括:
所述会话模型对象根据所述分发列表,确定是否需要将所述事件转发给对应的客户端;若需要,则根据所述客户端的socket连接的标识,将所述事件发送给对应的客户端。
7.一种业务流程的处理系统,其特征在于,包括:应用服务器和连接服务器;其中:
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
状态流转模块,用于根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
第一事件处理模块,用于通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据;
所述连接服务器,包括:
第二事件处理模块,用于监听到需转发至客户端的交易处理结果的服务器事件时,根据所述交易处理结果对应的优先级级别,分配对应级别的事件处理线程分别进行处理;
缓存更新模块,用于根据处理结果更新缓存的数据;
转换模块,用于将服务器事件转换成客户端事件;
分发模块,用于根据该服务器事件的分发列表,发送给对应的客户端。
8.如权利要求7所述的系统,其特征在于,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
9.如权利要求8所述的系统,其特征在于,所述状态流转模块,包括:
解析子模块,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块,用于通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
10.如权利要求7所述的系统,其特征在于,还包括:线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;
所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
11.如权利要求6所述的系统,其特征在于,所述第二事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
12.如权利要求6所述的系统,其特征在于,所述客户端在所述连接服务器侧分配有对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述分发模块,用于根据所述分发列表,确定是否需要将所述事件转发给对应的客户端;若需要,则根据所述客户端的socket连接的标识,将所述事件发送给对应的客户端。
CN201611219367.8A 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统 Pending CN107656823A (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
CN201610591965 2016-07-25
CN2016105919651 2016-07-25
CN201610607261.9A CN106326016A (zh) 2016-07-28 2016-07-28 一种多线程事件分发方法和系统
CN201610606530.XA CN106227584A (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
CN107656823A true CN107656823A (zh) 2018-02-02

Family

ID=61126735

Family Applications (31)

Application Number Title Priority Date Filing Date
CN201611220312.9A Withdrawn CN107656781A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220307.8A Pending CN107656824A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611219367.8A Pending CN107656823A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统
CN201611220324.1A Withdrawn CN107659548A (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 一种票据交易的流程实现方法及相关系统
CN201611219315.0A Pending CN107656821A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611219329.2A Withdrawn CN107657420A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611218372.7A Withdrawn CN107659605A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611219359.3A Pending CN107656822A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统
CN201611218389.2A Withdrawn CN107657530A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及系统
CN201611219300.4A Pending CN107656820A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611218383.5A Pending CN107656801A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219325.4A Withdrawn CN107656778A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219350.2A Withdrawn CN107656780A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220358.0A Withdrawn CN107657518A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关装置和服务器
CN201611218373.1A Withdrawn CN107657517A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关装置和服务器
CN201611220354.2A Withdrawn CN107659549A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611219323.5A Withdrawn CN107656777A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220322.2A Withdrawn CN107656809A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611220361.2A Withdrawn CN107656784A (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 一种业务流程的处理方法及系统
CN201611220338.3A Withdrawn CN107656783A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219331.XA Withdrawn CN107656779A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关系统
CN201611218388.8A Pending CN107659547A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611218348.3A Pending CN107659546A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611218386.9A Pending CN107656818A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611220292.5A Withdrawn CN107657501A (zh) 2016-07-25 2016-12-26 一种数据实时更新的方法及相关装置和服务器
CN201611218394.3A Pending CN107656819A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统
CN201611219280.0A Withdrawn CN107657419A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201611220312.9A Withdrawn CN107656781A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220307.8A Pending CN107656824A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器

Family Applications After (28)

Application Number Title Priority Date Filing Date
CN201611220324.1A Withdrawn CN107659548A (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 一种票据交易的流程实现方法及相关系统
CN201611219315.0A Pending CN107656821A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611219329.2A Withdrawn CN107657420A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611218372.7A Withdrawn CN107659605A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611219359.3A Pending CN107656822A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统
CN201611218389.2A Withdrawn CN107657530A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及系统
CN201611219300.4A Pending CN107656820A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611218383.5A Pending CN107656801A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219325.4A Withdrawn CN107656778A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219350.2A Withdrawn CN107656780A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220358.0A Withdrawn CN107657518A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关装置和服务器
CN201611218373.1A Withdrawn CN107657517A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关装置和服务器
CN201611220354.2A Withdrawn CN107659549A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611219323.5A Withdrawn CN107656777A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611220322.2A Withdrawn CN107656809A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611220361.2A Withdrawn CN107656784A (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 一种业务流程的处理方法及系统
CN201611220338.3A Withdrawn CN107656783A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统
CN201611219331.XA Withdrawn CN107656779A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及相关系统
CN201611218388.8A Pending CN107659547A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611218348.3A Pending CN107659546A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611218386.9A Pending CN107656818A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611220292.5A Withdrawn CN107657501A (zh) 2016-07-25 2016-12-26 一种数据实时更新的方法及相关装置和服务器
CN201611218394.3A Pending CN107656819A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关系统
CN201611219280.0A Withdrawn CN107657419A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器

Country Status (1)

Country Link
CN (31) CN107656781A (zh)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
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 浙江大搜车软件技术有限公司 业务处理方法、装置、计算机设备和存储介质
CN111158928B (zh) * 2019-12-18 2024-04-05 东软集团股份有限公司 分布式系统及通信方法
CN111131425B (zh) * 2019-12-18 2022-08-30 东软集团股份有限公司 分布式系统以及分布式系统的通信方法
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 平安银行股份有限公司 基于多线程的异步任务处理方法、装置、设备及介质
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 阿里云计算有限公司 一种数据处理方法及装置
CN115225633B (zh) * 2022-06-24 2024-04-12 浪潮软件集团有限公司 基于对端网络信号的状态机状态转换方法及系统
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482566A (zh) * 2003-01-22 2004-03-17 余育新 分布式工作流管理平台
CN1983313A (zh) * 2006-04-07 2007-06-20 华为技术有限公司 工作流数据处理装置及方法
CN101957751A (zh) * 2010-06-04 2011-01-26 福建星网锐捷网络有限公司 一种状态机的实现方法及装置
CN102255867A (zh) * 2010-05-18 2011-11-23 华为技术有限公司 服务请求处理方法、装置及系统
CN102594798A (zh) * 2011-12-31 2012-07-18 苏州阔地网络科技有限公司 一种连接数据库的代理方法及系统
CN103093342A (zh) * 2013-01-11 2013-05-08 北京掌上汇通科技发展有限公司 一种联机交易处理平台及其交易处理方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
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
CN1487446A (zh) * 2003-06-24 2004-04-07 深圳市华磊网络技术有限公司 服务器端应用为浏览器客户端提供用户界面的方法
CN101201753B (zh) * 2007-12-13 2012-12-26 浪潮通信信息系统有限公司 一种多状态机管理引擎的配置管理方法
CN101873334B (zh) * 2009-04-24 2013-01-02 同济大学 一种状态驱动的可执行业务流程执行方法
CN101551745A (zh) * 2009-05-13 2009-10-07 山东中创软件工程股份有限公司 大幅度提高工作流引擎性能的方法
CN101741850B (zh) * 2009-12-25 2012-05-30 北京邮电大学 面向混合网络服务的多任务并发执行系统及方法
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 深圳华大基因科技有限公司 高性能文件传输系统及方法
CN102693434B (zh) * 2011-03-22 2015-01-28 中兴通讯股份有限公司 射频识别设备接口层的通信装置及方法
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 中国移动(深圳)有限公司 一种漫游清算服务调度方法、中间件及系统
CN102664934B (zh) * 2012-04-06 2015-04-15 北京华夏电通科技股份有限公司 一种用于服务器自适应自反馈的多线程控制方法及系统
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
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 东软集团股份有限公司 工作流运行期的事件处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482566A (zh) * 2003-01-22 2004-03-17 余育新 分布式工作流管理平台
CN1983313A (zh) * 2006-04-07 2007-06-20 华为技术有限公司 工作流数据处理装置及方法
CN102255867A (zh) * 2010-05-18 2011-11-23 华为技术有限公司 服务请求处理方法、装置及系统
CN101957751A (zh) * 2010-06-04 2011-01-26 福建星网锐捷网络有限公司 一种状态机的实现方法及装置
CN102594798A (zh) * 2011-12-31 2012-07-18 苏州阔地网络科技有限公司 一种连接数据库的代理方法及系统
CN103093342A (zh) * 2013-01-11 2013-05-08 北京掌上汇通科技发展有限公司 一种联机交易处理平台及其交易处理方法

Also Published As

Publication number Publication date
CN107659546A (zh) 2018-02-02
CN107656782A (zh) 2018-02-02
CN107657420A (zh) 2018-02-02
CN107656777A (zh) 2018-02-02
CN107656819A (zh) 2018-02-02
CN107656779A (zh) 2018-02-02
CN107659548A (zh) 2018-02-02
CN107657530A (zh) 2018-02-02
CN107656821A (zh) 2018-02-02
CN107657419A (zh) 2018-02-02
CN107659547A (zh) 2018-02-02
CN107656780A (zh) 2018-02-02
CN107657501A (zh) 2018-02-02
CN107657518A (zh) 2018-02-02
CN107657517A (zh) 2018-02-02
CN107656818A (zh) 2018-02-02
CN107656809A (zh) 2018-02-02
CN107656778A (zh) 2018-02-02
CN107656801A (zh) 2018-02-02
CN107657532A (zh) 2018-02-02
CN107659605A (zh) 2018-02-02
CN107656784A (zh) 2018-02-02
CN107659549A (zh) 2018-02-02
CN107656808A (zh) 2018-02-02
CN107656781A (zh) 2018-02-02
CN107657531A (zh) 2018-02-02
CN107656820A (zh) 2018-02-02
CN107656783A (zh) 2018-02-02
CN107656822A (zh) 2018-02-02
CN107656824A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN107656823A (zh) 一种业务流程的处理方法及相关系统
US10862989B2 (en) Push notification delivery system
CN112602063B (zh) 用于应用执行的发布-订阅框架
CN105939335B (zh) 发布-订阅数据处理环境中管理通道所有权的方法和系统
CN107809480A (zh) 一种交易整流系统
CN107888787A (zh) 一种媒体接入请求的处理方法及装置
US20090313160A1 (en) Hardware accelerated exchange order routing appliance
CN110413918A (zh) 数据发送方法、装置、设备及存储介质
JP2008135013A (ja) 注文システム
CN115250276A (zh) 分布式系统及数据处理的方法和装置
CN111724262A (zh) 一种应用服务器后续包查询系统及其工作方法
US12003472B1 (en) Methods, systems and computer readable media for coordinating publish-subscribe messaging
CN107920106A (zh) 一种高并发业务的计数方法和系统
TWI238327B (en) Message delivery system transmitting massive messages in short period of time
JP2022535489A (ja) アウトバウンド市場および参照データのための統合貢献データブリッジを実装するシステムおよび方法
CN117076558A (zh) 一种基于多计算引擎的海量数据在线分析方法及其系统
CN113347208A (zh) 用于确定网络节点的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180202