CN102014162B - 一种分布式系统运行时的监视数据传输方法 - Google Patents

一种分布式系统运行时的监视数据传输方法 Download PDF

Info

Publication number
CN102014162B
CN102014162B CN 201010573257 CN201010573257A CN102014162B CN 102014162 B CN102014162 B CN 102014162B CN 201010573257 CN201010573257 CN 201010573257 CN 201010573257 A CN201010573257 A CN 201010573257A CN 102014162 B CN102014162 B CN 102014162B
Authority
CN
China
Prior art keywords
event
groove
supervision
critical
confidence level
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
Application number
CN 201010573257
Other languages
English (en)
Other versions
CN102014162A (zh
Inventor
叶丹
严慧
宁静
刘杰
虞海江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiwei Energy Group Co ltd
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN 201010573257 priority Critical patent/CN102014162B/zh
Publication of CN102014162A publication Critical patent/CN102014162A/zh
Application granted granted Critical
Publication of CN102014162B publication Critical patent/CN102014162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种分布式系统运行时的监视数据传输方法,包括下列步骤:1)建立分布式应用的监视事件模型N,N为有向无环图,结点代表监视事件,有向边确定监视事件的顺序,初始监视状态为源点,终止监视状态为汇点,汇点和入度大于1的结点的前一结点为关键结点;2)分布式应用发送监视事件给监视中心,监视事件中至少包含事件序号和可信度;3)监视中心按照监视事件的事件序号接收监视事件。本发明的方法通过模型将监视事件有序化,减少了数据传输中的丢失、乱序,重复;在保证信息传输可靠性的同时,减少了通讯信道和系统的负载;通过槽对监视事件进行接收,减少了信息接收中的错误和遗漏;采用监视事件还原技术,解决了监视故障问题。

Description

一种分布式系统运行时的监视数据传输方法
技术领域
本发明涉及一种监视数据的传输方法,尤其涉及一种分布式系统运行时的监视数据的传输方法,属于数据监视领域。
背景技术
在分布式系统运行时,有必要收集系统的运行信息实现对系统的监视。监视的作用是实时了解系统的运行状态,是对系统进行控制的基础。
目前已有监视环境,如OrWell,OrWell(R.Weinreich,W.Kurchl.Dynamic Analysisof Distributed Object-OrientedApplications.Proc.Hawaii International ConferenceOn System Sciences,Kona,Hawaii,January 6-9,1997.)是一个面向CORBA分布式应用的监视环境,它使用结构化的事件类将系统中的交互通知给观察者(Observers),提供对被监视系统的细节分析。还有JEWEL,JEWEL(F.Lange,R.Kroeger,M.Gergeleit.JEWEL:Designand Measurement of a Distributed Measurement System.IEEE Transactions on Paralleland Distributed Systems,1992.)是一个面向分布式应用的监视环境,但它需要专门的外部监视传感器以及相应的内部钩子,而且为避免监视传感器影响系统行为,需要隔离物理网络。还有同时存在监视与控制作用的系统Wash,Wash(B.Sridharan,S.Mundkur,A.P.Mathur.On Building Non-intrusive PerformanceInstrumentation Blocks for CORBA-basedDistributed System,4th IEEEInternational Computer Performance and DependiabilitySymposium,Chicago,2000;B.Sridharan,S.Mundkur,A.P.Mathur.Non-intrusive Testing,Monitoring andControl of Distributed ORBA Objects.TOOLS Europe 2000,St.Malo,France,2000.)是对CORBA分布式系统进行测试、监视和控制的系统,它使用CORBA拦截器捕获运行时信息。
在对监视系统的研究中,已有对监视模型的研究,如(Mansouri-Samani,M.and M.Sloman.Monitoring distributed systems.IEEEnetwork,1993.7(6):p.20-30.)提出了一种通用监视模型,并提供了分布式事件监视服务和通用事件监视语言(GEM)。对监视技术的研究,如Richmond(M.Richmond,J.Noble.Reflections on Remote Reflection.AustralasianComputer Science Confernce(ACSC2001).Brisbane,2001.;M.Richmond.Flexible Migration Support for Component Frameworks.Doctoral Dissertation.Department of Computing,Macquarie University,2003.)等提出使用远程反射技术监视、调试和可视化分布式Java应用。使用远程反射,可以从一个中心位置监视分布式系统,为企业应用提供一个集中式管理模型。通过反射技术可以发现应用中的运行时结构和行为,因而能够动态地改变这些应用和行为。
而目前已有的监视系统,以及监视技术缺乏对监视数据高效收集,有效传递的保证,无法处理监视数据丢失、乱序、重复等错误。而监视数据的正确性影响到对系统控制的决策,因此有必要设计一种监视方法,保证监视数据高效收集和准确传递。
发明内容
本发明针对的场景是在分布式系统的监视过程中,从一个中心位置监视分布式系统,即各个分布式的组件需要把监视数据统一发送到监视中心进行观察处理。监视数据数据量小,发送频繁,选用UDP协议作为底层的通信协议。监视数据在网络中传播的过程中,由于UDP协议本身的问题,可能出现丢失、乱序,重复等问题。
本发明的目的是提出一种分布式系统运行时的监视数据传输方法,该方法可以可靠、高效、代价低的将监视数据发送到监视中心,并对传输错误的监视数据进行修正。
本发明的方法,包括如下步骤:
1)建立分布式应用的监视事件模型N,N为有向无环图,其中结点代表监视事件,有向边确定监视事件的顺序,源点为分布式系统运行时的初始监视状态,汇点代表系统运行结束的终止监视状态,汇点和入度大于1的结点的前一结点为关键结点。N保存在监视中心和各个服务器中。当模型中存在分支时,关键结点是确定一条路径所不可缺少的结点。
2)分布式应用发送监视事件给监视中心,监视事件中至少包含事件序号和可信度的信息,其中,事件序号由模型N中的对应结点序号确定;
3)监视中心按照监视事件的事件序号接收监视事件。
在分布式系统中,当发生动作和状态变化时,就会触发监视事件。分布式应用一次执行时从开始到结束的所有监视事件组成了一个监视事件序列。分析分布式应用每次执行时可能产生的监视事件序列并对该序列建模,可以得到系统一次执行时的监视事件模型。将系统所有可能的监视事件模型合并可以得到完整的监视事件模型。
在分布式应用运行中,监视事件一产生可以在监视事件模型上找到其对应的结点位置,并根据模型顺序立即进行发送。
监视事件是由发送方(分布式应用,即分布式应用的各服务器)生成并发送给接收方(监视中心),监视事件中至少应包含事件序号、可信度信息。根据应用,可以对监视事件进行扩展。
事件序号(Seq):监视事件在监视事件模型中的序号。
可信度(Reliability):该监视事件携带信息的可靠性评级。发送方根据监视事件的类型确定可信度。
所述监视事件包括关键事件、实例敏感事件和非实例敏感事件,关键事件是监视事件模型中关键结点对应的监视事件;实例敏感事件是包含特定实例相关信息的监视事件;非实例敏感事件是不包含特定实例相关信息的监视事件。特定实例相关信息是时间戳、数据量等与监视对象的特定实例相关的信息。
所述监视事件的发送和接收具体为:
A、分布式应用发送当次监视的分布式应用的执行序号和监视事件给监视中心;
B、监视中心确定执行序号是否正确,正确则接收监视事件;执行序号是指分布式应用的第几次执行。
所述接收监视事件的方法为:
a、将收到的监视事件构造为槽事件,槽事件至少包含事件序号和可信度;
b、检查槽中是否有槽事件,其中,槽是从源点到汇点的一条路径上与结点相对应的位置,槽的编号与结点上监视事件的事件序号相同;
c、槽中没有槽事件时,将槽事件插入槽中;当槽中有槽事件时,比较当前槽事件和槽中槽事件的可信度,过滤可信度低的槽事件;
d、检查当前槽之前的槽,对尚未安装槽事件的槽,根据槽编号从模型N中还原槽事件并安装。
将接收到的当前监视事件构造为槽事件,将槽事件安装到槽道相应的槽中;槽道是监视事件模型从源点到汇点的一条路径,槽是槽道中与路径上结点相对应的位置,槽事件包括结点对应的事件序号和可信度,实例敏感事件还包括实例敏感信息。槽是一个二元组:(编号,槽事件),其中编号为结点在分布式应用运行时监视事件模型中的事件序号。
所述A步骤的发送方法为所有监视事件用UDP协议发送给监视中心。
所述A步骤的发送方法为采用可靠传输协议发送关键事件,用UDP协议发送非关键事件。
所述A步骤的发送方法为按照监视事件模型N的顺序缓存在关键事件前的实例敏感事件,当发送关键事件时,将缓存的实例敏感事件装入关键事件中,然后发送该关键事件;关键事件前的非实例敏感事件不发送。装入是指将表示实例敏感事件的对象放入表示关键事件的对象中。下述的装入与此含义相同。
所述A步骤的发送方法:
确定待发送监视事件是非实例敏感事件,将该监视事件的可信度设置为3并发送;
确定待发送监视事件不是关键事件,是实例敏感事件,复制该事件,将复制事件的可信度设置为3,装入缓存中;
将该事件本身的可信度确定为2并发送。
确定待发送事件为关键事件,将缓存中的复制事件依次装入关键事件中进行发送。
所述将槽事件安装到槽中的另一种方法为:
卸载关键事件携带的实例敏感事件,并安装到事件序号对应的槽中;
依次检查当前槽之前的槽,对尚未安装槽事件的槽,根据槽编号还原槽事件并安装;
安装关键事件到对应的槽中。关键事件的安装与实例敏感事件的安装方法相同,即都是检查槽中是否有槽事件,没有就插入;如果有就进行重复事件过滤;然后依次检查当前槽之前的槽,对尚未安装槽事件的槽进行还原。依次检查当前槽的是指当碰到槽中有槽事件时,该过程就停止。
所述将槽事件安装到槽中的再一种方法为:
依次卸载关键事件携带的实例敏感事件的复制事件M,检查M对应的槽中是否安装了槽事件,若已经安装槽事件M’,对比M与M’是否相同,若不相同且M的可信度大于M’的可信度,用M更新M’,否则将M’的可信度设为3,丢弃M。
若M对应的槽尚未安装槽事件,则将M安装到槽。并对槽道上该槽之前的各个槽进行检查,发现未安装的槽时,还原对应的槽事件并进行安装。由于被还原的事件为非实例敏感事件,故可信度均为3。
所述还原槽事件的方法为:
根据槽的编号,从监视模型N中提取对应事件序号的监视事件,生成槽事件A′并安装在槽中,如果监视事件为非实例敏感事件,则设置槽事件A′的可信度为3;如果监视事件为实例敏感事件,则设置槽事件A′的可信度为1。
超时事件的还原方法:对于已经超时的监视事件A,假设其事件序号为n,可以根据分布式应用运行时监视模型对其进行还原,还原的目标是生成对应的槽事件A′。具体方法如下:
A′的事件序号=n,
对于非实例敏感事件,可以还原出事件的全部信息,因此还原出的槽事件具有最大可信度3;而对于实例敏感事件,只能还原出事件的存在性,即确定该事件已发生,无法得到实例敏感信息,因此还原出的槽事件的可信度为1,可以通过后续操作来修复该槽事件,后续操作是指在后续监视事件的发送时再次收到事件序号为n的监视事件,则进行重复事件的处理,即可将新得到的槽事件安装到该槽中。
本发明的积极效果为:
采用本发明的方法对分布式系统中的分布式应用运行过程中的监视数据进行传输,相比现有技术,有以下特点:
1、根据建立的分布式应用运行时监视事件模型,可以将监视事件有序化,减少数据传输中的丢失、乱序,重复等问题;
2、本发明的监视事件发送方法多样,可以根据对监视信息的可靠性和即时性的要求选择发送方法,从而在保证信息传输可靠性的同时,减少通讯信道和系统的负载;
3、通过槽道对监视事件进行接收,减少了信息接收中的错误和遗漏。
4、采用监视事件还原技术,解决了监视故障问题;
附图说明
图1是分布式系统运行时的数据监视结构图;
图2是分布式应用运行时监视事件模型的抽象图;
图3是槽事件安装入槽示意图;
图4是实施例中分布式ETL过程一次运行的监视事件模型图;
图5是实施例中分布式ETL系统运行时的监视事件模型图;
具体实施方式
下面根据附图和实施例具体说明本发明的方法。
1)建立分布式应用的监视事件模型N并保存在监视中心和各个服务器中,参见图1。N为有向无环图,其中结点代表监视事件,有向边确定监视事件的顺序,源点为分布式系统运行时的初始监视状态,汇点代表系统运行结束的终止监视状态,汇点和入度大于1的结点的前一结点为关键结点。参见图2中N的抽象图,S0是唯一的源点,F是唯一的汇点,结点代表监视事件,v2有指向v4的边,说明v2的监视事件发生在v4之前,F点、v4、v5都为关键结点。
监视事件包括关键事件、实例敏感事件和非实例敏感事件,关键事件是监视事件模型中关键结点对应的监视事件;实例敏感事件是包含特定实例相关信息的监视事件;非实例敏感事件是不包含特定实例相关信息的监视事件。特定实例相关信息是时间戳、数据量等与监视对象的特定实例相关的信息。图2中v4、v5对应的监视事件就是关键事件。
监视事件中至少应包含事件序号(Seq)、关键事件标记(isKeyEvt)(标记该监视事件是否为关键事件。)、可信度(Reliability),对于实例敏感事件,还应包含实例敏感信息。根据应用,可以对监视事件进行扩展。
2)分布式应用按照监视事件模型N的事件序号发送当前监视事件给监视中心。并维护最后发送的监视事件序号。
A、分布式应用发送当次监视的分布式应用的执行序号和监视事件给监视中心;
B、监视中心确定执行序号是否正确,正确则接收监视事件;执行序号是指分布式应用的第几次执行。接收监视事件的具体方法为:
将接收到的当前监视事件构造为槽事件,将槽事件安装到槽道相应的槽中;槽道是监视事件模型从源点到汇点的一条路径,槽是槽道中与路径上结点相对应的位置,槽事件包括结点对应的事件序号和可信度,实例敏感事件还包括实例敏感信息。槽是一个二元组:(编号,槽事件),其中编号为结点在分布式应用运行时监视事件模型中的事件序号。参见图3,深色的图形表示槽道,白色部分是一个槽事件,其对应的监视事件序号是2,可信度是3。
本发明的监视事件数据的发送和接收具体有4种方法,第一类方法是传输所有的监视事件,即发送方传输所有的监视事件。第二类方法是基于关键事件的技术,包括关键事件稳定传输技术,关键事件捎带技术,关键事件校验技术。
第一种,传输所有的监视事件的方法。
监视事件的发送方法:将所有监视事件用UDP协议发送给监视中心。
将确定接收的事件Evt安装到槽中的方法为:若槽道中Evt对应的槽中尚未安装槽事件,则根据Evt构造对应的槽事件,并将槽事件安装到槽中。然后依次检查当前槽之前的槽,若发现存在槽尚未安装槽事件,则判定该槽所对应的监视事件已经超时,根据槽编号还原该槽事件,并进行安装;若槽道中Evt对应的槽中已经安装了槽事件,则认为Evt为重复到达的事件,进行重复事件过滤处理。即,比较当前槽事件和槽中槽事件的可信度,过滤可信度低的槽事件,将可信度高的槽事件安装到槽中。
监视事件模型是树的结构,所有的监视事件都会对应于树中的一个结点,且只对应一个结点。因此还原之前的结点,只需要从当前节点开始向上遍历这棵树,即每次都检查其父节点,如果父节点对应的位置没有槽事件,那么就进行还原,直到找到有槽事件的父节点,然后停止。
第二种,关键事件稳定传输方法
对于具有高可靠性要求的应用,可以通过在分布式应用运行时监视事件模型中定义的关键事件,使用更可靠的手段传输关键事件。
监视事件的发送方法:采用可靠传输协议,如基于UDP的请求-应答协议或TCP协议发送关键事件,用UDP协议发送非关键事件。
将确定接收的事件Evt安装到槽中的方法为:与第一种方法相同。
第三种,关键事件捎带方法
当应用对监视信息的即时性的要求较低,或对准确性要求更高时,可以使用关键事件捎带技术。关键事件捎带技术的基本思想是:发送方只发送关键事件,并用前述的可靠传输协议进行发送,非关键事件并不发送。当需要发送实例敏感事件时先缓存,并由后续关键事件捎带到接收方;非实例敏感的非关键事件发生后直接被丢弃,由接收方根据监视事件模型进行还原。由于监视事件模型中关键事件的数量很少,需要发送的事件数将大大减少,因而会减轻通信信道和系统的负载。另外,非关键事件共享了关键事件的可靠通信信道,因而准确性得到了保证。
按照监视事件模型N的顺序缓存在关键事件前的实例敏感事件,当监视到关键事件时,将缓存的实例敏感事件装入关键事件中,然后发送该关键事件;关键事件前的非实例敏感事件不发送。
将确定接收的事件Evt安装到槽中的方法为:当接收到关键事件K时,
卸载关键事件K携带的实例敏感事件,并安装到事件序号对应的槽中;
依次检查当前槽之前的槽,对尚未安装槽事件的槽,根据槽所对应的结点的事件序号还原槽事件并安装;
安装关键事件K到对应的槽中。
第四种,关键事件校验方法
当应用对即时性和准确性的要求都比较高时,可以使用关键事件校验方法。关键事件校验方法建立在关键事件捎带方法之上,区别在于:在关键事件校验机制中,发送方将发送非关键事件以保证即时性,但仍然缓存实例敏感的非关键事件,并由关键事件捎带到接收方,由于关键事件的传输信道更为可靠,所以可以用捎带的事件对之前已接收的事件进行校验。
确定待发送监视事件不是关键事件或实例敏感事件,将该监视事件的可信度设置为3并用UDP协议发送;
确定待发送监视事件不是关键事件,是实例敏感事件,复制该事件,将复制事件的可信度设置为3,装入缓存中;
将该事件本身的可信度确定为2并用UDP协议发送;
确定待发送事件为关键事件,将缓存中的复制事件依次装入关键事件中用可靠传输协议进行发送。
将确定接收的事件Evt安装到槽中的方法为:
依次卸载关键事件携带的实例敏感事件的复制事件M,检查M对应的槽中是否安装了槽事件,若已经安装槽事件M’,对比M与M’是否相同,若不相同且M的可信度大于M’的可信度,用M更新M’,否则将M’的可信度设为3。丢弃M。
若M对应的槽尚未安装槽事件,则将M安装到槽。并对槽道上该槽之前的各个槽进行检查,发现未安装的槽时,还原对应的槽事件并进行安装。由于被还原的事件为非实例敏感事件,故可信度均为3。
在上述方法中,监视中心接收监视数据时,可以对错误的监视数据进行还原。在接收监视数据时使用分布式应用运行时监视事件模型,可以有效的解决分布式应用中监视系统的2种监视故障:
1)遗漏故障:这里主要指通信遗漏故障,即监视信息可能丢失。
2)排序问题:服务器产生的监视信息可能不按发送顺序到达中心控制服务器。
对于监视故障中的遗漏故障,首先定义超时。
超时:对于监视事件A和B,设在分布式应用运行时监视事件模型中,A在从源点到B的路径上。若接收方在收到B时尚未收到A,则认为监视事件A已超时。
监视故障中的遗漏故障定义:如果监视事件Evt超时,则认为发生了遗漏故障,该Evt已遗漏。
解决方法:若接收方收到了监视事件Evt,则对照分布式应用运行时监视事件模型,可确定从源点到Evt之间的所有监视事件均已发生,若其中存在没有被接收到的事件,则认为该事件已经超时,可以根据监视事件模型对该事件进行还原。
超时事件的还原方法:对于已经超时的监视事件A,根据槽编号从监视事件模型N中提取事件序号与A对应的监视事件,还原为槽事件A′。如果该监视事件是非实例敏感事件,则将可信度设置为3,若监视事件是实例敏感事件,则将可信度设置为1。由于实例敏感事件无法从模型N中完全恢复,则还需通过后续监视事件的发送来修复。
重复事件的过滤方法:通过事件的可信度来对重复事件进行过滤,设重复事件为A,对应的槽事件为A’,REL(A)和REL(A’)分别为A和A’的可信度,具体方法如下:
若REL(A)>REL(A’),则A必为实例敏感事件,将A的实例敏感信息写入A’;否则,丢弃A。
下面结合附图和实例对本发明做进一步说明。
实施例1分布式ETL过程运行系统的数据监视方法:
ETL即跨操作系统、跨数据源的数据抽取(Extract)、转换(Transform)和装载(Load)技术,它从分布式异构的数据源(包括数据库、应用系统、文件以及Web服务等)中抽取数据,并按照一定的规则进行转换,最终加载到目标数据源中。
1)首先建立分布式应用的监视事件模型N。在分布式ETL过程运行时,会触发产生监视事件,如“成功关闭数据源”。在分布式ETL一次运行时,可能的监视事件序列如表1所示。
表1分布式ETL过程一次执行时的监视序列
Figure BSA00000373227200091
对表1的监视序列建模,如图4所示,每一个结点表示表1中的一个监视事件。在另一次执行过程中,可能是“非正常关闭数据源失败”,而非“成功关闭数据源”。因此,完整的分布式ETL运行时的监视事件模型如图5所示,其存在若干分支。其中每个结点表示的监视事件如表2所示。在监视事件模型中,结点8,9,11,12是关键结点,“T1”,“T2”,“已抽取50%”,“共抽取1000条,耗时5秒”是实例敏感事件,其他结点对应的事件是非实例敏感事件。
表2完整的分布式ETL运行时的监视事件表
Figure BSA00000373227200101
将监视事件模型N保存在各个分布系统的服务器和监视中心中。
2)分布式系统中的各服务器按照监视事件模型N发送当前监视事件给监视中心。
在分布式ETL过程运行时,用一个序号表示一个动作,假设目前监视的是该ETL的第3次执行,则执行动作的序号是由小到大排列的。针对设计的4种发送方法,相应的发送和接收示例如下:
第一种,用同一种通讯协议,即UDP协议传输所有的监视事件的方法,事件一产生就立即发送:
●发送方
假设此时产生了监视事件“抽取数据结束,共抽取1000条,耗时5秒”,对应于监视事件模型的结点8。
使用UDP协议发送监视事件<8,true,“抽取数据结束,共抽取1000条,耗时5秒”>及目前的ETL任务执行序号3。
●接收方
假设目前接收任务的执行序号是3,当接收到监视数据后,比较两者执行序号,若相同,进行接收。
监视中心确定槽道中尚未安装事件8(对于安装情况,在后面的还原技术举例中进行说明),则将监视事件8安装进槽道中。
依次检查当前槽之前的槽,若发现存在槽尚未安装槽事件,则判定该槽所对应的监视事件已经超时,根据槽编号还原该槽事件,并进行安装。
第二种,关键事件稳定传输方法
●发送方
假设此时产生了监视数据“抽取数据结束,共抽取1000条,耗时5秒”,对应于监视事件模型的结点8。
因为监视事件8是关键事件,因此采用TCP协议进行传输。其余监视事件都用第一种的方法进行发送。
●接收方
同传输所有的监视事件的方法中的接收方法。
第三种,关键事件捎带方法
●发送方
当监视事件1产生时,因为1不是关键事件,并且1是实例敏感事件,因此将事件1的可信度写为3,装入缓存队列。
当事件2、3产生时,因为2、3不是关键事件,并且2、3是非实例敏感事件,因此丢弃。
按此方法将事件4,7的可信度写为3,装入缓存队列。丢弃监视事件2,3,5,6。
当监视事件8产生时,因为8是关键事件,因此将缓存队列的事件1,4,7依次装入监视事件8中。然后使用TCP协议发送关键事件8和执行序号3。
●接收方
监视中心确定执行序号相同,接收监视事件8。
卸载1,4,7,将其安装到槽道1,4,7的位置。还原出2,3,4,5,6,并将这些还原出的监视事件进行安装,可信度置为3。
将事件8安装到槽道中。
第四种,关键事件校验技术
●发送方
当监视事件1产生时,因为1不是关键事件,并且1是实例敏感事件,因此将事件1的复制事件可信度写为3,装入缓存队列。然后将事件1的可信度写为2,使用UDP协议发送。监视事件4和7也是实例敏感事件,同样处理。
当事件2、3产生时,因为2、3不是关键事件,并且2、3是非实例敏感事件,因此将该两事件的可信度写为3,并使用UDP协议发送。监视事件5、6不是关键事件,是非实例敏感事件,同样处理。
当监视事件8产生时,因为8是关键事件,因此将缓存队列的事件1,4,7依次装入监视事件8中,事件8的可信度写为3。然后使用TCP协议发送关键事件8。
●接收方
当接收到非关键事件1、2、3、4、5、6、7时,将非关键事件1、2、3、4、5、6、7安装到相应的槽道中,同传输所有的监视事件的方法中的接收方法。
当接收到关键事件时8时,卸载事件8携带的复制事件1,因为在事件1对应的槽道上已经安装了事件1’,则将1携带的实例敏感信息T1与1’携带的实例敏感信息比较,若不同,因为事件1的可信度为3,事件1’的可信度为2,所以更新事件1’的实例敏感信息为1对应的实例敏感信息。否则丢弃1,同时将1’的可信度修改为3。
同理卸载事件4,7,若此时事件7对应的槽上还未安装槽事件,则将事件7安装在槽7的位置上,并对槽7之前的槽进行检查和还原,被还原事件的可信度为3。
将事件8安装到槽道上对应的槽上。
在监视事件的传输过程中,可能会出现错误,需要对接收到的错误的监视数据进行还原。
例如接收方收到的监视事件3后,紧接着收到了监视6,则可以确定监视事件4,5已超时,则对其进行还原,生成对应的槽事件4’,5’。假设4’的事件序号是4,因为事件4是实例敏感事件,因此将4’的可信度置为1。同理,由于事件5是非实例敏感事件,因此将5’的可信度置为3。
假设过了一段时间又收到监视事件4,则出现了重复的事件问题。对比新收到的监视事件4和槽中已有的事件4’的可信度,如果4的可信度高于4’的可信度,则将4的实例敏感信息写入4’中。否则就丢弃4,保留4’。

Claims (11)

1.一种分布式系统运行时的监视数据传输方法,包括下列步骤: 
1)建立分布式应用的监视事件模型N,N为有向无环图,结点代表监视事件,有向边确定监视事件的顺序,初始监视状态为源点,终止监视状态为汇点,汇点和入度大于1的结点的前一结点为关键结点; 
2)分布式应用发送监视事件给监视中心,监视事件中至少包含事件序号和可信度,其中,事件序号是模型N中对应结点的序号; 
3)监视中心按照监视事件的事件序号接收监视事件;
监视中心采用下述步骤接收监视事件: 
A、将收到的监视事件构造为槽事件,槽事件至少包含事件序号和可信度; 
B、检查槽中是否有槽事件,其中,槽是从源点到汇点的一条路径上与结点相对应的位置,槽的编号与结点上监视事件的事件序号相同; 
C、槽中没有槽事件时,将槽事件插入槽中;当槽中有槽事件时,比较当前槽事件和槽中槽事件的可信度,过滤可信度低的槽事件; 
D、检查当前槽之前的槽,对尚未安装槽事件的槽,根据槽编号从模型N中还原槽事件并安装。 
2.根据权利要求1所述的监视数据传输方法,其特征在于分布式应用发送监视事件的同时还发送当次监视的分布式应用的执行序号给监视中心;监视中心确定执行序号正确后接收监视事件。 
3.根据权利要求1所述的监视数据传输方法,其特征在于所述监视事件包括关键事件、实例敏感事件和非实例敏感事件,关键事件是模型N中关键结点对应的监视事件;实例敏感事件是包含特定实例相关信息的监视事件;非实例敏感事件是不包含特定实例相关信息的监视事件。 
4.根据权利要求1所述的监视数据传输方法,其特征在于采用UDP协议发送监视事件。 
5.根据权利要求3所述的监视数据传输方法,其特征在于采用可靠传输协议发送关键事件,采用UDP协议发送非关键事件。 
6.根据权利要求3所述的监视数据传输方法,其特征在于采用下述方法发送监视事件: 
A、当待发送的监视事件是实例敏感事件时,将该事件装入缓存中; 
B、当待发送事件是非实例敏感事件时,不发送该事件; 
C、当待发送事件是关键事件时,将缓存中的实例敏感事件依次装入关键事件后发送。
7.根据权利要求3所述的监视数据传输方法,其特征在于采用下述方法发送监视事件: 
A、当待发送事件是非实例敏感事件时,将该监视事件的可信度设为3并发送; 
B、当待发送事件是实例敏感事件时,复制该事件,将复制事件的可信度设置为3,装入缓存中; 
C、将该事件的可信度设为2并发送; 
D、当待发送事件是关键事件时,将缓存中的复制事件依次装入关键事件后进行发送。 
8.根据权利要求6所述的监视数据传输方法,其特征在于监视中心采用下述步骤接收监视事件: 
A、依次卸载关键事件携带的实例敏感事件,监视中心依次接收实例敏感事件; 
B、监视中心接收关键事件。 
9.根据权利要求7所述的监视数据传输方法,其特征在于监视中心采用下述步骤接收监视事件: 
A、依次卸载关键事件携带的实例敏感事件的复制事件,监视中心接收复制事件: 
a)检查复制事件对应的槽中是否安装了槽事件,若已经安装槽事件,对比复制事件与槽事件是否相同,若不相同且复制事件的可信度大于槽事件的可信度,用复制事件更新槽事件,否则将槽事件的可信度设为3; 
b)若复制事件对应的槽尚未安装槽事件,则将复制事件安装到槽中; 
c)对槽道上该槽之前的各个槽进行检查,还原并安装未安装的槽事件; 
B、监视中心接收关键事件。 
10.根据权利要求3-9任一项所述的监视数据传输方法,其特征在于所述还原槽事件的方法为: 
根据槽编号,从监视模型N中提取对应事件序号的监视事件,生成槽事件A′并安装在槽中,如果监视事件为非实例敏感事件,槽事件A′的可信度设为3;如果监视事件为实例敏感事件,槽事件A′的可信度设为1。 
11.根据权利要求5所述的监视数据传输方法,其特征在于可靠传输协议为基于UDP的请求-应答协议或TCP协议。 
CN 201010573257 2010-11-30 2010-11-30 一种分布式系统运行时的监视数据传输方法 Active CN102014162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010573257 CN102014162B (zh) 2010-11-30 2010-11-30 一种分布式系统运行时的监视数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010573257 CN102014162B (zh) 2010-11-30 2010-11-30 一种分布式系统运行时的监视数据传输方法

Publications (2)

Publication Number Publication Date
CN102014162A CN102014162A (zh) 2011-04-13
CN102014162B true CN102014162B (zh) 2013-06-05

Family

ID=43844170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010573257 Active CN102014162B (zh) 2010-11-30 2010-11-30 一种分布式系统运行时的监视数据传输方法

Country Status (1)

Country Link
CN (1) CN102014162B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970184B (zh) * 2012-11-26 2015-07-22 北京奇虎科技有限公司 网络应用的运行状态监控方法和应用服务器
CN105282247B (zh) * 2015-10-27 2018-10-26 中国人民解放军军械工程学院 基于分布式雷达告警接收机仿真系统的信号传输方法
CN105721252B (zh) * 2016-03-24 2020-09-25 腾讯科技(深圳)有限公司 数据包乱序度的测量方法和系统
CN109426600B (zh) * 2017-12-21 2022-04-22 中国平安人寿保险股份有限公司 数据采集处理方法、装置、设备及可读存储介质
CN113572797B (zh) * 2020-04-29 2024-05-31 阿里巴巴集团控股有限公司 数据处理方法、装置、系统及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925478A (zh) * 2005-08-31 2007-03-07 明基电通股份有限公司 事件管理系统及方法以及计算机可读取储存介质
CN101060679A (zh) * 2007-06-06 2007-10-24 中兴通讯股份有限公司 事件插入方法
CN101388039A (zh) * 2008-11-11 2009-03-18 深圳市金蝶中间件有限公司 一种响应消息的执行方法和装置
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101883098A (zh) * 2010-06-18 2010-11-10 大连海事大学 Rfid设备网络环境下分布式复杂事件检测的系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925478A (zh) * 2005-08-31 2007-03-07 明基电通股份有限公司 事件管理系统及方法以及计算机可读取储存介质
CN101060679A (zh) * 2007-06-06 2007-10-24 中兴通讯股份有限公司 事件插入方法
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101388039A (zh) * 2008-11-11 2009-03-18 深圳市金蝶中间件有限公司 一种响应消息的执行方法和装置
CN101883098A (zh) * 2010-06-18 2010-11-10 大连海事大学 Rfid设备网络环境下分布式复杂事件检测的系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
分布式计算中可靠的数据放置方法;汤小春等;《计算机工程》;20081205;第34卷(第23期);382-386 *
基于排队论时间预测的网格工作流调度算法;田国忠等;《石河子大学学报(自然科学版)》;20080615;第26卷(第3期);76-78 *
汤小春等.分布式计算中可靠的数据放置方法.《计算机工程》.2008,第34卷(第23期),76-78.
田国忠等.基于排队论时间预测的网格工作流调度算法.《石河子大学学报(自然科学版)》.2008,第26卷(第3期),382-386.

Also Published As

Publication number Publication date
CN102014162A (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
CN102014162B (zh) 一种分布式系统运行时的监视数据传输方法
CA2835446C (en) Data analysis system
KR101331935B1 (ko) 추적점 기반의 고장 진단/복구 시스템 및 그 방법
CN107302476B (zh) 一种测试异步交互系统的自动化测试方法与系统
CN102609281A (zh) 分布式软件补丁更新方法及系统
CN105589961A (zh) 一种数据库实时同步系统数据一致性的检测方法及系统
US20180276321A1 (en) Method and apparatus for testing design of satellite wiring harness and signal processing units
US9009533B2 (en) Home/building fault analysis system using resource connection map log and method thereof
CN114422386B (zh) 一种微服务网关的监测方法及装置
Wang Maximum and minimum consistent global checkpoints and their applications
Rostamzadeh et al. DACAPO: A distributed computer architecture for safety-critical control applications
Ma et al. BOND: Exploring hidden bottleneck nodes in large-scale wireless sensor networks
Lee et al. Managing fault tolerance information in multi-agents based distributed systems
CN110677316A (zh) 一种分布式存储服务器网卡检测方法和系统
KR20240050688A (ko) 배전계통운영 시스템을 위한 미러링 통신패킷 기반 검증 시스템 및 미러링 통신패킷 처리 방법
CN114257646B (zh) 遥测数据处理方法、装置、设备及存储介质
CN105335145A (zh) 操作结果处理方法、装置及系统
CN109302322B (zh) 一种提高核安全级网络测试准确性的测试系统及方法
CN113342650A (zh) 分布式系统的混沌工程方法及装置
CN108959098B (zh) 一种针对分布式系统程序死锁缺陷的测试系统及方法
CN116743579B (zh) 一种舞台灯光信号传输系统的备份方法
Grigoropoulos et al. Active Replication for Centrally Coordinated Teams of Autonomous Vehicles
CN102831027A (zh) 一种基于代理的面向服务软件系统的容错方法
CN112241017B (zh) 一种按运行模式和场景进行导航星座星间链路管控的方法
Álvarez et al. Using NETCONF for Automatic Fault Diagnosis in Time-Sensitive Networking

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
TR01 Transfer of patent right

Effective date of registration: 20190918

Address after: 250000 Shanghai International Community A5-32-105, Zhongzhong District, Jinan City, Shandong Province

Patentee after: Shengnang Taiwei Energy Co.,Ltd.

Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Patentee before: Institute of Software, Chinese Academy of Sciences

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 250000 a5-32-105, Zhonghai international community, Shizhong District, Jinan City, Shandong Province

Patentee after: Taiwei Energy Group Co.,Ltd.

Address before: 250000 a5-32-105, Zhonghai international community, Shizhong District, Jinan City, Shandong Province

Patentee before: Shengnang Taiwei Energy Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20210325

Address after: 250000 a5-32-105, Zhonghai international community, Shizhong District, Jinan City, Shandong Province

Patentee after: Taiwei Energy Group Co.,Ltd.

Patentee after: Yu Ximing

Address before: 250000 a5-32-105, Zhonghai international community, Shizhong District, Jinan City, Shandong Province

Patentee before: Taiwei Energy Group Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220421

Address after: 250000 floors 12-13, block B, No. 5760, 2nd Ring South Road, Shizhong District, Jinan City, Shandong Province

Patentee after: Taiwei Energy Group Co.,Ltd.

Address before: 250000 a5-32-105, Zhonghai international community, Shizhong District, Jinan City, Shandong Province

Patentee before: Taiwei Energy Group Co.,Ltd.

Patentee before: Yu Ximing

TR01 Transfer of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A monitoring data transmission method for distributed system runtime

Granted publication date: 20130605

Pledgee: Postal Savings Bank of China Limited Jinan Branch

Pledgor: Taiwei Energy Group Co.,Ltd.

Registration number: Y2024980009458

PE01 Entry into force of the registration of the contract for pledge of patent right