发明内容
有鉴于此,本发明的主要目的在于提供一种地理信息处理服务的扩展方法,以实现在无需掌握地理信息处理服务平台源码的情况下将第三方开发者开发的处理服务扩展到地理信息处理服务平台。
本发明提供的一种地理信息处理服务的扩展方法,包括以下步骤:
A、接收用户提出的地理信息处理服务加入申请;
B、在预设的松耦合模型中模糊匹配查询所述地理信息处理服务,具体如下:
首先,从所述地理信息处理服务的元数据节点信息中提取出所述地理信息处理服务的名称;
然后,使用模糊匹配查询搜索所述松耦合模型的处理服务包中是否包括与所述地理信息处理服务名称相同或相似的地理信息处理服务:如果不包括,则直接进入下一步骤;否则从所述地理信息处理服务的元数据节点信息中提取出所述地理信息处理服务的服务唯一标识,然后利用精确匹配查询搜索所述松耦合模型的处理服务包中是否存在与所述服务唯一标识相同的服务唯一标识:如果存在,则无需再将所述地理信息处理服务扩展进地理信息处理服务平台,扩展结束;否则进入下一步骤;
C、测试所述地理信息处理服务是否具备加入所述松耦合模型的条件;若不满足该条件,则不扩展所述地理信息处理服务;否则将所述地理信息处理服务扩展至所述地理信息处理服务平台。
由上可以看出,本发明方法通过松耦合模型实现地理信息处理服务平台的开放,从而使第三方无需掌握地理信息处理服务平台的扩展源码,即无需修改源码,而只通过匹配松耦合模型即可将其自行研发的地理信息处理服务动态地扩展至地理信息处理服务平台。
在上述的方法中,所述松耦合模型包括先验任务模型,具体如下:
其中,Ti为先验任务模型中的任一先验任务,即所述松耦合模型的地理信息处理服务包中的一个有序子集, WPS为地理信息处理服务。
在上述的方法中,步骤C所述的测试过程具体如下:
第一过程:如果来自所述步骤B的反馈结果为所述松耦合模型的处理服务包中不存在与所述地理信息处理服务相同或近似的地理信息处理服务,则提取所述地理信息处理服务的服务数据对应码,根据服务数据对应码从预设的校核检验数据集中提取出所述地理信息处理服务对应的数据集,并利用该地理信息处理服务对应的数据集测试该地理信息处理服务:如果未反馈测试结果,则不扩展所述地理信息处理服务;否则,则扩展所述地理信息处理服务;
第二过程:如果来自所述步骤B的反馈结果为所述松耦合模型的处理服务包中存在与所述地理信息处理服务近似的地理信息处理服务,则提取所述地理信息处理服务的服务数据对应码,根据服务数据对应码从所述预设的校核校验数据集中提取出所述地理信息处理服务对应的数据集,并利用该地理信息处理服务对应的数据集测试该地理信息处理服务:如果未反馈测试结果,则不扩展所述地理信息处理服务;否则,搜索与所述地理信息处理服务近似的地理信息处理服务的历史测试结果,比较所述地理信息处理服务与所述近似地理信息处理服务之间的测试结果:如果在所述地理信息处理服务的各项指标均低于所述近似地理信息处理服务的各项指标的平均值,则不扩展所述地理信息处理服务;否则,扩展所述地理信息处理服务。
在上述的方法中,在所述第一过程中的扩展所述地理信息处理服务之后包括:记录下所述地理信息处理服务的各项指标;
在所述第二过程中的扩展所述地理信息处理服务之后包括:记录下所述地理信息处理服务的各项指标,并修正低于所述地理信息处理服务某些指标的所述近似地理信息处理服务的指标。
在上述的方法中,低于所述地理信息处理服务某些指标的所述近似地理信息处理服务的指标的所述修正过程具体为:将低于所述地理信息处理服务某些指标的所述近似地理信息处理服务的指标降级。
在上述的方法中,还包括:
将可扩展的所述地理信息处理服务的测试结果中各项指标记录到所述地理信息处理服务的服务元数据节点的服务属性中。
在上述的方法中,还包括:
将可扩展的所述地理信息处理服务的测试结果中各项指标记录到所述地理信息处理服务的服务元数据节点的服务属性中,并将修正过的所述近似地理信息处理服务的指标记录到所述近似地理信息处理服务的服务元数据节点的服务属性中。
在上述的方法中,还包括:
将可扩展的所述地理信息处理服务作为新的先验任务模型补充入所述松耦合模型,或,
将服务属性经过上述修改后的所述地理信息处理服务加入至对应的先验任务模型。
由上可以看出,本发明方法通过上述步骤可实现自动调整完善先验任务模型,以便实现先验任务模型的自学习。
具体实施方式
下面结合附图,详细介绍本发明提供的一种地理信息处理服务的扩展方法。
如图1所示,本发明提供的一种地理信息处理服务扩展方法原理为基于松耦合模型扩展第三方开发的地理信息处理服务。
上述松耦合模型由先验任务模型和地理信息处理服务包构成,具体如下:
其中,Ti为先验任务模型中的任一先验任务,即地理信息处理服务包中的一个有序子集,WPS为开放地理信息系统协会OGC的网络处理服务,在本文中将其引申为地理信息处理服务。地理信息服务包中包含了每一个地理信息处理服务WPS的详细元数据信息。元数据信息根据地理信息处理服务的特点分为四部分:服务元数据节点、服务接口输入参数元数据节点、服务接口输出参数元数据节点以及处理功能元数据节点。其中:
服务元数据节点是用来描述地理信息处理服务的元数据信息,其结构如下:
a:Title服务名称;
b:Abstract服务属性信息;
c:Profile服务唯一标识;
d:ID服务数据对应码。
服务接口输入参数元数据节点是用来描述地理信息处理服务输入参数的元数据信息,其结构如下:
a:Title输入参数名称;
b:Abstract输入参数属性信息;
c:minOccurs最小输入个数;
d:maxOccurs最大输入个数;
e:Datanode数据节点;
服务接口输出参数元数据节点是用来描述地理信息处理服务输出参数的元数据信息,用来响应WPS描述进程(DescribeProcess)的操作,其结构如下:
a:Title输出参数名称;
b:Abstract输出参数属性信息;
c:Datanode数据节点。
处理功能元数据节点是用来描述地理信息处理服务具体处理功能的元数据信息,用来响应WPS的执行(Execute)操作,其结构如下:
a:ProcessTitle处理服务功能名称;
b:ProcessAbstract处理服务功能属性信息;
c:ProcessProfile处理服务功能唯一标识;
d:ProcessAddress处理服务功能地址;
e:ProcessProvider处理服务功能开发者;
f:ProcessEmail处理服务功能开发者联系信息。
如图2所示,上述地理信息处理服务扩展方法的预处理过程包括以下步骤:
步骤101:建立松耦合模型,包括:先验任务模型的建立和地理信息处理服务包的建立。
对于先验任务模型的建立,包括:解析已有的处理任务流程,确定该流程中所需的相关处理服务的执行次序,由此生成处理服务包的有序子集,即:将处理流程的先验知识记录至先验任务模型中。
对于地理信息处理服务包的建立,包括:根据上述的地理信息处理服务的元数据信息结构,整理已有的地理信息处理服务,形成地理信息处理服务包。
步骤102:建立校核检验数据集。
当地理信息处理服务开发者开发了一个新的地理信息处理服务并申请上述松耦合模型时,为了验证该申请的地理信息处理服务是否具备加入上述松耦合模型的条件,需要利用校核检验数据集判断该申请是否可扩展至上述松耦合模型。校核检验数据集包括坐标转换、投影转换、格式转换、拓扑处理、空间分析等地理信息处理服务分别所需的各项检验数据。
为了提高数据搜索和提取效率,可为校核检验数据集内的各类检验数据建立元数据索引。该索引结构如下:
a:ID服务数据对应码;
b:InputAbs输入参数属性信息;
c:OutputAbs输出参数属性信息;
d:Datanode数据节点。
其中,ID应与服务元数据节点中的ID一致。同一类别的地理信息处理服务具有统一的服务数据对应码。
步骤103:利用校核检验数据集,对松耦合模型的地理信息处理服务包中已存在的地理信息处理服务进行处理测试,并记录已存在的地理信息处理服务的处理效率、准确性、有效性以及可靠性等指标。
如图3所示,本发明提供的地理信息处理服务的扩展方法包括以下步骤:
步骤201:接收/巡查用户提出的地理信息处理服务的加入申请。
假设,在上述加入申请所对应的地理信息处理服务元数据节点的信息如下:
服务名称:buffer
服务属性信息:针对输入的几何对象生成缓冲区
服务唯一标识:buffer1023(可自动根据申请时间等信息进行唯一标识)
服务数据对应码:bufferdata
上述加入申请一般存放在具有数据缓冲分析功能的网络节点下。
步骤202:在上述的松耦合模型中模糊匹配查询上述加入申请对应的地理信息处理服务。
具体而言,在本步骤中,首先从地理信息处理服务元数据节点信息中提取出地理信息处理服务的名称buffer。然后,使用模糊匹配查询搜索松耦合模型的处理服务包中是否包括与该地理信息处理服务名称buffer相同或相似的地理信息处理服务:
如果不包括,则说明该处理服务包中没有相同或近似的地理信息处理服务(第一种情况),直接进入下一步骤;否则(第二种情况)从地理信息处理服务元数据节点信息中提取出地理信息处理服务的服务唯一标识buffer1023,然后利用精确匹配查询搜索松耦合模型的处理服务包中是否存在与该服务唯一标识buffer1023相同的服务唯一标识:如果存在,则说明该处理服务包中已经存在与同一地理信息处理服务,无需再将该地理信息处理服务扩展进地理信息处理服务平台;否则说明该处理服务包中存在与加入申请的地理信息处理服务相近但不相同的服务,并进入下一步骤。
步骤203:根据上一步骤的反馈结果,对加入申请的地理信息处理服务进行测试,并将测试结果满足上述松耦合模型要求的地理信息处理服务扩展至上述松耦合模型。
如果反馈结果为该处理服务包中没有与加入申请的地理信息处理服务相同或近似的地理信息处理服务(第一种情况),则验证该加入申请的地理信息处理服务是否具备加入上述松耦合模型的条件。具体过程为:提取加入申请的地理信息处理服务的服务数据对应码bufferdata,根据该对应码从预设的校核校验数据集中提取出该地理信息服务对应的数据集,并利用该地理信息处理服务对应的数据集测试该地理信息处理服务。如果因该地理信息处理服务本身的错误而未反馈测试结果,即因该地理信息处理服务为实现某种功能而导致测试结果无效,则不扩展该地理信息处理服务;如果测试结果有效,则扩展该地理信息处理服务,记录下该地理信息处理服务的各项指标,并进入下一步(步骤204)。
如果反馈结果为该处理服务包中存在与加入申请的地理信息处理服务近似的地理信息处理服务(第二种情况),提取加入申请的地理信息处理服务的服务数据对应码bufferdata,根据该对应码从预设的校核校验数据集中提取出该地理信息处理服务对应的数据集,并利用该地理信息处理服务对应的数据集测试该地理信息处理服务。如果因该地理信息处理服务本身的错误而未反馈测试结果,则不扩展该地理信息处理服务;如果测试结果有效,则搜索在与该加入申请的地理信息处理服务近似的(上述步骤中通过模糊匹配查询在松耦合模型处理服务包搜索到的)地理信息处理服务的服务测试结果,比较该加入申请的地理信息处理服务与近似的地理信息处理服务之间的服务测试结果:如果比较结果中加入申请的地理信息处理服务的各项指标均低于近似地理信息处理服务的各指标平均值,则不扩展该加入申请的地理信息处理服务;否则扩展该加入申请的地理信息处理服务,记录下该地理信息处理服务的各项指标,并修正低于该地理信息处理服务某些指标的近似地理信息处理服务指标,例如,将近似地理信息处理服务的这些指标降级,之后进入下一步(步骤204)。
步骤204:将可扩展的地理信息处理服务的相关元数据信息加入上述松耦合模型的地理信息处理服务包中,以完善上述松耦合模型中的先验任务模型。
在本步骤中,将于上述第一种情况下加入的地理信息处理服务的测试结果(即地理信息处理服务指标)记录到该地理信息处理服务的服务元数据节点的服务属性中,举例如下:
服务属性信息:针对输入的几何对象生成缓冲区;处理效率、准确性、有效性以及可靠性等指标。
将于上述第二种情况下加入的地理信息处理服务的测试结果记录到该地理信息处理服务的服务元数据节点的服务属性中,并将修正过的近似地理信息处理服务指标记录到近似地理信息处理服务的服务元数据节点的服务属性中,举例如下:
为了方便计算机识别,例如可利用标识“+”的数量反映服务指标优良程度。这样,地理信息处理服务的服务元数据节点的服务属性信息可描述为:针对输入的几何对象生成缓冲区;其服务指标:处理效率:++;准确性:++。
假设,在第二种情况下服务指标被降级(因为服务测试结果低于新加入的地理信息处理服务)的近似地理信息处理服务的服务指标在被降级前的记录如下:
降级前:近似地理信息处理服务的服务元数据节点的服务属性信息:针对输入的几何对象生成缓冲区;服务指标:处理效率:++;准确性:++。
则在该近似地理信息处理服务的服务指标在被降级后的记录如下:
降级后:近似地理信息处理服务的服务元数据节点的服务属性信息:针对输入的几何对象生成缓冲区;服务指标:处理效率:+;准确性:+。
通过减少服务属性信息中的反映服务指标优良程度的标识“+”的数量,完成对近似地理信息处理服务指标的修正,以直观反映出地理信息处理服务的服务能力的变化。
最后,向松耦合模型中补充新的先验任务模型,或将服务属性经过上述修改后的地理信息处理服务加入至对应的先验任务模型中,至此完成地理信息处理服务向松耦合模型的扩展。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。