著录项信息
专利名称 | 一种存储、访问数据库数据的方法、装置及系统 |
申请号 | CN200710080336.3 | 申请日期 | 2007-03-02 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2008-09-03 | 公开/公告号 | CN101256561 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 阿里巴巴集团控股有限公司 | 申请人地址 | 英属开曼群岛大开曼岛
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 阿里巴巴集团控股有限公司 | 当前权利人 | 阿里巴巴集团控股有限公司 |
发明人 | 肖奎 |
代理机构 | 北京同达信恒知识产权代理有限公司 | 代理人 | 魏杉 |
摘要
本发明公开了一种存储、访问数据库数据的方法及装置,用于解决现有技术中数据库中的数据记录依赖于数据库软件而存在,从而导致存储和访问数据库数据受到限制的问题;本方案中,存储数据库数据时,序列化程序从关系型数据库中获取数据对象,按照定义的序列化规则将所述数据对象转换成对应的二进制编码,并将其保存为二进制文件;访问数据库数据时,反序列化程序根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将该数据对象输出给所述应用程序以进行操作;采用本发明存储数据库数据的方法,可以方便地对数据库数据进行存储、复制和使用。
1.一种存储数据库数据的方法,其特征在于,包括步骤:
序列化程序从关系型数据库中获取数据对象;
所述序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码;以及
将所述二进制编码保存为二进制文件;
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
2.如权利要求1所述的方法,其特征在于,将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
3.一种访问数据库数据的方法,其特征在于,包括步骤:
应用程序向反序列化程序请求访问关系型数据库中的数据记录,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
所述反序列化程序根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将该数据对象输出给所述应用程序;
所述应用程序对所述数据对象进行操作。
4.如权利要求3所述的方法,其特征在于,所述应用程序对所述数据对象进行操作后,所述序列化程序进一步根据序列化规则将发生变化的数据对象转换成对应的二进制编码后保存为二进制文件。
5.如权利要求3或4所述的方法,其特征在于,将所述关系型数据库中的每一条数据记录保存为一个二进制文件。
6.如权利要求5所述的方法,其特征在于,将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。
7.一种数据处理装置,其特征在于,包括:
用于从关系型数据库中获取数据对象的单元;
用于根据序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元;
用于输出所述二进制文件、序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
8.一种数据处理装置,其特征在于,包括:
用于接收应用程序请求访问关系型数据库中的数据记录的单元,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;
用于根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象的单元;
用于输出所述数据对象的单元。
9.一种存储数据库数据的系统,其特征在于,包括:
用于通过序列化程序从关系型数据库中获取数据对象的单元;
用于根据序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码的单元;
用于将所述二进制编码保存为二进制文件的单元;
将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。
技术领域\n本发明涉及计算机领域,特别涉及一种存储、访问数据库数据的方法、装置及系统。\n背景技术\n目前,通常使用数据库在计算机上保存数据,通过数据库对数据进行处理,使用数据库必须在计算机上安装数据库软件,应用程序或管理者使用数据库软件的相关功能完成对数据记录的存储、读取等操作。\n但是,在通过数据库软件提供的功能来对数据记录进行操作的同时,存在如下的问题:\n1、数据记录本身依赖于数据库软件而存在,所以,当数据库软件被破坏时,数据记录也随之被破坏或不能正常读写,相应的,应用程序或管理者也无法使用或操作这些数据。\n2、由于数据库的种类很多,而各种数据库软件提供的功能也不相同,而且各数据库软件之间不一定能兼容,因此会导致数据记录不能方便地从一种数据库软件移植到另一种数据库软件。\n发明内容\n本发明提供一种存储、操作数据库数据的方法及装置,用于解决现有技术中数据库数据依赖于数据库软件而存在,从而导致数据库数据存储和操作受限的问题。\n本发明提供如下技术方案:\n一种存储数据库数据的方法,包括步骤:\n序列化程序从关系型数据库中获取数据对象;\n所述序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码;以及\n将所述二进制编码保存为二进制文件。\n将所述关系型数据库中的每一条数据记录保存为一个二进制文件。\n将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。\n一种访问数据库数据的方法,包括步骤:\n应用程序向反序列化程序请求访问关系型数据库中的数据记录,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;\n所述反序列化程序根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将该数据对象输出给所述应用程序;\n所述应用程序对所述数据对象进行操作。\n所述应用程序对所述数据对象进行操作后,所述序列化程序进一步根据序列化规则将发生变化的数据对象转换成对应的二进制编码后保存为二进制文件。\n将所述关系型数据库中的每一条数据记录保存为一个二进制文件。\n将二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序。\n一种数据处理装置,包括:\n用于从关系型数据库中获取数据对象的单元;\n用于根据序列化规则将所述数据对象转换成对应的二进制编码的单元;\n用于将所述二进制编码保存为二进制文件的单元。\n所述装置还包括:\n用于输出所述二进制文件、序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。\n一种数据处理装置,包括:\n用于接收应用程序请求访问关系型数据库中的数据记录的单元,其中,所述关系型数据库中的数据记录由序列化程序按照序列化规则转换成对应的二进制编码后保存在二进制文件中;\n用于根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象的单元;\n用于输出所述数据对象的单元。\n一种存储数据库数据的系统,包括:\n用于通过序列化程序从关系型数据库中获取数据对象的单元;\n用于根据序列化程序按照定义的序列化规则将所述数据对象转换成对应的二进制编码的单元;\n用于将所述二进制编码保存为二进制文件的单元;\n将所述二进制文件输出到存储介质时,同时输出所述序列化程序和/或将所述二进制文件转换成对应的数据对象的反序列化程序的单元。\n本发明有益效果如下:\n1、本发明中在存储数据库数据时,将数据库中的数据记录转换成对应的二进制编码,并以二进制文件形式保存,由于二进制编码不经过转换无法正确读取,因此,本发明方法可以保证数据的保密性。\n2、本发明中将数据记录保存为二进制文件,数据记录本身不依赖于数据库软件而存在,而且在计算机不需要或者不允许安装数据库软件时,采用本发明方法可以方便地存储和操作数据,从而拓宽数据的使用场合和方便了对数据的操作。\n3、本发明中在使用数据库数据时,应用程序调用将二进制文件中的二进制编码转换成对应的数据记录,并对该数据记录进行相应操作,本发明方法在不访问数据库的情况下实现了对数据库数据的操作,因此,本发明方法为数据库提供了支持,可以减轻数据库的使用压力,提高数据库的性能。\n附图说明\n图1为本发明实施例中一种数据处理系统结构示意图;\n图2为本发明实施例中数据处理模块结构示意图;\n图3为本发明实施例中存储数据库数据的实现流程图;\n图4为本发明实施例中向计算机访问数据库数据的实现流程图;\n图5为本发明实施例中向存储介质访问数据库数据的实现流程图。\n具体实施方式\n为了不依赖数据库软件而对数据库中的数据进行存储、复制和使用,本实施例中将从数据库中获取的数据记录转换成对应的二进制编码,并以二进制文件形式保存;在使用数据时,从二进制文件中获取二进制编码后将其转换成对应的数据记录,以供应用程序操作。\n如图1所示,本实施例中一种数据处理系统包括关系型数据库10、数据处理模块11和应用模块12;所述应用模块12用于向所述数据处理模块11发送访问所述关系型数据库10中的数据记录的请求;所述数据处理模块11根据所述请求从所述关系型数据库10中获取相应的数据记录,按照定义的序列化规则将该数据记录转换成对应的二进制编码,并将其保存为二进制文件;或者,根据与所述序列化规则对应的反序列化规则将所述二进制文件转换成对应的数据对象,并将所述数据对象输出给所述应用模块12。\n关系型数据库10,由多个数据表组成,每个数据表由多条数据记录组成,每条数据纪录由多个字段组成。例如,某电子商务网站需要记录使用者的数据,该数据可以是使用者的账号、密码、姓名、电话、住址等,而每一个需要记录的数据项目即为一个字段。\n本实施例中将数据记录转换为对应的二进制编码的序列化规则可以自定义设置,该序列化规则用于描述数据字段的排列顺序和字段值之间的分隔符。例如,一条数据由三个字段:A、B、C,每个字段值分别为:a1、b1、c1,定义“|”符号用于分隔符,此时,该条数据对应的文本为a1|b1|c1,将这段文本中的每个字符转换成计算机语言中的二进制值,并将该二进制值存储在文件中。\n如图2所示,所述数据处理模块11包括:\n接收单元110,用于接收应用模块12发送的访问所述关系型数据库10中的数据记录的请求。\n序列化单元111,用于在接收单元110接收到存储数据库数据的请求时,从数据库10中获取数据对象,并根据序列化规则将所述数据对象转换成对应的二进制编码,以及将所述二进制编码保存为二进制文件。\n反序列化单元112,用于在接收单元110接收到操作数据库数据的请求时,根据与所述序列化规则对应的反序列化规则将二进制文件转换成对应的数据对象。\n输出单元113,用于将序列化单元111得到的二进制文件和将所述二进制文件转换成对应的数据对象的反序列化程序输出给存储介质,或者,将反序列化单元112得到的数据对象输出给应用模块12。\n本实施例中序列化单元111和反序列化单元112可以单独或者同时存在于一个数据处理模块中。\n如图3所示,本发明实施例中存储数据库数据的实现过程如下:\n步骤300、应用模块向数据处理模块发送数据存储请求。\n步骤301、数据处理模块将关系型数据库中的数据记录提取到计算机内存中,形成数据对象。\n步骤302、数据处理模块按照定义的序列化规则将所述数据对象转换成对应的二进制编码。\n步骤303、数据处理模块将所述二进制编码保存为二进制文件,该二进制文件保存在计算机内存中;为了方便地对数据库数据进行访问,可以将该二进制文件、将数据对象转换成对应的二进制文件的序列化程序和/或将二进制文件转换成对应的数据对象的反序列化程序同时存储在其他存储介质中,如光盘、移动硬盘、U盘、软盘等硬件介质。\n本实施例中将数据库中的数据记录存储在其他存储介质中,使得数据记录本身不依赖于数据库软件而存在,采用该种存储方式可以方便地复制和传播数据库中的数据记录,而且由于二进制编码在没有经过相应的转换后不能正确读取数据,所以,以二进制文件形式保存数据库数据的方式保证了数据的保密性。\n本实施例中当应用模块请求访问关系型数据库中的数据时,可以完全不考虑数据库软件兼容的问题,而是由数据处理模块根据应用模块的请求从在计算机中保存或者在上述硬件介质中保存的二进制文件中获取相应的数据记录,以供应用模块进一步对其进行操作。\n本实施例中将关系型数据库中的数据记录以二进制文件形式保存在计算机中时,如图4所示,应用模块访问二进制文件获取相应数据记录的实现过程包括:\n步骤400、应用模块向数据处理模块发送访问数据库数据的请求。\n步骤401、数据处理模块根据请求获取相应的二进制文件,并按照与序列化规则对应的反序列化规则将其转换成对应的数据对象。\n步骤402、数据处理模块将所述数据对象输出给应用模块。\n步骤403、应用模块对所述数据对象进行相应操作。\n本实施例中将关系型数据库中的数据记录以二进制文件形式保存在其他存储介质中时,如图5所示,应用模块访问二进制文件获取相应数据记录的实现过程包括:\n步骤500、应用模块向存储介质发送访问数据库数据的请求。\n步骤501、存储介质根据请求在其内部获取相应的二进制文件,由其中的反序列化程序将该二进制文件转换为对应的数据对象,并将其输出给应用模块。\n步骤502、应用模块对所述数据对象进行相应操作。\n应用模块对数据对象进行的操作包括读取数据操作、修改数据操作和新建数据操作等;应用模块对数据对象进行修改操作后,应用模块向数据处理模块发送数据存储请求,由数据处理模块按照定义的序列化规则将变化后的数据对象转换为对应的二进制编码,并保存为二进制文件。\n本发明实施例有益效果如下:\n1、本发明中将数据库中的数据转换成相应的二进制编码,并以二进制文件形式保存,因此数据本身不依赖于数据库软件而存在,而且在计算机不需要或者不允许安装数据库软件时,采用本发明方法可以方便地存储和读取数据,从而拓宽了数据的使用场合和方便了对数据的操作。\n2、本发明中在使用数据时,将二进制文件中的二进制编码转换成对应的数据记录以供应用程序使用,因此,在使用数据库的场合中,本发明提供的数据记录脱离数据库存储和读取的方法,为数据库提供了支持,从而减轻了数据库的使用压力,提高了数据库的性能。\n3、本发明中通过自定义规则将数据记录转换为二进制文件,由于二进制编码不经过转换则无法正确读取,因此,本发明方法一定程度上保证了数据的保密性。\n显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
法律信息
- 2010-09-08
- 2008-10-29
- 2008-09-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-11-24
|
2003-05-15
| | |
2
| |
2004-04-28
|
2002-10-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |