CN106557562A - 一种单机数据库数据的查询方法及装置 - Google Patents
一种单机数据库数据的查询方法及装置 Download PDFInfo
- Publication number
- CN106557562A CN106557562A CN201611008834.2A CN201611008834A CN106557562A CN 106557562 A CN106557562 A CN 106557562A CN 201611008834 A CN201611008834 A CN 201611008834A CN 106557562 A CN106557562 A CN 106557562A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- unit
- inquiry
- server
- 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
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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Abstract
本发明提供了一种单机数据库数据的查询方法及装置,其中,所述方法包括:设置多个主机与存储数据的存储器连接,并缓存所述数据;所述主机接收客户端的查询情求,并根据所述查询请求从缓存中获取查询数据,并返回所述客户端。节点可以分解查询压力,有效提高查询响应速度。使用单机数据库就可以实现,简单便捷,并可共享同一套存储架构,节约磁盘空间。
Description
技术领域
本发明属于数据库技术领域,尤其是涉及一种单机数据库数据的查询方法及装置。
背景技术
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。
单机数据库是只能运行在单机上,不提供网络功能的数据库。比如ACCESS,FOXPRO等都是单机数据库。
传统单机数据库的部署方式一般为单独的server维护一份磁盘数据,同时server向多个client端服务。在负载不大的情况下,此种架构是完全可以完成所需业务的。但是在每个client的查询量变大,server的负载加重的情况下,单个server的资源就可能达不到向多个client端同时服务的要求,查询响应时间可能会变长,以致于不能支持正常业务。
发明内容
本发明提供了一种单机数据库数据的查询方法及装置,以解决现有技术中由于负载增大,数据库响应查询时间过长的技术问题。
一方面,本发明实施例提供了一种单机数据库数据的查询方法,包括:
设置多个主机与存储数据的存储器连接,并缓存所述数据;
所述主机接收客户端的查询情求,并根据所述查询请求从缓存中获取查询数据,并返回所述客户端。
进一步的,所述接收客户端的查询请求,包括:
同时接收多个客户端的查询请求。
进一步的,所述方法还包括:
在所述数据发生变化时,通过设定的主服务器对所述数据进行加锁,以拒绝所述从服务器访问所述数据;
在完成变化后,主服务器取消所述锁。
进一步的,所述方法还包括:
在所述数据发生变化时,删除缓存的所述数据对应的表;
在客户端查询所述数据时,读取并缓存更新后的数据对应的表。
另一方面,本发明实施例还提供了一种单机数据库数据的查询装置,包括:
设置单元,用于设置多个主机与存储数据的存储器连接,并缓存所述数据;
查询单元,用于接收客户端的查询情求,并根据所述查询请求从从缓存中获取查询数据,并返回所述客户端。
进一步的,所述查询单元用于:
同时接收多个客户端的查询请求。
进一步的,所述装置还包括:
加锁单元,配置于所述主服务器,用于在所述数据发生变化时,对所述数据进行加锁,以拒绝所述从服务器访问所述数据;
取消单元,配置于所述主服务器,用于在变化完成后,主服务器取消所述锁。
更进一步的,所述装置还包括:
删除单元,配置于从服务器中,用于在所述数据发生变化时,从服务器删除缓存的所述数据对应的表;
更新单元,配置于从服务器中,用于在客户端查询所述数据时,读取并缓存更新后的数据对应的表。
本发明实施例提供的单机数据库数据的查询方法及装置,通过与存储器连接的节点缓存数据,并通过上述节点对外界客户端提供查询服务。节点可以分解查询压力,有效提高查询响应速度。使用单机数据库就可以实现,简单便捷,并可共享同一套存储架构,节约磁盘空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的单机数据库数据的查询方法的流程示意图;
图2是本发明实施例二提供的单机数据库数据的查询方法的流程示意图;
图3是本发明实施例二提供的单机数据库数据的查询方法中修改表数据中提交阶段过程示意图;
图4是本发明实施例二提供的单机数据库数据的查询方法中修改表数据中提交完成过程示意图;
图5是本发明实施例三提供的海单机数据库数据的查询装置的结构示意图。
具体实施方式
图1为本发明实施例一提供的单机数据库数据的查询方法的流程图,本实施例可适用于对单机数据库中数据进行查询的情况,该方法可以由单机数据库数据的查询装置来执行,该装置可由软件/硬件方式实现,并可集成于单机数据库中。
参见图1,所述单机数据库数据的查询方法,包括:
S110,设置多个主机与存储数据的存储器连接,并缓存所述数据。
在本实施例中,单机数据库中的数据可存在设定的存储结构中。所述存储结构可以包括:磁盘、磁盘阵列等存储介质中。设定多个主机与存储器连接,示例性的,可以通过数据传输接口或者网络连接,以使得多个主机可以获取存储器中存储的数据。将获取的数据库数据缓存在所述主机中。
S120,所述主机接收客户端的查询情求,并根据所述查询请求从缓存中获取查询数据,并返回所述客户端。
其中,每一台主机可以独立的处理查询请求。具体的,可以通过网络或者其它方式获取查询请求,与原有方式不同的是,主机无需再访问存储器,只需从缓存中查找相应的数据,并将查找到的数据返回客户端,完成查询过程。此外,对于同一主机,可以在同一时刻接收一个查询请求,也可同时接收多个查询请求。以实现提高查询响应能力的目的。
本实施例通过与原有存储器连接的节点缓存数据,并通过上述节点对外界客户端提供查询服务。节点可以分解查询压力,有效提高查询响应速度。使用单机数据库就可以实现,简单便捷,并可共享同一套存储架构,节约磁盘空间。
实施例二
图2是本发明实施例二提供的单机数据库数据的查询方法的流程示意图,本发明实施例以上述实施例为基础,进一步的,增加如下步骤:在所述数据发生变化时,通过预设的主服务器对所述数据进行加锁,以拒绝其它主机访问所述数据;在完成变化后,主服务器取消所述锁。
参见图2,所述单机数据库数据的查询方法,包括:
S210,设置多个主机与存储数据的存储器连接,并缓存所述数据。
S220,所述主机接收客户端的查询情求,并根据所述查询请求从缓存中获取查询数据,并返回所述客户端。
S230,在所述数据发生变化时,通过预设的主服务器对所述数据进行加锁,以拒绝其它主机访问所述数据。
由于数据同一存储在存储器中,在存储器中的数据库数据发生变化时,为保证缓存的数据的一致性。只允许一个主机提供数据的添加、修改、删除服务。在本实施例中,可以预先设定一个主机为主服务器,示例性的,可以选择运算能力最强的主机或者网络传输速度最快的主机。图3是本发明实施例二提供的单机数据库数据的查询方法中修改表数据中提交阶段过程示意图。参考图3,以修改一个表作为示例。当主服务器对表t1进行修改时,在提交阶段,应向其他主机发送对t1表加锁和刷新t1表的命令,以使得其它主机暂时不能访问服务器。以避免主机缓存的数据不一致。
S240,在完成变化后,主服务器取消所述锁。
在存储器更改表数据完成后,主服务器取消锁,并通知其它主机,以使得其它主机可以正常访问存储器中的数据。图4是本发明实施例二提供的单机数据库数据的查询方法中修改表数据中提交完成过程示意图。
本实施例通过增加如下步骤:在所述数据发生变化时,通过预设的主服务器对所述数据进行加锁,以拒绝其它主机访问所述数据;在完成变化后,主服务器取消所述锁。保证了在数据变化时,每个主机中缓存数据的一致性。
在本实施例的一个优选实施方式中,所述方法还包括:在所述数据发生变化时,所述主机删除缓存的所述数据对应的表;在客户端查询所述数据时,读取并缓存更新后的数据对应的表。主机对在对表进行更新时,只需要在其缓存中查询这一张表,如果存在该表,将其从缓存中删除。这个过程不需要读取磁盘,不涉及内存与磁盘的IO交互,可以非常高效的完成。当主机需要使用该表时,才会重新从磁盘读取并进行缓存。可以自由添加或删除查询server以适应业务的负载情况,极大限度的提高了数据库的可扩展性和资源的利用率。
实施例三
图5是本发明实施例三提供的单机数据库数据的查询装置的结构示意图,如图5所示,所述装置包括:
设置单元510,用于设置多个主机与存储数据的存储器连接,并缓存所述数据;
查询单元520,用于接收客户端的查询情求,并根据所述查询请求从从缓存中获取查询数据,并返回所述客户端。
本实施例提供的单机数据库数据的查询装置,通过与原有主机网络连接的节点缓存数据,并通过上述节点对外界客户端提供查询服务。节点可以分解主机的查询压力,有效提高查询响应速度。使用单机数据库就可以实现,简单便捷,并可共享同一套存储架构,节约磁盘空间。
进一步的,所述查询单元,用于:
同时接收多个客户端的查询请求。
进一步的,所述装置还包括:
加锁单元。配置于所述主服务器,用于在所述数据发生变化时,对所述数据进行加锁,以拒绝其它主机访问所述数据;
取消单元,配置于所述主服务器,用于在变化完成后,主服务器取消所述锁。
进一步的,所述装置还包括:
删除单元,配置于从服务器中,用于在所述数据发生变化时,从服务器删除缓存的所述数据对应的表;
更新单元,配置于从服务器中,用于在客户端查询所述数据时,读取并缓存更新后的数据对应的表。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种单机数据库数据的查询方法,其特征在于,包括:
设置多个主机与存储数据的存储器连接,并缓存所述数据;
所述主机接收客户端的查询情求,并根据所述查询请求从缓存中获取查询数据,并返回所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述从服务器接收客户端的查询请求,包括:
所述主机同时接收多个客户端的查询请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述数据发生变化时,通过预设的主服务器对所述数据进行加锁,以拒绝所述其它主机访问所述数据;
在完成变化后,主服务器取消所述锁。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述数据发生变化时,从服务器删除缓存的所述数据对应的表;
在客户端查询所述数据时,读取并缓存更新后的数据对应的表。
5.一种单机数据库数据的查询装置,其特征在于,包括:
设置单元,用于设置多个主机与存储数据的存储器连接,并缓存所述数据;
查询单元,用于接收客户端的查询情求,并根据所述查询请求从从缓存中获取查询数据,并返回所述客户端。
6.根据权利要求5所述的装置,其特征在于,所述查询单元,用于:同时接收多个客户端的查询请求。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
加锁单元。配置于所述主服务器,用于在所述数据发生变化时,对所述数据进行加锁,以拒绝其它主机访问所述数据;
取消单元,配置于所述主服务器,用于在变化完成后,主服务器取消所述锁。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
删除单元,配置于从服务器中,用于在所述数据发生变化时,从服务器删除缓存的所述数据对应的表;
更新单元,配置于从服务器中,用于在客户端查询所述数据时,读取并缓存更新后的数据对应的表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611008834.2A CN106557562A (zh) | 2016-11-14 | 2016-11-14 | 一种单机数据库数据的查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611008834.2A CN106557562A (zh) | 2016-11-14 | 2016-11-14 | 一种单机数据库数据的查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106557562A true CN106557562A (zh) | 2017-04-05 |
Family
ID=58444289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611008834.2A Pending CN106557562A (zh) | 2016-11-14 | 2016-11-14 | 一种单机数据库数据的查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557562A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874806A (zh) * | 2017-05-09 | 2018-11-23 | 广东神马搜索科技有限公司 | 数据查询方法、装置及数据存储系统 |
CN109063177A (zh) * | 2018-08-22 | 2018-12-21 | 中兴飞流信息科技有限公司 | 一种信息查询方法、相关装置及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751292A (zh) * | 2009-12-10 | 2010-06-23 | 四川川大智胜软件股份有限公司 | Atc系统中一种实现多机关键数据一致性功能的方法 |
CN102117309A (zh) * | 2010-01-06 | 2011-07-06 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
CN103064960A (zh) * | 2012-12-31 | 2013-04-24 | 华为技术有限公司 | 数据库查询方法及设备 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
US20150370795A1 (en) * | 2005-12-29 | 2015-12-24 | Amazon Technologies, Inc. | Method and apparatus for stress management in a searchable data service |
-
2016
- 2016-11-14 CN CN201611008834.2A patent/CN106557562A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150370795A1 (en) * | 2005-12-29 | 2015-12-24 | Amazon Technologies, Inc. | Method and apparatus for stress management in a searchable data service |
CN101751292A (zh) * | 2009-12-10 | 2010-06-23 | 四川川大智胜软件股份有限公司 | Atc系统中一种实现多机关键数据一致性功能的方法 |
CN102117309A (zh) * | 2010-01-06 | 2011-07-06 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN103064960A (zh) * | 2012-12-31 | 2013-04-24 | 华为技术有限公司 | 数据库查询方法及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874806A (zh) * | 2017-05-09 | 2018-11-23 | 广东神马搜索科技有限公司 | 数据查询方法、装置及数据存储系统 |
CN109063177A (zh) * | 2018-08-22 | 2018-12-21 | 中兴飞流信息科技有限公司 | 一种信息查询方法、相关装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105324770B (zh) | 有效读出副本 | |
JP6356675B2 (ja) | 集約/グループ化動作:ハッシュテーブル法のハードウェア実装 | |
US10642831B2 (en) | Static data caching for queries with a clause that requires multiple iterations to execute | |
US10838935B2 (en) | Automating the logging of table changes in a database | |
JP5819376B2 (ja) | 列ベースのデータベースに対する列スマートな機構 | |
US20160267132A1 (en) | Abstraction layer between a database query engine and a distributed file system | |
CN103853727B (zh) | 提高大数据量查询性能的方法及系统 | |
US8010533B2 (en) | System for executing a database query | |
US20100257181A1 (en) | Dynamic Hash Table for Efficient Data Access In A Relational Database System | |
US8380702B2 (en) | Loading an index with minimal effect on availability of applications using the corresponding table | |
JP2003006036A (ja) | クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム | |
US20170185645A1 (en) | Database caching in a database system | |
CN104679898A (zh) | 一种大数据访问方法 | |
CN104778270A (zh) | 一种用于多文件的存储方法 | |
CN106716409A (zh) | 基于查询需求从行存储数据库自适应地构建和更新列存储数据库的方法和系统 | |
CN108664516A (zh) | 查询优化方法及相关装置 | |
CN102867070A (zh) | 更新key-value分布式存储系统缓存的方法 | |
CN104854582B (zh) | 存储高效、更新优化的事务型全文索引视图维护的方法和系统 | |
CN111797121A (zh) | 读写分离架构业务系统的强一致性查询方法、装置及系统 | |
CN104270412A (zh) | 一种基于Hadoop分布式文件系统的三级缓存方法 | |
CN109767274B (zh) | 一种对海量发票数据进行关联存储的方法及系统 | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN106557562A (zh) | 一种单机数据库数据的查询方法及装置 | |
CN107169047A (zh) | 一种实现数据缓存的方法及装置 | |
US11341163B1 (en) | Multi-level replication filtering for a distributed database |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170405 |