CN100403315C - 一种实现负荷分担的数据库访问方法及系统 - Google Patents
一种实现负荷分担的数据库访问方法及系统 Download PDFInfo
- Publication number
- CN100403315C CN100403315C CNB2006101397911A CN200610139791A CN100403315C CN 100403315 C CN100403315 C CN 100403315C CN B2006101397911 A CNB2006101397911 A CN B2006101397911A CN 200610139791 A CN200610139791 A CN 200610139791A CN 100403315 C CN100403315 C CN 100403315C
- Authority
- CN
- China
- Prior art keywords
- data
- request
- major control
- query
- agent
- 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.)
- Expired - Fee Related
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模式下,主控数据库执行数据更新后,进一步包括:将所有操作结果复制到辅助数据库上。
一种实现负荷分担的数据库系统,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求,向辅助数据库发送数据查询的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
所述主控数据库,进一步用于给数据代理返回执行结果信息,在高可用性数据复制HDR模式下,将所有操作结果复制到辅助数据库上。
一种实现负荷分担的数据库系统,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求;向辅助数据库发送数据查询的操作请求,或确认接收到的查询请求包含指示主控数据库执行查询操作的信息时,向主控数据库发送查询数据的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
所述主控数据库,进一步用于给数据代理返回更新操作的执行结果信息,在高可用性数据复制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 (13)
1.一种实现负荷分担的数据库访问方法,其特征在于,包括:
a、数据代理接收到数据库访问请求后,判断该访问请求类型,若是数据查询请求,则执行步骤b,若是数据更新请求,则执行步骤c;
b、数据代理访问辅助数据库,由辅助数据库执行查询操作,给数据代理返回查询结果信息,结束;
c、数据代理访问主控数据库,由主控数据库执行数据更新操作。
2.根据权利要求1所述的方法,其特征在于,主控数据库执行数据更新后,进一步包括:给数据代理返回执行结果信息。
3.根据权利要求1或2所述的方法,其特征在于,在高可用性数据复制HDR模式下,主控数据库执行数据更新后,进一步包括:将所有操作结果复制到辅助数据库上。
4.根据权利要求1所述的方法,其特征在于,步骤a所述判断是根据数据库访问请求中的标识进行判定的。
5.根据权利要求1所述的方法,其特征在于,
所述数据更新请求包括数据添加请求、数据删除请求和数据修改请求;
所述更新操作包括:数据添加、数据删除和数据修改。
6.根据权利要求1所述的方法,其特征在于,
所述数据查询请求包括数据查询请求、数据统计请求、数据分析请求;
所述查询操作包括查询、统计、分析。
7.一种实现负荷分担的数据库访问方法,其特征在于,包括:
数据代理接收到数据库访问请求后,判断该访问请求类型,
若是数据查询请求,则进一步判断该查询请求中是否包含指示主控数据库执行查询操作的信息,若包含则所述数据代理访问主控数据库,由主控数据库执行查询操作,给数据代理返回查询结果信息,结束;若不包含,则数据代理访问辅助数据库,由辅助数据库执行查询操作,给数据代理返回查询结果信息,结束;
若是数据更新请求,则所述数据代理访问主控数据库,由主控数据库执行数据更新操作。
8.根据权利要求7所述的方法,其特征在于,主控数据库执行数据更新后,进一步包括:给数据代理返回执行结果信息。
9.根据权利要求7或8所述的方法,其特征在于,在高可用性数据复制HDR模式下,主控数据库执行数据更新后,进一步包括:将所有操作结果复制到辅助数据库上。
10.一种实现负荷分担的数据库系统,其特征在于,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求,向辅助数据库发送数据查询的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
11.根据权利要求10所述的系统,其特征在于,所述主控数据库,进一步用于给数据代理返回执行结果信息,在高可用性数据复制HDR模式下,将所有操作结果复制到辅助数据库上。
12.一种实现负荷分担的数据库系统,其特征在于,包括:数据代理、主控数据库和辅助数据库,其中,
所述数据代理,用于向主控数据库发送更新数据的操作请求;向辅助数据库发送数据查询的操作请求,或确认接收到的查询请求包含指示主控数据库执行查询操作的信息时,向主控数据库发送查询数据的操作请求;
所述主控数据库,用于根据接收的数据更新请求,执行更新操作;或者用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息;
所述辅助数据库,用于根据接收的数据查询请求,执行查询操作,给数据代理返回执行结果信息。
13.根据权利要求12所述的系统,其特征在于,所述主控数据库,进一步用于给数据代理返回更新操作的执行结果信息,在高可用性数据复制HDR模式下,将所有操作结果复制到辅助数据库上。
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 CN1928873A (zh) | 2007-03-14 |
CN100403315C true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013112088A1 (en) * | 2012-01-27 | 2013-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling data-related requests |
Families Citing this family (14)
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 | 北京搜狗科技发展有限公司 | 一种主从分离数据库的读写方法和系统 |
CN102881050B (zh) * | 2012-09-19 | 2015-02-25 | 中国联合网络通信集团有限公司 | 票务处理方法及系统 |
CN103970807B (zh) * | 2013-02-06 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 数据库连接管理方法及系统 |
CN103491155B (zh) * | 2013-09-17 | 2017-04-12 | 北京思特奇信息技术股份有限公司 | 一种实现移动计算和获取移动数据的云计算方法及系统 |
CN104050297B (zh) * | 2014-07-03 | 2017-09-29 | 中国工商银行股份有限公司 | 一种查询事务分配方法及装置 |
CN104166738A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 数据库查询处理的方法及装置 |
CN106897303B (zh) * | 2015-12-18 | 2020-09-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
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数据库集群处理方法及其处理系统 |
CN108509450B (zh) * | 2017-02-27 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 用于处理数据库高并发更新的方法和装置 |
CN107705089B (zh) * | 2017-09-26 | 2021-06-15 | 泰康保险集团股份有限公司 | 业务处理方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1125991A (zh) * | 1993-06-23 | 1996-07-03 | 艾利森电话股份有限公司 | 一种对基于主存储器的数据库进行数据访问的方法 |
WO2001059628A1 (en) * | 2000-02-11 | 2001-08-16 | Acta Technologies, Inc. | High availability database system using live/load database copies |
CN1374606A (zh) * | 2001-03-06 | 2002-10-16 | 时睿软件公司 | 通过计算机网络从数据库获取和集成数据的方法及系统 |
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 |
-
2006
- 2006-09-25 CN CNB2006101397911A patent/CN100403315C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1125991A (zh) * | 1993-06-23 | 1996-07-03 | 艾利森电话股份有限公司 | 一种对基于主存储器的数据库进行数据访问的方法 |
WO2001059628A1 (en) * | 2000-02-11 | 2001-08-16 | Acta Technologies, Inc. | High availability database system using live/load database copies |
CN1374606A (zh) * | 2001-03-06 | 2002-10-16 | 时睿软件公司 | 通过计算机网络从数据库获取和集成数据的方法及系统 |
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013112088A1 (en) * | 2012-01-27 | 2013-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling data-related requests |
Also Published As
Publication number | Publication date |
---|---|
CN1928873A (zh) | 2007-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100403315C (zh) | 一种实现负荷分担的数据库访问方法及系统 | |
US5931935A (en) | File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system | |
KR100625595B1 (ko) | 트랜잭션 처리 시스템의 병렬 로깅 방법 및 트랜잭션 로그 처리 시스템 | |
US7912858B2 (en) | Data synchronization method | |
US8117358B2 (en) | Revenue management system and method utilizing database backup | |
CN102929771B (zh) | 日志记录装置和日志记录方法 | |
CN107787490A (zh) | 分布式数据库网格中的直接连接功能 | |
US7698319B2 (en) | Database system management method, database system, database device, and backup program | |
RU96120166A (ru) | Система и способ эффективного использования кэш-памяти в распределенной файловой системе | |
CN102831156A (zh) | 一种云计算平台上的分布式事务处理方法 | |
CN109617646A (zh) | 报文转换方法、装置、计算机设备及计算机可读存储介质 | |
CN112039970B (zh) | 一种分布式业务锁服务方法、服务端、系统及存储介质 | |
US7188111B2 (en) | System and method for connectivity to structured query language database | |
JP2003296171A (ja) | 電子帳票管理方法及びプログラム | |
WO2003073327A1 (en) | Eager relationship caching of entity beans | |
CN110019469A (zh) | 分布式数据库数据处理方法、装置、存储介质及电子装置 | |
CN105912384A (zh) | 流程引擎事务处理方法及装置 | |
US8527995B2 (en) | Synchronization system for entities maintained by multiple applications | |
CN112751761A (zh) | 交易路由的回切方法、中间系统和业务处理系统 | |
US8830831B1 (en) | Architecture for balancing workload | |
CN113254536A (zh) | 数据库事务处理方法、系统、电子设备及存储介质 | |
JPH1021174A (ja) | データ転送システム | |
CN109299225A (zh) | 日志检索方法、系统、终端及计算机可读存储介质 | |
CN115510072A (zh) | 一种基于多租户SaaS应用平台的主数据引擎 | |
CN1192308C (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 |