CN107451254A - 一种生成数据库表数据唯一标识的方法 - Google Patents

一种生成数据库表数据唯一标识的方法 Download PDF

Info

Publication number
CN107451254A
CN107451254A CN201710637885.XA CN201710637885A CN107451254A CN 107451254 A CN107451254 A CN 107451254A CN 201710637885 A CN201710637885 A CN 201710637885A CN 107451254 A CN107451254 A CN 107451254A
Authority
CN
China
Prior art keywords
information
makers
service
database table
port
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.)
Granted
Application number
CN201710637885.XA
Other languages
English (en)
Other versions
CN107451254B (zh
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.)
Guangzhou City Anteater Network Technology Co Ltd
Original Assignee
Guangzhou City Anteater 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 City Anteater Network Technology Co Ltd filed Critical Guangzhou City Anteater Network Technology Co Ltd
Priority to CN201710637885.XA priority Critical patent/CN107451254B/zh
Publication of CN107451254A publication Critical patent/CN107451254A/zh
Application granted granted Critical
Publication of CN107451254B publication Critical patent/CN107451254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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

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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种生成数据库表数据唯一标识的方法,涉及互联网应用技术领域,包括管理中心、ID生成器和客户端,所述管理中心设有分布式服务注册组件,按照如下步骤实现:(1)启动管理中心,(2)搭建分布式的ID生成器,(3)从客户端调用并获取ID;该生成数据库表数据唯一标识的方法有效降低对CPU计算资源的利用,生成的ID在保证数值型、唯一性和有序性的同时,更提供了较高的并发性能和吞吐量,有效降低针对数据库资源的访问压力。

Description

