CN104932865A - Component protocol mining method, device and system - Google Patents

Component protocol mining method, device and system Download PDF

Info

Publication number
CN104932865A
CN104932865A CN201510405107.9A CN201510405107A CN104932865A CN 104932865 A CN104932865 A CN 104932865A CN 201510405107 A CN201510405107 A CN 201510405107A CN 104932865 A CN104932865 A CN 104932865A
Authority
CN
China
Prior art keywords
function
client
server
call information
pitching pile
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
Application number
CN201510405107.9A
Other languages
Chinese (zh)
Other versions
CN104932865B (en
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.)
Wuhan Institute of Technology
Original Assignee
Wuhan Institute of Technology
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 Wuhan Institute of Technology filed Critical Wuhan Institute of Technology
Priority to CN201510405107.9A priority Critical patent/CN104932865B/en
Publication of CN104932865A publication Critical patent/CN104932865A/en
Application granted granted Critical
Publication of CN104932865B publication Critical patent/CN104932865B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a component protocol mining method, device and system. The method comprises the steps that a pile inserting starting command is sent to N client sides, function identifiers of M functions of a class to be mined are carried in the pile inserting starting command, and M is an integer lager than one; function calling information, sent by the N client sides, of the M functions is received; the function calling function is information collected by the N client sides based on the pile inserting starting command; a component protocol, stored in a server, of the class is updated according to the function calling information. The method, device and system are used for solving the technical problems that in a component protocol mining method in the prior art, manpower consumption is large, and mining efficiency is low. The technical effects of lowering the data acquiring manpower cost and improving the component protocol mining efficiency are achieved.

Description

A kind of assembly agreement method for digging, Apparatus and system
Technical field
The present invention relates to program mining technical field, particularly relate to a kind of assembly agreement method for digging, Apparatus and system.
Background technology
Usually temporal constraint is there is between the interface function of component software.Using during component software needs the temporal constraint of observing to constitute an agreement of this assembly, i.e. assembly agreement.This agreement defines the sequencing called between interface function.As follows, respectively show a temporal constraint of class java.util.Stack and java.util.Iteration:
(1) the peek () function calling Stack class first should call push () function and insert an element in stack before checking stack top element;
(2) the next () function calling Iteration class first should call hasNext () function before obtaining next element and check whether next element exists.
This constraint information may be used for the fields such as program description, program test and program verification.Such as: when program violates above-mentioned temporal constraint (1), EmptyStackException can be caused abnormal; Violating temporal constraint (2) can cause NoSuchElementException abnormal.
It is the effective ways obtaining assembly agreement automatically that program restriction is excavated.It generally includes static method for digging and dynamical min method.Wherein, dynamical min method does not need using program source code as input and can avoid problem in static method for digging, the problem includes: problems such as infeasible paths, complex data structures and pointer aliasing, and the scope of application is more extensive.Current, dynamical min method mainly contains two benches step: the first stage adopts pitching pile technology to carry out pitching pile to destination application, then collect by operational objective application program the function call information that characterization program performs track, and function call information is stored in trail file; Trail file as input, is adopted serialized data method for digging extraction assembly agreement by subordinate phase.
But adopt above-mentioned dynamical min method, when the function call information quantity relevant to assembly is very few, easily cause over-fitting problem, namely the assembly agreement obtained lacks accuracy and completeness, and enough function call information will be obtained, need the manpower of at substantial to carry out working procedure and collect function call information; And adopt intermediate file as the storage mode of function call information, after needing export, then assembly excavation is carried out in unification, limits the digging efficiency of assembly agreement.
Visible, there is manpower and expend large and that digging efficiency is low technical matters in existing assembly agreement method for digging.
Summary of the invention
The invention provides a kind of assembly agreement method for digging, Apparatus and system, the manpower existed in order to solve assembly agreement method for digging of the prior art expends large and that digging efficiency is low technical matters.
First aspect, provide a kind of assembly agreement method for digging, described method is applied in server, described server and N number of client's side link, N be greater than 1 integer, described method comprises:
Send and start pitching pile instruction to described N number of client, in the instruction of described beginning pitching pile, carry the function identification of M the function needing the class excavated, M be greater than 1 integer;
Receive the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
The assembly agreement of the described class stored is upgraded in described server according to described function call information.
Optionally, described upgrade in described server the assembly agreement of the described class stored according to described function call information after, also comprise:
When meeting pre-conditioned, sending and stopping pitching pile instruction to described N number of client, in the instruction of described stopping pitching pile, carrying described function identification, stop the function call information of the described M of a collection function to make described N number of client based on described stopping pitching pile instruction.
Optionally, to be describedly pre-conditionedly specially:
The function numbers that described assembly agreement comprises is more than or equal to first threshold; Described first threshold is more than or equal to the quantity of the Public Function of described class, and/or
The number of times recurring the first event is more than or equal to Second Threshold; Described first event is for upgrading described assembly agreement, and described assembly agreement does not change.
Second aspect, provide a kind of assembly agreement method for digging, described method is applied in client, and described client is connected with server, and described method comprises:
Receive the beginning pitching pile instruction that described server sends, in the instruction of described beginning pitching pile, carry the function identification of M function needing the class excavated, M be greater than 1 integer;
L function is determined from a described M function; M >=L >=1;
In described client during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application;
Send described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
Optionally, describedly from a described M function, determine L function, be specially:
Obtain the requirement of real-time parameter of described destination application; The response speed that the numerical value of described requirement of real-time parameter and described destination application require is proportional;
From a described M function, L function is determined, to make the numerical value of L and described requirement of real-time parameter be inverse ratio according to described requirement of real-time parameter.
Optionally, after the described function call information of described transmission to described server, also comprise:
Receive the stopping pitching pile instruction that described server sends, in the instruction of described stopping pitching pile, carry described function identification;
The function call information of collecting a described L function is stopped based on described stopping pitching pile instruction.
The third aspect, provides a kind of assembly agreement digging system, N number of client that described system comprises server and is connected with described server, N be greater than 1 integer;
Wherein, described server starts pitching pile instruction to described N number of client for sending, and carries the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Described N number of client is for receiving the instruction of described beginning pitching pile; And L function is determined from a described M function; M >=L >=1; And in described client during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application; And send described function call information to described server;
Described server also for, receive the described function call information that described N number of client sends; And the assembly agreement of the described class stored is upgraded in described server according to described function call information.
Fourth aspect, provides a kind of assembly agreement excavating gear, is specially server, described server and N number of client's side link, N be greater than 1 integer, described device comprises:
First transmitting element, starting pitching pile instruction to described N number of client for sending, carrying the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
First receiving element, for receiving the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
Updating block, for upgrading in described server the assembly agreement of the described class stored according to described function call information.
5th aspect, provide a kind of assembly agreement excavating gear, be specially client, described client is connected with server, and described device comprises:
Second receiving element, for receiving the beginning pitching pile instruction that described server sends, carries the function identification of M function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Determining unit, for determining L function from a described M function; M >=L >=1;
Pitching pile unit, for during operational objective application program, carrying out pitching pile, to collect the function call information of a described L function to described L function of described destination application in described client;
Second transmitting element, for sending described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
The one or more technical schemes provided in the embodiment of the present application, at least have following technique effect or advantage:
1, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, pass through networking structure, server can obtain a large amount of function call information from multiple client simultaneously, thus obtain abundanter and perfect program execution track, do not need the manpower of at substantial just to improve accuracy and the completeness of assembly excavation, reduce data acquisition cost.
2, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, without the need to carrying out the storage of intermediate file, there is less storage space expense, by server after receiving a function call information at every turn, just real-time update is carried out to existing assembly agreement, namely the acquisition of the excavation function recalls information of assembly agreement is concurrent carries out, and improves the efficiency that assembly agreement is excavated.
3, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, function call information is obtained from multiple client, namely a large amount of pitching pile need not be carried out to obtain enough function call information to of a client program, adopt and pitching pile quantity is set according to the requirement of real-time of application program, avoid excessive pitching pile application programs real-time to affect greatly.
4, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, when meeting pre-conditioned, stopping the collection carrying out function call information, effectively alleviating the calculating pressure of server end and client.
Accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, below the accompanying drawing used required in describing embodiment is briefly described, apparently, accompanying drawing in the following describes is some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
Fig. 1 is the system for implementing invention components agreement method for digging;
Fig. 2 is the block diagram of the assembly agreement method for digging of the embodiment of the present application one;
Fig. 3 is the form schematic diagram of the function call information that user end to server sends;
Fig. 4 is the form schematic diagram of the steering order message that server sends to client;
Fig. 5 is the assembly agreement schematic diagram of a java class;
Fig. 6 is the block diagram of the assembly agreement method for digging of the embodiment of the present application two;
Fig. 7 is the structural representation of the assembly agreement excavating gear of the embodiment of the present application four;
Fig. 8 is the structural representation of the assembly agreement excavating gear of the embodiment of the present application five.
Embodiment
The embodiment of the present application is by providing a kind of assembly agreement method for digging, Apparatus and system, and the manpower existed in order to solve assembly agreement method for digging of the prior art expends large and that digging efficiency is low technical matters.Achieve and reduce data acquisition human cost, improve the technique effect of assembly agreement digging efficiency.
For solving the problems of the technologies described above, the embodiment of the present application provides the general thought of technical scheme as follows:
The application provides a kind of assembly agreement method for digging, and described method is applied in server, described server and N number of client's side link, N be greater than 1 integer, described method comprises:
Send and start pitching pile instruction to described N number of client, in the instruction of described beginning pitching pile, carry the function identification of M the function needing the class excavated, M be greater than 1 integer;
Receive the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
The assembly agreement of the described class stored is upgraded in described server according to described function call information.
Can be found out by foregoing, assembly agreement method for digging, Apparatus and system that the embodiment of the present application provides, pass through networking structure, server can obtain a large amount of function call information from multiple client simultaneously, thus obtain abundanter and perfect program execution track, do not need the manpower of at substantial just to improve accuracy and the completeness of assembly excavation, reduce data acquisition cost.And without the need to carrying out the storage of intermediate file, there is less storage space expense, by server after receiving a function call information at every turn, just real-time update is carried out to existing assembly agreement, namely the acquisition of the excavation function recalls information of assembly agreement is concurrent carries out, and improves the efficiency that assembly agreement is excavated.
For making the object of the embodiment of the present invention, technical scheme and advantage clearly, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, instead of whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art, not making the every other embodiment obtained under creative work prerequisite, belong to the scope of protection of the invention.
Before introducing the embodiment of the present invention, first introduce the system corresponding to assembly agreement method for digging in the embodiment of the present invention, as shown in Figure 1, Fig. 1 is a kind of system for implementing invention components agreement method for digging, this system comprises: N number of client 101 and server 102, N be greater than 1 integer wherein, described client 101 can be smart mobile phone, intelligent watch or computer, and this is not restricted, described client 101 can be based on universal mobile telecommunications system (Universal MobileTelecommunications System with the communication mode of described server 102, UMTS), also can be based on global mobile communication (GlobalSystem For Mobile Communication, GSM) communication system, can also be based on long evolving system (Long Term Evolution, LTE) communication system, can also be based on CDMA (CodeDivision Multiple Access, CDMA) communication system, can also be based on TD SDMA (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA) etc., be not restricted in this application.
Embodiment one
The present embodiment provides a kind of assembly agreement method for digging, and described method is applied in server 102, and described server 102 is connected with N number of client 101, N be greater than 1 integer, as shown in Figure 2, described method comprises:
Step S201, sends and starts pitching pile instruction to described N number of client, carry the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Step S202, receives the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
Step S203, upgrades in described server the assembly agreement of the described class stored according to described function call information.
In the embodiment of the present application, described function is interface function, i.e. Public Function.
In the embodiment of the present application, described server 102 adopts transmission control protocol (Transmission Control Protocol, TCP) agreement to carry out network service with described client 101.
Before the specific implementation step introducing said modules agreement method for digging, first introduce and adopt server 102 and described client 101 to adopt Transmission Control Protocol to carry out the message format of network communication and transmission:
In the embodiment of the present application, the Content of Communication between described server 102 and described client 101 mainly comprises function call information that client 101 sends to server 102 and the steering order message that server 102 sends to client 101.
Fig. 3 is the form schematic diagram of the function call information that client 101 sends to server 102, and wherein, the concrete meaning of each field is in table 1.
Table 1
Fig. 4 is the form schematic diagram of the steering order message that server 102 sends to client 101, and described steering order message comprises: the instruction of described beginning pitching pile and the instruction of described stopping pitching pile, wherein, the concrete meaning of each field is in table 2.
Table 2
Introduce the specific implementation step of said modules agreement method for digging below in detail:
First, perform step S201, namely send and start pitching pile instruction to described N number of client, in the instruction of described beginning pitching pile, carry the function identification of M the function needing the class excavated, M be greater than 1 integer;
In specific implementation process, as shown in Figure 4, each field meanings of described beginning pitching pile instruction is as shown in table 2 for the form of described beginning pitching pile instruction.
Receive the beginning pitching pile instruction of described server 102 transmission in described client 101 after, from a described M function, determine L function; M >=L >=1; And in described client 101 during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application.
In the embodiment of the present application, describedly from a described M function, determine L function, be specially:
Obtain the requirement of real-time parameter of described destination application; The response speed that the numerical value of described requirement of real-time parameter and described destination application require is proportional;
From a described M function, L function is determined, to make the numerical value of L and described requirement of real-time parameter be inverse ratio according to described requirement of real-time parameter.
Specifically, the application program higher to requirement of real-time, can reduce the function numbers of pitching pile, not affect the travelling speed of application program; The application program lower to requirement of real-time, can increase the function numbers of pitching pile.
Specifically, function call information is obtained from multiple client, namely a large amount of pitching pile need not be carried out to obtain enough function call information to of a client program, adopt and pitching pile quantity is set according to the requirement of real-time of application program, avoid excessive pitching pile application programs real-time to affect greatly.
In specific implementation process, as shown in Figure 3, each field meanings of described function call information is as shown in table 1 for the form of described function call information.
Specifically, a program dynamic tracing device can be installed in client 101, adopt pitching pile technology when program is run by code injection in objective function body, then export described function call information.
In specific implementation process, the program dynamic tracing device installed in client 101 can be an assembly also can be an independently application program.When program dynamic tracing device is an assembly, need to be integrated into packing and issuing in the destination application needing pitching pile.Now, described program dynamic tracing device is transparent to software users, and the Starting mode of described destination application and using method are identical with when not carrying out pitching pile.When described program dynamic tracing device be one independently application program time, do not need and destination application packing and issuing.Now, can first start-up routine dynamic tracing device, then start destination application by described program dynamic tracing device.
In the embodiment of the present application, after described client 101 often collects a function call information, in real time described function call information is sent to described server 102.
Specifically, pass through networking structure, server 102 can obtain function call information from the multiple clients running different application, improve to collect and there is the efficiency that multifarious program performs track, for excavate complete and accurately assembly agreement established data basis, do not need the manpower of at substantial just to improve accuracy and the completeness of assembly excavation, reduce data acquisition cost.
Next, server 102 performs step S202, namely receives the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
Perform step S203 again, upgrade in described server the assembly agreement of the described class stored according to described function call information.
In specific implementation process, described server 102 by receive function call information order be buffered in queue.The reading described function call information and adopt the described function call information of automat method for digging to carry out modeling in real time to assembly agreement from queue of real time sequence again, with the assembly agreement excavated before upgrading.Described automat method for digging regards approximate for described assembly agreement as automat, described function call information is regarded as the sentence of this automat, assembly agreement Mining Problems is converted to grammatical inference problem, namely solves the minimized automat that can produce these sentences according to sentence set.
The establishment agreement finally excavated please refer to Fig. 5, and Fig. 5 is the assembly agreement of the java class FileOutputStream that an employing automat describes.Described assembly agreement shows need observe following constraint when using class FileOutputStream: first must call constructed fuction FileOutputStream (String) and carry out object initialization, then write (int) function write data can repeatedly be called, then call flush () function flush buffers, finally must call close () function and close flow object.
Specifically, do not carry out the storage of intermediate file, by server after receiving a function call information, just sequentially real-time update is carried out to existing assembly agreement at every turn, namely the acquisition of the excavation function recalls information of assembly agreement is concurrent carries out, and improves the efficiency that assembly agreement is excavated.
In the embodiment of the present application, after step S203, namely described upgrade in described server the assembly agreement of the described class stored according to described function call information after, also comprise:
When meeting pre-conditioned, sending and stopping pitching pile instruction to described N number of client, in the instruction of described stopping pitching pile, carrying described function identification, stop the function call information of the described M of a collection function to make described N number of client based on described stopping pitching pile instruction.
In specific implementation process, as shown in Figure 4, each field meanings of described stopping pitching pile instruction is as shown in table 2 for the form of described stopping pitching pile instruction.
Specifically, when meeting pre-conditioned, stopping the collection carrying out function call information, effectively alleviating the calculating pressure of server end and client.
Further, to be describedly pre-conditionedly specially:
The function numbers that described assembly agreement comprises is more than or equal to first threshold; Described first threshold is more than or equal to the quantity of the Public Function comprised in described class, and/or
The number of times recurring the first event is more than or equal to Second Threshold; Described first event is for upgrading described assembly agreement, and described assembly agreement does not change.
Specifically, such as: given class c, a n cfor the number of the Public Function of c, p is the assembly agreement of the c excavated, and its transport number is n t, adopt w=n tapproximate measure is carried out to the completeness of p.W is larger, then the function that contains of described assembly protocol package is more, and completeness is higher.In mining process, when server 102 monitor meet following two conditions time, stop the renewal of assembly agreement p and send the instruction stopping c being carried out to the collection of pitching pile sum functions recalls information to client:
1, w>=T w, wherein, T wfor the threshold value of specifying, T w>=n c;
2, n>=T n, wherein, n to upgrade p continuously according to different function call information and the number of times that changes does not occur p; T nfor the threshold value of specifying, T n>0.
Specifically, in order to alleviate the calculating pressure of server 102 and client 101, after every sub-assembly protocol update completes, its completeness and accuracy are measured.If reach desired conditions, then stop receiving function call information corresponding to this assembly agreement, and notify that client 101 stops carrying out pitching pile to the function of correspondence.And for suspending the assembly agreement upgraded, manually arrange, again can collect function call information corresponding to assignment component agreement and proceed to upgrade to this assembly agreement.
In specific implementation process, deposit in server 102 in the assembly protocol suite of acquisition, server 102 can also provide the services such as assembly agreement query and program verification.
After describing said modules agreement method for digging, for the ease of understanding, below to excavate the assembly agreement based on Java technology, described method is described:
Suppose that client 101 runs on Java HotSpot TM VM virtual machine, when after the beginning pitching pile instruction receiving server 102 transmission, client 101 adopts Java agent skill group to carry out dynamic pitching pile to destination application bytecode.Under command line environment, when adopting java order operational objective application program, Java Virtual Machine is before the code performing each class, and the Java first sending to-javaagent option to specify such bytecode acts on behalf of.Java agency adopts class converter to carry out pitching pile to class, then amended class bytecode is returned to virtual machine and performs.In order to operate class bytecode, have employed the bytecode editor storehouse Javassist that increases income.Class converter carries out pitching pile according to the interface function of pitching pile set pair class, and the application program that requirement of real-time is high has less pitching pile collection; Otherwise, give the pitching pile collection that application program is larger.When function is called, pitching pile Code obtaining function call information also sends described function call information by event write device to server 102.As shown in Figure 3, the field meanings of described function call information is as shown in table 3 for the form of function call information described in described function call information.Server 102 upgrades corresponding assembly agreement according to described function call information again.
Table 3
Based on same inventive concept, the angle of the client 101 of standing below is in the system shown in figure 1 introduced said method.
Embodiment two
In the present embodiment, provide a kind of assembly agreement method for digging, described method is applied in client 101, and described client 101 is connected with server 102, and as shown in Figure 6, described method comprises:
Step S601, receives the beginning pitching pile instruction that described server sends, and carries the function identification of M function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Step S602, determines L function from a described M function; M >=L >=1;
Step S603, in described client during operational objective application program, carries out pitching pile, to collect the function call information of a described L function to described L function of described destination application;
Step S604, sends described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
In the embodiment of the present application, describedly from a described M function, determine L function, be specially:
Obtain the requirement of real-time parameter of described destination application; The response speed that the numerical value of described requirement of real-time parameter and described destination application require is proportional;
From a described M function, L function is determined, to make the numerical value of L and described requirement of real-time parameter be inverse ratio according to described requirement of real-time parameter.
In the embodiment of the present application, after the described function call information of described transmission to described server, also comprise:
Receive the stopping pitching pile instruction that described server sends, in the instruction of described stopping pitching pile, carry described function identification;
The function call information of collecting a described L function is stopped based on described stopping pitching pile instruction.
Specifically, client 101 pitching pile is collected function call information and is stopped the method for collecting function call information to describe in detail in embodiment one, is not repeated at this.
Based on same inventive concept, present invention also provides the system corresponding with the method in embodiment one and embodiment two:
Embodiment three
Present embodiments provide a kind of assembly agreement digging system, as shown in Figure 1, described system comprise server 102 and N number of client 101, N of being connected with described server 102 be greater than 1 integer;
Wherein, described server 102 starts pitching pile instruction to described N number of client for sending, and carries the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Described N number of client 101 is for receiving the instruction of described beginning pitching pile; And L function is determined from a described M function; M >=L >=1; And in described client during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application; And send described function call information to described server 102;
Described server 102 also for, receive described N number of client 101 send described function call information; And the assembly agreement of the described class stored in described server 102 is upgraded according to described function call information.
Assembly agreement method for digging in the system provided in the present embodiment and embodiment one and embodiment two, based on the aspect of two under same inventive concept, detailed description is done to the implementation process of method above, so those skilled in the art can according to the system architecture in aforementioned understanding the present embodiment be described clearly and implementation process, succinct in order to instructions, has just repeated no more at this.
Based on same inventive concept, present invention also provides the device corresponding with the method in embodiment one:
Embodiment four
Present embodiments provide a kind of assembly agreement excavating gear, be specially server 102, described server 102 is connected with N number of client 101, N be greater than 1 integer, as shown in Figure 7, described device comprises:
First transmitting element 701, starting pitching pile instruction to described N number of client for sending, carrying the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
First receiving element 702, for receiving the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
Updating block 703, for upgrading in described server the assembly agreement of the described class stored according to described function call information.
Assembly agreement method for digging in the device provided in the present embodiment and embodiment one, based on the aspect of two under same inventive concept, detailed description is done to the implementation process of method above, so those skilled in the art can according to the apparatus structure in aforementioned understanding the present embodiment be described clearly and implementation process, succinct in order to instructions, has just repeated no more at this.
Based on same inventive concept, present invention also provides the device corresponding with the method in embodiment two:
Embodiment five
Present embodiments provide a kind of assembly agreement excavating gear, be specially client 101, described client 101 is connected with server 102, and as shown in Figure 8, described device comprises:
Second receiving element 801, for receiving the beginning pitching pile instruction that described server sends, carries the function identification of M function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Determining unit 802, for determining L function from a described M function; M >=L >=1;
Pitching pile unit 803, for during operational objective application program, carrying out pitching pile, to collect the function call information of a described L function to described L function of described destination application in described client;
Second transmitting element 804, for sending described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
Assembly agreement method for digging in the device provided in the present embodiment and embodiment two, based on the aspect of two under same inventive concept, detailed description is done to the implementation process of method above, so those skilled in the art can according to the apparatus structure in aforementioned understanding the present embodiment be described clearly and implementation process, succinct in order to instructions, has just repeated no more at this.
Technical scheme in above-mentioned the embodiment of the present application, has at least one following technique effect or advantage:
1, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, pass through networking structure, server can obtain a large amount of function call information from multiple client simultaneously, thus obtain abundanter and perfect program execution track, do not need the manpower of at substantial just to improve accuracy and the completeness of assembly excavation, reduce data acquisition cost.
2, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, without the need to carrying out the storage of intermediate file, there is less storage space expense, by server after receiving a function call information at every turn, just real-time update is carried out to existing assembly agreement, namely the acquisition of the excavation function recalls information of assembly agreement is concurrent carries out, and improves the efficiency that assembly agreement is excavated.
3, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, function call information is obtained from multiple client, namely a large amount of pitching pile need not be carried out to obtain enough function call information to of a client program, adopt and pitching pile quantity is set according to the requirement of real-time of application program, avoid excessive pitching pile application programs real-time to affect greatly.
4, the assembly agreement method for digging, the Apparatus and system that provide of the embodiment of the present application, when meeting pre-conditioned, stopping the collection carrying out function call information, effectively alleviating the calculating pressure of server end and client.
Although describe the preferred embodiments of the present invention, those skilled in the art once obtain the basic creative concept of cicada, then can make other change and amendment to these embodiments.So claims are intended to be interpreted as comprising preferred embodiment and falling into all changes and the amendment of the scope of the invention.
Obviously, those skilled in the art can carry out various change and modification to the present invention and not depart from the spirit and scope of the present invention.Like this, if these amendments of the present invention and modification belong within the scope of the claims in the present invention and equivalent technologies thereof, then the present invention is also intended to comprise these change and modification.

Claims (9)

1. an assembly agreement method for digging, is characterized in that, described method is applied in server, described server and N number of client's side link, N be greater than 1 integer, described method comprises:
Send and start pitching pile instruction to described N number of client, in the instruction of described beginning pitching pile, carry the function identification of M the function needing the class excavated, M be greater than 1 integer;
Receive the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
The assembly agreement of the described class stored is upgraded in described server according to described function call information.
2. the method for claim 1, is characterized in that, described upgrade in described server the assembly agreement of the described class stored according to described function call information after, also comprise:
When meeting pre-conditioned, sending and stopping pitching pile instruction to described N number of client, in the instruction of described stopping pitching pile, carrying described function identification, stop the function call information of the described M of a collection function to make described N number of client based on described stopping pitching pile instruction.
3. method as claimed in claim 2, is characterized in that, to be describedly pre-conditionedly specially:
The function numbers that described assembly agreement comprises is more than or equal to first threshold; Described first threshold is more than or equal to the quantity of the Public Function of described class, and/or
The number of times recurring the first event is more than or equal to Second Threshold; Described first event is for upgrading described assembly agreement, and described assembly agreement does not change.
4. an assembly agreement method for digging, is characterized in that, described method is applied in client, and described client is connected with server, and described method comprises:
Receive the beginning pitching pile instruction that described server sends, in the instruction of described beginning pitching pile, carry the function identification of M function needing the class excavated, M be greater than 1 integer;
L function is determined from a described M function; M >=L >=1;
In described client during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application;
Send described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
5. method as claimed in claim 4, is characterized in that, describedly from a described M function, determines L function, is specially:
Obtain the requirement of real-time parameter of described destination application; The response speed that the numerical value of described requirement of real-time parameter and described destination application require is proportional;
From a described M function, L function is determined, to make the numerical value of L and described requirement of real-time parameter be inverse ratio according to described requirement of real-time parameter.
6. the method as described in claim 4 or 5, is characterized in that, after the described function call information of described transmission to described server, also comprises:
Receive the stopping pitching pile instruction that described server sends, in the instruction of described stopping pitching pile, carry described function identification;
The function call information of collecting a described L function is stopped based on described stopping pitching pile instruction.
7. an assembly agreement digging system, is characterized in that, N number of client that described system comprises server and is connected with described server, N be greater than 1 integer;
Wherein, described server starts pitching pile instruction to described N number of client for sending, and carries the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Described N number of client is for receiving the instruction of described beginning pitching pile; And L function is determined from a described M function; M >=L >=1; And in described client during operational objective application program, pitching pile is carried out, to collect the function call information of a described L function to described L function of described destination application; And send described function call information to described server;
Described server also for, receive the described function call information that described N number of client sends; And the assembly agreement of the described class stored is upgraded in described server according to described function call information.
8. an assembly agreement excavating gear, is specially server, it is characterized in that, described server and N number of client's side link, N be greater than 1 integer, described device comprises:
First transmitting element, starting pitching pile instruction to described N number of client for sending, carrying the function identification of M the function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
First receiving element, for receiving the function call information of described M the function that described N number of client sends; Described function call information is the information of described N number of client based on the instruction acquisition of described beginning pitching pile;
Updating block, for upgrading in described server the assembly agreement of the described class stored according to described function call information.
9. an assembly agreement excavating gear, is specially client, it is characterized in that, described client is connected with server, and described device comprises:
Second receiving element, for receiving the beginning pitching pile instruction that described server sends, carries the function identification of M function needing the class excavated in the instruction of described beginning pitching pile, M be greater than 1 integer;
Determining unit, for determining L function from a described M function; M >=L >=1;
Pitching pile unit, for during operational objective application program, carrying out pitching pile, to collect the function call information of a described L function to described L function of described destination application in described client;
Second transmitting element, for sending described function call information to described server, with the assembly agreement making described server upgrade in described server the described class stored according to described function call information.
CN201510405107.9A 2015-07-10 2015-07-10 A kind of component agreement method for digging, apparatus and system Expired - Fee Related CN104932865B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510405107.9A CN104932865B (en) 2015-07-10 2015-07-10 A kind of component agreement method for digging, apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510405107.9A CN104932865B (en) 2015-07-10 2015-07-10 A kind of component agreement method for digging, apparatus and system

Publications (2)

Publication Number Publication Date
CN104932865A true CN104932865A (en) 2015-09-23
CN104932865B CN104932865B (en) 2017-10-10

Family

ID=54120043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510405107.9A Expired - Fee Related CN104932865B (en) 2015-07-10 2015-07-10 A kind of component agreement method for digging, apparatus and system

Country Status (1)

Country Link
CN (1) CN104932865B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051122A (en) * 2019-12-26 2021-06-29 百度在线网络技术(北京)有限公司 Performance data acquisition method, performance data acquisition device, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895411B2 (en) * 2000-11-29 2005-05-17 International Business Machines Corp. Partial stepwise regression for data mining
US6907426B2 (en) * 2001-05-17 2005-06-14 International Business Machines Corporation Systems and methods for identifying and counting instances of temporal patterns
CN101710378A (en) * 2009-10-10 2010-05-19 北京理工大学 Software security flaw detection method based on sequential pattern mining
CN102841844A (en) * 2012-07-13 2012-12-26 北京航空航天大学 Method for binary code vulnerability discovery on basis of simple symbolic execution
CN104731705A (en) * 2013-12-31 2015-06-24 北京理工大学 Dirty data propagation path finding method based on complex network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895411B2 (en) * 2000-11-29 2005-05-17 International Business Machines Corp. Partial stepwise regression for data mining
US6907426B2 (en) * 2001-05-17 2005-06-14 International Business Machines Corporation Systems and methods for identifying and counting instances of temporal patterns
CN101710378A (en) * 2009-10-10 2010-05-19 北京理工大学 Software security flaw detection method based on sequential pattern mining
CN102841844A (en) * 2012-07-13 2012-12-26 北京航空航天大学 Method for binary code vulnerability discovery on basis of simple symbolic execution
CN104731705A (en) * 2013-12-31 2015-06-24 北京理工大学 Dirty data propagation path finding method based on complex network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051122A (en) * 2019-12-26 2021-06-29 百度在线网络技术(北京)有限公司 Performance data acquisition method, performance data acquisition device, electronic equipment and medium
CN113051122B (en) * 2019-12-26 2023-09-15 百度在线网络技术(北京)有限公司 Performance data acquisition method, device, electronic equipment and medium

Also Published As

Publication number Publication date
CN104932865B (en) 2017-10-10

Similar Documents

Publication Publication Date Title
CN103713896B (en) Method and device is generated for accessing the SDK of server
US10127218B2 (en) Object templates for data-driven applications
CN102591777B (en) A kind of unit test code generation method and device
CN106445484A (en) Method and system for realizing data tracking through software development kit
CN102521040B (en) Data mining method and system
CN104142856A (en) Service program call method, service program call system and intelligent equipment thereof
CN109117341A (en) A kind of monitoring method of virtual machine, device, equipment and medium
EP2328301A1 (en) Method and apparatus for managing the authority in workflow component based on authority component
CN109583002A (en) Aviation electronics integral design method
CN106874205A (en) A kind of automated function test devices and methods therefor in continuous integrating
CN102880493B (en) Method for automatically analyzing dynamic dependency relationship between members
CN102946415A (en) Implementation method and device for local application of mobile terminal
EP2551642A2 (en) Systems, methods, and apparatus for utility meter configuration
CN102541544B (en) The processing method of Tree control, Apparatus and system
CN106446064A (en) Data conversion method and device
CN114153473A (en) Module integration method, device, storage medium and electronic equipment
CN104932865A (en) Component protocol mining method, device and system
CN104793928A (en) Developing and running platform implementation method and system based on Java
CN112181542A (en) Function calling method and device, electronic equipment and storage medium
CN104123135A (en) Method and device for unifying background interfaces
CN103559094B (en) Method for managing resources of mobile terminal
CN109960526A (en) A kind of application program packaging method and device
CN102542103A (en) Simulation comprehensive integration system capable of supporting multiple tasks on basis of WEB
CN104143121A (en) Territorial resource law enforcing management system
CN115250278B (en) Method and device for synchronizing multi-cloud management platform and cloud service provider resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171010

Termination date: 20200710