CN104216961B - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN104216961B CN104216961B CN201410415600.4A CN201410415600A CN104216961B CN 104216961 B CN104216961 B CN 104216961B CN 201410415600 A CN201410415600 A CN 201410415600A CN 104216961 B CN104216961 B CN 104216961B
- Authority
- CN
- China
- Prior art keywords
- data
- acquire
- value
- mapped
- unique identification
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法和装置,该方法包括:当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。本申请降低了数据转换的维护成本。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据处理方法和装置。
背景技术
在互联网企业的数据库中,存在多种异构数据库。各种数据库的性质不同,因此,使用的场景也就不同,例如,有些数据库比较灵敏,适用于在线更新,有些数据库容量较大,适用于离线备份。由于各种数据库的应用场景不同,因此,各种异构数据库之间常常需要进行一些数据的传递与交互。例如,某线上业务将数据写入数据库A中,而另一业务需要从数据库B中读出这些数据,因此,需要把数据库A中的数据传递到数据库B中。由于源数据库和目标数据库可能使用了不同的数据模型,例如,A是基于文档型的数据库,B是基于键值对的数据库,则在数据传递的过程中,需要对数据模型进行转换。
在现有技术中,对两种异构数据模型定义一种数据转换的规则,根据规则可以将数据库A中的数据转换成数据库B中的数据格式。所有异构数据库之间的数据传递,都可以依赖这些异构数据库之间定义的规则来进行转换。
现有技术是通过定义两个数据模型之间的数据转换规则来实现数据转换的。但是,随着数据系统的增大,当系统中同时存在多种不同数据模型的数据库时,就必须针对所有异构数据模型两两之间都分别定义一套数据转换规则,从而使得数据转换规则数量过多,体系复杂庞大。例如,如果有5种不同数据模型的数据库之间需要数据交互,根据现有技术,就需要为这5种数据库两两之间分别定义一套数据转换规则。另外,在使用现有技术的方案时,如果需要增加新的数据模型,产生的成本也较大,这是因为,需要定义该新数据模型和所有旧数据模型之间的转换规则,如果原系统中有n种不同的数据模型,此时添加一个新数据模型,就需要添加n套相应的数据转换规则。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:降低数据转换的维护成本。
发明内容
本发明实施例所要解决的技术问题是提供一种数据处理方法,以便降低数据转换的维护成本。
相应的,本发明实施例还提供了一种数据处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种数据处理方法,包括:当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。
优选地,所述中间数据结构包括:唯一标识值和与所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为基于键值对的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:将获取的所述数据的键映射为所述唯一标识值;将获取的所述数据的值映射为所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为基于文档的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:将获取的所述数据的标识ID映射为所述唯一标识值;将获取的所述数据的文档映射为所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为面向列的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:将获取的所述数据的行标识映射为所述唯一标识值;将获取的所述数据的一行中所有列簇的值映射为所述唯一标识值对应的数据内容。
优选地,将获取的所述数据的列簇的值映射为所述唯一标识值对应的数据内容,包括:将获取的所述数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列。
优选地,当所述第二数据模型库为基于键值对的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:将获取的所述数据的唯一标识值映射为键;将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述键对应的值。
优选地,当所述第二数据模型库为基于文档的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:将获取的所述数据的所述唯一标识值映射为标识ID;将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述ID对应的文档。
优选地,当所述第二数据模型库为面向列的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:将获取的所述数据的所述唯一标识值映射为行标识;将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述行标识对应的列簇的值。
为了解决上述问题,本发明公开了一种数据处理装置,包括:获取单元,用于当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;第一转换单元,用于将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;第二转换单元,用于将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;保存单元,用于将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。
优选地,所述中间数据结构包括:唯一标识值和与所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为基于键值对的数据模型时,所述第一转换单元用于:
将获取的所述数据的键映射为所述唯一标识值;
将获取的所述数据的值映射为所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为基于文档的数据模型时,所述第一转换单元用于:
将获取的所述数据的标识ID映射为所述唯一标识值;
将获取的所述数据的文档映射为所述唯一标识值对应的数据内容。
优选地,当所述第一数据模型库为面向列的数据模型时,所述第一转换单元用于:
将获取的所述数据的行标识映射为所述唯一标识值;
将获取的所述数据的一行中所有列簇的值映射为所述唯一标识值对应的数据内容。
优选地,所述第一转换单元用于:
将获取的所述数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列。
与现有技术相比,本发明实施例包括以下优点:
在现有技术中,对多个异构数据库中的每两个数据库之间都要建立转换规则,从而使得数据转换规则数量过多,体系复杂庞大,维护成本也较高;并且,当新增数据库时,需要建立新增数据库和所有旧数据库之间的转换规则,从而产生较高的成本。而在本申请中,在对数据库中的数据进行转换时,将源数据库的数据转换成中间模型数据库的数据,然后再转换成目标数据库的数据,这样,只需要建立各个数据库到中间模型数据库的转换规则即可,减少了数据转换规则的数量,降低了维护成本;并且,当需要新增数据库时,只需要建立该新增数据库和中间模型数据库之间的转换规则即可,降低了新增数据库所产生的成本。
附图说明
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是现有技术中三种数据模型的数据结构示意图;
图3是本发明的面向列数据模型到中间数据结构的转换的示意图;
图4是本发明的一种数据处理装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的数据的结构为第一数据结构;将获取的数据的结构从第一数据结构转换成中间模型数据库的中间数据结构;将获取的数据的结构从中间数据结构转换成第二数据库的第二数据结构;将转换后的具有第二数据结构的数据保存到第二数据模型库中。在本申请中,在对数据库中的数据进行转换时,将源数据库的数据转换成中间模型数据库的数据,然后再转换成目标数据库的数据,这样,只需要建立各个数据库到中间模型数据库的转换规则即可,减少了数据转换规则的数量,降低了维护成本;并且,当需要新增数据库时,只需要建立该新增数据库和中间模型数据库之间的转换规则即可,降低了新增数据库所产生的成本。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的数据的结构为第一数据结构;
对于不同的数据库系统,数据的格式和存储模型可能是不同的。不用的数据库具有不同的用途,有时需要从数据库B中读取数据库A的数据,此时,就需要将数据库A中的数据转换成数据库中的数据。在转换时,第一数据模型库为源数据库,源数据库中的数据具有第一数据结构,第二数据模型库为目标数据库,目标数据库中的数据具有第二数据结构,当需要将源数据 库的数据转换成目标数据库中的数据时,从源数据库中获取需要转换的数据。
步骤104,将获取的数据的结构从第一数据结构转换成中间模型数据库的中间数据结构;
为了实现到中间数据结构的转换,首先需要确定出合适的中间数据结构,使得各种数据库中的数据能够方便地转换成中间数据结构。可以通过主流的数据模型来确定出中间数据模型库的中间数据结构。表1中列出了四种比较主流的开源非关系型数据库系统(NoSQL)。它们都是许多大型互联网公司经常使用的数据库,相应的数据模型结构如表中所示。
表1
数据库系统 | 数据模型 |
Apache HBase | 面向列(column-oriented)的数据模型 |
MongoDB | 基于文档(document)的数据模型 |
Couchbase | 基于键值对(key-value)的数据模型 |
Redis | 基于键值对(key-value)的数据模型 |
如表1所示,目前主要的数据模型包括:面向列的数据模型、基于文档的数据模型和基于键值对的数据模型,图2示出了现有技术中三种数据模型的数据结构。如图2所示,三种数据模型的数据都可以横向分割成某个单位的数据片段,表2示出了这三种数据模型的数据单位和含义,
表2
如表2所示,上述三种数据模型的数据单位具有相通之处,中间数据模型库中的数据单位应该是能够兼容表2所述的三种数据单位,因此,可以将上述三种数据模型的数据单位的相通之处和中间数据结构相对应。由表2可知,上述三种数据单位具有以下特点:都有一个较短的唯一标记值,例如, 键值对(key-value)中的键(key),文档(document)中的ID和面向列的行ID(rowID);每条与唯一标记值对应的数据内容,该数据内容都可以用嵌套的键值对(key-value)和阵列(array)来表示。
因此,在本发明实施例的一个优选实例中,中间数据结构可以包括:唯一标识值和唯一标识值对应的数据内容。这个中间数据结构可以是类似于JSON数据的组织结构。目前较为通用的数据库的数据都可以方便地转换成中间数据结构。
在具体实现时,在转换之前预先设置各种数据库和中间模型数据库之间的转换规则,每种规则可以使用一段函数或配置文档来表示,当需要使用该规则时,调用对应的函数或配置文档即可实现数据库和中间模型数据库之间的转换。下面对各种数据模型到中间模型数据库之间的转换规则进行说明。
键值对(key-value)数据模型到中间数据结构的转换规则包括:键值对中的键(key)直接对应中间数据结构的唯一标记值,值(value)可以直接映射到中间数据结构的数据区。
文档(document)数据模型到中间数据结构的转换规则包括:文档中的ID值直接对应中间数据结构中的唯一标记值;文档本身一般是由JavaScript对象表示方法(JavaScript Object Notation,JSON,是一种轻量级的数据交换格式),二进制序列化文档格式(Binary Serialized Document Format,BSON,是一种类JSON的二进制形式的存储格式)、或可扩展标识语言(eXtensible Markup Language,XML)格式的结构组织而成,也是支持键值对(key-value)和阵列(array)的嵌套组织架构,可以按照文档原有的数据架构完全映射到中间数据结构的类JSON结构中。
面向列(column-oriented)数据模型到中间数据结构的转换规则包括:行ID(rowID)可以映射到中间数据结构的唯一标记值;在面向列的数据库中,由于一行数据可以包含多个列簇,一个列簇中又可以包含多个列,所以一行数据可以用如下的方式来进行映射:列簇与列簇之间,属于并列关系,用阵列(array)的结构来映射,即,所有列簇中的数据组成一个阵列;同一列簇的列与列之间,属于并列关系,用阵列(array)的结构来映射,即,每一个列簇的数据组成一个子阵列;一个列中的具体的值,可以直接用值(value)或者键值对(key-value)来表示。图3示出了面向列(column-oriented)数据模型到中间数据结构的转换的示意图,具体转换规则可以参见图3.
下面针对这三种数据模型分别说明源数据库到中间数据模型库的转换过程。
当第一数据模型库为基于键值对的数据模型时,将获取的第一数据模型库的数据的键(key)映射为唯一标识值;将获取的第一数据模型库的数据的值(value)映射为唯一标识值对应的数据内容。通过该实施例,可以方便地将基于键值对的数据模型的数据转换成中间数据结构。
当第一数据模型库为基于文档(Document)的数据模型时,将获取的第一数据模型库的数据的标识(ID)映射为唯一标识值;将获取的第一数据模型库的数据的文档(Document)映射为唯一标识值对应的数据内容。通过该实施例,可以方便地将基于文档的数据模型的数据转换成中间数据结构。
当第一数据模型库为面向列的数据模型时,将获取的第一数据模型库的数据的行标识(rowID)映射为唯一标识值;将获取的第一数据模型库的数据的列簇(Column Family)的值映射为唯一标识值对应的数据内容。其中,将获取的数据的一行中所有列簇的值映射为唯一标识值对应的数据内容可以包括:将获取的数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列。通过该实施例,可以方便地将面向列的数据模型的数据转换成中间数据结构。
步骤106,将获取的数据的结构从中间数据结构转换成第二数据库的第二数据结构;
当第二数据模型库为基于键值对的数据模型时,将获取的数据的唯一标识值映射为键(key);将获取的数据的与唯一标识值对应的数据内容映射为与键对应的值(value)。通过该实施例,可以方便地将中间数据结构的数据转换成基于键值对的数据模型的数据。
当第二数据模型库为基于文档的数据模型时,将获取的数据的唯一标识值映射为ID;将获取的数据的与唯一标识值对应的数据内容映射为与该ID 对应的文档(Document)。通过该实施例,可以方便地将中间数据结构的数据转换成基于文档的数据模型的数据。
当第二数据模型库为面向列的数据模型时,将获取的数据的唯一标识值映射为行标识(rowID);将获取的数据的与唯一标识值对应的数据内容映射为与行标识对应的列簇的值,其中,列簇中的值可以是值(value)形式的,也可以是键值对形式的。
步骤108,将转换后的具有第二数据结构的数据保存到第二数据模型库中。
在将数据转换成目标数据库的结构之后,将数据存储到目标数据库中,以备后续使用。
在现有技术中,对多个异构数据库中的每两个数据库之间都要建立转换规则,从而使得数据转换规则数量过多,体系复杂庞大,维护成本也较高;并且,当新增数据库时,需要建立新增数据库和所有旧数据库之间的转换规则,从而产生较高的成本。而在本申请中,在对数据库中的数据进行转换时,将源数据库的数据转换成中间模型数据库的数据,然后再转换成目标数据库的数据,这样,只需要建立各个数据库到中间模型数据库的转换规则即可,减少了数据转换规则的数量,降低了维护成本;并且,当需要新增数据库时,只需要建立该新增数据库和中间模型数据库之间的转换规则即可,降低了新增数据库所产生的成本。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明一种数据处理装置实施例的结构框图,该装置可以是任何需要进行数据转换的装置,具体可以包括如下模块:
获取单元402,用于当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;
第一转换单元404,用于将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;
第二转换单元406,用于将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;
保存单元408,用于将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。
在本发明实施例的一个优选实例中,所述中间数据结构包括:唯一标识值和与所述唯一标识值对应的数据内容。
在本发明实施例的一个优选实例中,当所述第一数据模型库为基于键值对的数据模型时,所述第一转换单元404用于:
将获取的所述数据的键映射为所述唯一标识值;
将获取的所述数据的值映射为所述唯一标识值对应的数据内容。
在本发明实施例的一个优选实例中,当所述第一数据模型库为基于文档的数据模型时,所述第一转换单元404用于:
将获取的所述数据的标识ID映射为所述唯一标识值;
将获取的所述数据的文档映射为所述唯一标识值对应的数据内容。
在本发明实施例的一个优选实例中,当所述第一数据模型库为面向列的数据模型时,所述第一转换单元404用于:
将获取的所述数据的行标识映射为所述唯一标识值;
将获取的所述数据的一行中所有列簇的值映射为所述唯一标识值对应的数据内容。
在本发明实施例的一个优选实例中,所述第一转换单元404用于:
将获取的所述数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列。
在本发明实施例的一个优选实例中,当所述第二数据模型库为基于键值 对的数据模型时,所述第二转换单元406用于:
将获取的所述数据的唯一标识值映射为键;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述键对应的值。
在本发明实施例的一个优选实例中,当所述第二数据模型库为基于文档的数据模型时,所述第一转换单元404用于:
将获取的所述数据的所述唯一标识值映射为标识ID;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述ID对应的文档。
在本发明实施例的一个优选实例中,当所述第二数据模型库为面向列的数据模型时,所述第一转换单元404用于:
将获取的所述数据的所述唯一标识值映射为行标识;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述行标识对应的列簇的值。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计 算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终 端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;
将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;将所述第一数据模型库中的数据转换成所述中间模型数据库的数据;其中,所述中间数据结构包括:唯一标识值和与所述唯一标识值对应的数据内容;当所述第一数据模型库为面向列的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:将获取的所述数据的行标识映射为所述唯一标识值;将获取的所述数据的一行中所有列簇的值映射为所述唯一标识值对应的数据内容;所述将获取的所述数据的列簇的值映射为所述唯一标识值对应的数据内容,包括:将获取的所述数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列;
将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;
将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。
2.根据权利要求1所述的方法,其特征在于,当所述第一数据模型库为基于键值对的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:
将获取的所述数据的键映射为所述唯一标识值;
将获取的所述数据的值映射为所述唯一标识值对应的数据内容。
3.根据权利要求1所述的方法,其特征在于,当所述第一数据模型库为基于文档的数据模型时,将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构,包括:
将获取的所述数据的标识ID映射为所述唯一标识值;
将获取的所述数据的文档映射为所述唯一标识值对应的数据内容。
4.根据权利要求1所述的方法,其特征在于,当所述第二数据模型库为基于键值对的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:
将获取的所述数据的唯一标识值映射为键;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述键对应的值。
5.根据权利要求1所述的方法,其特征在于,当所述第二数据模型库为基于文档的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:
将获取的所述数据的所述唯一标识值映射为标识ID;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述ID对应的文档。
6.根据权利要求1所述的方法,其特征在于,当所述第二数据模型库为面向列的数据模型时,将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构,包括:
将获取的所述数据的所述唯一标识值映射为行标识;
将获取的所述数据的与所述唯一标识值对应的数据内容映射为与所述行标识对应的列簇的值。
7.一种数据处理装置,其特征在于,包括:
获取单元,用于当需要将第一数据模型库中的数据转换成第二数据模型库中的数据时,获取第一数据模型库中的数据,其中,获取的所述数据的结构为第一数据结构;
第一转换单元,用于将获取的所述数据的结构从所述第一数据结构转换成中间模型数据库的中间数据结构;将所述第一数据模型库中的数据转换成所述中间模型数据库的数据;其中,所述中间数据结构包括:唯一标识值和与所述唯一标识值对应的数据内容;当所述第一数据模型库为面向列的数据模型时,所述第一转换单元用于:将获取的所述数据的行标识映射为所述唯一标识值;将获取的所述数据的一行中所有列簇的值映射为所述唯一标识值对应的数据内容;所述第一转换单元用于:将获取的所述数据的所有列簇中的值映射为一个阵列,其中,每个列簇中的值组成一个子阵列;
第二转换单元,用于将获取的所述数据的结构从所述中间数据结构转换成所述第二数据库的第二数据结构;
保存单元,用于将转换后的具有所述第二数据结构的数据保存到所述第二数据模型库中。
8.根据权利要求7所述的装置,其特征在于,当所述第一数据模型库为基于键值对的数据模型时,所述第一转换单元用于:
将获取的所述数据的键映射为所述唯一标识值;
将获取的所述数据的值映射为所述唯一标识值对应的数据内容。
9.根据权利要求7所述的装置,其特征在于,当所述第一数据模型库为基于文档的数据模型时,所述第一转换单元用于:
将获取的所述数据的标识ID映射为所述唯一标识值;
将获取的所述数据的文档映射为所述唯一标识值对应的数据内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415600.4A CN104216961B (zh) | 2014-08-21 | 2014-08-21 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415600.4A CN104216961B (zh) | 2014-08-21 | 2014-08-21 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104216961A CN104216961A (zh) | 2014-12-17 |
CN104216961B true CN104216961B (zh) | 2019-03-29 |
Family
ID=52098451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410415600.4A Active CN104216961B (zh) | 2014-08-21 | 2014-08-21 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216961B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202121B (zh) * | 2015-05-07 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 数据存储及导出的方法和设备 |
CN105160004A (zh) * | 2015-09-17 | 2015-12-16 | 西安未来国际信息股份有限公司 | 一种基于b/s架构的异构系统的数据映射方法 |
CN105260464B (zh) * | 2015-10-16 | 2018-09-07 | 北京奇虎科技有限公司 | 数据存储结构的转换方法及装置 |
CN105389334B (zh) * | 2015-10-16 | 2019-03-01 | 北京奇虎科技有限公司 | 数据存储结构的转换方法及装置 |
CN105302889B (zh) * | 2015-10-16 | 2019-06-04 | 北京奇虎科技有限公司 | 数据存储结构的转换方法及装置 |
CN105608103A (zh) * | 2015-10-16 | 2016-05-25 | 北京奇虎科技有限公司 | 数据存储结构的转换方法及装置 |
CN105550333A (zh) * | 2015-12-22 | 2016-05-04 | 歌尔声学股份有限公司 | 基于MongoDB的测试数据存储查询方法及系统 |
CN106066848A (zh) * | 2016-05-24 | 2016-11-02 | 辽宁蓝卡医疗投资管理有限公司 | 数据处理方法、装置及系统 |
CN107436882A (zh) * | 2016-05-25 | 2017-12-05 | 中国移动通信集团广东有限公司 | 一种基于大数据平台的建模方法及装置 |
CN108628885B (zh) * | 2017-03-20 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、装置及存储设备 |
CN108563768B (zh) * | 2018-04-19 | 2023-05-23 | 中国平安财产保险股份有限公司 | 不同数据模型的数据转换方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452450A (zh) * | 2007-11-30 | 2009-06-10 | 上海市电力公司 | 一种多源数据转换服务方法及其装置 |
CN101754221A (zh) * | 2008-12-19 | 2010-06-23 | 中国移动通信集团山东有限公司 | 异构系统间的数据传输方法及数据传输系统 |
CN103425521A (zh) * | 2012-05-24 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置 |
-
2014
- 2014-08-21 CN CN201410415600.4A patent/CN104216961B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452450A (zh) * | 2007-11-30 | 2009-06-10 | 上海市电力公司 | 一种多源数据转换服务方法及其装置 |
CN101754221A (zh) * | 2008-12-19 | 2010-06-23 | 中国移动通信集团山东有限公司 | 异构系统间的数据传输方法及数据传输系统 |
CN103425521A (zh) * | 2012-05-24 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104216961A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216961B (zh) | 一种数据处理方法和装置 | |
US10628449B2 (en) | Method and apparatus for processing database data in distributed database system | |
CN103714129B (zh) | 基于条件规则的动态数据结构和关系的构建装置和构建方法 | |
CN105786808B (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
CN105335412A (zh) | 用于数据转换、数据迁移的方法和装置 | |
CN105045775A (zh) | 一种指定格式的Excel文档生成方法及装置 | |
CN105354036A (zh) | 数据库操作代码生成方法及装置 | |
CN108133007A (zh) | 一种数据同步方法和系统 | |
CN106886535A (zh) | 一种适配多种数据源的数据抽取方法和装置 | |
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
CN110471923B (zh) | 一种区块链交易记录的处理方法及装置 | |
EP3042254A1 (en) | Systems and methods for virtualizing a programmable logic controller | |
CN105930325B (zh) | 一种文件报表比对差异的逆向分析方法及装置 | |
CN109344268A (zh) | 图形数据库写入的方法、电子设备及计算机可读存储介质 | |
CN110019111A (zh) | 数据处理方法、装置、存储介质以及处理器 | |
CN106294468A (zh) | 处理业务数据的方法和装置 | |
CN103440197B (zh) | 一种基于对比测试自动生成差异测试报告的方法 | |
CN106294530A (zh) | 规则匹配的方法和系统 | |
US11531706B2 (en) | Graph search using index vertices | |
CN102968305B (zh) | 逻辑处理方法、装置及测评系统 | |
EP2990895A1 (en) | Industrial monitoring system | |
CN103838845A (zh) | 一种通用导入Excel数据的实现方法 | |
CN105786478A (zh) | 用于数据处理的方法及设备 | |
CN105824608B (zh) | 处理对象的处理、插件生成方法及装置 | |
CN110147396A (zh) | 一种映射关系生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |