本发明专利技术提供一种初始化数据库的方法和装置,能够提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。在本发明专利技术的始化数据库的方法中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述方法包括:设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。
【技术实现步骤摘要】
本专利技术涉及一种初始化数据库的方法和装置。
技术介绍
电子商务的各种系统为了最大程度的满足客户使用体验,需要7X24小时不间断的运行。在这种情况下,各种系统的升级面临着很多问题,其中库存系统尤为突出。库存系统与网站交易系统、财务系统、仓储管理系统、订单系统等诸多系统相关联,它们之间存在复杂的数据交互关系。这些系统没有一个时刻是处于同时不工作的情况,这些系统的运行会改变库存系统的一个或多个数据类型。例如订单系统在完成订单生产后,货物从库房中被取出并打包,于是减少了库房中的实际库存量。又如,仓储管理系统预订了一些货物作为 备用货物,于是减少了库房中的可出货量。实际库存量、可出货量都属于库房系统中的数据类型。因为这些系统是时时运行的,所以时时在改变库存系统的数据,而库存系统的更新又需要一定时间,所以更新库存系统时不能使用更新前的数据。为了尽可能地提高新库存系统的数据的准确性,现有技术中的做法是停止相关系统的运行,然后从这些相关系统中抽取数据作为更新后的库存系统中的各数据类型的初始数值。至于哪个数据类型的数值从哪个相关系统中抽取,是由系统管理人员预先指定。但是在实际的电子商务系统的操作中,相关系统的停止是难以做到完全的中断业务数据流。对于海量订单的处理,往往是在停止操作的过程中无法完全停止每一项业务,从而仍存在数据流,这样,从相关系统中抽取的作为更新后的库存系统中的各数据类型的初始数值也是不准确的。一般来说,不仅是电子商务行业的各个业务系统,其他行业的业务系统如果属于多种系统协同工作、相互存在数据交互的情况,并且如果难以完全停止每条数据流,那么其中的任何一个系统在更新时都存在更新后的新系统的初始数据不够准确的情况。
技术实现思路
有鉴于此,本专利技术提供一种初始化数据库的方法和装置,能够提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。为实现上述目的,根据本专利技术的一个方面,提供了一种初始化数据库的方法。在本专利技术的始化数据库的方法中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述方法包括设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。可选地,设置数据库中的各个数据类型的初始值的步骤包括针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。可选地,根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值的步骤包括将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。根据本专利技术的另一方面,提供了一种初始化数据库的装置。 在本专利技术的初始化数据库的装置中,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,所述装置包括初始化模块,用于设置所述数据库中的各个数据类型的初始值;调用模块,用于调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;修正模块,用于分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。可选地,所述初始化模块还用于针对所述各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前数值。可选地,所述修正模块包括差异对比单元和数据调整单元,其中所述差异对比单元,用于将所述数据库中的数据类型的当前值与所述业务系统中的该数据类型的当前值进行对比,若存在差异则对数据类型进行记录;所述数据调整单元,用于从所述业务系统中获取记录的各个数据类型的当前值,将这些当前值作为所述数据库中的该数据类型的当前值。根据本专利技术的技术方案,更新数据库的方式并不停止相关系统的运行,而是先将数据库与相关业务系统联网,获取相关业务系统中的数据来修正数据库。在此过程中,数据交换如果正处于中间环节,则获取的数据仍有可能存在误差,若一个业务的数据交换正好完成则获取的是准确的数据。因此,周期性地对各个数据类型进行修正使得各数据陆续在交换完成时得以修正,从而使数据库中的数据与相关业务系统保持一致。所以本专利技术的技术方案有助于提高多个相关联的业务系统中的数据库在更新时的初始数据准确性。附图说明附图用于更好地理解本专利技术,并不构成对本专利技术的不当限定。其中图I是根据本专利技术实施例的初始化数据库的方法的基本步骤的示意图;图2是根据本专利技术实施例的更新库存系统的一种具体方式的示意图;图3是根据本专利技术实施例的初始化数据库的装置的基本结构的示意图。具体实施例方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图I是根据本专利技术实施例的初始化数据库的方法的基本步骤的示意图。如图I所示,本专利技术实施例的初始化数据库的方法主要包括步骤Sll至步骤S13。步骤Sll :设置数据库中的各个数据类型的初始值。该初始值可以人工设定,也可以针对各个数据类型,调取针对该数据类型预先指定的业务系统中的该数据类型的当前值。步骤S12 :调取业务系统中的各个数据类型的当前值作为数据库中该数据类型的当前值。本步骤中,数据库已经与各业务系统联网,能够互通数据,但因此时数据库中的数据还不准确,所以暂不上线运行。步骤S13 :分别 对于各个数据类型,周期性地根据业务系统中的该数据类型的当前值修正数据库中的该数据类型的当前值。本步骤中,对于步骤Sll中的初始值进行修正,使各个数据类型的数值与预先指定的业务系统中的该数据类型的数值相一致,此时使数据库上线运行,就可以保证在线的新数据库的数据准确性。步骤S12的一种可选的方式是,首先将数据库中的数据类型的数值与针对该数据类型指定的业务系统中的该数据类型的数值进行对比,若存在差异则对数据类型进行记录,例如以列表的方式进行记录,然后按预设的周期读取记录的数据类型,例如轮询上述列表,对于读取的各个数据类型,根据针对该数据类型指定的业务系统中的该数据类型的当前数值来修正数据库中的该数据类型的数值。以电子商务行业中的库存系统为例,在实现中具体可以采用图2所示的步骤。图2是根据本专利技术实施例的更新库存系统的一种具体方式的示意图。如图2所示,首先从线上系统导出初始化用数据(步骤S201)。这里的线上系统是与库存系统相关联的其他系统并且在线运行。然后将初始化数据导入初始化数据表(步骤S202 )。接下来启动初始化程序,并预先设置了执行的库存类型,库存类型包括库存系统的数据库中的各种数据类型。在初始化程序的执行过程中,首先调取初始化数据表(步骤S203),然后根据库存类型,调用库存服务(步骤S204),接下来更新内存中的库存数据(步骤S205),以及通过持久化程序,进行库存数据持久化(步骤S206),最本文档来自技高网...
【技术保护点】
一种初始化数据库的方法,所述数据库包含多个数据类型,各个数据类型的数值与一个或多个业务系统相关联,其特征在于,所述方法包括:设置所述数据库中的各个数据类型的初始值;调取所述业务系统中的所述各个数据类型的当前值作为所述数据库中该数据类型的当前值;分别对于所述各个数据类型,周期性地根据所述业务系统中的该数据类型的当前值修正所述数据库中的该数据类型的当前值。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘刚,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。