CN108809764A - The network based on GPU accesses overtrick and connects number evaluation method under sliding window - Google Patents

The network based on GPU accesses overtrick and connects number evaluation method under sliding window Download PDF

Info

Publication number
CN108809764A
CN108809764A CN201810618223.2A CN201810618223A CN108809764A CN 108809764 A CN108809764 A CN 108809764A CN 201810618223 A CN201810618223 A CN 201810618223A CN 108809764 A CN108809764 A CN 108809764A
Authority
CN
China
Prior art keywords
overtrick
sliding
estimator
aip
candidate
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
CN201810618223.2A
Other languages
Chinese (zh)
Other versions
CN108809764B (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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN201810618223.2A priority Critical patent/CN108809764B/en
Publication of CN108809764A publication Critical patent/CN108809764A/en
Application granted granted Critical
Publication of CN108809764B publication Critical patent/CN108809764B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Overtrick is accessed the present invention provides the network based on GPU under sliding window and connects number evaluation method, and data structure is maintained in the video memory of GPU, is carried out overtrick connection number estimation parallel by GPU, is included the following steps:All messages in initialization sliding estimator matrix on GPU and one the candidate overtrick list of sliding, scanning timeslice, in timeslice at the end of estimate that overtrick connects number, window sliding.The present invention can detect overtrick and estimator connection number under sliding window, and estimated value is more acurrate, is not influenced by window start times, and the overtrick across time boundary will not be omitted;There is lower time delay than existing method, overtrick connection number can be estimated in time;Energy real-time parallel handles high-speed network flow, reduces computer capacity, improves the bulk velocity of algorithm, and sliding estimator matrix can be simultaneously by multiple IP address to updating without output mistake.

Description

The network based on GPU accesses overtrick and connects number evaluation method under sliding window
Technical field
The invention belongs to express network management and parallel computing field, it is related under a kind of sliding window based on GPU's The real-time overtrick of express network connects number estimating techniques.
Background technology
Overtrick is a kind of special host.Assuming that there are two networks:ANet and BNet.The two networks pass through border routing Device ER is communicated.ANet can be the network of Metropolitan Area Network (MAN) either some country.BNet be another Metropolitan Area Network (MAN) either Internet.All flows between ANet and BNet can be observed from ER.For a host " aip " in ANet, Host in the BNet that following period of time is communicated by ER with aip is known as the connection number of aip.When the connection number of aip is big When some specified threshold θ, aip is known as an overtrick.
Overtrick is related with many events in network, such as DDoS, scanning attack etc..It is also network management that host, which connects number, With an important attribute in measurement.Since overtrick only accounts for the sub-fraction of whole hosts, it is one to carry out emphasis monitoring to overtrick The efficient express network real-time management method of kind.
It can also be sliding time window that time window in overtrick defines, which can be discrete time window,.Existing overtrick Connection number calculating method all carries out under discrete window.Under discrete time window, it is not overlapped between two neighboring window Time.Fig. 1 describes the traffic partition situation under discrete window and sliding window.
Flow between network A Net and BNet can be divided according to the identical sequential time slices of size.Timeslice Length can be 1 second, 1 minute or be set as other values according to concrete application.One Digital ID of each timeslice.Such as Fig. 1 Shown in top half, a sliding time window includes the continuous k timeslice since t-th of timeslice, is denoted as W (t, k). Sliding time window moves forward a timeslice every time.Therefore identical containing k-1 between two neighboring sliding time window Timeslice.When k is 1, there is no the overlapped period between two neighboring time window.Time window at this time is exactly Discrete time window, as shown in the lower half portion of Fig. 1.
Network packet continuously transmits between network A Net and BNet.If by their discrete divisions, number is connected Estimation result can be influenced by time window starting point.For example, it is a host in ANet to enable aip.As shown in Fig. 2, Assuming that its only main-machine communication within the period from p0 to p1 and in BNet." communication " of this paper refers to aip in BNet Host transmission data packet or receive data packet from the host in BNet.Pkt (aip, p0, p1) expressions are enabled to be arrived in period p0 The data packet stream communicated with aip in p1.
P0 is an inner time point of discrete time window W (t, 1), and p1 is inner one of discrete time window W (t+1,1) Time point.P2 is enabled to indicate the time boundary of W (t, 1) and W (t+1,1).The data packet of aip can be divided into two parts:From p0 to p2 Data packet in period and the data packet from p2 to p1 in the period.Be denoted as respectively Pkt (aip, p0, p2) and Pkt (aip, p2,p1).Under discrete time window, the connection number calculating of aip can generate mistake due to following two:
Half loses (Half loss, HL) is more than θ according to the connection number that Pkt (aip, p0, p2) is calculated;But from Pkt The connection number that (aip, p2, p1) is calculated is less than θ.Aip is only detected as overtrick W (t, 1) is inner at this time.And the company of aip Connect the part that number can be lost between period p2 to p1.
Complete lose (Full loss, FL) is from Pkt (aip, p0, p2) and the inner connections calculated separately of Pkt (aip, p2, p1) Number is both less than θ, but from Pkt (aip;p0;P1) the inner connection number being calculated is more than θ.At this point, overtrick aip is in W (t, 1) and W (t+1,1) inner to be all detected.
With | HL | and | FL | indicate the quantity of both hosts.| HL | and | FL | it is related with the size of timeslice.With Cs tables Show the length of a timeslice.Cs is smaller, then the inner data packet numbers for including of Pkt (aip, p0, p2) and Pkt (aip, p2, p1) It is smaller, | HL | and | FL | it can also reduce accordingly.But under discrete time window, Cs is exactly the time span measured, cannot Arbitrarily change.Need to calculate the application that overtrick in longer period connects number for some, discrete time window can cause very big Loss.
Cs can also influence the delay that overtrick connection number calculates.If the aip connections being calculated from Pkt (aip, p2, p1) Number is more than θ, and the connection number of aip should immediately be calculated in p1.But under discrete time window, overtrick connects several when each Between calculate at the end of window it is primary.Therefore delay is Cs-p1.
The disadvantages mentioned above of discrete time window is since its movable length is equal to the length of window.With discrete time window Difference, for sliding window, the length of each timeslice can be much smaller than the length of window.Use below Csd indicate it is discrete when Between the next timeslice of window length, i.e., the length of one discrete time window;When indicating that sliding window is next using Css Between piece length.
Sliding time window has better measurement result than discrete time window.It moves forward the distance of Css every time, And the storage of increment type and the connection number for updating host.Due to being influenced smaller, sliding window tool by time window starting point There is accuracy rate more higher than discrete window.Since in the case of same time length of window, Css is much smaller than Csd, so sliding Time window can more timely calculate overtrick connection number.
When having uniform window length with discrete time window, Css can be set to the value of very little to reduce | HL |, | FL | and computing relay.If k is arranged to sufficiently large, under sliding window | HL | and | FL | it can be ignored.Such as we One hour truthful data is had collected from the express network of 40Gb/s to test | HL | and | FL | value.This segment data flow from The 13 of on October 21st, 2017:00 starts lasting one hour, and is also one of experimental data set below.As θ=1024, Csd At=300 seconds, Css=1 seconds and k=300, each sliding window average detected to 574 overtricks.With sliding time window phase Than under discrete time window | HL | under much average 50, | FL | it is average 14 more.
This example illustrates that sliding time window has higher accuracy rate than discrete time window well.Assuming that I To calculate in ANet overtrick connection number (in BNet overtrick connection number can be calculated with identical algorithm, it is only necessary to by IP Address swaps).
It is inner all using aip as source or place address in time window W (t, k) for a host aip in network A Net , the data packet stream of aip is constituted by the data packet of border router ER, is denoted as Pkt (aip, t, k).
By extracting another address in the inner each data packets of Pkt (aip, t, k) in addition to aip, pair of aip can be obtained End main frame stream is denoted as HS (aip, t, k).For some host bip in BNet, if bip time window W (t, k) it is inner with Aip is communicated, then bip may be multiple in the inner appearance of HS (aip, t, k).Because aip receives multiple data packets from bip, or to bip Send multiple data packets.
Host inner HS (aip, t, k) constitutes the opposite end host complexes of aip, is denoted as OP (aip, t, k).OP(aip,t, K) number of element is less than or equal to the number of HS (aip, t, k) inner element in.Remember that the number of OP (aip, t, k) inner element is | OP (aip,t,k)|.Then | OP (aip, t, k) | it is exactly connection numbers of the aip under time window W (t, k).For some in ANet Host aip, if | OP (aip, t, k) | >=θ, then aip be known as an inner overtrick of sliding window W (t, k).
Threshold θ is the positive integer that user defines according to different application.For example, θ could be provided as the past period The average of interior All hosts connection number, or the connection number of server under normal circumstances.
Overtrick connection number estimation is relatively easy under discrete window, because it does not require to preserve host in for the previous period State.But there are following two problems for estimation result:
1) calculated value is influenced by time window starting point, cannot detect the overtrick across time window boundary.
2) result of calculation has prodigious delay.
The two disadvantages of discrete time window come from its move mode.The time that discrete time window moves every time Length is equal to the length of own.When discrete time length of window is bigger, computing relay and error rate will be higher.When sliding Between window solve the above problem well because the time span that sliding window moves every time can be much smaller than the length of its own Degree.For example, when the length of time window is set as 300 seconds, sliding time window every time can forward slip 1 second.And from Scattered time window must move 300 seconds.For the express network of 40Gb/s, discrete time window can be than sliding time window missing inspection 14 overtricks across time boundary.But overtrick connection number calculating can be more more complicated than under discrete window under sliding time window. The state for the previous period of preservation host is needed under sliding time window and the calculating more more frequent than discrete time window Overtrick connects number.Existing method cannot all be run under sliding window, because they need to start institute in each period Some data structures are initialized.The connection number information recorded in the period before losing in this way.And these methods exist Plenty of time calculating overtrick is occupied at the end of each time window connects number.It has been more than sliding window next time to calculate the time The length of piece.
It is connected in number estimation method in existing overtrick, bit matrix is the number of most common preservation host connection number information According to structure.In scan data packet, the appearance of different hosts is indicated by the way that certain positions of bit matrix are set as 1.In order to Can recover overtrick at the end of each period, data packet can be mapped to according to special method in bit matrix some or Certain bits.Chinese remainder theorem (CRT) is to be used for determining the method which bit can be set earliest.By using CRT, each position in bit matrix can be shared by different hosts.But the calculating of CRT is complicated, limits the speed of this method Degree.A kind of improved method is that data packet is mapped to bit square by the method extracted using the principle and Bit String of Bloom filter Different bits in battle array.In this method secondary IP address extract specific position Bit String as data packet in bit matrix One index.By the way that the index of different location is combined to restore overtrick.Using the Bit String in IP address as index, though It is so easy to operate, but randomness is not high, each bit in bit matrix cannot be used with identical probability.Lead to the party Method memory usage is low, and accuracy rate is high.This method can not connect number to the overtrick under sliding window and estimate simultaneously.
Current network bandwidth is increasing, and parallel computation becomes one of the necessary method of processing express network stream in real time. Many existing methods attempt by using high-speed internal memory, such as Static RAM SRAM, to accelerate the processing speed of data packet. But SRAM capacity is limited, limits application of these methods in large scale network.And overtrick connection number estimation needs to occupy A large amount of resource, and the processing speed of CPU just becomes the new bottleneck of method.GPU (graphics processor) has higher than CPU Parallel processing capability is because it contains more computing units.It can be real-time when carrying out overtrick connection number estimation using GPU Handle high-speed network flow.It is a kind of to tolerate wrong Hash table to filter stream record, while recording host using bitmap The method of connection number realizes the parallel computation of host connection number on GPU for the first time.But this method is needed in scan data packet When need to store the IP address of each stream record, and cannot directly recover overtrick.Number is attached to All hosts and calculates meeting Occupy the plenty of time.And network packet is directly passed to GPU by this method, occupies a large amount of transmission bandwidth.Server with Communication between GPU becomes the bottleneck of this method.
Invention content
To solve the above problems, the invention discloses the overtrick connection number estimation sides under a kind of sliding window based on GPU Method carries out real time high-speed net under sliding window using a kind of new structure come the connection number of the record host of increment type based on GPU Network accesses overtrick connection number estimation.This method includes two data structures of setting:Slide estimator matrix and the candidate overtrick of sliding List, sliding estimator matrix is for checking that overtrick connects number with record overtrick.Sliding estimator matrix is by the cunning of u rows v row The matrix of dynamic estimator composition.Method includes integrally Four processes:Initialization sliding estimator matrix and sliding are candidate on GPU Overtrick list, all messages in one timeslice of scanning estimate overtrick connection number, window sliding at the end of timeslice.This The data structure of method is maintained in the video memory of GPU;Four processes are run on GPU, and overtrick connection is carried out parallel by GPU Number estimation.
In order to achieve the above object, the present invention provides the following technical solutions:
The network based on GPU accesses overtrick and connects number evaluation method under sliding window, includes the following steps:
Data structure initializes, and the data structure includes sliding estimator matrix and the candidate overtrick list of sliding;
All data packets in a timeslice are scanned, number is connected using sliding estimator matrix record host, is scanning When data packet, judge whether host is overtrick, and the overtrick detected is added in candidate host list;
At the end of timeslice, the connection of each host in candidate overtrick list is calculated according to sliding estimator matrix Number, output connection number are more than the host and its estimated value of threshold value;After the connection number for having estimated all candidate overtrick hosts, update is slided Dynamic estimator matrix and candidate overtrick list;
By one timeslice of window forward slip, starts to scan the data packet in next timeslice, estimate next cunning Overtrick in dynamic window connects number.
Specifically, including the following steps:
The first step, arrange parameter
The sliding estimator matrix being made of the sliding estimator of u rows v row is set, and each estimator that slides includes:By n The overtrick indicator of bit composition;Obscuring estimator by the sliding that g integer forms, (for IPv4,8) value of g is;By g ' (fetching of g ' is the integer more than 1024 to the linear estimator of sliding of a integer composition, and g ' values are bigger, and valuation result is more smart Really);Sliding candidate list for preserving the candidate overtrick detected is set, since overtrick number is uncertain, so sliding is waited Select list meeting dynamic change at runtime.
Second step, the initialization data structure on GPU
The memory headroom of distribution sliding estimator matrix on the video memory of GPU, initialization sliding estimator matrix will slide The integer that all slidings obscure estimator in estimator matrix is set as maximum value.All lines of slide in estimator matrix will be slided The integer of property estimator is set as maximum value.One piece of video memory space is reserved on GPU, for preserving candidate overtrick list.Due to Overtrick number only accounts for the sub-fraction of whole hosts, so, reserved video memory space does not have to very big.
Third walks, and scans IP data packets, extracts IP address pair
The data packet in each timeslice is scanned, the IP address of each data packet is extracted, with obtaining the IP of each data packet Location pair.IP address to be shaped like<aip,bip>Two tuples.Aip is a host in the network to be measured, and bip is to pass through The host that border router is communicated with aip.On the server first to these IP to caching.When buffering area is full or at one Between data packet scanning in piece when completing, by the IP address in buffering area on server to copying GPU's to by PCIe buses In video memory.
4th step starts GPU threads, scans IP address pair
After the completion of duplication, GPU starts handles the IP address pair received with IP address to the thread of identical quantity.Each GPU threads read an IP address of the IP address to buffering area<aip,bip>To handling.Slide each of estimator matrix Corresponding hash function RHi, the i ∈ [0, v-1] of row.Aip is mapped to any one sliding valuation of the i-th row by RHi (aip) Device.For the i-th row, a sliding estimators of RHi (aip) can be updated, and preserve the connection number of aip.
5th step, at the end of timeslice, estimation overtrick connects number
After scanning through all data packets in the timeslice at the end of timeslice, proceeds by overtrick connection number and estimate It calculates.Host in candidate overtrick list is grouped, every group of 1024 hosts.For every group of host, carried out on GPU respectively Overtrick connects number estimation.Evaluation method is for one group of overtrick host, to start 1024 threads, per thread estimates one respectively The connection number of a host.Per thread estimates that the method for candidate host connection number is as follows.If the cunning of all sliding estimators of the i-th row The number of integer of the value of linear estimator less than k be | LDR (i) |k.It calculates and slides linear estimation in sliding estimator matrix The probability that each integer of device is setFor host aip, by sliding estimator matrix per a line In it is corresponding with aip sliding estimator the linear estimator of sliding merge:The sliding of each sliding estimator is linear The operation that the integer of estimator presses the maximum integer of all same positions merges to obtain a new sliding linear estimation Device.The linear estimator of sliding after the merging is scanned, the number of integer of the value less than k is obtained | ULE (aip) |k.According to formula Calculate the connection number of aip.Each host in candidate overtrick list as stated above by One GPU thread process obtains its connection number estimated value.It exports host of all estimated values more than or equal to θ and its connection number is estimated Calculation value just completes the connection number estimation of the overtrick under a sliding window, and θ is the threshold value of overtrick.
6th step, update sliding estimator matrix and candidate overtrick list:
Complete after the overtrick connection number estimation under a sliding window to sliding estimator matrix and candidate overtrick list into Row update.Each bit of the overtrick indicator of sliding estimator each of in sliding estimator matrix is set as 0.For every Each integer that sliding in a sliding estimator obscures estimator is added 1 if its value is less than maximum value.For every Each integer of the linear estimator of sliding in a sliding estimator is added 1 if its value is less than maximum value.Scanning is waited Each host in overtrick list is selected, determines whether remain as candidate overtrick in its sliding estimator matrix in the updated.Such as Fruit is the bit for being then added into new candidate overtrick list and updating corresponding overtrick indicator.Scan through all times After selecting overtrick host, current candidate overtrick Host List is replaced with new candidate overtrick Host List.
One timeslice of window sliding is repeated to execute since walking third by the 7th step
It has estimated the overtrick connection number in a sliding time window, and has updated sliding estimator matrix and candidate overtrick After list, time window is slided into a timeslice, third step is returned to, starts to scan all data in next timeslice Packet.
Further, the method that some sliding estimator is updated in the 4th step includes the following steps:
It is with a hash function H3 that the g ' of the linear estimator of sliding of bip Random Maps to the sliding estimator is a first One in integer, and the integer is set as 0.Then with a random Harsh function H1, bip is mapped to [0,232- 1] it Between an integer H1 (bip).Calculate the least significant bit LSB (H1 (bip)) of H1 (bip).Certain number least significant bit be exactly Since right, the position of first bit " 1 " in this is several.If LSB (H1 (bip)) is less than an integer τ, no longer to the IP Address is to being further processed.Wherein τ=log2 (θ/g), θ are the threshold values of overtrick.If LSB (H1 (bip)) be more than etc. In an integer τ, then the sliding of bip Random Maps to the sliding estimator is obscured to one in g integer of estimator with H2 It is a, and the integer is set as 0.Every a line of estimator matrix is slided according to the method described above to IP address pair<aip,bip> It is handled.
Further, after all being updated per a line in above-mentioned sliding estimator matrix, if LSB (H1 (bip)) is more than or equal to One integer τ needs further to test whether aip is overtrick.
Further, whether the test aip is that the method for overtrick includes the following steps:
It will be merged per sliding estimator corresponding with aip in a line:By the overtrick instruction of each sliding estimator Device by bit with operation merge to obtain one it is new merge after overtrick indicator, by the cunning of each sliding estimator The maximum integer that the integer of dynamic model paste estimator presses all same positions merges to obtain the fuzzy valuation of a new sliding Device.
Calculating the number that sliding obscures integer of all values less than k in estimator will no longer if quantity is less than ρ * g It is further processed, whereinIf quantity is detected as one more than or equal to ρ * g, aip Overtrick.When aip is detected as overtrick, need first to determine whether aip in the sliding time window has been detected as overtrick, If being detected as overtrick, without being further processed, it is not such as detected as overtrick, then aip is added to candidate overtrick List, and H4 (aip) bit of the overtrick indicator in sliding estimator corresponding with aip in every row is set as 1.
Further, determine that the method whether aip has been detected as overtrick in the sliding time window includes as follows Step:
Aip is mapped to some random bit position H4 (aip) in overtrick indicator with a hash function H4, if The position is 1 in overtrick indicator after above-mentioned merging, then it represents that aip is in candidate overtrick list;If in above-mentioned merging The position is 0 in overtrick indicator afterwards, then it represents that aip is not in candidate overtrick list.
Compared with prior art, the invention has the advantages that and advantageous effect:
1. this method can detect overtrick and estimator connection number under sliding window, and other methods can only estimate discrete window Overtrick under mouthful connects number.This method obviously has superiority, and estimated value is more acurrate, is not influenced by window start times, no The overtrick across time boundary can be omitted.
2. this method has lower time delay than existing method, overtrick connection number can be estimated in time.We Method all can connect number to overtrick at the end of each timeslice and estimate.Since the length of timeslice is far smaller than time window Length, so this method can more timely estimate that overtrick connects number.
3. this method can handle high-speed network flow in real time.Sliding estimator matrix can be simultaneously by multiple IP address to more Newly without output mistake.In order to reduce the processing time of algorithm at the end of each timeslice, this method is in scan data packet When generate candidate overtrick list in real time.By calculating the connection number of host in candidate list at the end of timeslice, reduce Computer capacity improves the bulk velocity of algorithm.The method of the present invention can be real in a large amount of network packet of GPU parallel processings When estimation express network under overtrick connect number.
Description of the drawings
Fig. 1 is division state of the network flow under sliding window and discrete window;
Fig. 2 is the mistake caused by across time boundary under discrete time window;
Fig. 3 is sliding estimator matrix structure schematic diagram;
Fig. 4 is the IP address pair scanned on GPU in each timeslice;
At the end of Fig. 5 is each timeslice, estimate that overtrick connects number on GPU;
Fig. 6 is that the present invention connects number appraising model to overtrick under sliding window;
Fig. 7 is the sliding time window example being made of three timeslices;
Fig. 8 is hash function mapping citing;
Fig. 9 be specific implementation mode in initialize after sliding estimator matrix;
Figure 10 is sliding estimator matrix of first IP address to after handled in first timeslice;
Figure 11 is the sliding estimator matrix scanned through after preceding 3 timeslices;
Figure 12 is that overtrick has been calculated at the end of first sliding time window to connect number and updated all integers and bit Sliding estimator matrix behind position.
Specific implementation mode
Technical solution provided by the invention is described in detail below with reference to specific embodiment, it should be understood that following specific Embodiment is only illustrative of the invention and is not intended to limit the scope of the invention.
The network based on GPU accesses overtrick and connects number evaluation method, overall architecture under sliding window provided by the invention As shown in fig. 6, being how to estimate that the overtrick under sliding window connects number in order to illustrate the present invention, it is given below one and specifically shows Example.
All network flows are divided according to the timeslice of fixed length size, this example hypothesis there are 5 timeslices: S1, s2, s3, s4, s5;Each sliding window is made of continuous three timeslices, shares 3 time window Ws (1,3), W (2, 3), (3,3) W, as shown in Figure 7;
The IP address for including in each timeslice is to as follows:
IPpair (s1)=[<a1,b1>,<a2,b2>,<a1,b2>,<a1,b3>,<a1,b4>];
IPpair (s2)=[<a2,b1>,<a2,b2>,<a1,b5>,<a1,b3>,<a1,b6>,<a1,b4>];
IPpair (s3)=[<a1,b7>,<a2,b1>,<a1,b5>,<a1,b3>,<a1,b6>,<a1,b4>,<a1,b8>, <a1,b9>,<a1,b10>];
IPpair (s4)=[<a1,b7>,<a2,b1>,<a1,b5>,<a3,b3>,<a1,b6>,<a1,b4>,<a1,b11 >,<a1,b12>];
IPpair (s5)=[<a1,b7>,<a3,b1>,<a2,b5>,<a1,b13>,<a1,b6>,<a1,b14>,<a1, b15>];
Include two hosts in ANet in above-mentioned example:A1, a2 and a3;Include 15 hosts in BNet:B1 to b15.It is super Point threshold value is set as 5;Estimator arranged in matrix is slided to arrange for 2 rows 2;The integer g ' that linear estimator includes each is slided to be set as 8;The integer that sliding obscures estimator and slides in linear estimator is set as 3 bits, and each integers maximums are 7.Sliding is estimated Overtrick indicator in value device is set as 2bit.
It can be obtained according to statistical method, the opposite end host complexes and connection of host a1, a2, a3 under different sliding time windows Number is respectively:
OP (a1,1,3)={ b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 }
OP (a1,2,3)={ b3, b4, b5, b6, b7, b8, b9, b10, b11, b12 }
OP (a1,3,3)={ b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15 }
| OP (a1,1,3) |=10
| OP (a1,2,3) |=10
| OP (a1,3,3) |=13
OP (a2,1,3)={ b1, b2 }
OP (a2,2,3)={ b1, b2 }
OP (a2,3,3)={ b1 }
| OP (a2,1,3) |=2
| OP (a2,2,3) |=2
| OP (a2,3,3) |=1
OP (a3,1,3)={ }
OP (a3,2,3)={ b3 }
OP (a3,3,3)={ b1, b3 }
| OP (a3,1,3) |=0
| OP (a3,2,3) |=1
| OP (a3,3,3) |=2
Value after the host in host and BNet in ANet is mapped by different hash functions is as shown in Figure 8.
Based on above-mentioned example, the method for the present invention specifically comprises the following steps:
Step 1:Arrange parameter
As shown in figure 3, the line number of sliding estimator and columns are respectively two rows two row, u in setting sliding estimator matrix =2, v=2.Bit numerical digit 2 in each sliding estimator contained by overtrick indicator, i.e. n=2.Sliding obscures valuation Integer number in device is 8, slides the integer number position 8 in linear estimator;Each integer is made of 3 bits.
Step 2:Initialization sliding estimator matrix
The distribution sliding estimator matrix on the video memory of GPU, and it is initialized.The bit of all overtrick indicators Position 0 is all arranged in position, and all slidings obscure estimator and are set as maximum value 7 with the integer for sliding linear estimator.After initialization Sliding estimator matrix it is as shown in Figure 9.
Step 3:IP address is distributed on GPU to caching and overtrick list memory space
One piece of memory space is distributed on the video memory of GPU for receiving the IP address pair transmitted from server.IP is set 20 IP address pair can be preserved in address caching.The space size for cached IP address pair then distributed on GPU is:160 Byte.One piece of video memory space is reserved on GPU, for preserving the candidate overtrick list detected.The candidate overtrick list of setting is most 10 candidate overtricks detected can be mostly preserved, then the reserved space size for preserving candidate overtrick list is 40 words Section.
Step 4:Scan the data packet in a timeslice
When since a timeslice, the data packet in the timeslice is scanned, IP address pair is extracted from each IP data packets, And by IP address to being saved in the caching on server.A total of 5 data packets in the 1st timeslice, from each data Packet extraction IP address pair, obtains the IP address in the timeslice to sequence IPpair (s1).
Step 5:IP address is replicated to arriving GPU video memorys
It, will be on server when IP address scans through all IP data packets to caching full or one timeslice ending of arrival IP address to caching by PCIe buses copy to the IP address on GPU to cache.One shares 5 in the 1st timeslice IP address pair, and IP address is to can at most preserve 20 IP address pair in caching.So will just be cached at the end of timeslice 5 IP address in area are to copying on GPU, as shown in Figure 4.
Step 6:Start GPU threads, handles IP address pair
When having replicated the caching of IP address pair, starts on GPU and receive IP address to the identical thread of quantity, each One IP address pair of thread process.In first timeslice, GPU cachings receive 5 IP address pair, so starting 5 on GPU A thread, per thread handle an IP address pair.
Step 7:It finds and is sliding in estimator matrix with IP address to corresponding sliding estimator.
For each IP address pair, corresponding sliding estimator in the i-th row is found according to hash function RHi ().For First IP address pair in one timeslice<a1,b1>, RH0 (a1)=0, RH1 can be learnt in hash function mapping table (a1)=1.So IP address pair<a1,b1>The 1st sliding estimator of the first row of sliding estimator matrix can be mapped to SE [0,0] is inner, and second sliding estimator SE [1,1] for being mapped to the second row is inner.
Step 8:Linear estimator is slided in update
In every row, update with IP address to the linear estimator of sliding in corresponding sliding estimator.According to Hash letter Number H3 (), 0 is set as by the integer slided in linear estimator.For first IP address in first timeslice It is right<a1,b1>, H3 (b1)=0 can be learnt in hash function mapping table.So sliding estimator SE [0,0] and SE [1,1] In first integer of the linear estimator of sliding can be arranged to 0.
Step 9:Calculate the least significant bit of IP address, it is determined whether update sliding obscures estimator
IP address is subjected to Random Maps to second inner IP address using hash function H1 (), after then calculating mapping Value least significant bit.Big least significant bit will be calculated to be compared with τ=log2 (θ/g).If least significant bit Estimator is then obscured according to subsequent step update sliding more than τ.Sliding is not updated if least significant bit is less than τ obscures valuation Device.It can be obtained according to Hash table, the least significant bit LSB (H1 (b1)) that second IP address of first IP address pair is calculated It is 2.In this example, θ=5, g=8.The τ being calculated is less than 0, so needing to update the fuzzy estimator of sliding.
Step 10:Update sliding obscures estimator
In every row, updates and estimator is obscured to the sliding in corresponding sliding estimator with IP address.According to Hash letter Number H2 (), 0 is set as by the integer slided in linear estimator.For first IP address in first timeslice It is right<a1,b1>, H2 (b1)=1 can be learnt in hash function mapping table.So sliding estimator SE [0,0] and SE [1,1] In second integer of the linear estimator of sliding can be arranged to 0.First IP address in first timeslice is handled Sliding estimator matrix to after is as shown in Figure 10.
Step 11:The merging sliding for calculating IP address pair obscures estimator
After having updated the fuzzy estimator of sliding, all slidings corresponding with first IP address are obscured into estimators and are closed And the sliding after being merged obscures estimator URE.Merging method is that each sliding is taken to obscure the maximum integer in estimator. For first IP address pair<a1,b1>, sliding is obscured into estimator [0,0] and sliding obscures estimator [1,1] and merges, It is URE={ 7,0,7,7,7,7,7,7 } that sliding after merging, which obscures integer set in estimator,.
Step 12:Estimator is obscured according to the sliding after merging, determines IP address to inner whether comprising overtrick.
After the fuzzy estimator URE of the sliding after merging is calculated, calculates URE mileage values and be less than timeslice in sliding window The number of the integer of number | URE |k, will | URE |kCompared with ρ * g.If it is larger than or equal to ρ * g, then the IP address is to inner first IP address is overtrick.In this example, rounding after ρ * g are calculated obtains 3.First IP address is scanned to rear | URE |kIt is 1, is less than 3, institute Not to be overtrick at this time.The 4th IP address in the 1st timeslice is scanned through to rear, the merging sliding die for the a1 being calculated Paste estimator is URE={ 7,0,0,0,7,7,7,7 }, and | URE |k=3.A1 is detected as overtrick at this time.
Step 13:After detecting overtrick, calculates and merge overtrick indicator
After detecting an overtrick, all overtrick indicators corresponding with first IP address are merged, are obtained Overtrick indicator after merging.When merging, each overtrick indicator by bit and in the way of merge.In this example, scanning A1 can be detected as overtrick by the 4th IP address in complete 1st timeslice to rear.After calculating SI [0,0] and SI [1,1] merging Overtrick indicator USI={ 0,0 }.
Step 14:According to the overtrick indicator after merging, determine whether overtrick was added overtrick candidate list
Determine that overtrick is corresponding with which bit in overtrick indicator according to hash function H4 ().Test refers in merging overtrick Show in device, whether which is arranged to 1.If being arranged to 1, then it represents that the overtrick is in candidate overtrick list;Such as The fruit bit is 0, then it represents that the overtrick is to be added into candidate overtrick list.In this example, in the 1st timeslice is scanned through A1 can be detected as overtrick by 4 IP address to rear.A1 is mapped to second bit of overtrick indicator by H4 ().In USI Second bit is 0, so a1 be not added into candidate overtrick list.
Step 15:Candidate overtrick list is added in the overtrick detected
If step 12 detects overtrick, and determines that the overtrick was not added into candidate list in step 14, then need The overtrick is added in candidate overtrick list.In this example, the 4th IP address in the 1st timeslice is scanned through to rear, can be incited somebody to action A1 is detected as overtrick, and a1 is not in candidate overtrick list.Candidate overtrick list is added in a1.It is wrapped in candidate overtrick list at this time The overtrick a1 detected containing one.
Step 16:After overtrick list is added in overtrick, the host is recorded in overtrick indicator
After candidate list is added in an overtrick, need the super of all sliding estimators corresponding with the overtrick host The corresponding bit position of point indicator is set as 1.In this example, the 4th IP address in the 1st timeslice is scanned through to rear, can be incited somebody to action A1 is detected as overtrick, and a1 is added in candidate overtrick list.SI [0,0] and SI [1,1] are corresponding with a1, and H4 (a1)=1. Second bit of SI [0,0] and SI [1,1] are set as 1.Updated overtrick indicator is SI [0,0]={ 0,1 }, SI [1,1]={ 0,1 }.
Step 17:All IP address in a caching are handled to rear, waiting is next to cache full or arrival time piece Ending
When all complete IP address of GPU thread process to after, GPU wait for next time IP address it is full to caching, then opened from step 6 Begin, handles the IP address pair in new caching.If the caching is last in the last one timeslice of a sliding window A IP address then starts to estimate overtrick connection number, as shown in Figure 5 to caching.When a sliding time window includes 3 in this example Between piece.The sliding estimator matrix scanned through after preceding 3 timeslices is as shown in figure 11.
Step 18:It calculates in sliding estimator matrix is often gone and slides the probability that each integer of linear estimator is set
Statistics sliding estimator matrix slides linear estimator all values in often going are less than sliding window timeslice number Integer number.The integer numbers of all linear estimators of sliding just obtain sliding and estimate in by obtained integer number divided by often going Value device matrix slides the probability that each integer of linear estimator is set in often going.This example example, all lines of slide of the first row Property estimator share 10 integer numerical value be less than 3;There are 7 in second row.In the often capable linear estimator of sliding one share 16 it is whole Number.So it is 62.5% that the first row, which slides the probability that the integer of linear estimator is set, the second behavior 50%.
Step 19:Calculate the probability for merging and sliding that each integer is set in linear estimator
The probability multiplication that each integer that linear estimator is slided in every row is set obtains merging sliding linear estimation The probability that each integer is set in deviceIn this example, the integer that the first row and the second row slide linear estimator is set Probability be respectively 62.5% and 50%,
Step 20:Start GPU threads and calculates overtrick connection number
The candidate overtrick list of scanning calculates each overtrick connection number detected according to linear estimator is slided.On GPU Start the thread of fixed quantity, per thread handles the overtrick in a candidate overtrick list.In this example, when scanning through third Between after piece, there are one overtrick a1 in candidate overtrick list.Start a thread on GPU, calculates the connection number of a1.
Step 21:Linear estimator is slided in the merging for calculating overtrick
All linear estimators of sliding corresponding with overtrick are merged, the linear estimator of the sliding after being merged ULE.When merging, the maximum value that linear estimator takes corresponding integer is each slided.In this example, scan through in the 3rd timeslice All IP address start the connection number for calculating a1 to rear.A1 is corresponding with SLR [0,0] and SLR [1,1].Calculate SLR [0,0] and The linear estimator ULE={ 0,0,0,0,0,0,0,0 } of sliding after SLR [1,1] merging.
Step 22:Calculate the integer number for merging and being set in the fuzzy estimator of sliding
After the fuzzy estimator ULE of the sliding after merging is calculated, calculates ULE mileage values and be less than timeslice in sliding window The number of the integer of number | ULE |k.When | ULE |kWhen equal to g ', | ULE |kIt is set as g ' -1.|ULE|kNumber is connected for calculating. In this example, all IP address in the 3rd timeslice are scanned through to rear, the linear estimator ULE=of sliding after calculating to merge {0,0,0,0,0,0,0,0}。|ULE|k=7.
Step 23:Calculate connection number
It is calculated | ULE |kAfterwards, according to formulaIt calculates overtrick and connects number.This example In,G '=8.Host a1's | ULE |k=7.A1 connection number estimated values are 13.64, rounding 13.? In one sliding time window, the connection number of a1 is 10, close to estimated value.
Step 24:Export overtrick and its connection number
For each overtrick in candidate overtrick list, after its connection number has been calculated, all connection number estimated values are more than The host and its connection number of overtrick threshold value copy on server, as further analyzing processing.Threshold is less than for estimated value The host of value then not as overtrick, is no longer output on server.The connection number estimated value of a1 is 13 in this example.Overtrick has been calculated A1 and its connection number estimated value are output in server memory space after connection number.
Step 25:Update overtrick indicator
After having estimated overtrick connection number, the bit of all overtrick indicators slided in estimator matrix is set as 0. In this example, in scanning IP address clock synchronization, second bit of SI [0,0] and SI [1,1] are arranged to 1, need at this time its is extensive It is 0 again.
Step 26:Update sliding obscures estimator
After having estimated overtrick connection number, all slidings in estimator matrix will be slided and obscure the integer progress of estimator more Newly.If the integer value that sliding obscures estimator is less than maximum value, added 1.It slides and is obscured in estimator in this example The maximum value of first integer is 7.Integer equal to 7 is not dealt with;For the integer less than 7, by itself plus 1.
Step 27:Linear estimator is slided in update
After having estimated overtrick connection number, the integer for sliding the linear estimator of all slidings in estimator matrix is carried out more Newly.If an integer value for sliding linear estimator is less than maximum value, added 1.It is slided in this example in linear estimator The maximum value of first integer is 7.Integer equal to 7 is not dealt with;For the integer less than 7, by itself plus 1.It has updated Sliding estimator matrix later is as shown in figure 12.
Step 28:Determine each host in candidate's overtrick list update slide linear estimator after whether be still Overtrick
Each host in candidate overtrick list is needed after having updated sliding estimator matrix according to after update Sliding obscure estimator redefine whether it is still overtrick.According to updated sliding estimator matrix, calculate each The merging sliding of host obscures estimator URE.Then URE mileage values are calculated and are less than the integer of timeslice number in sliding window Number | URE |k, will | URE |kCompared with ρ * g.If it is larger than or equal to ρ * g, then the host in next sliding time window still It is so overtrick.In this example, rounding after ρ * g are calculated obtains 3.According to updated sliding estimator matrix, the conjunction for the a1 being calculated And slide and obscure estimator as URE={ 1,1,1,1,1,1,1,1 }, and | URE |k=7.A1 is in next sliding time window Remain as overtrick.
Step 29:Delete non-overtrick
It is if a host in candidate overtrick list is not detected as overtrick in step 28, it is super from candidate It is deleted in point list.
Step 30:Update overtrick indicator
If a host in candidate overtrick list is detected as overtrick in step 28, sliding estimator square is updated Overtrick indicator corresponding with the overtrick host in battle array, avoid the host scan the IP address clock synchronization in new timeslice again by Candidate overtrick list is added.Host a1 is detected as overtrick in step 26.SI [0,0] and SI [1,1] are corresponding with a1, and H4 (a1)=1.Second bit of SI [0,0] and SI [1,1] are set as 1.Updated overtrick indicator be SI [0,0]= { 0,1 }, SI [1,1]={ 0,1 }.
Step 31:Time window is slided into a timeslice, estimates the overtrick connection number of next time window
The overtrick connection number for having estimated a time window, after having updated sliding estimator matrix and candidate overtrick list, Time window is slided into a timeslice, step 3 is repeated and starts to scan the IP address pair of next timeslice, estimate next cunning Overtrick in dynamic time window connects number.
Continuous overtrick connection number estimation can be carried out to high-speed network flow under sliding window according to above-mentioned steps.
Real-time overtrick connection number calculating is an important content in network research field under sliding window.Incrementally updating and It is its two difficult points to underestimate evaluation time.Algorithm proposed by the present invention solves the problems, such as this for the first time.In order to reduce every The time of overtrick connection number is calculated at the end of a timeslice, the present invention obscures estimator when scan data packet using sliding Generate a candidate overtrick list.It is a kind of connection number estimator of lightweight that sliding, which obscures estimator,.Due to its committed memory Few processing speed is fast, and too many delay will not be brought when scanning number packet.At the end of each timeslice, the present invention utilizes line of slide Property each candidate overtrick of estimator estimation connection number.The connection of each overtrick host can accurately be provided by sliding linear estimator Number estimated value.
The technical means disclosed in the embodiments of the present invention is not limited only to the technological means disclosed in the above embodiment, further includes By the above technical characteristic arbitrarily the formed technical solution of combination.It should be pointed out that for those skilled in the art For, various improvements and modifications may be made without departing from the principle of the present invention, these improvements and modifications are also considered as Protection scope of the present invention.

Claims (6)

1. the network based on GPU accesses overtrick and connects number evaluation method under sliding window, which is characterized in that include the following steps:
Data structure initializes, and the data structure includes sliding estimator matrix and the candidate overtrick list of sliding;
All data packets in a timeslice are scanned, number are connected using sliding estimator matrix record host, in scan data Bao Shi judges whether host is overtrick, and the overtrick detected is added in candidate host list;
At the end of timeslice, the connection number of each host in candidate overtrick list is calculated according to sliding estimator matrix, it is defeated Go out to connect host and its estimated value that number is more than threshold value;After the connection number for having estimated all candidate overtrick hosts, update sliding is estimated It is worth device matrix and candidate overtrick list;
By one timeslice of window forward slip, starts to scan the data packet in next timeslice, estimate next sliding window Overtrick in mouthful connects number.
2. the network based on GPU accesses overtrick and connects number evaluation method, feature under sliding window according to claim 1 It is, specifically comprises the following steps:
The first step, arrange parameter
The sliding estimator matrix being made of the sliding estimator of u rows v row is set, and each estimator that slides includes:By n bit The overtrick indicator of composition;Estimator is obscured by the sliding that g integer forms;The sliding linear estimation being made of a integers of g ' Device;Sliding candidate list for preserving the candidate overtrick detected is set;
Second step, the initialization data structure on GPU
The memory headroom of distribution sliding estimator matrix on the video memory of GPU, initialization sliding estimator matrix will slide valuation The integer that all slidings obscure estimator in device matrix is set as maximum value, and all slidings in sliding estimator matrix are linearly estimated The integer of gauge is set as maximum value, remains for the video memory space for preserving candidate overtrick list in advance on GPU;
Third walks, and scans IP data packets, extracts IP address pair
The data packet in each timeslice is scanned, the IP address of each data packet is extracted, obtains the IP address pair of each data packet, IP address is to being that structure is<aip,bip>Two tuples, wherein aip is a host in the network to be measured, and bip is logical Cross the host that border router is communicated with aip;On the server first to these IP to caching, when buffering area is full or one When data packet scanning in timeslice is completed, by the IP address in buffering area on server to copying GPU to by PCIe buses Video memory in;
4th step starts GPU threads, scans IP address pair
After the completion of duplication, GPU starts handles the IP address pair received with IP address to the thread of identical quantity;
Each GPU threads read an IP address of the IP address to buffering area<aip,bip>To handling;
The every a line for sliding estimator matrix corresponds to hash function RHi, i a ∈ [0, v-1];Aip is mapped to by RHi (aip) Any one sliding estimator of i-th row, for the i-th row, a sliding estimators of RHi (aip) can be updated, and preserve aip's Connect number;
5th step, at the end of timeslice, estimation overtrick connects number
After scanning through all data packets in the timeslice at the end of timeslice, overtrick connection number estimation is proceeded by:
Host in candidate overtrick list is grouped, every group of 1024 hosts are enterprising in GPU respectively for every group of host Row overtrick connects number estimation;Evaluation method is:
For one group of overtrick host, start 1024 threads, per thread estimates the connection number of a host, per thread respectively The method for estimating candidate host connection number is as follows:
If the number of integer of the value less than k of the linear estimator of sliding of all sliding estimators of the i-th row is | LDR (i) |k
It calculates and slides the probability that each integer of linear estimator is set in sliding estimator matrix
For host aip, the linear estimator of sliding of sliding estimator corresponding with aip in estimator matrix being slided per a line It merges:The integer of the linear estimator of sliding of each sliding estimator is pressed to the maximum integer of all same positions Operation merges to obtain a linear estimator of new sliding;
The linear estimator of sliding after the merging is scanned, the number of integer of the value less than k is obtained | ULE (aip) |k;According to formula Calculate the connection number of aip;
Each host in candidate overtrick list obtains its connection number estimated value by a GPU thread process as stated above;
It exports host of all estimated values more than or equal to θ and its connection number estimated value just completes overtrick under a sliding window Number estimation is connected, θ is the threshold value of overtrick;
6th step, update sliding estimator matrix and candidate overtrick list:
Sliding estimator matrix and candidate overtrick list are carried out more after completing the overtrick connection number estimation under a sliding window Newly:
Each bit of the overtrick indicator of sliding estimator each of in sliding estimator matrix is set as 0;
Each integer that estimator is obscured for the sliding in each sliding estimator, if its value is less than maximum value, by it Add 1;
For each integer of the linear estimator of sliding in each sliding estimator, if its value is less than maximum value, by it Add 1;
Each host in the candidate overtrick list of scanning, determines whether remain as time in its sliding estimator matrix in the updated Overtrick is selected, if it is, being added into new candidate overtrick list and updating the bit of corresponding overtrick indicator;
After scanning through all candidate overtrick hosts, replaces current candidate overtrick host with new candidate overtrick Host List and arrange Table;One timeslice of window sliding is repeated to execute since walking third by the 7th step
It has estimated the overtrick connection number in a sliding time window, and has updated sliding estimator matrix and candidate overtrick list Afterwards, time window is slided into a timeslice, returns to third step, starts to scan all data packets in next timeslice.
3. the network based on GPU accesses overtrick and connects number evaluation method, feature under sliding window according to claim 2 It is:The method that some sliding estimator is updated in 4th step includes the following steps:
First with a hash function H3 by a integers of g ' of the linear estimator of sliding of bip Random Maps to the sliding estimator In one, and the integer is set as 0;
Then with a random Harsh function H1, bip is mapped to [0,232- 1] an integer H1 (bip) between;
The least significant bit LSB (H1 (bip)) of H1 (bip) is calculated, if LSB (H1 (bip)) is less than an integer τ, no longer To the IP address to being further processed, wherein τ=log2 (θ/g), θ are the threshold values of overtrick;If LSB (H1 (bip)) The sliding of bip Random Maps to the sliding estimator is then obscured g integer of estimator by more than or equal to one integer τ with H2 In one, and the integer is set as 0;
Every a line of estimator matrix is slided according to the method described above to IP address pair<aip,bip>It is handled.
4. the network based on GPU accesses overtrick and connects number evaluation method, feature under sliding window according to claim 3 It is:After all update per a line in sliding estimator matrix, if LSB (H1 (bip)) more than or equal to an integer τ, need into One pacing tries whether aip is overtrick.
5. the network based on GPU accesses overtrick and connects number evaluation method, feature under sliding window according to claim 4 It is:Whether the test aip is that the method for overtrick includes the following steps:
It will be merged per sliding estimator corresponding with aip in a line:The overtrick indicator of each sliding estimator is pressed Bit with operation merge to obtain one it is new merge after overtrick indicator, by the sliding die of each sliding estimator The maximum integer that the integer of paste estimator presses all same positions merges to obtain the fuzzy estimator of a new sliding;
The number that sliding obscures integer of all values less than k in estimator is calculated, if quantity will be carried out no longer less than ρ * g It is further processed, whereinIf quantity is detected as an overtrick more than or equal to ρ * g, aip;
When aip is detected as overtrick, need first to determine whether aip in the sliding time window has been detected as overtrick, If being detected as overtrick, without being further processed, it is not such as detected as overtrick, then aip is added to candidate overtrick List, and H4 (aip) bit of the overtrick indicator in sliding estimator corresponding with aip in every row is set as 1.
6. the network based on GPU accesses overtrick and connects number evaluation method, feature under sliding window according to claim 5 It is:Determine whether the method that overtrick has been detected as in the sliding time window includes the following steps aip:
Aip is mapped to some random bit position H4 (aip) in overtrick indicator with a hash function H4, if above-mentioned The position is 1 in overtrick indicator after merging, then it represents that aip is in candidate overtrick list;If after above-mentioned merging The position is 0 in overtrick indicator, then it represents that aip is not in candidate overtrick list.
CN201810618223.2A 2018-06-15 2018-06-15 GPU-based network access over-point connection number estimation method under sliding window Active CN108809764B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810618223.2A CN108809764B (en) 2018-06-15 2018-06-15 GPU-based network access over-point connection number estimation method under sliding window

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810618223.2A CN108809764B (en) 2018-06-15 2018-06-15 GPU-based network access over-point connection number estimation method under sliding window

