CN104092557A - 数据收集方法、服务器、终端及系统 - Google Patents
数据收集方法、服务器、终端及系统 Download PDFInfo
- Publication number
- CN104092557A CN104092557A CN201410022930.7A CN201410022930A CN104092557A CN 104092557 A CN104092557 A CN 104092557A CN 201410022930 A CN201410022930 A CN 201410022930A CN 104092557 A CN104092557 A CN 104092557A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- abnormal
- collector terminal
- terminal
- 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
Landscapes
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种数据收集方法、服务器、终端及系统。该数据收集方法包括步骤:数据收集服务器根据终端的静态异常信息以及终端的执行环境信息,生成异常数据信息;数据收集服务器根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端;数据收集服务器发送数据收集指令至数据收集终端;数据收集终端根据数据收集指令,收集与异常数据信息关联的动态信息;以及如数据收集终端产生与异常数据信息关联的异常,则数据收集终端将与异常数据信息关联的动态信息发送至数据收集服务器。本发明还提供一种数据收集服务器、终端及系统。本发明通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种数据收集方法、服务器、终端及系统。
背景技术
java虚拟机运行时,内存数据区中有一块区域叫做栈(stack),用来存储函数调用时的参数信息、函数内局部变量等,每一个函数都是一个独立的栈帧(stack frame)。函数执行前,函数的栈帧会被压入栈,函数执行完毕后,函数的栈帧会从栈中退出。
java函数的执行完毕有两种方式,包括正常的返回和抛出异常后返回。对于抛出异常后返回,java虚拟机的处理流程是,判断异常所在的函数是否有该异常的处理代码,如果有,则跳转执行该处理代码,执行完毕后返回。如果异常所在的函数没有该异常的处理代码,那么java虚拟机首先将异常所在的函数的栈帧从栈中退出,然后在该异常所在的函数的调用者处,即父函数处,重新抛出该异常,查看父函数处是否有该异常的处理代码,如此循环直到该异常被处理或程序异常终止。
当由于函数的异常导致程序终止时,用户可通过java虚拟机输出异常堆栈信息,即该函数的函数调用关系。但是上述数据信息均为基本的静态信息,通过这些静态信息无法准确了解异常发生时的上下文信息,从而无法对异常进行准确定位。
发明内容
本发明实施例提供一种数据收集方法,可解决现有的数据收集方法无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
本发明实施例还提供一种数据收集系统,可解决现有的数据收集系统无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
本发明实施例还提供一种数据收集服务器,可解决现有的数据收集系统无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
本发明实施例还提供一种数据收集终端,可解决现有的数据收集系统无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
为解决上述问题,本发明提供的技术方案如下:
提供一种数据收集方法,其包括步骤:
数据收集服务器根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
所述数据收集服务器根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
所述数据收集服务器发送数据收集指令至所述数据收集终端;
所述数据收集终端根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
如所述数据收集终端产生与所述异常数据信息关联的异常,则所述数据收集终端将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
还提供一种数据收集方法,其包括步骤:
根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;以及
发送数据收集指令至所述数据收集终端,并接收与所述异常数据信息关联的所述数据收集终端的动态信息。
还提供一种数据收集方法,其包括步骤:
接收数据收集服务器的数据收集指令,其中所述数据收集指令中包括异常数据信息;
根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
还提供一种数据收集系统,其包括至少一个数据收集服务器以及至少一个数据收集终端;
所述数据收集服务器包括:
异常数据信息生成模块,用于根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
数据收集终端匹配模块,用于根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
激活模块,用于发送数据收集指令至所述数据收集终端;以及
动态信息接收模块,用于接收与所述异常数据信息关联的所述数据收集终端的动态信息;
所述数据收集终端包括:
指令接收模块,用于接收所述数据收集指令,其中所述数据收集指令中包括异常数据信息;
收集模块,用于根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
反馈模块,用于如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
还提供一种数据收集服务器,其包括:
异常数据信息生成模块,用于根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
数据收集终端匹配模块,用于根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
激活模块,用于发送数据收集指令至所述数据收集终端;以及
动态信息接收模块,用于接收与所述异常数据信息关联的所述数据收集终端的动态信息。
还提供一种数据收集终端,其包括:
指令接收模块,用于接收数据收集服务器的数据收集指令,其中所述数据收集指令中包括异常数据信息;
收集模块,用于根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
反馈模块,用于如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
相较于现有技术的数据收集方法及数据收集系统,本发明的数据收集方法、服务器、终端及系统通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息;解决了现有的数据收集方法及数据收集系统无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
附图说明
图1为本发明的数据收集方法、服务器、终端及系统所在的电子设备的工作环境结构示意图;
图2为本发明的数据收集系统的第一优选实施例的结构示意图;
图3为本发明的数据收集方法的第一优选实施例的流程图;
图4为本发明的数据收集系统的第二优选实施例的结构示意图;
图5为本发明的数据收集方法的第二优选实施例的流程图;
图6为本发明的数据收集服务器的第一优选实施例的结构示意图;
图7为本发明的数据收集方法的第三优选实施例的流程图;
图8为本发明的数据收集服务器的第二优选实施例的结构示意图;
图9为本发明的数据收集方法的第四优选实施例的流程图;
图10为本发明的数据收集终端的第一优选实施例的结构示意图;
图11为本发明的数据收集方法的第五优选实施例的流程图;
图12为本发明的数据收集终端的第二优选实施例的结构示意图;
图13为本发明的数据收集方法的第六优选实施例的流程图;
图14为本发明的数据收集系统的一具体实施例的架构图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
而且,要求保护的主题可以被实现为使用标准编程和/或工程技术产生软件、固件、硬件或其任意组合以控制计算机实现所公开的主题的方法、装置或制造品。本文所使用的术语“制造品”旨在包含可从任意计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到可以对该配置进行许多修改,而不脱离要求保护的主题的范围或精神。
图1和随后的讨论提供了对实现本发明所述的数据收集服务器、终端及系统所在的电子设备的工作环境的简短、概括的描述。图1的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1112包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图1图示了包括本发明的数据收集服务器、终端及系统的一个或多个实施例的电子设备1112的实例。在一种配置中,电子设备1112包括至少一个处理单元1116和存储器1118。根据电子设备的确切配置和类型,存储器1118可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图1中由虚线1114图示。
在其他实施例中,电子设备1112可以包括附加特征和/或功能。例如,设备1112还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图1中由存储装置1120图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1120中。存储装置1120还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1118中由例如处理单元1116执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1118和存储装置1120是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1112访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1112的一部分。
电子设备1112还可以包括允许电子设备1112与其他设备通信的通信连接1126。通信连接1126可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1112连接到其他电子设备的其他接口。通信连接1126可以包括有线连接或无线连接。通信连接1126可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1112可以包括输入设备1124,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1112中也可以包括输出设备1122,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1124和输出设备1122可以经由有线连接、无线连接或其任意组合连接到电子设备1112。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1112的输入设备1124或输出设备1122。
电子设备1112的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1112的组件可以通过网络互连。例如,存储器1118可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1128访问的电子设备1130可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1112可以访问电子设备1130并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1112可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1112处执行并且一些指令可以在电子设备1130处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
请参照图2,图2为本发明的数据收集系统的第一优选实施例的结构示意图。本优选实施例的数据收集系统20的各部分可设置在上述电子设备1112中。该数据收集系统20包括至少一个数据收集服务器21以及至少一个数据收集终端22。一般数据收集终端22的数量大于数据收集服务器21的数量。在本优选实施例中以一个数据收集服务器21与多个数据收集终端22为例。
其中数据收集服务器21包括异常数据信息生成模块211、数据收集终端匹配模块212、激活模块213以及动态信息接收模块214。异常数据信息生成模块211用于根据终端215的静态异常信息以及终端的执行环境信息,生成异常数据信息;数据收集终端匹配模块212用于根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端22;激活模块213用于发送数据收集指令至数据收集终端22;动态信息接收模块214用于接收与异常数据信息关联的数据收集终端22的动态信息。
其中数据收集终端22包括指令接收模块221、收集模块222以及反馈模块223。指令接收模块221用于接收数据收集指令,其中数据收集指令中包括异常数据信息;收集模块222用于根据数据收集指令,收集与异常数据信息关联的动态信息;反馈模块223用于如产生与异常数据信息关联的异常,则将与异常数据信息关联的动态信息发送至数据收集服务器21。
在本优选实施例中,静态异常信息包括函数异常堆栈信息,该函数异常堆栈信息为函数出现异常时反馈的静态信息,如安卓手机终端上QQ音乐应用出现异常,则可能会获取以下异常堆栈信息:
如后续产生相同的异常,则该安卓手机终端的系统会反馈相同的异常堆栈信息。
执行环境信息包括终端215的应用版本信息、终端215的操作系统信息以及终端215的硬件信息等。如终端215的QQ音乐的应用版本为3.7.0.6,安卓手机终端的硬件信息为HTC Sensation XE with Beats Audio Z715e,安卓手机终端的操作系统信息为4.0.3版本的安卓系统。
以上的函数异常堆栈信息以及执行环境信息都是静态信息,不会随着函数异常发生环境的变化而变化,因此通过上述静态信息无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位。
数据收集终端22的动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息及线程信息等。函数参数值信息包括函数的入口参数信息,如:
arg[0](String)={"code":-507,"maintitle":"QQ音乐专属流量包","msg":"uuid empty.","products":null,"show":1,"subcode":0,"subtitle":"超省特惠,从此放心听歌吧!"}
函数类对象信息为函数所在类对象信息,这个信息输出内容依赖于具体的实现,如每个函数所在类重载JAVA的Obejct基类的toString()方法,输出该类的核心成员数据的信息可为:
RequestMsg=”{“reqid”:”1”}”…//因为和上面的函数属于同一个类,故输出信息相同
函数的进程信息及线程信息可为:
上述数据收集终端22的动态信息会随着函数异常发生环境的变化而变化,即同样的函数异常堆栈信息以及执行环境信息,可能会使用不同的函数的入口参数信息、函数类对象信息或函数的进程信息及线程信息。因此收集这些动态信息后,能够更好的理解异常出现的上下文,从而更好的定位问题。
本优选实施例的数据收集系统20使用时,首先数据收集服务器21的异常数据信息生成模块211会接收发生异常的终端215的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。由于相同异常的静态异常信息相同,执行环境信息相近,因此异常数据信息生成模块211还会判断该异常数据信息是否为新增的异常数据信息,避免对相同异常信息的重复发布。
然后如异常数据信息生成模块211判断该异常数据信息为新增的异常数据信息,则数据收集服务器21的数据收集终端匹配模块212根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端22。由于执行环境信息相同或相近的数据收集终端容易发生相同函数异常,因此根据数据收集终端22的应用版本信息、操作系统信息以及硬件信息找到多个匹配的数据收集终端22。
如数据收集终端匹配模块212找不到相应的数据收集终端22或找到的数据收集终端22的数量较少,则可以扩大匹配的条件,如仅以数据收集终端22的应用版本信息进行匹配,即安装了同一版本的应用的终端均为数据收集终端22。当然这里为了保证数据收集终端22和数据收集服务器21的正常工作,需要对匹配的数据收集终端22的数量进行限定,即匹配的数据收集终端22的数量应小于设定值,如匹配的数据收集终端22的数量等于设定值即停止匹配数据收集终端22。
随后数据收集服务器21的激活模块213将数据收集指令发送至数据收集终端匹配模块212匹配的数据收集终端22,以使得数据收集终端22收集与异常数据信息关联的数据收集终端22的动态信息(异常函数的参数值信息、异常函数的函数类对象信息以及异常函数的进程信息及线程信息)。
数据收集终端22的指令接收模块221接收数据收集服务器21的数据收集指令,该数据收集指令包括异常数据信息,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端22的静态信息,相同函数异常的函数异常堆栈信息相同,因此数据收集终端22的收集模块222根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。
如数据收集终端22发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则数据收集终端22的反馈模块223将上述收集的与异常数据信息关联的数据收集终端22的动态信息发送至数据收集服务器21的动态信息接收模块214。
数据收集服务器21的动态信息接收模块214接收上述动态信息,用户可根据上述动态信息对函数异常进行准确定位。
在本优选实施例中,异常数据信息生成模块211接收静态异常信息以及执行环境信息的终端215可以是数据收集终端22之一,也可以是其他发生异常的终端。
本优选实施例的数据收集系统通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息,可准确的了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图2和图3,图3为本发明的数据收集方法的第一优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集系统的第一优选实施例进行实施,该数据收集方法包括:
步骤S301,数据收集服务器根据终端的静态异常信息以及终端的执行环境信息,生成异常数据信息;
步骤S302,数据收集服务器根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端;
步骤S303,数据收集服务器发送数据收集指令至数据收集终端;
步骤S304,数据收集终端根据数据收集指令,收集与异常数据信息关联的动态信息;
步骤S305,如产生与异常数据信息关联的异常,则数据收集终端将与异常数据信息关联的动态信息发送至数据收集服务器;
本优选实施例的数据收集方法结束于步骤S305。
下面详细说明本优选实施例的数据收集方法的各步骤的具体流程。
在步骤S301中,数据收集服务器21的异常数据信息生成模块211会接收发生异常的终端215的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。由于相同的异常的静态异常信息相同,执行环境信息相近,因此异常数据信息生成模块211还会判断该异常数据信息是否为新增的异常数据信息,避免对相同异常信息的重复发布。随后转到步骤S302。
在步骤S302中,异常数据信息生成模块211判断该异常数据信息为新增的异常数据信息,则数据收集服务器21的数据收集终端匹配模块212根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端22。由于执行环境信息相同或相近的数据收集终端容易发生相同函数异常,因此根据数据收集终端的应用版本信息、操作系统信息以及硬件信息找到多个匹配的数据收集终端22。
如数据收集终端匹配模块212找不到相应的数据收集终端22或找到的数据收集终端22的数量较少,则可以扩大匹配的条件,如仅以数据收集终端22的应用版本信息进行匹配,即安装了同一版本的应用的终端均为数据收集终端22。当然这里为了保证数据收集终端22和数据收集服务器21的正常工作,需要对匹配的数据收集终端22的数量进行限定,即匹配的数据收集终端22的数量应小于设定值,如匹配的数据收集终端22的数量等于设定值即停止匹配数据收集终端22。随后转到步骤S303。
在步骤S303中,数据收集服务器21的激活模块213将数据收集指令发送至数据收集终端212匹配模块匹配的数据收集终端22,以使得数据收集终端22收集与异常数据信息关联的数据收集终端22的动态信息(异常函数的参数值信息、异常函数的函数类对象信息以及异常函数的进程信息及线程信息)。随后转到步骤S304。
在步骤S304中,数据收集终端22的指令接收模块221接收数据收集服务器21的数据收集指令,该数据收集指令包括异常数据信息,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端22的静态信息,相同函数异常的函数异常堆栈信息相同,因此数据收集终端22的收集模块222根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。随后转到步骤S305。
在步骤S305中,如数据收集终端22发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则数据收集终端22的反馈模块223将上述收集的与异常数据信息关联的数据收集终端22的动态信息发送至数据收集服务器21。
数据收集服务器21的动态信息接收模块214接收上述动态信息,用户可根据上述动态信息对函数异常进行准确定位。
在本优选实施例中,异常数据信息生成模块211接收静态异常信息以及执行环境信息的终端215可以是数据收集终端22之一,也可以是其他发生异常的终端。
本优选实施例的数据收集方法通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息,可准确的了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图4,图4为本发明的数据收集系统的第二优选实施例的结构示意图。本优选实施例的数据收集系统40的各部分可设置在上述电子设备1112中。该数据收集系统40包括至少一个数据收集服务器41以及至少一个数据收集终端42。在本优选实施例中以一个数据收集服务器41与多个数据收集终端42为例。
其中数据收集服务器41包括异常数据信息生成模块411、数据收集终端匹配模块412、激活模块413、动态信息接收模块414以及反激活模块416。本优选实施例的数据收集服务器41在第一优选实施例的基础上还包括反激活模块416,该反激活模块416用于如接收到与异常数据信息关联的数据收集终端42的动态信息,则发送数据收集取消指令至数据收集终端42。
其中数据收集终端42包括指令接收模块421、收集模块422、反馈模块423以及删除模块424。本优选实施例的数据收集终端42在第一优选实施例的基础上还包括删除模块424,该删除模块424用于如为产生与异常数据信息关联的异常,则将与异常数据信息关联的动态信息删除。
本优选实施例的数据收集系统40使用时,首先数据收集服务器41的异常数据信息生成模块411会接收发生异常的终端415的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。
然后如异常数据信息生成模块411判断该异常数据信息为新增的异常数据信息,则数据收集服务器41的数据收集终端匹配模块412根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端42。
随后数据收集服务器41的激活模块413将数据收集指令发送至数据收集终端匹配模块412匹配的数据收集终端42,以使得数据收集终端42收集与异常数据信息关联的数据收集终端42的动态信息。
数据收集终端42的指令接收模块421接收数据收集服务器41的数据收集指令,该数据收集指令包括异常数据信息,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端42的静态信息,相同函数异常的函数异常堆栈信息相同,因此数据收集终端42的收集模块422根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。
如数据收集终端42发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端42的反馈模块423将上述收集的与异常数据信息关联的数据收集终端42的动态信息发送至数据搜集服务器41的动态信息接收模块414。
如数据收集终端42未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端42的删除模块424将上述收集的与异常数据信息关联的数据收集终端42的动态信息删除,以节省数据收集终端42的存储空间。
优选的,如数据收集服务器41已经在数据收集终端42上收集到相应的动态信息,则数据收集服务器41的反激活模块416会发送数据收集取消指令至相应的数据收集终端42。如数据收集终端42的指令接收模块421接收到数据收集服务器41的反激活模块416发出的数据收集取消指令,则数据收集终端42的收集模块422根据该数据收集取消指令停止收集与异常数据信息关联的动态信息,这样可进一步节省数据收集服务器41以及数据收集终端42的系统资源。
本优选实施例的数据收集系统在第一优选实施例的基础上设置有删除模块以及反激活模块,可进一步节省数据收集终端的存储空间,以及数据收集服务器以及数据收集终端的系统资源。
请参照图4和图5,图5为本发明的数据收集方法的第二优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集系统的第二优选实施例进行实施,该数据收集方法包括:
步骤S501,数据收集服务器根据终端的静态异常信息以及终端的执行环境信息,生成异常数据信息;
步骤S502,数据收集服务器根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端;
步骤S503,数据收集服务器发送数据收集指令至数据收集终端;
步骤S504,数据收集终端根据数据收集指令,收集与异常数据信息关联的动态信息;
步骤S505,判断数据收集终端是否产生与异常数据信息关联的异常;如未产生与异常数据信息关联的异常,则转到步骤S506;如产生与异常数据信息关联的异常,则转到步骤S507;
步骤S506,数据收集终端将与异常数据信息关联的动态信息删除;
步骤S507,数据收集终端将与异常数据信息关联的动态信息发送至数据收集服务器;
步骤S508,数据收集服务器发送数据收集取消指令至数据收集终端;
步骤S509,数据收集终端根据数据收集取消指令停止收集与异常数据信息关联的动态信息;
本优选实施例的数据收集方法结束于步骤S509。
下面详细说明本优选实施例的数据收集方法的各步骤的具体流程。
在步骤S501中,数据收集服务器41的异常数据信息生成模块411会接收发生异常的终端415的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息;随后转到步骤S502。
在步骤S502中,如异常数据信息生成模块411判断该异常数据信息为新增的异常数据信息,则数据收集服务器41的数据收集终端匹配模块412根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端12;随后转到步骤S503。
在步骤S503中,数据收集服务器41的激活模块413将数据收集指令发送至数据收集终端匹配模块412匹配的数据收集终端42,以使得数据收集终端42收集与异常数据信息关联的数据收集终端42的动态信息;随后转到步骤S504。
在步骤S504中,数据收集终端42的指令接收模块421接收数据收集服务器41的数据收集指令,该数据收集指令包括异常数据信息,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端42的静态信息,相同函数异常的函数异常堆栈信息相同,因此数据收集终端42的收集模块422根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。随后转到步骤S505。
在步骤S505中,判断数据收集终端42是否产生与异常数据信息关联的异常;如未产生与异常数据信息关联的异常,则转到步骤S506;如产生与异常数据信息关联的异常,则转到步骤S507。
在步骤S506中,如数据收集终端42未产生与异常数据信息关联的异常,即数据收集终端42未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端42的删除模块424将上述收集的与异常数据信息关联的数据收集终端42的动态信息删除,以节省数据收集终端42的存储空间,并返回步骤S504。
在步骤S507中,如数据收集终端42产生与异常数据信息关联的异常,即数据收集终端42发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端42的反馈模块423将上述收集的与异常数据信息关联的数据收集终端42的动态信息发送至数据搜集服务器41的动态信息接收模块414。随后转到步骤S508。
在步骤S508中,如数据收集服务器41已经在数据收集终端42上收集到相应的动态信息,则数据收集服务器41的反激活模块416会发送数据收集取消指令至相应的数据收集终端42。随后转到步骤S509。
在步骤S509中,数据收集终端42的指令接收模块421接收到数据收集服务器41的反激活模块416发出的数据收集取消指令,则数据收集终端42的收集模块422根据该数据收集取消指令停止收集与异常数据信息关联的动态信息,这样可进一步节省数据收集服务器41以及数据收集终端42的系统资源。
本优选实施例的数据收集方法在第一优选实施例的基础上设置有删除模块以及反激活模块,可进一步节省数据收集终端的存储空间,以及数据收集服务器以及数据收集终端的系统资源。
本发明还提供一种数据收集服务器。请参照图6,图6为本发明的数据收集服务器的第一优选实施例的结构示意图。本优选实施例的数据收集服务器61可设置在上述电子设备1112中。该数据收集服务器61包括异常数据信息生成模块611、数据收集终端匹配模块612、激活模块613以及动态信息接收模块614。其中异常数据信息生成模块611用于根据终端615的静态异常信息以及终端的执行环境信息,生成异常数据信息;数据收集终端匹配模块612用于根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端62;激活模块613用于发送数据收集指令至数据收集终端62;动态信息接收模块614用于接收与异常数据信息关联的数据收集终端62的动态信息。
本优选实施例的数据收集服务器61使用时,首先异常数据信息生成模块611会接收发生异常的终端615的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。由于相同的异常的静态异常信息相同,执行环境信息相近,因此异常数据信息生成模块611还会判断该异常数据信息是否为新增的异常数据信息,避免对相同异常信息的重复发布。
然后如异常数据信息生成模块611判断该异常数据信息为新增的异常数据信息,则数据收集终端匹配模块612根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端62。由于执行环境信息相同或相近的数据收集终端容易发生相同函数异常,因此根据数据收集终端62的应用版本信息、操作系统信息以及硬件信息找到多个匹配的数据收集终端62。
如数据收集终端匹配模块612找不到相应的数据收集终端62或找到的数据收集终端62的数量较少,则可以扩大匹配的条件,如仅以数据收集终端62的应用版本信息进行匹配,即安装了同一版本的应用的终端均为数据收集终端62。当然这里为了保证数据收集终端62和数据收集服务器61的正常工作,需要对匹配的数据收集终端62的数量进行限定,即匹配的数据收集终端62的数量应小于设定值,如匹配的数据收集终端62的数量等于设定值即停止匹配数据收集终端62。
随后激活模块613将数据收集指令发送至数据收集终端匹配模块612匹配的数据收集终端62,以使得数据收集终端62收集与异常数据信息关联的数据收集终端62的动态信息(异常函数的参数值信息、异常函数的函数类对象信息以及异常函数的进程信息及线程信息)。
如数据收集终端62发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端62将上述收集的与异常数据信息关联的数据收集终端62的动态信息发送至数据搜集服务器61的动态信息接收模块614。
如数据收集终端62未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端62将上述收集的与异常数据信息关联的数据收集终端62的动态信息删除,以节省数据收集终端62的存储空间。
最后用户可根据动态信息接收模块614接收的与异常数据信息关联的数据收集终端62的动态信息对函数异常进行准确定位。
本优选实施例的数据收集服务器通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息,可准确了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图6和图7,图7为本发明的数据收集方法的第三优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集服务器的第一优选实施例进行实施,该数据收集方法包括:
步骤S701,根据终端的静态异常信息以及终端的执行环境信息,生成异常数据信息;
步骤S702,根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端;
步骤S703,发送数据收集指令至数据收集终端,并接收与异常数据信息关联的数据收集终端的动态信息;
本优选实施例的数据收集方法结束于步骤S703。
下面详细说明本优选实施例的数据收集方法的各步骤的具体流程。
在步骤S701中,异常数据信息生成模块611会接收发生异常的终端615的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。由于相同的异常的静态异常信息相同,执行环境信息相近,因此异常数据信息生成模块611还会判断该异常数据信息是否为新增的异常数据信息,避免对相同异常信息的重复发布。随后转到步骤S702。
在步骤S702中,如异常数据信息生成模块611判断该异常数据信息为新增的异常数据信息,则数据收集终端匹配模块612根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端62。由于执行环境信息相同或相近的数据收集终端容易发生相同函数异常,因此根据数据收集终端62的应用版本信息、操作系统信息以及硬件信息找到多个匹配的数据收集终端62。
如数据收集终端匹配模块612找不到相应的数据收集终端62或找到的数据收集终端62的数量较少,则可以扩大匹配的条件,如仅以数据收集终端62的应用版本信息进行匹配,即安装了同一版本的应用的终端均为数据收集终端62。当然这里为了保证数据收集终端62和数据收集服务器61的正常工作,需要对匹配的数据收集终端62的数量进行限定,即匹配的数据收集终端62的数量应小于设定值,如匹配的数据收集终端62的数量等于设定值即停止匹配数据收集终端62。随后转到步骤S703。
在步骤S703中,激活模块613将数据收集指令发送至数据收集终端匹配模块612匹配的数据收集终端62,以使得数据收集终端62收集与异常数据信息关联的数据收集终端62的动态信息(异常函数的参数值信息、异常函数的函数类对象信息以及异常函数的进程信息及线程信息)。
如数据收集终端62发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端62将上述收集的与异常数据信息关联的数据收集终端62的动态信息发送至数据搜集服务器61的动态信息接收模块614。
如数据收集终端62未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端62将上述收集的与异常数据信息关联的数据收集终端62的动态信息删除,以节省数据收集终端62的存储空间。
最后用户可根据动态信息接收模块614接收的与异常数据信息关联的数据收集终端62的动态信息对函数异常进行准确定位。
本优选实施例的数据收集服务方法通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息,可准确了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图8,图8为本发明的数据收集服务器的第二优选实施例的结构示意图。本优选实施例的数据收集服务器81可设置在上述电子设备1112中,该数据收集服务器81包括异常数据信息生成模块811、数据收集终端匹配模块812、激活模块813、动态信息接收模块814以及反激活模块816。本优选实施例的数据收集服务器81在第一优选实施例的基础上还包括反激活模块816,该反激活模块816用于如接收到与异常数据信息关联的数据收集终端82的动态信息,则发送数据收集取消指令至数据收集终端82。
本优选实施例的数据收集服务器81使用时,首先异常数据信息生成模块811会接收发生异常的终端815的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。
然后如异常数据信息生成模块811判断该异常数据信息为新增的异常数据信息,则数据收集终端匹配模块812根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端82。
随后激活模块813将数据收集指令发送至数据收集终端匹配模块812匹配的数据收集终端82,以使得数据收集终端82收集与异常数据信息关联的数据收集终端82的动态信息。
如数据收集终端82发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端82将上述收集的与异常数据信息关联的数据收集终端82的动态信息发送至数据搜集服务器81的动态信息接收模块814。
最后用户可根据动态信息接收模块814接收的与异常数据信息关联的数据收集终端82的动态信息对函数异常进行准确定位。由于已经在该数据收集终端82上收集到相应的动态信息,因此反激活模块816会发送数据收集取消指令至该数据收集终端82,使该数据收集终端82停止收集与该异常数据信息关联的数据收集终端82的动态信息,以进一步节省数据收集服务器81以及数据收集终端82的系统资源。
本优选实施例的数据收集服务器在第一优选实施例的基础上设置反激活模块使数据收集终端停止收集动态信息,以进一步节省数据收集服务器以及数据收集终端的系统资源。
请参照图8和图9,图9为本发明的数据收集方法的第四优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集服务器的第二优选实施例进行实施,该数据收集方法包括:
步骤S901,根据终端的静态异常信息以及终端的执行环境信息,生成异常数据信息;
步骤S902,根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端;
步骤S903,发送数据收集指令至数据收集终端,并接收与异常数据信息关联的数据收集终端的动态信息;
步骤S904,如接收到与异常数据信息关联的数据收集终端的动态信息,则发送数据收集取消指令至数据收集终端;
本优选实施例的数据收集方法结束于步骤S904。
下面详细说明本优选实施例的数据收集方法的各步骤的具体流程。
在步骤S901中,异常数据信息生成模块811会接收发生异常的终端815的静态异常信息以及执行环境信息,并根据上述静态异常信息以及执行环境信息生成异常数据信息。随后转到步骤S902。
在步骤S902中,如异常数据信息生成模块811判断该异常数据信息为新增的异常数据信息,则数据收集终端匹配模块812根据异常数据信息的执行环境信息,匹配至少一个与异常数据信息关联的数据收集终端82。随后转到步骤S903。
在步骤S903中,激活模块813将数据收集指令发送至数据收集终端匹配模块812匹配的数据收集终端82,以使得数据收集终端82收集与异常数据信息关联的数据收集终端82的动态信息。
如数据收集终端82发生了函数异常,且该函数异常与异常数据信息中的静态异常信息相同,则数据收集终端82将上述收集的与异常数据信息关联的数据收集终端82的动态信息发送至数据搜集服务器81的动态信息接收模块。随后转到步骤S904。
在步骤S904中,用户可根据动态信息接收模块814接收的与异常数据信息关联的数据收集终端82的动态信息对函数异常进行准确定位。由于已经在该数据收集终端82上收集到相应的动态信息,因此反激活模块816会发送数据收集取消指令至该数据收集终端82,使该数据收集终端82停止收集与该异常数据信息关联的数据收集终端82的动态信息,以进一步节省数据收集服务器81以及数据收集终端82的系统资源。
本优选实施例的数据收集方法在第三优选实施例的基础上设置反激活模块使数据收集终端停止收集动态信息,以进一步节省数据收集服务器以及数据收集终端的系统资源。
本发明还提供一种数据收集终端,请参照图10,图10为本发明的数据收集终端的第一优选实施例的结构示意图。本优选实施例的数据收集终端102可设置在上述电子设备1112中。该数据收集终端102包括指令接收模块1021、收集模块1022以及反馈模块1023。指令接收模块1021用于接收数据收集服务器101的数据收集指令,其中数据收集指令包括异常数据信息;收集模块1022用于根据数据收集指令,收集与异常数据信息关联的动态信息;反馈模块1023用于如产生与异常数据信息关联的异常,则将与异常数据信息关联的动态信息发送至数据收集服务器101。
本优选实施例的数据收集终端102使用时,首先指令接收模块1021接收数据服务器101的数据收集指令,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端102的静态信息,相同函数异常的函数异常堆栈信息相同,因此收集模块1022根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。
最后如数据收集终端102发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则反馈模块1023将上述收集的与异常数据信息关联的数据收集终端102的动态信息发送至数据收集服务器101。用户可根据接收的与异常数据信息关联的数据收集终端102的动态信息对函数异常进行准确定位。
本优选实施例的数据收集终端通过收集与异常数据信息关联的数据收集终端的动态信息,并将该动态信息反馈至数据收集服务器,可使得用户准确了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图10和图11,图11为本发明的数据收集方法的第五优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集终端的第一优选实施例进行实施,该数据收集方法包括:
步骤S1101,接收数据收集服务器的数据收集指令;
步骤S1102,根据数据收集指令,收集与异常数据信息关联的动态信息;
步骤S1103,如产生与异常数据信息关联的异常,则将与所述异常数据信息关联的动态信息发送至数据收集服务器;
本优选实施例的数据收集方法结束于步骤S1103。
在步骤S1101中,指令接收模块1021接收数据服务器102的数据收集指令,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。随后转到步骤S1102。
在步骤S1102中,由于函数异常堆栈信息为数据收集终端102的静态信息,相同函数异常的函数异常堆栈信息相同,因此收集模块1022根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。随后转到步骤S1103。
在步骤S1103中,如数据收集终端102发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则反馈模块1023将上述收集的与异常数据信息关联的数据收集终端102的动态信息发送至数据收集服务器101。用户可根据接收的与异常数据信息关联的数据收集终端102的动态信息对函数异常进行准确定位。
本优选实施例的数据收集方法通过收集与异常数据信息关联的数据收集终端的动态信息,并将该动态信息反馈至数据收集服务器,可使得用户准确了解函数异常发生时的上下文信息,从而可对函数异常进行准确定位。
请参照图12,图12为本发明的数据收集终端的第二优选实施例的结构示意图。本优选实施例的数据收集终端122可设置在上述电子设备1112中。该数据收集终端122包括指令接收模块1221、收集模块1222、反馈模块1223以及删除模块1224。本优选实施例的数据收集终端122在第一优选实施例的基础上还包括删除模块1224,该删除模块1224用于如未产生与异常数据信息关联的异常,则将与异常数据信息关联的动态信息删除。
本优选实施例的数据收集终端122使用时,首先指令接收模块1221接收数据服务器121的数据收集指令,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。
由于函数异常堆栈信息为数据收集终端122的静态信息,相同函数异常的函数异常堆栈信息相同,因此收集模块1222根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。
如数据收集终端122发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则反馈模块1223将上述收集的与异常数据信息关联的数据收集终端122的动态信息发送至数据收集服务器121。用户可根据接收的与异常数据信息关联的数据收集终端122的动态信息对函数异常进行准确定位。
如数据收集终端122未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端122将上述收集的与异常数据信息关联的数据收集终端122的动态信息删除,以节省数据收集终端的存储空间。
优选的,如指令接收模块1221接收到数据收集服务器121的数据收集取消指令,则收集模块1222根据该数据收集取消指令停止收集与异常数据信息关联的动态信息,这样可进一步节省数据收集服务器121以及数据收集终端122的系统资源。
本优选实施例的数据收集终端在第一优选实施例的基础上设置有删除模块以及处理数据收集取消指令,可进一步节省数据处理终端的存储空间以及系统资源。
请参照图12和图13,图9为本发明的数据收集方法的第六优选实施例的流程图。本优选实施例的数据收集方法可使用上述的数据收集终端的第二优选实施例进行实施,该数据收集方法包括:
步骤S1301,接收数据收集服务器的数据收集指令;
步骤S1302,根据数据收集指令,收集与异常数据信息关联的动态信息;
步骤S1303,判断是否产生与异常数据信息关联的异常;如未产生与异常数据信息关联的异常,则转到步骤S1304;如产生与异常数据信息关联的异常,则转到步骤S1305;
步骤S1304,将与异常数据信息关联的动态信息删除;
步骤S1305,将与异常数据信息关联的动态信息发送至数据收集服务器;
步骤S1306,接收数据收集服务器的数据收集取消指令,并根据数据收集取消指令停止收集与异常数据信息关联的动态信息;
本优选实施例的数据收集方法结束于步骤S1306。
下面详细说明本优选实施例的数据收集方法的各步骤的具体流程。
在步骤S1301中,指令接收模块1221接收数据服务器121的数据收集指令,其中数据收集指令包括异常数据信息,该异常数据信息包括静态异常信息,静态异常信息包括函数异常堆栈信息。随后转到步骤S1302。
在步骤S1302中,由于函数异常堆栈信息为数据收集终端122的静态信息,相同函数异常的函数异常堆栈信息相同,因此收集模块1222根据数据收集指令中的函数异常堆栈信息,收集与异常数据信息关联的动态信息,该动态信息包括函数参数值信息、函数类对象信息以及函数的进程信息以及线程信息。随后转到步骤S1303。
在步骤S1303中,判断数据收集终端122是否产生与异常数据信息关联的异常;如未产生与异常数据信息关联的异常,则转到步骤S1304;如产生与异常数据信息关联的异常,则转到步骤S1305。
在步骤S1304中,如数据收集终端122未产生与异常数据信息关联的异常,即数据收集终端122未发生函数异常,或发生的函数异常与异常数据信息中的静态异常信息不同,则数据收集终端122将上述收集的与异常数据信息关联的数据收集终端122的动态信息删除,以节省数据收集终端的存储空间,并返回步骤S1302。
在步骤S1305中,如数据收集终端122产生与异常数据信息关联的异常,即数据收集终端122发生了函数异常,且函数异常与异常数据信息中的静态异常信息相同,则反馈模块1223将上述收集的与异常数据信息关联的数据收集终端122的动态信息发送至数据收集服务器121,随后转到步骤S1306。
在步骤S1306中,由于数据收集服务器121已经在数据收集终端122上收集到相应的动态信息,因此数据收集服务器121会发送数据收集取消指令至相应的数据收集终端122,数据收集终端122的指令接收模块1221接收到数据收集服务器121的数据收集取消指令,则数据收集终端122的收集模块1222根据该数据收集取消指令停止收集与异常数据信息关联的动态信息,这样可进一步节省数据收集服务器121以及数据收集终端122的系统资源。
本优选实施例的数据收集方法在第第五优选实施例的基础上设置有删除模块以及处理数据收集取消指令,可进一步节省数据处理终端的存储空间以及系统资源。
下面通过一具体实施例说明本发明的数据收集方法及系统的具体工作原理。请参见图14,图14为本发明的数据收集系统的一具体实施例的架构图。其中:
1、发生异常的终端获取捕获终端程序中出现的异常,如果出现需要上报的异常,则将该终端的静态异常信息以及终端的执行环境信息一起上报到数据收集服务器。上报的静态异常信息就是函数异常堆栈信息,上报的终端的执行环境信息包括终端的应用版本信息(必须上报)、终端的操作系统信息(可选,具体上报的信息依赖于应用所在的运行平台,如windows平台,可以上报操作系统版本号,浏览器版本号,系统语言等)以及终端的硬件信息(可选,具体上报的信息依赖于应用所在的运行平台,如对于收集终端可以上报手机厂商以及手机型号等)。
2、数据收集服务器接收来自各个终端分别上报的静态异常信息,同时对静态异常信息进行分析归类,判断是否是新增异常,即是否已经收集到相应的stack trace(堆栈轨迹)的函数运行时数据信息,若未收集过,则为新增异常。
如果静态异常信息为新增异常,则按照如下规则,找到匹配或相似的多个潜在出现同类异常的数据收集终端:首先根据该新增异常上报的静态异常信息中的执行环境信息(应用版本号和软硬件信息),查找和完全其相匹配的数据收集终端(这些数据收集终端之前主动上报过或通过异常上报过版本号和软硬件信息);如果没有完全匹配的,为了保证多样性,仅用应用版本号作为匹配规则,凡是安装了同一个版本应用的数据收集终端,均作为匹配对象。同时为了避免过多的数据收集终端导致过多的下发和上报信息,可以根据数据和搜集服务器的处理能力对匹配到的数据收集终端的数量设定一个经验阀值,如匹配的数据收集终端的数量控制在100以内。
在找到匹配或相似的数据收集终端后,数据收集服务器下发激活指令让这些数据收集终端开始运行时数据收集模式。下发激活指令,启动数据收集模式;数据收集终端需要收集的信息包括:当前应用版本信息,系统软件信息(如:操作系统版本,浏览器版本等,具体依赖于应用所依赖的软件信息),硬件信息(如:CPU,内存,硬件型号,硬件厂商等,具体依赖于应用所依赖的软件信息),需要监控的stack trace。
3.数据收集终端对stack trace包含的函数进行监控,当函数被执行时,收集一定的运行时数据,如:函数的实际参数值信息(必须),函数所在的线程名(可选),函数所在的类对象信息(可选,如this指针对象,包括该对象的核心成员变量,具体依赖于this对象的toString()函数的实现),函数的进程信息以及线程信息(可选,如:当前进程使用的内存大小,CPU占用率等),具体信息可根据应用本身的要求而定制。如果出现了异常,则将这些运行时数据上报给数据收集服务器。如果未出现异常,则抛弃之前收集的运行时数据,下次触发时再重新收集数据。
4.如果数据收集服务器收到了来自某个数据收集终端上报的运行时异常数据,则数据收集服务器将下发一个数据收集取消指令,命令收集该类异常的数据收集终端取消对该类异常的运行时数据的收集。从而减少对数据收集终端以及数据收集服务器的性能影响。
这样即完成了本发明的数据收集系统的数据收集过程。
本发明的数据收集方法、服务器、终端及系统通过与异常数据信息关联的数据收集终端,收集与异常数据信息关联的数据收集终端的动态信息;解决了现有的数据收集方法及数据收集系统无法准确了解函数异常发生时的上下文信息,从而无法对函数异常进行准确定位的技术问题。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (38)
1.一种数据收集方法,其特征在于,包括步骤:
数据收集服务器根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
所述数据收集服务器根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
所述数据收集服务器发送数据收集指令至所述数据收集终端;
所述数据收集终端根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
如所述数据收集终端产生与所述异常数据信息关联的异常,则所述数据收集终端将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
2.根据权利要求1所述的数据收集方法,其特征在于,所述数据收集方法还包括步骤:
如所述数据收集服务器接收到与所述异常数据信息关联的所述数据收集终端的动态信息,则所述数据收集服务器发送数据收集取消指令至所述数据收集终端。
3.根据权利要求1所述的数据收集方法,其特征在于,所述数据收集方法还包括步骤:
如所述数据收集终端未产生与所述异常数据信息关联的异常,则所述数据收集终端将所述与所述异常数据信息关联的动态信息删除。
4.根据权利要求1所述的数据收集方法,其特征在于,所述数据收集方法还包括步骤:
所述数据收集终端接收所述数据收集服务器的数据收集取消指令,并根据所述数据收集取消指令停止收集与所述异常数据信息关联的动态信息。
5.根据权利要求1所述的数据收集方法,其特征在于,所述静态异常信息包括函数异常堆栈信息,所述执行环境信息包括所述终端的应用版本信息、所述终端的操作系统信息以及所述终端的硬件信息。
6.根据权利要求1所述的数据收集方法,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
7.根据权利要求1所述的数据收集方法,其特征在于,所述匹配的所述数据收集终端的数量小于设定值。
8.根据权利要求1所述的数据收集方法,其特征在于,如所述异常数据信息为新增的异常数据信息,则根据所述新增的异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端。
9.一种数据收集方法,其特征在于,包括步骤:
根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;以及
发送数据收集指令至所述数据收集终端,并接收与所述异常数据信息关联的所述数据收集终端的动态信息。
10.根据权利要求9所述的数据收集方法,其特征在于,所述数据收集方法还包括步骤:
如接收到与所述异常数据信息关联的所述数据收集终端的动态信息,则发送数据收集取消指令至所述数据收集终端。
11.根据权利要求9所述的数据收集方法,其特征在于,所述静态异常信息包括函数异常堆栈信息,所述执行环境信息包括所述终端的应用版本信息、所述终端的操作系统信息以及所述终端的硬件信息。
12.根据权利要求9所述的数据收集方法,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
13.根据权利要求9所述的数据收集方法,其特征在于,所述匹配的所述数据收集终端的数量小于设定值。
14.根据权利要求9所述的数据收集方法,其特征在于,如所述异常数据信息为新增的异常数据信息,则根据所述新增的异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端。
15.一种数据收集方法,其特征在于,包括步骤:
接收数据收集服务器的数据收集指令,其中所述数据收集指令中包括异常数据信息;
根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
16.根据权利要求15所述的数据收集方法,其特征在于,所述数据收集方法包括步骤:
如未产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息删除。
17.根据权利要求15所述的数据收集方法,其特征在于,所述数据收集方法包括步骤:
接收所述数据收集服务器的数据收集取消指令,并根据所述数据收集取消指令停止收集与所述异常数据信息关联的动态信息。
18.根据权利要求15所述的数据收集方法,其特征在于,所述异常数据信息包括静态异常信息,所述静态异常信息包括函数异常堆栈信息。
19.根据权利要求15所述的数据收集方法,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
20.一种数据收集系统,其特征在于,包括至少一个数据收集服务器以及至少一个数据收集终端;
所述数据收集服务器包括:
异常数据信息生成模块,用于根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
数据收集终端匹配模块,用于根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
激活模块,用于发送数据收集指令至所述数据收集终端;以及
动态信息接收模块,用于接收与所述异常数据信息关联的所述数据收集终端的动态信息;
所述数据收集终端包括:
指令接收模块,用于接收所述数据收集指令,其中所述数据收集指令中包括异常数据信息;
收集模块,用于根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
反馈模块,用于如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
21.根据权利要求20所述的数据收集系统,其特征在于,所述数据收集服务器还包括:
反激活模块,用于如所述动态信息接收模块接收到与所述异常数据信息关联的所述数据收集终端的动态信息,则发送数据收集取消指令至所述数据收集终端。
22.根据权利要求20所述的数据收集系统,其特征在于,所述数据收集终端包括:
删除模块,用于如所述数据收集终端未产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息删除。
23.根据权利要求20所述的数据收集系统,其特征在于,如所述指令接收模块接收所述数据收集服务器的数据收集取消指令,所述收集模块根据所述数据收集取消指令停止收集与所述异常数据信息关联的动态信息。
24.根据权利要求20所述的数据收集系统,其特征在于,所述静态异常信息包括函数异常堆栈信息,所述执行环境信息包括所述终端的应用版本信息、所述终端的操作系统信息以及所述终端的硬件信息。
25.根据权利要求20所述的数据收集系统,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
26.根据权利要求20所述的数据收集系统,其特征在于,所述匹配的所述数据收集终端的数量小于设定值。
27.根据权利要求20所述的数据收集系统,其特征在于,如所述异常数据信息为新增的异常数据信息,则所述数据收集终端匹配模块根据所述新增的异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端。
28.一种数据收集服务器,其特征在于,包括:
异常数据信息生成模块,用于根据终端的静态异常信息以及所述终端的执行环境信息,生成异常数据信息;
数据收集终端匹配模块,用于根据所述异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端;
激活模块,用于发送数据收集指令至所述数据收集终端;以及
动态信息接收模块,用于接收与所述异常数据信息关联的所述数据收集终端的动态信息。
29.根据权利要求28所述的数据收集服务器,其特征在于,所述数据收集服务器还包括:
反激活模块,用于如所述动态信息接收模块接收到与所述异常数据信息关联的所述数据收集终端的动态信息,则发送数据收集取消指令至所述数据收集终端。
30.根据权利要求28所述的数据收集服务器,其特征在于,所述静态异常信息包括函数异常堆栈信息,所述执行环境信息包括所述终端的应用版本信息、所述终端的操作系统信息以及所述终端的硬件信息。
31.根据权利要求28所述的数据收集服务器,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
32.根据权利要求28所述的数据收集服务器,其特征在于,所述匹配的所述数据收集终端的数量小于设定值。
33.根据权利要求28所述的数据收集服务器,其特征在于,如所述异常数据信息为新增的异常数据信息,则所述数据收集终端匹配模块根据所述新增的异常数据信息的所述执行环境信息,匹配至少一个与所述异常数据信息关联的数据收集终端。
34.一种数据收集终端,其特征在于,包括:
指令接收模块,用于接收数据收集服务器的数据收集指令,其中所述数据收集指令中包括异常数据信息;
收集模块,用于根据所述数据收集指令,收集与所述异常数据信息关联的动态信息;以及
反馈模块,用于如产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息发送至所述数据收集服务器。
35.根据权利要求34所述的数据收集终端,其特征在于,所述数据收集终端包括:
删除模块,用于如所述数据收集终端未产生与所述异常数据信息关联的异常,则将所述与所述异常数据信息关联的动态信息删除。
36.根据权利要求34所述的数据收集终端,其特征在于,如所述指令接收模块接收所述数据收集服务器的数据收集取消指令,所述收集模块根据所述数据收集取消指令停止收集与所述异常数据信息关联的动态信息。
37.根据权利要求34所述的数据收集终端,其特征在于,所述异常数据信息包括静态异常信息,所述静态异常信息包括函数异常堆栈信息。
38.根据权利要求34所述的数据收集终端,其特征在于,所述动态信息为函数参数值信息、函数类对象信息以及函数的进程信息及线程信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410022930.7A CN104092557B (zh) | 2014-01-17 | 2014-01-17 | 数据收集方法、服务器、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410022930.7A CN104092557B (zh) | 2014-01-17 | 2014-01-17 | 数据收集方法、服务器、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104092557A true CN104092557A (zh) | 2014-10-08 |
CN104092557B CN104092557B (zh) | 2017-08-25 |
Family
ID=51640239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022930.7A Active CN104092557B (zh) | 2014-01-17 | 2014-01-17 | 数据收集方法、服务器、终端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104092557B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557415A (zh) * | 2015-09-28 | 2017-04-05 | 北京国双科技有限公司 | 程序运行异常的处理方法及装置 |
CN107066411A (zh) * | 2017-04-13 | 2017-08-18 | 深圳市酷开网络科技有限公司 | 数据传输方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100415A1 (en) * | 2007-10-15 | 2009-04-16 | Nurit Dor | Apparatus for and method of implementing feedback directed dependency analysis of software applications |
CN101453704A (zh) * | 2007-12-04 | 2009-06-10 | 北京摩软科技有限公司 | 一种监测移动终端的系统状态和事件记录的方法和装置 |
US20090171481A1 (en) * | 2007-12-31 | 2009-07-02 | Tai-Chuan Chiang | Automated abnormal machine tracking and notifying system and method |
CN102004680A (zh) * | 2010-11-23 | 2011-04-06 | 山东中创软件商用中间件股份有限公司 | 一种动态跟踪程序运行状态的方法及一种背板装置 |
CN102684936A (zh) * | 2011-03-11 | 2012-09-19 | 北京千橡网景科技发展有限公司 | 用于监测服务器的运行状态的方法、设备和系统 |
CN103246735A (zh) * | 2013-05-13 | 2013-08-14 | 中国工商银行股份有限公司 | 一种异常数据处理方法及系统 |
-
2014
- 2014-01-17 CN CN201410022930.7A patent/CN104092557B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100415A1 (en) * | 2007-10-15 | 2009-04-16 | Nurit Dor | Apparatus for and method of implementing feedback directed dependency analysis of software applications |
CN101453704A (zh) * | 2007-12-04 | 2009-06-10 | 北京摩软科技有限公司 | 一种监测移动终端的系统状态和事件记录的方法和装置 |
US20090171481A1 (en) * | 2007-12-31 | 2009-07-02 | Tai-Chuan Chiang | Automated abnormal machine tracking and notifying system and method |
CN102004680A (zh) * | 2010-11-23 | 2011-04-06 | 山东中创软件商用中间件股份有限公司 | 一种动态跟踪程序运行状态的方法及一种背板装置 |
CN102684936A (zh) * | 2011-03-11 | 2012-09-19 | 北京千橡网景科技发展有限公司 | 用于监测服务器的运行状态的方法、设备和系统 |
CN103246735A (zh) * | 2013-05-13 | 2013-08-14 | 中国工商银行股份有限公司 | 一种异常数据处理方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557415A (zh) * | 2015-09-28 | 2017-04-05 | 北京国双科技有限公司 | 程序运行异常的处理方法及装置 |
CN106557415B (zh) * | 2015-09-28 | 2019-05-03 | 北京国双科技有限公司 | 程序运行异常的处理方法及装置 |
CN107066411A (zh) * | 2017-04-13 | 2017-08-18 | 深圳市酷开网络科技有限公司 | 数据传输方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104092557B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102051692B1 (ko) | 클라우드 동기화 시스템용 텔레메트리 시스템 | |
JP5052568B2 (ja) | ネットワーク内の装置を管理するための方法、システム、およびプログラム | |
CN103475572B (zh) | 在即时通信应用中发送多张图片的方法、装置及系统 | |
CN102223363B (zh) | 在管理通信会话的图形界面中生成持续会话的系统和方法 | |
CN104426885A (zh) | 异常账号提供方法及装置 | |
CN102929675A (zh) | 具有安全检查和预览的服务器升级 | |
CN101371250A (zh) | 在意外应用程序关闭之后捕捉和还原应用程序状态 | |
CN104169913A (zh) | 一种图片展示方法及装置、终端设备 | |
CN102999366B (zh) | 基于推断的扩展激活 | |
WO2021238350A1 (zh) | 更新配置文件的方法、设备及存储介质 | |
CN107741902A (zh) | 程序应用检测方法及程序应用检测装置 | |
CN102819500B (zh) | 一种创建外部设备控制界面的方法及装置 | |
CN110032502A (zh) | 一种异常处理的方法、装置及电子设备 | |
CN111930703A (zh) | 日志文件自动抓取方法、装置和计算机设备 | |
CN104978204A (zh) | 基于移动终端的应用安装更新方法及装置 | |
CN104737128A (zh) | 用于多用户账户的二进制的重新使用 | |
CN104092557A (zh) | 数据收集方法、服务器、终端及系统 | |
US20150280996A1 (en) | Cloud topology visualizations | |
CN108920379A (zh) | 捕获lua代码异常的方法和装置 | |
CN103646015B (zh) | 发送、接收以及传输xml报文的方法和系统 | |
US9263092B2 (en) | Extended diagnostic overlay control for tape storage devices | |
CN116125853A (zh) | 集成电路的安全控制方法、装置、存储介质及电子设备 | |
CN108984238A (zh) | 应用程序的手势处理方法、装置及电子设备 | |
US11556542B2 (en) | Optionally compressed output from command-line interface | |
WO2016099966A1 (en) | Append structured data system for maintaining structured format compatibility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20141008 Assignee: Ocean interactive (Beijing) Information Technology Co., Ltd. Assignor: Tencent Technology (Shenzhen) Co., Ltd. Contract record no.: 2016990000422 Denomination of invention: Data collecting method, server, terminal and system License type: Common License Record date: 20161009 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model | ||
GR01 | Patent grant | ||
GR01 | Patent grant |