CN107657517A - 一种基于事件的流程处理方法及相关装置和服务器 - Google Patents
一种基于事件的流程处理方法及相关装置和服务器 Download PDFInfo
- Publication number
- CN107657517A CN107657517A CN201611218373.1A CN201611218373A CN107657517A CN 107657517 A CN107657517 A CN 107657517A CN 201611218373 A CN201611218373 A CN 201611218373A CN 107657517 A CN107657517 A CN 107657517A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- event
- data
- view model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2393—Updating materialised views
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/045—Payment circuits using payment protocols involving tickets
- G06Q20/0457—Payment circuits using payment protocols involving tickets the tickets being sent electronically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Human Resources & Organizations (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于事件的流程处理方法及相关装置和服务器。所述方法包括:当连接服务器接收到不是自身需要处理的服务器事件时,发送给消息服务器,以便其他应用服务器读取,当接收到应用服务器返回的交易处理结果时,根据处理结果的分发列表,更新本地缓存中分发列表中每个客户端与处理结果对应的视图模型的数据;视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据客户端当前显示的页面内容,判断是否需要将更新的数据推送给客户端;当需要时,将发生数据更新的视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据视图模型的标识更新本地对应的表格。本发明能够实现对用户所关心的数据的实时刷新。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于事件的流程处理方法及相关装置和服务器。
背景技术
票据是指出票人依法签发的由自己或指示他人无条件支付一定金额给收款人或持票人的有价证券,即某些可以代替现金流通的有价证券。票据的形式可以包括纸质票据和电子票据。随着互联网的发展,许多基于互联网的票据交易平台应运而生。
以银行承兑汇票为例,现有的票据交易平台的交易模式如下:用户可以在网上发送公开、定向的银行承兑汇票买断式、回购式转贴现报价,通过报价应答方式与业务人员联系,线下进行进一步议价交易。或者用户还可以通过网上填写承兑行类型、票面金额、汇票到期日等信息进行线下沟通议价等。
上述网络的交易平台的一个共同点在交易过程中,其主要作用还是发布交易信息,交易双方只能线下点对点进行票据议价,线下交易,一方面,银行承兑汇票进行交易要考虑的要素很多,在网站上找到自己想要的票据要花费很长的时间;另外一方面,当找到想要进行交易的票后要在线下通过一个一个打电话等方式跟对手方进行议价,费时费力还有可能失败从而需要重新寻找合适的票;最后,因为用户掌握的信息有限,所以用户在交易中的利益不能得到预期的保证。
基于上述问题,需要提供一种实现整体电子化交易的票据交易系统,以解决用户之间信息不对称的问题;同时,在票据交易系统中,如何实现交易数据的实时同步更新,不需要用户手动刷新就能够及时获取变化的交易信息,特别是在用户数量比较多,客户端数量比较多的时候,一个交易数据的变化,可能需要实时显示在多客户端,对系统处理速度提出了很高的要求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于事件的流程处理方法及相关装置和服务器。
第一方面,本发明实施例提供一种基于事件的流程处理方法,用于连接服务器,其特征在于,包括:
当接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;
当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
当确定为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
当接收到应用服务器返回的所述服务器事件对应的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
在一个实施例中,所述视图模型通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
在一个实施例中,在客户端已登录且与连接服务器连接后,还包括:为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型,具体包括:
在所述客户端对应的会话模型对象中新建对应的视图模型。
在一个实施例中,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据,包括:
将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,所述基于事件的流程处理方法,还包括:
当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格中的位置作为上游标和下游标并保存;
当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;更新所保存的上游标和下游标。
在一个实施例中,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;
在视图模型中增加数据和删除数据之后,还包括:针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
在一个实施例中,根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端,当需要时,将更新的数据推送给客户端,包括:
判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;
若是,将从上游标之后的n条表格数据重新推送给所述客户端。
在一个实施例中,所述确定所述事件是否为自身需要处理的服务器事件,包括:
所述连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
在一个实施例中,当所述服务器事件为多个时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
第二方面,本发明实施例提供一种基于事件的流程处理装置,包括:
确定模块,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
更新模块,用于当接收到应用服务器返回的所述服务器事件对应的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
在一个实施例中,上述基于事件的流程处理装置还包括:
视图注册模块,用于在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
在一个实施例中,上述装置还包括:会话模型建立模块,用于在客户端已登录且与连接服务器连接后,为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述视图注册模块,还用于在所述客户端对应的回话模型对象中新建对应的视图模型。
在一个实施例中,所述更新模块,包括:
发送子模块,用于将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
更新子模块,用于通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,上述装置,还包括:
分页显示同步模块,用于当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;
游标记录模块,用于在分页显示同步模块显示数据时,分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;并在当接收客户端的表格分页刷新请求时,更新所保存的上游标和下游标。
在一个实施例中,所述更新模块,具体用于当在视图模型中增加数据和删除数据之后,针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
在一个实施例中,所述判断模块,具体用于判断发生更新的数据在整个表格中的位置,是否位于所述上游标和下游标之间;
所述推送模块,具体用于当所述判断模块判断为是时,若是,将从上游标之后的n条表格数据重新推送给所述客户端。
在一个实施例中,所述确定模块,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
在一个实施例中,所述服务器事件为多个时,所述事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
第三方面,本发明实施例提供一种连接服务器,所述连接服务器包括本发明实施例提供的上述基于事件的流程处理装置。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的基于事件的流程处理方法及相关装置和服务器中,在接收到客户端发送的服务器事件时,确认该事件是否为自身需要处理的服务器事件,如果是,则使用预设的事件处理类进行处理,否则转发至消息服务器,以便其他应用服务器读取并处理,当接收到应用服务器返回的交易处理结果时,根据处理结果的分发列表,更新本地缓存中分发列表中每个客户端与处理结果对应的视图模型的数据,并根据客户端当前显示的页面内容,判断是否需要将更新的数据推送给客户端,在判断需要时,将数据更新涉及到的视图模型的标识与对应的更新的数据推送给客户端,客户端可以根据视图模型的标识更新对应的表格,一方面,采用视图模型,视图模型是客户端将需要实时刷新的表格预先在连接服务器中注册的镜像,当发生交易数据的更新时,与客户端的显示的表格数据始终保持一致,保证表格内容实时更新的准确性,在必要时可以迅速响应表格刷新的需求;另一方面,根据客户端当前显示的页面内容,如果更新的内容在当前显示页面对应的数据中,则判断将更新的数据和视图模型的标识发给客户端,避免了客户端与服务器之间不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
并且,在上述方案中,整个业务流程以事件为驱动,可以实现流程的快速流转,并且,应用服务器与连接服务器等服务器之间并不直接交互,而采用消息服务器进行消息的中转,消息服务器作为消息中间件(Message Queue,MQ),负责服务器之间消息的缓存和转发,这种方式,消息可以驻留在内存或者磁盘上,直到它们被需要处理它们的服务器的应用程序读走,通过消息队列,服务器可以独立的执行,不需要知道彼此的位置,不需要直接与其他服务器进行交互,以及在继续执行流程的下一个步骤时不需要等待处理结果是否已被接收的服务器接收,这种快速的消息交换机制,一方面,对于服务器集群来说,可以显著提高各服务器的执行效率,另外一方面,也可以更好地适应于异构的网络环境,为大规模的网络架构的服务器间提供有效的通信手段。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于事件的流程处理方法的流程图;
图2为本发明实施例中会话模型对象的示意图;
图3为本发明实施例中更新本地缓存中分发列表中每个客户端与所述处理结果对应的视图模型的数据的步骤的流程图;
图4为本发明实施例基于事件的流程处理方法中另一流程图;
图5为本发明实施例中步骤S12和S13具体实施流程图;
图6为本发明实施例中一个简单例子的流程图;
图7为本发明实施例中确定所述事件是否为自身需要处理的服务器事件的步骤的流程图;
图8为本发明实施例中将服务器事件发送给连接服务器本地预设的处理该服务器事件的处理类进行处理的具体实施流程图;
图9为本发明实施例中客户端向连接服务器发起交易请求的一个例子的示意图;
图10为本发明实施例中基于事件的流程处理的结构框图;
图11为本发明实施例中更新模块的框图;
图12为本发明实施例提供的事件处理模块的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更好地说明本发明实施例提供的基于事件的流程处理方法,首先对该基于事件的流程处理方法适用的网络架构进行简单介绍,该网络架构中包含票据交易客户端(例如可包括银行客户端或企业客户端),连接服务器和其他类型服务器(例如应用服务器等等);连接服务器与各客户端之间相连,用于处理客户端的服务请求的接受、连接会话的建立、维持和中断服务;应用服务器(也叫核心业务服务器)用于对用户登录进行认证、对用户交易权限进行验证、执行对应的交易逻辑,并在必要时对数据库进行读写操作;各服务器可以采用服务器集群的方式,以应对数量巨大的业务处理量。
在同一个票据交易系统中,应用服务器是负责处理业务逻辑的服务器;应用服务器可以有一个或多个,应用服务器有多个时,彼此可以组成应用服务器集群,应用服务器与其他服务器例如连接服务器、其他应用服务器等之间并不直接交互,而是通过消息服务器进行消息的中转,消息服务器起到消息中间件的作用,缓存和转发每个服务器所需的消息(服务器事件)。
本发明实施例提供的基于事件的流程处理方法,如图1所示,包括下述步骤:
S11、当接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;
S12、当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
S13、当确定为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
S14、当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
S15、根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
S16、当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据视图模型的标识更新本地对应的表格。
本发明实施例提供的基于事件的流程处理方法,在接收到客户端发送的服务器事件时,确认该事件是否为自身需要处理的服务器事件,如果是,则使用预设的事件处理类进行处理,否则转发至消息服务器,以便其他应用服务器读取并处理,当接收到应用服务器返回的交易处理结果时,根据处理结果的分发列表,更新本地缓存中分发列表中每个客户端与处理结果对应的视图模型的数据,并根据客户端当前显示的页面内容,判断是否需要将更新的数据推送给客户端,在判断需要时,将数据更新涉及到的视图模型的标识与对应的更新的数据推送给客户端,客户端可以根据视图模型的标识更新对应的表格,一方面,采用视图模型,视图模型是客户端将需要实时刷新的表格预先在连接服务器中注册的镜像,当发生交易数据的更新时,与客户端的显示的表格数据始终保持一致,保证表格内容实时更新的准确性,在必要时可以迅速响应表格刷新的需求;另一方面,根据客户端当前显示的页面内容,如果更新的内容在当前显示页面对应的数据中,则判断将更新的数据和视图模型的标识发给客户端,避免了客户端与服务器之间不必要的交互,只传输必须更新的数据,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
每个视图模型都与一个需要实时刷新的表格相对应。需要实时刷新的表格包括:现有持仓、持仓日志、交易动态等表格,一个票据交易状态的变化,可能会涉及到买家、卖家多个交易员当前显示界面中需要实时刷新的表格,这类表格的内容,不需要用户主动点击刷新,就能够智能刷新,实时地展示交易变化,使用户能够直观地、快速地了解当前交易行情。视图模型(MVC,Model-View-Controller)是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像,也就是说,视图模型的数据内容始终保持与客户端的实时同步,至于是否需要将更新的数据交易推送给客户端展示,则需要根据当前客户端所展示的页面来决定。
上述实施例中,处理结果的分发列表可以是由应用服务器发送给连接服务器的,分发列表中包含交易数据所涉及的各个客户端的标识。
进一步地,上述视图模型可以在客户端登录,与连接服务器建立连接,并请求加载相关页面时注册,具体来说,可以通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
客户端登录后,与连接服务器建立了连接,此时,当客户端请求加载某页面,而该页面上有预设的需要实时刷新的表格时,客户端会向连接服务器发送视图模型注册请求,连接服务器据此为该客户端建立与这些需要实时刷新的表格所对应的视图模型。
进一步地,在客户端登录且与连接服务器连接之后,连接服务器还可以为客户端分配与该客户端对应的会话(session)模型对象,会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
这样,如图2所示,在连接服务器中,包含多个会话模型对象,每个会话模型对象都与一个客户端对应,会话模型对象用于管理每个客户端的视图模型。
上述连接服务器为该客户端建立与这些需要实时刷新的表格所对应的视图模型,具体可实施为:在客户端对应的会话模型对象中新建对应的视图模型。
进一步地,在上述步骤S11中,更新本地缓存中分发列表中每个客户端与所述处理结果对应的视图模型的数据的步骤,如图3所示,具体可实施为:
S31、将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
S32、通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,本发明实施例提供的上述基于事件的流程处理方法,如图4所示,还可以执行下述步骤:
S41、当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;
S42、分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;
S43、当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;
S44、将所述表格数据发送给客户端;
S45、更新所保存的上游标和下游标。
客户端显示的页面中,每一页都只显示n条数据,为了保证数据的实时推送,需要对客户端当前显示页面是那些数据进行记录,一旦发生更新的数据位于客户端当前显示的数据中,那么需要对客户端的数据进行刷新。
当接收到客户端的表格分页刷新请求时,如果客户端选择翻到后一页,则从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,如果客户端选择翻到前一页,则从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据。
以一个例子进行说明,从视图模型中的全部数据的第1条数据开始,发送30条数据给客户端的情况下,上游标可记为1,下游标记为30;当连接服务端收到客户端的刷新请求,发送下一个30条数据后,则上游标更新为31,下游标更新为60;若客户端此时只有15条数据可发送,发送15条数据后,则上游标更新为31,下游标更新为45。
若视图模型中的全部数据的数量小于或等于n条表格数据,则向客户端发送全部数据。
在本发明实施例中,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;
由于增加和删除会导致视图模型中数据条目的变化,因此在增加和删除数据之后,还需要针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
例如视图模型中包含1-100条数据,如果在第32条这个位置增加一条数据,则原有的第32条数据会变成第33条数据,依次类推,最后一条数据变成第101条数据。
进一步地,上述步骤S12和S13,如图5所示,在具体实施时,可以通过下述步骤实现:
S51、判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;若是,执行S52;
S52、将从上游标之后的n条表格数据重新推送给所述客户端。
一方面,需要在连接服务器视图模型中,始终保持实时更新的数据,另一方面,这样的数据并不一定需要实时推送给客户端,只有需要更新的数据位于上游标和下游标之间时,才会将更新后的数据推送过去,减少了客户端与服务器之间的不必要的交互,智能地将用户关心的数据实时推送给客户端,客户端不存储任何交易数据,只显示用户关心的数据,降低对客户端的内存占用。
一个简单的例子中,应用服务器处理交易完成后,在数据1和数据2后面增加了数据3,并将该事件封装,发送给消息服务器后,连接服务器读取该事件,如图6所示,连接服务器接收到该事件后,将其发送给分发列表中所有用户的会话模型对象,会话模型对象发送给对应的视图模型对象,接收到该事件的视图模型对象处理该事件,对视图模型的数据进行更新,当客户端B查看对应的更新的数据时,向客户端例如客户端B推送数据1-3。
在一个实施例中,上述步骤S11中确定所述事件是否为自身需要处理的服务器事件,如图7所示,可具体实施为:
S701、连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致;若一致,则执行下述步骤S702;否则执行下述步骤S703;
S702、确定所述服务器事件属于自身需要处理的服务器事件。
S703、确定所述服务器事件不属于自身需要处理的服务器事件。
不论是连接服务器,还是各种类型的应用服务器,在本发明实施例中,都预先注册了各种需要自身处理的事件类型,根据预先注册的事件类型,就可以确认该消息是否为自身需要处理的消息。
例如采用Publisher(消息发布者)和consumer(消息消费者)实现的pub(发布)-sub(消费)的模式,消息发布者和消息消费者(服务器和服务器之间,客户端与服务器之间)预先设定了一个共同的topic(话题),有了这个模式之后,可以实现对于同一类话题的消息的发送和接收。
如果不是自身处理的服务器事件,则连接服务器将其发送至消息服务器,等待其他需要处理该事件的服务器读取。
对于连接服务器来说,其主要负责处理客户端的服务请求的接受、连接会话的建立、维持和中断服务;对于某些简单的查询类的关联事件,可以由连接服务器来处理,连接服务器查询数据库,获得查询结果,然后将查询的结果进行序列化,然后将序列化后的数据通过socket连接返回给客户端。
对服务器事件的序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化主要是为了解决在对对象流进行读写操作时所引发的问题。
在一个实施例中,服务器事件发送给消息服务器之后,还包括执行下述步骤:通过socket连接向发送服务器事件的客户端返回提交成功的消息。
不论是否由自身处理,连接服务器在事件处理的同时或者将服务事件发送给消息服务器之后,将反馈一个提交成功的消息给客户端,客户端收到这个提交成功的消息后,及时会切换界面,避免用户等待,提高用户使用体验。比如结束正在提交查询请求的页面,转换到下一个界面。
在大型分布式的处理系统中,连接服务器可能会与大量的客户端连接,当接收的服务器事件为多个时,将服务器事件发送给连接服务器本地预设的处理该服务器事件的处理类进行处理时,为了优化处理效率,在本发明实施例中,如图8所示,可以通过下述方式实现:
S801、将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
S802、按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将服务器事件分发至对应级别的事件处理线程;
S803、通过事件处理线程调用服务器事件对应的事件处理类,对服务器事件进行处理。
服务器事件也按照其与业务之间的重要程度,划分对应的优先级,每个队列中按照事件接收的先后顺序来排列。
按照优先级的高低顺序,依次按照先入先出的规则,依次从不同级别的队列中取出该队列中的服务器事件,并将服务器事件分发至对应级别的事件处理线程;
不同的事件处理线程的处理能力也不同,总的来说,对应事件级别越高的,其线程的处理能力也越高。这样,多线程并行处理,并且,处理能力高的线程,也能够优先处理级别较高的服务器事件,可以整体提高处理能力。
如图9所示,在客户端,发起确认面板上,用户选择发送对象列表:张三、李四和王五;
客户端的交易请求管理监听类(InquiryManager)调用函数submitInquiry(),生成交易请求事件(DealRequestEvent),将画面的请求数据封装在该交易请求事件中,该交易请求事件(Deal_Request)的内容如下:事件名称:DealRequestAction,数据:交易请求事件(DealRequestEvent),其中包括交易ID,交易类型,交易限定时间,交易价格,发送对象列表等。事件对象即交易请求事件通过Map将数据序列化,然后再通过socket通信函数(sendDataToServer)将其发送给连接服务器;
连接服务器(CS)接收到客户端事件,事件名称为DealRequestAction,数据:交易请求事件(DealRequestEvent),发现自身不是处理该交易请求事件的服务器,将该事件发送到消息服务器。
消息队列技术是分布式应用间交换信息的一种技术。消息队列(其他服务器发送的事件形成的队列)可驻留在消息服务器的内存或磁盘上,队列存储消息直到它们被其他服务器的应用程序读走。通过消息队列,各服务器之间也可独立地执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收的服务器接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的消息,这种消息中间件的技术是非常重要的。
基于同一发明构思,本发明实施例还提供了一种基于事件的流程处理装置和连接服务器,由于这些装置和服务器所解决问题的原理与前述基于事件的流程处理方法相似,因此该装置和客户端的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种基于事件的流程处理装置,如图10所示,包括:
确定模块1001,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块1002,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块1003,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
更新模块1004,用于当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块1005,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块1006,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
如图10所示,上述基于事件的流程处理装置,还包括:
视图注册模块1007,用于在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
如图10所示,上述基于事件的流程处理装置,还包括:会话模型建立模块1008,用于在客户端已登录且与连接服务器连接后,为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
视图注册模块1007,还用于在所述客户端对应的回话模型对象中新建对应的视图模型。
在一个实施例中,上述更新模块1004,如图11所示,包括:
发送子模块10041,用于将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
更新子模块10042,用于通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
在一个实施例中,如图10所示,上述基于事件的流程处理装置,还包括:
分页显示同步模块1009,用于当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;
游标记录模块10010,用于在分页显示同步模块显示数据时,分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;并在当接收客户端的表格分页刷新请求时,更新所保存的上游标和下游标。
在一个实施例中,上述更新模块1004,具体用于当在视图模型中增加数据和删除数据之后,针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。
在一个实施例中,上述判断模块1005,具体用于判断发生更新的数据在整个表格中的位置,是否位于所述上游标和下游标之间;
相应地,上述推送模块1006,具体用于当所述判断模块判断为是时,若是,将从上游标之后的n条表格数据重新推送给所述客户端。
在一个实施例中:确定模块1001,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
在一个实施例中,所述发送模块1003,还用于将所述服务器事件发送给消息服务器之后,通过socket连接向发送服务器事件的客户端返回提交成功的消息。
在一个实施例中,所述服务器事件为多个时,事件处理模块1002,如图12所示,包括:
队列缓存子模块10021,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块10022,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块10023,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
在一个实施例中,上述基于事件的流程处理装置,如图10所示,还可以包括:序列化处理模块10011,用于对事件处理模块的处理结果的数据进行序列化;
相应地,所述发送模块1003,还用于将经过序列化处理后的数据通过socket连接返回给对应的客户端。
本发明实施例还提供了一种连接服务器,所述连接服务器包括本发明实施例提供的上述基于事件的流程处理装置。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种基于事件的流程处理方法,用于连接服务器,其特征在于,包括:
当接收到客户端发送的服务器事件时,确定所述事件是否为自身需要处理的服务器事件;
当确定为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
当确定为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
当接收到应用服务器返回的所述服务器事件对应的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
2.如权利要求1所述的方法,其特征在于,所述视图模型通过下述方式注册:
在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;
所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
3.如权利要求2所述的方法,其特征在于,在客户端已登录且与连接服务器连接后,还包括:为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型,具体包括:
在所述客户端对应的会话模型对象中新建对应的视图模型。
4.如权利要求3所述的方法,其特征在于,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据,包括:
将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格中的位置作为上游标和下游标并保存;
当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;更新所保存的上游标和下游标。
6.如权利要求1所述的方法,其特征在于,所述确定所述事件是否为自身需要处理的服务器事件,包括:
所述连接服务器判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
7.如权利要求1所述的方法,其特征在于,当所述服务器事件为多个时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理,包括:
将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
8.一种基于事件的流程处理装置,其特征在于,包括:
确定模块,用于当接收到客户端发送的服务器事件时,判断所述事件是否为自身需要处理的服务器事件;
事件处理模块,用于当判断模块判断为是时,将所述服务器事件发送给所述连接服务器本地预设的处理该服务器事件的事件处理类进行处理;
发送模块,用于当判断模块判断为否时,将所述服务器事件发送给消息服务器,以便其他应用服务器从所述消息服务器读取并处理;
更新模块,用于当接收到应用服务器返回的所述服务器事件对应的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;
判断模块,用于根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;
推送模块,用于当所述判断模块判断需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。
9.如权利要求8所述的装置,其特征在于,还包括:
视图注册模块,用于在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。
10.如权利要求9所述的装置,其特征在于,还包括:会话模型建立模块,用于在客户端已登录且与连接服务器连接后,为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;
所述视图注册模块,还用于在所述客户端对应的回话模型对象中新建对应的视图模型。
11.如权利要求10所述的装置,其特征在于,所述更新模块,包括:
发送子模块,用于将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;
更新子模块,用于通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。
12.如权利要求8所述的装置,其特征在于,还包括:
分页显示同步模块,用于当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;
游标记录模块,用于在分页显示同步模块显示数据时,分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格的全部数据位置作为上游标和下游标并保存;并在当接收客户端的表格分页刷新请求时,更新所保存的上游标和下游标。
13.如权利要求8所述的装置,其特征在于,所述确定模块,具体用于判断所述服务器事件的类型是否与自身预先注册的事件类型一致,若一致,则确定所述服务器事件属于自身需要处理的服务器事件;否则,确定所述服务器事件不属于自身需要处理的服务器事件。
14.如权利要求8所述的装置,其特征在于,所述服务器事件为多个时,所述事件处理模块,包括:
队列缓存子模块,用于将各个服务器事件按照预设的优先级级别,分别缓存于对应级别的队列中,每个队列中服务器事件按照接收的时间先后排列;
分发子模块,用于按照优先级的高低顺序,依次从不同级别的队列中取出该队列中的服务器事件,并将所述服务器事件分发至对应级别的事件处理线程;
处理子模块,用于通过所述事件处理线程调用服务器事件对应的事件处理类,对所述服务器事件进行处理。
15.一种连接服务器,其特征在于,所述连接服务器包括如权利要求8-14任一项所述的基于事件的流程处理装置。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610591965 | 2016-07-25 | ||
CN2016105919651 | 2016-07-25 | ||
CN201610606530.XA CN106227584A (zh) | 2016-07-28 | 2016-07-28 | 一种基于状态机的事件驱动方法和系统 |
CN201610607261.9A CN106326016A (zh) | 2016-07-28 | 2016-07-28 | 一种多线程事件分发方法和系统 |
CN2016106072619 | 2016-07-28 | ||
CN201610606530X | 2016-07-28 | ||
CN2016108035099 | 2016-09-06 | ||
CN201610803509 | 2016-09-06 | ||
CN201610841085 | 2016-09-22 | ||
CN2016108410855 | 2016-09-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107657517A true CN107657517A (zh) | 2018-02-02 |
Family
ID=61126735
Family Applications (31)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218386.9A Pending CN107656818A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220361.2A Withdrawn CN107656784A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611218348.3A Pending CN107659546A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611220307.8A Pending CN107656824A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219325.4A Withdrawn CN107656778A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219300.4A Pending CN107656820A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219331.XA Withdrawn CN107656779A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关系统 |
CN201611219359.3A Pending CN107656822A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611219280.0A Withdrawn CN107657419A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220338.3A Withdrawn CN107656783A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218372.7A Withdrawn CN107659605A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611219329.2A Withdrawn CN107657420A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220330.7A Withdrawn CN107657531A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220337.9A Pending CN107657532A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220312.9A Withdrawn CN107656781A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219367.8A Pending CN107656823A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611218373.1A Withdrawn CN107657517A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611220334.5A Withdrawn CN107656782A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218380.1A Withdrawn CN107656808A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220324.1A Withdrawn CN107659548A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和客户端 |
CN201611220322.2A Withdrawn CN107656809A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611218388.8A Pending CN107659547A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219315.0A Pending CN107656821A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220354.2A Withdrawn CN107659549A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219350.2A Withdrawn CN107656780A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218383.5A Pending CN107656801A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218389.2A Withdrawn CN107657530A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611218394.3A Pending CN107656819A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611220358.0A Withdrawn CN107657518A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611219323.5A Withdrawn CN107656777A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220292.5A Withdrawn CN107657501A (zh) | 2016-07-25 | 2016-12-26 | 一种数据实时更新的方法及相关装置和服务器 |
Family Applications Before (16)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611218386.9A Pending CN107656818A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220361.2A Withdrawn CN107656784A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611218348.3A Pending CN107659546A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611220307.8A Pending CN107656824A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219325.4A Withdrawn CN107656778A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219300.4A Pending CN107656820A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611219331.XA Withdrawn CN107656779A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关系统 |
CN201611219359.3A Pending CN107656822A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611219280.0A Withdrawn CN107657419A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220338.3A Withdrawn CN107656783A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218372.7A Withdrawn CN107659605A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611219329.2A Withdrawn CN107657420A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220330.7A Withdrawn CN107657531A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220337.9A Pending CN107657532A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611220312.9A Withdrawn CN107656781A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611219367.8A Pending CN107656823A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
Family Applications After (14)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611220334.5A Withdrawn CN107656782A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218380.1A Withdrawn CN107656808A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611220324.1A Withdrawn CN107659548A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和客户端 |
CN201611220322.2A Withdrawn CN107656809A (zh) | 2016-07-25 | 2016-12-26 | 一种票据交易的流程实现方法及相关系统 |
CN201611218388.8A Pending CN107659547A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219315.0A Pending CN107656821A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关装置和服务器 |
CN201611220354.2A Withdrawn CN107659549A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及装置和服务器 |
CN201611219350.2A Withdrawn CN107656780A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218383.5A Pending CN107656801A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611218389.2A Withdrawn CN107657530A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及系统 |
CN201611218394.3A Pending CN107656819A (zh) | 2016-07-25 | 2016-12-26 | 一种业务流程的处理方法及相关系统 |
CN201611220358.0A Withdrawn CN107657518A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及相关装置和服务器 |
CN201611219323.5A Withdrawn CN107656777A (zh) | 2016-07-25 | 2016-12-26 | 一种基于事件的流程处理方法及系统 |
CN201611220292.5A Withdrawn CN107657501A (zh) | 2016-07-25 | 2016-12-26 | 一种数据实时更新的方法及相关装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (31) | CN107656818A (zh) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122239A (zh) * | 2017-04-28 | 2017-09-01 | 武汉票据交易中心有限公司 | 一种多线程事件分发方法和系统 |
CN108595530A (zh) * | 2018-03-30 | 2018-09-28 | 武汉楚鼎信息技术有限公司 | 一种后台处理和存储用户消息的方法及系统装置 |
CN108519903A (zh) * | 2018-04-09 | 2018-09-11 | 平安普惠企业管理有限公司 | 静态资源适配方法、装置、计算机设备及存储介质 |
CN108616597B (zh) * | 2018-05-09 | 2021-06-15 | 四川华创世纪科技有限公司 | 一种实现服务永不中断的分布式运行方法 |
CN109032723A (zh) * | 2018-06-28 | 2018-12-18 | 北京潘达互娱科技有限公司 | 一种界面跳转方法、装置及设备 |
CN109104297B (zh) * | 2018-07-09 | 2022-01-21 | 中国银行股份有限公司 | 一种业务流程的处理方法及装置 |
CN109165994A (zh) * | 2018-07-17 | 2019-01-08 | 北京知果科技有限公司 | 一种信息推送方法和服务器 |
CN109213495A (zh) * | 2018-08-23 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种数据的读取方法及装置 |
CN109144701A (zh) * | 2018-09-05 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种任务流管理方法、装置、设备及系统 |
CN109376054B (zh) * | 2018-09-25 | 2023-02-28 | 广州虎牙信息科技有限公司 | 一种数据分发的方法、装置、终端设备及存储介质 |
CN110968586B (zh) * | 2018-09-30 | 2023-08-25 | 北京国双科技有限公司 | 分布式事务处理方法及装置 |
CN109542592A (zh) * | 2018-11-22 | 2019-03-29 | 深圳墨世科技有限公司 | 事件处理方法及装置 |
CN109669791A (zh) * | 2018-12-22 | 2019-04-23 | 网宿科技股份有限公司 | 交互方法、服务器及计算机可读存储介质 |
CN109729410B (zh) * | 2018-12-29 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 一种直播间交互事件处理方法、装置、设备及存储介质 |
CN109889373B (zh) * | 2019-01-22 | 2022-06-21 | 视联动力信息技术股份有限公司 | 一种告警信息的传输方法、装置和系统 |
CN110009283B (zh) * | 2019-04-03 | 2021-09-07 | 北京思特奇信息技术股份有限公司 | 一种服务产品的电商化物流跟踪方法和系统 |
CN110099111A (zh) * | 2019-04-26 | 2019-08-06 | 深圳智链物联科技有限公司 | 一种推送消息的显示系统及其显示方法 |
CN110267228B (zh) * | 2019-06-13 | 2022-03-22 | 重庆邮电大学 | 一种v2x车载终端消息自适应调度管理系统及方法 |
CN110532088B (zh) * | 2019-07-15 | 2022-09-23 | 金蝶汽车网络科技有限公司 | 连接处理方法、装置、计算机设备和存储介质 |
CN110490600B (zh) * | 2019-08-23 | 2022-04-26 | 中国联合网络通信集团有限公司 | 处理银行业务的方法、服务器、终端 |
CN110708356B (zh) * | 2019-09-06 | 2024-01-05 | 国云科技股份有限公司 | 一种注册中心管理第三方应用的方法和系统 |
CN110597867B (zh) * | 2019-09-09 | 2023-04-28 | 珠海格力电器股份有限公司 | 图文数据处理方法及系统 |
CN110995781B (zh) * | 2019-11-01 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 点赞信息处理方法、装置及系统 |
JP7385436B2 (ja) * | 2019-11-12 | 2023-11-22 | 株式会社野村総合研究所 | 管理システム |
CN110855529B (zh) * | 2019-11-26 | 2021-04-23 | 广东物壹信息科技股份有限公司 | 网络信息安全监护方法、装置、服务器及可读存储介质 |
CN111008069B (zh) * | 2019-12-02 | 2023-12-15 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN111131425B (zh) * | 2019-12-18 | 2022-08-30 | 东软集团股份有限公司 | 分布式系统以及分布式系统的通信方法 |
CN111158928B (zh) * | 2019-12-18 | 2024-04-05 | 东软集团股份有限公司 | 分布式系统及通信方法 |
CN111144982B (zh) * | 2019-12-20 | 2022-02-11 | 网联清算有限公司 | 订单状态转移方法、装置、电子设备和存储介质 |
CN111179081A (zh) * | 2019-12-24 | 2020-05-19 | 中国建设银行股份有限公司 | 一种消息的处理方法和处理装置 |
CN111210288A (zh) * | 2019-12-26 | 2020-05-29 | 大象慧云信息技术有限公司 | 基于税控服务器的发票批量开具作业优化调度方法及系统 |
CN111210286A (zh) * | 2019-12-26 | 2020-05-29 | 大象慧云信息技术有限公司 | 一种基于税控服务器的发票高效开具方法及系统 |
CN111277626B (zh) * | 2020-01-07 | 2023-08-22 | 平安科技(深圳)有限公司 | 服务器升级方法、装置、电子设备及介质 |
CN111352674B (zh) * | 2020-02-21 | 2023-07-07 | 中国平安财产保险股份有限公司 | 名单流转方法、服务器及计算机可读存储介质 |
CN111367694B (zh) * | 2020-03-18 | 2024-01-26 | 北京奇艺世纪科技有限公司 | 事件处理方法、服务器及计算机存储介质 |
CN111581114B (zh) * | 2020-06-04 | 2023-10-27 | 网易(杭州)网络有限公司 | 事件处理方法、装置、存储介质、处理器及电子装置 |
CN111880611B (zh) * | 2020-06-19 | 2022-06-28 | 深圳宏芯宇电子股份有限公司 | 用于快速交易的服务器及快速交易数据处理方法 |
CN111770171B (zh) * | 2020-06-29 | 2023-05-02 | 浪潮通用软件有限公司 | 一种微服务模式下多页面功能会话周期状态管理方法 |
CN112015393B (zh) * | 2020-08-25 | 2024-05-03 | 中国银联股份有限公司 | 一种业务处理方法及装置 |
CN112100187B (zh) * | 2020-08-31 | 2024-01-26 | 武汉美和易思数字科技有限公司 | 一种基于VueJS的学生学习数据存储方法及装置 |
CN112131238B (zh) * | 2020-09-30 | 2022-07-22 | 江苏苏宁银行股份有限公司 | 一种交易状态机设计方法、处理装置和处理方法 |
CN112702270B (zh) * | 2020-12-18 | 2023-05-02 | 深圳赛安特技术服务有限公司 | 基于事件分发机制的节点调用方法、系统及存储介质 |
CN114760530B (zh) * | 2020-12-25 | 2023-08-01 | 深圳Tcl新技术有限公司 | 事件处理方法、装置、电视机及计算机可读存储介质 |
CN112559535B (zh) * | 2020-12-28 | 2023-08-22 | 平安银行股份有限公司 | 基于多线程的异步任务处理方法、装置、设备及介质 |
CN112801722A (zh) * | 2020-12-29 | 2021-05-14 | 航天信息股份有限公司 | 一种缓存后开具发票的方法及系统 |
CN112667527A (zh) * | 2021-01-15 | 2021-04-16 | 北京云上曲率科技有限公司 | 一种确保客户端数据采集准确性的方法及客户端 |
CN112700310B (zh) * | 2021-01-19 | 2021-09-07 | 汇通数科智能科技有限公司 | 一种基于电商平台的交易订单数据优化处理方法 |
CN112860454B (zh) * | 2021-02-05 | 2024-04-19 | 百果园技术(新加坡)有限公司 | 业务处理系统及方法 |
CN112860460B (zh) * | 2021-02-23 | 2022-01-04 | 创盛视联数码科技(北京)有限公司 | 用于实时课堂的事件分发方法及系统 |
CN112766935B (zh) * | 2021-02-24 | 2024-03-01 | 中国工商银行股份有限公司 | 处理票据业务的方法、装置、计算设备和介质 |
CN112988813A (zh) * | 2021-03-16 | 2021-06-18 | 武汉卓宇诚科技有限公司 | 一种农产品信息追溯方法 |
CN113031992B (zh) * | 2021-04-27 | 2023-04-07 | 中国平安人寿保险股份有限公司 | Annoy热更新方法、装置、设备及介质 |
CN113204442B (zh) * | 2021-05-31 | 2023-11-24 | 成都安恒信息技术有限公司 | 一种基于MVVM模式的操作IndexedDB的javascript库系统 |
CN113742807B (zh) * | 2021-09-07 | 2024-05-14 | 广联达科技股份有限公司 | 交互处理方法、装置及电子设备 |
CN113761006A (zh) * | 2021-09-10 | 2021-12-07 | 南京星邺汇捷网络科技有限公司 | 基于多队列的事件时序性保障方法 |
CN114039981B (zh) * | 2021-11-11 | 2024-04-02 | 中国建设银行股份有限公司 | 一种消息处理方法、装置、服务器及存储介质 |
CN113821279A (zh) * | 2021-11-24 | 2021-12-21 | 深圳市永联科技股份有限公司 | 一种状态转换的方法、装置及嵌入式设备 |
CN114357029B (zh) * | 2022-01-04 | 2022-09-02 | 工银瑞信基金管理有限公司 | 业务数据的处理方法、装置、设备及介质 |
CN114385267B (zh) * | 2022-01-13 | 2024-06-18 | 平安壹钱包电子商务有限公司 | 一种用于出款交易业务的数据推送方法 |
CN114615318B (zh) * | 2022-01-24 | 2023-04-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
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)
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 | 东软集团股份有限公司 | 工作流运行期的事件处理方法和装置 |
-
2016
- 2016-12-26 CN CN201611218386.9A patent/CN107656818A/zh active Pending
- 2016-12-26 CN CN201611220361.2A patent/CN107656784A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218348.3A patent/CN107659546A/zh active Pending
- 2016-12-26 CN CN201611220307.8A patent/CN107656824A/zh active Pending
- 2016-12-26 CN CN201611219325.4A patent/CN107656778A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219300.4A patent/CN107656820A/zh active Pending
- 2016-12-26 CN CN201611219331.XA patent/CN107656779A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219359.3A patent/CN107656822A/zh active Pending
- 2016-12-26 CN CN201611219280.0A patent/CN107657419A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220338.3A patent/CN107656783A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218372.7A patent/CN107659605A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219329.2A patent/CN107657420A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220330.7A patent/CN107657531A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220337.9A patent/CN107657532A/zh active Pending
- 2016-12-26 CN CN201611220312.9A patent/CN107656781A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219367.8A patent/CN107656823A/zh active Pending
- 2016-12-26 CN CN201611218373.1A patent/CN107657517A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220334.5A patent/CN107656782A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218380.1A patent/CN107656808A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220324.1A patent/CN107659548A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220322.2A patent/CN107656809A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218388.8A patent/CN107659547A/zh active Pending
- 2016-12-26 CN CN201611219315.0A patent/CN107656821A/zh active Pending
- 2016-12-26 CN CN201611220354.2A patent/CN107659549A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219350.2A patent/CN107656780A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218383.5A patent/CN107656801A/zh active Pending
- 2016-12-26 CN CN201611218389.2A patent/CN107657530A/zh not_active Withdrawn
- 2016-12-26 CN CN201611218394.3A patent/CN107656819A/zh active Pending
- 2016-12-26 CN CN201611220358.0A patent/CN107657518A/zh not_active Withdrawn
- 2016-12-26 CN CN201611219323.5A patent/CN107656777A/zh not_active Withdrawn
- 2016-12-26 CN CN201611220292.5A patent/CN107657501A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN107656808A (zh) | 2018-02-02 |
CN107657501A (zh) | 2018-02-02 |
CN107657518A (zh) | 2018-02-02 |
CN107659549A (zh) | 2018-02-02 |
CN107656784A (zh) | 2018-02-02 |
CN107656809A (zh) | 2018-02-02 |
CN107656777A (zh) | 2018-02-02 |
CN107656820A (zh) | 2018-02-02 |
CN107659547A (zh) | 2018-02-02 |
CN107656822A (zh) | 2018-02-02 |
CN107657419A (zh) | 2018-02-02 |
CN107657531A (zh) | 2018-02-02 |
CN107656783A (zh) | 2018-02-02 |
CN107659605A (zh) | 2018-02-02 |
CN107656819A (zh) | 2018-02-02 |
CN107656782A (zh) | 2018-02-02 |
CN107657532A (zh) | 2018-02-02 |
CN107656781A (zh) | 2018-02-02 |
CN107656801A (zh) | 2018-02-02 |
CN107656779A (zh) | 2018-02-02 |
CN107657530A (zh) | 2018-02-02 |
CN107659546A (zh) | 2018-02-02 |
CN107656821A (zh) | 2018-02-02 |
CN107656818A (zh) | 2018-02-02 |
CN107656778A (zh) | 2018-02-02 |
CN107656824A (zh) | 2018-02-02 |
CN107659548A (zh) | 2018-02-02 |
CN107656780A (zh) | 2018-02-02 |
CN107657420A (zh) | 2018-02-02 |
CN107656823A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657517A (zh) | 一种基于事件的流程处理方法及相关装置和服务器 | |
CN107369012A (zh) | 一种支付信息处理方法及系统、及具有履约保证保险机制的预付卡处理方法 | |
CN107430618A (zh) | 实现与主计算设备进行用户语音交互的系统和方法 | |
CA2766966C (en) | Affiliation apportionment device, affiliation apportionment system, affiliation apportionment method, affiliation apportionment program, and computer-readable recording medium | |
WO2012151690A1 (en) | System and method of capturing point-of-sale data and providing real-time advertising content | |
US20210049620A1 (en) | Blockchain based mobile terminal e-commerce system and mobile terminal | |
CN106600373A (zh) | 一种基于即时通讯的商品交易数据处理方法及系统 | |
CN108399538A (zh) | 操作多个账户的方法和系统 | |
AU2019101730A4 (en) | Apparatus for printing, displaying, and managing documents, digital content, advertising, social media, mobile catalogues, and the like for retail premises, and system thereof | |
JP7327781B2 (ja) | マッチング支援装置、マッチング支援方法、コンピュータプログラム及び記録媒体 | |
TWM515160U (zh) | 集點兌換行銷系統 | |
TWI844844B (zh) | 分銷關係建立系統及其實施方法 | |
CN113643014B (zh) | 基于区块链的交易管理方法、装置、设备、介质和程序 | |
TW201734924A (zh) | 資產轉讓媒合系統 | |
CN117014458A (zh) | 一种跨链处理业务的方法、装置、计算机设备及存储介质 | |
CN118429105A (zh) | 资产处置方法、装置、设备、介质和程序产品 | |
Johnson | Making Open Access Work for Authors, Institutions and Publishers | |
CN115563142A (zh) | 金融数据流处理方法、装置、电子设备和存储介质 | |
JP2021064293A (ja) | 情報処理方法、情報処理装置及び情報処理プログラム | |
Ballin | Been there, done that: a personalised mobile agent system for the next generation of call centres |
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 |