CN101055591A - 一种全内存数据库的数据存取方法 - Google Patents

一种全内存数据库的数据存取方法 Download PDF

Info

Publication number
CN101055591A
CN101055591A CNA2007101061021A CN200710106102A CN101055591A CN 101055591 A CN101055591 A CN 101055591A CN A2007101061021 A CNA2007101061021 A CN A2007101061021A CN 200710106102 A CN200710106102 A CN 200710106102A CN 101055591 A CN101055591 A CN 101055591A
Authority
CN
China
Prior art keywords
memory database
information
database
data
memory
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
CNA2007101061021A
Other languages
English (en)
Other versions
CN100487705C (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.)
Nanjing ZTE New Software Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2007101061021A priority Critical patent/CN100487705C/zh
Publication of CN101055591A publication Critical patent/CN101055591A/zh
Application granted granted Critical
Publication of CN100487705C publication Critical patent/CN100487705C/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

一种全内存数据库的数据存取方法
技术领域
本发明属于一种数据存取方法,特别涉及一种全内存数据库的数据存取方法。
背景技术
在数据库系统中,磁盘的I/O速度仍然是限制系统处理速度的关键。
在普通数据库中,无法避免地要进行磁盘的I/O操作,只有当应用访问的数据在一段时间内集中在某些记录上时,普通数据库利用数据库自身的缓存机制可以提升系统的部分性能。
而现有的内存数据库通过内存访问方式提高了系统的处理速度,但由于内存具有易失性,当应用程序退出时,内存中的数据无法保存,因此仍然需要与磁盘进行同步备份。
另外在普通数据库与内存数据库中,均无法实现自动清理历史数据的功能,历史数据只能通过调用数据库的删除操作进行删除,或者采用表空间循环使用的方式覆盖老的历史记录。这样,随着时间的增长,历史数据越来越多,而数据量的增大,对数据库的性能影响很大,导致数据库的性能进一步下降。
目前UNIX、Linux、和Windows系统提供了共享内存,共享内存是操作系统中所有程序都可以共同访问的内存。在操作系统不停机的情况下,共享内存可以一直保持,从而解决了现有内存数据库的数据持久性问题。
发明内容
本发明所要解决的技术问题是提供一种高效、持久的全内存数据库及其数据存取方法。
本发明一种全内存数据库的数据存取方法包括下面几个步骤:
步骤一、配置全内存数据库信息。
其中全内存数据库信息包括全内存数据库的规模、主键信息、索引、消息有效期以及扫描记录的周期,由业务流量、记录有效期和组网确定,组网采用负荷分担方式时,可以将数据分散存放。。
主键信息存放在全内存数据库所占内存以外的共享内存中或者同步备份到磁盘中。
其它全内存数据库信息保存在非易失性存储器中。
步骤二、全内存数据库系统初始化。
根据全内存数据库的配置信息在系统自带的共享内存中申请相应的共享内存;加载全内存数据信息,并分配全内存数据库的主键;重建索引;进行备份索引和扫描过期消息定时;建立和上层应用的连接。
其中根据用户需要可以定时将全内存数据库中的数据定时备份到磁盘上,扫描过期消息定时可由定时器实现。
步骤三、根据上层应用业务的操作进行相应数据库操作,并向上层应用返回相应处理结果。
本发明尤其适用于在对数据存取效率要求很高,数据生命周期在一定范围以内的系统,例如短信(SMS)、多媒体消息业务(MMS,MultimediaMessaging Service)等。本发明将数据存放在共享内存中,平时运行时不需要将数据同步到物理磁盘,从而避免了磁盘I/O速度对系统运行速度的影响,即提高了系统的处理速度,增大了系统处理能力,减少了系统的成本以及系统的维护工作量。另外本发明对记录信息设置有有效期,定时清除过期的记录并根据需要通知应用进行相应的处理,从而避免了由数据库规模的不断增长所造成的处理性能下降的问题。
附图说明
图1为本实施例的方法流程图;
图2为运用于MMSC系统的实施例的工作流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明的核心思想是利用系统本身提供的共享内存建立全内存数据库,在此数据库内数据循环使用,同时信息具有有效期,对于过期的记录,全内存数据库清除该记录并根据需要通知应用进行相应的处理。
图1所示为本发明具体实施时流程图,包括以下步骤:
步骤一、配置全内存数据库。
根据业务流量、记录有效期和组网等,计算全内存数据库的规模,从而获得主键信息以及索引;根据业务需求配置记录有效期,以及全内存数据库扫描记录的周期等配置。
其中组网采用负荷分担方式时,数据可以分散存放,即在每个处理机上都部署全内存数据库,根据负荷分担的原则和组网来确定每个处理机上全内存数据库的规模。当负荷分担为平均分担时,全内存数据库的规模也平均设定。
数据库主键信息存放在全内存数据库所占内存以外的共享内存中,或者定时同步到磁盘备份。
上述配置过程即为全内存数据库的初始配置,所有配置信息保存在非易失性存储器中。
步骤二、全内存数据库系统初始化。
启动系统时,读取配置信息,根据配置信息,申请相应的共享内存,然后判断是否有导出的全内存数据信息,如果有则进行加载,并对这些原有的记录分配全内存数据库的主键,主键为记录的数组下标的函数。然后进行索引重建,本实施例采用HASH索引。之后,系统还要设置2个定时器,实现定时备份索引和扫描过期消息。最后,全内存数据库系统建立和上层应用的连接,等待接收上层业务进行数据库操作。
步骤三、根据上层应用发送的操作进行相应数据库操作,并向上层应用返回相应处理结果。
数据库操作包括数据的增(Insert)、删(Delete)、改(Update)、查(Query)等。
其中接收到Insert操作时,要对数据库的主键进行分配和管理,并维护相应的索引,这些索引由全内存数据库系统实现。。
Delete操作需要进行主键释放和索引删除。
Update和Query操作不涉及主键和索引的修改。进行Update操作时,全内存数据库根据主键或者索引,查找到记录,然后将其中的字段修改为应用所提供的字段内容。
进行Query操作时,根据主键或者索引,查找到记录,然后将记录返回。
上述全内存数据库的内容在操作系统不重启的情况下持久存在,也可以根据需要定时同步到磁盘,以保证数据的持久性。
采用了本发明的多媒体消息中心(MMSC)的两个手机终端间发送多媒体消息的过程如图2所示,该过程中,发送端不要求消息永久存储或延时发送,接收端在收到通知消息后立即获取。
步骤a、根据多媒体消息中心(MMSC)的容量大小,以及MMS业务的业务模型,计算并设定全内存数据库的规模、消息的有效期以及扫描记录的周期。
例如MMSC的容量为100条/秒,实际上业务量高的时候为早上7点~晚上11点,共16个小时;其余时间的业务量很小,可以忽略;根据业务需求,记录有效期为48小时,用户在48小时(2天)内不来获取(此部分的用户数据需要在MMSC的全内存数据库中保存48小时)的比例占62.5%计算,则全内存数据库的规模为=16(小时)*62.5%*2(天)*3600(每小时的秒数)*100条/秒=7200000条记录。根据过期消息处理和删除的及时性需要,来配置扫描记录过期的周期,根据目前的多媒体消息业务,过期消息要及时出话单,这样,配置扫描过期的周期为1秒。
当采用负荷分担的组网,在每个处理机上都部署全内存数据库,数据分散存放,则多个节点上的容量可以叠加。例如6个节点可以达到600条/秒。
当实际的业务模型有所变化时,则相应的计算公式也有变化。例如延迟获取的用户的比例大小、系统的忙时时间等变化。
步骤b、在MMSC系统内部,根据配置信息在共享内存中设置一个全内存数据库模块。
步骤c、在全内存数据库中设置相关的数据增(Insert)、删(Delete)、改(Update)、查(Query)等接口,这些接口可以由用户自定义设置,不同机器间也可以采用TCP/IP协议进行通讯。这些接口都包含请求/响应机制,响应消息是可选的。
步骤d、在MMSC的全内存数据库中,定时将共享内存的信息数据写到磁盘上。可以采用操作系统的定时任务,或者由全内存数据库自己实现。
全内存数据库通过导入导出模块进行与磁盘信息数据的读写。在导出过程中,该模块连接全内存数据库的共享内存,然后读取其中的内容,写入磁盘。在导入过程中,该模块从磁盘读取数据文件,将信息写入全内存数据库的共享内存中,供全内存数据库访问。
步骤e、建立和业务程序的连接,接收业务程序数据操作请求和返回相应的响应消息。
其中多媒体消息的控制信息的存储、查询、更新、删除等操作由业务程序来驱动,全内存数据库模块被动的接收消息,进行相应的处理。
步骤e进一步地包括:
步骤e1:发送方UA编辑并提交Mm1接口的多媒体消息到多媒体消息中心;
步骤e2:多媒体消息中心接收到消息后返回Mm1接口提交消息响应;
步骤e3:多媒体消息中心的Relay/Server模块向全内存数据库模块插入多媒体消息的控制信息。
步骤e4:全内存数据库给多媒体消息中心的Relay/Server模块返回插入多媒体消息的控制信息的结果。
步骤e5:多媒体消息中心发送通告消息请求到接收方UA;
步骤e6:接收方UA来获取多媒体消息;
步骤e7:多媒体消息中心的Relay/Server模块向全内存数据库查询多媒体消息的控制信息。
步骤e8:全内存数据库给多媒体消息中心的Relay/Server模块返回多媒体消息的控制信息。
步骤e9:多媒体消息中心发送获取响应消息给用户终端。
步骤e10:接收方UA接收到多媒体消息后返回通告消息响应给多媒体消息中心;
步骤e11:多媒体消息中心的Relay/Server模块向全内存数据库查询多媒体消息的控制信息。
步骤e12:全内存数据库给多媒体消息中心的Relay/Server模块返回多媒体消息的控制信息。然后多媒体消息中心的Relay/Server模块根据此多媒体消息的控制信息,产生计费话单的相应的日志。
步骤e13:多媒体消息中心的Relay/Server模块向全内存数据库发送删除媒体消息的控制信息的请求。
步骤e14:全内存数据库给多媒体消息中心的Relay/Server模块返回删除多媒体消息的控制信息的结果。
步骤e15:多媒体消息中心发送递送报告消息给发送方UA。

Claims (10)

1、一种全内存数据库的数据存取方法,包括以下步骤:
步骤一、配置全内存数据库信息;
步骤二、全内存数据库系统初始化;
步骤三、根据上层应用业务的操作进行相应数据库操作,并向上层应用返回相应处理结果。
2、如权利要求1所述的方法,其特征在于,步骤一中所述全内存数据库信息,包括全内存数据库的规模、主键信息、索引、消息有效期以及扫描记录的周期,所述全内存数据库信息由业务流量、记录有效期和组网确定。
3、如权利要求2所述的方法,其特征在于,所述组网是采用负荷分担方式,将数据分散存放。
4、如权利要求2所述的方法,其特征在于,所述主键信息存放在所述全内存数据库所占内存以外的共享内存中或者同步备份到磁盘中。
5、如权利要求1所述的方法,其特征在于,步骤二进一步包括:
根据步骤一的配置信息在系统自带的共享内存中申请相应的共享内存;加载全内存数据信息,并分配全内存数据库的主键;重建索引;进行备份索引和扫描过期消息定酎;建立和上层应用的连接。
6、一种应用于多媒体消息中心系统的全内存数据库的数据存取方法,包括以下步骤:
步骤一、根据多媒体消息中心的容量大小,及其业务模型,设定全内存数据库的规模、消息的有效期以及扫描记录的周期。
步骤二、根据步骤一中的配置信息初始化全内存数据库,设置数据库操作接口。
步骤三、建立和业务程序的连接,接收业务程序数据操作请求,进行数据库操作和返回相应的响应消息。
7、如权利要求6所述的方法,其特征在于,所述消息的有效期以及扫描记录的周期由定时器实现。
8、如权利要求6所述的方法,其特征在于,所述步骤二中所述接口由用户自定义设置,不同机器间采用TCP/IP协议进行通讯;所述接口具有请求/响应机制。
9、如权利要求6所述的方法,其特征在于,所述全内存数据库采用操作系统的定时任务实现将共享内存的信息数据定时备份到磁盘上。
10、如权利要求6所述的方法,其特征在于,所述全内存数据库采用导入导出模块定时将享内存的信息数据备份到磁盘上,该模块连接全内存数据库的共享内存到磁盘,读取共享内存中的内容,写入磁盘。
CNB2007101061021A 2007-05-25 2007-05-25 一种全内存数据库的数据存取方法 Expired - Fee Related CN100487705C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101061021A CN100487705C (zh) 2007-05-25 2007-05-25 一种全内存数据库的数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101061021A CN100487705C (zh) 2007-05-25 2007-05-25 一种全内存数据库的数据存取方法

