CN1740978A - 实现共享内存数据库的方法及内存数据库系统 - Google Patents
实现共享内存数据库的方法及内存数据库系统 Download PDFInfo
- Publication number
- CN1740978A CN1740978A CN 200410064324 CN200410064324A CN1740978A CN 1740978 A CN1740978 A CN 1740978A CN 200410064324 CN200410064324 CN 200410064324 CN 200410064324 A CN200410064324 A CN 200410064324A CN 1740978 A CN1740978 A CN 1740978A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- signal amount
- database
- memory database
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现共享内存数据库的方法,以解决现有的内存数据库存在无法满足高并发量数据访问的问题;该方法包括:创建步骤,用于创建可供多进程访问的共享内存,并将内存数据库保存于该共享内存中;加锁步骤,当所述内存数据库在接收到进程的访问请求时对操作加锁,使进程间互斥访问内存数据库以保证数据的一致性;执行步骤,在操作加锁后由数据库管理系统对数据进行实际操作并输出结果;解锁步骤,用于在执行完进程的访问操作后解除该操作的锁。
Description
技术领域
本发明涉及数据库技术,尤其涉及可供多进程进行数据处理的共享内存数据库。
背景技术
内存数据库是相对于传统磁盘关系型数据库(如Oracle、SQLServer)而言的。传统数据库使用磁盘来保证数据的持久存储,而内存数据库将数据常驻内存,所有的事务/数据的存取只涉及内存。因此内存数据库相对于传统的关系型数据库,可以达到更高的性能、更好的实时性。
在实时性要求比较高的电信软件中,内存数据库使用得比较多。专利号为ZL00134030.1,名称为提高短消息调度中心消息处理能力的方法的专利公开了一种内存数据库的实现方案。这些内存数据库因为其运行环境不同,实现的方案也不一样,但其共同的特点就是:都是单进程的方案,数据库数据只能单进程访问。
在有些要求比较低的运行环境中,单进程的内存数据库实现简单,是能够满足需求的。但是对于电信系统的平台软件,比如智能网业务控制点(SCP)平台,需要高并发量的数据访问,需要多个进程同时进行数据的处理,这时候单进程的内存数据库就无法不能满足要求。
发明内容
本发明提供一种实现共享内存数据库的方法及内存数据库系统,以解决现有的内存数据库存在无法满足高并发量数据访问的问题。
为解决上述问题,本发明提供以下技术方案:
一种实现共享内存数据库的方法,该方法包括:创建步骤,用于创建可供多进程访问的共享内存,并将内存数据库保存于该共享内存中;
加锁步骤,当所述内存数据库在接收到进程的访问请求时对操作加锁,使进程间互斥访问内存数据库以保证数据的一致性;
执行步骤,在操作加锁后由数据库管理系统对数据进行实际操作并输出结果;
解锁步骤,用于在执行完进程的访问操作后解除该操作的锁。
其中:
采用信号量对操作加锁和解锁;每个锁用两个信号量实现,其中一个信号量记录当前可进入的读进程数,即读信号量,另一个信号量记录当前写进程数量,即写信号量。
当所述访问操作为读操作时,先判断写信号量是否大于0;如果是则使读操作进入等待状态,否则,将读信号量减1后进行读操作,并在完成读操作后将读信号量加1。
当所述访问操作为写操作时,先将写信号量加1后判断读信号量是否为最大读进程数;如果是,则进行写操作,并在写操作完成后将写信号量减1,否则使写操作进入等待状态。
所述共享内存包括多个具有唯一标识的共享内存段,进程根据该标识映射共享内存段并记录映射后共享内存段在进程内的首地址,根据该首地址访问此共享内存段内的数据。
一种内存数据库系统,用于供多进程访问;该内存数据库系统包括:
接口模块,用于向外部应用进程提供访问通道;
数据定义语言执行模块,用于根据接口模块输出的操作命令执行创建表、删除表和创建索引操作;
数据字典模块,用于根据数据定义语言执行模块输出的命令管理表结构信息;
数据操作语言执行模块,根据接口模块输出的操作命令执行数据的读、写操作;
索引模块,根据数据操作语言执行模块输出的操作命令组织数据;
锁模块,用于对访问操作进行加锁,并在操作完成后解锁,以在多进程访问共享数据时保证数据的一致性。
内存管理模块,用于管理保存内存数据库的共享内存。
本发明具有以下有益效果:
1、本发明可以实现多进程同时访问内存数据库,能够大大提高的内存数据库的并发查询的性能。
2、本发明能够可以实现动态内存管理的内存数据库,这样就能保证的内存数据库的弹性,使内存数据库可以在各种应用环境上使用。
3、本发明能够实现直接存取数据的内存数据库,应用数据能够通过内存数据库集中管理,同时相对与应用分散管理数据的方式,只会有很小的性能损失。
附图说明
图1为多进程访问共享内存示意图;
图2为系统接口示意图;
图3为本发明的内存数据库系统的逻辑结构图;
图4为T-树索引的逻辑结构图;
图5为本发明的内存管理示意图。
具体实施方式
共享内存是一种由UNIX操作系统提供的进程间通信(IPC)的机制,它允许两个或多个进程共享一给定的存储区。数据放入存储区中,不同进程可以直接存取,不需要在客户机和服务器间进行数据复制,所以这是最快的一种进程间通信方式。使用共享内存的内存数据库的优势是多进程同时访问数据,数据在共享内存中,访问数据的接口在每个进程中,如图1所示。
信号量是一种UNIX操作系统中的进程间通信机制,它是一个计数器,用于多进程对于共享数据对象的存取。信号量是UNIX中一种常见的进程间同步的技术,在本发明中,它用于对多进程访问共享内存的同步。
本发明提供的实现共享内存数据库的方法,包括:
创建步骤,用于创建可供多进程访问的共享内存,并将内存数据库保存于该共享内存中;
加锁步骤,用于所述内存数据库在接收到进程的访问请求时对操作加锁,使进程间互斥访问内存数据库以保证数据的一致性;
执行步骤,用于在操作加锁后由数据库管理系统对数据进行实际操作并输出结果;
解锁步骤,用于在执行完进程的访问操作后解除该操作的锁。
而对加锁和解锁操作是采用信号量实现;每个锁用两个信号量实现,其中一个信号量记录当前可进入的读进程数,即读信号量,另一个信号量记录当前写进程数量,即写信号量。
如图2所示,内存数据库采用库的方式发布,系统中需要访问内存数据库的进程只需要在其程序编译时链接此库即可。
对于内存数据库,重要的是能够提高数据查询的性能,降低处理过程的复杂度是提高性能的方法,因此,使用共享内存实现的内存数据库可以只提供数据的定义和数据的查询功能。具体包括:
表结构的定义:包括字段、字段类型、字段缺省值、主键、索引等的定义;
数据查询:根据字段值查询记录;
数据的修改:包括插入记录、修改记录、删除记录。
参阅图3所示,内存数据库包括:接口模块(IF)、数据定义语言执行模块(DDL)、数据查询语言执行模块(DML)、数据字典模块(DL)、索引模块(INDEX)、锁模块(LOCK)和内存管理模块(MM)。各模块详细说明如下:
1、接口(IF)模块,是提供给外部应用的接口,包括:DDL/DML的执行和其它一些专用接口。其中DDL/DML采用标准结构化查询语言(SQL)语句接口。IF模块解析这些SQL语句,然后传递给DDL或者DML模块。
为了提高执行效率,IF模块还为每个操作(包括:select、update、delete、insert、create table、drop table)提供专用接口。
2、数据定义语言执行模块(DDL),用于处理建表、删表和创建索引等操作。
3、数据操作语言执行模块(DML),用于对数据的查询和修改操作。
DML模块处理DML操作请求时,首先调用LOCK模块进行进程同步的一些处理,然后调用INDEX模块来修改或者查询数据,最后将查询结果组织成标准的输出形式输出给外部应用。对于查询(select),输出的信息就是查询的记录;对于插入(insert)、删除(delete)、更新(update),输出是操作的结果和数据库中被影响的数据行。
4、数据字典模块(DL),用于管理表结构信息,包括表的表名、字段名、字段类型、字段缺省值、索引等等信息。表结构放在共享内存中的专门区域,采用Hash表管理。
5、索引模块(INDEX),用于组织数据,提供高性能的数据查询和修改过程。索引是关系型数据库中最重要的技术之一。
本发明采用T-树进行索引。T-树是数据库中最常用到的一种索引,如图4所示,T-树是在平衡二叉树的基础上提出的一种平衡的两路查找树,T-树的每个节点上可以存储多于一个的码字,可以减少二叉树插入删除引起的平衡次数,它是一颗比平衡二叉树矮胖的树。
如果每个节点上码值个数为5,则100万个码字组成的T-树的高度为[lg(220/5+1)=18],即某表记录数为100万时,只需要访问18个树节点即可找到所需的记录。
6、锁模块(LOCK),用于多进程访问共享数据时的数据一致性控制。内存数据库不同于通用数据库,它的最主要目的是要支持高性能的数据查询和数据修改,并不需要支持事务的概念,因此锁的目标是要保证查询、修改操作之间的互斥,保证查询时不能读到“脏”数据,保证修改时不会影响其它的修改过程。
锁的粒度分为表级和数据块级,还有一些存储在共享内存的数据结构,比如Hash表、链表等,也需要加锁。
因为信号量在进程死亡是可以自动释放,所以锁采用信号量实现。锁分为读锁和写锁。每个锁用两个信号量实现,其中一个信号量记录当前可进入的读进程数(初始值为最大读进程数,后面每进入一个读进程则减1),称为读信号量,另一个信号量记录当前写进程数量(初始值为0,后面每进入一个写进程则加1),称为写信号量。
对于读操作,首先判断写信号量是否大于0,如果大于0,则等待,否则,将读信号量减1,然后读取数据,读取完毕,将读信号量加1;
对于写操作,首先将写信号量加1,然后判断读信号量是否为最大读进程数,如果是,则进行写操作,写操作完成后,将写信号量减1,并将读信号量置为最大进程数。因为一般的应用中读操作数量要远远大于写操作数量,写操作进入时,先置写标志,保证后面的读操作不能进入,写操作只要等待前面已经进入的读进程完成操作即可开始写过程,不至于让写操作等待太多时间。
7、内存管理模块(MM),用于对共享内存进管理,包括共享内存段的管理和内存块的管理。
A、共享内存段管理:共享内存是UNIX的一种IPC,共享内存由某个进程创建后,其它进程只需要做一个映射,就可以访问这块共享内存的数据。
本发明的内存管理可以管理多段共享内存。所有共享内存段在系统内部统一编号,并有一个唯一的ID。需要访问某个共享内存段的进程会判断自己是否已经映射此共享内存段,如果没有映射,则根据此共享内存段的唯一的ID做映射,并记录映射后它在进程内的首地址。此后根据这个首地址,就可以访问此共享内存段内的数据。在访问时如果发现的共享内存段已被其它进程释放,则会重新映射。
共享内存段可以根据数据量动态申请,这样可以充分利用系统的内存资源。
B、内存块管理:如图5所示,所有的内存段都分成大小相等的块,所有的内存数据库的数据,包括索引,记录,锁,表结构等待都放入这些内存块中。
为了更块的释放整表数据,不同的表记录和索引使用不同的数据块
在上述数据库基础上,实现共享内存数据库的方法为:由服务器进程创建可供多进程访问的共享内存,并将内存数据库保存于该共享内存中;当内存数据库在接收到进程的访问请求时对操作加锁,使进程间互斥访问内存数据库以保证数据的一致性;在操作加锁后由数据库管理系统对数据进行实际操作并输出结果;以及于在执行完进程的访问操作后解除该操作的锁。
典型的对内存数据库的操作过程描述如下:
对内存数据库的查询过程:应用进程通过接口模块(IF)提交查询请求,接口模块将请求转换为内部的格式,然后将此请求传递给DML模块处理,DML模块首先调用INDEX模块查找记录地址,然后调用LOCK模块进行加锁,最后调用MM模块读取记录数据,再调用LOCK模块解锁,最后将数据返回给应用进程,一次查询操作即处理完成。对内存数据库的写与此同理。
创建表的过程为:应用进程通过接口(IF)提交创建表请求(SQL),接口将请求转换为内部的格式,然后将此请求传递给数据语言执行模块(DDL)处理,DDL调用DL模块将表结构存入Hash表,然后给接口模块返回保存结果,最后由接口模块将创建表过程的结果返回给应用。
本发明充分利用UNIX的共享内存进程间通信(IPC)功能,实现了以下功能:
1、直接数据存取:每个进程可以直接存取共享内存中的数据;
2、多进程同时数据存取:通过进程间的同步控制,多个进程可以同时存取共享内存中的数据;
3、大容量的、弹性的数据管理:共享内存段大小可配置,共享内存段数量可以在运行过程中动态调整;
本发明实现了一个高性能的、高度灵活的、能在多种场景中使用的内存数据库,尤其是能够多进程同时访问的内存数据库,能够满足高并发量的数据访问要求。
Claims (10)
1、一种实现共享内存数据库的方法,其特征在于该方法包括:
创建步骤,用于创建可供多进程访问的共享内存,并将内存数据库保存于该共享内存中;
加锁步骤,用于所述内存数据库在接收到进程的访问请求时对操作加锁,使进程间互斥访问内存数据库以保证数据的一致性;
执行步骤,用于在操作加锁后由数据库管理系统对数据进行实际操作并输出结果;
解锁步骤,用于在执行完进程的访问操作后解除该操作的锁。
2、如权利要求1所述的方法,其特征在于,对操作加锁和解锁采用信号量实现;每个锁用两个信号量实现,其中一个信号量记录当前可进入的读进程数,即读信号量,另一个信号量记录当前写进程数量,即写信号量。
3、如权利要求2所述的方法,其特征在于,当所述访问操作为读操作时,先判断写信号量是否大于0;如果是则使读操作进入等待状态,否则,将读信号量减1后进行读操作,并在完成读操作后将读信号量加1。
4、如权利要求2所述的方法,其特征在于,当所述访问操作为写操作时,先将写信号量加1后判断读信号量是否为最大读进程数;如果是,则进行写操作,并在写操作完成后将写信号量减1,否则使写操作进入等待状态。
5、如权利要求1至4任一项所述的方法,其特征在于,所述共享内存采用多个具有唯一标识的共享内存段构成,进程根据所述标识映射共享内存段并记录映射后共享内存段在进程内的首地址,根据该首地址访问共享内存段内的数据。
6、如权利要求5所述的方法,其特征在于,当进程发现要访问共享内存段已被释放时则重新进行映射。
7、如权利要求5所述的方法,其特征在于,根据内存数据库的数据量动态申请共享内存段数量。
8、如权利要求要求5所述的方法,其特征在于,将共享内存段划分为大小相等的块,内存数据库的所有数据保存于这些内存块中。
9、如权利要求要求1所述的方法,其特征在于,所述内存数据库中采用T-树组织并索引数据。
10、一种内存数据库系统,用于供多进程访问;其特征在于包括:
接口模块,用于向外部应用进程提供访问通道;
数据定义语言执行模块,用于根据接口模块输出的操作命令执行创建表、删除表和创建索引操作;
数据字典模块,用于根据数据定义语言执行模块输出的命令管理表结构信息;
数据操作语言执行模块,根据接口模块输出的操作命令执行数据的读、写操作;
索引模块,根据数据操作语言执行模块输出的操作命令组织数据;
锁模块,用于对访问操作进行加锁,并在操作完成后解锁,以在多进程访问共享数据时保证数据的一致性;
内存管理模块,用于管理保存内存数据库的共享内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100643248A CN100353325C (zh) | 2004-08-23 | 2004-08-23 | 实现共享内存数据库的方法及内存数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100643248A CN100353325C (zh) | 2004-08-23 | 2004-08-23 | 实现共享内存数据库的方法及内存数据库系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1740978A true CN1740978A (zh) | 2006-03-01 |
CN100353325C CN100353325C (zh) | 2007-12-05 |
Family
ID=36093380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100643248A Active CN100353325C (zh) | 2004-08-23 | 2004-08-23 | 实现共享内存数据库的方法及内存数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100353325C (zh) |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100365632C (zh) * | 2006-04-05 | 2008-01-30 | 华为技术有限公司 | 实现内存数据和数据库数据事务一致性的处理方法 |
CN100416568C (zh) * | 2006-09-14 | 2008-09-03 | 南京中兴软创软件有限公司 | 一种加速数据库查询速度的方法 |
CN101082928B (zh) * | 2007-06-25 | 2010-11-24 | 腾讯科技(深圳)有限公司 | 一种数据库访问的方法及数据库映射系统 |
CN101901250A (zh) * | 2010-06-08 | 2010-12-01 | 中兴通讯股份有限公司 | 一种内存数据库及其数据处理方法 |
CN101119363B (zh) * | 2007-07-20 | 2011-02-16 | 联创科技(南京)有限公司 | 基于统一接口的内存数据库远程并发访问和界面管理方法 |
CN101470627B (zh) * | 2007-12-29 | 2011-06-08 | 北京天融信网络安全技术有限公司 | 一种mips平台下并行多核配置锁的实现方法 |
CN102156700A (zh) * | 2010-02-12 | 2011-08-17 | 华为技术有限公司 | 数据库的访问方法、装置及系统 |
CN101650646B (zh) * | 2009-09-22 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102385526A (zh) * | 2011-11-16 | 2012-03-21 | 深圳市大赢家网络有限公司 | 在多进程之间共享股票数据的方法及装置 |
CN102693162A (zh) * | 2011-12-29 | 2012-09-26 | 中国科学技术大学苏州研究院 | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 |
CN102693159A (zh) * | 2012-05-09 | 2012-09-26 | 上海晨思电子科技有限公司 | 基于用户模式多任务下控制硬件设备的方法及其装置 |
CN102750187A (zh) * | 2012-07-11 | 2012-10-24 | 北京联时空网络通信设备有限公司 | 一种跨进程交互方法及装置 |
WO2012151912A1 (zh) * | 2011-08-16 | 2012-11-15 | 中兴通讯股份有限公司 | 内存数据库对数据的操作方法及装置 |
CN102880704A (zh) * | 2012-09-25 | 2013-01-16 | 上海证券交易所 | 一种新型的并发内存数据组织与访问方法 |
CN101382953B (zh) * | 2008-09-19 | 2013-03-20 | 中兴通讯股份有限公司 | 在用户空间访问文件系统的接口系统与文件读、写方法 |
CN101937387B (zh) * | 2009-06-30 | 2013-04-17 | 中国电信股份有限公司 | 一种测试参数的生成方法和系统 |
CN103064748A (zh) * | 2013-01-05 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 一种Linux下处理多进程间通讯的方法 |
CN103198122A (zh) * | 2013-04-02 | 2013-07-10 | 华为技术有限公司 | 重启内存数据库的方法和装置 |
CN102004743B (zh) * | 2009-09-02 | 2013-08-14 | 中国银联股份有限公司 | 一种用于异构数据库之间数据复制的系统及方法 |
CN103514164A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及系统 |
CN104021145A (zh) * | 2014-05-16 | 2014-09-03 | 华为技术有限公司 | 一种混合业务并发访问的方法和装置 |
CN104021355A (zh) * | 2014-06-20 | 2014-09-03 | 浪潮电子信息产业股份有限公司 | 一种多进程同时操作相同文件的安全性方法 |
CN104636260A (zh) * | 2013-11-06 | 2015-05-20 | 深圳市风景智联科技有限公司 | 一种用于计费业务的数据管理方法及系统 |
CN104933196A (zh) * | 2015-07-13 | 2015-09-23 | 上海斐讯数据通信技术有限公司 | 一种嵌入式系统中数据库管理方法及系统 |
CN104978278A (zh) * | 2014-04-14 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
CN105389226A (zh) * | 2015-10-23 | 2016-03-09 | 上海斐讯数据通信技术有限公司 | 一种访问共享内存异常的系统及方法 |
CN105468635A (zh) * | 2014-09-09 | 2016-04-06 | 上海机电工程研究所 | 一种目标特性实时数据库及其应用方法 |
CN106648939A (zh) * | 2016-12-30 | 2017-05-10 | 上海寰视网络科技有限公司 | 用于进程间资源共享的方法与设备 |
CN107391278A (zh) * | 2017-07-25 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种基于共享内存的前后端通信方法 |
CN107643942A (zh) * | 2016-07-21 | 2018-01-30 | 杭州海康威视数字技术股份有限公司 | 一种状态信息的存储方法及装置 |
CN107704325A (zh) * | 2016-08-08 | 2018-02-16 | 北京百度网讯科技有限公司 | 用于进程间传输消息的方法和装置 |
CN108021339A (zh) * | 2017-11-03 | 2018-05-11 | 网宿科技股份有限公司 | 一种磁盘读写的方法、设备以及计算机可读存储介质 |
CN108052569A (zh) * | 2017-12-07 | 2018-05-18 | 深圳市康必达控制技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算设备 |
CN108062252A (zh) * | 2016-11-08 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种信息交互方法、对象管理方法及装置和系统 |
CN108287835A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
CN109032817A (zh) * | 2018-07-25 | 2018-12-18 | 天津凯发电气股份有限公司 | 一种电能质量管理系统共享内存实现方法 |
CN109032798A (zh) * | 2018-07-25 | 2018-12-18 | 天津凯发电气股份有限公司 | 一种电能质量管理系统共享内存锁控制方法 |
CN109376165A (zh) * | 2018-11-14 | 2019-02-22 | 深圳市金证科技股份有限公司 | 内存数据库锁的实现方法和装置及计算机可读存储介质 |
CN110022341A (zh) * | 2018-01-10 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
CN110058947A (zh) * | 2019-04-26 | 2019-07-26 | 海光信息技术有限公司 | 缓存空间的独占解除方法及相关装置 |
CN110618883A (zh) * | 2019-09-26 | 2019-12-27 | 迈普通信技术股份有限公司 | 一种用于共享内存链表的方法、装置、设备及存储介质 |
CN110888939A (zh) * | 2018-09-06 | 2020-03-17 | 北京京东尚科信息技术有限公司 | 一种数据管理方法和装置 |
CN112632031A (zh) * | 2020-12-08 | 2021-04-09 | 北京思特奇信息技术股份有限公司 | 分布式内存数据库长连接使用的实现方法及系统、电子设备、存储介质 |
CN113157692A (zh) * | 2021-02-07 | 2021-07-23 | 上海万得宏汇信息技术有限公司 | 一种关系型内存数据库系统 |
CN114996244A (zh) * | 2022-07-18 | 2022-09-02 | 北京博华信智科技股份有限公司 | 实时数据库系统的控制方法、装置、设备及存储介质 |
WO2023124424A1 (zh) * | 2021-12-31 | 2023-07-06 | 深圳市兆珑科技有限公司 | 内存数据库的访问方法、装置、系统、服务器及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615203B (zh) * | 2009-07-23 | 2012-04-04 | 中兴通讯股份有限公司 | 并发控制方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE522023C2 (sv) * | 1998-01-22 | 2004-01-07 | Ericsson Telefon Ab L M | Metod för konsistent läsning av objekt i en databas |
US6636901B2 (en) * | 1998-01-30 | 2003-10-21 | Object Technology Licensing Corp. | Object-oriented resource lock and entry register |
SE521433C2 (sv) * | 1998-07-22 | 2003-11-04 | Ericsson Telefon Ab L M | En metod för hantering av risken för en total låsning mellan samtidiga transaktioner i en databas |
CN1262481A (zh) * | 1999-01-27 | 2000-08-09 | 电话通有限公司 | 多个数据库的同步方法及装置 |
CN1165846C (zh) * | 2000-12-07 | 2004-09-08 | 华为技术有限公司 | 提高短消息调度中心消息处理能力的方法 |
US6892199B2 (en) * | 2001-06-29 | 2005-05-10 | Trendium, Inc. | Saving burst data by using semi-merge sorting module |
-
2004
- 2004-08-23 CN CNB2004100643248A patent/CN100353325C/zh active Active
Cited By (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100365632C (zh) * | 2006-04-05 | 2008-01-30 | 华为技术有限公司 | 实现内存数据和数据库数据事务一致性的处理方法 |
CN100416568C (zh) * | 2006-09-14 | 2008-09-03 | 南京中兴软创软件有限公司 | 一种加速数据库查询速度的方法 |
CN101082928B (zh) * | 2007-06-25 | 2010-11-24 | 腾讯科技(深圳)有限公司 | 一种数据库访问的方法及数据库映射系统 |
CN101119363B (zh) * | 2007-07-20 | 2011-02-16 | 联创科技(南京)有限公司 | 基于统一接口的内存数据库远程并发访问和界面管理方法 |
CN101470627B (zh) * | 2007-12-29 | 2011-06-08 | 北京天融信网络安全技术有限公司 | 一种mips平台下并行多核配置锁的实现方法 |
CN101382953B (zh) * | 2008-09-19 | 2013-03-20 | 中兴通讯股份有限公司 | 在用户空间访问文件系统的接口系统与文件读、写方法 |
CN101937387B (zh) * | 2009-06-30 | 2013-04-17 | 中国电信股份有限公司 | 一种测试参数的生成方法和系统 |
CN102004743B (zh) * | 2009-09-02 | 2013-08-14 | 中国银联股份有限公司 | 一种用于异构数据库之间数据复制的系统及方法 |
CN101650646B (zh) * | 2009-09-22 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102156700A (zh) * | 2010-02-12 | 2011-08-17 | 华为技术有限公司 | 数据库的访问方法、装置及系统 |
CN101901250A (zh) * | 2010-06-08 | 2010-12-01 | 中兴通讯股份有限公司 | 一种内存数据库及其数据处理方法 |
WO2012151912A1 (zh) * | 2011-08-16 | 2012-11-15 | 中兴通讯股份有限公司 | 内存数据库对数据的操作方法及装置 |
CN102385526A (zh) * | 2011-11-16 | 2012-03-21 | 深圳市大赢家网络有限公司 | 在多进程之间共享股票数据的方法及装置 |
CN102693162A (zh) * | 2011-12-29 | 2012-09-26 | 中国科学技术大学苏州研究院 | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 |
CN102693159A (zh) * | 2012-05-09 | 2012-09-26 | 上海晨思电子科技有限公司 | 基于用户模式多任务下控制硬件设备的方法及其装置 |
CN102693159B (zh) * | 2012-05-09 | 2015-07-01 | 上海晨思电子科技有限公司 | 基于用户模式多任务下控制硬件设备的方法及其装置 |
CN103514164B (zh) * | 2012-06-15 | 2016-12-21 | 阿里巴巴集团控股有限公司 | 数据迁移方法及系统 |
CN103514164A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及系统 |
CN102750187A (zh) * | 2012-07-11 | 2012-10-24 | 北京联时空网络通信设备有限公司 | 一种跨进程交互方法及装置 |
CN102750187B (zh) * | 2012-07-11 | 2015-11-25 | 北京联嘉众赢网络技术有限公司 | 一种跨进程交互方法及装置 |
CN102880704A (zh) * | 2012-09-25 | 2013-01-16 | 上海证券交易所 | 一种新型的并发内存数据组织与访问方法 |
CN103064748A (zh) * | 2013-01-05 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 一种Linux下处理多进程间通讯的方法 |
CN103198122B (zh) * | 2013-04-02 | 2017-09-29 | 华为技术有限公司 | 重启内存数据库的方法和装置 |
CN103198122A (zh) * | 2013-04-02 | 2013-07-10 | 华为技术有限公司 | 重启内存数据库的方法和装置 |
CN104636260A (zh) * | 2013-11-06 | 2015-05-20 | 深圳市风景智联科技有限公司 | 一种用于计费业务的数据管理方法及系统 |
CN104636260B (zh) * | 2013-11-06 | 2018-03-06 | 深圳市风景智联科技有限公司 | 一种用于计费业务的数据管理方法及系统 |
CN104978278B (zh) * | 2014-04-14 | 2020-05-29 | 创新先进技术有限公司 | 数据处理方法和装置 |
CN104978278A (zh) * | 2014-04-14 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
US9904701B2 (en) | 2014-05-16 | 2018-02-27 | Huawei Technologies Co.,. Ltd. | Method and apparatus for concurrent access of mixed services |
CN104021145B (zh) * | 2014-05-16 | 2018-03-06 | 华为技术有限公司 | 一种混合业务并发访问的方法和装置 |
CN104021145A (zh) * | 2014-05-16 | 2014-09-03 | 华为技术有限公司 | 一种混合业务并发访问的方法和装置 |
CN104021355B (zh) * | 2014-06-20 | 2017-03-29 | 浪潮电子信息产业股份有限公司 | 一种多进程同时操作相同文件的安全性方法 |
CN104021355A (zh) * | 2014-06-20 | 2014-09-03 | 浪潮电子信息产业股份有限公司 | 一种多进程同时操作相同文件的安全性方法 |
CN105468635B (zh) * | 2014-09-09 | 2019-02-15 | 上海机电工程研究所 | 一种目标特性实时数据库及其应用方法 |
CN105468635A (zh) * | 2014-09-09 | 2016-04-06 | 上海机电工程研究所 | 一种目标特性实时数据库及其应用方法 |
CN104933196A (zh) * | 2015-07-13 | 2015-09-23 | 上海斐讯数据通信技术有限公司 | 一种嵌入式系统中数据库管理方法及系统 |
CN104933196B (zh) * | 2015-07-13 | 2019-06-21 | 上海斐讯数据通信技术有限公司 | 一种嵌入式系统中数据库管理方法及系统 |
CN105389226A (zh) * | 2015-10-23 | 2016-03-09 | 上海斐讯数据通信技术有限公司 | 一种访问共享内存异常的系统及方法 |
CN105389226B (zh) * | 2015-10-23 | 2018-07-13 | 上海斐讯数据通信技术有限公司 | 一种访问共享内存异常的系统及方法 |
CN107643942A (zh) * | 2016-07-21 | 2018-01-30 | 杭州海康威视数字技术股份有限公司 | 一种状态信息的存储方法及装置 |
CN107643942B (zh) * | 2016-07-21 | 2020-11-03 | 杭州海康威视数字技术股份有限公司 | 一种状态信息的存储方法及装置 |
CN107704325A (zh) * | 2016-08-08 | 2018-02-16 | 北京百度网讯科技有限公司 | 用于进程间传输消息的方法和装置 |
CN107704325B (zh) * | 2016-08-08 | 2021-08-27 | 北京百度网讯科技有限公司 | 用于进程间传输消息的方法和装置 |
CN108062252A (zh) * | 2016-11-08 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种信息交互方法、对象管理方法及装置和系统 |
CN106648939A (zh) * | 2016-12-30 | 2017-05-10 | 上海寰视网络科技有限公司 | 用于进程间资源共享的方法与设备 |
CN108287835B (zh) * | 2017-01-09 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
CN108287835A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
CN107391278A (zh) * | 2017-07-25 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种基于共享内存的前后端通信方法 |
CN108021339A (zh) * | 2017-11-03 | 2018-05-11 | 网宿科技股份有限公司 | 一种磁盘读写的方法、设备以及计算机可读存储介质 |
CN108021339B (zh) * | 2017-11-03 | 2021-05-04 | 网宿科技股份有限公司 | 一种磁盘读写的方法、设备以及计算机可读存储介质 |
CN108052569A (zh) * | 2017-12-07 | 2018-05-18 | 深圳市康必达控制技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算设备 |
CN110022341A (zh) * | 2018-01-10 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
CN110022341B (zh) * | 2018-01-10 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
CN109032817A (zh) * | 2018-07-25 | 2018-12-18 | 天津凯发电气股份有限公司 | 一种电能质量管理系统共享内存实现方法 |
CN109032798A (zh) * | 2018-07-25 | 2018-12-18 | 天津凯发电气股份有限公司 | 一种电能质量管理系统共享内存锁控制方法 |
CN109032798B (zh) * | 2018-07-25 | 2022-03-18 | 天津凯发电气股份有限公司 | 一种电能质量管理系统共享内存锁控制方法 |
CN110888939A (zh) * | 2018-09-06 | 2020-03-17 | 北京京东尚科信息技术有限公司 | 一种数据管理方法和装置 |
CN109376165A (zh) * | 2018-11-14 | 2019-02-22 | 深圳市金证科技股份有限公司 | 内存数据库锁的实现方法和装置及计算机可读存储介质 |
CN110058947A (zh) * | 2019-04-26 | 2019-07-26 | 海光信息技术有限公司 | 缓存空间的独占解除方法及相关装置 |
CN110618883A (zh) * | 2019-09-26 | 2019-12-27 | 迈普通信技术股份有限公司 | 一种用于共享内存链表的方法、装置、设备及存储介质 |
CN110618883B (zh) * | 2019-09-26 | 2022-09-13 | 迈普通信技术股份有限公司 | 一种用于共享内存链表的方法、装置、设备及存储介质 |
CN112632031A (zh) * | 2020-12-08 | 2021-04-09 | 北京思特奇信息技术股份有限公司 | 分布式内存数据库长连接使用的实现方法及系统、电子设备、存储介质 |
CN113157692A (zh) * | 2021-02-07 | 2021-07-23 | 上海万得宏汇信息技术有限公司 | 一种关系型内存数据库系统 |
CN113157692B (zh) * | 2021-02-07 | 2023-10-27 | 上海万得宏汇信息技术有限公司 | 一种关系型内存数据库系统 |
WO2023124424A1 (zh) * | 2021-12-31 | 2023-07-06 | 深圳市兆珑科技有限公司 | 内存数据库的访问方法、装置、系统、服务器及存储介质 |
CN114996244A (zh) * | 2022-07-18 | 2022-09-02 | 北京博华信智科技股份有限公司 | 实时数据库系统的控制方法、装置、设备及存储介质 |
CN114996244B (zh) * | 2022-07-18 | 2022-10-28 | 北京博华信智科技股份有限公司 | 实时数据库系统的控制方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100353325C (zh) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1740978A (zh) | 实现共享内存数据库的方法及内存数据库系统 | |
US11119997B2 (en) | Lock-free hash indexing | |
US11093459B2 (en) | Parallel and efficient technique for building and maintaining a main memory, CSR-based graph index in an RDBMS | |
Camacho-Rodríguez et al. | Apache hive: From mapreduce to enterprise-grade big data warehousing | |
US9767131B2 (en) | Hierarchical tablespace space management | |
US10042552B2 (en) | N-bit compressed versioned column data array for in-memory columnar stores | |
JP4627777B2 (ja) | データに関数を適用した結果に対する構造化インデックス | |
US5794228A (en) | Database system with buffer manager providing per page native data compression and decompression | |
CN1292370C (zh) | 从源系统复制信息到目标系统的方法 | |
US5794229A (en) | Database system with methodology for storing a database table by vertically partitioning all columns of the table | |
CN1146820C (zh) | 数据库管理系统的动态修改 | |
US6144970A (en) | Technique for inplace reorganization of a LOB table space | |
CN1522409A (zh) | 用于数据库系统的考虑了高速缓存的并行控制方案 | |
US7730099B2 (en) | Storage and retrieval of richly typed hierarchical network models | |
US20090177622A1 (en) | Method and system for speeding up rebuild of user-defined indexes during partition maintenance operations in the database systems | |
CN102163232B (zh) | 一种支持iec61850对象查询的sql接口实现方法 | |
WO2015038442A1 (en) | Processing datasets with a dbms engine | |
ZA200100187B (en) | Value-instance-connectivity computer-implemented database. | |
KR20170024039A (ko) | 유연한 스키마를 사용한 데이터 관리 | |
CN107977446A (zh) | 一种基于数据分区的内存网格数据加载方法 | |
CN100338607C (zh) | 一种组织和访问分布式文件系统目录的方法 | |
CN109690522A (zh) | 一种基于b+树索引的数据更新方法、装置及存储装置 | |
US7310719B2 (en) | Memory management tile optimization | |
CN1825306A (zh) | 基于关系数据库的xml数据存储与访问方法 | |
Arnold et al. | A high-performance distributed relational database system for scalable OLAP processing |
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 |