一种生成数据库表数据唯一标识的方法
技术领域
本发明涉及互联网应用技术领域,特别涉及一种生成数据库表数据唯一标识的方法。
背景技术
一般来说,针对数据库表对象设置唯一ID,所采用的的方案均是在数据库端解决,常用的方法要么是通过GUID生成唯一字符串(含字母数字以及特殊符号),要么是通过内置支持的自增函数生成,通过数据库端生成ID,在数据存储规模和访问并发量越来越大的时候,无法保证有效的响应速度。
发明内容
本发明提供一种生成数据库表数据唯一标识的方法:一种生成数据库表数据唯一标识的方法,包括管理中心、ID生成器和客户端,所述管理中心设有分布式服务注册组件,按照如下步骤实现:
(1)启动管理中心:
1)编辑节点信息:通过增减ID生成器的节点来提供横向扩容或缩容的能力;
2)输入数据表名:以数据库表名作为唯一标识符Key,根据当前活跃的生成器节点数,通过Hash算法来自动分配对应的节点,并将Key与节点信息存储至分布式服务注册组件中;
3)更新节点信息:ID生成器与服务注册组件建立长连接后,如ID生成器的服务状态出现错误或异常,会将自身的服务状态信息同步到注册组件;
(2)搭建分布式的ID生成器,具体实现步骤如下:
1)修改配置文件:在服务进程启动之前,需配置好生成器的主要参数如端口、服务注册组件IP、生成ID的接口元数据信息和节点主从信息;
2)启动服务进程,按照如下步骤实现:
第1步,读取配置文件,获取服务注册组件IP和端口,建立连接并读取所负责的数据库表和初始值,保存在本地缓存中;
第2步,启动端口监听,读取配置文件中的端口信息并启动Socket监听;
第3步,在启动完成后将端口、运行状态信息同步至服务注册组件;
第4步,执行ID数据同步机制,每生成1个ID,执行异步方法将最新生成ID通过本地队列同步至服务注册组件;
3)执行异常处理机制:如果当前的服务出现任何异常或错误信息,将运行状态设置为不可用,将状态信息同步至服务注册组件,并将当前的从节点自动切换为主节点,当前主节点设置不可用的从节点,并发送异常信息到运维人员,通知其快速修复,故障修复完成并能够正常工作后,将从节点设置为可用状态;
(3)从客户端调用并获取ID,具体实现步骤如下:
1)修改配置文件:主要设置服务注册组件的IP及端口和生成ID的接口元数据信息;
2)初始化客户端:从配置文件读取服务注册组件的IP及端口信息后,建立连接并读取表名与ID生成服务器的映射信息到本地缓存;
3)获取ID值:指定某数据库表名参数,通过表名从本地缓存中获取ID生成服务器的信息,按照指定的IP和端口信息建立连接,通过生成ID的元数据信息所包含的方法生成并获取ID。
优选的,所述管理中心的主要职责是通过使用分布式服务注册组件,管理ID生成器的节点信息,以及数据库表与ID生成器的映射关系,所述管理中心提供可视化或接口访问的操作。
优选的,所述ID生成器的主要职责是在分布式的环境下生成唯一的ID。
采用以上技术方案的有益效果是:本发明结构是一种生成数据库表数据唯一标识的方法,将生成数据库表数据唯一标识ID的职责放在应用层而非数据库端,使数据库回归到数据存储的主要职责上,有效降低对CPU计算资源的利用,ID生成器具备数值型、唯一性和有序性的同时,更提供了较高的并发性能和吞吐量,有效降低针对数据库资源的访问压力,在分布式数据库及集群上提供了良好的支持,整体上,在互联网应用技术架构的构建中,具备较高的参考和应用价值。
附图说明
图1是一种生成数据库表数据唯一标识的方法的原理框图。
具体实施方式
下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,目的是帮助本领域的技术人员对本发明的构思、技术方案有更完整、准确和深入的理解,并有助于其实施。
图1出示本发明的具体实施方式:一种生成数据库表数据唯一标识的方法,包括管理中心、ID生成器和客户端,所述管理中心设有分布式服务注册组件,按照如下步骤实现:
(1)启动管理中心:
1)编辑节点信息:通过增减ID生成器的节点来提供横向扩容或缩容的能力;
2)输入数据表名:以数据库表名作为唯一标识符Key,根据当前活跃的生成器节点数,通过Hash算法来自动分配对应的节点,并将Key与节点信息存储至分布式服务注册组件中;
3)更新节点信息:ID生成器与服务注册组件建立长连接后,如ID生成器的服务状态出现错误或异常,会将自身的服务状态信息同步到注册组件;
(2)搭建分布式的ID生成器,具体实现步骤如下:
1)修改配置文件:在服务进程启动之前,需配置好生成器的主要参数如端口、服务注册组件IP、生成ID的接口元数据信息和节点主从信息;
2)启动服务进程,按照如下步骤实现:
第1步,读取配置文件,获取服务注册组件IP和端口,建立连接并读取所负责的数据库表和初始值,保存在本地缓存中;
第2步,启动端口监听,读取配置文件中的端口信息并启动Socket监听;
第3步,在启动完成后将端口、运行状态信息同步至服务注册组件;
第4步,执行ID数据同步机制,每生成1个ID,执行异步方法将最新生成ID通过本地队列同步至服务注册组件;
3)执行异常处理机制:如果当前的服务出现任何异常或错误信息,将运行状态设置为不可用,将状态信息同步至服务注册组件,并将当前的从节点自动切换为主节点,当前主节点设置不可用的从节点,并发送异常信息到运维人员,通知其快速修复,故障修复完成并能够正常工作后,将从节点设置为可用状态;
(3)从客户端调用并获取ID,具体实现步骤如下:
1)修改配置文件:主要设置服务注册组件的IP及端口和生成ID的接口元数据信息;
2)初始化客户端:从配置文件读取服务注册组件的IP及端口信息后,建立连接并读取表名与ID生成服务器的映射信息到本地缓存;
3)获取ID值:指定某数据库表名参数,通过表名从本地缓存中获取ID生成服务器的信息,按照指定的IP和端口信息建立连接,通过生成ID的元数据信息所包含的方法生成并获取ID。
本实施例中,所述管理中心的主要职责是通过使用分布式服务注册组件,管理ID生成器的节点信息,以及数据库表与ID生成器的映射关系,所述管理中心提供可视化或接口访问的操作。
本实施例中,所述ID生成器的主要职责是在分布式的环境下生成唯一的ID。
基于上述,本发明结构是一种生成数据库表数据唯一标识的方法,将生成数据库表数据唯一标识ID的职责放在应用层而非数据库端,使数据库回归到数据存储的主要职责上,有效降低对CPU计算资源的利用,ID生成器具备数值型、唯一性和有序性的同时,更提供了较高的并发性能和吞吐量,有效降低针对数据库资源的访问压力,在分布式数据库及集群上提供了良好的支持,整体上,在互联网应用技术架构的构建中,具备较高的参考和应用价值。
以上结合附图对本发明进行了示例性描述,显然,本发明具体实现并不受上述方式的限制,只要是采用了本发明的方法构思和技术方案进行的各种非实质性的改进;或未经改进,将本发明的上述构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

Claims (3)

1.一种生成数据库表数据唯一标识的方法,包括管理中心、ID生成器和客户端,所述管理中心设有分布式服务注册组件,按照如下步骤实现:
(1)启动管理中心:
1)编辑节点信息:通过增减ID生成器的节点来提供横向扩容或缩容的能力;
2)输入数据表名:以数据库表名作为唯一标识符Key,根据当前活跃的生成器节点数,通过Hash算法来自动分配对应的节点,并将Key与节点信息存储至分布式服务注册组件中;
3)更新节点信息:ID生成器与服务注册组件建立长连接后,如ID生成器的服务状态出现错误或异常,会将自身的服务状态信息同步到注册组件;
(2)搭建分布式的ID生成器,具体实现步骤如下:
1)修改配置文件:在服务进程启动之前,需配置好生成器的主要参数如端口、服务注册组件IP、生成ID的接口元数据信息和节点主从信息;
2)启动服务进程,按照如下步骤实现:
第1步,读取配置文件,获取服务注册组件IP和端口,建立连接并读取所负责的数据库表和初始值,保存在本地缓存中;
第2步,启动端口监听,读取配置文件中的端口信息并启动Socket监听;
第3步,在启动完成后将端口、运行状态信息同步至服务注册组件;
第4步,执行ID数据同步机制,每生成1个ID,执行异步方法将最新生成ID通过本地队列同步至服务注册组件;
3)执行异常处理机制:如果当前的服务出现任何异常或错误信息,将运行状态设置为不可用,将状态信息同步至服务注册组件,并将当前的从节点自动切换为主节点,当前主节点设置不可用的从节点,并发送异常信息到运维人员,通知其快速修复,故障修复完成并能够正常工作后,将从节点设置为可用状态;
(3)从客户端调用并获取ID,具体实现步骤如下:
1)修改配置文件:主要设置服务注册组件的IP及端口和生成ID的接口元数据信息;
2)初始化客户端:从配置文件读取服务注册组件的IP及端口信息后,建立连接并读取表名与ID生成服务器的映射信息到本地缓存;
3)获取ID值:指定某数据库表名参数,通过表名从本地缓存中获取ID生成服务器的信息,按照指定的IP和端口信息建立连接,通过生成ID的元数据信息所包含的方法生成并获取ID。
2.根据权利要求1所述的一种生成数据库表数据唯一标识的方法,其特征在于:所述管理中心的主要职责是通过使用分布式服务注册组件,管理ID生成器的节点信息,以及数据库表与ID生成器的映射关系,所述管理中心提供可视化或接口访问的操作。
3.根据权利要求1所述的一种生成数据库表数据唯一标识的方法,其特征在于:所述ID生成器的主要职责是在分布式的环境下生成唯一的ID。
CN201710637885.XA 2017-07-31 2017-07-31 一种生成数据库表数据唯一标识的方法 Active CN107451254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710637885.XA CN107451254B (zh) 2017-07-31 2017-07-31 一种生成数据库表数据唯一标识的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710637885.XA CN107451254B (zh) 2017-07-31 2017-07-31 一种生成数据库表数据唯一标识的方法

Publications (2)

Publication Number Publication Date
CN107451254A true CN107451254A (zh) 2017-12-08
CN107451254B CN107451254B (zh) 2020-08-07

Family

ID=60490561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710637885.XA Active CN107451254B (zh) 2017-07-31 2017-07-31 一种生成数据库表数据唯一标识的方法

Country Status (1)

Country Link
CN (1) CN107451254B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196860A (zh) * 2018-04-12 2019-09-03 腾讯科技(深圳)有限公司 唯一标识分配方法及装置、电子设备、存储介质
CN110688671A (zh) * 2019-09-16 2020-01-14 武汉安诠加信息技术有限公司 适用于美容院的医疗数据管理方法、装置、设备及介质
CN116610676A (zh) * 2023-05-25 2023-08-18 中电金信软件(上海)有限公司 一种分布式系统中标识的生成方法、装置、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206913A (ja) * 2006-02-01 2007-08-16 Nec Corp データベースアクセスシステム、アプリケーションサーバノード、データベースアクセス方法及びプログラム
CN101984632A (zh) * 2010-11-15 2011-03-09 中兴通讯股份有限公司 一种分布式缓存系统中负荷分配方法、装置及服务器
CN102185900B (zh) * 2011-04-18 2013-07-17 北京新媒传信科技有限公司 一种应用服务平台系统和一种开发应用服务的方法
CN103136370B (zh) * 2013-03-21 2016-05-25 曙光信息产业(北京)有限公司 元数据的恢复方法和装置
CN106254540B (zh) * 2016-09-26 2019-11-15 国云科技股份有限公司 一种适用于分布式系统的节点服务监控系统及实现方法
CN106506703B (zh) * 2016-12-28 2018-06-08 掌阅科技股份有限公司 基于共享内存的服务发现方法、装置及系统、服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196860A (zh) * 2018-04-12 2019-09-03 腾讯科技(深圳)有限公司 唯一标识分配方法及装置、电子设备、存储介质
CN110196860B (zh) * 2018-04-12 2024-03-05 腾讯科技(深圳)有限公司 唯一标识分配方法及装置、电子设备、存储介质
CN110688671A (zh) * 2019-09-16 2020-01-14 武汉安诠加信息技术有限公司 适用于美容院的医疗数据管理方法、装置、设备及介质
CN116610676A (zh) * 2023-05-25 2023-08-18 中电金信软件(上海)有限公司 一种分布式系统中标识的生成方法、装置、设备及介质
CN116610676B (zh) * 2023-05-25 2024-07-30 中电金信软件(上海)有限公司 一种分布式系统中标识的生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN107451254B (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN106534328B (zh) 节点连接方法及分布式计算系统
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
CN104486445B (zh) 一种基于云平台的分布式可扩展资源监控系统
TWI568231B (zh) 自動產生伺服器網路拓撲的方法與系統
CN103581332B (zh) HDFS架构及HDFS架构中NameNode节点的压力分解方法
CN107451254A (zh) 一种生成数据库表数据唯一标识的方法
US10243919B1 (en) Rule-based automation of DNS service discovery
WO2008052453A1 (fr) Procédé de rafraîchissement synchrone de données de topologie de gestion de réseau côté client et côté serveur
CN104283959B (zh) 一种适用于云平台的基于性能分级的存储机制
CN106657314A (zh) 跨数据中心数据同步系统及方法
CN103118130A (zh) 一种用于分布式服务的集群管理方法和系统
CN105794182B (zh) 分布式系统中锁服务器故障的处理方法及其系统
US8934378B1 (en) Resilient cache-based topology detection of a dynamic cluster
CN114143175B (zh) 主备集群实现方法及系统
CN104901999B (zh) 一种可靠性感知的虚拟数据中心跨域映射方法
CN107291821A (zh) 一种同城双活架构快速切换的方法
US9811544B1 (en) Management of real-time and historical streaming data
CN107180034A (zh) MySQL数据库的集群系统
CN114879907A (zh) 一种数据分布确定方法、装置、设备及存储介质
Gankevich et al. Subordination: Cluster management without distributed consensus
Jiang et al. A novel clustered MongoDB-based storage system for unstructured data with high availability
CN110362590A (zh) 数据管理方法、装置、系统、电子设备及计算机可读介质
CN108377198A (zh) 一种基于云平台的节点配置统一批量维护方法
US10110670B2 (en) Allocation of service endpoints to servers
CN104714923A (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