CN107659605A - 一种票据交易的流程实现方法及相关系统 - Google Patents

一种票据交易的流程实现方法及相关系统 Download PDF

Info

Publication number
CN107659605A
CN107659605A CN201611218372.7A CN201611218372A CN107659605A CN 107659605 A CN107659605 A CN 107659605A CN 201611218372 A CN201611218372 A CN 201611218372A CN 107659605 A CN107659605 A CN 107659605A
Authority
CN
China
Prior art keywords
server
client
data
event
state machine
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
Application number
CN201611218372.7A
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 CN201610606530.XA external-priority patent/CN106227584A/zh
Priority claimed from CN201610607261.9A external-priority patent/CN106326016A/zh
Application filed by Wuhan Bill Trading Center Co Ltd filed Critical Wuhan Bill Trading Center Co Ltd
Publication of CN107659605A publication Critical patent/CN107659605A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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)
  • 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

一种票据交易的流程实现方法及相关系统
技术领域
本发明涉及计算机技术领域,特别涉及一种票据交易的流程实现方法及相关系统。
背景技术
票据是指出票人依法签发的由自己或指示他人无条件支付一定金额给收款人或持票人的有价证券,即某些可以代替现金流通的有价证券。票据的形式可以包括纸质票据和电子票据。随着互联网的发展,许多基于互联网的票据交易平台应运而生。
以银行承兑汇票为例,现有的票据交易平台的交易模式如下:用户可以在网上发送公开、定向的银行承兑汇票买断式、回购式转贴现报价,通过报价应答方式与业务人员联系,线下进行进一步议价交易。或者用户还可以通过网上填写承兑行类型、票面金额、汇票到期日等信息进行线下沟通议价等。
上述网络的交易平台的一个共同点在交易过程中,其主要作用还是发布交易信息,交易双方只能线下点对点进行票据议价,线下交易,一方面,银行承兑汇票进行交易要考虑的要素很多,在网站上找到自己想要的票据要花费很长的时间;另外一方面,当找到想要进行交易的票后要在线下通过一个一个打电话等方式跟对手方进行议价,费时费力还有可能失败从而需要重新寻找合适的票;最后,因为用户掌握的信息有限,所以用户在交易中的利益不能得到预期的保证。
基于上述问题,如何提供一种票据交易系统,实现高效的票据交易流程流转,实现整个票据交易的电子化,解决用户之间信息不对称的问题,使交易双方都能够高效率地找到自身想要交易的票据或者交易者,并且,在流程处理完成后,将流程处理结果实时推送给客户端,成为亟待解决的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种票据交易的流程实现方法及相关系统。
第一方面,本发明实施例提供一种票据交易的流程实现方法,包括:
步骤一、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;
步骤二、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
其中:所述步骤一,包括:
在启动时,将各类交易下各业务流程对应的状态机信息缓存,并分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;
所述步骤二,包括:当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
在一个实施例中,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,所述根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的各流程对应的状态机信息中,确定所述交易下所述流程对应的状态机信息;
从状态机流转引擎线程池中调用对应的状态机流转引擎线程;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,所述处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。
在一个实施例中,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
所述处理结果生成服务器事件,包括:
将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,所述方法还包括:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
否则,结束所述流程的处理,并通告中控客户端。
在一个实施例中,所述视图模型通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
在一个实施例中,在客户端已登录且与连接服务器连接后,还包括:为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型,具体包括:
在所述客户端对应的会话模型对象中新建对应的视图模型。
在一个实施例中,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据,包括:
将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,所述方法还包括:
当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格中的位置作为上游标和下游标并保存;
当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;更新所保存的上游标和下游标。
在一个实施例中,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;
在视图模型中增加数据和删除数据之后,还包括:针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
在一个实施例中,根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端,当需要时,将更新的数据推送给客户端,包括:
判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;
若是,将从上游标之后的n条表格数据重新推送给所述客户端。
第二方面,本发明实施例提供一种票据交易的流程实现系统,包括:
应用服务器,用于对票据交易流程进行处理,得到处理结果并发送给消息服务器;
连接服务器,用于从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
消息服务器,用于存储与转发服务器间的消息;其中:
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;
状态流转模块,用于根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块,用于从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据;
所述连接服务器,包括:
更新模块,用于当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的上述票据交易的流程方法及相关系统,应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器,连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端其中应用服务器,一方面,应用服务器对流程进行处理时,预先将各类交易下业务流程对应的状态机信息缓存,并创建处理服务器事件的线程池和状态机流转引擎线程池,当从消息服务器读取服务器事件时,从状态机流转引擎线程池中调用状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再从处理服务器事件的线程池中调用处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。通过使用线程池减少在创建和销毁线程上所花的时间及系统资源的开销(将线程预先创建出来),避免造成系统创建大量线程而导致消耗完系统内存以及“过度切换”。线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力。
另一方面,连接服务器利用视图模型实现客户端侧交易数据的实时刷新,视图模型是客户端将需要实时刷新的表格预先在连接服务器中注册的镜像,当发生交易数据的更新时,与客户端的显示的表格数据始终保持一致,保证表格内容实时更新的准确性,在必要时可以迅速响应表格刷新的需求;根据客户端当前显示的页面内容,如果更新的内容在当前显示页面对应的数据中,则判断将更新的数据和视图模型的标识发给客户端,避免了客户端与服务器之间不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1A-1C为本发明实施例提供的票据交易的流程实现方法的流程图;
图2为本发明实施例提供的票据交易的流程实现方法中步骤S13的具体过程的流程图;
图3为本发明实施例中会话模型对象的示意图;
图4为本发明实施例中更新本地缓存中分发列表中每个客户端与所述处理结果对应的视图模型的数据的步骤的流程图;
图5为本发明实施例中票据交易的流程实现方法的另一流程图;
图6为本发明实施例中步骤S12′和S13′具体实施流程图;
图7为本发明实施例中一个简单例子的流程图;
图8A为本发明实施例提供的票据交易的流程实现系统的结构示意图;
图8B为本发明实施例提供的应用服务器的结构框图;
图9为本发明实施例提供的应用服务器中的状态流转模块的结构框图;
图10为本发明实施例中连接服务器更新模块的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图,对本发明实施例提供的票据交易的流程实现方法及相关系统的具体实施方式进行详细的说明。
本发明实施例提供的票据交易的流程实现方法,可用于票据交易系统,在该票据交易系统中,包含应用服务器、消息服务器和连接服务器等等,在同一个票据交易系统中,应用服务器是负责处理业务逻辑的服务器;应用服务器可以有一个或多个,应用服务器有多个时,彼此可以组成应用服务器集群,应用服务器与其他服务器例如连接服务器、其他应用服务器等之间并不直接交互,而是通过消息服务器进行消息的中转,消息服务器起到消息中间件的作用,缓存和转发每个服务器所需的消息(服务器事件),连接服务器起到建立和管理客户端连接会话,向客户端推送交易变化数据、弹窗等作用。
参照图1A所示,本发明实施例提供的票据交易的流程实现方法,包括下述步骤:
步骤S1、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;
步骤S2、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
其中,上述步骤S1,参照图1B所示,具体包括下述步骤:
S11、在启动时,将各类交易下业务流程对应的状态机信息缓存,并分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;
S12、当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;
S13、根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
S14、从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
S15、将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据。
其中,上述步骤S2,参照图1C所示,具体包括下述步骤:
S11′、当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
S12′、根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
S13′、当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据视图模型的标识更新本地对应的表格。
本发明实施例提供的票据交易的流程实现方法中,应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器,连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端其中应用服务器,一方面,应用服务器对流程进行处理时,预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,并且将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
另一方面,连接服务器利用视图模型实现客户端侧交易数据的实时刷新,视图模型是客户端将需要实时刷新的表格预先在连接服务器中注册的镜像,当发生交易数据的更新时,与客户端的显示的表格数据始终保持一致,保证表格内容实时更新的准确性,在必要时可以迅速响应表格刷新的需求;根据客户端当前显示的页面内容,如果更新的内容在当前显示页面对应的数据中,则判断将更新的数据和视图模型的标识发给客户端,避免了客户端与服务器之间不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
本发明实施例中,通过创建线程池,减少在创建和销毁线程上所花的时间及系统资源的开销(将线程预先创建出来);如果不使用线程池,则有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”。
线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力。
线程池中线程初始化预设数量的线程,后续再根据任务量的多少,进行动态的增加或减少,每次增加或减少可以是固定数量的线程。
在本发明实施例中,票据交易系统可以实现多类型的票据交易,例如买断、卖断、正回购、逆回购等等。每种票据交易类型都具有唯一的协议号,在每种交易类型下面,又包括多种交易流程,每种流程都对应一个状态机,状态机记录了相关流程流转的信息。
参照下表1所示的例子,标识为32的状态机的描述为“TEST Process”,标识为21的状态机的描述为“ticket Process”,分别对应不同的流程。
表1
状态机ID 状态机ID 初始化状态ID
32 TEST Process 51
21 ticket Process 14
在一个实施例中,状态机信息包括多种,例如包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
参照下表2所示的例子,标识为32的状态机中记录了多个流程流转信息。
表2
在一个实施例中,上述步骤S11中,应用服务器可以在启动时,将各类交易下业务流程对应的状态机信息缓存在内存中,并在关闭时,删除状态机信息,释放内存。
在一个实施例中,上述步骤S11中,在进行缓存的同时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池。其中,处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。较佳的,线程池适用于单个任务处理时间较短,但所需处理的任务数量大的情况。
在一个实施例中,上述步骤S12中,消息服务器中的消息的发布者可能是连接服务器,或者其他应用服务器,或者票据交易系统中的认证服务器等等,当本应用服务器订阅了这类消息时,对消息服务器中缓存的服务器事件进行监听,就能读取本应用服务器需要处理的服务器事件。
相应地,如图2所示,上述步骤S13中根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类的步骤,可以通过下述步骤S21-S23实现:
S21、从服务器事件中解析出交易信息和流程信息;
服务器事件中包含了是哪类交易,以及是哪类交易下的哪类流程。
S22、从所缓存的各流程对应的状态机信息中,确定该交易下该流程对应的状态机信息;
S23、从状态机流转引擎线程池中调用对应的状态机流转引擎线程;
也就是说,状态机流转引擎线程,可以从预先启动的状态机流转引擎线程池中调用。
S24、通过对应的状态机流转引擎线程,查询状态机信息,根据该交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
例如,按照表2,当当前状态名称为等待回复时,且操作/事件为确定时,查询状态机信息可以知道下一个状态的名称为完成,对应处理该事件的类为 OKHandler。
各流程对应的状态机的生成可以参照现有技术,本发明实施例在此不再赘述。
较佳地,在上述步骤S14中,处理服务器事件的类的线程,可以从预先启动的用于处理服务器事件的线程池中调用。
应用服务器在启动时,除了将各类交易下业务流程对应的状态机信息缓存之外,还可以执行下述步骤即:启动用于处理服务器事件的线程池和状态机流转引擎线程池。
线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力。
线程池中线程初始化预设数量的线程,后续再根据任务量的多少,进行动态的增加或减少,每次增加或减少可以是固定数量的线程。
线程池适用于单个任务处理时间较短,但所需处理的任务数量大的情况,使用线程池的好处:1、减少在创建和销毁线程上所花的时间及系统资源的开销(将线程预先创建出来),2、如果不使用线程池,则有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”。
许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中为请求服务。但当有大量请求并发访问时,服务器不断的创建和销毁对象的开销很大。所以提高服务器效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。
线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,缓冲池给这次请求分配一个空闲线程,把请求传入此线程中运行,进行处理。当预先创建的线程都处于运行状态,即预制线程不够,线程池可以自由创建一定数量的新线程,用于处理更多的请求。当系统比较闲的时候,也可以通过移除一部分一直处于停用状态的线程。
线程池中的多线程并非越多越好,需要根据系统运行的软硬件环境以及应用本身的特点决定线程池的大小。如果处理任务较多,线程运行时可能出现阻塞现象,可相应增加池的大小;如处理任务较少,必要时可采用自适应算法来动态调整线程池的大小,以提高CPU的有效利用率和系统的整体性能。
在一个实施例中,本发明实施例提供的上述票据交易的流程实现方法,在服务器之间传递的消息类型与应用服务器内部处理事件的类型不同时,在上述步骤S12读取该服务器事件之后,还需要执行下述步骤:将服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
相应地,上述步骤S15处理结果生成服务器事件,具体通过下述步骤实现:将服务事件的处理结果,按照所述服务器之间的消息类型进行封装,生成新的服务器事件(已不同于步骤S12中读取的服务器事件)。
进一步地,本发明实施例提供的上述票据交易的流程实现方法,还可以执行下述步骤:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新该流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
发送给消息服务器后,订阅了这类服务器事件的其他服务器就会从消息服务器中进一步读取该服务器事件,然后进一步处理。
否则,当通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,直接结束所述流程的处理,并通告中控客户端。
中控客户端接收到通告后,可以通过人工干预的方式,对流程中出错的原因进行排查。
比如票据议价的流程,如果一旦处理出错,则直接中断该流程的执行,使该流程回到起点,即通知发起交易的客户端重新发起交易,同时因为议价流程被锁定的持仓也被释放。
在一个实施例中,每个视图模型都与一个需要实时刷新的表格相对应。需要实时刷新的表格包括:现有持仓、持仓日志、交易动态等表格,一个票据交易状态的变化,可能会涉及到买家、卖家多个交易员当前显示界面中需要实时刷新的表格,这类表格的内容,不需要用户主动点击刷新,就能够智能刷新,实时地展示交易变化,使用户能够直观地、快速地了解当前交易行情。视图模型(MVC,Model-View-Controller)是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像,也就是说,视图模型的数据内容始终保持与客户端的实时同步,至于是否需要将更新的数据交易推送给客户端展示,则需要根据当前客户端所展示的页面来决定。
上述实施例中,处理结果的分发列表可以是由应用服务器发送给连接服务器的,分发列表中包含交易数据所涉及的各个客户端的标识。
进一步地,上述视图模型可以在客户端登录,与连接服务器建立连接,并请求加载相关页面时注册,具体来说,可以通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
客户端登录后,与连接服务器建立了连接,此时,当客户端请求加载某页面,而该页面上有预设的需要实时刷新的表格时,客户端会向连接服务器发送视图模型注册请求,连接服务器据此为该客户端建立与这些需要实时刷新的表格所对应的视图模型。
进一步地,在客户端登录且与连接服务器连接之后,连接服务器还可以为客户端分配与该客户端对应的会话(session)模型对象,会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
这样,如图3所示,在连接服务器中,包含多个会话模型对象,每个会话模型对象都与一个客户端对应,会话模型对象用于管理每个客户端的视图模型。
上述连接服务器为该客户端建立与这些需要实时刷新的表格所对应的视图模型,具体可实施为:在客户端对应的会话模型对象中新建对应的视图模型。
进一步地,在上述步骤S11′中,更新本地缓存中分发列表中每个客户端与所述处理结果对应的视图模型的数据的步骤,如图4所示,具体可实施为:
S41、将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
S42、通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,本发明实施例提供的上述票据交易的流程实现方法,如图5所示,还可以执行下述步骤:
S51、当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;
S52、分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;
S53、当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;
S54、将所述表格数据发送给客户端;
S55、更新所保存的上游标和下游标。
客户端显示的页面中,每一页都只显示n条数据,为了保证数据的实时推送,需要对客户端当前显示页面是那些数据进行记录,一旦发生更新的数据位于客户端当前显示的数据中,那么需要对客户端的数据进行刷新。
当接收到客户端的表格分页刷新请求时,如果客户端选择翻到后一页,则从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,如果客户端选择翻到前一页,则从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据。
以一个例子进行说明,从视图模型中的全部数据的第1条数据开始,发送 30条数据给客户端的情况下,上游标可记为1,下游标记为30;当连接服务端收到客户端的刷新请求,发送下一个30条数据后,则上游标更新为31,下游标更新为60;若客户端此时只有15条数据可发送,发送15条数据后,则上游标更新为31,下游标更新为45。
若视图模型中的全部数据的数量小于或等于n条表格数据,则向客户端发送全部数据。
在本发明实施例中,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;
由于增加和删除会导致视图模型中数据条目的变化,因此在增加和删除数据之后,还需要针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
例如视图模型中包含1-100条数据,如果在第32条这个位置增加一条数据,则原有的第32条数据会变成第33条数据,依次类推,最后一条数据变成第101条数据。
进一步地,上述步骤S12′和S13′,如图6所示,在具体实施时,可以通过下述步骤实现:
S61、判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;若是,执行S62;
S62、将从上游标之后的n条表格数据重新推送给所述客户端。
一方面,需要在连接服务器视图模型中,始终保持实时更新的数据,另一方面,这样的数据并不一定需要实时推送给客户端,只有需要更新的数据位于上游标和下游标之间时,才会将更新后的数据推送过去,减少了客户端与服务器之间的不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
一个简单的例子中,应用服务器处理交易完成后,在数据1和数据2后面增加了数据3,并将该事件封装,发送给消息服务器后,连接服务器读取该事件,如图7所示,连接服务器接收到该事件后,将其发送给分发列表中所有用户的会话模型对象,会话模型对象发送给对应的视图模型对象,接收到该事件的视图模型对象处理该事件,对视图模型的数据进行更新,当客户端B查看对应的更新的数据时,向客户端例如客户端B推送数据1-3。
基于同一发明构思,本发明实施例还提供了一种票据交易的流程实现方法及相关系统,由于该系统所解决问题的原理与前述票据交易的流程实现方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
票据交易的流程实现系统,如图8A所示,包括:
应用服务器81,用于对票据交易流程进行处理,得到处理结果并发送给消息服务器;
连接服务器82,用于从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
消息服务器83,用于存储与转发服务器间的消息;其中:
应用服务器81,如图8B所示,包括:
缓存模块8101,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
线程池启动模块8102,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;
消息读取模块8103,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;
状态流转模块8104,用于根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块8105,用于从处理服务器事件的线程池中,调用处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块8106,用于将处理结果生成服务器事件;
发送模块8107,用于将生成模块8106生成的服务器事件发送给消息服务器;
数据更新模块8108,用于根据处理结果,更新数据库服务器中的数据库数据。
连接服务器82,包括:
更新模块,用于当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
在一个实施例中,上述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
在一个实施例中,上述状态流转模块8104,参照图9所示,包括:
解析子模块81041,用于从所述服务器事件中解析出交易信息和流程信息;
确定子模块81042,用于从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;
查询子模块81043,用于从状态机流转引擎线程池中调用对应的状态机流转引擎线程;通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
在一个实施例中,处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。
在一个实施例中,上述应用服务器,参照图8B所示,还包括:转换模块 8109,用于在消息读取模块8103读取该服务器事件之后,将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;以及将事件处理模块8105得到的处理结果,按照服务器之间的消息类型进行封装,生成服务器事件。
在一个实施例中,上述线程池启动模块8102在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;状态机流转引擎线程和处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。
在一个实施例中,如图8B所示,上述应用服务器81,还包括:状态更新模块8110和异常处理模块8111;其中:
上述状态更新模块8110,用于当通过处理该服务器事件的类的线程,处理服务器事件成功时,更新该流程的状态为所述下一个状态;
上述生成模块8106,还用于将交易信息、流程的状态信息和处理结果生成服务器事件;
上述异常处理模块8111,用于通过处理该服务器事件的类的线程,处理所述服务器事件出现错误时,结束所述流程的处理,并通告中控客户端。
上述连接服务器82,还包括:
视图注册模块,用于在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
上述连接服务器,还包括:会话模型建立模块,用于在客户端已登录且与连接服务器连接后,为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
相应地,上述视图注册模块,还用于在所述客户端对应的回话模型对象中新建对应的视图模型。
在一个实施例中,上述更新模块,如图10所示,包括:
发送子模块82011,用于将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
更新子模块82012,用于通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,上述连接服务器82,还包括:
分页显示同步模块,用于当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;
游标记录模块,用于在分页显示同步模块显示数据时,分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;并在当接收客户端的表格分页刷新请求时,更新所保存的上游标和下游标。
在一个实施例中,上述更新模块,具体用于当在视图模型中增加数据和删除数据之后,针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
在一个实施例中,上述判断模块,具体用于判断发生更新的数据在整个表格中的位置,是否位于所述上游标和下游标之间;
相应地,上述推送模块,具体用于当判断模块判断为是时,若是,将从上游标之后的n条表格数据重新推送给所述客户端。
本发明实施例提供的票据交易的流程实现方法及相关系统中,应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器,连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端其中应用服务器,一方面,应用服务器对流程进行处理时,预先将各类交易下业务流程对应的状态机信息缓存,当从消息服务器读取服务器事件时,通过状态机流转引擎线程,读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,再通过处理该服务器事件的类的线程,处理该事件得到处理结果,将处理结果通过新的服务器事件发给消息服务器,并更新数据库,在整个处理过程中,利用了状态机,实现了业务流程的准确快速的流转,并且,将状态机预先缓存的方式,便于快速读取,提高了响应的速度,将处理业务逻辑的类与处理状态机的类(状态机流转引擎)分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度。
另一方面,连接服务器利用视图模型实现客户端侧交易数据的实时刷新,视图模型是客户端将需要实时刷新的表格预先在连接服务器中注册的镜像,当发生交易数据的更新时,与客户端的显示的表格数据始终保持一致,保证表格内容实时更新的准确性,在必要时可以迅速响应表格刷新的需求;根据客户端当前显示的页面内容,如果更新的内容在当前显示页面对应的数据中,则判断将更新的数据和视图模型的标识发给客户端,避免了客户端与服务器之间不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
进一步地,本发明实施例提供的上述票据交易的流程实现方法及相关系统中,处理业务逻辑的类与处理状态机的类所使用的线程从预设的处理服务器事件的线程池和状态机流转引擎线程池中调用,使用线程池的方式,线程池中包含预先创建的多个线程,当需要处理的任务产生时,可以直接调用预先已创建完成的线程,可以实现多线程同时执行,显著减少处理器的闲置时间,增加处理单元的吞吐能力,尤其对于交易量非常大的票据交易系统而言,通过线程池的方式,可以进一步增提升应用服务器处理能力,并有效节约处理器资源。
进一步地,本发明实施例提供的上述票据交易的流程实现方法及相关系统中,应用服务器处理的事件从消息服务器中来,处理完成后依然交由消息服务器,所有服务器之间的事件(消息)均通过消息服务器中转,尤其对于集群服务器的方式而言,采用消息服务器中转的方式,可以使得彼此有交互的两个服务器之间不再一对一的直接交互,减少了服务器等待对方响应的时间,使得服务器可以集中资源处理本服务器应该处理的相关业务逻辑,提高了业务处理的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种票据交易的流程实现方法,其特征在于,包括:
步骤一、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;
步骤二、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
其中:所述步骤一,包括:
在启动时,将各类交易下各业务流程对应的状态机信息缓存,并分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;
所述步骤二,包括:当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
2.如权利要求1所述的方法,其特征在于,所述状态机信息包括:
状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。
3.如权利要求2所述的方法,其特征在于,所述根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:
从所述服务器事件中解析出交易信息和流程信息;
从所缓存的各流程对应的状态机信息中,确定所述交易下所述流程对应的状态机信息;
从状态机流转引擎线程池中调用对应的状态机流转引擎线程;
通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。
4.如权利要求1所述的方法,其特征在于,所述处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。
5.如权利要求1-4任一项所述的方法,其特征在于,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;
所述处理结果生成服务器事件,包括:
将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。
6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;
将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;
否则,结束所述流程的处理,并通告中控客户端。
7.如权利要求1所述的方法,其特征在于,所述视图模型通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
8.如权利要求7所述的方法,其特征在于,在客户端已登录且与连接服务器连接后,还包括:为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型,具体包括:
在所述客户端对应的会话模型对象中新建对应的视图模型。
9.如权利要求8所述的方法,其特征在于,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据,包括:
将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格中的位置作为上游标和下游标并保存;
当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;更新所保存的上游标和下游标。
11.如权利要求7-10任一项所述的方法,其特征在于,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;
在视图模型中增加数据和删除数据之后,还包括:针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
12.如权利要求10所述的方法,其特征在于,根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端,当需要时,将更新的数据推送给客户端,包括:
判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;
若是,将从上游标之后的n条表格数据重新推送给所述客户端。
13.一种票据交易的流程实现系统,其特征在于,包括:
应用服务器,用于对票据交易流程进行处理,得到处理结果并发送给消息服务器;
连接服务器,用于从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;
消息服务器,用于存储与转发服务器间的消息;其中:
所述应用服务器,包括:
缓存模块,用于在启动时,将各类交易下业务流程对应的状态机信息缓存;
线程池启动模块,用于在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;
消息读取模块,用于当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;
状态流转模块,用于根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预先缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;
事件处理模块,用于从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;
生成模块,用于将处理结果生成服务器事件;
发送模块,用于将所述生成模块生成的服务器事件发送给消息服务器;
数据更新模块,用于根据所述处理结果,更新数据库服务器中的数据库数据;
所述连接服务器,包括:
更新模块,用于当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
CN201611218372.7A 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统 Withdrawn CN107659605A (zh)

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
CN201610803509 2016-09-06
CN2016108035099 2016-09-06
CN2016108410855 2016-09-22
CN201610841085 2016-09-22

Publications (1)

Publication Number Publication Date
CN107659605A true CN107659605A (zh) 2018-02-02

Family

ID=61126735

Family Applications (31)

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

Family Applications Before (25)

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

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN201611220322.2A Withdrawn CN107656809A (zh) 2016-07-25 2016-12-26 一种票据交易的流程实现方法及相关系统
CN201611220307.8A Pending CN107656824A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及相关装置和服务器
CN201611218348.3A Pending CN107659546A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及装置和服务器
CN201611218389.2A Withdrawn CN107657530A (zh) 2016-07-25 2016-12-26 一种业务流程的处理方法及系统
CN201611218383.5A Pending CN107656801A (zh) 2016-07-25 2016-12-26 一种基于事件的流程处理方法及系统

Country Status (1)

Country Link
CN (31) CN107657501A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595530A (zh) * 2018-03-30 2018-09-28 武汉楚鼎信息技术有限公司 一种后台处理和存储用户消息的方法及系统装置
CN110708356A (zh) * 2019-09-06 2020-01-17 国云科技股份有限公司 一种注册中心管理第三方应用的方法和系统
CN112131238A (zh) * 2020-09-30 2020-12-25 江苏苏宁银行股份有限公司 一种交易状态机设计方法、处理装置和处理方法

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122239A (zh) * 2017-04-28 2017-09-01 武汉票据交易中心有限公司 一种多线程事件分发方法和系统
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 中国联合网络通信集团有限公司 处理银行业务的方法、服务器、终端
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 中国建设银行股份有限公司 一种消息的处理方法和处理装置
CN111210286A (zh) * 2019-12-26 2020-05-29 大象慧云信息技术有限公司 一种基于税控服务器的发票高效开具方法及系统
CN111210288A (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的学生学习数据存储方法及装置
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 工银瑞信基金管理有限公司 业务数据的处理方法、装置、设备及介质
CN114385267A (zh) * 2022-01-13 2022-04-22 平安壹钱包电子商务有限公司 一种用于出款交易业务的数据推送方法
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 西安博达软件股份有限公司 一种基于时间轮算法的预约事件任务调度方法及系统

Family Cites Families (36)

* 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
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 山东中创软件工程股份有限公司 大幅度提高工作流引擎性能的方法
CN101741850B (zh) * 2009-12-25 2012-05-30 北京邮电大学 面向混合网络服务的多任务并发执行系统及方法
CN102255867A (zh) * 2010-05-18 2011-11-23 华为技术有限公司 服务请求处理方法、装置及系统
CN101957751B (zh) * 2010-06-04 2013-07-24 福建星网锐捷网络有限公司 一种状态机的实现方法及装置
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 北京邮电大学 一种基于事件处理的煤矿报警系统及方法
CN102594798A (zh) * 2011-12-31 2012-07-18 苏州阔地网络科技有限公司 一种连接数据库的代理方法及系统
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
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 东软集团股份有限公司 工作流运行期的事件处理方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595530A (zh) * 2018-03-30 2018-09-28 武汉楚鼎信息技术有限公司 一种后台处理和存储用户消息的方法及系统装置
CN110708356A (zh) * 2019-09-06 2020-01-17 国云科技股份有限公司 一种注册中心管理第三方应用的方法和系统
CN110708356B (zh) * 2019-09-06 2024-01-05 国云科技股份有限公司 一种注册中心管理第三方应用的方法和系统
CN112131238A (zh) * 2020-09-30 2020-12-25 江苏苏宁银行股份有限公司 一种交易状态机设计方法、处理装置和处理方法
CN112131238B (zh) * 2020-09-30 2022-07-22 江苏苏宁银行股份有限公司 一种交易状态机设计方法、处理装置和处理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107659605A (zh) 一种票据交易的流程实现方法及相关系统
US7856420B2 (en) Zero latency enterprise enriched publish/subscribe
US6954757B2 (en) Framework, architecture, method and system for reducing latency of business operations of an enterprise
CN107369012A (zh) 一种支付信息处理方法及系统、及具有履约保证保险机制的预付卡处理方法
CN108647958A (zh) 一种基于区块链的数字资产交易方法和系统
CN107430618A (zh) 实现与主计算设备进行用户语音交互的系统和方法
CN109240946A (zh) 数据的多级缓存方法及终端设备
CN109074384A (zh) 对上下文元数据排名以生成相关数据见解
US20020116354A1 (en) Method and system for transforming session data
CN110413918A (zh) 数据发送方法、装置、设备及存储介质
CN112948078A (zh) 基于服务调用的收益分配任务处理方法及装置
US7870098B2 (en) Method and system for maintaining historical data for data receivers
CA3177799A1 (en) Computer-based systems of microservice orchestration based on bounded contexts and methods of use thereof
CN116542754A (zh) 请求响应方法、装置、设备及存储介质
TWI238327B (en) Message delivery system transmitting massive messages in short period of time
WO2007089501A9 (en) Managing component configurations in a computer system

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