CN107918671A - 全局序列号应用于分布式数据库中间件的方法 - Google Patents
全局序列号应用于分布式数据库中间件的方法 Download PDFInfo
- Publication number
- CN107918671A CN107918671A CN201711227459.5A CN201711227459A CN107918671A CN 107918671 A CN107918671 A CN 107918671A CN 201711227459 A CN201711227459 A CN 201711227459A CN 107918671 A CN107918671 A CN 107918671A
- Authority
- CN
- China
- Prior art keywords
- global
- seq
- data base
- distributed data
- middleware
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种全局序列号应用于分布式数据库中间件的方法,属于分布式数据库领域,本发明包括1)本地文件配置方式和2)数据库配置方式;全局序列号应用于分布式数据库中间件来解决分布式系统中的表主键的全局唯一性的解决方案,基于分布式数据库中间件,在其实现层通过本地文件配置和数据库配置的方式,实现其全局序列号。
Description
技术领域
本发明涉及分布式数据库技术,尤其涉及一种全局序列号应用于分布式数据库中间件的方法。
背景技术
分布式数据库中间件的基本思想是通过分布式数据库中间件将集中模式数据库中的数据进行切分存储到多个数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库中间件也得到了快速的发展并广泛应用于多个行业。通过Distributed MiddleWare切分数据后,原有的关系数据库中的主键约束在分布式数据库系统下将无法使用,因此需要在Distributed MiddleWare中引入一种机制来保证全局数据的唯一性标识,通过全局序列号(SEQ_GLOBAL)机制来保证分布式数据库的全局性的数据唯一标识。
发明内容
基于上述技术问题,本发明提出了全局序列号应用于分布式数据库中间件来解决分布式系统中的表主键的全局唯一性的解决方案,基于分布式数据库中间件,在其实现层通过本地文件配置和数据库配置的方式,实现其全局序列号。
本发明是在分布式数据库中间件中实现分布式数据库系统的全局序列号,来保证表主键的全局唯一性,避免通过分布式中间件存储的数据同一张出现表主键不唯一的问题,进而丰富了分布式数据库中间件的性能。
本技术为分布式数据库中间件的应用技术的完善,在分布式数据库中间件中实现全局序列号,保证了分布式数据库数据的全局唯一性,为数据库表主键唯一性提供一种可行性方案。其实现方式包括本地文件配置方式和数据库配置方式。
其中,本地文件配置方式
在分布式数据库中间件中将SEQ_GLOBAL配置到本地文件中,当使用到SEQ_GLOBAL中的配置文件后,分布式数据库中间件会读取该配置文件中SEQ_GLOBAL当前值;
在本地配置文件中做如下配置:
GLOBAL_SEQ.HISTORY_ID=
GLOBAL_SEQ.MIN_ID=XXXXX
GLOBAL_SEQ.MAX_ID=XXXXXXXXXX
GLOBAL_SEQ.CURRENT_ID=XXXXX
其中:HISTORY_ID表示使用过的历史全局序列号Id值,该值不做设置;MIN_ID表示最小的全局序列号Id值;MAX_ID表示最大Id值;CURRENT_ID表示当前全局序列号Id值。
数据库配置方式
在数据库中建立一张表,存放GLOBAL_SEQ的名称、当前值、步长信息;当使用该GLOBAL_SEQ时,根据传入的GLOBAL_SEQ名称,从数据库中读取GLOBAL_SEQ表中的当前值和步长,同时将数据库中当前值设置为原来当前值+步长;Distributed MiddleWare读取更新后的当前值,作为本次要使用的GLOBAL_SEQ值,重复执行上述操作。
实现过程:创建GLOBAL_SEQ表,用于存放创全局序列号信息;创建一个function,用于获取当前GLOBAL_SEQ的值;配置数据源标注该表所在的数据库。
本发明的有益效果是
在分布式数据库中间件中通过实现全局序列号,保证了在分布式数据库中数据的全局唯一性,从而丰富分布式数据库中间件功能,有利于分布式中间的广泛应用。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本技术为分布式数据库中间件的应用技术的完善,在分布式数据库中间件中实现全局序列号,保证了分布式数据库数据的全局唯一性,为数据库表主键唯一性提供一种可行性方案。其实现方式包括本地文件配置方式和数据库配置方式。
1本地文件配置方式
原理:在分布式数据库中间件中将SEQ_GLOBAL配置到本地文件中,当使用到SEQ_GLOBAL中的配置文件后,分布式数据库中间件会读取该配置文件中SEQ_GLOBAL当前值。
配置方式:在本地配置文件中做如下配置:
GLOBAL_SEQ.HISTORY_ID=
GLOBAL_SEQ.MIN_ID=XXXXX
GLOBAL_SEQ.MAX_ID=XXXXXXXXXX
GLOBAL_SEQ.CURRENT_ID=XXXXX
其中:HISTORY_ID表示使用过的历史全局序列号Id值,该值一般不做设置;MIN_ID表示最小的全局序列号Id值;MAX_ID表示最大Id值;CURRENT_ID表示当前全局序列号Id值。
2 数据库配置方式
原理:在数据库中建立一张表,存放GLOBAL_SEQ的名称(name),当前值(current_value),步长(incrementint)等信息。当使用该GLOBAL_SEQ时,根据传入的GLOBAL_SEQ名称,从数据库中读取GLOBAL_SEQ表中的current_value和increment,同时将数据库中current_value设置为原来current_value+increment。Distributed MiddleWare读取更新后的 current_value,作为本次要使用的GLOBAL_SEQ值,重复执行上述操作。
实现过程:创建GLOBAL_SEQ表,用于存放创全局序列号信息;创建一个function,用于获取当前GLOBAL_SEQ的值;配置数据源标注该表所在的数据库。
本发明通过在分布式数据库中间件的实现层增加全局序列号实现分布式数据库数据的全局唯一性,很好的解决分布式数据库表主键的唯一性。
Claims (3)
1.全局序列号应用于分布式数据库中间件的方法,其特征在于,
包括1)本地文件配置方式和2)数据库配置方式;
其中,1)本地文件配置方式
在分布式数据库中间件中将SEQ_GLOBAL配置到本地文件中,当使用到SEQ_GLOBAL中的配置文件后,分布式数据库中间件会读取该配置文件中SEQ_GLOBAL当前值;
2)数据库配置方式
在数据库中建立一张表,存放GLOBAL_SEQ的名称、当前值、步长信息;当使用该GLOBAL_SEQ时,根据传入的GLOBAL_SEQ名称,从数据库中读取GLOBAL_SEQ表中的当前值和步长,同时将数据库中当前值设置为原来当前值+步长;Distributed MiddleWare读取更新后的当前值,作为本次要使用的GLOBAL_SEQ值,重复执行上述操作。
2.根据权利要求1所述的方法,其特征在于,
在本地配置文件中做如下配置:
GLOBAL_SEQ.HISTORY_ID=
GLOBAL_SEQ.MIN_ID=XXXXX
GLOBAL_SEQ.MAX_ID=XXXXXXXXXX
GLOBAL_SEQ.CURRENT_ID=XXXXX
其中:HISTORY_ID表示使用过的历史全局序列号Id值,该值不做设置;MIN_ID表示最小的全局序列号Id值;MAX_ID表示最大Id值;CURRENT_ID表示当前全局序列号Id值。
3.根据权利要求1所述的方法,其特征在于,
数据库配置方式的实现过程:创建GLOBAL_SEQ表,用于存放创全局序列号信息;创建一个function,用于获取当前GLOBAL_SEQ的值;配置数据源标注该表所在的数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711227459.5A CN107918671A (zh) | 2017-11-29 | 2017-11-29 | 全局序列号应用于分布式数据库中间件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711227459.5A CN107918671A (zh) | 2017-11-29 | 2017-11-29 | 全局序列号应用于分布式数据库中间件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107918671A true CN107918671A (zh) | 2018-04-17 |
Family
ID=61898098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711227459.5A Pending CN107918671A (zh) | 2017-11-29 | 2017-11-29 | 全局序列号应用于分布式数据库中间件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107918671A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026355A (zh) * | 2010-03-18 | 2013-04-03 | 诺宝公司 | 数据库管理系统 |
US20150180984A1 (en) * | 2013-12-24 | 2015-06-25 | Dropbox, Inc. | Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections |
US20150339328A1 (en) * | 2010-06-26 | 2015-11-26 | Asibo Inc. | Global Information Management System and Method |
CN105426487A (zh) * | 2015-11-20 | 2016-03-23 | 北京京东尚科信息技术有限公司 | 分布式数据库访问控制方法和设备、分布式数据库系统及其扩容方法 |
CN106572165A (zh) * | 2016-10-26 | 2017-04-19 | 宜人恒业科技发展(北京)有限公司 | 一种分布式全局唯一id应用方法 |
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
-
2017
- 2017-11-29 CN CN201711227459.5A patent/CN107918671A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026355A (zh) * | 2010-03-18 | 2013-04-03 | 诺宝公司 | 数据库管理系统 |
US20150339328A1 (en) * | 2010-06-26 | 2015-11-26 | Asibo Inc. | Global Information Management System and Method |
US20150180984A1 (en) * | 2013-12-24 | 2015-06-25 | Dropbox, Inc. | Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections |
CN105426487A (zh) * | 2015-11-20 | 2016-03-23 | 北京京东尚科信息技术有限公司 | 分布式数据库访问控制方法和设备、分布式数据库系统及其扩容方法 |
CN106572165A (zh) * | 2016-10-26 | 2017-04-19 | 宜人恒业科技发展(北京)有限公司 | 一种分布式全局唯一id应用方法 |
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111625543B (zh) * | 2020-05-27 | 2023-08-25 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2560327B1 (en) | Routing table establishment method and device | |
DE50004826D1 (de) | Integriertes Datenbank-Verbund-System | |
JP2006120056A5 (zh) | ||
CN102419752B (zh) | 一种工业数据库报文存储方法 | |
CN106777387B (zh) | 一种基于HBase的物联网大数据存取方法 | |
RU2010119961A (ru) | Расширяемая файловая система | |
CN107918671A (zh) | 全局序列号应用于分布式数据库中间件的方法 | |
CN102915382A (zh) | 一种基于索引的数据库的数据查询方法和装置 | |
US11586605B2 (en) | Processing method for changing time-series database table structure | |
CN104268298A (zh) | 一种创建数据库索引及其查询的方法 | |
CN109213820A (zh) | 一种实现多种类型的数据库融合使用的方法 | |
CN106484785A (zh) | 一种高效的自动匹配数据字段映射的方法 | |
CN102479189A (zh) | 一种内存中海量时间戳型数据高速均匀访问的索引方法 | |
CN101706800A (zh) | 一种关联单据的查找方法及系统 | |
CN106815258A (zh) | 一种数据存储方法和协调节点 | |
CN104008199A (zh) | 一种数据查询方法 | |
CN106326040A (zh) | 一种快照元数据管理方法和装置 | |
CN103905201B (zh) | 主应用与多个从属应用的交互方法及装置 | |
CN110597805A (zh) | 一种高效的新型内存索引结构处理方法 | |
CN100488173C (zh) | 对流分类算法进行自动选择的方法 | |
EP3282372A1 (en) | Method and apparatus for storing data | |
CN104572730B (zh) | 数字资源导入、导出方法及装置 | |
CN105426417A (zh) | 一种快速查找智能手机中地理位置信息的方法 | |
CN107239568A (zh) | 分布式索引实现方法及装置 | |
CN111966685B (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 |
Effective date of registration: 20200519 Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Tidal Cloud Information Technology Co.,Ltd. Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180417 |
|
RJ01 | Rejection of invention patent application after publication |