CN105760510A - 一种软件业务***的数据库横向扩展方法 - Google Patents
一种软件业务***的数据库横向扩展方法 Download PDFInfo
- Publication number
- CN105760510A CN105760510A CN201610100449.4A CN201610100449A CN105760510A CN 105760510 A CN105760510 A CN 105760510A CN 201610100449 A CN201610100449 A CN 201610100449A CN 105760510 A CN105760510 A CN 105760510A
- Authority
- CN
- China
- Prior art keywords
- data base
- extending transversely
- database
- data
- extension
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000008520 organization Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000005194 fractionation Methods 0.000 claims description 3
- 230000007423 decrease Effects 0.000 description 2
- CVOFKRWYWCSDMA-UHFFFAOYSA-N 2-chloro-n-(2,6-diethylphenyl)-n-(methoxymethyl)acetamide;2,6-dinitro-n,n-dipropyl-4-(trifluoromethyl)aniline Chemical compound CCC1=CC=CC(CC)=C1N(COC)C(=O)CCl.CCCN(CCC)C1=C([N+]([O-])=O)C=C(C(F)(F)F)C=C1[N+]([O-])=O CVOFKRWYWCSDMA-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
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/25—Integrating 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种软件业务***的数据库横向扩展方法,该数据库横向扩展方法步骤如下:1)识别扩展维度,形成扩展配置;2)按配置对数据路由存取;3)数据库横向部署节点可灵活扩展,当目前的扩展设置不满足性能要求时,动态扩展新的数据库。本发明的一种软件业务***的数据库横向扩展方法和现有技术相比,该方法使***具备数据库可横向扩展设计架构与***支撑技术;通过对数据库的横向扩展,解决了因数据库高负荷运转而带来的***性能瓶径与运行效率问题,从容应对高并发、大数据对***带来的压力,并使得***具有极强的横向扩展能力。
Description
技术领域
本发明涉及业务***访问性能领域,具体地说是一种软件业务***的数据库横向扩展方法。
背景技术
业务数据交易量和单表数据量过大,会导致***功能响应慢,大数据量查询出现超时。目前,大多数信息化***在解决***高并发、性能瓶径与运行效率方面,仅是在应用层面借助负载均衡技术,通过对应用服务器的扩展来应对,而对于数据库本身的高负荷与压力却缺少有效的解决方案。在数据库层面,数据库厂商会提供一些技术复杂度较高的方案,如OracleRac,是Oracle9i以后版本提出的一项新的技术,也是Oracle数据库支持网格计算环境的核心技术,实现了数据库的横向扩展。但具有一定的局限性,只能在一定程度上提升***吞吐量,并不能完全解决高并发、大数据量带来的性能压力。
公开的相关专利文件:名称为“一种分布式数据库横向扩展方法”,该文件公开了“一种分布式数据库横向扩展方法,该方法包括:创建数据库中心节点;创建数据库数据节点;部署中间层节点,该中间层节点根据负载权重按概率选择数据节点;在所述数据库数据节点上冗余创建数据表;在所述中间层节点上创建远程表;通过中间层节点进行数据查询,并将数据查询结果发送至客户端。本发明通过分布式数据库横向扩展方法有效避免了访问量过大时数据库查询单点处理能力下降,通过有效分流查询,提高了数据库的查询性能”。
名称为“一种动态扩展数据库集群的方法”,该文件公开了“一种动态扩展数据库集群的方法,适用于具有可动态扩展的数据库集群在资源包括:内存、CPU、磁盘等快接近满载时,自动触发式的增加服务器节点到集群,实现无人工操作干预的实时扩展。该***提供了一种数据库集群的实时自动扩展途径,使得具有动态横向扩展能力的数据库集群自动增加资源,实现实时的扩展;解决当资源匮乏时带来的性能下降、功能出错和***崩溃等影响正常业务的异常问题,提高***的可用性和稳定性”。
上述公开文件与本发明内容要解决的技术问题,采用的技术手段都不相同。
发明内容
本发明的技术任务是提供一种软件业务***的数据库横向扩展方法。
本发明的技术任务是按以下方式实现的,该数据库横向扩展方法步骤如下:
1)识别扩展维度,形成扩展配置:依据业务功能模块的横向关联度、单表的数据量大小的因素,识别数据库横向扩展的维度;按业务模块、业务组织的维度形成数据库横向扩展配置表;
2)按配置对数据路由存取:业务运行框架统一封装了业务功能对数据的存取,根据数据库横向扩展配置的结果,实现不同数据库服务器的路由调度与信息共享,在切换业务模块、业务组织时,同时切换访问的目标数据库;
3)数据库横向部署节点可灵活扩展,当目前的扩展设置不满足性能要求时,动态扩展新的数据库:一台数据库服务器出现计算、I/O性能压力时,增加第二台数据库服务器,第二台也出现压力时,增加第三台,直到性能满足需要为止。
所述的数据库横向扩展配置表用于描述数据库横向扩展结果的实体结构,数据列包括业务模块编号列、业务组织类型列、业务组织标识列、预留扩展列一、预留扩展列二以及业务数据库实例编号列。
所述的数据库横向扩展配置的缓存结果为缓存结果,该缓存结果保证了大量的数据库访问过程中,动态判断、设置访问数据库服务器时不会存在性能瓶颈。
所述的动态扩展新的数据库采用两种方式:扩充新的扩展和合并原有的扩展;上述两种扩展都会伴随着物理数据库服务器的变化,同时涉及到物理数据的合并、拆分;数据库横向扩展切换路由的缓存也需要失效、重新加载。
本发明的一种软件业务***的数据库横向扩展方法和现有技术相比,该方法使***具备数据库可横向扩展设计架构与***支撑技术;通过对数据库的横向扩展,解决了因数据库高负荷运转而带来的***性能瓶径与运行效率问题,从容应对高并发、大数据对***带来的压力,并使得***具有极强的横向扩展能力。
具体实施方式
实施例1:
该数据库横向扩展方法步骤如下:
1)识别扩展维度,形成扩展配置:依据业务功能模块的横向关联度、单表的数据量大小的因素,识别数据库横向扩展的维度;按业务模块、业务组织的维度形成数据库横向扩展配置表;
上述的数据库横向扩展配置表用于描述数据库横向扩展结果的实体结构,数据列包括业务模块编号列、业务组织类型列、业务组织标识列、预留扩展列一、预留扩展列二以及业务数据库实例编号列。
2)按配置对数据路由存取:业务运行框架统一封装了业务功能对数据的存取,根据数据库横向扩展配置的结果,实现不同数据库服务器的路由调度与信息共享,在切换业务模块、业务组织时,同时切换访问的目标数据库;
上述的数据库横向扩展配置的缓存结果为缓存结果,该缓存结果保证了大量的数据库访问过程中,动态判断、设置访问数据库服务器时不会存在性能瓶颈。
3)数据库横向部署节点可灵活扩展,当目前的扩展设置不满足性能要求时,动态扩展新的数据库:一台数据库服务器出现计算、I/O性能压力时,增加第二台数据库服务器,第二台也出现压力时,增加第三台,直到性能满足需要为止。
上述的动态扩展新的数据库采用两种方式:扩充新的扩展和合并原有的扩展;上述两种扩展都会伴随着物理数据库服务器的变化,同时涉及到物理数据的合并、拆分;数据库横向扩展切换路由的缓存也需要失效、重新加载。
实施例2:
以下将通过某一ERP业务***中的数据库横向扩展的实现的详细描述:
一、数据库的横向扩展设实体
///<summary>
///数据库的横向扩展设置
///</summary>
publicclassGSPDBExtSetting
{
//模块编号
publicstringModule{get;set;}
//组织类型
publicstringOrgType{get;set;}
//组织标识
publicstringOrgID{get;set;}
//扩展维度1
publicstringExtDim1{get;set;}
//扩展维度2
publicstringExtDim2{get;set;}
//数据库连接编号
publicstringDBCode{get;set;}
//设置最后修改时间,为了缓存同步
publicDateTimeLastModifyTime{get;set;}
}
二、根据数据库横向扩展设置,动态路由数据库
1)用户通过***登录界面登录ERP管理信息***。应用服务器采用集群方式进行部署,多个应用服务器拥有统一的登录入口。
2)用户身份校验通过后,ERP管理信息***打开***主框架。
3)ERP管理信息***初始化用户的关键会话信息,并从业务***集中数据库中获取该用户的基本信息、有权限的功能菜单、消息通知等数据后展示在主框架上。
4)用户进入具体功能模块进行业务操作,ERP管理信息***根据当前的功能模块和路由配置表,自动切换到指定数据库,并在当前界面上切换显示用户相应权限的菜单等。
5)用户打开某具体业务单据,比如在固定资产模块中,增加资产卡片操作,在保存时,直接保存进已切换至的数据库中。
6)当用户切换到其他功能模块或者组织时,ERP管理信息***会根据当前的数据分库维度值,动态进行数据库的切换。
7)当不同的用户同时登录ERP管理信息***时,每个用户的会话信息中都保存自己的数据分库维度值,并因此匹配出各自所连接的数据库实例,他们可以互不干扰的连接到不同的数据库中。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (4)
1.一种软件业务***的数据库横向扩展方法,其特征在于,该数据库横向扩展方法步骤如下:
1)识别扩展维度,形成扩展配置:依据业务功能模块的横向关联度、单表的数据量大小的因素,识别数据库横向扩展的维度;按业务模块、业务组织的维度形成数据库横向扩展配置表;
2)按配置对数据路由存取:业务运行框架统一封装了业务功能对数据的存取,根据数据库横向扩展配置的结果,实现不同数据库服务器的路由调度与信息共享,在切换业务模块、业务组织时,同时切换访问的目标数据库;
3)数据库横向部署节点可灵活扩展,当目前的扩展设置不满足性能要求时,动态扩展新的数据库:一台数据库服务器出现计算、I/O性能压力时,增加第二台数据库服务器,第二台也出现压力时,增加第三台,直到性能满足需要为止。
2.根据权利要求1所述的一种软件业务***的数据库横向扩展方法,其特征在于,所述的数据库横向扩展配置表用于描述数据库横向扩展结果的实体结构,数据列包括业务模块编号列、业务组织类型列、业务组织标识列、预留扩展列一、预留扩展列二以及业务数据库实例编号列。
3.根据权利要求1所述的一种软件业务***的数据库横向扩展方法,其特征在于,所述的数据库横向扩展配置的缓存结果为缓存结果,该缓存结果保证了大量的数据库访问过程中,动态判断、设置访问数据库服务器时不会存在性能瓶颈。
4.根据权利要求1所述的一种软件业务***的数据库横向扩展方法,其特征在于,所述的动态扩展新的数据库采用两种方式:扩充新的扩展和合并原有的扩展;上述两种扩展都会伴随着物理数据库服务器的变化,同时涉及到物理数据的合并、拆分;数据库横向扩展切换路由的缓存也需要失效、重新加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610100449.4A CN105760510A (zh) | 2016-02-24 | 2016-02-24 | 一种软件业务***的数据库横向扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610100449.4A CN105760510A (zh) | 2016-02-24 | 2016-02-24 | 一种软件业务***的数据库横向扩展方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105760510A true CN105760510A (zh) | 2016-07-13 |
Family
ID=56330253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610100449.4A Pending CN105760510A (zh) | 2016-02-24 | 2016-02-24 | 一种软件业务***的数据库横向扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760510A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106446268A (zh) * | 2016-10-19 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据库横向扩展***及方法 |
CN106603617A (zh) * | 2016-08-31 | 2017-04-26 | 重庆车杰盟科技有限公司 | 一种分布式数据存取的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464892A (zh) * | 2008-12-31 | 2009-06-24 | 中兴通讯股份有限公司 | 一种动态数据库的登录方法及装置 |
US20100125618A1 (en) * | 2008-11-17 | 2010-05-20 | Hewlett-Packard Development Company, L.P. | Integrated soa deployment and management system and method for software services |
CN102930062A (zh) * | 2012-11-30 | 2013-02-13 | 南京富士通南大软件技术有限公司 | 一种数据库快速水平扩展的方法 |
CN103970907A (zh) * | 2014-05-28 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种动态扩展数据库集群的方法 |
CN104462435A (zh) * | 2014-12-15 | 2015-03-25 | 同方知网数字出版技术股份有限公司 | 一种分布式数据库横向扩展方法 |
CN105138638A (zh) * | 2015-08-24 | 2015-12-09 | 浪潮通用软件有限公司 | 一种基于应用层的数据库分布方法 |
-
2016
- 2016-02-24 CN CN201610100449.4A patent/CN105760510A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100125618A1 (en) * | 2008-11-17 | 2010-05-20 | Hewlett-Packard Development Company, L.P. | Integrated soa deployment and management system and method for software services |
CN101464892A (zh) * | 2008-12-31 | 2009-06-24 | 中兴通讯股份有限公司 | 一种动态数据库的登录方法及装置 |
CN102930062A (zh) * | 2012-11-30 | 2013-02-13 | 南京富士通南大软件技术有限公司 | 一种数据库快速水平扩展的方法 |
CN103970907A (zh) * | 2014-05-28 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种动态扩展数据库集群的方法 |
CN104462435A (zh) * | 2014-12-15 | 2015-03-25 | 同方知网数字出版技术股份有限公司 | 一种分布式数据库横向扩展方法 |
CN105138638A (zh) * | 2015-08-24 | 2015-12-09 | 浪潮通用软件有限公司 | 一种基于应用层的数据库分布方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603617A (zh) * | 2016-08-31 | 2017-04-26 | 重庆车杰盟科技有限公司 | 一种分布式数据存取的方法 |
CN106446268A (zh) * | 2016-10-19 | 2017-02-22 | 中国工商银行股份有限公司 | 一种数据库横向扩展***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521396B2 (en) | Placement policy | |
CN102591970B (zh) | 一种分布式键-值查询方法和查询引擎*** | |
CN103905537A (zh) | 分布式环境下管理工业实时数据存储的*** | |
US8112659B2 (en) | Reducing recovery time for business organizations in case of disasters | |
US8543621B2 (en) | Database partitioning by virtual partitions | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和*** | |
CN103067433B (zh) | 一种分布式存储***的数据迁移方法、设备和*** | |
JP2023532947A (ja) | データ転送方法、プロキシサーバ、記憶媒体及び電子デバイス | |
CN104050250A (zh) | 一种分布式键-值查询方法和查询引擎*** | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
CN104050249A (zh) | 分布式查询引擎***和方法及元数据服务器 | |
CN105933376A (zh) | 一种数据操作方法,服务器及存储*** | |
CN104050015A (zh) | 一种虚拟机镜像存储分发*** | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN105095317A (zh) | 分布式数据库服务管理*** | |
CN102194009A (zh) | 一种数据库托管方法和一种数据库托管平台*** | |
CN103198153A (zh) | 一种应用于分布式文件***的元数据分簇管理方法和模块 | |
CN110727738B (zh) | 基于数据分片的全局路由***、电子设备及存储介质 | |
TW201248418A (en) | Distributed caching and cache analysis | |
CN105045929A (zh) | 一种基于mpp构架的分布式关系型数据库 | |
CN101330431B (zh) | 一种即时信息存储方法和*** | |
CN104410531B (zh) | 冗余的***架构方法 | |
CN104184812A (zh) | 一种基于私有云的多点数据传输方法 | |
CN104254839A (zh) | 用于分割单链表以供分配存储器元素的***和方法 | |
CN105069152A (zh) | 数据处理方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |