文档编号:GM-YFZX-Temp-27 文档密级:内部公开
数据管理平台
产品需求规格说明书
版本号:0.2
天耀宏图科技有限公司
数据管理平台产品需求规格说明书
修订记录
目 录
1
文档介绍 . ................................................................................................................................ 1 1.1 1.2 1.3 1.4 2 3
文档目的 .............................................................................................................................. 1 读者对象 .............................................................................................................................. 1 参考文档 .............................................................................................................................. 1 术语与缩写解释 .................................................................................................................. 1
产品介绍 . ................................................................................................................................ 1 项目目标 . ................................................................................................................................ 1 3.1 3.2 3.3 3.4 3.5
数据集存储 .......................................................................................................................... 1 数据负载均衡 ...................................................................................................................... 2 数据交互 .............................................................................................................................. 2 支持GIS 数据类型 ............................................................................................................... 3 接口的高扩展性 .................................................................................................................. 3
4 5
总体架构 . ................................................................................................................................ 3 产品的功能性需求 . ................................................................................................................. 4 5.1
数据视图 .............................................................................................................................. 4
5.1.1服务器视图功能 ................................................................................................................. 5 4.1.2数据集视图功能 ................................................................................................................. 6 4.1.3图层视图功能 ..................................................................................................................... 6 5.2
数据提交 .............................................................................................................................. 8
4.2.1单文件提交 . ........................................................................................................................ 8 4.2.2批量提交 . ............................................................................................................................ 8 4.2.3断点续传 . ............................................................................................................................ 9 5.3
服务器设置 .......................................................................................................................... 9
4.3.1主服务设置 . ........................................................................................................................ 9 4.3.2服务器启动停止 ............................................................................................................... 10 4.3.3负载均衡 . .......................................................................................................................... 11 6 7 8 9
性能需求 . .............................................................................................................................. 12 外部接口需求 ....................................................................................................................... 12 软硬件环境需求 . ................................................................................................................... 13 其他需求 . .............................................................................................................................. 13
1 文档介绍
1.1 文档目的
本文档的目的是通过对用户需求的分析,将用户需求转化为对产品需求规格的定义,为产品的设计开发和测试提供依据。
本文档范围包括:产品介绍及产品范围,产品应当遵循的标准或规范,产品功能性需求、用户界面需求、性能需求、软硬件环境需求及其他需求等。
1.2 读者对象
产品的开发设计和测试人员、产品的用户(包括公司内/外部客户)。
1.3 参考文档
无
1.4 术语与缩写解释
无
2 产品介绍
数据管理服务将数据预处理工具处理好的数据进行组织,根据制定的数据发布规则,将数据部署到服务器端,并将数据和数据发布服务进行关联,从而将数据提供给浏览终端使用,并对数据进行有效的管理。
3 项目目标
3.1 数据集存储
一个数据集可以理解为一个数据仓库,内部可以存储任意条目的数据。
数据集用一个0~65535的数字编号进行标识,其中有几个编号为固定仓库,其它类型的数据不允许使用:
RDSC_VirtualCubeCode(1):八叉树索引数据专用 RDSC_LayerCfgCode(3):图层配置数据专用
RDSC_DataSetCfgCode(2):客户端数据工具配置专用(服务端不会存在此数据集)
RDSC_InternalShareObject(4):三维客户端内部共享数据专用(服务端不会存在此数据集)
RDSC_ExternalDataSetCode(99):连接外部数据专用,如WMTS/WMS/WMFS等(服务端不会存在此数据集)
一个数据集可以分布于多个Globe 服务端实例上以实现数据存储与发布服务的负载均衡。
3.2 数据负载均衡
Globe 允许多个服务端进程实例同时提供数据服务,一个服务端实例,用IP:Port进行标识。
1. 一台实体服务器硬件,可以有多个服务端实例同时提供数据服务 2. 多台实体服务器硬件,可以有各自的服务端实例同时提供数据服务 数据负载均衡的作用,就是让数据分布在不同的服务端进程实例中,让每一个服务端进程实例尽量均衡地承载数据访问压力;同时数据可以冗余分布,也可以非冗余分布以保证数据服务的高可用性;数据负载均衡,在最初配置服务端实例时就应该规划好,后期修改时才能不影响到前期的数据,后期修改负载均衡配置,不得涉及到前期已经均衡配置的数据集
3.3 数据交互
1. 客户端数据通过数据维护工具可以上传到事先配置好的服务端实例中
2. 数据维护工具也可以将事先上传到服务端实例的数据删除掉 3. 数据维护工具可以更新指定的数据条目 4. 数据维护工具可以在服务端创建图层树结构
3.4 支持GIS 数据类型
数据平台需要具备支持常用GIS 数据的存储与服务,包括以下三种数据类型:
影像数据 地形数据 模型数据
3.5 接口的高扩展性
该项目除了实现上述基本数据服务需求之外,应该确保接口的高扩展性,以支撑未来各种应用场景的自定义数据服务实现,主要包括两个层次的模块接口设计:
C++层 DataKeeper 模块接口设计 COM 层GMDataKeeper 模块接口设计
4 总体架构
架构视图如图所示,该项目聚焦于数据服务层,从数据维护工具应该具备的功能需求开始,逐层梳理现有的模块与接口,根据业务需求重新进行架构设计,提高数据服务框架的可扩展性与可复用性。
展示层
数据服务层
数据生产层
图 4-1
数据定义:
记录是以ID 、Object 的形式存储的,数据集里存放着N 条记录,ID 描述了Object 的类型,唯一标识与所在数据集号;Object 有一种特殊类型叫图层,它可以包含对象,也可以包含图层,Object 数据对象支持嵌套,数据物理存储格式为Bson 格式。
5 产品的功能性需求
无
5.1 数据视图
数据视图包括两个层次,第一个是粗粒度的视图,包括服务器视图,数据集视图,图层视图,第二个是细粒度的视图,主要是粗粒度视图中的数据集或图层对象所包含的最基本的瓦片数据集合或模型数据集合的数据展示。
数据从粗粒度视图角度来看,有三种组织结构,因此数据视图功能模块至少应该包括三个视图的功能子模块:
以服务器组织 以数据集组织
以图层组织 5.1.1服务器视图功能
可以通过树视图查看每个服务器节点上的数据集存储分布,双击每个数据集可以展示数据列表视图并能通过列表视图进行单条记录的查找、单条记录/批量记录/全部记录的删除,以及列表视图翻页等常用功能。
由于目前查找记录功能只支持ID 方式查找,可以考虑为每个记录添加名字属性来支持查找,比如模型数据应用场景可以通过名字属性来删除一些目标模型从而支持场景编辑。
图
5-1
图 5-2
4.1.2数据集视图功能
数据集视图可以清晰展示每个数据集对应存储的服务器节点,但是这个视图功能目前没有展示出数据集在节点上的负载配置,并且双击某个服务器节点弹出的数据列表视图无任何数据记录。
图 5-3
4.1.3图层视图功能
图层视图支持图层创建、图层删除以及图层更新,对于每个图层节点支持图层的创建、删除、图层名修改、数据集增加以及数据集复制与粘贴。
目前平台设计思路是在提交目标数据集到服务器节点时会自动以数据集文件名为图层名创建一个图层添加到RDSC_LayerCfgCode=3对应的图层数据集中,因此可以看到存在XX.GMCT 后缀的图层。
每个图层是对子图层\DOM\DEM\VCUBE类型数据集的引用,因此图层视图功能需要支持以上各种图层与数据集关联的功能。数据集增加/关联就是将某个数据集关联到目标图层,但是必须是同类型的数据集与图层的关联,比如不能将模型数据集关联到影像图层;同理数据集复制与粘贴功能是在同类型图层节点之间的编辑操作,跨类型图层节点之间不支持此类操作,目前数据维护工具并无相关校验逻辑与易用性提示。
图 5-4
同样双击目标图层节点能通过数据列表视图进行展示,并提供单条记录/批量记录从图层引用列表中移除。
图 5-5
5.2 数据提交
4.2.1单文件提交
数据提交包括数据记录的增加与更新,同时需要支持用户任意选择或全部数据的提交。整个提交业务流程是根据每条记录ID 中的DataSetCode 数据集编码,找到该数据集对应的服务器进程,因负载配置的不同因此可能是多个服务器进程,然后提交到对应的服务器节点。
图 5-6
单文件提交选择单个数据文件后通过列表视图(文档视图的一种)进行展示,用户在视图中可以进行记录的查找、数据选择、操作类型(更新与增加)的选择以及查看每条记录的类型等相关属性,最后通过提交功能进行批量记录提交。
4.2.2批量提交
支持批量选择任意多个数据文件进行批量提交,数据文件可是是同类型也可以是跨类型,支持DOM\DEM\模型三种数据文件类型。
图 5-7
4.2.3断点续传
支持批量提交过程中网络传输中断情况下的续传,以保证网络中断之前已经提交到服务器节点的数据成果避免耗时耗力的重复上传。通过设计合理的用户操作日志来支撑断点续传功能或机制。日志格式可以是:时间+用户名+动作+资源+状态
5.3 服务器设置
服务器设置功能模块包括主服务器切换与子服务器节点添加功能模块、服务器的启动与停止功能模块、以及服务器的负载均衡配置模块。
4.3.1主服务设置
通过该功能模块可以自由切换当前激活的主服务器,同时可以动态创建子
服务器节点以用于数据存储与发布服务的均衡负载。
图 5-8
4.3.2服务器启动停止
通过客户端方式启动停止服务器进程更加方便高效,为用户屏蔽Linux 服务器端繁琐的shell 命令操作,同时通过输出视图输出相关状态信息。
图 5-9
4.3.3负载均衡
支持数据存储与发布服务的均衡负载
支持数据存储的冗余备份
负载均衡业务流程如图所示:
图 5-10
图 5-11
目前数据维护工具在已有的负载配置基础上可以进行服务器节点的添加,比如可以将ds1:1的0-100%散列区间上再次添加若干个服务器节点,并同步到主服务器,但是并不会涉及到原来已经提交的数据集的修改变更或冗余备份,只有当提交新数据集时才会同时提交到多个服务器节点进行冗余存储与备份。
已经配置好的数据集,其存储区间分割不能变更,只能删除目标数据集再重新创建;同时删除的目标数据集同步到主服务后会直接将数据集从服务器中移除。
6 性能需求
数据查询的最长等待时间
数据库入库时间1000条/S
系统能7*24正常运行,无故障
7 外部接口需求
无
8 软硬件环境需求
表 8-1
9 其他需求
无
文档编号:GM-YFZX-Temp-27 文档密级:内部公开
数据管理平台
产品需求规格说明书
版本号:0.2
天耀宏图科技有限公司
数据管理平台产品需求规格说明书
修订记录
目 录
1
文档介绍 . ................................................................................................................................ 1 1.1 1.2 1.3 1.4 2 3
文档目的 .............................................................................................................................. 1 读者对象 .............................................................................................................................. 1 参考文档 .............................................................................................................................. 1 术语与缩写解释 .................................................................................................................. 1
产品介绍 . ................................................................................................................................ 1 项目目标 . ................................................................................................................................ 1 3.1 3.2 3.3 3.4 3.5
数据集存储 .......................................................................................................................... 1 数据负载均衡 ...................................................................................................................... 2 数据交互 .............................................................................................................................. 2 支持GIS 数据类型 ............................................................................................................... 3 接口的高扩展性 .................................................................................................................. 3
4 5
总体架构 . ................................................................................................................................ 3 产品的功能性需求 . ................................................................................................................. 4 5.1
数据视图 .............................................................................................................................. 4
5.1.1服务器视图功能 ................................................................................................................. 5 4.1.2数据集视图功能 ................................................................................................................. 6 4.1.3图层视图功能 ..................................................................................................................... 6 5.2
数据提交 .............................................................................................................................. 8
4.2.1单文件提交 . ........................................................................................................................ 8 4.2.2批量提交 . ............................................................................................................................ 8 4.2.3断点续传 . ............................................................................................................................ 9 5.3
服务器设置 .......................................................................................................................... 9
4.3.1主服务设置 . ........................................................................................................................ 9 4.3.2服务器启动停止 ............................................................................................................... 10 4.3.3负载均衡 . .......................................................................................................................... 11 6 7 8 9
性能需求 . .............................................................................................................................. 12 外部接口需求 ....................................................................................................................... 12 软硬件环境需求 . ................................................................................................................... 13 其他需求 . .............................................................................................................................. 13
1 文档介绍
1.1 文档目的
本文档的目的是通过对用户需求的分析,将用户需求转化为对产品需求规格的定义,为产品的设计开发和测试提供依据。
本文档范围包括:产品介绍及产品范围,产品应当遵循的标准或规范,产品功能性需求、用户界面需求、性能需求、软硬件环境需求及其他需求等。
1.2 读者对象
产品的开发设计和测试人员、产品的用户(包括公司内/外部客户)。
1.3 参考文档
无
1.4 术语与缩写解释
无
2 产品介绍
数据管理服务将数据预处理工具处理好的数据进行组织,根据制定的数据发布规则,将数据部署到服务器端,并将数据和数据发布服务进行关联,从而将数据提供给浏览终端使用,并对数据进行有效的管理。
3 项目目标
3.1 数据集存储
一个数据集可以理解为一个数据仓库,内部可以存储任意条目的数据。
数据集用一个0~65535的数字编号进行标识,其中有几个编号为固定仓库,其它类型的数据不允许使用:
RDSC_VirtualCubeCode(1):八叉树索引数据专用 RDSC_LayerCfgCode(3):图层配置数据专用
RDSC_DataSetCfgCode(2):客户端数据工具配置专用(服务端不会存在此数据集)
RDSC_InternalShareObject(4):三维客户端内部共享数据专用(服务端不会存在此数据集)
RDSC_ExternalDataSetCode(99):连接外部数据专用,如WMTS/WMS/WMFS等(服务端不会存在此数据集)
一个数据集可以分布于多个Globe 服务端实例上以实现数据存储与发布服务的负载均衡。
3.2 数据负载均衡
Globe 允许多个服务端进程实例同时提供数据服务,一个服务端实例,用IP:Port进行标识。
1. 一台实体服务器硬件,可以有多个服务端实例同时提供数据服务 2. 多台实体服务器硬件,可以有各自的服务端实例同时提供数据服务 数据负载均衡的作用,就是让数据分布在不同的服务端进程实例中,让每一个服务端进程实例尽量均衡地承载数据访问压力;同时数据可以冗余分布,也可以非冗余分布以保证数据服务的高可用性;数据负载均衡,在最初配置服务端实例时就应该规划好,后期修改时才能不影响到前期的数据,后期修改负载均衡配置,不得涉及到前期已经均衡配置的数据集
3.3 数据交互
1. 客户端数据通过数据维护工具可以上传到事先配置好的服务端实例中
2. 数据维护工具也可以将事先上传到服务端实例的数据删除掉 3. 数据维护工具可以更新指定的数据条目 4. 数据维护工具可以在服务端创建图层树结构
3.4 支持GIS 数据类型
数据平台需要具备支持常用GIS 数据的存储与服务,包括以下三种数据类型:
影像数据 地形数据 模型数据
3.5 接口的高扩展性
该项目除了实现上述基本数据服务需求之外,应该确保接口的高扩展性,以支撑未来各种应用场景的自定义数据服务实现,主要包括两个层次的模块接口设计:
C++层 DataKeeper 模块接口设计 COM 层GMDataKeeper 模块接口设计
4 总体架构
架构视图如图所示,该项目聚焦于数据服务层,从数据维护工具应该具备的功能需求开始,逐层梳理现有的模块与接口,根据业务需求重新进行架构设计,提高数据服务框架的可扩展性与可复用性。
展示层
数据服务层
数据生产层
图 4-1
数据定义:
记录是以ID 、Object 的形式存储的,数据集里存放着N 条记录,ID 描述了Object 的类型,唯一标识与所在数据集号;Object 有一种特殊类型叫图层,它可以包含对象,也可以包含图层,Object 数据对象支持嵌套,数据物理存储格式为Bson 格式。
5 产品的功能性需求
无
5.1 数据视图
数据视图包括两个层次,第一个是粗粒度的视图,包括服务器视图,数据集视图,图层视图,第二个是细粒度的视图,主要是粗粒度视图中的数据集或图层对象所包含的最基本的瓦片数据集合或模型数据集合的数据展示。
数据从粗粒度视图角度来看,有三种组织结构,因此数据视图功能模块至少应该包括三个视图的功能子模块:
以服务器组织 以数据集组织
以图层组织 5.1.1服务器视图功能
可以通过树视图查看每个服务器节点上的数据集存储分布,双击每个数据集可以展示数据列表视图并能通过列表视图进行单条记录的查找、单条记录/批量记录/全部记录的删除,以及列表视图翻页等常用功能。
由于目前查找记录功能只支持ID 方式查找,可以考虑为每个记录添加名字属性来支持查找,比如模型数据应用场景可以通过名字属性来删除一些目标模型从而支持场景编辑。
图
5-1
图 5-2
4.1.2数据集视图功能
数据集视图可以清晰展示每个数据集对应存储的服务器节点,但是这个视图功能目前没有展示出数据集在节点上的负载配置,并且双击某个服务器节点弹出的数据列表视图无任何数据记录。
图 5-3
4.1.3图层视图功能
图层视图支持图层创建、图层删除以及图层更新,对于每个图层节点支持图层的创建、删除、图层名修改、数据集增加以及数据集复制与粘贴。
目前平台设计思路是在提交目标数据集到服务器节点时会自动以数据集文件名为图层名创建一个图层添加到RDSC_LayerCfgCode=3对应的图层数据集中,因此可以看到存在XX.GMCT 后缀的图层。
每个图层是对子图层\DOM\DEM\VCUBE类型数据集的引用,因此图层视图功能需要支持以上各种图层与数据集关联的功能。数据集增加/关联就是将某个数据集关联到目标图层,但是必须是同类型的数据集与图层的关联,比如不能将模型数据集关联到影像图层;同理数据集复制与粘贴功能是在同类型图层节点之间的编辑操作,跨类型图层节点之间不支持此类操作,目前数据维护工具并无相关校验逻辑与易用性提示。
图 5-4
同样双击目标图层节点能通过数据列表视图进行展示,并提供单条记录/批量记录从图层引用列表中移除。
图 5-5
5.2 数据提交
4.2.1单文件提交
数据提交包括数据记录的增加与更新,同时需要支持用户任意选择或全部数据的提交。整个提交业务流程是根据每条记录ID 中的DataSetCode 数据集编码,找到该数据集对应的服务器进程,因负载配置的不同因此可能是多个服务器进程,然后提交到对应的服务器节点。
图 5-6
单文件提交选择单个数据文件后通过列表视图(文档视图的一种)进行展示,用户在视图中可以进行记录的查找、数据选择、操作类型(更新与增加)的选择以及查看每条记录的类型等相关属性,最后通过提交功能进行批量记录提交。
4.2.2批量提交
支持批量选择任意多个数据文件进行批量提交,数据文件可是是同类型也可以是跨类型,支持DOM\DEM\模型三种数据文件类型。
图 5-7
4.2.3断点续传
支持批量提交过程中网络传输中断情况下的续传,以保证网络中断之前已经提交到服务器节点的数据成果避免耗时耗力的重复上传。通过设计合理的用户操作日志来支撑断点续传功能或机制。日志格式可以是:时间+用户名+动作+资源+状态
5.3 服务器设置
服务器设置功能模块包括主服务器切换与子服务器节点添加功能模块、服务器的启动与停止功能模块、以及服务器的负载均衡配置模块。
4.3.1主服务设置
通过该功能模块可以自由切换当前激活的主服务器,同时可以动态创建子
服务器节点以用于数据存储与发布服务的均衡负载。
图 5-8
4.3.2服务器启动停止
通过客户端方式启动停止服务器进程更加方便高效,为用户屏蔽Linux 服务器端繁琐的shell 命令操作,同时通过输出视图输出相关状态信息。
图 5-9
4.3.3负载均衡
支持数据存储与发布服务的均衡负载
支持数据存储的冗余备份
负载均衡业务流程如图所示:
图 5-10
图 5-11
目前数据维护工具在已有的负载配置基础上可以进行服务器节点的添加,比如可以将ds1:1的0-100%散列区间上再次添加若干个服务器节点,并同步到主服务器,但是并不会涉及到原来已经提交的数据集的修改变更或冗余备份,只有当提交新数据集时才会同时提交到多个服务器节点进行冗余存储与备份。
已经配置好的数据集,其存储区间分割不能变更,只能删除目标数据集再重新创建;同时删除的目标数据集同步到主服务后会直接将数据集从服务器中移除。
6 性能需求
数据查询的最长等待时间
数据库入库时间1000条/S
系统能7*24正常运行,无故障
7 外部接口需求
无
8 软硬件环境需求
表 8-1
9 其他需求
无