CN108804457B - 数据同步和处理方法及装置、电子设备和计算机可读介质 - Google Patents
数据同步和处理方法及装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN108804457B CN108804457B CN201710300004.5A CN201710300004A CN108804457B CN 108804457 B CN108804457 B CN 108804457B CN 201710300004 A CN201710300004 A CN 201710300004A CN 108804457 B CN108804457 B CN 108804457B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- commodity
- business
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种数据同步和处理方法,包括:解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中。本公开采用可配置的配置文件来定义处理类,所以数据可以在各处理类所定义的模块之间流转,形成链式处理。可以降低商品中心***的修改对业务***的影响,满足业务***的快速发展,同时保证***的可扩展性、可维护性和灵活性,降低维护成本。
Description
技术领域
本公开涉及计算机技术领域,具体涉及数据同步和处理方法及装置、电子设备和计算机可读介质。
背景技术
随着电商***规模的扩大和复杂度的增加,从业务和***的层面考虑,***的模块化和平台化,更加符合业务高速发展的需求。由此,在电商核心***中,商品的创建发布及维护操作由商品中心***统一管理。各个业务***无需关心商品数据的维护,只需要与商品中心交互,获取商品数据,并按照业务***需求,解析、展示给用户即可。
在电商业务的虚拟业务线中,业务***一般以构建平台的方式,对接多个外部代理商,为用户提供服务。在扩展新的业务类型和对接新的商家的过程中,商品的属性设计不尽相同,展示维度也不同,导致各个业务***的商品数据比较复杂。
因此,发明人在实现本发明构思的过程中认识到,需要一种商品数据同步及处理的方法,可以保证商品数据同步及处理的高效性、可靠性或扩展性。
发明内容
根据本公开的第一方面,提供了一种数据同步和处理方法,包括:解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中。
在一个实施例中,用于处理数据的处理类可以包括以下一项或多项:用于对数据的数据结构进行转换的处理类;用于对转换后的数据进行过滤以得到有效数据的处理类;用于将有效数据构造为便于查询的数据结构的处理类;和用于将构造好的数据存储到第二数据库的处理类。
在一个实施例中,所述数据可以包括商品数据,所述第一数据库由管理商品数据的商品中心***维护,且所述方法可以在利用商品中心***所管理的商品数据进行业务的一个或多个业务***中的任意业务***处执行。
在一个实施例中,商品数据可以包括各业务***共有的基本属性和用于各业务***的差异化属性的可扩展属性集合,以及对数据的数据结构进行转换可以包括:将商品数据的可扩展属性集合解析到业务***,以获得业务***的差异化属性。
在一个实施例中,对转换后的数据进行过滤可以包括:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
在一个实施例中,将有效数据构造为便于查询的数据结构可以包括:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
在一个实施例中,将构造好的数据存储到第二数据库可以包括:将构造好的商品数据与业务***的现有商品数据对比,删除业务***中多余的商品数据,并用构造好的商品数据覆盖业务***的商品数据。
在一个实施例中,所述配置文件可以是XML或JSON文件。
根据本公开的另一方面,提供了一种数据同步和处理装置,包括:配置文件解析模块,被配置为解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;数据获取模块,被配置为根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及数据处理模块,被配置为根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中。
在一个实施例中,所述数据处理模块可以包括以下一项或多项:数据解析子模块,被配置为对数据的数据结构进行转换;数据过滤子模块,被配置为对转换后的数据进行过滤以得到有效数据;数据构造子模块,被配置为将有效数据构造为便于查询的数据结构;和数据存储子模块,被配置为将处理后的数据存储在第二数据库中。
在一个实施例中,所述数据包括商品数据,所述第一数据库由管理商品数据的商品中心***维护,且所述装置包括在利用商品中心***所管理的商品数据进行业务的一个或多个业务***中的任意业务***处。
在一个实施例中,商品数据包括各业务***共有的基本属性和用于各业务***的差异化属性的可扩展属性集合,以及数据解析子模块还可以被配置为:将商品数据的可扩展属性集合解析到业务***,以获得业务***的差异化属性。
在一个实施例中,数据过滤子模块还可以被配置为:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
在一个实施例中,数据构造子模块还被配置为:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
在一个实施例中,数据存储子模块还被配置为:将构造好的商品数据与业务***的现有商品数据对比,删除业务***中多余的商品数据,并用构造好的商品数据覆盖业务***的商品数据。
在一个实施例中,所述配置文件是XML或JSON文件。
根据本公开的再一方面,提供一种电子设备,包括处理器和存储器。存储器包括程序指令,所述程序指令当被所述处理器执行时,使得所述电子设备执行如本公开第一方面所述的方法。
根据本公开的又一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令当被计算机执行,使得所述计算机执行如本公开第一方面所述的方法。
根据本公开的实施例,采用可配置的配置文件来定义处理类,所以数据可以在各处理类所定义的模块之间流转,形成链式处理。因此,可以降低商品中心***的修改对业务***的影响,满足业务***的快速发展,同时保证***的可扩展性、可维护性和灵活性,降低维护成本。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1A示出了根据本公开实施例的包括商品中心***和业务***的场景;
图1B示出了业务***与商品中心***交互的方法的示意流程图;
图2示出了根据本公开实施例的商品数据同步和处理方法的示意流程图;
图3示出了根据本公开实施例的商品数据同步和处理方法的示意流程图;
图4示出了根据本公开实施例的将数据处理模块划分为多个子模块的示意图;
图5示出了根据本公开实施例的基于配置文件来同步和处理商品数据的示意图;
图6示出了根据本公开实施例的数据同步和处理方法的示意流程图;
图7示出了根据本公开实施例的数据同步和处理装置的示意框图;以及
图8是示出根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
图1A示出了根据本公开实施例的包括商品中心***和业务***的场景。在目前电商核心***中,都采取了***划分、分而治之的方式。如图1所示,例如商品中心***110与业务***120、130、140隔离,商品中心***维护商品数据,业务***实现业务流程,能更好的满足各自的扩展需求,也能更好的适应新的业务的接入。作为业务***,为了确保业务的正常运行,与商品中心***高效交互和同步商品数据,就成了业务***的首要保证。此外,商品中心***110和业务***120、130、140可以经由任意网络150相互通信和传输数据,如图1A中连线所示,通信方式可以是任何有线或无线通信方式。尽管图1A中示出了业务***120、130、140,但是本领域技术人员可以理解,可以存在更多或更少的业务***。在一个实施例中,业务***可以是例如流量充值类业务***以及各类实体商品业务***等等。
图1B示出了业务***与商品中心***交互的方法的示意流程图。
如图1B所示,根据该实施例的方法100可以以定时执行的方式开始,调用商品中心***分页获取商品接口,并且方法100每获取一页商品数据,都要进行数据转换、业务处理、存入缓存等处理,然后再获取下一页商品数据,直到获取完全部商品数据。
具体地,方法100可以包括在步骤101启动定时同步程序,例如当到达定时时间时开始。然后,方法前进到步骤102。在步骤102,方法100可以调用商品中心***分页获取商品接口,按页从商品中心***获取商品数据。然后,在步骤103,可以对获取的商品数据进行处理,例如可以包括数据转换、业务处理、存入缓存和/或数据库等。接下来,在步骤104,可以判断是否还有下一页数据。如是,则前进到步骤105,获取下一页数据,并回到步骤103对下一页数据进行处理。如否,则在步骤106结束同步。
发明人在实现本发明构思的过程中认识到了这种方法100存在的若干问题。
例如,在方法100中,数据同步(即从商品中心***获取商品数据)与商品数据的处理流程耦合度高。具体来说,数据同步以分页的方式进行,每同步一页数据就要对这一页数据进行处理,数据处理操作被包含在数据同步过程中。由此,数据同步和数据处理中一方的修改就会对另外一方造成影响,不便于后期的维护。而且,商品中心***的修改对业务***商品同步流程影响较大。
此外,方法100中的数据处理流程包含较多的操作。业务***从商品中心同步回来的数据是商品中心的数据结构,业务***需要对同步的商品数据进行解析、过滤,并转换成业务***的数据结构进行存储。这些操作都包含在数据处理流程中,而对于增加商品过滤规则、商品展示结构变更等业务需求,则需要修改数据处理流程,并保证不对其他操作造成影响,这不利于扩展和维护。
此外,由于商品的维护操作在商品中心***中进行,业务***同步的商品都是可售的商品。那么在商品中心删除的商品,业务***在分页处理同步数据过程中,无法辨别业务***上次保存的数据中哪些数据是需要删除的,由此会造成业务***存在商品脏数据。
根据本公开的实施例,使用可配置的配置文件,来至少部分地实现以下特征中的一项或多项。
数据同步与数据处理流程的解耦
根据本公开的实施例,可以按模块式设计来实现商品数据同步和处理流程,例如实现为两个模块:数据同步模块和数据处理模块。具体地,数据同步模块可以只负责分页同步商品中心***的商品数据,而数据处理模块可以负责对数据进行处理,例如解析、过滤、转换、存储等操作。划分后的两个模块可以相互独立,互不影响。如果商品中心***修改,则只需要对数据同步模块进行相应的修改。如果业务***修改,则只需要对数据处理模块进行相应的修改。
多级模块化设计
根据本公开的实施例,模块可以进一步划分为子模块。例如,数据处理模块划分为若干子模块,例如数据解析子模块、数据过滤子模块、数据构造子模块、数据存储子模块等。每个模块/子模块中分别可以包括一个或多个处理类。各个子模块和其中的处理类功能可以单一、相互独立,并且可以以可配置的方式来维护,例如,可以灵活地增加、减少、修改各个子模块的处理类,从而便于扩展,满足多样化的业务需求。
删除业务***的已下架商品
数据同步模块负责分页同步全量数据,在数据处理模块处理完商品数据,存储已同步和处理的数据之前,可以与业务***现有的商品数据对比,删除业务***多余的商品。
根据本公开的实施例,可以按定时执行的方式同步商品数据,保证商品数据的时效性。另外,如上所述,可以将商品同步和处理流程划分为模块和相应的子模块,模块、子模块中可以包含一个到多个具体的处理类,其中定义了各个模块及子模块的功能(或者说,处理或操作),并可以相互隔离。数据可以在各个模块间流转,形成一个链式的处理。各个模块、子模块和处理类可以以配置文件的方式维护,形成一种可灵活增减和修改的组件。这种可配置的链式处理流程,能在满足业务的快速发展的基础上,提高***的可维护性、可扩展性和灵活度。
本公开的技术可以实现为多种形式,以下将描述其中的一些示例。在此需要指出的是,尽管在以下以电子商务场景(例如,图1A所示的应用环境)为例进行描述,但是本公开不限于此。例如,本公开的技术可以应用于其他需要进行数据同步和处理的场合。
图2示出了根据本公开实施例的数据(例如在图1的场景中,商品数据)同步和处理方法的示意流程图。
如图2所示,根据该实施例的方法200可以在步骤201开始。如上所述,该方法200可以定时执行。备选地,可以由特定事件(例如,商品中心***处存储商品数据的数据库的更新)触发启动,或者根据用户(例如,业务***的管理员)指令而启动。
在步骤202,进行配置文件解析。一般地,配置文件中可以定义有用于从第一数据库(例如,在图1A的场景中,由管理商品数据的商品中心***维护)获取数据(例如,商品数据)的一个或多个处理类(例如,通过分页同步接口从商品中心获取所有商品数据),以及用于对获取的数据(例如,商品数据)进行处理的一个或多个处理类。各处理类可以定义相应的数据处理/操作。可以按模块/子模块来设置处理类。例如,各处理类可以具有相应的标识,用以表示其所属的模块/子模块和/或处理顺序。也就是说,可以在配置文件中将对数据进行同步和处理的流程进行划分,并模块化。在此需要指出的是,这种“模块化”是指功能上的划分。配置文件中可以不存在明示的“模块”,所定义的处理类之间的内在关联(例如,执行顺序、数据流向等)可以暗示这种“模块”。
在一个实施例中,配置文件中可以列出用于进行商品数据同步和处理的处理类的列表,但是在其他文件中给出这些处理类的具体定义。由此,可以简单地修改配置文件,在配置文件中灵活地增加或减少处理类。在备选的实施例中,可以在配置文件中给出处理类的定义。
然后,在步骤203,可以根据配置文件中的用于获取数据的处理类,从第一数据库获取所有待同步数据,例如商品中心***中的所有商品数据。该处理流程或者执行该处理流程的实体可以称作“数据同步模块”。
接下来,在步骤204,可以根据配置文件中的用于处理数据的处理类,对获取的数据进行处理,并将处理后的数据存储在第二数据库(例如,业务***的本地数据库)中。具体地,可以针对业务***的需要例如通过不同地定义处理类来进行处理。该处理流程或者执行该处理流程的实体可以称作“数据处理模块”。
在一个示例中,用于处理数据的处理类可以包括以下一项或多项:用于对数据的数据结构进行转换的处理类;用于对转换后的数据进行过滤以得到有效数据的处理类;用于将有效数据构造为便于查询的数据结构的处理类;和用于将构造好的数据存储到第二数据库的处理类。
根据配置文件中的这种处理类定义,数据处理模块可以分为若干子模块,例如数据解析子模块、数据过滤子模块、数据构造子模块和数据存储子模块,其中每个子模块还可以具有相对应的一个或多个处理类。如上所述,这些子模块的处理类也可以保存在配置文件中,从而可以通过解析配置文件(例如在步骤202)而确定在步骤204中具体需要进行哪些处理。
尽管如图2所示,在该实施例中,数据处理模块204可以包括数据解析子模块、数据过滤子模块、数据构造子模块和数据存储子模块,但是本领域技术人员可以理解,数据处理模块204可以包括更多或更少的子模块,即,配置文件中可以配置更多或更少的子模块,配置文件中还可以配置每个模块或子模块的一个或多个处理类。
根据本公开的实施例,可以实现数据同步模块与数据处理模块之间的解耦(例如通过解析配置文件)。图3示出了数据同步模块与数据处理模块之间的这种解耦。
如图3所示,根据该实施例的数据同步和处理方法300在步骤301开始,例如定时启动。
然后,可以执行数据同步模块302。例如,业务***可以通过调用商品中心***对外暴露的获取商品数据接口,完成所有商品数据的获取操作,并将所有商品数据传递给数据处理模块303。
接着,可以执行数据处理模块303。例如,业务***在获取了所有商品数据后,为了满足各种业务需求,可以将商品中心***的商品数据转换成业务***的数据结构,根据业务规则过滤商品数据,构造满足业务查询的存储结构,并进行存储,稍后将详细描述。
之后,该方法300可以在步骤304结束。
根据本公开的实施例,可以实现多级模块化设计。图4示出了根据本公开实施例的将数据处理模块400划分为多个子模块401~404的示意图。
一般地,商品中心***作为一个对接多个业务***的公共***(如图1A所示),并且商品中心***的商品数据结构与业务***的商品数据结构一般不同。业务***获取商品中心商品数据后,需要转换成业务***的数据结构。然后,业务***也可以具有各种业务规则,对商品数据进行过滤以确定最终展示给用户的商品数据。同时,业务***可能存在多种商品展示维度的需求,例如,运营人员查看商、和用户查看商品等。
为了满足上述业务需求,提高***可用性和可扩展性,可以将数据处理模块400划分为数据解析子模块401、数据过滤子模块402、数据构造子模块403、数据存储子模块404等子模块。各个子模块可以完成各自特定的功能,相互隔离,在各个子模块之间只有数据的流转。注意,本领域技术人员应当理解,数据处理模块400可以被划分为更多、更少、以及不同于上述模块的多个模块。
数据解析子模块401
数据解析子模块401可以将商品数据转换为业务***的数据结构。由于商品中心作为电商***中一个独立的***,对接各个业务***,商品中心的商品数据结构和业务***的商品数据结构一般是不一致的。数据解析子模块401可以将商品中心的商品数据解析成业务***对应的商品数据结构,并将转换后的商品数据传递给数据过滤子模块402进一步处理。
例如,在电商业务***中,流量充值类业务***设计的商品数据结构,主要包含销售价、***、商品名称、运营商、地区、面值等信息。而在加油卡充值类业务***设计的商品数据结构中,主要包含销售价、***、商品名称、品牌、面值等信息。各个业务***的商品数据结构中,会有相同的属性,例如商品名称、销售价和***;同时,也会有差异化的属性,例如流量充值业务中商品的运营商属性,加油卡充值业务中的品牌属性。然而,商品中心作为统一管理商品数据的平台和各种业务的商品数据来源,需要兼容各种业务的商品数据模型,在设计其商品数据结构时,需要将各业务共有的属性抽取作为基本属性。而对于各业务中差异化的属性,为了考虑可扩展性,需要抽象为可扩展的属性集合。
如上所述,业务***的商品数据结构与商品中心的商品数据结构并不是一致的,业务***的差异化商品属性需要根据在商品中心可扩展属性集合的配置规则进行解析。数据解析子模块,即完成这种解析工作。
数据过滤子模块402
数据过滤子模块402:业务***根据业务规则对商品数据进行校验和分析,过滤出无效的商品。然后,可以将所有有效的商品数据传递给数据构造子模块403处理。
例如,在电商业务***中,一般由业务运营人员负责商品中心的商品数据管理。各业务***在获取商品中心数据,转换成业务***商品数据结构之后,需要对商品的各个重要属性进行校验和/或对属性之间的关系进行校验。例如,商品的***不能低于销售价,能有效避免商品管理人员误操作导致商品销售价异常;再例如,业务***商品必要属性的非空校验,避免用户购买商品下单失败,影响用户体验;以及业务***设计的商品数据结构,也必定会有商品的唯一约束校验。数据过滤子模块402作为数据解析子模块401的下游,是保证业务***商品数据有效性的屏障。
数据构造子模块403
数据构造子模块403:业务***可以根据用户商品展示方式、运营商品展示方式等需求,将有效的商品数据转换成便于查询的数据结构。构造好的商品数据结构会传递给数据存储子模块处理404。
数据解析子模块402解析后的业务***商品数据是一个整体的大的集合,并不能满足多维度的查询。数据构造子模块403将这个集合转换成各种查询需求匹配的数据结构后,能快速响应查询需求,提高***效率。例如,在流量充值类业务***中,用户在下单之前,需要输入手机号,***需要根据用户手机号对应的运营商,查询所有可售的运营商商品;再例如,用户在选择商品提交订单后,***需要根据商品的唯一标识查询特定的单个商品数据;以及业务人员在业务***的管理端,也需要根据业务属性查询商品数据。以上这些查询需求,可通过构造好的数据结构进行查询,可提供用户体验。
数据存储子模块404
数据存储子模块404:为了提高业务***的可用性,需要将构造好的商品数据写入Redis和/或数据库,数据库作为Redis的查询降级方案,可以通过查询Redis来提高查询效率。数据存储子模块404中也可以包括一个或多个处理类。
例如,在商品中心下架商品的场景中,业务***可以将同步的商品数据与上次存储在业务***的商品数据对比,先删除业务***中多余的商品,再将同步的商品数据覆盖业务***商品数据。这样就保证了业务***商品数据的正确性和可用性,而以上处理逻辑,只需要在数据存储子模块404配置相应的处理类即可。
图5示出了根据本公开实施例的基于配置文件来同步和处理商品数据的示意图。为了提高可扩展性和灵活度,可以采用配置文件的方式,将划分之后的模块、子模块配置到配置文件,并且给每个模块和子模块配置一个到多个处理类。
如下是一个具体的XML形式的配置文件,各个模块以集合的形式配置,模块下面包含一个到多个具体的handler处理类。可以看出,可以在配置文件中配置模块、子模块、处理类三个不同层级,这种灵活配置可以满足不同的业务***需求。
图6示出了根据本公开实施例的数据同步和处理方法600。方法600可以包括:步骤601,解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;步骤602,根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及步骤603,根据用于处理数据的处理类,来处理数据,并将处理后的数据存储在第二数据库中。
在一个实施例中,用于处理数据的处理类包括以下一项或多项:用于对数据的数据结构进行转换的处理类;用于对转换后的数据进行过滤以得到有效数据的处理类;用于将有效数据构造为便于查询的数据结构的处理类;和用于将构造好的数据存储到第二数据库的处理类。
在一个实施例中,所述数据包括商品数据,所述第一数据库由管理商品数据的商品中心***维护,且所述方法在利用商品中心***所管理的商品数据进行业务的一个或多个业务***中的任意业务***处执行。
在一个实施例中,根据业务规则对转换后的商品数据进行过滤可以包括:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
在一个实施例中,商品数据可以包括各业务***共有的基本属性和用于各业务***的差异化属性的可扩展属性集合,以及对数据的数据结构进行转换可以包括:将商品数据的可扩展属性集合解析到业务***,以获得业务***的差异化属性。
在一个实施例中,对转换后的数据进行过滤可以包括:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
在一个实施例中,将有效数据构造为便于查询的数据结构可以包括:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
在一个实施例中,将有效的商品数据构造为便于查询的数据结构可以包括:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
在一个实施例中,将构造好的数据存储到第二数据库可以包括:将构造好的商品数据与业务***的现有商品数据对比,删除业务***中多余的商品数据,并用构造好的商品数据覆盖业务***的商品数据。
在一个实施例中,所述配置文件可以是XML或JSON文件。
图7示出了根据本公开实施例的数据同步和处理装置700示意框图。数据同步和处理装置700包括配置文件解析模块701、数据获取模块702以及数据处理模块703。配置文件解析模块701被配置为解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;数据获取模块702被配置根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及数据处理模块703被配置为根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中。
在一个实施例中,数据处理模块703可以包括以下一项或多项:数据解析子模块704、数据过滤子模块705、数据构造子模块706和数据存储子模块707。其中,数据解析子模块704可以被配置为对数据的数据结构进行转换,数据过滤子单元705可以被配置为对转换后的数据进行过滤以得到有效数据,数据构造子单元706可以被配置为将有效数据构造为便于查询的数据结构,以及数据存储子单元707可以被配置为将构造好的数据存储到第二数据库。
图8是示出根据本公开实施例的电子设备800的框图。电子设备800包括处理器806(例如,微处理器、数字信号处理器等)。处理器806可以是用于执行本文描述的流程的不同动作的单一处理单元或者是多个处理单元。电子设备800还可以包括用于从其他实体接收信号的输入单元802、以及用于向其他实体提供信号的输出单元804。输入单元802和输出单元804可以被布置为单一实体或者是分离的实体。
此外,电子设备800可以包括具有非易失性或易失性存储器形式的至少一个可读存储介质808,例如是电可擦除可编程只读存储器(EEPROM)、闪存、和/或硬盘驱动器。计算机可读存储介质808包括计算机程序810,该计算机程序810包括代码/计算机可读指令,其在由电子设备800中的处理器806执行时使得电子设备800可以执行例如上面结合图1至7所描述的流程及其任何变形。
计算机程序810可被配置为具有例如计算机程序模块810A~810E(仅作为示例,可以更多或更少)架构的计算机程序代码。因此,装置1000的计算机程序中的代码包括:模块810A,用于…。计算机程序中的代码还包括:模块810B,用于…。计算机程序中的代码还包括:模块810C,用于…,诸如此类。
尽管上面结合图8所公开的实施例中的代码手段被实现为计算机程序模块,其在处理器806中执行时使得电子设备800执行上面结合图1至7所描述的动作,然而在备选实施例中,该代码手段中的至少一项可以至少被部分地实现为硬件电路。
尽管参考本公开各实施例示出并描述了本公开,但是本领域技术人员将理解:在不脱离由所附权利要求及其等同物、而非详细的说明书和实施例所限定的本公开的精神和范围的前提下,可以在其中进行形式和细节上的各种改变。
Claims (14)
1.一种数据同步和处理方法,包括:
解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;其中,所述配置文件定义有用于从第一数据库获取数据的一个或多个处理类以及用于对获取的数据进行处理的一个或多个处理类, 各个所述处理类用于定义相应的数据处理/操作,其中,按模块/子模块来设置所述处理类;
根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及
根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中;
其中,所述用于处理数据的处理类包括以下一项或多项:
用于对数据的数据结构进行转换的处理类;
用于对转换后的数据进行过滤以得到有效数据的处理类;
用于将有效数据构造为便于查询的数据结构的处理类;和
用于将构造好的数据存储到第二数据库的处理类;
其中,所述数据包括商品数据,所述第一数据库由管理商品数据的商品中心***维护,且所述方法在利用商品中心***所管理的商品数据进行业务的一个或多个业务***中的任意业务***处执行。
2.根据权利要求1所述的方法,其中,
商品数据包括各业务***共有的基本属性和用于各业务***的差异化属性的可扩展属性集合,以及
对数据的数据结构进行转换包括:将商品数据的可扩展属性集合解析到业务***,以获得业务***的差异化属性。
3.根据权利要求1所述的方法,其中,对转换后的数据进行过滤包括:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
4.根据权利要求1所述的方法,其中,将有效数据构造为便于查询的数据结构包括:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
5.根据权利要求1所述的方法,其中,将构造好的数据存储到第二数据库包括:将构造好的商品数据与业务***的现有商品数据对比,删除业务***中多余的商品数据,并用构造好的商品数据覆盖业务***的商品数据。
6.根据权利要求1所述的方法,其中,所述配置文件是XML或JSON文件。
7.一种数据同步和处理装置,包括:
配置文件解析模块,被配置为解析配置文件,确定用于获取数据的处理类和用于处理数据的处理类;其中,所述配置文件定义有用于从第一数据库获取数据的一个或多个处理类以及用于对获取的数据进行处理的一个或多个处理类, 各个所述处理类用于定义相应的数据处理/操作,其中,按模块/子模块来设置所述处理类;
数据获取模块,被配置为根据用于获取数据的处理类,从第一数据库获取所有待同步数据;以及
数据处理模块,被配置为根据用于处理数据的处理类来处理数据,并将处理后的数据存储在第二数据库中;
其中,所述数据处理模块包括以下一项或多项:
数据解析子模块,被配置为对数据的数据结构进行转换;
数据过滤子模块,被配置为对转换后的数据进行过滤以得到有效数据;
数据构造子模块,被配置为将有效数据构造为便于查询的数据结构;和
数据存储子模块,被配置为将处理后的数据存储在第二数据库中;
其中,所述数据包括商品数据,所述第一数据库由管理商品数据的商品中心***维护,且所述装置包括在利用商品中心***所管理的商品数据进行业务的一个或多个业务***中的任意业务***处。
8.根据权利要求7所述的装置,其中,
商品数据包括各业务***共有的基本属性和用于各业务***的差异化属性的可扩展属性集合,以及
数据解析子模块还被配置为:将商品数据的可扩展属性集合解析到业务***,以获得业务***的差异化属性。
9.根据权利要求7所述的装置,其中,数据过滤子模块还被配置为:对商品数据的各个属性进行校验和/或判断各个属性之间的关系是否满足业务规则。
10.根据权利要求7所述的装置,其中,数据构造子模块还被配置为:将有效的商品数据转换为与业务***的查询需求相匹配的数据结构。
11.根据权利要求7所述的装置,其中,数据存储子模块还被配置为:将构造好的商品数据与业务***的现有商品数据对比,删除业务***中多余的商品数据,并用构造好的商品数据覆盖业务***的商品数据。
12.根据权利要求7所述的装置,其中,所述配置文件是XML或JSON文件。
13.一种电子设备,包括:
处理器;和
存储器,包括程序指令,所述程序指令当被所述处理器执行时,使得所述电子设备执行如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令当被计算机执行,使得所述计算机执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710300004.5A CN108804457B (zh) | 2017-04-28 | 2017-04-28 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710300004.5A CN108804457B (zh) | 2017-04-28 | 2017-04-28 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804457A CN108804457A (zh) | 2018-11-13 |
CN108804457B true CN108804457B (zh) | 2021-10-08 |
Family
ID=64054025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710300004.5A Active CN108804457B (zh) | 2017-04-28 | 2017-04-28 | 数据同步和处理方法及装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804457B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739913A (zh) * | 2018-12-24 | 2019-05-10 | 北京明朝万达科技股份有限公司 | 一种基于可配置化的热点数据缓存处理方法及设备 |
CN110309203B (zh) * | 2019-07-02 | 2021-08-10 | 成都数之联科技有限公司 | 一种基于大数据的交互式和自定义数据建模*** |
CN111008252A (zh) * | 2019-12-24 | 2020-04-14 | 深圳市微购科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000619A (zh) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | 基于sql的数据同步方法及装置 |
US7693888B2 (en) * | 2005-05-10 | 2010-04-06 | Siemens Communications, Inc. | Data synchronizer with failover facility |
CN103186610A (zh) * | 2011-12-30 | 2013-07-03 | 金蝶软件(中国)有限公司 | 数据同步方法和装置 |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
CN104333578A (zh) * | 2014-10-23 | 2015-02-04 | 秦科 | 一种分布式数据交换***及方法 |
CN106341449A (zh) * | 2016-08-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 数据同步方法及装置 |
-
2017
- 2017-04-28 CN CN201710300004.5A patent/CN108804457B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693888B2 (en) * | 2005-05-10 | 2010-04-06 | Siemens Communications, Inc. | Data synchronizer with failover facility |
CN101000619A (zh) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | 基于sql的数据同步方法及装置 |
CN103186610A (zh) * | 2011-12-30 | 2013-07-03 | 金蝶软件(中国)有限公司 | 数据同步方法和装置 |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
CN104333578A (zh) * | 2014-10-23 | 2015-02-04 | 秦科 | 一种分布式数据交换***及方法 |
CN106341449A (zh) * | 2016-08-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108804457A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710655B (zh) | 数据库查询方法、装置、终端设备及存储介质 | |
CN111049878A (zh) | 微服务调用链具象化的方法、装置、电子装置及存储介质 | |
CN107133309B (zh) | 流程实例的存储、查询方法及装置、存储介质及电子设备 | |
CN108804457B (zh) | 数据同步和处理方法及装置、电子设备和计算机可读介质 | |
CN111427971B (zh) | 用于计算机***的业务建模方法、装置、***和介质 | |
CN110049118A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN106843818B (zh) | 一种业务模型生成方法及装置 | |
CN112699151B (zh) | 数据处理方法、装置、设备以及介质 | |
WO2022134583A1 (zh) | 一种保险数据信息的生成方法、装置、服务器及存储介质 | |
CN109616212A (zh) | 疾病数据处理方法、装置、电子设备及可读介质 | |
US20150120424A1 (en) | Mobile point saving system and method | |
CN114358802A (zh) | 一种基于企业微信场景的客户管理方法、***及设备 | |
CN104572439A (zh) | 回归警告方法和*** | |
KR101614890B1 (ko) | 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 | |
US12048027B2 (en) | Device management system | |
CN111045928B (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN111142989B (zh) | 对象管理方法、装置及存储介质 | |
CN109558619B (zh) | 基于建筑信息模型的数据处理方法、终端及可读存储介质 | |
JP7519646B2 (ja) | 量子車型部品基礎データベースの作成方法、装置、電子機器及び記憶媒体 | |
CN112765197B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111611056A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN108874553B (zh) | 消息推送方法、装置和***、存储介质及处理器 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
KR20200102708A (ko) | 전자거래 문서 표준화 방법 | |
CN112488856B (zh) | 一种信息归类方法、设备、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |