数据访问方法及装置.pdf

上传人:1*** 文档编号:1344905 上传时间:2018-04-16 格式:PDF 页数:16 大小:548.58KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010506543.2

申请日:

2010.10.14

公开号:

CN101958838A

公开日:

2011.01.26

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20101014|||公开

IPC分类号:

H04L12/56; H04L29/06

主分类号:

H04L12/56

申请人:

联动优势科技有限公司

发明人:

吴锋海; 刘胜

地址:

100140 北京市西城区广宁伯街2号金泽大厦10层

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司 11291

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明公开了一种数据访问方法及装置,用以解决现有技术提供的数据访问方案需要各个网络应用系统分别设置DAO而导致耗费网络应用系统较多处理资源的问题。方法包括:数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识;从预先设置在所述服务器中的数据信息与访问策略、存储介质的类型信息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息;以及通过执行确定的访问策略,确定所述待访问数据的存储地址,并根据确定的存储介质的类型信息,从预先设置在所述服务器中的存储介质类型信息与访问接口的对应关系中,确定相应的访问接口;通过确定的访问接口,访问存储在确定的存储地址中的所述待访问数据。

权利要求书

1: 一种数据访问方法, 其特征在于, 包括 : 数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识 ; 从预先设置在所述服务器中的数据信息与访问策略、 存储介质的类型信息的对应关系 中, 确定与待访问数据的标识对应的访问策略、 存储介质的类型信息 ; 以及 通过执行确定的访问策略, 确定所述待访问数据的存储地址, 并根据确定的存储介质 的类型信息, 从预先设置在所述服务器中的存储介质类型信息与针对不同类型的存储介质 的访问接口的对应关系中, 确定相应的访问接口 ; 通过确定的访问接口, 访问存储在确定的存储地址中的所述待访问数据。
2: 如权利要求 1 所述的方法, 其特征在于, 还包括 : 数据访问服务器接收所述网络应用系统发送的用于指示对所述待访问数据进行操作 的操作类型信息, 所述操作类型信息是所述网络应用系统从预先设置的若干操作类型信息 中选取的 ; 以及 对访问到的数据执行接收的所述操作类型信息所指示的操作。
3: 如权利要求 1 或 2 所述的方法, 其特征在于, 数据访问服务器获取由负载均衡服务器 转发来的所述网络应用系统发送的待访问数据的标识 ; 其中, 负载均衡服务器在判断出数据访问服务器的负载信息符合预定条件时, 将所述 待访问数据的标识转发给数据访问服务器。
4: 如权利要求 1 或 2 所述的方法, 其特征在于, 数据访问服务器设置有分别支持不同协 议的多个接口 ; 以及数据访问服务器获取所述待访问数据的标识具体包括 : 数据访问服务器通过所述多个接口中的第一接口接收所述网络应用系统发送的封装 有待访问数据的标识的协议消息, 其中, 所述第一接口支持用于封装所述待访问数据的标 识的协议 ; 并 根据该协议消息的协议类型, 选取相应的序列化处理方式对所述协议消息进行序列化 处理, 得到所述待访问数据的标识。
5: 如权利要求 1 或 2 所述的方法, 其特征在于, 还包括 : 数据访问服务器获取访问到的数据, 对获取到的数据进行压缩, 并将压缩后的数据进 行加密后发送给所述网络应用系统。
6: 如权利要求 1 或 2 所述的方法, 其特征在于, 还包括 : 所述数据访问服务器确定接收所述待访问数据的标识的时间信息以及所述网络应用 系统的标识 ; 并 根据所述时间信息和所述网络应用系统的标识, 从预先设置的网络应用系统的标识、 时间信息与数据访问带宽的对应关系中, 选取相应的数据访问带宽 ; 以及 根据确定出的访问策略以及访问数据所需的参数信息, 利用选取的访问带宽, 访问存 储在确定的存储介质的类型信息所指示的存储介质中的所述待访问数据。
7: 如权利要求 1 或 2 所述的方法, 其特征在于, 数据访问服务器获取所述待访问数据的 标识具体包括 : 数据访问服务器利用指定数目的线程监听所述网络应用系统发送的数据访问请求消 息, 其中, 所述指定数目小于所述数据访问服务器与所有网络应用系统之间的连接总数目 ; 以及 2 从监听到的数据访问请求消息中解析得到所述待访问数据的标识。
8: 一种数据访问装置, 其特征在于, 包括 : 标识获取单元, 用于获取至少一个网络应用系统发送的待访问数据的标识 ; 第一确定单元, 用于从预先设置在所述装置中的数据的标识与访问策略、 存储介质的 类型信息的对应关系中, 确定与标识获取单元获取到的待访问数据的标识对应的访问策 略、 存储介质的类型信息 ; 存储地址确定单元, 用于通过执行第一确定单元确定的访问策略, 确定所述待访问数 据的存储地址 ; 访问接口确定单元, 用于根据第一确定单元确定的存储介质的类型信息, 从预先设置 在所述装置中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中, 确定相应的访问接口 ; 访问单元, 用于通过访问接口确定单元确定的访问接口, 访问存储在存储地址确定单 元确定的存储地址中的所述待访问数据。
9: 如权利要求 8 所述的装置, 其特征在于, 还包括 : 信息接收单元, 用于接收所述网络应用系统发送的用于指示对所述待访问数据进行操 作的操作类型信息, 所述操作类型信息是所述网络应用系统从预先设置的若干操作类型信 息中选取的 ; 操作单元, 用于对访问单元访问到的数据执行信息接收单元接收的操作类型信息所指 示的操作。
10: 如权利要求 8 或 9 所述的装置, 其特征在于, 标识获取单元具体用于获取由负载均 衡服务器转发来的所述网络应用系统发送的待访问数据的标识 ; 其中, 负载均衡服务器在判断出数据访问服务器的负载信息符合预定条件时, 将所述 待访问数据的标识转发给数据访问服务器。
11: 如权利要求 8 或 9 所述的装置, 其特征在于, 所述装置包含分别支持不同协议的多 个接口 ; 以及所述标识获取单元具体包括 : 消息接收模块, 用于通过所述多个接口中的第一接口接收所述网络应用系统发送的封 装有待访问数据的标识的协议消息, 其中, 所述第一接口支持用于封装所述待访问数据的 标识的协议 ; 协议转化模块, 用于根据消息接收模块接收的该协议消息的协议类型, 选取相应的序 列化处理方式对所述协议消息进行序列化处理, 得到所述待访问数据的标识。
12: 如权利要求 8 或 9 所述的装置, 其特征在于, 还包括 : 数据获取单元, 用于获取访问单元访问到的数据 ; 发送单元, 用于对数据获取单元获取到的数据进行压缩, 并将压缩后的数据进行加密 后发送给所述网络应用系统。
13: 如权利要求 8 或 9 所述的装置, 其特征在于, 还包括 : 第二确定单元, 用于确定标识获取单元获取所述待访问数据的标识的时间信息以及所 述网络应用系统的标识 ; 选取单元, 用于根据第二确定单元确定的时间信息和网络应用系统的标识, 从预先设 置的网络应用系统的标识、 时间信息与数据访问带宽的对应关系中, 选取相应的数据访问 3 带宽 ; 以及 所述访问单元具体用于根据第一确定单元确定出的访问策略以及访问数据所需的参 数信息, 利用选取单元选取的访问带宽, 访问存储在确定的存储介质的类型信息所指示的 存储介质中的所述待访问数据。
14: 如权利要求 8 或 9 所述的装置, 其特征在于, 所述标识获取单元具体包括 : 监听模块, 用于利用指定数目的线程监听所述网络应用系统发送的数据访问请求消 息, 其中, 所述指定数目小于所述数据访问服务器与所有网络应用系统之间的连接总数 目; 解析模块, 用于从监听模块监听到的数据访问请求消息中解析得到所述待访问数据的 标识。

说明书


数据访问方法及装置

    【技术领域】
     本发明涉及网络计算领域, 尤其涉及一种数据访问方法及装置。背景技术 网络应用系统离不开数据的获取和存储。随着互联网应用的不断演化, 网络应用 系统的数量越来越大, 网络应用系统对数据的存储和访问越来越频繁、 访问的数据量也越 来越大, 访问的数据种类也越来越多。
     首先, 针对单一数据库难以支持网络应用系统频繁访问数据库的问题, 在实际应 用中, 考虑到网络应用系统对数据所执行的读操作的频率远大于写操作的频率, 可以通过 实施 “读写分离” 的措施来解决该问题。即针对网络应用系统对数据所执行的不同操作类 型, 分别对应访问不同的数据库, 这样可以有效减轻主数据库的压力。
     其次, 针对单一主机或单一的数据库无法完整保存网络应用系统所需的所有数据 的问题, 在实际应用中, 其解决方案是将海量的数据平行分布到多台主机和多个数据库上 进行保存, 并且采取分片策略对数据进行分片处理, 比如, 可以根据整数 id 值范围对用户 表进行分片, 可以根据交易时间对交易表进行分片, 或者还可以根据多个字段值的 hash 对 某些种类的数据表进行分片等等。对应于不同的分片方式, 网络应用系统需要采用不同的 访问策略对其进行访问。
     此外, 由于数据存储类型也越来越多, 同一网络应用系统所访问的不同类型的数 据往往存储在不同的存储介质中, 比如, 存储介质可能是关系数据库, 也可能是文档数据 库、 内存数据库、 Key-Value 缓存介质、 存储文件格式数据的存储介质、 数据服务存储介质 等等。当需要对存储在不同存储介质中的数据进行访问时, 需要使用不同的应用编程接口 (API, Application Programming Interface) 和不同的类库。
     基于上述的数据存储方式, 当网络应用系统需要对数据进行访问时, 其访问示意 图如图 1 所示, 其中, RDB1、 2 为关系数据库, Cache 为用于存储数据的一种存储介质, 称为 高速缓冲存储器、 而 File 为则为另一种存储介质。而 DAO 为数据访问对象, 其需要包含的 信息至少包括网络应用系统对数据执行的操作类型、 访问策略、 API 信息以及待访问数据信 息。根据 DAO 中包含的操作类型、 访问策略以及 API 信息, 网络应用系统得以实现通过某 API, 以某种访问策略和操作类型来实现对按照某种分片方式存储在某存储介质中的、 待访 问数据信息所指示的数据进行访问。
     现有技术中提供的上述访问方式存在的缺陷在于 : 各个网络应用系统需要分别设 置其采用的 DAO, 由于网络应用系统的数量非常大, 而相应的网络应用系统的数量也是非常 的大, 因此, 采用各个网络应用系统分别设置 DAO 的方式来实现对数据的访问需要耗费网 络应用系统较多的处理资源。
     发明内容
     本发明实施例提供一种数据访问方法及装置, 用以解决现有技术提供的数据访问方案需要各个网络应用系统分别设置 DAO 而导致耗费网络应用系统较多处理资源的问题。
     本发明实施例采用以下技术方案 :
     一种数据访问方法, 包括 :
     数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识 ; 从预先设 置在所述服务器中的数据信息与访问策略、 存储介质的类型信息的对应关系中, 确定与待 访问数据的标识对应的访问策略、 存储介质的类型信息 ; 以及通过执行确定的访问策略, 确 定所述待访问数据的存储地址, 并根据确定的存储介质的类型信息, 从预先设置在所述服 务器中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中, 确定相 应的访问接口 ; 通过确定的访问接口, 访问存储在确定的存储地址中的所述待访问数据。
     较佳地, 所述方法还包括 :
     数据访问服务器接收所述网络应用系统发送的用于指示对所述待访问数据进行 操作的操作类型信息, 所述操作类型信息是所述网络应用系统从预先设置的若干操作类型 信息中选取的 ; 以及对访问到的数据执行接收的所述操作类型信息所指示的操作。
     较佳地, 数据访问服务器获取由负载均衡服务器转发来的所述网络应用系统发送 的待访问数据的标识 ; 其中, 负载均衡服务器在判断出数据访问服务器的负载信息符合预 定条件时, 将所述待访问数据的标识转发给数据访问服务器。 较佳地, 数据访问服务器设置有分别支持不同协议的多个接口 ; 以及数据访问服 务器获取所述待访问数据的标识具体包括 : 数据访问服务器通过所述多个接口中的第一接 口接收所述网络应用系统发送的封装有待访问数据的标识的协议消息, 其中, 所述第一接 口支持用于封装所述待访问数据的标识的协议 ; 并根据该协议消息的协议类型, 选取相应 的序列化处理方式对所述协议消息进行序列化处理, 得到所述待访问数据的标识。
     较佳地, 所述方法还包括 : 数据访问服务器获取访问到的数据, 对获取到的数据进 行压缩, 并将压缩后的数据进行加密后发送给所述网络应用系统。
     较佳地, 所述方法还包括 :
     所述数据访问服务器确定接收所述待访问数据的标识的时间信息以及所述网络 应用系统的标识 ; 并根据所述时间信息和所述网络应用系统的标识, 从预先设置的网络应 用系统的标识、 时间信息与数据访问带宽的对应关系中, 选取相应的数据访问带宽 ; 以及根 据确定出的访问策略以及访问数据所需的参数信息, 利用选取的访问带宽, 访问存储在确 定的存储介质的类型信息所指示的存储介质中的所述待访问数据。
     较佳地, 数据访问服务器获取所述待访问数据的标识具体包括 : 数据访问服务器 利用指定数目的线程监听所述网络应用系统发送的数据访问请求消息, 其中, 所述指定数 目小于所述数据访问服务器与所有网络应用系统之间的连接总数目 ; 以及从监听到的数据 访问请求消息中解析得到所述待访问数据的标识。
     一种数据访问装置, 包括 : 标识获取单元, 用于获取至少一个网络应用系统发送的 待访问数据的标识 ; 第一确定单元, 用于从预先设置在所述装置中的数据的标识与访问策 略、 存储介质的类型信息的对应关系中, 确定与标识获取单元获取到的待访问数据的标识 对应的访问策略、 存储介质的类型信息 ; 存储地址确定单元, 用于通过执行第一确定单元确 定的访问策略, 确定所述待访问数据的存储地址 ; 访问接口确定单元, 用于根据第一确定单 元确定的存储介质的类型信息, 从预先设置在所述装置中的存储介质类型信息与针对不同
     类型的存储介质的访问接口的对应关系中, 确定相应的访问接口 ; 访问单元, 用于通过访问 接口确定单元确定的访问接口, 访问存储在存储地址确定单元确定的存储地址中的所述待 访问数据。
     本发明实施例的有益效果如下 :
     本发明实施例提供的上述方案中, 通过数据访问服务器对访问策略、 存储介质的 类型信息的管理, 网络应用系统只需向数据访问服务器发送待访问数据的标识, 由数据访 问服务器从预先设置在数据访问服务器中的数据的标识与访问策略、 存储介质的类型信息 的对应关系中, 确定与待访问数据的标识对应的访问策略、 存储介质的类型信息, 从而实现 对待访问数据的访问。由于采用本发明实施例提供的方案, 数据访问服务器可以对数据的 标识与访问策略、 存储介质的类型信息的对应关系进行统一管理, 网络应用系统无需再分 别配置 DAO, 而只需要提供待访问数据的标识即可, 因此, 大大节省了网络应用系统的处理 资源。并且, 当分片策略发生变化导致访问策略发生变化, 或者存储介质发生变化 ( 包括存 储介质类型的变化以及某存储介质数量的增减等 ) 而导致 API 变化时, 采用本发明实施例 提供的该方案, 只需要针对数据访问服务器这一个处理对象来修改上述对应关系, 无需多 个网络应用系统分别对其采用的 DAO 进行修改, 从而在该情况下, 也可以实现对处理资源 的节约。 附图说明
     图 1 为现有技术中网络应用系统对数据进行访问的示意图 ; 图 2 为本发明实施例提供的一种数据访问方法的具体流程示意图 ; 图 3 为本发明实施例提供的数据访问方法在实际中的实施示意图 ; 图 4 为设置有负载均衡服务器的数据访问系统的具体示意图 ; 图 5 为本发明实施例提供的数据访问方法在实际中的应用环境示意图 ; 图 6 为本发明实施例提供的一种数据访问装置的具体结构示意图。具体实施方式
     为了解决现有技术提供的数据访问方案需要各个网络应用系统分别设置 DAO 而 导致耗费网络应用系统较多处理资源的问题, 发明人基于降低网络应用系统功能的复杂 性、 以及访问策略等发生变化时对网络应用系统的影响应该最小, 以便实现网络应用系统 较高可用性的原则, 定义了一种灵活而一致的访问方式, 无需耗费网络应用系统较多的处 理资源, 就能够完成对海量数据的访问。
     具体地, 本发明实施例提供了一种数据访问方案, 通过在网络应用系统与待访问 数据之间新增数据访问服务器来对数据与访问策略、 存储介质的类型信息的对应关系进行 管理, 从而实现对网络应用系统功能的简化, 实现节约网络应用系统处理资源的目的。 具体 地, 本发明实施例首先提供一种数据访问方法, 该方法的具体实现流程示意图如图 2 所示, 包括以下步骤 :
     步骤 21, 数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识, 在本发明实施例中, 可以将包含多个网络应用系统和数据访问服务器的系统称为 “数据访 问系统” , 在该数据访问系统中, 多个网络应用系统可以与一个数据访问服务器相连, 视实际需求不同, 在一个数据访问系统可以设置一个或多个数据访问服务器, 当多个网络应用 系统均有数据访问需求时, 就可以向该数据访问服务器发送待访问数据的标识, 不同网络 应用系统欲访问的数据可以相同, 也可以不同, 待访问数据的标识可以但不限于是待访问 数据的类型标识, 也可以是待访问数据的名称标识等等, 较佳地, 本发明实施例中, 网络应 用系统可以通过发送通用资源标识符 (URI, Uniform Resource Identifier) 的方式, 来将 待访问数据的标识承载在 URI 中发送给数据访问服务器 ;
     步骤 22, 从预先设置在数据访问服务器中的数据信息与访问策略、 存储介质的类 型信息的对应关系中, 确定与待访问数据的标识对应的访问策略、 存储介质的类型信息, 在 本发明实施例中, 可以根据待访问数据的标识, 利用 API 来调用与该信息对应的访问策略、 存储介质的类型信息, 还可以将对应于一个待访问数据的标识的访问策略、 存储介质的类 型信息、 在不同类型的存储介质中访问数据分别所需的参数信息包装成一个 “Dalet 资源” 并将其存储在数据访问服务器中, 比如, 可以存储在数据访问服务器所包含的 Dalet 处理 模块中 ;
     步骤 23, 通过执行确定的访问策略, 确定待访问数据的存储地址, 并根据确定的存 储介质的类型信息, 从预先设置在数据访问服务器中的存储介质类型信息与针对不同类型 的存储介质的访问接口的对应关系中, 确定相应的访问接口, 在本步骤 23 中, 访问策略可 以是基于哈希算法等的访问策略, 通过执行与待访问数据对应的该访问策略, 能够确定待 访问数据的存储地址, 而由于不同存储介质类型信息会对应不同的访问接口, 因此, 还需要 确定需要通过什么样的访问接口来访问该待访问数据 ; 步骤 24, 通过确定的访问接口, 访问存储在确定的存储地址中的待访问数据。
     本发明实施例提供的上述方法的核心在于新增了一个数据访问服务器, 并在该服 务器中设置了一套通用的数据信息与 Dalet 资源的对应关系, 从而当网络应用系统需要访 问不同的数据时, 只需网络应用系统对其需访问的数据的标识进行修改, 而无需网络应用 系统执行对 DAO 中的访问策略、 存储介质的类型信息等进行配置, 从而大大节约了网络应 用系统的处理资源。特别地, 当访问策略和 API 发生变化时, 只需要对数据访问服务器中的 对应关系执行修改即可, 由于多个网络应用系统可能会使用同一对应关系, 并且一个数据 访问服务器可以为多个网络应用系统提供服务, 在数据访问系统中, 数据访问服务器的数 量是远远小于网络应用系统的数量的, 因此, 对数据访问服务器中的对应关系执行修改所 花费的资源相对于对网络应用系统的修改所花费的资源是非常小的。
     在本发明实施例中, 当网络应用系统还需要对访问到的数据进行操作时, 网络应 用系统可以从预先设置的若干操作类型信息中选取待进行的操作类型信息发送给数据访 问服务器, 从而数据访问服务器接收到网络应用系统发送的用于指示对待访问数据进行操 作的操作类型信息后, 后续在访问到数据后, 就可以对访问到的数据执行接收的操作类型 信息所指示的操作, 从而实现对数据的操作。需要说明的是, 当需要将访问到的数据发送 给网络应用系统时, 为了增强数据传送过程的安全性以及为了节约传输资源, 数据访问服 务器可以对获取到的数据进行压缩, 然后再将压缩后的数据进行加密后发送给网络应用系 统。
     本发明实施例提供的上述方法在实际中的实施示意图如图 3 所示, 与图 1 相比, 在 图 3 中, 网络应用系统与数据之间新增了数据访问服务器, 该数据访问服务器中设置有数
     据的标识与 Dalet 的对应关系, 其中, Dalet 的数量一般较多, 比如针对不同类型的数据、 具 有不同名称的数据等等, 都有相应的 Dalet 与之对应, 如图 3 中的 Dalet1、 Dalet2......。
     本发明实施例提供的上述方法还可以进一步进行以下改造, 以获得更好的技术效 果:
     前文已经提到, 在一个数据访问系统中可以有多个数据访问服务器, 在本发明实 施中, 为了达到不同数据访问服务器之间的负载均衡, 网络应用系统连接到哪个数据访问 服务器是可以调整的。具体地, 可以在数据访问服务器与网络应用系统之间设置多个负载 均衡服务器, 设置有负载均衡服务器的数据访问系统的具体示意图如图 4 所示。负载均衡 服务器的作用在于接收网络应用系统发送的待访问数据的标识, 并通过收集到的数据访问 服务器的负载信息, 判断数据访问系统中的数据访问服务器的负载信息是否符合预定条 件, 以及将网络应用系统发送的待访问数据的标识转发给数据访问服务器, 从而数据访问 服务器就能够获取到由负载均衡服务器转发来的待访问数据的标识。其中, 上述 “预定条 件” 可以为数据访问服务器的负载小于规定的负载阈值, 或者为数据访问系统中当前负载 最小的数据访问服务器等等。 通过设置负载均衡服务器对网络应用系统发送的待访问数据 的标识的接收对象进行调整, 可以实现数据访问服务器的负载均衡, 增强数据访问系统的 稳定性。
     在本发明实施例中, 针对不同网络应用系统发送封装有待访问数据的标识的协议 消息的情况, 为了兼容不同协议消息, 数据访问服务器还可以被设计成可支持包括 HTTP 在 内的多种网络协议, 从而实现数据服务器可以同时监听多个端口 (PORT)。
     从具体实现上来讲, 可以在数据访问服务器中设置分别支持不同协议的多个接 口, 以实现能够分别处理网络应用系统发送的封装有待访问数据的标识的协议消息。在本 发明实施例中, 通过在数据访问器中设置多个接口, 当接收消息时, 数据访问服务器可以通 过设置的多个接口中的第一接口接收该协议消息, 其中, 该第一接口需满足支持用于封装 待访问数据的标识的协议, 数据访问服务器在接收到该协议消息后, 为了从中获取待访问 数据的标识, 可以根据该协议消息的协议类型, 选取相应的序列化处理方式对该协议消息 进行序列化处理, 得到待访问数据的标识。需要说明的是, 当网络应用系统通过发送 URI 的方式来向数据访问服务器提供待访问数据的标识时, 该 URI 可以隐含表明协议类型, 如 http://host:port1/sqlid/rdb1/query.xml 表明发送的 URI 使用 HTTP 协议, 而返回的数据 应符合 xml 格式, 又如 cm20://host:port2/sqlid/rdb2/query.json, 其表明发送的 URI 使 用 CM20 协议, 而返回的数据应符合 json 格式。
     此外, 在本发明实施例中, 数据访问服务器可以分别为各个网络应用系统分配一 个线程用以监听包含有待访问数据的标识, 但这样的方式在网络应用系统的数量较多时, 需要花费较多的线程资源, 因此, 本发明实施例中还可以基于 NIO 技术, 利用指定数目的线 程监听大量网络应用系统发送的数据访问请求消息, 并从监听到的数据访问请求消息中解 析得到所述待访问数据的标识, 由于上文的指定数目小于数据访问服务器与所有网络应用 系统之间的连接总数目, 从而可以节约线程资源。
     进一步地, 针对不同网络应用系统可能会在不同的时间对数据访问有不同的需求 的情况, 本发明实施例提供的数据访问的方法可以进一步进行改进, 以针对不同的网络应 用系统的网络应用系统在不同时间段对数据的不同访问需求, 为不同访问需求分配对应的访问资源。 具体地, 在改进后的方法中, 可以采用下述步骤实现上述目的 : 首先, 数据访问服 务器可以确定接收待访问数据的标识的时间信息以及发送该待访问数据的标识的网络应 用系统的标识 ; 然后, 根据确定的时间信息和网络应用系统的标识, 数据访问服务器从预先 设置的网络应用系统的标识、 时间信息与数据访问带宽的对应关系中, 选取相应的数据访 问带宽 ; 最后, 根据确定出的访问策略和待访问数据的标识, 数据访问服务器就可以利用选 取的该访问带宽, 访问存储在确定的存储介质中的待访问数据。
     以下以本发明实施例提供的数据访问方法在实际中的应用为例, 详细介绍该方法 在实际中的应用流程。该应用流程的应用环境示意图如图 5 所示, 该应用环境可以看做是 前文所说的数据访问系统, 在该系统中, 网络应用系统处于 “应用逻辑层” , 数据访问服务器 处于 “数据访问层” , 而数据则处于 “数据资源层” 。基于该应用环境, 本发明实施例提供的 方案的核心思想在于在应用逻辑层和数据资源层之间插入一个独立的分布式数据访问层, 将位于应用逻辑层的网络应用系统在现有技术中使用的 DAO 演化位于数据访问层中的数 据访问服务器中使用的 Dalet。
     以下按照 “应用逻辑层” -“数据访问层” -“数据资源层” 的顺序, 依次对各个层进 行介绍 : 首先, 针对应用逻辑层, 该层的数据访问接口可以采用 HTFP 或类 HTTP 标准协议, 从而该接口是一个相比传统 DAO 简单很多的实现方式, 待访问数据的标识用 URI 进行指示, 该 URI 的格式可以为 “scheme://host:port/resouce_path/resouce_id.fmt” 其中, 该格式 包含的各项的含义如下 :
     使用 scheme 标识不同的网络通信协议, 在服务端可支持多种协议 ;
     使用 host 标识不同主机, 可方便实现分布式部署 ;
     使用 port 标识不同端口, 每个 scheme 缺省占用不同端口 ;
     使用 resouce_path 标识不同类型的数据, 在服务端可对其实现负载均衡 ;
     使用 resouce_id 标示特定的数据, 即用以指示待访问数据的标识 ;
     使用 fmt 来识别数据的格式, 在服务端可支持多种序列化格式。
     而 Method 则用以指示对待访问数据进行操作的操作类型信息, 这里的操作类型 可以如下表 1 所示 :
     表1:
     Method 所指示的操作类型信息 GET POST GET PUT /resource_path /resource_path /resource_path/id.fmt /resource_path/id.fmt操作类型信息所指示的操作 获取资源列表 创建资源 获取资源 修改资源状态DELETE/resource_path/id.fmt
     删除资源在应用逻辑层中, 网络应用系统对于与待访问数据相关的存储介质和分片策略都 可以是无知的, 其只需要提供待访问数据的标识, 并从预先设置的 Method 中选取一种或多 种操作类型信息即可。其中, 待访问数据的标识与选取的操作类型信息都可以承载在 URI 中, 并使用对应的协议, 如 HTTP 协议或 CM20 协议, 按要求构造请求消息, 发给数据访问服务 器, 而数据访问服务器通过一系列解析过程 ( 包括解析消息头, 解密, 解压缩, 反序列化消 息体等 ), 最终从该请求消息中获取到待访问数据的标识与选取的操作类型信息等。
     针对数据访问层, 处于该层的数据访问服务器可以包括 NIO 网络协议适配器 ( 包 括消息头解析器和消息体解析器 )、 Dalet 引擎 ( 包括资源分发器和操作映射器 )、 Dalet 容器 ( 包括多个 Dalet, 比如 Dalet1、 Dalet2 等 )。其中, 消息头解析器用以对消息头进行 解析, 而消息体解析器则用以对消息体进行解析, 得到待访问数据的标识以及网络应用系 统选取的 Method。Dalet 引擎中的操作映射器用以存储数据的标识与 Dalet 的标识的对 应关系, 资源分发器用以根据 NIO 网络协议适配器解析出的待访问数据的标识, 从操作映 射器存储的对应关系中, 确定对应于该信息的 Dalet 的标识, 并从 Dalet 容器存储的 Dalet 中, 选取确定的该 Dalet 的标识所指示的 Dalet。在本发明实施例中, 某个 Dalet( 比如为 Dalet4Sqlid) 的配置代码可以如下所示 :
     GET.sql_select = SELECT{fields}FROM{tables}WHERE{wheres}{others}
     PUT.sql_insert = INSERT INTO{tables}({fields})VALUES({values})
     PUT.sql_update = UPDATE{tables}SET{fieled_values}WHERE{wheres}
     在数据访问层中, 针对 Dalet 引擎选取的不同 Dalet, 可以使用不同的接口来访问 相应的数据, 比如, 可以通过 jdbc 接口访问 RDB 中存储的数据, 可以通过 Cache 相关 API 接 口访问 Cache 中存储的数据, 而通过与操作系统相关的接口访问 File 中存储的数据等。
     考虑到 HTTP 协议的解析效率比较差, 并且对长连接和中文字符的支持比较繁琐, 故可以在本发明实施例中定义一种类 HTTP 的 CM20 网络通信协议, 根据该协议, 可以采用固 定消息头长度以加快解码速度。该协议支持多种加密方式、 多种压缩格式、 多种序列化格 式, 多种字符集。
     针对数据资源层, 其所使用的接口是数据访问服务的内部接口, 该接口又称内部 Dalet 接口。数据访问引擎可以通过内部 Dalet 接口, 来调用具体的 Dalet 处理模块, 而 Dalet 处理模块可以很方便地进行修改和扩展。 在需要频繁访问各种不同类型的海量数据时, 采用现有技术提供的方案, 需要通 过提供多种 DAO 来对数据进行访问, 该方式存在的缺陷主要为 : 将 API 接口和数据访问策略 等设置并固化在每个网络应用系统中, 从而导致网络应用系统过于复杂, 缺乏灵活性。 尤其 在多个网络应用系统访问同一套数据时, 现有技术中提供过的数据访问方式将严重阻碍对 数据存储方式 ( 包括对存储介质、 读写分离方式、 数据分片方式等 ) 进行任何改变和优化, 即时是可以对网络应用系统进行改变的, 但同时改变多个网络应用系统也是非常困难的。
     而采用本发明实施例提供的方案后, 由于数据访问服务器可以对数据的标识与访 问策略、 存储介质的类型信息、 在不同类型的存储介质中访问数据分别所需的参数信息的 对应关系进行统一管理, 网络应用系统无需再分别配置 DAO, 而只需要提供待访问数据的标
     识即可, 因此, 大大节省了网络应用系统的处理资源。并且, 当分片策略发生变化导致访问 策略发生变化, 或者存储介质发生变化 ( 包括存储介质类型的变化以及某存储介质数量的 增减等 ) 而导致 API 变化时, 采用本发明实施例提供的该方案, 只需要针对数据访问服务器 这一个处理对象来修改上述对应关系, 无需多个网络应用系统分别对其采用的 DAO 进行修 改, 从而在该情况下, 也可以实现对处理资源的节约。
     对应于本发明实施例提供的数据访问方法, 本发明实施例还提供一种数据访问装 置, 用以解决现有技术提供的数据访问方案需要各个网络应用系统分别设置 DAO 而导致耗 费网络应用系统较多处理资源的问题。该装置的具体结构示意图如图 6 所示, 包括以下功 能单元 :
     标识获取单元 61, 用于获取至少一个网络应用系统发送的待访问数据的标识 ;
     第一确定单元 62, 用于从预先设置在该数据访问装置中的数据的标识与访问策 略、 存储介质的类型信息的对应关系中, 确定与标识获取单元 61 获取到的待访问数据的标 识对应的访问策略、 存储介质的类型信息 ;
     存储地址确定单元 63, 用于通过执行第一确定单元 62 确定的访问策略, 确定待访 问数据的存储地址 ; 访问接口确定单元 64, 用于根据第一确定单元 62 确定的存储介质的类型信息, 从 预先设置在该装置中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应 关系中, 确定相应的访问接口 ;
     访问单元 65, 用于通过访问接口确定单元 64 确定的访问接口, 访问存储在存储地 址确定单元 63 确定的存储地址中的待访问数据。
     较佳地, 本发明实施例提供的上述装置还可以通过进一步包括下述功能单元以实 现对访问到的数据进行操作 :
     信息接收单元, 用于接收网络应用系统发送的用于指示对待访问数据进行操作的 操作类型信息, 其中, 操作类型信息是网络应用系统从预先设置的若干操作类型信息中选 取的 ; 操作单元, 用于对访问单元访问到的数据执行信息接收单元接收的操作类型信息所 指示的操作。
     较佳地, 本发明实施例中, 还可以通过负载均衡服务器来实现对数据访问系统中 的负载均衡, 当数据访问系统中还设置有负载均衡服务器时, 标识获取单元 61 具体可以用 于获取由负载均衡服务器转发来的由网络应用系统发送的待访问数据的标识, 其中, 负载 均衡服务器可以是在判断出数据访问服务器的负载信息符合预定条件时, 将待访问数据的 标识转发给数据访问服务器的。
     较佳地, 本发明实施例提供的上述装置可以包含分别支持不同协议的多个接口, 当该装置包含多个接口时, 标识获取单元 61 还可以进一步划分为以下功能模块 :
     消息接收模块, 用于通过多个接口中的第一接口接收网络应用系统发送的封装有 待访问数据的标识的协议消息, 其中, 第一接口支持用于封装所述待访问数据的标识的协 议; 协议转化模块, 用于根据消息接收模块接收的该协议消息的协议类型, 选取相应的序列 化处理方式对协议消息进行序列化处理, 得到待访问数据的标识。
     较佳地, 本发明实施例提供的上述装置还可以进一步包括 : 数据获取单元, 用于获 取访问单元访问到的数据 ; 发送单元, 用于对数据获取单元获取到的数据进行压缩, 并将压
     缩后的数据进行加密后发送给网络应用系统。
     较佳地, 本发明实施例提供的上述装置还可以进一步包括 : 第二确定单元, 用于确 定标识获取单元 61 获取待访问数据的标识的时间信息以及发送该待访问数据的标识的网 络应用系统的标识 ; 选取单元, 用于根据第二确定单元确定的时间信息和网络应用系统的 标识, 从预先设置的网络应用系统的标识、 时间信息与数据访问带宽的对应关系中, 选取相 应的数据访问带宽。
     基于包括第二确定单元和选取单元的上述装置, 上述访问单元 65 还可以具体用 于根据第一确定单元 62 确定出的访问策略以及访问数据所需的参数信息, 利用选取单元 选取的访问带宽, 访问存储在确定的存储介质的类型信息所指示的存储介质中的待访问数 据。
     较佳地, 对应于标识获取单元 61 功能的一种实现方式, 本发明实施例通的上述标 识获取单元 61 还可以具体划分为以下功能模块 :
     监听模块, 用于利用指定数目的线程监听网络应用系统发送的数据访问请求消 息, 其中, 该指定数目小于数据访问服务器与所有网络应用系统之间的连接总数目 ; 解析模 块, 用于从监听模块监听到的数据访问请求消息中解析得到待访问数据的标识。
     显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。

数据访问方法及装置.pdf_第1页
第1页 / 共16页
数据访问方法及装置.pdf_第2页
第2页 / 共16页
数据访问方法及装置.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《数据访问方法及装置.pdf》由会员分享,可在线阅读,更多相关《数据访问方法及装置.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101958838A43申请公布日20110126CN101958838ACN101958838A21申请号201010506543222申请日20101014H04L12/56200601H04L29/0620060171申请人联动优势科技有限公司地址100140北京市西城区广宁伯街2号金泽大厦10层72发明人吴锋海刘胜74专利代理机构北京同达信恒知识产权代理有限公司11291代理人黄志华54发明名称数据访问方法及装置57摘要本发明公开了一种数据访问方法及装置,用以解决现有技术提供的数据访问方案需要各个网络应用系统分别设置DAO而导致耗费网络应用系统较多处理资源的问题。方法。

2、包括数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识;从预先设置在所述服务器中的数据信息与访问策略、存储介质的类型信息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息;以及通过执行确定的访问策略,确定所述待访问数据的存储地址,并根据确定的存储介质的类型信息,从预先设置在所述服务器中的存储介质类型信息与访问接口的对应关系中,确定相应的访问接口;通过确定的访问接口,访问存储在确定的存储地址中的所述待访问数据。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书9页附图3页CN101958839A1/3页21一种数据访问方法,其特征在于。

3、,包括数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识;从预先设置在所述服务器中的数据信息与访问策略、存储介质的类型信息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息;以及通过执行确定的访问策略,确定所述待访问数据的存储地址,并根据确定的存储介质的类型信息,从预先设置在所述服务器中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中,确定相应的访问接口;通过确定的访问接口,访问存储在确定的存储地址中的所述待访问数据。2如权利要求1所述的方法,其特征在于,还包括数据访问服务器接收所述网络应用系统发送的用于指示对所述待访问数据进行操作的操作类型信息,。

4、所述操作类型信息是所述网络应用系统从预先设置的若干操作类型信息中选取的;以及对访问到的数据执行接收的所述操作类型信息所指示的操作。3如权利要求1或2所述的方法,其特征在于,数据访问服务器获取由负载均衡服务器转发来的所述网络应用系统发送的待访问数据的标识;其中,负载均衡服务器在判断出数据访问服务器的负载信息符合预定条件时,将所述待访问数据的标识转发给数据访问服务器。4如权利要求1或2所述的方法,其特征在于,数据访问服务器设置有分别支持不同协议的多个接口;以及数据访问服务器获取所述待访问数据的标识具体包括数据访问服务器通过所述多个接口中的第一接口接收所述网络应用系统发送的封装有待访问数据的标识的协。

5、议消息,其中,所述第一接口支持用于封装所述待访问数据的标识的协议;并根据该协议消息的协议类型,选取相应的序列化处理方式对所述协议消息进行序列化处理,得到所述待访问数据的标识。5如权利要求1或2所述的方法,其特征在于,还包括数据访问服务器获取访问到的数据,对获取到的数据进行压缩,并将压缩后的数据进行加密后发送给所述网络应用系统。6如权利要求1或2所述的方法,其特征在于,还包括所述数据访问服务器确定接收所述待访问数据的标识的时间信息以及所述网络应用系统的标识;并根据所述时间信息和所述网络应用系统的标识,从预先设置的网络应用系统的标识、时间信息与数据访问带宽的对应关系中,选取相应的数据访问带宽;以及。

6、根据确定出的访问策略以及访问数据所需的参数信息,利用选取的访问带宽,访问存储在确定的存储介质的类型信息所指示的存储介质中的所述待访问数据。7如权利要求1或2所述的方法,其特征在于,数据访问服务器获取所述待访问数据的标识具体包括数据访问服务器利用指定数目的线程监听所述网络应用系统发送的数据访问请求消息,其中,所述指定数目小于所述数据访问服务器与所有网络应用系统之间的连接总数目;以及权利要求书CN101958838ACN101958839A2/3页3从监听到的数据访问请求消息中解析得到所述待访问数据的标识。8一种数据访问装置,其特征在于,包括标识获取单元,用于获取至少一个网络应用系统发送的待访问数。

7、据的标识;第一确定单元,用于从预先设置在所述装置中的数据的标识与访问策略、存储介质的类型信息的对应关系中,确定与标识获取单元获取到的待访问数据的标识对应的访问策略、存储介质的类型信息;存储地址确定单元,用于通过执行第一确定单元确定的访问策略,确定所述待访问数据的存储地址;访问接口确定单元,用于根据第一确定单元确定的存储介质的类型信息,从预先设置在所述装置中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中,确定相应的访问接口;访问单元,用于通过访问接口确定单元确定的访问接口,访问存储在存储地址确定单元确定的存储地址中的所述待访问数据。9如权利要求8所述的装置,其特征在于,还包括信。

8、息接收单元,用于接收所述网络应用系统发送的用于指示对所述待访问数据进行操作的操作类型信息,所述操作类型信息是所述网络应用系统从预先设置的若干操作类型信息中选取的;操作单元,用于对访问单元访问到的数据执行信息接收单元接收的操作类型信息所指示的操作。10如权利要求8或9所述的装置,其特征在于,标识获取单元具体用于获取由负载均衡服务器转发来的所述网络应用系统发送的待访问数据的标识;其中,负载均衡服务器在判断出数据访问服务器的负载信息符合预定条件时,将所述待访问数据的标识转发给数据访问服务器。11如权利要求8或9所述的装置,其特征在于,所述装置包含分别支持不同协议的多个接口;以及所述标识获取单元具体包。

9、括消息接收模块,用于通过所述多个接口中的第一接口接收所述网络应用系统发送的封装有待访问数据的标识的协议消息,其中,所述第一接口支持用于封装所述待访问数据的标识的协议;协议转化模块,用于根据消息接收模块接收的该协议消息的协议类型,选取相应的序列化处理方式对所述协议消息进行序列化处理,得到所述待访问数据的标识。12如权利要求8或9所述的装置,其特征在于,还包括数据获取单元,用于获取访问单元访问到的数据;发送单元,用于对数据获取单元获取到的数据进行压缩,并将压缩后的数据进行加密后发送给所述网络应用系统。13如权利要求8或9所述的装置,其特征在于,还包括第二确定单元,用于确定标识获取单元获取所述待访问。

10、数据的标识的时间信息以及所述网络应用系统的标识;选取单元,用于根据第二确定单元确定的时间信息和网络应用系统的标识,从预先设置的网络应用系统的标识、时间信息与数据访问带宽的对应关系中,选取相应的数据访问权利要求书CN101958838ACN101958839A3/3页4带宽;以及所述访问单元具体用于根据第一确定单元确定出的访问策略以及访问数据所需的参数信息,利用选取单元选取的访问带宽,访问存储在确定的存储介质的类型信息所指示的存储介质中的所述待访问数据。14如权利要求8或9所述的装置,其特征在于,所述标识获取单元具体包括监听模块,用于利用指定数目的线程监听所述网络应用系统发送的数据访问请求消息,。

11、其中,所述指定数目小于所述数据访问服务器与所有网络应用系统之间的连接总数目;解析模块,用于从监听模块监听到的数据访问请求消息中解析得到所述待访问数据的标识。权利要求书CN101958838ACN101958839A1/9页5数据访问方法及装置技术领域0001本发明涉及网络计算领域,尤其涉及一种数据访问方法及装置。背景技术0002网络应用系统离不开数据的获取和存储。随着互联网应用的不断演化,网络应用系统的数量越来越大,网络应用系统对数据的存储和访问越来越频繁、访问的数据量也越来越大,访问的数据种类也越来越多。0003首先,针对单一数据库难以支持网络应用系统频繁访问数据库的问题,在实际应用中,考虑。

12、到网络应用系统对数据所执行的读操作的频率远大于写操作的频率,可以通过实施“读写分离”的措施来解决该问题。即针对网络应用系统对数据所执行的不同操作类型,分别对应访问不同的数据库,这样可以有效减轻主数据库的压力。0004其次,针对单一主机或单一的数据库无法完整保存网络应用系统所需的所有数据的问题,在实际应用中,其解决方案是将海量的数据平行分布到多台主机和多个数据库上进行保存,并且采取分片策略对数据进行分片处理,比如,可以根据整数ID值范围对用户表进行分片,可以根据交易时间对交易表进行分片,或者还可以根据多个字段值的HASH对某些种类的数据表进行分片等等。对应于不同的分片方式,网络应用系统需要采用不。

13、同的访问策略对其进行访问。0005此外,由于数据存储类型也越来越多,同一网络应用系统所访问的不同类型的数据往往存储在不同的存储介质中,比如,存储介质可能是关系数据库,也可能是文档数据库、内存数据库、KEYVALUE缓存介质、存储文件格式数据的存储介质、数据服务存储介质等等。当需要对存储在不同存储介质中的数据进行访问时,需要使用不同的应用编程接口API,APPLICATIONPROGRAMMINGINTERFACE和不同的类库。0006基于上述的数据存储方式,当网络应用系统需要对数据进行访问时,其访问示意图如图1所示,其中,RDB1、2为关系数据库,CACHE为用于存储数据的一种存储介质,称为高。

14、速缓冲存储器、而FILE为则为另一种存储介质。而DAO为数据访问对象,其需要包含的信息至少包括网络应用系统对数据执行的操作类型、访问策略、API信息以及待访问数据信息。根据DAO中包含的操作类型、访问策略以及API信息,网络应用系统得以实现通过某API,以某种访问策略和操作类型来实现对按照某种分片方式存储在某存储介质中的、待访问数据信息所指示的数据进行访问。0007现有技术中提供的上述访问方式存在的缺陷在于各个网络应用系统需要分别设置其采用的DAO,由于网络应用系统的数量非常大,而相应的网络应用系统的数量也是非常的大,因此,采用各个网络应用系统分别设置DAO的方式来实现对数据的访问需要耗费网络。

15、应用系统较多的处理资源。发明内容0008本发明实施例提供一种数据访问方法及装置,用以解决现有技术提供的数据访问说明书CN101958838ACN101958839A2/9页6方案需要各个网络应用系统分别设置DAO而导致耗费网络应用系统较多处理资源的问题。0009本发明实施例采用以下技术方案0010一种数据访问方法,包括0011数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识;从预先设置在所述服务器中的数据信息与访问策略、存储介质的类型信息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息;以及通过执行确定的访问策略,确定所述待访问数据的存储地址,并根据确定的存储。

16、介质的类型信息,从预先设置在所述服务器中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中,确定相应的访问接口;通过确定的访问接口,访问存储在确定的存储地址中的所述待访问数据。0012较佳地,所述方法还包括0013数据访问服务器接收所述网络应用系统发送的用于指示对所述待访问数据进行操作的操作类型信息,所述操作类型信息是所述网络应用系统从预先设置的若干操作类型信息中选取的;以及对访问到的数据执行接收的所述操作类型信息所指示的操作。0014较佳地,数据访问服务器获取由负载均衡服务器转发来的所述网络应用系统发送的待访问数据的标识;其中,负载均衡服务器在判断出数据访问服务器的负载信息符合。

17、预定条件时,将所述待访问数据的标识转发给数据访问服务器。0015较佳地,数据访问服务器设置有分别支持不同协议的多个接口;以及数据访问服务器获取所述待访问数据的标识具体包括数据访问服务器通过所述多个接口中的第一接口接收所述网络应用系统发送的封装有待访问数据的标识的协议消息,其中,所述第一接口支持用于封装所述待访问数据的标识的协议;并根据该协议消息的协议类型,选取相应的序列化处理方式对所述协议消息进行序列化处理,得到所述待访问数据的标识。0016较佳地,所述方法还包括数据访问服务器获取访问到的数据,对获取到的数据进行压缩,并将压缩后的数据进行加密后发送给所述网络应用系统。0017较佳地,所述方法还。

18、包括0018所述数据访问服务器确定接收所述待访问数据的标识的时间信息以及所述网络应用系统的标识;并根据所述时间信息和所述网络应用系统的标识,从预先设置的网络应用系统的标识、时间信息与数据访问带宽的对应关系中,选取相应的数据访问带宽;以及根据确定出的访问策略以及访问数据所需的参数信息,利用选取的访问带宽,访问存储在确定的存储介质的类型信息所指示的存储介质中的所述待访问数据。0019较佳地,数据访问服务器获取所述待访问数据的标识具体包括数据访问服务器利用指定数目的线程监听所述网络应用系统发送的数据访问请求消息,其中,所述指定数目小于所述数据访问服务器与所有网络应用系统之间的连接总数目;以及从监听到。

19、的数据访问请求消息中解析得到所述待访问数据的标识。0020一种数据访问装置,包括标识获取单元,用于获取至少一个网络应用系统发送的待访问数据的标识;第一确定单元,用于从预先设置在所述装置中的数据的标识与访问策略、存储介质的类型信息的对应关系中,确定与标识获取单元获取到的待访问数据的标识对应的访问策略、存储介质的类型信息;存储地址确定单元,用于通过执行第一确定单元确定的访问策略,确定所述待访问数据的存储地址;访问接口确定单元,用于根据第一确定单元确定的存储介质的类型信息,从预先设置在所述装置中的存储介质类型信息与针对不同说明书CN101958838ACN101958839A3/9页7类型的存储介质。

20、的访问接口的对应关系中,确定相应的访问接口;访问单元,用于通过访问接口确定单元确定的访问接口,访问存储在存储地址确定单元确定的存储地址中的所述待访问数据。0021本发明实施例的有益效果如下0022本发明实施例提供的上述方案中,通过数据访问服务器对访问策略、存储介质的类型信息的管理,网络应用系统只需向数据访问服务器发送待访问数据的标识,由数据访问服务器从预先设置在数据访问服务器中的数据的标识与访问策略、存储介质的类型信息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息,从而实现对待访问数据的访问。由于采用本发明实施例提供的方案,数据访问服务器可以对数据的标识与访问策略、存储。

21、介质的类型信息的对应关系进行统一管理,网络应用系统无需再分别配置DAO,而只需要提供待访问数据的标识即可,因此,大大节省了网络应用系统的处理资源。并且,当分片策略发生变化导致访问策略发生变化,或者存储介质发生变化包括存储介质类型的变化以及某存储介质数量的增减等而导致API变化时,采用本发明实施例提供的该方案,只需要针对数据访问服务器这一个处理对象来修改上述对应关系,无需多个网络应用系统分别对其采用的DAO进行修改,从而在该情况下,也可以实现对处理资源的节约。附图说明0023图1为现有技术中网络应用系统对数据进行访问的示意图;0024图2为本发明实施例提供的一种数据访问方法的具体流程示意图;00。

22、25图3为本发明实施例提供的数据访问方法在实际中的实施示意图;0026图4为设置有负载均衡服务器的数据访问系统的具体示意图;0027图5为本发明实施例提供的数据访问方法在实际中的应用环境示意图;0028图6为本发明实施例提供的一种数据访问装置的具体结构示意图。具体实施方式0029为了解决现有技术提供的数据访问方案需要各个网络应用系统分别设置DAO而导致耗费网络应用系统较多处理资源的问题,发明人基于降低网络应用系统功能的复杂性、以及访问策略等发生变化时对网络应用系统的影响应该最小,以便实现网络应用系统较高可用性的原则,定义了一种灵活而一致的访问方式,无需耗费网络应用系统较多的处理资源,就能够完成。

23、对海量数据的访问。0030具体地,本发明实施例提供了一种数据访问方案,通过在网络应用系统与待访问数据之间新增数据访问服务器来对数据与访问策略、存储介质的类型信息的对应关系进行管理,从而实现对网络应用系统功能的简化,实现节约网络应用系统处理资源的目的。具体地,本发明实施例首先提供一种数据访问方法,该方法的具体实现流程示意图如图2所示,包括以下步骤0031步骤21,数据访问服务器获取至少一个网络应用系统发送的待访问数据的标识,在本发明实施例中,可以将包含多个网络应用系统和数据访问服务器的系统称为“数据访问系统”,在该数据访问系统中,多个网络应用系统可以与一个数据访问服务器相连,视实说明书CN101。

24、958838ACN101958839A4/9页8际需求不同,在一个数据访问系统可以设置一个或多个数据访问服务器,当多个网络应用系统均有数据访问需求时,就可以向该数据访问服务器发送待访问数据的标识,不同网络应用系统欲访问的数据可以相同,也可以不同,待访问数据的标识可以但不限于是待访问数据的类型标识,也可以是待访问数据的名称标识等等,较佳地,本发明实施例中,网络应用系统可以通过发送通用资源标识符URI,UNIFORMRESOURCEIDENTIFIER的方式,来将待访问数据的标识承载在URI中发送给数据访问服务器;0032步骤22,从预先设置在数据访问服务器中的数据信息与访问策略、存储介质的类型信。

25、息的对应关系中,确定与待访问数据的标识对应的访问策略、存储介质的类型信息,在本发明实施例中,可以根据待访问数据的标识,利用API来调用与该信息对应的访问策略、存储介质的类型信息,还可以将对应于一个待访问数据的标识的访问策略、存储介质的类型信息、在不同类型的存储介质中访问数据分别所需的参数信息包装成一个“DALET资源”并将其存储在数据访问服务器中,比如,可以存储在数据访问服务器所包含的DALET处理模块中;0033步骤23,通过执行确定的访问策略,确定待访问数据的存储地址,并根据确定的存储介质的类型信息,从预先设置在数据访问服务器中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系。

26、中,确定相应的访问接口,在本步骤23中,访问策略可以是基于哈希算法等的访问策略,通过执行与待访问数据对应的该访问策略,能够确定待访问数据的存储地址,而由于不同存储介质类型信息会对应不同的访问接口,因此,还需要确定需要通过什么样的访问接口来访问该待访问数据;0034步骤24,通过确定的访问接口,访问存储在确定的存储地址中的待访问数据。0035本发明实施例提供的上述方法的核心在于新增了一个数据访问服务器,并在该服务器中设置了一套通用的数据信息与DALET资源的对应关系,从而当网络应用系统需要访问不同的数据时,只需网络应用系统对其需访问的数据的标识进行修改,而无需网络应用系统执行对DAO中的访问策略。

27、、存储介质的类型信息等进行配置,从而大大节约了网络应用系统的处理资源。特别地,当访问策略和API发生变化时,只需要对数据访问服务器中的对应关系执行修改即可,由于多个网络应用系统可能会使用同一对应关系,并且一个数据访问服务器可以为多个网络应用系统提供服务,在数据访问系统中,数据访问服务器的数量是远远小于网络应用系统的数量的,因此,对数据访问服务器中的对应关系执行修改所花费的资源相对于对网络应用系统的修改所花费的资源是非常小的。0036在本发明实施例中,当网络应用系统还需要对访问到的数据进行操作时,网络应用系统可以从预先设置的若干操作类型信息中选取待进行的操作类型信息发送给数据访问服务器,从而数据。

28、访问服务器接收到网络应用系统发送的用于指示对待访问数据进行操作的操作类型信息后,后续在访问到数据后,就可以对访问到的数据执行接收的操作类型信息所指示的操作,从而实现对数据的操作。需要说明的是,当需要将访问到的数据发送给网络应用系统时,为了增强数据传送过程的安全性以及为了节约传输资源,数据访问服务器可以对获取到的数据进行压缩,然后再将压缩后的数据进行加密后发送给网络应用系统。0037本发明实施例提供的上述方法在实际中的实施示意图如图3所示,与图1相比,在图3中,网络应用系统与数据之间新增了数据访问服务器,该数据访问服务器中设置有数说明书CN101958838ACN101958839A5/9页9据。

29、的标识与DALET的对应关系,其中,DALET的数量一般较多,比如针对不同类型的数据、具有不同名称的数据等等,都有相应的DALET与之对应,如图3中的DALET1、DALET2。0038本发明实施例提供的上述方法还可以进一步进行以下改造,以获得更好的技术效果0039前文已经提到,在一个数据访问系统中可以有多个数据访问服务器,在本发明实施中,为了达到不同数据访问服务器之间的负载均衡,网络应用系统连接到哪个数据访问服务器是可以调整的。具体地,可以在数据访问服务器与网络应用系统之间设置多个负载均衡服务器,设置有负载均衡服务器的数据访问系统的具体示意图如图4所示。负载均衡服务器的作用在于接收网络应用系。

30、统发送的待访问数据的标识,并通过收集到的数据访问服务器的负载信息,判断数据访问系统中的数据访问服务器的负载信息是否符合预定条件,以及将网络应用系统发送的待访问数据的标识转发给数据访问服务器,从而数据访问服务器就能够获取到由负载均衡服务器转发来的待访问数据的标识。其中,上述“预定条件”可以为数据访问服务器的负载小于规定的负载阈值,或者为数据访问系统中当前负载最小的数据访问服务器等等。通过设置负载均衡服务器对网络应用系统发送的待访问数据的标识的接收对象进行调整,可以实现数据访问服务器的负载均衡,增强数据访问系统的稳定性。0040在本发明实施例中,针对不同网络应用系统发送封装有待访问数据的标识的协议。

31、消息的情况,为了兼容不同协议消息,数据访问服务器还可以被设计成可支持包括HTTP在内的多种网络协议,从而实现数据服务器可以同时监听多个端口PORT。0041从具体实现上来讲,可以在数据访问服务器中设置分别支持不同协议的多个接口,以实现能够分别处理网络应用系统发送的封装有待访问数据的标识的协议消息。在本发明实施例中,通过在数据访问器中设置多个接口,当接收消息时,数据访问服务器可以通过设置的多个接口中的第一接口接收该协议消息,其中,该第一接口需满足支持用于封装待访问数据的标识的协议,数据访问服务器在接收到该协议消息后,为了从中获取待访问数据的标识,可以根据该协议消息的协议类型,选取相应的序列化处理。

32、方式对该协议消息进行序列化处理,得到待访问数据的标识。需要说明的是,当网络应用系统通过发送URI的方式来向数据访问服务器提供待访问数据的标识时,该URI可以隐含表明协议类型,如HTTP/HOSTPORT1/SQLID/RDB1/QUERYXML表明发送的URI使用HTTP协议,而返回的数据应符合XML格式,又如CM20/HOSTPORT2/SQLID/RDB2/QUERYJSON,其表明发送的URI使用CM20协议,而返回的数据应符合JSON格式。0042此外,在本发明实施例中,数据访问服务器可以分别为各个网络应用系统分配一个线程用以监听包含有待访问数据的标识,但这样的方式在网络应用系统的数量。

33、较多时,需要花费较多的线程资源,因此,本发明实施例中还可以基于NIO技术,利用指定数目的线程监听大量网络应用系统发送的数据访问请求消息,并从监听到的数据访问请求消息中解析得到所述待访问数据的标识,由于上文的指定数目小于数据访问服务器与所有网络应用系统之间的连接总数目,从而可以节约线程资源。0043进一步地,针对不同网络应用系统可能会在不同的时间对数据访问有不同的需求的情况,本发明实施例提供的数据访问的方法可以进一步进行改进,以针对不同的网络应用系统的网络应用系统在不同时间段对数据的不同访问需求,为不同访问需求分配对应的说明书CN101958838ACN101958839A6/9页10访问资源。。

34、具体地,在改进后的方法中,可以采用下述步骤实现上述目的首先,数据访问服务器可以确定接收待访问数据的标识的时间信息以及发送该待访问数据的标识的网络应用系统的标识;然后,根据确定的时间信息和网络应用系统的标识,数据访问服务器从预先设置的网络应用系统的标识、时间信息与数据访问带宽的对应关系中,选取相应的数据访问带宽;最后,根据确定出的访问策略和待访问数据的标识,数据访问服务器就可以利用选取的该访问带宽,访问存储在确定的存储介质中的待访问数据。0044以下以本发明实施例提供的数据访问方法在实际中的应用为例,详细介绍该方法在实际中的应用流程。该应用流程的应用环境示意图如图5所示,该应用环境可以看做是前文。

35、所说的数据访问系统,在该系统中,网络应用系统处于“应用逻辑层”,数据访问服务器处于“数据访问层”,而数据则处于“数据资源层”。基于该应用环境,本发明实施例提供的方案的核心思想在于在应用逻辑层和数据资源层之间插入一个独立的分布式数据访问层,将位于应用逻辑层的网络应用系统在现有技术中使用的DAO演化位于数据访问层中的数据访问服务器中使用的DALET。0045以下按照“应用逻辑层”“数据访问层”“数据资源层”的顺序,依次对各个层进行介绍0046首先,针对应用逻辑层,该层的数据访问接口可以采用HTFP或类HTTP标准协议,从而该接口是一个相比传统DAO简单很多的实现方式,待访问数据的标识用URI进行指。

36、示,该URI的格式可以为“SCHEME/HOSTPORT/RESOUCE_PATH/RESOUCE_IDFMT”其中,该格式包含的各项的含义如下0047使用SCHEME标识不同的网络通信协议,在服务端可支持多种协议;0048使用HOST标识不同主机,可方便实现分布式部署;0049使用PORT标识不同端口,每个SCHEME缺省占用不同端口;0050使用RESOUCE_PATH标识不同类型的数据,在服务端可对其实现负载均衡;0051使用RESOUCE_ID标示特定的数据,即用以指示待访问数据的标识;0052使用FMT来识别数据的格式,在服务端可支持多种序列化格式。0053而METHOD则用以指示对。

37、待访问数据进行操作的操作类型信息,这里的操作类型可以如下表1所示0054表10055METHOD所指示的操作类型信息操作类型信息所指示的操作GET/RESOURCE_PATH获取资源列表POST/RESOURCE_PATH创建资源GET/RESOURCE_PATH/IDFMT获取资源PUT/RESOURCE_PATH/IDFMT修改资源状态说明书CN101958838ACN101958839A7/9页11DELETE/RESOURCE_PATH/IDFMT删除资源0056在应用逻辑层中,网络应用系统对于与待访问数据相关的存储介质和分片策略都可以是无知的,其只需要提供待访问数据的标识,并从预先设。

38、置的METHOD中选取一种或多种操作类型信息即可。其中,待访问数据的标识与选取的操作类型信息都可以承载在URI中,并使用对应的协议,如HTTP协议或CM20协议,按要求构造请求消息,发给数据访问服务器,而数据访问服务器通过一系列解析过程包括解析消息头,解密,解压缩,反序列化消息体等,最终从该请求消息中获取到待访问数据的标识与选取的操作类型信息等。0057针对数据访问层,处于该层的数据访问服务器可以包括NIO网络协议适配器包括消息头解析器和消息体解析器、DALET引擎包括资源分发器和操作映射器、DALET容器包括多个DALET,比如DALET1、DALET2等。其中,消息头解析器用以对消息头进行。

39、解析,而消息体解析器则用以对消息体进行解析,得到待访问数据的标识以及网络应用系统选取的METHOD。DALET引擎中的操作映射器用以存储数据的标识与DALET的标识的对应关系,资源分发器用以根据NIO网络协议适配器解析出的待访问数据的标识,从操作映射器存储的对应关系中,确定对应于该信息的DALET的标识,并从DALET容器存储的DALET中,选取确定的该DALET的标识所指示的DALET。在本发明实施例中,某个DALET比如为DALET4SQLID的配置代码可以如下所示0058GETSQL_SELECTSELECTFIELDSFROMTABLESWHEREWHERESOTHERS0059PUT。

40、SQL_INSERTINSERTINTOTABLESFIELDSVALUESVALUES0060PUTSQL_UPDATEUPDATETABLESSETFIELED_VALUESWHEREWHERES0061在数据访问层中,针对DALET引擎选取的不同DALET,可以使用不同的接口来访问相应的数据,比如,可以通过JDBC接口访问RDB中存储的数据,可以通过CACHE相关API接口访问CACHE中存储的数据,而通过与操作系统相关的接口访问FILE中存储的数据等。0062考虑到HTTP协议的解析效率比较差,并且对长连接和中文字符的支持比较繁琐,故可以在本发明实施例中定义一种类HTTP的CM20网络。

41、通信协议,根据该协议,可以采用固定消息头长度以加快解码速度。该协议支持多种加密方式、多种压缩格式、多种序列化格式,多种字符集。0063针对数据资源层,其所使用的接口是数据访问服务的内部接口,该接口又称内部DALET接口。数据访问引擎可以通过内部DALET接口,来调用具体的DALET处理模块,而DALET处理模块可以很方便地进行修改和扩展。0064在需要频繁访问各种不同类型的海量数据时,采用现有技术提供的方案,需要通过提供多种DAO来对数据进行访问,该方式存在的缺陷主要为将API接口和数据访问策略等设置并固化在每个网络应用系统中,从而导致网络应用系统过于复杂,缺乏灵活性。尤其在多个网络应用系统访。

42、问同一套数据时,现有技术中提供过的数据访问方式将严重阻碍对数据存储方式包括对存储介质、读写分离方式、数据分片方式等进行任何改变和优化,即时是可以对网络应用系统进行改变的,但同时改变多个网络应用系统也是非常困难的。0065而采用本发明实施例提供的方案后,由于数据访问服务器可以对数据的标识与访问策略、存储介质的类型信息、在不同类型的存储介质中访问数据分别所需的参数信息的对应关系进行统一管理,网络应用系统无需再分别配置DAO,而只需要提供待访问数据的标说明书CN101958838ACN101958839A8/9页12识即可,因此,大大节省了网络应用系统的处理资源。并且,当分片策略发生变化导致访问策略。

43、发生变化,或者存储介质发生变化包括存储介质类型的变化以及某存储介质数量的增减等而导致API变化时,采用本发明实施例提供的该方案,只需要针对数据访问服务器这一个处理对象来修改上述对应关系,无需多个网络应用系统分别对其采用的DAO进行修改,从而在该情况下,也可以实现对处理资源的节约。0066对应于本发明实施例提供的数据访问方法,本发明实施例还提供一种数据访问装置,用以解决现有技术提供的数据访问方案需要各个网络应用系统分别设置DAO而导致耗费网络应用系统较多处理资源的问题。该装置的具体结构示意图如图6所示,包括以下功能单元0067标识获取单元61,用于获取至少一个网络应用系统发送的待访问数据的标识;。

44、0068第一确定单元62,用于从预先设置在该数据访问装置中的数据的标识与访问策略、存储介质的类型信息的对应关系中,确定与标识获取单元61获取到的待访问数据的标识对应的访问策略、存储介质的类型信息;0069存储地址确定单元63,用于通过执行第一确定单元62确定的访问策略,确定待访问数据的存储地址;0070访问接口确定单元64,用于根据第一确定单元62确定的存储介质的类型信息,从预先设置在该装置中的存储介质类型信息与针对不同类型的存储介质的访问接口的对应关系中,确定相应的访问接口;0071访问单元65,用于通过访问接口确定单元64确定的访问接口,访问存储在存储地址确定单元63确定的存储地址中的待访。

45、问数据。0072较佳地,本发明实施例提供的上述装置还可以通过进一步包括下述功能单元以实现对访问到的数据进行操作0073信息接收单元,用于接收网络应用系统发送的用于指示对待访问数据进行操作的操作类型信息,其中,操作类型信息是网络应用系统从预先设置的若干操作类型信息中选取的;操作单元,用于对访问单元访问到的数据执行信息接收单元接收的操作类型信息所指示的操作。0074较佳地,本发明实施例中,还可以通过负载均衡服务器来实现对数据访问系统中的负载均衡,当数据访问系统中还设置有负载均衡服务器时,标识获取单元61具体可以用于获取由负载均衡服务器转发来的由网络应用系统发送的待访问数据的标识,其中,负载均衡服务。

46、器可以是在判断出数据访问服务器的负载信息符合预定条件时,将待访问数据的标识转发给数据访问服务器的。0075较佳地,本发明实施例提供的上述装置可以包含分别支持不同协议的多个接口,当该装置包含多个接口时,标识获取单元61还可以进一步划分为以下功能模块0076消息接收模块,用于通过多个接口中的第一接口接收网络应用系统发送的封装有待访问数据的标识的协议消息,其中,第一接口支持用于封装所述待访问数据的标识的协议;协议转化模块,用于根据消息接收模块接收的该协议消息的协议类型,选取相应的序列化处理方式对协议消息进行序列化处理,得到待访问数据的标识。0077较佳地,本发明实施例提供的上述装置还可以进一步包括数。

47、据获取单元,用于获取访问单元访问到的数据;发送单元,用于对数据获取单元获取到的数据进行压缩,并将压说明书CN101958838ACN101958839A9/9页13缩后的数据进行加密后发送给网络应用系统。0078较佳地,本发明实施例提供的上述装置还可以进一步包括第二确定单元,用于确定标识获取单元61获取待访问数据的标识的时间信息以及发送该待访问数据的标识的网络应用系统的标识;选取单元,用于根据第二确定单元确定的时间信息和网络应用系统的标识,从预先设置的网络应用系统的标识、时间信息与数据访问带宽的对应关系中,选取相应的数据访问带宽。0079基于包括第二确定单元和选取单元的上述装置,上述访问单元6。

48、5还可以具体用于根据第一确定单元62确定出的访问策略以及访问数据所需的参数信息,利用选取单元选取的访问带宽,访问存储在确定的存储介质的类型信息所指示的存储介质中的待访问数据。0080较佳地,对应于标识获取单元61功能的一种实现方式,本发明实施例通的上述标识获取单元61还可以具体划分为以下功能模块0081监听模块,用于利用指定数目的线程监听网络应用系统发送的数据访问请求消息,其中,该指定数目小于数据访问服务器与所有网络应用系统之间的连接总数目;解析模块,用于从监听模块监听到的数据访问请求消息中解析得到待访问数据的标识。0082显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。说明书CN101958838ACN101958839A1/3页14图1图2说明书附图CN101958838ACN101958839A2/3页15图3图4说明书附图CN101958838ACN101958839A3/3页16图5图6说明书附图CN101958838A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1