CN109063070B - 一种数据库的操作方法及数据库服务器 - Google Patents
一种数据库的操作方法及数据库服务器 Download PDFInfo
- Publication number
- CN109063070B CN109063070B CN201810812599.7A CN201810812599A CN109063070B CN 109063070 B CN109063070 B CN 109063070B CN 201810812599 A CN201810812599 A CN 201810812599A CN 109063070 B CN109063070 B CN 109063070B
- Authority
- CN
- China
- Prior art keywords
- database table
- database
- identification information
- information corresponding
- resource
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据库的操作方法及数据库服务器,涉及智能监控技术。本发明公开的数据库的操作方法,包括:当接收到对数据库中任一数据库表发起的第一类操作时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;根据所生成的数据库表的主键,由所确定的实体设备对所述数据库表进行所述第一类操作;其中,所述第一类操作包括插入操作。本申请技术方案既保证了主键的唯一性,又能使得该主键可以重复生成。
Description
技术领域
本发明涉及智能监控技术,特别涉及大规模数据中心的智能监控系统的数据库设计。
背景技术
浪潮自主研发的物理基础设施管理平台(ISPIM)提供了一个统一的、集中的、可视化的和跨平台的深度管理方案,能够将不同品牌不同类型的设备统一集中式管理,并及时发现安全隐患,排查设备故障,控制机房能耗,降低管理成本,提高运维效率,使数据中心基础设施的管理工作更加轻松、智能,此外,浪潮ISPIM遵循NFV标准,支持不同厂商、不同品牌的服务器、存储、网络、机房等基础设施的统一管理。
在对ISPIM的数据进行分表设计(按照资源大类、资源小类、监控协议、资源部件、资源配置、资源性能、日志等分类设计)时,常常需要利用表的主键来进行关联操作,这样做的好处是:其值能唯一地标识表中的每一行,保证实体的完整性;加快数据库的操作速度;在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。如何借助一定的规则或者算法来生成主键,既保证主键的唯一不重复性,又能使得该主键可以重复生成,这就显得十分有意义。
常见的主键生成策略有如下几种:
1、数据库自增主键,虽然具有简单、唯一、递增、增幅固定的优点,但缺点是写性能决定每秒生成数量上限,扩展差;对于分布式数据库,主节点挂掉,备节点上时可能有问题(主节点写入成功,日志未同步到备节点,导致id重复);
2、编号作为主键,即将业务中唯一字段的编号作为主键使用,这种在面对大业务量时,无法保证递增趋势并且建立的索引查询效率低。
3、UUID(Universally Unique Identifier,通用唯一识别码),用其做主键可以让数据表的所有记录都能有唯一的辨识信息,但却无法重复生成。
发明内容
本发明公开了一种数据库的操作方法及数据库服务器,可以解决数据库表主键在确保唯一性时无法重复生成的问题。
本发明公开了一种数据库的操作方法,包括:
当接收到对数据库中任一数据库表发起的第一类操作时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
根据所生成的数据库表的主键,由所确定的实体设备对所述数据库表进行所述第一类操作;
其中,所述第一类操作包括插入操作。
可选地,上述方法中,所述数据库表对应的标识信息包括:
所述数据库表对应的资源大类的标识、所述数据库表对应的资源小类的标识,以及所述数据库表对应的资源部件的标识。
可选地,上述方法中,所述根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,包括:
先将资源大类ID和资源小类ID进行MD5加密计算,再将计算结果与资源部件ID进行MD5加密计算得到数据库表的主键。
可选地,上述方法还包括:
当接收到对数据库中任一数据库表发起的第一类操作时,根据数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键后,保存实体设备与数据库表的主键之间的对应关系。
可选地,上述方法还包括:
当接收到对数据库中任一数据库表发起的第二类操作时,对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
根据所生成的主键从实体设备与数据库表的主键之间的对应关系中,查找该数据库表对应的实体设备,并进行所述第二类操作;
所述第二类操作包括如下任一种或几种:
查询操作、删除操作、修改操作。
本文还公开了一种数据库服务器,包括:
主键生成模块,在接收到对数据库中任一数据库表发起的第一类操作时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,其中,所述第一类操作包括插入操作;
处理模块,根据所生成的数据库表的主键,由所确定的实体设备对所述数据库表进行所述第一类操作。
可选地,上述数据库服务器中,所述数据库表对应的标识信息包括:
所述数据库表对应的资源大类的标识、所述数据库表对应的资源小类的标识,以及所述数据库表对应的资源部件的标识。
可选地,上述数据库服务器中,根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,包括:
先将资源大类ID和资源小类ID进行MD5加密计算,再将计算结果与资源部件ID进行MD5加密计算得到数据库表的主键。
可选地,上述数据库服务器中,所述主键生成模块,在根据数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键后,保存实体设备与数据库表的主键之间的对应关系。
可选地,上述数据库服务器中,所述主键生成模块,在接收到对数据库中任一数据库表发起的第二类操作时,对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
所述处理模块,根据所生成的主键从实体设备与数据库表的主键之间的对应关系中,查找该数据库表对应的实体设备,并进行所述第二类操作;
所述第二类操作包括如下任一种或几种:
查询操作、删除操作、修改操作。
本申请技术方案提出一种基于MD5加密算法的主键生成策略,将明文经过MD5算法加密处理生成唯一的密文作为数据库的主键。当根据主键来进行数据库操作时,只需要将明文按照约定的MD5加密规则生成主键即可,这样既保证了主键的唯一性,又能使得该主键可以重复生成。
附图说明
图1为本发明实施例中数据库的操作过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合具体实施方式对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
针对现有数据库在面对大业务量并且采用主键操作时,主键难以重复生成的问题,本申请发明人提出一种基于MD5加密算法的主键生成策略,即将明文经过MD5加密处理生成唯一的密文作为数据库的主键,当要根据主键来进行数据库操作时,只需要将明文按照约定的MD5加密规则生成主键即可,这样既保证主键的唯一性,又能使得该主键可以重复生成。
基于上述思想,本实施例提供一种数据库的操作方法,主要包括:
当对数据库中任一数据库表进行第一类操作时,根据此数据库表对应的标识信息,确定对应的实体设备,并根据数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,其中,第一类操作包括插入操作;
根据所生成的数据库表的主键,由所确定的实体设备对该数据库表进行第一类操作(如插入操作)。
其中,本实施例中的数据库表对应的标识信息包括:数据库表对应的资源大类的标识、数据库表对应的资源小类的标识,以及数据库表对应的资源部件的标识。即生成数据库的主键时,将数据库表对应的资源大类的标识、数据库表对应的资源小类的标识,以及数据库表对应的资源部件的标识这三种标识组合作为数据库表的标识信息进行MD5加密计算,计算后得到的密文即为数据库表的主键。例如,可以先将资源大类ID和资源小类ID进行MD5加密计算,再将生成的结果与资源部件ID再次进行MD5加密计算即可得到数据库表的主键,具体的加密计算方式可以预先配置好。
还要说明的是,在接收到对数据库中任一数据库表发起的第一类操作,并按照上述方法生成该数据库表的主键后,还可以保存实体设备与数据库表的主键之间的对应关系。这样,在接收到对数据库中任一数据库表发起的第二类操作时,就可以先对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;再根据所生成的主键从实体设备与数据库表的主键之间的对应关系中,查找该该数据库表对应的实体设备,并进行所述第二类操作。本文中的第二类操作可以包括如下任一种或几种:
查询操作、删除操作、修改操作。
下面结合附图说明上述方法的一种具体实施方式。其中,基于MD5加密算法的主键生成实现过程如图1所示。涉及的主键生成策略包括:
(1)预置资源大类和资源小类ID;
例如,浪潮ISPIM硬件资源管理平台数据库设计中:初始化唯一的硬件设备类型编号作为资源大类ID(包括服务器、存储、交换机和防火墙等)。针对每一种设备类型如服务器,可以根据厂商初始化唯一编号作为资源小类ID(如浪潮服务器、戴尔服务器)。
(2)预置资源部件ID;
例如,以服务器为例,CPU、内存、硬盘、风扇均可作为资源部件。不同的资源部件对应唯一ID。
(3)根据以上ID组合构成数据库表的标识信息,经过MD5加密生成用作主键的密文;
具体地,针对数据库表的标识信息的加密计算过程可以是,先将资源大类ID和资源小类ID进行MD5加密计算,再将生成的结果与资源部件ID再次进行MD5加密计算即可得到数据库表的主键。此处仅为例举说明,在其他应用场景中也可以使用其他计算方式,只需要结合数据库表的标识信息进行MD5加密即可。
(4)根据生成的主键进行相关操作。
具体执行过程是:硬件设备被纳管后,当需要进行数据插入操作(即第一类操作)时,后台应用程序根据预置的数据库表的ID,通过MD5加密处理生成主键,并生成对应的实体,根据主键对此数据库表进行插入操作;当需要进行数据查询、删除或修改操作(即第二类操作)时,后台应用程序根据预置的数据库表的ID,通过MD5加密处理生成主键,根据这一主键从已保存的实体设备与数据库表的主键之间的对应关系中找到已有的实体来进行相关的操作即可。
实施例2
本实施例提供一种数据库服务器,可以实现上述实施例1的方法,该服务器主要包括以下两个模块。
主键生成模块,在接收到对数据库中任一数据库表发起的第一类操作(如插入操作)时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据上述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
处理模块,根据所生成的数据库表的主键,由所确定的实体设备对上述数据库表进行所述第一类操作。
其中,数据库表对应的标识信息可以包括如下三个标识:
数据库表对应的资源大类的标识、数据库表对应的资源小类的标识,以及数据库表对应的资源部件的标识。
具体地,针对数据库表的标识信息的加密计算过程可以是,先将资源大类ID和资源小类ID进行MD5加密计算,再将生成的结果与资源部件ID再次进行MD5加密计算即可得到数据库表的主键。此处仅为例举说明,在其他应用场景中也可以使用其他计算方式,只需要结合数据库表的标识信息进行MD5加密即可。
可选地,上述主键生成模块,第一次根据数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键后,还需要保存实体设备与数据库表的主键之间的对应关系。
另外,除了上述第一类操作外,主键生成模块,还可以在接收到对数据库中任一数据库表发起的第二类操作时,对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键。此时,处理模块,根据所生成的主键从预先保存有的实体设备与数据库表的主键之间的对应关系中,查找该数据库表对应的实体设备,并进行第二类操作。
本实施例中,第二类操作至少包括如下任一种或几种:
查询操作、删除操作、修改操作。
从上述实施例可以看出,本申请技术方案采用将明文按照约定的MD5加密规则生成主键即可,这样既保证了主键的唯一性,又能使得该主键可以重复生成。同时使用主键,可以加快数据库的操作速度;在表中添加新记录时,可以有效去重。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据库的操作方法,其特征在于,包括:
当接收到对数据库中任一数据库表发起的第一类操作时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
根据所生成的数据库表的主键,由所确定的实体设备对所述数据库表进行所述第一类操作;
其中,所述第一类操作包括插入操作;
所述数据库表对应的标识信息包括:
所述数据库表对应的资源大类的标识、所述数据库表对应的资源小类的标识,以及所述数据库表对应的资源部件的标识。
2.如权利要求1所述的方法,其特征在于,所述根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,包括:
先将资源大类ID和资源小类ID进行MD5加密计算,再将计算结果与资源部件ID进行MD5加密计算得到数据库表的主键。
3.如权利要求1至2任一项所述的方法,其特征在于,该方法还包括:
当接收到对数据库中任一数据库表发起的第一类操作时,根据数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键后,保存实体设备与数据库表的主键之间的对应关系。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
当接收到对数据库中任一数据库表发起的第二类操作时,对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
根据所生成的主键从实体设备与数据库表的主键之间的对应关系中,查找该数据库表对应的实体设备,并进行所述第二类操作;
所述第二类操作包括如下任一种或几种:
查询操作、删除操作、修改操作。
5.一种数据库服务器,其特征在于,包括:
主键生成模块,在接收到对数据库中任一数据库表发起的第一类操作时,根据该数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,其中,所述第一类操作包括插入操作;
处理模块,根据所生成的数据库表的主键,由所确定的实体设备对所述数据库表进行所述第一类操作;
所述数据库表对应的标识信息包括:
所述数据库表对应的资源大类的标识、所述数据库表对应的资源小类的标识,以及所述数据库表对应的资源部件的标识。
6.如权利要求5所述的数据库服务器,其特征在于,所述主键生成模块,根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键,包括:
先将资源大类ID和资源小类ID进行MD5加密计算,再将计算结果与资源部件ID进行MD5加密计算得到数据库表的主键。
7.如权利要求5至6任一项所述的数据库服务器,其特征在于,
所述主键生成模块,在根据数据库表对应的标识信息,确定对应的实体设备,并根据所述数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键后,保存实体设备与数据库表的主键之间的对应关系。
8.如权利要求7所述的数据库服务器,其特征在于,
所述主键生成模块,在接收到对数据库中任一数据库表发起的第二类操作时,对该数据库表对应的标识信息进行MD5加密处理生成该数据库表的主键;
所述处理模块,根据所生成的主键从实体设备与数据库表的主键之间的对应关系中,查找该数据库表对应的实体设备,并进行所述第二类操作;
所述第二类操作包括如下任一种或几种:
查询操作、删除操作、修改操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812599.7A CN109063070B (zh) | 2018-07-23 | 2018-07-23 | 一种数据库的操作方法及数据库服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812599.7A CN109063070B (zh) | 2018-07-23 | 2018-07-23 | 一种数据库的操作方法及数据库服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063070A CN109063070A (zh) | 2018-12-21 |
CN109063070B true CN109063070B (zh) | 2022-03-25 |
Family
ID=64836187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810812599.7A Active CN109063070B (zh) | 2018-07-23 | 2018-07-23 | 一种数据库的操作方法及数据库服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063070B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981767A (zh) * | 2019-03-20 | 2019-07-05 | 浪潮商用机器有限公司 | Hana数据库访问方法、装置、系统、设备及存储介质 |
CN111464496B (zh) * | 2020-03-05 | 2022-07-05 | 奇安信科技集团股份有限公司 | 数据传输方法及装置、系统、存储介质、电子装置 |
CN113761185A (zh) * | 2021-01-06 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 主键提取方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096614A (zh) * | 2011-01-24 | 2011-06-15 | 上海银杏界信息科技有限公司 | 应用系统的数据还原方法 |
CN104021132A (zh) * | 2013-12-08 | 2014-09-03 | 郑州正信科技发展股份有限公司 | 主备数据库数据一致性核查备份方法及其系统 |
CN106547626A (zh) * | 2016-11-23 | 2017-03-29 | 泰康保险集团股份有限公司 | 用于对等架构均衡服务器的方法及服务器 |
CN107577813A (zh) * | 2017-09-29 | 2018-01-12 | 北京酷我科技有限公司 | 一种数据库插入数据优化算法 |
CN107622070A (zh) * | 2016-07-15 | 2018-01-23 | 深圳联友科技有限公司 | 一种数据库管理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9953054B2 (en) * | 2013-04-22 | 2018-04-24 | Salesforce.Com, Inc. | Systems and methods for implementing and maintaining sampled tables in a database system |
-
2018
- 2018-07-23 CN CN201810812599.7A patent/CN109063070B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096614A (zh) * | 2011-01-24 | 2011-06-15 | 上海银杏界信息科技有限公司 | 应用系统的数据还原方法 |
CN104021132A (zh) * | 2013-12-08 | 2014-09-03 | 郑州正信科技发展股份有限公司 | 主备数据库数据一致性核查备份方法及其系统 |
CN107622070A (zh) * | 2016-07-15 | 2018-01-23 | 深圳联友科技有限公司 | 一种数据库管理方法及装置 |
CN106547626A (zh) * | 2016-11-23 | 2017-03-29 | 泰康保险集团股份有限公司 | 用于对等架构均衡服务器的方法及服务器 |
CN107577813A (zh) * | 2017-09-29 | 2018-01-12 | 北京酷我科技有限公司 | 一种数据库插入数据优化算法 |
Also Published As
Publication number | Publication date |
---|---|
CN109063070A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647580B (zh) | 分布式容器集群镜像管理主节点、从节点、系统及方法 | |
CN109063070B (zh) | 一种数据库的操作方法及数据库服务器 | |
EP2675127B1 (en) | Method and device for automatically migrating system configuration item | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
WO2017088705A1 (zh) | 数据处理方法和装置 | |
WO2016066108A1 (zh) | 路由访问方法、路由访问系统及用户终端 | |
CN106339177A (zh) | 一种创建虚拟机的方法和装置 | |
CN108319623A (zh) | 一种数据重分布方法、装置及数据库集群 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN102202087A (zh) | 一种标识存储设备的方法及系统 | |
CN111083179A (zh) | 物联网云平台、基于物联网云平台的设备交互方法及装置 | |
CN109522043B (zh) | 一种配置数据的管理方法、装置及存储介质 | |
CN113746684B (zh) | 一种网络设备纳管方法、装置、计算机设备及存储介质 | |
CN101582881A (zh) | 访问控制方法和装置 | |
CN108768849A (zh) | 报文处理方法及装置 | |
CN104038566A (zh) | 一种虚拟交换设备地址学习的方法、装置及系统 | |
WO2012040999A1 (zh) | 一种分布式环境下资源定位方法及其系统 | |
CN112416936A (zh) | 一种dcs后台多节点协同组态标记名校验方法 | |
US10904327B2 (en) | Method, electronic device and computer program product for searching for node | |
CN108566421B (zh) | 一种基于网络附属存储器的网络式分布方法及系统 | |
CN112148728A (zh) | 用于信息处理的方法、设备和计算机程序产品 | |
CN115599982A (zh) | 混合云的数据查询方法及装置 | |
CN106470248B (zh) | Dnssec签名服务的热备方法及系统 | |
CN106557530B (zh) | 业务系统、数据修复方法及装置 | |
CN109840264B (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 |