Publications (2)

Publication Number Publication Date
CN101055591A true CN101055591A (zh) 2007-10-17
CN100487705C CN100487705C (zh) 2009-05-13

Family

ID=38795426

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101061021A Expired - Fee Related CN100487705C (zh) 2007-05-25 2007-05-25 一种全内存数据库的数据存取方法

Country Status (1)

Country Link
CN (1) CN100487705C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242356B (zh) * 2007-12-06 2010-08-18 中兴通讯股份有限公司 Iptv系统中内存数据库的实现方法及iptv系统
CN102073690A (zh) * 2010-12-16 2011-05-25 四川川大智胜软件股份有限公司 一种支持历史Key信息的内存数据库
CN103197988A (zh) * 2012-01-05 2013-07-10 中国移动通信集团湖南有限公司 一种数据备份、恢复的方法、设备和数据库系统
CN103198122A (zh) * 2013-04-02 2013-07-10 华为技术有限公司 重启内存数据库的方法和装置
CN103995890A (zh) * 2014-05-30 2014-08-20 杭州智屏软件有限公司 一种实时音频指纹检索库数据更新和检索方法
CN104182436A (zh) * 2014-02-25 2014-12-03 无锡天脉聚源传媒科技有限公司 一种清理数据库的方法及装置
CN104504144A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种获取索引相关信息的方法和设备
CN105045874A (zh) * 2015-07-17 2015-11-11 浪潮(北京)电子信息产业有限公司 一种提高数据库性能的方法及装置
CN105447136A (zh) * 2015-11-20 2016-03-30 上海斐讯数据通信技术有限公司 基于WiFi智能插座的提高数据库写入速度的方法及系统
CN105868216A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 一种实现对象过期操作的方法、装置和设备
CN110109873A (zh) * 2019-05-08 2019-08-09 重庆大学 一种用于消息队列的文件管理方法
CN113420334A (zh) * 2021-07-21 2021-09-21 北京优奥创思科技发展有限公司 一种依据授权期限按字段清除过期信息的数据保护方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242356B (zh) * 2007-12-06 2010-08-18 中兴通讯股份有限公司 Iptv系统中内存数据库的实现方法及iptv系统
CN102073690A (zh) * 2010-12-16 2011-05-25 四川川大智胜软件股份有限公司 一种支持历史Key信息的内存数据库
CN102073690B (zh) * 2010-12-16 2012-09-05 四川川大智胜软件股份有限公司 一种支持历史Key信息的内存数据库的构建方法
CN103197988A (zh) * 2012-01-05 2013-07-10 中国移动通信集团湖南有限公司 一种数据备份、恢复的方法、设备和数据库系统
CN103198122B (zh) * 2013-04-02 2017-09-29 华为技术有限公司 重启内存数据库的方法和装置
CN103198122A (zh) * 2013-04-02 2013-07-10 华为技术有限公司 重启内存数据库的方法和装置
CN104182436B (zh) * 2014-02-25 2017-10-03 无锡天脉聚源传媒科技有限公司 一种清理数据库的方法及装置
CN104182436A (zh) * 2014-02-25 2014-12-03 无锡天脉聚源传媒科技有限公司 一种清理数据库的方法及装置
CN103995890A (zh) * 2014-05-30 2014-08-20 杭州智屏软件有限公司 一种实时音频指纹检索库数据更新和检索方法
CN104504144A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种获取索引相关信息的方法和设备
CN105868216A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 一种实现对象过期操作的方法、装置和设备
CN105868216B (zh) * 2015-01-22 2019-11-19 阿里巴巴集团控股有限公司 一种实现对象过期操作的方法、装置和设备
CN105045874A (zh) * 2015-07-17 2015-11-11 浪潮(北京)电子信息产业有限公司 一种提高数据库性能的方法及装置
CN105045874B (zh) * 2015-07-17 2018-06-12 浪潮(北京)电子信息产业有限公司 一种提高数据库性能的方法及装置
CN105447136A (zh) * 2015-11-20 2016-03-30 上海斐讯数据通信技术有限公司 基于WiFi智能插座的提高数据库写入速度的方法及系统
CN110109873A (zh) * 2019-05-08 2019-08-09 重庆大学 一种用于消息队列的文件管理方法
CN110109873B (zh) * 2019-05-08 2023-04-07 重庆大学 一种用于消息队列的文件管理方法
CN113420334A (zh) * 2021-07-21 2021-09-21 北京优奥创思科技发展有限公司 一种依据授权期限按字段清除过期信息的数据保护方法

Also Published As

Publication number Publication date
CN100487705C (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
CN101055591A (zh) 一种全内存数据库的数据存取方法
CN101853287B (zh) 数据压缩快速检索文件系统及其方法
CN1828556A (zh) 一种数据存储的方法、系统及设备
CN1878301A (zh) 一种视频监控数据存储管理方法及系统
CN101064630A (zh) 一种数据同步方法及系统
US20080126357A1 (en) Distributed file storage and transmission system
CN102915336A (zh) 一种基于时间戳和日志的增量数据捕获和抽取方法
CN102375837A (zh) 数据采集系统和方法
CN101039278A (zh) 数据管理方法及系统
CN101079126A (zh) 一种管理沟通记录的系统及方法
CN1558342A (zh) 一种利用公众信息网实现通讯录信息同步更新的方法
CN1842063A (zh) 一种即时通信方法
CN1901695A (zh) 使用vm应用程序的短消息管理系统与移动通信终端
CN1592203A (zh) 使用通知联结来管理高速缓存对象的系统和方法
CN101046722A (zh) 在客户端内容发送窗口中编辑图片的方法及客户端
CN104113466A (zh) 一种骚扰电话的识别方法、客户端、服务器及系统
CN101046807A (zh) 存储数据已读的方法及装置
CN1933633A (zh) 用户信息更新方法
CN1471273A (zh) 利用即时通讯工具创建动态讨论组的实现方法和控制流程
CN102045399B (zh) 云计算模式文件系统及文件读取方法
CN1996305A (zh) 一种数据存储及读取方法及装置以及数据传输系统
CN101035130A (zh) 一种基于浏览器/服务器结构的信息分配方法及系统
CN1581161A (zh) 一种实现对数据库快速访问的方法
CN1713621A (zh) 一种企业即时通信方法及系统
CN100341270C (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
ASS Succession or assignment of patent right

Owner name: NANJING ZHONGXING NEW SOFTWARE CO., LTD

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20150512

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 210012 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150512

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090513

Termination date: 20160525

CF01 Termination of patent right due to non-payment of annual fee