发明名称 一种基于服务组合的可定制查询方法与平台
摘要 本发明提出一种基于服务组合的可定制查询方法与平台,用户通过指定的客户端可视组件并通过选择、填写组件属性值的操作,向平台描述自身需求,数据查询请求的初始状态和目标状态被解析出后,搜索并组合出对应的基本服务调用序列,然后执行序列中的基本服务,进而得到包含用户期望结果数据的结果集,并经过筛选、排序、组装后生成最终结果向用户显示。本方法中用户主动向系统描述自身需求,系统通过接收用户描述并动态分析处理,可有效适应不同用户的不同个性化需求,降低应用系统开发工作量和后期维护成本,并提高了数据查询应用系统的友好性。使用户主动地定制数据查询,将查询进行得灵活而方便。
申请公布号 CN101350023B 申请公布日期 2011.05.04
申请号 CN200810119245.0 申请日期 2008.08.29
申请人 北京航空航天大学 发明人 李先军;王叶;余丹;叶钢;曾婧娜;马世龙
分类号 G06F17/30(2006.01)I;H04L29/06(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 周长琪
主权项 一种基于服务组合的可定制查询方法,其特征在于,由如下步骤组成:步骤一:建立可定制查询客户端和数据查询服务器,并对领域内数据进行抽象分类,为抽象出的领域数据对象模型构建可编辑控件,存入可定制查询客户端中的领域数据对象模型库,并在数据查询服务器中构建对应的基本数据查询服务,存入基本数据查询服务库;步骤二:初始化可定制查询客户端的领域数据对象模型库和可定制查询客户端的用于存储已有的定制功能的模板库;用户把自身个性化需求与模板库中的已有功能相比较,如果存在满足用户此次需求的功能的模板,从模板库中选择特定的功能的模板,页面展示为此模板对应定制的查询内容、查询条件、结果显示格式,并调整结果显示格式,重新填写定制的查询条件属性值,构造相同功能的新请求;否则由领域数据对象模型库和可定制查询客户端的定制结果封装子模块定制数据查询;步骤三:可定制查询客户端的定制结果封装子模块封装用户定制结果;如果本次定制来源于模板库,设定模板的标识位表示来源于已有定制模板,否则设定模板的标识位表示为新定制;定制结果封装子模块把封装结果作为参数,发送数据查询请求至数据查询服务器的请求队列管理子模块;步骤四:请求队列管理子模块接收可定制查询客户端发送的数据查询请求,并加入到请求队列中;步骤五:数据查询服务器的请求解析子模块取出请求队列中的第一个请求,解析该请求后获得初始状态、目标状态、约束条件及结果显示格式;如果请求队列不为空,判断此次数据查询是否是模板库中功能的一种,如果是,则由数据查询服务器的执行子模块直接获得此次数据查询对应模板库中模板的服务调用序列,转步骤八,否则调用数据查询服务器的服务组合引擎进行服务组合;如果请求队列为空,则转步骤十;步骤六:服务组合引擎根据请求解析子模块得到的初始状态和目标状态,调用数据查询服务器的服务代理子模块获得的当前能够使用的基本数据查询服务信息,逐一处理初始状态中的查询过程,在满足中间过程约束条件的前提下,为每一查询过程进行服务组合,生成服务调用序列;如果服务组合失败,则转到步骤十;步骤七:由数据查询服务器的定制存储模块存储对应的功能及服务调用序列到模板库;步骤八:执行子模块按照服务调用序列的顺序调用数据查询服务器的基本数据查询服务库中的基本数据查询服务,并协调服务间输入输出关系,待整个服务调用序列执行完毕,输出最终结果;如果出现异常则转到步骤十;步骤九:由数据查询服务器的结果生成子模块将步骤八最终结果按照请求所描述的结果显示格式生成最终数据查询分析结果,以浏览器页面的形式向可定制查询客户端返回应答,进行结果显示;步骤十:由数据查询服务器的异常处理子模块生成失败信息,并返回给可定制查询客户端显示。
地址 100083 北京市海淀区学院路37号