Publications (2)

Publication Number Publication Date
CN108809764A true CN108809764A (en) 2018-11-13
CN108809764B CN108809764B (en) 2021-11-02

Family

ID=64086211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810618223.2A Active CN108809764B (en) 2018-06-15 2018-06-15 GPU-based network access over-point connection number estimation method under sliding window

Country Status (1)

Country Link
CN (1) CN108809764B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585904A (en) * 2020-04-30 2020-08-25 南京汉德数字孪生技术研究院有限公司 Bidirectional coflow scheduling method based on prediction of concurrent connection number

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038602A (en) * 2007-04-19 2007-09-19 复旦大学 Clock deviation arrangement method driven by production yield under technique parametric variation
CN101227318A (en) * 2007-12-04 2008-07-23 东南大学 Method for overtrick real-time detection of high speed network flow quantity
CN104866781A (en) * 2015-05-27 2015-08-26 广西师范大学 Privacy protection method for community detection application-oriented social network data publication
US9239983B1 (en) * 2011-09-02 2016-01-19 Lockheed Martin Corporation Quantifying a condition with a neural network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038602A (en) * 2007-04-19 2007-09-19 复旦大学 Clock deviation arrangement method driven by production yield under technique parametric variation
CN101227318A (en) * 2007-12-04 2008-07-23 东南大学 Method for overtrick real-time detection of high speed network flow quantity
US9239983B1 (en) * 2011-09-02 2016-01-19 Lockheed Martin Corporation Quantifying a condition with a neural network
CN104866781A (en) * 2015-05-27 2015-08-26 广西师范大学 Privacy protection method for community detection application-oriented social network data publication

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIE XU,ET AL.,: ""Abstract Super Points from Core Network by Unique Candidate List"", 《2017 INTERNATIONAL CONFERENCE ON GREEN INFORMATICS (ICGI)》 *
JIE XU,ET AL.,: ""High Speed Network Super Points Detection Based on Sliding Time Window by GPU"", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS AND 2017 IEEE INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING AND COMMUNICATIONS (ISPA/IUCC)》 *
周爱平,: ""高速网络流量测量关键问题研究"", 《中国博士学位论文全文数据库-信息科技辑》 *
程光,: ""基于自适应抽样的超点检测算法"", 《中国科学E辑:信息科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585904A (en) * 2020-04-30 2020-08-25 南京汉德数字孪生技术研究院有限公司 Bidirectional coflow scheduling method based on prediction of concurrent connection number
CN111585904B (en) * 2020-04-30 2022-07-08 南京汉德数字孪生技术研究院有限公司 Bidirectional coflow scheduling system based on prediction of concurrent connection number

Also Published As

Publication number Publication date
CN108809764B (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN104516825B (en) Cache memory system and its operating method
CN102915347B (en) A kind of distributed traffic clustering method and system
US10257456B2 (en) Hardware friendly virtual frame buffer
WO2019024623A1 (en) Flow measurement method, device and system
CN104156400B (en) The storage method and device of a kind of mass network flow data
CN101841438B (en) Method or system for accessing and storing stream records of massive concurrent TCP streams
CN108090079A (en) A kind of chat record processing method and processing device of instant messenger
CN104699422A (en) Determination method and determination device of cache data
CN107241305A (en) A kind of network protocol analysis system and its analysis method based on polycaryon processor
CN112671611A (en) Sketch-based large stream detection method and device
CN105938480A (en) RFID redundant data cleansing method and system based on DTBF
CN113839835B (en) Top-k flow accurate monitoring system based on small flow filtration
CN106501695A (en) A kind of high-tension cable local discharge signal acquisition processing system and method
CN106874319A (en) The distributed statistical method and device of click volume
Zhou et al. Per-flow counting for big network data stream over sliding windows
CN110532307A (en) A kind of date storage method and querying method flowing sliding window
CN108809764A (en) The network based on GPU accesses overtrick and connects number evaluation method under sliding window
Nyang et al. Recyclable counter with confinement for real-time per-flow measurement
US8886878B1 (en) Counter management algorithm systems and methods for high bandwidth systems
JP3446704B2 (en) Shaper and scheduling method used therefor
CN105611269B (en) Real-time disparity computation system based on FPGA
Lou et al. An efficient adaptive denoising sketch for per-flow traffic measurement
CN106502592A (en) Solid state hard disc caching block recovery method and system
CN104394091B (en) A kind of network redundancy method for recognizing flux based on uniform sampling
CN116303585A (en) Flag bit-based data stream counting method, flag bit-based data stream counting equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant