实现数据存储、读取的方法、装置及系统制造方法及图纸

技术编号:4349812 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了实现数据存储、读取的方法、装置及系统,其中,所述实现数据存储的方法包括:接收待存储的结构化数据;将所述结构化数据中的各个数据项进行序列化,并将序列化后的数据发送给数据库;数据库存储进行所述序列化后的数据。实现数据读取的方法包括:接收数据读取请求,根据所述请求,从数据库查找得到对应的序列化数据;将所述序列化数据进行反序列化处理,得到各个数据项的数据;将相应数据项的数据发送给请求读取数据的一方。采用本发明专利技术实施例,能够降低数据库与上层逻辑层的耦合度,有利于新业务的迅速推广和实现。

【技术实现步骤摘要】

本专利技术涉及数据处理
,尤其涉及实现数据存储、读取的方法、装 置及系统。
技术介绍
当前,数据库正在各项技术中得到广泛的使用。在需要进行数据存储时, 数据库根据相应指令以一定的格式完成对数据的存储,在需要进行数据读取时,通过向数据库发送相应的读取要求,使得数据库根据该指令查找得到相应 的存储数据,并将该数据返回给发送读取要求的一方。随着技术的不断进步以及各类型业务的不断发展,数据的内容也日益复 杂,往往是在一条数据中包括多个相互独立的子数据,以便通过这些子数据体 现更多的信息内容。为了适应数据日益复杂的特点,当前的数据多为结构化数据,这种类型数据的特点是将一个数据中的多个子数据组成一个数据结构, 从而形成一个完整的结构化数据,在该结构化数据中,各个子数据作为该结构 化数据的数据项。以游戏数据为例在一个游戏用户的数据中,通常需要包括 例如等级、性别、年龄、经验、金钱、职业等子数据,在现有技术中,这些子 数据分别以一个数字表示,这些子数据分别作为结构化数据的数据项组成一个 数据结构,从而形成一条包括了如上所述子数据内容的结构化数据。在现有技术中,为了实现将上述结构化数据存储到数据库中,通常需要在 数据库中建立存储表结构,该存储表结构与该数据库需要保存的结构数据的数 据结构相对应,以便于将结构化数据中的各个数据项分割出来后,分别独立存 储于数据库中。具体的,在该存储表结构中,需要设置多个字段,每个字段与 需要存储的结构化数据中的相应数据项相对应,结构化数据在存储到数据库之 前,首先进行解析,得到各个数据项,并将各个数据项存储到数据库中所设置 的相应字段中。仍以游戏数据为例,参见图1,为了实现将结构化的游戏数据存储在数据 库中,现有技术包括如下步骤7步骤101:游戏逻辑模块将需要存储的数据发送数据库中的解析模块,其 中,所述数据为结构化数据;步骤102:所述解析模块根据预先设定的解析规则,对所述结构化数据进 行解析,拆分得到该结构化数据中的各个数据项;步骤103:所述解析^f莫块将解析得到的各个数据项分别存储到数据库中相 应的字段中去;例如,在从结构化数据中拆分得到等级数据项、性别数据项、 年龄数据项后,解析模块将这些数据项存储到数据库中为这些子数据所设置的 相应字段中。在采用上述方式进行结构化数据存储后,在需要进行数据读取时,数据库 根据读取请求,从相应的字段获得所需数据项的数据,并将该数据返回给请求 获得数据的一方。对于其他类型、内容的结构化数据,其存储数据的方式与如上所述实施方 式类似。上述对于结构化数据的存储方式,虽然能够实现对于结构化数据的存储, 但是,仍然具有如下问题由于在数据库中需要设置与待存储的结构化数据相对应的各个字段,且数 据库中的解析模块也需要以待存储的结构化数据的数据项组成方式作为解析 规则来进行结构化数据的解析,因此, 一旦由于某种原因,上层应用逻辑层中 的待存储结构化数据发生了改变,例如增加或减少了某个数据项,则数据库需 要获知当前变化情况,相应的调整其所设置的字段,同时,解析模块也需要获 知所述变化情况,相应的改变解析规则。这些扩大了底层数据库与上层逻辑应 用层之间的耦合度,该耦合度使得一旦逻辑层由于进行功能扩展而需要改变结 构化数据时,数据库也需要进行相应调整,从而额外增加了沟通成本、维护成 本和开发成本,不利于业务的迅速推广和实现。
技术实现思路
本专利技术实施例的目的在于提供一种实现数据存储的方法、装置及系统, 以降低进行数据存储时数据库与上层逻辑层的耦合度。本专利技术实施例提供以下技术方案 一种实现数据存储的方法,该方法包括 接收待存储的结构化数据;将所述结构化数据中的各个数据项进行序列化,并将序列化后的数据发送 给数据库;数据库存储进行所述序列化后的数据。 一种实现数据存储的装置,该装置包括 结构化数据接收模块,用于接收待存储的结构化数据; 序列化处理模块,用于对所述结构化数据中的各个数据项进行序列化; 序列化数据发送模块,用于将序列化后的数据发送给数据库。 一种实现数据读取的方法,该方法包括接收数据读取请求,根据所述请求,从数据库查找得到对应的序列化数据; 将所述序列化数据进行反序列化处理,得到各个数据项的数据; 将相应数据项的数据发送给请求读取数据的一方。 一种实现数据读取的装置,该装置包括序列化数据查找模块,该模块用于接收数据读取请求,根据所述请求,从 数据库查找得到对应的序列化数据;反序列化模块,该模块用于将所述序列化数据进行反序列化处理,得到相 应的数据项的数据;数据发送模块,该模块用于将相应数据项的数据发送给请求读取数据的一方。一种实现数据存储、读取的系统,该系统包括数据处理装置,该装置用于用于接收待存储的结构化数据,对所述结构 化数据中的各个数据项进行序列化,并将序列化后的数据发送给数据库;和, 用于接收数据读取请求,根据所述请求,从数据库查找得到对应的序列化数据, 将所述序列化数据进行反序列化处理,得到相应的数据项的数据,并将相应数 据项的数据发送给请求读取数据的一方;数据库,该数据库用于将所述数据处理装置所发送来的序列化后的数据存储在该数据库中所设置的一个字段中,以及根据所述数据读取请求,查找所 存储的对应的序列化数据,并将该数据返回给所述数据处理装置。可见,在本专利技术实施例中,由于对结构化数据的各个数据项进行序列化, 并将序列化后的数据存储在数据库所设置的一个字段中,因此,无需数据按照 结构化数据的组成方式相应的设置多个字段,也无需在进行数据存储时进行结 构化数据的解析,从而使得在由于系统升级等原因而导致结构化数据发生改变 时,数据库无需进行相应的修改,数据库与上层应用之间的耦合度低,从而使 得进行新业务开发时,不会产生额外的沟通成本、维护成本和开发成本,有利 于新业务的迅速实现和推广。附图说明图1为现有技术中实现结构化数据存储的流程图; 图2为本专利技术实施例中实现数据存储的方法的流程图; 图3为本专利技术一具体实例中实现数据存储的方法的流程图; 图4为本专利技术实施例中实现数据存储的装置的模块图; 图5为本专利技术实施例中实现数据读取的方法的流程图; 图6为本专利技术一具体实例中实现数据读取的方法的流程图; 图7为本专利技术实施例中实现数据读取的装置的模块图; 图8为本专利技术实施例中实现数据存储、读取的系统的示意图。 具体实施例方式下面,结合附图对本专利技术实施例进行详细描述。参见图2,在本专利技术一实施例中,实现数据存储的方法包括以下步骤 步骤201:接收待存储的结构化数据;步骤202:将所述结构化数据中的各个数据项进行序列化,并将序列化后 的数据发送给数据库;步骤203:数据库存储进行所述序列化后的数据。在本专利技术优选实施例中,为了进一步节省存储空间,步骤202可以采用如 下两种方式实现方式一首先,将结构化数据中各个数据项的二进制数据进行序列化,得到一个序 列化后的二进制数据;然后,对所述序列化后的二进制数据进行串行化处理, 得到字符串,并以该字符串作为所述序列化后的数据发送给数据库;方式二首先,对结构化数据中各个数据项的二进制数据进行串行化处理,分别得 到这些二进制it据所对应的字符,然后,将这些字符进行序列化,得到字符串, 并将该字符串作为所述序列化后的数据发送给数据本文档来自技高网
...

【技术保护点】
一种实现数据存储的方法,其特征在于,该方法包括: 接收待存储的结构化数据; 将所述结构化数据中的各个数据项进行序列化,并将序列化后的数据发送给数据库; 数据库存储进行所述序列化后的数据。

【技术特征摘要】
1、一种实现数据存储的方法,其特征在于,该方法包括接收待存储的结构化数据;将所述结构化数据中的各个数据项进行序列化,并将序列化后的数据发送给数据库;数据库存储进行所述序列化后的数据。2、 根据权利要求1所述的方法,其特征在于,所述进行序列化并将序列 化后的数据发送给数据库的具体实现为将结构化数据中各个数据项的二进制数据进行序列化,得到一个序列化后 的二进制数据,对所述序列化后的二进制数据进行串行化处理,得到字符串, 并以该字符串作为所述序列化后的数据发送给数据库。3、 根据权利要求1所述的方法,其特征在于,所述进行序列化并将序列 化后的数据发送给数据库的具体实现为对结构化数据中各个数据项的二进制数据进行串行化处理,分别得到这些 二进制数据所对应的字符,将这些字符进行序列化得到字符串,并将该字符串 作为所述序列化后的数据发送给数据库。4、 根据权利要求1 3任意一项所述的方法,其特征在于,所述串行化处 理的具体实现为以字符类型指针接收进行待处理的二进制数据的头指针,利用该指针,逐 一取出所述二进制数据的单字节;对当前取出的单字节中的前四位字节进行填零操作,形成一个8位的第一 单字节,对当前取出的单字节中的后四位字节进行填零操作,形成一个8位的 第二单字节;对所述第一单字节和第二单字节分别进行加1处理,得到符合ASCII编码 规则的字符串。5、 根据权利要求1 3任意一项所述的方法,其特征在于,该方法预先为 待存储的结构化数据定义版本号,并在所述结构化数据发生变化时自动升级所 述版本号;在所述数据库存储进行所述序列化后的数据之前,该方法进一步包括 判断待存储的结构化数据的版本号是否大于数据库中当前存储数据的版 本号,如果是,则执行所述存储数据的步骤。6、 根据权利要求1 3任意一项所述的方法,其特征在于,在进行所述序 列化之前,该方法进一步包括对待存储的数据进行紧缩对齐处理。7、 一种实现数据存储的装置,其特征在于,该装置包括 结构化数据接收模块,用于接收待存储的结构化数据; 序列化处理模块,用于对所述结构化数据中的各个数据项进行序列化; 序列化数据发送模块,用于将序列化后的数据发送给数据库。8、 根据权利要求7所述的装置,其特征在于,所述序列化处理模块包括 二进制数据序列化模块,该模块用于将结构化数据中各个数据项的二进制数据进行序列化,得到一个序列化后的二进制数据;第一串行化才莫块,该模块用于对所述序列化后的二进制数据进行串行化 处理,得到作为所述序列化后的数据的字符串。9、 根据权利要求7所述的装置,其特征在于,所述序列化处理模块包括 第二串行化模块,该模块用于对结构化数据中各个数据项的二进制数据进行串行化处理,分别得到这些二进制数据所对应的字符;字符序列化模块,该模块用于对所述第二串行化模块得到的各个字符进 行序列化处理,得到作为所述序列化后的数据的字符串。10、 根据权利要求7 9任意一项所述的装置,其特征在于,该装置进一步 包括紧缩对齐沖莫块,用于对待存储的数据进行紧缩对齐处理。11、 根据权利要求7 9任意一项所述的装置,其特征在于,该装置进一步 包括数据校验模块,该模块用于在进行所述存储之前,判断待存储的结构化 数据的版本号是否大于数据库中当前存储数据的版本号,如果大于,则控制所述序列化数据发送模块执行发送数据的步骤。12、 一种实现数据读取的方法,其特征在于,该方法包括 接收数据读取请求,根据所述请求,从数据库查找得到对应的序列化数据; 将所述序列化数据进行反序列化处理,得到各个数据项的数据; 将相...

【专利技术属性】
技术研发人员:洪晓健
申请(专利权)人:北京畅游天下网络技术有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1