CN108694185B - 一种数据存储与提取的方法 - Google Patents
一种数据存储与提取的方法 Download PDFInfo
- Publication number
- CN108694185B CN108694185B CN201710223756.6A CN201710223756A CN108694185B CN 108694185 B CN108694185 B CN 108694185B CN 201710223756 A CN201710223756 A CN 201710223756A CN 108694185 B CN108694185 B CN 108694185B
- Authority
- CN
- China
- Prior art keywords
- data
- variable
- class
- program
- code
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种数据存储与提取的方法在实际应用中,因采集方案、技术变化等原因,数据结构会因不同时间阶段、不同软件版本导致的结构变化,上述方法在数据存取结构代号不变的情况下,处理不同数据结构的变化,因其数据结构及存取方法在检索到数据后动态生成,可以实现程序代码在不同版本的通用化,避免数据结构变动对代码及运行环境的影响,提高系统升级速度及可靠性。
Description
技术领域
本发明涉及数据处理存储技术,尤其涉及一种针对可变结构的数据存储与提取方法。
背景技术
在大数据应用当中,存在大量的格式化和非格式化数据存储问题,涉及到数据格式变化及格式化数据与非格式化数据混合存储是当前难以解决的问题,如何提供一种数据处理与数据内容的通过数据库分别持久化的数据存储方案是摆在目前的一项重要课题。
发明内容
本发明的目的是针对上述背景技术存在的缺陷,提供一种针对不同结构的数据的存储与提取的方法。
为实现上述目的,本发明一种存储与提取的方法,其包括:
数据存储,即待存储数据包含在可变结构数据中,可变结构数据是指由至少包括一个数据项构成的数据;通过高级应用程序语言以类代码的形式建立包含可变结构数据的程序类,程序类包括可变结构数据及数据处理方法,同时建立与可变结构数据所占数据空间等长的结构指针变量,该结构性指针变量指向可变结构数据的起始位置,建立类指针变量指向本程序类;在数据库中建立用于存储程序类的结构表,结构表至少包括结构代号及类体两项主题,其中结构代号字段为不可重复的主键类型,类体采用二进制变长型字段;在结构表中新建一条记录,将程序类源代码或编译后的目标代码经串行化处理后存入类体字段,并将程序类的名称或另行定义的代号存入结构代号字段;在数据库中建立用于存储可变结构数据的数据表,数据表至少包括结构代号、数据体两项主题,其中数据体采用二进制变长型字段;利用数据处理方法,将各原始数据至少进行赋值变换存入程序类的可变结构数据中;在数据表中新建一条记录,将程序类中结构指针变量指向的数据空间中的内容经串行化处理后存入数据体字段,并将程序类的名称或另行定义的代号存入结构代号字段;
数据提取,即取得数据提取的关键词,在数据表中搜索与关键词匹配的数据行,根据结构代号选取最终的待提取数据;根据待提取数据的结构代号在结构表中搜索对应的结构行,并提取该结构行的类体字段,经反串行化和实例化成具体的程序类;将数据体字段对应的内容经串行化处理后存入程序类中的结构指针变量指向的数据空间,同时程序类包括的可变结构数据被实际填充;利用程序类的数据处理方法,将程序类的可变结构数据至少进行赋值变换成原始数据。
进一步地,结构表与数据表存储在同一数据库中两个不同的位置。
进一步地,结构表与数据表分别存储在两个相互隔离的不同数据库中。
进一步地,两个相互隔离的不同数据库为同一数据存储设备中的不同数据库。
进一步地,两个相互隔离的不同数据库为不同数据存储设备中的数据库。
进一步地,在利用数据处理方法将各原始数据至少进行赋值变换存入程序类的可变结构数据中的同时,还包括利用数据处理方法对各原始数据进行压缩、加密处理。
进一步地,数据表还进一步包括关键字主题,该关键字主题用于实现快速检索,关键字主题由程序类中结构指针变量指向的数据空间中的内容经串行化处理并提取关键词后,存入关键字主题对应的字段中。
进一步地,类体所采用二进制变长型字段为备注型字段。
进一步地,数据体所采用二进制变长型字段为备注型字段。
综上所述,本发明一种数据存储与提取的方法在实际应用中,因采集方案、技术变化等原因,数据结构会因不同时间阶段、不同软件版本导致的结构变化,上述方法在数据存取结构代号不变的情况下,处理不同数据结构的变化,因其数据结构及存取方法在检索到数据后动态生成,可以实现程序代码在不同版本的通用化,避免数据结构变动对代码及运行环境的影响,提高系统升级速度及可靠性。
附图说明
图1为本发明一种数据存储与提取的方法工作机制示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所达成目的及效果,以下兹例举实施例并配合附图详予说明。
请参阅图1,本发明一种数据存储与提取的方法,其针对具有变化结构的数据进行存储和提取,该方法包括数据存储和数据提取两个关键性的数据处理步骤。
数据存储,即待存储数据包含在可变结构数据中,可变结构数据是指由至少包括一个数据项构成的数据;通过高级应用程序语言以类代码的形式建立包含可变结构数据的程序类,程序类包括可变结构数据及数据处理方法,同时建立与可变结构数据所占数据空间等长的结构指针变量,该结构性指针变量指向可变结构数据的起始位置,建立类指针变量指向本程序类;在数据库中建立用于存储程序类的结构表,结构表至少包括结构代号及类体两项主题,其中结构代号字段为不可重复的主键类型,类体采用二进制变长型字段;在结构表中新建一条记录,将程序类源代码或编译后的目标代码经串行化处理后存入类体字段,并将程序类的名称或另行定义的代号存入结构代号字段;在数据库中建立用于存储可变结构数据的数据表,数据表至少包括结构代号、数据体两项主题,其中数据体采用二进制变长型字段;利用数据处理方法,将各原始数据至少进行赋值变换存入程序类的可变结构数据中;在数据表中新建一条记录,将程序类中结构指针变量指向的数据空间中的内容经串行化处理后存入数据体字段,并将程序类的名称或另行定义的代号存入结构代号字段。
数据提取,即取得数据提取的关键词,在数据表中搜索与关键词匹配的数据行,根据结构代号选取最终的待提取数据;根据待提取数据的结构代号在结构表中搜索对应的结构行,并提取该结构行的类体字段,经反串行化和实例化成具体的程序类;将数据体字段对应的内容经串行化处理后存入程序类中的结构指针变量指向的数据空间,同时程序类包括的可变结构数据被实际填充;利用程序类的数据处理方法,将程序类的可变结构数据至少进行赋值变换成原始数据。
结构表与数据表存储在同一数据库中两个不同的位置。
结构表与数据表分别存储在两个相互隔离的不同数据库中。
两个相互隔离的不同数据库为同一数据存储设备中的不同数据库。
两个相互隔离的不同数据库为不同数据存储设备中的数据库。
在利用数据处理方法将各原始数据至少进行赋值变换存入程序类的可变结构数据中的同时,还包括利用数据处理方法对各原始数据进行压缩、加密处理。
数据表还进一步包括关键字主题,该关键字主题用于实现快速检索,关键字主题由程序类中结构指针变量指向的数据空间中的内容经串行化处理并提取关键词后,存入关键字主题对应的字段中。
类体所采用二进制变长型字段为备注型字段。
数据体所采用二进制变长型字段为备注型字段。
综上所述,本发明一种数据存储与提取的方法在。实际应用中,因采集方案、技术变化等原因,数据结构会因不同时间阶段、不同软件版本导致的结构变化,上述方法在数据存取结构代号不变的情况下,处理不同数据结构的变化。因其数据结构及存取方法在检索到数据后动态生成,可以实现程序代码在不同版本的通用化,避免数据结构变动对代码及运行环境的影响,提高系统升级速度及可靠性。
通过上述变结构存储方式可以通过为不同的数据结构与结构数据实现同库同数据存储,并共享数据索引。
本发明一种数据存储与提取方法通过结构表存储了当前数据的存取方法,如在存取方法中实现数据压缩算法,可以在单条数据量不变的情况下有效地减小所需的数组空间大小,从而减小数据存储表的空间。
同时,本发明一种数据存储与提取方法通过结构表存储了当前数据的存取方法。如在存取方法中实现数据加密/加扰算法,可以实现数据的非明文存储,从而提高数据的安全性。
本发明一种数据存储与提取方法将数据内容与数据处理方法的分别存储,可以使数据内容(变动部分)与方法结构(不变或少变部分)处于不同的数据存储空间(不同的数据库、甚至不同的数据介质)当中,从整体上减少数据或代码的重复,同时,在不能同时取得相应存储权限的情况下也不可能正确存取数据,进一步提高了系统的存取效率及安全性。
由于本发明一种数据存储与提取方法在内容存储中存在关键字主题,在牺牲一部分数据空间的条件下换取了数据检索的效率。同时,又可以通过数据表中建立“关键字”方法,在不同应用中实现统一的索引方法,从而提升系统整体的数据检索效率。
以上所述的技术方案仅为本发明的较佳实施例,任何在本发明基础上所作的等效变换或替换都包含在本发明创造的保护范围之内。
Claims (9)
1.一种数据存储与提取的方法,其特征在于:
数据存储,即待存储数据包含在可变结构数据中,可变结构数据是指由至少包括一个数据项构成的数据;通过高级应用程序语言以类代码的形式建立包含可变结构数据的程序类,程序类包括可变结构数据及数据处理方法,同时建立与可变结构数据所占数据空间等长的结构指针变量,该结构指针变量指向可变结构数据的起始位置,建立类指针变量指向本程序类;在数据库中建立用于存储程序类的结构表,结构表至少包括结构代号及类体两项主题,其中结构代号字段为不可重复的主键类型,类体采用二进制变长型字段;在结构表中新建一条记录,将程序类源代码或编译后的目标代码经串行化处理后存入类体字段,并将程序类的名称或另行定义的代号存入结构代号字段;在数据库中建立用于存储可变结构数据的数据表,数据表至少包括结构代号、数据体两项主题,其中数据体采用二进制变长型字段;利用数据处理方法,将各原始数据至少进行赋值变换存入程序类的可变结构数据中;在数据表中新建一条记录,将程序类中结构指针变量指向的数据空间中的内容经串行化处理后存入数据体字段,并将程序类的名称或另行定义的代号存入结构代号字段;数据提取,即取得数据提取的关键词,在数据表中搜索与关键词匹配的数据行,根据结构代号选取最终的待提取数据;根据待提取数据的结构代号在结构表中搜索对应的结构行,并提取该结构行的类体字段,经反串行化和实例化成具体的程序类;将数据体字段对应的内容经反串行化处理后存入程序类中的结构指针变量指向的数据空间,同时程序类包括的可变结构数据被实际填充;利用程序类的数据处理方法,将程序类的可变结构数据至少进行赋值变换成原始数据。
2.如权利要求1所述的一种数据存储与提取的方法,其特征在于:结构表与数据表存储在同一数据库中两个不同的位置。
3.如权利要求1所述的一种数据存储与提取的方法,其特征在于:结构表与数据表分别存储在两个相互隔离的不同数据库中。
4.如权利要求3所述的一种数据存储与提取的方法,其特征在于:两个相互隔离的不同数据库为同一数据存储设备中的不同数据库。
5.如权利要求3所述的一种数据存储与提取的方法,其特征在于:两个相互隔离的不同数据库为不同数据存储设备中的数据库。
6.如权利要求1所述的一种数据存储与提取的方法,其特征在于:在利用数据处理方法将各原始数据至少进行赋值变换存入程序类的可变结构数据中的同时,还包括利用数据处理方法对各原始数据进行压缩、加密处理。
7.如权利要求1所述的一种数据存储与提取的方法,其特征在于:数据表还进一步包括关键字主题,该关键字主题用于实现快速检索,关键字主题由程序类中结构指针变量指向的数据空间中的内容经串行化处理并提取关键词后,存入关键字主题对应的字段中。
8.如权利要求1所述的一种数据存储与提取的方法,其特征在于:类体所采用二进制变长型字段为备注型字段。
9.如权利要求1或8所述的一种数据存储与提取的方法,其特征在于:数据体采用二进制变长型字段为备注型字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710223756.6A CN108694185B (zh) | 2017-04-07 | 2017-04-07 | 一种数据存储与提取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710223756.6A CN108694185B (zh) | 2017-04-07 | 2017-04-07 | 一种数据存储与提取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694185A CN108694185A (zh) | 2018-10-23 |
CN108694185B true CN108694185B (zh) | 2021-06-04 |
Family
ID=63842207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710223756.6A Active CN108694185B (zh) | 2017-04-07 | 2017-04-07 | 一种数据存储与提取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694185B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708777B (zh) * | 2020-06-08 | 2023-06-23 | 云谷(固安)科技有限公司 | 一种显示数据的存取方法、装置及显示装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416054A (zh) * | 2001-10-30 | 2003-05-07 | 索尼株式会社 | 数据处理装置、数据处理方法和程序 |
CN101763310A (zh) * | 2008-12-23 | 2010-06-30 | 康佳集团股份有限公司 | 数据存储控制方法 |
CN102037446A (zh) * | 2008-05-21 | 2011-04-27 | 奥普塔姆软件股份有限公司 | 基于动态集合属性的计算机编程语言方法 |
CN105247472A (zh) * | 2013-06-28 | 2016-01-13 | 英特尔公司 | 用于对统一码字符的可变长度代码点转码的处理器、方法、系统和指令 |
CN105493040A (zh) * | 2013-08-30 | 2016-04-13 | 苹果公司 | 在访问动态类型化阵列对象过程中的尺寸依赖类型 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812434B2 (en) * | 2012-10-12 | 2014-08-19 | Ca, Inc. | Data structure for efficiently identifying transactions |
-
2017
- 2017-04-07 CN CN201710223756.6A patent/CN108694185B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416054A (zh) * | 2001-10-30 | 2003-05-07 | 索尼株式会社 | 数据处理装置、数据处理方法和程序 |
CN102037446A (zh) * | 2008-05-21 | 2011-04-27 | 奥普塔姆软件股份有限公司 | 基于动态集合属性的计算机编程语言方法 |
CN101763310A (zh) * | 2008-12-23 | 2010-06-30 | 康佳集团股份有限公司 | 数据存储控制方法 |
CN105247472A (zh) * | 2013-06-28 | 2016-01-13 | 英特尔公司 | 用于对统一码字符的可变长度代码点转码的处理器、方法、系统和指令 |
CN105493040A (zh) * | 2013-08-30 | 2016-04-13 | 苹果公司 | 在访问动态类型化阵列对象过程中的尺寸依赖类型 |
Non-Patent Citations (1)
Title |
---|
面向海量空间数据并行高效处理的存储模式设计与研究;何涛;《中国优秀硕士学位论文全文数据库 基础科学辑》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108694185A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106570018B (zh) | 序列化与反序列化的方法、装置、系统以及电子设备 | |
CN106202207B (zh) | 一种基于HBase-ORM的索引及检索系统 | |
US9406381B2 (en) | TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
CN107357843B (zh) | 基于数据流结构的海量网络数据查找方法 | |
CN104102881B (zh) | 一种基于内核对象链接关系的内存取证方法 | |
CN114356851B (zh) | 数据文件的存储方法、装置、电子设备及存储介质 | |
CN104063384A (zh) | 一种数据检索方法及装置 | |
Kumar et al. | Ontology based semantic indexing approach for information retrieval system | |
CN108694185B (zh) | 一种数据存储与提取的方法 | |
US8024374B2 (en) | Computer object conversion using an intermediate object | |
US8812523B2 (en) | Predicate result cache | |
Alam et al. | Performance of point and range queries for in-memory databases using radix trees on GPUs | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN111522820A (zh) | 数据存储结构、存储检索方法、系统、设备及存储介质 | |
Jenkins et al. | Analytics-driven lossless data compression for rapid in-situ indexing, storing, and querying | |
van Gemmeren et al. | The event data store and I/O framework for the ATLAS experiment at the Large Hadron Collider | |
CN106326464A (zh) | 一种基于检索信息投影的网络会话包索引方法 | |
US11101819B2 (en) | Compression of semi-structured data | |
CN116126429B (zh) | 一种非数据类型对象的引用持久化及其恢复的方法 | |
Saougkos et al. | Revisiting java bytecode compression for embedded and mobile computing environments | |
Potthast | Wikipedia in the pocket: indexing technology for near-duplicate detection and high similarity search | |
Wang et al. | A database and retrieval system for the NBS tables of chemical thermodynamic properties | |
CN116089422A (zh) | 数据的处理方法及装置 | |
JP2005157718A (ja) | データ管理システム、データ管理システム用プログラム、及びデータ管理システム用プログラムを記録したコンピュータ読み取り可能な記録媒体 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |