初始化数据库的方法和装置的制作方法

文档序号:6379066阅读:200来源:国知局
专利名称:初始化数据库的方法和装置的制作方法
技术领域
本发明涉及一种初始化数据库的方法和装置。
背景技术
电子商务的各种系统为了最大程度的满足客户使用体验,需要7X24小时不间断的运行。在这种情况下,各种系统的升级面临着很多问题,其中库存系统尤为突出。库存系统与网站交易系统、财务系统、仓储管理系统、订单系统等诸多系统相关联,它们之间存在复杂的数据交互关系。这些系统没有一个时刻是处于同时不工作的情况,这些系统的运行会改变库存系统的一个或多个数据类型。例如订单系统在完成订单生产后,货物从库房中被取出并打包,于是减少了库房中的实际库存量。又如,仓储管理系统预订了一些货物作为 备用货物,于是减少了库房中的可出货量。实际库存量、可出货量都属于库房系统中的数据类型。因为这些系统是时时运行的,所以时时在改变库存系统的数据,而库存系统的更新又需要一定时间,所以更新库存系统时不能使用更新前的数据。为了尽可能地提高新库存系统的数据的准确性,现有技术中的做法是停止相关系统的运行,然后从这些相关系统中抽取数据作为更新后的库存系统中的各数据类型的初始数值。至于哪个数据类型的数值从哪个相关系统中抽取,是由系统管理人员预先指定。但是在实际的电子商务系统的操作中,相关系统的停止是难以做到完全的中断业务数据流。对于海量订单的处理,往往是在停止操作的过程中无法完全停止每一项业务,从而仍存在数据流,这样,从相关系统中抽取的作为更新后的库存系统中的各数据类型的初始数值也是不准确的。一般来说,不仅是电子商务行业的各个业务系统,其他行业的业务系统如果属于多种系统协同工作、相互存在数据交互的情况,并且如果难以完全停止每条数据流,那么其中的任何一个系统在更新时都存在更新后的新系统的初始数据不够准确的情况。

发明内容
有鉴于此,本发明提供一种初始化数据库的方法和装置,能够提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。为实现上述目的,根据本发明的一个方面,提供了一种初始化数据库的方法。在本发明的始化数据库的方法中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述方法包括设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。可选地,设置数据库中的各个数据类型的初始值的步骤包括针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。可选地,根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值的步骤包括将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。根据本发明的另一方面,提供了一种初始化数据库的装置。

在本发明的初始化数据库的装置中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述装置包括初始化模块,用于设置所述数据库中的各个数据类型的初始值;调用模块,用于调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;修正模块,用于分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。可选地,所述初始化模块还用于针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。可选地,所述修正模块包括差异对比单元和数据调整单元,其中所述差异对比单元,用于将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;所述数据调整单元,用于从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。根据本发明的技术方案,更新数据库的方式并不停止相关系统的运行,而是先将数据库与相关业务系统联网,获取相关业务系统中的数据来修正数据库。在此过程中,数据交换如果正处于中间环节,则获取的数据仍有可能存在误差,若一个业务的数据交换正好完成则获取的是准确的数据。因此,周期性地对各个数据类型进行修正使得各数据陆续在交换完成时得以修正,从而使数据库中的数据与相关业务系统保持一致。所以本发明的技术方案有助于提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。


附图用于更好地理解本发明,并不构成对本发明的不当限定。其中图I是根据本发明实施例的初始化数据库的方法的基本步骤的示意图;图2是根据本发明实施例的更新库存系统的一种具体方式的示意图;图3是根据本发明实施例的初始化数据库的装置的基本结构的示意图。
具体实施例方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图I是根据本发明实施例的初始化数据库的方法的基本步骤的示意图。如图I所示,本发明实施例的初始化数据库的方法主要包括步骤Sll至步骤S13。步骤Sll :设置数据库中的各个数据类型的初始值。该初始值可以人工设定,也可以针对各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前值。步骤S12 :调取业务系统中的各个数据类型的当前值作为数据库中该数据类型的当前值。本步骤中,数据库已经与各业务系统联网,能够互通数据,但因此时数据库中的数据还不准确,所以暂不上线运行。步骤S13 :分别 对于各个数据类型,周期性地根据业务系统中的该数据类型的当前值修正数据库中的该数据类型的当前值。本步骤中,对于步骤Sll中的初始值进行修正,使各个数据类型的数值与预先指定的业务系统中的该数据类型的数值相一致,此时使数据库上线运行,就可以保证在线的新数据库的数据准确性。步骤S12的一种可选的方式是,首先将数据库中的数据类型的数值与针对该数据类型指定的业务系统中的该数据类型的数值进行对比,若存在差异则对数据类型进行记录,例如以列表的方式进行记录,然后按预设的周期读取记录的数据类型,例如轮询上述列表,对于读取的各个数据类型,根据针对该数据类型指定的业务系统中的该数据类型的当前数值来修正数据库中的该数据类型的数值。以电子商务行业中的库存系统为例,在实现中具体可以采用图2所示的步骤。图2是根据本发明实施例的更新库存系统的一种具体方式的示意图。如图2所示,首先从线上系统导出初始化用数据(步骤S201)。这里的线上系统是与库存系统相关联的其他系统并且在线运行。然后将初始化数据导入初始化数据表(步骤S202 )。接下来启动初始化程序,并预先设置了执行的库存类型,库存类型包括库存系统的数据库中的各种数据类型。在初始化程序的执行过程中,首先调取初始化数据表(步骤S203),然后根据库存类型,调用库存服务(步骤S204),接下来更新内存中的库存数据(步骤S205),以及通过持久化程序,进行库存数据持久化(步骤S206),最后保存库存表(步骤
5207),该库存表中包含库存数据。在保存了库存表之后,数据已经初始化到新的库存系统中。但因为其他相关业务系统一直在运行,所以此时数据已经发生变化。在商品流通量非常大的情况下,新的库存系统的数据和旧系统的数据已经产生了很大的差异。因此,接下来开启所有调用程序(步骤
5208)。调用程序是用来调取其他相关业务系统中的数据。然后对新的库存系统的初始化数据进行修正。该修正是一个比对-调整-再比对-再调整的循环过程,直到数据正确为止。具体如图2,先后执行库存差异比对程序和差导调整程序,最好是在夜深人静时进行,此时因为电子商务交易量小,各个系统的业务流相对也比较小。在执行库存差异比对程序时,首先设置程序执行计划(步骤S209),然后执行比对程序(步骤S210),针对库存系统中的各个数据类型,将当前的数值与调用程序调用的数值进行比对,以及判断是否存在差异,若是,则将差异结果写入结果表(步骤S212)。结果表中应当记录存在差异的数据类型。在执行差异调整程序时,首先设置程序执行计划(S213),例如预设的时间周期,以及开始的时间点。然后从库存差异结果表中读取数据(步骤S214),并再次进行执行库存差异比对程序时所进行的比对从而判断是否存在差异(步骤S215 ),若是,则按照差异进行调整(S216 ),并且再次执行库存差异程序从而形成循环,否则停止该循环。可以看出,如果在执行库存差异比对程序和差导调整程序时,若某件商品没有产生数据变化,即没有订货、出入库等行为时,经过一次调整即可使库存系统该商品的几种数据类型的数值正确化。这样,因为各个商品终究会陆续地出现数据静止的时机,这样在一次次的循环中各项数据得以修正。以下对本发明实施例中的初始化数据库的装置做出说明。图3是根据本发明实施例的初始化数据库的装置的基本结构的示意图。如图3所示,本发明实施例的初始化数据库的装置30包括初始化模块31、调用模块32、以及修正模块33。初始化模块31用于设置数据库中的各个数据类型的初始值。调用模块32用于调取业务系统中的各个数据类型的当前值作为数据库中该数据类型的当前值。修正模块33用于分别对于各个数据类型,周期性地根据业务系统中的该数据类型的当前值修正数据库中的该数据类型的当前值。其中初始化模块31还可用于针对各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。 修正模块33的一种可选结构是包括差异对比单元和数据调整单元,其中差异对比单元用于将数据库中的数据类型的当前值与业务系统中的该数据类型的当前值进行对t匕,若存在差异则对数据类型进行记录;数据调整单元用于从业务系统中获取记录的各个数据类型的当前值,将这些当前值作为数据库中的该数据类型的当前值。根据本发明实施例的技术方案,更新数据库的方式并不停止相关系统的运行,而是先将数据库与相关业务系统联网,获取相关业务系统中的数据来修正数据库。在此过程中,数据交换如果正处于中间环节,则获取的数据仍有可能存在误差,若一个业务的数据交换正好完成则获取的是准确的数据。因此,周期性地对各个数据类型进行修正使得各数据陆续在交换完成时得以修正,从而使数据库中的数据与相关业务系统保持一致。所以本发明的技术方案有助于提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。上述具体实施方式
,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
权利要求
1.一种初始化数据库的方法,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,其特征在于,所述方法包括设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。
2.根据权利要求I所述的方法,其特征在于,设置数据库中的各个数据类型的初始值的步骤包括针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。
3.根据权利要求I或2所述的方法,其特征在于,根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值的步骤包括将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。
4.一种初始化数据库的装置,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,其特征在于,所述装置包括初始化模块,用于设置所述数据库中的各个数据类型的初始值;调用模块,用于调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;修正模块,用于分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。
5.根据权利要求4所述的装置,其特征在于,所述初始化模块还用于针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。
6.根据权利要求4或5所述的装置,其特征在于,所述修正模块包括差异对比单元和数据调整单元,其中所述差异对比单元,用于将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;所述数据调整单元,用于从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。
全文摘要
本发明提供一种初始化数据库的方法和装置,能够提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。在本发明的始化数据库的方法中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述方法包括设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。
文档编号G06F17/30GK102945257SQ20121039755
公开日2013年2月27日 申请日期2012年10月18日 优先权日2012年10月18日
发明者刘刚 申请人:北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1