CN1928873A - 一种实现负荷分担的数据库访问方法及*** - Google Patents

一种实现负荷分担的数据库访问方法及*** Download PDF

Info

Publication number
CN1928873A
CN1928873A CN 200610139791 CN200610139791A CN1928873A CN 1928873 A CN1928873 A CN 1928873A CN 200610139791 CN200610139791 CN 200610139791 CN 200610139791 A CN200610139791 A CN 200610139791A CN 1928873 A CN1928873 A CN 1928873A
Authority
CN
China
Prior art keywords
data
request
major control
agent
query
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
CN 200610139791
Other languages
English (en)
Other versions
CN100403315C (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101397911A priority Critical patent/CN100403315C/zh
Publication of CN1928873A publication Critical patent/CN1928873A/zh
Application granted granted Critical
Publication of CN100403315C publication Critical patent/CN100403315C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现负荷分担的数据库访问方法,关键是,数据代理接收到数据库访问请求后,判断该访问请求类型,若是数据查询请求,则数据代理访问辅助数据库,由辅助数据库执行查询操作,给数据代理返回查询结果信息,结束;若是数据更新请求,则数据代理访问主控数据库,由主控数据库执行数据更新操作。本发明同时还提供了一种实现负荷分担的数据库***。应用本发明,令辅助数据库分担主控数据库上的负荷,从而在不需要额外增加成本的情况下,解决瓶颈问题,从而提升了***性能。

Description

一种实现负荷分担的数据库访问方法及***
技术领域
本发明涉及数据库技术领域,特别涉及一种实现负荷分担的数据库访问方法及***。
背景技术
典型的商用电信产品采用了群集模式,以提高可用性。涉及数据库相关的群集解决方案也需高度可用。
Informix是一种大型的数据库管理***,具有先进的技术、性能与可靠性,在全球范围的各种应用中使用十分广泛,包括政府、金融保险、邮政电信、制造及零售等重要行业或领域。像Informix这样的数据库服务器,也要采用高可用性数据复制(HDR,High Availability Data Replication)模式来提供高可用性。在HDR解决方案中,一台数据库服务器作为主控数据库以主用模式运行,另一台作为辅助服务器以只读模式运行。HDR会把在主控数据库上进行的操作复制到辅助数据库上。
通常,数据代理将连接至主控数据库,并执行数据库操作。运行的数据代理将使用数据库的数据操作语言(DML)查询,如***、删除和选择等,并将这些查询将转到主控数据库上。
目前,在电信应用或任何其他上线的产品中,***进行两种类型的操作。一种类型的操作涉及查看数据、在现有数据上生成统计数据以及根据统计分析准备报告。另一种类型的操作涉及更新当前数据、将新数据***数据库或从数据库中删除等。
参见图1,其是现有的采用HDR解决方案的数据库管理***结构示意图。数据代理110与主控数据库120之间直接连接,主控数据库120与辅助数据库130之间连接。涉及数据持续性的数据代理110将使用数据库存储用户的数据。数据代理110之上可以连接至少一个应用,通常,数据代理110将持续在数据库上执行操作,以修改当前数据、添加新数据、删除现有数据或查询数据。而上述所有操作均由主控数据库120来执行,并且,在HDR方式下,主控数据库将其所有的操作复制到辅助数据库上。
由此可以看出,由于所有的操作都在主控数据库上执行,必然会导致服务器性能的瓶颈,要解决瓶颈问题,就需要增加服务器的容量以提高其性能,而这样又需要额外的花费,导致成本上升。
发明内容
有鉴于此,本发明的目的在于提供一种实现负荷分担的数据库访问方法及***,以解决服务器瓶颈的问题,且不需要额外花费成本。
为达到上述目的,本发明的技术方案包括:
一种实现负荷分担的数据库访问方法,包括:
a、数据代理接收到数据库访问请求后,判断该访问请求类型,若是数据查询请求,则执行步骤b,若是数据更新请求,则执行步骤c;
b、数据代理访问辅助数据库,由辅助数据库执行查询操作,给数据代理返回查询结果信息,结束;
c、数据代理访问主控数据库,由主控数据库执行数据更新操作。
主控数据库执行数据更新后,还包括:给数据代理返回执行结果信息。
在HDR模式下,主控数据库执行数据更新后,进一步包括:将所有操作复制到辅助数据库上。
数据代理接收到查询数据请求,该请求中包含指示主控数据库执行查询操作的信息,之后,进一步包括:数据代理访问主控数据库,由主控数据库执行查询操作,给数据代理返回查询结果信息。
步骤a所述判断是根据数据库访问请求中的标识进行判定的。
所述数据更新请求包括数据添加请求、数据删除请求和数据修改请求;
所述更新操作包括:数据添加、数据删除和数据修改。
所述数据查询请求包括数据查询请求、数据统计请求、数据分析请求;
所述查询操作包括查询、统计、分析。
一种实现负荷分担的数据库***,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求,向辅助数据库发送数据查询的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
所述主控数据库,进一步用于给数据代理返回执行结果信息,在HDR模式下,将所有操作复制到辅助数据库上。
所述数据代理,进一步用于向主控数据库发送查询数据的操作请求;
所述主控数据库,进一步用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
本发明的关键是,数据代理接收到数据库访问请求后,判断该访问请求类型,若是数据查询请求,则数据代理访问辅助数据库,由辅助数据库执行查询操作,并给数据代理返回查询结果信息,结束;若是数据更新请求,则数据代理访问主控数据库,由主控数据库执行数据更新操作。应用本发明,令辅助数据库分担主控数据库上的负荷,从而在不需要额外增加成本的情况下,解决瓶颈问题,从而提升了***性能。
再有,在现有应用中,当主控数据库较为空闲的时,如凌晨2点,会执行统计报表等操作,如通常有话单统计、业务量统计等,这样可以避免影响呼叫等操作对主控数据库的应用。而应用了本发明之后,由于辅助数据库能够执行查询、统计等操作,因此,统计报表等操作也可以在高峰时段,如晚7点左右,从辅助数据库中生成,这样,能够使得用户在任何需要的时间获得统计分析数据。
对于查询类的应用,不影响主控数据库的其他应用,如用于显示数据的图形界面将对主控数据库性能没有影响,因此,相当于可以增加主控数据库服务的用户数量。
再有,在电信级应用,如很多数据的查询,如业务级配置信息、呼叫筛选等功能,可以由应用(即业务)根据需要,决定此查询是否在辅助数据库上查询。这样,也相当于提升了主控数据库的性能。
附图说明
图1是现有的采用HDR解决方案的数据库管理***结构示意图。
图2是根据本发明一实施例的实现负荷分担的数据库访问流程示意图;
图3是根据本发明一实施例的采用HDR解决方案的数据库管理***结构示意图。
具体实施方式
本发明的思路是:令辅助数据库分担主控数据库上的负荷,从而在不需要额外增加成本的情况下解决瓶颈问题。
下面结合附图及具体实施例,对本发明做进一步详细说明。
图2是根据本发明一实施例的实现负荷分担的数据库访问流程示意图。
步骤201,数据代理接收到来自应用的数据库访问请求后,根据数据库访问请求中的标识判断该访问请求的类型,若是数据查询请求,则执行步骤202,若是数据更新请求,则执行步骤203。
上述数据查询请求包括数据查询请求、数据统计请求、数据分析请求等;上述数据更新请求包括数据添加请求、数据删除请求和数据修改请求等。
步骤202,数据代理访问数据库***内的辅助数据库,由辅助数据库执行查询操作,并给数据代理返回查询结果信息,结束。
上述查询操作包括查询、统计、分析等操作。
步骤203,数据代理访问数据库***内的主控数据库,由主控数据库执行更新数据操作。在HDR模式下,主控数据库执行更新数据后,还需将所有操作复制到辅助数据库上,以便使***能够实现数据灾备的功能,保证高可用性。
当然,在主控数据库执行更新数据后,还可以给数据代理返回执行结果信息。
上述更新操作包括:数据添加、数据删除和数据修改。
另外,数据代理接收到查询数据请求后,根据该请求中指示主控数据库执行查询操作的信息,还可以访问数据库***内的主控数据库服务,由主控数据库执行查询操作,并给数据代理返回查询结果信息。例如,应用即业务可以指定特定的查询操作仍使用主控数据库,如***业务中,查询***余额的操作,就可以由业务指定必需由主控数据库获取。原因是,主控数据库的数据在备份到辅助数据库时,可能会存在短暂(秒级)延迟。
再有,在电信级应用,如很多数据的查询,如业务级配置信息、呼叫筛选等功能,可以由应用(即业务)根据需要,决定此查询是否在辅助数据库上查询。这样,也相当于提升了主控数据库的性能。
本发明还公开了一种实现负荷分担的数据库***,包括:数据代理310、主控数据库320和辅助数据库330,其中,
数据代理310用于向主控数据库发送更新数据的操作请求,向辅助数据库发送数据查询的操作请求。当然,在数据代理310之上,还会有至少一个应用即业务与之相连。
上述数据更新请求包括数据添加请求、数据删除请求和数据修改请求;上述数据查询请求包括数据查询请求、数据统计请求、数据分析请求等。
主控数据库320用于根据接收的数据更新请求,执行更新操作,在HDR模式下,将所有操作复制到辅助数据库上。主控数据库执行的更新操作包括:数据添加、数据删除和数据修改等。
再有,主控数据库320还可以用于给数据代理返回执行结果信息。
辅助数据库330用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。辅助数据库执行的查询操作包括查询、统计、分析等。
再有,上述数据代理还可以用于向主控数据库发送查询数据的操作请求;此时,主控数据库还用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
本发明所述方法及***不限于HDR、informix。可以应用于任何提供双机类型的数据库。如Informix的数据复制还有企业复制(ER,EnterpriseReplication)等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。几在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1、一种实现负荷分担的数据库访问方法,其特征在于,包括:
a、数据代理接收到数据库访问请求后,判断该访问请求类型,若是数据查询请求,则执行步骤b,若是数据更新请求,则执行步骤c;
b、数据代理访问辅助数据库,由辅助数据库执行查询操作,给数据代理返回查询结果信息,结束;
c、数据代理访问主控数据库,由主控数据库执行数据更新操作。
2、根据权利要求1所述的方法,其特征在于,主控数据库执行数据更新后,进一步包括:给数据代理返回执行结果信息。
3、根据权利要求1或2所述的方法,其特征在于,在高可用性数据复制HDR模式下,主控数据库执行数据更新后,进一步包括:将所有操作复制到辅助数据库上。
4、根据权利要求3所述的方法,其特征在于,数据代理接收到查询数据请求,该请求中包含指示主控数据库执行查询操作的信息,之后,进一步包括:数据代理访问主控数据库,由主控数据库执行查询操作,给数据代理返回查询结果信息。
5、根据权利要求1所述的方法,其特征在于,步骤a所述判断是根据数据库访问请求中的标识进行判定的。
6、根据权利要求1所述的方法,其特征在于,
所述数据更新请求包括数据添加请求、数据删除请求和数据修改请求;
所述更新操作包括:数据添加、数据删除和数据修改。
7、根据权利要求1所述的方法,其特征在于,
所述数据查询请求包括数据查询请求、数据统计请求、数据分析请求;
所述查询操作包括查询、统计、分析。
8、一种实现负荷分担的数据库***,其特征在于,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求,向辅助数据库发送数据查询的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
9、根据权利要求8所述的***,其特征在于,所述主控数据库,进一步用于给数据代理返回执行结果信息,在HDR模式下,将所有操作复制到辅助数据库上。
10、根据权利要求8或9所述的***,其特征在于,
所述数据代理,进一步用于向主控数据库发送查询数据的操作请求;
所述主控数据库,进一步用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
CNB2006101397911A 2006-09-25 2006-09-25 一种实现负荷分担的数据库访问方法及*** Expired - Fee Related CN100403315C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101397911A CN100403315C (zh) 2006-09-25 2006-09-25 一种实现负荷分担的数据库访问方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101397911A CN100403315C (zh) 2006-09-25 2006-09-25 一种实现负荷分担的数据库访问方法及***

Publications (2)

Publication Number Publication Date
CN1928873A true CN1928873A (zh) 2007-03-14
CN100403315C CN100403315C (zh) 2008-07-16

Family

ID=37858836

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101397911A Expired - Fee Related CN100403315C (zh) 2006-09-25 2006-09-25 一种实现负荷分担的数据库访问方法及***

Country Status (1)

Country Link
CN (1) CN100403315C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815094A (zh) * 2010-03-18 2010-08-25 中兴通讯股份有限公司 一种实现数据共享访问的方法、装置及***
CN102402596A (zh) * 2011-11-07 2012-04-04 北京搜狗科技发展有限公司 一种主从分离数据库的读写方法和***
CN101739435B (zh) * 2008-11-07 2012-05-09 ***通信集团公司 数据库访问方法、控制装置
CN102881050A (zh) * 2012-09-19 2013-01-16 中国联合网络通信集团有限公司 票务处理方法及***
CN103491155A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种实现移动计算和获取移动数据的云计算方法及***
CN103970807A (zh) * 2013-02-06 2014-08-06 阿里巴巴集团控股有限公司 数据库连接管理方法及***
CN104050297A (zh) * 2014-07-03 2014-09-17 中国工商银行股份有限公司 一种查询事务分配方法及装置
CN104166738A (zh) * 2014-09-04 2014-11-26 北京国双科技有限公司 数据库查询处理的方法及装置
CN106021375A (zh) * 2016-05-11 2016-10-12 深圳市永兴元科技有限公司 数据库访问方法及数据库代理节点
CN106407351A (zh) * 2016-09-05 2017-02-15 乐视控股(北京)有限公司 一种应用于数据库的数据处理方法及装置
CN106850759A (zh) * 2016-12-31 2017-06-13 广州勤加缘科技实业有限公司 MySQL数据库集群处理方法及其处理***
CN106897303A (zh) * 2015-12-18 2017-06-27 北京国双科技有限公司 数据查询方法及装置
CN107705089A (zh) * 2017-09-26 2018-02-16 泰康保险集团股份有限公司 业务处理方法、装置及设备
CN108509450A (zh) * 2017-02-27 2018-09-07 北京京东尚科信息技术有限公司 用于处理数据库高并发更新的方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140358918A1 (en) * 2012-01-27 2014-12-04 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Handling Data-Related Requests

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE501433C2 (sv) * 1993-06-23 1995-02-13 Ellemtel Utvecklings Ab Sätt att uppnå dataaccess i en primärminnesbaserad databas
EP1275061A1 (en) * 2000-02-11 2003-01-15 Acta Technologies, Inc. High availability database system using live/load database copies
US20020129145A1 (en) * 2001-03-06 2002-09-12 Accelerate Software Inc. Method and system for real-time querying, retrieval and integration of data from database over a computer network
WO2005055084A1 (fr) * 2003-12-01 2005-06-16 Thomson Licensing Dispositif et procédé de contrôle d'accès à des informations d'une base de données, méthodes et produits associés

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739435B (zh) * 2008-11-07 2012-05-09 ***通信集团公司 数据库访问方法、控制装置
CN101815094A (zh) * 2010-03-18 2010-08-25 中兴通讯股份有限公司 一种实现数据共享访问的方法、装置及***
CN102402596B (zh) * 2011-11-07 2016-01-20 北京搜狗科技发展有限公司 一种主从分离数据库的读写方法和***
CN102402596A (zh) * 2011-11-07 2012-04-04 北京搜狗科技发展有限公司 一种主从分离数据库的读写方法和***
CN102881050A (zh) * 2012-09-19 2013-01-16 中国联合网络通信集团有限公司 票务处理方法及***
CN102881050B (zh) * 2012-09-19 2015-02-25 中国联合网络通信集团有限公司 票务处理方法及***
CN103970807A (zh) * 2013-02-06 2014-08-06 阿里巴巴集团控股有限公司 数据库连接管理方法及***
CN103970807B (zh) * 2013-02-06 2017-04-19 阿里巴巴集团控股有限公司 数据库连接管理方法及***
CN103491155A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种实现移动计算和获取移动数据的云计算方法及***
CN104050297A (zh) * 2014-07-03 2014-09-17 中国工商银行股份有限公司 一种查询事务分配方法及装置
CN104166738A (zh) * 2014-09-04 2014-11-26 北京国双科技有限公司 数据库查询处理的方法及装置
CN106897303A (zh) * 2015-12-18 2017-06-27 北京国双科技有限公司 数据查询方法及装置
CN106897303B (zh) * 2015-12-18 2020-09-15 北京国双科技有限公司 数据查询方法及装置
CN106021375A (zh) * 2016-05-11 2016-10-12 深圳市永兴元科技有限公司 数据库访问方法及数据库代理节点
CN106021375B (zh) * 2016-05-11 2019-11-26 深圳市永兴元科技股份有限公司 数据库访问方法及数据库代理节点
CN106407351A (zh) * 2016-09-05 2017-02-15 乐视控股(北京)有限公司 一种应用于数据库的数据处理方法及装置
CN106850759A (zh) * 2016-12-31 2017-06-13 广州勤加缘科技实业有限公司 MySQL数据库集群处理方法及其处理***
CN108509450A (zh) * 2017-02-27 2018-09-07 北京京东尚科信息技术有限公司 用于处理数据库高并发更新的方法和装置
CN108509450B (zh) * 2017-02-27 2022-04-12 北京京东尚科信息技术有限公司 用于处理数据库高并发更新的方法和装置
CN107705089A (zh) * 2017-09-26 2018-02-16 泰康保险集团股份有限公司 业务处理方法、装置及设备
CN107705089B (zh) * 2017-09-26 2021-06-15 泰康保险集团股份有限公司 业务处理方法、装置及设备

Also Published As

Publication number Publication date
CN100403315C (zh) 2008-07-16

Similar Documents

Publication Publication Date Title
CN1928873A (zh) 一种实现负荷分担的数据库访问方法及***
CN1132109C (zh) 在一个分布式文件***中高效高速缓存的***与方法
CN1291315C (zh) 有状态程序实体的数据处理方法和***
CN1892664A (zh) 控制对资源的访问的方法和***
US20030055826A1 (en) System and method for connecting to and controlling to disparate databases
CN101063973A (zh) 用于多处理环境中的数据聚合的方法和***
CN1848849A (zh) 复制目录修改的方法和装置
CN1494017A (zh) 用于环球网服务结构中的包容器选择器及其选择方法
CN101048767A (zh) 动态资源分配
CN1959676A (zh) 用于在计算机数据库***中物化查询表日志的装置和方法
CN1448857A (zh) 电子帐票管理方法和程序
CN1841320A (zh) 用于管理动态配置数据的方法和***
CN1717686A (zh) 自动数据合并
US7188111B2 (en) System and method for connectivity to structured query language database
CN1808389A (zh) 帐务后台内存数据库中共享内存的自治锁方法
CN1869933A (zh) 实现数据升级的计算机处理***和数据升级方法
US20240232224A1 (en) Cross-organization & cross-cloud automated data pipelines
CN1555532A (zh) 临时目录管理
CN1265288C (zh) 多级保密简档刷新的方法和***
CN1633080A (zh) 在网络管理***中实现日志的方法
CN1809108A (zh) 基于过滤片的话单内存排重方法
CN1889038A (zh) 以类为单位的远程构件生命周期的管理方法
CN1351299A (zh) 一种访问数据库的方法及装置
CN1946035A (zh) 一种网元数据配置管理的方法及网元
CN1610350A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080716

Termination date: 20120925