数据同步方法及装置与流程

文档序号:17655845发布日期:2019-05-15 21:59阅读:147来源:国知局

本发明涉及互联网技术领域,特别涉及一种数据同步方法及装置。



背景技术:

随着互联网技术的快速发展,出现了各种网络业务,例如,商品销售网络业务等。在各种网络业务中,通常会涉及大量的商品数据,其中,该大量的商品数据通常包括商品的商品条码、商品价格、商品名称以及商品简介等。

目前,在一些网络业务中,出现了一些诸如淘宝、京东等之类的服务平台,该类服务平台通常提供有数据服务器,该数据服务器可以用于存储不同商品供应商提供的商品数据,该类服务平台基于所存储的商品数据,即可为用户提供网络服务。其中,当各个商品供应商对自身的商品数据进行更新操作时,也即是,当该各个商品供应商对自身的商品数据进行修改、增加等操作时,为了保证服务的准确性,需要将更新的商品数据同步至该数据服务器中。

由此可见,目前亟需一种数据同步方法,能够保证该数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。



技术实现要素:

为了解决相关技术的问题,本发明实施例提供了一种数据同步方法及装置。所述技术方案如下:

一方面,提供了一种数据同步方法,所述方法包括:

通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,所述第一指定方式和所述第二指定方式为两种不同的数据获取方式,所述第一数据信息包括多个第一商品数据,所述第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性;

对于所述多个第一商品数据中的每个第一商品数据,基于预设校验规则,对所述第一商品数据进行验证,对于所述多个第二商品数据中的每个第二商品数据,基于所述预设校验规则,对所述第二商品数据进行验证;

若所述第一商品数据验证通过,则按照预设统一属性命名规则,基于所述第一商品数据进行数据同步,若所述第二商品数据验证通过,则按照所述预设统一属性命名规则,基于所述第二商品数据进行数据同步。

另一方面,提供了一种数据同步装置,所述装置包括:

第一获取模块,用于通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,所述第一指定方式和所述第二指定方式为两种不同的数据获取方式,所述第一数据信息包括多个第一商品数据,所述第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性;

验证模块,用于对于所述第一获取模块获取的所述多个第一商品数据中的每个第一商品数据,基于预设校验规则,对所述第一商品数据进行验证,对于所述多个第二商品数据中的每个第二商品数据,基于所述预设校验规则,对所述第二商品数据进行验证;

同步模块,用于当所述验证模块对所述第一商品数据验证通过时,按照预设统一属性命名规则,基于所述第一商品数据进行数据同步,当对所述第二商品数据验证通过时,按照所述预设统一属性命名规则,所述第二商品数据进行数据同步。

本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,也即是,通过不同的数据获取方式,分别从多个数据源获取数据,之后,分别对第一数据信息包括的各个第一商品数据和第二数据信息包括的各个第二商品数据进行验证,以判断该各个第一商品数据和该各个第二商品数据是否满足预设校验规则,并当确定该各个第一商品数据满足预设校验规则时,数据服务器基于该各个第一商品数据进行数据同步,当该各个第二商品数据满足预设校验规则时,数据服务器基于该各个第二商品数据进行数据同步,从而保证了数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A是本发明实施例提供的一种实施环境示意图;

图1B是本发明实施例提供的另一种实施环境示意图;

图1C是本发明实施例提供的一种数据同步方法流程图;

图2是本发明实施例提供的另一种数据同步方法流程图;

图3A是本发明实施例提供的一种数据同步装置结构示意图;

图3B是本发明实施例提供的另一种数据同步装置结构示意图;

图3C是本发明实施例提供的另一种数据同步装置结构示意图;

图3D是本发明实施例提供的另一种数据同步装置结构示意图;

图4是本发明实施例提供的一种数据同步装置的服务器结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1A,图1A是本发明实施例提供的一种实施环境示意图,该实施环境中主要包括第一数据源110、第二数据源120以及数据服务器130。其中,该第一数据源110和该第二数据源120分别通过有线网络或者无线网络与该数据服务器130之间建立通信连接。

其中,该第一数据源110用于提供第一数据信息,该第一数据源110可以为计算机、平板电脑等终端设备。该第二数据源120用于提供第二数据信息,该第二数据源120可以为商品供应商提供的服务器。

其中,该数据服务器130主要用于存储商品数据,其中,在一种可能的实现方式中,该数据服务器130可以为一台服务器。在另一种可能的实现方式中,该数据服务器130也可以是由多台服务器集成的服务器集群,例如,请参考图1B,该图1B是本发明实施例提供的另一种实施环境示意图,在该实施环境中,该数据服务器130包括接口服务器130a,存储服务器130b,抓取服务器130c以及中间服务器130d。

其中,该接口服务器130a用于为第一数据源110提供统一API(ApplicationProgramming Interface,应用程序设计接口),如此,用户即可通过第一数据源110调用该API,向该接口服务器中推送商品数据,即使得该接口服务器获取第一数据信息。并且,该接口服务器130a还用于对该第一数据信息进行验证,当验证通过后,将该第一数据信息发送至中间服务器130d中。

其中,该抓取服务器130c用于从第二数据源120中抓取第二数据信息。同理,该抓取服务器130c还用于对抓取的第二数据信息进行验证,并当验证通过后,将该第二数据信息发送至该中间服务器130d中。

其中,在实际实现过程中,可以包括多个中间服务器130d,并且通过不同中间服务器130d,分别与该第一数据源110和该第二数据源120建立通信连接,且该多个中间服务器130d均与存储服务器130b之间建立有通信连接,这里仅是示例性的示出一个中间服务器130d为例进行说明。该中间服务器130d用于基于预设统一属性命名规则,对该接口服务器130a和该抓取服务器130c发送的第一数据信息和第二数据信息进行格式统一,之后,将处理后的第一数据信息和第二数据信息发送给该存储服务器130b。该存储服务器130b用于对基于该中间服务器130d发送的处理后的第一数据信息和第二数据信息,实现数据同步。

也即是,通过该接口服务器130a,存储服务器130b,抓取服务器130c以及中间服务器130d的配合,可以实现本发明实施例中的数据同步方法,本发明实施例将以该数据服务器130包括上述多台服务器为例进行说明。

图1C是本发明实施例提供的一种数据同步方法流程图,该方法用于数据服务器中。参见图1C,该方法包括:

步骤101:通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,该第一指定方式和该第二指定方式为两种不同的数据获取方式,该第一数据信息包括多个第一商品数据,该第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性。

步骤102:对于该多个第一商品数据中的每个第一商品数据,基于预设校验规则,对该第一商品数据进行验证,对于该多个第二商品数据中的每个第二商品数据,基于该预设校验规则,对该第二商品数据进行验证。

步骤103:若该第一商品数据验证通过,则按照预设统一属性命名规则,基于该第一商品数据进行数据同步,若该第二商品数据验证通过,则按照该预设统一属性命名规则,基于该第二商品数据进行数据同步。

在本发明实施例中,在本发明实施例中,通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,也即是,通过不同的数据获取方式,分别从多个数据源获取数据,之后,分别对第一数据信息包括的各个第一商品数据和第二数据信息包括的各个第二商品数据进行验证,以判断该各个第一商品数据和该各个第二商品数据是否满足预设校验规则,并当确定该各个第一商品数据满足预设校验规则时,数据服务器基于该各个第一商品数据进行数据同步,当该各个第二商品数据满足预设校验规则时,数据服务器基于该各个第二商品数据进行数据同步,从而保证了数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。

可选地,基于预设校验规则,对该第一商品数据进行验证之前,还包括:

若该第一指定方式为接收该第一数据源发送的商品数据更新请求,且当该商品数据更新请求中包括用户账号时,判断多个预设用户账号中是否包括该用户账号;

若该多个预设用户账号中包括该用户账号,则执行该基于预设校验规则,对该第一商品数据进行验证的步骤。

可选地,基于预设校验规则,对该第一商品数据进行验证包括如下实现方式中的至少一种:

判断多个第一商品属性中是否包括多个预设商品属性,该多个第一商品属性为该第一商品数据包括的多个第一数据的商品属性,若该多个第一商品属性中包括该多个预设商品属性,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据包括的字符个数小于或等于该第一数据的商品属性对应的预设数值,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据的格式满足该第一数据的商品属性对应的预设格式,则确定该第一商品数据验证通过。

可选地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步之前,还包括:

确定第一信息完善比例,该第一信息完善比例是指该第一商品数据包括的多个第一数据的总个数占预设个数的比例;

将该第一信息完善比例添加至该第一商品数据中;

相应地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步之前,还包括:

确定第二信息完善比例,该第二信息完善比例是指该第二商品数据包括的多个第二数据的总个数占预设个数的比例;

将该第二信息完善比例添加至该第二商品数据中;

相应地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

可选地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步之前,还包括:

获取第一数据更新时间,该第一数据更新时间为从该第一数据源中获取该第一商品数据的系统时间;

将该第一数据更新时间添加至该第一商品数据中;

相应地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,按照预设统一属性命名规则,基于该第二商品数据进行数据同步之前,还包括:

获取第二数据更新时间,该第二数据更新时间为从该第二数据源中获取该第二商品数据的系统时间;

将该第二数据更新时间添加至该第二商品数据中;

相应地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

图2是本发明实施例提供的一种数据同步方法流程图,本发明实施例以该数据同步方法应用于数据服务器中为例进行说明。参见图2,该数据同步方法的实现步骤可以包括:

步骤201:通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,该第一指定方式和该第二指定方式为两种不同的数据获取方式,该第一数据信息包括多个第一商品数据,该第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性。

本发明实施例提供了一种数据同步方法,用于解决在海量规模的商品数据中,多个数据源的新增数据及修改数据的同步方法。

其中,通过第一指定方式从第一数据源获取第一数据信息的实现过程包括:请参考图1B,接口服务器接收第一数据源发送的商品数据更新请求,该商品数据更新请求携带该第一数据信息。

也即是,在实际实现过程中,当第一数据源的商品数据发生变化时,第一数据源可以通过调用该接口服务器提供的统一标准的API,向该接口服务器发送携带该第一数据信息的商品数据更新请求,使得该接口服务器获取该第一数据信息。其中,该API是指互联网相关服务平台指定的标准应用接口,可以通过约定的请求和返回格式与返回参数进行数据交互。其中,该互联网相关服务平台可以为诸如淘宝、京东等之类的服务平台。该接口服务器通过提供统一的API进行规范化,可以有利于促进行业形成统一的标准。

另外,该API通常以HTTP(Hyper Text Transfer Protocol,超文本传输协议)为基础,可以采用OAuth(Open Authorization,开放授权)进行授权验证。

也即是,在实际实现过程中,当通过该第一指定方式获取第一数据信息时,接口服务器可以对第一数据源所使用的用户账号进行验证,当推送第一数据信息的用户账号不符合条件时,该接口服务器可以拒绝接收该第一数据信息。

具体地,当该第一指定方式为接收该第一数据源发送的商品数据更新请求,且当该商品数据更新请求中包括用户账号时,判断多个预设用户账号中是否包括该用户账号,若该多个预设用户账号中包括该用户账号,则可以继续执行后续步骤202中的基于预设校验规则,对该第一商品数据进行验证的步骤。

其中,该多个预设用户账号可以由用户根据实际需求自定义设置,也可以由该接口服务器默认设置,本发明实施例对此不做限定。

其中,在一种可能的实现方式中,对于该多个预设用户账号中的每个预设用户账号,该预设用户账号可以是指已经在该存储服务器中存储有商品数据的用户账号。另外,该商品数据更新请求中携带的用户账号是指第一数据源所使用的账号,因此,当该多个预设用户账号中包括该用户账号时,说明该用户账号在该存储服务器中曾经存储有商品数据,因此,该接口服务器允许该第一数据源对该第一数据信息的推送,即该接口服务器接收该第一数据信息,并进行后续验证操作。反之,当该多个预设用户账号中不包括该用户账号时,该接口服务器拒绝该第一数据源对该第一数据信息的推送,在该种情况下,在一种可能的实现方式中,该接口服务器可以向该第一数据源发送身份验证失败消息。

另外,上述通过第二指定方式从第二数据源获取第二数据信息的实现过程包括:请继续参考图1B,该抓取服务器每隔预设时长,向该第二数据源发送商品数据获取请求,该第二数据源接收该商品数据获取请求后,将自身当前存储的商品数据发送给该抓取服务器。

其中,该预设时长可以由用户根据实际需求自定义设置,也可以由该抓取服务器默认设置,本发明实施例对此不作限定。

也即是,该抓取服务器可以根据该第二数据源的数据更新习惯,每隔一段时间,向该第二数据源发送商品数据获取请求,以请求获取该第二数据源更新后的商品数据。例如,若该预设时长为24小时,则该抓取服务器每隔24小时,向该第二数据源请求抓取该第二数据源的数据库中当前存储的商品数据。

其中,该第二数据源将自身当前存储的商品数据发送给该抓取服务器可以包括如下实现方式中的任一种:

第一种方式:该第二数据源将自身的数据库地址发送给该抓取服务器,在该种情况下,该抓取服务器接收到该数据库地址后,通过访问该第二数据源的数据库得到该第二数据信息。

其中,该抓取服务器接收到该第二数据源的数据库地址后,可以通过SQL(Structured Query Language,结构化查询语言)等方式访问该第二数据源的数据库,当然,该抓取服务器还可以通过其它方式访问该第二数据源的数据库,本发明实施例对此不做限定。

第二种方式:该第二数据源向该抓取服务器发送数据文件,该数据文件携带该第二数据信息,在该种情况下,该抓取服务器从该数据文件中获取该第二数据信息。

上述该第二数据源可以通过不同方式,将自身当前存储的商品数据发送给该抓取服务器,增加了获取第二数据信息的方式。

另外,需要说明的是,上述仅是以抓取服务器每隔预设时长,向该第二数据源发送商品数据获取请求,以获取该第二数据信息为例进行说明,在另一实施例中,该抓取服务器还可以根据其它抓取策略和抓取逻辑,从该第二数据源中获取该第二数据信息,例如,该抓取服务器还可以按照预设抓取频次或者预设抓取协议,从该第二数据源中获取该第二数据信息,其中,该预设抓取频次和该预设抓取协议均可以由用户根据实际需求自定义设置,也可以由该抓取服务器默认设置,本发明实施例对此不做限定。

其中,该第一数据信息和该第二数据信息均可以为JSON(JavaScript ObjectNotation,加哇脚本对象符号)格式,也可以为XML(eXtensible Markup Language,可扩展的标记语言)格式,或者,在另一实施例中,该第一数据信息和该第二数据信息也可以为其它格式,本发明实施例对此不做限定。

另外,对于该多个第一商品数据中的每个第一商品数据,该第一商品数据可以包括商品条码、商品名称、商品简介、商品价格以及商品图片地址等数据,其中,该商品条码可以用于唯一标识一个商品所属的商品供应商,例如,当该商品条码为001时,标识该第一商品所属的商品供应商为淘宝,而当该商品条码为002时,标识该第一商品所属的商品供应商为京东等。其中,该多个第二商品中的每个第二商品数据也同理,这里不再赘述。

步骤202:对于该多个第一商品数据中的每个第一商品数据,基于预设校验规则,对该第一商品数据进行验证,对于该多个第二商品数据中的每个第二商品数据,基于该预设校验规则,对该第二商品数据进行验证。

在实际应用过程中,由于推送和抓取的数据信息很可能不符合预先设置的存储要求,例如,第一数据源推送的第一数据信息中可能缺少一些必要的商品数据,因此,该接口服务器和该抓取服务器接收该第一数据信息和该第二数据信息后,需要对该第一数据信息中的多个第一商品数据和该第二数据信息中的多个第二商品数据进行验证。

其中,基于预设校验规则,对该第一商品数据进行验证包括如下实现方式中的至少一种:

第一种方式:判断多个第一商品属性中是否包括多个预设商品属性,该多个第一商品属性为该第一商品数据包括的多个第一数据的商品属性,若该多个第一商品属性中包括该多个预设商品属性,则确定该第一商品数据验证通过。

其中,该多个预设商品属性均可以由用户根据实际需求自定义设置,也可以由该接口服务器默认设置,本发明实施例对此不做限定。

在实际实现过程中,在该接口服务器中可以事先设置每个商品需要包括的多个商品属性,例如,以该商品为手机为例,该多个预设商品属性可以包括:手机条码、手机价格、手机简介以及手机图片地址。在该种情况下,若第一商品的多个商品属性包括手机条码、手机价格、手机简介以及手机图片地址,则可以确定验证通过,若该第一商品的多个商品属性包括手机条码、手机价格、手机简介,说明该第一商品的多个商品属性中未包括该接口服务器要求的“手机图片地址”,因此,可以确定验证未通过。

第二种方式:对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据包括的字符个数小于或等于该第一数据的商品属性对应的预设数值,则确定该第一商品数据验证通过。

其中,该预设数值可以由用户根据实际需求自定义设置,也可以由该接口服务器默认设置,本发明实施例对此不做限定。

也即是,该接口服务器可以预先规定每个商品属性中各个数据对应的字符个数,例如,该接口服务器规定商品名称对应的字符个数需要小于或等于5个,在该种情况下,在该多个第一数据中,当商品名称对应的第一数据为“智能手机”时,可以确定验证通过,而当商品名称对应的第一数据为“智能高端手机”时,可以确定验证未通过。

第三种方式:对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据的格式满足该第一数据的商品属性对应的预设格式,则确定该第一商品数据验证通过。

其中,该预设格式可以由用户根据实际需求自定义设置,也可以由该接口服务器默认设置,本发明实施例对此不做限定。

也即是,在该种实现方式中,该接口服务器可以预先规定每个商品属性对应的格式,例如,该接口服务器规定商品价格对应的格式为数字字符,在该种情况下,在该多个第一数据中,当商品价格对应的第一数据为“3500”时,可以确定验证通过,而当商品价格对应的第一数据为“叁仟伍佰元”时,可以确定验证未通过。

在上述提供的三种实现方式中,若验证未通过,则该接口服务器向第一数据源返回验证失败通知消息,若该第一数据源想继续推送第一数据信息,需要重新填写该第一数据信息。

另外,需要说明的是,在本发明实施例中,基于该预设校验规则,对该第二商品数据进行验证的实现过程与基于预设校验规则,对该第一商品数据进行验证的实现过程类似,这里不再赘述。

另外,在一种可能的实现方式中,如前文所述,当第二数据源通过向该抓取服务器发送数据文件的方式,使得该抓取服务器获取到该第二数据信息时,对该第二商品数据进行验证还可以包括如下实现方式中的至少一种:

第一种方式:该抓取服务器判断个数据文件的大小是否等于指定文件大小,若该数据文件的大小等于该指定文件大小,则确定验证通过。否则,则确定验证未通过。

其中,该指定文件大小可以由该第二数据源在发送该数据文件之前,事先发送给该抓取服务器,以通知给抓取服务器即将发送的数据文件的实际大小,因此,当该抓取服务器接收的数据文件的大小与该指定文件大小相等,说明该数据文件中包括了该第二数据源实际发送给该抓取服务器的所有商品数据,因此,该抓取服务器确定验证通过。否则,若该抓取服务器接收的数据文件的大小小于该指定文件大小,则说明在数据文件传输过程中,可能某些有丢包等情况发生,也即是,该抓取服务器未接收到该第二数据源发送的所有商品数据,因此,可以确定验证未通过。

第二种方式:该抓取服务器判断该数据文件包括的字符串的值是否等于指定字符数值,若该数据文件包括的字符串的值等于该指定字符数值,则可以确定验证通过,否则,可以确定验证未通过。

其中,该指定字符数值也可以由该第二数据源在发送该数据文件之前,事先发送给该抓取服务器,若该数据文件包括的字符串的值等于该指定字符数值,说明该数据文件包括了该第二数据源实际发送给该抓取服务器的所有商品数据,因此,可以确定验证通过,否则,若数据文件包括的字符串的值不等于该指定字符数值,则说明可能出现丢包等情况,导致个别第二商品数据丢失,因此,可以确定验证未通过。

第三种方式:该抓取服务器判断该数据文件包括的商品条目数是否等于指定商品条目数,若该数据文件包括的商品条目数等于该指定商品条目数,则可以确定验证通过,否则,确定验证未通过。

其中,该指定商品条目数可以由该第二数据源在发送该数据文件之前,事先发送给该抓取服务器,该指定商品条目数是指包括的多个第二商品数据的数量,若该数据文件包括的商品条目数等于该指定商品条目数,说明该数据文件完整包括了该第二数据源实际发送给该抓取服务器的所有商品数据,因此,可以确定验证通过。否则,若该数据文件包括的商品条目数小于该指定商品条目数,则说明可能出现丢包等情况,导致个别第二商品数据丢失,因此,可以确定验证未通过。

在上述三种可能的实现方式中,当验证未通过时,该抓取服务器可以向该第二数据源发送验证失败通知消息,使得该第二数据源在接收到该验证失败通知消息后,重新向该抓取服务器发送该数据文件。

另外,需要说明的是,上述对第一商品数据和第二商品数据进行验证的实现方式仅是示例性,在另一实施例中,还可以通过其它方式对该第一商品数据和该第二商品数据进行验证,本发明实施例对此不做限定。

步骤203:若该第一商品数据验证通过,则按照预设统一属性命名规则,基于该第一商品数据进行数据同步,若该第二商品数据验证通过,则按照预设统一属性命名规则,基于该第二商品数据进行数据同步。

其中,该预设统一属性命名规则可以由用户根据实际需求自定义设置,也可以由该中间服务器默认设置,本发明实施例对此不做限定。

也即是,当对该第一商品数据验证通过后,该接口服务器将该第一商品数据发送给该中间服务器,以及当该第二商品数据验证通过后,该抓取服务器将该第二商品数据发送给该中间服务器,该中间服务器接收到该第一商品数据和该第二商品数据后,为了对各个商品供应商提供的相同商品进行统一存储,以提供统一的服务,该中间服务器按照预设统一属性命名规则,对该第一商品数据和该第二商品数据的存储格式进行统一。

例如,若该第一商品数据中的“智能手机”的商品属性为“标题”,该第二商品数据中的“智能手机”的商品属性为“题目”,则该中间服务器按照预设统一属性命名规则,将该第一商品数据中和该第二商品数据中的商品属性均统一为“名称”。同理,按照同样的方式,该中间服务器对该第一商品数据中包括的各个第一数据的商品属性均进行统一,以及对该第二商品数据中包括的各个第二数据的商品属性也均进行统一。之后,该中间服务器将统一后的第一商品数据和第二商品数据发送至该存储服务器,由该存储服务器基于该统一后的第一商品数据和第二商品数据进行同步。

也即是,该存储服务器接收到该中间服务器发送的统一后的第一商品数据和第二商品数据后,将自身之前存储的第一商品数据更新为该统一后的第一商品数据,以及将自身之前存储的第二商品数据更新为该统一后的第二商品数据,如此,即实现了数据同步。

另外,在本发明实施例中,当某个商品供应商不再提供商品数据时,可以在该商品数据中添加删除通知标识,该删除通知标识用于指示该存储服务器对该商品供应商之前提供的所有商品数据进行删除。

此外,在实际实现过程中,若该第一商品数据验证通过,该第二商品数据也验证通过,则在按照预设统一属性命名规则,分别基于该第一商品数据和该第二商品数据进行数据同步之前,该中间服务器还可以在该第一商品数据和该第二商品数据中添加一些附属数据,具体可以包括如下实现方式中的至少一种:

第一种可能的实现方式中,分别确定第一信息完善比例和第二信息完善比例,该第一信息完善比例是指该第一商品数据包括的多个第一数据的总个数占预设个数的比例,该第二信息完善比例是指该第二商品数据包括的多个第二数据的总个数占该预设个数的比例,将该第一信息完善比例添加至该第一商品数据中,以及将该第二信息完善比例添加至该第二商品数据中。

其中,该预设个数可以由用户根据实际需求自定义设置,也可以由该中间服务器默认设置,本发明实施例对此不做限定。

也即是,该中间服务器每次接收到该第一商品数据时,可以确定该第一商品数据的完善程度,以及接收到该第二商品数据时,同样可以确定该第二商品数据的完善程度,并将各个完善程度分别与该第一商品数据和第二商品数据对应存储。例如,若该预设个数为10个,即该中间服务器中预先设置每个商品数据的完整信息包括10个数据,若该第一商品数据包括手机条码、手机价格、手机简介以及手机图片地址四个商品属性对应的四个数据,则该第一信息完善比例为(4/10)*100%,及为40%。按照同样的方式,该中间服务器可以确定各个第一商品数据和各个第二商品数据的信息完善比例。其中,“/”代表相除,“*”代表相乘。

在该种情况下,按照预设统一属性命名规则,基于该第一商品数据进行数据同步,以及基于该第二商品数据进行数据同步的实现包括:按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步,以及基于添加后的第二商品数据进行数据同步。该具体实现过程可以参见上文,这里不再详细描述。

另外,在从该存储服务器中查询商品数据时,由于上述提供了商品数据的信息完善比例,因此,对于同类商品,该存储服务器可以根据该信息完善比例为用户提供商品数据,也即是,若该第一商品数据和该第二商品数据均为同一商品的不同数据,则当接收到该商品的数据查询请求时,该存储服务器可以从该第一信息完善比例和该第二信息完善比例中,选择最大信息完善比例,并将该最大信息完善比例对应的商品数据返回给该用户。例如,若该第一商品数据和该第二商品数据均为“手机”的商品数据,且该第一商品数据对应第一信息完善比例为40%,该第二商品数据对应的第二信息完善比例为60%,则该存储服务器将该第二商品数据返回给用户。

第二种可能的实现方式中,分别获取第一数据更新时间和第二数据更新时间,该第一数据更新时间为从该第一数据源中获取该第一商品数据的系统时间,该第二数据更新时间为从该第二数据源中获取该第二商品数据的系统时间,将该第一数据更新时间添加至该第一商品数据中,以及将该第二数据更新时间添加至该第二商品数据中。

也即是,在实际实现过程中,在每次更新商品数据时,该中间服务器还可以记录当前的更新时间,并将该当前的更新时间与该第一商品数据和该二商品数据一起进行存储,其中,该系统时间可以包括年、月、日、时、分以及秒。

在该种请情况下,该按照预设统一属性命名规则,基于该第一商品数据和该第二商品数据进行数据同步的实现包括:按照该预设统一属性命名规则,基于添加后的第一商品数据和添加后的第二商品数据进行数据同步。同理,该具体实现过程也可以参见上文,这里也不再详细描述。

同理,在从该存储服务器中查询商品数据时,由于上述提供了商品数据的数据更新时间,因此,对于同类商品,该存储服务器可以根据该数据更新时间,为用户提供商品数据,也即是,若该第一商品数据和该第二商品数据均为同一商品的不同数据,则当接收到该商品的数据查询请求时,该存储服务器可以从该第一数据更新时间和第二数据更新中,选择与当前查询时间点之间的时间差最小的更新时间,并将选择的更新时间对应的商品数据返回给该用户。例如,若该第一商品数据和该第二商品数据均为“手机”的商品数据,且该第一商品数据对应第一数据更新时间为2016年5月26日,该第二商品数据对应的第二数据更新时间为2016年6月29日,则该存储服务器将该第二商品数据返回给用户。

需要说明的是,在本发明实施例中,仅是以该中间服务器在该第一商品数据和该第二商品数据中添加该两个附属数据为例进行说明,在另一实施例中,该中间服务器还可以添加其它附属数据,本发明实施例对此不做限定。

在本发明实施例中,在本发明实施例中,通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,也即是,通过不同的数据获取方式,分别从多个数据源获取数据,之后,分别对第一数据信息包括的各个第一商品数据和第二数据信息包括的各个第二商品数据进行验证,以判断该各个第一商品数据和该各个第二商品数据是否满足预设校验规则,并当确定该各个第一商品数据满足预设校验规则时,数据服务器基于该各个第一商品数据进行数据同步,当该各个第二商品数据满足预设校验规则时,数据服务器基于该各个第二商品数据进行数据同步,从而保证了数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。

参见图3A,本发明实施例提供了一种数据同步装置,该装置包括第一获取模块310,验证模块320和同步模块330。

该第一获取模块310,用于通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,该第一指定方式和该第二指定方式为两种不同的数据获取方式,该第一数据信息包括多个第一商品数据,该第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性;

该验证模块320,用于对于该第一获取模块310获取的该多个第一商品数据中的每个第一商品数据,基于预设校验规则,对该第一商品数据进行验证,对于该多个第二商品数据中的每个第二商品数据,基于该预设校验规则,对该第二商品数据进行验证;

该同步模块330,用于当该验证模块320对该第一商品数据和该第二商品数据均验证通过时,按照预设统一属性命名规则,基于该第一商品数据和该第二商品数据进行数据同步。

可选地,参见图3B至图3D,该装置还包括:

判断模块340,用于当该第一指定方式为接收该第一数据源发送的商品数据更新请求,且当该商品数据更新请求中包括用户账号时,判断多个预设用户账号中是否包括该用户账号;

触发模块350,用于当该判断模块340确定该多个预设用户账号中包括该用户账号时,触发该验证模块基于预设校验规则,对该第一商品数据进行验证。

可选地,该验证模块320用于执行如下实现方式中的至少一种:

判断多个第一商品属性中是否包括多个预设商品属性,该多个第一商品属性为该第一商品数据包括的多个第一数据的商品属性,若该多个第一商品属性中包括该多个预设商品属性,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据包括的字符个数小于或等于该第一数据的商品属性对应的预设数值,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据的格式满足该第一数据的商品属性对应的预设格式,则确定该第一商品数据验证通过。

可选地,该装置还包括:

确定模块360,用于确定第一信息完善比例,该第一信息完善比例是指该第一商品数据包括的多个第一数据的总个数占预设个数的比例;

第一添加模块370,用于将该第一信息完善比例添加至该第一商品数据中;

相应地,该同步模块330用于:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,该确定模块360还用于确定第二信息完善比例是指该第二商品数据包括的多个第二数据的总个数占该预设个数的比例;

该第一添加模块370,还用于将该第二信息完善比例添加至该第二商品数据中;

相应地,该同步模块330用于:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

可选地,该装置还包括:

第二获取模块380,用于获取第一数据更新时间,该第一数据更新时间为从该第一数据源中获取该第一商品数据的系统时间;

第二添加模块390,用于将该第一数据更新时间添加至该第一商品数据中;

相应地,该同步模块330用于:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,该第二获取模块380还用于获取第二数据更新时间,该第二数据更新时间为从该第二数据源中获取该第二商品数据的系统时间;

该第二添加模块390,还用于将该第二数据更新时间添加至该第二商品数据中;

相应地,该同步模块330用于:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

在本发明实施例中,在本发明实施例中,通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,也即是,通过不同的数据获取方式,分别从多个数据源获取数据,之后,分别对第一数据信息包括的各个第一商品数据和第二数据信息包括的各个第二商品数据进行验证,以判断该各个第一商品数据和该各个第二商品数据是否满足预设校验规则,并当确定该各个第一商品数据满足预设校验规则时,数据服务器基于该各个第一商品数据进行数据同步,当该各个第二商品数据满足预设校验规则时,数据服务器基于该各个第二商品数据进行数据同步,从而保证了数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。

需要说明的是:上述实施例提供的数据同步装置在实现数据同步方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4是本发明实施例提供的一种数据同步装置的服务器结构示意图。该服务器可以是后台服务器集群中的服务器。具体来讲:

服务器400包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。

基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。

根据本发明的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的如下所述的数据同步方法的指令,包括:

通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,该第一指定方式和该第二指定方式为两种不同的数据获取方式,该第一数据信息包括多个第一商品数据,该第二数据信息包括多个第二商品数据,且各个第一商品数据以及各个第二商品数据均包括多个商品属性;

对于该多个第一商品数据中的每个第一商品数据,基于预设校验规则,对该第一商品数据进行验证,对于该多个第二商品数据中的每个第二商品数据,基于该预设校验规则,对该第二商品数据进行验证;

若该第一商品数据验证通过,则按照预设统一属性命名规则,基于该第一商品数据进行数据同步,若该第二商品数据验证通过,则按照该预设统一属性命名规则,基于该第二商品数据进行数据同步。

可选地,基于预设校验规则,对该第一商品数据进行验证之前,还包括:

若该第一指定方式为接收该第一数据源发送的商品数据更新请求,且当该商品数据更新请求中包括用户账号时,判断多个预设用户账号中是否包括该用户账号;

若该多个预设用户账号中包括该用户账号,则执行该基于预设校验规则,对该第一商品数据进行验证的步骤。

可选地,基于预设校验规则,对该第一商品数据进行验证包括如下实现方式中的至少一种:

判断多个第一商品属性中是否包括多个预设商品属性,该多个第一商品属性为该第一商品数据包括的多个第一数据的商品属性,若该多个第一商品属性中包括该多个预设商品属性,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据包括的字符个数小于或等于该第一数据的商品属性对应的预设数值,则确定该第一商品数据验证通过;

对于该第一商品包括的多个第一数据中的每个第一数据,若该第一数据的格式满足该第一数据的商品属性对应的预设格式,则确定该第一商品数据验证通过。

可选地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步之前,还包括:

确定第一信息完善比例,该第一信息完善比例是指该第一商品数据包括的多个第一数据的总个数占预设个数的比例;

将该第一信息完善比例添加至该第一商品数据中;

相应地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步之前,还包括:

确定第二信息完善比例,该第二信息完善比例是指该第二商品数据包括的多个第二数据的总个数占预设个数的比例;

将该第二信息完善比例添加至该第二商品数据中;

相应地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

可选地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步之前,还包括:

获取第一数据更新时间,该第一数据更新时间为从该第一数据源中获取该第一商品数据的系统时间;

将该第一数据更新时间添加至该第一商品数据中;

相应地,按照预设统一属性命名规则,基于该第一商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第一商品数据进行数据同步。

可选地,按照预设统一属性命名规则,基于该第二商品数据进行数据同步之前,还包括:

获取第二数据更新时间,该第二数据更新时间为从该第二数据源中获取该第二商品数据的系统时间;

将该第二数据更新时间添加至该第二商品数据中;

相应地,按照该预设统一属性命名规则,基于该第二商品数据进行数据同步,包括:

按照该预设统一属性命名规则,基于添加后的第二商品数据进行数据同步。

在本发明实施例中,在本发明实施例中,通过第一指定方式从第一数据源获取第一数据信息,以及通过第二指定方式从第二数据源获取第二数据信息,也即是,通过不同的数据获取方式,分别从多个数据源获取数据,之后,分别对第一数据信息包括的各个第一商品数据和第二数据信息包括的各个第二商品数据进行验证,以判断该各个第一商品数据和该各个第二商品数据是否满足预设校验规则,并当确定该各个第一商品数据满足预设校验规则时,数据服务器基于该各个第一商品数据进行数据同步,当该各个第二商品数据满足预设校验规则时,数据服务器基于该各个第二商品数据进行数据同步,从而保证了数据服务器中的商品数据与各个商品供应商提供的商品数据保持同步。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1