一种业务调用关系的发现系统和发现方法技术方案

技术编号:17939262 阅读:24 留言:0更新日期:2018-05-15 19:47
本发明专利技术公开了一种业务调用关系的发现系统和发现方法,所述发现系统包括:jar文件设置单元,用于在与业务应用系统相关的Java程序中设置jar文件;启动单元,用于在虚拟机中启动所述与业务应用系统相关的Java程序,并通过Java程序中设置的jar文件启动Java Instrumentation的代理程序;调用关系获取单元,用于通过所述Java Instrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。本分发明专利技术可以使系统在不对JDK做任何升级和改动的情况下可以获取业务应用系统之间的调用关系。

【技术实现步骤摘要】
一种业务调用关系的发现系统和发现方法
本专利技术涉及一种业务调用关系的发现系统和发现方法,属于信息监控

技术介绍
随着信息化建设要求的不断提升,信息化的应用系统覆盖营销专业全部业务。同时营销专业又是电力公司的窗口部门,其业务覆盖用户范围广,调用关系复杂。因此对服务器、中间件、数据库的运行状况,接口调用关系的监控是保证营销专业应用系统的安全、稳定运行、数据安全是日常工作的基础。目前对业务调用关系的管理主要是通过线下、手工及各类设计文档维护业务接口调用关系,此方式由于人员调动、更新不及时等问题造成拓扑结构不完整、不正确,同时随着业务系统的增多,调用关系的增多使得整个营销专业系统间调用关系杂乱无章,无据可依,无源可查。对系统稳定运行、数据安全都埋下巨大隐患。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的缺陷,供一种业务调用关系的发现系统和发现方法,使得系统在不对JDK做任何升级和改动的情况下可以获取业务应用系统之间的调用关系。为解决上述技术问题,本专利技术提供一种业务调用关系的发现系统,包括:jar文件设置单元,用于在与业务应用系统相关的Java程序中设置jar文件,所述jar文件用于在所述Java程序启动时启动JavaInstrumentation的代理程序;启动单元,用于在虚拟机中启动所述与业务应用系统相关的Java程序,并通过Java程序中设置的jar文件启动JavaInstrumentation的代理程序;调用关系获取单元,用于通过所述JavaInstrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。前述的jar文件在Java应用服务器的启动文件中通过命令java-javaagent:asm.jar启动JavaInstrumentation的代理程序。前述的虚拟机为JVM。前述的发现系统还包括拓扑图生产单元,用于根据所述调用关系生成对应的拓扑图。前述的发现系统的实现通过程序来指令相关的硬件来完成,所述程序存储于计算机的可读取存储介质中,所述可读取存储介质包括ROM/RAM、磁盘和光盘。业务调用关系发现方法,包括以下步骤:1)通过jar文件设置单元在与业务应用系统相关的Java程序中设置jar文件;2)通过启动单元在虚拟机中启动所述与业务应用系统相关的Java程序,并通过设置的Jar文件启动JavaInstrumentation的代理程序;3)调用关系获取单元通过所述JavaInstrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。前述的步骤3)中,获取Java程序对应的业务应用系统之间的调用关系,具体步骤如下:3-1)通过所述JavaInstrumentation的代理程序获取所述Java程序调用的超文本传输协议HTTP数据、Java数据库连接JDBC数据以及文件传输协议FTP数据;3-2)通过查询所述HTTP数据的基类代码、JDBC数据的基类代码、FTP数据的基类代码获取业务应用系统之间的调用关系,自动分析出非法访问以及接口的状态和负载。前述的获取所述Java程序对应的业务应用系统之间的调用关系之后,还能够根据所述调用关系生成对应的拓扑图。本专利技术的有益效果为:本专利技术在与业务应用系统相关的Java程序中设置jar文件,在JVM中启动Java程序,并通过Jar文件启动JavaInstrumentation的代理程序,通过代理程序获取Java程序对应的业务应用系统之间的调用关系,使得系统在不对JDK做任何升级和改动的情况下可以获取业务应用系统之间的调用关系。附图说明图1为本专利技术的业务调用关系的发现方法流程图;图2为本专利技术的业务调用关系的发现系统结构图。具体实施方式下面对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图2所示,本专利技术的业务调用关系的发现系统,包括:jar文件设置单元,用于在与业务应用系统相关的Java程序中设置jar文件,所述jar文件用于在所述Java程序启动时启动JavaInstrumentation的代理程序。在本专利技术实施例中,JavaInstrumentation的代理程序可以对JVM上的程序进行协助和监控,因此需要在Java程序启动时,同时启动该JavaInstrumentation的代理程序,为了启动该JavaInstrumentation的代理程序,可以通过一jar文件来实现,具体的:在Java应用服务器的启动文件中通过命令java-javaagent:asm.jar启动JavaInstrumentation的代理程序。以weblogic为例:在weblogic的启动文件(地址为:startWebLogic.cmd/startWebLogic.sh)中通过命令java-javaagent:asm.jar启动JavaInstrumentation的代理程序。其中,java-javaagent:myagent.jar=mode=testTest是具体的实现指令。我们通过-javaagent来指定我们编写的agent的jar路径(./myagent.jar),以及要传给agent的参数(mode=test),在启动Java程序时即同时启动了代理程序,该代理程序就可以发现业务调用关系。启动单元,用于在虚拟机中启动所述Java程序,并通过Java程序中设置的jar文件启动JavaInstrumentation的代理程序。在本专利技术实施例中,由于Instrumentation只能对虚拟机上运行的程序进行协助和监控,因此需要虚拟机运行设置了代理程序的Java程序。优选的,所述虚拟机为JVM(JavaVirtualMachine,Java虚拟机)。调用关系获取单元,用于通过所述JavaInstrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。在本专利技术实施例中,由于Java程序的启动,设置在该Java程序上的代理程序也随之启动,通过代理程序的监控作用,可以实时获取Java程序对应的业务应用系统之间的调用关系。作为本专利技术的一个可选实施例,所述发现系统还包括:拓扑图生产单元,用于根据所述调用关系生成对应的拓扑图。本领域普通技术人员还可以理解,上述系统的实现是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取存储介质中,所述存储介质,包括ROM/RAM、磁盘、光盘等。基于上述发现系统的业务调用关系的发现方法,如图1所示,包括以下步骤:步骤S101,在与业务应用系统相关的Java程序中设置jar文件,该jar文件用于在所述Java程序启动时启动JavaInstrumentation的代理程序。在本专利技术实施例中,JavaInstrumentation的代理程序可以对JVM上的程序进行协助和监控,因此需要在Java程序启动时,同时启动该JavaInstrumentation的代理程序,为了启动该JavaInstrumentation的代理程序,可以通过一jar文件来实现。步骤S102,在虚拟机中启动所述与业务应用系统相关的Java程序,并通过设置的Jar文件启动JavaInstrumentation的代理本文档来自技高网...
一种业务调用关系的发现系统和发现方法

【技术保护点】
一种业务调用关系的发现系统,其特征在于,包括:jar文件设置单元,用于在与业务应用系统相关的Java程序中设置jar文件,所述jar文件用于在所述Java程序启动时启动Java Instrumentation的代理程序;启动单元,用于在虚拟机中启动所述与业务应用系统相关的Java程序,并通过Java程序中设置的jar文件启动Java Instrumentation的代理程序;调用关系获取单元,用于通过所述Java Instrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。

【技术特征摘要】
1.一种业务调用关系的发现系统,其特征在于,包括:jar文件设置单元,用于在与业务应用系统相关的Java程序中设置jar文件,所述jar文件用于在所述Java程序启动时启动JavaInstrumentation的代理程序;启动单元,用于在虚拟机中启动所述与业务应用系统相关的Java程序,并通过Java程序中设置的jar文件启动JavaInstrumentation的代理程序;调用关系获取单元,用于通过所述JavaInstrumentation的代理程序获取所述Java程序对应的业务应用系统之间的调用关系。2.根据权利要求1所述的一种业务调用关系的发现系统,其特征在于,所述jar文件在Java应用服务器的启动文件中通过命令java-javaagent:asm.jar启动JavaInstrumentation的代理程序。3.根据权利要求1所述的一种业务调用关系的发现系统,其特征在于,所述虚拟机为JVM。4.根据权利要求1所述的一种业务调用关系的发现系统,其特征在于,所述发现系统还包括拓扑图生产单元,用于根据所述调用关系生成对应的拓扑图。5.根据权利要求1所述的一种业务调用关系的发现系统,其特征在于,所述发现系统的实现通过程序来指令相关的硬件来完成,所述程序存储于计算机的可读取存储介质中,所述可读取存储介质包...

【专利技术属性】
技术研发人员:邓君华徐超张昕李叶飞葛崇慧顾俊王松谢伟
申请(专利权)人:国网江苏省电力有限公司电力科学研究院江苏方天电力技术有限公司国网江苏省电力有限公司国家电网公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1