一种保护erp接口数据的方法

文档序号:6449247阅读:147来源:国知局
专利名称:一种保护erp接口数据的方法
技术领域
本发明涉及一种数据库管理应用系统保护接口数据的方法,特别是涉及一种保护ERP(Enterprise Resource Planing)接口数据的方法。
背景技术
随着电子商务技术的发展和日趋成熟,ERP系统的应用越来越普及,由于电子商务的特点,大量数据需要和ERP系统进行交互,这决定了在电子商务系统中的数据交互具有如下的特点负载较大,对性能要求很高;需要实时和ERP进行数据交互;或者,由于误操作或错误数据等原因经常会造成向ERP提交数据失败,必须有一种失败后的错误处理方法。
目前,一般可以使用事务处理来实现系统内部的容错,但是,当系统和系统之间交互数据时,如果某个系统不支持事务处理,则无法实现错误处理。
另外,在处理大量数据时,使用事务处理有时会使系统的效率大大降低,因为错误发生后系统会回滚到初始状态,使得所做过的全部操作都会失效。
通常对ERP的访问,操作的结果都是不确定的,即使大多数情况下这些操作都能成功完成,也要考虑到意外的错误发生。比如,用户通过电子商务平台向ERP提交一张订单,这张订单实际上包含多张订单的数据,在ERP内部是按照多张订单处理的,每一张都有自己的订单号,但从用户的角度来看,这只是一张订单,在电子商务系统是按照一张订单来处理的。例如,一张返款申请单可能会包含100家代理商的数据,每家代理商的数据在提交到ERP后,都会生成一张ERP的订单,返回一个订单号;而在电子商务系统中,这张包含100家代理的订单却只有一个订单号。
现有技术中,一般可以通过事务处理来提高容错性。但是由于电子商务系统是分层次的,所以事务处理也是由各层次(如数据库层,ERP层,用户交互层)中各自的系统来支持的。由于ERP中的内部函数大多不选择支持事务,当多张订单的其中一张失败时,如果用户交互层采取事务回滚,电子商务数据库中的数据就会回滚,即清除失败前所有定单的订单号,但是在ERP中这些定单已经存在,当重新下单时,由于在数据库中找不到这些定单的ERP定单号,所以会认为没有向ERP提交过,这样就会造成在ERP中重复下单的结果。显然,这种情况下发生的错误,是由于各个层次中的系统对事务处理不统一造成的。
如果ERP内部函数支持了事务,用户交互层也选择支持事务,当有一张订单提交失败时,所有定单都会回滚,重新下单时,要对所有定单再重新向ERP提交,即有一张订单失败,其他订单都无法提交,这种情况对大量数据情况来说也是无法接受的。

发明内容
本发明要解决的技术问题是提出一种保护ERP接口数据的方法,当向ERP提交数据发生错误时,ERP接口数据保护系统(EIDP)会立即进行保护,具有比事务处理更高的容错性。
本发明所述保护ERP接口数据的方法,包括如下步骤步骤一、读取订单状态标志位并判断订单状态,步骤二、根据标志位判断,如果不是第一次递交,则根据标志的指示,进行相应处理后,转步骤五;如果是第一次递交,则继续;步骤三、调用通用ERP接口,准备向ERP提交数据;步骤四、数据同步,将订单信息或错误信息保存到数据库,将订单提交的信息或错误信息保存到数据库;步骤五、结束。
如上所述的方法中,向ERP提交数据,如果提交成功,取得返回的订单信息,同时,置订单状态标志位为1;如果提交失败,则取得返回的错误信息,订单状态标志位为0;如果出现其他异常,置订单状态标志位为-1,转8处理。
本发明所述方法可广泛应用于电子商务平台上,用户通过电子商务网站访问ERP,同时也有大量数据保存在ERP的外挂数据库中,在进行大量的数据交互过程中,采用本发明,系统会自动辨认出在大量数据中没有被处理过的那些,并且只对这些数据作处理,这样一来,节省了大量重复创建的工作;本发明所述方法运行在商务逻辑层的位置,它的运行相对于用户来说是透明的,只要对应用环境进行了正确地设置,就可以获得数据保护;采用本发明方法,使得错误发生后的处理工作变得非常简单,同时也省去了订单多次重复提交的繁琐。


图1是本发明所述方法的流程图;图2是各层次中事务处理过程的示意图。
具体实施例方式
结合图1,本发明的基本原理在于当大量数据需要通过ERP接口向ERP提交时,在ERP内部生成订单,操作成功返回订单信息,失败返回失败信息。但是由于提交可能是上次失败之后的重新操作,通过ERP接口数据保护系统(EIDP)会在这些大批数据中进行过滤,将上次成功提交的数据分离出来,从上次提交失败的位置重新开始,这样就避免了大批量数据的重复操作。
当向ERP提交数据发生错误时,ERP接口数据保护系统(EIDP)会立即进行现场保护工作。首先,将已经成功提交过的订单进行保存,将由ERP返回的数据信息保存到数据库中,同时也保存这些订单的成功状态信息;然后,确定出错位置,获取出错状态信息;最后,保存未提交的订单的状态信息。
通过ERP接口数据保护系统(EIDP)使得通过ERP交互的数据,通过电子商务数据库交互的数据可以串行顺序处理,只有提交到ERP的订单数据得到了确定,才会将返回的结果保存到电子商务数据库,这就保证了ERP,和电子商务数据库中数据的一致性。
本发明所述方法的详细步骤描述如下步骤一、读取订单状态标志位并判断订单状态,步骤二、根据标志位判断,如果是第一次递交,则继续下一步;如果不是第一次递交,则根据标志的指示,进行相应处理后;例如,如果标志位表示上次提交失败,则进行恢复现场,确定所需提交的订单位置,准备提交数据;调用EIDP接口,向ERP提交,获得返回值;将ERP返回信息同步到数据库后,转步骤五结束。
如果标志位表示上次提交成功,则处理上次提交成功的订单,读取订单信息,返回给用户交互层,转步骤五结束。
如果标志位表示上次提交异常,则进行异常处理,退出ERP接口数据保护系统,把错误返回给操作系统;转步骤五结束。
步骤三、调用通用ERP接口,准备向ERP提交数据;步骤四、数据同步,将订单信息或错误信息保存到数据库,将订单提交的信息或错误信息保存到数据库;步骤五、结束。
本发明上述方法中,如果订单是第一次递交,在进行到上述的步骤四时,也可能出现提交订单成功、失败和异常三种情况,本发明所述方法还需要在对标志位进行标记,并将信息返回给用户交互层;所述标记说明如下如果提交成功,取得返回的订单信息,同时,置订单状态标志位为1;如果提交失败,取得返回的错误信息、保存现场、置订单状态标志位为0;如果出现其他异常,置订单状态标志位为-1。
图2给出了本发明的应用环境,即ERP接口数据保护系统(EIDP)的3个层次,本发明所述方法通过这三个层次的配合,使得错误发生后的处理工作变得非常简单,省去了用户多次重复提交订单的繁琐。下面对图2的三个层次进行具体介绍1.用户交互层在这一层,ERP接口数据保护系统(EIDP)负责把用户提交的数据进行过滤,比较,将需要处理的数据传递给下一个步骤层次,在这里,需要对用户在电子商务系统中提交的订单数据进行分析,分解,将逻辑上的电子商务中的一张订单,按照ERP中的订单、数据格式分解成多条记录,以供下一步操作;同时也把ERP处理过的提示信息,如错误提示,返回的订单号等返回给用户。这一层是ERP接口数据保护系统(EIDP)和用户层进行交互的接口。
2.逻辑处理层在这一层,ERP接口数据保护系统(EIDP)将完成数据向ERP系统的提交工作,数据提交是通过调用电子商务通用ERP接口完成的;同时另一个重要任务是在发生错误时进行数据保护和现场状态保护的工作,将出错时的数据信息和状态信息保存,提交给下一个步骤层次处理。
3.数据处理层在这一层,ERP接口数据保护系统(EIDP)将数据与数据库进行交互,把已经成功的订单数据写入数据库,完成数据同步;同时也把成功的订单状态和失败的订单状态保存到数据库。
最后所应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明权利要求范围当中。
权利要求
1.一种保护ERP接口数据的方法,其特征在于,包括如下步骤步骤一、读取订单状态标志位并判断订单状态;步骤二、根据标志位判断,如果不是第一次递交,则根据标志的指示,进行相应处理后,转步骤五;如果是第一次递交,则继续;步骤三、调用通用ERP接口,准备向ERP提交数据;步骤四、数据同步,将订单信息或错误信息保存到数据库,将订单提交的信息或错误信息保存到数据库;步骤五、结束。
2.根据权利要求1所述的保护ERP接口数据的方法,其特征在于,所述的步骤二中,如果不是第一次递交且上次提交失败,则进行如下的处理恢复现场,确定所需提交的订单位置,准备提交数据;调用EIDP接口,向ERP提交,获得返回值;将ERP返回信息同步到数据库后,转步骤五结束。
3.根据权利要求1所述的保护ERP接口数据的方法,其特征在于,所述的步骤二中如果不是第一次递交且上次提交成功,则进行如下的处理处理上次提交成功的订单,读取订单信息,返回给用户交互层,转步骤五结束。
4.根据权利要求1所述的保护ERP接口数据的方法,其特征在于,所述的步骤二中,如果不是第一次递交且上次提交异常,则进行如下的处理进行异常处理,退出ERP接口数据保护系统,把错误返回给操作系统;转步骤五结束。
5.根据权利要求1所述的保护ERP接口数据的方法,其特征在于,所述的步骤四中的结果信息包括如果提交成功,取得返回的订单信息,同时,置订单状态标志位为1;如果提交失败,取得返回的错误信息、保存现场、置订单状态标志位为0;如果出现其他异常,置订单状态标志位为-1。
全文摘要
本发明公开了一种保护ERP接口数据的方法,属于数据库管理领域;所述方法包括读取订单状态标志位并判断订单状态;根据标志位判断,如果不是第一次递交,则根据标志的指示,进行相应处理后,结束;如果是第一次递交,则继续;调用通用ERP接口,准备向ERP提交数据;进行数据同步,将订单信息或错误信息保存到数据库,将订单提交的信息或错误信息保存到数据库;最后结束。本发明所述方法可广泛应用于电子商务平台上,用户通过电子商务网站访问ERP,同时也有大量数据保存在ERP的外挂数据库中;在进行大量的数据交互过程中,采用本发明,系统会自动辨认出在大量数据中没有被处理过的那些,并且只对这些数据作处理,节省了大量重复创建的工作时间。
文档编号G06F9/44GK1530859SQ03119139
公开日2004年9月22日 申请日期2003年3月14日 优先权日2003年3月14日
发明者潘子晶, 刘莹, 郑璐, 卢亮, 汤海京 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1