利索能及
我要发布
收藏
专利号: 2017104473421
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-11-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向REST架构风格的Web服务快速开发方法,其特征在于:包括以下步骤:

第一步、建立一个基于REST-AnGo的模型,分为视图层、控制层和组件层,过程如下:

1.1、视图层,用于负责数据模型的相互转化,在任务请求阶段,视图层将用户提交的可视化数据转化为符合REST-AnGo模型标准的JSON数据媒介,并传送给控制层;在请求响应阶段,视图层将控制层处理的数据结果转化为可视化数据模型,以便用户进行直观理解;

1.2、控制层,用于负责请求的适配、R-WRDL配置信息的解析、元Agent的动态装配、任务的执行以及与表现层的通讯,并能根据表现层触发的事件执行相应的动作;

1.3、组件层,用于负责为调度Agent提供一系列具有基本功能的处理单元;

第二步、基于所述的模型,提出的面向REST架构风格的Web服务快速开发方法,过程如下:

步骤2.1:采用元Agent自更新机制将拥有基本功能的元Agent注册到Agent Cluster中,或者将已经废弃的元Agent从Agent Cluster中注销;

步骤2.2:采用惰性加载机制加载R-WRDL Pool配置信息,即在程序启动阶段将R-WRDL Pool中的所有配置信息装载到Mapping Tree和Memory Pool中,来提高配置信息的搜索速度,之后仅在R-WRDL Pool状态发生变化时,才将改变的信息同步到内存中;

步骤2.3:当Mapping Tree加载完成后,将R-WRDL Pool配置文件中的需求信息装载到Memory Pool中;

步骤2.4:前端发送REST服务请求,适配Agent获取该服务请求并解析得到统一资源标识符URI和HTTP标准方法,根据解析后的结果前往Mapping Tree中搜索得到锚点tag和唯一操作标识key,并传递给决策Agent,决策Agent接受适配Agent传递的锚点tag和唯一操作标识key,锚点tag为首个需要执行的元Agent 的标记;AnGo模型通过Agent Chain来完成这一协作任务,Agent Chain中的每一个元Agent在加入前都必须保证是可用、可靠的,并已经通过软件测试;Agent Chain基于元Agent,能够根据环境和需求的变化而变化,它也是确保AnGo系统内各个组件的生存能力的重要方式;此处的锚点tag标记了Agent Chain中的首个元Agent,决策Agent首先根据锚点tag进行路由转发,然后根据唯一操作标识key获取Memory Pool中的配置信息config,再根据配置信息config从组件层中筛选出符合特定要求的元Agent进行装配,最后决策Agent按序执行装配完成的Agent Chain,并将执行结果以JSON为媒介返回至视图层。

2.如权利要求1所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述

1.2)中,所述控制层包含的模块有:

适配Agent:根据前端发送的统一资源标识符URI和HTTP标准方法,通过搜索Mapping Tree得到锚点tag和唯一操作标识key,并传递给决策Agent;

决策Agent:任务处理的枢纽,它接受适配Agent传递的锚点tag和唯一操作标识key,锚点tag为首个需要执行的元Agent的标记,决策Agent首先根据锚点tag进行路由转发,然后根据唯一操作标识key获取Memory Pool中的配置信息config,再根据配置信息config从组件层中筛选出符合特定要求的元Agent进行按序装配,并将处理结果返回至视图层;

R-WRDL Pool:配置文件池,由R-WRDL语言编写,R-WRDL并非是一种真正的语言,其含义是一种基于REST-AnGo模型的用户需求转换规则,程序员把每个功能点的个性化需求、资源所对应的URI路径、HTTP标准方法以及每个元Agent所具有的功能一一对应,通过R-WRDL语言描述在XML文档上,在程序动态执行时,语义理解Agent进行解释并内存化,分别存储到Mapping Tree和Memory Pool中,以作为整个模型动态运行的全局决策依据;

Mapping Tree:资源操作匹配树,该树共分为4层,第一层为Root,第二层对应前端发送的统一资源标识符URI,第三层对应前端发送的HTTP标准方法,第四层由锚点tag和唯一操作标识key组成,锚点tag对应R-WRDL所用xml载体的文件名,key对应R-WRDL需求片段的唯一标识,通过搜索该树可以根据URI和HTTP方法快速定位锚点tag以及唯一操作标识key;

Memory Pool(内存池):存储R-WRDL Pool语义理解后的信息,在内存中由特定数据结构存储;

语义理解Agent:对R-WRDL语言编写的XML文档进行语义理解,并将解释的结果存储到Mapping Tree和Memory Pool中;

Agent Chain:由一系列元Agent按顺序组成,具有完成特定功能的Agent链。

3.如权利要求1或2所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述1.3)中,所述组件层包含的模块有:Agent Cluster:由大量元Agent组成的无序Agent簇;

Agent Center:Agent中心,对Agent Cluster进行实时感知,负责管理元Agent的注册及注销;

元Agent:能通过对外提供服务以展示其功能的自主行为实体单元,新的元Agent可向Agent Center进行注册,从而获得参与决策Agent动态装配的资格;

元Agent将用户需求分类成若干功能集合,每个集合内都对应了一种通用的功能需求操作,并由对应元Agent管理,即元 表示元Agent到某种功能集合的映射。

4.如权利要求1或2所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述步骤2.1中,采用元Agent自更新机制的过程如下:元Agent首先被开发者注册到Agent Cluster中,之后,Agent Cluster会向Agent Center登记该元Agent的信息,Agent Center确认元Agent基本功能信息无误后,将该元Agent及其功能语义更新到R-WRDL Pool中;另一种情形,过期的元Agent被开发者从Agent Cluster中废弃,之后,Agent Cluster会向Agent Center注销该元Agent的信息,然后Agent Center将该元Agent及其功能语义从R-WRDL Pool中移除。

5.如权利要求1或2所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述步骤2.2中,R-WRDL Pool配置信息的加载分为两步:首先,对R-WRDL节点信息进行匹配,组成树形结构后存入Mapping Tree中,采用树形结构能够更加快速地进行搜索定位,过程如下:R-WRDL的每个element节点分别表示一个用户需求,每个element节点都拥有URI、method和key三个属性,URI表示REST服务请求资源的路径,method表示REST服务请求的动作,为HTTP标准方法,key的值无需手动配置,在语义理解Agent提取URI和method的值后,会根据提取的值生成一个唯一的字符串,即操作标识key;首先语义理解Agent取出URI的值放入Mapping Tree的第二层节点中,然后取得method的值放入Mapping Tree的第三层节点中,接着将当前R-WRDL所用xml载体的文件名作为锚点tag,加上自动生成的唯一操作标识key作为Mapping Tree的第四层叶子节点。

6.如权利要求5所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述步骤2.3中,当Mapping Tree加载完成后,将R-WRDL Pool配置文件中的需求信息装载到Memory Pool中,过程是:在程序启动阶段,语义理解Agent会解释R-WRDL Pool中的需求配置信息,并将解释的结果存储到Memory Pool中;另一种情形,当程序监测到R-WRDL Pool发生变化时,会命令语义理解Agent对变化的内容进行语义分析,并将最新的配置信息同步到Memory Pool中。

7.如权利要求6所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述步骤2.4的过程如下:

首先将REST-AnGo模型抽象为4层超网络图结构,至上而下分别为:用户网络、REST服务网络、元Agent网络和R-WRDL需求网络;

用户网络:由请求REST服务的用户构成,不同用户可能发送不同REST服务请求,也可能发送相同REST服务请求;

REST服务网络:由系统提供的REST服务构成,每个REST服务包含统一资源标识符URI、HTTP标准方法和请求参数,每个用户可以请求多个REST服务,每个REST服务也可以为多个用户提供服务,因此,用户网络与REST服务网络之间为多对多的关系;

元Agent网络:由元Agent构成,REST-AnGo模型支持复杂REST服务的开发,需要多个元Agent间通过协同组合的方式来实现对于开发复杂REST服务的支持,REST-AnGo模型通过Agent Chain来完成元Agent的组合,Agent Chain基于元Agent,能够根据环境和需求的变化而变化,它是确保AnGo系统内各个组件的生存能力的重要方式,REST服务与Agent Chain形成多对一的关系,而Agent Chain由多个元Agent组合而成,则REST服务网络与元Agent网络之间为多对多的关系;

R-WRDL需求网络:由R-WRDL需求片段构成,元Agent的执行依赖R-WRDL需求配置片段,元Agent可在运行时动态装载R-WRDL需求配置片段,它是元Agent个性化执行以适应多样化REST服务的重要保障,每个元Agent可装载多个R-WRDL配置,因此,元Agent网络与R-WRDL需求网络之间为一对多的关系;

根据以上超网络之间的关系,建立多层映射关系:REST服务与元Agent之间的映射以及元Agent与R-WRDL需求之间的映射。

8.如权利要求7所述的面向REST架构风格的Web服务快速开发方法,其特征在于:所述REST-AnGo模型建立映射过程为:用户发送REST服务请求,适配Agent获取该服务请求并解析得到统一资源标识符URI和HTTP标准方法,根据解析后的结果前往Mapping Tree中搜索得到锚点tag和唯一操作标识key,并传递给决策Agent,过程如下:

2.4.1)决策Agent依据锚点tag得到Agent Chain的链首Agent,并根据用户需求,结合环境变化的因素,以元Agent协同的方式进行Agent组合,得到Agent Chain,一条组合完成的Agent Chain可提供多个REST服务,该过程即完成了REST服务到元Agent的映射;

2.4.2)决策Agent根据唯一操作标识key,前往Memory Pool中查询得到R-WRDL需求片段,一条组合完成的Agent Chain装载不同的R-WRDL需求片段,即可完成用户多样化的需求,此过程即完成了元Agent到R-WRDL需求的映射。