CN103336828A - 实时数据库读取及写入方法 - Google Patents

实时数据库读取及写入方法 Download PDF

Info

Publication number
CN103336828A
CN103336828A CN201310282066XA CN201310282066A CN103336828A CN 103336828 A CN103336828 A CN 103336828A CN 201310282066X A CN201310282066X A CN 201310282066XA CN 201310282066 A CN201310282066 A CN 201310282066A CN 103336828 A CN103336828 A CN 103336828A
Authority
CN
China
Prior art keywords
index block
target
real
block
replisome
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
CN201310282066XA
Other languages
English (en)
Other versions
CN103336828B (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.)
China Southern Power Grid Digital Platform Technology Guangdong Co ltd
Original Assignee
Shenzhen Comtop Information Technology 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 Shenzhen Comtop Information Technology Co Ltd filed Critical Shenzhen Comtop Information Technology Co Ltd
Priority to CN201310282066.XA priority Critical patent/CN103336828B/zh
Publication of CN103336828A publication Critical patent/CN103336828A/zh
Application granted granted Critical
Publication of CN103336828B publication Critical patent/CN103336828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明涉及一种实时数据库写入及读取方法,其中写入方法包括查找写入数据的目标测点;在目标测点下查找写入数据的目标索引块;复制该目标索引块,生成目标索引块复制体,索引块复制体指向目标数据块;将写入数据添加到目标数据块的末尾;更新目标索引块复制体信息;对实时数据库加入写锁,屏蔽实时数据库的读取操作;修改目标索引块的上一个索引块,使其索引至目标索引块复制体。实施本发明的实时数据库读取及写入方法,对于数据库的各项操作都是独立的,能够实现并行访问,同时还能提高实时数据库的工作效率。

Description

