发明名称 一种服务依赖性的验证方法
摘要 本发明公开了一种服务依赖性的验证方法。该方法中通过预先定义一定的数据结构,然后根据所定义的数据生成服务依赖树,再验证服务依赖树的方式对服务的依赖性进行验证。本发明的技术方案能对服务的依赖性进行有效的验证。
申请公布号 CN102253999A 申请公布日期 2011.11.23
申请号 CN201110194173.8 申请日期 2011.07.12
申请人 北京新媒传信科技有限公司 发明人 陈春松
分类号 G06F17/30(2006.01)I;H04L29/08(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京市隆安律师事务所 11323 代理人 权鲜枝
主权项 一种服务依赖性的验证方法,其特征在于,该方法包括:生成服务依赖树,验证服务依赖树;所述生成服务依赖树包括:创建一个用于存放节点头对象的节点头集合;创建一个用于存放需要验证的节点对象的节点列表;创建一个用于存放依赖树中的节点的节点集合;其中,节点头对象包括:节点的类型、节点的标示、节点的最小版本号、节点的最大版本号、要求的版本号、节点的所有版本号;JDK节点对象包括:节点的类型、节点的标示、节点的版本号;共享库节点对象包括:节点的类型、节点的标示、节点的版本号、JDK节点、上游共享库节点、下游共享库节点、上游服务节点;服务节点对象包括:节点的类型、节点的标示、节点的版本号、JDK节点、下游共享库节点、上游服务节点、下游服务节点;初始时,为待验证的服务生成对应的节点对象,并放入节点列表和节点集合中,然后执行如下的步骤:步骤11,判断节点列表是否为空,是则结束流程,否则从节点列表中取出一个节点对象作为当前节点对象,并将该节点对象从节点列表中删除;步骤12,为当前节点对象在节点头集合中维护其对应的节点头对象;步骤13,判断当前节点对象是否为JDK节点对象,是则返回步骤11,否则继续执行后续步骤;步骤14,找出当前节点对象所依赖的JDK,并对找到的每个JDK做如下处理:从节点集合中查找该JDK对应的JDK节点对象,如果不存在,则生成对应的JDK节点对象,添加到节点列表和节点集合中;步骤15,找出当前节点对象所直接依赖的共享库,并对找出的每个共享库做如下处理:从节点集合中查找与该共享库对应的共享库节点对象,如果不存在,则生成对应的共享库节点对象,添加到节点列表和节点集合中;步骤16,判断当前节点对象是共享库节点对象还是服务节点对象,如果是共享库节点对象,则执行步骤17,如果是服务节点对象,则执行步骤18;步骤17,找出该共享库节点对象的其他所有版本,对每个版本做如下处理:如果该版本被其他服务直接依赖,则生成该版本对应的节点头对象,添加到节点头集合中;如果该版本没有被其他服务直接依赖,则找出直接或间接依赖该版本的其他共享库,如果找出的这些共享库被其他服务直接依赖,则生成该版本对应的节点头对象,添加到节点头集合中;返回步骤11;步骤18,找出该服务节点对象直接依赖的所有其他服务,对找出的每个服务做如下处理:从节点集合中查找与该服务对应的服务节点对象,如果不存在,则生成对应的服务节点对象,添加到节点列表和节点集合中;将找到的服务节点作为当前节点的下游服务节点,写入当前节点对象中;返回步骤11;所述验证服务依赖树包括:步骤21,创建验证信息列表;步骤22,按照服务、共享库、JDK的顺序对节点头集合中的节点头对象进行轮询,对于每个节点头对象进行如下处理:如果节点的最小版本号和节点的最大版本号不一致,则将该节点头对象放入验证信息列表中;步骤23,如果验证信息列表为空,则验证结果为版本一致;如果验证信息列表不为空,则验证结果为版本不一致。
地址 100089 北京市海淀区万泉庄路28号万柳新贵大厦A座5层