CN102957555A - 业务支撑系统进程间关联关系的识别方法、系统及服务器 - Google Patents
业务支撑系统进程间关联关系的识别方法、系统及服务器 Download PDFInfo
- Publication number
- CN102957555A CN102957555A CN201110250015XA CN201110250015A CN102957555A CN 102957555 A CN102957555 A CN 102957555A CN 201110250015X A CN201110250015X A CN 201110250015XA CN 201110250015 A CN201110250015 A CN 201110250015A CN 102957555 A CN102957555 A CN 102957555A
- Authority
- CN
- China
- Prior art keywords
- application port
- port information
- key message
- information
- relevant
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种业务支撑系统进程间关联关系的识别方法、系统及服务器。其中,该方法包括:接收用户输入的进程的标识;以用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与用户输入的进程相关的各层级的关联进程的关联关系的拓扑。本发明提供的上述业务支撑系统进程关联关系的识别方法、系统及服务器,解决了现有技术中业务支撑系统规模越来越庞大,导致业务支撑系统内设备之间的管理和维护越来越困难的问题。
Description
技术领域
本发明涉及业务支撑领域,尤其涉及一种业务支撑系统进程间关联关系的识别方法、系统及服务器。
背景技术
近年来,随着公司业务、集群化概念的推广,业务支撑系统的主机数量规模,每台主机上进程数量规模在过去几年中有了快速的增长。维护人员一方面通过自己的记忆与理解,一方面通过手工或是文本方式记录服务器间的关联关系,然而进程的数量非常庞大,一旦业务发生改变,进程发生改变,对这些文档进行重新的审核和修正的工作量是很大的,在业务变更、系统变更过程中常常忽略了关键的细节犯下致命的错误,这给指示经验的传承、业务支撑管理效率质量的提升带来了可怕的隐患。
业务支撑系统复杂度远远超过一般的民用或企业服务器,这里的复杂度主要由三块要素构成:一是数量,任何一个省公司的核心机房内的服务器数量在几百甚至千台以上;二是应用配制复杂,在实际的业务支撑系统中一般会分为五层的结构:数据库、中间件、前台、辅助前台、用户层,充斥在这五层逻辑架构之间的各种业务,尤其是诸如数据库服务、CORBA(Common ObjectRequest Broker Architecture,公共对象请求代理体系结构)服务、WEB(网络)服务、负载均衡服务、管道通信服务等特殊业务,这些业务都不是一对一的关系,比方说数据库服务,一般至少对外有100个以上的连接服务,而每一个放射出现的连接服务都又由CORBA服务器在对外生成应用连接,如果要一个个条目去统计,连接数都以指数级别在增长;三是应用存在迂回关联关系,部分业务支撑系统的应用存在迂回调用关系,部分迂回调用关系如图1所示。
基于上述业务支撑系统特有的限制条件,普通的关联关系捕捉技术无法满足现有的业务支撑系统,同时,越来越庞大的文档管理工作,不便于业务支撑系统内各个设备之间的管理和维护,所以迫切需要一套能够自动化、智能管理进程关联关系的工具。
发明内容
本发明实施例提供了一种业务支撑系统进程间关联关系的识别方法、系统及服务器,用以解决业务支撑系统规模越来越庞大,导致的业务支撑系统内设备之间的管理和维护越来越困难的问题。
本发明实施例提供的一种业务支撑系统进程间关联关系的识别方法,包括:
接收用户输入的进程的标识;
以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
本发明实施例提供的一种业务支撑系统进程间关联关系的识别系统,包括:
关联实现服务器,用于接收用户输入的进程的标识;以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑;
信息收集服务器,用于存储每个进程与该进程相关的关联进程的信息;
关联规则服务器,用于存储预先设定的关联规则。
本发明实施例提供的一种关联实现服务器,包括:
接收模块,用于接收用户输入的进程的标识;
拓扑计算模块,用于以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
本发明实施例的有益效果包括:
本发明实施例提供的业务支撑系统进程间关联关系的识别方法、系统及服务器,以用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程的关联进程的信息,以及预先设定的关联关系规则,对用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与用户输入的进程相关的各层级的关联进程的关联关系的拓扑。本发明实施例根据业务支撑系统各设备之间的业务实现逻辑,划分了对应的层级,对于用户输入的业务支撑系统中属于任意层级的任一个进程,都可以实现对该进程与各层级的关联进程之间关联关系拓扑的清晰识别,解决了现有业务支撑系统规模越来越庞大,导致的业务支撑系统内设备之间的管理和维护越来越困难的问题。
附图说明
图1为业务支撑系统中进程之间存在的迂回关联关系图;
图2为本发明实施例提供的业务支撑系统关联关系的识别方法的流程图;
图3为本发明实施例提供的打印出进程的7项关键信息的流程图;
图4为本发明实施例提供的基于二叉树算法在业务支撑网内进行进程关联拓扑的示意图;
图5为本发明实施例提供的使用二叉树算法进行拓扑运算具体实现的流程图;
图6为本发明实施例提供的业务进程关联关系的识别系统的结构图;
图7为本发明实施例提供的业务进程关联关系的识别系统的各服务器进行关联拓扑运算的交互流程图;
图8为本发明实施例提供的关联实现服务器的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的业务支撑系统进程间关联关系的识别方法、系统及服务器的具体实施方式进行详细地说明。
本发明实施例提供的业务支撑系统进程间关联关系的识别方法,如图2所示,包括如下步骤:
S201、接收用户输入的进程的标识;
S202、以用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与用户输入的进程相关的各层级的关联进程的关联关系的拓扑;
为了便于用户利用上述步骤S202得到的进程的关联关系的拓扑进行管理,在上述步骤S202之后,还可以包括下述步骤S203:
S203、输出并显示与用户输入的进程相关的各层级的关联进程的关联关系的拓扑的步骤。
本步骤S203在输出并显示关联关系拓扑的过程中,可以通过WEB图形方式,在预先设计好的业务结构图上,按照不同的层级显示用户输入的进程,以及与用户输入的进程相关的各层级的关联进程之间的关联关系的拓扑。
下面对上述各步骤进行详细的说明。
上述步骤S202中,每个进程与该进程相关的其他进程的信息,通过收集每个进程的关键信息并保存每个进程的关键信息来实现,每个进程的关键信息,包括但不限于:属主、本进程的ID(Identity,身份识别号码)、本进程名、本地应用端口信息、本地IP(Internet Protocol,网络互联协议)、外联应用端口信息和外联应用IP这七项关键信息;其中:本地应用端口信息和本地IP为本进程所使用的端口号和IP地址;外联应用端口信息和外联应用IP,为本进程相关的关联进程所使用的端口号和IP地址。
例如目前业务支撑系统常用IBM(International Business Machines,国际商务机器公司)的AIX(Advanced Interactive Executive,高级交互执行程序)服务器和许多第三方的应用软件,在该种业务支撑系统的每台服务器中,可以使用AIX LSOF命令输出其进程的7项关键信息,即:属主、本进程ID、本进程名、本地应用端口信息、本地IP、外联应用端口信息和外联应用IP,但输出的格式是随机的,可能为字符或数字,因此要获取进程数字形式的关键信息,就必须要将输出的字符解析成数字才行。
为此,本发明实施例中,可以通过对AIX LSOF(List opened files,列举已打开文件)命令和NETSTAT(查询网络数据结构)命令的输出文本进行匹配整理,完整的打印出进程的7项关键信息(或称7要素信息),具体实现步骤如图3所示,包括:
S301,输入AIX LSOF命令,输出结果,从结果中过滤出进程的关键信息;
S302,判断过滤出的关键信息中,本地的端口信息与外联端口信息的格式;
本地端口信息和外联端口信息的格式,可能有下述四种组合情况,如果是组合1:本地端口信息为数字、外联端口信息为数字,那么执行下述步骤S307;如果是组合2:本地端口信息为字符、外联端口信息为数字,则先执行步骤S303,再执行步骤S307;如果是组合3:本地端口信息为字符、外联端口信息为数字,则先执行步骤S305,再执行步骤S307;如果是组合4:本地端口信息为字符、外联端口信息为字符,就先执行下述步骤S306,再执行步骤S307。
S303,输入NETSTAT命令,获取输出结果;
如果是上述组合2,执行下述步骤S304;如果是组合3,执行下述步骤S305;如果是组合4,执行下述步骤S306;
S304、以数字格式的外联端口信息为输入,从NETSTAT命令输出的结果中匹配出对应数字格式的本地端口信息;将匹配出的数字格式的本地端口信息替换掉原来字符形式的本地端口信息;
S305、以数字格式的本地端口信息为输入,从NETSTAT命令输出的结果中匹配出对应的数字格式的外联端口信息;将匹配出的数字格式的外联端口信息替换掉原来字符形式的外联端口信息;
S306、使用本地IP、外联IP匹配出数字形式的本地端口信息和外联端口信息,将匹配出的数字格式的本地端口信息和外联端口信息替换掉原来字符形式的本地端口信息和外联端口信息;
S307、捕捉收集好的进程结果。
经过上述步骤S301~S307之后,最终得到,业务支撑系统中每台服务器上所有进程与外联进程的关键信息,且方法简单、实用,基于现有AIX命令实现,解决了现有技术中使用AIX LSOF命令输出结果中无法匹配字符和数字的问题,可移植性与通用性高。
业务支撑系统庞大的进程信息群中,需要一套高效的方法来有层次的遍历出和进程相关且基于TCP/IP(Transmission Control Protocol/Internet Protocol)的所有进程信息,本发明实施例提供的方法的原理主要基于链式关联和二叉树拓扑来实现,在前述步骤S202中,以用户选择的进程为输入值,通过对该输入值关联实现的计算得到一连串的以输入值进程为根,其他每一层与之有关联的进程为叶子或节点信息的二叉树拓扑。具体实现过程如下:
执行二叉树算法,遍历用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与用户输入的进程相关的关联进程的第一圈的计算;
遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;
重复上述过程,直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
业务支撑系统的层级,可以根据业务支撑系统的运行逻辑,划分为具体的层级结构,例如划分为:数据库层、中间件层、前台层、辅助前台层和用户层等。由于在实际应用中,业务支撑系统的还有可能划分出其他层级,因此,如何划分业务支撑系统的层级,以及划分多少层级,本发明实施例并不限定。
图4为上述基于二叉树算法在业务支撑系统内进行进程关联拓扑的示意图,图4展示输入值信息(即输入的单个进程的PID)为1.1.1.1:777;第1圈计算得出的与输入的进程相关的关联进程为节点1、节点2和节点3,其中,节点1的PID为2.2.2.1:8000,第2圈拓扑运算时,与节点1相关的关联进程为叶子1和叶子2,与节点2相关的关联进程为节点4、叶子3和叶子4,总共进行了4圈的拓扑运算,得到如图4所示的以用户输入的进程为根,各层级关联进程为节点或叶子的拓扑结构。
图5为使用二叉树算法进行拓扑运算具体实现的流程图,具体操作步骤包括:
S501、获取输入进程的PID,并从信息收集服务器获取数据信息;
S502、开始第X圈的拓扑;
S503、读取关联规则信息;
S504、得到该进程所有的外联端口和IP信息;
在本步骤S504中,第1圈的拓扑,获取的是与输入的进程相关的外联端口和IP信息,目的是获取与输入的进程相邻层级的关联进程的PID,第N圈得拓扑,则是以上一圈计算出的节点为基础,获取该节点所表示的进程的所有的外联端口和IP信息,以确定该节点相关的相邻层级的关联进程的PID;
S505、根据外联端口和IP信息获取外联进程的PID;
S506、判断外联进程是否符合关联规则;
如果有任一点符合,执行下述步骤S507;如果都不符合,执行下述步骤S508;
S507、将该外联进程置为“叶子”,并停止该进程方向上的拓扑;
S508、将该外联进程置为“节点”,并将它作为下一圈拓扑的起点,并执行步骤S509;
S509、判断圈数X是否等于M,M为整个拓扑运算所需要的圈数;
如果是,执行下述S510;
如果不是,执行下述S511;
S510、将圈数标志位加一后,转向执行步骤S502;
S511、停止关联拓扑。
上述步骤S506中,判断该关联进程是叶子还是节点,是以是否符合设定的关联规则来确定的,本发明实施例中,结合业务支撑系统的特性,以及历史维护经验,发现关联规则的设定的依据主要是:
1、尽量减少关联的迂回关联路径的出现;
2、尽量减少由数据库产生的星形放射状关联路径的出现;
3、尽量减少由负载均衡产品(例如BORLAND(宝蓝公司)的负载均衡产品)所产生的星形放射状关联路径出现;
4、如果没有下层信息,无法再进行拓扑;
5、针对TCP/IP的进程通讯,由于无法控制到内存级别的私密通讯,这种关联进程需要终止拓扑,设为节点。
根据上述依据,本发明实施例提供设置的关联规则如下表1所示:
表1
当然,本发明实施例并不限于上述5条关联规则,在具体实施时,可以根据进程间关联关系的实际情况,只选用上述5条关联规则之中的一条或者某几条的组合,或者采用上述5条关联规则以外的其他关联规则。
上述图4和图5所示的拓扑运算过程,在具体实施时,进行拓扑运算的圈数,可能根据业务支撑系统划分的层级,以及用户输入的进程所在的层级而发生变化。
具体来说,由于上述计算过程中,某一层的进程只能向跟它相邻的一层或两层进行单向拓扑,假设业务支撑系统总共划分为5层,如果用户输入进程处于第一层,那么一共只有4圈拓扑,依次得到第二层的关联进程为叶子或节点的结果、第三层的关联进程为叶子或节点的结果、第四层的关联进程为叶子或节点的结果以及第五层的关联进程为叶子或节点的结果,拓扑至第五层,由于没有更多的层数而结束;如果用户输入进程是第二层中的进程,那么第1圈拓扑出来的就可能是第一层和第三层的关联进程为叶子或节点的结果,第2圈以后就从第三层的进程(须是节点)依次往下拓扑,总共拓扑3圈就结束;如果输入进程是第三层中的进程,那么第1圈拓扑出来的是第二层和第四层的关联进程为叶子或节点的结果,第2圈就是第二层往下拓扑的第一层的关联进程为叶子或节点的结果,以及第四层往下拓扑的第五层的关联进程为叶子或节点的结果,然后结束,以此类推。
本发明实施例还提供一种业务进程关联关系的识别系统,如图6所示,包括:
关联实现服务器601,用于接收用户输入的进程的标识;以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑;
信息收集服务器602,用于存储每个进程与该进程相关的关联进程的信息;
关联规则服务器603,用于存储预先设定的关联规则。
进一步地,本发明实施例提供的业务进程关联关系的识别系统,如图6所示,还可以包括:信息捕捉客户端604,用于收集每个进程的关键信息,所述关键信息包括:属主、本进程的ID、本进程名、本地应用端口信息、本地IP、外联应用端口信息和外联应用IP;其中:所述本地应用端口信息和本地IP为本进程所使用的端口号和IP地址;所述外联应用端口信息和外联应用IP,为本进程相关的关联进程所使用的端口号和IP地址。
进一步地,上述信息捕捉客户端604,具体用于针对每个进程,使用AIXLSOF命令输出该进程的第一关键信息;判断所输出的关键信息中的本地应用端口信息与外联应用端口信息的信息格式是否一致且都为数字;若是,则将输出的该进程的第一关键信息作为所收集的关键信息;若否,使用NETSTAT命令输出该进程的第二关键信息;当本地应用端口信息的信息格式为字符且外联应用端口的信息格式为数字时,通过外联应用端口信息,在所述第二关键信息中匹配出信息格式为数字的本地应用端口信息,并使用匹配出的本地应用端口信息替换所述第一关键信息中的本地应用端口信息,以替换后的第一关键信息作为所收集的关键信息;当本地应用端口信息的信息格式为数字且外联应用端口的信息格式为字符时,通过本地应用端口信息,在所述第二关键信息中匹配出信息格式为数字的外联应用端口信息,并使用匹配出的外联应用端口信息替换所述第一关键信息中的外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息;当本地应用端口信息的信息格式和外联应用端口的信息格式均为字符时,通过本地IP和外联IP,在第二关键信息中匹配出数字格式的本地应用端口信息和外联应用端口信息,并使用匹配出的本地应用端口信息和外联应用端口信息替换第一关键信息中字符格式的本地应用端口信息和外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息。
进一步地,上述关联实现服务器601,具体用于执行二叉树算法,遍历所述用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与所述用户输入的进程相关的关联进程的第一圈的计算;遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
进一步地,上述关联规则服务器603,具体用于存储关联规则为下述规则之一或任意组合:
第N圈的节点与第N-2圈、N+2圈节点相同、第N圈中的节点为数据库的进程、第N圈的节点为负责负载均衡的进程、没有相关的第N+1圈的关联进程以及为使用内存进行通信的进程。
进一步地,本发明实施例提供的业务进程关联关系的识别系统,如图6所示,还包括:关联拓扑展示服务器605,用于输出并显示所述第一进程相关的各层级的关联进程的关联关系的拓扑。
图7所示的是本发明实施例提供的上述业务进程关联关系的识别系统的各服务器进行关联拓扑运算的交互流程图,包括如下步骤:
步骤1,信息捕捉客户端利用脚本收集服务器上运行进程的7项关键信息(7要素信息);
步骤2,信息捕捉客户端将服务器上所有进程运行信息传递给信息收集服务器;
步骤3,信息收集服务器收集完所有服务器上的进程信息后,录入到服务器上的数据库中;
步骤4,用户任意挑选一台服务器上的一个进程作为输入参数传递给关联实现服务器;
步骤5,关联实现服务器收到请求后,从关联规则服务器上获取规则,该规则是指具有明确叶子特征的规则信息。
步骤6,关联实现服务器从信息收集服务器读取所有与输入进程相关的进程信息作为“根”启动样本。
步骤7,关联实现服务器获取完规则后,开始以输入进程为“根”,通过该进程本地端口与外联端口的关系,先遍历寻找第一层的叶子进程信息。如果该进程信息符合规则条件,则不再第2圈中继续拓扑。最终完成第1圈的进程关联拓扑。
步骤8,重复步骤5,继续读取关联规则配置。
步骤9,关联实现服务器从信息收集服务器读取所有与第1圈叶子节点相关的信息作为第2圈的数据启动样本。
步骤10,重复步骤7,遍历得到第2圈的进程关联拓扑信息。
步骤11和步骤12,按本装置现有配置和现网业务支撑系统环境,重复步骤5到步骤10,完成第N圈的遍历。
遍历得到第N圈的进程关联拓扑信息。
步骤13,将第1圈到第N圈的进程关联信息整合输出到信息展示服务器上。
步骤14,信息展示服务器通过各层级的叶子和节点的进程信息,以图形方式在拓扑上标注相应的服务器设备以及服务器之间的联系。
本发明实施例还提供了一种关联实现服务器,如图8所示,包括:
接收模块801,用于接收用户输入的进程的标识;
拓扑计算模块802,用于以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
进一步地,上述关联实现服务器中的拓扑计算模块802,进一步用于执行二叉树算法,遍历所述用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与所述用户输入的进程相关的关联进程的第一圈的计算;遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
本发明实施例提供的业务支撑系统进程间关联关系的识别方法、系统及服务器,以用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程的关联进程的信息,以及预先设定的关联关系规则,对用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与用户输入的进程相关的各层级的关联进程的关联关系的拓扑。本发明实施例根据业务支撑系统各设备之间的业务实现逻辑,划分了对应的层级,对于用户输入的业务支撑系统中属于任意层级的任一个进程,都可以实现对该进程与各层级的关联进程之间关联关系拓扑的清晰识别,解决了现有业务支撑系统规模越来越庞大,导致的业务支撑系统内设备之间的管理和维护越来越困难的问题。
进一步地,本发明实施例提供的上述业务支撑系统进程间关联关系的识别方法、系统及服务器,在进行拓扑运算时,根据业务支撑系统的具体进程的特点,提出了判定关联进程为业务或节点的关联规则,这些关联规则,从减少关联的迂回关联路径的出现、减少星形放射状关联路径的出现,避免拓扑至内存级别的私密通讯等为出发点,对拓扑运算的过程进行优化,一方面避免拓扑出来的结果杂乱无章、没有头绪,可阅读性低,另一方面,由于减少迂回关联路径和星形放射状关联路径等的拓扑运算,避免了不必要的拓扑运算,在现有业务支撑系统大数据量的背景下,能够大大提高整个关联进程拓扑运算的效率。
Claims (14)
1.一种业务支撑系统进程间关联关系的识别方法,其特征在于,包括:
接收用户输入的进程的标识;
以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
2.如权利要求1所述的方法,其特征在于,所述预先存储的每个进程与该进程相关的其他进程的信息,通过下述方式实现:
收集每个进程的关键信息,所述关键信息包括:属主、本进程的ID、本进程名、本地应用端口信息、本地IP、外联应用端口信息和外联应用IP;其中:所述本地应用端口信息和本地IP为本进程所使用的端口号和IP地址;所述外联应用端口信息和外联应用IP,为本进程相关的其他进程所使用的端口号和IP地址;
将每个进程及其关键信息对应存储。
3.如权利要求2所述的方法,其特征在于,所述收集每个进程的关键信息,具体包括:
针对每个进程,使用高级交互执行程序的列举已打开文件AIX LSOF命令输出该进程的第一关键信息;
判断所输出的关键信息中的本地应用端口信息与外联应用端口信息的信息格式是否一致且都为数字;
若是,则将输出的该进程的第一关键信息作为所收集的关键信息;
若否,使用查询网络数据结构NETSTAT命令输出该进程的第二关键信息;
当本地应用端口信息的信息格式为字符且外联应用端口的信息格式为数字时,通过外联应用端口信息,在所述第二关键信息中匹配出信息格式为数字的本地应用端口信息,并使用匹配出的本地应用端口信息替换所述第一关键信息中的本地应用端口信息,以替换后的第一关键信息作为所收集的关键信息;
当本地应用端口信息的信息格式为数字且外联应用端口的信息格式为字符时,通过本地应用端口信息,在所述第二关键信息中匹配出信息格式为数字的外联应用端口信息,并使用匹配出的外联应用端口信息替换所述第一关键信息中的外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息;
当本地应用端口信息的信息格式和外联应用端口的信息格式均为字符时,通过本地IP和外联IP,在第二关键信息中匹配出数字格式的本地应用端口信息和外联应用端口信息,并使用匹配出的本地应用端口信息和外联应用端口信息替换第一关键信息中字符格式的本地应用端口信息和外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息。
4.如权利要求2所述的方法,其特征在于,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑,具体包括:
执行二叉树算法,遍历所述用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与所述用户输入的进程相关的关联进程的第一圈的计算;
遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;
直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
5.如权利要求4所述的方法,其特征在于,所述关联规则,具体包括下述规则之一或任意组合:
第N圈的节点与第N-2圈、N+2圈节点相同、第N圈中的节点为数据库的进程、第N圈的节点为负责负载均衡的进程、没有相关的第N+1圈的关联进程以及为使用内存进行通信的进程。
6.如权利要求1-5任一项所述的方法,其特征在于,在得到与所述第一进程相关的各层级的关联进程的关联关系的拓扑之后,还包括:
输出并显示所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
7.一种业务支撑系统进程间关联关系的识别的系统,其特征在于,包括:
关联实现服务器,用于接收用户输入的进程的标识;以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑;
信息收集服务器,用于存储每个进程与该进程相关的关联进程的信息;
关联规则服务器,用于存储预先设定的关联规则。
8.如权利要求7所述的系统,其特征在于,还包括:信息捕捉客户端,用于收集每个进程的关键信息,所述关键信息包括:属主、本进程的ID、本进程名、本地应用端口信息、本地IP、外联应用端口信息和外联应用IP;其中:所述本地应用端口信息和本地IP为本进程所使用的端口号和IP地址;所述外联应用端口信息和外联应用IP,为本进程相关的关联进程所使用的端口号和IP地址。
9.如权利要求7所述的系统,其特征在于,所述信息捕捉客户端,进一步用于针对每个进程,使用高级交互执行程序的列举已打开文件AIX LSOF命令输出该进程的第一关键信息;判断所输出的关键信息中的本地应用端口信息与外联应用端口信息的信息格式是否一致且都为数字;若是,则将输出的该进程的第一关键信息作为所收集的关键信息;若否,使用查询网络数据结构NETSTAT命令输出该进程的第二关键信息;当本地应用端口信息的信息格式为字符且外联应用端口的信息格式为数字时,通过外联应用端口信息,在所述第二关键信息中匹配出信息格式为数字的本地应用端口信息,并使用匹配出的本地应用端口信息替换所述第一关键信息中的本地应用端口信息,以替换后的第一关键信息作为所收集的关键信息;当本地应用端口信息的信息格式为数字且外联应用端口的信息格式为字符时,通过本地应用端口信息,在所述第二关键信息中匹配出信息格式为数字的外联应用端口信息,并使用匹配出的外联应用端口信息替换所述第一关键信息中的外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息;当本地应用端口信息的信息格式和外联应用端口的信息格式均为字符时,通过本地IP和外联IP,在第二关键信息中匹配出数字格式的本地应用端口信息和外联应用端口信息,并使用匹配出的本地应用端口信息和外联应用端口信息替换第一关键信息中字符格式的本地应用端口信息和外联应用端口信息,以替换后的第一关键信息作为所收集的关键信息。
10.如权利要求7所述的系统,其特征在于,所述关联实现服务器,具体用于执行二叉树算法,遍历所述用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与所述用户输入的进程相关的关联进程的第一圈的计算;遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
11.如权利要求10所述的系统,其特征在于,所述关联规则服务器,具体用于存储关联规则为下述规则之一或任意组合:
第N圈的节点与第N-2圈、N+2圈节点相同、第N圈中的节点为数据库的进程、第N圈的节点为负责负载均衡的进程、没有相关的第N+1圈的关联进程以及为使用内存进行通信的进程。
12.如权利要求7-11任一项所述的系统,其特征在于,还包括:关联拓扑展示服务器,用于输出并显示所述第一进程相关的各层级的关联进程的关联关系的拓扑。
13.一种关联实现服务器,其特征在于,包括:
接收模块,用于接收用户输入的进程的标识;
拓扑计算模块,用于以所述用户输入的进程在业务支撑系统中所属的层级为起点,根据预先存储的每个进程与该进程相关的关联进程的信息,以及预先设定的关联关系规则,对所述用户输入的进程相关的各层级的关联进程进行拓扑运算,得到与所述用户输入的进程相关的各层级的关联进程的关联关系的拓扑。
14.如权利要求13所述的关联实现服务器,其特征在于,所述拓扑计算模块,进一步用于执行二叉树算法,遍历所述用户输入的进程相关联的相邻层级的各关联进程,判断该相邻层级的关联进程是否符合预设的关联规则,若是,确定该关联进程在第一圈的拓扑中为叶子;否则,确定该关联进程在第一圈的拓扑中为节点,完成与所述用户输入的进程相关的关联进程的第一圈的计算;遍历第一圈计算结果的每个节点,进一步确定与该节点相邻层级中相关的、且第一圈计算已涉及的进程之外的各关联进程,判定确定出的各关联进程是否符合预设的关联规则,若是,确定该关联进程在第二圈拓扑中为叶子;否则,确定该关联进程在第二圈拓扑中为节点,完成与第一进程相关的关联进程的第二圈的计算;直至遍历完与所述用户输入的进程相关的各层级的关联进程,得到以所述用户输入的进程为根节点的二叉树拓扑结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110250015.XA CN102957555B (zh) | 2011-08-29 | 业务支撑系统进程间关联关系的识别方法、系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110250015.XA CN102957555B (zh) | 2011-08-29 | 业务支撑系统进程间关联关系的识别方法、系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102957555A true CN102957555A (zh) | 2013-03-06 |
CN102957555B CN102957555B (zh) | 2016-12-14 |
Family
ID=
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503750A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 进程清理方法及装置 |
CN104503841A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 进程清理方法及装置 |
CN108509560A (zh) * | 2018-03-23 | 2018-09-07 | 广州杰赛科技股份有限公司 | 用户相似度获得方法和装置、设备、存储介质 |
CN110224899A (zh) * | 2019-06-28 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种tcp应用的调用链获取方法及装置 |
CN111158746A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN112488857A (zh) * | 2020-11-24 | 2021-03-12 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN114553709A (zh) * | 2022-04-28 | 2022-05-27 | 恒生电子股份有限公司 | 拓扑关系展示方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604099A (zh) * | 2004-08-06 | 2005-04-06 | 中国联合通信有限公司 | 电信运营支撑系统的软件体系结构构建方法及系统 |
US20060080417A1 (en) * | 2004-10-12 | 2006-04-13 | International Business Machines Corporation | Method, system and program product for automated topology formation in dynamic distributed environments |
CN101729353A (zh) * | 2008-11-03 | 2010-06-09 | 华为技术有限公司 | 网络拓扑布局的方法、装置及系统 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604099A (zh) * | 2004-08-06 | 2005-04-06 | 中国联合通信有限公司 | 电信运营支撑系统的软件体系结构构建方法及系统 |
US20060080417A1 (en) * | 2004-10-12 | 2006-04-13 | International Business Machines Corporation | Method, system and program product for automated topology formation in dynamic distributed environments |
CN101729353A (zh) * | 2008-11-03 | 2010-06-09 | 华为技术有限公司 | 网络拓扑布局的方法、装置及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503750A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 进程清理方法及装置 |
CN104503841A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 进程清理方法及装置 |
CN108509560A (zh) * | 2018-03-23 | 2018-09-07 | 广州杰赛科技股份有限公司 | 用户相似度获得方法和装置、设备、存储介质 |
CN110224899A (zh) * | 2019-06-28 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种tcp应用的调用链获取方法及装置 |
WO2020259515A1 (zh) * | 2019-06-28 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 一种tcp应用的调用链获取方法及装置 |
CN110224899B (zh) * | 2019-06-28 | 2023-04-18 | 深圳前海微众银行股份有限公司 | 一种tcp应用的调用链获取方法及装置 |
CN111158746A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN111158746B (zh) * | 2019-12-31 | 2024-01-23 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN112488857A (zh) * | 2020-11-24 | 2021-03-12 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN112488857B (zh) * | 2020-11-24 | 2023-08-22 | 泰康保险集团股份有限公司 | 事件识别的方法、装置、电子设备和存储介质 |
CN114553709A (zh) * | 2022-04-28 | 2022-05-27 | 恒生电子股份有限公司 | 拓扑关系展示方法及相关设备 |
CN114553709B (zh) * | 2022-04-28 | 2022-08-23 | 恒生电子股份有限公司 | 拓扑关系展示方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086289B2 (en) | Control interface for metric definition specification for assets driven by search-derived asset tree hierarchy | |
CN105893349B (zh) | 类目标签匹配映射方法及装置 | |
CN101408877B (zh) | 树节点加载系统及其方法 | |
CN102508919B (zh) | 数据处理方法及系统 | |
CN109933311A (zh) | 一种信息系统创建方法及相关装置 | |
CN107103064A (zh) | 数据统计方法及装置 | |
CN106227881A (zh) | 一种信息处理方法及服务器 | |
CN108776678A (zh) | 基于移动端NoSQL数据库的索引创建方法及装置 | |
CN101477555A (zh) | 基于sql数据库的任务树的快速检索及生成显示的方法 | |
CN107943455A (zh) | 一种基于json数据格式的表单渲染系统 | |
CN109933589B (zh) | 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法 | |
CN106888264A (zh) | 一种数据交换方法和装置 | |
CN107403012A (zh) | 一种数据交换方法及装置 | |
CN102999329B (zh) | 基于可扩展标记语言映射配置的活动目录接口开发方法 | |
CN114443656A (zh) | 一种可定制的自动化数据模型分析工具及其使用方法 | |
CN106503271A (zh) | 移动互联网和云计算环境下子空间Skyline查询的智能商店选址系统 | |
CN103995886A (zh) | 一种多维度产品设计知识推送框架与构建方法 | |
CN104750860B (zh) | 一种不确定数据的数据存储方法 | |
CN106021245A (zh) | 数据的可视化方法和装置 | |
Shi et al. | Human resources balanced allocation method based on deep learning algorithm | |
CN102486731B (zh) | 增强软件的软件调用栈的可视化的方法、设备和系统 | |
CN106951636A (zh) | 一种基于AutoCAD的电力通信静态资源自动识别方法 | |
CN102957555A (zh) | 业务支撑系统进程间关联关系的识别方法、系统及服务器 | |
CN106599244B (zh) | 通用的原始日志清洗装置及方法 | |
CN115168609A (zh) | 一种文本匹配方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |