CN107968798B - 一种网管资源标签获取方法、缓存同步方法、装置及系统 - Google Patents
一种网管资源标签获取方法、缓存同步方法、装置及系统 Download PDFInfo
- Publication number
- CN107968798B CN107968798B CN201610913238.2A CN201610913238A CN107968798B CN 107968798 B CN107968798 B CN 107968798B CN 201610913238 A CN201610913238 A CN 201610913238A CN 107968798 B CN107968798 B CN 107968798B
- Authority
- CN
- China
- Prior art keywords
- network management
- management resource
- plug
- label
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Abstract
本发明提供一种网管资源标签获取方法、缓存同步方法、装置及系统,用以解决远程请求网管资源标签的方式处理效率较低的问题。其中,网管资源标签获取方法包括:接收网管资源标签获取请求;根据该获取请求确定网管资源标签对应的资源类型;查找该资源类型对应的网管资源标签的配置信息;根据查找到的配置信息确定是否使用本地缓存存储网管资源标签,如果是,则根据获取请求在本地缓存中检索网管资源标签,该方案通过使用本地缓存的策略,避免了客户端向服务端频繁发起远程请求。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种网管资源标签获取方法、缓存同步方法、装置及系统。
背景技术
网管环境中包含各种各样的资源,比如网元、单板、保护组、拓扑等,每一个资源在网管程序内部使用形式统一且唯一的资源标签(ID)来表示。资源ID的特性如下:
(1)、唯一性:每一条资源ID表示唯一的资源,比如资源ID“ME{1}”用来表示具体某一个网元,资源ID“ME{1},EQ{/r=0/sh=1/sl=12}”用来表示具体某一个网元中的具体某一块单板(/r=0表示机架号为0,/sh=1表示子架号为1,/sl=12表示槽位号为12);
(2)、统一性:在网管系统中,资源ID的命名规则必须有统一的规范,能够表示资源的类型和父子关系,并且能够进行程序的自动解析。
(3)、面向程序:资源ID的主要用途是供程序识别资源,当用户在客户端GUI(图形用户界面)界面中操作某一个资源时,发送给网管服务器的命令中携带的信息必须包含对应的资源ID,服务端程序才能准确处理该资源的CRUD(增加、查询、更新、删除)操作。
由于资源ID面向程序的特性,对用户来说,可读性和可理解性较差,因此在客户端GUI界面中应该显示成更直观更容易理解的表现形式。比如用户可以给资源ID为“ME{1}”的网元自定义一个更容易理解和记忆的网元名称“一号网元”(或“深圳大学”),在客户端界面上显示这个网元时,就用“一号网元”(或“深圳大学”)进行标注,比起用资源ID“ME{1}”进行标注更用户理解。这种把资源ID展现成用户更容易理解的表示形式,就是网管的资源标签。
网管的资源标签服务,供其他业务模块调用,输入信息是资源ID,输出信息是资源标签。资源标签服务的工作流程如图1所示,由于资源标签服务在网管中属于比较常用的功能,调用频率比较高,和客户端GUI(Graphical User Interface,图形用户界面)界面的显示功能联系比较紧密,如果效率达不到要求,可能导致GUI界面的内容展现出现卡顿或缓慢的问题,影响用户体验,所以资源标签服务对效率要求较高。
同时,因为网管资源种类繁多,每种资源生成标签的方式也不完全相同,新增资源的需求也比较常见,因此在设计方案上要充分考虑到标签服务框架的可扩展性,以应对各种资源的需求变化。
C/S(客户端/服务端)架构下传统的网管资源标签服务,通常使用集中处理的方案,即在客户端或服务端发起的标签服务请求,统统发送到服务端某个进程进行集中处理,然后由服务端返回生成的资源标签,这种方案虽然简化了业务处理流程,但是远程请求的处理方式效率并不高,容易形成性能瓶颈。另外,因为先天的架构设计上的不足,导致可扩展性也不高。
发明内容
本发明提供一种网管资源标签获取方法、缓存同步方法、装置及系统,用以解决现有技术中远程请求网管资源标签的方式处理效率较低的问题。
根据本发明的第一个方面,提供了一种网管资源标签获取方法包括:接收网管资源标签获取请求;根据请求确定网管资源标签对应的资源类型;查找资源类型对应的网管资源标签的配置信息;根据配置信息判断是否使用本地缓存存储网管资源标签,如果是,则根据请求在本地缓存中检索网管资源标签。
进一步的,上述网管资源标签获取方法还包括:根据配置信息判断不使用本地缓存存储网管资源标签或在本地缓存中未检索到网管资源标签,则根据配置信息确定用于计算网管资源标签的插件,基于插件获取网管资源标签。
其中,根据配置信息确定用于计算网管资源标签的插件,基于插件获取网管资源标签,包括:从配置信息中获取插件的名称;根据插件的名称从本地缓存中调用插件,使用插件生成网管资源标签;
在上述方法由客户端执行,且配置信息中未指定插件的名称的情况下,则向服务端发送网管资源标签的获取请求,以请求服务端生成网管资源标签。
进一步的,上述网管资源标签获取方法还包括:在使用确定出的插件生成网管资源标签之后,如果配置信息中指定使用本地缓存存储网管资源标签,则将生成的网管资源标签保存到本地缓存中。
其中,上述配置信息至少包括以下一种信息:配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称。
其中,上述插件根据网管资源的类型进行分类,不同类型的插件用于计算指定的至少两类不同类型的网管资源标签。
根据本发明的第二个方面,提供了一种网管资源标签缓存同步的方法,务端执行的流程,包括:监听网管资源标签配置信息中指定的网管资源的变更事件;当发生资源变更的事件时,从事件中获取网管资源的身份标识ID;清除本地缓存中与网管资源ID对应的网管资源标签。
进一步的,上述网管资源标签缓存同步的方法还包括:在清除本地缓存中与网管资源ID对应的网管资源标签之后,通过对网管资源ID的解析确定网管资源的类型;根据网管资源的类型获取该类型的资源对应的配置信息;如果配置信息中指定有使用本地缓存存储网管资源标签的客户端,则向客户端发送缓存同步事件,以使客户端根据同步事件清除客户端本地缓存中的网管资源ID对应的网管资源标签。
根据本发明的第三个方面,提供了一种网管资源标签缓存同步的方法,客户端执行的流程,包括:接收来自服务端的缓存同步事件;获取缓存同步事件中携带的网管资源身份标识ID;
根据网管资源ID清除客户端本地缓存中与网管资源ID对应的网管资源标签。
根据本发明的第四个方面,提供了一种网管资源标签获取装置,包括:第一接收模块,用于接收网管资源标签获取请求;第一确定模块,用于根据请求确定网管资源标签对应的资源类型;查找模块,用于查找资源类型对应的网管资源标签的配置信息;检索模块,用于根据配置信息判断是否使用本地缓存存储网管资源标签,如果是,则根据请求在本地缓存中检索网管资源标签。
其中,上述网管资源标签获取装置还包括:获取模块,用于根据配置信息判断不使用本地缓存存储网管资源标签或在本地缓存中未检索到网管资源标签,则根据配置信息确定用于计算网管资源标签的插件,基于插件获取网管资源标签。
其中,上述检索模块包括:获取单元,用于从配置信息中获取插件的名称;生成单元,用于根据插件的名称从本地缓存中调用插件,使用插件生成网管资源标签;第二生成单元,用于在方法由客户端执行,且配置信息中未指定插件的名称的情况下,则向服务端发送网管资源标签的获取请求,以请求服务端生成网管资源标签。
进一步的,上述网管资源标签获取装置还包括:保存模块,用于在使用确定出的插件生成网管资源标签之后,如果配置信息中指定使用本地缓存存储网管资源标签,则将生成的网管资源标签保存到本地缓存中。
其中,上述配置信息至少包括以下一种信息:配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称。
其中,上述插件根据网管资源的类型进行分类,不同类型的插件用于计算指定的至少两类不同类型的网管资源标签。
根据本发明的第五个方面,提供了一种网管资源标签缓存同步的装置,该装置应用于服务端,包括:监听模块,用于监听网管资源标签配置信息中指定的网管资源的变更事件;第一获取模块,用于当发生网管资源的变更事件时,从事件中获取网管资源的身份标识ID;第一清除模块,用于清除本地缓存中与网管资源ID对应的网管资源标签。
其中,上述网关资源标签缓存同步的装置还包括:第二确定模块,用于在清除本地缓存中与网管资源ID对应的网管资源标签之后,通过对网管资源ID的解析确定网管资源的类型;第二获取模块,用于根据网管资源的类型获取该类型的资源对应的配置信息;发送模块,用于如果配置信息中指定有使用本地缓存存储网管资源标签的客户端,则向客户端发送缓存同步事件,以使客户端根据同步事件清除客户端本地缓存中的网管资源ID对应的网管资源标签。
根据本发明的第六个方面,提供了一种网管资源标签缓存同步的装置,该装置应用于客户端,包括:第二接收模块,用于接收来自服务端的缓存同步事件;第三获取模块,用于获取缓存同步事件中携带的网管资源身份标识ID;第二清除模块,根据网管资源ID清除客户端本地缓存中与网管资源ID对应的网管资源标签。
根据本发明的第七个方面,提供了一种网管资源标签服务系统,该系统包括:服务端以及客户端;服务端包括上述任意一种网管资源标签获取装置,客户端包括上述任意一种网管资源标签缓存同步的装置。
本发明有益效果如下:
本发明提供的方案,可以在网管中提供高效可扩展的资源标签服务,通过使用本地缓存的策略,可以避免重复计算,同时避免客户端向服务端频繁发起远程请求。通过支持客户端本地计算的插件池,把一部分计算任务转移到客户端完成,也可以避免客户端向服务端频繁发起远程请求,减轻服务端的计算压力。
附图说明
图1是相关技术中资源标签服务的工作流程;
图2是本发明第一实施例中网管资源标签获取方法的流程图;
图3是本发明第二实施例中网管资源标签缓存同步的方法的流程图;
图4是本发明第三实施例中网管资源标签缓存同步的方法的流程图;
图5是本发明第五实施例中获取网管资源标签以及网管资源标签缓存同步过程的流程图;
图6是本发明第五实施例中资源标签缓存同步的流程图;
图7是本发明第五实施例中涉及到的标签服务配置文件的示意图;
图8是本发明第六实施例中获得网管资源标签的装置的结构框图;
图9是本发明第七实施例中网管资源标签缓存同步的装置的结构框图;
图10是本发明第八实施例中网管资源标签缓存同步的装置的结构框图;
图11是本发明第九实施例中网管资源标签服务系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种在C/S架构下网管资源标签服务的优化方案,在满足效率要求的同时,提供统一可配置的插件扩展方案。
第一实施例
本实施例提供了一种网管资源标签获取方法,该方法可以由客户端执行,也可以由服务端执行,图2是该方法的流程图,如图2所示,该方法包括如下处理:
步骤201:接收网管资源标签的获取请求;
该获取请求可以是用户向客户端或服务端发出的,优选的该请求中可以携带待获取网管资源标签对应的网管资源ID,在接收到该ID后,对该ID进行解析,即可以得到该ID对应的网管资源类型。
步骤202:根据网管资源标签的获取请求确定网管资源标签对应的资源类型;
步骤203:查找网管资源标签对应的资源类型对应的网管资源标签的配置信息;
本实施例中所涉及到的配置信息至少包括以下一种信息:配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称,该配置信息可以保存在配置文件中,该配置文件可以由客户端和服务端共用。
步骤204:根据查找到的配置信息判断是否使用本地缓存存储网管资源标签,如果是,则根据获取请求在本地缓存中检索网管资源标签。
进一步的,本实施例提供的方法还可以包括:如果根据配置信息判断不使用本地缓存存储网管资源标签或在本地缓存中未检索到网管资源标签,则根据配置信息确定用于计算网管资源标签的插件,基于插件获取网管资源标签。
其中,根据配置信息确定用于计算网管资源标签的插件,使用确定出的插件生成网管资源标签具体可以包括:从配置信息中获取插件的名称;根据插件的名称从本地缓存中调用插件,使用插件生成网管资源标签;在方法由客户端执行,且配置信息中未指定插件的名称的情况下,则向服务端发送网管资源标签的获取请求,以请求服务端生成网管资源标签。
进一步的,在上述步骤201至205的基础上,上述方法还可以包括:在使用确定出的插件生成网管资源标签之后,如果配置信息中指定使用本地缓存存储网管资源标签,则将生成的网管资源标签保存到本地缓存中。
本实施例中所涉及到的插件用于根据网管资源的类型进行分类,不同类型的插件用于计算指定的至少两类不同类型的网管资源标签。
本发明提供的方案,可以在网管中提供高效可扩展的资源标签服务。通过使用本地缓存的策略,可以避免重复计算,同时避免客户端向服务端频繁发起远程请求。通过支持客户端本地计算的插件池,把一部分计算任务转移到客户端完成,也可以避免客户端向服务端频繁发起远程请求,减轻服务端的计算压力。通过插件处理的方式,提供可扩展的标签服务。
需要特殊说明的是,本发明中所涉及到的网管标签包括网元标签,网元标签可以是网管标签中的一种。
第二实施例
本实施例提供了一种网管资源标签缓存同步的方法,该方法由服务端执行,图3是该方法的流程图,如图3所示,该方法包括如下处理:
步骤301:监听网管资源标签配置信息中指定的资源的变更事件;
步骤302:当发生资源变更事件时,从事件中获取网管资源的ID;
步骤303:清除本地缓存中与网管资源ID对应的网管资源标签。
进一步的,本实施例提供的方法方法还可以包括:在清除本地缓存中与网管资源ID对应的网管资源标签之后,通过对网管资源ID的解析确定资源的类型;根据资源的类型获取该类型的资源对应的配置信息;如果配置信息中指定有使用本地缓存的客户端,则向客户端发送缓存同步事件,以使客户端根据同步事件清除客户端本地缓存中的网管资源ID对应的网管资源标签。
第三实施例
本实施例提供了另一种网管资源标签缓存同步的方法,与上述第三实施例不同的是,该方法由客户端执行的流程,图4是该方法的流程图,如图4所示,该方法包括如下处理:
步骤401:接收来自服务端的缓存同步事件,该同步事件中携带有网管资源ID;
步骤402:获取缓存同步事件中携带的网管资源ID;
步骤403:根据网管资源ID清除客户端本地缓存中与网管资源ID对应的网管资源标签。
第四实施例
以上第二实施例以及第三实施例分别从服务端以及客户端两端所执行的操作来对网管资源标签缓存同步的方法进行说明,本实施例则以服务端以及客户端二者在实现网管资源标签缓存同步的方法过程的信息的交互来对该方法进行进一步的说明,该流程包括如下处理:
启动服务端,初始化服务端标签服务,读取标签服务配置文件,监听资源变更事件。
启动客户端,初始化客户端标签服务,读取标签服务配置文件,监听缓存同步事件。
业务模块在客户端调用标签服务,输入资源ID。
客户端标签服务根据资源ID,获取其资源类型,根据资源类型获取配置信息。
根据配置信息,客户端标签决定是否查找缓存,以及缓存中未找到的情况下,是在本地计算还是发送远程请求生成标签。
客户端生成资源标签后,根据配置信息决定是否进行缓存。
最后客户端标签服务输出资源标签。
第五实施例
上述第一实施例对本发明提供的获得网管资源标签的方法进行了说明,上述第二实施例以及第二实施例分别从服务端以及客户端的角度对网管资源标签缓存同步的方法进行了说明,对本实施例则结合附图5以客户端以及服务端通过信息交互来实现获得网管资源标签的流程以及网管资源标签缓存同步的流程整体进行说明。(1)、业务模块发起标签服务请求,输入网管资源ID;业务模块可能部署在客户端,也可能部署在服务端,如果业务模块部署在客户端,则本实施例提供的方法由客户端服务执行,如果业务模块部署在服务端,则由服务端执行本实施例提供的方法。
(2)、标签服务根据输入的资源ID,解析其请求的资源类型。
(3)、然后读取标签服务配置文件,查找对应该资源类型的配置信息。从提升效率角度的考虑,标签服务模块可以在初始化的时候,就读取所有标签服务配置文件,然后在内存中建立每一种资源类型和其配置信息的映射关系,后续查找时,直接从内存中检索,避免重复读取标签服务配置文件导致的效率问题。
(4)、如果该资源类型的配置信息指定使用本地缓存,则根据资源ID在缓存中检索;如果找到资源标签,则直接输出资源标签,返回给业务模块。
(5)、如果该资源类型的配置信息指定不使用本地缓存,或在缓存中没有找到资源标签,则从配置信息获取本地计算的插件名称,该插件用于计算业务模块请求获取的网管资源标签。
(6)、如果配置信息中没有指定插件名称,则发送远程请求,由服务端标签服务处理后,返回生成的资源标签(此种情况仅限于由客户端来执行本实施例提供的方法)。
(7)、如果配置信息中指定了插件名称,则从插件池中调用对应插件进行处理,生成资源标签。
(8)、如果配置信息中指定使用本地缓存,则将新生成的资源标签保存到缓存中。
(9)、最后输出资源,返回给业务模块。
(10)、服务端标签服务需要监听资源变更事件,当发生资源变更操作后,则已经缓存的对应资源的标签就会失效,此时需要清除这些失效的缓存记录。
以下结合附图6对资源标签缓存同步的流程进行说明,如图6所示,该流程包括如下处理:
(1)、服务端标签服务初始化时,监听所有标签服务配置文件中指定的资源变更事件。
(2)、当资源变更事件发生时,服务端标签服务从事件中获取具体的资源ID。
(3)、服务端根据资源ID,清除本地缓存中对应的记录。
(4)、服务端解析资源ID,获取资源类型。
(5)、服务端获取该资源类型对应的标签服务配置信息,如果配置信息中指定客户端使用本地缓存,则向所有活跃的客户端发送缓存同步事件,事件中携带资源ID。
(6)、客户端接收到缓存同步事件。
(7)、客户端获取事件中的资源ID
(8)、客户端根据资源ID,清除本地缓存中对应的记录。
其中,本实施例中所涉及到的标签服务提供可配置的插件可以参考图7所示的结构进行设置,如图7所示,标签服务配置文件中,多个资源类型可以配置相同的插件名称,一个插件可以处理多种具有相同标签生成规则的资源类型。
插件的输入信息为资源ID,输出信息为资源标签。一个插件处理的通常是一类有相同标签生成规则的资源类型,而不应该是单独的某一个资源类型(除非某个资源类型确实比较特殊,找不到与其同类的资源),当新增一种资源类型时,可以重用之前同类资源类型的插件,从而减少开发人员重新开发新插件的工作量。
为了尽量提高插件的可重用性,减少开发人员修改代码的可能性,插件可以拥有自己的配置文件,以适应同类资源类型之间的细微差异性。插件配置文件的格式在本实施例中没有统一要求,可以由开发人员自己定义。其作用在于重用插件的计算流程,而把多个同类资源类型之间有差异的地方通过配置文件的方式剥离出来。当新增一个有细微差异的同类资源类型时,开发人员不用去修改现有插件的代码和计算流程,而仅仅只需要修改配置文件,增加对该资源类型的特殊配置即可。
第六实施例
本实施例提供了一种网管资源标签获取装置,该装置可以设置于服务端也可以设置于客户端,图8是该装置的结构框图,如图8所示,该装置80包括如下组成部分:
第一接收模块81,用于接收网管资源标签获取请求;
第一确定模块82,用于根据请求确定网管资源标签对应的资源类型;
查找模块83,用于查找资源类型对应的网管资源标签的配置信息;
检索模块84,用于根据配置信息判断是否使用本地缓存存储网管资源标签,如果是,则根据请求在本地缓存中检索网管资源标签。
本实施例提供的装置80还可以包括获取模块,用于如果在本地缓存中未检索到网管资源标签或根据配置信息确定不使用本地缓存存储网管资源标签,根据配置信息确定用于计算网管资源标签的插件,基于插件获取网管资源标签。
其中,上述检索模块84具体可以包括:获取单元,用于从配置信息中获取插件的名称;生成单元,用于根据插件的名称从本地缓存中调用插件,使用插件生成网管资源标签;第二生成单元,用于在方法由客户端执行,且配置信息中未指定插件的名称的情况下,则向服务端发送网管资源标签的获取请求,以请求服务端生成网管资源标签。
进一步的,上述装置80还可以包括:
保存模块,用于在使用确定出的插件生成网管资源标签之后,如果配置信息中指定使用本地缓存存储网管资源标签,则将生成的网管资源标签保存到本地缓存中。
其中,上述配置信息至少包括以下一种信息:
配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称。
其中,插件根据网管资源的类型进行分类,不同类型的插件用于计算指定的至少两类不同类型的网管资源标签。
第七实施例
本实施例提供了一种网管资源标签缓存同步的装置,如图9所示,该装置应用于服务端,该装置90包括如下组成部分:
监听模块91,用于监听网管资源标签配置信息中指定的资源的变更事件;
第一获取模块92,用于当发生资源变更事件时,从事件中获取网管资源的身份标识ID;
第一清除模块93,用于清除本地缓存中与网管资源ID对应的网管资源标签。
进一步的,上述装置还可以包括:第二确定模块,用于在清除本地缓存中与网管资源ID对应的网管资源标签之后,通过对网管资源ID的解析确定资源的类型;第二获取模块,用于根据资源的类型获取该类型的资源对应的配置信息;
发送模块,用于如果配置信息中指定有使用本地缓存的客户端,则向客户端发送缓存同步事件,以使客户端根据同步事件清除客户端本地缓存中的网管资源ID对应的网管资源标签。
第八实施例
本实施例提供了一种网管资源标签缓存同步的装置,该装置应用于客户端,图10是该装置的结构框图,如图10所示,该装置100包括如下组成部分:
第二接收模块1001,用于接收来自服务端的缓存同步事件;
第三获取模块1002,用于获取缓存同步事件中携带的网管资源身份标识ID;
第二清除模块1003,用于根据网管资源ID清除客户端本地缓存中与网管资源ID对应的网管资源标签。
第九实施例
本实施例提供了一种网管资源标签服务系统,如图11所示:该系统包括以下三个部分:
(1)、标签服务配置文件:指明每一种资源类型在客户端和服务端的标签生成策略(使用具体某一个插件进行本地计算,还是通过远程请求发送到服务端计算),以及本地缓存策略(对于本地计算过程比较耗时,或远程请求方式生成标签的资源,可以考虑借助使用本地缓存来提升效率)。对于使用本地缓存策略的资源,需要解决缓存失效的问题,因此必须配置监听资源变更事件的名称,用于服务端和客户端同步本地缓存。
标签服务配置是整个架构的核心,客户端和服务端标签服务共用同一套标签服务配置,使用统一的建模方式,一处配置,多处重用,减少不同运行环境下的程序差异性。标签服务配置,为开发人员提供了可扩展的插件开发方式,开发人员需要按照统一的API(Application Programming Interface,应用程序编程接口)来实现生成某一类资源标签功能的插件,并在配置文件指明每一种资源类型使用的插件名称。
标签服务配置的一个具体xml内容示例如下:
其中,resource元素表示这是这一条针对某一种资源类型的配置;
name属性指明该配置匹配的资源类型是ME(即网元);
cache属性指明在哪些进程中使用本地缓存,CLIENT表示客户端,SERVER表示服务端,如果配置为空串或忽略该属性,则表示在所有进程中都不缓存网元的标签;
event属性指明服务端标签服务需要监听的资源变更事件;如果cache属性中指明了CLIENT或SERVER中任意一个,开发人员需要考虑发生资源变更操作后可能导致缓存失效的问题,如果有这种可能,则服务端标签服务必须监听特定的资源变更事件,用于清理失效的缓存标签;
pluginClient属性指明在客户端标签服务中使用哪一个插件进行网元资源标签的本地计算,如果配置为空串或忽略该属性,则表示客户端标签服务无法对网元标签进行本地计算,只能发送到服务端标签服务进行远程处理;通常这类插件依赖的资源在客户端本地就能获取到,或者计算过程比较简单,以直接在本地进行计算,避免远程请求导致的效率问题;插件名称通常配置为开发人员按照统一的API实现的二次开发类名。
pluginServer属性指明在服务端标签服务中使用哪一个插件进行网元资源标签的本地计算,因为服务端始终支持本地计算,所以该属性为必须配置项;插件名称通常配置为开发人员按照统一的API实现的二次开发类名。
(2)、客户端资源标签服务,提供以下功能:
(2.1)、提供服务请求接口,供客户端的业务模块调用获取资源标签。
(2.2)、读取标签服务配置,根据配置决定每一种资源类型的标签生成策略,是在本地计算生成还是通过远程请求生成,以及是否使用本地缓存;为了提升效率,可以在标签服务启动时加载所有配置文件,将配置信息保存在内存中,并按照资源类型建立映射关系,方便后续通过资源类型对配置信息进行快速检索。
(2.3)、客户端插件池,用于生成那些不需要依赖远程服务端资源的资源标签,可以直接在本地进行计算,避免远程请求导致的效率问题。插件由开发人员提供,遵循统一API来实现,插件名称需要在标签服务配置中指定。
(2.4)、远程请求,有些资源标签的生成,依赖远程服务端资源,比如需要查询数据库,这类资源标签无法在客户端本地计算生成,需要通过远程请求发送到服务端标签服务进行处理,服务端生成资源标签后返回给客户端标签服务,客户端标签服务再返回给上层的业务模块调用者,这种场景下客户端标签服务是作为一个中介者存在。
(2.5)、客户端本地缓存策略,对于本地计算过程比较耗时,或远程请求方式生成标签的资源,可以使用在本地进行缓存的策略,以减少耗时的操作流程。获取这类资源标签时,先在本地缓存根据资源ID进行查询,如果缓存中存在对应记录,则直接返回缓存的资源标签,否则再进行生成资源标签的后续处理流程。哪些资源类型需要使用本地缓存,需要开发人员在标签服务配置中指明。一旦使用了本地缓存,开发人员需要考虑发生资源变更操作后可能导致缓存失效的问题,如果有这种可能,就需要指定服务端标签服务监听特定的资源变更事件,以便在资源变更导致缓存失效的情况下,清除失效的缓存记录。
(2.6)、缓存同步事件,当服务端监听的资源变更事件发生后,所有缓存的该资源ID对应的资源标签就会失效;此时服务端标签服务会向客户端发送缓存同步事件,用于清除客户端缓存的对应资源标签。
(3)、服务端资源标签服务,提供以下功能:
(3.1)、提供服务请求接口,供远程客户端资源标签服务或服务器端本地业务模块调用获取资源标签。
(3.2)、读取标签服务配置,根据配置决定每一种资源类型的标签生成策略,以及是否使用本地缓存;为了提升效率,可以在标签服务启动时加载所有配置文件,将配置信息保存在内存中,并按照资源类型建立映射关系,方便后续进行快速检索。
(2.3)、监听资源变更事件,当资源变更事件发生后,获取事件中传递的资源ID,清除服务端本地缓存中资源ID对应的资源标签;根据资源标签服务配置确定资源对应的资源类型,如果客户端也使用了本地缓存,服务端标签服务需要向所有客户端发送缓存同步事件,清除客户端本地缓存中资源ID对应的资源标签;如果某一资源类型在客户端或服务端使用了本地缓存,开发人员需要考虑发生资源变更操作后可能导致缓存失效的问题,如果有这种可能,就需要指定服务端标签服务监听特定的资源变更事件,以便在资源变更导致缓存失效的情况下,清除失效的缓存记录。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (11)
1.一种网管资源标签获取方法,其特征在于,包括:
接收网管资源标签获取请求,网管资源包括网管环境中的资源,每一个网管资源在网管程序内部使用形式统一且唯一的网管资源的身份标识ID;
根据所述请求确定所述网管资源标签对应的资源类型;
查找所述资源类型对应的网管资源标签的配置信息;
根据所述配置信息判断是否使用本地缓存存储所述网管资源标签,如果是,则根据所述请求在本地缓存中检索所述网管资源标签;
其中,所述方法还包括:如果根据所述配置信息判断不使用本地缓存存储所述网管资源标签或在所述本地缓存中未检索到所述网管资源标签,则根据所述配置信息确定用于计算所述网管资源标签的插件,基于所述插件获取所述网管资源标签。
2.根据权利要求1所述的方法,其特征在于,所述根据所述配置信息确定用于计算所述网管资源标签的插件,基于所述插件获取所述网管资源标签,包括:
从所述配置信息中获取所述插件的名称;
根据所述插件的名称从本地缓存中调用所述插件,使用所述插件生成所述网管资源标签;
在所述方法由客户端执行,且所述配置信息中未指定所述插件的名称的情况下,则向服务端发送所述网管资源标签的获取请求,以请求所述服务端生成所述网管资源标签;
其中,所述方法还包括:
接收来自服务端的缓存同步事件;
获取所述缓存同步事件中携带的网管资源身份标识ID;
根据所述网管资源ID清除所述客户端本地缓存中与所述网管资源ID对应的网管资源标签。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在使用确定出的插件生成所述网管资源标签之后,如果所述配置信息中指定使用本地缓存存储所述网管资源标签,则将生成的网管资源标签保存到本地缓存中。
4.根据权利要求1所述的方法,其特征在于,所述配置信息至少包括以下一种信息:
所述配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述插件根据网管资源的类型进行分类,不同类型的所述插件用于计算指定的至少两类不同类型的网管资源标签。
6.一种网管资源标签获取装置,其特征在于,包括:
第一接收模块,用于接收网管资源标签获取请求,网管资源包括网管环境中的资源,每一个网管资源在网管程序内部使用形式统一且唯一的网管资源的身份标识ID;
第一确定模块,用于根据所述请求确定所述网管资源标签对应的资源类型;
查找模块,用于查找所述资源类型对应的网管资源标签的配置信息;
检索模块,用于根据所述配置信息判断是否使用本地缓存存储所述网管资源标签,如果是,则根据所述请求在本地缓存中检索所述网管资源标签;
其中,所述装置还包括:
获取模块,用于如果根据所述配置信息判断不使用本地缓存存储所述网管资源标签或在所述本地缓存中未检索到所述网管资源标签,则根据所述配置信息确定用于计算所述网管资源标签的插件,基于所述插件获取所述网管资源标签。
7.根据权利要求6所述的装置,其特征在于,所述检索模块包括:
获取单元,用于从所述配置信息中获取所述插件的名称;
生成单元,用于根据所述插件的名称从本地缓存中调用所述插件,使用所述插件生成所述网管资源标签;
第二生成单元,用于在所述的装置设置在客户端,且所述配置信息中未指定所述插件的名称的情况下,则向服务端发送所述网管资源标签的获取请求,以请求所述服务端生成所述网管资源标签;
其中,所述装置还包括:
第二接收模块,用于接收来自服务端的缓存同步事件;
第三获取模块,用于获取所述缓存同步事件中携带的网管资源身份标识ID;
第二清除模块,根据所述网管资源ID清除所述客户端本地缓存中与所述网管资源ID对应的网管资源标签。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
保存模块,用于在使用确定出的插件生成所述网管资源标签之后,如果所述配置信息中指定使用本地缓存存储所述网管资源标签,则将生成的网管资源标签保存到本地缓存中。
9.根据权利要求6所述的装置,其特征在于,所述配置信息至少包括以下一种信息:
所述配置信息对应的资源类型、使用本地缓存存储资源标签的进程、监听的资源变更事件、在客户端中用于生成网管资源标签的插件的名称以及在服务端中用于生成网管资源标签的插件的名称。
10.根据权利要求6至9任意一项所述的装置,其特征在于,所述插件根据网管资源的类型进行分类,不同类型的所述插件用于计算指定的至少两类不同类型的网管资源标签。
11.一种网管资源标签服务系统,其特征在于,包括:
服务端以及客户端;所述客户端包括权利要求6至10任意一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610913238.2A CN107968798B (zh) | 2016-10-19 | 2016-10-19 | 一种网管资源标签获取方法、缓存同步方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610913238.2A CN107968798B (zh) | 2016-10-19 | 2016-10-19 | 一种网管资源标签获取方法、缓存同步方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107968798A CN107968798A (zh) | 2018-04-27 |
CN107968798B true CN107968798B (zh) | 2023-04-07 |
Family
ID=61997158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610913238.2A Active CN107968798B (zh) | 2016-10-19 | 2016-10-19 | 一种网管资源标签获取方法、缓存同步方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107968798B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110190997A (zh) * | 2019-05-31 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 配置信息获取方法、装置、设备及计算机可读存储介质 |
CN111048088A (zh) * | 2019-12-26 | 2020-04-21 | 北京蓦然认知科技有限公司 | 一种多应用程序的语音交互方法和装置 |
CN112445975A (zh) * | 2020-11-20 | 2021-03-05 | 北京思特奇信息技术股份有限公司 | 一种基于人物画像实现批价业务处理的方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067196A (zh) * | 2012-12-04 | 2013-04-24 | 烽火通信科技股份有限公司 | 基于网元适配子系统的网元资源管理系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578069B1 (en) * | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method, data structure, and computer program product for identifying a network resource |
US9038168B2 (en) * | 2009-11-20 | 2015-05-19 | Microsoft Technology Licensing, Llc | Controlling resource access based on resource properties |
CN101741621B (zh) * | 2009-12-21 | 2012-05-23 | 中兴通讯股份有限公司 | 资源名称生成方法、系统及装置 |
CN104166545B (zh) * | 2014-07-25 | 2018-01-02 | 北京搜狗科技发展有限公司 | 一种网页资源的嗅探方法以及装置 |
-
2016
- 2016-10-19 CN CN201610913238.2A patent/CN107968798B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067196A (zh) * | 2012-12-04 | 2013-04-24 | 烽火通信科技股份有限公司 | 基于网元适配子系统的网元资源管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107968798A (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720931B2 (en) | System and method of remotely managing and loading artifacts | |
CN110309264B (zh) | 基于知识图谱获取地理产品数据的方法和装置 | |
US7761559B2 (en) | System and method of remotely managing and loading artifacts | |
US20150378721A1 (en) | Methods for managing applications using semantic modeling and tagging and devices thereof | |
US9747314B2 (en) | Normalized searchable cloud layer | |
CN110321544B (zh) | 用于生成信息的方法和装置 | |
CN107968798B (zh) | 一种网管资源标签获取方法、缓存同步方法、装置及系统 | |
CN109783562B (zh) | 一种业务处理方法和装置 | |
CN111061498B (zh) | 一种配置信息管理系统 | |
CN112084270A (zh) | 一种数据血缘处理方法、装置、存储介质及设备 | |
CN112256318B (zh) | 一种用于依赖产品的构建方法及设备 | |
US10129328B2 (en) | Centralized management of webservice resources in an enterprise | |
US20090112704A1 (en) | Management tool for efficient allocation of skills and resources | |
US8694596B2 (en) | Systems and methods for information brokering in software management | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
JP2009187401A (ja) | 文書管理システム、文書管理装置、文書管理方法及びプログラム | |
CN104572649B (zh) | 分布式存储系统的数据的处理方法、装置及系统 | |
US10114864B1 (en) | List element query support and processing | |
US8402113B2 (en) | Semantic service applying system and method | |
JP2021526685A (ja) | サービスとしての合成データのフレームセットパッケージストアを伴う分散型コンピューティングシステム | |
CN115514806B (zh) | 一种离散服务集群的感知发现方法及系统 | |
US20100114978A1 (en) | Methodology for the Automatic Capture of Process Information in Federated Knowledge Systems | |
CN113568924B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US20240028346A1 (en) | Linking kubernetes resources with underlying cloud infrastructure | |
CN117215808A (zh) | 一种业务处理方法、装置及服务端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |