CN106407307A - 一种分布式数据库节点数据交互方法及装置 - Google Patents
一种分布式数据库节点数据交互方法及装置 Download PDFInfo
- Publication number
- CN106407307A CN106407307A CN201610777565.XA CN201610777565A CN106407307A CN 106407307 A CN106407307 A CN 106407307A CN 201610777565 A CN201610777565 A CN 201610777565A CN 106407307 A CN106407307 A CN 106407307A
- Authority
- CN
- China
- Prior art keywords
- data
- caching
- conditioned
- buffer
- sending
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种分布式数据库节点数据交互方法及装置,其中,所述发送方法包括:发送端将欲发送的数据存储在缓存中;检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。本发明实施例通过将发送或者接收的数据预先存储在缓存中,在满足条件时,才执行对应的发送或者写入操作,可以控制发送或者接收数据的规模,避免大量I/O操作产生的大量碎片。
Description
技术领域
本发明属于分布式数据库领域,尤其是涉及一种分布式数据库节点数据交互方法。
背景技术
随着信息化技术的快速发展,大型数据库***需要处理和存储的数据量越来越大,计算越来越复杂,对于性能的挑战也越来越大,性能,可靠性,可扩展性的需求就会越来越强烈,这个时候一个集中式的数据库显然已经满足不了需求了。为了适应应用业务的发展需要,分布式数据库将数据分布在计算机网络的不同节点上,而这些数据在逻辑上属于同一个***。
分布式数据库的最大特点就是数据被拆分成多份,分布在不同的计算节点上,这样会提高整个集群的计算并行度。但随之而来的问题是数据不可能一直孤立存在于固定节点,节点间必然有数据传送。
同时考虑到I/O的连续性、以及高效的数据压缩等问题,数据通常会分块存储。这样数据传输数量的不确定性与分块存储形成了差异,很可能造成碎块过多从而降低I/O效率。同时如果数据块太小、规律性减弱,也会增加压缩难度,增加存储或计算成本。
发明内容
本发明提供了一种分布式数据库节点数据交互方法及装置,以解决分布式数据库数据传输引起碎块过多的问题。
第一方面,本发明实施例提供了一种分布式数据库节点数据发送方法,包括:
发送端将欲发送的数据存储在缓存中;
检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
进一步的,所述预设条件包括:缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
第二方面,本发明实施例提供了一种分布式数据库节点数据接收方法,包括:
接收端将接收到的数据存储缓存;
检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
进一步的,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
第三方面,本发明实施例还提供了一种分布式数据库节点数据发送装置,包括:
存储模块,用于将欲发送的数据存储在缓存中;
发送模块,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
进一步的,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
第四方面,本发明实施例还提供了一种分布式数据库节点数据接收装置,包括:
存入模块,用于将接收到的数据存入缓存;
保存模块,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
进一步的,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
本发明实施例通过将发送或者接收的数据预先存储在缓存中,在满足条件时,才执行对应的发送或者写入操作,可以控制发送或者接收数据的规模,避免大量I/O操作产生的大量碎片。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的分布式数据库节点数据发送方法的流程示意图;
图2是本发明实施例二提供的分布式数据库节点数据接收方法的流程示意图;
图3是本发明实施例三提供的分布式数据库节点数据发送装置的结构示意图;
图4是本发明实施例四提供的分布式数据库节点数据接收装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的分布式数据库节点数据发送方法的流程图,本实施例可适用于分布式数据库节点数据发送的情况,该方法可以由适用于分布式数据库节点数据发送装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库***的节点中。
参见图1,所述分布式数据库节点数据发送方法,包括:
S110,发送端将欲发送的数据存储在缓存中。
在分布式数据库中,由于需要,不同的节点之间往往需要传输数据。通常发送节点根据发送指令选取数据直接发送给接收节点。由于每次发送的数据大小不同,具有不确定性。而发送节点并不考虑这些特性,只是根据指令发送数据。容易产生碎片。在本实施例中,发送节点在接收到发送指令后,并不立即发送数据,而是将欲发送的数据存储在该节点的缓存中。
S120,检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
发送节点对缓存的数据进行检测,判断缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。示例性的,所述预设条件包括:
1.数据积攒到指定大小,称为饱和;
2.缓存数据超出时间限制;
3.所有数据处理结束,后续不会有数据产生。
其中第1项可以使数据达到目标端存储需求,便于其直接形成可实际存储的数据块;第2项是为了防止源数据产生较慢时,缓存数据时间过长受硬件等异常影响造成数据丢失。
其次,有时源端数据无法满足目标端最小存储的要求,而又不能不发送,例如前面提到的2和3两种情况。
本发明实施例通过将发送的数据预先存储在缓存中,在满足条件时,才执行对应的发送操作,可以控制发送数据的规模,避免大量I/O操作产生的大量碎片。
实施例二
图2为本发明实施例二提供的分布式数据库节点数据接收方法的流程图,本实施例可适用于分分布式数据库节点数据接收的情况,该方法可以由适用于分布式数据库节点数据接收装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库***的节点中。
参见图2,所述分布式数据库节点数据接收方法,包括:
S210,接收端将接收到的数据存入缓存。
在分布式数据库中,由于需要,不同的节点之间往往需要传输数据。通常接收节点在接收到数据时直接将数据写入。由于每次接收的数据大小不同,具有不确定性。而接收节点并不考虑这些特性,容易产生碎片。在本实施例中,接收节点在接收到数据后,并不立即存储数据,而是将接收到的数据存储在该节点的缓存中。
S220,检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
接收节点对缓存的数据进行检测,判断缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。示例性的,所述预设条件包括:
1.目标端接收到足够的数据;
2.目标端缓存数据时间超出限制;
3.所有源端数据发送结束。
其中第1项可以使数据达到目标端存储需求,便于其直接形成可实际存储的数据块;第2项是为了防止源数据产生较慢时,缓存数据时间过长受硬件等异常影响造成数据丢失。其次,有时缓存数据无法满足最小存储的要求,而又不能存储。
本发明实施例通过将接收的数据预先存储在缓存中,在满足条件时,才执行对应的写入操作,可以控制接收数据的规模,避免大量I/O操作产生的大量碎片。
实施例三
图3是本发明实施例三提供的分布式数据库节点数据发送装置的结构示意图,如图3所示,所述装置包括:
存储模块310,用于将欲发送的数据存储在缓存中;
发送模块320,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
本发明实施例通过将发送的数据预先存储在缓存中,在满足条件时,才执行对应的发送操作,可以控制发送数据的规模,避免大量I/O操作产生的大量碎片。
进一步的,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
实施例四
图4是本发明实施例四提供的分布式数据库节点数据接收装置的结构示意图,如图4所示,所述装置包括:
存入模块410,用于将接收到的数据存入缓存;
保存模块420,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
本发明实施例通过将接收的数据预先存储在缓存中,在满足条件时,才执行对应的写入操作,可以控制接收数据的规模,避免大量I/O操作产生的大量碎片。
所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种分布式数据库节点数据发送方法,其特征在于,包括:
发送端将欲发送的数据存储在缓存中;
检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
2.根据权利要求1所述的发送方法,其特征在于:所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
3.一种分布式数据库节点数据接收方法,其特征在于,包括:
接收端将接收到的数据存入缓存;
检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
4.根据权利要求3所述的方法,其特征在于,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
5.一种分布式数据库节点数据发送装置,其特征在于,包括:
存储模块,用于将欲发送的数据存储在缓存中;
发送模块,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,向接收端发送缓存的数据。
6.根据权利要求1所述的发送装置,其特征在于:所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
7.一种分布式数据库节点数据接收装置,其特征在于,包括:
存入模块,用于将接收到的数据存入缓存;
保存模块,用于检测所述缓存的数据是否满足预设条件,在满足预设条件时,保存所述缓存的数据。
8.根据权利要求7所述的装置,其特征在于,所述预设条件包括:
缓存的数据积达到预设阈值、数据缓存时长超出预设时长限制和\或欲发送的数据已经存储在缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777565.XA CN106407307A (zh) | 2016-08-31 | 2016-08-31 | 一种分布式数据库节点数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777565.XA CN106407307A (zh) | 2016-08-31 | 2016-08-31 | 一种分布式数据库节点数据交互方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106407307A true CN106407307A (zh) | 2017-02-15 |
Family
ID=58003199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610777565.XA Pending CN106407307A (zh) | 2016-08-31 | 2016-08-31 | 一种分布式数据库节点数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407307A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769245A (zh) * | 2018-06-14 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种iscsi服务器性能监控方法及*** |
CN107707619B (zh) * | 2017-08-28 | 2020-12-04 | 北京小米移动软件有限公司 | 分布式存储方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645994A (zh) * | 2013-11-05 | 2014-03-19 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN104407944A (zh) * | 2014-12-24 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种容灾备份方法和*** |
CN105446893A (zh) * | 2014-07-14 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 数据存储方法及设备 |
CN105549911A (zh) * | 2015-12-14 | 2016-05-04 | 曙光信息产业股份有限公司 | Nvram的数据传输方法和装置 |
CN105657017A (zh) * | 2016-01-04 | 2016-06-08 | 北京百度网讯科技有限公司 | 数据传输方法、装置和*** |
-
2016
- 2016-08-31 CN CN201610777565.XA patent/CN106407307A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645994A (zh) * | 2013-11-05 | 2014-03-19 | 华为技术有限公司 | 一种数据处理方法及设备 |
CN105446893A (zh) * | 2014-07-14 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 数据存储方法及设备 |
CN104407944A (zh) * | 2014-12-24 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种容灾备份方法和*** |
CN105549911A (zh) * | 2015-12-14 | 2016-05-04 | 曙光信息产业股份有限公司 | Nvram的数据传输方法和装置 |
CN105657017A (zh) * | 2016-01-04 | 2016-06-08 | 北京百度网讯科技有限公司 | 数据传输方法、装置和*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707619B (zh) * | 2017-08-28 | 2020-12-04 | 北京小米移动软件有限公司 | 分布式存储方法及装置 |
CN108769245A (zh) * | 2018-06-14 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种iscsi服务器性能监控方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106911780A (zh) | 业务id生成方法、装置及*** | |
US10116746B2 (en) | Data storage method and network interface card | |
CN105468302B (zh) | 一种处理数据的方法、装置及*** | |
CN104572974A (zh) | 业务请求处理方法和装置 | |
CN104102693A (zh) | 对象处理方法和装置 | |
CN104092717A (zh) | 消息处理方法及***、消息目的端设备与分布式消息*** | |
CN103685060B (zh) | 数据包发送方法及装置 | |
CN103491152A (zh) | 分布式文件***中元数据获取方法、装置及*** | |
CN107147590A (zh) | 一种基于rdma协议消息通信的方法及*** | |
CN106161256A (zh) | 一种边界网关协议bgp路由的处理方法及装置 | |
CN102957594A (zh) | 基于消息队列的消息处理方法、相关设备及*** | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及*** | |
CN108429783A (zh) | 电子装置、配置文件推送方法及存储介质 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN102567278A (zh) | 一种片上多核数据传输方法和装置 | |
CN112131155A (zh) | 一种高扩展性的基于fpga的pcie事务层传输方法 | |
CN106407307A (zh) | 一种分布式数据库节点数据交互方法及装置 | |
CN113157465A (zh) | 基于指针链表的消息发送方法及装置 | |
CN102650932A (zh) | 数据的访问方法、设备和*** | |
CN108287793A (zh) | 响应消息的缓冲方法及服务器 | |
CN104375967B (zh) | 一种应用于pci‑e的流量控制方法、设备及*** | |
CN105450679A (zh) | 进行数据云存储的方法及*** | |
CN103442091A (zh) | 一种数据传输方法及装置 | |
CN106506640A (zh) | 一种snmp请求的处理方法及装置 | |
CN102571609A (zh) | 快速串行接口pci-e协议数据完成包的重组排序方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170215 |
|
RJ01 | Rejection of invention patent application after publication |