ICSLY中华人民共和国林业行业标准XX/TXXXXX—XXXX林业信息资源目录体系技术规范ForestryinformationresourcescatalogsystemframeworkXXXX-XX-XX发布XXXX-XX-XX实施发布目次前言II1范围12规范性引用文件13语术和定义14概述15公共资源目录体系接口26目录管理67关键技术及其实现98结论11前言根据《全国林业信息化建设纲要》和《林业信息化标准体系框架》,引用国家政务信息资源目录体系标准,结合我国林业行业的具体情况,编制本标准.
本标准的编制是为满足国家和地方林业信息资源快捷、方便地发现和获取,以及多级多部门间的信息资源汇集和整合需求.
本标准由中国林业科学研究院资源信息研究所提出.
本标准由全国林业信息数据标准化技术委员会归口.
本标准主要起草单位:中国林业科学研究院资源信息研究所、盈创星空(北京)科技有限公司.
本标准主要起草人:张旭、于新文、雷振宇、范东璞、杨彦臣、李轩、刘燕、陈艳、邓广、李凡.
林业信息资源目录体系技术规范范围本部分规定了林业信息目录体系的技术要求.
本部分适用于林业部门规划和建立信息目录服务器.
规范性引用文件下列文件对于本文件的应用是必不可少的.
凡是注日期的引用文件,仅所注日期的版本适用于本文件.
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件.
语术和定义3.
1目录服务catalogservice目录服务是指将目录信息源与针对这些信息源的服务结合起来,使这些信息可被用户方便的使用.
3.
2林业信息资源目录forestryinformationresourcescatalog林业信息资源目录是指按照林业信息资源分类体系对元数据的有序排列.
3.
3林业信息资源目录体系forestryinformationresourcescatalogsystem林业信息资源目录体系是目录信息与服务、保障与支撑组成的一个总体.
目录信息与服务指基于元数据的、能够提供人机接口查询界面的各种浏览器和客户端应用,同时也包括提供计算机系统之间通讯的元数据查询服务接口.
保障和支撑主要包括标准、管理和安全保障.
标准与管理是指为建立林业信息资源目录体系而必须遵循的相关技术标准,例如目录体系技术要求、核心元数据、信息资源分类、信息资源唯一标识符、技术管理要求等相关标准.
安全保障指为保证林业信息资源共享和交换安全的相关技术要求、技术标准、法规等.
3.
4接口interface两个不同系统(或子程序)交接并通过它彼此作用的部分.
3.
5消息message软件对象之间进行交互作用和通讯所需要传递的信息.
概述本部分给出林业信息目录体系提供的技术接口定义,主要为林业信息目录接口和交换服务目录接口两部分.
公共资源目录体系接口概述林业资源目录接口用于林业信息资源目录公共资源目录的建立、查询和管理.
林业资源目录接口必须支持HTTP实现方式,同时可在此基础上选用HTTP+SOAP或者其他方式.
5.
1.
1功能组成图1描述了目录服务的功能组成:发现、访问和管理三部分.
发现服务允许客户端定位描述林业资源的元数据.
访问服务是提供客户端获取林业资源的服务.
访问服务可以分为二中类型:直接访问吗,提供客户端入口,当这个如后被客户端使用时,可以提供数据给客户端;代理访问,提供客户端订购数据方法,以外部的其他方式提供数据访问.
管理服务提供客户端方法,来改变目录中所包含的元数据.
图1目录服务的功能组成5.
1.
2元数据的采集方式目录服务是建立在元数据之上的.
在共享领域都有各自的元数据进行交换.
采集技术包括元数据的自动采集技术和手工采集技术.
自动采集技术一般和业务系统或者目录信息资源,生产系统结合比较紧密.
无论是元数据的自动采集还是手工采集,其基本核心包括两方面的内容:一是对元数据内容标准的支持.
不同的林业信息资源类型、不同的应用需求所需要的元数据内容是不同的.
而且越是复杂的元数据内容标准,其内部的结构和相互关系就越复杂.
因此,元数据采集应当支持对不同元数据内容标准的元数据进行采集,同时能够对采集的元数据进行数据完整性和逻辑一致性的检查.
数据完整性主要指的是元数据内容标准中所规定的必选必填内容是否都已有值,逻辑一致性指元数据的实体和元数据元素的相互关系是否符合元数据内容的规定.
二是对元数据输出格式的支持.
元数据采集完成后,必须首先输出再建立相应的存储.
因此,元数据的输出必须采用成熟、主流的数据编码技术进行编码,方便元数据的输出和交换.
目前,网络数据交换一般使用扩展标记语言(XML)进行编码,就目前阶段而言,支持XML格式的元数据内容输出是必要的.
5.
1.
2元数据结构图2描述了目录信息元数据的概念结构.
每个元数据包包含一个或多个实体以及元数据元素图2目录信息元数据的概念结构图5.
1.
3元数据的储存元数据存储是目录体系的重要内容.
元数据建库就是建立已经采集完毕的元数据的存储.
目前,主流的信息存储是采用关系型数据库管理系统对信息进行存储管理,它具有工业化程度高、经济高效的特点.
因此,林业信息资源元数据的存储需要尽量使用已有的关系型数据库进行存储.
元数据是层次型数据,在存储到关系型数据库,需要进行层次型到关系型的模型转换.
如果直接针对元数据实体和元数据元素建立字段,无论对存储结构的稳定性和系统的效率采讲郡是不可接受的.
元数据的关系型存储的核心需要解决两个问题:一是存储的模式不会随元数据标准的变换而变化,需要在关系型数据库中建立元数据的数据字典描述元数据结构;二是要建立高效率的索引机制保证对元数据内容的有效检索.
5.
1.
4分布式检索目录服务允许将目录服务请求分布到多个目录服务器.
对于目录服务标准所定义的目录服务而言,分布目录检索定义一个设计多个目录服务器的服务,作为基本的客户机/服务器交互的扩展.
目录服务通用模型5.
2.
1概述通用模型给出了目录服务基本概念,改部分内容包含概念模型的结构模型和动态模.
5.
2.
2接口模型图3显示了基本的服务接口.
这些接口允许对目录信息公共资源的发现、访问和管理.
接口模型基于一个基本概念:接口操作通过客户端和服务器之间的传递请求/相应消息对类实现.
图3接口模型如图3所示,目录服务包含三个主要接口,目录服务公共接口(CatalogService),发现服务接口(Discovery),和目录管理接口(CatalogManager).
其中,公共接口是结合现有的信息技术的基础上,将发现服务接口和目录管理接口中共性的操作定义成一个公共的接口.
5.
2.
3消息模式消息模式的基类目录服务(Message)类包含一组所有消息中所包括的公共参数.
这些参数可以备用作基础的操作平台来实现消息的路由和管理.
目录服务请求消息类(Request)和目录服务响应消息类(Response)是目录服务消息类得子类.
目录服务请求消息类包含了客户端要发送致服务器,消息请求服务器提供服务的所有消息.
目录服务响应消息包含了服务器响应和护短请求的所有消息.
请求消息和响应消息是一一对应的,对每一个请求消息有且只有一个响应消息产生.
图4为消息的类图.
图4消息的类图5.
2.
4目录服务消息类目录服务消息类定义核心参数,用于客户端和服务器的消息传递.
这些参数支持消息的发送和信息管理.
所有请求和响应消息类都是该类得子类.
Message::=sessionIDdestinationIDrequestIDadditionalInfosessionID::=IntegerdestinationID::=CharacterStringrequestID::=CharacterStringadditionalInfo::=CharacterStringsessionID类型:IntegerdestinationID类型:CharacterString该参数标注消息的目标.
可以标注是服务器、服务或者在服务中的进程.
requestID类型:CharacterString该参数是消息的唯一标注符.
在请求消息中,这个标注符可以用来监视和控制处理请求消息返回的结果.
additionalInfo类型:CharacterString这是唯一的客户端/服务器的会话标志.
这个会话标志的值由InitSessionRequest获得.
在这个会话中的其他消息在sessionID参数中都包含这个会话标志.
5.
2.
5请求消息类目录服务通过请求消息由客户端激发.
请求消息包括消息类的参数,但是不增加其本身.
所有的引发目录服务的消息都是该类的子类,如图5所示.
Request::=sessionIDdestinationIDrequestIDadditionalInfosessionID::=IntegerdestinationID::=CharacterStringrequestID::=CharacterStringadditionalInfo::=CharacterString图5消息请求类图5.
2.
6消息响应类响应消息被服务器端用来答复客户端.
该类是所有答复客户端请求的在服务器端产生的响应消息,如图6所示.
图6消息响应类图5.
2.
6.
1响应请求目录服务终止请求消息(TerminateRequest)类用来终止现在的会话.
这个消息从客户端发送到目录服务器端.
一旦收到信息,目录服务器将执行终止操作,停止该会话的所有进程,删除查询和结果.
5.
2.
6.
2响应消息目录服务终止响应消息(TerminateResponse)类被服务器端用来发送给客户端终止请求的状态解释.
5.
2.
7公共接口服务器层次的公共接口支持建立和管理用户会话.
核心能力包括发现服务器能力,会话启动和终止等.
这些接口产生的消息必须在destinationID参数中指定目录服务器,在有些例子中sessionID也是需要的.
目录服务的功能通过请求消息进行访问,结果通过响应消息回传.
服务器的差错信息通过响应消息的诊断信息告知客户端.
目录管理目录创建6.
1.
1描述客户端可以向服务器端发送管理指令,在服务器端创建目录.
创建目录使用检索协议中的扩展服务功能来实现.
通过扩展服务请求,在服务器端建立一个扩展服务任务,这个任务用于执行对目录的管理操作,在服务器端创建目录.
6.
1.
2请求扩展服务的请求参数referenceId(必选)用于识别一个请求所启动的操作的标识.
Function(必选)功能,包括创建或删除.
packageType(必选)扩展服务任务类型.
packageName(可选)扩展服务任务名称.
userId(可选)请求任务的用户标识.
Permissions(必选)权限.
Description(可选)任务描述.
taskSpecificParameters(可选)任务参数.
waitAction(必选)等候方式.
elementSetName(可选)元素集合名称.
otherInfo(可选)其它信息.
目录管理目录管理主要目的是为了构筑一个统一的数据管理平台,并对外提供服务.
目录管理包括如下接口:(1)目录数据管理接口,用于管理报送系统报送到目录管理中心的目录数据的检查、发布、审计,同时还管理当前目录管理中心下属分中心节点的创建、维护、删除等,负责目录服务系统及其他目录中心提供服务.
表1目录服务管理接口的操作表(2)安全套接字层(SSL)是一套提供身份验证、保密性和数据完整性的加密技术.
SSI最常用来在Web浏览器和Web服务器之间建立安全通信通道.
它也可以在客户端应用程序和Web服务之间使用.
(3)整个系具备单独的web服务器,为支持SSI通信,必须为Web服务器配置SSL证书,包括生成证书申请、提交证书申请、颁发证书、在Web服务器上安装证书和将资源配置为要求SSL访问几个步骤.
目录数据通过目录管理系统的整合,构成了一个在逻辑上集中,物理上分散的统一系统,解决了在分布部署的情况下,数据中心之间的互连互访问题.
各个目录中心内部系统可以是异构的,但必须提供目录体标准接口,从而实现互访.
在目录管理系统中,接收数据库是上级目录节点与下级目录节点协作的重点.
只有审核通过的目录数据才会存储到目录中心的存储数据库上并最终发布,而审核未通过的数据通过setPubDataInvalid()方法将其设置为无效并分发给相应的林业部门进行处理.
审核分为自动审核和手动审核两种,自动审核未通过的数据可以通过手动审核得到进一步的确认,也可以在手动审核阶段改正错误目录数据使其有效.
信息报送引擎每12h定期检查接收数据库中无效的目录数据,将其退回给目录提供者重新审核后报送.
目录管理系统中,包括接收数据库、存储数据库及发布数据库,对于数据的安全性要求很高,因此不仅提供了日志管理功能,还采用了数据备份安全策略.
在原始数据丢失或遭到破坏的情况下,利用备份数据恢复系统,使系统正常工作.
目录管理系统部署与各级目录中心,供目录中心工作人员使用.
系统要求在浏览器与服务器之间建立一个安全的连接,并且需要对用户的身份进行验证,因此采用了SSI机制配置服务器并为每个工作人员分配SSI证书.
目录报送目录报送主要完成林业部门前置机上的目录数据向目录中心的报送功能.
同时,为了实现报送系统与编目系统之间的松耦合,明确划分系统边界,在编目系统与前置机系统之间,实现信息交换桥接功能.
目录报送系统包括2个主要模块:信息交换桥接,完成编目系统目录库向部门前置机中果以HTTP网页的方式回馈给用户.
目录服务提供了目录查询、目录浏览及目录导航的功能.
用户可以通过属性过滤和关键字查找两种方式进行目录查询,也可以通过页面上提供的树型目录结构找到目录浏览目录信息.
通过目录查询和目录浏览,根据目录树的展开状态,完成正想目录导航和反向导航.
目录中心节点在目录管理系统中,各目录中心节点的名称需要具有唯一性,并且能够体现出各级节点的所属关系,因此采用了LDAP格式的编码标准,以OU作为名称前缀,以目录中心节点的父节点名称作为BaseDN.
目录检索6.
5.
1请求消息目录检索请求消息(QueryRequest)类被用来要求目录服务器生成一个目录子集(结果集)来包含现存的或将来的结果集.
目录检索请求消息由客户端产生.
存在标准来选择结果集和参数来控制查询的范围和答复的格式.
一旦收到消息,目录服务器将识别结果集中的查询空间的元素,并且生成结果集以存放这些元素.
通过目录检索响应消息将结果返回客户端.
QueryRequest::=sessionIDdestinationIDrequestIDadditionalInfoqueryExpressionresultTypeiteratorSizecursorreturnFormatpresentationsortFieldqueryScopecollectionIDcatalogTypesessionID::=IntegerdestinationID::=CharacterStringrequestID::=CharacterStringadditionalInfo::=CharacterStringqueryExpression::=CatalogQueryExpressionresultType::=CatalogResultTypeiteratorSize::=Integercursor::=IntegerreturnFormat::=CatalogMessageFormatpresentation::=CatalogPresentationDescriptionsortField::=CatalogSortField集合queryScope::=CatalogQueryScopecollectionID::=CatalogCollectionNamecatalogType::=CatalogCatalogEntryTypequeryExpression类型:CatalogQueryExpressionQueryExpression参数包含数据筛选的标准,用于缩小查询的范围.
resultType类型:CatalogResultTypeResultType参数用来表示用户如何使得结果设为当前.
iteratorSize类型:IntegerIteratorSize参数指明在CatalogQueryResponse.
中返回的最大结果条目的数目.
cursor类型:IntegerCursor参数指示在CatalogQueryResponse返回的结果集中的第一个结果集条目.
returnFormat类型:CatalogMessageFormat这个参数是指返回结果集的编码标准.
presentation类型:CatalogPresentationDescriptionPresentation参数只有当结果被要求直接在CatalogQueryResponse中返回才是正确的.
这个参数通知服务器哪个结果集的元素的属性被返回给客户端.
sortField类型:Set(CatalogSortField)SortField参数描述结果集如何在现实前排序.
queryScope类型:CatalogQueryScopePresentRequest::=sessionIDdestinationIDrequestIDadditionalInforesultSetIDpresentationsortFieldreturnFormatiteratorSizecursorsessionID::=IntegerdestinationID::=CharacterStringrequestID::=CharacterStringadditionalInfo::=CharacterStringresultSetID::=CatalogCollectionNamepresentation::=CatalogPresentationDescriptionsortField::=SetreturnFormat::=CatalogMessageFormatiteratorSize::=Integercursor::=Integerpresentation类型:CatalogPresentationDescription表现参数通知服务器返回客户端的结果集元素的属性.
表现参数和目录检索请求中的相应参数具有相同的功能和一样的格式.
sortField类型:Set(CatalogSortField)SortField参数定义结果集的数据在显示前如何排序.
returnFormat类型:CatalogMessageFormat这个参数用作返回结果集的编码标准.
iteratorSize类型:IntegerIteratorSize参数显示每次返回结果集时最大的条目数目.
cursor类型:IntegerCursor参数标示当转换结果集时获得的结果集的第一个条目.
6.
5.
2响应消息目录检索结果提取响应消息(PresentResponse)类被服务器用作传递结果集到客户端.
该消息由客户端响应目录检索结果提取请求消息产生.
PresentResponse::=sessionIDdestinationIDrequestIDadditionalInfodiagnosticretrievedDatacursorhitsstatussessionID::=IntegerdestinationID::=CharacterStringrequestID::=CharacterStringadditionalInfo::=CharacterStringdiagnostic::=CharacterStringretrievedData::=CatalogReturnDatadataModel::=CatalogSchemaIDreturnFormat::=CatalogMessageFormatcollectionID类型:CatalogCollectionName这个参数表明dataModel参数是从这个集和中演化出来的.
dataModel类型:CatalogSchemaID这个参数提供客户端需要的数据模型信息.
status类型:CatalogStatus状态参数包含了请求是否成功.
关键技术及其实现公共接口(1)安全套接字层(SSL)是一套提供身份验证、保密性和数据完整性的加密技术.
SSI最常用来在Web浏览器和Web服务器之间建立安全通信通道.
它也可以在客户端应用程序和Web服务之间使用.
(2)整个系统以Tomcat作为单独的web服务器,为支持SSI通信,必须为Web服务器配置SSL证书,包括生成证书申请、提交证书申请、颁发证书、在Web服务器上安装证书和将资源配置为要求SSL访问几个步骤.
公共接口状态模型图7显示的是目录服务公共接口的状态图.
一个会话成功地进行初始化后,进入主状态.
主状态是并发的状态,它包含四个子状态:发现、访问、管理和解释.
在主状态中,目录服务请求消息将导致状态迁移到某个子状态.
通过子状态的判断,决定针对不同的请求消息,状态将如何迁移.
(与某个子状态相关联的功能,如果服务器不支持它,将不出现在图中.
当收到终止请求时,状态将由任何主状态切换到结束状态,并结束所有与之相关的操作.
目录服务允许服务器在一个设定的时间后终止服务,如:会话闲置超时.
当一个会话闲置超时时,服务将终止会话,无需通知客户端.
服务器需要为已经超时的会话的请求消息作出响应,在响应消息中以故障诊断信息通知客户端会话不存在.
图7目录会话状态权限验证图8显示的是用户权限关系图.
在整个目录体系的各个系统中,均使用了用户权限验证.
对于不同的角色,分配其对于不同模块或程序的访问权限.
而用户可以属于一或多个角色,通过用户所属角色进行权限验证.
用户的角色信息存储在session中,通过session.
getAt—tribute("roleld")获得,重要的程序模块分配其一个functionId,在数据库中,存储每个角色拥有权限的全部function—Id.
用户登陆系统后,当调用某个模块时,通过Check—RoleAuthor;zation()方法进行权限验证.
图8用户权限关系图结论本系统具有良好的可扩展性和移植性,维护成本低,在其他行业也有良好的应用前景.
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...
对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...