任务超过5个时,可以认为产生了预设的异常事件,并发出提示信息。
[0092]2)预设的异常事件表示当前存在异常的同步任务。则若检测到当前存在异常的同步任务,则发出提示信息。
[0093]具体地,本发明的较佳的实施例中,在系统后台会开启一个同步任务的异常信息监测服务进程,并用来定时统计是否存在出现异常事件的正在执行的同步任务:
[0094]若存在,则系统会通知使用者,即向使用者发出相应的提示信息;
[0095]若不存在,则继续判定该同步任务是否为自动进行,并在该同步任务为自动进行时重启该同步任务。这个步骤的目的在于避免某些同步任务出现无限自动循环执行的锁死状态。
[0096]本发明的较佳的实施例中,系统同样可以使用相应的分布式应用程序协调服务,给正在执行的同步任务加锁,并且检测加锁的状态。一旦获取到相应的锁,则表示对应的同步任务出现异常,此时系统会自动发起新的同步任务来处理之前没有被同步的订单数据。
[0097]3)预设的异常事件表示当前存在手动的同步任务和自动的同步任务同时进行,则发出提示信息。
[0098]本发明的较佳的实施例中,若监控到上述1)-3)中任意一种异常事件,则停止当前的同步任务,并发出相应的提示信息,以提醒使用者注意。
[0099]本发明的较佳的实施例中,如上文中所述,上述步骤S12中,若出现异常事件,则转而启动手动的同步过程。由于上述订单数据同步方法主要强调自动操作的过程,因此在上文中描述“若出现,则发出提示信息,随后退出”。但是在实际应用中,出现异常事件之后的手动同步过程仍然可以作为上述订单数据同步方法中相关步骤的后续步骤。在此不再赘述。
[0100]本发明的较佳的实施例中,如图3所示,上述步骤S3具体包括:
[0101]步骤S31,将步骤S2中获取的报表数据从报表数据库中删除;
[0102]步骤S32,采用预设的数据模板对同步数据进行处理;
[0103]步骤S33,将经过处理的同步数据作为报表数据保存到报表数据库中,以替换被删除的报表数据。
[0104]具体地,本发明的较佳的实施例中,将根据第一缓存中保存的同步数据查询得到的报表数据从上述报表数据库中删除。随后采用预设的数据模板对上述同步数据进行处理。具体可以为例如根据上述同步数据的3口口1;^31^8(]0(16和11161'(311(]0(16现则数据处理模型对上述同步数据进行处理,以统一同步数据的格式。
[0105]最后,本发明的较佳的实施例中,将经过处理的同步数据保存入上述报表数据库中,以替代之前被删除的相应的报表数据。
[0106]本发明的较佳的实施例中,预设一第二时间间隔;
[0107]则上述步骤S32中,采用预设的数据模板,对保存于第三缓存中的同步数据进行处理,并将经过处理的同步数据保存于一第三缓存中;
[0108]上述步骤S33中,按照第二时间间隔,将保存于第三缓存中的经过处理的同步数据分段同步至报表数据库中。
[0109]具体地,本发明的较佳的实施例中,首先将准备同步的数据从上述第一缓存中保存到第三缓存中,随后将上述第三缓存中的同步数据,按照预设的第二时间间隔进行分段同步,该预设的第二时间间隔可以以秒为单位,即按照每秒时间段内的订单数据进行同步,又或者可以以分钟为单位,即按照每分钟时间段内的订单数据进行同步。上述分段同步的方式可以减轻系统的数据传输压力。
[0110]综上所述,本发明技术方案中,首先定期获取订单数据库中经过更新的订单数据,并作为同步数据保存到一第一缓存中。随后,根据保存于第一缓存中的同步数据查找报表数据库中是否存在相应的报表数据,并从报表数据库中删除查找得到的报表数据,最后对同步数据做格式统一的处理,并将经过处理的同步数据保存入报表数据库中,以替换被删除的报表数据,从而完成订单数据的同步操作。
[0111]本发明的较佳的实施例中,基于上文中所述的订单数据同步方法,现提供一种订单数据同步系统,其结构具体如图4所示,包括:
[0112]订单存储单元I,保存有多个订单数据;
[0113]报表存储单元2,保存有对应订单数据的多个报表数据;
[0114]获取单元3,连接订单存储单元I,用于在订单存储单元I中获取经过更新的订单数据,并将获取的订单数据保存于一第一缓存单元4中;
[0115]查询单元5,分别连接第一缓存单元4和报表存储单元2,用于查询并获取保存在报表存储单元2中的与同步数据相匹配的报表数据;
[0116]处理单元6,分别连接查询单元5和报表存储单元2,用于采用预设的数据模板对同步数据进行处理,并采用经过处理的同步数据替换被获取的报表数据。
[0117]本发明的较佳的实施例中,如上文中所述,经过更新的订单数据可以包括:
[0118]于订单存储单元中新增的订单数据;和/或
[0119]于订单存储单元中发生更改的订单数据。
[0120]本发明的较佳的实施例中,如图5所示,上述获取单元3中包括:
[0121 ]第一定时模块31,预设有一第一时间间隔;
[0122]获取模块32,连接第一定时模块31,用于根据第一时间间隔,周期性地于订单存储单元I中获取经过更新的订单数据。
[0123]本发明的较佳的实施例中,每次获取单元3获取一次经过更新的订单数据后,产生一个对应的同步数据的同步任务;
[0124]则如图5所示,上述获取单元3中还包括:
[0125]第二缓存模块33,连接获取模块32,用于缓存被获取的订单数据;
[0126]校验模块34,连接第二缓存模块33,用于对订单数据进行校验,并输出校验结果;
[0127]控制模块35,连接校验模块34,用于根据校验结果,在订单数据未通过校验时退出本次订单数据同步过程,或者在订单数据通过校验时将订单数据作为同步数据保存入第一缓存单元4中;
[0128]提示模块36,连接校验模块34,用于根据校验结果,在订单数据未通过校验时输出相应的提示信息;
[0129]判断模块37,连接控制模块35,用于判断当前的同步任务是否出现预设的异常事件,并输出判断结果;
[0130]控制模块35还用于根据判断结果,在当前的同步任务出现异常事件时退出本次订单数据同步过程,或者在同步任务未出现异常事件时将订单数据作为同步数据保存入第一缓存单元中。
[0131 ]本发明的较佳的实施例中,如图6所示,上述处理单元6包括:
[0132]第二获取模块61,用于从第一缓存单元4中获取同步数据;
[0133]删除模块62,连接第二获取模块61,用于将被获取的报表数据从报表存储单元中删除;
[0134]处理模块63,连接第二获取模块61,用于采用预设的数据模板对同步数据进行处理,并将经过处理的同步数据保存于一第三缓存模块64中;
[0135]替换模块65,连接第三缓存模块64,用于将缓存的同步数据作为报表数据保存