CN107122401A - 向数据库存储数据的方法、设备、中间件设备和服务器 - Google Patents

向数据库存储数据的方法、设备、中间件设备和服务器 Download PDF

Info

Publication number
CN107122401A
CN107122401A CN201710173926.4A CN201710173926A CN107122401A CN 107122401 A CN107122401 A CN 107122401A CN 201710173926 A CN201710173926 A CN 201710173926A CN 107122401 A CN107122401 A CN 107122401A
Authority
CN
China
Prior art keywords
data
target
storage
library storage
database
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.)
Pending
Application number
CN201710173926.4A
Other languages
English (en)
Inventor
胡鹏
葛朋旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Youshi Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Youshi Network Technology Co Ltd filed Critical Guangzhou Youshi Network Technology Co Ltd
Priority to CN201710173926.4A priority Critical patent/CN107122401A/zh
Publication of CN107122401A publication Critical patent/CN107122401A/zh
Priority to PCT/CN2017/120189 priority patent/WO2018171289A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种向数据库存储数据的方法、设备、中间件设备和服务器。该方法包括:设置配置信息,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;基于所述配置信息,将第一数据转换成第二数据;以及向目标数据库存储所述第二数据。根据本发明的一个实施例,可以提高向目标数据存储数据的效率。

Description

向数据库存储数据的方法、设备、中间件设备和服务器
技术领域
本发明涉及数据库技术领域,并且更具体来说,涉及一种用于向目标数据库存储不同数据源的数据的方法、用于向目标数据库存储不同数据源的数据的设备、中间件设备和服务器。
背景技术
在数据库的应用过程中,通常会从一个数据库向另一个数据库转移数据。
例如,在对大数据进行分析和应用的过程中,一般会对数据进行采集、分析、加工等处理。最后,将加工后的数据提供给应用系统,供使用。在每一个处理中,可能使用不同的分析工具或系统平台。因此,需要在不同的分析工具或系统平台之间按照指定数据格式进行数据转换和传输。
通常,应用系统的各个大数据业务和/或各种算法所使用的数据是不一样的。一种算法可能使用数据库的一个或多个表中的不同字段的数据值。因此,应用系统需要使用不同的数据值。为了使应用系统能够及时且快速地获取算法所需的数据,可以将数据库中的每一条数据,按照指定格式并使用不同的关键字(Key)存储到内存数据库中,以方便应用系统的快速获取数据。
在将数据存储到内存数据库时,所述数据可能来自不同数据源,例如,不同的数据库和/或数据库中的不同表。
在数据传输或交换过程中,通常会使用生产者-消费者模式。在生产者-消费者模式中,生产者产生数据并将数据放入到数据共享内存中,消费者从数据共享内存取得数据并对数据进行处理。在生产者-消费者模式,数据的存储和读出可以是异步的。
因此,需要提供一种新的技术方案,针对上述现有技术中的至少一个技术问题进行改进。
发明内容
本发明的一个目的是提供一种用于向目标数据库存储不同数据源的数据的新技术方案。
根据本发明的第一方面,提供了一种用于向目标数据库存储不同数据源的数据的方法,包括:设置配置信息,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;基于所述配置信息,将第一数据转换成第二数据;以及向目标数据库存储所述第二数据。
优选地,所述不同数据源是不同数据库或数据库中的不同表。
优选地,所述目标数据库是内存数据库。
优选地,使用生产者-消费者模式向目标数据库存储所述第一数据,其中,在生产者-消费者模式中,数据生产者模块基于所述配置信息将第一数据转换成适合目标数据库的第二数据以及将第二数据存储在数据共享内存中;以及数据消费者模块从数据共享内存读取第二数据并向目标数据库存储第二数据。
优选地,所述数据生产者模块还计算每条第二数据的哈希值,以及基于所述哈希值存储所述第二数据以避免所存储的第二数据的重复。
优选地,以对应的方式将所述哈希值与每条第二数据存储在数据共享内存中;以及所述数据消费者模块以哈希值作为每条第二数据的主键向目标数据库存储第二数据。
优选地,以所述哈希值作为每条第二数据的主键将所述第二数据存储在数据共享内存中。
优选地,所述数据消费者模块从数据共享内存读取第二数据及对应的哈希值并向目标数据库存储第二数据及对应的哈希值。
优选地,所述配置信息包括表示向目标数据库存储数据的任务信息、表示数据源的数据源信息、表示数据转换方式的转换规则信息和表示数据存储目标的目的地信息。
根据本发明的第二方面,提供了一种用于向目标数据库存储不同数据源的数据的设备,包括:用于设置配置信息的装置,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;用于基于所述配置信息将第一数据转换成第二数据的装置;以及用于向目标数据库存储所述第二数据的装置。
根据本发明的第三方面,提供了一种中间件设备,包括根据任何一个实施例的用于向目标数据库存储不同数据源的数据的设备,或者被设计成用于执行根据任何一个实施例的方法中的操作。
根据本发明的第四方面,提供了一种服务器,包括根据任何一个实施例的中间件设备。
优选地,所述服务器还包括内存数据库,其中,所述中间件设备以所述内存数据库作为目标数据库并向所述内存数据库存储不同数据源的数据。
根据本发明的第五方面,提供了一种服务器,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令在所述服务器运行时控制所述处理器执行根据任何一个实施例的用于向目标数据库存储不同数据源的数据的方法。
根据本发明的一个实施例,可以提高向目标数据存储数据的效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1示出了根据本发明的一个实施例的用于向目标数据库存储不同数据源的数据的方法的示意性流程图。
图2示出了根据本发明的另一个实施例的中间件设备的示意性框图。
图3示出了是根据本发明的另一个实施例的服务器的示意性框图。
图4示出了根据本发明的另一个实施例的服务器的示意性框图。
图5示出了可以应用本发明的实施例的系统的例子的示意性框图。
图6示出了可以应用于本发明的实施例的生产者-消费者模式的例子的示意性框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明的各个实施例和例子。
<方法>
图1示出了根据本发明的一个实施例的用于向目标数据库存储不同数据源的数据的方法的示意性流程图。例如,所述不同数据源是不同数据库或数据库中的不同表。所述数据库例如是关系型数据库。例如,所述目标数据库是内存数据库,例如,分布式内存数据库。应用系统可以快速地从内存数据库存取数据。
如图1所示,在步骤S1100,设置配置信息,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式。
例如,所述配置信息包括表示向目标数据库存储数据的任务信息、表示数据源的数据源信息、表示数据转换方式的转换规则信息和表示数据存储目标的目的地信息。
通过设置和使用配置信息,可以自动实现来自多个数据源的数据向目标数据库的存储。这可以提高数据转移的效率。
在步骤S1200,基于所述配置信息,将第一数据转换成第二数据。
在这里,第一数据和第二数据中的“第一”和“第二”仅是为了区分处于不同处理阶段的数据。例如,第一数据和第二数据可以是相同格式的或不同格式的。
在步骤S1300,向目标数据库存储所述第二数据。
例如,可以使用生产者-消费者模式向目标数据库存储所述第一数据。在生产者-消费者模式中,数据生产者模块基于所述配置信息将第一数据转换成适合目标数据库的第二数据以及将第二数据存储在数据共享内存中。数据消费者模块从数据共享内存读取第二数据并向目标数据库存储第二数据。
由于数据来自不同的数据源,因此,数据的内容可能存在重复。当将重复的数据存储到目标数据库中时,重复的数据会占用数据库的资源。但是,由于不同数据源的数据可能具有不同的格式,因此,很难确定重复的数据。
此外,当应用系统从目标数据读取重复的数据时,这会浪费应用系统的处理资源。
通常,由于存储资源的数量越来越多,价格越来越便宜,因此,很多设计人员认为重复的数据不会对系统造成很大影响。但是,在实际应用过程中,发明人发现,对于大数据应用来说,这部分影响是不可忽略的。
基于这些考虑,在一个实施例中,所述数据生产者模块还计算每条第二数据的哈希值。可以基于所述哈希值来存储所述第二数据以避免所存储的第二数据的重复。
由于第一数据来自不同的数据源,因此,即使第一数据的内容相同,它们的格式也可能不同。因此,很难发现第一数据的重复。这里,基于第二数据确定数据重复,可以避免这个问题。
可以在向目标数据库存储第二数据时消除所述重复。例如,以对应的方式将所述哈希值与每条第二数据存储在数据共享内存中,所述数据消费者模块以哈希值作为每条第二数据的主键向目标数据库存储第二数据。这样,在存储数据时,对于具有相同主键的数据条目,可以由在后的数据条目覆盖在先的数据条目,或者丢弃在后的数据条目。
还可以在数据同步过程中消除所述重复。例如,以所述哈希值作为每条第二数据的主键将所述第二数据存储在数据共享内存中。这样,数据消费者可以直接从数据共享内存读取第二数据并向目标数据库存储第二数据。这减轻了后续处理。
例如,数据消费者可以仅从数据共享内存读取第二数据而不读取所述哈希值。在一个例子猴子那个,所述数据消费者模块从数据共享内存读取第二数据及对应的哈希值并向目标数据库存储第二数据及对应的哈希值。这样,目标数据库和/或系统应用也可以利用所述哈希值。例如,可以利用所述哈希值计算第二数据在目标数据库中的地址。可选地,还可以利用所述哈希值验证第二数据的完整性。
<设备>
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面公开的方法,产生一种用于向目标数据库存储不同数据源的数据的设备,所述设备包括用于执行根据所述实施例的用于向目标数据库存储不同数据源的数据的方法中的各个操作。例如,所述设备包括:用于设置配置信息的装置,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;用于基于所述配置信息将第一数据转换成第二数据的装置;以及用于向目标数据库存储所述第二数据的装置。
<中间件设备>
可以将所述实施例应用于中间件设备。所述中间件设备可以位于服务器中。例如,随着电子技术的发展,终端设备和服务器的区别越来越小。因此,所述中间件设备也可以应用于终端设备。
图2示出了根据本发明的一个实施例的中间件设备的示意性框图。
如图2所示,中间件设备2000包括前面所述的的用于向目标数据库存储不同数据源的数据的设备2010。
另外,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以直接设计出期望的产品。从这个方面来说,在这个实施例中,还提供了一种中间件设备,它被设计成用于执行图1所述的方法中的操作。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由应当来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。
<服务器>
图3示出了是根据本发明的另一个实施例的服务器的示意性框图。
如图3所示,服务器3000可以包括图2所示的中间件设备2000。
目标数据库可以位于服务器3000内部,也可以通过有线或无线的方式连接到服务器3000。例如,所述服务器3000包括内存数据库,其中,所述中间件设备2000以所述内存数据库作为目标数据库并向所述内存数据库存储不同数据源的数据。
图4示出了根据本发明的另一个实施例的服务器的示意性框图。
如图4所示,服务器4000可以包括处理器4010、存储器4020、接口装置4030、通信装置4040、显示装置4050、输入装置4060、扬声器4070、麦克风4080,等等。
处理器4010例如可以是中央处理器CPU、微处理器MCU等。存储器4020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置4030例如包括USB接口、耳机接口等。
通信装置4040例如能够进行有有线或无线通信。
显示装置4050例如是液晶显示屏、触摸显示屏等。输入装置4060例如可以包括触摸屏、键盘等。用户可以通过扬声器4070和麦克风4080输入/输出语音信息。
图4所示的服务器仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
在这个实施例中,所述存储器4020用于存储指令,所述指令用于控制所述处理器4010进行操作以执行前面参照图1所述的用于向目标数据库存储不同数据源的数据的方法中的各个操作。本领域技术人员应当理解,尽管在图4中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器4010和存储装置4020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<例子>
图5示出了可以应用本发明的实施例的系统的例子的示意性框图。
如图5所示,服务器5040通过网络5010与数据库5020、5030连接。尽管在图5中示出了网络5010,但是,本领域技术人员应当理解,服务器5040可以直接与数据库5020、5030连接,或者,数据库5020、5030位于服务器5040内部。
另外,在图5中,服务器5040还与内存服务器5050连接。本领域技术人员应当理解,内存服务器5050可以位于服务器5040内部。
可以在服务器5040中实现根据本发明的实施例。例如,所述服务器可以是前面所述的服务器。
首先,设置配置信息。例如,配置信息可以包括表示向目标数据库存储数据的任务信息、表示数据源的数据源信息、表示数据转换方式的转换规则信息和表示数据存储目标的目的地信息。
下面的表格示出了所述信息的例子。
(1)任务信息
(2)数据源信息
(3)输出目的地
(4)转换规则信息
可以根据不同的数据同步/传输任务,将所述信息转换成SQL语句,供后续使用。
例如,可以由数据同步执行器基于所述信息执行数据同步(向目标数据库存储不同数据源的数据)。
数据同步执行器可以执行数据的读取、转换、存储到目标数据库。数据同步执行器可以采用多线程以并发方式执行处理。例如,数据同步执行器采用生产者-消费者模式。例如,它包括组件:数据生产者、数据共享内存、数据消费者。
图6示出了可以应用于本发明的实施例的生产者-消费者模式的例子的示意性框图。
如图6所示,根据上面所述的配置信息,数据生产者读取第一数据,例如,数据A表、数据B表、数据C表等。例如,数据生产者按照数据源信息读取相应的数据、表和字段等。数据生产者按照转换规则信息将第一数据转换成第二数据。
这里,数据生产者可以计算第二数据的哈希值。
例如,每5000条数据为一个批次,将数据存储在数据共享内存中。可以以所述哈希值为主键将第二数据存储在数据共享内存中,以防止重复。可选地,也可以先以对应的方式将所述哈希值和第二数据存储在数据共享内存中,并在向目标数据库存储第二数据时消除重复。
数据消费者(线程)从数据共享内存读取第二数据。例如,数据消费者可以读取第二数据和对应的哈希值。以所述哈希值作为主键,将第二数据存储到诸如Fooyum内存数据库的目标数据库,以防止数据重复。
例如,数据消费者以5000条数据为一个批次读取第二数据,并包含多个线程以将第二数据存储到Fooyum内存数据库,以供应用系统使用。
数据共享内存可以包含数据生产者的状态,例如,数据读取中、数据已读完、读入数据异常等。当所述状态为“数据已读完”和“读入数据异常”时,数据生产者(线程)将结束。如果数据共享内存中的数据被消费完,或者如果所述状态为“读入数据异常”,则数据消费者将结束。
在数据生产者和数据消费者结束后,可以将数据共享内存的运行状态、处理成功的数量、处理失败的数量、运行时间和处理时长等信息保存到数据库中。
可以定时自动根据所述配置信息执行数据同步任务。这样,可以定时从不同的关系型数据库读取不同的数据,并按指定的转换规则将数据同步到内存数据库中。应用系统可以快速地从内存数据库中读取相关数据。所述应用系统例如可以使用大数据推荐算法等。
例如,本发明的实施例可以应用于Hive数据仓库工具。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (14)

1.一种用于向目标数据库存储不同数据源的数据的方法,包括:
设置配置信息,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;
基于所述配置信息,将第一数据转换成第二数据;以及
向目标数据库存储所述第二数据。
2.根据权利要求1所述的方法,其中,所述不同数据源是不同数据库或数据库中的不同表。
3.根据权利要求1所述的方法,其中,所述目标数据库是内存数据库。
4.根据权利要求1所述的方法,其中,使用生产者-消费者模式向目标数据库存储所述第一数据,
其中,在生产者-消费者模式中,数据生产者模块基于所述配置信息将第一数据转换成适合目标数据库的第二数据以及将第二数据存储在数据共享内存中;以及数据消费者模块从数据共享内存读取第二数据并向目标数据库存储第二数据。
5.根据权利要求4所述的方法,其中,所述数据生产者模块还计算每条第二数据的哈希值,以及
其中,基于所述哈希值存储所述第二数据以避免所存储的第二数据的重复。
6.根据权利要求5所述的方法,其中,以对应的方式将所述哈希值与每条第二数据存储在数据共享内存中;以及
其中,所述数据消费者模块以哈希值作为每条第二数据的主键向目标数据库存储第二数据。
7.根据权利要求5所述的方法,其中,以所述哈希值作为每条第二数据的主键将所述第二数据存储在数据共享内存中。
8.根据权利要求7所述的方法,其中,所述数据消费者模块从数据共享内存读取第二数据及对应的哈希值并向目标数据库存储第二数据及对应的哈希值。
9.根据权利要求1所述的方法,其中,所述配置信息包括表示向目标数据库存储数据的任务信息、表示数据源的数据源信息、表示数据转换方式的转换规则信息和表示数据存储目标的目的地信息。
10.一种用于向目标数据库存储不同数据源的数据的设备,包括:
用于设置配置信息的装置,其中,所述配置信息表示来自每个数据源的第一数据在向目标数据库存储时的转换方式;
用于基于所述配置信息将第一数据转换成第二数据的装置;以及
用于向目标数据库存储所述第二数据的装置。
11.一种中间件设备,包括根据权利要求10所述的用于向目标数据库存储不同数据源的数据的设备,或者被设计成用于执行根据权利要求1-8中的任何一个所述的方法中的操作。
12.一种服务器,包括根据权利要求11所述的中间件设备。
13.根据权利要求12所述的服务器,还包括内存数据库,其中,所述中间件设备以所述内存数据库作为目标数据库并向所述内存数据库存储不同数据源的数据。
14.一种服务器,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令在所述服务器运行时控制所述处理器执行根据权利要求1-9中的任何一项所述的用于向目标数据库存储不同数据源的数据的方法。
CN201710173926.4A 2017-03-22 2017-03-22 向数据库存储数据的方法、设备、中间件设备和服务器 Pending CN107122401A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710173926.4A CN107122401A (zh) 2017-03-22 2017-03-22 向数据库存储数据的方法、设备、中间件设备和服务器
PCT/CN2017/120189 WO2018171289A1 (zh) 2017-03-22 2017-12-29 向数据库存储数据的方法、设备、中间件设备和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710173926.4A CN107122401A (zh) 2017-03-22 2017-03-22 向数据库存储数据的方法、设备、中间件设备和服务器

Publications (1)

Publication Number Publication Date
CN107122401A true CN107122401A (zh) 2017-09-01

Family

ID=59717416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710173926.4A Pending CN107122401A (zh) 2017-03-22 2017-03-22 向数据库存储数据的方法、设备、中间件设备和服务器

Country Status (2)

Country Link
CN (1) CN107122401A (zh)
WO (1) WO2018171289A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018171289A1 (zh) * 2017-03-22 2018-09-27 广州优视网络科技有限公司 向数据库存储数据的方法、设备、中间件设备和服务器
CN109564567A (zh) * 2018-10-17 2019-04-02 算丰科技(北京)有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN112328675A (zh) * 2020-11-25 2021-02-05 上海市计算技术研究所 异构数据转换方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060106856A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
CN102142027A (zh) * 2011-02-23 2011-08-03 南京智尚丰软件有限公司 数据整合的适配方法
CN102591725A (zh) * 2011-12-20 2012-07-18 浙江鸿程计算机系统有限公司 一种异构数据库之间多线程数据交换的方法
CN104462121A (zh) * 2013-09-18 2015-03-25 腾讯科技(深圳)有限公司 数据处理方法、装置及系统
US9158827B1 (en) * 2012-02-10 2015-10-13 Analytix Data Services, L.L.C. Enterprise grade metadata and data mapping management application
CN105824849A (zh) * 2015-01-08 2016-08-03 中国移动通信集团河南有限公司 一种数据导入方法及适配器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122401A (zh) * 2017-03-22 2017-09-01 广州优视网络科技有限公司 向数据库存储数据的方法、设备、中间件设备和服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060106856A1 (en) * 2004-11-04 2006-05-18 International Business Machines Corporation Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
CN102142027A (zh) * 2011-02-23 2011-08-03 南京智尚丰软件有限公司 数据整合的适配方法
CN102591725A (zh) * 2011-12-20 2012-07-18 浙江鸿程计算机系统有限公司 一种异构数据库之间多线程数据交换的方法
US9158827B1 (en) * 2012-02-10 2015-10-13 Analytix Data Services, L.L.C. Enterprise grade metadata and data mapping management application
CN104462121A (zh) * 2013-09-18 2015-03-25 腾讯科技(深圳)有限公司 数据处理方法、装置及系统
CN105824849A (zh) * 2015-01-08 2016-08-03 中国移动通信集团河南有限公司 一种数据导入方法及适配器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018171289A1 (zh) * 2017-03-22 2018-09-27 广州优视网络科技有限公司 向数据库存储数据的方法、设备、中间件设备和服务器
CN109564567A (zh) * 2018-10-17 2019-04-02 算丰科技(北京)有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
WO2020077563A1 (zh) * 2018-10-17 2020-04-23 北京比特大陆科技有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN112328675A (zh) * 2020-11-25 2021-02-05 上海市计算技术研究所 异构数据转换方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2018171289A1 (zh) 2018-09-27

Similar Documents

Publication Publication Date Title
US11501232B2 (en) System and method for intelligent sales engagement
CN104011723A (zh) 状态机晶格中的布尔逻辑
CN104298496B (zh) 数据分析型软件开发框架系统
CN104067282A (zh) 状态机晶格中的计数器操作
US20180276508A1 (en) Automated visual information context and meaning comprehension system
CN109918499A (zh) 一种文本分类方法、装置、计算机设备及存储介质
KR101773781B1 (ko) 웹 기반의 사용자 지향적 데이터 시각화 방법 및 장치
CN107122401A (zh) 向数据库存储数据的方法、设备、中间件设备和服务器
CN104881415B (zh) 树图生成的方法及设备
CN107423054A (zh) 基于fpga的自定义图形化算法组态装置、系统和方法
CN107748752A (zh) 一种数据处理方法及装置
Huang et al. An improved genetic algorithm for job-shop scheduling problem with process sequence flexibility
CN107168993A (zh) 处理响应数据的方法、设备、客户端设备和电子设备
US20170192957A1 (en) Methods and analytics systems having an ontology-guided graphical user interface for analytics models
CN105051718B (zh) 用于监视-挖掘-管理循环的方法和系统
Mourshed et al. Integrating building energy simulation in the design process
CN107924502A (zh) 多阶段高效能业务流程管理引擎
JP5429214B2 (ja) プログラム作成支援装置、プログラム作成支援方法およびコンピュータプログラム
CN110309047B (zh) 一种测试点生成方法、装置及系统
EP3926465A1 (en) Method and system for creating an app by merging source code
CN114968816A (zh) 基于数据模拟的策略测试方法、装置、设备及存储介质
US11853969B2 (en) Managing artifact information, especially comparing and merging artifact information, method and system
CN108153834A (zh) 一种商业智能应用查询数据的方法、装置及电子设备
CN117539948B (zh) 基于深度神经网络的业务数据检索方法及装置
CN110377915B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200526

Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627, room 146-150, first floor, No. 07, Whampoa Avenue, Tianhe District, Guangdong, Guangzhou

Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170901