一种基于事件的流程处理方法及系统技术方案

技术编号:17195788 阅读:18 留言:0更新日期:2018-02-03 22:36
本发明专利技术公开了一种基于事件的流程处理方法及系统,其中方法包括:当客户端监听到预设表单的画面按钮触发事件时,根据表单数据生成客户端事件;对客户端事件处理后发送给连接服务器,以便连接服务器自身处理或转由应用服务器处理;接收到服务器返回的结果,将处理结果转换成对应的客户端事件,执行对应的方法,更新客户端界面,应用服务器在处理时,预先将各业务流程的状态机信息缓存,通过状态机流转引擎线程读取状态机定义的流程数据,确定下个操作状态和处理该服务器事件的类,通过线程处理该事件得到处理结果。业务流程以java事件为驱动,以实现流程的快速流转,且应用服务器将状态机预先缓存的方式,便于快速读取,提高了响应的速度。

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

【技术保护点】
一种基于事件的流程处理方法,其特征在于,包括:当客户端监听到预设表单的画面按钮触发事件时,根据所述表单的数据生成对应的客户端事件;对所述客户端事件进行序列化并处理,并在处理后判断是否需要继续发送给服务器进行处理;若确定需要,则将处理后的客户端事件序列化并发送给连接服务器,以便连接服务器自身处理或转由应用服务器处理;所述连接服务器将需要由应用服务器处理的事件发送给消息服务器,所述应用服务器按照下述方式进行处理:在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;当客户端接收到连接服务器返回的处理结果时,将接收到的处理结果由服务器事件转换成对应的客户端事件,执行对应的方法,更新客户端界面。

【技术特征摘要】
2016.07.25 CN 2016105919651;2016.07.28 CN 201610601.一种基于事件的流程处理方法,其特征在于,包括:当客户端监听到预设表单的画面按钮触发事件时,根据所述表单的数据生成对应的客户端事件;对所述客户端事件进行序列化并处理,并在处理后判断是否需要继续发送给服务器进行处理;若确定需要,则将处理后的客户端事件序列化并发送给连接服务器,以便连接服务器自身处理或转由应用服务器处理;所述连接服务器将需要由应用服务器处理的事件发送给消息服务器,所述应用服务器按照下述方式进行处理:在启动时,将各类交易下业务流程对应的状态机信息缓存;当从消息服务器中监听到本应用服务器处理的服务器事件时,读取该服务器事件;根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类;通过处理该服务器事件的类的线程,处理所述服务器事件得到处理结果;将处理结果生成服务器事件并发送至消息服务器,并更新数据库服务器中的数据库数据;当客户端接收到连接服务器返回的处理结果时,将接收到的处理结果由服务器事件转换成对应的客户端事件,执行对应的方法,更新客户端界面。2.如权利要求1所述的方法,其特征在于,对客户端事件进行处理,包括:产生一个新的线程;通过所述新的线程,执行所述表单预设的界面处理方法和/或表单的数据处理方法;两者都执行时,执行表单的数据处理方法在先,执行表单的界面处理方法在后。3.如权利要求1所述的方法,其特征在于,所述连接服务器返回的处理结果包括:连接服务器返回的提交应用服务器成功或失败的结果;连接服务器返回的由连接服务器自身完成的数据查询结果;连接服务器返回的由应用服务器处理后通过连接服务器返回的数据处理结果;将接收到的处理结果由服务器事件转换成对应的客户端事件,执行对应的方法,更新客户端界面,包括:将接收的处理结果的SeverEvent转换成新的预设的ApplicationEvent事件,执行预设的表单的processAppliactionEvent方法,更新客户端的界面。4.如权利要求3所述的方法,其特征在于,连接服务器返回的由应用服务器处理后通过连接服务器返回的数据处理结果时,所述服务器返回的处理结果中包括:发生数据更新的视图模型的标识以及对应的更新的数据;所述视图模型是客户端对需要实时刷新的表格预先在连接服务器中注册的镜像;所述更新客户端界面,包括:根据所述视图模型的标识,使用所述更新的数据更新所述视图模型对应的表格内容。5.如权利要求1所述的方法,其特征在于,所述状态机信息包括:状态机的标识、状态标识、状态名称、当前状态对应的操作/事件、下一个状态的标识和下一个状态的名称和处理该事件的类。6.如权利要求5所述的方法,其特征在于,所述根据该服务器事件对应流程,通过对应的状态机流转引擎线程,读取缓存的状态机信息中定义的流程数据,确定下个操作状态和处理该服务器事件的类,包括:从所述服务器事件中解析出交易信息和流程信息;从所缓存的状态机信息中,确定所述交易下所述流程对应的状态机信息;通过对应的状态机流转引擎线程,查询所述状态机信息,根据所述交易下所述流程的当前状态、当前状态对应的操作/事件,得到下个状态的标识和处理该事件的类。7.如权利要求1所述的方法,其特征在于,所述方法还包括:在启动时,分别启动用于处理服务器事件的线程池和状态机流转引擎线程池;所述处理服务器事件的线程池和状态机流转引擎线程池中包含预设数量的多个待调用的线程;所述状态机流转引擎线程和所述处理该服务器事件的类的线程分别从所述服务器事件的线程池和状态机流转引擎线程池中调用。8.一种基于事件的流程处理系统,其特征在于,包括:客...

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

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

1