业务处理方法、装置及系统制造方法及图纸

技术编号:15746715 阅读:498 留言:0更新日期:2017-07-03 02:37
本申请实施例提供了一种业务处理方法、装置及系统,该方法包括:接收业务请求;将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果;当业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入所述指定数据库中的各个业务相关的数据表中。本申请实施例可减轻业务处理系统的处理压力。并且是同步处理业务请求并返回处理结果,用户体验高。

Service processing method, device and system

The embodiment of the invention provides a service processing method, device and system. The method includes: receiving the service request; the data object business model to the service request in the data conversion model, the corresponding data table of each business to make new data object to be converted and specified in the database; in the success of processing the service request, will present the new data object in a specified range of data packets packaged into storage, processing and returns the result of business; when the business volume is lower than the set threshold, for packet preservation in unpacking processing, and unpack the data obtained after the corresponding insertion into the specified database in all business related data in a table. The embodiments of the present invention can mitigate the processing pressure of the business process system. And it synchronizes business requests and returns processing results with high user experience.

【技术实现步骤摘要】
业务处理方法、装置及系统
本申请涉及数据库
,尤其是涉及一种业务处理方法、装置及系统。
技术介绍
一般的,在实现一个业务时,业务处理系统往往需要对数据库进行多次的读写操作。比如支付宝的商户红包业务,当用户输入口令领取一笔现金红包的时,资金业务处理系统会调用支付业务处理系统处理单笔余额账户转账,同时在资金系统的数据库中落地该笔业务请求的详细信息,而要完成上述数据处理过程,一般需要对数据库进行约几十次的读写操作。在业务量高并发情况下,这将对业务处理系统及数据库造成巨大压力。为解决上述技术问题,现有的技术优化方案基本上采取以下两种思路来优化:方案一:将同步请求处理的模式改为异步处理。以上述支付宝的商户红包业务为例,当采取异步处理请求的时候,资金业系统在接收到转账请求的时候只在数据库中保存单据的初始信息,待业务高峰过后,再由系统的定时任务捞取业务单据处理转账请求然后保存请求处理结果。方案二:保持同步请求处理不变,修改业务处理系统中的业务领域模型,将相似的数据库表合并于一张表中,这样原来的对多张表的多次操作就可以降低为对一张表的一次读写操作),从而降低数据库的读写操作。然而,上述两种优化方案在解决问题的同时,也带来了新的问题。比如上述方案一将业务请求的处理模式从同步更改为异步,虽然能提高系统在业务高峰期的业务请求处理能力,但是上游系统并不能立即得到业务请求的处理结果,从而使用户并不能及时得到业务处理结果,用户体验较差。而上述方案二的实现需要对原有数据库进行较大的改造,这样不仅对原有数据库入侵较大,也需要耗费较大的改造成本,同时还可能导致新老数据模型不兼容的问题
技术实现思路
本申请实施例的目的在于提供一种业务实现的方法、装置及系统,在不改动原有数据库的前提下,提高业务高峰期的业务请求处理能力,并兼顾用户体验。为达到上述目的,一方面,本申请实施例提供了一种业务处理方法,包括以下步骤:接收业务请求;将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果;当业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入所述指定数据库中的各个业务相关的数据表中。另一方面,本申请实施例还提供了一种业务处理装置,包括:业务请求接收模块,用于接收业务请求;数据模型转换模块,用于将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;业务数据打包模块,用于在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存;第一结果返回模块,用于在成功处理所述业务请求后,返回业务处理结果;数据库异步更新模块,用于当业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入所述指定数据库中的各个业务相关的数据表中。再一方面,本申请实施例还提供了一种业务处理系统,其包括上述的业务处理装置。本申请实施例中,在接收业务请求后,可将业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;在成功处理该业务请求后,可将当前新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果;待业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入指定数据库中的各个业务相关的数据表中,可见,本申请实施例中,在业务处理完成后并不同步更新数据库,而是将处理结果按照要求打包,待业务量低峰时再将处理结果解包后更新数据库。因此,在高并发时,本申请实施例可以在很大程度上减轻业务处理系统的处理压力。并且,本申请实施例是同步处理业务请求并返回处理结果,使得用户可以及时获得处理结果,用户体验较高。附图说明此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:图1为本申请一实施例的业务处理方法的流程图;图2为本申请一实施例的业务处理系统的结构框图;图3a为本申请一实施例的业务处理装置的逻辑结构框图;图3b为本申请另一实施例的业务处理装置的结构框图;图4为本申请一实施例的业务处理装置中业务数据打包模块的结构框图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。参考图1所示,本申请实施例的业务处理方法包括以下步骤:步骤S101、接收业务请求。在本申请实施例中,业务请求可以是任意业务处理系统的任意的业务请求,比如支付宝的商户群红包转账请求,比如电子优惠券发放系统中的电子优惠券发放请求,再比如积分系统中的积分减扣请求,等等。步骤S102、将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应。一般的,在当前已使用的业务处理系统中,业务请求的业务领域模型是预先建立好的。而在本申请实施例中,将业务请求的已有业务领域模型中的数据对象(比如各种业务相关的Java类对象)进行数据模型转换的主要目的在于,是要使得转换后得到的新数据对象可直接与指定数据库中的各个业务相关数据表对应,从而方便在指定数据库的数据存储。在本申请一个实施例中,所述数据模型转换比如可以是从实体联系图(ER,EntityRelationshipDiagram)转换成关系模型等等。步骤S103、在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果。本申请实施例中的打包可以理解为减少要存储对象的一种方式。而将当前所述新数据对象中指定范围内的数据打包的主要目的,亦是在于压缩或合并数据(比如将原本需要存储在多张数据表中的数据,压缩到一张数据表中),这样可以降低业务处理系统同步处理业务请求时的数据库操作次数,这在业务高并发时(比如双十一购物促销狂欢日等),很有利于减轻业务处理系统的压力。在本申请的一个实施例中,所述将当前所述新数据对象中指定范围内的数据打包比如可以是通过序列化的方式,具体包括:首先,通过序列化的方式将当前所述新数据对象中指定范围内的数据转换为字符串,比如通过hession协议转换成文本字符串;其次,将所述字符串作为扩展字段写入所述指定数据库中的一个指定的业务相关数据表中;最后,更新所述指定的业务相关数据表中的数据库记录状态位(比如status=SUCCESS,substatus=PACKED)。本申请其他实施例中,也可以采用其他减少要存储对象的方法。比如可将当前所述新数据对象中指定范围内的数据转换为二进制文件形式存贮到一个基于内存的其他数据库(比如NOSQL(NotOnlySQL)数据库)中,待业务低峰(即业务量低于设定阈值)的时候恢复数据,即从NOSQL数据库中读取文件信息再将完整的数据对象恢复到目标业务数据库中。本本文档来自技高网
...
业务处理方法、装置及系统

【技术保护点】
一种业务处理方法,其特征在于,包括以下步骤:接收业务请求;将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果;当业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入所述指定数据库中的各个业务相关的数据表中。

【技术特征摘要】
1.一种业务处理方法,其特征在于,包括以下步骤:接收业务请求;将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表对应;在成功处理所述业务请求后,将当前所述新数据对象中指定范围内的数据打包成数据包保存,并返回业务处理结果;当业务量低于设定阈值时,捞取保存的数据包以进行解包处理,并将解包后得到的数据对应插入所述指定数据库中的各个业务相关的数据表中。2.根据权利要求1所述的业务处理方法,其特征在于,所述将当前所述新数据对象中指定范围内的数据打包成数据包保存,包括:通过序列化的方式将当前所述新数据对象中指定范围内的数据转换为字符串;将所述字符串作为扩展字段写入所述指定数据库中的一个指定的业务相关数据表中;更新所述指定的业务相关数据表中的数据库记录状态位。3.根据权利要求1所述的业务处理方法,其特征在于,所述的捞取为定时捞取。4.根据权利要求3所述的业务处理方法,其特征在于,所述的定时捞取包括:在中间件定时发送的驱动消息的触发下进行捞取。5.根据权利要求1所述的业务处理方法,其特征在于,还包括:如果处理所述业务请求失败,则直接回业务处理结果。6.一种业务处理装置,其特征在于,包括:业务请求接收模块,用于接收业务请求;数据模型转换模块,用于将所述业务请求的业务领域模型中的数据对象进行数据模型转换,以使转换后得到的新数据对象与指定数据库中的各个业务相关数据表...

【专利技术属性】
技术研发人员:武律周要娣
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1