CN101256561B - 一种存储、访问数据库数据的方法、装置及*** - Google Patents
一种存储、访问数据库数据的方法、装置及*** Download PDFInfo
- Publication number
- CN101256561B CN101256561B CN2007100803363A CN200710080336A CN101256561B CN 101256561 B CN101256561 B CN 101256561B CN 2007100803363 A CN2007100803363 A CN 2007100803363A CN 200710080336 A CN200710080336 A CN 200710080336A CN 101256561 B CN101256561 B CN 101256561B
- Authority
- CN
- China
- Prior art keywords
- data
- binary file
- database
- binary
- unit
- 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、数据记录本身依赖于数据库软件而存在,所以,当数据库软件被破坏时,数据记录也随之被破坏或不能正常读写,相应的,应用程序或管理者也无法使用或操作这些数据。
2、由于数据库的种类很多,而各种数据库软件提供的功能也不相同,而且各数据库软件之间不一定能兼容,因此会导致数据记录不能方便地从一种数据库软件移植到另一种数据库软件。
发明内容
本发明提供一种存储、操作数据库数据的方法及装置,用于解决现有技术中数据库数据依赖于数据库软件而存在,从而导致数据库数据存储和操作受限的问题。
本发明提供如下技术方案:
一种存储数据库数据的方法,包括步骤:
序列化程序从关系型数据库中获取数据对象;
所述序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码;以及
将所述二进制编码保存为二进制文件。
将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
一种访问数据库数据的方法,包括步骤:
应用程序向反序列化程序请求访问关系型数据库中的数据记录,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
所述反序列化程序根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将该数据对象输出给所述应用程序;
所述应用程序对所述数据对象进行操作。
所述应用程序对所述数据对象进行操作后,所述序列化程序进一步根据序列化规则将发生变化的数据对象转换成对应的二进制编码后保存为二进制文件。
将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
将二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
一种数据处理装置,包括:
用于从关系型数据库中获取数据对象的单元;
用于根据序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元。
所述装置还包括:
用于输出所述二进制文件、序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
一种数据处理装置,包括:
用于接收应用程序请求访问关系型数据库中的数据记录的单元,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
用于根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象的单元;
用于输出所述数据对象的单元。
一种存储数据库数据的***,包括:
用于通过序列化程序从关系型数据库中获取数据对象的单元;
用于根据序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元;
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
本发明有益效果如下:
1、本发明中在存储数据库数据时,将数据库中的数据记录转换成对应的二进制编码,并以二进制文件形式保存,由于二进制编码不经过转换无法正确读取,因此,本发明方法可以保证数据的保密性。
2、本发明中将数据记录保存为二进制文件,数据记录本身不依赖于数据库软件而存在,而且在计算机不需要或者不允许安装数据库软件时,采用本发明方法可以方便地存储和操作数据,从而拓宽数据的使用场合和方便了对数据的操作。
3、本发明中在使用数据库数据时,应用程序调用将二进制文件中的二进制编码转换成对应的数据记录,并对该数据记录进行相应操作,本发明方法在不访问数据库的情况下实现了对数据库数据的操作,因此,本发明方法为数据库提供了支持,可以减轻数据库的使用压力,提高数据库的性能。
附图说明
图1为本发明实施例中一种数据处理***结构示意图;
图2为本发明实施例中数据处理模块结构示意图;
图3为本发明实施例中存储数据库数据的实现流程图;
图4为本发明实施例中向计算机访问数据库数据的实现流程图;
图5为本发明实施例中向存储介质访问数据库数据的实现流程图。
具体实施方式
为了不依赖数据库软件而对数据库中的数据进行存储、复制和使用,本实施例中将从数据库中获取的数据记录转换成对应的二进制编码,并以二进制文件形式保存;在使用数据时,从二进制文件中获取二进制编码后将其转换成对应的数据记录,以供应用程序操作。
如图1所示,本实施例中一种数据处理***包括关系型数据库10、数据处理模块11和应用模块12;所述应用模块12用于向所述数据处理模块11发送访问所述关系型数据库10中的数据记录的请求;所述数据处理模块11根据所述请求从所述关系型数据库10中获取相应的数据记录,按照定义的序列化规则将该数据记录转换成对应的二进制编码,并将其保存为二进制文件;或者,根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将所述数据对象输出给所述应用模块12。
关系型数据库10,由多个数据表组成,每个数据表由多条数据记录组成,每条数据纪录由多个字段组成。例如,某电子商务网站需要记录使用者的数据,该数据可以是使用者的账号、密码、姓名、电话、住址等,而每一个需要记录的数据项目即为一个字段。
本实施例中将数据记录转换为对应的二进制编码的序列化规则可以自定义设置,该序列化规则用于描述数据字段的排列顺序和字段值之间的分隔符。例如,一条数据由三个字段:A、B、C,每个字段值分别为:a1、b1、c1,定义“|”符号用于分隔符,此时,该条数据对应的文本为a1|b1|c1,将这段文本中的每个字符转换成计算机语言中的二进制值,并将该二进制值存储在文件中。
如图2所示,所述数据处理模块11包括:
接收单元110,用于接收应用模块12发送的访问所述关系型数据库10中的数据记录的请求。
序列化单元111,用于在接收单元110接收到存储数据库数据的请求时,从数据库10中获取数据对象,并根据序列化规则将所述数据对象转换成对应的二进制编码,以及将所述二进制编码保存为二进制文件。
反序列化单元112,用于在接收单元110接收到操作数据库数据的请求时,根据与所述序列化规则对应的反序列化规则将二进制文件转换成对应的数据对象。
输出单元113,用于将序列化单元111得到的二进制文件和将所述二进制文件转换成对应的数据对象的反序列化程序输出给存储介质,或者,将反序列化单元112得到的数据对象输出给应用模块12。
本实施例中序列化单元111和反序列化单元112可以单独或者同时存在于一个数据处理模块中。
如图3所示,本发明实施例中存储数据库数据的实现过程如下:
步骤300、应用模块向数据处理模块发送数据存储请求。
步骤301、数据处理模块将关系型数据库中的数据记录提取到计算机内存中,形成数据对象。
步骤302、数据处理模块按照定义的序列化规则将所述数据对象转换成对应的二进制编码。
步骤303、数据处理模块将所述二进制编码保存为二进制文件,该二进制文件保存在计算机内存中;为了方便地对数据库数据进行访问,可以将该二进制文件、将数据对象转换成对应的二进制文件的序列化程序和/或将二进制文件转换成对应的数据对象的反序列化程序同时存储在其他存储介质中,如光盘、移动硬盘、U盘、软盘等硬件介质。
本实施例中将数据库中的数据记录存储在其他存储介质中,使得数据记录本身不依赖于数据库软件而存在,采用该种存储方式可以方便地复制和传播数据库中的数据记录,而且由于二进制编码在没有经过相应的转换后不能正确读取数据,所以,以二进制文件形式保存数据库数据的方式保证了数据的保密性。
本实施例中当应用模块请求访问关系型数据库中的数据时,可以完全不考虑数据库软件兼容的问题,而是由数据处理模块根据应用模块的请求从在计算机中保存或者在上述硬件介质中保存的二进制文件中获取相应的数据记录,以供应用模块进一步对其进行操作。
本实施例中将关系型数据库中的数据记录以二进制文件形式保存在计算机中时,如图4所示,应用模块访问二进制文件获取相应数据记录的实现过程包括:
步骤400、应用模块向数据处理模块发送访问数据库数据的请求。
步骤401、数据处理模块根据请求获取相应的二进制文件,并按照与序列化规则对应的反序列化规则将其转换成对应的数据对象。
步骤402、数据处理模块将所述数据对象输出给应用模块。
步骤403、应用模块对所述数据对象进行相应操作。
本实施例中将关系型数据库中的数据记录以二进制文件形式保存在其他存储介质中时,如图5所示,应用模块访问二进制文件获取相应数据记录的实现过程包括:
步骤500、应用模块向存储介质发送访问数据库数据的请求。
步骤501、存储介质根据请求在其内部获取相应的二进制文件,由其中的反序列化程序将该二进制文件转换为对应的数据对象,并将其输出给应用模块。
步骤502、应用模块对所述数据对象进行相应操作。
应用模块对数据对象进行的操作包括读取数据操作、修改数据操作和新建数据操作等;应用模块对数据对象进行修改操作后,应用模块向数据处理模块发送数据存储请求,由数据处理模块按照定义的序列化规则将变化后的数据对象转换为对应的二进制编码,并保存为二进制文件。
本发明实施例有益效果如下:
1、本发明中将数据库中的数据转换成相应的二进制编码,并以二进制文件形式保存,因此数据本身不依赖于数据库软件而存在,而且在计算机不需要或者不允许安装数据库软件时,采用本发明方法可以方便地存储和读取数据,从而拓宽了数据的使用场合和方便了对数据的操作。
2、本发明中在使用数据时,将二进制文件中的二进制编码转换成对应的数据记录以供应用程序使用,因此,在使用数据库的场合中,本发明提供的数据记录脱离数据库存储和读取的方法,为数据库提供了支持,从而减轻了数据库的使用压力,提高了数据库的性能。
3、本发明中通过自定义规则将数据记录转换为二进制文件,由于二进制编码不经过转换则无法正确读取,因此,本发明方法一定程度上保证了数据的保密性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种存储数据库数据的方法,其特征在于,包括步骤:
序列化程序从关系型数据库中获取数据对象;
所述序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码;以及
将所述二进制编码保存为二进制文件;
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
2.如权利要求1所述的方法,其特征在于,将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
3.一种访问数据库数据的方法,其特征在于,包括步骤:
应用程序向反序列化程序请求访问关系型数据库中的数据记录,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
所述反序列化程序根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将该数据对象输出给所述应用程序;
所述应用程序对所述数据对象进行操作。
4.如权利要求3所述的方法,其特征在于,所述应用程序对所述数据对象进行操作后,所述序列化程序进一步根据序列化规则将发生变化的数据对象转换成对应的二进制编码后保存为二进制文件。
5.如权利要求3或4所述的方法,其特征在于,将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
6.如权利要求5所述的方法,其特征在于,将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
7.一种数据处理装置,其特征在于,包括:
用于从关系型数据库中获取数据对象的单元;
用于根据序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元;
用于输出所述二进制文件、序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
8.一种数据处理装置,其特征在于,包括:
用于接收应用程序请求访问关系型数据库中的数据记录的单元,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
用于根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象的单元;
用于输出所述数据对象的单元。
9.一种存储数据库数据的***,其特征在于,包括:
用于通过序列化程序从关系型数据库中获取数据对象的单元;
用于根据序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元;
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100803363A CN101256561B (zh) | 2007-03-02 | 2007-03-02 | 一种存储、访问数据库数据的方法、装置及*** |
HK08113839.0A HK1120131A1 (en) | 2007-03-02 | 2008-12-22 | Method, apparatus and system for storing and accessing database data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100803363A CN101256561B (zh) | 2007-03-02 | 2007-03-02 | 一种存储、访问数据库数据的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101256561A CN101256561A (zh) | 2008-09-03 |
CN101256561B true CN101256561B (zh) | 2010-09-08 |
Family
ID=39891391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100803363A Active CN101256561B (zh) | 2007-03-02 | 2007-03-02 | 一种存储、访问数据库数据的方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101256561B (zh) |
HK (1) | HK1120131A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477532B (zh) * | 2008-12-23 | 2011-09-28 | 北京畅游天下网络技术有限公司 | 实现数据存储、读取的方法、装置及*** |
CN101673257B (zh) * | 2009-10-16 | 2012-07-25 | 金蝶软件(中国)有限公司 | 一种复杂对象数据的复制粘贴方法及装置 |
CN102446170A (zh) * | 2010-10-04 | 2012-05-09 | 王子影 | 一种基于审计功能的oracle数据库点击率技术 |
CN102663097A (zh) * | 2012-04-10 | 2012-09-12 | 农业部信息中心 | 一种基于Hadoop+Hbase的农业时序数据组织方法 |
CN103605741B (zh) * | 2013-11-19 | 2017-11-14 | 北京国双科技有限公司 | 对象加密存储方法、装置及*** |
CN104199879B (zh) * | 2014-08-21 | 2018-07-24 | 广州华多网络科技有限公司 | 一种数据处理方法和数据处理装置 |
CN104391913B (zh) * | 2014-11-18 | 2018-02-16 | 北京锐安科技有限公司 | 一种数据库管理方法及装置 |
CN105067267A (zh) * | 2015-07-29 | 2015-11-18 | 北京中水科水电科技开发有限公司 | 一种水电机组现场测试和状态监测数据的存储方法 |
CN104965935B (zh) * | 2015-08-06 | 2018-10-12 | 上海携程商务有限公司 | 网络监控日志的更新方法 |
CN106598979A (zh) * | 2015-10-15 | 2017-04-26 | 北京国双科技有限公司 | 数据写入方法和装置 |
CN106021369A (zh) * | 2016-05-11 | 2016-10-12 | 上海佳依佳信息科技有限公司 | 一种用于数据变更管理的方法与设备 |
CN107832315A (zh) * | 2017-06-12 | 2018-03-23 | 中国石油化工股份有限公司 | 油田企业勘探开发体数据的管理方法 |
CN109947705B (zh) * | 2017-11-28 | 2021-03-16 | 中国石油化工股份有限公司 | 一种石油工程数据的存取***与方法 |
CN108564661B (zh) * | 2018-01-08 | 2022-06-28 | 佛山市超体软件科技有限公司 | 一种基于增强现实场景的记录方法 |
CN109213745B (zh) * | 2018-08-27 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种分布式文件存储方法、装置、处理器及存储介质 |
CN112347063A (zh) * | 2019-08-07 | 2021-02-09 | 中国石油化工股份有限公司 | 一种实现地震数据共享的方法及存储介质 |
CN112052476A (zh) * | 2020-08-27 | 2020-12-08 | 安徽国戎科技有限公司 | 一种军事案例数据管理方法 |
CN112307029B (zh) * | 2020-11-03 | 2024-06-21 | 彩讯科技股份有限公司 | 账单数据存储和账单生成方法、装置、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN1549128A (zh) * | 2003-05-15 | 2004-11-24 | 深圳市中兴通讯股份有限公司南京分公 | 一种数据库备份方法 |
-
2007
- 2007-03-02 CN CN2007100803363A patent/CN101256561B/zh active Active
-
2008
- 2008-12-22 HK HK08113839.0A patent/HK1120131A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN1549128A (zh) * | 2003-05-15 | 2004-11-24 | 深圳市中兴通讯股份有限公司南京分公 | 一种数据库备份方法 |
Non-Patent Citations (1)
Title |
---|
宋明杰等.用Oracle备份与恢复工具实现Oracle数据库的移植.辽宁大学学报自然科学版第33卷 第2期.2006,第33卷(第2期),第130-131页. * |
Also Published As
Publication number | Publication date |
---|---|
HK1120131A1 (en) | 2009-03-20 |
CN101256561A (zh) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101256561B (zh) | 一种存储、访问数据库数据的方法、装置及*** | |
CN101630290B (zh) | 重复数据处理方法和装置 | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN108205577B (zh) | 一种数组构建、数组查询的方法、装置及电子设备 | |
US9183197B2 (en) | Language processing resources for automated mobile language translation | |
US7958299B2 (en) | Hard disk system state monitoring method | |
CN113495903B (zh) | 电力时序数据库缓存方法、***、设备及可读存储介质 | |
JP2015537283A (ja) | 階層キャッシュを用いたメールのインデックス化および検索 | |
WO2022037015A1 (zh) | 一种基于持久性内存的列式存储方法、装置及设备 | |
WO2016188280A1 (zh) | 数据库分表的写入方法及装置 | |
CN112559386B (zh) | 提升ssd性能的方法、装置、计算机设备及存储介质 | |
WO2023185111A1 (zh) | 一种数据文件的快速存取方法及装置 | |
CN102959548A (zh) | 数据存储方法、查找方法及装置 | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
CN114647658A (zh) | 一种数据检索方法、装置、设备及机器可读存储介质 | |
CN103207916A (zh) | 元数据处理的方法和装置 | |
CN110442571A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN110647577A (zh) | 数据立方体的分区方法、装置、计算机设备及存储介质 | |
CN104268709A (zh) | 一种采用分布式lsm树的rfid***设计方法 | |
CN105354149A (zh) | 一种内存数据查找方法和装置 | |
US20230409235A1 (en) | File system improvements for zoned storage device operations | |
CN102360370A (zh) | 数据集中管理***及方法 | |
CN113157692B (zh) | 一种关系型内存数据库*** | |
CN105574124A (zh) | 一种基于产品信息的数据存储*** | |
CN115858471A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1120131 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1120131 Country of ref document: HK |