处理业务数据的方法和系统的制作方法

文档序号:6635292阅读:297来源:国知局
处理业务数据的方法和系统的制作方法
【专利摘要】本发明提供一种处理业务数据的方法和系统,一方面能够高效、可靠地处理业务数据;第二方面可以使得数据库资源利用更加合理;第三方面使处理业务数据的系统具有良好的可扩展性。本发明的处理业务数据的方法包括:将多条业务数据保存到数据库中;数据处理模块按照配置信息,从所述数据库中获取对应于自身的多条业务数据,所述配置信息记录了数据处理模块所对应的业务数据状态以及业务数据条数;所述数据处理模块从获取的业务数据所处的状态起,按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理。
【专利说明】处理业务数据的方法和系统

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别地涉及一种处理业务数据的方法和系统。

【背景技术】
[0002]在互联网基于流程的多业务节点系统设计中,业务的处理能力和响应时间往往是考验系统能力的关键所在,尤其是对于那些要求实时的且数据量大的系统。例如在电子商务订单生产流程,订单从用户下单到库房进行生产这整个过程中往往会有很多流程相互协作,以服务于订单能快速,准确的送达到用户手中。用户下订单后,订单会经过多个业务环节,例如判断恶意订单流程、订单拆分流程、订单转移流程、订单下传、订单预分解、特殊订单处理等,在经过这些业务环节后,订单才能达到库房并进行生产。随着电子商务的规模不断扩大,订单量不断增加,竞争越来越激烈,对于系统的海量数据的时效性要求也越来越高,随之而来的对系统的响应时间,处理能力的提出了更高的要求,给系统的设计带来更大挑战。
[0003]在典型的电子商务订单流程中,从用户下单到终端库房订单生产的过程中,这其中订单会流经多个流程进行处理,比如下单后会经过判断恶意订单环节,订单拆分环节,订单转移环节等等流程,而且流程之间有逻辑上的先后顺序,直到最后到达终端库房生产。一般地,一条业务数据要经过多个业务节点的依次处理。图1是根据现有技术中的一种订单数据处理流程的示意图。如图1所示,原始订单数据依次经过业务节点I至4的处理,成为最终订单数据。不同的业务节点代表不同的业务处理流程,这些流程可能是一些内存操作,也可能去调用一些外部提供的服务。
[0004]图2是根据现有技术中的流程调度方式的示意图。如图2所示,在现有技术中,来自数据源系统的订单数据首先到达指定的订单数据库,然后为每一个业务节点系统设定业务状态值。相应地,每条订单数据也具有状态,业务数据的状态是表示该业务数据接下来应当进行哪个业务节点的处理。例如,来自数据源系统的订单数据当前需要进行判断恶意订单环节,则可以设置该数据状态为1,即状态I对应判断恶意订单环节;在完成该环节之后需要进行订单拆分,则状态2对应订单拆分环节。相应地,为每一个业务节点系统设定业务状态值时,要与上述的数据状态对应,即判断恶意订单环节的系统的业务状态值为1,订单拆分系统的业务状态值为2……等等。然后每个业务节点系统会独立地定时去数据库中获取符合自己业务状态值的数据进行处理,处理完成后会将数据库中该状态值更新为另一个业务节点执行的状态值,按上例,即判断恶意订单环节的系统获取数据状态为I的数据,处理之后将该数据状态修改为2 ;订单拆分系统获取数据状态为2的数据,处理之后将该数据状态修改为3。同一个订单数据经历过每个业务节点系统处理后,那么这个订单才会满足下游的生产系统的生产,例如按图1的流程,在状态为4的数据被处理之后,订单数据满足下游的生产系统的生产。
[0005]发明人在实现本发明的过程中发现,现有技术中对于上述多业务节点流程处理的方式,在数据量比较小的情况下一般能够正常处理,但是当数据量比较大例如当日订单量达到百万甚至千万时候,或者业务节点比较多的时候,会导致数据库压力增大,读写缓慢,使业务节点系统处理数据相应变缓,数据库本身也有可能发生故障;如果某个业务节点处理发生延迟或者处理失败,则整个流程被延缓或者一直卡在这个业务节点,而这种情况对于其他的业务节点系统而言是完全未知的。以处理订单数据为例,这样的延迟或中断将影响订单的生产,导致送货延迟,最终影响了用户体验。


【发明内容】

[0006]有鉴于此,本发明提供一种处理业务数据的方法和系统,一方面能够高效、可靠地处理业务数据;第二方面可以使得数据库资源利用更加合理;第三方面使处理业务数据的系统具有良好的可扩展性。
[0007]为实现上述目的,根据本发明的一个方面,提供了一种处理业务数据的方法。
[0008]本发明的处理业务数据的方法包括:将多条业务数据保存到数据库中;数据处理模块按照配置信息,从所述数据库中获取对应于自身的多条业务数据,所述配置信息记录了数据处理模块所对应的业务数据状态以及业务数据条数;所述数据处理模块从获取的业务数据所处的状态起,按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理。
[0009]可选地,所述多条业务数据是电子商务系统中的订单数据。
[0010]可选地,还包括:所述数据处理模将所述业务节点系统处理之后得到的业务数据保存到所述数据库中。
[0011]可选地,在按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理的步骤中,所述数据处理模块在所述业务数据未被成功处理的情况下,输出提不?目息。
[0012]根据本发明的另一方面,提供了一种处理业务数据的系统。
[0013]本发明的处理业务数据的系统包括一个或多个接收模块,以及一个或多个数据处理模块,其中:所述接收模块,用于接收多条业务数据然后保存到数据库中;所述数据处理模块,用于按照配置信息,从所述数据库中获取对应于自身的多条业务数据,所述配置信息记录了数据处理模块所对应的业务数据状态以及业务数据条数;以及从获取的业务数据所处的状态起,按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理。
[0014]可选地,所述多条业务数据是电子商务系统中的订单数据。
[0015]可选地,所述数据处理模块还用于将所述业务节点系统处理之后得到的业务数据保存到所述数据库中。
[0016]可选地,所述数据处理模块还用于在所述业务数据未被成功处理的情况下,输出提示信息。
[0017]根据本发明的技术方案,由数据处理模块从数据库中获取待处理的业务数据,然后调用相应的业务节点系统对业务数据进行处理,避免了数据库被频繁读写带来的读写缓慢甚至故障,以及对数据库资源的不合理使用,从而能够高效可靠地处理业务数据,在数据处理发生异常时能够输出提示使得异常可以被及时发现和处理。另外本实施例中的处理业务数据的系统中,数据处理模块可以灵活扩充,使系统有良好的可扩展性。

【专利附图】

【附图说明】
[0018]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0019]图1是根据本发明实施例的示意图;
[0020]图2是根据本发明实施例的示意图。
[0021]图3是根据本发明实施例的处理业务数据的方法的基本步骤的示意图;
[0022]图4是根据本发明实施例的处理业务数据的系统的示意图。

【具体实施方式】
[0023]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0024]在本发明实施例中,由数据处理模块从数据库中获取数据,然后调用相应的业务节点系统对获取的数据进行处理,处理完成之后按照业务节点的执行顺序再调用下一个业务节点系统,直至所有节点处理完毕,再交由下游系统。以下结合图3作详细说明。图3是根据本发明实施例的处理业务数据的方法的基本步骤的示意图。
[0025]步骤S31:将多条业务数据保存到数据库中。本步骤可以是由一个单独的模块来完成,设置在数据处理模块所在的计算机中或者单独的一台计算机中。
[0026]步骤S32:数据处理模块获取业务数据。本实施例中,采用多个数据处理模块,本步骤及后续步骤是对其中一个数据处理模块的动作的说明。在本实施例的方案中,预先对数据处理模块进行配置,配置信息包括各数据处理模块各自对应的业务数据状态,例如数据处理模块A对应业务数据状态1、数据处理模块F对应业务数据状态2……等。配置信息还包括各数据处理模块应该从数据库中获取多少条数据进行处理,例如数据处理模块A获取3万条,数据处理模块B获取5万条等。
[0027]步骤S33:数据处理模块调用业务节点系统对获取的业务数据进行处理。对业务数据作具体处理的是被调用的业务节点系统,处理之后将数据返回给数据处理模块。数据处理模块是按照业务节点的执行顺序来调用各个业务节点系统,例如业务节点的执行顺序依次是:判断恶意订单环节、订单拆分环节、订单转移环节等,则依次调用这些环节的业务节点系统。在所有的业务节点系统被调用完成之后,业务数据也处理完成,可交由下游系统。
[0028]每当一个被调用的业务节点系统返回处理之后的数据,一个优选方式是数据处理模块将该数据保存到数据库,这样,在下一个业务节点系统未能处理数据时,仍保留有该被调用的业务节点系统的处理成果。另外,如果数据处理模块发现调用的业务节点系统未能成功处理数据时,可以输出提示信息,以通知人员。这里的未能成功处理的判断方式可以预先设定,例如被调用的业务节点系统在从被调用起指定时长之后还未向数据处理模块返回数据,即认为未成功处理;又如被调用的业务节点系统返回一些表示处理异常的信息,则认为未成功处理,等等。
[0029]如果系统发生异常,在恢复之后可从步骤S32重新开始上述流程,此时数据库中存在各种状态的数据,例如有些已经处理到订单拆分环节、有些已经处理到订单转移环节等。这样在步骤S32中,数据处理模块根据配置文件,确定自身对应的业务数据状态,再获取该状态的数据进图4是根据本发明实施例的处理业务数据的系统的示意图。行处理。
[0030]图4是根据本发明实施例的处理业务数据的系统的示意图。该处理业务数据的系统首先将数据保存到数据库中,然后进行数据调度,即调用各个业务节点系统对数据进行处理。如图4所示,本发明实施例的处理业务数据的系统可以是多个,并且分布式部署,每个系统的结构类似,包含至少一个接收模块和一个或多个数据处理模块,例如图中的处理业务数据的系统40主要包括一个接收模块41,以及多个数据处理模块42、43、......、4N。图中还示出了可供各数据处理模块调用的业务节点系统一、二……等。接收模块41用于接收多条业务数据然后保存到数据库中。数据处理模块用于按照配置信息,从数据库中获取对应于自身的一条或多条业务数据。数据处理模块还可用于将业务节点系统处理之后得到的业务数据保存到数据库中,以及在业务数据未被成功处理的情况下,输出提示信息。
[0031]根据本发明实施例的技术方案,由数据处理模块从数据库中获取待处理的业务数据,然后调用相应的业务节点系统对业务数据进行处理,避免了数据库被频繁读写带来的读写缓慢甚至故障,以及对数据库资源的不合理使用,从而能够高效可靠地处理业务数据,在数据处理发生异常时能够输出提示使得异常可以被及时发现和处理。另外本实施例中的处理业务数据的系统中,数据处理模块可以灵活扩充,使系统有良好的可扩展性。
[0032]上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
【权利要求】
1.一种处理业务数据的方法,其特征在于,包括: 将多条业务数据保存到数据库中; 数据处理模块按照配置信息,从所述数据库中获取对应于自身的多条业务数据,所述配置信息记录了数据处理模块所对应的业务数据状态以及业务数据条数; 所述数据处理模块从获取的业务数据所处的状态起,按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述多条业务数据是电子商务系统中的订单数据。
3.根据权利要求1所述的方法,其特征在于,还包括:所述数据处理模将所述业务节点系统处理之后得到的业务数据保存到所述数据库中。
4.根据权利要求1,2或3所述的方法,其特征在于,在按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理的步骤中,所述数据处理模块在所述业务数据未被成功处理的情况下,输出提示信息。
5.一种处理业务数据的系统,其特征在于,包括一个或多个接收模块,以及一个或多个数据处理模块,其中: 所述接收模块,用于接收多条业务数据然后保存到数据库中; 所述数据处理模块,用于按照配置信息,从所述数据库中获取对应于自身的多条业务数据,所述配置信息记录了数据处理模块所对应的业务数据状态以及业务数据条数;以及从获取的业务数据所处的状态起,按照业务节点的执行顺序依次调用各个业务节点系统对获取的业务数据进行处理。
6.根据权利要求5所述的系统,其特征在于,所述多条业务数据是电子商务系统中的订单数据。
7.根据权利要求5所述的系统,其特征在于,所述数据处理模块还用于将所述业务节点系统处理之后得到的业务数据保存到所述数据库中。
8.根据权利要求5,6或7所述的系统,其特征在于,所述数据处理模块还用于在所述业务数据未被成功处理的情况下,输出提示信息。
【文档编号】G06F17/30GK104391932SQ201410674310
【公开日】2015年3月4日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】彭智敏 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1