一种票据交易的流程实现方法及相关系统技术方案

技术编号:17195838 阅读:23 留言:0更新日期:2018-02-03 22:38
本发明专利技术公开了一种票据交易的流程实现方法及相关系统。所述方法包括:应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;连接服务器从消息服务器中接收到交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;其中,应用服务器利用线程池来优化事件处理任务及状态机流转任务,提高了CPU的有效利用率和系统的整体性能,并且将处理业务逻辑的类与处理状态机的类分开,分别独立执行服务器事件处理任务和执行状态机流转任务,进一步优化了处理的速度;连接服务器利用视图模型,能够实现对用户所关心的数据的实时刷新,并且,智能地将用户关心的数据实时推送给客户端,避免了客户端与服务器之间不必要的交互。

【技术实现步骤摘要】
一种票据交易的流程实现方法及相关系统
本专利技术涉及计算机
,特别涉及一种票据交易的流程实现方法及相关系统。
技术介绍
票据是指出票人依法签发的由自己或指示他人无条件支付一定金额给收款人或持票人的有价证券,即某些可以代替现金流通的有价证券。票据的形式可以包括纸质票据和电子票据。随着互联网的发展,许多基于互联网的票据交易平台应运而生。以银行承兑汇票为例,现有的票据交易平台的交易模式如下:用户可以在网上发送公开、定向的银行承兑汇票买断式、回购式转贴现报价,通过报价应答方式与业务人员联系,线下进行进一步议价交易。或者用户还可以通过网上填写承兑行类型、票面金额、汇票到期日等信息进行线下沟通议价等。上述网络的交易平台的一个共同点在交易过程中,其主要作用还是发布交易信息,交易双方只能线下点对点进行票据议价,线下交易,一方面,银行承兑汇票进行交易要考虑的要素很多,在网站上找到自己想要的票据要花费很长的时间;另外一方面,当找到想要进行交易的票后要在线下通过一个一个打电话等方式跟对手方进行议价,费时费力还有可能失败从而需要重新寻找合适的票;最后,因为用户掌握的信息有限,所以用户在交易中的利益不能得到预期的保证。基于上述问题,如何提供一种票据交易系统,实现高效的票据交易流程流转,实现整个票据交易的电子化,解决用户之间信息不对称的问题,使交易双方都能够高效率地找到自身想要交易的票据或者交易者,并且,在流程处理完成后,将流程处理结果实时推送给客户端,成为亟待解决的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种票据交易的流程实现方法及相关系统。第一方面,本专利技术实施例提供一种票据交易的流程实现方法,包括:步骤一、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;步骤二、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;其中:所述步骤一,包括:在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预设的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;所述步骤二,包括:当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。在一个实施例中,所述状态机信息包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。在一个实施例中,所述根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:从所述服务器事件中解析出交易信息和流程信息;从各流程对应的状态机信息中,确定所述交易下所述流程对应的状态机信息;从状态机流转引擎线程池中调用对应的状态机流转引擎线程;通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。在一个实施例中,所述处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。在一个实施例中,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;所述处理结果生成服务器事件,包括:将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。在一个实施例中,所述方法还包括:当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;否则,结束所述流程的处理,并通告中控客户端。在一个实施例中,所述视图模型通过下述方式注册:在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触发。在一个实施例中,在客户端已登录且与连接服务器连接后,还包括:为客户端分配对应的会话模型对象;所述会话模型对象记录有客户端的标识、客户端与连接服务器之间socket连接的标识;当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型,具体包括:在所述客户端对应的会话模型对象中新建对应的视图模型。在一个实施例中,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据,包括:将所述处理结果所涉及所述视图模型的标识和对应更新的数据,发送给所述客户端的会话模型对象;通过所述会话模型对象将所述处理结果发送给对应的视图模型,由所述视图模型更新自身数据。在一个实施例中,所述方法还包括:当接收客户端的第一次发送的页面加载请求时,确定需要发送的表格数据的条数n,并发送n条表格数据作为当前显示数据;分别记录所述当前显示页面中第一条数据和最后一条数据在所述表格中的位置作为上游标和下游标并保存;当接收客户端的表格分页刷新请求时,从所述下游标后面的第一条数据开始顺序向后获取n条表格数据,或者从所述上游标前面的最后一条数据开始顺序向前获取n条表格数据;将所述表格数据发送给客户端;更新所保存的上游标和下游标。在一个实施例中,更新处理结果中对应的视图模型的数据,包括:在视图模型中增加数据、删除数据和修改数据;在视图模型中增加数据和删除数据之后,还包括:针对视图模型中增加的或删除的数据以及其之后的数据,更新其位置信息。在一个实施例中,根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端,当需要时,将更新的数据推送给客户端,包括:判断发生更新的数据在整个表格中的位置,是否位于所记录的所述上游标和下游标之间;若是,将从上游标之后的n条表格数据重新推送给所述客户端。第二方面,本专利技术实施例提供一种票据交易的流程实现系统,包括:应用服务器,用于对票据交易流程进行处理,得到处理结果并发送给消息服务器;连接服务器,用于从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;消息服务器,用于存储与转发服务器间的消息;其中:所述应用服本文档来自技高网...
一种票据交易的流程实现方法及相关系统

【技术保护点】
一种票据交易的流程实现方法,其特征在于,包括:步骤一、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;步骤二、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;其中:所述步骤一,包括:在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预设的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;所述步骤二,包括:当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。...

【技术特征摘要】
2016.07.25 CN 2016105919651;2016.07.28 CN 201610601.一种票据交易的流程实现方法,其特征在于,包括:步骤一、应用服务器对票据交易流程进行处理,得到处理结果并发送给消息服务器;步骤二、连接服务器从消息服务器中接收到应用服务器返回的交易处理结果时,对缓存的数据进行更新,并实时推送给对应的客户端;其中:所述步骤一,包括:在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该事件;根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取预设的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;从处理服务器事件的线程池中,调用所述处理该服务器事件的类的线程,并通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;所述步骤二,包括:当接收到应用服务器返回的交易处理结果时,根据所述处理结果的分发列表,更新本地缓存中所述分发列表中每个客户端与所述处理结果对应的视图模型的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;根据所述客户端当前显示的页面内容,判断是否需要将更新的数据推送给所述客户端;当需要时,将发生数据更新的所述视图模型的标识以及对应的更新的数据推送给客户端,以便客户端根据所述视图模型的标识更新本地对应的表格。2.如权利要求1所述的方法,其特征在于,所述状态机信息包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。3.如权利要求2所述的方法,其特征在于,所述根据该服务器事件对应流程,从状态机流转引擎线程池中调用对应的状态机流转引擎线程,通过所述状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:从所述服务器事件中解析出交易信息和流程信息;从各流程对应的状态机信息中,确定所述交易下所述流程对应的状态机信息;从状态机流转引擎线程池中调用对应的状态机流转引擎线程;通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。4.如权利要求1所述的方法,其特征在于,所述处理服务器事件的线程池和状态机流转引擎线程池中的线程的数量,根据服务器事件的数量动态增加或减少。5.如权利要求1-4任一项所述的方法,其特征在于,所述读取该服务器事件之后,还包括:将所述服务器事件所属的服务器之间的消息类型,转换成本应用服务器处理的消息类型;所述处理结果生成服务器事件,包括:将所述处理结果,按照所述服务器之间的消息类型进行封装,生成服务器事件。6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:当通过处理该服务器事件的类的线程,处理所述服务器事件成功时,更新所述流程的状态为所述下一个状态;将交易信息、流程的状态信息和处理结果生成服务器事件并发送给消息服务器;否则,结束所述流程的处理,并通告中控客户端。7.如权利要求1所述的方法,其特征在于,所述视图模型通过下述方式注册:在客户端已登录且与连接服务器连接后,当接收到客户端发送的视图模型注册请求时,为所述客户端新建对应的视图模型;所述视图模型对应所述客户端请求加载的页面中需要实时刷新的表格;所述视图模型注册请求,由客户端请求加载的页面中包含需要实时刷新表格的页面触...

【专利技术属性】
技术研发人员:方敏
申请(专利权)人:武汉票据交易中心有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1