实时数据库读取及写入方法
技术领域
本发明涉及实时数据库技术,更具体地说,涉及一种实时数据库读取及写入方法。
背景技术
实时数据库具有测点数量多,数据存储量大,写入速度高,查询请求频繁的特点,是工业监控系统中用来存放过程历史数据的基础数据库。在现有的实时数据库中,内存数据仅支持并发读取操作,即多点读取,但是却不支持并发读写操作,在同时存在读写请求的情况,无法同时执行,限制了实时数据库对内存数据的并发访问能力,降低了整体的效率。
发明内容
本发明针对现有的实时数据库无法支持并发读写的缺陷,提供一种实时数据库的写入及读取方法以解决上述缺陷。
本发明的一个方面,提供一种实时数据库写入方法,包括以下步骤:
查找写入数据的目标测点;
在目标测点下查找写入数据的目标索引块;
复制该目标索引块,生成目标索引块复制体,索引块复制体指向目标数据块;
将写入数据添加到目标数据块的末尾;
更新目标索引块复制体信息;
对实时数据库加入写锁,屏蔽实时数据库的读取操作;
修改目标索引块的上一个索引块,使其索引至目标索引块复制体。
本发明的实时数据库写入方法,还包括释放写锁的步骤。
本发明的实时数据库写入方法,还包括回收目标索引块的步骤。
本发明的实时数据库写入方法,其中更新目标索引块复制体信息的步骤包括:
更新目标索引块复制体中的目标数据块的数据长度。
本发明的实时数据库写入方法,其中修改目标索引块的上一个索引块的步骤包括:
修改上一数据块内的下一索引块编号为目标索引块复制体。
本发明还提供一种实时数据库读取方法,包括以下步骤:
查找读取数据的目标测点;
在目标测点下查找读取数据的目标索引块;
对实时数据库加入读锁,屏蔽实时数据库的写入操作;
复制该目标索引块,生成目标索引块复制体,索引块复制体指向目标数据块;
读取索引块复制体指向的目标数据块。
本发明的实时数据库读取方法,还包括:
在读取目标数据块完成后,释放读锁。
本发明的实时数据库读取方法,还包括:
在读取目标数据块完成后,回收索引块复制体。
实施本发明的实时数据库读取及写入方法,所有的读写操作均是通过复制的索引块进行,而不是直接对原有的索引块进行直接操作,由于所有操作都按照复制索引块的方式,保证每次操作都是访问索引块的复制体,避免直接操作索引块本身,从而达到所有操作相互独立的效果,操作完成后采用事务方式提交操作结果,最终实现数据的并发访问。相比于原先的访问方法,本发明仅在对复制索引块操作的时候加入读写锁,使得整个锁定的时间大幅度降低,提高了实时数据库的工作效率。
附图说明
以下结合附图对本发明进行说明,其中:
图1为应用本发明较佳实施例的实时数据库的写入及读取方法的实时数据库的数据结构图;
图2为图1所示的实时数据库中索引块的结构图;
图3为本发明较佳实施例的实时数据库的写入方法流程图;
图4为本发明较佳实施例的实时数据库的读取方法流程图。
具体实施方式
以下结合附图和具体实施方式对本发明进行详细说明。
首先结合图1和图2,说明在本发明中的实时数据库的数据结构。如图1所示为本发明实时数据库的数据结构图。在实时数据库中各个数据被分割成数据块进行保存。每个数据块由一个索引块来指向定位,多个相邻的索引块串联成索引链,归属于对应的测点,例如1号测点、2号测点……N号测点。当需要对实时数据库进行访问,例如读取、写入等操作的时候,首先找到对应的测点,然后从测点出发,沿着索引链向下查询,直到查找到目标的索引块。
为了保证索引块能够正常的指示数据块,在本发明中索引块的结构如图2所示,每个索引块的数据包括以下几个部分:测点编号,用于表示该索引块归属于哪一个测点;数据类型,用于表示数据块中的数据是何种文件,具体的数据类型由实际使用决定,例如表示时间数据等;下一个索引块的编号,相当于一个指针,通过在索引块加入下一索引块的编号,实时数据库能够将归属于同一个测点的所有索引块串联成一条索引链;关联数据块的编号,用于使索引块找到对应的数据块;关联数据块的长度,标记对应的数据块占用的数据空间。
为了避免采用现有的实时数据块访问中,不管是读取还是写入数据,都是直接对索引块和数据块进行操作,一旦开始读写,为了避免出现数据错误,只能够依次序进行操作,无法并行访问,而造成效率低下,本发明采用了复制索引块的方式,以克服这一问题。
在进行数据写入的时候,其步骤如图3.a所示,写入的步骤如下:首先在步骤S101,根据写入数据的目标,从所有的测点中找到待写入数据块的目标测点;此后在步骤S102中,从查找到的目标测点开始,依次序从索引链中找到对应的索引块,该索引块为目标索引块,其对应的数据块就是本次写入数据的目标点;S103,在找到了写入数据的目标之后,先将目标索引块复制一个,作为其复制体,而对于目标索引块则不进行操作,此时目标索引块和其复制体均指向同一个数据块;然后在步骤S104中,将待写入的数据调价到该目标数据块的末尾;由于写入了数据,数据块的长度改变,此时在步骤S105中相应的更新复制体中的相关数据,例如关联数据块的长度等。当写入的数据过程完成之后,需要在步骤S106中对实时数据库暂时的加入写锁,暂时的屏蔽实时数据库的读取操作,然后在步骤S107中修改目标索引块的上一个索引块,使其索引至目标索引块复制体,具体的方法是对于上一索引块中的“下一个索引块的编号”进行修改,从原来的目标索引块改为目标索引块复制体即在索引链中,用复制体替换原来的索引块。在替换完成之后,执行步骤S108,释放写锁,使得实时数据库恢复可读,由于索引块已更新,因此将原来的目标索引块进行回收处理,以释放实时数据库的空间。
由于在整个写入过程中,写锁的执行时间仅是在索引块的替换中进行,而索引块的数据大小一般只是4K左右的大小,对于现在的实时数据库系统来说这个时间接近为0。因此,从使用的角度上看,这次的写入完全与其他的读写操作不冲突,可以认为是并行访问。
另一方面,在实时数据库的读取过程上,采用如下步骤:S201、查找读取数据的目标测点;S202,在步骤S201得到的目标测点下查找读取数据的目标索引块;步骤S203、在找到目标索引块之后对实时数据库加入读锁,暂时屏蔽实时数据库的写入操作,此时无法对数据块进行写入,以保证不会读取到错误的数据;然后在步骤S204中,复制查询到的目标索引块,以生成目标索引块复制体,该索引块复制体指向目标数据块;在步骤S205中读取索引块复制体指向的目标数据块。读取完成之后,执行步骤S206,释放读锁,使得实时数据库恢复可写,最后在步骤S207中将索引块复制体回收。
由于从加入读锁到解除读锁的过程中仅比原来的读取方法多消耗复制索引块这一时间,而复制的过程消耗掉的时间几乎为0,而通过复制索引块能够有效的避免读写冲突,从而实现并发访问。
以上仅为本发明具体实施方式,不能以此来限定本发明的范围,本技术领域内的一般技术人员根据本创作所作的均等变化,以及本领域内技术人员熟知的改变,都应仍属本发明涵盖的范围。

Claims (8)

1.一种实时数据库写入方法,其特征在于,包括以下步骤:
查找写入数据的目标测点;
在查找到的目标测点下查找写入数据的目标索引块;
复制该目标索引块,生成目标索引块复制体,索引块复制体指向目标数据块;
将写入数据添加到目标数据块的末尾;
更新目标索引块复制体信息;
对实时数据库加入写锁,屏蔽实时数据库的读取操作;
修改目标索引块的上一个索引块,使其索引至目标索引块复制体。
2.根据权利要求1所述的实时数据库写入方法,其特征在于,还包括释放写锁的步骤。
3.根据权利要求1所述的实时数据库写入方法,其特征在于,还包括回收目标索引块的步骤。
4.根据权利要求1所述的实时数据库写入方法,其特征在于,所述更新目标索引块复制体信息的步骤包括:
更新目标索引块复制体中的目标数据块的数据长度。
5.根据权利要求1所述的实时数据库写入方法,其特征在于,所述修改目标索引块的上一个索引块的步骤包括:
修改上一数据块内的下一索引块编号为目标索引块复制体。
6.一种实时数据库读取方法,其特征在于,包括以下步骤:
查找读取数据的目标测点;
在目标测点下查找读取数据的目标索引块;
对实时数据库加入读锁,屏蔽实时数据库的写入操作;
复制该目标索引块,生成目标索引块复制体,索引块复制体指向目标数据块;
读取索引块复制体指向的目标数据块。
7.根据权利要求4所述的实时数据库读取方法,其特征在于,还包括以下步骤:
在读取目标数据块完成后,释放读锁。
8.根据权利要求4所述的实时数据库读取方法,其特征在于,还包括一以下步骤:在读取目标数据块完成后,回收索引块复制体。
CN201310282066.XA 2013-07-05 2013-07-05 实时数据库读取及写入方法 Active CN103336828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310282066.XA CN103336828B (zh) 2013-07-05 2013-07-05 实时数据库读取及写入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310282066.XA CN103336828B (zh) 2013-07-05 2013-07-05 实时数据库读取及写入方法

Publications (2)

Publication Number Publication Date
CN103336828A true CN103336828A (zh) 2013-10-02
CN103336828B CN103336828B (zh) 2017-10-03

Family

ID=49244993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310282066.XA Active CN103336828B (zh) 2013-07-05 2013-07-05 实时数据库读取及写入方法

Country Status (1)

Country Link
CN (1) CN103336828B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373566A (zh) * 2014-08-30 2016-03-02 华为技术有限公司 在线重建索引方法及装置
CN107967360A (zh) * 2017-12-22 2018-04-27 广东雅达电子股份有限公司 一种实时数据库文件存储方法
CN110716923A (zh) * 2019-12-12 2020-01-21 腾讯科技(深圳)有限公司 数据处理方法、装置、节点设备及存储介质
CN111400279A (zh) * 2020-03-12 2020-07-10 腾讯科技(深圳)有限公司 数据操作方法、装置和计算机可读存储介质
CN111552740A (zh) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 数据处理方法及装置
CN113407573A (zh) * 2021-06-11 2021-09-17 广发证券股份有限公司 一种实现多索引内存数据并发读写的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970488A (en) * 1997-05-05 1999-10-19 Northrop Grumman Corporation Real-time distributed database system and method
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件系统的快照方法
CN101631328A (zh) * 2009-08-14 2010-01-20 北京星网锐捷网络技术有限公司 一种对共享资源互斥访问的同步方法、装置和网络设备
CN101692252A (zh) * 2009-08-31 2010-04-07 上海宝信软件股份有限公司 文件空闲块的分配和回收方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970488A (en) * 1997-05-05 1999-10-19 Northrop Grumman Corporation Real-time distributed database system and method
CN101178677A (zh) * 2007-11-09 2008-05-14 中国科学院计算技术研究所 一种计算机文件系统的快照方法
CN101631328A (zh) * 2009-08-14 2010-01-20 北京星网锐捷网络技术有限公司 一种对共享资源互斥访问的同步方法、装置和网络设备
CN101692252A (zh) * 2009-08-31 2010-04-07 上海宝信软件股份有限公司 文件空闲块的分配和回收方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐继勇等: "基于DPB+-Tree的索引复制策略研究", 《计算机科学》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373566A (zh) * 2014-08-30 2016-03-02 华为技术有限公司 在线重建索引方法及装置
WO2016029748A1 (zh) * 2014-08-30 2016-03-03 华为技术有限公司 在线重建索引方法及装置
CN105373566B (zh) * 2014-08-30 2018-01-23 华为技术有限公司 在线重建索引方法及装置
CN107967360A (zh) * 2017-12-22 2018-04-27 广东雅达电子股份有限公司 一种实时数据库文件存储方法
CN110716923A (zh) * 2019-12-12 2020-01-21 腾讯科技(深圳)有限公司 数据处理方法、装置、节点设备及存储介质
CN111400279A (zh) * 2020-03-12 2020-07-10 腾讯科技(深圳)有限公司 数据操作方法、装置和计算机可读存储介质
CN111552740A (zh) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 数据处理方法及装置
CN111552740B (zh) * 2020-04-28 2023-09-12 腾讯科技(深圳)有限公司 数据处理方法及装置
CN113407573A (zh) * 2021-06-11 2021-09-17 广发证券股份有限公司 一种实现多索引内存数据并发读写的方法

Also Published As

Publication number Publication date
CN103336828B (zh) 2017-10-03

Similar Documents

Publication Publication Date Title
CN103336828A (zh) 实时数据库读取及写入方法
CN101169751B (zh) 具有闪存设备的系统及其数据恢复方法
US9626286B2 (en) Hardware and firmware paths for performing memory read processes
CN100541455C (zh) 使用请求调页技术的系统中减少页替换时间的方法和设备
CN103646063B (zh) 一种星载高速文件管理系统
CN109426619A (zh) 访问快闪存储器模块的方法及相关闪存控制器与电子装置
JP5969130B2 (ja) 情報処理装置
CN104516959A (zh) 一种管理数据库日志的方法及装置
CN105988723A (zh) 一种快照处理方法及装置
CN105912475A (zh) 用于ssd上的写时复制的系统和方法
US7925821B2 (en) Nonvolatile semiconductor storage device and method of managing the same
CN105608214B (zh) 对布控车牌号码进行快速搜索的方法
CN104021145A (zh) 一种混合业务并发访问的方法和装置
CN103970669A (zh) 用于加速在固态设备中的回收操作的物理到逻辑地址映射
KR20150053720A (ko) 논리 블록 주소의 아토믹 스왑 및 트림을 위한 swat 커맨드 및 애플리케이션 프로그래밍 인터페이스
CN106598493A (zh) 一种固态硬盘地址映射表管理方法
CN104598386A (zh) 通过追踪和利用二级映射索引重复利用固态驱动器块
US7822940B2 (en) Apparatus and method for managing mapping information of nonvolatile memory
CN104461384A (zh) 一种数据写入方法及存储设备
CN104166627B (zh) 一种基于单片机的nand‑flash写操作方法
KR101575639B1 (ko) 지도 서비스를 위한 타일 이미지 갱신 시스템 및 그 방법
CN102426601B (zh) 数据删除方法和装置
CN102541753B (zh) 一种嵌入式存储器的读写优化方法
US9311234B2 (en) Method for reliably addressing a large flash memory and flash memory
CN103530067A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: China Southern Power Grid Shenzhen Digital Power Grid Research Institute Co.,Ltd.

Address before: Lotus Road Shenzhen city Guangdong province 518000 two storey building No. 2075 Futian District fragrant beauty

Patentee before: SHENZHEN COMTOP INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
CP01 Change in the name or title of a patent holder

Address after: 518000 building 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: China Southern Power Grid Digital Platform Technology (Guangdong) Co.,Ltd.

Address before: 518000 building 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: China Southern Power Grid Shenzhen Digital Power Grid Research Institute Co.,Ltd.

CP01 Change in the name or title of a patent holder