Embodiment
To make the purpose, technical scheme and advantage of the application clearer, below in conjunction with the application specific embodiment and
Technical scheme is clearly and completely described in corresponding attached drawing.Obviously, described embodiment is only the application one
Section Example, instead of all the embodiments.Based on the embodiment in this specification, those of ordinary skill in the art are not having
All other embodiments obtained under the premise of creative work are made, shall fall in the protection scope of this application.
Below in conjunction with attached drawing, the embodiment for describing this specification in detail provides technical solution.
The configuration diagram that Fig. 1 is related to for the flow control system that this specification embodiment provides, including adaptation module
101st, flow acquisition module 103 and flow-control module 105.
The adaptation module 101, for the user terminal of different operating system, according to user the user terminal power
Limit, obtains mould module 103 by corresponding flow and is adapted to the user terminal, the flow acquisition module 103 obtains the user
The data traffic of terminal;The flow-control module 105 is controlled the data traffic acquired, after generation control
Data traffic, the control includes analogue data flow time delay, packet loss or at least one of out of order.
Foregoing different rights are included at least with Root authority (superuser right) and without Root authority.It is described
User terminal, can be mobile terminal or fixed terminal, the personal choice based on user, its operating system may include
It is any one in such as iOS system, android system, linux system, Unix system, Windows systems or MacOS systems
Kind, certainly, other kinds of system can also be extended to as needed, will not enumerate herein.
The corresponding flow acquisition module 103 include Root flows acquisition module corresponding with the authority of user and/or
Non- Root flows acquisition module.Specifically, according to the difference of user's authority on the subscriber terminal, usually there is a variety of default grab
Pack mode (when it is the data packet occurred one by one to obtain object, flow obtaining mode is referred to as packet capturing pattern), it is every kind of to grab
Pack mode corresponds to a kind of packet capturing module, in a modular fashion in access user terminal, for selection by the user.In user terminal
In, the difference of the user right, common situation, that is, user has Root authority or non-Root authority.
As a kind of exemplary embodiment, foregoing system is realized by the form of cross-platform Support Library, can be not
Used in the user terminal of biconditional operation system.This specification embodiment provides a kind of configuration diagram of cross-platform Support Library, such as
Shown in Fig. 2, Fig. 2 is a kind of modular diagram for exemplary cross-platform Support Library that this specification embodiment provides.
When user has Root authority, the data intercept stream of the concatenation type from kernel protocol stack of flow acquisition module 103
Amount.For example, be based on Netfilter modules, test point is placed in some positions of kernel protocol stack (such as can be by HOOK functions
To set), and some processing functions are registered on each test point and are handled, flow can be obtained when passing through from test point
Take, i.e., the data traffic of user terminal is obtained in the slave kernel protocol stack of concatenation type.
When user is non-Root authority, flow acquisition module 103 establishes Virtual Private Network (Virtual Private
Network, VPN), data traffic is obtained by the port of the VPN.In other words, flow acquisition module 103 is built in user terminal
Vertical VPN, proxy user terminal and extraneous flow interaction, are performed by the port of VPN and act on behalf of type packet capturing.
For example, according to the type (such as iOS system or android system) of user terminal operations system, suitability connects
Enter, and VPN is locally created in user terminal, the data flow that each application APP is external on user terminal is obtained by VPN ports
Amount, and write-back gives each APP;Meanwhile establish user terminal to extraneous connection, it is external to parse received each APP
Data traffic, sends to the external world.
After data traffic is acquired, flow-control module 105 is by default flow control algorithm to described
Data traffic is controlled.Specifically, the flow-control module 105, including algoritic module and control execution module.It is described
Algoritic module, the algorithm used according to it, determines the control mode to each data packet, joins wherein the algorithm includes control
Number, the control parameter include timing_delay estimation parameter, packet loss control parameter or out of order rate control parameter.The control performs
Module, perform includes time delay control determined by the algoritic module to the control mode of data traffic, the control execution module
Molding block, packet loss control module either out of order control module respectively to data packet execution time delay, discarding or the operation such as out of order.
For example, algoritic module uses Markov Chain (Markov Chain) probabilistic model, alternatively, in linux kernel
Flow control (Traffic Control, TC) model handles data traffic, judge data traffic each data its be
It is no to need to control, and how this controls to the data packet, to simulate the randomness of real network environment lower network transmission.Ma Er
Section husband chain probability model is a kind of stochastic simulation algorithm, and in the algorithm, the state distribution in data packet future is solely dependent upon now,
It is unrelated with the past, time delay, packet loss and the control mode such as out of order are carried out to data packet using the algorithm and is judged, and by performing mould
Block performs the control mode, can more actually simulate the network environment in reality.TC models in (SuSE) Linux OS, mainly
It is by establishing a queue at flow output port, the control such as current limliting, scheduling, discarding is performed to the data packet in queue
System, with simulate the time delay in true environment, packet loss and it is out of order phenomena such as.
Further, user defined logic interface is further included, the control parameter is specified for user;The control module,
Control parameter according to specified by user, performs control mode of the algoritic module to data traffic.That is, user can oneself
The control parameters such as decay time length, drop probabilities, out of order probability are defined, to simulate various strong and weak different real network environments,
So as to according to business needs, more accurately carry out the simulation test such as time delay or packet loss.
Further, scenario simulation module is further included, by default control parameter, determines the algoritic module to data
The control mode of flow;The control execution module, performs control of the fixed algoritic module to data traffic
Mode.
In other words, flow control algorithm is debugged by adjusting parameter, can obtain close to particular network in practice
Flow transmission under environment, can be by setting as a result, hence for each actual scene (such as mountain valley, elevator in etc.)
Certain control parameter is put to realize simulation.And the corresponding control parameter of a scene is shown in a modular fashion and is supplied to use
Family selects.
For example, by setting larger out of order probability, the train environment quickly moved is simulated;By setting larger time delay
Time, the elevator environment in simulation rising or decline;By setting larger drop probabilities, mountain valley or basement etc. are simulated
Weak net environment etc..As a kind of application example, this specification embodiment provides a kind of schematic diagram of flow-control module, such as schemes
Shown in 3.A variety of scene modes are determined by artificial target flow control parameter, and then various scene mode (examples are provided
Such as, high mountain, mountain valley, train on the move etc.) so that user carries out network test, user only needs a key to select, without wasting
Time goes to simulate various scenes.It is more convenient so as to carry out simulation test, improve user experience.
Further, the flow-control module 105, by adjusting flow control algorithm flow control parameter to described
The data traffic acquired is controlled, wherein, the flow control parameter is obtained according to the flow control algorithm, is used for
Control of the flow control algorithm to data traffic, joins including at least delay parameter, drop probabilities parameter or out of order probability
Any one in number.
Corresponding flow control parameter is obtained by flow control algorithm and (includes at least timing_delay estimation parameter, drop probabilities
Any one in control parameter or out of order probability control parameter), so by flow control model to data traffic into
During row control, it is only necessary to parameter is adjusted corresponding control can be achieved.
Further, the flow-control module 105, by specific scene mode to the data acquired
Flow is controlled, wherein, the specific scene mode is predefined by specified flow control parameter.
Flow Controlling model is debugged by adjusting parameter, can obtain close to specific scene mode in practice
Flow control model.That is, a variety of scene modes are determined by artificial target flow control parameter, and then various fields is provided
Scape pattern (for example, high mountain, mountain valley, train on the move etc.) carries out network test for user, and user only needs a key to select,
It need not lose time to simulate various scenes.
It should be noted that in the above examples, only enumerated has considerable influence factor respectively for each scene
Flow control parameter, in practical applications, some scene mode are typically to be determined jointly by multiple flow control parameters, specifically
The big I of parameter values by adjusting flow control parameter to change the analog result of flow control model, when analog result and reality
Test when carrying out contrasting close, artificially determine the corresponding parameter values of the scene.
Before being controlled using default flow control model to the data traffic acquired, acquire
Data traffic include caused all data packets when the user's terminal and the external world interact, it is clear that data traffic is usual
Be multiple APP data packet it is mixed in together, based on this, to improve the purity level of data traffic, it is necessary to phase by each APP
Close data packet to separate, only retain user's flow interested.
Based on this, the flow control system, further includes traffic identification module:According to the configuration information of user terminal, obtain
The data traffic for belonging to specified APP is taken, wherein, the configuration information of the user terminal includes the information of the specified APP.That is,
The data traffic for belonging to specified APP only includes caused data packet when the APP is interacted with the external world, without including other
The data packet of APP.
The configuration information of user terminal can be that acquiescence specifies some or multiple APP, can also provide user terminal
The multiple APP run are specified to user's selection.In other words, i.e., according to the configuration information of user terminal to the flow that acquires
It is identified and screens, only retains the data traffic for belonging to and specifying application.
It should be noted that the specified application APP can be one or more.When user specifies multiple APP
When, the APP each specified each corresponds to one group of related data flow.In addition, this is specified APP and selects flow acquisition module
Process, usually carries out before flow is obtained.User can first specify APP, then choose flow acquisition module;Stream can also first be chosen
Acquisition module is measured, then specifies APP.
Under a kind of specific embodiment, the traffic identification module, can by way of port match, obtain with
The relevant data traffics of APP that user specifies.Specifically, the number for including port numbers is obtained by default flow acquisition module
According to bag;The flow port information that the operating system of the port numbers and user terminal provides is matched, obtains port numbers institute
Corresponding APP mark, wherein, the flow port information that the operating system of user terminal provides includes port numbers and APP identifies
Correspondence;According to the data packet for including the port numbers corresponding with the specified APP mark, determine described with specified APP phases
The data traffic of pass.
For example, under Linux/Unix systems, " there is port in the tcp files under/proc/net " catalogues in system
Number and APP unique marks correspondence;Uniquely marked by flow port table storage end slogan and APP in Windows systems
The correspondence of knowledge.That is, the port numbers of each data packet in flow are got, you can the port numbers are obtained by matched mode
Corresponding APP marks, so as to obtain the data flow for belonging to the APP.
Under another specific embodiment, the traffic identification module, can be obtained by way of packet inspection technical
Take and belong to the relevant data traffics of specified APP.Specifically, data traffic is obtained by default flow obtaining mode;To institute
The content for stating data traffic is identified, and obtains the data traffic for belonging to specified APP;The content of the data traffic includes data
One or more in the transport protocol of flow, port numbers, IP address, unique address identifiers URL or payload user data.
Since different APP often relies on different agreements, different agreements has its special feature, these features
It is probably specific port, specific character string or specific server ip, APP in extraneous interaction with may can also
Produce universal resource locator (Uniform Resource Locator, URL) and specific interaction content (for example, APP from
When server-side request is downloaded) etc..Based on this, feature identification technique can be used by being carried out to the correlated characteristic in data traffic
Application of the detection corresponding to definite data packet.For example, using deep packet inspection technical (Deep Packet Inspection,
DPI) payload user data of data packet is identified, to determine the application belonging to the data packet.
By the way that the flow of user terminal is identified, it can be carried out specifying packet capturing according to actual needs, only retain and belong to
The data traffic of user APP interested, improves the degree of purity of flow, and more accurately foundation is provided for follow-up work.
Preceding method describes how that identification belongs to the data traffic of user APP interested, it is necessary to illustrate, one
APP may employ multiple services at the same time, can also be identified by same principle (port numbers match or deep packet identifies)
Go out the service interested to user, so as to further refine the ownership of data traffic, specific method is similar with preceding method, no
Repeat again.
When user specifies multiple APP in advance, each APP has each autocorrelative group data stream amount.By specifying
Using flow acquisition is carried out, the pure property of flow ensure that, improve test accuracy.Flow control is being carried out for specified application
When, other unappropriated application traffics will not change, and facilitate user to be contrasted.
During flow obtains, different flow obtaining modes can be identified with flow is combined progress.As example
Property embodiment, this specification embodiment provides a kind of schematic diagram of Root flows acquisition module, as shown in Figure 4;This explanation
Book embodiment also provides a kind of schematic diagram of non-Root flows acquisition module, as shown in Figure 5.
Foregoing flow control system can be in the form of plug-in unit or flow control tool, the access user terminal of suitability
Platform.After access user terminal platform, as a kind of exemplary embodiment, in practical application scene, the stream
Amount control system can perform the steps, be held as shown in fig. 6, Fig. 6 is the flow control system that this specification embodiment provides
The flow diagram of row step, including:
S601, opens packet catcher, and system initialization simultaneously prompts flow obtaining mode;
S603, user selects flow obtaining mode, and specifies the application for needing to capture and scene mode;
S605, according to the setting of user, adaptation starts cross-platform Support Library;
S607, judge can be in reading system local networking message file;If can, matched according to port and application UID
Identification data flow;If it is not, DPI identifications are carried out to data traffic;
S609, according to the parameter of scene mode, determines control mode of the flow control model to data packet;
S611, the application captured is needed according to specified by the ownership of the S607 data packets identified and S603, is judged whether
Data packet is controlled;If so, performing the control mode determined in S609 to the data packet, and it is written back to network interface card;It is if it is not, straight
Take back and be written to network interface card.
By the type for user terminal operations system, the packet capturing mode adaptation of different rights is accessed so that this
Scheme can support a variety of different operating systems (such as iOS either android system) or different user authority (such as Root
Authority and non-Root authority) user terminal, the flow that gets is carried out using flow control algorithm various controls (such as when
Prolong, out of order or packet loss) so that the adaptability of this programme is wider.In addition, flow control is controlled by using flow control parameter
Algorithm, and by the self-defined various scenes of parameter, to various weak net environment or actual scene (such as in elevator, mobile arrange
The scenes such as car, high mountain) simulation test is carried out, it is more convenient;Also, the APP that user specifies can also be directed to and carry out flow control,
It ensure that the pure property of flow, improve test accuracy.
Based on same thinking, the present invention also provides a kind of flow control methods, as shown in fig. 7, Fig. 7 is real for this specification
The flow diagram of the flow control methods of example offer is provided, including:
S701,, will be corresponding according to user in the authority of the user terminal for the user terminal of different operating system
Flow obtaining mode is adapted to the user terminal, and the authority is Root authority or non-Root authority;
S703, the data traffic of the user terminal is obtained by the flow obtaining mode;
S705, is controlled the data traffic acquired, the data traffic after generation control, the control bag
Include analogue data flow time delay, packet loss or at least one of out of order.
Further, in the S703, the data traffic of the user terminal is obtained by the flow obtaining mode,
Including:
When user is when the authority of the user terminal is Root authority, in a manner of concatenation, obtained from kernel protocol stack
Take data traffic;Alternatively,
When user is when the authority of the user terminal is non-Root authority, Virtual Private Network VPN is established, by described
The port of VPN obtains data traffic, and the flow that the VPN is used between proxy user terminal and the external world interacts.
Further, the foregoing port acquisition data traffic established Virtual Private Network VPN, pass through the VPN, is wrapped
Include:According to the type of user terminal platform, adaptation establishes VPN;Each application APP on user terminal is obtained by VPN ports
External data traffic, and write-back gives each APP;User terminal is established to extraneous connection, parses and received respectively should
With the external data traffics of program APP, sent by VPN ports to the external world.
Further, in the S705, being controlled to the data traffic acquired, the number after generation control
According to flow, including:The data traffic acquired is controlled by adjusting the flow control parameter of flow control algorithm
System, wherein, the flow control parameter is obtained according to the flow control algorithm, for the flow control model to data flow
The control of amount, including at least any one in delay parameter, drop probabilities parameter or out of order probability parameter.
Further, the foregoing flow control parameter by adjusting the flow control algorithm is acquired to described
Data traffic be controlled, including:The data traffic acquired is controlled by specific scene mode, its
In, the specific scene mode is predefined by specified flow control parameter.
Further, it is being controlled to the data traffic acquired using default flow control model
Before, the method further includes S707, according to the configuration information of user terminal, obtains the data flow for belonging to specified application APP
Amount, wherein, the configuration information of the user terminal includes the information of the specified APP.
Further, the S707, according to the instruction of user, obtains and specifies the relevant data traffics of APP with user, wrap
Include:The data packet for including port numbers is obtained by default flow obtaining mode;By the port numbers and the user terminal
The flow port information that operating system provides is matched, and obtains the APP marks corresponding to the port numbers, wherein, the stream
Measure the correspondence that port information includes port numbers and APP is identified;According to including corresponding end is identified with the specified sequence APP
The data packet of slogan, determines the data traffic for belonging to specified sequence APP.
Further, the S707, according to the instruction of user, obtains and specifies the relevant data traffics of APP with user, wrap
Include:Data traffic is obtained by default flow obtaining mode;The content of the data traffic is identified, obtains the category
In the data traffic for specifying APP;The transport protocol of the content of the data traffic including data traffic, port numbers, IP address, only
One or more in one address designator URL or payload user data.
Further, the method further includes S709, sends the data traffic after the control to the user terminal
Network interface card.
Based on same thinking, the present invention also provides a kind of volume control device, as shown in figure 8, Fig. 8 is real for this specification
The structure diagram of the volume control device of example offer is applied, described device includes:
Adaptation module 801, for the user terminal of different operating system, according to user the user terminal authority,
Corresponding flow acquisition module is adapted to the user terminal, the authority is Root authority or non-Root authority;
Flow acquisition module 803, obtains the data traffic of the user terminal;
Flow-control module 805, is controlled the data traffic acquired, the data flow after generation control
Amount, the control include analogue data flow time delay, packet loss or at least one of out of order.
Corresponding, the embodiment of the present application also provides a kind of flow-control equipment, and the equipment includes:
Memory, stores flow control procedure;
Processor, calls the flow control procedure in memory, and performs:
For the user terminal of different operating system, according to user the user terminal authority, by corresponding flow
Acquisition module is adapted to the user terminal, and the authority is Root authority or non-Root authority;
The data traffic of the user terminal is obtained by the flow obtaining mode;
The data traffic acquired is controlled, the data traffic after generation control, the control includes mould
Intend data traffic time delay, packet loss or at least one of out of order.
Based on same invention thinking, the embodiment of the present application additionally provides a kind of corresponding non-volatile computer storage and is situated between
Matter, is stored with computer executable instructions, and the computer executable instructions are arranged to:
For the user terminal of different operating system, according to user the user terminal authority, by corresponding flow
Acquisition module is adapted to the user terminal, and the authority is Root authority or non-Root authority;
The data traffic of the user terminal is obtained by the flow obtaining mode;
The data traffic acquired is controlled, the data traffic after generation control, the control includes mould
Intend data traffic time delay, packet loss or at least one of out of order.
Each embodiment in this specification is described by the way of progressive, identical similar portion between each embodiment
Divide mutually referring to what each embodiment stressed is the difference with other embodiment.Especially for method,
For device, equipment and medium class embodiment, since it is substantially similar to system embodiment, so fairly simple, the phase of description
Close part referring to the part of system embodiment to illustrate, just no longer repeat one by one here.
It is above-mentioned that this specification specific embodiment is described.Other embodiments are in the scope of the appended claims
It is interior.In some cases, the action recorded in detail in the claims or step or module can be according to different from embodiments
Order performs and still can realize desired result.In addition, the process described in the accompanying drawings not necessarily requires what is shown
Particular order or consecutive order could realize desired result.In some embodiments, multitasking and parallel processing
It is also possible or it may be advantageous.
In the 1990s, the improvement for a technology can clearly distinguish be on hardware improvement (for example,
Improvement to circuit structures such as diode, transistor, switches) or software on improvement (improvement for method flow).So
And as the development of technology, the improvement of current many method flows can be considered as directly improving for hardware circuit.
Designer nearly all obtains corresponding hardware circuit by the way that improved method flow is programmed into hardware circuit.Cause
This, it cannot be said that the improvement of a method flow cannot be realized with hardware entities module.For example, programmable logic device
(Programmable Logic Device, PLD) (such as field programmable gate array (Field Programmable Gate
Array, FPGA)) it is exactly such a integrated circuit, its logic function determines device programming by user.By designer
Voluntarily programming comes a digital display circuit " integrated " on a piece of PLD, without asking chip maker to design and make
Dedicated IC chip.Moreover, nowadays, substitution manually makes IC chip, this programming is also used instead mostly " patrols
Volume compiler (logic compiler) " software realizes that software compiler used is similar when it writes with program development,
And the source code before compiling also write by handy specific programming language, this is referred to as hardware description language
(Hardware Description Language, HDL), and HDL is also not only a kind of, but have many kinds, such as ABEL
(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description
Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL
(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby
Hardware Description Language) etc., VHDL (Very-High-Speed are most generally used at present
Integrated Circuit Hardware Description Language) and Verilog.Those skilled in the art also should
This understands, it is only necessary to method flow slightly programming in logic and is programmed into integrated circuit with above-mentioned several hardware description languages,
The hardware circuit for realizing the logical method flow can be readily available.
Controller can be implemented in any suitable manner, for example, controller can take such as microprocessor or processing
The computer for the computer readable program code (such as software or firmware) that device and storage can be performed by (micro-) processor can
Read medium, logic gate, switch, application-specific integrated circuit (Application Specific Integrated Circuit,
ASIC), the form of programmable logic controller (PLC) and embedded microcontroller, the example of controller include but not limited to following microcontroller
Device:ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, are deposited
Memory controller is also implemented as a part for the control logic of memory.It is also known in the art that except with
Pure computer readable program code mode is realized beyond controller, can be made completely by the way that method and step is carried out programming in logic
Controller is obtained in the form of logic gate, switch, application-specific integrated circuit, programmable logic controller (PLC) and embedded microcontroller etc. to come in fact
Existing identical function.Therefore this controller is considered a kind of hardware component, and various to being used for realization for including in it
The device of function can also be considered as the structure in hardware component.Or even, the device for being used for realization various functions can be regarded
For either the software module of implementation method can be the structure in hardware component again.
System, device, module or the unit that above-described embodiment illustrates, can specifically be realized by computer chip or entity,
Or realized by having the function of certain product.One kind typically realizes that equipment is computer.Specifically, computer for example may be used
Think personal computer, laptop computer, cell phone, camera phone, smart phone, personal digital assistant, media play
It is any in device, navigation equipment, electronic mail equipment, game console, tablet PC, wearable device or these equipment
The combination of equipment.
For convenience of description, it is divided into various units during description apparatus above with function to describe respectively.Certainly, this is being implemented
The function of each unit can be realized in same or multiple softwares and/or hardware during the embodiment of specification.
It should be understood by those skilled in the art that, the embodiment of the present invention can be provided as method, system or computer program
Product.Therefore, the present invention can use the reality in terms of complete hardware embodiment, complete software embodiment or combination software and hardware
Apply the form of example.Moreover, the present invention can use the computer for wherein including computer usable program code in one or more
The computer program production that usable storage medium is implemented on (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.)
The form of product.
The present invention be with reference to according to the method for the embodiment of the present invention, the flow of equipment (system) and computer program product
Figure and/or block diagram describe.It should be understood that it can be realized by computer program instructions every first-class in flowchart and/or the block diagram
The combination of flow and/or square frame in journey and/or square frame and flowchart and/or the block diagram.These computer programs can be provided
The processors of all-purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce
A raw machine so that the instruction performed by computer or the processor of other programmable data processing devices, which produces, to be used in fact
The device for the function of being specified in present one flow of flow chart or one square frame of multiple flows and/or block diagram or multiple square frames.
These computer program instructions, which may also be stored in, can guide computer or other programmable data processing devices with spy
Determine in the computer-readable memory that mode works so that the instruction being stored in the computer-readable memory, which produces, to be included referring to
Make the manufacture of device, the command device realize in one flow of flow chart or multiple flows and/or one square frame of block diagram or
The function of being specified in multiple square frames.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that counted
Series of operation steps is performed on calculation machine or other programmable devices to produce computer implemented processing, thus in computer or
The instruction performed on other programmable devices is provided and is used for realization in one flow of flow chart or multiple flows and/or block diagram one
The step of function of being specified in a square frame or multiple square frames.
In a typical configuration, computing device includes one or more processors (CPU), input/output interface, net
Network interface and memory.
Memory may include computer-readable medium in volatile memory, random access memory (RAM) and/or
The forms such as Nonvolatile memory, such as read-only storage (ROM) or flash memory (flash RAM).Memory is computer-readable medium
Example.
Computer-readable medium includes permanent and non-permanent, removable and non-removable media can be by any method
Or technology come realize information store.Information can be computer-readable instruction, data structure, the module of program or other data.
The example of the storage medium of computer includes, but are not limited to phase transition internal memory (PRAM), static RAM (SRAM), moves
State random access memory (DRAM), other kinds of random access memory (RAM), read-only storage (ROM), electric erasable
Programmable read only memory (EEPROM), fast flash memory bank or other memory techniques, read-only optical disc read-only storage (CD-ROM),
Digital versatile disc (DVD) or other optical storages, magnetic cassette tape, the storage of tape magnetic rigid disk or other magnetic storage apparatus
Or any other non-transmission medium, the information that can be accessed by a computing device available for storage.Define, calculate according to herein
Machine computer-readable recording medium does not include temporary computer readable media (transitory media), the data letter numbering and carrier wave of such as modulation.
It should also be noted that, term " comprising ", "comprising" or its any other variant are intended to nonexcludability
Comprising so that process, method, commodity or equipment including a series of elements not only include those key elements, but also wrapping
Include other elements that are not explicitly listed, or further include for this process, method, commodity or equipment it is intrinsic will
Element.In the absence of more restrictions, the key element limited by sentence "including a ...", it is not excluded that wanted including described
Also there are other identical element in the process of element, method, commodity or equipment.
It will be understood by those skilled in the art that embodiment one or more in this specification can be provided as method, system or
Computer program product.Therefore, the embodiment of this specification can use complete hardware embodiment, complete software embodiment or combination
Form in terms of software and hardware.Moreover, the embodiment of this specification can be used wherein includes computer in one or more
The computer-usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) of usable program code
The form of the computer program product of upper implementation.
The embodiment of this specification can retouch in the general context of computer executable instructions
State, such as program module.Usually, program module include perform particular transaction or realize particular abstract data type routine,
Program, object, component, data structure etc..The embodiment of this specification can also be put into practice in a distributed computing environment, at this
In a little distributed computing environment, by performing affairs by communication network and connected remote processing devices.Counted in distribution
Calculate in environment, program module can be located in the local and remote computer-readable storage medium including storage device.
Each embodiment in this specification is described by the way of progressive, identical similar portion between each embodiment
Divide mutually referring to what each embodiment stressed is the difference with other embodiment.It is real especially for system
For applying example, since it is substantially similar to embodiment of the method, so description is fairly simple, related part is referring to embodiment of the method
Part explanation.
The foregoing is merely the embodiment of this specification, the application is not limited to.For people in the art
For member, the embodiment of this specification can have various modifications and variations.The spirit and principle of all embodiments in this specification
Within any modification, equivalent replacement, improvement and so on, should be included among the interest field of the application.